diff options
Diffstat (limited to 'plugins/managesieve')
120 files changed, 20036 insertions, 0 deletions
diff --git a/plugins/managesieve/Changelog b/plugins/managesieve/Changelog new file mode 100644 index 000000000..2618c6094 --- /dev/null +++ b/plugins/managesieve/Changelog @@ -0,0 +1,338 @@ +* version 8.4 [2015-04-20] +----------------------------------------------------------- +- Add option to prepopulate vacation addresses on form init (#1490030) +- Add option to define default vacation interval +- Fix missing position idicator in Larry skin when dragging a filter +- Fix incorrect filter data after filter delete (#1490356) + +* version 8.3 [2015-03-12] +----------------------------------------------------------- +- Fix PHP fatal error when visiting Vacation interface and there's no sieve script yet +- Fix handling of header test with one-element array as header name +- Fix missing host:port in connection error message + +* version 8.2 [2015-01-14] +----------------------------------------------------------- +- Fix bug where actions without if/elseif/else in sieve scripts were skipped +- Support "not allof" test as a negation of all sub-tests +- Fix bug where vacation rule was saved to wrong script if managesieve_kolab_master=true +- Improve procedure of script selection to write a vacation rule + +* version 8.1 [2014-12-09] +----------------------------------------------------------- +- Added simple API to manage vacation rule +- Fix missing css/js scripts in filter form in mail task +- Fix default vacation status (#1490019) +- Make possible to set vacation start/end date and time +- Fix compatibility with contextmenu plugin + +* version 8.0 [2014-07-16] +----------------------------------------------------------- +- Fix bug where non-existing (or unsubscribed) folder wasn't listed in folder selector (#1489956) +- Added optional separate interface for out-of-office management (#1488266) +- Fix disabled "create filter" action +- Fix enotify/notify extension handling +- Improved UI accessibility +- Added option to specify connection socket parameters - managesieve_conn_options +- Support vacation date rules without date extension (#1489978) + +* version 7.2 [2014-02-14] +----------------------------------------------------------- +- Nicely handle server-side modification of script names (#1489412) +- Add Filters tab/section using plugin API hook +- Fix issue where folder selector wasn't visible on new filter form +- Fix issue where multi-select fields were not visible in new filter action rows (#1489600) +- Fix issue in displaying filter form when managesieve_kolab_master=true + and sieve variables extension is supported by the server (#1489599) +- Fix wrong action folder selection if managesieve_domains is not empty (#1489617) +- Fix filter creation from an email when preview frame is disabled (#1489647) + +* version 7.1 [2013-11-22] +----------------------------------------------------------- +- lib/Net_Sieve.php moved to Roundcube /lib directory +- Added managesieve_domains option to limit redirect destinations +- Fix bug where at least one additional address of vacation message was required (#1489345) +- Fix so i;ascii-numeric comparator is not forced as default for :count and :value operators +- Fix date/currentdate related form issues and comparators handling (#1489346) +- Fix a bug where deleted filter was not removed from the list + +* version 7.0 [2013-09-09] +----------------------------------------------------------- +- Add vacation-seconds extension support (RFC 6131) +- Several script parser code improvements +- Support string list arguments in filter form (#1489018) +- Support date, currendate and index tests - RFC5260 (#1488120) +- Split plugin file into two files +- Fix handling of &, <, > characters in scripts/filter names (#1489208) +- Support 'keep' action (#1489226) +- Add common headers to header selector (#1489271) + +* version 6.2 [2013-02-17] +----------------------------------------------------------- +- Support tls:// prefix in managesieve_host option +- Removed depracated functions usage +- Don't trim whitespace in folder names (#1488955) + +* version 6.1 [2012-12-21] +----------------------------------------------------------- +- Fixed filter activation/deactivation confirmation message (#1488765) +- Moved rcube_* classes to <plugin>/lib/Roundcube for compat. with Roundcube Framework autoloader +- Fixed filter selection after filter deletion (#1488832) +- Fixed compatibility with jQueryUI-1.9 +- Don't force 'stop' action on last rule in a script + +* version 6.0 [2012-10-03] +----------------------------------------------------------- +- Fixed issue with DBMail bug [http://pear.php.net/bugs/bug.php?id=19077] (#1488594) +- Added support for enotify/notify (RFC5435, RFC5436, draft-ietf-sieve-notify-00) +- Change default port to 4190 (IANA-allocated), add port auto-detection (#1488713) +- Added request size limits detection and script corruption prevention (#1488648) +- Fix so scripts listed in managesieve_filename_exceptions aren't displayed on the list (#1488724) + +* version 5.2 [2012-07-24] +----------------------------------------------------------- +- Added GUI for variables setting - RFC5229 (patch from Paweł Słowik) +- Fixed scrollbars in Larry's iframes +- Fix performance issue in message_headers_output hook handling + +* version 5.1 [2012-06-21] +----------------------------------------------------------- +- Fixed filter popup width (for non-english localizations) +- Fixed tokenizer infinite loop on invalid script content +- Larry skin support +- Fixed custom header name validity check, made RFC2822-compliant + +* version 5.0 [2012-01-05] +----------------------------------------------------------- +- Fixed setting test type to :is when none is specified +- Fixed javascript error in IE8 +- Fixed possible ID duplication when adding filter rules very fast (#1488288) +- Fixed bug where drag layer wasn't removed when dragging was ended over sets list + +* version 5.0-rc1 [2011-11-17] +----------------------------------------------------------- +- Fixed sorting of scripts, scripts including aware of the sort order +- Fixed import of rules with unsupported tests +- Added 'address' and 'envelope' tests support +- Added 'body' extension support (RFC5173) +- Added 'subaddress' extension support (RFC5233) +- Added comparators support +- Changed Sender/Recipient labels to From/To +- Fixed importing rule names from Ingo +- Fixed handling of extensions disabled in config + +* version 5.0-beta [2011-10-17] +----------------------------------------------------------- +- Added possibility to create a filter based on selected message "in-place" +- Fixed import from Horde-INGO (#1488064) +- Add managesieve_script_name option for default name of the script (#1487956) +- Fixed handling of enabled magic_quotes_gpc setting +- Fixed PHP warning on connection error when submitting filter form +- Fixed bug where new action row with flags wasn't handled properly +- Added managesieve_connect hook for plugins +- Fixed doubled Filter tab on page refresh +- Added filters set selector in filter form when invoked in mail task +- Improved script parser, added support for include and variables extensions +- Added Kolab's KEP:14 support (http://wiki.kolab.org/User:Greve/Drafts/KEP:14) +- Use smaller action/rule buttons +- UI redesign: added possibility to move filter to any place using drag&drop + (instead of up/down buttons), added filter sets list object, added more + 'loading' messages +- Added option to hide some scripts (managesieve_filename_exceptions) + +* version 4.3 [2011-07-28] +----------------------------------------------------------- +- Fixed handling of error in Net_Sieve::listScripts() +- Fixed handling of REFERRAL responses (http://pear.php.net/bugs/bug.php?id=17107) +- Fixed bug where wrong folders hierarchy was displayed on folders listing + +* version 4.2 [2011-05-24] +----------------------------------------------------------- +- Moved elsif replacement code to handle only imports from other formats +- Fixed mod_mailbox() usage for newer Roundcube versions +- Fixed regex extension (error: regex require missing) + +* version 4.1 [2011-03-07] +----------------------------------------------------------- +- Fix fileinto target is always INBOX (#1487776) +- Fix escaping of backslash character in quoted strings (#1487780) +- Fix handling of non-safe characters (double-quote, backslash) + or UTF-8 characters (dovecot's implementation bug workaround) + in script names +- Fix saving of a script using flags extension on servers with imap4flags support (#1487825) + +* version 4.0 [2011-02-10] +----------------------------------------------------------- +- Fix STARTTLS for timsieved < 2.3.10 +- Added :regex and :matches support (#1487746) +- Added setflag/addflag/removeflag support (#1487449) +- Added support for vacation :subject field (#1487120) +- rcube_sieve_script class moved to separate file +- Moved javascript code from skin templates into managesieve.js file + +* version 3.0 [2011-02-01] +----------------------------------------------------------- +- Added support for SASL proxy authentication (#1486691) +- Fixed parsing of scripts with \r\n line separator +- Apply forgotten changes for form errors handling +- Fix multi-line strings parsing (#1487685) +- Added tests for script parser +- Rewritten script parser +- Fix double request when clicking on Filters tab using Firefox + +* version 2.10 [2010-10-10] +----------------------------------------------------------- +- Fixed import from Avelsieve +- Use localized size units (#1486976) +- Added support for relational operators and i;ascii-numeric comparator +- Added popups with form errors + +* version 2.9 [2010-08-02] +----------------------------------------------------------- +- Fixed vacation parameters parsing (#1486883) + +* version 2.8 [2010-07-08] +----------------------------------------------------------- +- Added managesieve_auth_type option (#1486731) + +* version 2.7 [2010-07-06] +----------------------------------------------------------- +- Update Net_Sieve to version 1.3.0 (fixes LOGIN athentication) +- Added support for copying and copy sending of messages (COPY extension) + +* version 2.6 [2010-06-03] +----------------------------------------------------------- +- Support %n and %d variables in managesieve_host option + +* version 2.5 [2010-05-04] +----------------------------------------------------------- +- Fix filters set label after activation +- Fix filters set activation, add possibility to deactivate sets (#1486699) +- Fix download button state when sets list is empty +- Fix errors when sets list is empty + +* version 2.4 [2010-04-01] +----------------------------------------------------------- +- Fixed bug in DIGEST-MD5 authentication (http://pear.php.net/bugs/bug.php?id=17285) +- Fixed disabling rules with many tests +- Small css unification with core +- Scripts import/export + +* version 2.3 [2010-03-18] +----------------------------------------------------------- +- Added import from Horde-INGO +- Support for more than one match using if+stop instead of if+elsif structures (#1486078) +- Support for selectively disabling rules within a single sieve script (#1485882) +- Added vertical splitter + +* version 2.2 [2010-02-06] +----------------------------------------------------------- +- Fix handling of "<>" characters in filter names (#1486477) + +* version 2.1 [2010-01-12] +----------------------------------------------------------- +- Fix "require" structure generation when many modules are used +- Fix problem with '<' and '>' characters in header tests + +* version 2.0 [2009-11-02] +----------------------------------------------------------- +- Added 'managesieve_debug' option +- Added multi-script support +- Small css improvements + sprite image buttons +- PEAR::NetSieve 1.2.0b1 + +* version 1.7 [2009-09-20] +----------------------------------------------------------- +- Support multiple managesieve hosts using %h variable + in managesieve_host option +- Fix first rule deleting (#1486140) + +* version 1.6 [2009-09-08] +----------------------------------------------------------- +- Fix warning when importing squirrelmail rules +- Fix handling of "true" as "anyof (true)" test + +* version 1.5 [2009-09-04] +----------------------------------------------------------- +- Added es_ES, ua_UA localizations +- Added 'managesieve_mbox_encoding' option + +* version 1.4 [2009-07-29] +----------------------------------------------------------- +- Updated PEAR::Net_Sieve to 1.1.7 + +* version 1.3 [2009-07-24] +----------------------------------------------------------- +- support more languages +- support config.inc.php file + +* version 1.2 [2009-06-28] +----------------------------------------------------------- +- Support IMAP namespaces in fileinto (#1485943) +- Added it_IT localization + +* version 1.1 [2009-05-27] +----------------------------------------------------------- +- Added new icons +- Added support for headers lists (coma-separated) in rules +- Added de_CH localization + +* version 1.0 [2009-05-21] +----------------------------------------------------------- +- Rewritten using plugin API +- Added hu_HU localization (Tamas Tevesz) + +* version beta7 (svn-r2300) [2009-03-01] +----------------------------------------------------------- +- Added SquirrelMail script auto-import (Jonathan Ernst) +- Added 'vacation' support (Jonathan Ernst & alec) +- Added 'stop' support (Jonathan Ernst) +- Added option for extensions disabling (Jonathan Ernst & alec) +- Added fi_FI, nl_NL, bg_BG localization +- Small style fixes + +* version 0.2-stable1 (svn-r2205) [2009-01-03] +----------------------------------------------------------- +- Fix moving down filter row +- Fixes for compressed js files in stable release package +- Created patch for svn version r2205 + +* version 0.2-stable [2008-12-31] +----------------------------------------------------------- +- Added ru_RU, fr_FR, zh_CN translation +- Fixes for Roundcube 0.2-stable + +* version 0.2-beta [2008-09-21] +----------------------------------------------------------- +- Small css fixes for IE +- Fixes for Roundcube 0.2-beta + +* version beta6 [2008-08-08] +----------------------------------------------------------- +- Added de_DE translation +- Fix for Roundcube r1634 + +* version beta5 [2008-06-10] +----------------------------------------------------------- +- Fixed 'exists' operators +- Fixed 'not*' operators for custom headers +- Fixed filters deleting + +* version beta4 [2008-06-09] +----------------------------------------------------------- +- Fix for Roundcube r1490 + +* version beta3 [2008-05-22] +----------------------------------------------------------- +- Fixed textarea error class setting +- Added pagetitle setting +- Added option 'managesieve_replace_delimiter' +- Fixed errors on IE (still need some css fixes) + +* version beta2 [2008-05-20] +----------------------------------------------------------- +- Use 'if' only for first filter and 'elsif' for the rest + +* version beta1 [2008-05-15] +----------------------------------------------------------- +- Initial version for Roundcube r1388. diff --git a/plugins/managesieve/composer.json b/plugins/managesieve/composer.json new file mode 100644 index 000000000..529167f23 --- /dev/null +++ b/plugins/managesieve/composer.json @@ -0,0 +1,29 @@ +{ + "name": "roundcube/managesieve", + "type": "roundcube-plugin", + "description": "Adds a possibility to manage Sieve scripts (incoming mail filters). It's clickable interface which operates on text scripts and communicates with server using managesieve protocol. Adds Filters tab in Settings.", + "license": "GPLv3+", + "version": "8.3", + "authors": [ + { + "name": "Aleksander Machniak", + "email": "alec@alec.pl", + "role": "Lead" + } + ], + "repositories": [ + { + "type": "composer", + "url": "http://plugins.roundcube.net" + }, + { + "type": "pear", + "url": "http://pear.php.net/" + } + ], + "require": { + "php": ">=5.3.0", + "roundcube/plugin-installer": ">=0.1.3", + "pear-pear/Net_Sieve": ">=1.3.2" + } +} diff --git a/plugins/managesieve/config.inc.php.dist b/plugins/managesieve/config.inc.php.dist new file mode 100644 index 000000000..835db538c --- /dev/null +++ b/plugins/managesieve/config.inc.php.dist @@ -0,0 +1,100 @@ +<?php + +// managesieve server port. When empty the port will be determined automatically +// using getservbyname() function, with 4190 as a fallback. +$config['managesieve_port'] = null; + +// managesieve server address, default is localhost. +// Replacement variables supported in host name: +// %h - user's IMAP hostname +// %n - http hostname ($_SERVER['SERVER_NAME']) +// %d - domain (http hostname without the first part) +// For example %n = mail.domain.tld, %d = domain.tld +$config['managesieve_host'] = 'localhost'; + +// authentication method. Can be CRAM-MD5, DIGEST-MD5, PLAIN, LOGIN, EXTERNAL +// or none. Optional, defaults to best method supported by server. +$config['managesieve_auth_type'] = null; + +// Optional managesieve authentication identifier to be used as authorization proxy. +// Authenticate as a different user but act on behalf of the logged in user. +// Works with PLAIN and DIGEST-MD5 auth. +$config['managesieve_auth_cid'] = null; + +// Optional managesieve authentication password to be used for imap_auth_cid +$config['managesieve_auth_pw'] = null; + +// use or not TLS for managesieve server connection +// Note: tls:// prefix in managesieve_host is also supported +$config['managesieve_usetls'] = false; + +// Connection scket context options +// See http://php.net/manual/en/context.ssl.php +// The example below enables server certificate validation +//$config['managesieve_conn_options'] = array( +// 'ssl' => array( +// 'verify_peer' => true, +// 'verify_depth' => 3, +// 'cafile' => '/etc/openssl/certs/ca.crt', +// ), +// ); +$config['managesieve_conn_options'] = null; + +// default contents of filters script (eg. default spam filter) +$config['managesieve_default'] = '/etc/dovecot/sieve/global'; + +// The name of the script which will be used when there's no user script +$config['managesieve_script_name'] = 'managesieve'; + +// Sieve RFC says that we should use UTF-8 endcoding for mailbox names, +// but some implementations does not covert UTF-8 to modified UTF-7. +// Defaults to UTF7-IMAP +$config['managesieve_mbox_encoding'] = 'UTF-8'; + +// I need this because my dovecot (with listescape plugin) uses +// ':' delimiter, but creates folders with dot delimiter +$config['managesieve_replace_delimiter'] = ''; + +// disabled sieve extensions (body, copy, date, editheader, encoded-character, +// envelope, environment, ereject, fileinto, ihave, imap4flags, index, +// mailbox, mboxmetadata, regex, reject, relational, servermetadata, +// spamtest, spamtestplus, subaddress, vacation, variables, virustest, etc. +// Note: not all extensions are implemented +$config['managesieve_disabled_extensions'] = array(); + +// Enables debugging of conversation with sieve server. Logs it into <log_dir>/sieve +$config['managesieve_debug'] = false; + +// Enables features described in http://wiki.kolab.org/KEP:14 +$config['managesieve_kolab_master'] = false; + +// Script name extension used for scripts including. Dovecot uses '.sieve', +// Cyrus uses '.siv'. Doesn't matter if you have managesieve_kolab_master disabled. +$config['managesieve_filename_extension'] = '.sieve'; + +// List of reserved script names (without extension). +// Scripts listed here will be not presented to the user. +$config['managesieve_filename_exceptions'] = array(); + +// List of domains limiting destination emails in redirect action +// If not empty, user will need to select domain from a list +$config['managesieve_domains'] = array(); + +// Enables separate management interface for vacation responses (out-of-office) +// 0 - no separate section (default), +// 1 - add Vacation section, +// 2 - add Vacation section, but hide Filters section +$config['managesieve_vacation'] = 0; + +// Default vacation interval (in days). +// Note: If server supports vacation-seconds extension it is possible +// to define interval in seconds here (as a string), e.g. "3600s". +$config['managesieve_vacation_interval'] = 0; + +// Some servers require vacation :addresses to be filled with all +// user addresses (aliases). This option enables automatic filling +// of these on initial vacation form creation. +$config['managesieve_vacation_addresses_init'] = false; + +// Supported methods of notify extension. Default: 'mailto' +$config['managesieve_notify_methods'] = array('mailto'); diff --git a/plugins/managesieve/lib/Roundcube/rcube_sieve.php b/plugins/managesieve/lib/Roundcube/rcube_sieve.php new file mode 100644 index 000000000..59a7bc134 --- /dev/null +++ b/plugins/managesieve/lib/Roundcube/rcube_sieve.php @@ -0,0 +1,426 @@ +<?php + +/** + * Classes for managesieve operations (using PEAR::Net_Sieve) + * + * Copyright (C) 2008-2011, The Roundcube Dev Team + * Copyright (C) 2011, Kolab Systems AG + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see http://www.gnu.org/licenses/. + */ + +// Managesieve Protocol: RFC5804 + +class rcube_sieve +{ + private $sieve; // Net_Sieve object + private $error = false; // error flag + private $list = array(); // scripts list + + public $script; // rcube_sieve_script object + public $current; // name of currently loaded script + private $exts; // array of supported extensions + + const ERROR_CONNECTION = 1; + const ERROR_LOGIN = 2; + const ERROR_NOT_EXISTS = 3; // script not exists + const ERROR_INSTALL = 4; // script installation + const ERROR_ACTIVATE = 5; // script activation + const ERROR_DELETE = 6; // script deletion + const ERROR_INTERNAL = 7; // internal error + const ERROR_DEACTIVATE = 8; // script activation + const ERROR_OTHER = 255; // other/unknown error + + + /** + * Object constructor + * + * @param string Username (for managesieve login) + * @param string Password (for managesieve login) + * @param string Managesieve server hostname/address + * @param string Managesieve server port number + * @param string Managesieve authentication method + * @param boolean Enable/disable TLS use + * @param array Disabled extensions + * @param boolean Enable/disable debugging + * @param string Proxy authentication identifier + * @param string Proxy authentication password + * @param array List of options to pass to stream_context_create(). + */ + public function __construct($username, $password='', $host='localhost', $port=2000, + $auth_type=null, $usetls=true, $disabled=array(), $debug=false, + $auth_cid=null, $auth_pw=null, $options=array()) + { + $this->sieve = new Net_Sieve(); + + if ($debug) { + $this->sieve->setDebug(true, array($this, 'debug_handler')); + } + + $result = $this->sieve->connect($host, $port, $options, $usetls); + + if (is_a($result, 'PEAR_Error')) { + return $this->_set_error(self::ERROR_CONNECTION); + } + + if (!empty($auth_cid)) { + $authz = $username; + $username = $auth_cid; + $password = $auth_pw; + } + + $result = $this->sieve->login($username, $password, $auth_type ? strtoupper($auth_type) : null, $authz); + + if (is_a($result, 'PEAR_Error')) { + return $this->_set_error(self::ERROR_LOGIN); + } + + $this->exts = $this->get_extensions(); + + // disable features by config + if (!empty($disabled)) { + // we're working on lower-cased names + $disabled = array_map('strtolower', (array) $disabled); + foreach ($disabled as $ext) { + if (($idx = array_search($ext, $this->exts)) !== false) { + unset($this->exts[$idx]); + } + } + } + } + + public function __destruct() { + $this->sieve->disconnect(); + } + + /** + * Getter for error code + */ + public function error() + { + return $this->error ? $this->error : false; + } + + /** + * Saves current script into server + */ + public function save($name = null) + { + if (!$this->sieve) { + return $this->_set_error(self::ERROR_INTERNAL); + } + + if (!$this->script) { + return $this->_set_error(self::ERROR_INTERNAL); + } + + if (!$name) { + $name = $this->current; + } + + $script = $this->script->as_text(); + + if (!$script) { + $script = '/* empty script */'; + } + + $result = $this->sieve->installScript($name, $script); + if (is_a($result, 'PEAR_Error')) { + return $this->_set_error(self::ERROR_INSTALL); + } + + return true; + } + + /** + * Saves text script into server + */ + public function save_script($name, $content = null) + { + if (!$this->sieve) { + return $this->_set_error(self::ERROR_INTERNAL); + } + + if (!$content) { + $content = '/* empty script */'; + } + + $result = $this->sieve->installScript($name, $content); + + if (is_a($result, 'PEAR_Error')) { + return $this->_set_error(self::ERROR_INSTALL); + } + + return true; + } + + /** + * Activates specified script + */ + public function activate($name = null) + { + if (!$this->sieve) { + return $this->_set_error(self::ERROR_INTERNAL); + } + + if (!$name) { + $name = $this->current; + } + + $result = $this->sieve->setActive($name); + + if (is_a($result, 'PEAR_Error')) { + return $this->_set_error(self::ERROR_ACTIVATE); + } + + return true; + } + + /** + * De-activates specified script + */ + public function deactivate() + { + if (!$this->sieve) { + return $this->_set_error(self::ERROR_INTERNAL); + } + + $result = $this->sieve->setActive(''); + + if (is_a($result, 'PEAR_Error')) { + return $this->_set_error(self::ERROR_DEACTIVATE); + } + + return true; + } + + /** + * Removes specified script + */ + public function remove($name = null) + { + if (!$this->sieve) { + return $this->_set_error(self::ERROR_INTERNAL); + } + + if (!$name) { + $name = $this->current; + } + + // script must be deactivated first + if ($name == $this->sieve->getActive()) { + $result = $this->sieve->setActive(''); + + if (is_a($result, 'PEAR_Error')) { + return $this->_set_error(self::ERROR_DELETE); + } + } + + $result = $this->sieve->removeScript($name); + + if (is_a($result, 'PEAR_Error')) { + return $this->_set_error(self::ERROR_DELETE); + } + + if ($name == $this->current) { + $this->current = null; + } + + return true; + } + + /** + * Gets list of supported by server Sieve extensions + */ + public function get_extensions() + { + if ($this->exts) + return $this->exts; + + if (!$this->sieve) + return $this->_set_error(self::ERROR_INTERNAL); + + $ext = $this->sieve->getExtensions(); + + if (is_a($ext, 'PEAR_Error')) { + return array(); + } + + // we're working on lower-cased names + $ext = array_map('strtolower', (array) $ext); + + if ($this->script) { + $supported = $this->script->get_extensions(); + foreach ($ext as $idx => $ext_name) + if (!in_array($ext_name, $supported)) + unset($ext[$idx]); + } + + return array_values($ext); + } + + /** + * Gets list of scripts from server + */ + public function get_scripts() + { + if (!$this->list) { + + if (!$this->sieve) + return $this->_set_error(self::ERROR_INTERNAL); + + $list = $this->sieve->listScripts(); + + if (is_a($list, 'PEAR_Error')) { + return $this->_set_error(self::ERROR_OTHER); + } + + $this->list = $list; + } + + return $this->list; + } + + /** + * Returns active script name + */ + public function get_active() + { + if (!$this->sieve) + return $this->_set_error(self::ERROR_INTERNAL); + + return $this->sieve->getActive(); + } + + /** + * Loads script by name + */ + public function load($name) + { + if (!$this->sieve) + return $this->_set_error(self::ERROR_INTERNAL); + + if ($this->current == $name) + return true; + + $script = $this->sieve->getScript($name); + + if (is_a($script, 'PEAR_Error')) { + return $this->_set_error(self::ERROR_OTHER); + } + + // try to parse from Roundcube format + $this->script = $this->_parse($script); + + $this->current = $name; + + return true; + } + + /** + * Loads script from text content + */ + public function load_script($script) + { + if (!$this->sieve) + return $this->_set_error(self::ERROR_INTERNAL); + + // try to parse from Roundcube format + $this->script = $this->_parse($script); + } + + /** + * Creates rcube_sieve_script object from text script + */ + private function _parse($txt) + { + // parse + $script = new rcube_sieve_script($txt, $this->exts); + + // fix/convert to Roundcube format + if (!empty($script->content)) { + // replace all elsif with if+stop, we support only ifs + foreach ($script->content as $idx => $rule) { + if (empty($rule['type']) || !preg_match('/^(if|elsif|else)$/', $rule['type'])) { + continue; + } + + $script->content[$idx]['type'] = 'if'; + + // 'stop' not found? + foreach ($rule['actions'] as $action) { + if (preg_match('/^(stop|vacation)$/', $action['type'])) { + continue 2; + } + } + if (!empty($script->content[$idx+1]) && $script->content[$idx+1]['type'] != 'if') { + $script->content[$idx]['actions'][] = array('type' => 'stop'); + } + } + } + + return $script; + } + + /** + * Gets specified script as text + */ + public function get_script($name) + { + if (!$this->sieve) + return $this->_set_error(self::ERROR_INTERNAL); + + $content = $this->sieve->getScript($name); + + if (is_a($content, 'PEAR_Error')) { + return $this->_set_error(self::ERROR_OTHER); + } + + return $content; + } + + /** + * Creates empty script or copy of other script + */ + public function copy($name, $copy) + { + if (!$this->sieve) + return $this->_set_error(self::ERROR_INTERNAL); + + if ($copy) { + $content = $this->sieve->getScript($copy); + + if (is_a($content, 'PEAR_Error')) { + return $this->_set_error(self::ERROR_OTHER); + } + } + + + return $this->save_script($name, $content); + } + + private function _set_error($error) + { + $this->error = $error; + return false; + } + + /** + * This is our own debug handler for connection + */ + public function debug_handler(&$sieve, $message) + { + rcube::write_log('sieve', preg_replace('/\r\n$/', '', $message)); + } +} diff --git a/plugins/managesieve/lib/Roundcube/rcube_sieve_engine.php b/plugins/managesieve/lib/Roundcube/rcube_sieve_engine.php new file mode 100644 index 000000000..362c529e5 --- /dev/null +++ b/plugins/managesieve/lib/Roundcube/rcube_sieve_engine.php @@ -0,0 +1,2419 @@ +<?php + +/** + * Managesieve (Sieve Filters) Engine + * + * Engine part of Managesieve plugin implementing UI and backend access. + * + * Copyright (C) 2008-2014, The Roundcube Dev Team + * Copyright (C) 2011-2014, Kolab Systems AG + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see http://www.gnu.org/licenses/. + */ + +class rcube_sieve_engine +{ + protected $rc; + protected $sieve; + protected $errors; + protected $form; + protected $tips = array(); + protected $script = array(); + protected $exts = array(); + protected $list; + protected $active = array(); + protected $headers = array( + 'subject' => 'Subject', + 'from' => 'From', + 'to' => 'To', + ); + protected $addr_headers = array( + // Required + "from", "to", "cc", "bcc", "sender", "resent-from", "resent-to", + // Additional (RFC 822 / RFC 2822) + "reply-to", "resent-reply-to", "resent-sender", "resent-cc", "resent-bcc", + // Non-standard (RFC 2076, draft-palme-mailext-headers-08.txt) + "for-approval", "for-handling", "for-comment", "apparently-to", "errors-to", + "delivered-to", "return-receipt-to", "x-admin", "read-receipt-to", + "x-confirm-reading-to", "return-receipt-requested", + "registered-mail-reply-requested-by", "mail-followup-to", "mail-reply-to", + "abuse-reports-to", "x-complaints-to", "x-report-abuse-to", + // Undocumented + "x-beenthere", + ); + protected $notify_methods = array( + 'mailto', + // 'sms', + // 'tel', + ); + protected $notify_importance_options = array( + 3 => 'notifyimportancelow', + 2 => 'notifyimportancenormal', + 1 => 'notifyimportancehigh' + ); + + const VERSION = '8.4'; + const PROGNAME = 'Roundcube (Managesieve)'; + const PORT = 4190; + + + /** + * Class constructor + */ + function __construct($plugin) + { + $this->rc = rcube::get_instance(); + $this->plugin = $plugin; + } + + /** + * Loads configuration, initializes plugin (including sieve connection) + */ + function start($mode = null) + { + // register UI objects + $this->rc->output->add_handlers(array( + 'filterslist' => array($this, 'filters_list'), + 'filtersetslist' => array($this, 'filtersets_list'), + 'filterframe' => array($this, 'filter_frame'), + 'filterform' => array($this, 'filter_form'), + 'filtersetform' => array($this, 'filterset_form'), + )); + + // connect to managesieve server + $error = $this->connect($_SESSION['username'], $this->rc->decrypt($_SESSION['password'])); + + // load current/active script + if (!$error) { + // Get list of scripts + $list = $this->list_scripts(); + + // reset current script when entering filters UI (#1489412) + if ($this->rc->action == 'plugin.managesieve') { + $this->rc->session->remove('managesieve_current'); + } + + if ($mode != 'vacation') { + if (!empty($_GET['_set']) || !empty($_POST['_set'])) { + $script_name = rcube_utils::get_input_value('_set', rcube_utils::INPUT_GPC, true); + } + else if (!empty($_SESSION['managesieve_current'])) { + $script_name = $_SESSION['managesieve_current']; + } + } + + $error = $this->load_script($script_name); + } + + // finally set script objects + if ($error) { + switch ($error) { + case rcube_sieve::ERROR_CONNECTION: + case rcube_sieve::ERROR_LOGIN: + $this->rc->output->show_message('managesieve.filterconnerror', 'error'); + break; + + default: + $this->rc->output->show_message('managesieve.filterunknownerror', 'error'); + break; + } + + // reload interface in case of possible error when specified script wasn't found (#1489412) + if ($script_name !== null && !empty($list) && !in_array($script_name, $list)) { + $this->rc->output->command('reload', 500); + } + + // to disable 'Add filter' button set env variable + $this->rc->output->set_env('filterconnerror', true); + $this->script = array(); + } + else { + $this->exts = $this->sieve->get_extensions(); + $this->init_script(); + $this->rc->output->set_env('currentset', $this->sieve->current); + $_SESSION['managesieve_current'] = $this->sieve->current; + } + + return $error; + } + + /** + * Connect to configured managesieve server + * + * @param string $username User login + * @param string $password User password + * + * @return int Connection status: 0 on success, >0 on failure + */ + public function connect($username, $password) + { + // Get connection parameters + $host = $this->rc->config->get('managesieve_host', 'localhost'); + $port = $this->rc->config->get('managesieve_port'); + $tls = $this->rc->config->get('managesieve_usetls', false); + + $host = rcube_utils::parse_host($host); + $host = rcube_utils::idn_to_ascii($host); + + // remove tls:// prefix, set TLS flag + if (($host = preg_replace('|^tls://|i', '', $host, 1, $cnt)) && $cnt) { + $tls = true; + } + + if (empty($port)) { + $port = getservbyname('sieve', 'tcp'); + if (empty($port)) { + $port = self::PORT; + } + } + + $plugin = $this->rc->plugins->exec_hook('managesieve_connect', array( + 'user' => $username, + 'password' => $password, + 'host' => $host, + 'port' => $port, + 'usetls' => $tls, + 'auth_type' => $this->rc->config->get('managesieve_auth_type'), + 'disabled' => $this->rc->config->get('managesieve_disabled_extensions'), + 'debug' => $this->rc->config->get('managesieve_debug', false), + 'auth_cid' => $this->rc->config->get('managesieve_auth_cid'), + 'auth_pw' => $this->rc->config->get('managesieve_auth_pw'), + 'socket_options' => $this->rc->config->get('managesieve_conn_options'), + )); + + // try to connect to managesieve server and to fetch the script + $this->sieve = new rcube_sieve( + $plugin['user'], + $plugin['password'], + $plugin['host'], + $plugin['port'], + $plugin['auth_type'], + $plugin['usetls'], + $plugin['disabled'], + $plugin['debug'], + $plugin['auth_cid'], + $plugin['auth_pw'], + $plugin['socket_options'] + ); + + $error = $this->sieve->error(); + + if ($error) { + rcube::raise_error(array( + 'code' => 403, + 'file' => __FILE__, + 'line' => __LINE__, + 'message' => "Unable to connect to managesieve on $host:$port" + ), true, false); + } + + return $error; + } + + /** + * Load specified (or active) script + * + * @param string $script_name Optional script name + * + * @return int Connection status: 0 on success, >0 on failure + */ + protected function load_script($script_name = null) + { + // Get list of scripts + $list = $this->list_scripts(); + + if ($script_name === null || $script_name === '') { + // get (first) active script + if (!empty($this->active)) { + $script_name = $this->active[0]; + } + else if ($list) { + $script_name = $list[0]; + } + // create a new (initial) script + else { + // if script not exists build default script contents + $script_file = $this->rc->config->get('managesieve_default'); + $script_name = $this->rc->config->get('managesieve_script_name'); + + if (empty($script_name)) { + $script_name = 'roundcube'; + } + + if ($script_file && is_readable($script_file)) { + $content = file_get_contents($script_file); + } + + // add script and set it active + if ($this->sieve->save_script($script_name, $content)) { + $this->activate_script($script_name); + $this->list[] = $script_name; + } + } + } + + if ($script_name) { + $this->sieve->load($script_name); + } + + return $this->sieve->error(); + } + + /** + * User interface actions handler + */ + function actions() + { + $error = $this->start(); + + // Handle user requests + if ($action = rcube_utils::get_input_value('_act', rcube_utils::INPUT_GPC)) { + $fid = (int) rcube_utils::get_input_value('_fid', rcube_utils::INPUT_POST); + + if ($action == 'delete' && !$error) { + if (isset($this->script[$fid])) { + if ($this->sieve->script->delete_rule($fid)) + $result = $this->save_script(); + + if ($result === true) { + $this->rc->output->show_message('managesieve.filterdeleted', 'confirmation'); + $this->rc->output->command('managesieve_updatelist', 'del', array('id' => $fid)); + } else { + $this->rc->output->show_message('managesieve.filterdeleteerror', 'error'); + } + } + } + else if ($action == 'move' && !$error) { + if (isset($this->script[$fid])) { + $to = (int) rcube_utils::get_input_value('_to', rcube_utils::INPUT_POST); + $rule = $this->script[$fid]; + + // remove rule + unset($this->script[$fid]); + $this->script = array_values($this->script); + + // add at target position + if ($to >= count($this->script)) { + $this->script[] = $rule; + } + else { + $script = array(); + foreach ($this->script as $idx => $r) { + if ($idx == $to) + $script[] = $rule; + $script[] = $r; + } + $this->script = $script; + } + + $this->sieve->script->content = $this->script; + $result = $this->save_script(); + + if ($result === true) { + $result = $this->list_rules(); + + $this->rc->output->show_message('managesieve.moved', 'confirmation'); + $this->rc->output->command('managesieve_updatelist', 'list', + array('list' => $result, 'clear' => true, 'set' => $to)); + } else { + $this->rc->output->show_message('managesieve.moveerror', 'error'); + } + } + } + else if ($action == 'act' && !$error) { + if (isset($this->script[$fid])) { + $rule = $this->script[$fid]; + $disabled = $rule['disabled'] ? true : false; + $rule['disabled'] = !$disabled; + $result = $this->sieve->script->update_rule($fid, $rule); + + if ($result !== false) + $result = $this->save_script(); + + if ($result === true) { + if ($rule['disabled']) + $this->rc->output->show_message('managesieve.deactivated', 'confirmation'); + else + $this->rc->output->show_message('managesieve.activated', 'confirmation'); + $this->rc->output->command('managesieve_updatelist', 'update', + array('id' => $fid, 'disabled' => $rule['disabled'])); + } else { + if ($rule['disabled']) + $this->rc->output->show_message('managesieve.deactivateerror', 'error'); + else + $this->rc->output->show_message('managesieve.activateerror', 'error'); + } + } + } + else if ($action == 'setact' && !$error) { + $script_name = rcube_utils::get_input_value('_set', rcube_utils::INPUT_POST, true); + $result = $this->activate_script($script_name); + $kep14 = $this->rc->config->get('managesieve_kolab_master'); + + if ($result === true) { + $this->rc->output->set_env('active_sets', $this->active); + $this->rc->output->show_message('managesieve.setactivated', 'confirmation'); + $this->rc->output->command('managesieve_updatelist', 'setact', + array('name' => $script_name, 'active' => true, 'all' => !$kep14)); + } else { + $this->rc->output->show_message('managesieve.setactivateerror', 'error'); + } + } + else if ($action == 'deact' && !$error) { + $script_name = rcube_utils::get_input_value('_set', rcube_utils::INPUT_POST, true); + $result = $this->deactivate_script($script_name); + + if ($result === true) { + $this->rc->output->set_env('active_sets', $this->active); + $this->rc->output->show_message('managesieve.setdeactivated', 'confirmation'); + $this->rc->output->command('managesieve_updatelist', 'setact', + array('name' => $script_name, 'active' => false)); + } else { + $this->rc->output->show_message('managesieve.setdeactivateerror', 'error'); + } + } + else if ($action == 'setdel' && !$error) { + $script_name = rcube_utils::get_input_value('_set', rcube_utils::INPUT_POST, true); + $result = $this->remove_script($script_name); + + if ($result === true) { + $this->rc->output->show_message('managesieve.setdeleted', 'confirmation'); + $this->rc->output->command('managesieve_updatelist', 'setdel', + array('name' => $script_name)); + $this->rc->session->remove('managesieve_current'); + } else { + $this->rc->output->show_message('managesieve.setdeleteerror', 'error'); + } + } + else if ($action == 'setget') { + $script_name = rcube_utils::get_input_value('_set', rcube_utils::INPUT_GPC, true); + $script = $this->sieve->get_script($script_name); + + if (is_a($script, 'PEAR_Error')) { + exit; + } + + $browser = new rcube_browser; + + // send download headers + header("Content-Type: application/octet-stream"); + header("Content-Length: ".strlen($script)); + + if ($browser->ie) { + header("Content-Type: application/force-download"); + $filename = rawurlencode($script_name); + } + else { + $filename = addcslashes($script_name, '\\"'); + } + + header("Content-Disposition: attachment; filename=\"$filename.txt\""); + echo $script; + exit; + } + else if ($action == 'list') { + $result = $this->list_rules(); + + $this->rc->output->command('managesieve_updatelist', 'list', array('list' => $result)); + } + else if ($action == 'ruleadd') { + $rid = rcube_utils::get_input_value('_rid', rcube_utils::INPUT_POST); + $id = $this->genid(); + $content = $this->rule_div($fid, $id, false); + + $this->rc->output->command('managesieve_rulefill', $content, $id, $rid); + } + else if ($action == 'actionadd') { + $aid = rcube_utils::get_input_value('_aid', rcube_utils::INPUT_POST); + $id = $this->genid(); + $content = $this->action_div($fid, $id, false); + + $this->rc->output->command('managesieve_actionfill', $content, $id, $aid); + } + else if ($action == 'addresses') { + $aid = rcube_utils::get_input_value('_aid', rcube_utils::INPUT_POST); + + $this->rc->output->command('managesieve_vacation_addresses_update', $aid, $this->user_emails()); + } + + $this->rc->output->send(); + } + else if ($this->rc->task == 'mail') { + // Initialize the form + $rules = rcube_utils::get_input_value('r', rcube_utils::INPUT_GET); + if (!empty($rules)) { + $i = 0; + foreach ($rules as $rule) { + list($header, $value) = explode(':', $rule, 2); + $tests[$i] = array( + 'type' => 'contains', + 'test' => 'header', + 'arg1' => $header, + 'arg2' => $value, + ); + $i++; + } + + $this->form = array( + 'join' => count($tests) > 1 ? 'allof' : 'anyof', + 'name' => '', + 'tests' => $tests, + 'actions' => array( + 0 => array('type' => 'fileinto'), + 1 => array('type' => 'stop'), + ), + ); + } + } + + $this->send(); + } + + function save() + { + // Init plugin and handle managesieve connection + $error = $this->start(); + + // get request size limits (#1488648) + $max_post = max(array( + ini_get('max_input_vars'), + ini_get('suhosin.request.max_vars'), + ini_get('suhosin.post.max_vars'), + )); + $max_depth = max(array( + ini_get('suhosin.request.max_array_depth'), + ini_get('suhosin.post.max_array_depth'), + )); + + // check request size limit + if ($max_post && count($_POST, COUNT_RECURSIVE) >= $max_post) { + rcube::raise_error(array( + 'code' => 500, 'type' => 'php', + 'file' => __FILE__, 'line' => __LINE__, + 'message' => "Request size limit exceeded (one of max_input_vars/suhosin.request.max_vars/suhosin.post.max_vars)" + ), true, false); + $this->rc->output->show_message('managesieve.filtersaveerror', 'error'); + } + // check request depth limits + else if ($max_depth && count($_POST['_header']) > $max_depth) { + rcube::raise_error(array( + 'code' => 500, 'type' => 'php', + 'file' => __FILE__, 'line' => __LINE__, + 'message' => "Request size limit exceeded (one of suhosin.request.max_array_depth/suhosin.post.max_array_depth)" + ), true, false); + $this->rc->output->show_message('managesieve.filtersaveerror', 'error'); + } + // filters set add action + else if (!empty($_POST['_newset'])) { + $name = rcube_utils::get_input_value('_name', rcube_utils::INPUT_POST, true); + $copy = rcube_utils::get_input_value('_copy', rcube_utils::INPUT_POST, true); + $from = rcube_utils::get_input_value('_from', rcube_utils::INPUT_POST); + $exceptions = $this->rc->config->get('managesieve_filename_exceptions'); + $kolab = $this->rc->config->get('managesieve_kolab_master'); + $name_uc = mb_strtolower($name); + $list = $this->list_scripts(); + + if (!$name) { + $this->errors['name'] = $this->plugin->gettext('cannotbeempty'); + } + else if (mb_strlen($name) > 128) { + $this->errors['name'] = $this->plugin->gettext('nametoolong'); + } + else if (!empty($exceptions) && in_array($name, (array)$exceptions)) { + $this->errors['name'] = $this->plugin->gettext('namereserved'); + } + else if (!empty($kolab) && in_array($name_uc, array('MASTER', 'USER', 'MANAGEMENT'))) { + $this->errors['name'] = $this->plugin->gettext('namereserved'); + } + else if (in_array($name, $list)) { + $this->errors['name'] = $this->plugin->gettext('setexist'); + } + else if ($from == 'file') { + // from file + if (is_uploaded_file($_FILES['_file']['tmp_name'])) { + $file = file_get_contents($_FILES['_file']['tmp_name']); + $file = preg_replace('/\r/', '', $file); + // for security don't save script directly + // check syntax before, like this... + $this->sieve->load_script($file); + if (!$this->save_script($name)) { + $this->errors['file'] = $this->plugin->gettext('setcreateerror'); + } + } + else { // upload failed + $err = $_FILES['_file']['error']; + + if ($err == UPLOAD_ERR_INI_SIZE || $err == UPLOAD_ERR_FORM_SIZE) { + $msg = $this->rc->gettext(array('name' => 'filesizeerror', + 'vars' => array('size' => + $this->rc->show_bytes(parse_bytes(ini_get('upload_max_filesize')))))); + } + else { + $this->errors['file'] = $this->plugin->gettext('fileuploaderror'); + } + } + } + else if (!$this->sieve->copy($name, $from == 'set' ? $copy : '')) { + $error = 'managesieve.setcreateerror'; + } + + if (!$error && empty($this->errors)) { + // Find position of the new script on the list + $list[] = $name; + asort($list, SORT_LOCALE_STRING); + $list = array_values($list); + $index = array_search($name, $list); + + $this->rc->output->show_message('managesieve.setcreated', 'confirmation'); + $this->rc->output->command('parent.managesieve_updatelist', 'setadd', + array('name' => $name, 'index' => $index)); + } else if ($msg) { + $this->rc->output->command('display_message', $msg, 'error'); + } else if ($error) { + $this->rc->output->show_message($error, 'error'); + } + } + // filter add/edit action + else if (isset($_POST['_name'])) { + $name = trim(rcube_utils::get_input_value('_name', rcube_utils::INPUT_POST, true)); + $fid = trim(rcube_utils::get_input_value('_fid', rcube_utils::INPUT_POST)); + $join = trim(rcube_utils::get_input_value('_join', rcube_utils::INPUT_POST)); + + // and arrays + $headers = rcube_utils::get_input_value('_header', rcube_utils::INPUT_POST); + $cust_headers = rcube_utils::get_input_value('_custom_header', rcube_utils::INPUT_POST); + $ops = rcube_utils::get_input_value('_rule_op', rcube_utils::INPUT_POST); + $sizeops = rcube_utils::get_input_value('_rule_size_op', rcube_utils::INPUT_POST); + $sizeitems = rcube_utils::get_input_value('_rule_size_item', rcube_utils::INPUT_POST); + $sizetargets = rcube_utils::get_input_value('_rule_size_target', rcube_utils::INPUT_POST); + $targets = rcube_utils::get_input_value('_rule_target', rcube_utils::INPUT_POST, true); + $mods = rcube_utils::get_input_value('_rule_mod', rcube_utils::INPUT_POST); + $mod_types = rcube_utils::get_input_value('_rule_mod_type', rcube_utils::INPUT_POST); + $body_trans = rcube_utils::get_input_value('_rule_trans', rcube_utils::INPUT_POST); + $body_types = rcube_utils::get_input_value('_rule_trans_type', rcube_utils::INPUT_POST, true); + $comparators = rcube_utils::get_input_value('_rule_comp', rcube_utils::INPUT_POST); + $indexes = rcube_utils::get_input_value('_rule_index', rcube_utils::INPUT_POST); + $lastindexes = rcube_utils::get_input_value('_rule_index_last', rcube_utils::INPUT_POST); + $dateheaders = rcube_utils::get_input_value('_rule_date_header', rcube_utils::INPUT_POST); + $dateparts = rcube_utils::get_input_value('_rule_date_part', rcube_utils::INPUT_POST); + $act_types = rcube_utils::get_input_value('_action_type', rcube_utils::INPUT_POST, true); + $mailboxes = rcube_utils::get_input_value('_action_mailbox', rcube_utils::INPUT_POST, true); + $act_targets = rcube_utils::get_input_value('_action_target', rcube_utils::INPUT_POST, true); + $domain_targets = rcube_utils::get_input_value('_action_target_domain', rcube_utils::INPUT_POST); + $area_targets = rcube_utils::get_input_value('_action_target_area', rcube_utils::INPUT_POST, true); + $reasons = rcube_utils::get_input_value('_action_reason', rcube_utils::INPUT_POST, true); + $addresses = rcube_utils::get_input_value('_action_addresses', rcube_utils::INPUT_POST, true); + $intervals = rcube_utils::get_input_value('_action_interval', rcube_utils::INPUT_POST); + $interval_types = rcube_utils::get_input_value('_action_interval_type', rcube_utils::INPUT_POST); + $subject = rcube_utils::get_input_value('_action_subject', rcube_utils::INPUT_POST, true); + $flags = rcube_utils::get_input_value('_action_flags', rcube_utils::INPUT_POST); + $varnames = rcube_utils::get_input_value('_action_varname', rcube_utils::INPUT_POST); + $varvalues = rcube_utils::get_input_value('_action_varvalue', rcube_utils::INPUT_POST); + $varmods = rcube_utils::get_input_value('_action_varmods', rcube_utils::INPUT_POST); + $notifymethods = rcube_utils::get_input_value('_action_notifymethod', rcube_utils::INPUT_POST); + $notifytargets = rcube_utils::get_input_value('_action_notifytarget', rcube_utils::INPUT_POST, true); + $notifyoptions = rcube_utils::get_input_value('_action_notifyoption', rcube_utils::INPUT_POST, true); + $notifymessages = rcube_utils::get_input_value('_action_notifymessage', rcube_utils::INPUT_POST, true); + $notifyfrom = rcube_utils::get_input_value('_action_notifyfrom', rcube_utils::INPUT_POST); + $notifyimp = rcube_utils::get_input_value('_action_notifyimportance', rcube_utils::INPUT_POST); + + // we need a "hack" for radiobuttons + foreach ($sizeitems as $item) + $items[] = $item; + + $this->form['disabled'] = $_POST['_disabled'] ? true : false; + $this->form['join'] = $join=='allof' ? true : false; + $this->form['name'] = $name; + $this->form['tests'] = array(); + $this->form['actions'] = array(); + + if ($name == '') + $this->errors['name'] = $this->plugin->gettext('cannotbeempty'); + else { + foreach($this->script as $idx => $rule) + if($rule['name'] == $name && $idx != $fid) { + $this->errors['name'] = $this->plugin->gettext('ruleexist'); + break; + } + } + + $i = 0; + // rules + if ($join == 'any') { + $this->form['tests'][0]['test'] = 'true'; + } + else { + foreach ($headers as $idx => $header) { + // targets are indexed differently (assume form order) + $target = $this->strip_value(array_shift($targets), true); + $header = $this->strip_value($header); + $operator = $this->strip_value($ops[$idx]); + $comparator = $this->strip_value($comparators[$idx]); + + if ($header == 'size') { + $sizeop = $this->strip_value($sizeops[$idx]); + $sizeitem = $this->strip_value($items[$idx]); + $sizetarget = $this->strip_value($sizetargets[$idx]); + + $this->form['tests'][$i]['test'] = 'size'; + $this->form['tests'][$i]['type'] = $sizeop; + $this->form['tests'][$i]['arg'] = $sizetarget; + + if ($sizetarget == '') + $this->errors['tests'][$i]['sizetarget'] = $this->plugin->gettext('cannotbeempty'); + else if (!preg_match('/^[0-9]+(K|M|G)?$/i', $sizetarget.$sizeitem, $m)) { + $this->errors['tests'][$i]['sizetarget'] = $this->plugin->gettext('forbiddenchars'); + $this->form['tests'][$i]['item'] = $sizeitem; + } + else + $this->form['tests'][$i]['arg'] .= $m[1]; + } + else if ($header == 'currentdate') { + $datepart = $this->strip_value($dateparts[$idx]); + + if (preg_match('/^not/', $operator)) + $this->form['tests'][$i]['not'] = true; + $type = preg_replace('/^not/', '', $operator); + + if ($type == 'exists') { + $this->errors['tests'][$i]['op'] = true; + } + + $this->form['tests'][$i]['test'] = 'currentdate'; + $this->form['tests'][$i]['type'] = $type; + $this->form['tests'][$i]['part'] = $datepart; + $this->form['tests'][$i]['arg'] = $target; + + if ($type != 'exists') { + if (!count($target)) { + $this->errors['tests'][$i]['target'] = $this->plugin->gettext('cannotbeempty'); + } + else if (strpos($type, 'count-') === 0) { + foreach ($target as $arg) { + if (preg_match('/[^0-9]/', $arg)) { + $this->errors['tests'][$i]['target'] = $this->plugin->gettext('forbiddenchars'); + } + } + } + else if (strpos($type, 'value-') === 0) { + // Some date/time formats do not support i;ascii-numeric comparator + if ($comparator == 'i;ascii-numeric' && in_array($datepart, array('date', 'time', 'iso8601', 'std11'))) { + $comparator = ''; + } + } + + if (!preg_match('/^(regex|matches|count-)/', $type) && count($target)) { + foreach ($target as $arg) { + if (!$this->validate_date_part($datepart, $arg)) { + $this->errors['tests'][$i]['target'] = $this->plugin->gettext('invaliddateformat'); + break; + } + } + } + } + } + else if ($header == 'date') { + $datepart = $this->strip_value($dateparts[$idx]); + $dateheader = $this->strip_value($dateheaders[$idx]); + $index = $this->strip_value($indexes[$idx]); + $indexlast = $this->strip_value($lastindexes[$idx]); + + if (preg_match('/^not/', $operator)) + $this->form['tests'][$i]['not'] = true; + $type = preg_replace('/^not/', '', $operator); + + if ($type == 'exists') { + $this->errors['tests'][$i]['op'] = true; + } + + if (!empty($index) && $mod != 'envelope') { + $this->form['tests'][$i]['index'] = intval($index); + $this->form['tests'][$i]['last'] = !empty($indexlast); + } + + if (empty($dateheader)) { + $dateheader = 'Date'; + } + else if (!preg_match('/^[\x21-\x39\x41-\x7E]+$/i', $dateheader)) { + $this->errors['tests'][$i]['dateheader'] = $this->plugin->gettext('forbiddenchars'); + } + + $this->form['tests'][$i]['test'] = 'date'; + $this->form['tests'][$i]['type'] = $type; + $this->form['tests'][$i]['part'] = $datepart; + $this->form['tests'][$i]['arg'] = $target; + $this->form['tests'][$i]['header'] = $dateheader; + + if ($type != 'exists') { + if (!count($target)) { + $this->errors['tests'][$i]['target'] = $this->plugin->gettext('cannotbeempty'); + } + else if (strpos($type, 'count-') === 0) { + foreach ($target as $arg) { + if (preg_match('/[^0-9]/', $arg)) { + $this->errors['tests'][$i]['target'] = $this->plugin->gettext('forbiddenchars'); + } + } + } + else if (strpos($type, 'value-') === 0) { + // Some date/time formats do not support i;ascii-numeric comparator + if ($comparator == 'i;ascii-numeric' && in_array($datepart, array('date', 'time', 'iso8601', 'std11'))) { + $comparator = ''; + } + } + + if (count($target) && !preg_match('/^(regex|matches|count-)/', $type)) { + foreach ($target as $arg) { + if (!$this->validate_date_part($datepart, $arg)) { + $this->errors['tests'][$i]['target'] = $this->plugin->gettext('invaliddateformat'); + break; + } + } + } + } + } + else if ($header == 'body') { + $trans = $this->strip_value($body_trans[$idx]); + $trans_type = $this->strip_value($body_types[$idx], true); + + if (preg_match('/^not/', $operator)) + $this->form['tests'][$i]['not'] = true; + $type = preg_replace('/^not/', '', $operator); + + if ($type == 'exists') { + $this->errors['tests'][$i]['op'] = true; + } + + $this->form['tests'][$i]['test'] = 'body'; + $this->form['tests'][$i]['type'] = $type; + $this->form['tests'][$i]['arg'] = $target; + + if (empty($target) && $type != 'exists') { + $this->errors['tests'][$i]['target'] = $this->plugin->gettext('cannotbeempty'); + } + else if (preg_match('/^(value|count)-/', $type)) { + foreach ($target as $target_value) { + if (preg_match('/[^0-9]/', $target_value)) { + $this->errors['tests'][$i]['target'] = $this->plugin->gettext('forbiddenchars'); + } + } + } + + $this->form['tests'][$i]['part'] = $trans; + if ($trans == 'content') { + $this->form['tests'][$i]['content'] = $trans_type; + } + } + else { + $cust_header = $headers = $this->strip_value(array_shift($cust_headers)); + $mod = $this->strip_value($mods[$idx]); + $mod_type = $this->strip_value($mod_types[$idx]); + $index = $this->strip_value($indexes[$idx]); + $indexlast = $this->strip_value($lastindexes[$idx]); + + if (preg_match('/^not/', $operator)) + $this->form['tests'][$i]['not'] = true; + $type = preg_replace('/^not/', '', $operator); + + if (!empty($index) && $mod != 'envelope') { + $this->form['tests'][$i]['index'] = intval($index); + $this->form['tests'][$i]['last'] = !empty($indexlast); + } + + if ($header == '...') { + if (!count($headers)) + $this->errors['tests'][$i]['header'] = $this->plugin->gettext('cannotbeempty'); + else { + foreach ($headers as $hr) { + // RFC2822: printable ASCII except colon + if (!preg_match('/^[\x21-\x39\x41-\x7E]+$/i', $hr)) { + $this->errors['tests'][$i]['header'] = $this->plugin->gettext('forbiddenchars'); + } + } + } + + if (empty($this->errors['tests'][$i]['header'])) + $cust_header = (is_array($headers) && count($headers) == 1) ? $headers[0] : $headers; + } + + $header = $header == '...' ? $cust_header : $header; + + if (is_array($header)) { + foreach ($header as $h_index => $val) { + if (isset($this->headers[$val])) { + $header[$h_index] = $this->headers[$val]; + } + } + } + + if ($type == 'exists') { + $this->form['tests'][$i]['test'] = 'exists'; + $this->form['tests'][$i]['arg'] = $header; + } + else { + $test = 'header'; + + if ($mod == 'address' || $mod == 'envelope') { + $found = false; + if (empty($this->errors['tests'][$i]['header'])) { + foreach ((array)$header as $hdr) { + if (!in_array(strtolower(trim($hdr)), $this->addr_headers)) + $found = true; + } + } + if (!$found) + $test = $mod; + } + + $this->form['tests'][$i]['type'] = $type; + $this->form['tests'][$i]['test'] = $test; + $this->form['tests'][$i]['arg1'] = $header; + $this->form['tests'][$i]['arg2'] = $target; + + if (empty($target)) { + $this->errors['tests'][$i]['target'] = $this->plugin->gettext('cannotbeempty'); + } + else if (preg_match('/^(value|count)-/', $type)) { + foreach ($target as $target_value) { + if (preg_match('/[^0-9]/', $target_value)) { + $this->errors['tests'][$i]['target'] = $this->plugin->gettext('forbiddenchars'); + } + } + } + + if ($mod) { + $this->form['tests'][$i]['part'] = $mod_type; + } + } + } + + if ($header != 'size' && $comparator) { + $this->form['tests'][$i]['comparator'] = $comparator; + } + + $i++; + } + } + + $i = 0; + // actions + foreach ($act_types as $idx => $type) { + $type = $this->strip_value($type); + + switch ($type) { + case 'fileinto': + case 'fileinto_copy': + $mailbox = $this->strip_value($mailboxes[$idx], false, false); + $this->form['actions'][$i]['target'] = $this->mod_mailbox($mailbox, 'in'); + + if ($type == 'fileinto_copy') { + $type = 'fileinto'; + $this->form['actions'][$i]['copy'] = true; + } + break; + + case 'reject': + case 'ereject': + $target = $this->strip_value($area_targets[$idx]); + $this->form['actions'][$i]['target'] = str_replace("\r\n", "\n", $target); + + // if ($target == '') +// $this->errors['actions'][$i]['targetarea'] = $this->plugin->gettext('cannotbeempty'); + break; + + case 'redirect': + case 'redirect_copy': + $target = $this->strip_value($act_targets[$idx]); + $domain = $this->strip_value($domain_targets[$idx]); + + // force one of the configured domains + $domains = (array) $this->rc->config->get('managesieve_domains'); + if (!empty($domains) && !empty($target)) { + if (!$domain || !in_array($domain, $domains)) { + $domain = $domains[0]; + } + + $target .= '@' . $domain; + } + + $this->form['actions'][$i]['target'] = $target; + + if ($target == '') + $this->errors['actions'][$i]['target'] = $this->plugin->gettext('cannotbeempty'); + else if (!rcube_utils::check_email($target)) + $this->errors['actions'][$i]['target'] = $this->plugin->gettext(!empty($domains) ? 'forbiddenchars' : 'noemailwarning'); + + if ($type == 'redirect_copy') { + $type = 'redirect'; + $this->form['actions'][$i]['copy'] = true; + } + + break; + + 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'] = $_target; + break; + + case 'vacation': + $reason = $this->strip_value($reasons[$idx]); + $interval_type = $interval_types[$idx] == 'seconds' ? 'seconds' : 'days'; + + $this->form['actions'][$i]['reason'] = str_replace("\r\n", "\n", $reason); + $this->form['actions'][$i]['subject'] = $subject[$idx]; + $this->form['actions'][$i]['addresses'] = array_shift($addresses); + $this->form['actions'][$i][$interval_type] = $intervals[$idx]; +// @TODO: vacation :mime, :from, :handle + + foreach ((array)$this->form['actions'][$i]['addresses'] as $aidx => $address) { + $this->form['actions'][$i]['addresses'][$aidx] = $address = trim($address); + + if (empty($address)) { + unset($this->form['actions'][$i]['addresses'][$aidx]); + } + else if (!rcube_utils::check_email($address)) { + $this->errors['actions'][$i]['addresses'] = $this->plugin->gettext('noemailwarning'); + break; + } + } + + if ($this->form['actions'][$i]['reason'] == '') + $this->errors['actions'][$i]['reason'] = $this->plugin->gettext('cannotbeempty'); + if ($this->form['actions'][$i][$interval_type] && !preg_match('/^[0-9]+$/', $this->form['actions'][$i][$interval_type])) + $this->errors['actions'][$i]['interval'] = $this->plugin->gettext('forbiddenchars'); + break; + + case 'set': + $this->form['actions'][$i]['name'] = $varnames[$idx]; + $this->form['actions'][$i]['value'] = $varvalues[$idx]; + foreach ((array)$varmods[$idx] as $v_m) { + $this->form['actions'][$i][$v_m] = true; + } + + if (empty($varnames[$idx])) { + $this->errors['actions'][$i]['name'] = $this->plugin->gettext('cannotbeempty'); + } + else if (!preg_match('/^[0-9a-z_]+$/i', $varnames[$idx])) { + $this->errors['actions'][$i]['name'] = $this->plugin->gettext('forbiddenchars'); + } + + if (!isset($varvalues[$idx]) || $varvalues[$idx] === '') { + $this->errors['actions'][$i]['value'] = $this->plugin->gettext('cannotbeempty'); + } + break; + + case 'notify': + if (empty($notifymethods[$idx])) { + $this->errors['actions'][$i]['method'] = $this->plugin->gettext('cannotbeempty'); + } + if (empty($notifytargets[$idx])) { + $this->errors['actions'][$i]['target'] = $this->plugin->gettext('cannotbeempty'); + } + if (!empty($notifyfrom[$idx]) && !rcube_utils::check_email($notifyfrom[$idx])) { + $this->errors['actions'][$i]['from'] = $this->plugin->gettext('noemailwarning'); + } + + // skip empty options + foreach ((array)$notifyoptions[$idx] as $opt_idx => $opt) { + if (!strlen(trim($opt))) { + unset($notifyoptions[$idx][$opt_idx]); + } + } + + $this->form['actions'][$i]['method'] = $notifymethods[$idx] . ':' . $notifytargets[$idx]; + $this->form['actions'][$i]['options'] = $notifyoptions[$idx]; + $this->form['actions'][$i]['message'] = $notifymessages[$idx]; + $this->form['actions'][$i]['from'] = $notifyfrom[$idx]; + $this->form['actions'][$i]['importance'] = $notifyimp[$idx]; + break; + } + + $this->form['actions'][$i]['type'] = $type; + $i++; + } + + if (!$this->errors && !$error) { + // save the script + if (!isset($this->script[$fid])) { + $fid = $this->sieve->script->add_rule($this->form); + $new = true; + } + else { + $fid = $this->sieve->script->update_rule($fid, $this->form); + } + + if ($fid !== false) + $save = $this->save_script(); + + if ($save && $fid !== false) { + $this->rc->output->show_message('managesieve.filtersaved', 'confirmation'); + if ($this->rc->task != 'mail') { + $this->rc->output->command('parent.managesieve_updatelist', + isset($new) ? 'add' : 'update', + array( + 'name' => $this->form['name'], + 'id' => $fid, + 'disabled' => $this->form['disabled'] + )); + } + else { + $this->rc->output->command('managesieve_dialog_close'); + $this->rc->output->send('iframe'); + } + } + else { + $this->rc->output->show_message('managesieve.filtersaveerror', 'error'); +// $this->rc->output->send(); + } + } + } + + $this->send(); + } + + protected function send() + { + // Handle form action + if (isset($_GET['_framed']) || isset($_POST['_framed'])) { + if (isset($_GET['_newset']) || isset($_POST['_newset'])) { + $this->rc->output->send('managesieve.setedit'); + } + else { + $this->rc->output->send('managesieve.filteredit'); + } + } + else { + $this->rc->output->set_pagetitle($this->plugin->gettext('filters')); + $this->rc->output->send('managesieve.managesieve'); + } + } + + // return the filters list as HTML table + function filters_list($attrib) + { + // add id to message list table if not specified + if (!strlen($attrib['id'])) + $attrib['id'] = 'rcmfilterslist'; + + // define list of cols to be displayed + $a_show_cols = array('name'); + + $result = $this->list_rules(); + + // create XHTML table + $out = $this->rc->table_output($attrib, $result, $a_show_cols, 'id'); + + // set client env + $this->rc->output->add_gui_object('filterslist', $attrib['id']); + $this->rc->output->include_script('list.js'); + + // add some labels to client + $this->rc->output->add_label('managesieve.filterdeleteconfirm'); + + return $out; + } + + // return the filters list as <SELECT> + function filtersets_list($attrib, $no_env = false) + { + // add id to message list table if not specified + if (!strlen($attrib['id'])) + $attrib['id'] = 'rcmfiltersetslist'; + + $list = $this->list_scripts(); + + if ($list) { + asort($list, SORT_LOCALE_STRING); + } + + if (!empty($attrib['type']) && $attrib['type'] == 'list') { + // define list of cols to be displayed + $a_show_cols = array('name'); + + if ($list) { + foreach ($list as $idx => $set) { + $scripts['S'.$idx] = $set; + $result[] = array( + 'name' => $set, + 'id' => 'S'.$idx, + 'class' => !in_array($set, $this->active) ? 'disabled' : '', + ); + } + } + + // create XHTML table + $out = $this->rc->table_output($attrib, $result, $a_show_cols, 'id'); + + $this->rc->output->set_env('filtersets', $scripts); + $this->rc->output->include_script('list.js'); + } + else { + $select = new html_select(array('name' => '_set', 'id' => $attrib['id'], + 'onchange' => $this->rc->task != 'mail' ? 'rcmail.managesieve_set()' : '')); + + if ($list) { + foreach ($list as $set) + $select->add($set, $set); + } + + $out = $select->show($this->sieve->current); + } + + // set client env + if (!$no_env) { + $this->rc->output->add_gui_object('filtersetslist', $attrib['id']); + $this->rc->output->add_label('managesieve.setdeleteconfirm'); + } + + return $out; + } + + function filter_frame($attrib) + { + return $this->rc->output->frame($attrib, true); + } + + function filterset_form($attrib) + { + if (!$attrib['id']) + $attrib['id'] = 'rcmfiltersetform'; + + $out = '<form name="filtersetform" action="./" method="post" enctype="multipart/form-data">'."\n"; + + $hiddenfields = new html_hiddenfield(array('name' => '_task', 'value' => $this->rc->task)); + $hiddenfields->add(array('name' => '_action', 'value' => 'plugin.managesieve-save')); + $hiddenfields->add(array('name' => '_framed', 'value' => ($_POST['_framed'] || $_GET['_framed'] ? 1 : 0))); + $hiddenfields->add(array('name' => '_newset', 'value' => 1)); + + $out .= $hiddenfields->show(); + + $name = rcube_utils::get_input_value('_name', rcube_utils::INPUT_POST); + $copy = rcube_utils::get_input_value('_copy', rcube_utils::INPUT_POST); + $selected = rcube_utils::get_input_value('_from', rcube_utils::INPUT_POST); + + // filter set name input + $input_name = new html_inputfield(array('name' => '_name', 'id' => '_name', 'size' => 30, + 'class' => ($this->errors['name'] ? 'error' : ''))); + + $out .= sprintf('<label for="%s"><b>%s:</b></label> %s<br /><br />', + '_name', rcube::Q($this->plugin->gettext('filtersetname')), $input_name->show($name)); + + $out .="\n<fieldset class=\"itemlist\"><legend>" . $this->plugin->gettext('filters') . ":</legend>\n"; + $out .= '<input type="radio" id="from_none" name="_from" value="none"' + .(!$selected || $selected=='none' ? ' checked="checked"' : '').'></input>'; + $out .= sprintf('<label for="%s">%s</label> ', 'from_none', rcube::Q($this->plugin->gettext('none'))); + + // filters set list + $list = $this->list_scripts(); + $select = new html_select(array('name' => '_copy', 'id' => '_copy')); + + if (is_array($list)) { + asort($list, SORT_LOCALE_STRING); + + if (!$copy) + $copy = $_SESSION['managesieve_current']; + + foreach ($list as $set) { + $select->add($set, $set); + } + + $out .= '<br /><input type="radio" id="from_set" name="_from" value="set"' + .($selected=='set' ? ' checked="checked"' : '').'></input>'; + $out .= sprintf('<label for="%s">%s:</label> ', 'from_set', rcube::Q($this->plugin->gettext('fromset'))); + $out .= $select->show($copy); + } + + // script upload box + $upload = new html_inputfield(array('name' => '_file', 'id' => '_file', 'size' => 30, + 'type' => 'file', 'class' => ($this->errors['file'] ? 'error' : ''))); + + $out .= '<br /><input type="radio" id="from_file" name="_from" value="file"' + .($selected=='file' ? ' checked="checked"' : '').'></input>'; + $out .= sprintf('<label for="%s">%s:</label> ', 'from_file', rcube::Q($this->plugin->gettext('fromfile'))); + $out .= $upload->show(); + $out .= '</fieldset>'; + + $this->rc->output->add_gui_object('sieveform', 'filtersetform'); + + if ($this->errors['name']) + $this->add_tip('_name', $this->errors['name'], true); + if ($this->errors['file']) + $this->add_tip('_file', $this->errors['file'], true); + + $this->print_tips(); + + return $out; + } + + + function filter_form($attrib) + { + if (!$attrib['id']) + $attrib['id'] = 'rcmfilterform'; + + $fid = rcube_utils::get_input_value('_fid', rcube_utils::INPUT_GPC); + $scr = isset($this->form) ? $this->form : $this->script[$fid]; + + $hiddenfields = new html_hiddenfield(array('name' => '_task', 'value' => $this->rc->task)); + $hiddenfields->add(array('name' => '_action', 'value' => 'plugin.managesieve-save')); + $hiddenfields->add(array('name' => '_framed', 'value' => ($_POST['_framed'] || $_GET['_framed'] ? 1 : 0))); + $hiddenfields->add(array('name' => '_fid', 'value' => $fid)); + + $out = '<form name="filterform" action="./" method="post">'."\n"; + $out .= $hiddenfields->show(); + + // 'any' flag + if ((!isset($this->form) && empty($scr['tests']) && !empty($scr)) + || (sizeof($scr['tests']) == 1 && $scr['tests'][0]['test'] == 'true' && !$scr['tests'][0]['not']) + ) { + $any = true; + } + + // filter name input + $field_id = '_name'; + $input_name = new html_inputfield(array('name' => '_name', 'id' => $field_id, 'size' => 30, + 'class' => ($this->errors['name'] ? 'error' : ''))); + + if ($this->errors['name']) + $this->add_tip($field_id, $this->errors['name'], true); + + if (isset($scr)) + $input_name = $input_name->show($scr['name']); + else + $input_name = $input_name->show(); + + $out .= sprintf("\n<label for=\"%s\"><b>%s:</b></label> %s\n", + $field_id, rcube::Q($this->plugin->gettext('filtername')), $input_name); + + // filter set selector + if ($this->rc->task == 'mail') { + $out .= sprintf("\n <label for=\"%s\"><b>%s:</b></label> %s\n", + $field_id, rcube::Q($this->plugin->gettext('filterset')), + $this->filtersets_list(array('id' => 'sievescriptname'), true)); + } + + $out .= '<br /><br /><fieldset><legend>' . rcube::Q($this->plugin->gettext('messagesrules')) . "</legend>\n"; + + // any, allof, anyof radio buttons + $field_id = '_allof'; + $input_join = new html_radiobutton(array('name' => '_join', 'id' => $field_id, 'value' => 'allof', + 'onclick' => 'rule_join_radio(\'allof\')', 'class' => 'radio')); + + if (isset($scr) && !$any) + $input_join = $input_join->show($scr['join'] ? 'allof' : ''); + else + $input_join = $input_join->show(); + + $out .= sprintf("%s<label for=\"%s\">%s</label> \n", + $input_join, $field_id, rcube::Q($this->plugin->gettext('filterallof'))); + + $field_id = '_anyof'; + $input_join = new html_radiobutton(array('name' => '_join', 'id' => $field_id, 'value' => 'anyof', + 'onclick' => 'rule_join_radio(\'anyof\')', 'class' => 'radio')); + + if (isset($scr) && !$any) + $input_join = $input_join->show($scr['join'] ? '' : 'anyof'); + else + $input_join = $input_join->show('anyof'); // default + + $out .= sprintf("%s<label for=\"%s\">%s</label>\n", + $input_join, $field_id, rcube::Q($this->plugin->gettext('filteranyof'))); + + $field_id = '_any'; + $input_join = new html_radiobutton(array('name' => '_join', 'id' => $field_id, 'value' => 'any', + 'onclick' => 'rule_join_radio(\'any\')', 'class' => 'radio')); + + $input_join = $input_join->show($any ? 'any' : ''); + + $out .= sprintf("%s<label for=\"%s\">%s</label>\n", + $input_join, $field_id, rcube::Q($this->plugin->gettext('filterany'))); + + $rows_num = !empty($scr['tests']) ? sizeof($scr['tests']) : 1; + + $out .= '<div id="rules"'.($any ? ' style="display: none"' : '').'>'; + for ($x=0; $x<$rows_num; $x++) + $out .= $this->rule_div($fid, $x); + $out .= "</div>\n"; + + $out .= "</fieldset>\n"; + + // actions + $out .= '<fieldset><legend>' . rcube::Q($this->plugin->gettext('messagesactions')) . "</legend>\n"; + + $rows_num = isset($scr) ? sizeof($scr['actions']) : 1; + + $out .= '<div id="actions">'; + for ($x=0; $x<$rows_num; $x++) + $out .= $this->action_div($fid, $x); + $out .= "</div>\n"; + + $out .= "</fieldset>\n"; + + $this->print_tips(); + + if ($scr['disabled']) { + $this->rc->output->set_env('rule_disabled', true); + } + $this->rc->output->add_label( + 'managesieve.ruledeleteconfirm', + 'managesieve.actiondeleteconfirm' + ); + $this->rc->output->add_gui_object('sieveform', 'filterform'); + + return $out; + } + + function rule_div($fid, $id, $div=true) + { + $rule = isset($this->form) ? $this->form['tests'][$id] : $this->script[$fid]['tests'][$id]; + $rows_num = isset($this->form) ? sizeof($this->form['tests']) : sizeof($this->script[$fid]['tests']); + + // headers select + $select_header = new html_select(array('name' => "_header[]", 'id' => 'header'.$id, + 'onchange' => 'rule_header_select(' .$id .')')); + + foreach ($this->headers as $index => $header) { + $header = $this->rc->text_exists($index) ? $this->plugin->gettext($index) : $header; + $select_header->add($header, $index); + } + $select_header->add($this->plugin->gettext('...'), '...'); + if (in_array('body', $this->exts)) + $select_header->add($this->plugin->gettext('body'), 'body'); + $select_header->add($this->plugin->gettext('size'), 'size'); + if (in_array('date', $this->exts)) { + $select_header->add($this->plugin->gettext('datetest'), 'date'); + $select_header->add($this->plugin->gettext('currdate'), 'currentdate'); + } + + if (isset($rule['test'])) { + if (in_array($rule['test'], array('header', 'address', 'envelope'))) { + if (is_array($rule['arg1']) && count($rule['arg1']) == 1) { + $rule['arg1'] = $rule['arg1'][0]; + } + + $matches = ($header = strtolower($rule['arg1'])) && isset($this->headers[$header]); + $test = $matches ? $header : '...'; + } + else if ($rule['test'] == 'exists') { + if (is_array($rule['arg']) && count($rule['arg']) == 1) { + $rule['arg'] = $rule['arg'][0]; + } + + $matches = ($header = strtolower($rule['arg'])) && isset($this->headers[$header]); + $test = $matches ? $header : '...'; + } + else if (in_array($rule['test'], array('size', 'body', 'date', 'currentdate'))) { + $test = $rule['test']; + } + else if ($rule['test'] != 'true') { + $test = '...'; + } + } + + $aout = $select_header->show($test); + + // custom headers input + if (isset($rule['test']) && in_array($rule['test'], array('header', 'address', 'envelope'))) { + $custom = (array) $rule['arg1']; + if (count($custom) == 1 && isset($this->headers[strtolower($custom[0])])) { + unset($custom); + } + } + else if (isset($rule['test']) && $rule['test'] == 'exists') { + $custom = (array) $rule['arg']; + if (count($custom) == 1 && isset($this->headers[strtolower($custom[0])])) { + unset($custom); + } + } + + $tout = $this->list_input($id, 'custom_header', $custom, isset($custom), + $this->error_class($id, 'test', 'header', 'custom_header'), 15) . "\n"; + + // matching type select (operator) + $select_op = new html_select(array('name' => "_rule_op[]", 'id' => 'rule_op'.$id, + 'style' => 'display:' .($rule['test']!='size' ? 'inline' : 'none'), + 'class' => 'operator_selector', + 'onchange' => 'rule_op_select(this, '.$id.')')); + $select_op->add(rcube::Q($this->plugin->gettext('filtercontains')), 'contains'); + $select_op->add(rcube::Q($this->plugin->gettext('filternotcontains')), 'notcontains'); + $select_op->add(rcube::Q($this->plugin->gettext('filteris')), 'is'); + $select_op->add(rcube::Q($this->plugin->gettext('filterisnot')), 'notis'); + $select_op->add(rcube::Q($this->plugin->gettext('filterexists')), 'exists'); + $select_op->add(rcube::Q($this->plugin->gettext('filternotexists')), 'notexists'); + $select_op->add(rcube::Q($this->plugin->gettext('filtermatches')), 'matches'); + $select_op->add(rcube::Q($this->plugin->gettext('filternotmatches')), 'notmatches'); + if (in_array('regex', $this->exts)) { + $select_op->add(rcube::Q($this->plugin->gettext('filterregex')), 'regex'); + $select_op->add(rcube::Q($this->plugin->gettext('filternotregex')), 'notregex'); + } + if (in_array('relational', $this->exts)) { + $select_op->add(rcube::Q($this->plugin->gettext('countisgreaterthan')), 'count-gt'); + $select_op->add(rcube::Q($this->plugin->gettext('countisgreaterthanequal')), 'count-ge'); + $select_op->add(rcube::Q($this->plugin->gettext('countislessthan')), 'count-lt'); + $select_op->add(rcube::Q($this->plugin->gettext('countislessthanequal')), 'count-le'); + $select_op->add(rcube::Q($this->plugin->gettext('countequals')), 'count-eq'); + $select_op->add(rcube::Q($this->plugin->gettext('countnotequals')), 'count-ne'); + $select_op->add(rcube::Q($this->plugin->gettext('valueisgreaterthan')), 'value-gt'); + $select_op->add(rcube::Q($this->plugin->gettext('valueisgreaterthanequal')), 'value-ge'); + $select_op->add(rcube::Q($this->plugin->gettext('valueislessthan')), 'value-lt'); + $select_op->add(rcube::Q($this->plugin->gettext('valueislessthanequal')), 'value-le'); + $select_op->add(rcube::Q($this->plugin->gettext('valueequals')), 'value-eq'); + $select_op->add(rcube::Q($this->plugin->gettext('valuenotequals')), 'value-ne'); + } + + $test = self::rule_test($rule); + $target = ''; + + // target(s) input + if (in_array($rule['test'], array('header', 'address', 'envelope'))) { + $target = $rule['arg2']; + } + else if (in_array($rule['test'], array('body', 'date', 'currentdate'))) { + $target = $rule['arg']; + } + else if ($rule['test'] == 'size') { + if (preg_match('/^([0-9]+)(K|M|G)?$/', $rule['arg'], $matches)) { + $sizetarget = $matches[1]; + $sizeitem = $matches[2]; + } + else { + $sizetarget = $rule['arg']; + $sizeitem = $rule['item']; + } + } + + // (current)date part select + if (in_array('date', $this->exts) || in_array('currentdate', $this->exts)) { + $date_parts = array('date', 'iso8601', 'std11', 'julian', 'time', + 'year', 'month', 'day', 'hour', 'minute', 'second', 'weekday', 'zone'); + $select_dp = new html_select(array('name' => "_rule_date_part[]", 'id' => 'rule_date_part'.$id, + 'style' => in_array($rule['test'], array('currentdate', 'date')) && !preg_match('/^(notcount|count)-/', $test) ? '' : 'display:none', + 'class' => 'datepart_selector', + )); + + foreach ($date_parts as $part) { + $select_dp->add(rcube::Q($this->plugin->gettext($part)), $part); + } + + $tout .= $select_dp->show($rule['test'] == 'currentdate' || $rule['test'] == 'date' ? $rule['part'] : ''); + } + + $tout .= $select_op->show($test); + $tout .= $this->list_input($id, 'rule_target', $target, + $rule['test'] != 'size' && $rule['test'] != 'exists', + $this->error_class($id, 'test', 'target', 'rule_target')) . "\n"; + + $select_size_op = new html_select(array('name' => "_rule_size_op[]", 'id' => 'rule_size_op'.$id)); + $select_size_op->add(rcube::Q($this->plugin->gettext('filterover')), 'over'); + $select_size_op->add(rcube::Q($this->plugin->gettext('filterunder')), 'under'); + + $tout .= '<div id="rule_size' .$id. '" style="display:' . ($rule['test']=='size' ? 'inline' : 'none') .'">'; + $tout .= $select_size_op->show($rule['test']=='size' ? $rule['type'] : ''); + $tout .= '<input type="text" name="_rule_size_target[]" id="rule_size_i'.$id.'" value="'.$sizetarget.'" size="10" ' + . $this->error_class($id, 'test', 'sizetarget', 'rule_size_i') .' /> + <label><input type="radio" name="_rule_size_item['.$id.']" value=""' + . (!$sizeitem ? ' checked="checked"' : '') .' class="radio" />'.$this->rc->gettext('B').'</label> + <label><input type="radio" name="_rule_size_item['.$id.']" value="K"' + . ($sizeitem=='K' ? ' checked="checked"' : '') .' class="radio" />'.$this->rc->gettext('KB').'</label> + <label><input type="radio" name="_rule_size_item['.$id.']" value="M"' + . ($sizeitem=='M' ? ' checked="checked"' : '') .' class="radio" />'.$this->rc->gettext('MB').'</label> + <label><input type="radio" name="_rule_size_item['.$id.']" value="G"' + . ($sizeitem=='G' ? ' checked="checked"' : '') .' class="radio" />'.$this->rc->gettext('GB').'</label>'; + $tout .= '</div>'; + + // Advanced modifiers (address, envelope) + $select_mod = new html_select(array('name' => "_rule_mod[]", 'id' => 'rule_mod_op'.$id, + 'onchange' => 'rule_mod_select(' .$id .')')); + $select_mod->add(rcube::Q($this->plugin->gettext('none')), ''); + $select_mod->add(rcube::Q($this->plugin->gettext('address')), 'address'); + if (in_array('envelope', $this->exts)) + $select_mod->add(rcube::Q($this->plugin->gettext('envelope')), 'envelope'); + + $select_type = new html_select(array('name' => "_rule_mod_type[]", 'id' => 'rule_mod_type'.$id)); + $select_type->add(rcube::Q($this->plugin->gettext('allparts')), 'all'); + $select_type->add(rcube::Q($this->plugin->gettext('domain')), 'domain'); + $select_type->add(rcube::Q($this->plugin->gettext('localpart')), 'localpart'); + if (in_array('subaddress', $this->exts)) { + $select_type->add(rcube::Q($this->plugin->gettext('user')), 'user'); + $select_type->add(rcube::Q($this->plugin->gettext('detail')), 'detail'); + } + + $need_mod = !in_array($rule['test'], array('size', 'body', 'date', 'currentdate')); + $mout = '<div id="rule_mod' .$id. '" class="adv"' . (!$need_mod ? ' style="display:none"' : '') . '>'; + $mout .= ' <span class="label">' . rcube::Q($this->plugin->gettext('modifier')) . ' </span>'; + $mout .= $select_mod->show($rule['test']); + $mout .= ' <span id="rule_mod_type' . $id . '"'; + $mout .= ' style="display:' . (in_array($rule['test'], array('address', 'envelope')) ? 'inline' : 'none') .'">'; + $mout .= rcube::Q($this->plugin->gettext('modtype')) . ' '; + $mout .= $select_type->show($rule['part']); + $mout .= '</span>'; + $mout .= '</div>'; + + // Advanced modifiers (body transformations) + $select_mod = new html_select(array('name' => "_rule_trans[]", 'id' => 'rule_trans_op'.$id, + 'onchange' => 'rule_trans_select(' .$id .')')); + $select_mod->add(rcube::Q($this->plugin->gettext('text')), 'text'); + $select_mod->add(rcube::Q($this->plugin->gettext('undecoded')), 'raw'); + $select_mod->add(rcube::Q($this->plugin->gettext('contenttype')), 'content'); + + $mout .= '<div id="rule_trans' .$id. '" class="adv"' . ($rule['test'] != 'body' ? ' style="display:none"' : '') . '>'; + $mout .= '<span class="label">' . rcube::Q($this->plugin->gettext('modifier')) . '</span>'; + $mout .= $select_mod->show($rule['part']); + $mout .= '<input type="text" name="_rule_trans_type[]" id="rule_trans_type'.$id + . '" value="'.(is_array($rule['content']) ? implode(',', $rule['content']) : $rule['content']) + .'" size="20"' . ($rule['part'] != 'content' ? ' style="display:none"' : '') + . $this->error_class($id, 'test', 'part', 'rule_trans_type') .' />'; + $mout .= '</div>'; + + // Advanced modifiers (body transformations) + $select_comp = new html_select(array('name' => "_rule_comp[]", 'id' => 'rule_comp_op'.$id)); + $select_comp->add(rcube::Q($this->plugin->gettext('default')), ''); + $select_comp->add(rcube::Q($this->plugin->gettext('octet')), 'i;octet'); + $select_comp->add(rcube::Q($this->plugin->gettext('asciicasemap')), 'i;ascii-casemap'); + if (in_array('comparator-i;ascii-numeric', $this->exts)) { + $select_comp->add(rcube::Q($this->plugin->gettext('asciinumeric')), 'i;ascii-numeric'); + } + + // Comparators + $mout .= '<div id="rule_comp' .$id. '" class="adv"' . ($rule['test'] == 'size' ? ' style="display:none"' : '') . '>'; + $mout .= '<span class="label">' . rcube::Q($this->plugin->gettext('comparator')) . '</span>'; + $mout .= $select_comp->show($rule['comparator']); + $mout .= '</div>'; + + // Date header + if (in_array('date', $this->exts)) { + $mout .= '<div id="rule_date_header_div' .$id. '" class="adv"'. ($rule['test'] != 'date' ? ' style="display:none"' : '') .'>'; + $mout .= '<span class="label">' . rcube::Q($this->plugin->gettext('dateheader')) . '</span>'; + $mout .= '<input type="text" name="_rule_date_header[]" id="rule_date_header'.$id + . '" value="'. Q($rule['test'] == 'date' ? $rule['header'] : '') + . '" size="15"' . $this->error_class($id, 'test', 'dateheader', 'rule_date_header') .' />'; + $mout .= '</div>'; + } + + // Index + if (in_array('index', $this->exts)) { + $need_index = in_array($rule['test'], array('header', ', address', 'date')); + $mout .= '<div id="rule_index_div' .$id. '" class="adv"'. (!$need_index ? ' style="display:none"' : '') .'>'; + $mout .= '<span class="label">' . rcube::Q($this->plugin->gettext('index')) . '</span>'; + $mout .= '<input type="text" name="_rule_index[]" id="rule_index'.$id + . '" value="'. ($rule['index'] ? intval($rule['index']) : '') + . '" size="3"' . $this->error_class($id, 'test', 'index', 'rule_index') .' />'; + $mout .= ' <input type="checkbox" name="_rule_index_last[]" id="rule_index_last'.$id + . '" value="1"' . (!empty($rule['last']) ? ' checked="checked"' : '') . ' />' + . '<label for="rule_index_last'.$id.'">'.rcube::Q($this->plugin->gettext('indexlast')).'</label>'; + $mout .= '</div>'; + } + + // Build output table + $out = $div ? '<div class="rulerow" id="rulerow' .$id .'">'."\n" : ''; + $out .= '<table><tr>'; + $out .= '<td class="advbutton">'; + $out .= '<a href="#" id="ruleadv' . $id .'" title="'. rcube::Q($this->plugin->gettext('advancedopts')). '" + onclick="rule_adv_switch(' . $id .', this)" class="show"> </a>'; + $out .= '</td>'; + $out .= '<td class="rowactions">' . $aout . '</td>'; + $out .= '<td class="rowtargets">' . $tout . "\n"; + $out .= '<div id="rule_advanced' .$id. '" style="display:none">' . $mout . '</div>'; + $out .= '</td>'; + + // add/del buttons + $out .= '<td class="rowbuttons">'; + $out .= '<a href="#" id="ruleadd' . $id .'" title="'. rcube::Q($this->plugin->gettext('add')). '" + onclick="rcmail.managesieve_ruleadd(' . $id .')" class="button add"></a>'; + $out .= '<a href="#" id="ruledel' . $id .'" title="'. rcube::Q($this->plugin->gettext('del')). '" + onclick="rcmail.managesieve_ruledel(' . $id .')" class="button del' . ($rows_num<2 ? ' disabled' : '') .'"></a>'; + $out .= '</td>'; + $out .= '</tr></table>'; + + $out .= $div ? "</div>\n" : ''; + + return $out; + } + + private static function rule_test(&$rule) + { + // first modify value/count tests with 'not' keyword + // we'll revert the meaning of operators + if ($rule['not'] && preg_match('/^(count|value)-([gteqnl]{2})/', $rule['type'], $m)) { + $rule['not'] = false; + + switch ($m[2]) { + case 'gt': $rule['type'] = $m[1] . '-le'; break; + case 'ge': $rule['type'] = $m[1] . '-lt'; break; + case 'lt': $rule['type'] = $m[1] . '-ge'; break; + case 'le': $rule['type'] = $m[1] . '-gt'; break; + case 'eq': $rule['type'] = $m[1] . '-ne'; break; + case 'ne': $rule['type'] = $m[1] . '-eq'; break; + } + } + else if ($rule['not'] && $rule['test'] == 'size') { + $rule['not'] = false; + $rule['type'] = $rule['type'] == 'over' ? 'under' : 'over'; + } + + $set = array('header', 'address', 'envelope', 'body', 'date', 'currentdate'); + + // build test string supported by select element + if ($rule['size']) { + $test = $rule['type']; + } + else if (in_array($rule['test'], $set)) { + $test = ($rule['not'] ? 'not' : '') . ($rule['type'] ? $rule['type'] : 'is'); + } + else { + $test = ($rule['not'] ? 'not' : '') . $rule['test']; + } + + return $test; + } + + function action_div($fid, $id, $div=true) + { + $action = isset($this->form) ? $this->form['actions'][$id] : $this->script[$fid]['actions'][$id]; + $rows_num = isset($this->form) ? sizeof($this->form['actions']) : sizeof($this->script[$fid]['actions']); + + $out = $div ? '<div class="actionrow" id="actionrow' .$id .'">'."\n" : ''; + + $out .= '<table><tr><td class="rowactions">'; + + // action select + $select_action = new html_select(array('name' => "_action_type[$id]", 'id' => 'action_type'.$id, + 'onchange' => 'action_type_select(' .$id .')')); + if (in_array('fileinto', $this->exts)) + $select_action->add(rcube::Q($this->plugin->gettext('messagemoveto')), 'fileinto'); + if (in_array('fileinto', $this->exts) && in_array('copy', $this->exts)) + $select_action->add(rcube::Q($this->plugin->gettext('messagecopyto')), 'fileinto_copy'); + $select_action->add(rcube::Q($this->plugin->gettext('messageredirect')), 'redirect'); + if (in_array('copy', $this->exts)) + $select_action->add(rcube::Q($this->plugin->gettext('messagesendcopy')), 'redirect_copy'); + if (in_array('reject', $this->exts)) + $select_action->add(rcube::Q($this->plugin->gettext('messagediscard')), 'reject'); + else if (in_array('ereject', $this->exts)) + $select_action->add(rcube::Q($this->plugin->gettext('messagediscard')), 'ereject'); + if (in_array('vacation', $this->exts)) + $select_action->add(rcube::Q($this->plugin->gettext('messagereply')), 'vacation'); + $select_action->add(rcube::Q($this->plugin->gettext('messagedelete')), 'discard'); + if (in_array('imapflags', $this->exts) || in_array('imap4flags', $this->exts)) { + $select_action->add(rcube::Q($this->plugin->gettext('setflags')), 'setflag'); + $select_action->add(rcube::Q($this->plugin->gettext('addflags')), 'addflag'); + $select_action->add(rcube::Q($this->plugin->gettext('removeflags')), 'removeflag'); + } + if (in_array('variables', $this->exts)) { + $select_action->add(rcube::Q($this->plugin->gettext('setvariable')), 'set'); + } + if (in_array('enotify', $this->exts) || in_array('notify', $this->exts)) { + $select_action->add(rcube::Q($this->plugin->gettext('notify')), 'notify'); + } + $select_action->add(rcube::Q($this->plugin->gettext('messagekeep')), 'keep'); + $select_action->add(rcube::Q($this->plugin->gettext('rulestop')), 'stop'); + + $select_type = $action['type']; + if (in_array($action['type'], array('fileinto', 'redirect')) && $action['copy']) { + $select_type .= '_copy'; + } + + $out .= $select_action->show($select_type); + $out .= '</td>'; + + // actions target inputs + $out .= '<td class="rowtargets">'; + + // force domain selection in redirect email input + $domains = (array) $this->rc->config->get('managesieve_domains'); + if (!empty($domains)) { + sort($domains); + + $domain_select = new html_select(array('name' => "_action_target_domain[$id]", 'id' => 'action_target_domain'.$id)); + $domain_select->add(array_combine($domains, $domains)); + + if ($action['type'] == 'redirect') { + $parts = explode('@', $action['target']); + if (!empty($parts)) { + $action['domain'] = array_pop($parts); + $action['target'] = implode('@', $parts); + } + } + } + + // redirect target + $out .= '<span id="redirect_target' . $id . '" style="white-space:nowrap;' + . ' display:' . ($action['type'] == 'redirect' ? 'inline' : 'none') . '">' + . '<input type="text" name="_action_target['.$id.']" id="action_target' .$id. '"' + . ' value="' .($action['type'] == 'redirect' ? rcube::Q($action['target'], 'strict', false) : '') . '"' + . (!empty($domains) ? ' size="20"' : ' size="35"') + . $this->error_class($id, 'action', 'target', 'action_target') .' />' + . (!empty($domains) ? ' @ ' . $domain_select->show($action['domain']) : '') + . '</span>'; + + // (e)reject target + $out .= '<textarea name="_action_target_area['.$id.']" id="action_target_area' .$id. '" ' + .'rows="3" cols="35" '. $this->error_class($id, 'action', 'targetarea', 'action_target_area') + .'style="display:' .(in_array($action['type'], array('reject', 'ereject')) ? 'inline' : 'none') .'">' + . (in_array($action['type'], array('reject', 'ereject')) ? rcube::Q($action['target'], 'strict', false) : '') + . "</textarea>\n"; + + // vacation + $vsec = in_array('vacation-seconds', $this->exts); + $auto_addr = $this->rc->config->get('managesieve_vacation_addresses_init'); + $addresses = isset($action['addresses']) || !$auto_addr ? (array) $action['addresses'] : $this->user_emails(); + + $out .= '<div id="action_vacation' .$id.'" style="display:' .($action['type']=='vacation' ? 'inline' : 'none') .'">'; + $out .= '<span class="label">'. rcube::Q($this->plugin->gettext('vacationreason')) .'</span><br />' + .'<textarea name="_action_reason['.$id.']" id="action_reason' .$id. '" ' + .'rows="3" cols="35" '. $this->error_class($id, 'action', 'reason', 'action_reason') . '>' + . Q($action['reason'], 'strict', false) . "</textarea>\n"; + $out .= '<br /><span class="label">' .rcube::Q($this->plugin->gettext('vacationsubject')) . '</span><br />' + .'<input type="text" name="_action_subject['.$id.']" id="action_subject'.$id.'" ' + .'value="' . (is_array($action['subject']) ? rcube::Q(implode(', ', $action['subject']), 'strict', false) : $action['subject']) . '" size="35" ' + . $this->error_class($id, 'action', 'subject', 'action_subject') .' />'; + $out .= '<br /><span class="label">' .rcube::Q($this->plugin->gettext('vacationaddr')) . '</span><br />' + . $this->list_input($id, 'action_addresses', $addresses, true, + $this->error_class($id, 'action', 'addresses', 'action_addresses'), 30) + . html::a(array('href' => '#', 'onclick' => rcmail_output::JS_OBJECT_NAME . ".managesieve_vacation_addresses($id)"), + rcube::Q($this->plugin->gettext('filladdresses'))); + $out .= '<br /><span class="label">' . rcube::Q($this->plugin->gettext($vsec ? 'vacationinterval' : 'vacationdays')) . '</span><br />' + .'<input type="text" name="_action_interval['.$id.']" id="action_interval'.$id.'" ' + .'value="' .rcube::Q(rcube_sieve_vacation::vacation_interval($action), 'strict', false) . '" size="2" ' + . $this->error_class($id, 'action', 'interval', 'action_interval') .' />'; + if ($vsec) { + $out .= ' <label><input type="radio" name="_action_interval_type['.$id.']" value="days"' + . (!isset($action['seconds']) ? ' checked="checked"' : '') .' class="radio" />'.$this->plugin->gettext('days').'</label>' + . ' <label><input type="radio" name="_action_interval_type['.$id.']" value="seconds"' + . (isset($action['seconds']) ? ' checked="checked"' : '') .' class="radio" />'.$this->plugin->gettext('seconds').'</label>'; + } + $out .= '</div>'; + + // flags + $flags = array( + 'read' => '\\Seen', + 'answered' => '\\Answered', + 'flagged' => '\\Flagged', + 'deleted' => '\\Deleted', + 'draft' => '\\Draft', + ); + $flags_target = (array)$action['target']; + + $out .= '<div id="action_flags' .$id.'" style="display:' + . (preg_match('/^(set|add|remove)flag$/', $action['type']) ? 'inline' : 'none') . '"' + . $this->error_class($id, 'action', 'flags', 'action_flags') . '>'; + foreach ($flags as $fidx => $flag) { + $out .= '<input type="checkbox" name="_action_flags[' .$id .'][]" value="' . $flag . '"' + . (in_array_nocase($flag, $flags_target) ? 'checked="checked"' : '') . ' />' + . rcube::Q($this->plugin->gettext('flag'.$fidx)) .'<br>'; + } + $out .= '</div>'; + + // set variable + $set_modifiers = array( + 'lower', + 'upper', + 'lowerfirst', + 'upperfirst', + 'quotewildcard', + 'length' + ); + + $out .= '<div id="action_set' .$id.'" style="display:' .($action['type']=='set' ? 'inline' : 'none') .'">'; + $out .= '<span class="label">' .rcube::Q($this->plugin->gettext('setvarname')) . '</span><br />' + .'<input type="text" name="_action_varname['.$id.']" id="action_varname'.$id.'" ' + .'value="' . rcube::Q($action['name']) . '" size="35" ' + . $this->error_class($id, 'action', 'name', 'action_varname') .' />'; + $out .= '<br /><span class="label">' .rcube::Q($this->plugin->gettext('setvarvalue')) . '</span><br />' + .'<input type="text" name="_action_varvalue['.$id.']" id="action_varvalue'.$id.'" ' + .'value="' . rcube::Q($action['value']) . '" size="35" ' + . $this->error_class($id, 'action', 'value', 'action_varvalue') .' />'; + $out .= '<br /><span class="label">' .rcube::Q($this->plugin->gettext('setvarmodifiers')) . '</span><br />'; + foreach ($set_modifiers as $s_m) { + $s_m_id = 'action_varmods' . $id . $s_m; + $out .= sprintf('<input type="checkbox" name="_action_varmods[%s][]" value="%s" id="%s"%s />%s<br>', + $id, $s_m, $s_m_id, + (array_key_exists($s_m, (array)$action) && $action[$s_m] ? ' checked="checked"' : ''), + rcube::Q($this->plugin->gettext('var' . $s_m))); + } + $out .= '</div>'; + + // notify + $notify_methods = (array) $this->rc->config->get('managesieve_notify_methods'); + $importance_options = $this->notify_importance_options; + + if (empty($notify_methods)) { + $notify_methods = $this->notify_methods; + } + + list($method, $target) = explode(':', $action['method'], 2); + $method = strtolower($method); + + if ($method && !in_array($method, $notify_methods)) { + $notify_methods[] = $method; + } + + $select_method = new html_select(array( + 'name' => "_action_notifymethod[$id]", + 'id' => "_action_notifymethod$id", + 'class' => $this->error_class($id, 'action', 'method', 'action_notifymethod'), + )); + foreach ($notify_methods as $m_n) { + $select_method->add(rcube::Q($this->rc->text_exists('managesieve.notifymethod'.$m_n) ? $this->plugin->gettext('managesieve.notifymethod'.$m_n) : $m_n), $m_n); + } + + $select_importance = new html_select(array( + 'name' => "_action_notifyimportance[$id]", + 'id' => "_action_notifyimportance$id", + 'class' => $this->error_class($id, 'action', 'importance', 'action_notifyimportance') + )); + foreach ($importance_options as $io_v => $io_n) { + $select_importance->add(rcube::Q($this->plugin->gettext($io_n)), $io_v); + } + + // @TODO: nice UI for mailto: (other methods too) URI parameters + $out .= '<div id="action_notify' .$id.'" style="display:' .($action['type'] == 'notify' ? 'inline' : 'none') .'">'; + $out .= '<span class="label">' .rcube::Q($this->plugin->gettext('notifytarget')) . '</span><br />' + . $select_method->show($method) + .'<input type="text" name="_action_notifytarget['.$id.']" id="action_notifytarget'.$id.'" ' + .'value="' . rcube::Q($target) . '" size="25" ' + . $this->error_class($id, 'action', 'target', 'action_notifytarget') .' />'; + $out .= '<br /><span class="label">'. rcube::Q($this->plugin->gettext('notifymessage')) .'</span><br />' + .'<textarea name="_action_notifymessage['.$id.']" id="action_notifymessage' .$id. '" ' + .'rows="3" cols="35" '. $this->error_class($id, 'action', 'message', 'action_notifymessage') . '>' + . rcube::Q($action['message'], 'strict', false) . "</textarea>\n"; + if (in_array('enotify', $this->exts)) { + $out .= '<br /><span class="label">' .rcube::Q($this->plugin->gettext('notifyfrom')) . '</span><br />' + .'<input type="text" name="_action_notifyfrom['.$id.']" id="action_notifyfrom'.$id.'" ' + .'value="' . rcube::Q($action['from']) . '" size="35" ' + . $this->error_class($id, 'action', 'from', 'action_notifyfrom') .' />'; + } + $out .= '<br /><span class="label">' . rcube::Q($this->plugin->gettext('notifyimportance')) . '</span><br />'; + $out .= $select_importance->show($action['importance'] ? (int) $action['importance'] : 2); + $out .= '<div id="action_notifyoption_div' . $id . '">' + .'<span class="label">' . rcube::Q($this->plugin->gettext('notifyoptions')) . '</span><br />' + .$this->list_input($id, 'action_notifyoption', (array)$action['options'], true, + $this->error_class($id, 'action', 'options', 'action_notifyoption'), 30) . '</div>'; + $out .= '</div>'; + + // mailbox select + if ($action['type'] == 'fileinto') { + $mailbox = $this->mod_mailbox($action['target'], 'out'); + // make sure non-existing (or unsubscribed) mailbox is listed (#1489956) + $additional = array($mailbox); + } + else { + $mailbox = ''; + } + + $select = $this->rc->folder_selector(array( + 'realnames' => false, + 'maxlength' => 100, + 'id' => 'action_mailbox' . $id, + 'name' => "_action_mailbox[$id]", + 'style' => 'display:'.(empty($action['type']) || $action['type'] == 'fileinto' ? 'inline' : 'none'), + 'additional' => $additional, + )); + $out .= $select->show($mailbox); + $out .= '</td>'; + + // add/del buttons + $out .= '<td class="rowbuttons">'; + $out .= '<a href="#" id="actionadd' . $id .'" title="'. rcube::Q($this->plugin->gettext('add')). '" + onclick="rcmail.managesieve_actionadd(' . $id .')" class="button add"></a>'; + $out .= '<a href="#" id="actiondel' . $id .'" title="'. rcube::Q($this->plugin->gettext('del')). '" + onclick="rcmail.managesieve_actiondel(' . $id .')" class="button del' . ($rows_num<2 ? ' disabled' : '') .'"></a>'; + $out .= '</td>'; + + $out .= '</tr></table>'; + + $out .= $div ? "</div>\n" : ''; + + return $out; + } + + protected function genid() + { + return preg_replace('/[^0-9]/', '', microtime(true)); + } + + protected function strip_value($str, $allow_html = false, $trim = true) + { + if (is_array($str)) { + foreach ($str as $idx => $val) { + $val = $this->strip_value($val, $allow_html, $trim); + + if ($val === '') { + unset($str[$idx]); + } + } + + return $str; + } + + if (!$allow_html) { + $str = strip_tags($str); + } + + return $trim ? trim($str) : $str; + } + + protected function error_class($id, $type, $target, $elem_prefix='') + { + // TODO: tooltips + if (($type == 'test' && ($str = $this->errors['tests'][$id][$target])) || + ($type == 'action' && ($str = $this->errors['actions'][$id][$target])) + ) { + $this->add_tip($elem_prefix.$id, $str, true); + return ' class="error"'; + } + + return ''; + } + + protected function add_tip($id, $str, $error=false) + { + if ($error) + $str = html::span('sieve error', $str); + + $this->tips[] = array($id, $str); + } + + protected function print_tips() + { + if (empty($this->tips)) + return; + + $script = rcmail_output::JS_OBJECT_NAME.'.managesieve_tip_register('.json_encode($this->tips).');'; + $this->rc->output->add_script($script, 'foot'); + } + + protected function list_input($id, $name, $value, $enabled, $class, $size=null) + { + $value = (array) $value; + $value = array_map(array('rcube', 'Q'), $value); + $value = implode("\n", $value); + + return '<textarea data-type="list" name="_' . $name . '['.$id.']" id="' . $name.$id . '"' + . ($enabled ? '' : ' disabled="disabled"') + . ($size ? ' data-size="'.$size.'"' : '') + . $class + . ' style="display:none">' . $value . '</textarea>'; + } + + /** + * Validate input for date part elements + */ + protected function validate_date_part($type, $value) + { + // we do simple validation of date/part format + switch ($type) { + case 'date': // yyyy-mm-dd + return preg_match('/^[0-9]{4}-[0-9]{2}-[0-9]{2}$/', $value); + case 'iso8601': + return preg_match('/^[0-9: .,ZWT+-]+$/', $value); + case 'std11': + return preg_match('/^((Sun|Mon|Tue|Wed|Thu|Fri|Sat),\s+)?[0-9]{1,2}\s+' + . '(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s+[0-9]{2,4}\s+' + . '[0-9]{2}:[0-9]{2}(:[0-9]{2})?\s+([+-]*[0-9]{4}|[A-Z]{1,3})$', $value); + case 'julian': + return preg_match('/^[0-9]+$/', $value); + case 'time': // hh:mm:ss + return preg_match('/^[0-9]{2}:[0-9]{2}:[0-9]{2}$/', $value); + case 'year': + return preg_match('/^[0-9]{4}$/', $value); + case 'month': + return preg_match('/^[0-9]{2}$/', $value) && $value > 0 && $value < 13; + case 'day': + return preg_match('/^[0-9]{2}$/', $value) && $value > 0 && $value < 32; + case 'hour': + return preg_match('/^[0-9]{2}$/', $value) && $value < 24; + case 'minute': + return preg_match('/^[0-9]{2}$/', $value) && $value < 60; + case 'second': + // According to RFC5260, seconds can be from 00 to 60 + return preg_match('/^[0-9]{2}$/', $value) && $value < 61; + case 'weekday': + return preg_match('/^[0-9]$/', $value) && $value < 7; + case 'zone': + return preg_match('/^[+-][0-9]{4}$/', $value); + } + } + + /** + * Converts mailbox name from/to UTF7-IMAP from/to internal Sieve encoding + * with delimiter replacement. + * + * @param string $mailbox Mailbox name + * @param string $mode Conversion direction ('in'|'out') + * + * @return string Mailbox name + */ + protected function mod_mailbox($mailbox, $mode = 'out') + { + $delimiter = $_SESSION['imap_delimiter']; + $replace_delimiter = $this->rc->config->get('managesieve_replace_delimiter'); + $mbox_encoding = $this->rc->config->get('managesieve_mbox_encoding', 'UTF7-IMAP'); + + if ($mode == 'out') { + $mailbox = rcube_charset::convert($mailbox, $mbox_encoding, 'UTF7-IMAP'); + if ($replace_delimiter && $replace_delimiter != $delimiter) + $mailbox = str_replace($replace_delimiter, $delimiter, $mailbox); + } + else { + $mailbox = rcube_charset::convert($mailbox, 'UTF7-IMAP', $mbox_encoding); + if ($replace_delimiter && $replace_delimiter != $delimiter) + $mailbox = str_replace($delimiter, $replace_delimiter, $mailbox); + } + + return $mailbox; + } + + /** + * List sieve scripts + * + * @return array Scripts list + */ + public function list_scripts() + { + if ($this->list !== null) { + return $this->list; + } + + $this->list = $this->sieve->get_scripts(); + + // Handle active script(s) and list of scripts according to Kolab's KEP:14 + if ($this->rc->config->get('managesieve_kolab_master')) { + // Skip protected names + foreach ((array)$this->list as $idx => $name) { + $_name = strtoupper($name); + if ($_name == 'MASTER') + $master_script = $name; + else if ($_name == 'MANAGEMENT') + $management_script = $name; + else if($_name == 'USER') + $user_script = $name; + else + continue; + + unset($this->list[$idx]); + } + + // get active script(s), read USER script + if ($user_script) { + $extension = $this->rc->config->get('managesieve_filename_extension', '.sieve'); + $filename_regex = '/'.preg_quote($extension, '/').'$/'; + $_SESSION['managesieve_user_script'] = $user_script; + + $this->sieve->load($user_script); + + foreach ($this->sieve->script->as_array() as $rules) { + foreach ($rules['actions'] as $action) { + if ($action['type'] == 'include' && empty($action['global'])) { + $name = preg_replace($filename_regex, '', $action['target']); + // make sure the script exist + if (in_array($name, $this->list)) { + $this->active[] = $name; + } + } + } + } + } + // create USER script if it doesn't exist + else { + $content = "# USER Management Script\n" + ."#\n" + ."# This script includes the various active sieve scripts\n" + ."# it is AUTOMATICALLY GENERATED. DO NOT EDIT MANUALLY!\n" + ."#\n" + ."# For more information, see http://wiki.kolab.org/KEP:14#USER\n" + ."#\n"; + if ($this->sieve->save_script('USER', $content)) { + $_SESSION['managesieve_user_script'] = 'USER'; + if (empty($this->master_file)) + $this->sieve->activate('USER'); + } + } + } + else if (!empty($this->list)) { + // Get active script name + if ($active = $this->sieve->get_active()) { + $this->active = array($active); + } + + // Hide scripts from config + $exceptions = $this->rc->config->get('managesieve_filename_exceptions'); + if (!empty($exceptions)) { + $this->list = array_diff($this->list, (array)$exceptions); + } + } + + // reindex + if (!empty($this->list)) { + $this->list = array_values($this->list); + } + + return $this->list; + } + + /** + * Removes sieve script + * + * @param string $name Script name + * + * @return bool True on success, False on failure + */ + public function remove_script($name) + { + $result = $this->sieve->remove($name); + + // Kolab's KEP:14 + if ($result && $this->rc->config->get('managesieve_kolab_master')) { + $this->deactivate_script($name); + } + + return $result; + } + + /** + * Activates sieve script + * + * @param string $name Script name + * + * @return bool True on success, False on failure + */ + public function activate_script($name) + { + // Kolab's KEP:14 + if ($this->rc->config->get('managesieve_kolab_master')) { + $extension = $this->rc->config->get('managesieve_filename_extension', '.sieve'); + $user_script = $_SESSION['managesieve_user_script']; + + // if the script is not active... + if ($user_script && array_search($name, $this->active) === false) { + // ...rewrite USER file adding appropriate include command + if ($this->sieve->load($user_script)) { + $script = $this->sieve->script->as_array(); + $list = array(); + $regexp = '/' . preg_quote($extension, '/') . '$/'; + + // Create new include entry + $rule = array( + 'actions' => array( + 0 => array( + 'target' => $name.$extension, + 'type' => 'include', + 'personal' => true, + ))); + + // get all active scripts for sorting + foreach ($script as $rid => $rules) { + foreach ($rules['actions'] as $action) { + if ($action['type'] == 'include' && empty($action['global'])) { + $target = $extension ? preg_replace($regexp, '', $action['target']) : $action['target']; + $list[] = $target; + } + } + } + $list[] = $name; + + // Sort and find current script position + asort($list, SORT_LOCALE_STRING); + $list = array_values($list); + $index = array_search($name, $list); + + // add rule at the end of the script + if ($index === false || $index == count($list)-1) { + $this->sieve->script->add_rule($rule); + } + // add rule at index position + else { + $script2 = array(); + foreach ($script as $rid => $rules) { + if ($rid == $index) { + $script2[] = $rule; + } + $script2[] = $rules; + } + $this->sieve->script->content = $script2; + } + + $result = $this->sieve->save(); + if ($result) { + $this->active[] = $name; + } + } + } + } + else { + $result = $this->sieve->activate($name); + if ($result) + $this->active = array($name); + } + + return $result; + } + + /** + * Deactivates sieve script + * + * @param string $name Script name + * + * @return bool True on success, False on failure + */ + public function deactivate_script($name) + { + // Kolab's KEP:14 + if ($this->rc->config->get('managesieve_kolab_master')) { + $extension = $this->rc->config->get('managesieve_filename_extension', '.sieve'); + $user_script = $_SESSION['managesieve_user_script']; + + // if the script is active... + if ($user_script && ($key = array_search($name, $this->active)) !== false) { + // ...rewrite USER file removing appropriate include command + if ($this->sieve->load($user_script)) { + $script = $this->sieve->script->as_array(); + $name = $name.$extension; + + foreach ($script as $rid => $rules) { + foreach ($rules['actions'] as $action) { + if ($action['type'] == 'include' && empty($action['global']) + && $action['target'] == $name + ) { + break 2; + } + } + } + + // Entry found + if ($rid < count($script)) { + $this->sieve->script->delete_rule($rid); + $result = $this->sieve->save(); + if ($result) { + unset($this->active[$key]); + } + } + } + } + } + else { + $result = $this->sieve->deactivate(); + if ($result) + $this->active = array(); + } + + return $result; + } + + /** + * Saves current script (adding some variables) + */ + public function save_script($name = null) + { + // Kolab's KEP:14 + if ($this->rc->config->get('managesieve_kolab_master')) { + $this->sieve->script->set_var('EDITOR', self::PROGNAME); + $this->sieve->script->set_var('EDITOR_VERSION', self::VERSION); + } + + return $this->sieve->save($name); + } + + /** + * Returns list of rules from the current script + * + * @return array List of rules + */ + public function list_rules() + { + $result = array(); + $i = 1; + + foreach ($this->script as $idx => $filter) { + if (empty($filter['actions'])) { + continue; + } + $fname = $filter['name'] ? $filter['name'] : "#$i"; + $result[] = array( + 'id' => $idx, + 'name' => $fname, + 'class' => $filter['disabled'] ? 'disabled' : '', + ); + $i++; + } + + return $result; + } + + /** + * Initializes internal script data + */ + protected function init_script() + { + if (!$this->sieve->script) { + return; + } + + $this->script = $this->sieve->script->as_array(); + + $headers = array(); + $exceptions = array('date', 'currentdate', 'size', 'body'); + + // find common headers used in script, will be added to the list + // of available (predefined) headers (#1489271) + foreach ($this->script as $rule) { + foreach ((array) $rule['tests'] as $test) { + if ($test['test'] == 'header') { + foreach ((array) $test['arg1'] as $header) { + $lc_header = strtolower($header); + + // skip special names to not confuse UI + if (in_array($lc_header, $exceptions)) { + continue; + } + + if (!isset($this->headers[$lc_header]) && !isset($headers[$lc_header])) { + $headers[$lc_header] = $header; + } + } + } + } + } + + ksort($headers); + + $this->headers += $headers; + } + + /** + * Get all e-mail addresses of the user + */ + protected function user_emails() + { + $addresses = $this->rc->user->list_emails(); + + foreach ($addresses as $idx => $email) { + $addresses[$idx] = $email['email']; + } + + $addresses = array_unique($addresses); + sort($addresses); + + return $addresses; + } +} diff --git a/plugins/managesieve/lib/Roundcube/rcube_sieve_script.php b/plugins/managesieve/lib/Roundcube/rcube_sieve_script.php new file mode 100644 index 000000000..518d79d35 --- /dev/null +++ b/plugins/managesieve/lib/Roundcube/rcube_sieve_script.php @@ -0,0 +1,1217 @@ +<?php + +/** + * Class for operations on Sieve scripts + * + * Copyright (C) 2008-2011, The Roundcube Dev Team + * Copyright (C) 2011, Kolab Systems AG + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see http://www.gnu.org/licenses/. + */ + +class rcube_sieve_script +{ + public $content = array(); // script rules array + + private $vars = array(); // "global" variables + private $prefix = ''; // script header (comments) + private $supported = array( // Sieve extensions supported by class + 'body', // RFC5173 + 'copy', // RFC3894 + 'date', // RFC5260 + 'enotify', // RFC5435 + 'envelope', // RFC5228 + 'ereject', // RFC5429 + 'fileinto', // RFC5228 + 'imapflags', // draft-melnikov-sieve-imapflags-06 + 'imap4flags', // RFC5232 + 'include', // draft-ietf-sieve-include-12 + 'index', // RFC5260 + 'notify', // draft-martin-sieve-notify-01, + 'regex', // draft-ietf-sieve-regex-01 + 'reject', // RFC5429 + 'relational', // RFC3431 + 'subaddress', // RFC5233 + 'vacation', // RFC5230 + 'vacation-seconds', // RFC6131 + 'variables', // RFC5229 + // @TODO: spamtest+virustest, mailbox + ); + + /** + * Object constructor + * + * @param string Script's text content + * @param array List of capabilities supported by server + */ + public function __construct($script, $capabilities=array()) + { + $capabilities = array_map('strtolower', (array) $capabilities); + + // disable features by server capabilities + if (!empty($capabilities)) { + foreach ($this->supported as $idx => $ext) { + if (!in_array($ext, $capabilities)) { + unset($this->supported[$idx]); + } + } + } + + // Parse text content of the script + $this->_parse_text($script); + } + + /** + * Adds rule to the script (at the end) + * + * @param string Rule name + * @param array Rule content (as array) + * + * @return int The index of the new rule + */ + public function add_rule($content) + { + // TODO: check this->supported + array_push($this->content, $content); + return sizeof($this->content)-1; + } + + public function delete_rule($index) + { + if(isset($this->content[$index])) { + unset($this->content[$index]); + return true; + } + return false; + } + + public function size() + { + return sizeof($this->content); + } + + public function update_rule($index, $content) + { + // TODO: check this->supported + if ($this->content[$index]) { + $this->content[$index] = $content; + return $index; + } + return false; + } + + /** + * Sets "global" variable + * + * @param string $name Variable name + * @param string $value Variable value + * @param array $mods Variable modifiers + */ + public function set_var($name, $value, $mods = array()) + { + // Check if variable exists + for ($i=0, $len=count($this->vars); $i<$len; $i++) { + if ($this->vars[$i]['name'] == $name) { + break; + } + } + + $var = array_merge($mods, array('name' => $name, 'value' => $value)); + $this->vars[$i] = $var; + } + + /** + * Unsets "global" variable + * + * @param string $name Variable name + */ + public function unset_var($name) + { + // Check if variable exists + foreach ($this->vars as $idx => $var) { + if ($var['name'] == $name) { + unset($this->vars[$idx]); + break; + } + } + } + + /** + * Gets the value of "global" variable + * + * @param string $name Variable name + * + * @return string Variable value + */ + public function get_var($name) + { + // Check if variable exists + for ($i=0, $len=count($this->vars); $i<$len; $i++) { + if ($this->vars[$i]['name'] == $name) { + return $this->vars[$i]['name']; + } + } + } + + /** + * Sets script header content + * + * @param string $text Header content + */ + public function set_prefix($text) + { + $this->prefix = $text; + } + + /** + * Returns script as text + */ + public function as_text() + { + $output = ''; + $exts = array(); + $idx = 0; + + if (!empty($this->vars)) { + if (in_array('variables', (array)$this->supported)) { + $has_vars = true; + array_push($exts, 'variables'); + } + foreach ($this->vars as $var) { + if (empty($has_vars)) { + // 'variables' extension not supported, put vars in comments + $output .= sprintf("# %s %s\n", $var['name'], $var['value']); + } + else { + $output .= 'set '; + foreach (array_diff(array_keys($var), array('name', 'value')) as $opt) { + $output .= ":$opt "; + } + $output .= self::escape_string($var['name']) . ' ' . self::escape_string($var['value']) . ";\n"; + } + } + } + + $imapflags = in_array('imap4flags', $this->supported) ? 'imap4flags' : 'imapflags'; + $notify = in_array('enotify', $this->supported) ? 'enotify' : 'notify'; + + // rules + foreach ($this->content as $rule) { + $script = ''; + $tests = array(); + $i = 0; + + // header + if (!empty($rule['name']) && strlen($rule['name'])) { + $script .= '# rule:[' . $rule['name'] . "]\n"; + } + + // constraints expressions + if (!empty($rule['tests'])) { + foreach ($rule['tests'] as $test) { + $tests[$i] = ''; + switch ($test['test']) { + case 'size': + $tests[$i] .= ($test['not'] ? 'not ' : ''); + $tests[$i] .= 'size :' . ($test['type']=='under' ? 'under ' : 'over ') . $test['arg']; + break; + + case 'true': + $tests[$i] .= ($test['not'] ? 'false' : 'true'); + break; + + case 'exists': + $tests[$i] .= ($test['not'] ? 'not ' : ''); + $tests[$i] .= 'exists ' . self::escape_string($test['arg']); + break; + + case 'header': + $tests[$i] .= ($test['not'] ? 'not ' : ''); + $tests[$i] .= 'header'; + + $this->add_index($test, $tests[$i], $exts); + $this->add_operator($test, $tests[$i], $exts); + + $tests[$i] .= ' ' . self::escape_string($test['arg1']); + $tests[$i] .= ' ' . self::escape_string($test['arg2']); + break; + + case 'address': + case 'envelope': + if ($test['test'] == 'envelope') { + array_push($exts, 'envelope'); + } + + $tests[$i] .= ($test['not'] ? 'not ' : ''); + $tests[$i] .= $test['test']; + + if ($test['test'] != 'envelope') { + $this->add_index($test, $tests[$i], $exts); + } + + // :all address-part is optional, skip it + if (!empty($test['part']) && $test['part'] != 'all') { + $tests[$i] .= ' :' . $test['part']; + if ($test['part'] == 'user' || $test['part'] == 'detail') { + array_push($exts, 'subaddress'); + } + } + + $this->add_operator($test, $tests[$i], $exts); + + $tests[$i] .= ' ' . self::escape_string($test['arg1']); + $tests[$i] .= ' ' . self::escape_string($test['arg2']); + break; + + case 'body': + array_push($exts, 'body'); + + $tests[$i] .= ($test['not'] ? 'not ' : '') . 'body'; + + if (!empty($test['part'])) { + $tests[$i] .= ' :' . $test['part']; + + if (!empty($test['content']) && $test['part'] == 'content') { + $tests[$i] .= ' ' . self::escape_string($test['content']); + } + } + + $this->add_operator($test, $tests[$i], $exts); + + $tests[$i] .= ' ' . self::escape_string($test['arg']); + break; + + case 'date': + case 'currentdate': + array_push($exts, 'date'); + + $tests[$i] .= ($test['not'] ? 'not ' : '') . $test['test']; + + $this->add_index($test, $tests[$i], $exts); + + if (!empty($test['originalzone']) && $test['test'] == 'date') { + $tests[$i] .= ' :originalzone'; + } + else if (!empty($test['zone'])) { + $tests[$i] .= ' :zone ' . self::escape_string($test['zone']); + } + + $this->add_operator($test, $tests[$i], $exts); + + if ($test['test'] == 'date') { + $tests[$i] .= ' ' . self::escape_string($test['header']); + } + + $tests[$i] .= ' ' . self::escape_string($test['part']); + $tests[$i] .= ' ' . self::escape_string($test['arg']); + + break; + } + $i++; + } + } + + // disabled rule: if false #.... + if (!empty($tests)) { + $script .= 'if ' . ($rule['disabled'] ? 'false # ' : ''); + + if (count($tests) > 1) { + $tests_str = implode(', ', $tests); + } + else { + $tests_str = $tests[0]; + } + + if ($rule['join'] || count($tests) > 1) { + $script .= sprintf('%s (%s)', $rule['join'] ? 'allof' : 'anyof', $tests_str); + } + else { + $script .= $tests_str; + } + $script .= "\n{\n"; + } + + // action(s) + if (!empty($rule['actions'])) { + foreach ($rule['actions'] as $action) { + $action_script = ''; + + switch ($action['type']) { + + case 'fileinto': + array_push($exts, 'fileinto'); + $action_script .= 'fileinto '; + if ($action['copy']) { + $action_script .= ':copy '; + array_push($exts, 'copy'); + } + $action_script .= self::escape_string($action['target']); + break; + + case 'redirect': + $action_script .= 'redirect '; + if ($action['copy']) { + $action_script .= ':copy '; + array_push($exts, 'copy'); + } + $action_script .= self::escape_string($action['target']); + break; + + case 'reject': + case 'ereject': + array_push($exts, $action['type']); + $action_script .= $action['type'].' ' + . self::escape_string($action['target']); + break; + + case 'addflag': + case 'setflag': + case 'removeflag': + array_push($exts, $imapflags); + $action_script .= $action['type'].' ' + . self::escape_string($action['target']); + break; + + case 'keep': + case 'discard': + case 'stop': + $action_script .= $action['type']; + break; + + case 'include': + array_push($exts, 'include'); + $action_script .= 'include '; + foreach (array_diff(array_keys($action), array('target', 'type')) as $opt) { + $action_script .= ":$opt "; + } + $action_script .= self::escape_string($action['target']); + break; + + case 'set': + array_push($exts, 'variables'); + $action_script .= 'set '; + foreach (array_diff(array_keys($action), array('name', 'value', 'type')) as $opt) { + $action_script .= ":$opt "; + } + $action_script .= self::escape_string($action['name']) . ' ' . self::escape_string($action['value']); + break; + + case 'notify': + array_push($exts, $notify); + $action_script .= 'notify'; + + $method = $action['method']; + unset($action['method']); + $action['options'] = (array) $action['options']; + + // Here we support draft-martin-sieve-notify-01 used by Cyrus + if ($notify == 'notify') { + switch ($action['importance']) { + case 1: $action_script .= " :high"; break; + //case 2: $action_script .= " :normal"; break; + case 3: $action_script .= " :low"; break; + } + + // Old-draft way: :method "mailto" :options "email@address" + if (!empty($method)) { + $parts = explode(':', $method, 2); + $action['method'] = $parts[0]; + array_unshift($action['options'], $parts[1]); + } + + unset($action['importance']); + unset($action['from']); + unset($method); + } + + foreach (array('id', 'importance', 'method', 'options', 'from', 'message') as $n_tag) { + if (!empty($action[$n_tag])) { + $action_script .= " :$n_tag " . self::escape_string($action[$n_tag]); + } + } + + if (!empty($method)) { + $action_script .= ' ' . self::escape_string($method); + } + + break; + + case 'vacation': + array_push($exts, 'vacation'); + $action_script .= 'vacation'; + if (isset($action['seconds'])) { + array_push($exts, 'vacation-seconds'); + $action_script .= " :seconds " . intval($action['seconds']); + } + else if (!empty($action['days'])) { + $action_script .= " :days " . intval($action['days']); + } + if (!empty($action['addresses'])) + $action_script .= " :addresses " . self::escape_string($action['addresses']); + if (!empty($action['subject'])) + $action_script .= " :subject " . self::escape_string($action['subject']); + if (!empty($action['handle'])) + $action_script .= " :handle " . self::escape_string($action['handle']); + if (!empty($action['from'])) + $action_script .= " :from " . self::escape_string($action['from']); + if (!empty($action['mime'])) + $action_script .= " :mime"; + $action_script .= " " . self::escape_string($action['reason']); + break; + } + + if ($action_script) { + $script .= !empty($tests) ? "\t" : ''; + $script .= $action_script . ";\n"; + } + } + } + + if ($script) { + $output .= $script . (!empty($tests) ? "}\n" : ''); + $idx++; + } + } + + // requires + if (!empty($exts)) { + $exts = array_unique($exts); + + if (in_array('vacation-seconds', $exts) && ($key = array_search('vacation', $exts)) !== false) { + unset($exts[$key]); + } + + sort($exts); // for convenience use always the same order + + $output = 'require ["' . implode('","', $exts) . "\"];\n" . $output; + } + + if (!empty($this->prefix)) { + $output = $this->prefix . "\n\n" . $output; + } + + return $output; + } + + /** + * Returns script object + * + */ + public function as_array() + { + return $this->content; + } + + /** + * Returns array of supported extensions + * + */ + public function get_extensions() + { + return array_values($this->supported); + } + + /** + * Converts text script to rules array + * + * @param string Text script + */ + private function _parse_text($script) + { + $prefix = ''; + $options = array(); + + while ($script) { + $script = trim($script); + $rule = array(); + + // Comments + while (!empty($script) && $script[0] == '#') { + $endl = strpos($script, "\n"); + $line = $endl ? substr($script, 0, $endl) : $script; + + // Roundcube format + if (preg_match('/^# rule:\[(.*)\]/', $line, $matches)) { + $rulename = $matches[1]; + } + // KEP:14 variables + else if (preg_match('/^# (EDITOR|EDITOR_VERSION) (.+)$/', $line, $matches)) { + $this->set_var($matches[1], $matches[2]); + } + // Horde-Ingo format + else if (!empty($options['format']) && $options['format'] == 'INGO' + && preg_match('/^# (.*)/', $line, $matches) + ) { + $rulename = $matches[1]; + } + else if (empty($options['prefix'])) { + $prefix .= $line . "\n"; + } + + $script = ltrim(substr($script, strlen($line) + 1)); + } + + // handle script header + if (empty($options['prefix'])) { + $options['prefix'] = true; + if ($prefix && strpos($prefix, 'horde.org/ingo')) { + $options['format'] = 'INGO'; + } + } + + // Control structures/blocks + if (preg_match('/^(if|else|elsif)/i', $script)) { + $rule = $this->_tokenize_rule($script); + if (strlen($rulename) && !empty($rule)) { + $rule['name'] = $rulename; + } + } + // Simple commands + else { + $rule = $this->_parse_actions($script, ';'); + if (!empty($rule[0]) && is_array($rule)) { + // set "global" variables + if ($rule[0]['type'] == 'set') { + unset($rule[0]['type']); + $this->vars[] = $rule[0]; + unset($rule); + } + else { + $rule = array('actions' => $rule); + } + } + } + + $rulename = ''; + + if (!empty($rule)) { + $this->content[] = $rule; + } + } + + if (!empty($prefix)) { + $this->prefix = trim($prefix); + } + } + + /** + * Convert text script fragment to rule object + * + * @param string Text rule + * + * @return array Rule data + */ + private function _tokenize_rule(&$content) + { + $cond = strtolower(self::tokenize($content, 1)); + + if ($cond != 'if' && $cond != 'elsif' && $cond != 'else') { + return null; + } + + $disabled = false; + $join = false; + $join_not = false; + + // disabled rule (false + comment): if false # ..... + if (preg_match('/^\s*false\s+#/i', $content)) { + $content = preg_replace('/^\s*false\s+#\s*/i', '', $content); + $disabled = true; + } + + while (strlen($content)) { + $tokens = self::tokenize($content, true); + $separator = array_pop($tokens); + + if (!empty($tokens)) { + $token = array_shift($tokens); + } + else { + $token = $separator; + } + + $token = strtolower($token); + + if ($token == 'not') { + $not = true; + $token = strtolower(array_shift($tokens)); + } + else { + $not = false; + } + + // we support "not allof" as a negation of allof sub-tests + if ($join_not) { + $not = !$not; + } + + switch ($token) { + case 'allof': + $join = true; + $join_not = $not; + break; + + case 'anyof': + break; + + case 'size': + $test = array('test' => 'size', 'not' => $not); + + $test['arg'] = array_pop($tokens); + + for ($i=0, $len=count($tokens); $i<$len; $i++) { + if (!is_array($tokens[$i]) + && preg_match('/^:(under|over)$/i', $tokens[$i]) + ) { + $test['type'] = strtolower(substr($tokens[$i], 1)); + } + } + + $tests[] = $test; + break; + + case 'header': + case 'address': + case 'envelope': + $test = array('test' => $token, 'not' => $not); + + $test['arg2'] = array_pop($tokens); + $test['arg1'] = array_pop($tokens); + + $test += $this->test_tokens($tokens); + + if ($token != 'header' && !empty($tokens)) { + for ($i=0, $len=count($tokens); $i<$len; $i++) { + if (!is_array($tokens[$i]) && preg_match('/^:(localpart|domain|all|user|detail)$/i', $tokens[$i])) { + $test['part'] = strtolower(substr($tokens[$i], 1)); + } + } + } + + $tests[] = $test; + break; + + case 'body': + $test = array('test' => 'body', 'not' => $not); + + $test['arg'] = array_pop($tokens); + + $test += $this->test_tokens($tokens); + + for ($i=0, $len=count($tokens); $i<$len; $i++) { + if (!is_array($tokens[$i]) && preg_match('/^:(raw|content|text)$/i', $tokens[$i])) { + $test['part'] = strtolower(substr($tokens[$i], 1)); + + if ($test['part'] == 'content') { + $test['content'] = $tokens[++$i]; + } + } + } + + $tests[] = $test; + break; + + case 'date': + case 'currentdate': + $test = array('test' => $token, 'not' => $not); + + $test['arg'] = array_pop($tokens); + $test['part'] = array_pop($tokens); + + if ($token == 'date') { + $test['header'] = array_pop($tokens); + } + + $test += $this->test_tokens($tokens); + + for ($i=0, $len=count($tokens); $i<$len; $i++) { + if (!is_array($tokens[$i]) && preg_match('/^:zone$/i', $tokens[$i])) { + $test['zone'] = $tokens[++$i]; + } + else if (!is_array($tokens[$i]) && preg_match('/^:originalzone$/i', $tokens[$i])) { + $test['originalzone'] = true; + } + } + + $tests[] = $test; + break; + + case 'exists': + $tests[] = array('test' => 'exists', 'not' => $not, + 'arg' => array_pop($tokens)); + break; + + case 'true': + $tests[] = array('test' => 'true', 'not' => $not); + break; + + case 'false': + $tests[] = array('test' => 'true', 'not' => !$not); + break; + } + + // goto actions... + if ($separator == '{') { + break; + } + } + + // ...and actions block + $actions = $this->_parse_actions($content); + + if ($tests && $actions) { + $result = array( + 'type' => $cond, + 'tests' => $tests, + 'actions' => $actions, + 'join' => $join, + 'disabled' => $disabled, + ); + } + + return $result; + } + + /** + * Parse body of actions section + * + * @param string $content Text body + * @param string $end End of text separator + * + * @return array Array of parsed action type/target pairs + */ + private function _parse_actions(&$content, $end = '}') + { + $result = null; + + while (strlen($content)) { + $tokens = self::tokenize($content, true); + $separator = array_pop($tokens); + $token = !empty($tokens) ? array_shift($tokens) : $separator; + + switch ($token) { + case 'discard': + case 'keep': + case 'stop': + $result[] = array('type' => $token); + break; + + case 'fileinto': + case 'redirect': + $action = array('type' => $token, 'target' => array_pop($tokens)); + $args = array('copy'); + $action += $this->action_arguments($tokens, $args); + + $result[] = $action; + break; + + case 'vacation': + $action = array('type' => 'vacation', 'reason' => array_pop($tokens)); + $args = array('mime'); + $vargs = array('seconds', 'days', 'addresses', 'subject', 'handle', 'from'); + $action += $this->action_arguments($tokens, $args, $vargs); + + $result[] = $action; + break; + + case 'reject': + case 'ereject': + case 'setflag': + case 'addflag': + case 'removeflag': + $result[] = array('type' => $token, 'target' => array_pop($tokens)); + break; + + case 'include': + $action = array('type' => 'include', 'target' => array_pop($tokens)); + $args = array('once', 'optional', 'global', 'personal'); + $action += $this->action_arguments($tokens, $args); + + $result[] = $action; + break; + + case 'set': + $action = array('type' => 'set', 'value' => array_pop($tokens), 'name' => array_pop($tokens)); + $args = array('lower', 'upper', 'lowerfirst', 'upperfirst', 'quotewildcard', 'length'); + $action += $this->action_arguments($tokens, $args); + + $result[] = $action; + break; + + case 'require': + // skip, will be build according to used commands + // $result[] = array('type' => 'require', 'target' => array_pop($tokens)); + break; + + case 'notify': + $action = array('type' => 'notify'); + $priorities = array('high' => 1, 'normal' => 2, 'low' => 3); + $vargs = array('from', 'id', 'importance', 'options', 'message', 'method'); + $args = array_keys($priorities); + $action += $this->action_arguments($tokens, $args, $vargs); + + // Here we'll convert draft-martin-sieve-notify-01 into RFC 5435 + if (!isset($action['importance'])) { + foreach ($priorities as $key => $val) { + if (isset($action[$key])) { + $action['importance'] = $val; + unset($action[$key]); + } + } + } + + $action['options'] = (array) $action['options']; + + // Old-draft way: :method "mailto" :options "email@address" + if (!empty($action['method']) && !empty($action['options'])) { + $action['method'] .= ':' . array_shift($action['options']); + } + // unnamed parameter is a :method in enotify extension + else if (!isset($action['method'])) { + $action['method'] = array_pop($tokens); + } + + $result[] = $action; + break; + } + + if ($separator == $end) + break; + } + + return $result; + } + + /** + * Add comparator to the test + */ + private function add_comparator($test, &$out, &$exts) + { + if (empty($test['comparator'])) { + return; + } + + if ($test['comparator'] == 'i;ascii-numeric') { + array_push($exts, 'relational'); + array_push($exts, 'comparator-i;ascii-numeric'); + } + else if (!in_array($test['comparator'], array('i;octet', 'i;ascii-casemap'))) { + array_push($exts, 'comparator-' . $test['comparator']); + } + + // skip default comparator + if ($test['comparator'] != 'i;ascii-casemap') { + $out .= ' :comparator ' . self::escape_string($test['comparator']); + } + } + + /** + * Add index argument to the test + */ + private function add_index($test, &$out, &$exts) + { + if (!empty($test['index'])) { + array_push($exts, 'index'); + $out .= ' :index ' . intval($test['index']) . ($test['last'] ? ' :last' : ''); + } + } + + /** + * Add operators to the test + */ + private function add_operator($test, &$out, &$exts) + { + if (empty($test['type'])) { + return; + } + + // relational operator + if (preg_match('/^(value|count)-([gteqnl]{2})/', $test['type'], $m)) { + array_push($exts, 'relational'); + + $out .= ' :' . $m[1] . ' "' . $m[2] . '"'; + } + else { + if ($test['type'] == 'regex') { + array_push($exts, 'regex'); + } + + $out .= ' :' . $test['type']; + } + + $this->add_comparator($test, $out, $exts); + } + + /** + * Extract test tokens + */ + private function test_tokens(&$tokens) + { + $test = array(); + $result = array(); + + for ($i=0, $len=count($tokens); $i<$len; $i++) { + if (!is_array($tokens[$i]) && preg_match('/^:comparator$/i', $tokens[$i])) { + $test['comparator'] = $tokens[++$i]; + } + else if (!is_array($tokens[$i]) && preg_match('/^:(count|value)$/i', $tokens[$i])) { + $test['type'] = strtolower(substr($tokens[$i], 1)) . '-' . $tokens[++$i]; + } + else if (!is_array($tokens[$i]) && preg_match('/^:(is|contains|matches|regex)$/i', $tokens[$i])) { + $test['type'] = strtolower(substr($tokens[$i], 1)); + } + else if (!is_array($tokens[$i]) && preg_match('/^:index$/i', $tokens[$i])) { + $test['index'] = intval($tokens[++$i]); + if ($tokens[$i+1] && preg_match('/^:last$/i', $tokens[$i+1])) { + $test['last'] = true; + $i++; + } + } + else { + $result[] = $tokens[$i]; + } + } + + $tokens = $result; + + return $test; + } + + /** + * Extract action arguments + */ + private function action_arguments(&$tokens, $bool_args, $val_args = array()) + { + $action = array(); + $result = array(); + + for ($i=0, $len=count($tokens); $i<$len; $i++) { + $tok = $tokens[$i]; + if (!is_array($tok) && $tok[0] == ':') { + $tok = strtolower(substr($tok, 1)); + if (in_array($tok, $bool_args)) { + $action[$tok] = true; + } + else if (in_array($tok, $val_args)) { + $action[$tok] = $tokens[++$i]; + } + else { + $result[] = $tok; + } + } + else { + $result[] = $tok; + } + } + + $tokens = $result; + + return $action; + } + + /** + * Escape special chars into quoted string value or multi-line string + * or list of strings + * + * @param string $str Text or array (list) of strings + * + * @return string Result text + */ + static function escape_string($str) + { + if (is_array($str) && count($str) > 1) { + foreach($str as $idx => $val) + $str[$idx] = self::escape_string($val); + + return '[' . implode(',', $str) . ']'; + } + else if (is_array($str)) { + $str = array_pop($str); + } + + // multi-line string + if (preg_match('/[\r\n\0]/', $str) || strlen($str) > 1024) { + return sprintf("text:\n%s\n.\n", self::escape_multiline_string($str)); + } + // quoted-string + else { + return '"' . addcslashes($str, '\\"') . '"'; + } + } + + /** + * Escape special chars in multi-line string value + * + * @param string $str Text + * + * @return string Text + */ + static function escape_multiline_string($str) + { + $str = preg_split('/(\r?\n)/', $str, -1, PREG_SPLIT_DELIM_CAPTURE); + + foreach ($str as $idx => $line) { + // dot-stuffing + if (isset($line[0]) && $line[0] == '.') { + $str[$idx] = '.' . $line; + } + } + + return implode($str); + } + + /** + * Splits script into string tokens + * + * @param string &$str The script + * @param mixed $num Number of tokens to return, 0 for all + * or True for all tokens until separator is found. + * Separator will be returned as last token. + * + * @return mixed Tokens array or string if $num=1 + */ + static function tokenize(&$str, $num=0) + { + $result = array(); + + // remove spaces from the beginning of the string + while (($str = ltrim($str)) !== '' + && (!$num || $num === true || count($result) < $num) + ) { + switch ($str[0]) { + + // Quoted string + case '"': + $len = strlen($str); + + for ($pos=1; $pos<$len; $pos++) { + if ($str[$pos] == '"') { + break; + } + if ($str[$pos] == "\\") { + if ($str[$pos + 1] == '"' || $str[$pos + 1] == "\\") { + $pos++; + } + } + } + if ($str[$pos] != '"') { + // error + } + // we need to strip slashes for a quoted string + $result[] = stripslashes(substr($str, 1, $pos - 1)); + $str = substr($str, $pos + 1); + break; + + // Parenthesized list + case '[': + $str = substr($str, 1); + $result[] = self::tokenize($str, 0); + break; + case ']': + $str = substr($str, 1); + return $result; + break; + + // list/test separator + case ',': + // command separator + case ';': + // block/tests-list + case '(': + case ')': + case '{': + case '}': + $sep = $str[0]; + $str = substr($str, 1); + if ($num === true) { + $result[] = $sep; + break 2; + } + break; + + // bracket-comment + case '/': + if ($str[1] == '*') { + if ($end_pos = strpos($str, '*/')) { + $str = substr($str, $end_pos + 2); + } + else { + // error + $str = ''; + } + } + break; + + // hash-comment + case '#': + if ($lf_pos = strpos($str, "\n")) { + $str = substr($str, $lf_pos); + break; + } + else { + $str = ''; + } + + // String atom + default: + // empty or one character + if ($str === '' || $str === null) { + break 2; + } + if (strlen($str) < 2) { + $result[] = $str; + $str = ''; + break; + } + + // tag/identifier/number + if (preg_match('/^([a-z0-9:_]+)/i', $str, $m)) { + $str = substr($str, strlen($m[1])); + + if ($m[1] != 'text:') { + $result[] = $m[1]; + } + // multiline string + else { + // possible hash-comment after "text:" + if (preg_match('/^( |\t)*(#[^\n]+)?\n/', $str, $m)) { + $str = substr($str, strlen($m[0])); + } + // get text until alone dot in a line + if (preg_match('/^(.*)\r?\n\.\r?\n/sU', $str, $m)) { + $text = $m[1]; + // remove dot-stuffing + $text = str_replace("\n..", "\n.", $text); + $str = substr($str, strlen($m[0])); + } + else { + $text = ''; + } + + $result[] = $text; + } + } + // fallback, skip one character as infinite loop prevention + else { + $str = substr($str, 1); + } + + break; + } + } + + return $num === 1 ? (isset($result[0]) ? $result[0] : null) : $result; + } + +} diff --git a/plugins/managesieve/lib/Roundcube/rcube_sieve_vacation.php b/plugins/managesieve/lib/Roundcube/rcube_sieve_vacation.php new file mode 100644 index 000000000..2779d2f1b --- /dev/null +++ b/plugins/managesieve/lib/Roundcube/rcube_sieve_vacation.php @@ -0,0 +1,901 @@ +<?php + +/** + * Managesieve Vacation Engine + * + * Engine part of Managesieve plugin implementing UI and backend access. + * + * Copyright (C) 2011-2014, Kolab Systems AG + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see http://www.gnu.org/licenses/. + */ + +class rcube_sieve_vacation extends rcube_sieve_engine +{ + protected $error; + protected $script_name; + protected $vacation = array(); + + function actions() + { + $error = $this->start('vacation'); + + // find current vacation rule + if (!$error) { + $this->vacation_rule(); + $this->vacation_post(); + } + + $this->plugin->add_label('vacation.saving'); + $this->rc->output->add_handlers(array( + 'vacationform' => array($this, 'vacation_form'), + )); + + $this->rc->output->set_pagetitle($this->plugin->gettext('vacation')); + $this->rc->output->send('managesieve.vacation'); + } + + /** + * Find and load sieve script with/for vacation rule + * + * @return int Connection status: 0 on success, >0 on failure + */ + protected function load_script() + { + if ($this->script_name !== null) { + return 0; + } + + $list = $this->list_scripts(); + $master = $this->rc->config->get('managesieve_kolab_master'); + $included = array(); + + $this->script_name = false; + + // first try the active script(s)... + if (!empty($this->active)) { + // Note: there can be more than one active script on KEP:14-enabled server + foreach ($this->active as $script) { + if ($this->sieve->load($script)) { + foreach ($this->sieve->script->as_array() as $rule) { + if (!empty($rule['actions'])) { + if ($rule['actions'][0]['type'] == 'vacation') { + $this->script_name = $script; + return 0; + } + else if (empty($master) && $rule['actions'][0]['type'] == 'include') { + $included[] = $rule['actions'][0]['target']; + } + } + } + } + } + + // ...else try scripts included in active script (not for KEP:14) + foreach ($included as $script) { + if ($this->sieve->load($script)) { + foreach ($this->sieve->script->as_array() as $rule) { + if (!empty($rule['actions']) && $rule['actions'][0]['type'] == 'vacation') { + $this->script_name = $script; + return 0; + } + } + } + } + } + + // try all other scripts + if (!empty($list)) { + // else try included scripts + foreach (array_diff($list, $included, $this->active) as $script) { + if ($this->sieve->load($script)) { + foreach ($this->sieve->script->as_array() as $rule) { + if (!empty($rule['actions']) && $rule['actions'][0]['type'] == 'vacation') { + $this->script_name = $script; + return 0; + } + } + } + } + + // none of the scripts contains existing vacation rule + // use any (first) active or just existing script (in that order) + if (!empty($this->active)) { + $this->sieve->load($this->script_name = $this->active[0]); + } + else { + $this->sieve->load($this->script_name = $list[0]); + } + } + + return $this->sieve->error(); + } + + private function vacation_rule() + { + if ($this->script_name === false || $this->script_name === null || !$this->sieve->load($this->script_name)) { + return; + } + + $list = array(); + $active = in_array($this->script_name, $this->active); + + // find (first) vacation rule + foreach ($this->script as $idx => $rule) { + if (empty($this->vacation) && !empty($rule['actions']) && $rule['actions'][0]['type'] == 'vacation') { + foreach ($rule['actions'] as $act) { + if ($act['type'] == 'discard' || $act['type'] == 'keep') { + $action = $act['type']; + } + else if ($act['type'] == 'redirect') { + $action = $act['copy'] ? 'copy' : 'redirect'; + $target = $act['target']; + } + } + + $this->vacation = array_merge($rule['actions'][0], array( + 'idx' => $idx, + 'disabled' => $rule['disabled'] || !$active, + 'name' => $rule['name'], + 'tests' => $rule['tests'], + 'action' => $action ?: 'keep', + 'target' => $target, + )); + } + else if ($active) { + $list[$idx] = $rule['name']; + } + } + + $this->vacation['list'] = $list; + } + + private function vacation_post() + { + if (empty($_POST)) { + return; + } + + $date_extension = in_array('date', $this->exts); + $regex_extension = in_array('regex', $this->exts); + + // set user's timezone + try { + $timezone = new DateTimeZone($this->rc->config->get('timezone', 'GMT')); + } + catch (Exception $e) { + $timezone = new DateTimeZone('GMT'); + } + + $status = rcube_utils::get_input_value('vacation_status', rcube_utils::INPUT_POST); + $subject = rcube_utils::get_input_value('vacation_subject', rcube_utils::INPUT_POST, true); + $reason = rcube_utils::get_input_value('vacation_reason', rcube_utils::INPUT_POST, true); + $addresses = rcube_utils::get_input_value('vacation_addresses', rcube_utils::INPUT_POST, true); + $interval = rcube_utils::get_input_value('vacation_interval', rcube_utils::INPUT_POST); + $interval_type = rcube_utils::get_input_value('vacation_interval_type', rcube_utils::INPUT_POST); + $date_from = rcube_utils::get_input_value('vacation_datefrom', rcube_utils::INPUT_POST); + $date_to = rcube_utils::get_input_value('vacation_dateto', rcube_utils::INPUT_POST); + $time_from = rcube_utils::get_input_value('vacation_timefrom', rcube_utils::INPUT_POST); + $time_to = rcube_utils::get_input_value('vacation_timeto', rcube_utils::INPUT_POST); + $after = rcube_utils::get_input_value('vacation_after', rcube_utils::INPUT_POST); + $action = rcube_utils::get_input_value('vacation_action', rcube_utils::INPUT_POST); + $target = rcube_utils::get_input_value('action_target', rcube_utils::INPUT_POST, true); + $target_domain = rcube_utils::get_input_value('action_domain', rcube_utils::INPUT_POST); + + $interval_type = $interval_type == 'seconds' ? 'seconds' : 'days'; + $vacation_action['type'] = 'vacation'; + $vacation_action['reason'] = $this->strip_value(str_replace("\r\n", "\n", $reason)); + $vacation_action['subject'] = $subject; + $vacation_action['addresses'] = $addresses; + $vacation_action[$interval_type] = $interval; + $vacation_tests = (array) $this->vacation['tests']; + + foreach ((array) $vacation_action['addresses'] as $aidx => $address) { + $vacation_action['addresses'][$aidx] = $address = trim($address); + + if (empty($address)) { + unset($vacation_action['addresses'][$aidx]); + } + else if (!rcube_utils::check_email($address)) { + $error = 'noemailwarning'; + break; + } + } + + if ($vacation_action['reason'] == '') { + $error = 'managesieve.emptyvacationbody'; + } + + if ($vacation_action[$interval_type] && !preg_match('/^[0-9]+$/', $vacation_action[$interval_type])) { + $error = 'managesieve.forbiddenchars'; + } + + // find and remove existing date/regex/true rules + foreach ((array) $vacation_tests as $idx => $t) { + if ($t['test'] == 'currentdate' || $t['test'] == 'true' + || ($t['test'] == 'header' && $t['type'] == 'regex' && $t['arg1'] == 'received') + ) { + unset($vacation_tests[$idx]); + } + } + + if ($date_extension) { + foreach (array('date_from', 'date_to') as $var) { + $time = ${str_replace('date', 'time', $var)}; + $date = trim($$var . ' ' . $time); + + if ($date && ($dt = rcube_utils::anytodatetime($date, $timezone))) { + if ($time) { + $vacation_tests[] = array( + 'test' => 'currentdate', + 'part' => 'iso8601', + 'type' => 'value-' . ($var == 'date_from' ? 'ge' : 'le'), + 'zone' => $dt->format('O'), + 'arg' => str_replace('+00:00', 'Z', strtoupper($dt->format('c'))), + ); + } + else { + $vacation_tests[] = array( + 'test' => 'currentdate', + 'part' => 'date', + 'type' => 'value-' . ($var == 'date_from' ? 'ge' : 'le'), + 'zone' => $dt->format('O'), + 'arg' => $dt->format('Y-m-d'), + ); + } + } + } + } + else if ($regex_extension) { + // Add date range rules if range specified + if ($date_from && $date_to) { + if ($tests = self::build_regexp_tests($date_from, $date_to, $error)) { + $vacation_tests = array_merge($vacation_tests, $tests); + } + } + } + + if ($action == 'redirect' || $action == 'copy') { + if ($target_domain) { + $target .= '@' . $target_domain; + } + + if (empty($target) || !rcube_utils::check_email($target)) { + $error = 'noemailwarning'; + } + } + + if (empty($vacation_tests)) { + $vacation_tests = $this->rc->config->get('managesieve_vacation_test', array(array('test' => 'true'))); + } + + if (!$error) { + $rule = $this->vacation; + $rule['type'] = 'if'; + $rule['name'] = $rule['name'] ?: $this->plugin->gettext('vacation'); + $rule['disabled'] = $status == 'off'; + $rule['tests'] = $vacation_tests; + $rule['join'] = $date_extension ? count($vacation_tests) > 1 : false; + $rule['actions'] = array($vacation_action); + $rule['after'] = $after; + + if ($action && $action != 'keep') { + $rule['actions'][] = array( + 'type' => $action == 'discard' ? 'discard' : 'redirect', + 'copy' => $action == 'copy', + 'target' => $action != 'discard' ? $target : '', + ); + } + + if ($this->save_vacation_script($rule)) { + $this->rc->output->show_message('managesieve.vacationsaved', 'confirmation'); + $this->rc->output->send(); + } + } + + $this->rc->output->show_message($error ? $error : 'managesieve.saveerror', 'error'); + $this->rc->output->send(); + } + + /** + * Independent vacation form + */ + public function vacation_form($attrib) + { + // check supported extensions + $date_extension = in_array('date', $this->exts); + $regex_extension = in_array('regex', $this->exts); + $seconds_extension = in_array('vacation-seconds', $this->exts); + + // build FORM tag + $form_id = !empty($attrib['id']) ? $attrib['id'] : 'form'; + $out = $this->rc->output->request_form(array( + 'id' => $form_id, + 'name' => $form_id, + 'method' => 'post', + 'task' => 'settings', + 'action' => 'plugin.managesieve-vacation', + 'noclose' => true + ) + $attrib); + + $auto_addr = $this->rc->config->get('managesieve_vacation_addresses_init'); + $addresses = !$auto_addr || count($this->vacation) > 1 ? (array) $this->vacation['addresses'] : $this->user_emails(); + + // form elements + $subject = new html_inputfield(array('name' => 'vacation_subject', 'id' => 'vacation_subject', 'size' => 50)); + $reason = new html_textarea(array('name' => 'vacation_reason', 'id' => 'vacation_reason', 'cols' => 60, 'rows' => 8)); + $interval = new html_inputfield(array('name' => 'vacation_interval', 'id' => 'vacation_interval', 'size' => 5)); + $addresses = '<textarea name="vacation_addresses" id="vacation_addresses" data-type="list" data-size="30" style="display: none">' + . rcube::Q(implode("\n", $addresses), 'strict', false) . '</textarea>'; + $status = new html_select(array('name' => 'vacation_status', 'id' => 'vacation_status')); + $action = new html_select(array('name' => 'vacation_action', 'id' => 'vacation_action', 'onchange' => 'vacation_action_select()')); + $addresses_link = new html_inputfield(array( + 'type' => 'button', + 'href' => '#', + 'class' => 'button', + 'onclick' => rcmail_output::JS_OBJECT_NAME . '.managesieve_vacation_addresses()' + )); + + $status->add($this->plugin->gettext('vacation.on'), 'on'); + $status->add($this->plugin->gettext('vacation.off'), 'off'); + + $action->add($this->plugin->gettext('vacation.keep'), 'keep'); + $action->add($this->plugin->gettext('vacation.discard'), 'discard'); + $action->add($this->plugin->gettext('vacation.redirect'), 'redirect'); + if (in_array('copy', $this->exts)) { + $action->add($this->plugin->gettext('vacation.copy'), 'copy'); + } + + if ($this->rc->config->get('managesieve_vacation') != 2 && count($this->vacation['list'])) { + $after = new html_select(array('name' => 'vacation_after', 'id' => 'vacation_after')); + + $after->add('', ''); + foreach ($this->vacation['list'] as $idx => $rule) { + $after->add($rule, $idx); + } + } + + $interval_txt = $interval->show(self::vacation_interval($this->vacation)); + if ($seconds_extension) { + $interval_select = new html_select(array('name' => 'vacation_interval_type')); + $interval_select->add($this->plugin->gettext('days'), 'days'); + $interval_select->add($this->plugin->gettext('seconds'), 'seconds'); + $interval_txt .= ' ' . $interval_select->show(isset($this->vacation['seconds']) ? 'seconds' : 'days'); + } + else { + $interval_txt .= ' ' . $this->plugin->gettext('days'); + } + + if ($date_extension || $regex_extension) { + $date_from = new html_inputfield(array('name' => 'vacation_datefrom', 'id' => 'vacation_datefrom', 'class' => 'datepicker', 'size' => 12)); + $date_to = new html_inputfield(array('name' => 'vacation_dateto', 'id' => 'vacation_dateto', 'class' => 'datepicker', 'size' => 12)); + $date_format = $this->rc->config->get('date_format', 'Y-m-d'); + } + + if ($date_extension) { + $time_from = new html_inputfield(array('name' => 'vacation_timefrom', 'id' => 'vacation_timefrom', 'size' => 6)); + $time_to = new html_inputfield(array('name' => 'vacation_timeto', 'id' => 'vacation_timeto', 'size' => 6)); + $time_format = $this->rc->config->get('time_format', 'H:i'); + $date_value = array(); + + foreach ((array) $this->vacation['tests'] as $test) { + if ($test['test'] == 'currentdate') { + $idx = $test['type'] == 'value-ge' ? 'from' : 'to'; + + if ($test['part'] == 'date') { + $date_value[$idx]['date'] = $test['arg']; + } + else if ($test['part'] == 'iso8601') { + $date_value[$idx]['datetime'] = $test['arg']; + } + } + } + + foreach ($date_value as $idx => $value) { + $date = $value['datetime'] ?: $value['date']; + $date_value[$idx] = $this->rc->format_date($date, $date_format, false); + + if (!empty($value['datetime'])) { + $date_value['time_' . $idx] = $this->rc->format_date($date, $time_format, true); + } + } + } + else if ($regex_extension) { + // Sieve 'date' extension not available, read start/end from RegEx based rules instead + if ($date_tests = self::parse_regexp_tests($this->vacation['tests'])) { + $date_value['from'] = $this->rc->format_date($date_tests['from'], $date_format, false); + $date_value['to'] = $this->rc->format_date($date_tests['to'], $date_format, false); + } + } + + // force domain selection in redirect email input + $domains = (array) $this->rc->config->get('managesieve_domains'); + $redirect = $this->vacation['action'] == 'redirect' || $this->vacation['action'] == 'copy'; + + if (!empty($domains)) { + sort($domains); + + $domain_select = new html_select(array('name' => 'action_domain', 'id' => 'action_domain')); + $domain_select->add(array_combine($domains, $domains)); + + if ($redirect && $this->vacation['target']) { + $parts = explode('@', $this->vacation['target']); + if (!empty($parts)) { + $this->vacation['domain'] = array_pop($parts); + $this->vacation['target'] = implode('@', $parts); + } + } + } + + // redirect target + $action_target = ' <span id="action_target_span" style="display:' . ($redirect ? 'inline' : 'none') . '">' + . '<input type="text" name="action_target" id="action_target"' + . ' value="' .($redirect ? rcube::Q($this->vacation['target'], 'strict', false) : '') . '"' + . (!empty($domains) ? ' size="20"' : ' size="35"') . '/>' + . (!empty($domains) ? ' @ ' . $domain_select->show($this->vacation['domain']) : '') + . '</span>'; + + // Message tab + $table = new html_table(array('cols' => 2)); + + $table->add('title', html::label('vacation_subject', $this->plugin->gettext('vacation.subject'))); + $table->add(null, $subject->show($this->vacation['subject'])); + $table->add('title', html::label('vacation_reason', $this->plugin->gettext('vacation.body'))); + $table->add(null, $reason->show($this->vacation['reason'])); + + if ($date_extension || $regex_extension) { + $table->add('title', html::label('vacation_datefrom', $this->plugin->gettext('vacation.start'))); + $table->add(null, $date_from->show($date_value['from']) . ($time_from ? ' ' . $time_from->show($date_value['time_from']) : '')); + $table->add('title', html::label('vacation_dateto', $this->plugin->gettext('vacation.end'))); + $table->add(null, $date_to->show($date_value['to']) . ($time_to ? ' ' . $time_to->show($date_value['time_to']) : '')); + } + + $table->add('title', html::label('vacation_status', $this->plugin->gettext('vacation.status'))); + $table->add(null, $status->show(!isset($this->vacation['disabled']) || $this->vacation['disabled'] ? 'off' : 'on')); + + $out .= html::tag('fieldset', $class, html::tag('legend', null, $this->plugin->gettext('vacation.reply')) . $table->show($attrib)); + + // Advanced tab + $table = new html_table(array('cols' => 2)); + + $table->add('title', html::label('vacation_addresses', $this->plugin->gettext('vacation.addresses'))); + $table->add(null, $addresses . $addresses_link->show($this->plugin->gettext('filladdresses'))); + $table->add('title', html::label('vacation_interval', $this->plugin->gettext('vacation.interval'))); + $table->add(null, $interval_txt); + + if ($after) { + $table->add('title', html::label('vacation_after', $this->plugin->gettext('vacation.after'))); + $table->add(null, $after->show($this->vacation['idx'] - 1)); + } + + $table->add('title', html::label('vacation_action', $this->plugin->gettext('vacation.action'))); + $table->add('vacation', $action->show($this->vacation['action']) . $action_target); + + $out .= html::tag('fieldset', $class, html::tag('legend', null, $this->plugin->gettext('vacation.advanced')) . $table->show($attrib)); + + $out .= '</form>'; + + $this->rc->output->add_gui_object('sieveform', $form_id); + + if ($time_format) { + $this->rc->output->set_env('time_format', $time_format); + } + + return $out; + } + + public static function build_regexp_tests($date_from, $date_to, &$error) + { + $tests = array(); + $dt_from = rcube_utils::anytodatetime($date_from); + $dt_to = rcube_utils::anytodatetime($date_to); + $interval = $dt_from->diff($dt_to); + + if ($interval->invert || $interval->days > 365) { + $error = 'managesieve.invaliddateformat'; + return; + } + + $dt_i = $dt_from; + $interval = new DateInterval('P1D'); + $matchexp = ''; + + while (!$dt_i->diff($dt_to)->invert) { + $days = (int) $dt_i->format('d'); + $matchexp .= $days < 10 ? "[ 0]$days" : $days; + + if ($days == $dt_i->format('t') || $dt_i->diff($dt_to)->days == 0) { + $test = array( + 'test' => 'header', + 'type' => 'regex', + 'arg1' => 'received', + 'arg2' => '('.$matchexp.') '.$dt_i->format('M Y') + ); + + $tests[] = $test; + $matchexp = ''; + } + else { + $matchexp .= '|'; + } + + $dt_i->add($interval); + } + + return $tests; + } + + public static function parse_regexp_tests($tests) + { + $rx_from = '/^\(([0-9]{2}).*\)\s([A-Za-z]+)\s([0-9]{4})/'; + $rx_to = '/^\(.*([0-9]{2})\)\s([A-Za-z]+)\s([0-9]{4})/'; + $result = array(); + + foreach ((array) $tests as $test) { + if ($test['test'] == 'header' && $test['type'] == 'regex' && $test['arg1'] == 'received') { + $textexp = preg_replace('/\[ ([^\]]*)\]/', '0', $test['arg2']); + + if (!$result['from'] && preg_match($rx_from, $textexp, $matches)) { + $result['from'] = $matches[1]." ".$matches[2]." ".$matches[3]; + } + + if (preg_match($rx_to, $textexp, $matches)) { + $result['to'] = $matches[1]." ".$matches[2]." ".$matches[3]; + } + } + } + + return $result; + } + + /** + * Get current vacation interval + */ + public static function vacation_interval(&$vacation) + { + $rcube = rcube::get_instance(); + + if (isset($vacation['seconds'])) { + $interval = $vacation['seconds']; + } + else if (isset($vacation['days'])) { + $interval = $vacation['days']; + } + else if ($interval_cfg = $rcube->config->get('managesieve_vacation_interval')) { + if (preg_match('/^([0-9]+)s$/', $interval_cfg, $m)) { + if ($seconds_extension) { + $vacation['seconds'] = ($interval = intval($m[1])) ? $interval : null; + } + else { + $vacation['days'] = $interval = ceil(intval($m[1])/86400); + } + } + else { + $vacation['days'] = $interval = intval($interval_cfg); + } + } + + return $interval ? $interval : ''; + } + + /** + * Saves vacation script (adding some variables) + */ + protected function save_vacation_script($rule) + { + // if script does not exist create a new one + if ($this->script_name === null || $this->script_name === false) { + $this->script_name = $this->rc->config->get('managesieve_script_name'); + if (empty($this->script_name)) { + $this->script_name = 'roundcube'; + } + + // use default script contents + if (!$this->rc->config->get('managesieve_kolab_master')) { + $script_file = $this->rc->config->get('managesieve_default'); + if ($script_file && is_readable($script_file)) { + $content = file_get_contents($script_file); + } + } + + // create and load script + if ($this->sieve->save_script($this->script_name, $content)) { + $this->sieve->load($this->script_name); + } + } + + $script_active = in_array($this->script_name, $this->active); + + // re-order rules if needed + if (isset($rule['after']) && $rule['after'] !== '') { + // reset original vacation rule + if (isset($this->vacation['idx'])) { + $this->script[$this->vacation['idx']] = null; + } + + // add at target position + if ($rule['after'] >= count($this->script) - 1) { + $this->script[] = $rule; + } + else { + $script = array(); + + foreach ($this->script as $idx => $r) { + if ($r) { + $script[] = $r; + } + + if ($idx == $rule['after']) { + $script[] = $rule; + } + } + + $this->script = $script; + } + + $this->script = array_values(array_filter($this->script)); + } + // update original vacation rule if it exists + else if (isset($this->vacation['idx'])) { + $this->script[$this->vacation['idx']] = $rule; + } + // otherwise put vacation rule on top + else { + array_unshift($this->script, $rule); + } + + // if the script was not active, we need to de-activate + // all rules except the vacation rule, but only if it is not disabled + if (!$script_active && !$rule['disabled']) { + foreach ($this->script as $idx => $r) { + if (empty($r['actions']) || $r['actions'][0]['type'] != 'vacation') { + $this->script[$idx]['disabled'] = true; + } + } + } + + if (!$this->sieve->script) { + return false; + } + + $this->sieve->script->content = $this->script; + + // save the script + $saved = $this->save_script($this->script_name); + + // activate the script + if ($saved && !$script_active && !$rule['disabled']) { + $this->activate_script($this->script_name); + } + + return $saved; + } + + /** + * API: get vacation rule + * + * @return array Vacation rule information + */ + public function get_vacation() + { + $this->exts = $this->sieve->get_extensions(); + $this->init_script(); + $this->vacation_rule(); + + // check supported extensions + $date_extension = in_array('date', $this->exts); + $regex_extension = in_array('regex', $this->exts); + $seconds_extension = in_array('vacation-seconds', $this->exts); + + // set user's timezone + try { + $timezone = new DateTimeZone($this->rc->config->get('timezone', 'GMT')); + } + catch (Exception $e) { + $timezone = new DateTimeZone('GMT'); + } + + if ($date_extension) { + $date_value = array(); + foreach ((array) $this->vacation['tests'] as $test) { + if ($test['test'] == 'currentdate') { + $idx = $test['type'] == 'value-ge' ? 'start' : 'end'; + + if ($test['part'] == 'date') { + $date_value[$idx]['date'] = $test['arg']; + } + else if ($test['part'] == 'iso8601') { + $date_value[$idx]['datetime'] = $test['arg']; + } + } + } + + foreach ($date_value as $idx => $value) { + $$idx = new DateTime($value['datetime'] ?: $value['date'], $timezone); + } + } + else if ($regex_extension) { + // Sieve 'date' extension not available, read start/end from RegEx based rules instead + if ($date_tests = self::parse_regexp_tests($this->vacation['tests'])) { + $from = new DateTime($date_tests['from'] . ' ' . '00:00:00', $timezone); + $to = new DateTime($date_tests['to'] . ' ' . '23:59:59', $timezone); + } + } + + if (isset($this->vacation['seconds'])) { + $interval = $this->vacation['seconds'] . 's'; + } + else if (isset($this->vacation['days'])) { + $interval = $this->vacation['days'] . 'd'; + } + + $vacation = array( + 'supported' => $this->exts, + 'interval' => $interval, + 'start' => $start, + 'end' => $end, + 'enabled' => $this->vacation['reason'] && empty($this->vacation['disabled']), + 'message' => $this->vacation['reason'], + 'subject' => $this->vacation['subject'], + 'action' => $this->vacation['action'], + 'target' => $this->vacation['target'], + 'addresses' => $this->vacation['addresses'], + ); + + return $vacation; + } + + /** + * API: set vacation rule + * + * @param array $vacation Vacation rule information (see self::get_vacation()) + * + * @return bool True on success, False on failure + */ + public function set_vacation($data) + { + $this->exts = $this->sieve->get_extensions(); + $this->error = false; + + $this->init_script(); + $this->vacation_rule(); + + // check supported extensions + $date_extension = in_array('date', $this->exts); + $regex_extension = in_array('regex', $this->exts); + $seconds_extension = in_array('vacation-seconds', $this->exts); + + $vacation['type'] = 'vacation'; + $vacation['reason'] = $this->strip_value(str_replace("\r\n", "\n", $data['message'])); + $vacation['addresses'] = $data['addresses']; + $vacation['subject'] = $data['subject']; + $vacation_tests = (array) $this->vacation['tests']; + + foreach ((array) $vacation['addresses'] as $aidx => $address) { + $vacation['addresses'][$aidx] = $address = trim($address); + + if (empty($address)) { + unset($vacation['addresses'][$aidx]); + } + else if (!rcube_utils::check_email($address)) { + $this->error = "Invalid address in vacation addresses: $address"; + return false; + } + } + + if ($vacation['reason'] == '') { + $this->error = "No vacation message specified"; + return false; + } + + if ($data['interval']) { + if (!preg_match('/^([0-9]+)\s*([sd])$/', $data['interval'], $m)) { + $this->error = "Invalid vacation interval value: " . $data['interval']; + return false; + } + else if ($m[1]) { + $vacation[strtolower($m[2]) == 's' ? 'seconds' : 'days'] = $m[1]; + } + } + + // find and remove existing date/regex/true rules + foreach ((array) $vacation_tests as $idx => $t) { + if ($t['test'] == 'currentdate' || $t['test'] == 'true' + || ($t['test'] == 'header' && $t['type'] == 'regex' && $t['arg1'] == 'received') + ) { + unset($vacation_tests[$idx]); + } + } + + if ($date_extension) { + foreach (array('start', 'end') as $var) { + if ($dt = $data[$var]) { + $vacation_tests[] = array( + 'test' => 'currentdate', + 'part' => 'iso8601', + 'type' => 'value-' . ($var == 'start' ? 'ge' : 'le'), + 'zone' => $dt->format('O'), + 'arg' => str_replace('+00:00', 'Z', strtoupper($dt->format('c'))), + ); + } + } + } + else if ($regex_extension) { + // Add date range rules if range specified + if ($data['start'] && $data['end']) { + if ($tests = self::build_regexp_tests($data['start'], $data['end'], $error)) { + $vacation_tests = array_merge($vacation_tests, $tests); + } + + if ($error) { + $this->error = "Invalid dates specified or unsupported period length"; + return false; + } + } + } + + if ($data['action'] == 'redirect' || $data['action'] == 'copy') { + if (empty($data['target']) || !rcube_utils::check_email($data['target'])) { + $this->error = "Invalid address in action taget: " . $data['target']; + return false; + } + } + else if ($data['action'] && $data['action'] != 'keep' && $data['action'] != 'discard') { + $this->error = "Unsupported vacation action: " . $data['action']; + return false; + } + + if (empty($vacation_tests)) { + $vacation_tests = $this->rc->config->get('managesieve_vacation_test', array(array('test' => 'true'))); + } + + $rule = $this->vacation; + $rule['type'] = 'if'; + $rule['name'] = $rule['name'] ?: 'Out-of-Office'; + $rule['disabled'] = isset($data['enabled']) && !$data['enabled']; + $rule['tests'] = $vacation_tests; + $rule['join'] = $date_extension ? count($vacation_tests) > 1 : false; + $rule['actions'] = array($vacation); + + if ($data['action'] && $data['action'] != 'keep') { + $rule['actions'][] = array( + 'type' => $data['action'] == 'discard' ? 'discard' : 'redirect', + 'copy' => $data['action'] == 'copy', + 'target' => $data['action'] != 'discard' ? $data['target'] : '', + ); + } + + return $this->save_vacation_script($rule); + } + + /** + * API: connect to managesieve server + */ + public function connect($username, $password) + { + if (!parent::connect($username, $password)) { + return $this->load_script(); + } + } + + /** + * API: Returns last error + * + * @return string Error message + */ + public function get_error() + { + return $this->error; + } +} diff --git a/plugins/managesieve/localization/ar_SA.inc b/plugins/managesieve/localization/ar_SA.inc new file mode 100644 index 000000000..88e89579b --- /dev/null +++ b/plugins/managesieve/localization/ar_SA.inc @@ -0,0 +1,188 @@ +<?php + +/* + +-----------------------------------------------------------------------+ + | plugins/managesieve/localization/<lang>.inc | + | | + | Localization file of the Roundcube Webmail Managesieve 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-managesieve/ +*/ +$labels['filters'] = 'تصفية'; +$labels['managefilters'] = 'ادارة تصفية البريد الوارد'; +$labels['filtername'] = 'اسم التصفية'; +$labels['newfilter'] = 'تصفية جديدة'; +$labels['filteradd'] = 'اضافة تصفية'; +$labels['filterdel'] = 'حذف تصفية'; +$labels['moveup'] = 'نقل الى الاعلى '; +$labels['movedown'] = 'نقل الى الاسفل'; +$labels['filterallof'] = 'مطابقة جميع القواعد التالية'; +$labels['filteranyof'] = 'مطابقة اي القواعد التالية'; +$labels['filterany'] = 'كل الرسائل'; +$labels['filtercontains'] = 'محتوى'; +$labels['filternotcontains'] = 'بدون محتوى'; +$labels['filteris'] = 'مساوي الى'; +$labels['filterisnot'] = 'لا يساوي'; +$labels['filterexists'] = 'موجود'; +$labels['filternotexists'] = 'غير موجود'; +$labels['filtermatches'] = 'يطابق التعبير'; +$labels['filternotmatches'] = 'لا يطابق التعبير'; +$labels['filterregex'] = 'يطابق التعبير العادي'; +$labels['filternotregex'] = 'لا يطابق التعبير العادي'; +$labels['filterunder'] = 'تحت'; +$labels['filterover'] = 'خلال'; +$labels['addrule'] = 'اضافة قاعدة'; +$labels['delrule'] = 'حذف قاعدة'; +$labels['messagemoveto'] = 'نقل الرساله الى '; +$labels['messageredirect'] = 'إعادة توجيه الرسالة الى '; +$labels['messagecopyto'] = 'نسخ الرسالة الى '; +$labels['messagesendcopy'] = 'ارسال نسخة من الرسالة الى '; +$labels['messagereply'] = 'الرد مع رسالة'; +$labels['messagedelete'] = 'حذف الرسالة'; +$labels['messagediscard'] = 'تجاهل مع الرسالة'; +$labels['messagekeep'] = 'إبقاء الرسالة في علبة الوارد'; +$labels['messagesrules'] = 'للبريد الوارد:'; +$labels['messagesactions'] = '...تنفيذ المهام التالية:'; +$labels['add'] = 'إضافة'; +$labels['del'] = 'حذف'; +$labels['sender'] = 'المرسل'; +$labels['recipient'] = 'مستلم'; +$labels['vacationaddr'] = 'عناوين البريد الالكتروني(ـة) الاضافية:'; +$labels['vacationdays'] = 'في الغالب كم رسالة ترسل (بالايام):'; +$labels['vacationinterval'] = 'كم عدد الرسائل المرسلة عادةً:'; +$labels['vacationreason'] = 'نص الرسالة (بسبب الاجازة):'; +$labels['vacationsubject'] = 'موضوع الرسالة:'; +$labels['days'] = 'ايام'; +$labels['seconds'] = 'ثواني'; +$labels['rulestop'] = 'ايقاف تقييم القواعد'; +$labels['enable'] = 'تفعيل/تعطيل'; +$labels['filterset'] = 'مجموعة مصفياة'; +$labels['filtersets'] = 'مجموعة تصفية'; +$labels['filtersetadd'] = 'اضافة مجموعة تصفية'; +$labels['filtersetdel'] = 'حذف مجموعة التصفية الحالية'; +$labels['filtersetact'] = 'تفعيل مجموعة التصفية الحالية '; +$labels['filtersetdeact'] = 'تعطيل مجموعة التصفية الحالية '; +$labels['filterdef'] = 'تعريف التصفية '; +$labels['filtersetname'] = 'اسم مجموعة التصفية'; +$labels['newfilterset'] = 'مجموعة تصفية جديدة'; +$labels['active'] = 'نشط'; +$labels['none'] = 'لاشيء'; +$labels['fromset'] = 'من مجموعة'; +$labels['fromfile'] = 'من ملف'; +$labels['filterdisabled'] = 'تعطيل التصفية'; +$labels['countisgreaterthan'] = 'العدد اكبر من '; +$labels['countisgreaterthanequal'] = 'العدد اكبر من او يساوي '; +$labels['countislessthan'] = 'العدد اقل من '; +$labels['countislessthanequal'] = 'العدد اقل من او يساوي'; +$labels['countequals'] = 'العدد يساوي '; +$labels['countnotequals'] = 'العدد لا يساوي'; +$labels['valueisgreaterthan'] = 'القيمة اكبر من '; +$labels['valueisgreaterthanequal'] = 'القيمة اكبر من او تساوي'; +$labels['valueislessthan'] = 'القيمة اقل من '; +$labels['valueislessthanequal'] = 'القيمة اقل من او يساوي'; +$labels['valueequals'] = 'القيمة تساوي'; +$labels['valuenotequals'] = 'القيمة لا تساوي'; +$labels['setflags'] = 'ضع وسم على هذه الرسالة '; +$labels['addflags'] = 'اضف وسم على هذه الرسالة '; +$labels['removeflags'] = 'احذف الوسم الموجود على هذه الرسالة '; +$labels['flagread'] = 'قراءة '; +$labels['flagdeleted'] = 'محذوف'; +$labels['flaganswered'] = 'مجابة'; +$labels['flagflagged'] = 'موسوم'; +$labels['flagdraft'] = 'مسودة'; +$labels['setvariable'] = 'تعيين متغير'; +$labels['setvarname'] = 'اسم المتغير:'; +$labels['setvarvalue'] = 'قيمة المتغير:'; +$labels['setvarmodifiers'] = 'تعديلات:'; +$labels['varquotewildcard'] = 'أقتبس أحرف خاصة'; +$labels['varlength'] = 'الطول'; +$labels['notify'] = 'ارسل تنبية'; +$labels['notifyimportance'] = 'اهمية:'; +$labels['notifyimportancelow'] = 'منخفض'; +$labels['notifyimportancenormal'] = 'عادي'; +$labels['notifyimportancehigh'] = 'مرتفع'; +$labels['filtercreate'] = 'انشئ تصفية'; +$labels['usedata'] = 'استخدم البيانات التالية في الفلتر:'; +$labels['nextstep'] = 'الخطوة التالية'; +$labels['...'] = '...'; +$labels['currdate'] = 'التاريخ الحالي'; +$labels['datetest'] = 'التاريخ'; +$labels['dateheader'] = 'الراس:'; +$labels['year'] = 'السنة'; +$labels['month'] = 'شهر'; +$labels['day'] = 'يوم'; +$labels['date'] = 'التاريخ (yyyy-mm-dd)'; +$labels['julian'] = 'التاريخ (يوليان)'; +$labels['hour'] = 'ساعات'; +$labels['minute'] = 'دقائق'; +$labels['second'] = 'ثواني'; +$labels['time'] = 'الوقت (hh:mm:ss)'; +$labels['iso8601'] = 'التاريخ (ISO8601)'; +$labels['std11'] = 'التاريخ (RFC2822)'; +$labels['zone'] = 'المنطقة الزمنية'; +$labels['weekday'] = 'ايام العمل (0-6)'; +$labels['advancedopts'] = 'خيارات متقدّمة'; +$labels['body'] = 'نص'; +$labels['address'] = 'العنوان'; +$labels['modifier'] = 'تعديل:'; +$labels['text'] = 'نص'; +$labels['contenttype'] = 'نوع المحتوى'; +$labels['modtype'] = 'نوع:'; +$labels['allparts'] = 'الكل'; +$labels['domain'] = 'المجال'; +$labels['localpart'] = 'الجزء المحلي'; +$labels['user'] = 'مستخدم'; +$labels['detail'] = 'تفاصيل'; +$labels['default'] = 'افتراضي'; +$labels['index'] = 'الوارد:'; +$labels['indexlast'] = 'تراجع'; +$labels['vacation'] = 'اجازة '; +$labels['vacation.advanced'] = 'اعدادات متقدمة'; +$labels['vacation.subject'] = 'موضوع'; +$labels['vacation.body'] = 'محتوى '; +$labels['vacation.status'] = 'الحالة '; +$labels['vacation.on'] = 'تشغيل'; +$labels['vacation.off'] = 'ايقاف'; +$labels['vacation.addresses'] = 'عناوينني الاضافية'; +$labels['vacation.saving'] = 'يتم حفظ البيانات...'; +$messages['filterunknownerror'] = 'خطا غير معروف من الخادم.'; +$messages['filterconnerror'] = 'لا يمكن الاتصال بالخادم.'; +$messages['filterdeleteerror'] = 'لا يمكن حذف التصفية.خطا في الخادم.'; +$messages['filterdeleted'] = 'تم حذف التصفية بنجاح.'; +$messages['filtersaved'] = 'تم حفظ التصفية بنجاح.'; +$messages['filtersaveerror'] = 'لا يمكن حفظ التصفية.خطا في الخادم.'; +$messages['filterdeleteconfirm'] = 'هل تريد فعلاً حذف التصفية المحددة؟'; +$messages['ruledeleteconfirm'] = 'هل تريد فعلاً حذف القواعد المحددة؟'; +$messages['actiondeleteconfirm'] = 'هل تريد فعلاً حذف الاجراءات المحددة؟'; +$messages['forbiddenchars'] = 'احرف محظورة في هذا الحقل.'; +$messages['cannotbeempty'] = 'لا يمكن ترك الحقل فارغاً'; +$messages['ruleexist'] = 'اسم هذة التصفية موجود مسبقاً'; +$messages['setactivateerror'] = 'لا يمكن تفعيل مجموعة التصفية المحددة.خطا في الخادم.'; +$messages['setdeactivateerror'] = 'لا يمكن تعطيل مجموعة التصفية المحددة.خطا في الخادم.'; +$messages['setdeleteerror'] = 'لا يمكن حذف مجموعة التصفية المحددة.خطا في الخادم.'; +$messages['setactivated'] = 'تم تفعيل مجموعة التصفية بنجاح.'; +$messages['setdeactivated'] = 'تم تعطيل مجموعة التصفية بنجاح.'; +$messages['setdeleted'] = 'تم حذف مجموعة التصفية بنجاح.'; +$messages['setdeleteconfirm'] = 'هل تريد فعلاً حذف مجموعات التصفية المحددة؟'; +$messages['setcreateerror'] = 'لا يمكن انشاء مجموعة تصفية.خطا في الخادم.'; +$messages['setcreated'] = 'تم انشاء مجموعة التصفية بنجاح.'; +$messages['activateerror'] = 'لا يمكن تمكين التصفية(ـات) المحددة .خطا في الخادم.'; +$messages['deactivateerror'] = 'لا يمكن تعطيل التصفية(ـات) المحددة .خطا في الخادم.'; +$messages['deactivated'] = 'تم تعطيل المصفيـ(ـاة) بنجاح.'; +$messages['activated'] = 'تم تفعيل المصفيـ(ـاة) بنجاح.'; +$messages['moved'] = 'تم نقل التصفية بنجاح.'; +$messages['moveerror'] = 'لا يمكن نقل التصفياة المحددة.خطا في الخادم.'; +$messages['nametoolong'] = 'الإسم طويل جداً'; +$messages['setexist'] = 'المجموعة موجودة مسبقا.'; +$messages['nodata'] = 'يجب تحديد موضع واحد على الأقل!'; +$messages['invaliddateformat'] = 'تاريخ غير صحيح او يوجد خطا في تنسق اجزاء التاريخ'; +$messages['saveerror'] = 'لا يمكن حفظ البيانات. خطا في الخادم.'; +$messages['vacationsaved'] = 'تم حفظ تاريخ الاجازة بنجاح.'; +?> diff --git a/plugins/managesieve/localization/ast.inc b/plugins/managesieve/localization/ast.inc new file mode 100644 index 000000000..e1c469b80 --- /dev/null +++ b/plugins/managesieve/localization/ast.inc @@ -0,0 +1,50 @@ +<?php + +/* + +-----------------------------------------------------------------------+ + | plugins/managesieve/localization/<lang>.inc | + | | + | Localization file of the Roundcube Webmail Managesieve 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-managesieve/ +*/ +$labels['filters'] = 'Filtros'; +$labels['managefilters'] = 'Alministrar filtros de corréu entrante'; +$labels['filtername'] = 'Nome del filtru'; +$labels['newfilter'] = 'Filtru nuevu'; +$labels['filteradd'] = 'Amestar filtru'; +$labels['filterdel'] = 'Desaniciar filtru'; +$labels['moveup'] = 'Mover arriba'; +$labels['movedown'] = 'Mover abaxo'; +$labels['filterany'] = 'tolos mensaxes'; +$labels['filtercontains'] = 'contien'; +$labels['filternotcontains'] = 'nun contien'; +$labels['filteris'] = 'ye igual a'; +$labels['filterisnot'] = 'nun ye igual a'; +$labels['filterexists'] = 'esiste'; +$labels['filternotexists'] = 'nun esiste'; +$labels['filtermatches'] = 'espresiones que concasen'; +$labels['filternotmatches'] = 'espresiones que nun concasen'; +$labels['addrule'] = 'Amestar regla'; +$labels['delrule'] = 'Desaniciar regla'; +$labels['messagemoveto'] = 'Mover mensaxe a'; +$labels['messageredirect'] = 'Redireicionar mensaxe a'; +$labels['messagecopyto'] = 'Copiar mensaxe a'; +$labels['messagedelete'] = 'Desaniciar mensaxe'; +$labels['messagesrules'] = 'Pa corréu entrante:'; +$labels['messagesactions'] = '...executar les aiciones siguientes:'; +$labels['add'] = 'Amestar'; +$labels['del'] = 'Desaniciar'; +$labels['sender'] = 'Remitente'; +$labels['enable'] = 'Habilitar/Deshabilitar'; +$labels['flagread'] = 'Lleer'; +$labels['flagdeleted'] = 'Desaniciáu'; +$labels['flaganswered'] = 'Respondíu'; +?> diff --git a/plugins/managesieve/localization/az_AZ.inc b/plugins/managesieve/localization/az_AZ.inc new file mode 100644 index 000000000..8aec7e383 --- /dev/null +++ b/plugins/managesieve/localization/az_AZ.inc @@ -0,0 +1,188 @@ +<?php + +/* + +-----------------------------------------------------------------------+ + | plugins/managesieve/localization/<lang>.inc | + | | + | Localization file of the Roundcube Webmail Managesieve 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-managesieve/ +*/ +$labels['filters'] = 'Süzgəclər'; +$labels['managefilters'] = 'Gələn məktub üçün süzgəclərin idarəsi'; +$labels['filtername'] = 'Süzgəcin adı'; +$labels['newfilter'] = 'Yeni süzgəc'; +$labels['filteradd'] = 'Süzgəc əlavə et'; +$labels['filterdel'] = 'Süzgəci sil'; +$labels['moveup'] = 'Yuxarı apar'; +$labels['movedown'] = 'Aşağı apar'; +$labels['filterallof'] = 'göstərilən bütün qaydalara uyur'; +$labels['filteranyof'] = 'verilmiş istənilən qaydaya uyur'; +$labels['filterany'] = 'bütün məktublar'; +$labels['filtercontains'] = 'daxildir'; +$labels['filternotcontains'] = 'daxil deyil'; +$labels['filteris'] = 'uyğundur'; +$labels['filterisnot'] = 'uyğun deyil'; +$labels['filterexists'] = 'mövcuddur'; +$labels['filternotexists'] = 'mövcud deyil'; +$labels['filtermatches'] = 'ifadə ilə üst-üstə düşür'; +$labels['filternotmatches'] = 'ifadə ilə üst-üstə düşmür'; +$labels['filterregex'] = 'daimi ifadənin nəticəsi ilə üst-üstə düşür'; +$labels['filternotregex'] = 'daimi ifadə ilə üst-üstə düşmür'; +$labels['filterunder'] = 'altında'; +$labels['filterover'] = 'yuxarıda'; +$labels['addrule'] = 'Qayda əlavə et'; +$labels['delrule'] = 'Qaydanı sil'; +$labels['messagemoveto'] = 'Məktubu köçür'; +$labels['messageredirect'] = 'Məktubu yolla'; +$labels['messagecopyto'] = 'Məktubu kopyala'; +$labels['messagesendcopy'] = 'Məktubun kopyasını göndər'; +$labels['messagereply'] = 'Məktubla cavab ver'; +$labels['messagedelete'] = 'Sil'; +$labels['messagediscard'] = 'Məktubla rədd et'; +$labels['messagekeep'] = 'Məktubu gələnlərdə saxla'; +$labels['messagesrules'] = 'Daxil olan məktub üçün:'; +$labels['messagesactions'] = '...növbəti hərəkəti yerinə yetir:'; +$labels['add'] = 'Əlavə et'; +$labels['del'] = 'Sil'; +$labels['sender'] = 'Göndərən'; +$labels['recipient'] = 'Qəbul edən'; +$labels['vacationaddr'] = 'Mənim əlavə e-poçt ünvan(lar)ım: '; +$labels['vacationdays'] = 'Məktub neçə müddətdən bir göndərilsin (gündə):'; +$labels['vacationinterval'] = 'Məktublar nə qədər sıx göndərilsin:'; +$labels['vacationreason'] = 'Məktubun mətni (səbəb yoxdur):'; +$labels['vacationsubject'] = 'Məktubun mövzusu:'; +$labels['days'] = 'günlər'; +$labels['seconds'] = 'saniyələr'; +$labels['rulestop'] = 'Yerinə yetirməyi dayandır'; +$labels['enable'] = 'Yandır/Söndür'; +$labels['filterset'] = 'Süzgəc dəsti'; +$labels['filtersets'] = 'Süzgəc dəstləri'; +$labels['filtersetadd'] = 'Süzgəc dəsti əlavə et'; +$labels['filtersetdel'] = 'İndiki sücgəc dəstini sil'; +$labels['filtersetact'] = 'İndiki sücgəc dəstini yandır'; +$labels['filtersetdeact'] = 'İndiki süzgəc dəstini söndür'; +$labels['filterdef'] = 'Süzgəcin təsviri'; +$labels['filtersetname'] = 'Süzgəc dəstinin adı'; +$labels['newfilterset'] = 'Yeni süzgəc dəsti'; +$labels['active'] = 'aktiv'; +$labels['none'] = 'heç biri'; +$labels['fromset'] = 'dəstdən'; +$labels['fromfile'] = 'fayldan'; +$labels['filterdisabled'] = 'Süzgəci söndür'; +$labels['countisgreaterthan'] = 'sayı buradan daha çoxdur'; +$labels['countisgreaterthanequal'] = 'say çox və ya bərabərdir'; +$labels['countislessthan'] = 'say buradan azdır'; +$labels['countislessthanequal'] = 'say azdır və ya bərabərdir'; +$labels['countequals'] = 'say bərabərdir'; +$labels['countnotequals'] = 'say bərabər deyil'; +$labels['valueisgreaterthan'] = 'dəyər buradan daha böyükdür'; +$labels['valueisgreaterthanequal'] = 'dəyər çoxdur və ya bərabərdir'; +$labels['valueislessthan'] = 'dəyər buradan azdır'; +$labels['valueislessthanequal'] = 'dəyər azdır və ya bərabərdir'; +$labels['valueequals'] = 'dəyər bərabərdir'; +$labels['valuenotequals'] = 'dəyər bərabər deyil'; +$labels['setflags'] = 'Məktublara flaq quraşdır'; +$labels['addflags'] = 'Məktuba flaq əlavə et'; +$labels['removeflags'] = 'Məktubdan flaqları sil'; +$labels['flagread'] = 'Oxu'; +$labels['flagdeleted'] = 'Silindi'; +$labels['flaganswered'] = 'Cavab verilmiş'; +$labels['flagflagged'] = 'İşarəlilər'; +$labels['flagdraft'] = 'Qaralama'; +$labels['setvariable'] = 'Dəyişəni təyin et'; +$labels['setvarname'] = 'Dəyişənin adı:'; +$labels['setvarvalue'] = 'Dəyişənin dəyəri:'; +$labels['setvarmodifiers'] = 'Modifikatorlar'; +$labels['varlower'] = 'aşağı registr'; +$labels['varupper'] = 'yuxarı registr'; +$labels['varlowerfirst'] = 'aşağı registrdə birinci simvol'; +$labels['varupperfirst'] = 'yuxarı registrdə birinci simvol'; +$labels['varquotewildcard'] = 'dırnaq simvolu'; +$labels['varlength'] = 'uzunluq'; +$labels['notify'] = 'Bildiriş göndər'; +$labels['notifyimportance'] = 'Vaciblik'; +$labels['notifyimportancelow'] = 'aşağı'; +$labels['notifyimportancenormal'] = 'normal'; +$labels['notifyimportancehigh'] = 'yuxarı'; +$labels['filtercreate'] = 'Süzgəc yarat'; +$labels['usedata'] = 'Süzgəcdə bu məlumatları istifadə et:'; +$labels['nextstep'] = 'Sonrakı'; +$labels['...'] = '...'; +$labels['currdate'] = 'İndiki tarix'; +$labels['datetest'] = 'Tarix'; +$labels['dateheader'] = 'başlıq:'; +$labels['year'] = 'il'; +$labels['month'] = 'ay'; +$labels['day'] = 'gün'; +$labels['date'] = 'tarix (iiii-aa-gg)'; +$labels['julian'] = 'tarix (yulian)'; +$labels['hour'] = 'saat'; +$labels['minute'] = 'dəqiqə'; +$labels['second'] = 'saniyə'; +$labels['time'] = 'saat (sa:dd:sn)'; +$labels['iso8601'] = 'tarix (ISO8601)'; +$labels['std11'] = 'tarix (RFC2822)'; +$labels['zone'] = 'saat-zona'; +$labels['weekday'] = 'həftənin günü (0-6)'; +$labels['advancedopts'] = 'Əlavə ayarlar'; +$labels['body'] = 'Məzmun'; +$labels['address'] = 'ünvan'; +$labels['envelope'] = 'zərf'; +$labels['modifier'] = 'modifikator:'; +$labels['text'] = 'mətn'; +$labels['undecoded'] = 'emal olunmamış (xammal)'; +$labels['contenttype'] = 'məzmun növü'; +$labels['modtype'] = 'növ:'; +$labels['allparts'] = 'hamısı'; +$labels['domain'] = 'domen'; +$labels['localpart'] = 'lokal hissə'; +$labels['user'] = 'istifadəçi'; +$labels['detail'] = 'təfsilat'; +$labels['comparator'] = 'komparator:'; +$labels['default'] = 'ön qurğulu'; +$labels['octet'] = 'ciddi (oktet)'; +$labels['asciicasemap'] = 'qeydiyyat üzrə müstəqil (ascii-casemap)'; +$labels['asciinumeric'] = 'ədədi (ascii-numeric)'; +$labels['index'] = 'indeks:'; +$labels['indexlast'] = 'arxaya'; +$messages['filterunknownerror'] = 'Serverin naməlum xətası.'; +$messages['filterconnerror'] = 'Serverə qoşulmaq alınmır'; +$messages['filterdeleteerror'] = 'Süzgəci silmək mümkün deyil. Server xətası.'; +$messages['filterdeleted'] = 'Süzgəc uğurla silindi.'; +$messages['filtersaved'] = 'Süzgəc uğurla saxlanıldı.'; +$messages['filtersaveerror'] = 'Süzgəci saxlamaq mümkün deyil. Server xətası.'; +$messages['filterdeleteconfirm'] = 'Siz həqiqətən süzgəci silmək istəyirsiniz?'; +$messages['ruledeleteconfirm'] = 'Bu qaydanı silməkdə əminsiniz?'; +$messages['actiondeleteconfirm'] = 'Bu hərəkəti silməkdə əminsiniz?'; +$messages['forbiddenchars'] = 'Sahədə qadağan edilən işarələr.'; +$messages['cannotbeempty'] = 'Sahə boş ola bilməz.'; +$messages['ruleexist'] = 'Bu adla süzgəc artıq mövcuddur.'; +$messages['setactivateerror'] = 'Seçilmiş süzgəcləri aktiv etmək mümkün deyil. Server xətası.'; +$messages['setdeactivateerror'] = 'Seçilmiş süzgəcləri deaktiv mümkün deyil. Server xətası.'; +$messages['setdeleteerror'] = 'Seçilmiş süzgəcləri silmək mümkün deyil. Server xətası.'; +$messages['setactivated'] = 'Süzgəc dəsti yandırıldı.'; +$messages['setdeactivated'] = 'Süzgəc dəsti söndürüldü.'; +$messages['setdeleted'] = 'Süzgəc dəsti silindi.'; +$messages['setdeleteconfirm'] = 'Bu süzgəc dəstini silməkdə əminsiniz?'; +$messages['setcreateerror'] = 'Süzgəcləri yaratmaq mümkün deyil. Server xətası.'; +$messages['setcreated'] = 'Süzgəc dəsti uğurla yaradıldı.'; +$messages['activateerror'] = 'Seçilmiş süzgəc(lər)i yandırmaq mümkün deyil. Server xətası.'; +$messages['deactivateerror'] = 'Seçilmiş süzgəc(lər)i söndürmək mümkün deyil. Server xətası.'; +$messages['deactivated'] = 'Süzgəc(lər) uğurla yandırıldı.'; +$messages['activated'] = 'Süzgəc(lər) uğurla söndürüldü.'; +$messages['moved'] = 'Süzgəc uğurla köçürüldü.'; +$messages['moveerror'] = 'Süzgəci köçürmək mümkün deyil. Server xətası.'; +$messages['nametoolong'] = 'Süzgəc dəstini yaratmaq mümkün deyil. Ad çox uzundur.'; +$messages['namereserved'] = 'Rezerv edilmiş ad.'; +$messages['setexist'] = 'Dəst artıq mövcuddur.'; +$messages['nodata'] = 'Heç olmasa bir mövqe tutmaq lazımdır!'; +$messages['invaliddateformat'] = 'Tarix və ya tarix formatının bir hissəsi səhvdir'; +?> diff --git a/plugins/managesieve/localization/be_BE.inc b/plugins/managesieve/localization/be_BE.inc new file mode 100644 index 000000000..5a691cdee --- /dev/null +++ b/plugins/managesieve/localization/be_BE.inc @@ -0,0 +1,188 @@ +<?php + +/* + +-----------------------------------------------------------------------+ + | plugins/managesieve/localization/<lang>.inc | + | | + | Localization file of the Roundcube Webmail Managesieve 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-managesieve/ +*/ +$labels['filters'] = 'Фільтры'; +$labels['managefilters'] = 'Парадкаваць фільтры атрыманай пошты'; +$labels['filtername'] = 'Назва фільтра'; +$labels['newfilter'] = 'Новы фільтр'; +$labels['filteradd'] = 'Дадаць фільтр'; +$labels['filterdel'] = 'Выдаліць фільтр'; +$labels['moveup'] = 'Пасунуць уверх'; +$labels['movedown'] = 'Пасунуць уніз'; +$labels['filterallof'] = 'выконваюцца ўсе наступныя правілы'; +$labels['filteranyof'] = 'выконваецца любое з наступных правіл'; +$labels['filterany'] = 'усе паведамленні'; +$labels['filtercontains'] = 'змяшчае'; +$labels['filternotcontains'] = 'не змяшчае'; +$labels['filteris'] = 'роўна'; +$labels['filterisnot'] = 'не роўна'; +$labels['filterexists'] = 'існуе'; +$labels['filternotexists'] = 'не існуе'; +$labels['filtermatches'] = 'задавальняе выразу'; +$labels['filternotmatches'] = 'не задавальняе выразу'; +$labels['filterregex'] = 'задавальняе рэгулярнаму выразу'; +$labels['filternotregex'] = 'не задавальняе рэгулярнаму выразу'; +$labels['filterunder'] = 'менш'; +$labels['filterover'] = 'больш'; +$labels['addrule'] = 'Дадаць правіла'; +$labels['delrule'] = 'Выдаліць правіла'; +$labels['messagemoveto'] = 'Перамясціць паведамленне ў'; +$labels['messageredirect'] = 'Перанакіраваць паведамленне на'; +$labels['messagecopyto'] = 'Скапіяваць паведамленне ў'; +$labels['messagesendcopy'] = 'Даслаць копію на'; +$labels['messagereply'] = 'Адказаць наступнае'; +$labels['messagedelete'] = 'Выдаліць паведамленне'; +$labels['messagediscard'] = 'Скасаваць з паведамленнем'; +$labels['messagekeep'] = 'Пакінуць паведамленне ў Атрыманых'; +$labels['messagesrules'] = 'Для атрыманай пошты:'; +$labels['messagesactions'] = '...выконваць наступныя дзеянні:'; +$labels['add'] = 'Дадаць'; +$labels['del'] = 'Выдаліць'; +$labels['sender'] = 'Ад каго'; +$labels['recipient'] = 'Каму'; +$labels['vacationaddr'] = 'Дадатковы(я) адрасы эл. пошты:'; +$labels['vacationdays'] = 'Як часта дасылаць паведамленні (у днях):'; +$labels['vacationinterval'] = 'Як часта дасылаць паведамленні:'; +$labels['vacationreason'] = 'Цела паведамлення (прычына вакацый):'; +$labels['vacationsubject'] = 'Тэма паведамлення:'; +$labels['days'] = 'дзён'; +$labels['seconds'] = 'секунд'; +$labels['rulestop'] = 'Перастаць выконваць праверку правілаў'; +$labels['enable'] = 'Уключыць/Выключыць'; +$labels['filterset'] = 'Набор фільтраў'; +$labels['filtersets'] = 'Наборы фільтраў'; +$labels['filtersetadd'] = 'Дадаць набор фільтраў'; +$labels['filtersetdel'] = 'Выдаліць бягучы набор фільтраў'; +$labels['filtersetact'] = 'Актываваць бягучы набор фільтраў'; +$labels['filtersetdeact'] = 'Дэактываваць бягучы набор фільтраў'; +$labels['filterdef'] = 'Вызначэнне фільтра'; +$labels['filtersetname'] = 'Назва набору фільтраў'; +$labels['newfilterset'] = 'Новы набор фільтраў'; +$labels['active'] = 'актыўны'; +$labels['none'] = 'няма'; +$labels['fromset'] = 'з набору'; +$labels['fromfile'] = 'з файла'; +$labels['filterdisabled'] = 'Фільтр адключаны'; +$labels['countisgreaterthan'] = 'лік большы за'; +$labels['countisgreaterthanequal'] = 'лік большы за альбо роўны'; +$labels['countislessthan'] = 'лік меншы за'; +$labels['countislessthanequal'] = 'лік меншы за альбо роўны'; +$labels['countequals'] = 'лік роўны'; +$labels['countnotequals'] = 'лік не роўны'; +$labels['valueisgreaterthan'] = 'значэнне большае за'; +$labels['valueisgreaterthanequal'] = 'значэнне большае за альбо роўнае'; +$labels['valueislessthan'] = 'значэнне меншае за'; +$labels['valueislessthanequal'] = 'значэнне меншае за альбо роўнае'; +$labels['valueequals'] = 'значэнне роўнае'; +$labels['valuenotequals'] = 'значэнне не роўнае'; +$labels['setflags'] = 'Устанавіць флагі на паведамленне'; +$labels['addflags'] = 'Дадаць флагі да паведамлення'; +$labels['removeflags'] = 'Выдаліць флагі з паведамлення'; +$labels['flagread'] = 'Прачытана'; +$labels['flagdeleted'] = 'Выдалена'; +$labels['flaganswered'] = 'З адказам'; +$labels['flagflagged'] = 'Пазначана'; +$labels['flagdraft'] = 'Чарнавік'; +$labels['setvariable'] = 'Устанавіць зменную'; +$labels['setvarname'] = 'Імя зменнай:'; +$labels['setvarvalue'] = 'Значэнне зменнай:'; +$labels['setvarmodifiers'] = 'Мадыфікатары:'; +$labels['varlower'] = 'ніжні рэгістр'; +$labels['varupper'] = 'верхні рэгістр'; +$labels['varlowerfirst'] = 'першы знак у ніжнім рэгістры'; +$labels['varupperfirst'] = 'першы знак у верхнім рэгістры'; +$labels['varquotewildcard'] = 'службовыя знакі забіраць у апострафы'; +$labels['varlength'] = 'даўжыня'; +$labels['notify'] = 'Паслаць апавяшчэнне'; +$labels['notifyimportance'] = 'Важнасць:'; +$labels['notifyimportancelow'] = 'нізкая'; +$labels['notifyimportancenormal'] = 'звычайная'; +$labels['notifyimportancehigh'] = 'высокая'; +$labels['filtercreate'] = 'Стварыць фільтр'; +$labels['usedata'] = 'Ужываць наступныя дадзеныя ў фільтры:'; +$labels['nextstep'] = 'Наступны крок'; +$labels['...'] = '...'; +$labels['currdate'] = 'Бягучая дата'; +$labels['datetest'] = 'Дата'; +$labels['dateheader'] = 'загаловак:'; +$labels['year'] = 'год'; +$labels['month'] = 'месяц'; +$labels['day'] = 'дзень'; +$labels['date'] = 'дата (гггг-мм-дд)'; +$labels['julian'] = 'дата (юліянская)'; +$labels['hour'] = 'гадзіна'; +$labels['minute'] = 'мінута'; +$labels['second'] = 'секунда'; +$labels['time'] = 'час (гг:мм:сс)'; +$labels['iso8601'] = 'дата (ISO8601)'; +$labels['std11'] = 'дата (RFC2822)'; +$labels['zone'] = 'часавая зона'; +$labels['weekday'] = 'дзень тыдня (0-6)'; +$labels['advancedopts'] = 'Дадатковыя параметры'; +$labels['body'] = 'Цела'; +$labels['address'] = 'адрас'; +$labels['envelope'] = 'канверт'; +$labels['modifier'] = 'мадыфікатар:'; +$labels['text'] = 'тэкст'; +$labels['undecoded'] = 'неапрацаваны (сыры)'; +$labels['contenttype'] = 'тып змесціва'; +$labels['modtype'] = 'пошук у адрасах:'; +$labels['allparts'] = 'усюль'; +$labels['domain'] = 'у імені дамена'; +$labels['localpart'] = 'толькі ў імені карыстальніка, без дамена'; +$labels['user'] = 'у поўным імені карыстальніка'; +$labels['detail'] = 'у дадатковых звестках'; +$labels['comparator'] = 'спосаб параўнання:'; +$labels['default'] = 'стандартны'; +$labels['octet'] = 'строгі (octet)'; +$labels['asciicasemap'] = 'без уліку рэгістру (ascii-casemap)'; +$labels['asciinumeric'] = 'лікавы (ascii-numeric)'; +$labels['index'] = 'індэкс:'; +$labels['indexlast'] = 'назад'; +$messages['filterunknownerror'] = 'Невядомая памылка сервера.'; +$messages['filterconnerror'] = 'Не ўдалося злучыцца з серверам.'; +$messages['filterdeleteerror'] = 'Не ўдалося выдаліць фільтр. Памылка на серверы.'; +$messages['filterdeleted'] = 'Фільтр выдалены.'; +$messages['filtersaved'] = 'Фільтр захаваны.'; +$messages['filtersaveerror'] = 'Не ўдалося захаваць фільтр. Памылка на серверы.'; +$messages['filterdeleteconfirm'] = 'Напраўду выдаліць абраны фільтр?'; +$messages['ruledeleteconfirm'] = 'Напраўду выдаліць абранае правіла?'; +$messages['actiondeleteconfirm'] = 'Напраўду выдаліць абранае дзеянне?'; +$messages['forbiddenchars'] = 'Забароненыя знакі ў полі.'; +$messages['cannotbeempty'] = 'Поле не можа быць пустым.'; +$messages['ruleexist'] = 'Фільтр з гэтай назвай ужо існуе.'; +$messages['setactivateerror'] = 'Не ўдалося ўключыць абраны набор фільтраў. Памылка на серверы.'; +$messages['setdeactivateerror'] = 'Не ўдалося адключыць абраны набор фільтраў. Памылка на серверы.'; +$messages['setdeleteerror'] = 'Не ўдалося выдаліць абраны набор фільтраў. Памылка на серверы.'; +$messages['setactivated'] = 'Набор фільтраў актываваны.'; +$messages['setdeactivated'] = 'Набор фільтраў дэактываваны.'; +$messages['setdeleted'] = 'Набор фільтраў выдалены.'; +$messages['setdeleteconfirm'] = 'Напраўду выдаліць абраны набор фільтраў?'; +$messages['setcreateerror'] = 'Не ўдалося стварыць набор фільтраў. Памылка на серверы.'; +$messages['setcreated'] = 'Набор фільтраў створаны.'; +$messages['activateerror'] = 'Не ўдалося ўключыць абраны(я) фільтры. Памылка на серверы.'; +$messages['deactivateerror'] = 'Не ўдалося адключыць абраны(я) фільтры. Памылка на серверы.'; +$messages['deactivated'] = 'Фільтр(ы) адключаны.'; +$messages['activated'] = 'Фільтр(ы) уключаны.'; +$messages['moved'] = 'Фільтр перамешчаны.'; +$messages['moveerror'] = 'Не ўдалося перамясціць абраны фільтр. Памылка на серверы.'; +$messages['nametoolong'] = 'Задаўгая назва.'; +$messages['namereserved'] = 'Зарэзерваваная назва.'; +$messages['setexist'] = 'Набор ужо існуе.'; +$messages['nodata'] = 'Мінімум адна пазіцыя павінна быць вылучана!'; +$messages['invaliddateformat'] = 'Няслушная дата альбо фармат даты'; +?> diff --git a/plugins/managesieve/localization/bg_BG.inc b/plugins/managesieve/localization/bg_BG.inc new file mode 100644 index 000000000..432cb4f68 --- /dev/null +++ b/plugins/managesieve/localization/bg_BG.inc @@ -0,0 +1,209 @@ +<?php + +/* + +-----------------------------------------------------------------------+ + | plugins/managesieve/localization/<lang>.inc | + | | + | Localization file of the Roundcube Webmail Managesieve 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-managesieve/ +*/ +$labels['filters'] = 'Филтри'; +$labels['managefilters'] = 'Управление на филтри за входяща поща'; +$labels['filtername'] = 'Име на филтър'; +$labels['newfilter'] = 'Нов филтър'; +$labels['filteradd'] = 'Нов филтър'; +$labels['filterdel'] = 'Изтриване на филтър'; +$labels['moveup'] = 'Преместване нагоре'; +$labels['movedown'] = 'Преместване надолу'; +$labels['filterallof'] = 'която изпълнява всички условия'; +$labels['filteranyof'] = 'която изпълнява някое от условията'; +$labels['filterany'] = 'за всички писма'; +$labels['filtercontains'] = 'съдържа'; +$labels['filternotcontains'] = 'не съдържа'; +$labels['filteris'] = 'е равно на'; +$labels['filterisnot'] = 'не е равно на'; +$labels['filterexists'] = 'съществува'; +$labels['filternotexists'] = 'не съществува'; +$labels['filtermatches'] = 'съвпада с израз'; +$labels['filternotmatches'] = 'не съвпада с израз'; +$labels['filterregex'] = 'отговаря на регулярен израз'; +$labels['filternotregex'] = 'не отговаря на регулярен израз'; +$labels['filterunder'] = 'под'; +$labels['filterover'] = 'над'; +$labels['addrule'] = 'Ново условие'; +$labels['delrule'] = 'Изтриване на условие'; +$labels['messagemoveto'] = 'Премести писмото във'; +$labels['messageredirect'] = 'Пренасочи писмото до'; +$labels['messagecopyto'] = 'Копирай писмото във'; +$labels['messagesendcopy'] = 'Изпрати копие на писмото до'; +$labels['messagereply'] = 'Отговори с писмо'; +$labels['messagedelete'] = 'Изтрий писмото'; +$labels['messagediscard'] = 'Отхвърли със съобщение'; +$labels['messagekeep'] = 'Остави писмото във Вх. поща'; +$labels['messagesrules'] = 'При получаване на поща...'; +$labels['messagesactions'] = '...изпълни следните действия:'; +$labels['add'] = 'Добави'; +$labels['del'] = 'Изтрий'; +$labels['sender'] = 'Подател'; +$labels['recipient'] = 'Получател'; +$labels['vacationaddr'] = 'Мои допълнителни e-mail адреси:'; +$labels['vacationdays'] = 'Колко често да праща писма (в дни):'; +$labels['vacationinterval'] = 'Колко често да праща писма:'; +$labels['vacationreason'] = 'Текст на писмото (причина за ваканцията)'; +$labels['vacationsubject'] = 'Заглавие на писмото'; +$labels['days'] = 'дни'; +$labels['seconds'] = 'секунди'; +$labels['rulestop'] = 'Спри проверка на други условия'; +$labels['enable'] = 'Включи/Изключи'; +$labels['filterset'] = 'Набор филтри'; +$labels['filtersets'] = 'Набори филтри'; +$labels['filtersetadd'] = 'Нов набор филтри'; +$labels['filtersetdel'] = 'Изтриване на текущ набор филтри'; +$labels['filtersetact'] = 'Активиране на текущ набор филтри'; +$labels['filtersetdeact'] = 'Деактивиране на текущ набор филтри'; +$labels['filterdef'] = 'Дефиниране на филтър'; +$labels['filtersetname'] = 'Име на набор филтри'; +$labels['newfilterset'] = 'Нов набор филтри'; +$labels['active'] = 'активен'; +$labels['none'] = 'няма'; +$labels['fromset'] = 'от набор'; +$labels['fromfile'] = 'от файл'; +$labels['filterdisabled'] = 'Изключен филтър'; +$labels['countisgreaterthan'] = 'брой е по-голям от'; +$labels['countisgreaterthanequal'] = 'брой е по-голям или равен на'; +$labels['countislessthan'] = 'брой е по-малък от'; +$labels['countislessthanequal'] = 'брой е по-малък или равен на'; +$labels['countequals'] = 'брой е равен на'; +$labels['countnotequals'] = 'брой не е равен на'; +$labels['valueisgreaterthan'] = 'стойност е по-голяма от'; +$labels['valueisgreaterthanequal'] = 'стойност е по-голяма или равна на'; +$labels['valueislessthan'] = 'стойност е по-малка от'; +$labels['valueislessthanequal'] = 'стойност е по-малка или равна на'; +$labels['valueequals'] = 'стойност е равна на'; +$labels['valuenotequals'] = 'стойност не е равна на'; +$labels['setflags'] = 'Установи флагове на писмо'; +$labels['addflags'] = 'Добави флагове към писмо'; +$labels['removeflags'] = 'Премахни флагове от писмо'; +$labels['flagread'] = 'Прочетено'; +$labels['flagdeleted'] = 'Изтрито'; +$labels['flaganswered'] = 'Отговорено'; +$labels['flagflagged'] = 'Отбелязано'; +$labels['flagdraft'] = 'Чернова'; +$labels['setvariable'] = 'Установи променлива'; +$labels['setvarname'] = 'Име на променлива:'; +$labels['setvarvalue'] = 'Стойност на променлива:'; +$labels['setvarmodifiers'] = 'Модификатори:'; +$labels['varlower'] = 'малки букви'; +$labels['varupper'] = 'главни букви'; +$labels['varlowerfirst'] = 'първи знак с малка буква'; +$labels['varupperfirst'] = 'първи знак с главна буква'; +$labels['varquotewildcard'] = 'цитиране на специални знаци'; +$labels['varlength'] = 'дължина'; +$labels['notify'] = 'Изпрати известие'; +$labels['notifytarget'] = 'Известие към:'; +$labels['notifymessage'] = 'Съдържание на известие (опционално):'; +$labels['notifyoptions'] = 'Опции на известие (опционално):'; +$labels['notifyfrom'] = 'Известие от (опционално):'; +$labels['notifyimportance'] = 'Приоритет:'; +$labels['notifyimportancelow'] = 'нисък'; +$labels['notifyimportancenormal'] = 'нормален'; +$labels['notifyimportancehigh'] = 'висок'; +$labels['notifymethodmailto'] = 'Ел. поща'; +$labels['notifymethodtel'] = 'Телефон'; +$labels['notifymethodsms'] = 'SMS'; +$labels['filtercreate'] = 'Използвай за нов филтър'; +$labels['usedata'] = 'Използвай следните данни във филтъра:'; +$labels['nextstep'] = 'Следваща стъпка'; +$labels['...'] = '...'; +$labels['currdate'] = 'Текуща дата'; +$labels['datetest'] = 'Дата'; +$labels['dateheader'] = 'заглавен блок:'; +$labels['year'] = 'година'; +$labels['month'] = 'месец'; +$labels['day'] = 'ден'; +$labels['date'] = 'дата (гггг-мм-дд)'; +$labels['julian'] = 'дата (юлианска)'; +$labels['hour'] = 'час'; +$labels['minute'] = 'минута'; +$labels['second'] = 'секунда'; +$labels['time'] = 'време (чч:мм:сс)'; +$labels['iso8601'] = 'дата (ISO8601)'; +$labels['std11'] = 'дата (RFC2822)'; +$labels['zone'] = 'часова зона'; +$labels['weekday'] = 'ден от седмицата (0-6)'; +$labels['advancedopts'] = 'Разширени настройки'; +$labels['body'] = 'Основен текст'; +$labels['address'] = 'адрес'; +$labels['envelope'] = 'плик'; +$labels['modifier'] = 'модификатор:'; +$labels['text'] = 'текст'; +$labels['undecoded'] = 'недекодиран (суров)'; +$labels['contenttype'] = 'тип на съдържанието'; +$labels['modtype'] = 'тип:'; +$labels['allparts'] = 'всичко'; +$labels['domain'] = 'домейн'; +$labels['localpart'] = 'локална част'; +$labels['user'] = 'потребител'; +$labels['detail'] = 'датайли'; +$labels['comparator'] = 'сравнител:'; +$labels['default'] = 'по подразбиране'; +$labels['octet'] = 'стриктно (октет)'; +$labels['asciicasemap'] = 'без значение малки/големи букви'; +$labels['asciinumeric'] = 'цифрово'; +$labels['index'] = 'индекс:'; +$labels['indexlast'] = 'наобратно'; +$labels['vacation'] = 'Отпуск'; +$labels['vacation.reply'] = 'Писмо отговор'; +$labels['vacation.advanced'] = 'Разширени настройки'; +$labels['vacation.subject'] = 'Относно'; +$labels['vacation.body'] = 'Съдържание'; +$labels['vacation.status'] = 'Статус'; +$labels['vacation.on'] = 'Вкл.'; +$labels['vacation.off'] = 'Изкл.'; +$labels['vacation.addresses'] = 'Моите допълнителни адреси'; +$labels['vacation.interval'] = 'Интервал на отговор'; +$labels['vacation.after'] = 'Постави правило за отпуск след'; +$labels['vacation.saving'] = 'Запис на данни...'; +$messages['filterunknownerror'] = 'Неизвестна сървърна грешка.'; +$messages['filterconnerror'] = 'Неуспешно свързване с managesieve сървъра.'; +$messages['filterdeleteerror'] = 'Невъзможно изтриване на филтъра. Възникна сървърна грешка.'; +$messages['filterdeleted'] = 'Филтърът е изтрит успешно.'; +$messages['filtersaved'] = 'Филтърът е записан успешно.'; +$messages['filtersaveerror'] = 'Невъзможно записване на филтъра. Възникна сървърна грешка.'; +$messages['filterdeleteconfirm'] = 'Наистина ли желаете да изтриете избрания филтър?'; +$messages['ruledeleteconfirm'] = 'Сигурни ли сте, че желаете да изтриете избраното условие?'; +$messages['actiondeleteconfirm'] = 'Сигурни ли сте, че желаете да изтриете избраното действие?'; +$messages['forbiddenchars'] = 'Забранени символи в полето.'; +$messages['cannotbeempty'] = 'Полето не може да бъде празно.'; +$messages['ruleexist'] = 'Вече има филтър с указаното име.'; +$messages['setactivateerror'] = 'Невъзможно активиране на избрания набор от филтри. Възникна сървърна грешка.'; +$messages['setdeactivateerror'] = 'Невъзможно деактивиране на избрания набор от филтри. Възникна сървърна грешка.'; +$messages['setdeleteerror'] = 'Невъзможно изтриване на избрания набор от филтри. Възникна сървърна грешка.'; +$messages['setactivated'] = 'Наборът от филтри е активиран успешно.'; +$messages['setdeactivated'] = 'Наборът от филтри е деактивиран успешно.'; +$messages['setdeleted'] = 'Наборът от филтри е изтрит успешно.'; +$messages['setdeleteconfirm'] = 'Сигурни ли сте, че желаете да изтриете избрания набор от филтри?'; +$messages['setcreateerror'] = 'Невъзможно създаване на набор от филтри. Възникна сървърна грешка.'; +$messages['setcreated'] = 'Наборът от филтри е създаден успешно.'; +$messages['activateerror'] = 'Невъзможно включване на филтъра. Възникна сървърна грешка.'; +$messages['deactivateerror'] = 'Невъзможно изключване на филтъра. Възникна сървърна грешка.'; +$messages['deactivated'] = 'Филтърът е изключен успешно.'; +$messages['activated'] = 'Филтърът е включен успешно.'; +$messages['moved'] = 'Филтърът е преместен успешно.'; +$messages['moveerror'] = 'Невъзможно преместване на филтъра. Възникна сървърна грешка.'; +$messages['nametoolong'] = 'Името е прекалено дълго.'; +$messages['namereserved'] = 'Резервирано име.'; +$messages['setexist'] = 'Вече има такъв набор филтри.'; +$messages['nodata'] = 'Поне една позиция трябва да е избрана!'; +$messages['invaliddateformat'] = 'невалидна дата или формат на част от дата'; +$messages['saveerror'] = 'Невъзможен запис на данни. Грешка при достъп до сървър.'; +$messages['vacationsaved'] = 'Данните за отпуск са записани успешно.'; +?> diff --git a/plugins/managesieve/localization/br.inc b/plugins/managesieve/localization/br.inc new file mode 100644 index 000000000..c7d89f575 --- /dev/null +++ b/plugins/managesieve/localization/br.inc @@ -0,0 +1,30 @@ +<?php + +/* + +-----------------------------------------------------------------------+ + | plugins/managesieve/localization/<lang>.inc | + | | + | Localization file of the Roundcube Webmail Managesieve 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-managesieve/ +*/ +$labels['filters'] = 'sil'; +$labels['newfilter'] = 'Sil nevez'; +$labels['filteradd'] = 'Ouzhpenan ur sil'; +$labels['filterdel'] = 'Dilemel ar sil'; +$labels['filterany'] = 'An holl postel'; +$labels['messagecopyto'] = 'eilan ar postel e'; +$labels['messagedelete'] = 'Dilemel ar postel'; +$labels['add'] = 'Ouzhpenan'; +$labels['del'] = 'Dilemel'; +$labels['sender'] = 'Kaser'; +$labels['recipient'] = 'Resever'; +$labels['vacationsubject'] = 'Sujed'; +?> diff --git a/plugins/managesieve/localization/bs_BA.inc b/plugins/managesieve/localization/bs_BA.inc new file mode 100644 index 000000000..84a85a348 --- /dev/null +++ b/plugins/managesieve/localization/bs_BA.inc @@ -0,0 +1,224 @@ +<?php + +/* + +-----------------------------------------------------------------------+ + | plugins/managesieve/localization/<lang>.inc | + | | + | Localization file of the Roundcube Webmail Managesieve 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-managesieve/ +*/ +$labels['filters'] = 'Filteri'; +$labels['managefilters'] = 'Upravljanje dolaznim email filterima'; +$labels['filtername'] = 'Naziv filtera'; +$labels['newfilter'] = 'Novi filter'; +$labels['filteradd'] = 'Dodaj filter'; +$labels['filterdel'] = 'Obriši filter'; +$labels['moveup'] = 'Pomjeri gore'; +$labels['movedown'] = 'Pomjeri dole'; +$labels['filterallof'] = 'poklapa se sa svim sljedećim pravilima'; +$labels['filteranyof'] = 'poklapa se sa bilo kojim od sljedećih pravila'; +$labels['filterany'] = 'sve poruke'; +$labels['filtercontains'] = 'sadrži'; +$labels['filternotcontains'] = 'ne sadrži'; +$labels['filteris'] = 'jednako'; +$labels['filterisnot'] = 'nije jednako'; +$labels['filterexists'] = 'postoji'; +$labels['filternotexists'] = 'ne postoji'; +$labels['filtermatches'] = 'poklapa se sa izrazom'; +$labels['filternotmatches'] = 'ne poklapa se sa izrazom'; +$labels['filterregex'] = 'poklapa se sa regularnim izrazom'; +$labels['filternotregex'] = 'ne poklapa se sa regularnim izrazom'; +$labels['filterunder'] = 'ispod'; +$labels['filterover'] = 'iznad'; +$labels['addrule'] = 'Dodaj pravilo'; +$labels['delrule'] = 'Obriši pravilo'; +$labels['messagemoveto'] = 'Premjesti poruku u'; +$labels['messageredirect'] = 'Preusmjeri poruku ka'; +$labels['messagecopyto'] = 'Kopiraj poruku u'; +$labels['messagesendcopy'] = 'Pošalji kopiju poruke'; +$labels['messagereply'] = 'Odgovori'; +$labels['messagedelete'] = 'Obriši poruku'; +$labels['messagediscard'] = 'Odbaci sa porukom'; +$labels['messagekeep'] = 'Zadrži poruku u sandučetu'; +$labels['messagesrules'] = 'Za dolazne emailove:'; +$labels['messagesactions'] = '...izvrši sljedeće akcije:'; +$labels['add'] = 'Dodaj'; +$labels['del'] = 'Obriši'; +$labels['sender'] = 'Pošiljaoc'; +$labels['recipient'] = 'Primaoc'; +$labels['vacationaddr'] = 'Moje dodatne email adrese:'; +$labels['vacationdays'] = 'Frekvencija slanja poruka (u danima):'; +$labels['vacationinterval'] = 'Frekvencija slanja poruka:'; +$labels['vacationreason'] = 'Tijelo poruke (razlog za odmor):'; +$labels['vacationsubject'] = 'Naslov poruke:'; +$labels['days'] = 'dana'; +$labels['seconds'] = 'sekundi'; +$labels['rulestop'] = 'Prestani procjenjivati pravila'; +$labels['enable'] = 'Omogući/Onemogući'; +$labels['filterset'] = 'Set filtera'; +$labels['filtersets'] = 'Setovi filtera'; +$labels['filtersetadd'] = 'Dodaj set filtera'; +$labels['filtersetdel'] = 'Obriši trenutni set filtera'; +$labels['filtersetact'] = 'Aktiviraj trenutni set filtera'; +$labels['filtersetdeact'] = 'Deaktiviraj trenutni set filtera'; +$labels['filterdef'] = 'Definicija filtera'; +$labels['filtersetname'] = 'Naziv seta filtera'; +$labels['newfilterset'] = 'Novi set filtera'; +$labels['active'] = 'aktivno'; +$labels['none'] = 'ništa'; +$labels['fromset'] = 'iz seta'; +$labels['fromfile'] = 'iz datoteke'; +$labels['filterdisabled'] = 'Filter je onemogućen'; +$labels['countisgreaterthan'] = 'brojač je veći od'; +$labels['countisgreaterthanequal'] = 'brojač je veći ili jednak'; +$labels['countislessthan'] = 'brojač je manji od'; +$labels['countislessthanequal'] = 'brojač je manji ili jednak'; +$labels['countequals'] = 'brojač je jednak'; +$labels['countnotequals'] = 'zbir nije jednak'; +$labels['valueisgreaterthan'] = 'vrijednost je veća od'; +$labels['valueisgreaterthanequal'] = 'vrijednost je veća ili jednaka'; +$labels['valueislessthan'] = 'vrijednost je manja od'; +$labels['valueislessthanequal'] = 'vrijednost je manja ili jednaka'; +$labels['valueequals'] = 'vrijednost je jednaka'; +$labels['valuenotequals'] = 'vrijednost nije jednaka'; +$labels['setflags'] = 'Postavi oznake za poruku'; +$labels['addflags'] = 'Dodaj oznake u poruku'; +$labels['removeflags'] = 'Ukloni oznake iz poruke'; +$labels['flagread'] = 'Pročitano'; +$labels['flagdeleted'] = 'Obrisano'; +$labels['flaganswered'] = 'Odgovoreno'; +$labels['flagflagged'] = 'Važno'; +$labels['flagdraft'] = 'Skica'; +$labels['setvariable'] = 'Postavi promjenjivu'; +$labels['setvarname'] = 'Naziv promjenjive:'; +$labels['setvarvalue'] = 'Vrijednost promjenjive:'; +$labels['setvarmodifiers'] = 'Parametri:'; +$labels['varlower'] = 'mala slova'; +$labels['varupper'] = 'velika slova'; +$labels['varlowerfirst'] = 'prvi znak malim slovom'; +$labels['varupperfirst'] = 'prvi znak velikim slovom'; +$labels['varquotewildcard'] = 'citiraj specijalne znakove'; +$labels['varlength'] = 'dužina'; +$labels['notify'] = 'Pošalji napomenu'; +$labels['notifytarget'] = 'Odredište napomene:'; +$labels['notifymessage'] = 'Poruka napomene (neobavezno):'; +$labels['notifyoptions'] = 'Opcije napomene (neobavezno):'; +$labels['notifyfrom'] = 'Pošiljalac napomene (neobavezno):'; +$labels['notifyimportance'] = 'Prioritet:'; +$labels['notifyimportancelow'] = 'mali'; +$labels['notifyimportancenormal'] = 'obični'; +$labels['notifyimportancehigh'] = 'veliki'; +$labels['notifymethodmailto'] = 'Email'; +$labels['notifymethodtel'] = 'Telefon'; +$labels['notifymethodsms'] = 'SMS'; +$labels['filtercreate'] = 'Kreiraj filter'; +$labels['usedata'] = 'Koristite sljedeće podatke u filteru:'; +$labels['nextstep'] = 'Sljedeći korak'; +$labels['...'] = '...'; +$labels['currdate'] = 'Trenutni datum'; +$labels['datetest'] = 'Datum'; +$labels['dateheader'] = 'zaglavlje:'; +$labels['year'] = 'godina'; +$labels['month'] = 'mjesec'; +$labels['day'] = 'dan'; +$labels['date'] = 'datum (gggg-mm-dd)'; +$labels['julian'] = 'datum (julijanski)'; +$labels['hour'] = 'sat'; +$labels['minute'] = 'minuta'; +$labels['second'] = 'sekunda'; +$labels['time'] = 'vrijeme (hh:mm:ss)'; +$labels['iso8601'] = 'datum (ISO8601)'; +$labels['std11'] = 'datum (RFC2822)'; +$labels['zone'] = 'vremenska zona'; +$labels['weekday'] = 'sedmica (0-6)'; +$labels['advancedopts'] = 'Napredne opcije'; +$labels['body'] = 'Tijelo'; +$labels['address'] = 'adresa'; +$labels['envelope'] = 'koverta'; +$labels['modifier'] = 'prilagođavanje:'; +$labels['text'] = 'tekst'; +$labels['undecoded'] = 'nekodiran (obični)'; +$labels['contenttype'] = 'vrsta sadržaja'; +$labels['modtype'] = 'vrsta:'; +$labels['allparts'] = 'sve'; +$labels['domain'] = 'domena'; +$labels['localpart'] = 'lokalni dio'; +$labels['user'] = 'korisnik'; +$labels['detail'] = 'detalji'; +$labels['comparator'] = 'upoređivač:'; +$labels['default'] = 'početno'; +$labels['octet'] = 'striktno (oktet)'; +$labels['asciicasemap'] = 'osjetljivo na velika/mala slova (ascii-casemap)'; +$labels['asciinumeric'] = 'numerički (ascii-numeric)'; +$labels['index'] = 'indeks:'; +$labels['indexlast'] = 'unazad'; +$labels['vacation'] = 'Odmor'; +$labels['vacation.reply'] = 'Poruka sa odgovorom'; +$labels['vacation.advanced'] = 'Napredmen postavke'; +$labels['vacation.subject'] = 'Naslov'; +$labels['vacation.body'] = 'Tijelo'; +$labels['vacation.start'] = 'Početak odmora'; +$labels['vacation.end'] = 'Kraj odmora'; +$labels['vacation.status'] = 'Status'; +$labels['vacation.on'] = 'Uključeno'; +$labels['vacation.off'] = 'Isključeno'; +$labels['vacation.addresses'] = 'Moje dodatne adrese'; +$labels['vacation.interval'] = 'Interval odgovora'; +$labels['vacation.after'] = 'Pravilo za odmor stavi nakon'; +$labels['vacation.saving'] = 'Snimam podatke...'; +$labels['vacation.action'] = 'Akcija za dolazne poruke'; +$labels['vacation.keep'] = 'Zadrži'; +$labels['vacation.discard'] = 'Odbaci'; +$labels['vacation.redirect'] = 'Preusmeri ka'; +$labels['vacation.copy'] = 'Pošalji kopiju na'; +$labels['arialabelfiltersetactions'] = 'Akcije za filterske setove'; +$labels['arialabelfilteractions'] = 'Filterske akcije'; +$labels['arialabelfilterform'] = 'Svojstva filtera'; +$labels['ariasummaryfilterslist'] = 'Lista filtera'; +$labels['ariasummaryfiltersetslist'] = 'Lista filterskih setova'; +$labels['filterstitle'] = 'Uredi filtere za dolazni email'; +$labels['vacationtitle'] = 'Uredi pravila kada nisam na poslu'; +$messages['filterunknownerror'] = 'Nepoznata serverska greška.'; +$messages['filterconnerror'] = 'Nije se moguće povezati na server.'; +$messages['filterdeleteerror'] = 'Nije moguće obrisati filter. Desila se serverska greška.'; +$messages['filterdeleted'] = 'Filter je uspješno obrisan.'; +$messages['filtersaved'] = 'Filter je uspješno sačuvan.'; +$messages['filtersaveerror'] = 'Nije moguće sačuvati filter. Desila se serverska greška.'; +$messages['filterdeleteconfirm'] = 'Da li zaista želite obrisati označeni filter?'; +$messages['ruledeleteconfirm'] = 'Jeste li sigurni da želite obrisati označeno pravilo?'; +$messages['actiondeleteconfirm'] = 'Jeste li sigurni da želite obrisati označenu akciju?'; +$messages['forbiddenchars'] = 'U polje su uneseni nedozvoljeni znakovi.'; +$messages['cannotbeempty'] = 'Polje ne može biti prazno.'; +$messages['ruleexist'] = 'Filter s tim imenom već postoji.'; +$messages['setactivateerror'] = 'Nije moguće aktivirati označeni set filtera. Desila se serverska greška.'; +$messages['setdeactivateerror'] = 'Nije moguće deaktivirati označeni set filtera. Desila se serverska greška.'; +$messages['setdeleteerror'] = 'Nije moguće obrisati označeni set filtera. Desila se serverska greška.'; +$messages['setactivated'] = 'Set filtera je uspješno aktiviran.'; +$messages['setdeactivated'] = 'Set filtera je uspješno deaktiviran.'; +$messages['setdeleted'] = 'Set filtera je uspješno obrisan.'; +$messages['setdeleteconfirm'] = 'Jeste li sigurni da želite obrisati označeni set filtera?'; +$messages['setcreateerror'] = 'Nije moguće kreirati set filtera. Desila se serverska greška.'; +$messages['setcreated'] = 'Set filtera je uspješno kreiran.'; +$messages['activateerror'] = 'Nije moguće omogućiti označene filtere. Desila se serverska greška.'; +$messages['deactivateerror'] = 'Nije moguće onemogućiti označene filtere. Desila se serverska greška.'; +$messages['deactivated'] = 'Filteri su uspješno omogućeni.'; +$messages['activated'] = 'Filteri su uspješno onemogućeni.'; +$messages['moved'] = 'Filteri su uspješno premješteni.'; +$messages['moveerror'] = 'Nije moguće premjestiti označeni filter. Desila se serverska greška.'; +$messages['nametoolong'] = 'Ime je predugo.'; +$messages['namereserved'] = 'Ime je rezervisano.'; +$messages['setexist'] = 'Set već postoji.'; +$messages['nodata'] = 'Morate označiti barem jednu poziciju!'; +$messages['invaliddateformat'] = 'Netačan datum ili dio formata datuma'; +$messages['saveerror'] = 'Nije moguće snimiti podatke. Desila se serverska greška.'; +$messages['vacationsaved'] = 'Podaci o odmoru su uspješno snimljeni.'; +$messages['emptyvacationbody'] = 'Tijelo poruke za odmor je neophodno!'; +?> diff --git a/plugins/managesieve/localization/ca_ES.inc b/plugins/managesieve/localization/ca_ES.inc new file mode 100644 index 000000000..0dc6863a2 --- /dev/null +++ b/plugins/managesieve/localization/ca_ES.inc @@ -0,0 +1,224 @@ +<?php + +/* + +-----------------------------------------------------------------------+ + | plugins/managesieve/localization/<lang>.inc | + | | + | Localization file of the Roundcube Webmail Managesieve 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-managesieve/ +*/ +$labels['filters'] = 'Filtres'; +$labels['managefilters'] = 'Gestiona els filtres dels missatges d\'entrada'; +$labels['filtername'] = 'Nom del filtre'; +$labels['newfilter'] = 'Filtre Nou'; +$labels['filteradd'] = 'Afegeix un filtre'; +$labels['filterdel'] = 'Suprimeix el filtre'; +$labels['moveup'] = 'Mou amunt'; +$labels['movedown'] = 'Mou avall'; +$labels['filterallof'] = 'que coincideixi amb totes les regles següents'; +$labels['filteranyof'] = 'que coincideixi amb qualsevol de les regles següents'; +$labels['filterany'] = 'tots els missatges'; +$labels['filtercontains'] = 'conté'; +$labels['filternotcontains'] = 'no conté'; +$labels['filteris'] = 'és igual a'; +$labels['filterisnot'] = 'és diferent de'; +$labels['filterexists'] = 'existeix'; +$labels['filternotexists'] = 'no existeix'; +$labels['filtermatches'] = 'coincideix amb l\'expressió'; +$labels['filternotmatches'] = 'no coincideix amb l\'expressió'; +$labels['filterregex'] = 'coincideix amb l\'expressió regular'; +$labels['filternotregex'] = 'no coincideix amb l\'expressió regular'; +$labels['filterunder'] = 'sota'; +$labels['filterover'] = 'sobre'; +$labels['addrule'] = 'Afegeix una regla'; +$labels['delrule'] = 'Suprimeix una regla'; +$labels['messagemoveto'] = 'Mou el missatge a'; +$labels['messageredirect'] = 'Redirigeix el missatge cap a'; +$labels['messagecopyto'] = 'Copia el missatge a'; +$labels['messagesendcopy'] = 'Envia una còpia del missatge a'; +$labels['messagereply'] = 'Respon amb un missatge'; +$labels['messagedelete'] = 'Suprimeix missatge'; +$labels['messagediscard'] = 'Descarta amb un missatge'; +$labels['messagekeep'] = 'Deixa el missatge a la bústia'; +$labels['messagesrules'] = 'Pels missatges entrants:'; +$labels['messagesactions'] = '..executa les següents accions:'; +$labels['add'] = 'Afegeix'; +$labels['del'] = 'Suprimeix'; +$labels['sender'] = 'Remitent'; +$labels['recipient'] = 'Destinatari'; +$labels['vacationaddr'] = 'Les meves adreces de correu addicionals:'; +$labels['vacationdays'] = 'Cada quan enviar un missatge (en dies):'; +$labels['vacationinterval'] = 'Amb quina freqüència s\'han d\'enviar els missatges:'; +$labels['vacationreason'] = 'Cos del missatge (raó de l\'absència):'; +$labels['vacationsubject'] = 'Assumpte del missatge:'; +$labels['days'] = 'dies'; +$labels['seconds'] = 'segons'; +$labels['rulestop'] = 'Deixa d\'avaluar regles'; +$labels['enable'] = 'Habilita/Deshabilita'; +$labels['filterset'] = 'Conjunt de filtres'; +$labels['filtersets'] = 'Conjunts de filtres'; +$labels['filtersetadd'] = 'Afegeix un conjunt de filtres'; +$labels['filtersetdel'] = 'Suprimeix el conjunt de filtres actual'; +$labels['filtersetact'] = 'Activa el conjunt de filtres actual'; +$labels['filtersetdeact'] = 'Desactiva el conjunt de filtres actual'; +$labels['filterdef'] = 'Definició del filtre'; +$labels['filtersetname'] = 'Nom del conjunt de filtres'; +$labels['newfilterset'] = 'Nou conjunt de filtres'; +$labels['active'] = 'actiu'; +$labels['none'] = 'cap'; +$labels['fromset'] = 'des del conjunt'; +$labels['fromfile'] = 'des del fitxer'; +$labels['filterdisabled'] = 'Filtre deshabilitat'; +$labels['countisgreaterthan'] = 'el recompte és més gran de'; +$labels['countisgreaterthanequal'] = 'el recompte és més gran o igual a'; +$labels['countislessthan'] = 'el recompte és menor de'; +$labels['countislessthanequal'] = 'el recompte és menor o igual a'; +$labels['countequals'] = 'el recompte és igual que'; +$labels['countnotequals'] = 'el recompte és diferent de'; +$labels['valueisgreaterthan'] = 'el valor és més gran de'; +$labels['valueisgreaterthanequal'] = 'el valor és major o igual que'; +$labels['valueislessthan'] = 'el valor és menor que'; +$labels['valueislessthanequal'] = 'el valor és menor o igual de'; +$labels['valueequals'] = 'el valor és igual a'; +$labels['valuenotequals'] = 'el valor és diferent de'; +$labels['setflags'] = 'Posa indicadors al missatge'; +$labels['addflags'] = 'Afegeix indicadors al missatge'; +$labels['removeflags'] = 'Suprimeix indicadors del missatge'; +$labels['flagread'] = 'Llegit'; +$labels['flagdeleted'] = 'Suprimit'; +$labels['flaganswered'] = 'Respost'; +$labels['flagflagged'] = 'Marcat'; +$labels['flagdraft'] = 'Esborrany'; +$labels['setvariable'] = 'Ajusta la variable'; +$labels['setvarname'] = 'Nom de la variable:'; +$labels['setvarvalue'] = 'Valor de la variable:'; +$labels['setvarmodifiers'] = 'Modificadors:'; +$labels['varlower'] = 'minúscules'; +$labels['varupper'] = 'majúscules'; +$labels['varlowerfirst'] = 'el primer caràcter en minúscula'; +$labels['varupperfirst'] = 'el primer caràcter en majúscula'; +$labels['varquotewildcard'] = 'engloba els caràcters especials amb cometes'; +$labels['varlength'] = 'llargada'; +$labels['notify'] = 'Envia notificació'; +$labels['notifytarget'] = 'Objectiu de la notificació:'; +$labels['notifymessage'] = 'Missatge de notificació (opcional):'; +$labels['notifyoptions'] = 'Opcions de notificació (opcional):'; +$labels['notifyfrom'] = 'Remitent de la notificació (opcional):'; +$labels['notifyimportance'] = 'Importància:'; +$labels['notifyimportancelow'] = 'baixa'; +$labels['notifyimportancenormal'] = 'normal'; +$labels['notifyimportancehigh'] = 'alta'; +$labels['notifymethodmailto'] = 'Correu electrònic'; +$labels['notifymethodtel'] = 'Telèfon'; +$labels['notifymethodsms'] = 'SMS'; +$labels['filtercreate'] = 'Crea filtre'; +$labels['usedata'] = 'Fes servir les següents dades al filtre:'; +$labels['nextstep'] = 'Següent pas'; +$labels['...'] = '...'; +$labels['currdate'] = 'Data actual'; +$labels['datetest'] = 'Data'; +$labels['dateheader'] = 'capçalera:'; +$labels['year'] = 'any'; +$labels['month'] = 'mes'; +$labels['day'] = 'dia'; +$labels['date'] = 'data (aaaa-mm-dd)'; +$labels['julian'] = 'data (calendari julià)'; +$labels['hour'] = 'hora'; +$labels['minute'] = 'minut'; +$labels['second'] = 'segon'; +$labels['time'] = 'hora (hh:mm:ss)'; +$labels['iso8601'] = 'data (ISO8601)'; +$labels['std11'] = 'data (RFC2822)'; +$labels['zone'] = 'fus horari'; +$labels['weekday'] = 'dia de la setmana (0-6)'; +$labels['advancedopts'] = 'Opcions avançades'; +$labels['body'] = 'Cos'; +$labels['address'] = 'adreça'; +$labels['envelope'] = 'sobre'; +$labels['modifier'] = 'modificador:'; +$labels['text'] = 'text'; +$labels['undecoded'] = 'descodificat (en brut)'; +$labels['contenttype'] = 'tipus de contingut'; +$labels['modtype'] = 'tipus:'; +$labels['allparts'] = 'tots'; +$labels['domain'] = 'domini'; +$labels['localpart'] = 'part local'; +$labels['user'] = 'usuari'; +$labels['detail'] = 'detall'; +$labels['comparator'] = 'comparador:'; +$labels['default'] = 'per defecte'; +$labels['octet'] = 'estricte (octet)'; +$labels['asciicasemap'] = 'No distingeix entre majúscules i minúscules (ascii-casemap)'; +$labels['asciinumeric'] = 'numèric (ascii-numeric)'; +$labels['index'] = 'índex:'; +$labels['indexlast'] = 'cap enrere'; +$labels['vacation'] = 'Vacances'; +$labels['vacation.reply'] = 'Missatge de resposta'; +$labels['vacation.advanced'] = 'Paràmetres avançats'; +$labels['vacation.subject'] = 'Assumpte'; +$labels['vacation.body'] = 'Cos'; +$labels['vacation.start'] = 'Inici de vacances'; +$labels['vacation.end'] = 'Finalització de vacances'; +$labels['vacation.status'] = 'Estat'; +$labels['vacation.on'] = 'Activat'; +$labels['vacation.off'] = 'Desactivat'; +$labels['vacation.addresses'] = 'Les meves adreces addicionals:'; +$labels['vacation.interval'] = 'Interval de resposta'; +$labels['vacation.after'] = 'Posa la regla de vacances després'; +$labels['vacation.saving'] = 'S\'estan desant les dades...'; +$labels['vacation.action'] = 'Acció pel missatge entrant'; +$labels['vacation.keep'] = 'Conserva'; +$labels['vacation.discard'] = 'Descarta'; +$labels['vacation.redirect'] = 'Redirigeix cap a'; +$labels['vacation.copy'] = 'Envia còpia a'; +$labels['arialabelfiltersetactions'] = 'Accions pel conjunt de filtres'; +$labels['arialabelfilteractions'] = 'Accions del filtre'; +$labels['arialabelfilterform'] = 'Propietats del filtre'; +$labels['ariasummaryfilterslist'] = 'Llistat de filtres'; +$labels['ariasummaryfiltersetslist'] = 'Llistat de conjunts de filtres'; +$labels['filterstitle'] = 'Edita els filtres pels missatges entrants'; +$labels['vacationtitle'] = 'Edita la norma "fora de l\'oficina"'; +$messages['filterunknownerror'] = 'Error desconegut al servidor.'; +$messages['filterconnerror'] = 'No s\'ha pogut connectar al servidor.'; +$messages['filterdeleteerror'] = 'No s\'ha pogut suprimir el filtre. Hi ha hagut un error al servidor.'; +$messages['filterdeleted'] = 'El filtre s\'ha suprimit correctament.'; +$messages['filtersaved'] = 'El filtre s\'ha desat correctament.'; +$messages['filtersaveerror'] = 'No s\'ha pogut desar el filtre. Hi ha hagut un error al servidor.'; +$messages['filterdeleteconfirm'] = 'Esteu segurs de voler suprimir el filtre seleccionat?'; +$messages['ruledeleteconfirm'] = 'Esteu segurs que voleu suprimir la regla seleccionada?'; +$messages['actiondeleteconfirm'] = 'Esteu segurs que voleu suprimir l\'acció seleccionada?'; +$messages['forbiddenchars'] = 'El camp conté caràcters prohibits.'; +$messages['cannotbeempty'] = 'El camp no pot estar buit.'; +$messages['ruleexist'] = 'Ja existeix un filtre amb aquest nom.'; +$messages['setactivateerror'] = 'No s\'ha pogut activar el conjunt de filtres seleccionat. Hi ha hagut un error al servidor.'; +$messages['setdeactivateerror'] = 'No s\'ha pogut desactivar el conjunt de filtres seleccionat. Hi ha hagut un error al servidor.'; +$messages['setdeleteerror'] = 'No s\'ha pogut suprimir el conjunt de filtres seleccionat. Hi ha hagut un error al servidor.'; +$messages['setactivated'] = 'El conjunt de filtres s\'ha activat correctament.'; +$messages['setdeactivated'] = 'El conjunt de filtres s\'ha desactivat correctament.'; +$messages['setdeleted'] = 'El conjunt de filtres s\'ha suprimit correctament.'; +$messages['setdeleteconfirm'] = 'Esteu segurs que voleu suprimir el conjunt de filtres seleccionats?'; +$messages['setcreateerror'] = 'No s\'ha pogut crear el conjunt de filtres. Hi ha hagut un error al servidor.'; +$messages['setcreated'] = 'S\'ha creat correctament el conjunt de filtres.'; +$messages['activateerror'] = 'No s\'ha pogut habilitar el(s) filtre(s) seleccionat(s). Hi ha hagut un error al servidor.'; +$messages['deactivateerror'] = 'No s\'ha pogut deshabilitar el(s) filtre(s) seleccionat(s). Hi ha hagut un error al servidor.'; +$messages['deactivated'] = 'Filtre(s) deshabilitat(s) correctament.'; +$messages['activated'] = 'Filtre(s) habilitat(s) correctament.'; +$messages['moved'] = 'S\'ha mogut correctament el filtre.'; +$messages['moveerror'] = 'No s\'ha pogut moure el filtre seleccionat. Hi ha hagut un error al servidor.'; +$messages['nametoolong'] = 'El nom és massa llarg.'; +$messages['namereserved'] = 'Nom reservat.'; +$messages['setexist'] = 'El conjunt ja existeix.'; +$messages['nodata'] = 'S\'ha de seleccionar com a mínim una posició!'; +$messages['invaliddateformat'] = 'data no vàlida o format no vàlid'; +$messages['saveerror'] = 'No s\'han pogut desar les dades. Hi ha hagut un error al servidor.'; +$messages['vacationsaved'] = 'Les dades de les vacances s\'han desat correctament.'; +$messages['emptyvacationbody'] = 'És obligatori definir el cos del missatge de vacances'; +?> diff --git a/plugins/managesieve/localization/cs_CZ.inc b/plugins/managesieve/localization/cs_CZ.inc new file mode 100644 index 000000000..21e8a6910 --- /dev/null +++ b/plugins/managesieve/localization/cs_CZ.inc @@ -0,0 +1,218 @@ +<?php + +/* + +-----------------------------------------------------------------------+ + | plugins/managesieve/localization/<lang>.inc | + | | + | Localization file of the Roundcube Webmail Managesieve 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-managesieve/ +*/ +$labels['filters'] = 'Filtry'; +$labels['managefilters'] = 'Nastavení filtrů'; +$labels['filtername'] = 'Název filtru'; +$labels['newfilter'] = 'Nový filtr'; +$labels['filteradd'] = 'Přidej filtr'; +$labels['filterdel'] = 'Smaž filtr'; +$labels['moveup'] = 'Posunout nahoru'; +$labels['movedown'] = 'Posunout dolů'; +$labels['filterallof'] = 'Odpovídají všechna pravidla'; +$labels['filteranyof'] = 'Odpovídá kterékoliv pravidlo'; +$labels['filterany'] = 'Všechny zprávy'; +$labels['filtercontains'] = 'obsahuje'; +$labels['filternotcontains'] = 'neobsahuje'; +$labels['filteris'] = 'odpovídá'; +$labels['filterisnot'] = 'neodpovídá'; +$labels['filterexists'] = 'existuje'; +$labels['filternotexists'] = 'neexistuje'; +$labels['filtermatches'] = 'odpovídá výrazu'; +$labels['filternotmatches'] = 'neodpovídá výrazu'; +$labels['filterregex'] = 'odpovídá regulárnímu výrazu'; +$labels['filternotregex'] = 'neodpovídá regulárnímu výrazu'; +$labels['filterunder'] = 'pod'; +$labels['filterover'] = 'nad'; +$labels['addrule'] = 'Přidej pravidlo'; +$labels['delrule'] = 'Smaž pravidlo'; +$labels['messagemoveto'] = 'Přesuň zprávu do'; +$labels['messageredirect'] = 'Přeposlat zprávu na'; +$labels['messagecopyto'] = 'Zkopírovat zprávu do'; +$labels['messagesendcopy'] = 'Odeslat kopii zprávy na'; +$labels['messagereply'] = 'Odpovědět se zprávou'; +$labels['messagedelete'] = 'Smazat zprávu'; +$labels['messagediscard'] = 'Smazat se zprávou'; +$labels['messagekeep'] = 'Ponechat zprávu v doručené poště'; +$labels['messagesrules'] = 'Pravidla pro příchozí zprávu:'; +$labels['messagesactions'] = '...vykonej následující akce:'; +$labels['add'] = 'Přidej'; +$labels['del'] = 'Smaž'; +$labels['sender'] = 'Odesílatel'; +$labels['recipient'] = 'Příjemce'; +$labels['vacationaddr'] = 'Moje další e-mailová adresa(y):'; +$labels['vacationdays'] = 'Počet dnů mezi automatickými odpověďmi:'; +$labels['vacationinterval'] = 'Prodleva mezi automatickými odpověďmi:'; +$labels['vacationreason'] = 'Zpráva (Důvod nepřítomnosti):'; +$labels['vacationsubject'] = 'Předmět zprávy:'; +$labels['days'] = 'dnů'; +$labels['seconds'] = 'sekund'; +$labels['rulestop'] = 'Zastavit pravidla'; +$labels['enable'] = 'Zapnout/Vypnout'; +$labels['filterset'] = 'Sada filtrů'; +$labels['filtersets'] = 'Sady filtrů'; +$labels['filtersetadd'] = 'Přidat sadu filtrů'; +$labels['filtersetdel'] = 'Odebrat tuto sadu filtrů'; +$labels['filtersetact'] = 'Activate current filters set'; +$labels['filtersetdeact'] = 'Vypnout tuto sadu filtrů'; +$labels['filterdef'] = 'Definice filtru'; +$labels['filtersetname'] = 'Nastavit název sady filtrů'; +$labels['newfilterset'] = 'Nová sada filtrů'; +$labels['active'] = 'aktivní'; +$labels['none'] = 'nic'; +$labels['fromset'] = 'ze sady'; +$labels['fromfile'] = 'ze souboru'; +$labels['filterdisabled'] = 'Filtr neaktivní'; +$labels['countisgreaterthan'] = 'počet je větší než'; +$labels['countisgreaterthanequal'] = 'počet je větší nebo roven'; +$labels['countislessthan'] = 'počet je nižší než'; +$labels['countislessthanequal'] = 'počet je nižší nebo roven'; +$labels['countequals'] = 'počet je roven'; +$labels['countnotequals'] = 'počet není roven'; +$labels['valueisgreaterthan'] = 'hodnota je větší než'; +$labels['valueisgreaterthanequal'] = 'hodnota je větší nebo stejná jako'; +$labels['valueislessthan'] = 'hodnota je nižší než'; +$labels['valueislessthanequal'] = 'hodnota je nižší nebo stejná jako'; +$labels['valueequals'] = 'hodnota odpovídá'; +$labels['valuenotequals'] = 'hodnota neodpovídá'; +$labels['setflags'] = 'Nastavit vlajky u zprávy'; +$labels['addflags'] = 'Přidat vlajky ke zprávě'; +$labels['removeflags'] = 'Odstranit vlajky ze zprávy'; +$labels['flagread'] = 'Přečteno'; +$labels['flagdeleted'] = 'Smazáno'; +$labels['flaganswered'] = 'Odpovězené'; +$labels['flagflagged'] = 'Označeno'; +$labels['flagdraft'] = 'Koncept'; +$labels['setvariable'] = 'Nastavit proměnnou'; +$labels['setvarname'] = 'Název proměnné:'; +$labels['setvarvalue'] = 'Hodnota proměnné:'; +$labels['setvarmodifiers'] = 'Modifikátory:'; +$labels['varlower'] = 'malá písmena'; +$labels['varupper'] = 'velká písmena'; +$labels['varlowerfirst'] = 'první písmeno malé'; +$labels['varupperfirst'] = 'první písmeno velké'; +$labels['varquotewildcard'] = 'uvodit speciální znaky uvozovkama'; +$labels['varlength'] = 'délka'; +$labels['notify'] = 'Odeslat oznámení'; +$labels['notifytarget'] = 'Cíl oznámení:'; +$labels['notifymessage'] = 'Zpráva oznámení (nepovinné):'; +$labels['notifyoptions'] = 'Možnosti oznámení (nepovinné):'; +$labels['notifyfrom'] = 'Odesílatel oznámení (nepovinné):'; +$labels['notifyimportance'] = 'Důležitost:'; +$labels['notifyimportancelow'] = 'nízká'; +$labels['notifyimportancenormal'] = 'normální'; +$labels['notifyimportancehigh'] = 'vysoká'; +$labels['notifymethodmailto'] = 'E-mail'; +$labels['notifymethodtel'] = 'Telefon'; +$labels['notifymethodsms'] = 'SMS'; +$labels['filtercreate'] = 'Vytvořit filtr'; +$labels['usedata'] = 'Použít následující údaje ve filtru:'; +$labels['nextstep'] = 'Další krok'; +$labels['...'] = '...'; +$labels['currdate'] = 'Aktuální datum'; +$labels['datetest'] = 'Datum'; +$labels['dateheader'] = 'hlavička:'; +$labels['year'] = 'rok'; +$labels['month'] = 'měsíc'; +$labels['day'] = 'den'; +$labels['date'] = 'datum (rrrr-mm-dd)'; +$labels['julian'] = 'datum (juliánské)'; +$labels['hour'] = 'hodina'; +$labels['minute'] = 'minuta'; +$labels['second'] = 'sekunda'; +$labels['time'] = 'čas (hh:mm:ss)'; +$labels['iso8601'] = 'datum (ISO8601)'; +$labels['std11'] = 'datum (RFC2822)'; +$labels['zone'] = 'časová zóna'; +$labels['weekday'] = 'všední den (0-6)'; +$labels['advancedopts'] = 'Pokročilá nastavení'; +$labels['body'] = 'Tělo'; +$labels['address'] = 'adresa'; +$labels['envelope'] = 'obálka'; +$labels['modifier'] = 'měnič:'; +$labels['text'] = 'text'; +$labels['undecoded'] = 'nedekódované (surové)'; +$labels['contenttype'] = 'typ obsahu'; +$labels['modtype'] = 'typ:'; +$labels['allparts'] = 'vše'; +$labels['domain'] = 'doména'; +$labels['localpart'] = 'místní část'; +$labels['user'] = 'uživatel'; +$labels['detail'] = 'detail'; +$labels['comparator'] = 'porovnávač:'; +$labels['default'] = 'výchozí'; +$labels['octet'] = 'striktní (oktet)'; +$labels['asciicasemap'] = 'necitlivé na velikost písmen (ascii-casemap)'; +$labels['asciinumeric'] = 'číslené (ascii-numeric)'; +$labels['index'] = 'index:'; +$labels['indexlast'] = 'pozpátku'; +$labels['vacation'] = 'Dovolená'; +$labels['vacation.reply'] = 'Odpověd'; +$labels['vacation.advanced'] = 'Pokročilá nastavení'; +$labels['vacation.subject'] = 'Předmět'; +$labels['vacation.body'] = 'Tělo'; +$labels['vacation.start'] = 'Začátek dovolené'; +$labels['vacation.end'] = 'Konec dovolené'; +$labels['vacation.status'] = 'Stav'; +$labels['vacation.on'] = 'Zapnuto'; +$labels['vacation.off'] = 'Vypnuto'; +$labels['vacation.addresses'] = 'Moje další adresy:'; +$labels['vacation.interval'] = 'Doba mezi odpověďmi'; +$labels['vacation.after'] = 'Uložit pravidlo o dovolené za'; +$labels['vacation.saving'] = 'Ukládám data...'; +$labels['vacation.keep'] = 'Zachovat'; +$labels['vacation.discard'] = 'Zrušit'; +$labels['vacation.copy'] = 'Odeslat kopii zprávy na'; +$labels['arialabelfilterform'] = 'Vlastnosti filtru'; +$labels['ariasummaryfilterslist'] = 'Seznam filtrů'; +$labels['ariasummaryfiltersetslist'] = 'Seznam sad filtrů'; +$messages['filterunknownerror'] = 'Neznámá chyba serveru'; +$messages['filterconnerror'] = 'Nebylo možné se připojit k sieve serveru'; +$messages['filterdeleteerror'] = 'Nebylo možné smazat filtr. Došlo k chybě serveru.'; +$messages['filterdeleted'] = 'Filtr byl smazán'; +$messages['filtersaved'] = 'Filtr byl uložen'; +$messages['filtersaveerror'] = 'Nebylo možné uložit filtr. Došlo k chybě serveru.'; +$messages['filterdeleteconfirm'] = 'Opravdu chcete smazat vybraný filtr?'; +$messages['ruledeleteconfirm'] = 'Jste si jisti, že chcete smazat vybrané pravidlo?'; +$messages['actiondeleteconfirm'] = 'Jste si jisti, že chcete smazat vybranou akci?'; +$messages['forbiddenchars'] = 'Zakázané znaky v poli'; +$messages['cannotbeempty'] = 'Pole nemůže být prázdné'; +$messages['ruleexist'] = 'Filtr s uvedeným názvem již existuje.'; +$messages['setactivateerror'] = 'Nelze zapnout vybranou sadu filtrů. Došlo k chybě serveru.'; +$messages['setdeactivateerror'] = 'Nelze vypnout vybranou sadu filtrů. Došlo k chybě serveru.'; +$messages['setdeleteerror'] = 'Nelze odstranit vybranou sadu filtrů. Došlo k chybě serveru.'; +$messages['setactivated'] = 'Sada filtrů úspěšně zapnuta.'; +$messages['setdeactivated'] = 'Sada filtrů úspěšně vypnuta.'; +$messages['setdeleted'] = 'Sada filtrů úspěšně odstraněna.'; +$messages['setdeleteconfirm'] = 'Opravdu si přejete odebrat vybranou sadu filtrů.'; +$messages['setcreateerror'] = 'Nelze vytvořit sadu filtrů. Došlo k chybě serveru.'; +$messages['setcreated'] = 'Sada filtrů úspěšně vytvořena.'; +$messages['activateerror'] = 'Nelze zapnout vybrané filtr/y. Došlo k chybě serveru.'; +$messages['deactivateerror'] = 'Nelze vypnout vybrané filtr/y. Došlo k chybě serveru.'; +$messages['deactivated'] = 'Filtr(y) úspěšně vypnuty.'; +$messages['activated'] = 'Filtr/y úspěšně zapnuty.'; +$messages['moved'] = 'Filtr byl úspěšně přesunut.'; +$messages['moveerror'] = 'Nelze přesunout vybraný filtr. Došlo k chybě serveru.'; +$messages['nametoolong'] = 'Příliš dlouhý název.'; +$messages['namereserved'] = 'Vyhrazený název.'; +$messages['setexist'] = 'Sada již existuje.'; +$messages['nodata'] = 'Musí být vybrána minimálně jedna pozice!'; +$messages['invaliddateformat'] = 'Neplatné datum nebo část data'; +$messages['saveerror'] = 'Nebylo možné uložit data. Došlo k chybě serveru.'; +$messages['vacationsaved'] = 'Data o dovolené byla uložena.'; +$messages['emptyvacationbody'] = 'Tělo zprávy'; +?> diff --git a/plugins/managesieve/localization/cy_GB.inc b/plugins/managesieve/localization/cy_GB.inc new file mode 100644 index 000000000..8d8d1a5bf --- /dev/null +++ b/plugins/managesieve/localization/cy_GB.inc @@ -0,0 +1,224 @@ +<?php + +/* + +-----------------------------------------------------------------------+ + | plugins/managesieve/localization/<lang>.inc | + | | + | Localization file of the Roundcube Webmail Managesieve 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-managesieve/ +*/ +$labels['filters'] = 'Hidlyddion'; +$labels['managefilters'] = 'Rheoli hidlyddion ebost i fewn'; +$labels['filtername'] = 'Enw hidlydd'; +$labels['newfilter'] = 'Hidlydd newydd'; +$labels['filteradd'] = 'Ychwanegu hidlydd'; +$labels['filterdel'] = 'Dileu hidlydd'; +$labels['moveup'] = 'Symud i fyny'; +$labels['movedown'] = 'Symud i lawr'; +$labels['filterallof'] = 'sy\'n cyfateb i\'r holl reolau canlynol'; +$labels['filteranyof'] = 'sy\'n cyfateb i unrhyw un i\'r rheolau canlynol'; +$labels['filterany'] = 'pob neges'; +$labels['filtercontains'] = 'yn cynnwys'; +$labels['filternotcontains'] = 'ddim yn cynnwys'; +$labels['filteris'] = 'yn hafal i'; +$labels['filterisnot'] = 'ddim yn hafal i'; +$labels['filterexists'] = 'yn bodoli'; +$labels['filternotexists'] = 'ddim yn bodoli'; +$labels['filtermatches'] = 'yn cyfateb i\'r mynegiant'; +$labels['filternotmatches'] = 'ddim yn cyfateb i\'r mynegiant'; +$labels['filterregex'] = 'yn cyfateb i\'r mynegiant rheolaidd'; +$labels['filternotregex'] = 'ddim yn cyfateb i\'r mynegiant rheolaidd'; +$labels['filterunder'] = 'o dan'; +$labels['filterover'] = 'dros'; +$labels['addrule'] = 'Ychwanegu rheol'; +$labels['delrule'] = 'Dileu rheol'; +$labels['messagemoveto'] = 'Symud neges i'; +$labels['messageredirect'] = 'Ail-gyfeirio neges i'; +$labels['messagecopyto'] = 'Copio neges i'; +$labels['messagesendcopy'] = 'Danfon copi o\'r neges i'; +$labels['messagereply'] = 'Ymateb gyda\'r neges'; +$labels['messagedelete'] = 'Dileu neges'; +$labels['messagediscard'] = 'Gwaredu gyda neges'; +$labels['messagekeep'] = 'Cadw\'r neges yn y Mewnflwch'; +$labels['messagesrules'] = 'Ar gyfer ebost i fewn:'; +$labels['messagesactions'] = '...rhedeg y gweithredoedd canlynol:'; +$labels['add'] = 'Ychwanegu'; +$labels['del'] = 'Dileu'; +$labels['sender'] = 'Anfonwr'; +$labels['recipient'] = 'Derbynnwr'; +$labels['vacationaddr'] = 'Fy nghyfeiriad(au) ebost ychwanegol:'; +$labels['vacationdays'] = 'Pa mor aml i ddanfon negeseuon (mewn dyddiau):'; +$labels['vacationinterval'] = 'Pa mor aml i ddanfon negeseuon:'; +$labels['vacationreason'] = 'Corff neges (rheswm ar wyliau):'; +$labels['vacationsubject'] = 'Pwnc neges:'; +$labels['days'] = 'dyddiau'; +$labels['seconds'] = 'eiliadau'; +$labels['rulestop'] = 'Stopio gwerthuso rheolau'; +$labels['enable'] = 'Galluogi/Analluogi'; +$labels['filterset'] = 'Set hidlyddion'; +$labels['filtersets'] = 'Setiau hidlyddion'; +$labels['filtersetadd'] = 'Ychwanegu set hidlyddion'; +$labels['filtersetdel'] = 'Dileu set hidlyddion cyfredol'; +$labels['filtersetact'] = 'Dileu set hidlyddion gweithredol'; +$labels['filtersetdeact'] = 'Analluogi set hidlyddion cyfredol'; +$labels['filterdef'] = 'Diffiniad hidlydd'; +$labels['filtersetname'] = 'Enw set hidlyddion'; +$labels['newfilterset'] = 'Set hidlyddion newydd'; +$labels['active'] = 'gweithredol'; +$labels['none'] = 'dim'; +$labels['fromset'] = 'o set'; +$labels['fromfile'] = 'o ffeil'; +$labels['filterdisabled'] = 'Analluogwyd hidlydd'; +$labels['countisgreaterthan'] = 'rhif yn fwy na'; +$labels['countisgreaterthanequal'] = 'rhif yn fwy na neu hafal i'; +$labels['countislessthan'] = 'rhif yn llai na'; +$labels['countislessthanequal'] = 'rhif yn llai na neu hafal i'; +$labels['countequals'] = 'rhif yn hafal i'; +$labels['countnotequals'] = 'rhif ddim yn hafal i'; +$labels['valueisgreaterthan'] = 'gwerth yn fwy na'; +$labels['valueisgreaterthanequal'] = 'gwerth yn fwy na neu hafal i'; +$labels['valueislessthan'] = 'gwerth yn llai na'; +$labels['valueislessthanequal'] = 'gwerth yn llai neu hafal i'; +$labels['valueequals'] = 'gwerth yn hafal i'; +$labels['valuenotequals'] = 'gwerth ddim yn hafal i'; +$labels['setflags'] = 'Rhoi fflag ar y neges'; +$labels['addflags'] = 'Ychwanegu fflag i\'r neges'; +$labels['removeflags'] = 'Dileu fflag o\'r neges'; +$labels['flagread'] = 'Darllen'; +$labels['flagdeleted'] = 'Dilewyd'; +$labels['flaganswered'] = 'Atebwyd'; +$labels['flagflagged'] = 'Nodwyd'; +$labels['flagdraft'] = 'Drafft'; +$labels['setvariable'] = 'Gosod newidyn'; +$labels['setvarname'] = 'Enw newidyn:'; +$labels['setvarvalue'] = 'Gwerth newidyn:'; +$labels['setvarmodifiers'] = 'Addasydd:'; +$labels['varlower'] = 'llythrennau bychain'; +$labels['varupper'] = 'priflythrennau'; +$labels['varlowerfirst'] = 'llythyren gyntaf yn fach'; +$labels['varupperfirst'] = 'llythyren gyntaf yn briflythyren'; +$labels['varquotewildcard'] = 'dyfynnu nodau arbennig'; +$labels['varlength'] = 'hyd'; +$labels['notify'] = 'Anfon hysbysiad'; +$labels['notifytarget'] = 'Target hysbysu:'; +$labels['notifymessage'] = 'Neges hysbysu (dewisol):'; +$labels['notifyoptions'] = 'Dewisiadau hysbysu (dewisol):'; +$labels['notifyfrom'] = 'Anfonwr hysbysiad (dewisol):'; +$labels['notifyimportance'] = 'Pwysigrwydd:'; +$labels['notifyimportancelow'] = 'isel'; +$labels['notifyimportancenormal'] = 'arferol'; +$labels['notifyimportancehigh'] = 'uchel'; +$labels['notifymethodmailto'] = 'Ebost'; +$labels['notifymethodtel'] = 'Ffôn'; +$labels['notifymethodsms'] = 'SMS'; +$labels['filtercreate'] = 'Creu hidlydd'; +$labels['usedata'] = 'Defnyddio\'r wybodaeth ganlynol yn yr hidlydd:'; +$labels['nextstep'] = 'Cam nesaf'; +$labels['...'] = '...'; +$labels['currdate'] = 'Dyddiad cyfredol'; +$labels['datetest'] = 'Dyddiad'; +$labels['dateheader'] = 'pennawd:'; +$labels['year'] = 'blwyddyn'; +$labels['month'] = 'mis'; +$labels['day'] = 'dydd'; +$labels['date'] = 'dyddiad (bbbb-mm-dd)'; +$labels['julian'] = 'dyddiad (julian)'; +$labels['hour'] = 'awr'; +$labels['minute'] = 'munud'; +$labels['second'] = 'eiliad'; +$labels['time'] = 'amser (aa:mm:ee)'; +$labels['iso8601'] = 'dyddiad (ISO8601)'; +$labels['std11'] = 'dyddiad (RFC2822)'; +$labels['zone'] = 'parth-amser'; +$labels['weekday'] = 'dydd yr wythnos (0-6)'; +$labels['advancedopts'] = 'Dewisiadau uwch'; +$labels['body'] = 'Corff'; +$labels['address'] = 'cyfeiriad'; +$labels['envelope'] = 'amlen'; +$labels['modifier'] = 'newidydd:'; +$labels['text'] = 'testun'; +$labels['undecoded'] = 'heb ei ddatgodi (amrwd)'; +$labels['contenttype'] = 'math cynnwys'; +$labels['modtype'] = 'math:'; +$labels['allparts'] = 'popeth'; +$labels['domain'] = 'parth'; +$labels['localpart'] = 'darn lleol'; +$labels['user'] = 'defnyddiwr'; +$labels['detail'] = 'manylion'; +$labels['comparator'] = 'cymharydd'; +$labels['default'] = 'rhagosodiad'; +$labels['octet'] = 'llym (octet)'; +$labels['asciicasemap'] = 'maint llythrennau (ascii-casemap)'; +$labels['asciinumeric'] = 'rhifau (ascii-numeric)'; +$labels['index'] = 'mynegai:'; +$labels['indexlast'] = 'o chwith'; +$labels['vacation'] = 'Gwyliau'; +$labels['vacation.reply'] = 'Neges ymateb'; +$labels['vacation.advanced'] = 'Gosodiadau uwch'; +$labels['vacation.subject'] = 'Pwnc'; +$labels['vacation.body'] = 'Corff'; +$labels['vacation.start'] = 'Dechrau gwyliau'; +$labels['vacation.end'] = 'Diwedd gwyliau'; +$labels['vacation.status'] = 'Statws'; +$labels['vacation.on'] = 'Ymlaen'; +$labels['vacation.off'] = 'I ffwrdd'; +$labels['vacation.addresses'] = 'Fy nghyfeiriadau ychwanegol'; +$labels['vacation.interval'] = 'Cyfnod ymateb'; +$labels['vacation.after'] = 'Rhoi rheol gwyliau ar ôl'; +$labels['vacation.saving'] = 'Yn cadw\'r data...'; +$labels['vacation.action'] = 'Gweithred neges i fewn'; +$labels['vacation.keep'] = 'Cadw'; +$labels['vacation.discard'] = 'Gwaredu'; +$labels['vacation.redirect'] = 'Ailgyfeirio i'; +$labels['vacation.copy'] = 'Danfon copi i'; +$labels['arialabelfiltersetactions'] = 'Gweithrediadau set hidlydd'; +$labels['arialabelfilteractions'] = 'Gweithrediadau hidlydd'; +$labels['arialabelfilterform'] = 'Nodweddion hidlydd'; +$labels['ariasummaryfilterslist'] = 'Rhestr o hidlyddion'; +$labels['ariasummaryfiltersetslist'] = 'Rhestr o setiau hidlyddion'; +$labels['filterstitle'] = 'Golygu hidlyddion ebost i fewn'; +$labels['vacationtitle'] = 'Golygu rheol allan-o\'r-swyddfa'; +$messages['filterunknownerror'] = 'Gwall gweinydd anhysbys.'; +$messages['filterconnerror'] = 'Methwyd cysylltu a\'r gweinydd.'; +$messages['filterdeleteerror'] = 'Methwyd dileu hidlydd. Cafwydd gwall gweinydd.'; +$messages['filterdeleted'] = 'Dilëuwyd hidlydd yn llwyddiannus.'; +$messages['filtersaved'] = 'Cadwyd hidlydd yn llwyddiannus.'; +$messages['filtersaveerror'] = 'Methwyd cadw hidlydd. Cafwyd gwall gweinydd.'; +$messages['filterdeleteconfirm'] = 'Ydych chi wir am ddileu yr hidlydd ddewiswyd?'; +$messages['ruledeleteconfirm'] = 'Ydych chi\'n siwr eich bod am ddileu\'r rheol ddewiswyd?'; +$messages['actiondeleteconfirm'] = 'Ydych chi\'n siwr eich bod am ddileu\'r weithred ddewiswyd?'; +$messages['forbiddenchars'] = 'Llythrennau gwaharddedig yn y maes.'; +$messages['cannotbeempty'] = 'Ni all y maes fod yn wag.'; +$messages['ruleexist'] = 'Mae hidlydd gyda\'r enw yma yn bodoli\'n barod.'; +$messages['setactivateerror'] = 'Methwyd galluogi y hidlyddion dewiswyd. Cafwyd gwall gweinydd.'; +$messages['setdeactivateerror'] = 'Methwyd analluogi y hidlyddion dewiswyd. Cafwyd gwall gweinydd.'; +$messages['setdeleteerror'] = 'Methwyd dileu y set hidlyddion ddewiswyd. Cafwyd gwall gweinydd.'; +$messages['setactivated'] = 'Bywiogwyd y set hidlydd yn llwyddiannus.'; +$messages['setdeactivated'] = 'Dadfywiogwyd y set hidlydd yn llwyddiannus.'; +$messages['setdeleted'] = 'Dilëuwyd y set hidlydd yn llwyddiannus.'; +$messages['setdeleteconfirm'] = 'Ydych chi\'n siwr eich bod am ddileu\'r set hidlydd ddewiswyd?'; +$messages['setcreateerror'] = 'Methwyd creu set hidlydd. Cafwyd gwall gweinydd.'; +$messages['setcreated'] = 'Crëuwyd y set hidlydd yn llwyddiannus.'; +$messages['activateerror'] = 'Methwyd galluogi y hidlydd(ion) dewiswyd. Cafwyd gwall gweinydd.'; +$messages['deactivateerror'] = 'Methwyd analluogi y hidlydd(ion) dewiswyd. Cafwyd gwall gweinydd.'; +$messages['deactivated'] = 'Galluogwyd y hidlydd(ion) yn llwyddiannus.'; +$messages['activated'] = 'Analluogwyd y hidlydd(ion) yn llwyddiannus.'; +$messages['moved'] = 'Symudwyd y hidlydd yn llwyddiannus.'; +$messages['moveerror'] = 'Methwyd symud y hidlydd dewiswyd. Cafwyd gwall gweinydd.'; +$messages['nametoolong'] = 'Enw yn rhy hir.'; +$messages['namereserved'] = 'Enw neilltuedig.'; +$messages['setexist'] = 'Mae\'r set yn bodoli\'n barod.'; +$messages['nodata'] = 'Rhaid dewis o leia un safle!'; +$messages['invaliddateformat'] = 'Dyddiad neu fformat dyddiad annilys'; +$messages['saveerror'] = 'Methwyd cadw\'r data. Cafwyd gwall gweinydd.'; +$messages['vacationsaved'] = 'Cadwyd y data gwyliau yn llwyddiannus.'; +$messages['emptyvacationbody'] = 'Mae angen rhoi corff y neges wyliau!'; +?> diff --git a/plugins/managesieve/localization/da_DK.inc b/plugins/managesieve/localization/da_DK.inc new file mode 100644 index 000000000..ebf1cb077 --- /dev/null +++ b/plugins/managesieve/localization/da_DK.inc @@ -0,0 +1,205 @@ +<?php + +/* + +-----------------------------------------------------------------------+ + | plugins/managesieve/localization/<lang>.inc | + | | + | Localization file of the Roundcube Webmail Managesieve 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-managesieve/ +*/ +$labels['filters'] = 'Filtre'; +$labels['managefilters'] = 'Ændre indgående mail filtreing'; +$labels['filtername'] = 'Filter navn'; +$labels['newfilter'] = 'Nyt filter'; +$labels['filteradd'] = 'Tilføj filter'; +$labels['filterdel'] = 'Slet filter'; +$labels['moveup'] = 'Flyt op'; +$labels['movedown'] = 'Flyt ned'; +$labels['filterallof'] = 'matcher alle af de følgende regler'; +$labels['filteranyof'] = 'matcher en af følgende regler'; +$labels['filterany'] = 'alle meddelelser'; +$labels['filtercontains'] = 'indeholder'; +$labels['filternotcontains'] = 'indeholder ikke'; +$labels['filteris'] = 'er ens med'; +$labels['filterisnot'] = 'er ikke ens med'; +$labels['filterexists'] = 'findes'; +$labels['filternotexists'] = 'ikke eksisterer'; +$labels['filtermatches'] = 'matcher udtryk'; +$labels['filternotmatches'] = 'matcher ikke udtryk'; +$labels['filterregex'] = 'matcher regulært udtryk'; +$labels['filternotregex'] = 'matcher ikke regulært udtryk'; +$labels['filterunder'] = 'under'; +$labels['filterover'] = 'over'; +$labels['addrule'] = 'Tilføj regel'; +$labels['delrule'] = 'Slet regel'; +$labels['messagemoveto'] = 'Flyt besked til'; +$labels['messageredirect'] = 'Redirriger besked til'; +$labels['messagecopyto'] = 'Kopier besked til'; +$labels['messagesendcopy'] = 'Send kopi af besked til'; +$labels['messagereply'] = 'Svar med besked'; +$labels['messagedelete'] = 'Slet besked'; +$labels['messagediscard'] = 'Slet med besked'; +$labels['messagekeep'] = 'Behold besked i Inbox'; +$labels['messagesrules'] = 'For indkomne besked:'; +$labels['messagesactions'] = '...udfør følgende aktioner:'; +$labels['add'] = 'Tilføje'; +$labels['del'] = 'Fjern'; +$labels['sender'] = 'Afsender'; +$labels['recipient'] = 'Modtager'; +$labels['vacationaddr'] = 'Min(e) yderligere email-adresse(r):'; +$labels['vacationdays'] = 'Hvor tit skal besked sendes (i dage):'; +$labels['vacationinterval'] = 'Hvor tit skal besked sendes:'; +$labels['vacationreason'] = 'Besked (ved ferie):'; +$labels['vacationsubject'] = 'Besked emne:'; +$labels['days'] = 'dage'; +$labels['seconds'] = 'sekunder'; +$labels['rulestop'] = 'Stop behandling af regler'; +$labels['enable'] = 'Aktivér/Deaktivér'; +$labels['filterset'] = 'Filter sæt'; +$labels['filtersets'] = 'Filtre sæt'; +$labels['filtersetadd'] = 'Tilføj filter sæt'; +$labels['filtersetdel'] = 'Slet aktuel filter sæt'; +$labels['filtersetact'] = 'Aktiver nuværende filter sæt'; +$labels['filtersetdeact'] = 'Deaktiver nuværende filter sæt'; +$labels['filterdef'] = 'Filter definition'; +$labels['filtersetname'] = 'Filter sæt navn'; +$labels['newfilterset'] = 'Nyt filter sæt'; +$labels['active'] = 'aktiv'; +$labels['none'] = 'ingen'; +$labels['fromset'] = 'fra sæt'; +$labels['fromfile'] = 'fra fil'; +$labels['filterdisabled'] = 'Filter deaktiveret'; +$labels['countisgreaterthan'] = 'antal er større end'; +$labels['countisgreaterthanequal'] = 'antal er større end eller lig med'; +$labels['countislessthan'] = 'antal er mindre end'; +$labels['countislessthanequal'] = 'antal er mindre end eller lig med'; +$labels['countequals'] = 'antal er lig med'; +$labels['countnotequals'] = 'antal er ikke lig med'; +$labels['valueisgreaterthan'] = 'værdi er større end'; +$labels['valueisgreaterthanequal'] = 'værdi er større end eller lig med'; +$labels['valueislessthan'] = 'værdi er mindre end'; +$labels['valueislessthanequal'] = 'værdi er mindre end eller lig med'; +$labels['valueequals'] = 'værdi er lig med'; +$labels['valuenotequals'] = 'værdi er ikke lig med'; +$labels['setflags'] = 'Sæt flag i beskeden'; +$labels['addflags'] = 'Tilføj flag til beskeden'; +$labels['removeflags'] = 'Fjern flag fra beskeden'; +$labels['flagread'] = 'Læs'; +$labels['flagdeleted'] = 'Slettede'; +$labels['flaganswered'] = 'Besvaret'; +$labels['flagflagged'] = 'Markeret'; +$labels['flagdraft'] = 'Kladde'; +$labels['setvariable'] = 'Skriv variablen'; +$labels['setvarname'] = 'Variabel navn:'; +$labels['setvarvalue'] = 'Variabel værdi:'; +$labels['setvarmodifiers'] = 'Modifikator'; +$labels['varlower'] = 'små bogstaver'; +$labels['varupper'] = 'store bogstaver'; +$labels['varlowerfirst'] = 'første bogstav lille'; +$labels['varupperfirst'] = 'Første bogstav stort'; +$labels['varquotewildcard'] = 'Sæt specialle tegn i citationstegn '; +$labels['varlength'] = 'længde'; +$labels['notify'] = 'Send meddelelse'; +$labels['notifyimportance'] = 'Vigtighed:'; +$labels['notifyimportancelow'] = 'lav'; +$labels['notifyimportancenormal'] = 'normal'; +$labels['notifyimportancehigh'] = 'høj'; +$labels['notifymethodmailto'] = 'Email'; +$labels['notifymethodtel'] = 'Telefon'; +$labels['notifymethodsms'] = 'SMS'; +$labels['filtercreate'] = 'Opret filter'; +$labels['usedata'] = 'Brug følgende data i filteret:'; +$labels['nextstep'] = 'Næste trin'; +$labels['...'] = '...'; +$labels['currdate'] = 'Aktuel dato'; +$labels['datetest'] = 'Dato'; +$labels['dateheader'] = 'header:'; +$labels['year'] = 'år'; +$labels['month'] = 'måned'; +$labels['day'] = 'dag'; +$labels['date'] = 'dato (åååå-mm-dd)'; +$labels['julian'] = 'dato (juliansk)'; +$labels['hour'] = 'time'; +$labels['minute'] = 'minut'; +$labels['second'] = 'sekund'; +$labels['time'] = 'tid (tt:mm:ss)'; +$labels['iso8601'] = 'dato (ISO8601)'; +$labels['std11'] = 'dato (RFC2822)'; +$labels['zone'] = 'tidszone'; +$labels['weekday'] = 'ugedag (0-6)'; +$labels['advancedopts'] = 'Advancerede muligheder'; +$labels['body'] = 'Brødtekst'; +$labels['address'] = 'adresse'; +$labels['envelope'] = 'kuvert'; +$labels['modifier'] = 'modificerer:'; +$labels['text'] = 'tekst'; +$labels['undecoded'] = 'udekodet (råt):'; +$labels['contenttype'] = 'indholdstype'; +$labels['modtype'] = 'type:'; +$labels['allparts'] = 'alle'; +$labels['domain'] = 'domæne'; +$labels['localpart'] = 'lokal del'; +$labels['user'] = 'bruger'; +$labels['detail'] = 'detalje'; +$labels['comparator'] = 'sammenligner:'; +$labels['default'] = 'standard'; +$labels['octet'] = 'præcis (oktet)'; +$labels['asciicasemap'] = 'store og små bogstaver (ascii-bogstaver)'; +$labels['asciinumeric'] = 'numerisk (ascii-numerisk)'; +$labels['index'] = 'indeks:'; +$labels['indexlast'] = 'baglends'; +$labels['vacation'] = 'Ferie'; +$labels['vacation.reply'] = 'Svar besked'; +$labels['vacation.advanced'] = 'Avanceret indstillinger '; +$labels['vacation.subject'] = 'Emne'; +$labels['vacation.start'] = 'Ferie star'; +$labels['vacation.end'] = 'Ferie slut'; +$labels['vacation.status'] = 'Status'; +$labels['vacation.saving'] = 'Gemmer data...'; +$labels['vacation.keep'] = 'Behold'; +$labels['vacation.discard'] = 'Kasser'; +$labels['vacation.redirect'] = 'Omdiriger til '; +$labels['vacation.copy'] = 'Send kopi til'; +$messages['filterunknownerror'] = 'Ukendt server fejl.'; +$messages['filterconnerror'] = 'Kan ikke forbinde til server.'; +$messages['filterdeleteerror'] = 'Kunne ikke slette filter. Serverfejl opstod.'; +$messages['filterdeleted'] = 'Filter slettet.'; +$messages['filtersaved'] = 'Filter gemt.'; +$messages['filtersaveerror'] = 'Kunne ikke gemme filter. Serverfejl.'; +$messages['filterdeleteconfirm'] = 'Vil du slette det valgte filter?'; +$messages['ruledeleteconfirm'] = 'Er du sikker på at du vil slette den valgte regel?'; +$messages['actiondeleteconfirm'] = 'Er du sikker på du vil slette den valgte handling?'; +$messages['forbiddenchars'] = 'Ulovlige tegn i feltet'; +$messages['cannotbeempty'] = 'Feltet kan ikke være tomt.'; +$messages['ruleexist'] = 'Filter med dette navn eksisterer allerede.'; +$messages['setactivateerror'] = 'Kan ikke aktiverer valgt filter sæt. Server fejl.'; +$messages['setdeactivateerror'] = 'Kan ikke deaktivere valgt filter sæt. Server fejl.'; +$messages['setdeleteerror'] = 'Kan ikke slette valgt filter sæt. Server fejl.'; +$messages['setactivated'] = 'Filter sæt aktiveret.'; +$messages['setdeactivated'] = 'Filter sæt deaktiveret.'; +$messages['setdeleted'] = 'Filter sæt slettet.'; +$messages['setdeleteconfirm'] = 'Er du sikker på du vil slette valgt filter sæt?'; +$messages['setcreateerror'] = 'Kan ikke oprette filter sæt. Server fejl.'; +$messages['setcreated'] = 'Filter sæt oprettet.'; +$messages['activateerror'] = 'Kan ikke aktivere valgt filter sæt. Server fejl.'; +$messages['deactivateerror'] = 'Kan ikke deaktivere valgt filter sæt. Server fejl.'; +$messages['deactivated'] = 'Filter(filtre) aktiveret.'; +$messages['activated'] = 'Filter(filtre) deaktiveret.'; +$messages['moved'] = 'Filter flyttet.'; +$messages['moveerror'] = 'Kan ikke flytte valgt filter. Server fejl.'; +$messages['nametoolong'] = 'Navn er for langt.'; +$messages['namereserved'] = 'Reserveret navn.'; +$messages['setexist'] = 'Filterv sæt eksisterer allerede'; +$messages['nodata'] = 'Mindst en position skal vælges!'; +$messages['invaliddateformat'] = 'Ugyldigt dato- eller tidsformat'; +$messages['saveerror'] = 'Kunne ikke gemme data. Server fejl'; +$messages['vacationsaved'] = 'Ferie data gemt'; +?> diff --git a/plugins/managesieve/localization/de_CH.inc b/plugins/managesieve/localization/de_CH.inc new file mode 100644 index 000000000..13a4a676c --- /dev/null +++ b/plugins/managesieve/localization/de_CH.inc @@ -0,0 +1,224 @@ +<?php + +/* + +-----------------------------------------------------------------------+ + | plugins/managesieve/localization/<lang>.inc | + | | + | Localization file of the Roundcube Webmail Managesieve 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-managesieve/ +*/ +$labels['filters'] = 'Filter'; +$labels['managefilters'] = 'Verwalte eingehende Nachrichtenfilter'; +$labels['filtername'] = 'Filtername'; +$labels['newfilter'] = 'Neuer Filter'; +$labels['filteradd'] = 'Filter hinzufügen'; +$labels['filterdel'] = 'Filter löschen'; +$labels['moveup'] = 'Nach oben'; +$labels['movedown'] = 'Nach unten'; +$labels['filterallof'] = 'UND (alle Regeln müssen zutreffen)'; +$labels['filteranyof'] = 'ODER (eine der Regeln muss zutreffen'; +$labels['filterany'] = 'Für alle Nachrichten'; +$labels['filtercontains'] = 'enthält'; +$labels['filternotcontains'] = 'enthält nicht'; +$labels['filteris'] = 'ist gleich'; +$labels['filterisnot'] = 'ist ungleich'; +$labels['filterexists'] = 'ist vorhanden'; +$labels['filternotexists'] = 'nicht vorhanden'; +$labels['filtermatches'] = 'entspricht Ausdruck'; +$labels['filternotmatches'] = 'entspricht nicht Ausdruck'; +$labels['filterregex'] = 'trifft regulären Ausdruck'; +$labels['filternotregex'] = 'entspricht regulärem Ausdruck'; +$labels['filterunder'] = 'unter'; +$labels['filterover'] = 'über'; +$labels['addrule'] = 'Regel hinzufügen'; +$labels['delrule'] = 'Regel löschen'; +$labels['messagemoveto'] = 'Verschiebe Nachricht nach'; +$labels['messageredirect'] = 'Leite Nachricht um nach'; +$labels['messagecopyto'] = 'Kopiere Nachricht nach'; +$labels['messagesendcopy'] = 'Sende Kopie an'; +$labels['messagereply'] = 'Antworte mit Nachricht'; +$labels['messagedelete'] = 'Nachricht löschen'; +$labels['messagediscard'] = 'Discard with message'; +$labels['messagekeep'] = 'Im Posteingang behalten'; +$labels['messagesrules'] = 'Für eingehende Nachrichten:'; +$labels['messagesactions'] = 'Führe folgende Aktionen aus:'; +$labels['add'] = 'Hinzufügen'; +$labels['del'] = 'Löschen'; +$labels['sender'] = 'Absender'; +$labels['recipient'] = 'Empfänger'; +$labels['vacationaddr'] = 'Meine weiteren E-Mail-Adressen:'; +$labels['vacationdays'] = 'Antwort wird erneut gesendet nach (in Tagen):'; +$labels['vacationinterval'] = 'Wie oft senden:'; +$labels['vacationreason'] = 'Inhalt der Nachricht (Abwesenheitsgrund):'; +$labels['vacationsubject'] = 'Betreff'; +$labels['days'] = 'Tage'; +$labels['seconds'] = 'Sekunden'; +$labels['rulestop'] = 'Regelauswertung anhalten'; +$labels['enable'] = 'Aktivieren/Deaktivieren'; +$labels['filterset'] = 'Filtersätze'; +$labels['filtersets'] = 'Filtersätze'; +$labels['filtersetadd'] = 'Filtersatz anlegen'; +$labels['filtersetdel'] = 'Aktuellen Filtersatz löschen'; +$labels['filtersetact'] = 'Aktuellen Filtersatz aktivieren'; +$labels['filtersetdeact'] = 'Aktuellen Filtersatz deaktivieren'; +$labels['filterdef'] = 'Filterdefinition'; +$labels['filtersetname'] = 'Filtersatzname'; +$labels['newfilterset'] = 'Neuer Filtersatz'; +$labels['active'] = 'aktiv'; +$labels['none'] = 'keine'; +$labels['fromset'] = 'aus Filtersatz'; +$labels['fromfile'] = 'aus Datei'; +$labels['filterdisabled'] = 'Filter deaktiviert'; +$labels['countisgreaterthan'] = 'Anzahl ist grösser als'; +$labels['countisgreaterthanequal'] = 'Anzahl ist gleich oder grösser als'; +$labels['countislessthan'] = 'Anzahl ist kleiner als'; +$labels['countislessthanequal'] = 'Anzahl ist gleich oder kleiner als'; +$labels['countequals'] = 'Anzahl ist gleich'; +$labels['countnotequals'] = 'Anzahl ist ungleich'; +$labels['valueisgreaterthan'] = 'Wert ist grösser als'; +$labels['valueisgreaterthanequal'] = 'Wert ist gleich oder grösser als'; +$labels['valueislessthan'] = 'Wert ist kleiner'; +$labels['valueislessthanequal'] = 'Wert ist gleich oder kleiner als'; +$labels['valueequals'] = 'Wert ist gleich'; +$labels['valuenotequals'] = 'Wert ist ungleich'; +$labels['setflags'] = 'Setze Markierungen'; +$labels['addflags'] = 'Füge Markierung hinzu'; +$labels['removeflags'] = 'Entferne Markierung'; +$labels['flagread'] = 'gelesen'; +$labels['flagdeleted'] = 'Gelöscht'; +$labels['flaganswered'] = 'Beantwortet'; +$labels['flagflagged'] = 'Markiert'; +$labels['flagdraft'] = 'Entwurf'; +$labels['setvariable'] = 'Setze Variable'; +$labels['setvarname'] = 'Variablenname:'; +$labels['setvarvalue'] = 'Variablenwert:'; +$labels['setvarmodifiers'] = 'Umwandler:'; +$labels['varlower'] = 'Kleinschreibung'; +$labels['varupper'] = 'Grossschreibung'; +$labels['varlowerfirst'] = 'Erster Buchstabe klein'; +$labels['varupperfirst'] = 'Erster Buchstabe gross'; +$labels['varquotewildcard'] = 'Sonderzeichen auszeichnen'; +$labels['varlength'] = 'Länge'; +$labels['notify'] = 'Mitteilung senden'; +$labels['notifytarget'] = 'Mitteilungsempfänger:'; +$labels['notifymessage'] = 'Mitteilungstext (optional):'; +$labels['notifyoptions'] = 'Mitteilungsoptionen (optional):'; +$labels['notifyfrom'] = 'Absender (optional):'; +$labels['notifyimportance'] = 'Wichtigkeit:'; +$labels['notifyimportancelow'] = 'tief'; +$labels['notifyimportancenormal'] = 'normal'; +$labels['notifyimportancehigh'] = 'hoch'; +$labels['notifymethodmailto'] = 'E-Mail'; +$labels['notifymethodtel'] = 'Telefon'; +$labels['notifymethodsms'] = 'SMS'; +$labels['filtercreate'] = 'Filter erstellen'; +$labels['usedata'] = 'Die folgenden Daten im Filter benutzen:'; +$labels['nextstep'] = 'Nächster Schritt'; +$labels['...'] = '...'; +$labels['currdate'] = 'Aktuelles Datum'; +$labels['datetest'] = 'Datum'; +$labels['dateheader'] = 'Kopfzeile:'; +$labels['year'] = 'Jahr'; +$labels['month'] = 'Monat'; +$labels['day'] = 'Tag'; +$labels['date'] = 'Datum (JJJJ-MM-TT)'; +$labels['julian'] = 'Datum (julianisch)'; +$labels['hour'] = 'Stunde'; +$labels['minute'] = 'Minute'; +$labels['second'] = 'Sekunde'; +$labels['time'] = 'Zeit (hh:mm:ss)'; +$labels['iso8601'] = 'Datum (ISO-8601)'; +$labels['std11'] = 'Datum (RFC 2822)'; +$labels['zone'] = 'Zeitzone'; +$labels['weekday'] = 'Wochentag (0-6)'; +$labels['advancedopts'] = 'Erweiterte Optionen'; +$labels['body'] = 'Inhalt'; +$labels['address'] = 'Adresse'; +$labels['envelope'] = 'Umschlag'; +$labels['modifier'] = 'Wandler'; +$labels['text'] = 'Text'; +$labels['undecoded'] = 'kodiert (roh)'; +$labels['contenttype'] = 'Inhaltstyp'; +$labels['modtype'] = 'Typ:'; +$labels['allparts'] = 'alle'; +$labels['domain'] = 'Domain'; +$labels['localpart'] = 'lokaler Teil'; +$labels['user'] = 'Benutzer'; +$labels['detail'] = 'Detail'; +$labels['comparator'] = 'Komparator'; +$labels['default'] = 'Vorgabewert'; +$labels['octet'] = 'strikt (Oktet)'; +$labels['asciicasemap'] = 'Gross-/Kleinschreibung ignorieren'; +$labels['asciinumeric'] = 'numerisch (ascii-numeric)'; +$labels['index'] = 'Index:'; +$labels['indexlast'] = 'rückwärts'; +$labels['vacation'] = 'Abwesenheit'; +$labels['vacation.reply'] = 'Antworte mit Nachricht'; +$labels['vacation.advanced'] = 'Erweiterte Einstellungen'; +$labels['vacation.subject'] = 'Betreff'; +$labels['vacation.body'] = 'Inhalt'; +$labels['vacation.start'] = 'Beginn der Abwesenheit'; +$labels['vacation.end'] = 'Ende der Abwesenheit'; +$labels['vacation.status'] = 'Status'; +$labels['vacation.on'] = 'Ein'; +$labels['vacation.off'] = 'Aus'; +$labels['vacation.addresses'] = 'Meine weiteren E-Mail-Adressen'; +$labels['vacation.interval'] = 'Antwort-Intervall'; +$labels['vacation.after'] = 'Abwesenheitsregel einfügen nach'; +$labels['vacation.saving'] = 'Speichere Daten...'; +$labels['vacation.action'] = 'Aktion für eingehende Nachrichten'; +$labels['vacation.keep'] = 'Behalten'; +$labels['vacation.discard'] = 'Verwerfen'; +$labels['vacation.redirect'] = 'Weiterleiten an'; +$labels['vacation.copy'] = 'Kopie an'; +$labels['arialabelfiltersetactions'] = 'Filtersatz-Aktionen'; +$labels['arialabelfilteractions'] = 'Filteraktionen'; +$labels['arialabelfilterform'] = 'Filtereigenschaften'; +$labels['ariasummaryfilterslist'] = 'Filterliste'; +$labels['ariasummaryfiltersetslist'] = 'Filtersatzliste'; +$labels['filterstitle'] = 'Eingehende Nachrichtenfilter bearbeiten'; +$labels['vacationtitle'] = 'Abwesenheitsregel bearbeiten'; +$messages['filterunknownerror'] = 'Unbekannter Serverfehler'; +$messages['filterconnerror'] = 'Kann nicht zum Sieve-Server verbinden'; +$messages['filterdeleteerror'] = 'Serverfehler beim Löschen des Filters.'; +$messages['filterdeleted'] = 'Filter erfolgreich gelöscht'; +$messages['filtersaved'] = 'Filter gespeichert'; +$messages['filtersaveerror'] = 'Serverfehler beim Speichern des Filters.'; +$messages['filterdeleteconfirm'] = 'Möchten Sie den Filter löschen ?'; +$messages['ruledeleteconfirm'] = 'Sicher, dass Sie die Regel löschen wollen?'; +$messages['actiondeleteconfirm'] = 'Sicher, dass Sie die ausgewaehlte Aktion löschen wollen?'; +$messages['forbiddenchars'] = 'Unerlaubte Zeichen im Feld'; +$messages['cannotbeempty'] = 'Feld darf nicht leer sein'; +$messages['ruleexist'] = 'Ein Filter mit dem angegebenen Namen existiert bereits.'; +$messages['setactivateerror'] = 'Serverfehler beim Aktivieren des gewählten Filtersatzes.'; +$messages['setdeactivateerror'] = 'Serverfehler beim Deaktivieren des gewählten Filtersatzes.'; +$messages['setdeleteerror'] = 'Serverfehler beim Löschen des gewählten Filtersatzes.'; +$messages['setactivated'] = 'Filtersatz erfolgreich aktiviert.'; +$messages['setdeactivated'] = 'Filtersatz erfolgreich deaktiviert.'; +$messages['setdeleted'] = 'Filtersatz erfolgreich gelöscht.'; +$messages['setdeleteconfirm'] = 'Sind Sie sicher, dass Sie den ausgewählten Filtersatz löschen möchten?'; +$messages['setcreateerror'] = 'Serverfehler beim Erstellen des Filtersatzes.'; +$messages['setcreated'] = 'Filter erfolgreich erstellt.'; +$messages['activateerror'] = 'Serverfehler beim Aktivieren des/der gewählten Filter(s).'; +$messages['deactivateerror'] = 'Serverfehler beim Deaktivieren des/der gewählten Filter(s).'; +$messages['deactivated'] = 'Filter erfolgreich aktiviert.'; +$messages['activated'] = 'Filter erfolgreich deaktiviert.'; +$messages['moved'] = 'Filter erfolgreich verschoben.'; +$messages['moveerror'] = 'Serverfehler beim Verschieben des gewählten Filters.'; +$messages['nametoolong'] = 'Filtersatz kann nicht erstellt werden. Name zu lang.'; +$messages['namereserved'] = 'Reservierter Name.'; +$messages['setexist'] = 'Filtersatz existiert bereits.'; +$messages['nodata'] = 'Mindestens eine Position muss ausgewählt werden!'; +$messages['invaliddateformat'] = 'Ungültiges Datumsformat'; +$messages['saveerror'] = 'Fehler beim Speichern (Serverfehler)'; +$messages['vacationsaved'] = 'Abwesenheitsnotiz erfolgreich gespeichert.'; +$messages['emptyvacationbody'] = 'Mitteilungstext ist erforderlich!'; +?> diff --git a/plugins/managesieve/localization/de_DE.inc b/plugins/managesieve/localization/de_DE.inc new file mode 100644 index 000000000..f57ffa300 --- /dev/null +++ b/plugins/managesieve/localization/de_DE.inc @@ -0,0 +1,224 @@ +<?php + +/* + +-----------------------------------------------------------------------+ + | plugins/managesieve/localization/<lang>.inc | + | | + | Localization file of the Roundcube Webmail Managesieve 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-managesieve/ +*/ +$labels['filters'] = 'Filter'; +$labels['managefilters'] = 'Filter für eingehende Nachrichten verwalten'; +$labels['filtername'] = 'Filtername'; +$labels['newfilter'] = 'Neuer Filter'; +$labels['filteradd'] = 'Filter hinzufügen'; +$labels['filterdel'] = 'Filter löschen'; +$labels['moveup'] = 'Nach oben'; +$labels['movedown'] = 'Nach unten'; +$labels['filterallof'] = 'trifft auf alle folgenden Regeln zu'; +$labels['filteranyof'] = 'trifft auf eine der folgenden Regeln zu'; +$labels['filterany'] = 'alle Nachrichten'; +$labels['filtercontains'] = 'enthält'; +$labels['filternotcontains'] = 'enthält nicht'; +$labels['filteris'] = 'ist gleich'; +$labels['filterisnot'] = 'ist ungleich'; +$labels['filterexists'] = 'existiert'; +$labels['filternotexists'] = 'existiert nicht'; +$labels['filtermatches'] = 'trifft auf Ausdruck zu'; +$labels['filternotmatches'] = 'trifft nicht auf Ausdruck zu'; +$labels['filterregex'] = 'trifft auf regulären Ausdruck zu'; +$labels['filternotregex'] = 'trifft nicht auf regulären Ausdruck zu'; +$labels['filterunder'] = 'unter'; +$labels['filterover'] = 'über'; +$labels['addrule'] = 'Regel hinzufügen'; +$labels['delrule'] = 'Regel löschen'; +$labels['messagemoveto'] = 'Nachricht verschieben nach'; +$labels['messageredirect'] = 'Nachricht umleiten an'; +$labels['messagecopyto'] = 'Nachricht kopieren nach'; +$labels['messagesendcopy'] = 'Kopie senden an'; +$labels['messagereply'] = 'Mit Nachricht antworten'; +$labels['messagedelete'] = 'Nachricht löschen'; +$labels['messagediscard'] = 'Abweisen mit Nachricht'; +$labels['messagekeep'] = 'Behalte Nachricht im Posteingang'; +$labels['messagesrules'] = 'Für eingehende Nachrichten:'; +$labels['messagesactions'] = '...führe folgende Aktionen aus:'; +$labels['add'] = 'Hinzufügen'; +$labels['del'] = 'Löschen'; +$labels['sender'] = 'Absender'; +$labels['recipient'] = 'Empfänger'; +$labels['vacationaddr'] = 'Meine zusätzliche E-Mail-Adresse(n):'; +$labels['vacationdays'] = 'Wie oft sollen Nachrichten gesendet werden (in Tagen):'; +$labels['vacationinterval'] = 'Wie oft sollen Nachrichten gesendet werden:'; +$labels['vacationreason'] = 'Nachrichteninhalt (Abwesenheitsgrund):'; +$labels['vacationsubject'] = 'Nachrichtenbetreff'; +$labels['days'] = 'Tage'; +$labels['seconds'] = 'Sekunden'; +$labels['rulestop'] = 'Regelauswertung anhalten'; +$labels['enable'] = 'Aktivieren/Deaktivieren'; +$labels['filterset'] = 'Filtersätze'; +$labels['filtersets'] = 'Filtersätze'; +$labels['filtersetadd'] = 'Filtersatz anlegen'; +$labels['filtersetdel'] = 'Aktuellen Filtersatz löschen'; +$labels['filtersetact'] = 'Aktuellen Filtersatz aktivieren'; +$labels['filtersetdeact'] = 'Aktuellen Filtersatz deaktivieren'; +$labels['filterdef'] = 'Filterdefinition'; +$labels['filtersetname'] = 'Filtersatzname'; +$labels['newfilterset'] = 'Neuer Filtersatz'; +$labels['active'] = 'aktiv'; +$labels['none'] = 'keine'; +$labels['fromset'] = 'aus Filtersatz'; +$labels['fromfile'] = 'aus Datei'; +$labels['filterdisabled'] = 'Filter deaktiviert'; +$labels['countisgreaterthan'] = 'Anzahl ist größer als'; +$labels['countisgreaterthanequal'] = 'Anzahl ist gleich oder größer als'; +$labels['countislessthan'] = 'Anzahl ist kleiner als'; +$labels['countislessthanequal'] = 'Anzahl ist gleich oder kleiner als'; +$labels['countequals'] = 'Anzahl ist gleich'; +$labels['countnotequals'] = 'Anzahl ist nicht gleich'; +$labels['valueisgreaterthan'] = 'Wert ist größer als'; +$labels['valueisgreaterthanequal'] = 'Wert ist gleich oder größer als'; +$labels['valueislessthan'] = 'Wert ist kleiner'; +$labels['valueislessthanequal'] = 'Wert ist gleich oder kleiner als'; +$labels['valueequals'] = 'Wert ist gleich'; +$labels['valuenotequals'] = 'Wert ist nicht gleich'; +$labels['setflags'] = 'Markierung an der Nachricht setzen'; +$labels['addflags'] = 'Markierung zur Nachricht hinzufügen'; +$labels['removeflags'] = 'Markierungen von der Nachricht entfernen'; +$labels['flagread'] = 'Gelesen'; +$labels['flagdeleted'] = 'Gelöscht'; +$labels['flaganswered'] = 'Beantwortet'; +$labels['flagflagged'] = 'Markiert'; +$labels['flagdraft'] = 'Entwurf'; +$labels['setvariable'] = 'Variable setzen'; +$labels['setvarname'] = 'Name der Variable:'; +$labels['setvarvalue'] = 'Wert der Variable:'; +$labels['setvarmodifiers'] = 'Modifikatoren:'; +$labels['varlower'] = 'Kleinschreibung'; +$labels['varupper'] = 'Großschreibung'; +$labels['varlowerfirst'] = 'Erster Buchstabe kleingeschrieben'; +$labels['varupperfirst'] = 'Erster Buchstabe großgeschrieben'; +$labels['varquotewildcard'] = 'maskiere Sonderzeichen'; +$labels['varlength'] = 'Länge'; +$labels['notify'] = 'Sende Benachrichtigung'; +$labels['notifytarget'] = 'Benachrichtigungs-Empfänger:'; +$labels['notifymessage'] = 'Inhalt der Benachrichtigung (optional):'; +$labels['notifyoptions'] = 'Optionen für die Benachrichtigung (optional)'; +$labels['notifyfrom'] = 'Absender der Benachrichtigung (optional):'; +$labels['notifyimportance'] = 'Priorität:'; +$labels['notifyimportancelow'] = 'niedrig'; +$labels['notifyimportancenormal'] = 'normal'; +$labels['notifyimportancehigh'] = 'hoch'; +$labels['notifymethodmailto'] = 'E-Mail'; +$labels['notifymethodtel'] = 'Telefon'; +$labels['notifymethodsms'] = 'SMS'; +$labels['filtercreate'] = 'Filter erstellen'; +$labels['usedata'] = 'Die folgenden Daten im Filter benutzen:'; +$labels['nextstep'] = 'Nächster Schritt'; +$labels['...'] = '...'; +$labels['currdate'] = 'Aktuelles Datum'; +$labels['datetest'] = 'Datum'; +$labels['dateheader'] = 'Kopfzeile:'; +$labels['year'] = 'jahr'; +$labels['month'] = 'monat'; +$labels['day'] = 'tag'; +$labels['date'] = 'datum (yyyy-mm-dd)'; +$labels['julian'] = 'datum (julian)'; +$labels['hour'] = 'stunde'; +$labels['minute'] = 'minute'; +$labels['second'] = 'sekunde'; +$labels['time'] = 'zeit (hh:mm:ss)'; +$labels['iso8601'] = 'datum (ISO8601)'; +$labels['std11'] = 'datum (RFC2822)'; +$labels['zone'] = 'Zeitzone'; +$labels['weekday'] = 'wochentag (0-6)'; +$labels['advancedopts'] = 'Erweiterte Optionen'; +$labels['body'] = 'Textkörper'; +$labels['address'] = 'Adresse'; +$labels['envelope'] = 'Umschlag'; +$labels['modifier'] = 'Modifikator:'; +$labels['text'] = 'Text'; +$labels['undecoded'] = 'Nicht dekodiert'; +$labels['contenttype'] = 'Inhaltstyp'; +$labels['modtype'] = 'Typ:'; +$labels['allparts'] = 'Alle'; +$labels['domain'] = 'Domäne'; +$labels['localpart'] = 'lokaler Teil'; +$labels['user'] = 'Benutzer'; +$labels['detail'] = 'Detail'; +$labels['comparator'] = 'Komperator:'; +$labels['default'] = 'Vorgabewert'; +$labels['octet'] = 'strikt (Oktett)'; +$labels['asciicasemap'] = 'Groß-/Kleinschreibung ignorieren'; +$labels['asciinumeric'] = 'numerisch (ascii-numeric)'; +$labels['index'] = 'index:'; +$labels['indexlast'] = 'rückwärts'; +$labels['vacation'] = 'Urlaub'; +$labels['vacation.reply'] = 'Antwort'; +$labels['vacation.advanced'] = 'Erweiterte Einstellungen'; +$labels['vacation.subject'] = 'Betreff'; +$labels['vacation.body'] = 'Hauptteil'; +$labels['vacation.start'] = 'Beginn des Urlaubs'; +$labels['vacation.end'] = 'Ende des Urlaubs'; +$labels['vacation.status'] = 'Status'; +$labels['vacation.on'] = 'An'; +$labels['vacation.off'] = 'Aus'; +$labels['vacation.addresses'] = 'Meine weiteren Adressen'; +$labels['vacation.interval'] = 'Antwort Intervall'; +$labels['vacation.after'] = 'Setze Urlaubsregel nach'; +$labels['vacation.saving'] = 'Speichere Daten...'; +$labels['vacation.action'] = 'Eingehende Nachrichtaktion'; +$labels['vacation.keep'] = 'Behalten'; +$labels['vacation.discard'] = 'Verwerfen'; +$labels['vacation.redirect'] = 'Weiterleiten an'; +$labels['vacation.copy'] = 'Kopie senden an'; +$labels['arialabelfiltersetactions'] = 'Aktionen für Filtersätze'; +$labels['arialabelfilteractions'] = 'Aktionen für Filter'; +$labels['arialabelfilterform'] = 'Filtereigenschaften'; +$labels['ariasummaryfilterslist'] = 'Liste von Filtern'; +$labels['ariasummaryfiltersetslist'] = 'Liste von Filtersätzen'; +$labels['filterstitle'] = 'Eingehende Mailfilter bearbeiten'; +$labels['vacationtitle'] = 'Abwesendheitsregel bearbeiten'; +$messages['filterunknownerror'] = 'Unbekannter Serverfehler'; +$messages['filterconnerror'] = 'Kann keine Verbindung mit Managesieve-Server herstellen'; +$messages['filterdeleteerror'] = 'Filter kann nicht gelöscht werden. Ein Serverfehler ist aufgetreten.'; +$messages['filterdeleted'] = 'Filter erfolgreich gelöscht'; +$messages['filtersaved'] = 'Filter erfolgreich gespeichert'; +$messages['filtersaveerror'] = 'Filter kann nicht gespeichert werden. Ein Serverfehler ist aufgetreten.'; +$messages['filterdeleteconfirm'] = 'Möchten Sie den ausgewählten Filter wirklich löschen?'; +$messages['ruledeleteconfirm'] = 'Sind Sie sicher, dass Sie die ausgewählte Regel löschen möchten?'; +$messages['actiondeleteconfirm'] = 'Sind Sie sicher, dass Sie die ausgewählte Aktion löschen möchten?'; +$messages['forbiddenchars'] = 'Unzulässige Zeichen im Eingabefeld'; +$messages['cannotbeempty'] = 'Eingabefeld darf nicht leer sein'; +$messages['ruleexist'] = 'Ein Filter mit dem angegebenen Namen existiert bereits.'; +$messages['setactivateerror'] = 'Kann ausgewählten Filtersatz nicht aktivieren. Serverfehler'; +$messages['setdeactivateerror'] = 'Kann ausgewählten Filtersatz nicht deaktivieren. Serverfehler'; +$messages['setdeleteerror'] = 'Kann ausgewählten Filtersatz nicht löschen. Serverfehler'; +$messages['setactivated'] = 'Filtersatz wurde erfolgreich aktiviert'; +$messages['setdeactivated'] = 'Filtersatz wurde erfolgreich deaktiviert'; +$messages['setdeleted'] = 'Filtersatz wurde erfolgreich gelöscht'; +$messages['setdeleteconfirm'] = 'Sind Sie sicher, dass Sie den ausgewählten Filtersatz löschen möchten?'; +$messages['setcreateerror'] = 'Erstellen von Filter Sätzen nicht möglich. Es ist ein Serverfehler aufgetreten.'; +$messages['setcreated'] = 'Filtersatz wurde erfolgreich erstellt'; +$messages['activateerror'] = 'Filter kann nicht aktiviert werden. Serverfehler.'; +$messages['deactivateerror'] = 'Filter kann nicht deaktiviert werden. Serverfehler.'; +$messages['deactivated'] = 'Filter erfolgreich deaktiviert.'; +$messages['activated'] = 'Filter erfolgreich aktiviert.'; +$messages['moved'] = 'Filter erfolgreich verschoben.'; +$messages['moveerror'] = 'Filter kann nicht verschoben werden. Serverfehler.'; +$messages['nametoolong'] = 'Kann Filtersatz nicht erstellen. Name zu lang'; +$messages['namereserved'] = 'Reservierter Name.'; +$messages['setexist'] = 'Filtersatz existiert bereits.'; +$messages['nodata'] = 'Mindestens eine Position muss ausgewählt werden!'; +$messages['invaliddateformat'] = 'Ungültiges Datum oder Teil-Format'; +$messages['saveerror'] = 'Ein Serverfehler ist aufgetreten, Speicherung war nicht möglich.'; +$messages['vacationsaved'] = 'Urlaubsdaten erfolgreich gespeichert.'; +$messages['emptyvacationbody'] = 'Inhalt der Abwesenheitsbenachrichtigung wird benötigt!'; +?> diff --git a/plugins/managesieve/localization/el_GR.inc b/plugins/managesieve/localization/el_GR.inc new file mode 100644 index 000000000..d1c783308 --- /dev/null +++ b/plugins/managesieve/localization/el_GR.inc @@ -0,0 +1,224 @@ +<?php + +/* + +-----------------------------------------------------------------------+ + | plugins/managesieve/localization/<lang>.inc | + | | + | Localization file of the Roundcube Webmail Managesieve 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-managesieve/ +*/ +$labels['filters'] = 'Φίλτρα'; +$labels['managefilters'] = 'Διαχείριση φίλτρων εισερχόμενων'; +$labels['filtername'] = 'Ονομασία φίλτρου'; +$labels['newfilter'] = 'Δημιουργία φίλτρου'; +$labels['filteradd'] = 'Προσθήκη φίλτρου'; +$labels['filterdel'] = 'Διαγραφή φίλτρου'; +$labels['moveup'] = 'Μετακίνηση πάνω'; +$labels['movedown'] = 'Μετακίνηση κάτω'; +$labels['filterallof'] = 'ταιριάζουν με όλους τους παρακάτω κανόνες'; +$labels['filteranyof'] = 'ταιριάζουν με οποιονδήποτε από τους παρακάτω κανόνες'; +$labels['filterany'] = 'όλα τα μηνύματα'; +$labels['filtercontains'] = 'περιέχει'; +$labels['filternotcontains'] = 'δεν περιέχει'; +$labels['filteris'] = 'είναι ίσο με'; +$labels['filterisnot'] = 'δεν είναι ίσο με'; +$labels['filterexists'] = 'υπάρχει'; +$labels['filternotexists'] = 'δεν υπάρχει'; +$labels['filtermatches'] = 'ταιριάζει με την έκφραση '; +$labels['filternotmatches'] = 'Δεν ταιριάζει με την έκφραση'; +$labels['filterregex'] = 'ταιριάζει με κανονική έκφραση'; +$labels['filternotregex'] = 'δεν ταιριάζει με κανονική έκφραση'; +$labels['filterunder'] = 'κάτω'; +$labels['filterover'] = 'πάνω'; +$labels['addrule'] = 'Προσθήκη κανόνα'; +$labels['delrule'] = 'Διαγραφή κανόνα'; +$labels['messagemoveto'] = 'Μετακίνηση μηνύματος στο'; +$labels['messageredirect'] = 'Προώθηση μηνύματος στο'; +$labels['messagecopyto'] = 'Αντιγραφη μυνηματος σε'; +$labels['messagesendcopy'] = 'Αποστολη της αντιγραφης μυνηματος σε'; +$labels['messagereply'] = 'Απάντηση με μήνυμα'; +$labels['messagedelete'] = 'Διαγραφή μηνύματος'; +$labels['messagediscard'] = 'Απόρριψη με μήνυμα'; +$labels['messagekeep'] = 'Διατήρηση μηνύματος στα Εισερχόμενα'; +$labels['messagesrules'] = 'Για εισερχόμενα μηνύματα που:'; +$labels['messagesactions'] = '...εκτέλεση των παρακάτω ενεργειών:'; +$labels['add'] = 'Προσθήκη'; +$labels['del'] = 'Διαγραφή'; +$labels['sender'] = 'Αποστολέας'; +$labels['recipient'] = 'Παραλήπτης'; +$labels['vacationaddr'] = 'Πρόσθετες διευθύνσεις email:'; +$labels['vacationdays'] = 'Συχνότητα αποστολής μηνυμάτων (σε ημέρες):'; +$labels['vacationinterval'] = 'Συχνότητα αποστολής μηνυμάτων:'; +$labels['vacationreason'] = 'Σώμα μηνύματος (λόγος απουσίας):'; +$labels['vacationsubject'] = 'Θέμα μηνύματος: '; +$labels['days'] = 'ημερες'; +$labels['seconds'] = 'δευτερόλεπτα'; +$labels['rulestop'] = 'Παύση επαλήθευσης κανόνων'; +$labels['enable'] = 'Ενεργοποιηση/Απενεργοποιηση'; +$labels['filterset'] = 'Φίλτρα'; +$labels['filtersets'] = 'Φίλτρο'; +$labels['filtersetadd'] = 'Προσθήκη φίλτρων'; +$labels['filtersetdel'] = 'Διαγραφή φίλτρων'; +$labels['filtersetact'] = 'Ενεργοποιηση φιλτρων'; +$labels['filtersetdeact'] = 'Απενεργοποιηση φιλτρων'; +$labels['filterdef'] = 'Ορισμος φιλτρου'; +$labels['filtersetname'] = 'Ονομασία φίλτρων'; +$labels['newfilterset'] = 'Νεα φιλτρα'; +$labels['active'] = 'ενεργο'; +$labels['none'] = 'κανένα'; +$labels['fromset'] = 'από το σύνολο '; +$labels['fromfile'] = 'απο αρχειο'; +$labels['filterdisabled'] = 'Απενεργοποιημενο φιλτρο'; +$labels['countisgreaterthan'] = 'αρίθμηση είναι μεγαλύτερη από'; +$labels['countisgreaterthanequal'] = 'η μετρηση είναι μεγαλύτερη ή ίση προς'; +$labels['countislessthan'] = 'η μετρηση είναι μικρότερη απο'; +$labels['countislessthanequal'] = 'η μετρηση είναι μικρότερη ή ίση προς'; +$labels['countequals'] = 'η μέτρηση είναι ίση προς '; +$labels['countnotequals'] = 'η μέτρηση δεν είναι ίση προς '; +$labels['valueisgreaterthan'] = 'η τιμη είναι μεγαλύτερη από'; +$labels['valueisgreaterthanequal'] = 'η τιμη είναι μεγαλύτερη ή ίση προς'; +$labels['valueislessthan'] = 'η τιμη είναι μικρότερη απο'; +$labels['valueislessthanequal'] = 'η τιμη είναι μικρότερη ή ίση προς'; +$labels['valueequals'] = 'η τιμη είναι ίση με'; +$labels['valuenotequals'] = 'η τιμη δεν είναι ίση με'; +$labels['setflags'] = 'Ορισμός σημαίων στο μήνυμα'; +$labels['addflags'] = 'Προσθήκη σημαίων στο μήνυμα'; +$labels['removeflags'] = 'Αφαιρέση σημαίων από το μήνυμα'; +$labels['flagread'] = 'Αναγνωση'; +$labels['flagdeleted'] = 'Διεγραμμένο'; +$labels['flaganswered'] = 'Απαντήθηκε '; +$labels['flagflagged'] = 'Σημειωμένο'; +$labels['flagdraft'] = 'Πρόχειρα'; +$labels['setvariable'] = 'Ορισμός μεταβλητής'; +$labels['setvarname'] = 'Όνομα μεταβλητης:'; +$labels['setvarvalue'] = 'Τιμη μεταβλητης:'; +$labels['setvarmodifiers'] = 'Τροποποιητές: '; +$labels['varlower'] = 'Μικρογράμματη γραφή'; +$labels['varupper'] = 'κεφαλαία γράμματα '; +$labels['varlowerfirst'] = 'πρώτος χαρακτήρας πεζός '; +$labels['varupperfirst'] = 'πρώτος χαρακτήρας κεφαλαία γράμματα'; +$labels['varquotewildcard'] = 'παραθέση ειδικων χαρακτήρων'; +$labels['varlength'] = 'Μήκος'; +$labels['notify'] = 'Αποστολή ειδοποίησης '; +$labels['notifytarget'] = 'Παραλήπτης ειδοποίησης:'; +$labels['notifymessage'] = 'Μήνυμα ειδοποίησης (προαιρετικά):'; +$labels['notifyoptions'] = 'Επιλογές ειδοποίησης (προαιρετικά):'; +$labels['notifyfrom'] = 'Αποστολέας ειδοποίησης (προαιρετικά):'; +$labels['notifyimportance'] = 'Σημασία: '; +$labels['notifyimportancelow'] = 'Χαμηλή'; +$labels['notifyimportancenormal'] = 'Κανονική'; +$labels['notifyimportancehigh'] = 'Υψηλή'; +$labels['notifymethodmailto'] = 'Email'; +$labels['notifymethodtel'] = 'Τηλέφωνο'; +$labels['notifymethodsms'] = 'SMS'; +$labels['filtercreate'] = 'Δημιουργία φίλτρου'; +$labels['usedata'] = 'Χρησιμοποιηση ακολουθων δεδομενων στο φιλτρο:'; +$labels['nextstep'] = 'Επομενο βημα'; +$labels['...'] = '...'; +$labels['currdate'] = 'Τρέχουσα ημερομηνία'; +$labels['datetest'] = 'Ημερομηνία'; +$labels['dateheader'] = 'επικεφαλίδα:'; +$labels['year'] = 'χρονος'; +$labels['month'] = 'μηνας'; +$labels['day'] = 'ημερα'; +$labels['date'] = 'ημερομηνια (yyyy-mm-dd)'; +$labels['julian'] = 'ημερομηνια (julian)'; +$labels['hour'] = 'ωρα'; +$labels['minute'] = 'λεπτο'; +$labels['second'] = 'δευτερόλεπτο'; +$labels['time'] = 'ωρα (hh:mm:ss)'; +$labels['iso8601'] = 'ημερομηνια (ISO8601)'; +$labels['std11'] = 'ημερομηνια (RFC2822)'; +$labels['zone'] = 'Ζώνη Ώρας'; +$labels['weekday'] = 'ημέρα της εβδομάδας (0-6)'; +$labels['advancedopts'] = 'Προχωρημένες ρυθμίσεις'; +$labels['body'] = 'Σώμα'; +$labels['address'] = 'Διεύθυνση'; +$labels['envelope'] = 'φάκελος'; +$labels['modifier'] = 'Τροποποιηση: '; +$labels['text'] = 'κειμενο'; +$labels['undecoded'] = 'αποκωδικοποιημένο (raw)'; +$labels['contenttype'] = 'Τύπος περιεχομένου '; +$labels['modtype'] = 'τυπος:'; +$labels['allparts'] = 'Όλα'; +$labels['domain'] = 'τομέας'; +$labels['localpart'] = 'τοπικό τμήμα '; +$labels['user'] = 'χρηστης'; +$labels['detail'] = 'λεπτομερειες'; +$labels['comparator'] = 'σύγκριση:'; +$labels['default'] = 'προεπιλογή'; +$labels['octet'] = 'αυστηρή (οκτάδα) '; +$labels['asciicasemap'] = 'πεζά ή κεφαλαία (ascii-casemap)'; +$labels['asciinumeric'] = 'αριθμητικό (ascii-αριθμητικο)'; +$labels['index'] = 'ευρετήριο:'; +$labels['indexlast'] = 'προς τα πίσω'; +$labels['vacation'] = 'Διακοπές'; +$labels['vacation.reply'] = 'Μήνυμα απάντησης'; +$labels['vacation.advanced'] = 'Προηγμένες ρυθμίσεις'; +$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['arialabelfiltersetactions'] = 'Ενέργειες ομάδας φίλτρων'; +$labels['arialabelfilteractions'] = 'Ενέργειες φίλτρων'; +$labels['arialabelfilterform'] = 'Ιδιότητες φίλτρων'; +$labels['ariasummaryfilterslist'] = 'Λίστα φίλτρων'; +$labels['ariasummaryfiltersetslist'] = 'Λίστα ομάδων φίλτρων'; +$labels['filterstitle'] = 'Επεξεργασία φίλτρων εισερχόμενης αλληλογραφίας'; +$labels['vacationtitle'] = 'Επεξεργασία κανόνα εκτός-γραφείου'; +$messages['filterunknownerror'] = 'Άγνωστο σφάλμα διακομιστή'; +$messages['filterconnerror'] = 'Αδυναμία σύνδεσης στον διακομιστή managesieve'; +$messages['filterdeleteerror'] = 'Αδυναμία διαγραφής φίλτρου. Προέκυψε σφάλμα στον διακομιστή'; +$messages['filterdeleted'] = 'Το φίλτρο διαγράφηκε επιτυχώς'; +$messages['filtersaved'] = 'Το φίλτρο αποθηκεύτηκε επιτυχώς'; +$messages['filtersaveerror'] = 'Αδυναμία αποθήκευσης φίλτρου. Προέκυψε σφάλμα στον διακομιστή'; +$messages['filterdeleteconfirm'] = 'Είστε σίγουροι ότι θέλετε να διαγράψετε το επιλεγμένο φίλτρο? '; +$messages['ruledeleteconfirm'] = 'Θέλετε όντως να διαγράψετε τον επιλεγμένο κανόνα;'; +$messages['actiondeleteconfirm'] = 'Θέλετε όντως να διαγράψετε την επιλεγμένη ενέργεια;'; +$messages['forbiddenchars'] = 'Μη επιτρεπτοί χαρακτήρες στο πεδίο'; +$messages['cannotbeempty'] = 'Το πεδίο δεν μπορεί να είναι κενό'; +$messages['ruleexist'] = 'Φιλτρο με αυτο το όνομα υπάρχει ήδη. '; +$messages['setactivateerror'] = 'Αδυναμία ενεργοποίησης επιλεγμένων ομάδων φίλτρων. Προέκυψε σφάλμα στον διακομιστή.'; +$messages['setdeactivateerror'] = 'Αδυναμία απενεργοποίησης επιλεγμένων ομάδων φίλτρων. Προέκυψε σφάλμα στον διακομιστή.'; +$messages['setdeleteerror'] = 'Αδυναμία διαγραφής των επιλεγμένων ομάδων φίλτρων. Προέκυψε σφάλμα στον διακομιστή'; +$messages['setactivated'] = 'Φίλτρα ενεργοποιήθηκαν με επιτυχία.'; +$messages['setdeactivated'] = 'Φίλτρα απενεργοποιήθηκαν με επιτυχία.'; +$messages['setdeleted'] = 'Τα φίλτρα διαγράφηκαν επιτυχώς.'; +$messages['setdeleteconfirm'] = 'Θέλετε όντως να διαγράψετε τα επιλεγμένα φιλτρα?'; +$messages['setcreateerror'] = 'Αδυναμία δημιουργίας ομάδας φίλτρων. Προέκυψε σφάλμα στον διακομιστή.'; +$messages['setcreated'] = 'Τα φιλτρα δημιουργηθηκαν επιτυχως.'; +$messages['activateerror'] = 'Αδυναμία ενεργοποίησης επιλεγμένου φίλτρου(ων). Προέκυψε σφάλμα στον διακομιστή.'; +$messages['deactivateerror'] = 'Αδυναμία απενεργοποίησης επιλεγμένου φίλτρου(ων). Προέκυψε σφάλμα στον διακομιστή.'; +$messages['deactivated'] = 'Το φιλτρο(α) απενεργοποιηθηκαν επιτυχως.'; +$messages['activated'] = 'Το φίλτρο(α) ενεργοποιηθηκαν επιτυχώς.'; +$messages['moved'] = 'Το φίλτρο μετακινηθηκε επιτυχώς.'; +$messages['moveerror'] = 'Αδυναμία μετακίνησης επιλεγμένου φίλτρου. Προέκυψε σφάλμα στον διακομιστή.'; +$messages['nametoolong'] = 'Το όνομα είναι πολύ μεγάλο.'; +$messages['namereserved'] = 'Δεσμευμένο όνομα. '; +$messages['setexist'] = 'Set υπάρχει ήδη. '; +$messages['nodata'] = 'Τουλάχιστον μία θέση πρέπει να επιλεγεί!'; +$messages['invaliddateformat'] = 'Μη έγκυρη ημερομηνία ή η ημερομηνία μορφής τμήμα'; +$messages['saveerror'] = 'Αδύνατη η αποθήκευση δεδομένων. Προέκυψε σφάλμα στον διακομιστή'; +$messages['vacationsaved'] = 'Τα δεδομένα διακοπών αποθηκεύτηκαν επιτυχώς.'; +$messages['emptyvacationbody'] = 'Απαιτείται σώμα για το μήνυμα διακοπών!'; +?> diff --git a/plugins/managesieve/localization/en_CA.inc b/plugins/managesieve/localization/en_CA.inc new file mode 100644 index 000000000..400f835d5 --- /dev/null +++ b/plugins/managesieve/localization/en_CA.inc @@ -0,0 +1,209 @@ +<?php + +/* + +-----------------------------------------------------------------------+ + | plugins/managesieve/localization/<lang>.inc | + | | + | Localization file of the Roundcube Webmail Managesieve 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-managesieve/ +*/ +$labels['filters'] = 'Filters'; +$labels['managefilters'] = 'Manage incoming mail filters'; +$labels['filtername'] = 'Filter name'; +$labels['newfilter'] = 'New filter'; +$labels['filteradd'] = 'Add filter'; +$labels['filterdel'] = 'Delete filter'; +$labels['moveup'] = 'Move up'; +$labels['movedown'] = 'Move down'; +$labels['filterallof'] = 'matching all of the following rules'; +$labels['filteranyof'] = 'matching any of the following rules'; +$labels['filterany'] = 'all messages'; +$labels['filtercontains'] = 'contains'; +$labels['filternotcontains'] = 'not contains'; +$labels['filteris'] = 'is equal to'; +$labels['filterisnot'] = 'is not equal to'; +$labels['filterexists'] = 'exists'; +$labels['filternotexists'] = 'not exists'; +$labels['filtermatches'] = 'matches expression'; +$labels['filternotmatches'] = 'not matches expression'; +$labels['filterregex'] = 'matches regular expression'; +$labels['filternotregex'] = 'not matches regular expression'; +$labels['filterunder'] = 'under'; +$labels['filterover'] = 'over'; +$labels['addrule'] = 'Add rule'; +$labels['delrule'] = 'Delete rule'; +$labels['messagemoveto'] = 'Move message to'; +$labels['messageredirect'] = 'Redirect message to'; +$labels['messagecopyto'] = 'Copy message to'; +$labels['messagesendcopy'] = 'Send message copy to'; +$labels['messagereply'] = 'Reply with message'; +$labels['messagedelete'] = 'Delete message'; +$labels['messagediscard'] = 'Discard with message'; +$labels['messagekeep'] = 'Keep message in Inbox'; +$labels['messagesrules'] = 'For incoming mail:'; +$labels['messagesactions'] = '...execute the following actions:'; +$labels['add'] = 'Add'; +$labels['del'] = 'Delete'; +$labels['sender'] = 'Sender'; +$labels['recipient'] = 'Recipient'; +$labels['vacationaddr'] = 'My additional e-mail address(es):'; +$labels['vacationdays'] = 'How often send messages (in days):'; +$labels['vacationinterval'] = 'How often send messages:'; +$labels['vacationreason'] = 'Message body (vacation reason):'; +$labels['vacationsubject'] = 'Message subject:'; +$labels['days'] = 'days'; +$labels['seconds'] = 'seconds'; +$labels['rulestop'] = 'Stop evaluating rules'; +$labels['enable'] = 'Enable/Disable'; +$labels['filterset'] = 'Filters set'; +$labels['filtersets'] = 'Filter sets'; +$labels['filtersetadd'] = 'Add filters set'; +$labels['filtersetdel'] = 'Delete current filters set'; +$labels['filtersetact'] = 'Activate current filters set'; +$labels['filtersetdeact'] = 'Deactivate current filters set'; +$labels['filterdef'] = 'Filter definition'; +$labels['filtersetname'] = 'Filters set name'; +$labels['newfilterset'] = 'New filters set'; +$labels['active'] = 'active'; +$labels['none'] = 'none'; +$labels['fromset'] = 'from set'; +$labels['fromfile'] = 'from file'; +$labels['filterdisabled'] = 'Filter disabled'; +$labels['countisgreaterthan'] = 'count is greater than'; +$labels['countisgreaterthanequal'] = 'count is greater than or equal to'; +$labels['countislessthan'] = 'count is less than'; +$labels['countislessthanequal'] = 'count is less than or equal to'; +$labels['countequals'] = 'count is equal to'; +$labels['countnotequals'] = 'count is not equal to'; +$labels['valueisgreaterthan'] = 'value is greater than'; +$labels['valueisgreaterthanequal'] = 'value is greater than or equal to'; +$labels['valueislessthan'] = 'value is less than'; +$labels['valueislessthanequal'] = 'value is less than or equal to'; +$labels['valueequals'] = 'value is equal to'; +$labels['valuenotequals'] = 'value is not equal to'; +$labels['setflags'] = 'Set flags to the message'; +$labels['addflags'] = 'Add flags to the message'; +$labels['removeflags'] = 'Remove flags from the message'; +$labels['flagread'] = 'Read'; +$labels['flagdeleted'] = 'Deleted'; +$labels['flaganswered'] = 'Answered'; +$labels['flagflagged'] = 'Flagged'; +$labels['flagdraft'] = 'Draft'; +$labels['setvariable'] = 'Set variable'; +$labels['setvarname'] = 'Variable name:'; +$labels['setvarvalue'] = 'Variable value:'; +$labels['setvarmodifiers'] = 'Modifiers:'; +$labels['varlower'] = 'lower-case'; +$labels['varupper'] = 'upper-case'; +$labels['varlowerfirst'] = 'first character lower-case'; +$labels['varupperfirst'] = 'first character upper-case'; +$labels['varquotewildcard'] = 'quote special characters'; +$labels['varlength'] = 'length'; +$labels['notify'] = 'Send notification'; +$labels['notifytarget'] = 'Notification target:'; +$labels['notifymessage'] = 'Notification message (optional):'; +$labels['notifyoptions'] = 'Notification options (optional):'; +$labels['notifyfrom'] = 'Notification sender (optional):'; +$labels['notifyimportance'] = 'Importance:'; +$labels['notifyimportancelow'] = 'low'; +$labels['notifyimportancenormal'] = 'normal'; +$labels['notifyimportancehigh'] = 'high'; +$labels['notifymethodmailto'] = 'Email'; +$labels['notifymethodtel'] = 'Phone'; +$labels['notifymethodsms'] = 'SMS'; +$labels['filtercreate'] = 'Create filter'; +$labels['usedata'] = 'Use following data in the filter:'; +$labels['nextstep'] = 'Next Step'; +$labels['...'] = '...'; +$labels['currdate'] = 'Current date'; +$labels['datetest'] = 'Date'; +$labels['dateheader'] = 'header:'; +$labels['year'] = 'year'; +$labels['month'] = 'month'; +$labels['day'] = 'day'; +$labels['date'] = 'date (yyyy-mm-dd)'; +$labels['julian'] = 'date (julian)'; +$labels['hour'] = 'hour'; +$labels['minute'] = 'minute'; +$labels['second'] = 'second'; +$labels['time'] = 'time (hh:mm:ss)'; +$labels['iso8601'] = 'date (ISO8601)'; +$labels['std11'] = 'date (RFC2822)'; +$labels['zone'] = 'time-zone'; +$labels['weekday'] = 'weekday (0-6)'; +$labels['advancedopts'] = 'Advanced options'; +$labels['body'] = 'Body'; +$labels['address'] = 'address'; +$labels['envelope'] = 'envelope'; +$labels['modifier'] = 'modifier:'; +$labels['text'] = 'text'; +$labels['undecoded'] = 'undecoded (raw)'; +$labels['contenttype'] = 'content type'; +$labels['modtype'] = 'type:'; +$labels['allparts'] = 'all'; +$labels['domain'] = 'domain'; +$labels['localpart'] = 'local part'; +$labels['user'] = 'user'; +$labels['detail'] = 'detail'; +$labels['comparator'] = 'comparator:'; +$labels['default'] = 'default'; +$labels['octet'] = 'strict (octet)'; +$labels['asciicasemap'] = 'case insensitive (ascii-casemap)'; +$labels['asciinumeric'] = 'numeric (ascii-numeric)'; +$labels['index'] = 'index:'; +$labels['indexlast'] = 'backwards'; +$labels['vacation'] = 'Vacation'; +$labels['vacation.reply'] = 'Reply message'; +$labels['vacation.advanced'] = 'Advanced settings'; +$labels['vacation.subject'] = 'Subject'; +$labels['vacation.body'] = 'Body'; +$labels['vacation.status'] = 'Status'; +$labels['vacation.on'] = 'On'; +$labels['vacation.off'] = 'Off'; +$labels['vacation.addresses'] = 'My additional addresses'; +$labels['vacation.interval'] = 'Reply interval'; +$labels['vacation.after'] = 'Put vacation rule after'; +$labels['vacation.saving'] = 'Saving data...'; +$messages['filterunknownerror'] = 'Unknown server error.'; +$messages['filterconnerror'] = 'Unable to connect to server.'; +$messages['filterdeleteerror'] = 'Unable to delete filter. Server error occurred.'; +$messages['filterdeleted'] = 'Filter deleted successfully.'; +$messages['filtersaved'] = 'Filter saved successfully.'; +$messages['filtersaveerror'] = 'Unable to save filter. Server error occurred.'; +$messages['filterdeleteconfirm'] = 'Do you really want to delete selected filter?'; +$messages['ruledeleteconfirm'] = 'Are you sure, you want to delete selected rule?'; +$messages['actiondeleteconfirm'] = 'Are you sure, you want to delete selected action?'; +$messages['forbiddenchars'] = 'Forbidden characters in field.'; +$messages['cannotbeempty'] = 'Field cannot be empty.'; +$messages['ruleexist'] = 'Filter with specified name already exists.'; +$messages['setactivateerror'] = 'Unable to activate selected filters set. Server error occurred.'; +$messages['setdeactivateerror'] = 'Unable to deactivate selected filters set. Server error occurred.'; +$messages['setdeleteerror'] = 'Unable to delete selected filters set. Server error occurred.'; +$messages['setactivated'] = 'Filters set activated successfully.'; +$messages['setdeactivated'] = 'Filters set deactivated successfully.'; +$messages['setdeleted'] = 'Filters set deleted successfully.'; +$messages['setdeleteconfirm'] = 'Are you sure, you want to delete selected filters set?'; +$messages['setcreateerror'] = 'Unable to create filters set. Server error occurred.'; +$messages['setcreated'] = 'Filters set created successfully.'; +$messages['activateerror'] = 'Unable to enable selected filter(s). Server error occurred.'; +$messages['deactivateerror'] = 'Unable to disable selected filter(s). Server error occurred.'; +$messages['deactivated'] = 'Filter(s) disabled successfully.'; +$messages['activated'] = 'Filter(s) enabled successfully.'; +$messages['moved'] = 'Filter moved successfully.'; +$messages['moveerror'] = 'Unable to move selected filter. Server error occurred.'; +$messages['nametoolong'] = 'Name too long.'; +$messages['namereserved'] = 'Reserved name.'; +$messages['setexist'] = 'Set already exists.'; +$messages['nodata'] = 'At least one position must be selected!'; +$messages['invaliddateformat'] = 'Invalid date or date part format'; +$messages['saveerror'] = 'Unable to save data. Server error occurred.'; +$messages['vacationsaved'] = 'Vacation data saved successfully.'; +?> diff --git a/plugins/managesieve/localization/en_GB.inc b/plugins/managesieve/localization/en_GB.inc new file mode 100644 index 000000000..0cc88720f --- /dev/null +++ b/plugins/managesieve/localization/en_GB.inc @@ -0,0 +1,224 @@ +<?php + +/* + +-----------------------------------------------------------------------+ + | plugins/managesieve/localization/<lang>.inc | + | | + | Localization file of the Roundcube Webmail Managesieve 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-managesieve/ +*/ +$labels['filters'] = 'Filters'; +$labels['managefilters'] = 'Manage incoming mail filters'; +$labels['filtername'] = 'Filter name'; +$labels['newfilter'] = 'New filter'; +$labels['filteradd'] = 'Add filter'; +$labels['filterdel'] = 'Delete filter'; +$labels['moveup'] = 'Move up'; +$labels['movedown'] = 'Move down'; +$labels['filterallof'] = 'matching all of the following rules'; +$labels['filteranyof'] = 'matching any of the following rules'; +$labels['filterany'] = 'all messages'; +$labels['filtercontains'] = 'contains'; +$labels['filternotcontains'] = 'not contains'; +$labels['filteris'] = 'is equal to'; +$labels['filterisnot'] = 'is not equal to'; +$labels['filterexists'] = 'exists'; +$labels['filternotexists'] = 'not exists'; +$labels['filtermatches'] = 'matches expression'; +$labels['filternotmatches'] = 'not matches expression'; +$labels['filterregex'] = 'matches regular expression'; +$labels['filternotregex'] = 'not matches regular expression'; +$labels['filterunder'] = 'under'; +$labels['filterover'] = 'over'; +$labels['addrule'] = 'Add rule'; +$labels['delrule'] = 'Delete rule'; +$labels['messagemoveto'] = 'Move message to'; +$labels['messageredirect'] = 'Redirect message to'; +$labels['messagecopyto'] = 'Copy message to'; +$labels['messagesendcopy'] = 'Send message copy to'; +$labels['messagereply'] = 'Reply with message'; +$labels['messagedelete'] = 'Delete message'; +$labels['messagediscard'] = 'Discard with message'; +$labels['messagekeep'] = 'Keep message in Inbox'; +$labels['messagesrules'] = 'For incoming mail:'; +$labels['messagesactions'] = '...execute the following actions:'; +$labels['add'] = 'Add'; +$labels['del'] = 'Delete'; +$labels['sender'] = 'Sender'; +$labels['recipient'] = 'Recipient'; +$labels['vacationaddr'] = 'My additional e-mail address(es):'; +$labels['vacationdays'] = 'How often send messages (in days):'; +$labels['vacationinterval'] = 'How often send messages:'; +$labels['vacationreason'] = 'Message body (vacation reason):'; +$labels['vacationsubject'] = 'Message subject:'; +$labels['days'] = 'days'; +$labels['seconds'] = 'seconds'; +$labels['rulestop'] = 'Stop evaluating rules'; +$labels['enable'] = 'Enable/Disable'; +$labels['filterset'] = 'Filters set'; +$labels['filtersets'] = 'Filter sets'; +$labels['filtersetadd'] = 'Add filters set'; +$labels['filtersetdel'] = 'Delete current filters set'; +$labels['filtersetact'] = 'Activate current filters set'; +$labels['filtersetdeact'] = 'Deactivate current filters set'; +$labels['filterdef'] = 'Filter definition'; +$labels['filtersetname'] = 'Filters set name'; +$labels['newfilterset'] = 'New filters set'; +$labels['active'] = 'active'; +$labels['none'] = 'none'; +$labels['fromset'] = 'from set'; +$labels['fromfile'] = 'from file'; +$labels['filterdisabled'] = 'Filter disabled'; +$labels['countisgreaterthan'] = 'count is greater than'; +$labels['countisgreaterthanequal'] = 'count is greater than or equal to'; +$labels['countislessthan'] = 'count is less than'; +$labels['countislessthanequal'] = 'count is less than or equal to'; +$labels['countequals'] = 'count is equal to'; +$labels['countnotequals'] = 'count is not equal to'; +$labels['valueisgreaterthan'] = 'value is greater than'; +$labels['valueisgreaterthanequal'] = 'value is greater than or equal to'; +$labels['valueislessthan'] = 'value is less than'; +$labels['valueislessthanequal'] = 'value is less than or equal to'; +$labels['valueequals'] = 'value is equal to'; +$labels['valuenotequals'] = 'value is not equal to'; +$labels['setflags'] = 'Set flags to the message'; +$labels['addflags'] = 'Add flags to the message'; +$labels['removeflags'] = 'Remove flags from the message'; +$labels['flagread'] = 'Read'; +$labels['flagdeleted'] = 'Deleted'; +$labels['flaganswered'] = 'Answered'; +$labels['flagflagged'] = 'Flagged'; +$labels['flagdraft'] = 'Draft'; +$labels['setvariable'] = 'Set variable'; +$labels['setvarname'] = 'Variable name:'; +$labels['setvarvalue'] = 'Variable value:'; +$labels['setvarmodifiers'] = 'Modifiers:'; +$labels['varlower'] = 'lower-case'; +$labels['varupper'] = 'upper-case'; +$labels['varlowerfirst'] = 'first character lower-case'; +$labels['varupperfirst'] = 'first character upper-case'; +$labels['varquotewildcard'] = 'quote special characters'; +$labels['varlength'] = 'length'; +$labels['notify'] = 'Send notification'; +$labels['notifytarget'] = 'Notification target:'; +$labels['notifymessage'] = 'Notification message (optional):'; +$labels['notifyoptions'] = 'Notification options (optional):'; +$labels['notifyfrom'] = 'Notification sender (optional):'; +$labels['notifyimportance'] = 'Importance:'; +$labels['notifyimportancelow'] = 'low'; +$labels['notifyimportancenormal'] = 'normal'; +$labels['notifyimportancehigh'] = 'high'; +$labels['notifymethodmailto'] = 'Email'; +$labels['notifymethodtel'] = 'Phone'; +$labels['notifymethodsms'] = 'SMS'; +$labels['filtercreate'] = 'Create filter'; +$labels['usedata'] = 'Use following data in the filter:'; +$labels['nextstep'] = 'Next Step'; +$labels['...'] = '...'; +$labels['currdate'] = 'Current date'; +$labels['datetest'] = 'Date'; +$labels['dateheader'] = 'header:'; +$labels['year'] = 'year'; +$labels['month'] = 'month'; +$labels['day'] = 'day'; +$labels['date'] = 'date (yyyy-mm-dd)'; +$labels['julian'] = 'date (julian)'; +$labels['hour'] = 'hour'; +$labels['minute'] = 'minute'; +$labels['second'] = 'second'; +$labels['time'] = 'time (hh:mm:ss)'; +$labels['iso8601'] = 'date (ISO8601)'; +$labels['std11'] = 'date (RFC2822)'; +$labels['zone'] = 'time-zone'; +$labels['weekday'] = 'weekday (0-6)'; +$labels['advancedopts'] = 'Advanced options'; +$labels['body'] = 'Body'; +$labels['address'] = 'address'; +$labels['envelope'] = 'envelope'; +$labels['modifier'] = 'modifier:'; +$labels['text'] = 'text'; +$labels['undecoded'] = 'undecoded (raw)'; +$labels['contenttype'] = 'content type'; +$labels['modtype'] = 'type:'; +$labels['allparts'] = 'all'; +$labels['domain'] = 'domain'; +$labels['localpart'] = 'local part'; +$labels['user'] = 'user'; +$labels['detail'] = 'detail'; +$labels['comparator'] = 'comparator:'; +$labels['default'] = 'default'; +$labels['octet'] = 'strict (octet)'; +$labels['asciicasemap'] = 'case insensitive (ascii-casemap)'; +$labels['asciinumeric'] = 'numeric (ascii-numeric)'; +$labels['index'] = 'index:'; +$labels['indexlast'] = 'backwards'; +$labels['vacation'] = 'Vacation'; +$labels['vacation.reply'] = 'Reply message'; +$labels['vacation.advanced'] = 'Advanced settings'; +$labels['vacation.subject'] = 'Subject'; +$labels['vacation.body'] = 'Body'; +$labels['vacation.start'] = 'Vacation start'; +$labels['vacation.end'] = 'Vacation end'; +$labels['vacation.status'] = 'Status'; +$labels['vacation.on'] = 'On'; +$labels['vacation.off'] = 'Off'; +$labels['vacation.addresses'] = 'My additional addresses'; +$labels['vacation.interval'] = 'Reply interval'; +$labels['vacation.after'] = 'Put vacation rule after'; +$labels['vacation.saving'] = 'Saving data...'; +$labels['vacation.action'] = 'Incoming message action'; +$labels['vacation.keep'] = 'Keep'; +$labels['vacation.discard'] = 'Discard'; +$labels['vacation.redirect'] = 'Redirect to'; +$labels['vacation.copy'] = 'Send copy to'; +$labels['arialabelfiltersetactions'] = 'Filter set actions'; +$labels['arialabelfilteractions'] = 'Filter actions'; +$labels['arialabelfilterform'] = 'Filter properties'; +$labels['ariasummaryfilterslist'] = 'List of filters'; +$labels['ariasummaryfiltersetslist'] = 'List of filter sets'; +$labels['filterstitle'] = 'Edit incoming mail filters'; +$labels['vacationtitle'] = 'Edit out-of-office rule'; +$messages['filterunknownerror'] = 'Unknown server error'; +$messages['filterconnerror'] = 'Unable to connect to managesieve server'; +$messages['filterdeleteerror'] = 'Unable to delete filter. Server error occurred.'; +$messages['filterdeleted'] = 'Filter deleted successfully'; +$messages['filtersaved'] = 'Filter saved successfully'; +$messages['filtersaveerror'] = 'Unable to save filter. Server error occurred.'; +$messages['filterdeleteconfirm'] = 'Do you really want to delete selected filter?'; +$messages['ruledeleteconfirm'] = 'Are you sure, you want to delete selected rule?'; +$messages['actiondeleteconfirm'] = 'Are you sure, you want to delete selected action?'; +$messages['forbiddenchars'] = 'Forbidden characters in field'; +$messages['cannotbeempty'] = 'Field cannot be empty'; +$messages['ruleexist'] = 'Filter with specified name already exists.'; +$messages['setactivateerror'] = 'Unable to activate selected filters set. Server error occurred.'; +$messages['setdeactivateerror'] = 'Unable to deactivate selected filters set. Server error occurred.'; +$messages['setdeleteerror'] = 'Unable to delete selected filters set. Server error occurred.'; +$messages['setactivated'] = 'Filters set activated successfully.'; +$messages['setdeactivated'] = 'Filters set deactivated successfully.'; +$messages['setdeleted'] = 'Filters set deleted successfully.'; +$messages['setdeleteconfirm'] = 'Are you sure, you want to delete selected filters set?'; +$messages['setcreateerror'] = 'Unable to create filters set. Server error occurred.'; +$messages['setcreated'] = 'Filters set created successfully.'; +$messages['activateerror'] = 'Unable to enable selected filter(s). Server error occurred.'; +$messages['deactivateerror'] = 'Unable to disable selected filter(s). Server error occurred.'; +$messages['deactivated'] = 'Filter(s) disabled successfully.'; +$messages['activated'] = 'Filter(s) enabled successfully.'; +$messages['moved'] = 'Filter moved successfully.'; +$messages['moveerror'] = 'Unable to move selected filter. Server error occurred.'; +$messages['nametoolong'] = 'Name too long.'; +$messages['namereserved'] = 'Reserved name.'; +$messages['setexist'] = 'Set already exists.'; +$messages['nodata'] = 'At least one position must be selected!'; +$messages['invaliddateformat'] = 'Invalid date or date part format'; +$messages['saveerror'] = 'Unable to save data. Server error occurred.'; +$messages['vacationsaved'] = 'Vacation data saved successfully.'; +$messages['emptyvacationbody'] = 'Body of vacation message is required!'; +?> diff --git a/plugins/managesieve/localization/en_US.inc b/plugins/managesieve/localization/en_US.inc new file mode 100644 index 000000000..3b03b6bf1 --- /dev/null +++ b/plugins/managesieve/localization/en_US.inc @@ -0,0 +1,230 @@ +<?php + +/* + +-----------------------------------------------------------------------+ + | plugins/managesieve/localization/<lang>.inc | + | | + | Localization file of the Roundcube Webmail Managesieve 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-managesieve/ +*/ + + +$labels['filters'] = 'Filters'; +$labels['managefilters'] = 'Manage incoming mail filters'; +$labels['filtername'] = 'Filter name'; +$labels['newfilter'] = 'New filter'; +$labels['filteradd'] = 'Add filter'; +$labels['filterdel'] = 'Delete filter'; +$labels['moveup'] = 'Move up'; +$labels['movedown'] = 'Move down'; +$labels['filterallof'] = 'matching all of the following rules'; +$labels['filteranyof'] = 'matching any of the following rules'; +$labels['filterany'] = 'all messages'; +$labels['filtercontains'] = 'contains'; +$labels['filternotcontains'] = 'not contains'; +$labels['filteris'] = 'is equal to'; +$labels['filterisnot'] = 'is not equal to'; +$labels['filterexists'] = 'exists'; +$labels['filternotexists'] = 'not exists'; +$labels['filtermatches'] = 'matches expression'; +$labels['filternotmatches'] = 'not matches expression'; +$labels['filterregex'] = 'matches regular expression'; +$labels['filternotregex'] = 'not matches regular expression'; +$labels['filterunder'] = 'under'; +$labels['filterover'] = 'over'; +$labels['addrule'] = 'Add rule'; +$labels['delrule'] = 'Delete rule'; +$labels['messagemoveto'] = 'Move message to'; +$labels['messageredirect'] = 'Redirect message to'; +$labels['messagecopyto'] = 'Copy message to'; +$labels['messagesendcopy'] = 'Send message copy to'; +$labels['messagereply'] = 'Reply with message'; +$labels['messagedelete'] = 'Delete message'; +$labels['messagediscard'] = 'Discard with message'; +$labels['messagekeep'] = 'Keep message in Inbox'; +$labels['messagesrules'] = 'For incoming mail:'; +$labels['messagesactions'] = '...execute the following actions:'; +$labels['add'] = 'Add'; +$labels['del'] = 'Delete'; +$labels['sender'] = 'Sender'; +$labels['recipient'] = 'Recipient'; +$labels['vacationaddr'] = 'My e-mail addresses:'; +$labels['vacationdays'] = 'How often send messages (in days):'; +$labels['vacationinterval'] = 'How often send messages:'; +$labels['vacationreason'] = 'Message body (vacation reason):'; +$labels['vacationsubject'] = 'Message subject:'; +$labels['days'] = 'days'; +$labels['seconds'] = 'seconds'; +$labels['rulestop'] = 'Stop evaluating rules'; +$labels['enable'] = 'Enable/Disable'; +$labels['filterset'] = 'Filters set'; +$labels['filtersets'] = 'Filter sets'; +$labels['filtersetadd'] = 'Add filters set'; +$labels['filtersetdel'] = 'Delete current filters set'; +$labels['filtersetact'] = 'Activate current filters set'; +$labels['filtersetdeact'] = 'Deactivate current filters set'; +$labels['filterdef'] = 'Filter definition'; +$labels['filtersetname'] = 'Filters set name'; +$labels['newfilterset'] = 'New filters set'; +$labels['active'] = 'active'; +$labels['none'] = 'none'; +$labels['fromset'] = 'from set'; +$labels['fromfile'] = 'from file'; +$labels['filterdisabled'] = 'Filter disabled'; +$labels['countisgreaterthan'] = 'count is greater than'; +$labels['countisgreaterthanequal'] = 'count is greater than or equal to'; +$labels['countislessthan'] = 'count is less than'; +$labels['countislessthanequal'] = 'count is less than or equal to'; +$labels['countequals'] = 'count is equal to'; +$labels['countnotequals'] = 'count is not equal to'; +$labels['valueisgreaterthan'] = 'value is greater than'; +$labels['valueisgreaterthanequal'] = 'value is greater than or equal to'; +$labels['valueislessthan'] = 'value is less than'; +$labels['valueislessthanequal'] = 'value is less than or equal to'; +$labels['valueequals'] = 'value is equal to'; +$labels['valuenotequals'] = 'value is not equal to'; +$labels['setflags'] = 'Set flags to the message'; +$labels['addflags'] = 'Add flags to the message'; +$labels['removeflags'] = 'Remove flags from the message'; +$labels['flagread'] = 'Read'; +$labels['flagdeleted'] = 'Deleted'; +$labels['flaganswered'] = 'Answered'; +$labels['flagflagged'] = 'Flagged'; +$labels['flagdraft'] = 'Draft'; +$labels['setvariable'] = 'Set variable'; +$labels['setvarname'] = 'Variable name:'; +$labels['setvarvalue'] = 'Variable value:'; +$labels['setvarmodifiers'] = 'Modifiers:'; +$labels['varlower'] = 'lower-case'; +$labels['varupper'] = 'upper-case'; +$labels['varlowerfirst'] = 'first character lower-case'; +$labels['varupperfirst'] = 'first character upper-case'; +$labels['varquotewildcard'] = 'quote special characters'; +$labels['varlength'] = 'length'; +$labels['notify'] = 'Send notification'; +$labels['notifytarget'] = 'Notification target:'; +$labels['notifymessage'] = 'Notification message (optional):'; +$labels['notifyoptions'] = 'Notification options (optional):'; +$labels['notifyfrom'] = 'Notification sender (optional):'; +$labels['notifyimportance'] = 'Importance:'; +$labels['notifyimportancelow'] = 'low'; +$labels['notifyimportancenormal'] = 'normal'; +$labels['notifyimportancehigh'] = 'high'; +$labels['notifymethodmailto'] = 'Email'; +$labels['notifymethodtel'] = 'Phone'; +$labels['notifymethodsms'] = 'SMS'; +$labels['filtercreate'] = 'Create filter'; +$labels['usedata'] = 'Use following data in the filter:'; +$labels['nextstep'] = 'Next Step'; +$labels['...'] = '...'; +$labels['currdate'] = 'Current date'; +$labels['datetest'] = 'Date'; +$labels['dateheader'] = 'header:'; +$labels['year'] = 'year'; +$labels['month'] = 'month'; +$labels['day'] = 'day'; +$labels['date'] = 'date (yyyy-mm-dd)'; +$labels['julian'] = 'date (julian)'; +$labels['hour'] = 'hour'; +$labels['minute'] = 'minute'; +$labels['second'] = 'second'; +$labels['time'] = 'time (hh:mm:ss)'; +$labels['iso8601'] = 'date (ISO8601)'; +$labels['std11'] = 'date (RFC2822)'; +$labels['zone'] = 'time-zone'; +$labels['weekday'] = 'weekday (0-6)'; +$labels['advancedopts'] = 'Advanced options'; +$labels['body'] = 'Body'; +$labels['address'] = 'address'; +$labels['envelope'] = 'envelope'; +$labels['modifier'] = 'modifier:'; +$labels['text'] = 'text'; +$labels['undecoded'] = 'undecoded (raw)'; +$labels['contenttype'] = 'content type'; +$labels['modtype'] = 'type:'; +$labels['allparts'] = 'all'; +$labels['domain'] = 'domain'; +$labels['localpart'] = 'local part'; +$labels['user'] = 'user'; +$labels['detail'] = 'detail'; +$labels['comparator'] = 'comparator:'; +$labels['default'] = 'default'; +$labels['octet'] = 'strict (octet)'; +$labels['asciicasemap'] = 'case insensitive (ascii-casemap)'; +$labels['asciinumeric'] = 'numeric (ascii-numeric)'; +$labels['index'] = 'index:'; +$labels['indexlast'] = 'backwards'; +$labels['vacation'] = 'Vacation'; +$labels['vacation.reply'] = 'Reply message'; +$labels['vacation.advanced'] = 'Advanced settings'; +$labels['vacation.subject'] = 'Subject'; +$labels['vacation.body'] = 'Body'; +$labels['vacation.start'] = 'Vacation start'; +$labels['vacation.end'] = 'Vacation end'; +$labels['vacation.status'] = 'Status'; +$labels['vacation.on'] = 'On'; +$labels['vacation.off'] = 'Off'; +$labels['vacation.addresses'] = 'My e-mail addresses'; +$labels['vacation.interval'] = 'Reply interval'; +$labels['vacation.after'] = 'Put vacation rule after'; +$labels['vacation.saving'] = 'Saving data...'; +$labels['vacation.action'] = 'Incoming message action'; +$labels['vacation.keep'] = 'Keep'; +$labels['vacation.discard'] = 'Discard'; +$labels['vacation.redirect'] = 'Redirect to'; +$labels['vacation.copy'] = 'Send copy to'; +$labels['filladdresses'] = 'Fill with all my addresses'; +$labels['arialabelfiltersetactions'] = 'Filter set actions'; +$labels['arialabelfilteractions'] = 'Filter actions'; +$labels['arialabelfilterform'] = 'Filter properties'; +$labels['ariasummaryfilterslist'] = 'List of filters'; +$labels['ariasummaryfiltersetslist'] = 'List of filter sets'; +$labels['filterstitle'] = 'Edit incoming mail filters'; +$labels['vacationtitle'] = 'Edit out-of-office rule'; + +$messages = array(); +$messages['filterunknownerror'] = 'Unknown server error.'; +$messages['filterconnerror'] = 'Unable to connect to server.'; +$messages['filterdeleteerror'] = 'Unable to delete filter. Server error occurred.'; +$messages['filterdeleted'] = 'Filter deleted successfully.'; +$messages['filtersaved'] = 'Filter saved successfully.'; +$messages['filtersaveerror'] = 'Unable to save filter. Server error occurred.'; +$messages['filterdeleteconfirm'] = 'Do you really want to delete selected filter?'; +$messages['ruledeleteconfirm'] = 'Are you sure, you want to delete selected rule?'; +$messages['actiondeleteconfirm'] = 'Are you sure, you want to delete selected action?'; +$messages['forbiddenchars'] = 'Forbidden characters in field.'; +$messages['cannotbeempty'] = 'Field cannot be empty.'; +$messages['ruleexist'] = 'Filter with specified name already exists.'; +$messages['setactivateerror'] = 'Unable to activate selected filters set. Server error occurred.'; +$messages['setdeactivateerror'] = 'Unable to deactivate selected filters set. Server error occurred.'; +$messages['setdeleteerror'] = 'Unable to delete selected filters set. Server error occurred.'; +$messages['setactivated'] = 'Filters set activated successfully.'; +$messages['setdeactivated'] = 'Filters set deactivated successfully.'; +$messages['setdeleted'] = 'Filters set deleted successfully.'; +$messages['setdeleteconfirm'] = 'Are you sure, you want to delete selected filters set?'; +$messages['setcreateerror'] = 'Unable to create filters set. Server error occurred.'; +$messages['setcreated'] = 'Filters set created successfully.'; +$messages['activateerror'] = 'Unable to enable selected filter(s). Server error occurred.'; +$messages['deactivateerror'] = 'Unable to disable selected filter(s). Server error occurred.'; +$messages['deactivated'] = 'Filter(s) disabled successfully.'; +$messages['activated'] = 'Filter(s) enabled successfully.'; +$messages['moved'] = 'Filter moved successfully.'; +$messages['moveerror'] = 'Unable to move selected filter. Server error occurred.'; +$messages['nametoolong'] = 'Name too long.'; +$messages['namereserved'] = 'Reserved name.'; +$messages['setexist'] = 'Set already exists.'; +$messages['nodata'] = 'At least one position must be selected!'; +$messages['invaliddateformat'] = 'Invalid date or date part format'; +$messages['saveerror'] = 'Unable to save data. Server error occurred.'; +$messages['vacationsaved'] = 'Vacation data saved successfully.'; +$messages['emptyvacationbody'] = 'Body of vacation message is required!'; + +?> diff --git a/plugins/managesieve/localization/eo.inc b/plugins/managesieve/localization/eo.inc new file mode 100644 index 000000000..f613d92ba --- /dev/null +++ b/plugins/managesieve/localization/eo.inc @@ -0,0 +1,51 @@ +<?php + +/* + +-----------------------------------------------------------------------+ + | plugins/managesieve/localization/<lang>.inc | + | | + | Localization file of the Roundcube Webmail Managesieve 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-managesieve/ +*/ +$labels['filters'] = 'Filtriloj'; +$labels['managefilters'] = 'Mastrumi filtrilojn pri enirantaj mesaĝoj'; +$labels['filtername'] = 'Nomo de filtrilo'; +$labels['newfilter'] = 'Nova filtrilo'; +$labels['filteradd'] = 'Aldoni filtrilon'; +$labels['filterdel'] = 'Forigi filtrilon'; +$labels['moveup'] = 'Movi supren'; +$labels['movedown'] = 'Movi malsupren'; +$labels['filterany'] = 'ĉiuj mesaĝoj'; +$labels['filtercontains'] = 'enhavas'; +$labels['filternotcontains'] = 'ne enhavas'; +$labels['filteris'] = 'egalas al'; +$labels['filterisnot'] = 'ne egalas al'; +$labels['filterexists'] = 'ekzistas'; +$labels['filternotexists'] = 'ne ekzistas'; +$labels['filtermatches'] = 'kongruas esprimon'; +$labels['filternotmatches'] = 'ne kongruas esprimon'; +$labels['filterregex'] = 'kongruas regularan esprimon'; +$labels['filternotregex'] = 'ne kongruas regularan esprimon'; +$labels['filterunder'] = 'sub'; +$labels['filterover'] = 'preter'; +$labels['addrule'] = 'Aldoni regulon'; +$labels['delrule'] = 'Forigi regulon'; +$labels['messagemoveto'] = 'Movi mesaĝon al'; +$labels['messageredirect'] = 'Aidirekti mesaĝon al'; +$labels['messagecopyto'] = 'Kopii mesaĝo en'; +$labels['messagesendcopy'] = 'Sendi kopion de mesaĝo al'; +$labels['messagereply'] = 'Respondi per mesaĝo'; +$labels['messagedelete'] = 'Forigi mesaĝon'; +$labels['add'] = 'Aldoni'; +$labels['del'] = 'Forigi'; +$labels['sender'] = 'Sendanto'; +$labels['recipient'] = 'Ricevanto'; +?> diff --git a/plugins/managesieve/localization/es_419.inc b/plugins/managesieve/localization/es_419.inc new file mode 100644 index 000000000..613189526 --- /dev/null +++ b/plugins/managesieve/localization/es_419.inc @@ -0,0 +1,224 @@ +<?php + +/* + +-----------------------------------------------------------------------+ + | plugins/managesieve/localization/<lang>.inc | + | | + | Localization file of the Roundcube Webmail Managesieve 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-managesieve/ +*/ +$labels['filters'] = 'Filtros'; +$labels['managefilters'] = 'Administrar filtros de correos entrantes'; +$labels['filtername'] = 'Nombre del filtro'; +$labels['newfilter'] = 'Filtro nuevo'; +$labels['filteradd'] = 'Agregar filtro'; +$labels['filterdel'] = 'Eliminar filtro'; +$labels['moveup'] = 'Mover hacia arriba'; +$labels['movedown'] = 'Mover hacia abajo'; +$labels['filterallof'] = 'coincide con todas las reglas siguientes'; +$labels['filteranyof'] = 'coincide con cualquiera de las reglas siguientes'; +$labels['filterany'] = 'todos los mensajes'; +$labels['filtercontains'] = 'contiene'; +$labels['filternotcontains'] = 'no contiene'; +$labels['filteris'] = 'es igual a'; +$labels['filterisnot'] = 'no es igual a'; +$labels['filterexists'] = 'existe'; +$labels['filternotexists'] = 'no existe'; +$labels['filtermatches'] = 'coincide con la expresión'; +$labels['filternotmatches'] = 'no coincide con la expresión'; +$labels['filterregex'] = 'coincide con la expresión regular'; +$labels['filternotregex'] = 'no coincide con la expresión regular'; +$labels['filterunder'] = 'bajo'; +$labels['filterover'] = 'sobre'; +$labels['addrule'] = 'Agregar regla'; +$labels['delrule'] = 'Eliminar regla'; +$labels['messagemoveto'] = 'Mover mensaje a'; +$labels['messageredirect'] = 'Redireccionar mensaje a'; +$labels['messagecopyto'] = 'Copiar mensaje a'; +$labels['messagesendcopy'] = 'Enviar una copia del mensaje a '; +$labels['messagereply'] = 'Responder con el mensaje'; +$labels['messagedelete'] = 'Eliminar mensaje'; +$labels['messagediscard'] = 'Descartar el mensaje'; +$labels['messagekeep'] = 'Mantener mensaje en la bandeja de entrada'; +$labels['messagesrules'] = 'Para correo entrante:'; +$labels['messagesactions'] = '... ejecutar las siguientes acciones:'; +$labels['add'] = 'Agregar'; +$labels['del'] = 'Eliminar'; +$labels['sender'] = 'Remitente'; +$labels['recipient'] = 'Destinatario'; +$labels['vacationaddr'] = 'Mis direccion(es) adiconal(es):'; +$labels['vacationdays'] = 'Cuan a menudo enviar mensajes (en días):'; +$labels['vacationinterval'] = '¿Con qué frecuencia enviar mensajes?:'; +$labels['vacationreason'] = 'Cuerpo del mensaje (motivo de las vacaciones):'; +$labels['vacationsubject'] = 'Asunto del mensaje:'; +$labels['days'] = 'días'; +$labels['seconds'] = 'segundos'; +$labels['rulestop'] = 'Detener la evaluación de reglas'; +$labels['enable'] = 'Habilitar/Deshabilitar'; +$labels['filterset'] = 'Set de filtros'; +$labels['filtersets'] = 'Filtro acciona'; +$labels['filtersetadd'] = 'Agregar set de filtros'; +$labels['filtersetdel'] = 'Eliminar set de filtros actual'; +$labels['filtersetact'] = 'Activar set de filtros actual'; +$labels['filtersetdeact'] = 'Desactivar set de filtros actual'; +$labels['filterdef'] = 'Definición del filtro'; +$labels['filtersetname'] = 'Nombre del set de filtros'; +$labels['newfilterset'] = 'Nuevo set de filtros'; +$labels['active'] = 'activo'; +$labels['none'] = 'ninguno'; +$labels['fromset'] = 'desde set'; +$labels['fromfile'] = 'desde archivo'; +$labels['filterdisabled'] = 'filtro deshabilitado'; +$labels['countisgreaterthan'] = 'la cuenta es mayor a'; +$labels['countisgreaterthanequal'] = 'la cuenta es mayor o igual a '; +$labels['countislessthan'] = 'la cuenta es menor que'; +$labels['countislessthanequal'] = 'la cuenta es menor o igual que'; +$labels['countequals'] = 'la cuenta es igual a '; +$labels['countnotequals'] = 'la cuenta no es menor a'; +$labels['valueisgreaterthan'] = 'el valor es mayor que'; +$labels['valueisgreaterthanequal'] = 'el balor es mayor o igual que '; +$labels['valueislessthan'] = 'el valor es menor que '; +$labels['valueislessthanequal'] = 'el valor es menor o igual que '; +$labels['valueequals'] = 'el valor es igual a '; +$labels['valuenotequals'] = 'el valor no es igual a'; +$labels['setflags'] = 'Colocar etiquetas al mensaje'; +$labels['addflags'] = 'Agrega etiquetas al mensaje'; +$labels['removeflags'] = 'Eliminar etiquetas al mensaje'; +$labels['flagread'] = 'Leido'; +$labels['flagdeleted'] = 'Eliminado'; +$labels['flaganswered'] = 'Respondido'; +$labels['flagflagged'] = 'Etiquetado'; +$labels['flagdraft'] = 'Borrador'; +$labels['setvariable'] = 'Establecer variable'; +$labels['setvarname'] = 'Nombre de la variable:'; +$labels['setvarvalue'] = 'Valor de la variable:'; +$labels['setvarmodifiers'] = 'Modificadores:'; +$labels['varlower'] = 'minúscula'; +$labels['varupper'] = 'mayúscula'; +$labels['varlowerfirst'] = 'primer carácter en minúscula'; +$labels['varupperfirst'] = 'primer carácter en mayúscula'; +$labels['varquotewildcard'] = 'citar carácteres especiales'; +$labels['varlength'] = 'largo'; +$labels['notify'] = 'Enviar notificación'; +$labels['notifytarget'] = 'Destinatario de la notificación:'; +$labels['notifymessage'] = 'Mensaje de notificación (opcional):'; +$labels['notifyoptions'] = 'Opciones de notificación (opcional):'; +$labels['notifyfrom'] = 'Remitente de la notificación (opcional):'; +$labels['notifyimportance'] = 'Importancia:'; +$labels['notifyimportancelow'] = 'baja'; +$labels['notifyimportancenormal'] = 'normal'; +$labels['notifyimportancehigh'] = 'alta'; +$labels['notifymethodmailto'] = 'Correo electrónico'; +$labels['notifymethodtel'] = 'Teléfono'; +$labels['notifymethodsms'] = 'Mensaje de texto'; +$labels['filtercreate'] = 'Crear filtro'; +$labels['usedata'] = 'Usar los datos siguientes en el filtro:'; +$labels['nextstep'] = 'Paso siguiente'; +$labels['...'] = '...'; +$labels['currdate'] = 'Fecha actual'; +$labels['datetest'] = 'Fecha'; +$labels['dateheader'] = 'encabezado:'; +$labels['year'] = 'año'; +$labels['month'] = 'mes'; +$labels['day'] = 'día'; +$labels['date'] = 'fecha(aaaa-mm-dd)'; +$labels['julian'] = 'fecha (julian)'; +$labels['hour'] = 'hora'; +$labels['minute'] = 'minuto'; +$labels['second'] = 'segundo'; +$labels['time'] = 'hora (hh:mm:ss)'; +$labels['iso8601'] = 'fecha (ISO8601)'; +$labels['std11'] = 'fecha (RFC2822)'; +$labels['zone'] = 'zona horaria'; +$labels['weekday'] = 'día de la semana (0-6)'; +$labels['advancedopts'] = 'Opciones avanzadas'; +$labels['body'] = 'Cuerpo'; +$labels['address'] = 'dirección'; +$labels['envelope'] = 'sobre'; +$labels['modifier'] = 'modificador:'; +$labels['text'] = 'texto'; +$labels['undecoded'] = 'decodificado (crudo)'; +$labels['contenttype'] = 'tipo de contenido'; +$labels['modtype'] = 'tipo:'; +$labels['allparts'] = 'todo'; +$labels['domain'] = 'dominio'; +$labels['localpart'] = 'parte local'; +$labels['user'] = 'usuario'; +$labels['detail'] = 'detalle'; +$labels['comparator'] = 'comparador:'; +$labels['default'] = 'predeterminado'; +$labels['octet'] = 'estricto (octeto)'; +$labels['asciicasemap'] = 'no sensible a mayúsculas y minúsculas (mapero-ascii)'; +$labels['asciinumeric'] = 'numérico (ascii-numérico)'; +$labels['index'] = 'índice:'; +$labels['indexlast'] = 'hacia atrás'; +$labels['vacation'] = 'Vacaciones'; +$labels['vacation.reply'] = 'Responder mensaje'; +$labels['vacation.advanced'] = 'Opciones avanzadas'; +$labels['vacation.subject'] = 'Asunto'; +$labels['vacation.body'] = 'Cuerpo'; +$labels['vacation.start'] = 'Inicio de vacaciones'; +$labels['vacation.end'] = 'Final de vacaciones'; +$labels['vacation.status'] = 'Estado'; +$labels['vacation.on'] = 'Encendido'; +$labels['vacation.off'] = 'Apagado'; +$labels['vacation.addresses'] = 'Mis direcciones adicionales'; +$labels['vacation.interval'] = 'Intervalo de respuesta'; +$labels['vacation.after'] = 'Colocar regla de vacaciones luego'; +$labels['vacation.saving'] = 'Guardando información...'; +$labels['vacation.action'] = 'Acción para mensaje entrante'; +$labels['vacation.keep'] = 'Mantener'; +$labels['vacation.discard'] = 'Descartar'; +$labels['vacation.redirect'] = 'Redireccionar a'; +$labels['vacation.copy'] = 'Enviar una copia a'; +$labels['arialabelfiltersetactions'] = 'Acciones del set de filtros'; +$labels['arialabelfilteractions'] = 'Acciones de filtros'; +$labels['arialabelfilterform'] = 'Propiedades de filtros'; +$labels['ariasummaryfilterslist'] = 'Lista de filtros'; +$labels['ariasummaryfiltersetslist'] = 'Lista de set de filtros'; +$labels['filterstitle'] = 'Administrar filtros de correos entrantes'; +$labels['vacationtitle'] = 'Editar regla de fuera de oficina'; +$messages['filterunknownerror'] = 'Error de servidor desconocido.'; +$messages['filterconnerror'] = 'No se puede conectar al servidor.'; +$messages['filterdeleteerror'] = 'No se puede eliminar el filtro. Ocurrió un error de servidor.'; +$messages['filterdeleted'] = 'Filtro eliminado exitosamente.'; +$messages['filtersaved'] = 'Filtro guardado exitosamente.'; +$messages['filtersaveerror'] = 'No es posible guardar el filtro. Ha ocurrido un error de servidor.'; +$messages['filterdeleteconfirm'] = '¿Estás seguro que quieres eliminar el filtro seleccionado?'; +$messages['ruledeleteconfirm'] = '¿Estás seguro que quieres eliminar la regla seleccionada?'; +$messages['actiondeleteconfirm'] = '¿Estás seguro que queires eliminar la acción seleccionada?'; +$messages['forbiddenchars'] = 'Carácteres ilegales en el campo.'; +$messages['cannotbeempty'] = 'El campo no puede estar vacio.'; +$messages['ruleexist'] = 'Ya existe un filtro con el nombre especificado.'; +$messages['setactivateerror'] = 'No es posible activar el set de filtros seleccionado. Ha ocurrido un error de servidor.'; +$messages['setdeactivateerror'] = 'No es posible desactivar el set de filtros selecciona. Ha ocurrido un error de servidor.'; +$messages['setdeleteerror'] = 'No es posible eliminar el set de filtros seleccionado. Ha ocurrido un error de servidor.'; +$messages['setactivated'] = 'Set de filtros activado exitosamente.'; +$messages['setdeactivated'] = 'Set de filtros desactivado exitosamente.'; +$messages['setdeleted'] = 'Set de filtroseliminado exitosamente.'; +$messages['setdeleteconfirm'] = '¿Estas seguro que deseas eliminar el set de filtros seleccionado?'; +$messages['setcreateerror'] = 'No es posible crear el set de filtros. Ha ocurrido un error de servidor.'; +$messages['setcreated'] = 'Set de filtros creado exitosamente.'; +$messages['activateerror'] = 'No es posible habilitar los filtros seleccionados. Ha ocurrido un error de servidor.'; +$messages['deactivateerror'] = 'No es posible deshabilitar los filtros seleccionados. Ha ocurrido un error de servidor.'; +$messages['deactivated'] = 'Filtro(s) deshabilitado(s) exitosamente.'; +$messages['activated'] = 'Filtro(s) habilitado(s) exitosamente.'; +$messages['moved'] = 'Filtro movido exitosamente.'; +$messages['moveerror'] = 'No es posible mover los filtros seleccionados. Ha ocurrido un error de servidor.'; +$messages['nametoolong'] = 'Nombre demasiado largo.'; +$messages['namereserved'] = 'Nombre reservado.'; +$messages['setexist'] = 'Set ya existe.'; +$messages['nodata'] = 'Debes seleccionar al menos una posición.'; +$messages['invaliddateformat'] = 'Fecha o parte del formato no válido'; +$messages['saveerror'] = 'No es posible guardar la información. Ha ocurrido un error de servidor.'; +$messages['vacationsaved'] = 'Información de vacaciones guardada exitosamente.'; +$messages['emptyvacationbody'] = 'Cuerpo del mensaje de vacaciones es requerido!'; +?> diff --git a/plugins/managesieve/localization/es_AR.inc b/plugins/managesieve/localization/es_AR.inc new file mode 100644 index 000000000..6ac6533d7 --- /dev/null +++ b/plugins/managesieve/localization/es_AR.inc @@ -0,0 +1,224 @@ +<?php + +/* + +-----------------------------------------------------------------------+ + | plugins/managesieve/localization/<lang>.inc | + | | + | Localization file of the Roundcube Webmail Managesieve 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-managesieve/ +*/ +$labels['filters'] = 'Filtros'; +$labels['managefilters'] = 'Administrar filtros de correo entrante'; +$labels['filtername'] = 'Nombre del filtro'; +$labels['newfilter'] = 'Nuevo filtro'; +$labels['filteradd'] = 'Agregar filtro'; +$labels['filterdel'] = 'Eliminar filtro'; +$labels['moveup'] = 'Mover arriba'; +$labels['movedown'] = 'Mover abajo'; +$labels['filterallof'] = 'coinidir con todas las reglas siguientes'; +$labels['filteranyof'] = 'coincidir con alguna de las reglas siguientes'; +$labels['filterany'] = 'todos los mensajes'; +$labels['filtercontains'] = 'contiene'; +$labels['filternotcontains'] = 'no contiene'; +$labels['filteris'] = 'es igual a'; +$labels['filterisnot'] = 'no es igual a'; +$labels['filterexists'] = 'existe'; +$labels['filternotexists'] = 'no existe'; +$labels['filtermatches'] = 'coincide con la expresión'; +$labels['filternotmatches'] = 'no coindice con la expresión'; +$labels['filterregex'] = 'coincide con la expresión regular'; +$labels['filternotregex'] = 'no coincide con la expresión regular'; +$labels['filterunder'] = 'bajo'; +$labels['filterover'] = 'sobre'; +$labels['addrule'] = 'Agregar regla'; +$labels['delrule'] = 'Eliminar regla'; +$labels['messagemoveto'] = 'Mover mensaje a'; +$labels['messageredirect'] = 'Redirigir mensaje a'; +$labels['messagecopyto'] = 'Copiar mensaje a'; +$labels['messagesendcopy'] = 'Enviar copia del mensaje a'; +$labels['messagereply'] = 'Responder con un mensaje'; +$labels['messagedelete'] = 'Eliminar mensaje'; +$labels['messagediscard'] = 'Descartar con un mensaje'; +$labels['messagekeep'] = 'Mantener mensajes en bandeja de entrada'; +$labels['messagesrules'] = 'Para el correo entrante:'; +$labels['messagesactions'] = '... ejecutar las siguientes acciones:'; +$labels['add'] = 'Agregar'; +$labels['del'] = 'Eliminar'; +$labels['sender'] = 'Remitente'; +$labels['recipient'] = 'Destinatario'; +$labels['vacationaddr'] = 'Mi(s) direccion(es) de e-mail adicional(es):'; +$labels['vacationdays'] = 'Cada cuanto enviar mensajes (en días):'; +$labels['vacationinterval'] = 'Enviar mensajes cada:'; +$labels['vacationreason'] = 'Cuerpo del mensaje (razón de vacaciones):'; +$labels['vacationsubject'] = 'Asunto del mensaje:'; +$labels['days'] = 'dias'; +$labels['seconds'] = 'segundos'; +$labels['rulestop'] = 'Parar de evaluar reglas'; +$labels['enable'] = 'Habilitar/Deshabilitar'; +$labels['filterset'] = 'Conjunto de filtros'; +$labels['filtersets'] = 'Filtro activa'; +$labels['filtersetadd'] = 'Agregar conjunto de filtros'; +$labels['filtersetdel'] = 'Eliminar conjunto de filtros'; +$labels['filtersetact'] = 'Activar conjunto de filtros'; +$labels['filtersetdeact'] = 'Deactivar conjunto de filtros'; +$labels['filterdef'] = 'Definicion del conjunto de filtros'; +$labels['filtersetname'] = 'Nombre del conjunto de filtros'; +$labels['newfilterset'] = 'Nuevo conjunto de filtros'; +$labels['active'] = 'Activar'; +$labels['none'] = 'none'; +$labels['fromset'] = 'desde conjunto'; +$labels['fromfile'] = 'desde archivo'; +$labels['filterdisabled'] = 'Filtro deshabilitado'; +$labels['countisgreaterthan'] = 'la cuenta es mayor a'; +$labels['countisgreaterthanequal'] = 'la cuenta es mayor o igual a'; +$labels['countislessthan'] = 'la cuenta es menor a'; +$labels['countislessthanequal'] = 'la cuenta es menor o igual a'; +$labels['countequals'] = 'la cuenta es igual a'; +$labels['countnotequals'] = 'la cuenta no es igual a'; +$labels['valueisgreaterthan'] = 'el valor es mayor a'; +$labels['valueisgreaterthanequal'] = 'el valor es mayor o igual a'; +$labels['valueislessthan'] = 'el valor es menor a'; +$labels['valueislessthanequal'] = 'el valor es menor o igual a'; +$labels['valueequals'] = 'el valor es igual a'; +$labels['valuenotequals'] = 'el valor no es igual a'; +$labels['setflags'] = 'Configurar marcas del mensaje'; +$labels['addflags'] = 'Agregar marcas al mensaje'; +$labels['removeflags'] = 'Eliminar marcas del mensaje'; +$labels['flagread'] = 'Leer'; +$labels['flagdeleted'] = 'Eliminado'; +$labels['flaganswered'] = 'Respondido'; +$labels['flagflagged'] = 'Marcado'; +$labels['flagdraft'] = 'Borrador'; +$labels['setvariable'] = 'Setear variable'; +$labels['setvarname'] = 'Nombre de variable:'; +$labels['setvarvalue'] = 'Valor de variable:'; +$labels['setvarmodifiers'] = 'Modificadores:'; +$labels['varlower'] = 'minúscula'; +$labels['varupper'] = 'mayúscula'; +$labels['varlowerfirst'] = 'primer caracter en minúscula'; +$labels['varupperfirst'] = 'primer caracter en mayúscula'; +$labels['varquotewildcard'] = 'citar caracteres especiales'; +$labels['varlength'] = 'longitud'; +$labels['notify'] = 'Enviar notificación'; +$labels['notifytarget'] = 'Objetivo de la notificación:'; +$labels['notifymessage'] = 'Mensaje de notificación (opcional):'; +$labels['notifyoptions'] = 'Opciones de notificación (opcional):'; +$labels['notifyfrom'] = 'Remitente de la notificación (opcional):'; +$labels['notifyimportance'] = 'Importancia:'; +$labels['notifyimportancelow'] = 'baja'; +$labels['notifyimportancenormal'] = 'normal'; +$labels['notifyimportancehigh'] = 'alta'; +$labels['notifymethodmailto'] = 'Email'; +$labels['notifymethodtel'] = 'Teléfono'; +$labels['notifymethodsms'] = 'SMS'; +$labels['filtercreate'] = 'Crear filtro'; +$labels['usedata'] = 'Usar la siguiente información en el filtro:'; +$labels['nextstep'] = 'Siguiente paso'; +$labels['...'] = '...'; +$labels['currdate'] = 'Fecha actual'; +$labels['datetest'] = 'Fecha'; +$labels['dateheader'] = 'encabezado:'; +$labels['year'] = 'año'; +$labels['month'] = 'mes'; +$labels['day'] = 'dia'; +$labels['date'] = 'fecha (yyyy-mm-dd)'; +$labels['julian'] = 'fecha (juliano)'; +$labels['hour'] = 'hora'; +$labels['minute'] = 'minuto'; +$labels['second'] = 'segundo'; +$labels['time'] = 'hora (hh:mm:ss)'; +$labels['iso8601'] = 'fecha (ISO8601)'; +$labels['std11'] = 'fecha (RFC2822)'; +$labels['zone'] = 'zona horaria'; +$labels['weekday'] = 'día de la semana (0-6)'; +$labels['advancedopts'] = 'Opciones avanzadas'; +$labels['body'] = 'Cuerpo'; +$labels['address'] = 'dirección'; +$labels['envelope'] = 'envoltura'; +$labels['modifier'] = 'modificador:'; +$labels['text'] = 'texto'; +$labels['undecoded'] = 'sin decodificar (crudo)'; +$labels['contenttype'] = 'tipo de contenido'; +$labels['modtype'] = 'tipo:'; +$labels['allparts'] = 'todo'; +$labels['domain'] = 'dominio'; +$labels['localpart'] = 'parte local'; +$labels['user'] = 'usuario'; +$labels['detail'] = 'detalle'; +$labels['comparator'] = 'comparador:'; +$labels['default'] = 'por defecto'; +$labels['octet'] = 'estricto (octeto)'; +$labels['asciicasemap'] = 'no sensible a minúsculas o mayúsculas (ascii-casemap)'; +$labels['asciinumeric'] = 'numérico (ascii-numeric)'; +$labels['index'] = 'índice:'; +$labels['indexlast'] = 'hacia atrás'; +$labels['vacation'] = 'Vacaciones'; +$labels['vacation.reply'] = 'Responder mensaje'; +$labels['vacation.advanced'] = 'Opciones avanzdas'; +$labels['vacation.subject'] = 'Asunto'; +$labels['vacation.body'] = 'Cuerpo'; +$labels['vacation.start'] = 'Inicio de vacaciones'; +$labels['vacation.end'] = 'Final de vacaciones'; +$labels['vacation.status'] = 'Estado'; +$labels['vacation.on'] = 'On'; +$labels['vacation.off'] = 'Off'; +$labels['vacation.addresses'] = 'Mis direcciones adicionales'; +$labels['vacation.interval'] = 'Intervalo de respuesta'; +$labels['vacation.after'] = 'Colocar luego regla de vacaciones '; +$labels['vacation.saving'] = 'Guardando información...'; +$labels['vacation.action'] = 'Acción para mensaje entrante'; +$labels['vacation.keep'] = 'Mantener'; +$labels['vacation.discard'] = 'Descartar'; +$labels['vacation.redirect'] = 'Reenviar a'; +$labels['vacation.copy'] = 'Enviar copia a'; +$labels['arialabelfiltersetactions'] = 'Acciones de conjunto de filtros'; +$labels['arialabelfilteractions'] = 'Filtrar acciones'; +$labels['arialabelfilterform'] = 'Filtrar propiedades'; +$labels['ariasummaryfilterslist'] = 'Listado de filtros'; +$labels['ariasummaryfiltersetslist'] = 'Listado de conjunto de filtros'; +$labels['filterstitle'] = 'Editar filtros para mensajes entrantes'; +$labels['vacationtitle'] = 'Editar reglas "fuera de la oficina"'; +$messages['filterunknownerror'] = 'Error desconocido de servidor'; +$messages['filterconnerror'] = 'Imposible conectar con el servidor managesieve'; +$messages['filterdeleteerror'] = 'Imposible borrar filtro. Ha ocurrido un error en el servidor'; +$messages['filterdeleted'] = 'Filtro borrado satisfactoriamente'; +$messages['filtersaved'] = 'Filtro guardado satisfactoriamente'; +$messages['filtersaveerror'] = 'Imposible guardar ell filtro. Ha ocurrido un error en el servidor'; +$messages['filterdeleteconfirm'] = '¿Realmente desea borrar el filtro seleccionado?'; +$messages['ruledeleteconfirm'] = '¿Está seguro de que desea borrar la regla seleccionada?'; +$messages['actiondeleteconfirm'] = '¿Está seguro de que desea borrar la acción seleccionada?'; +$messages['forbiddenchars'] = 'Caracteres prohibidos en el campo'; +$messages['cannotbeempty'] = 'El campo no puede estar vacío'; +$messages['ruleexist'] = 'El filtro con el nombre especificado ya existe.'; +$messages['setactivateerror'] = 'Imposible activar el conjunto de filtros. Error en el servidor.'; +$messages['setdeactivateerror'] = 'Imposible desactivar el conjunto de filtros. Error en el servidor.'; +$messages['setdeleteerror'] = 'Imposible eliminar el conjunto de filtros. Error en el servidor.'; +$messages['setactivated'] = 'Conjunto de filtros activados correctamente'; +$messages['setdeactivated'] = 'Conjunto de filtros desactivados correctamente'; +$messages['setdeleted'] = 'Conjunto de filtros eliminados correctamente'; +$messages['setdeleteconfirm'] = '¿Esta seguro, que quiere eliminar el conjunto de filtros seleccionado?'; +$messages['setcreateerror'] = 'Imposible crear el conjunto de filtros. Error en el servidor.'; +$messages['setcreated'] = 'Conjunto de filtros creados correctamente'; +$messages['activateerror'] = 'Imposible activar el conjunto de filtros. Error en el servidor.'; +$messages['deactivateerror'] = 'Imposible desactivar el conjunto de filtros. Error en el servidor.'; +$messages['deactivated'] = 'Filtro deshabilitado satisfactoriamente'; +$messages['activated'] = 'Filtro habilitado satisfactoriamente'; +$messages['moved'] = 'Filtro movido satisfactoriamente'; +$messages['moveerror'] = 'Imposible mover el filtro seleccionado. Ha ocurrido un error en el servidor.'; +$messages['nametoolong'] = 'El nombre es demasiado largo.'; +$messages['namereserved'] = 'Nombre reservado.'; +$messages['setexist'] = 'Conjunto ya existe.'; +$messages['nodata'] = 'Al menos una posición debe ser seleccionada!'; +$messages['invaliddateformat'] = 'Fecha o formato de fecha inválido'; +$messages['saveerror'] = 'Imposible guardar la información. Ha ocurrido un error con el servidor.'; +$messages['vacationsaved'] = 'Información de vacaciones guardada satisfactoriamente.'; +$messages['emptyvacationbody'] = '¡Se requiere un cuerpo para el mensaje por vacaciones!'; +?> diff --git a/plugins/managesieve/localization/es_ES.inc b/plugins/managesieve/localization/es_ES.inc new file mode 100644 index 000000000..2b319daf6 --- /dev/null +++ b/plugins/managesieve/localization/es_ES.inc @@ -0,0 +1,224 @@ +<?php + +/* + +-----------------------------------------------------------------------+ + | plugins/managesieve/localization/<lang>.inc | + | | + | Localization file of the Roundcube Webmail Managesieve 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-managesieve/ +*/ +$labels['filters'] = 'Filtros'; +$labels['managefilters'] = 'Administrar filtros de correo entrante'; +$labels['filtername'] = 'Nombre del filtro'; +$labels['newfilter'] = 'Nuevo filtro'; +$labels['filteradd'] = 'Añadir filtro'; +$labels['filterdel'] = 'Eliminar filtro'; +$labels['moveup'] = 'Mover arriba'; +$labels['movedown'] = 'Mover abajo'; +$labels['filterallof'] = 'que coincida con todas las reglas siguientes'; +$labels['filteranyof'] = 'que coincida con cualquiera de las reglas siguientes'; +$labels['filterany'] = 'todos los mensajes'; +$labels['filtercontains'] = 'contiene'; +$labels['filternotcontains'] = 'no contiene'; +$labels['filteris'] = 'es igual a'; +$labels['filterisnot'] = 'no es igual a'; +$labels['filterexists'] = 'existe'; +$labels['filternotexists'] = 'no existe'; +$labels['filtermatches'] = 'coincide con la expresión'; +$labels['filternotmatches'] = 'no coincide con la expresión'; +$labels['filterregex'] = 'coincide con la expresión regular'; +$labels['filternotregex'] = 'no coincide con la expresión regular'; +$labels['filterunder'] = 'bajo'; +$labels['filterover'] = 'sobre'; +$labels['addrule'] = 'Añadir regla'; +$labels['delrule'] = 'Eliminar regla'; +$labels['messagemoveto'] = 'Mover mensaje a'; +$labels['messageredirect'] = 'Redirigir mensaje a'; +$labels['messagecopyto'] = 'Copiar mensaje a'; +$labels['messagesendcopy'] = 'Enviar copia del mensaje a'; +$labels['messagereply'] = 'Responder con un mensaje'; +$labels['messagedelete'] = 'Eliminar mensaje'; +$labels['messagediscard'] = 'Descartar con un mensaje'; +$labels['messagekeep'] = 'Mantener el mensaje en la bandeja de entrada'; +$labels['messagesrules'] = 'Para el correo entrante:'; +$labels['messagesactions'] = '... ejecutar las siguientes acciones:'; +$labels['add'] = 'Añadir'; +$labels['del'] = 'Eliminar'; +$labels['sender'] = 'Remitente'; +$labels['recipient'] = 'Destinatario'; +$labels['vacationaddr'] = 'Mis direcciones adicionales 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):'; +$labels['vacationsubject'] = 'Asunto del mensaje:'; +$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 actual'; +$labels['filtersetact'] = 'Activar conjunto de filtros actual'; +$labels['filtersetdeact'] = 'Desactivar conjunto de filtros actual'; +$labels['filterdef'] = 'Definición de filtros'; +$labels['filtersetname'] = 'Nombre del conjunto de filtros'; +$labels['newfilterset'] = 'Nuevo conjunto de filtros'; +$labels['active'] = 'activo'; +$labels['none'] = 'ninguno'; +$labels['fromset'] = 'de conjunto'; +$labels['fromfile'] = 'de archivo'; +$labels['filterdisabled'] = 'Filtro deshabilitado'; +$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['valueisgreaterthan'] = 'el valor es mayor que'; +$labels['valueisgreaterthanequal'] = 'el valor es mayor o igual que'; +$labels['valueislessthan'] = 'el valor es menor que'; +$labels['valueislessthanequal'] = 'el valor es menor o igual que'; +$labels['valueequals'] = 'el valor es igual que'; +$labels['valuenotequals'] = 'el valor no es igual a'; +$labels['setflags'] = 'Etiquetar el mensaje'; +$labels['addflags'] = 'Agregar etiquetas al mensaje'; +$labels['removeflags'] = 'Eliminar etiquetas del mensaje'; +$labels['flagread'] = 'Leído'; +$labels['flagdeleted'] = 'Eliminado'; +$labels['flaganswered'] = 'Respondido'; +$labels['flagflagged'] = 'Marcado'; +$labels['flagdraft'] = 'Borrador'; +$labels['setvariable'] = 'Establecer variable'; +$labels['setvarname'] = 'Nombre de la variable:'; +$labels['setvarvalue'] = 'Valor de la variable:'; +$labels['setvarmodifiers'] = 'Modificadores'; +$labels['varlower'] = 'minúsculas'; +$labels['varupper'] = 'mayúsculas'; +$labels['varlowerfirst'] = 'primer caracter en minúsculas'; +$labels['varupperfirst'] = 'primer caracter en mayúsculas'; +$labels['varquotewildcard'] = 'entrecomillar caracteres especiales'; +$labels['varlength'] = 'longitud'; +$labels['notify'] = 'Enviar notificación'; +$labels['notifytarget'] = 'Destino de la notificación:'; +$labels['notifymessage'] = 'Mensaje de notificación (opcional):'; +$labels['notifyoptions'] = 'Opciones de notificación (opcional):'; +$labels['notifyfrom'] = 'Remitente de la notificación (opcional):'; +$labels['notifyimportance'] = 'Importancia:'; +$labels['notifyimportancelow'] = 'baja'; +$labels['notifyimportancenormal'] = 'normal'; +$labels['notifyimportancehigh'] = 'alta'; +$labels['notifymethodmailto'] = 'Correo electrónico'; +$labels['notifymethodtel'] = 'Teléfono'; +$labels['notifymethodsms'] = 'SMS'; +$labels['filtercreate'] = 'Crear filtro'; +$labels['usedata'] = 'Usar los siguientes datos en el filtro:'; +$labels['nextstep'] = 'Siguiente paso'; +$labels['...'] = '...'; +$labels['currdate'] = 'Fecha actual'; +$labels['datetest'] = 'Fecha'; +$labels['dateheader'] = 'cabecera:'; +$labels['year'] = 'año'; +$labels['month'] = 'mes'; +$labels['day'] = 'día'; +$labels['date'] = 'fecha (aaaa-mm-dd)'; +$labels['julian'] = 'fecha (juliano)'; +$labels['hour'] = 'hora'; +$labels['minute'] = 'minuto'; +$labels['second'] = 'segundo'; +$labels['time'] = 'hora (hh:mm:ss)'; +$labels['iso8601'] = 'fecha (ISO8601)'; +$labels['std11'] = 'fecha (RFC2822)'; +$labels['zone'] = 'zona horaria'; +$labels['weekday'] = 'día de la semana (0-6)'; +$labels['advancedopts'] = 'Opciones avanzadas'; +$labels['body'] = 'Cuerpo del mensaje'; +$labels['address'] = 'dirección'; +$labels['envelope'] = 'envoltura'; +$labels['modifier'] = 'modificador:'; +$labels['text'] = 'texto'; +$labels['undecoded'] = 'decodificar (en bruto)'; +$labels['contenttype'] = 'tipo de contenido'; +$labels['modtype'] = 'tipo:'; +$labels['allparts'] = 'todo'; +$labels['domain'] = 'dominio'; +$labels['localpart'] = 'parte local'; +$labels['user'] = 'usuario'; +$labels['detail'] = 'detalle'; +$labels['comparator'] = 'comparador:'; +$labels['default'] = 'predeterminado'; +$labels['octet'] = 'estricto (octeto)'; +$labels['asciicasemap'] = 'no sensible a mayúsculas (ascii-casemap)'; +$labels['asciinumeric'] = 'numerico (ascii-numeric)'; +$labels['index'] = 'índice:'; +$labels['indexlast'] = 'hacia atrás'; +$labels['vacation'] = 'Vacaciones'; +$labels['vacation.reply'] = 'Mensaje de respuesta'; +$labels['vacation.advanced'] = 'Configuración avanzada'; +$labels['vacation.subject'] = 'Asunto'; +$labels['vacation.body'] = 'Cuerpo'; +$labels['vacation.start'] = 'Comienzo de las vacaciones'; +$labels['vacation.end'] = 'Final de las vacaciones'; +$labels['vacation.status'] = 'Estado'; +$labels['vacation.on'] = 'Activado'; +$labels['vacation.off'] = 'Desactivado'; +$labels['vacation.addresses'] = 'Mis direcciones adicionales'; +$labels['vacation.interval'] = 'Intervalo de respuesta'; +$labels['vacation.after'] = 'Poner regla de vacaciones después de'; +$labels['vacation.saving'] = 'Guardando datos...'; +$labels['vacation.action'] = 'Acción de mensaje entrante'; +$labels['vacation.keep'] = 'Mantener'; +$labels['vacation.discard'] = 'Descartar'; +$labels['vacation.redirect'] = 'Redireccionar a'; +$labels['vacation.copy'] = 'Enviar copia a'; +$labels['arialabelfiltersetactions'] = 'Acciones de un paquete de filtros'; +$labels['arialabelfilteractions'] = 'Acciones de filtro'; +$labels['arialabelfilterform'] = 'Propiedades de filtro'; +$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'; +$messages['filterunknownerror'] = 'Error desconocido en el servidor.'; +$messages['filterconnerror'] = 'No se pudo conectar con el servidor managesieve.'; +$messages['filterdeleteerror'] = 'No se pudo borrar el filtro. Ha ocurrido un error en el servidor.'; +$messages['filterdeleted'] = 'Filtro borrado correctamente.'; +$messages['filtersaved'] = 'Filtro guardado correctamente.'; +$messages['filtersaveerror'] = 'No se pudo guardar el filtro. Ha ocurrido un error en el servidor.'; +$messages['filterdeleteconfirm'] = '¿Realmente desea borrar el filtro seleccionado?'; +$messages['ruledeleteconfirm'] = '¿Está seguro de que desea borrar la regla seleccionada?'; +$messages['actiondeleteconfirm'] = '¿Está seguro de que desea borrar la acción seleccionada?'; +$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'] = 'No se pudo activar el conjunto de filtros seleccionado. Ha ocurrido un error en el servidor.'; +$messages['setdeactivateerror'] = 'No se pudo desactivar el conjunto de filtros seleccionado. Ha ocurrido un error en el servidor.'; +$messages['setdeleteerror'] = 'No se pudo borrar el conjunto de filtros seleccionado. Ha ocurrido un error en el servidor.'; +$messages['setactivated'] = 'Conjunto de filtros activado correctamente.'; +$messages['setdeactivated'] = 'Conjunto de filtros desactivado correctamente.'; +$messages['setdeleted'] = 'Conjunto de filtros borrado correctamente.'; +$messages['setdeleteconfirm'] = '¿Está seguro de que desea borrar el conjunto de filtros seleccionado?'; +$messages['setcreateerror'] = 'No se ha podido crear el conjunto de filtros. Ha ocurrido un error en el servidor.'; +$messages['setcreated'] = 'Conjunto de filtros creado correctamente.'; +$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.'; +$messages['activated'] = 'Filtro(s) habilitado(s) correctamente.'; +$messages['moved'] = 'Filtro movido correctamente.'; +$messages['moveerror'] = 'No se pudo mover el filtro seleccionado. Ha ocurrido un error en el servidor.'; +$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['saveerror'] = 'No se pudo guardar los datos. Ha ocurrido un error en el servidor.'; +$messages['vacationsaved'] = 'Datos de vacaciones guardados correctamente.'; +$messages['emptyvacationbody'] = '¡Hace falta un texto en el mensaje de vacaciones!'; +?> diff --git a/plugins/managesieve/localization/et_EE.inc b/plugins/managesieve/localization/et_EE.inc new file mode 100644 index 000000000..3957dcb43 --- /dev/null +++ b/plugins/managesieve/localization/et_EE.inc @@ -0,0 +1,177 @@ +<?php + +/* + +-----------------------------------------------------------------------+ + | plugins/managesieve/localization/<lang>.inc | + | | + | Localization file of the Roundcube Webmail Managesieve 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-managesieve/ +*/ +$labels['filters'] = 'Filtrid'; +$labels['managefilters'] = 'Halda sisenevate kirjade filtreid'; +$labels['filtername'] = 'Filtri nimi'; +$labels['newfilter'] = 'Uus filter'; +$labels['filteradd'] = 'Lisa filter'; +$labels['filterdel'] = 'Kustuta filter'; +$labels['moveup'] = 'Liiguta üles'; +$labels['movedown'] = 'Liiguta alla'; +$labels['filterallof'] = 'vastab kõikidele järgnevatele reeglitele'; +$labels['filteranyof'] = 'vastab mõnele järgnevatest reeglitest'; +$labels['filterany'] = 'kõik kirjad'; +$labels['filtercontains'] = 'sisaldab'; +$labels['filternotcontains'] = 'ei sisalda'; +$labels['filteris'] = 'on võrdne kui'; +$labels['filterisnot'] = 'ei ole võrdne kui'; +$labels['filterexists'] = 'on olemas'; +$labels['filternotexists'] = 'pole olemas'; +$labels['filtermatches'] = 'vastab avaldisele'; +$labels['filternotmatches'] = 'ei vasta avaldisele'; +$labels['filterregex'] = 'vastab regulaaravaldisele'; +$labels['filternotregex'] = 'ei vasta regulaaravaldisele'; +$labels['filterunder'] = 'alt'; +$labels['filterover'] = 'üle'; +$labels['addrule'] = 'Lisa reegel'; +$labels['delrule'] = 'Kustuta reegel'; +$labels['messagemoveto'] = 'Liiguta kiri'; +$labels['messageredirect'] = 'Suuna kiri ümber'; +$labels['messagecopyto'] = 'Kopeeri kiri'; +$labels['messagesendcopy'] = 'Saada kirja koopia'; +$labels['messagereply'] = 'Vasta kirjaga'; +$labels['messagedelete'] = 'Kustuta kiri'; +$labels['messagediscard'] = 'Viska ära teatega'; +$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['vacationdays'] = 'Kui tihti kirju saata (päevades):'; +$labels['vacationinterval'] = 'Kui tihti kirju saata:'; +$labels['vacationreason'] = 'Kirja sisu (puhkuse põhjus):'; +$labels['vacationsubject'] = 'Kirja teema:'; +$labels['days'] = 'päeva'; +$labels['seconds'] = 'sekundit'; +$labels['rulestop'] = 'Peata reeglite otsimine'; +$labels['enable'] = 'Luba/keela'; +$labels['filterset'] = 'Filtrite kogum'; +$labels['filtersets'] = 'Filtri kogum'; +$labels['filtersetadd'] = 'Lisa filtrite kogum'; +$labels['filtersetdel'] = 'Kustuta praegune filtrite kogum'; +$labels['filtersetact'] = 'Aktiveeri praegune filtrite kogum'; +$labels['filtersetdeact'] = 'De-aktiveeri praegune 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['countisgreaterthan'] = 'koguarv on suurem kui'; +$labels['countisgreaterthanequal'] = 'koguarv on suurem kui või võrdne'; +$labels['countislessthan'] = 'koguarv on väiksem'; +$labels['countislessthanequal'] = 'koguarv on väiksem kui või võrdne'; +$labels['countequals'] = 'koguarv on võrdne'; +$labels['countnotequals'] = 'summa ei ole võrdne'; +$labels['valueisgreaterthan'] = 'väärtus on suurem kui'; +$labels['valueisgreaterthanequal'] = 'väärtus on suurem kui või võrdne'; +$labels['valueislessthan'] = 'väärtus on väiksem kui'; +$labels['valueislessthanequal'] = 'väärtus on väiksem kui või võrdne'; +$labels['valueequals'] = 'väärtus on võrdne'; +$labels['valuenotequals'] = 'väärtus ei ole võrdne'; +$labels['setflags'] = 'Sea kirjale lipik'; +$labels['addflags'] = 'Lisa kirjale lipikuid'; +$labels['removeflags'] = 'Eemalda kirjalt lipikud'; +$labels['flagread'] = 'Loetud'; +$labels['flagdeleted'] = 'Kustutatud'; +$labels['flaganswered'] = 'Vastatud'; +$labels['flagflagged'] = 'Märgistatud'; +$labels['flagdraft'] = 'Mustand'; +$labels['setvariable'] = 'Määra muutuja'; +$labels['setvarname'] = 'Muutuja nimi:'; +$labels['setvarvalue'] = 'Muutuja väärtus:'; +$labels['setvarmodifiers'] = 'Muutjad:'; +$labels['varlower'] = 'väiketähed'; +$labels['varupper'] = 'suurtähed'; +$labels['varlowerfirst'] = 'esimene märk on väiketäht'; +$labels['varupperfirst'] = 'esimene märk on suurtäht'; +$labels['varquotewildcard'] = 'tsiteeri erimärke'; +$labels['varlength'] = 'pikkus'; +$labels['notify'] = 'Saada teavitus'; +$labels['notifyimportance'] = 'Tähtsus:'; +$labels['notifyimportancelow'] = 'madal'; +$labels['notifyimportancenormal'] = 'tavaline'; +$labels['notifyimportancehigh'] = 'kõrge'; +$labels['filtercreate'] = 'Loo filter'; +$labels['usedata'] = 'Kasuta filtris järgmisi andmeid:'; +$labels['nextstep'] = 'Järgmine samm'; +$labels['...'] = '…'; +$labels['currdate'] = 'Praegune kuupäev'; +$labels['datetest'] = 'Kuupäev'; +$labels['dateheader'] = 'päis:'; +$labels['year'] = 'aasta'; +$labels['month'] = 'kuu'; +$labels['day'] = 'päev'; +$labels['date'] = 'kuupäev (aaaa-kk-pp)'; +$labels['julian'] = 'kuupäev (Juliuse)'; +$labels['hour'] = 'tund'; +$labels['minute'] = 'minut'; +$labels['second'] = 'sekund'; +$labels['time'] = 'aeg (tt:mm:ss)'; +$labels['iso8601'] = 'kuupäev (ISO8601)'; +$labels['std11'] = 'kuupäev (RCF2822)'; +$labels['zone'] = 'ajatsoon'; +$labels['weekday'] = 'nädalapäev (0-6)'; +$labels['advancedopts'] = 'Lisaseadistused'; +$labels['body'] = 'Põhitekst'; +$labels['address'] = 'aadress'; +$labels['envelope'] = 'ümbrik'; +$labels['modifier'] = 'muutja:'; +$labels['text'] = 'tekst'; +$labels['undecoded'] = 'kodeerimata (toor)'; +$labels['contenttype'] = 'sisu tüüp'; +$labels['modtype'] = 'tüüp:'; +$labels['allparts'] = 'kõik'; +$labels['domain'] = 'domeen'; +$labels['localpart'] = 'kohalik osa'; +$labels['user'] = 'kasutaja'; +$labels['detail'] = 'detail'; +$labels['comparator'] = 'võrdleja:'; +$labels['default'] = 'vaikimisi'; +$labels['octet'] = 'range (octet)'; +$labels['asciicasemap'] = 'tõstutundetu (ascii-casemap)'; +$labels['asciinumeric'] = 'numbriline (ascii-numeric)'; +$labels['index'] = 'indeks:'; +$labels['indexlast'] = 'tagasisuunas'; +$messages['filterunknownerror'] = 'Tundmatu serveri tõrge'; +$messages['filterconnerror'] = 'Managesieve serveriga ühendumine nurjus'; +$messages['filterdeleted'] = 'Filter edukalt kustutatud'; +$messages['filtersaved'] = 'Filter edukalt salvestatud'; +$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['setactivated'] = 'Filtrite kogumi aktiveerimine õnnestus.'; +$messages['setdeactivated'] = 'Filtrite kogumi deaktiveerimine õnnestus.'; +$messages['setdeleted'] = 'Filtrite kogumi kustutamine õnnestus.'; +$messages['setdeleteconfirm'] = 'Oled kindel, et soovid valitud filtrite kogumi kustutada?'; +$messages['setcreated'] = 'Filtrite kogumi loomine õnnestus.'; +$messages['deactivated'] = 'Filter edukalt lubatud.'; +$messages['activated'] = 'Filter edukalt keelatud.'; +$messages['moved'] = 'Filter edukalt liigutatud.'; +$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'; +?> diff --git a/plugins/managesieve/localization/eu_ES.inc b/plugins/managesieve/localization/eu_ES.inc new file mode 100644 index 000000000..c9a39dc87 --- /dev/null +++ b/plugins/managesieve/localization/eu_ES.inc @@ -0,0 +1,224 @@ +<?php + +/* + +-----------------------------------------------------------------------+ + | plugins/managesieve/localization/<lang>.inc | + | | + | Localization file of the Roundcube Webmail Managesieve 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-managesieve/ +*/ +$labels['filters'] = 'Iragazkiak'; +$labels['managefilters'] = 'Kudeatu sarrerako posta-iragazkiak'; +$labels['filtername'] = 'Iragazkiaren izena'; +$labels['newfilter'] = 'Iragazki berria'; +$labels['filteradd'] = 'Gehitu iragazkia'; +$labels['filterdel'] = 'Ezabatu iragazkia'; +$labels['moveup'] = 'Mugitu gora'; +$labels['movedown'] = 'Mugitu behera'; +$labels['filterallof'] = 'datozen arau guztiak parekatzen'; +$labels['filteranyof'] = 'datozen arauetako batzuk parekatzen'; +$labels['filterany'] = 'mezu guztiak'; +$labels['filtercontains'] = 'badu'; +$labels['filternotcontains'] = 'ez du'; +$labels['filteris'] = 'honen berdina da'; +$labels['filterisnot'] = 'ez da honen berdina'; +$labels['filterexists'] = 'badago'; +$labels['filternotexists'] = 'ez dago'; +$labels['filtermatches'] = 'bat datorren espresioa'; +$labels['filternotmatches'] = 'bat ez datorren espresioa'; +$labels['filterregex'] = 'bat datozen adierazpen erregularra'; +$labels['filternotregex'] = 'bat ez datorren espresio erregularra'; +$labels['filterunder'] = 'azpian'; +$labels['filterover'] = 'gainean'; +$labels['addrule'] = 'Gehitu araua'; +$labels['delrule'] = 'Ezabatu araua'; +$labels['messagemoveto'] = 'Mugitu mezua hona'; +$labels['messageredirect'] = 'Birbideratu mezua hona '; +$labels['messagecopyto'] = 'Kopiatu mezua hona'; +$labels['messagesendcopy'] = 'Bidali mezuaren kopia hona'; +$labels['messagereply'] = 'Erantzun mezuarekin'; +$labels['messagedelete'] = 'Ezabatu mezua'; +$labels['messagediscard'] = 'Baztertu mezuarekin'; +$labels['messagekeep'] = 'Mantendu mezua Sarrera-ontzian'; +$labels['messagesrules'] = 'Sarrerako postarako:'; +$labels['messagesactions'] = '...exekutatu datozen ekintzak:'; +$labels['add'] = 'Gehitu'; +$labels['del'] = 'Ezabatu'; +$labels['sender'] = 'Bidaltzailea'; +$labels['recipient'] = 'Hartzailea'; +$labels['vacationaddr'] = 'Nire helbide elektroniko osagarria(k):'; +$labels['vacationdays'] = 'Zenbatero bidali mezuak (egunak)'; +$labels['vacationinterval'] = 'Zenbatero bidali mezuak:'; +$labels['vacationreason'] = 'Mezuaren gorputza (oporrak direla medio):'; +$labels['vacationsubject'] = 'Mezuaren gaia:'; +$labels['days'] = 'egun'; +$labels['seconds'] = 'segundo'; +$labels['rulestop'] = 'Gelditu arauak ebaluatzen'; +$labels['enable'] = 'Gaitu/Ezgaitu'; +$labels['filterset'] = 'Iragazki-paketea'; +$labels['filtersets'] = 'Iragazki-paketeak'; +$labels['filtersetadd'] = 'Gehitu iragazki-paketea'; +$labels['filtersetdel'] = 'Ezabatu uneko iragazki-paketea'; +$labels['filtersetact'] = 'Gaitu uneko iragazki-paketea'; +$labels['filtersetdeact'] = 'Ezgaitu uneko iragazki-paketea'; +$labels['filterdef'] = 'Iragazkiaren definizioa'; +$labels['filtersetname'] = 'Iragazki-paketearen izena'; +$labels['newfilterset'] = 'Iragazki-pakete berria'; +$labels['active'] = 'aktiboa'; +$labels['none'] = 'Bat ere ez'; +$labels['fromset'] = 'paketetik'; +$labels['fromfile'] = 'fitxategitik'; +$labels['filterdisabled'] = 'Iragazki ezgaitua'; +$labels['countisgreaterthan'] = 'kopurua handiagoa da hau baino'; +$labels['countisgreaterthanequal'] = 'kopurua hau baino handiagoa edo berdina da'; +$labels['countislessthan'] = 'kopurua hau baino txikiagoa da'; +$labels['countislessthanequal'] = 'kopurua hau baino txikiagoa edo berdina da'; +$labels['countequals'] = 'kopurua honen berdina da'; +$labels['countnotequals'] = 'kopurua ez da honen berdina'; +$labels['valueisgreaterthan'] = 'balioa hau baino handiagoa da'; +$labels['valueisgreaterthanequal'] = 'balioa hau baino handiagoa edo berdina da'; +$labels['valueislessthan'] = 'balioa hau baino txikiagoa da'; +$labels['valueislessthanequal'] = 'balioa hau baino txikiagoa edo berdina da'; +$labels['valueequals'] = 'balioa honen berdina da'; +$labels['valuenotequals'] = 'balioa ez da honen berdina'; +$labels['setflags'] = 'Jarri banderak mezuarik'; +$labels['addflags'] = 'Gehitu banderak mezuari'; +$labels['removeflags'] = 'Ezabatu banderak mezutik'; +$labels['flagread'] = 'Irakurri'; +$labels['flagdeleted'] = 'Ezabatuta'; +$labels['flaganswered'] = 'Erantzunda'; +$labels['flagflagged'] = 'Bandera jarrita'; +$labels['flagdraft'] = 'Ziriborroa'; +$labels['setvariable'] = 'Ezarri aldagaia'; +$labels['setvarname'] = 'Aldagaiaren izena:'; +$labels['setvarvalue'] = 'Aldagaiaren balioa:'; +$labels['setvarmodifiers'] = 'Modifikatzaileak:'; +$labels['varlower'] = 'minuskulan'; +$labels['varupper'] = 'maiuskulan'; +$labels['varlowerfirst'] = 'lehenengo karakterea minuskulan'; +$labels['varupperfirst'] = 'lehenengo karakterea maiuskulan'; +$labels['varquotewildcard'] = 'aipatu karaktere bereziak'; +$labels['varlength'] = 'luzera'; +$labels['notify'] = 'Bidali jakinarazpena'; +$labels['notifytarget'] = 'Jakinarazpenaren xedea:'; +$labels['notifymessage'] = 'Jakinarazpenaren mezua (aukerakoa):'; +$labels['notifyoptions'] = 'Jakinarazpenaren aukerak (aukerakoa):'; +$labels['notifyfrom'] = 'Jakinarazpenaren bidaltzailea (aukerakoa):'; +$labels['notifyimportance'] = 'Garrantzia:'; +$labels['notifyimportancelow'] = 'baxua'; +$labels['notifyimportancenormal'] = 'normala'; +$labels['notifyimportancehigh'] = 'altua'; +$labels['notifymethodmailto'] = 'Helbide elektronikoa'; +$labels['notifymethodtel'] = 'Telefonoa'; +$labels['notifymethodsms'] = 'SMS'; +$labels['filtercreate'] = 'Sortu iragazkia'; +$labels['usedata'] = 'Erabili datorren data iragazkian:'; +$labels['nextstep'] = 'Hurrengo urratsa'; +$labels['...'] = '...'; +$labels['currdate'] = 'Uneko data'; +$labels['datetest'] = 'Data'; +$labels['dateheader'] = 'goiburua:'; +$labels['year'] = 'urte'; +$labels['month'] = 'hilabete'; +$labels['day'] = 'egun'; +$labels['date'] = 'data (yyyy-mm-dd)'; +$labels['julian'] = 'data (juliarra)'; +$labels['hour'] = 'ordu'; +$labels['minute'] = 'minutu'; +$labels['second'] = 'segundo'; +$labels['time'] = 'ordua (hh:mm:ss)'; +$labels['iso8601'] = 'data (ISO8601)'; +$labels['std11'] = 'data (RFC2822)'; +$labels['zone'] = 'ordu-zona'; +$labels['weekday'] = 'asteguna (0-6)'; +$labels['advancedopts'] = 'Aukera aurreratuak'; +$labels['body'] = 'Gorputza'; +$labels['address'] = 'helbidea'; +$labels['envelope'] = 'gutun-azala'; +$labels['modifier'] = 'modifikatzailea:'; +$labels['text'] = 'testua'; +$labels['undecoded'] = 'kodetu gabe (gordina)'; +$labels['contenttype'] = 'eduki mota'; +$labels['modtype'] = 'mota:'; +$labels['allparts'] = 'denak'; +$labels['domain'] = 'domeinua'; +$labels['localpart'] = 'zati lokala'; +$labels['user'] = 'erabiltzailea'; +$labels['detail'] = 'xehetasuna'; +$labels['comparator'] = 'alderatzailea:'; +$labels['default'] = 'lehenetsia'; +$labels['octet'] = 'zorrotza (zortzikotea)'; +$labels['asciicasemap'] = 'minuskulak eta maiuskulak (ascii-casemap)'; +$labels['asciinumeric'] = 'numerikoa (ascii-numeric)'; +$labels['index'] = 'indexatu:'; +$labels['indexlast'] = 'atzeraka'; +$labels['vacation'] = 'Oporraldia'; +$labels['vacation.reply'] = 'Erantzun mezua'; +$labels['vacation.advanced'] = 'Ezarpen aurreratuak'; +$labels['vacation.subject'] = 'Gaia'; +$labels['vacation.body'] = 'Gorputza'; +$labels['vacation.start'] = 'Oporraldiaren hasiera'; +$labels['vacation.end'] = 'Oporraldiaren bukaera'; +$labels['vacation.status'] = 'Egoera'; +$labels['vacation.on'] = 'Piztuta'; +$labels['vacation.off'] = 'Itzalita'; +$labels['vacation.addresses'] = 'Nire helbide osagarriak'; +$labels['vacation.interval'] = 'Erantzun tartea'; +$labels['vacation.after'] = 'Jarri oporren erregela honen ondoren'; +$labels['vacation.saving'] = 'Datuak gordetzen...'; +$labels['vacation.action'] = 'Sarrerako mezuaren ekintza'; +$labels['vacation.keep'] = 'Mantendu'; +$labels['vacation.discard'] = 'Baztertu'; +$labels['vacation.redirect'] = 'Birbideratu hona'; +$labels['vacation.copy'] = 'Bidali kopia hona'; +$labels['arialabelfiltersetactions'] = 'Iragazki-paketearen ekintzak'; +$labels['arialabelfilteractions'] = 'Iragazki-ekintzak'; +$labels['arialabelfilterform'] = 'Iragazkiaren ezaugarriak'; +$labels['ariasummaryfilterslist'] = 'Iragazkien zerrenda'; +$labels['ariasummaryfiltersetslist'] = 'Iragazki-paketeen zerrenda'; +$labels['filterstitle'] = 'Editatu postaren sarrera-iragazkiak'; +$labels['vacationtitle'] = 'Bulegotik-kanpo -erantzun automatiko- araua'; +$messages['filterunknownerror'] = 'Zerbitzari ezezaguna errorea'; +$messages['filterconnerror'] = 'Ezin da konektatu zerbitzariarekin.'; +$messages['filterdeleteerror'] = 'Ezin da ezabatu iragazkia. Errore bat gertatu da zerbitzarian.'; +$messages['filterdeleted'] = 'Iragazkia ongi ezabatu da.'; +$messages['filtersaved'] = 'Iragazkia ongi ezabatu da.'; +$messages['filtersaveerror'] = 'Ezin da gorde iragazkia. Zerbitzarian errore bat gertatu da.'; +$messages['filterdeleteconfirm'] = 'Seguru zaude hautatutako iragazkiak ezabatu nahi dituzula?'; +$messages['ruledeleteconfirm'] = 'Seguru zaude hautatutako arauak ezabatu nahi dituzula?'; +$messages['actiondeleteconfirm'] = 'Seguru zaude hautatutako ekintzak ezabatu nahi dituzula?'; +$messages['forbiddenchars'] = 'Debekatutako karaktereak eremuan.'; +$messages['cannotbeempty'] = 'Eremua ezin da hutsik egon.'; +$messages['ruleexist'] = 'Lehendik badago izen hori duen iragazki bat.'; +$messages['setactivateerror'] = 'Ezin da aktibatu hautatutako iragazki paketea. Zerbitzarian errore bat gertatu da.'; +$messages['setdeactivateerror'] = 'Ezin da ezgaitu hautatutako iragazki-paketea. Zerbitzarian errore bat gertatu da.'; +$messages['setdeleteerror'] = 'Ezin da ezabatu hautatutako iragazki-paketea. Zerbitzarian errore bat gertatu da.'; +$messages['setactivated'] = 'Iragazki paketea ongi aktibatu da.'; +$messages['setdeactivated'] = 'Iragazki paketea ongi desaktibatu da.'; +$messages['setdeleted'] = 'Iragazki paketea ongi ezabatu da.'; +$messages['setdeleteconfirm'] = 'Seguru zaude hautatutako iragazki paketea ezabatu nahi duzula?'; +$messages['setcreateerror'] = 'Ezin da iragazki-paketea sortu. Zerbitzarian errore bat gertatu da.'; +$messages['setcreated'] = 'Iragazki paketea ongi sortu da.'; +$messages['activateerror'] = 'Ezin da gaitu hautatutako iragazkia(k). Zerbitzarian errore bat gertatu da.'; +$messages['deactivateerror'] = 'Ezin da ezgaitu hautatutako iragazkia(k). Zerbitzarian errore bat gertatu da.'; +$messages['deactivated'] = 'Iragazkia(k) ongi ezgaitu da.'; +$messages['activated'] = 'Iragazkia(k) ongi gaitu da.'; +$messages['moved'] = 'Iragazkia ongi mugitu da.'; +$messages['moveerror'] = 'Ezin da mugitu hautatutako iragazkia. Zerbitzarian errore bat gertatu da.'; +$messages['nametoolong'] = 'Izen luzeegia.'; +$messages['namereserved'] = 'Izen erreserbatua.'; +$messages['setexist'] = 'Lehendik badago pakete hori.'; +$messages['nodata'] = 'Gutxienez posizio bat hautatu behar da!'; +$messages['invaliddateformat'] = 'Dataren edo dataren zati baten formatua ez da baliozkoa '; +$messages['saveerror'] = 'Ezin dira datuak gorde. Errorea gertatu da zerbitzarian.'; +$messages['vacationsaved'] = 'Oporren data ongi gorde da.'; +$messages['emptyvacationbody'] = 'Beharrezkoa da oporraldiko mezua jartzea!'; +?> diff --git a/plugins/managesieve/localization/fa_AF.inc b/plugins/managesieve/localization/fa_AF.inc new file mode 100644 index 000000000..87967958e --- /dev/null +++ b/plugins/managesieve/localization/fa_AF.inc @@ -0,0 +1,85 @@ +<?php + +/* + +-----------------------------------------------------------------------+ + | plugins/managesieve/localization/<lang>.inc | + | | + | Localization file of the Roundcube Webmail Managesieve 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-managesieve/ +*/ +$labels['filters'] = 'فیلترها'; +$labels['filtername'] = 'نام فیلتر'; +$labels['newfilter'] = 'فیلتر جدید'; +$labels['filteranyof'] = 'تطبیق با هر کدام از رول های زیر'; +$labels['filterany'] = 'تمام پیام ها'; +$labels['filtercontains'] = 'شامل'; +$labels['filteris'] = 'مساوی با'; +$labels['filterunder'] = 'زیر'; +$labels['filterover'] = 'بالای'; +$labels['addrule'] = 'افزودن نقش'; +$labels['delrule'] = 'حذف نقش'; +$labels['messagereply'] = 'پاسخ توسط پیام'; +$labels['messagedelete'] = 'حذف پیام'; +$labels['add'] = 'افزودن'; +$labels['del'] = 'حذف'; +$labels['sender'] = 'فرستنده'; +$labels['recipient'] = 'گیرنده'; +$labels['days'] = 'روز'; +$labels['filtersets'] = 'مجموعه فیلتر'; +$labels['filterdef'] = 'تعریف فیلتر'; +$labels['newfilterset'] = 'مجموعه فیلترهای جدید'; +$labels['active'] = 'فعال'; +$labels['none'] = 'هیچ کدام'; +$labels['flagread'] = 'خواندن'; +$labels['flagdeleted'] = 'حذف شد'; +$labels['flagflagged'] = 'نشانه گذاری شده'; +$labels['flagdraft'] = 'پیش نویس'; +$labels['varlength'] = 'طول'; +$labels['notifyimportancenormal'] = 'عادی'; +$labels['notifymethodmailto'] = 'ایمیل'; +$labels['nextstep'] = 'مرحله بعدی'; +$labels['...'] = '...'; +$labels['currdate'] = 'تاریخ کنونی'; +$labels['datetest'] = 'تاریخ'; +$labels['dateheader'] = 'سرایند:'; +$labels['year'] = 'سال'; +$labels['month'] = 'ماه'; +$labels['day'] = 'روز'; +$labels['second'] = 'ثانیه'; +$labels['address'] = 'آدرس'; +$labels['envelope'] = 'پاکت نامه'; +$labels['modifier'] = 'ویرایش کننده:'; +$labels['text'] = 'متن'; +$labels['contenttype'] = 'نوع محتوا'; +$labels['allparts'] = 'همه'; +$labels['domain'] = 'دامنه'; +$labels['localpart'] = 'جز محلی'; +$labels['user'] = 'کاربر'; +$labels['detail'] = 'جزئیات'; +$labels['comparator'] = 'مقایسه کننده:'; +$labels['default'] = 'پیش فرض'; +$labels['index'] = 'اندیس'; +$labels['vacation'] = 'تعطیلات'; +$labels['vacation.reply'] = 'پیام پاسخ'; +$labels['vacation.advanced'] = 'تنظیمات پیشرفته'; +$labels['vacation.subject'] = 'موضوع'; +$labels['vacation.body'] = 'متن پیام'; +$labels['vacation.status'] = 'وضعیت'; +$labels['vacation.on'] = 'فعال'; +$labels['vacation.off'] = 'غیرفعال'; +$labels['arialabelfilterform'] = 'خصوصیات فیلترها'; +$labels['ariasummaryfilterslist'] = 'لیست فیلترها'; +$messages['filterdeleted'] = 'فیلتر با موفقیت حذف شد.'; +$messages['filtersaved'] = 'فیلتر با موفقیت ذخیره شد.'; +$messages['deactivated'] = 'فیلتر(ها) با موفقیت غیر فعال شدند'; +$messages['nametoolong'] = 'نام بسیار بلند است.'; +$messages['namereserved'] = 'نام رزرو شده.'; +?> diff --git a/plugins/managesieve/localization/fa_IR.inc b/plugins/managesieve/localization/fa_IR.inc new file mode 100644 index 000000000..65f2d0d0d --- /dev/null +++ b/plugins/managesieve/localization/fa_IR.inc @@ -0,0 +1,224 @@ +<?php + +/* + +-----------------------------------------------------------------------+ + | plugins/managesieve/localization/<lang>.inc | + | | + | Localization file of the Roundcube Webmail Managesieve 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-managesieve/ +*/ +$labels['filters'] = 'پالایهها'; +$labels['managefilters'] = 'مدیریت پالایههای نامه ورودی'; +$labels['filtername'] = 'نام پالایه'; +$labels['newfilter'] = 'پالایه جدید'; +$labels['filteradd'] = 'افزودن پالایه'; +$labels['filterdel'] = 'حذف پالایه'; +$labels['moveup'] = 'انتقال به بالا'; +$labels['movedown'] = 'انتقال به پایین'; +$labels['filterallof'] = 'مطابقت همه قوانین ذیل'; +$labels['filteranyof'] = 'مطابقت هر کدام از قوانین ذیل'; +$labels['filterany'] = 'همه پیغام ها'; +$labels['filtercontains'] = 'دربرگیرنده'; +$labels['filternotcontains'] = 'بدون'; +$labels['filteris'] = 'برابر است با'; +$labels['filterisnot'] = 'برابر نیست با'; +$labels['filterexists'] = 'وجود دارد'; +$labels['filternotexists'] = 'وجود ندارد'; +$labels['filtermatches'] = 'با عبارت تطابق دارد'; +$labels['filternotmatches'] = 'با عبارت تطابق ندارد'; +$labels['filterregex'] = 'با عبارت عمومی تطابق دارد'; +$labels['filternotregex'] = 'با عبارت عمومی تطابق ندارد'; +$labels['filterunder'] = 'زیر'; +$labels['filterover'] = 'بالا'; +$labels['addrule'] = 'افزودن قانون'; +$labels['delrule'] = 'حذف قانون'; +$labels['messagemoveto'] = 'انتقال پیغام به'; +$labels['messageredirect'] = 'بازگردانی پیغام به'; +$labels['messagecopyto'] = 'رونوشت پیغام به'; +$labels['messagesendcopy'] = 'ارسال رونوشت پیغام به'; +$labels['messagereply'] = 'پاسخ همراه پیغام'; +$labels['messagedelete'] = 'حذف پیغام'; +$labels['messagediscard'] = 'دور ریختن با پیغام'; +$labels['messagekeep'] = 'پیغام را در صندوق ورودی نگه دار'; +$labels['messagesrules'] = 'برای صندوق ورودی:'; +$labels['messagesactions'] = '...انجام اعمال ذیل:'; +$labels['add'] = 'افزودن'; +$labels['del'] = 'حذف'; +$labels['sender'] = 'فرستنده'; +$labels['recipient'] = 'گیرنده'; +$labels['vacationaddr'] = 'نشانی(های) رایانامه دیگر من:'; +$labels['vacationdays'] = 'پیغام ها در چه مواقعی فرستاده شدند (در روزهای):'; +$labels['vacationinterval'] = 'مواقعی که پیغامها ارسال میشوند:'; +$labels['vacationreason'] = 'بدنه پیغام (علت مسافرت):'; +$labels['vacationsubject'] = 'موضوع پیغام:'; +$labels['days'] = 'روزها'; +$labels['seconds'] = 'ثانیهها'; +$labels['rulestop'] = 'توقف قوانین ارزیابی'; +$labels['enable'] = 'فعال/غیرفعالسازی'; +$labels['filterset'] = 'مجموعه پالایهها'; +$labels['filtersets'] = 'مجموعههای پالایهها'; +$labels['filtersetadd'] = 'افزودن مجموعه پالایهها'; +$labels['filtersetdel'] = 'حذف مجموعه پالایههای جاری'; +$labels['filtersetact'] = 'فعال کردن مجموعه پالایههای جاری'; +$labels['filtersetdeact'] = 'غیرفعال کردن مجموعه پالایههای جاری'; +$labels['filterdef'] = 'تعریف پالایه'; +$labels['filtersetname'] = 'نام مجموعه پالایهها'; +$labels['newfilterset'] = 'مجموعه پالایههای جدید'; +$labels['active'] = 'فعال'; +$labels['none'] = 'هیچکدام'; +$labels['fromset'] = 'از مجموعه'; +$labels['fromfile'] = 'از پرونده'; +$labels['filterdisabled'] = 'پالایه غیرفعال شد'; +$labels['countisgreaterthan'] = 'تعداد بیشتر است از'; +$labels['countisgreaterthanequal'] = 'تعداد بیشتر یا مساوی است با'; +$labels['countislessthan'] = 'تعداد کمتر است از'; +$labels['countislessthanequal'] = 'تعداد کمتر یا مساوی است با'; +$labels['countequals'] = 'تعداد مساوی است با'; +$labels['countnotequals'] = 'تعداد برابر نیست با'; +$labels['valueisgreaterthan'] = 'مقدار بیشتر است از'; +$labels['valueisgreaterthanequal'] = 'مقدار بیشتر یا مساوی است با'; +$labels['valueislessthan'] = 'مقدار کمتر است از'; +$labels['valueislessthanequal'] = 'مقدار کمتر یا مساوی است با'; +$labels['valueequals'] = 'مقدار مساوی است با'; +$labels['valuenotequals'] = 'مقدار برابر نیست با'; +$labels['setflags'] = 'انتخاب پرچمها برای پیغام'; +$labels['addflags'] = 'افزودن پرچمها برای پیغام'; +$labels['removeflags'] = 'حذف پرچمها از پیغام'; +$labels['flagread'] = 'خواندهشده'; +$labels['flagdeleted'] = 'حذف شده'; +$labels['flaganswered'] = 'جواب داده شده'; +$labels['flagflagged'] = 'پرچمدار'; +$labels['flagdraft'] = 'پیشنویس'; +$labels['setvariable'] = 'تنظیم متغیر'; +$labels['setvarname'] = 'نام متغییر'; +$labels['setvarvalue'] = 'مقدار متغیر:'; +$labels['setvarmodifiers'] = 'اصلاح:'; +$labels['varlower'] = 'حروف کوچک'; +$labels['varupper'] = 'حروف بزرگ'; +$labels['varlowerfirst'] = 'حرف اول کوچک'; +$labels['varupperfirst'] = 'حرف اول بزرگ'; +$labels['varquotewildcard'] = 'نقل قول کاراکترهای خاص'; +$labels['varlength'] = 'طول'; +$labels['notify'] = 'ارسال تذکر'; +$labels['notifytarget'] = 'مقصد آگاهسازی:'; +$labels['notifymessage'] = 'متن آگاهسازی (تختیاری):'; +$labels['notifyoptions'] = 'گزینههای آگاهسازی (اختیاری):'; +$labels['notifyfrom'] = 'فرستنده آگاهسازی (اختیاری):'; +$labels['notifyimportance'] = 'اهمیت:'; +$labels['notifyimportancelow'] = 'کم'; +$labels['notifyimportancenormal'] = 'معمولی'; +$labels['notifyimportancehigh'] = 'زیاد'; +$labels['notifymethodmailto'] = 'رایانامه'; +$labels['notifymethodtel'] = 'تلفن'; +$labels['notifymethodsms'] = 'پیامک'; +$labels['filtercreate'] = 'ایجاد پالایه'; +$labels['usedata'] = 'استفاده از داده ذیل در پالایه:'; +$labels['nextstep'] = 'مرحله بعدی'; +$labels['...'] = '...'; +$labels['currdate'] = 'تاریخ جاری'; +$labels['datetest'] = 'تاریخ'; +$labels['dateheader'] = 'سربرگ:'; +$labels['year'] = 'سال'; +$labels['month'] = 'ماه'; +$labels['day'] = 'روز'; +$labels['date'] = 'تاریخ (yyyy-mm-dd)'; +$labels['julian'] = 'تاریخ (میلادی)'; +$labels['hour'] = 'ساعت'; +$labels['minute'] = 'دقیقه'; +$labels['second'] = 'ثانیه'; +$labels['time'] = 'ساعت (hh:mm:ss)'; +$labels['iso8601'] = 'تاریخ (ISO8601)'; +$labels['std11'] = 'تاریخ (RFC2822)'; +$labels['zone'] = 'منطقه زمانی'; +$labels['weekday'] = 'روز هفته (0-6)'; +$labels['advancedopts'] = 'گزینههای پیشرفته'; +$labels['body'] = 'بدنه'; +$labels['address'] = 'نشانی'; +$labels['envelope'] = 'پاکت'; +$labels['modifier'] = 'تغییر دهنده:'; +$labels['text'] = 'متن'; +$labels['undecoded'] = 'کد نشده (خام)'; +$labels['contenttype'] = 'نوع محتوا'; +$labels['modtype'] = 'نوع'; +$labels['allparts'] = 'همه'; +$labels['domain'] = 'دامنه'; +$labels['localpart'] = 'قسمت محلی'; +$labels['user'] = 'کاربر'; +$labels['detail'] = 'جزئیات'; +$labels['comparator'] = 'مقایسه:'; +$labels['default'] = 'پیشفرض'; +$labels['octet'] = 'سخت (octet)'; +$labels['asciicasemap'] = 'حساس به حروه کوچک و بزرگ (ascii-casemap)'; +$labels['asciinumeric'] = 'عددی (ascii-numeric)'; +$labels['index'] = 'فهرست:'; +$labels['indexlast'] = 'به عقب'; +$labels['vacation'] = 'مسافرت'; +$labels['vacation.reply'] = 'پاسخ به یغام'; +$labels['vacation.advanced'] = 'تنظیمات پیشرفته'; +$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['arialabelfiltersetactions'] = 'کنشهای مجموعه پالایه'; +$labels['arialabelfilteractions'] = 'کنشهای پالایه'; +$labels['arialabelfilterform'] = 'خصوصیات پالایه'; +$labels['ariasummaryfilterslist'] = 'فهرست پالایهها'; +$labels['ariasummaryfiltersetslist'] = 'فهرست مجموعه پالایهها'; +$labels['filterstitle'] = 'ویرایش پالایههای پست ورودی'; +$labels['vacationtitle'] = 'ویرایش نقش بیرون از دفتر'; +$messages['filterunknownerror'] = 'خطای سرور نامعلوم.'; +$messages['filterconnerror'] = 'ناتوانی در اتصال به سرور.'; +$messages['filterdeleteerror'] = 'ناتوانی در حذف پالایه. خطای سرور رخ داد.'; +$messages['filterdeleted'] = 'پالایه با کامیابی حذف شد.'; +$messages['filtersaved'] = 'پالایه با کامیابی ذخیره شد.'; +$messages['filtersaveerror'] = 'ناتوانی در ذخیره فیلتر. خطای سرور رخ داد.'; +$messages['filterdeleteconfirm'] = 'آیا مطمئن به حذف پالایه انتخاب شده هستید؟'; +$messages['ruledeleteconfirm'] = 'آیا مطمئن هستید که می خواهید قانون انتخاب شده را حذف کنید؟'; +$messages['actiondeleteconfirm'] = 'آیا مطمئن هستید که می خواهید عمل انتخاب شده را حذف کنید.'; +$messages['forbiddenchars'] = 'حروف ممنوعه در فیلد.'; +$messages['cannotbeempty'] = 'فیلد نمی تواند خالی باشد.'; +$messages['ruleexist'] = 'پالایه با این نام مشخص وجود دارد.'; +$messages['setactivateerror'] = 'ناتوان در فعال کردن مجموعه پالایهها انتخاب شده. خطای سرور رخ داد.'; +$messages['setdeactivateerror'] = 'ناتوان در غیرفعال کردن مجموعه پالایهها انتخاب شده. خطای سرور رخ داد.'; +$messages['setdeleteerror'] = 'ناتوان در حذف مجموعه پالایهها انتخاب شده. خطای سرور رخ داد.'; +$messages['setactivated'] = 'مجموعه پالایهها با کامیابی فعال شد.'; +$messages['setdeactivated'] = 'مجموعه پالایهها با کامیابی غیرفعال شد.'; +$messages['setdeleted'] = 'مجموعه پالایهها با کامیابی حذف شد.'; +$messages['setdeleteconfirm'] = 'آیا مطمئن هستید که میخواهید مجموعه پالایهها انتخاب شده را حذف کنید؟'; +$messages['setcreateerror'] = 'ناتوانی در ایجاد مجموعه پالایهها. خطای سرور رخ داد.'; +$messages['setcreated'] = 'مجموعه پالایهها با کامیابی ایجاد شد.'; +$messages['activateerror'] = 'ناتوانی در فعال کردن پالایه(های) انتخاب شده. خطای سرور رخ داد.'; +$messages['deactivateerror'] = 'ناتوانی در غیرفعال کردن پالایه(های) انتخاب شده. خطای سرور رخ داد.'; +$messages['deactivated'] = 'پالایه(ها) با کامیابی فعال شدند.'; +$messages['activated'] = 'پالایه(ها) با کامیابی غیرفعال شدند.'; +$messages['moved'] = 'پالایه با کامیابی منتقل شد.'; +$messages['moveerror'] = 'ناتوانی در انتقال پالایه انتخاب شده. خطای سرور رخ داد.'; +$messages['nametoolong'] = 'نام خیلی بلند.'; +$messages['namereserved'] = 'نام رزرو شده.'; +$messages['setexist'] = 'مجموعه در حال حاضر موجود است.'; +$messages['nodata'] = 'حداقل باید یک موقعیت باید انتخاب شود.'; +$messages['invaliddateformat'] = 'قالب تاریخ اشتباه'; +$messages['saveerror'] = 'ناتوانی در ذخیره اطلاعات. خطای سرور رخ داد.'; +$messages['vacationsaved'] = 'اطلاعات مسافرت با کامیابی ذخیره شد.'; +$messages['emptyvacationbody'] = 'متن پیغام تعطیلی لازم است!'; +?> diff --git a/plugins/managesieve/localization/fi_FI.inc b/plugins/managesieve/localization/fi_FI.inc new file mode 100644 index 000000000..ba10b1f09 --- /dev/null +++ b/plugins/managesieve/localization/fi_FI.inc @@ -0,0 +1,183 @@ +<?php + +/* + +-----------------------------------------------------------------------+ + | plugins/managesieve/localization/<lang>.inc | + | | + | Localization file of the Roundcube Webmail Managesieve 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-managesieve/ +*/ +$labels['filters'] = 'Suodattimet'; +$labels['managefilters'] = 'Hallitse saapuvan sähköpostin suodattimia'; +$labels['filtername'] = 'Suodattimen nimi'; +$labels['newfilter'] = 'Uusi suodatin'; +$labels['filteradd'] = 'Lisää suodatin'; +$labels['filterdel'] = 'Poista suodatin'; +$labels['moveup'] = 'Siirrä ylös'; +$labels['movedown'] = 'Siirrä alas'; +$labels['filterallof'] = 'Täsmää kaikkiin seuraaviin sääntöihin'; +$labels['filteranyof'] = 'Täsmää mihin tahansa seuraavista säännöistä'; +$labels['filterany'] = 'Kaikki viestit'; +$labels['filtercontains'] = 'Sisältää'; +$labels['filternotcontains'] = 'Ei sisällä'; +$labels['filteris'] = 'on samanlainen kuin'; +$labels['filterisnot'] = 'ei ole samanlainen kuin'; +$labels['filterexists'] = 'on olemassa'; +$labels['filternotexists'] = 'ei ole olemassa'; +$labels['filtermatches'] = 'vastaa lauseketta'; +$labels['filternotmatches'] = 'ei vastaa lauseketta'; +$labels['filterregex'] = 'vastaa säännöllistä lauseketta'; +$labels['filternotregex'] = 'ei vastaa säännöllistä lauseketta'; +$labels['filterunder'] = 'alle'; +$labels['filterover'] = 'yli'; +$labels['addrule'] = 'Lisää sääntö'; +$labels['delrule'] = 'Poista sääntö'; +$labels['messagemoveto'] = 'Siirrä viesti'; +$labels['messageredirect'] = 'Lähetä viesti edelleen'; +$labels['messagecopyto'] = 'Kopioi viesti'; +$labels['messagesendcopy'] = 'Lähetä kopio viestistä'; +$labels['messagereply'] = 'Vastaa viestillä'; +$labels['messagedelete'] = 'Poista viesti'; +$labels['messagediscard'] = 'Hylkää viestillä'; +$labels['messagekeep'] = 'Säilytä viesti saapuneissa'; +$labels['messagesrules'] = 'Saapuville viesteille:'; +$labels['messagesactions'] = '...suorita seuraavat toiminnot:'; +$labels['add'] = 'Lisää'; +$labels['del'] = 'Poista'; +$labels['sender'] = 'Lähettäjä'; +$labels['recipient'] = 'Vastaanottaja'; +$labels['vacationaddr'] = 'Muut sähköpostiosoitteeni:'; +$labels['vacationreason'] = 'Viestin runko (loman syy):'; +$labels['vacationsubject'] = 'Viestin aihe:'; +$labels['days'] = 'päivää'; +$labels['seconds'] = 'sekuntia'; +$labels['rulestop'] = 'Lopeta sääntöjen arviointi'; +$labels['enable'] = 'Ota käyttöön/poista käytöstä'; +$labels['filterset'] = 'Suodattimien asetus'; +$labels['filtersets'] = 'Suodattimen asetus'; +$labels['filtersetadd'] = 'Lisää suodatinasetus'; +$labels['filtersetdel'] = 'Poista nykyiset suodatinasetukset'; +$labels['filtersetact'] = 'Aktivoi nykyinen suodattimien asetus'; +$labels['filtersetdeact'] = 'Poista käytöstä nykyinen suodattimien asetus'; +$labels['filterdef'] = 'Suodattimen määrittely'; +$labels['filtersetname'] = 'Suodattimien asetuksen nimi'; +$labels['active'] = 'aktiivinen'; +$labels['none'] = 'Ei mikään'; +$labels['fromset'] = 'sarjasta'; +$labels['fromfile'] = 'tiedostosta'; +$labels['filterdisabled'] = 'Suodatin poistettu käytöstä'; +$labels['countisgreaterthan'] = 'määrä on suurempi kuin'; +$labels['countisgreaterthanequal'] = 'määrä on suurempi tai yhtä suuri kuin'; +$labels['countislessthan'] = 'määrä on vähemmän kuin'; +$labels['countislessthanequal'] = 'määrä on vähemmän tai yhtä suuri kuin'; +$labels['countequals'] = 'määrä on yhtä suuri kuin'; +$labels['countnotequals'] = 'määrä ei ole yhtä suuri kuin'; +$labels['valueisgreaterthan'] = 'arvo on suurempi kuin'; +$labels['valueisgreaterthanequal'] = 'arvo on suurempi kuin tai yhtä suuri kuin'; +$labels['valueislessthan'] = 'arvo on vähemmän kuin'; +$labels['valueislessthanequal'] = 'määrä on vähemmän tai yhtä suuri kuin'; +$labels['valueequals'] = 'arvo on yhtä suuri kuin'; +$labels['valuenotequals'] = 'arvo ei ole yhtä suuri kuin'; +$labels['setflags'] = 'Aseta liput viestiin'; +$labels['addflags'] = 'Lisää liput viestiin'; +$labels['removeflags'] = 'Poista liput viestistä'; +$labels['flagread'] = 'Lue'; +$labels['flagdeleted'] = 'Poistettu'; +$labels['flaganswered'] = 'Vastattu'; +$labels['flagflagged'] = 'Liputettu'; +$labels['flagdraft'] = 'Luonnos'; +$labels['setvariable'] = 'Aseta muuttuja'; +$labels['setvarname'] = 'Muuttujan nimi:'; +$labels['setvarvalue'] = 'Muuttujan arvo:'; +$labels['setvarmodifiers'] = 'Muuntimet:'; +$labels['varlower'] = 'pienellä kirjoitettu'; +$labels['varupper'] = 'isolla kirjoitettu'; +$labels['varlowerfirst'] = 'ensimmäinen merkki pienellä kirjoitettuna'; +$labels['varupperfirst'] = 'ensimmäinen merkki isolla kirjoitettuna'; +$labels['varquotewildcard'] = 'lainaa erikoismerkit'; +$labels['varlength'] = 'pituus'; +$labels['notify'] = 'Lähetä ilmoitus'; +$labels['notifytarget'] = 'Ilmoituksen kohde:'; +$labels['notifymessage'] = 'Ilmoituksen viesti (valinnainen):'; +$labels['notifyoptions'] = 'Ilmoituksen valinnat (valinnainen)'; +$labels['notifyfrom'] = 'Ilmoituksen lähettäjä (valinnainen):'; +$labels['notifyimportance'] = 'Tärkeysaste:'; +$labels['notifyimportancelow'] = 'matala'; +$labels['notifyimportancenormal'] = 'normaali'; +$labels['notifyimportancehigh'] = 'korkea'; +$labels['notifymethodmailto'] = 'Sähköposti'; +$labels['notifymethodtel'] = 'Puhelin'; +$labels['notifymethodsms'] = 'Tekstiviesti'; +$labels['filtercreate'] = 'Luo suodatin'; +$labels['usedata'] = 'Käytä seuraavaa dataa suodattimessa:'; +$labels['nextstep'] = 'Seuraava vaihe'; +$labels['...'] = '...'; +$labels['currdate'] = 'Nykyinen päivämäärä'; +$labels['datetest'] = 'Päivämäärä'; +$labels['dateheader'] = 'otsikko:'; +$labels['year'] = 'vuosi'; +$labels['month'] = 'kuukausi'; +$labels['day'] = 'päivä'; +$labels['date'] = 'päivämäärä (vvvv-kk-pp)'; +$labels['julian'] = 'päivämäärä (juliaaninen)'; +$labels['hour'] = 'tunti'; +$labels['minute'] = 'minuutti'; +$labels['second'] = 'sekunti'; +$labels['time'] = 'aika (hh:mm:ss)'; +$labels['iso8601'] = 'päivämäärä (ISO8601)'; +$labels['std11'] = 'päivämäärä (RFC2882)'; +$labels['zone'] = 'aikavyöhyke'; +$labels['weekday'] = 'viikonpäivä (0-6)'; +$labels['advancedopts'] = 'Lisävalinnat'; +$labels['body'] = 'Runko'; +$labels['address'] = 'osoite'; +$labels['envelope'] = 'kirjekuori'; +$labels['modifier'] = 'muuntaja:'; +$labels['text'] = 'teksti'; +$labels['undecoded'] = 'dekoodaamaton (raaka)'; +$labels['contenttype'] = 'sisällön tyyppi'; +$labels['modtype'] = 'tyyppi:'; +$labels['allparts'] = 'kaikki'; +$labels['domain'] = 'domain'; +$labels['localpart'] = 'paikallinen osa'; +$labels['user'] = 'käyttäjä'; +$labels['detail'] = 'yksityiskohta'; +$labels['comparator'] = 'vertailija:'; +$labels['default'] = 'oletus'; +$labels['vacation'] = 'Loma'; +$labels['vacation.reply'] = 'Vastausviesti'; +$labels['vacation.advanced'] = 'Lisäasetukset'; +$labels['vacation.subject'] = 'Aihe'; +$labels['vacation.body'] = 'Sisältö'; +$labels['vacation.status'] = 'Tila'; +$labels['vacation.on'] = 'Päällä'; +$labels['vacation.off'] = 'Pois'; +$labels['vacation.saving'] = 'Tallennetaan tietoja...'; +$labels['vacation.action'] = 'Toiminto saapuvalle viestille'; +$labels['vacation.keep'] = 'Säilytä'; +$labels['vacation.discard'] = 'Hylkää'; +$labels['vacation.redirect'] = 'Ohjaa uudelleen osoitteeseen'; +$labels['vacation.copy'] = 'Lähetä kopio osoitteeseen'; +$messages['filterunknownerror'] = 'Tuntematon palvelinvirhe.'; +$messages['filterconnerror'] = 'Yhteys palvelimeen epäonnistui.'; +$messages['filterdeleted'] = 'Suodatin poistettu onnistuneesti.'; +$messages['filtersaved'] = 'Suodatin tallennettu onnistuneesti.'; +$messages['filtersaveerror'] = 'Suodattimen tallennus epäonnistui palvelinvirheen vuoksi.'; +$messages['filterdeleteconfirm'] = 'Haluatko varmasti poistaa valitun suodattimen?'; +$messages['forbiddenchars'] = 'Virheellisiä merkkejä kentässä.'; +$messages['cannotbeempty'] = 'Kenttä ei voi olla tyhjä.'; +$messages['ruleexist'] = 'Suodatin samalla nimellä on jo olemassa.'; +$messages['moved'] = 'Suodatin siirretty onnistuneesti.'; +$messages['nametoolong'] = 'Nimi on liian pitkä.'; +$messages['saveerror'] = 'Tietojen tallennus epäonnistui palvelinvirheen vuoksi.'; +$messages['vacationsaved'] = 'Lomatiedot tallennettu onnistuneesti.'; +$messages['emptyvacationbody'] = 'Lomaviestin sisältö vaaditaan!'; +?> diff --git a/plugins/managesieve/localization/fr_FR.inc b/plugins/managesieve/localization/fr_FR.inc new file mode 100644 index 000000000..a0a38b089 --- /dev/null +++ b/plugins/managesieve/localization/fr_FR.inc @@ -0,0 +1,224 @@ +<?php + +/* + +-----------------------------------------------------------------------+ + | plugins/managesieve/localization/<lang>.inc | + | | + | Localization file of the Roundcube Webmail Managesieve 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-managesieve/ +*/ +$labels['filters'] = 'Filtres'; +$labels['managefilters'] = 'Gérer les filtres de courriels entrants'; +$labels['filtername'] = 'Nom du filtre'; +$labels['newfilter'] = 'Nouveau filtre'; +$labels['filteradd'] = 'Ajouter un filtre'; +$labels['filterdel'] = 'Supprimer le filtre'; +$labels['moveup'] = 'Monter'; +$labels['movedown'] = 'Descendre'; +$labels['filterallof'] = 'correspondant à toutes les règles suivantes'; +$labels['filteranyof'] = 'valident au moins une des conditions suivantes'; +$labels['filterany'] = 'tous les courriels'; +$labels['filtercontains'] = 'contient'; +$labels['filternotcontains'] = 'ne contient pas'; +$labels['filteris'] = 'est égal à'; +$labels['filterisnot'] = 'est différent de'; +$labels['filterexists'] = 'existe'; +$labels['filternotexists'] = 'n\'existe pas'; +$labels['filtermatches'] = 'correspond à l\'expression'; +$labels['filternotmatches'] = 'ne correspond pas à l\'expression'; +$labels['filterregex'] = 'correspond à l\'expression rationnelle'; +$labels['filternotregex'] = 'ne correspond pas à l\'expression rationnelle'; +$labels['filterunder'] = 'plus petit que'; +$labels['filterover'] = 'plus grand que'; +$labels['addrule'] = 'Ajouter une règle'; +$labels['delrule'] = 'Supprimer une règle'; +$labels['messagemoveto'] = 'Déplacer le courriel vers'; +$labels['messageredirect'] = 'Rediriger le courriel vers'; +$labels['messagecopyto'] = 'Copier le courriel vers'; +$labels['messagesendcopy'] = 'Envoyer une copie du courriel à'; +$labels['messagereply'] = 'Répondre avec le courriel'; +$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['add'] = 'Ajouter'; +$labels['del'] = 'Supprimer'; +$labels['sender'] = 'Expéditeur'; +$labels['recipient'] = 'Destinataire'; +$labels['vacationaddr'] = 'Mes adresses courriel additionnelles :'; +$labels['vacationdays'] = 'Fréquence d\'envoi des courriels (en jours) :'; +$labels['vacationinterval'] = 'Fréquence d\'envoi des courriels :'; +$labels['vacationreason'] = 'Corps du courriel (raison de l\'absence) :'; +$labels['vacationsubject'] = 'Objet du courriel :'; +$labels['days'] = 'jours'; +$labels['seconds'] = 'secondes'; +$labels['rulestop'] = 'Arrêter l\'évaluation des règles'; +$labels['enable'] = 'Activer/désactiver'; +$labels['filterset'] = 'Jeu de filtres'; +$labels['filtersets'] = 'Jeux de filtres'; +$labels['filtersetadd'] = 'Ajouter un jeu de filtres'; +$labels['filtersetdel'] = 'Supprimer le jeu de filtres actuel'; +$labels['filtersetact'] = 'Activer le jeu de filtres actuel'; +$labels['filtersetdeact'] = 'Désactiver le jeu de filtres actuel'; +$labels['filterdef'] = 'Définition du filtre'; +$labels['filtersetname'] = 'Nom du jeu de filtres'; +$labels['newfilterset'] = 'Nouveau jeu de filtres'; +$labels['active'] = 'activer'; +$labels['none'] = 'aucun'; +$labels['fromset'] = 'à partir du jeu'; +$labels['fromfile'] = 'à partir du fichier'; +$labels['filterdisabled'] = 'Filtre désactivé'; +$labels['countisgreaterthan'] = 'total supérieur à'; +$labels['countisgreaterthanequal'] = 'total supérieur ou égal à'; +$labels['countislessthan'] = 'total inférieur à'; +$labels['countislessthanequal'] = 'total inférieur ou égal à'; +$labels['countequals'] = 'total égal à'; +$labels['countnotequals'] = 'le nombre n\'est pas égal à'; +$labels['valueisgreaterthan'] = 'valeur supérieure à'; +$labels['valueisgreaterthanequal'] = 'valeur supérieure ou égale à'; +$labels['valueislessthan'] = 'valeur inférieure à'; +$labels['valueislessthanequal'] = 'valeur inférieure ou égale à'; +$labels['valueequals'] = 'valeur égale à'; +$labels['valuenotequals'] = 'la valeur n\'est pas égale à'; +$labels['setflags'] = 'Définir les drapeaux pour le courriel'; +$labels['addflags'] = 'Ajouter les drapeaux au courriel'; +$labels['removeflags'] = 'Supprimer les drapeaux du courriel'; +$labels['flagread'] = 'Lu'; +$labels['flagdeleted'] = 'Supprimé'; +$labels['flaganswered'] = 'Réponse envoyée'; +$labels['flagflagged'] = 'Signalé'; +$labels['flagdraft'] = 'Brouillon'; +$labels['setvariable'] = 'Définir une variable'; +$labels['setvarname'] = 'Nom de la variable :'; +$labels['setvarvalue'] = 'Valeur de la variable :'; +$labels['setvarmodifiers'] = 'Modificateurs :'; +$labels['varlower'] = 'minuscule'; +$labels['varupper'] = 'majuscule'; +$labels['varlowerfirst'] = 'premier caractère en minuscule'; +$labels['varupperfirst'] = 'premier caractère en majuscule'; +$labels['varquotewildcard'] = 'citer les caractères spéciaux'; +$labels['varlength'] = 'longueur'; +$labels['notify'] = 'Envoyer la notification'; +$labels['notifytarget'] = 'Cible de la notification :'; +$labels['notifymessage'] = 'Courriel de notification (optionnel) :'; +$labels['notifyoptions'] = 'Options de notification (optionnel) :'; +$labels['notifyfrom'] = 'Expéditeur de la notification (optionnel) :'; +$labels['notifyimportance'] = 'Importance :'; +$labels['notifyimportancelow'] = 'faible'; +$labels['notifyimportancenormal'] = 'normale'; +$labels['notifyimportancehigh'] = 'haute'; +$labels['notifymethodmailto'] = 'Courriel'; +$labels['notifymethodtel'] = 'Téléphone'; +$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['currdate'] = 'Date actuelle'; +$labels['datetest'] = 'Date'; +$labels['dateheader'] = 'en-tête :'; +$labels['year'] = 'année'; +$labels['month'] = 'mois'; +$labels['day'] = 'jour'; +$labels['date'] = 'date (aaaa-mm-jj)'; +$labels['julian'] = 'date (julien)'; +$labels['hour'] = 'heure'; +$labels['minute'] = 'minute'; +$labels['second'] = 'seconde'; +$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['advancedopts'] = 'Options avancées'; +$labels['body'] = 'Corps'; +$labels['address'] = 'adresse'; +$labels['envelope'] = 'enveloppe'; +$labels['modifier'] = 'modificateur :'; +$labels['text'] = 'texte'; +$labels['undecoded'] = 'non décodé (brut)'; +$labels['contenttype'] = 'type de contenu'; +$labels['modtype'] = 'type :'; +$labels['allparts'] = 'tout'; +$labels['domain'] = 'domaine'; +$labels['localpart'] = 'partie locale'; +$labels['user'] = 'utilisateur'; +$labels['detail'] = 'détail'; +$labels['comparator'] = 'comparateur :'; +$labels['default'] = 'par défaut'; +$labels['octet'] = 'strict (octet)'; +$labels['asciicasemap'] = 'insensible à la casse (ascii-casemap)'; +$labels['asciinumeric'] = 'numérique (ascii-numeric)'; +$labels['index'] = 'index :'; +$labels['indexlast'] = 'à l\'envers'; +$labels['vacation'] = 'Vacances'; +$labels['vacation.reply'] = 'Courriel de réponse'; +$labels['vacation.advanced'] = 'Paramètres avancés'; +$labels['vacation.subject'] = 'Objet'; +$labels['vacation.body'] = 'Corps'; +$labels['vacation.start'] = 'Début de vacances'; +$labels['vacation.end'] = 'Fin de vacances'; +$labels['vacation.status'] = 'État'; +$labels['vacation.on'] = 'Arrêt'; +$labels['vacation.off'] = 'Marche'; +$labels['vacation.addresses'] = 'Mes adresses supplémentaires'; +$labels['vacation.interval'] = 'Plage de réponse'; +$labels['vacation.after'] = 'Mettre en place la règle de vacances après'; +$labels['vacation.saving'] = 'Enregistrement des données...'; +$labels['vacation.action'] = 'Action pour courriel entrant'; +$labels['vacation.keep'] = 'Garder'; +$labels['vacation.discard'] = 'Rejeter'; +$labels['vacation.redirect'] = 'Réacheminer à'; +$labels['vacation.copy'] = 'Envoyer une copie à'; +$labels['arialabelfiltersetactions'] = 'Actions des jeux de filtrage'; +$labels['arialabelfilteractions'] = 'Actions de filtrage'; +$labels['arialabelfilterform'] = 'Propriété du filtrage'; +$labels['ariasummaryfilterslist'] = 'Liste des filtres'; +$labels['ariasummaryfiltersetslist'] = 'Liste des jeux de filtrage'; +$labels['filterstitle'] = 'Modifier les filtres de courriels entrants'; +$labels['vacationtitle'] = 'Modifier la règle d\'absence du bureau'; +$messages['filterunknownerror'] = 'Erreur de serveur inconnue'; +$messages['filterconnerror'] = 'Connexion au serveur impossible.'; +$messages['filterdeleteerror'] = 'Impossible de supprimer le filtre. Une erreur de serveur est survenue.'; +$messages['filterdeleted'] = 'Le filtre a été supprimé avec succès.'; +$messages['filtersaved'] = 'Le filtre a été enregistré avec succès.'; +$messages['filtersaveerror'] = 'Impossible d\'enregistrer le filtre. Une erreur de serveur est survenue.'; +$messages['filterdeleteconfirm'] = 'Voulez-vous vraiment supprimer le filtre sélectionné ?'; +$messages['ruledeleteconfirm'] = 'Voulez-vous vraiment supprimer la règle sélectionnée ?'; +$messages['actiondeleteconfirm'] = 'Voulez-vous vraiment supprimer l\'action sélectionnée ?'; +$messages['forbiddenchars'] = 'Caractères interdits dans le champ'; +$messages['cannotbeempty'] = 'Le champ ne peut pas être vide'; +$messages['ruleexist'] = 'Un filtre existe déjà avec ce nom.'; +$messages['setactivateerror'] = 'Impossible d\'activer le jeu de filtres sélectionné. Une erreur de serveur est survenue.'; +$messages['setdeactivateerror'] = 'Impossible de désactiver le jeu de filtres sélectionné. Une erreur de serveur est survenue.'; +$messages['setdeleteerror'] = 'Impossible de supprimer le jeu de filtres sélectionné. Une erreur de serveur est survenue.'; +$messages['setactivated'] = 'Le jeu de filtres a été activé avec succès.'; +$messages['setdeactivated'] = 'Le jeu de filtres a été désactivé avec succès.'; +$messages['setdeleted'] = 'Le jeu de filtres a été supprimé 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 d\'activer 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['deactivated'] = 'Filtre(s) désactivé(s) avec succès.'; +$messages['activated'] = 'Filtre(s) activé(s) avec succès.'; +$messages['moved'] = 'Filtre déplacé avec succès.'; +$messages['moveerror'] = 'Impossible de déplacer le filtre sélectionné. Une erreur de serveur est survenue.'; +$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['invaliddateformat'] = 'Format de date ou d\'une partie de la date invalide'; +$messages['saveerror'] = 'Impossible d\'enregistrer les données. Une erreur du serveur est survenue.'; +$messages['vacationsaved'] = 'Les données de vacances ont été enregistrées avec succès.'; +$messages['emptyvacationbody'] = 'Le corps du courriel de vacances est exigé !'; +?> diff --git a/plugins/managesieve/localization/fy_NL.inc b/plugins/managesieve/localization/fy_NL.inc new file mode 100644 index 000000000..d507cbf25 --- /dev/null +++ b/plugins/managesieve/localization/fy_NL.inc @@ -0,0 +1,39 @@ +<?php + +/* + +-----------------------------------------------------------------------+ + | plugins/managesieve/localization/<lang>.inc | + | | + | Localization file of the Roundcube Webmail Managesieve 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-managesieve/ +*/ +$labels['none'] = 'gjin'; +$labels['notifyimportance'] = 'Prioriteit:'; +$labels['notifymethodmailto'] = 'E-mail'; +$labels['notifymethodsms'] = 'SMS'; +$labels['...'] = '...'; +$labels['datetest'] = 'Date'; +$labels['year'] = 'jier'; +$labels['month'] = 'moanne'; +$labels['day'] = 'dei'; +$labels['hour'] = 'oerre'; +$labels['minute'] = 'minút'; +$labels['second'] = 'sekonde'; +$labels['time'] = 'tiid (oo:mm:ss)'; +$labels['iso8601'] = 'datum (ISO8601)'; +$labels['std11'] = 'datum (RFC2822)'; +$labels['zone'] = 'tiidsône'; +$labels['text'] = 'tekst'; +$labels['modtype'] = 'type:'; +$labels['domain'] = 'domein'; +$labels['user'] = 'brûker'; +$labels['vacation.status'] = 'Status'; +?> diff --git a/plugins/managesieve/localization/gl_ES.inc b/plugins/managesieve/localization/gl_ES.inc new file mode 100644 index 000000000..cbe45ca28 --- /dev/null +++ b/plugins/managesieve/localization/gl_ES.inc @@ -0,0 +1,206 @@ +<?php + +/* + +-----------------------------------------------------------------------+ + | plugins/managesieve/localization/<lang>.inc | + | | + | Localization file of the Roundcube Webmail Managesieve 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-managesieve/ +*/ +$labels['filters'] = 'Filtros'; +$labels['managefilters'] = 'Xestionar os filtros de correo entrante'; +$labels['filtername'] = 'Nome do filtro'; +$labels['newfilter'] = 'Novo filtro'; +$labels['filteradd'] = 'Engadir filtro'; +$labels['filterdel'] = 'Eliminar filtro'; +$labels['moveup'] = 'Mover arriba'; +$labels['movedown'] = 'Mover abaixo'; +$labels['filterallof'] = 'coincidir con todas as regras seguintes'; +$labels['filteranyof'] = 'coincidir con algunha das regras seguintes'; +$labels['filterany'] = 'todas as mensaxes'; +$labels['filtercontains'] = 'contén'; +$labels['filternotcontains'] = 'non contén'; +$labels['filteris'] = 'é igual a'; +$labels['filterisnot'] = 'non é igual a'; +$labels['filterexists'] = 'existe'; +$labels['filternotexists'] = 'non existe'; +$labels['filtermatches'] = 'casa coa expresión'; +$labels['filternotmatches'] = 'non casa coa expresión'; +$labels['filterregex'] = 'casa coa expresión regular'; +$labels['filternotregex'] = 'non casa coa expresión regular'; +$labels['filterunder'] = 'baixo'; +$labels['filterover'] = 'sobre'; +$labels['addrule'] = 'Engadir regra'; +$labels['delrule'] = 'Eliminar regra'; +$labels['messagemoveto'] = 'Mover a mensaxe a'; +$labels['messageredirect'] = 'Redirixir a mensaxe a'; +$labels['messagecopyto'] = 'Copiar a mensaxe a'; +$labels['messagesendcopy'] = 'Enviar copia da mensaxe a'; +$labels['messagereply'] = 'Respostar con unha mensaxe'; +$labels['messagedelete'] = 'Eliminar a mensaxe'; +$labels['messagediscard'] = 'Descartar con unha mensaxe'; +$labels['messagekeep'] = 'Manter mensaxe na caixa de entrada'; +$labels['messagesrules'] = 'Para o correo entrante:'; +$labels['messagesactions'] = '... executar as seguintes accións:'; +$labels['add'] = 'Engadir'; +$labels['del'] = 'Eliminar'; +$labels['sender'] = 'Remite'; +$labels['recipient'] = 'Persoa destinataria'; +$labels['vacationaddr'] = 'O(s) meu(s) outro (s) enderezo(s) de correo:'; +$labels['vacationdays'] = 'Cada canto enviar mensaxes (en días):'; +$labels['vacationinterval'] = 'Con que frecuencia se van enviar mensaxes:'; +$labels['vacationreason'] = 'Corpo da mensaxe (por vacacións):'; +$labels['vacationsubject'] = 'Asunto da mensaxe:'; +$labels['days'] = 'días'; +$labels['seconds'] = 'segundos'; +$labels['rulestop'] = 'Parar de avaliar regras'; +$labels['enable'] = 'Activar/Desactivar'; +$labels['filterset'] = 'Conxunto de filtros'; +$labels['filtersets'] = 'Conxunto de filtros'; +$labels['filtersetadd'] = 'Engadir un conxunto de filtros'; +$labels['filtersetdel'] = 'Eliminar o conxunto de filtros actual'; +$labels['filtersetact'] = 'Activar o conxunto de filtros actual'; +$labels['filtersetdeact'] = 'Desactivar o conxunto de filtros actual'; +$labels['filterdef'] = 'Definición de filtros'; +$labels['filtersetname'] = 'Nome do conxunto de filtros'; +$labels['newfilterset'] = 'Novo conxunto de filtros'; +$labels['active'] = 'activo'; +$labels['none'] = 'ningún'; +$labels['fromset'] = 'de conxunto'; +$labels['fromfile'] = 'de arquivo'; +$labels['filterdisabled'] = 'Filtro desactivado'; +$labels['countisgreaterthan'] = 'a conta é maior que'; +$labels['countisgreaterthanequal'] = 'a conta é maior ou igual a'; +$labels['countislessthan'] = 'a conta é menor que'; +$labels['countislessthanequal'] = 'a conta é menor ou igual a'; +$labels['countequals'] = 'a conta é igual a'; +$labels['countnotequals'] = 'a conta non é igual a'; +$labels['valueisgreaterthan'] = 'o valor é meirande que '; +$labels['valueisgreaterthanequal'] = 'o valor é maior ou igual a'; +$labels['valueislessthan'] = 'o valor é menor que'; +$labels['valueislessthanequal'] = 'o valor é menor ou igual a'; +$labels['valueequals'] = 'o valor é igual a'; +$labels['valuenotequals'] = 'o valor non é igual a'; +$labels['setflags'] = 'Marcar a mensaxe'; +$labels['addflags'] = 'Engadir marcas á mensaxe'; +$labels['removeflags'] = 'Desmarcar as mensaxes'; +$labels['flagread'] = 'Lidas'; +$labels['flagdeleted'] = 'Eliminadas'; +$labels['flaganswered'] = 'Respostadas'; +$labels['flagflagged'] = 'Marcadas'; +$labels['flagdraft'] = 'Borrador'; +$labels['setvariable'] = 'Estabelecer variábel'; +$labels['setvarname'] = 'Nome da variábel:'; +$labels['setvarvalue'] = 'Valor da variábel:'; +$labels['setvarmodifiers'] = 'Modificadores:'; +$labels['varlower'] = 'minúscula'; +$labels['varupper'] = 'maiúscula'; +$labels['varlowerfirst'] = 'primeira letra minúscula'; +$labels['varupperfirst'] = 'primeira letra maiúscula'; +$labels['varquotewildcard'] = 'poñer entre aspas caracteres especiais'; +$labels['varlength'] = 'lonxitude'; +$labels['notify'] = 'Enviar notificación'; +$labels['notifyimportance'] = 'Importancia:'; +$labels['notifyimportancelow'] = 'baixa'; +$labels['notifyimportancenormal'] = 'normal'; +$labels['notifyimportancehigh'] = 'alta'; +$labels['notifymethodmailto'] = 'Correo electrónico'; +$labels['notifymethodtel'] = 'Teléfono'; +$labels['notifymethodsms'] = 'SMS'; +$labels['filtercreate'] = 'Crear filtro'; +$labels['usedata'] = 'Usar os seguintes datos no filtro:'; +$labels['nextstep'] = 'Seguinte paso'; +$labels['...'] = '...'; +$labels['currdate'] = 'Data actual'; +$labels['datetest'] = 'Data'; +$labels['dateheader'] = 'cabeceira:'; +$labels['year'] = 'ano'; +$labels['month'] = 'mes'; +$labels['day'] = 'día'; +$labels['date'] = 'data (aaaa-mm-dd)'; +$labels['julian'] = 'data (xuliano)'; +$labels['hour'] = 'hora'; +$labels['minute'] = 'minuto'; +$labels['second'] = 'segundo'; +$labels['time'] = 'tempo (hh:mm:ss)'; +$labels['iso8601'] = 'data (ISO8601)'; +$labels['std11'] = 'data (RFC2822)'; +$labels['zone'] = 'fuso-horario'; +$labels['weekday'] = 'día da semana (0-6)'; +$labels['advancedopts'] = 'Opcións avanzadas'; +$labels['body'] = 'Corpo'; +$labels['address'] = 'enderezo'; +$labels['envelope'] = 'sobre'; +$labels['modifier'] = 'modificador:'; +$labels['text'] = 'texto'; +$labels['undecoded'] = 'sen codificar (en bruto)'; +$labels['contenttype'] = 'tipo de contido'; +$labels['modtype'] = 'tipo:'; +$labels['allparts'] = 'todos'; +$labels['domain'] = 'dominio'; +$labels['localpart'] = 'parte local'; +$labels['user'] = 'utente'; +$labels['detail'] = 'detalle'; +$labels['comparator'] = 'comparador:'; +$labels['default'] = 'predeterminado'; +$labels['octet'] = 'estricto (octeto)'; +$labels['asciicasemap'] = 'non sensíbel a maiúsculas/minúsculas (ascii-casemap)'; +$labels['asciinumeric'] = 'numérico (ascii-numerico)'; +$labels['index'] = 'índice:'; +$labels['indexlast'] = 'atrás'; +$labels['vacation.reply'] = 'Respostar á mensaxe'; +$labels['vacation.advanced'] = 'Opcións avanzadas'; +$labels['vacation.subject'] = 'Asunto'; +$labels['vacation.body'] = 'Corpo'; +$labels['vacation.status'] = 'Estado'; +$labels['vacation.on'] = 'Activar'; +$labels['vacation.off'] = 'Desactivar'; +$labels['vacation.saving'] = 'Gardando datos...'; +$labels['vacation.keep'] = 'Manter'; +$labels['vacation.discard'] = 'Descartar'; +$labels['vacation.redirect'] = 'Redirixir a'; +$labels['vacation.copy'] = 'Enviar copia a'; +$labels['arialabelfilteractions'] = 'Accións de filtrado'; +$labels['arialabelfilterform'] = 'Propiedades dos filtros'; +$labels['ariasummaryfilterslist'] = 'Lista de filtros'; +$messages['filterunknownerror'] = 'Erro descoñecido do servidor'; +$messages['filterconnerror'] = 'Imposíbel conectar co servidor.'; +$messages['filterdeleteerror'] = 'Non se pode eliminar filtro. Produciuse un erro de servidor.'; +$messages['filterdeleted'] = 'Filtro borrado con éxito'; +$messages['filtersaved'] = 'Filtro gardado con éxito'; +$messages['filtersaveerror'] = 'Non se puido gardar filtro. Produciuse un erro de servidor.'; +$messages['filterdeleteconfirm'] = 'Realmente queres eliminar o filtro seleccionado?'; +$messages['ruledeleteconfirm'] = 'Seguro que queres eliminar a regra seleccionada?'; +$messages['actiondeleteconfirm'] = 'Seguro que queres eliminar a acción seleccionada?'; +$messages['forbiddenchars'] = 'Caracteres non permitidos no campo'; +$messages['cannotbeempty'] = 'O campo non pode estar baleiro'; +$messages['ruleexist'] = 'Xa existe un filtro co nome especificado.'; +$messages['setactivateerror'] = 'Non se poden activar os filtros seleccionados. Produciuse un erro de servidor.'; +$messages['setdeactivateerror'] = 'Non foi posíbel desactivar os filtros seleccionados. Produciuse un erro de servidor.'; +$messages['setdeleteerror'] = 'Non é posíbel eliminar os filtros seleccionados. Produciuse un erro de servidor.'; +$messages['setactivated'] = 'O conxunto de filtros activouse con éxito'; +$messages['setdeactivated'] = 'O conxunto de filtros desactivouse con éxito'; +$messages['setdeleted'] = 'O Conxunto de filtros borrouse con éxito'; +$messages['setdeleteconfirm'] = 'Seguro que queres eliminar o conxunto de filtros seleccionado?'; +$messages['setcreateerror'] = 'Non é posíbel crear filtros. Produciuse un erro de servidor.'; +$messages['setcreated'] = 'Conxunto de filtros creado con éxito'; +$messages['activateerror'] = 'Non é posíbel activar o(s) filtro(s) seleccionado(s). Produciuse un erro de servidor.'; +$messages['deactivateerror'] = 'Incapaz de desactivar filtro(s) seleccionado(s). Produciuse un erro de servidor.'; +$messages['deactivated'] = 'Desactiváronse os filtros correctamente.'; +$messages['activated'] = 'Activáronse os filtros correctamente'; +$messages['moved'] = 'Moveuse correctamente o filtro.'; +$messages['moveerror'] = 'Non se pode mover o filtro seleccionado. Produciuse un erro de servidor.'; +$messages['nametoolong'] = 'Imposíbel crear o conxunto de filtros. O nome é longo de máis'; +$messages['namereserved'] = 'Nome reservado'; +$messages['setexist'] = 'Xa existe o conxunto'; +$messages['nodata'] = 'É preciso seleccionar polo menos unha posición!'; +$messages['invaliddateformat'] = 'Formato de data ou parte dos datos non válidos'; +?> diff --git a/plugins/managesieve/localization/he_IL.inc b/plugins/managesieve/localization/he_IL.inc new file mode 100644 index 000000000..4e7b5976e --- /dev/null +++ b/plugins/managesieve/localization/he_IL.inc @@ -0,0 +1,224 @@ +<?php + +/* + +-----------------------------------------------------------------------+ + | plugins/managesieve/localization/<lang>.inc | + | | + | Localization file of the Roundcube Webmail Managesieve 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-managesieve/ +*/ +$labels['filters'] = 'מסננים'; +$labels['managefilters'] = 'ניהול מסננים לדואר נכנס'; +$labels['filtername'] = 'שם המסנן'; +$labels['newfilter'] = 'מסנן חדש'; +$labels['filteradd'] = 'הוספת מסנן'; +$labels['filterdel'] = 'מחיקת מסנן'; +$labels['moveup'] = 'הזזה מעלה'; +$labels['movedown'] = 'הזזה מטה'; +$labels['filterallof'] = 'תאימות לכל הכללים שלהלן'; +$labels['filteranyof'] = 'תאימות לחלק מהכללים שלהלן'; +$labels['filterany'] = 'כל ההודעות'; +$labels['filtercontains'] = 'מכיל'; +$labels['filternotcontains'] = 'לא מכיל'; +$labels['filteris'] = 'שווה ערך ל-'; +$labels['filterisnot'] = 'אינו שווה ערך ל-'; +$labels['filterexists'] = 'קיים'; +$labels['filternotexists'] = 'לא קיים'; +$labels['filtermatches'] = 'תואם ביטוי'; +$labels['filternotmatches'] = 'לא תואם ביטוי'; +$labels['filterregex'] = 'תואם ביטוי מורכב'; +$labels['filternotregex'] = 'לא תואם ביטוי מורכב'; +$labels['filterunder'] = 'תחת'; +$labels['filterover'] = 'מעל'; +$labels['addrule'] = 'הוספת כלל'; +$labels['delrule'] = 'מחיקת כלל'; +$labels['messagemoveto'] = 'העברת הודעה אל'; +$labels['messageredirect'] = 'השמה חדשה של ההודעה אל'; +$labels['messagecopyto'] = 'העתקת ההודעה אל'; +$labels['messagesendcopy'] = 'משלוח העתק מההודעה אל'; +$labels['messagereply'] = 'מענה עם הודעה'; +$labels['messagedelete'] = 'מחיקת הודעה'; +$labels['messagediscard'] = 'ביטול ההודעה'; +$labels['messagekeep'] = 'שמירת הודעה בדואר נכנס'; +$labels['messagesrules'] = 'עבור דואר נכנס:'; +$labels['messagesactions'] = '...מבצע הפעולות הבאות:'; +$labels['add'] = 'הוספה'; +$labels['del'] = 'מחיקה'; +$labels['sender'] = 'השולח'; +$labels['recipient'] = 'הנמען'; +$labels['vacationaddr'] = 'כתובות דוא"ל נוספות:'; +$labels['vacationdays'] = 'באיזו תדירות ( בימים ) לשלוח הודעות:'; +$labels['vacationinterval'] = 'באיזו תדירות לשלוח ההודעה'; +$labels['vacationreason'] = 'גוף ההודעה (סיבת החופשה):'; +$labels['vacationsubject'] = 'נושא ההודעה:'; +$labels['days'] = 'ימים'; +$labels['seconds'] = 'שניות'; +$labels['rulestop'] = 'עצירה של בחינת הכללים'; +$labels['enable'] = 'אפשור/ניטרול'; +$labels['filterset'] = 'קבוצת מסננים'; +$labels['filtersets'] = 'קבוצות מסננים'; +$labels['filtersetadd'] = 'הוספה של קבוצת מסננים'; +$labels['filtersetdel'] = 'מחיקה של מסננים נוכחיים'; +$labels['filtersetact'] = 'הפעלה של מסננים נוכחיים'; +$labels['filtersetdeact'] = 'השבתה של מסננים נוכחיים'; +$labels['filterdef'] = 'הגדרת מסנן'; +$labels['filtersetname'] = 'שם של קבוצת מסננים'; +$labels['newfilterset'] = 'קבוצת מסננים חדשה'; +$labels['active'] = 'פעיל'; +$labels['none'] = 'אף אחד מאלה'; +$labels['fromset'] = 'מקבוצה'; +$labels['fromfile'] = 'מקובץ'; +$labels['filterdisabled'] = 'מסנן מושבת'; +$labels['countisgreaterthan'] = 'המספר גדול מ-'; +$labels['countisgreaterthanequal'] = 'המספר גדול או שווה ל-'; +$labels['countislessthan'] = 'המספר קטן מ-'; +$labels['countislessthanequal'] = 'המספר קטן או שווה ל-'; +$labels['countequals'] = 'המספר שווה ל-'; +$labels['countnotequals'] = 'המספר אינו שווה ל '; +$labels['valueisgreaterthan'] = 'הערך גדול מ-'; +$labels['valueisgreaterthanequal'] = 'הערך גדול או שווה ל-'; +$labels['valueislessthan'] = 'הערך קטן מ-'; +$labels['valueislessthanequal'] = 'הערך קטן או שווה ל-'; +$labels['valueequals'] = 'הערך שווה ל-'; +$labels['valuenotequals'] = 'הערך אינו שוה ל '; +$labels['setflags'] = 'סימון דגלים להודעה'; +$labels['addflags'] = 'הוספת דגלים להודעה'; +$labels['removeflags'] = 'הסרת דגלים מההודעה'; +$labels['flagread'] = 'נקרא'; +$labels['flagdeleted'] = 'נמחק'; +$labels['flaganswered'] = 'נענה'; +$labels['flagflagged'] = 'סומן בדגל'; +$labels['flagdraft'] = 'טיוטה'; +$labels['setvariable'] = 'הגדרת משתנה'; +$labels['setvarname'] = 'שם המשתנה:'; +$labels['setvarvalue'] = 'ערך המשתנה:'; +$labels['setvarmodifiers'] = 'גורם משנה:'; +$labels['varlower'] = 'אותיות קטנות'; +$labels['varupper'] = 'אותיות גדולות'; +$labels['varlowerfirst'] = 'התו הראשון אות קטנה'; +$labels['varupperfirst'] = 'התו הראשון אות גדולה'; +$labels['varquotewildcard'] = 'תו מיוחד יש לשים בין מרכאות'; +$labels['varlength'] = 'אורך'; +$labels['notify'] = 'משלוח התראה'; +$labels['notifytarget'] = 'יעד התראה:'; +$labels['notifymessage'] = 'הודעת התראה (רשות):'; +$labels['notifyoptions'] = 'אפשרויות התראה (רשות):'; +$labels['notifyfrom'] = 'שולח התראה (רשות):'; +$labels['notifyimportance'] = 'חשיובת:'; +$labels['notifyimportancelow'] = 'נמוכה'; +$labels['notifyimportancenormal'] = 'רגילה'; +$labels['notifyimportancehigh'] = 'גבוהה'; +$labels['notifymethodmailto'] = 'דוא״ל'; +$labels['notifymethodtel'] = 'טלפון'; +$labels['notifymethodsms'] = 'מסרון'; +$labels['filtercreate'] = 'יצירת מסנן'; +$labels['usedata'] = 'שימוש במידע שלהלן ליצירת המסנן:'; +$labels['nextstep'] = 'הצעד הבא'; +$labels['...'] = '...'; +$labels['currdate'] = 'תאריך נוכחי'; +$labels['datetest'] = 'תאריך'; +$labels['dateheader'] = 'כותרת:'; +$labels['year'] = 'שנה'; +$labels['month'] = 'חודש'; +$labels['day'] = 'יום'; +$labels['date'] = 'תאריך (שנה-חודש-יום)'; +$labels['julian'] = 'תאריך (יוליאני)'; +$labels['hour'] = 'שעה'; +$labels['minute'] = 'דקה'; +$labels['second'] = 'שניה'; +$labels['time'] = 'זמן (שעה:דקה:שניה)'; +$labels['iso8601'] = 'תאריך (ISO8601)'; +$labels['std11'] = 'תאריך (RFC2822)'; +$labels['zone'] = 'איזור זמן'; +$labels['weekday'] = 'יום בשבוע (0-6)'; +$labels['advancedopts'] = 'אפשרויות מתקדמות'; +$labels['body'] = 'גוף ההודעה'; +$labels['address'] = 'כתובת'; +$labels['envelope'] = 'מעטפה'; +$labels['modifier'] = 'גורם שינוי:'; +$labels['text'] = 'תמליל'; +$labels['undecoded'] = 'לא מקודד ( גולמי )'; +$labels['contenttype'] = 'סוג התוכן'; +$labels['modtype'] = 'סוג:'; +$labels['allparts'] = 'הכל'; +$labels['domain'] = 'מתחם'; +$labels['localpart'] = 'חלק מקומי'; +$labels['user'] = 'משתמש'; +$labels['detail'] = 'פרטים'; +$labels['comparator'] = 'משווה:'; +$labels['default'] = 'ברירת מחדל'; +$labels['octet'] = 'strict (octet)'; +$labels['asciicasemap'] = 'case insensitive (ascii-casemap)'; +$labels['asciinumeric'] = 'numeric (ascii-numeric)'; +$labels['index'] = 'אינדקס:'; +$labels['indexlast'] = 'בחזרה'; +$labels['vacation'] = 'חופשה'; +$labels['vacation.reply'] = 'הודעת תשובה'; +$labels['vacation.advanced'] = 'הגדרות מתקדמות'; +$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['arialabelfiltersetactions'] = 'פעולות על קבוצה של חוקי סינון'; +$labels['arialabelfilteractions'] = 'פעולות מסנן'; +$labels['arialabelfilterform'] = 'מאפייני מסנן'; +$labels['ariasummaryfilterslist'] = 'רשימה של מסננים'; +$labels['ariasummaryfiltersetslist'] = 'רשימת קבוצות של חוקי סינון'; +$labels['filterstitle'] = 'ערוך מסנני דואר נכנס'; +$labels['vacationtitle'] = 'ערוך כלל מחוץ-אל-משרדי'; +$messages['filterunknownerror'] = 'שגיאת שרת בלתי מוכרת.'; +$messages['filterconnerror'] = 'לא ניתן להתחבר לשרת.'; +$messages['filterdeleteerror'] = 'לא ניתן למחוק סינון. שגיאת שרת.'; +$messages['filterdeleted'] = 'המסנן נמחק בהצלחה.'; +$messages['filtersaved'] = 'המסנן נשמר בהצלחה.'; +$messages['filtersaveerror'] = 'לא ניתן לשמור סינון. שגיאת שרת.'; +$messages['filterdeleteconfirm'] = 'האם אכן ברצונך למחוק את המסנן הנבחר?'; +$messages['ruledeleteconfirm'] = 'האם אכן ברצונך למחוק את הכלל הנבחר?'; +$messages['actiondeleteconfirm'] = 'האם אכן ברצונך למחוק את הפעולה הנבחרת?'; +$messages['forbiddenchars'] = 'תווים אסורים בשדה.'; +$messages['cannotbeempty'] = 'השדה לא יכול להישאר ריק.'; +$messages['ruleexist'] = 'כבר קיים מסנן בשם כזה.'; +$messages['setactivateerror'] = 'לא ניתן להפעיל את ערכת המסננים הנבחרת. אירעה שגיאה בצד השרת.'; +$messages['setdeactivateerror'] = 'לא ניתן להשבית רשימת מסננים שנבחרה. שגיאת שרת.'; +$messages['setdeleteerror'] = 'לא ניתן למחוק רשימת מסננים שנבחרה. שגיאת שרת.'; +$messages['setactivated'] = 'ערכת המסננים הופעלה בהצלחה.'; +$messages['setdeactivated'] = 'ערכת המסננים נוטרלה בהצלחה.'; +$messages['setdeleted'] = 'ערכת המסננים נמחקה בהצלחה.'; +$messages['setdeleteconfirm'] = 'האם אכן ברצונך למחוק את ערכת המסננים הנבחרת?'; +$messages['setcreateerror'] = 'לא ניתן ליצור ערכת מסננים. אירעה שגיאה בצד השרת.'; +$messages['setcreated'] = 'ערכת המסננים נוצרה בהצלחה.'; +$messages['activateerror'] = 'לא ניתן להפעיל את המסננים הנבחרים. אירעה שגיאה בצד השרת.'; +$messages['deactivateerror'] = 'לא ניתן לנטרל את המסננים הנבחרים. אירעה שגיאה בצד השרת.'; +$messages['deactivated'] = 'המסננים הופעלו בהצלחה.'; +$messages['activated'] = 'המסננים נוטרלו בהצלחה.'; +$messages['moved'] = 'המסנן הועבר בהצלחה.'; +$messages['moveerror'] = 'לא ניתן להעביר את המסנן הנבחר. אירעה שגיאה בצד השרת.'; +$messages['nametoolong'] = 'השם ארוך מדי.'; +$messages['namereserved'] = 'השם הזה שמור.'; +$messages['setexist'] = 'הערכה כבר קיימת.'; +$messages['nodata'] = 'חובה לבחור במיקום אחד לפחות!'; +$messages['invaliddateformat'] = 'תאריך לא חוקי אן פורמט לא תקין'; +$messages['saveerror'] = 'לא ניתן לשמור המידע בשל שגיאה של השרת'; +$messages['vacationsaved'] = 'הודעת החופשה נשמרה בהצלחה'; +$messages['emptyvacationbody'] = 'גוף של הודעת חופשה נדרש!'; +?> diff --git a/plugins/managesieve/localization/hr_HR.inc b/plugins/managesieve/localization/hr_HR.inc new file mode 100644 index 000000000..efcd4da8e --- /dev/null +++ b/plugins/managesieve/localization/hr_HR.inc @@ -0,0 +1,194 @@ +<?php + +/* + +-----------------------------------------------------------------------+ + | plugins/managesieve/localization/<lang>.inc | + | | + | Localization file of the Roundcube Webmail Managesieve 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-managesieve/ +*/ +$labels['filters'] = 'Filteri'; +$labels['managefilters'] = 'Uredi filtere za pristiglu poštu'; +$labels['filtername'] = 'Naziv filtera'; +$labels['newfilter'] = 'Novi filter'; +$labels['filteradd'] = 'Dodaj filter'; +$labels['filterdel'] = 'Obriši filter'; +$labels['moveup'] = 'Pomakni gore'; +$labels['movedown'] = 'Pomakni dolje'; +$labels['filterallof'] = 'koje odgovaraju svim sljedećim pravilima'; +$labels['filteranyof'] = 'koje odgovaraju bilo kojem od sljedećih pravila'; +$labels['filterany'] = 'sve poruke'; +$labels['filtercontains'] = 'sadrži'; +$labels['filternotcontains'] = 'ne sadrži'; +$labels['filteris'] = 'jednako je'; +$labels['filterisnot'] = 'nije jednako'; +$labels['filterexists'] = 'postoji'; +$labels['filternotexists'] = 'ne postoji'; +$labels['filtermatches'] = 'odgovara izrazu'; +$labels['filternotmatches'] = 'ne odgovara izrazu'; +$labels['filterregex'] = 'odgovara regularnom izrazu'; +$labels['filternotregex'] = 'ne odgovara regularnom izrazu'; +$labels['filterunder'] = 'ispod'; +$labels['filterover'] = 'iznad'; +$labels['addrule'] = 'Dodaj pravilo'; +$labels['delrule'] = 'Obriši pravilo'; +$labels['messagemoveto'] = 'Premjesti poruku u'; +$labels['messageredirect'] = 'Preusmjeri poruku na'; +$labels['messagecopyto'] = 'Kopiraju poruku u'; +$labels['messagesendcopy'] = 'Pošalji kopiju poruke na'; +$labels['messagereply'] = 'Odgovori sa porukom'; +$labels['messagedelete'] = 'Obriši poruku'; +$labels['messagediscard'] = 'Otkaži sa porukom'; +$labels['messagekeep'] = 'Zadrži poruku u mapi Inbox'; +$labels['messagesrules'] = 'Za pristigle poruke:'; +$labels['messagesactions'] = '...primijeni sljedeće akcije:'; +$labels['add'] = 'Dodaj'; +$labels['del'] = 'Obriši'; +$labels['sender'] = 'Pošiljatelj'; +$labels['recipient'] = 'Primatelj'; +$labels['vacationaddr'] = 'Dodatna e-mail adresa(e):'; +$labels['vacationdays'] = 'Koliko često slati poruku (u danima):'; +$labels['vacationinterval'] = 'Koliko često slati poruku:'; +$labels['vacationreason'] = 'Tijelo poruke (razlog odmora):'; +$labels['vacationsubject'] = 'Naslov poruke:'; +$labels['days'] = 'dana'; +$labels['seconds'] = 'sekundi'; +$labels['rulestop'] = 'Prekini izvođenje filtera'; +$labels['enable'] = 'Omogući/Onemogući'; +$labels['filterset'] = 'Grupa filtera'; +$labels['filtersets'] = 'Filteri'; +$labels['filtersetadd'] = 'Dodaj grupu filtera'; +$labels['filtersetdel'] = 'Obriši odabranu grupu filtera'; +$labels['filtersetact'] = 'Aktiviraj odabranu grupu filtera'; +$labels['filtersetdeact'] = 'Deaktiviraj odabranu grupu filtera'; +$labels['filterdef'] = 'Definicije filtera'; +$labels['filtersetname'] = 'Naziv grupe filtera'; +$labels['newfilterset'] = 'Nova grupa filtera'; +$labels['active'] = 'aktivan'; +$labels['none'] = 'nijedan'; +$labels['fromset'] = 'iz grupe'; +$labels['fromfile'] = 'iz datoteke'; +$labels['filterdisabled'] = 'Deaktiviraj filter'; +$labels['countisgreaterthan'] = 'brojač je veći od'; +$labels['countisgreaterthanequal'] = 'brojač je veći ili jednak od'; +$labels['countislessthan'] = 'brojač je manji od'; +$labels['countislessthanequal'] = 'brojač je manji ili jednak od'; +$labels['countequals'] = 'brojač je jednak'; +$labels['countnotequals'] = 'brojač nije jednak'; +$labels['valueisgreaterthan'] = 'vrijednost je veća od'; +$labels['valueisgreaterthanequal'] = 'vrijednost je veća ili jednaka od'; +$labels['valueislessthan'] = 'vrijednost je manja od'; +$labels['valueislessthanequal'] = 'vrijednost je manja ili jednaka od'; +$labels['valueequals'] = 'vrijednost je jednaka'; +$labels['valuenotequals'] = 'vrijednost nije jednaka'; +$labels['setflags'] = 'Postavi oznake na poruku'; +$labels['addflags'] = 'Dodaj oznake na poruku'; +$labels['removeflags'] = 'Ukloni oznake sa poruke'; +$labels['flagread'] = 'Pročitana'; +$labels['flagdeleted'] = 'Obrisana'; +$labels['flaganswered'] = 'Odgovorena'; +$labels['flagflagged'] = 'Označena'; +$labels['flagdraft'] = 'Predložak'; +$labels['setvariable'] = 'Postavi varijablu'; +$labels['setvarname'] = 'Ime varijable:'; +$labels['setvarvalue'] = 'Vrijednost varijable:'; +$labels['setvarmodifiers'] = 'Modifikatori:'; +$labels['varlower'] = 'mala slova'; +$labels['varupper'] = 'velika slova'; +$labels['varlowerfirst'] = 'prvo slovo malo'; +$labels['varupperfirst'] = 'prvo slovo veliko'; +$labels['varquotewildcard'] = 'Citiraj specijalne znakove'; +$labels['varlength'] = 'duljina'; +$labels['notify'] = 'Pošalji obavijest'; +$labels['notifyimportance'] = 'Važnost:'; +$labels['notifyimportancelow'] = 'niska'; +$labels['notifyimportancenormal'] = 'normalna'; +$labels['notifyimportancehigh'] = 'visoka'; +$labels['filtercreate'] = 'Stvori filter'; +$labels['usedata'] = 'Koristi podatke za filter:'; +$labels['nextstep'] = 'Idući korak'; +$labels['...'] = '…'; +$labels['currdate'] = 'Današnji datum'; +$labels['datetest'] = 'Datum'; +$labels['dateheader'] = 'zaglavlje:'; +$labels['year'] = 'godina'; +$labels['month'] = 'mjesec'; +$labels['day'] = 'dan'; +$labels['date'] = 'datum (yyyy-mm-dd)'; +$labels['julian'] = 'datum (julijanski)'; +$labels['hour'] = 'sat'; +$labels['minute'] = 'minute'; +$labels['second'] = 'sekunde'; +$labels['time'] = 'vrijeme (hh:mm:ss)'; +$labels['iso8601'] = 'datum (ISO8601)'; +$labels['std11'] = 'datum (RFC2822)'; +$labels['zone'] = 'vremenska zona'; +$labels['weekday'] = 'dan u tjednu (0-6)'; +$labels['advancedopts'] = 'Napredne postavke'; +$labels['body'] = 'Tijelo poruke'; +$labels['address'] = 'adresa'; +$labels['envelope'] = 'omotnica'; +$labels['modifier'] = 'modificirao:'; +$labels['text'] = 'tekst'; +$labels['undecoded'] = 'nedekodirano (raw)'; +$labels['contenttype'] = 'tip sadržaja'; +$labels['modtype'] = 'tip:'; +$labels['allparts'] = 'sve'; +$labels['domain'] = 'domena'; +$labels['localpart'] = 'lokalni dio'; +$labels['user'] = 'korisnik'; +$labels['detail'] = 'detalj'; +$labels['comparator'] = 'usporedio:'; +$labels['default'] = 'preddefinirano'; +$labels['octet'] = 'strogo (oktet)'; +$labels['asciicasemap'] = 'neosjetljivo na veličinu slova (ascii-casemap)'; +$labels['asciinumeric'] = 'numerički (ascii-numeric)'; +$labels['index'] = 'indeks:'; +$labels['indexlast'] = 'unatrag'; +$labels['vacation.advanced'] = 'Napredne postavke'; +$labels['vacation.subject'] = 'Naslov'; +$labels['vacation.body'] = 'Tijelo poruke'; +$labels['vacation.status'] = 'Status'; +$labels['vacation.saving'] = 'Spremanje podataka...'; +$messages['filterunknownerror'] = 'Nepoznata greška na poslužitelju'; +$messages['filterconnerror'] = 'Nemoguće spajanje na poslužitelj (managesieve)'; +$messages['filterdeleteerror'] = 'Nemoguće brisanje filtera. Greška na poslužitelju.'; +$messages['filterdeleted'] = 'Filter je uspješno obrisan'; +$messages['filtersaved'] = 'Filter je uspješno spremljen'; +$messages['filtersaveerror'] = 'Nemoguće spremiti filter. Greška na poslužitelju.'; +$messages['filterdeleteconfirm'] = 'Sigurno želite obrisati odabrani filter?'; +$messages['ruledeleteconfirm'] = 'Jeste li sigurni da želite obrisati odabrana pravila?'; +$messages['actiondeleteconfirm'] = 'Jeste li sigurni da želite obrisati odabrane akcije?'; +$messages['forbiddenchars'] = 'Nedozvoljeni znakovi u polju'; +$messages['cannotbeempty'] = 'Polje nesmije biti prazno'; +$messages['ruleexist'] = 'Filter sa zadanim imenom već postoji.'; +$messages['setactivateerror'] = 'Nemoguće aktivirati odabranu grupu filtera. Greška na poslužitelju.'; +$messages['setdeactivateerror'] = 'Nemoguće deaktivirati odabranu grupu filtera. Greška na poslužitelju.'; +$messages['setdeleteerror'] = 'Nemoguće obrisati odabranu grupu filtera. Greška na poslužitelju.'; +$messages['setactivated'] = 'Grupa filtera je uspješno aktivirana'; +$messages['setdeactivated'] = 'Grupa filtera je uspješno deaktivirana'; +$messages['setdeleted'] = 'Grupa filtera je uspješno obrisana'; +$messages['setdeleteconfirm'] = 'Jeste li sigurni da želite obrisati odabranu grupu filtera?'; +$messages['setcreateerror'] = 'Nemoguće stvoriti grupu filtera. Greška na poslužitelju.'; +$messages['setcreated'] = 'Grupa filtera je uspješno stvorena'; +$messages['activateerror'] = 'Nije moguće omogućiti odabrani filter(e). Greška poslužitelja.'; +$messages['deactivateerror'] = 'Nije moguće onemogućiti odabrane filter(e). Greška poslužitelja.'; +$messages['deactivated'] = 'Filter(i) omogućen(i) uspješno.'; +$messages['activated'] = 'Filter(i) onemogućen(i) uspješno.'; +$messages['moved'] = 'Filter uspješno premješten.'; +$messages['moveerror'] = 'Nije moguće premjestiti odabrani filter. Greška poslužitelja.'; +$messages['nametoolong'] = 'Nemoguće napraviti grupu filtera. Naziv je predugačak'; +$messages['namereserved'] = 'Rezervirano ime.'; +$messages['setexist'] = 'Skup već postoji.'; +$messages['nodata'] = 'Barem jedan pozicija mora biti odabrana!'; +$messages['invaliddateformat'] = 'Neispravan datum ili dio datuma'; +$messages['saveerror'] = 'Nemoguće spremiti podatke. Greška na poslužitelju.'; +?> diff --git a/plugins/managesieve/localization/hu_HU.inc b/plugins/managesieve/localization/hu_HU.inc new file mode 100644 index 000000000..eae7650fa --- /dev/null +++ b/plugins/managesieve/localization/hu_HU.inc @@ -0,0 +1,224 @@ +<?php + +/* + +-----------------------------------------------------------------------+ + | plugins/managesieve/localization/<lang>.inc | + | | + | Localization file of the Roundcube Webmail Managesieve 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-managesieve/ +*/ +$labels['filters'] = 'Üzenetszűrők'; +$labels['managefilters'] = 'Bejövő üzenetek szűrői'; +$labels['filtername'] = 'Szűrő neve'; +$labels['newfilter'] = 'Új szűrő'; +$labels['filteradd'] = 'Szűrő hozzáadása'; +$labels['filterdel'] = 'Szűrő törlése'; +$labels['moveup'] = 'Mozgatás felfelé'; +$labels['movedown'] = 'Mozgatás lefelé'; +$labels['filterallof'] = 'A következők szabályok mind illeszkedjenek'; +$labels['filteranyof'] = 'A következő szabályok bármelyike illeszkedjen'; +$labels['filterany'] = 'Minden üzenet illeszkedjen'; +$labels['filtercontains'] = 'tartalmazza'; +$labels['filternotcontains'] = 'nem tartalmazza'; +$labels['filteris'] = 'megegyezik'; +$labels['filterisnot'] = 'nem egyezik meg'; +$labels['filterexists'] = 'létezik'; +$labels['filternotexists'] = 'nem létezik'; +$labels['filtermatches'] = 'kifejezéssel egyezők'; +$labels['filternotmatches'] = 'kifejezéssel nem egyezők'; +$labels['filterregex'] = 'reguláris kifejezéssel egyezők'; +$labels['filternotregex'] = 'reguláris kifejezéssel nem egyezők'; +$labels['filterunder'] = 'alatta'; +$labels['filterover'] = 'felette'; +$labels['addrule'] = 'Szabály hozzáadása'; +$labels['delrule'] = 'Szabály törlése'; +$labels['messagemoveto'] = 'Üzenet áthelyezése ide:'; +$labels['messageredirect'] = 'Üzenet továbbítása ide:'; +$labels['messagecopyto'] = 'Üzenet másolása'; +$labels['messagesendcopy'] = 'Másolat kűldése az üzenetből'; +$labels['messagereply'] = 'Válaszüzenet küldése (autoreply)'; +$labels['messagedelete'] = 'Üzenet törlése'; +$labels['messagediscard'] = 'Válaszüzenet küldése, a levél törlése'; +$labels['messagekeep'] = 'Tartsa az üzenetet a beérkező leveleknél'; +$labels['messagesrules'] = 'Az adott tulajdonságú beérkezett üzenetekre:'; +$labels['messagesactions'] = '... a következő műveletek végrehajtása:'; +$labels['add'] = 'Hozzáadás'; +$labels['del'] = 'Törlés'; +$labels['sender'] = 'Feladó'; +$labels['recipient'] = 'Címzett'; +$labels['vacationaddr'] = 'További e-mail címeim:'; +$labels['vacationdays'] = 'Válaszüzenet küldése ennyi naponként:'; +$labels['vacationinterval'] = 'Milyen gyakran küld üzeneteket:'; +$labels['vacationreason'] = 'Levél szövege (automatikus válasz):'; +$labels['vacationsubject'] = 'Üzenet tárgya:'; +$labels['days'] = 'napok'; +$labels['seconds'] = 'másodpercek'; +$labels['rulestop'] = 'Műveletek végrehajtásának befejezése'; +$labels['enable'] = 'Bekapcsol/Kikapcsol'; +$labels['filterset'] = 'Szűrök készlet'; +$labels['filtersets'] = 'Szűrő készletek'; +$labels['filtersetadd'] = 'Szűrő hozzáadása a készlethez'; +$labels['filtersetdel'] = 'Az aktuális szűrő készlet törlése'; +$labels['filtersetact'] = 'Az aktuális szűrő készlet engedélyezése'; +$labels['filtersetdeact'] = 'Az aktuális szűrő készlet tiltása'; +$labels['filterdef'] = 'Szűrő definíció'; +$labels['filtersetname'] = 'Szűrő készlet neve'; +$labels['newfilterset'] = 'Új szűrő készlet'; +$labels['active'] = 'aktív'; +$labels['none'] = 'nincs'; +$labels['fromset'] = 'készletből'; +$labels['fromfile'] = 'fájlból'; +$labels['filterdisabled'] = 'Szűrő kikapcsolása'; +$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'; +$labels['countislessthanequal'] = 'a számláló kissebb vagy egyenlő'; +$labels['countequals'] = 'a számláló egyenlő'; +$labels['countnotequals'] = 'össze számolva nem egyenlő'; +$labels['valueisgreaterthan'] = 'az érték nagyobb mint'; +$labels['valueisgreaterthanequal'] = 'az érték nagyobb vagy egyenlő'; +$labels['valueislessthan'] = 'az érték kisebb mint'; +$labels['valueislessthanequal'] = 'az érték kisebb vagy egyenlő'; +$labels['valueequals'] = 'az érték megegyzik'; +$labels['valuenotequals'] = 'az értéke nem azonos'; +$labels['setflags'] = 'Jelzők beállítása az üzeneten'; +$labels['addflags'] = 'Jelző hozzáadása az üzenethez'; +$labels['removeflags'] = 'Jelzők eltávolítása az üzenetből'; +$labels['flagread'] = 'Olvasás'; +$labels['flagdeleted'] = 'Törölt'; +$labels['flaganswered'] = 'Megválaszolt'; +$labels['flagflagged'] = 'Megjelölt'; +$labels['flagdraft'] = 'Vázlat'; +$labels['setvariable'] = 'Változó beállítása'; +$labels['setvarname'] = 'Változó neve:'; +$labels['setvarvalue'] = 'Változó értéke:'; +$labels['setvarmodifiers'] = 'Módosítók'; +$labels['varlower'] = 'kisbetű'; +$labels['varupper'] = 'nagybetű'; +$labels['varlowerfirst'] = 'első karakter kisbetű'; +$labels['varupperfirst'] = 'első karakter nagybetű'; +$labels['varquotewildcard'] = 'speciális karakterek idézése'; +$labels['varlength'] = 'hossz'; +$labels['notify'] = 'Értesítés küldése'; +$labels['notifytarget'] = 'Értesítés célja:'; +$labels['notifymessage'] = 'Értesítési üzenet (opcionális):'; +$labels['notifyoptions'] = 'Értesítés opcióik (opcionális):'; +$labels['notifyfrom'] = 'Értesítés feladója (opcionális):'; +$labels['notifyimportance'] = 'Fontosság:'; +$labels['notifyimportancelow'] = 'alacsony'; +$labels['notifyimportancenormal'] = 'normál'; +$labels['notifyimportancehigh'] = 'magas'; +$labels['notifymethodmailto'] = 'Email'; +$labels['notifymethodtel'] = 'Telefonszám'; +$labels['notifymethodsms'] = 'SMS'; +$labels['filtercreate'] = 'Szűrő létrehozása'; +$labels['usedata'] = 'A következő adatok használata a szűrőben'; +$labels['nextstep'] = 'Következő lépés'; +$labels['...'] = '…'; +$labels['currdate'] = 'Mai dátum'; +$labels['datetest'] = 'Dátum'; +$labels['dateheader'] = 'fejléc:'; +$labels['year'] = 'év'; +$labels['month'] = 'hónap'; +$labels['day'] = 'nap'; +$labels['date'] = 'dátum (éééé-hh-nn)'; +$labels['julian'] = 'dátum ( julián)'; +$labels['hour'] = 'óra'; +$labels['minute'] = 'perc'; +$labels['second'] = 'másodperc'; +$labels['time'] = 'idő (óó:pp:ms)'; +$labels['iso8601'] = 'dátum (ISO8601)'; +$labels['std11'] = 'dátum (RFC2822)'; +$labels['zone'] = 'idő-zóna'; +$labels['weekday'] = 'hét napjai (0-6)'; +$labels['advancedopts'] = 'Haladó beállítások'; +$labels['body'] = 'Levéltörzs'; +$labels['address'] = 'cím'; +$labels['envelope'] = 'boriték'; +$labels['modifier'] = 'módosító:'; +$labels['text'] = 'szöveg'; +$labels['undecoded'] = 'kódolatlan(nyers)'; +$labels['contenttype'] = 'tartalom tipusa'; +$labels['modtype'] = 'típus:'; +$labels['allparts'] = 'összes'; +$labels['domain'] = 'domain'; +$labels['localpart'] = 'név rész'; +$labels['user'] = 'felhasználó'; +$labels['detail'] = 'részlet'; +$labels['comparator'] = 'összehasonlító'; +$labels['default'] = 'alapértelmezett'; +$labels['octet'] = 'strict (octet)'; +$labels['asciicasemap'] = 'kis-nagybetüre nem érzékeny (ascii-casemap)'; +$labels['asciinumeric'] = 'számszerü (ascii-numeric)'; +$labels['index'] = 'index:'; +$labels['indexlast'] = 'visszafelé'; +$labels['vacation'] = 'Vakáció'; +$labels['vacation.reply'] = 'Válasz az üzenetre'; +$labels['vacation.advanced'] = 'Haladó beállítások'; +$labels['vacation.subject'] = 'Tárgy'; +$labels['vacation.body'] = 'Törzs'; +$labels['vacation.start'] = 'Szünidő kezdete'; +$labels['vacation.end'] = 'Szünidő vége'; +$labels['vacation.status'] = 'Állapot'; +$labels['vacation.on'] = 'Be'; +$labels['vacation.off'] = 'Ki'; +$labels['vacation.addresses'] = 'További címeim'; +$labels['vacation.interval'] = 'Válasz intervallum'; +$labels['vacation.after'] = 'Rakd a szabadság szabályt ez után '; +$labels['vacation.saving'] = 'Adatok mentése...'; +$labels['vacation.action'] = 'Beérkező üzenet akció'; +$labels['vacation.keep'] = 'Megtartás'; +$labels['vacation.discard'] = 'Érvénytelenít'; +$labels['vacation.redirect'] = 'Átírányítás ide'; +$labels['vacation.copy'] = 'Másolat kűldése ide'; +$labels['arialabelfiltersetactions'] = 'Szűrő készlet müveletek'; +$labels['arialabelfilteractions'] = 'Szűrő müveletek'; +$labels['arialabelfilterform'] = 'Szűrő tulajdonságai'; +$labels['ariasummaryfilterslist'] = 'Szűrők listája'; +$labels['ariasummaryfiltersetslist'] = 'Szűrő készletek listája'; +$labels['filterstitle'] = 'Bejövő üzenetek szűrőinek szerkesztése'; +$labels['vacationtitle'] = 'Irodán kiívül szabász szerkesztése'; +$messages['filterunknownerror'] = 'Ismeretlen szerverhiba'; +$messages['filterconnerror'] = 'Nem tudok a szűrőszerverhez kapcsolódni'; +$messages['filterdeleteerror'] = 'A szűrőt nem lehet törölni. Szerverhiba történt'; +$messages['filterdeleted'] = 'A szűrő törlése sikeres'; +$messages['filtersaved'] = 'A szűrő mentése sikeres'; +$messages['filtersaveerror'] = 'A szűrő mentése sikertelen. Szerverhiba történt'; +$messages['filterdeleteconfirm'] = 'Biztosan törli ezt a szűrőt?'; +$messages['ruledeleteconfirm'] = 'Biztosan törli ezt a szabályt?'; +$messages['actiondeleteconfirm'] = 'Biztosan törli ezt a műveletet?'; +$messages['forbiddenchars'] = 'Érvénytelen karakter a mezőben'; +$messages['cannotbeempty'] = 'A mező nem lehet üres'; +$messages['ruleexist'] = 'Már van ilyen névvel elmentett szűrő.'; +$messages['setactivateerror'] = 'A kiválasztott szűrő készletet nem sikerült engedélyezni. Szerver hiba történt.'; +$messages['setdeactivateerror'] = 'A kiválasztott szűrő készletet nem sikerült tiltani. Szerver hiba történt.'; +$messages['setdeleteerror'] = 'Nem sikerült a kiválasztott szűrő készletet törölni. Szerver hiba történt.'; +$messages['setactivated'] = 'A filter készlet engedélyezése sikeresen végrehajtódott.'; +$messages['setdeactivated'] = 'A filter készlet tiltása sikeresen végrehajtódott.'; +$messages['setdeleted'] = 'A filter készlet törlése sikeresen végrehajtódott.'; +$messages['setdeleteconfirm'] = 'Biztosan törölni szeretnéd a kiválasztott szűrő készleteket?'; +$messages['setcreateerror'] = 'Nem sikerült létrehozni a szűrő készletet. Szerver hiba történt.'; +$messages['setcreated'] = 'A szűrő készlet sikeresen létrejött.'; +$messages['activateerror'] = 'Nem sikerült engedélyezni a kiválasztott szűrö(k)et. Szerver hiba történt.'; +$messages['deactivateerror'] = 'Nem sikerült kikapcsolni a kiválasztott szűrő(ke)t. Szerver hiba történt.'; +$messages['deactivated'] = 'Szűrő(k) sikeresen bekapcsolva.'; +$messages['activated'] = 'Szűrő(k) sikeresen kikapcsolva.'; +$messages['moved'] = 'A szűrő sikeresen áthelyezve.'; +$messages['moveerror'] = 'Az áthelyezés nem sikerült. Szerver hiba történt.'; +$messages['nametoolong'] = 'Túll hosszu név'; +$messages['namereserved'] = 'Nem használható (foglalt) név-'; +$messages['setexist'] = 'A készlet már létezik.'; +$messages['nodata'] = 'Legalább egyet ki kell választani.'; +$messages['invaliddateformat'] = 'hibás dátum formátum'; +$messages['saveerror'] = 'Az adat mentése sikertelen. Szerverhiba történt'; +$messages['vacationsaved'] = 'Vakáció adatai sikeresen elmentve.'; +$messages['emptyvacationbody'] = 'A vakácíó üzenet szövegtörzse kötelező!'; +?> diff --git a/plugins/managesieve/localization/hy_AM.inc b/plugins/managesieve/localization/hy_AM.inc new file mode 100644 index 000000000..5a520f46c --- /dev/null +++ b/plugins/managesieve/localization/hy_AM.inc @@ -0,0 +1,138 @@ +<?php + +/* + +-----------------------------------------------------------------------+ + | plugins/managesieve/localization/<lang>.inc | + | | + | Localization file of the Roundcube Webmail Managesieve 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-managesieve/ +*/ +$labels['filters'] = 'Զտիչներ'; +$labels['managefilters'] = 'Կառավարել ստացվող նամակների զտիչները'; +$labels['filtername'] = 'Զտիչի անուն'; +$labels['newfilter'] = 'Նոր զտիչ'; +$labels['filteradd'] = 'Ավելացնել զտիչ'; +$labels['filterdel'] = 'Ջնջել զտիչը'; +$labels['moveup'] = 'Բարձրացնել'; +$labels['movedown'] = 'Իջեցնել'; +$labels['filterallof'] = 'հետևյալ բոլոր պահանջներին համապատասխանող'; +$labels['filteranyof'] = 'հետևյալ պահանջներից ցանկացածին համապատասխանող'; +$labels['filterany'] = 'բոլոր հաղորդագրությունները'; +$labels['filtercontains'] = 'պարունակում է'; +$labels['filternotcontains'] = 'չի պարունակում'; +$labels['filteris'] = 'հավասար է'; +$labels['filterisnot'] = 'հավասար չէ'; +$labels['filterexists'] = 'գոյություն ունի'; +$labels['filternotexists'] = 'գոյություն չունի'; +$labels['filtermatches'] = 'բավարարում է արտահայտությանը'; +$labels['filternotmatches'] = 'չի բավարարում արտահայտությանը'; +$labels['filterregex'] = 'բավարարում է կանոնավոր արտահայտությանը'; +$labels['filternotregex'] = 'չի բավարարում կանոնավոր արտահայտությանը'; +$labels['filterunder'] = 'տակ'; +$labels['filterover'] = 'վրա'; +$labels['addrule'] = 'Ավելացնել պայմանը'; +$labels['delrule'] = 'Ջնջել պայմանը'; +$labels['messagemoveto'] = 'Տեղափոխել հաղորդագրությունը'; +$labels['messageredirect'] = 'Վերահասցեվորել հաղորդագրությունը'; +$labels['messagecopyto'] = 'Պատճենել հաղորդագրությունը'; +$labels['messagesendcopy'] = 'Ուղարկել հաղորդագրության պատճեն'; +$labels['messagereply'] = 'Պատասխանել հաղորդագրությամբ'; +$labels['messagedelete'] = 'Ջնջել հաղորդագրությունը'; +$labels['messagediscard'] = 'Հեռացնել, հաղորդագրությամբ'; +$labels['messagesrules'] = 'Ստացվող հաղորդագրությունների համար'; +$labels['messagesactions'] = '…կատարել հետևյալ գործողությունները.'; +$labels['add'] = 'Ավելացնել'; +$labels['del'] = 'Ջնջել'; +$labels['sender'] = 'Ուղարկող'; +$labels['recipient'] = 'Ստացող'; +$labels['vacationdays'] = 'Ինչ հաճախությամբ ուղարկել հաղորդագրությունները (օրեր)`'; +$labels['vacationreason'] = 'Հաղորդագրության բովանդակություն (արձակուրդի պատճառ)`'; +$labels['vacationsubject'] = 'Հաղորդագրության վերնագիր`'; +$labels['rulestop'] = 'Դադարել պայմանների ստուգումը'; +$labels['enable'] = 'Միացնել/Անջատել'; +$labels['filterset'] = 'Զտիչների համալիր'; +$labels['filtersets'] = 'Զտիչների համալիրներ'; +$labels['filtersetadd'] = 'Ավելացնել զտիչների համալիր'; +$labels['filtersetdel'] = 'Ջնջել առկա զտիչների համալիրը'; +$labels['filtersetact'] = 'Միացնել առկա զտիչների համալիրը'; +$labels['filtersetdeact'] = 'Անջատել առկա զտիչների համալիրը'; +$labels['filterdef'] = 'Զտիչի սահմանում'; +$labels['filtersetname'] = 'Զտիչների համալիրի անուն'; +$labels['newfilterset'] = 'Նոր զտիչների համալիր'; +$labels['active'] = 'ակտիվ'; +$labels['none'] = 'ոչ մեկը'; +$labels['fromset'] = 'համալիրից'; +$labels['fromfile'] = 'ֆայլից'; +$labels['filterdisabled'] = 'Զտիչը անջատված է'; +$labels['countisgreaterthan'] = 'քանակը գերազանցում է'; +$labels['countisgreaterthanequal'] = 'քանակը գերազանցում է կամ հավասար է'; +$labels['countislessthan'] = 'քանակը պակաս է'; +$labels['countislessthanequal'] = 'քանակը պակաս է կամ հավասար է'; +$labels['countequals'] = 'քանակը հավասար է'; +$labels['valueisgreaterthan'] = 'արժեքը գերազանցում է'; +$labels['valueisgreaterthanequal'] = 'արժեքը գերազանցում է կամ հավասար է'; +$labels['valueislessthan'] = 'արժեքը պակաս է'; +$labels['valueislessthanequal'] = 'արժեքը պակաս է կամ հավասար է'; +$labels['valueequals'] = 'արժեքը հավասար է'; +$labels['setflags'] = 'Հաղորդագրությունը նշել որպես'; +$labels['addflags'] = 'Ավելացնել նշաններ հաղորդագրությանը'; +$labels['removeflags'] = 'Հեռացնել նշաններ հաղորդագրությունից'; +$labels['flagread'] = 'Ընթերցված'; +$labels['flagdeleted'] = 'Ջնջված'; +$labels['flaganswered'] = 'Պատասխանված'; +$labels['flagflagged'] = 'Նշված'; +$labels['flagdraft'] = 'Սևագիր'; +$labels['filtercreate'] = 'Ստեղծել զտիչ'; +$labels['usedata'] = 'Զտիչում օգտագործել հետևյալ տեղեկությունը.'; +$labels['nextstep'] = 'Հաջորդ քայլ'; +$labels['...'] = '…'; +$labels['advancedopts'] = 'Հավելյալ ընտրանքներ'; +$labels['body'] = 'Մարմին'; +$labels['address'] = 'հասցե'; +$labels['envelope'] = 'ծրար'; +$labels['modifier'] = 'փոփոխիչ`'; +$labels['text'] = 'տեքստ'; +$labels['undecoded'] = 'մաքուր'; +$labels['contenttype'] = 'բովանդակության տիպ'; +$labels['modtype'] = 'տիպ`'; +$labels['allparts'] = 'բոլորը'; +$labels['domain'] = 'տիրույթ'; +$labels['localpart'] = 'լոկալ մաս'; +$labels['user'] = 'օգտվող'; +$labels['detail'] = 'մաս'; +$labels['comparator'] = 'համեմատիչ`'; +$labels['default'] = 'լռակյաց'; +$labels['octet'] = 'անփոփոխ (օկտետ)'; +$labels['asciicasemap'] = 'case insensitive (ascii-casemap)'; +$labels['asciinumeric'] = 'numeric (ascii-numeric)'; +$messages['filterunknownerror'] = 'Սերվերի անհայտ սխալ'; +$messages['filterconnerror'] = 'Սերվերի հետ կապի խնդիր։'; +$messages['filterdeleted'] = 'Զտիչը ջնջվեց։'; +$messages['filtersaved'] = 'Զտիչը պահպանվեց։'; +$messages['filterdeleteconfirm'] = 'Դուք իսկապե՞ս ցանկանում եք ջնջել նշված զտիչը։'; +$messages['ruledeleteconfirm'] = 'Դուք իսկապե՞ս ցանկանում եք ջնջել նշված պայմանը։'; +$messages['actiondeleteconfirm'] = 'Դուք իսկապե՞ս ցանկանում եք ջնջել նշված գործողությունը։'; +$messages['forbiddenchars'] = 'Դաշտում առկա են արգելված նիշեր։'; +$messages['cannotbeempty'] = 'Դաշտը դատարկ չի կարող լինել։'; +$messages['ruleexist'] = 'Տրված անունով զտիչ արդեն գոյություն ունի։'; +$messages['setactivated'] = 'Զտիչների համալիրը միացված է։'; +$messages['setdeactivated'] = 'Զտիչների համալիրը անջատված է։'; +$messages['setdeleted'] = 'Զտիչների համալիրը ջնջված է։'; +$messages['setdeleteconfirm'] = 'Դուք իսկապե՞ս ցանկանում եք ջնջել նշված զտիչների համալիրը։'; +$messages['setcreated'] = 'Զտիչների համալիրը ստեղծված է։'; +$messages['deactivated'] = 'Զտիչի միացված է։'; +$messages['activated'] = 'Զտիչի անջատված է։'; +$messages['moved'] = 'Զտիչի տեղափոխված է։'; +$messages['nametoolong'] = 'Անունը չափազանց երկար է։'; +$messages['namereserved'] = 'Անթույլատրելի անուն։'; +$messages['setexist'] = 'Համալիրը արդեն գոյություն ունի։'; +$messages['nodata'] = 'Պահանջվում է նշել գոնե մեկ դիրք։'; +?> diff --git a/plugins/managesieve/localization/ia.inc b/plugins/managesieve/localization/ia.inc new file mode 100644 index 000000000..2f417abb9 --- /dev/null +++ b/plugins/managesieve/localization/ia.inc @@ -0,0 +1,224 @@ +<?php + +/* + +-----------------------------------------------------------------------+ + | plugins/managesieve/localization/<lang>.inc | + | | + | Localization file of the Roundcube Webmail Managesieve 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-managesieve/ +*/ +$labels['filters'] = 'Filtros'; +$labels['managefilters'] = 'Gerer filtros de e-mail entrante'; +$labels['filtername'] = 'Nomine de filtro'; +$labels['newfilter'] = 'Nove filtro'; +$labels['filteradd'] = 'Adder filtro'; +$labels['filterdel'] = 'Deler filtro'; +$labels['moveup'] = 'Displaciar in alto'; +$labels['movedown'] = 'Displaciar a basso'; +$labels['filterallof'] = 'que satisface tote le sequente regulas'; +$labels['filteranyof'] = 'que satisface un del sequente regulas'; +$labels['filterany'] = 'tote le messages'; +$labels['filtercontains'] = 'contine'; +$labels['filternotcontains'] = 'non contine'; +$labels['filteris'] = 'es equal a'; +$labels['filterisnot'] = 'non es equal a'; +$labels['filterexists'] = 'existe'; +$labels['filternotexists'] = 'non existe'; +$labels['filtermatches'] = 'corresponde al expression'; +$labels['filternotmatches'] = 'non corresponde al expression'; +$labels['filterregex'] = 'corresponde al expression regular'; +$labels['filternotregex'] = 'non corresponde al expression regular'; +$labels['filterunder'] = 'sub'; +$labels['filterover'] = 'super'; +$labels['addrule'] = 'Adder regula'; +$labels['delrule'] = 'Deler regula'; +$labels['messagemoveto'] = 'Displaciar message a'; +$labels['messageredirect'] = 'Rediriger message a'; +$labels['messagecopyto'] = 'Copiar message a'; +$labels['messagesendcopy'] = 'Inviar copia del message a'; +$labels['messagereply'] = 'Responder con message'; +$labels['messagedelete'] = 'Deler message'; +$labels['messagediscard'] = 'Abandonar con message'; +$labels['messagekeep'] = 'Retener message in cassa de entrata'; +$labels['messagesrules'] = 'Pro messages entrante:'; +$labels['messagesactions'] = '...executar le sequente actiones:'; +$labels['add'] = 'Adder'; +$labels['del'] = 'Deler'; +$labels['sender'] = 'Expeditor'; +$labels['recipient'] = 'Destinatario'; +$labels['vacationaddr'] = 'Mi additional adresse(s) de e-mail:'; +$labels['vacationdays'] = 'Frequentia de invio de messages (in dies):'; +$labels['vacationinterval'] = 'Frequentia de invio de messages:'; +$labels['vacationreason'] = 'Texto del message (motivo del absentia):'; +$labels['vacationsubject'] = 'Subjecto del message:'; +$labels['days'] = 'dies'; +$labels['seconds'] = 'secundas'; +$labels['rulestop'] = 'Cessar de evalutar regulas'; +$labels['enable'] = 'Activar/Disactivar'; +$labels['filterset'] = 'Gruppo de filtros'; +$labels['filtersets'] = 'Gruppos de filtros'; +$labels['filtersetadd'] = 'Adder gruppo de filtros'; +$labels['filtersetdel'] = 'Deler le gruppo de filtros actual'; +$labels['filtersetact'] = 'Activar le gruppo de filtros actual'; +$labels['filtersetdeact'] = 'Disactivar le gruppo de filtros actual'; +$labels['filterdef'] = 'Definition del filtro'; +$labels['filtersetname'] = 'Nomine del gruppo de filtros'; +$labels['newfilterset'] = 'Nove gruppo de filtros'; +$labels['active'] = 'active'; +$labels['none'] = 'nulle'; +$labels['fromset'] = 'ab gruppo'; +$labels['fromfile'] = 'ab file'; +$labels['filterdisabled'] = 'Filtro disactivate'; +$labels['countisgreaterthan'] = 'numero es superior a'; +$labels['countisgreaterthanequal'] = 'numero es superior o equal a'; +$labels['countislessthan'] = 'numero es inferior a'; +$labels['countislessthanequal'] = 'numero es inferior o equal a'; +$labels['countequals'] = 'numero es equal a'; +$labels['countnotequals'] = 'numero non es equal a'; +$labels['valueisgreaterthan'] = 'valor es superior a'; +$labels['valueisgreaterthanequal'] = 'valor es superior o equal a'; +$labels['valueislessthan'] = 'valor es inferior a'; +$labels['valueislessthanequal'] = 'valor es inferior o equal a'; +$labels['valueequals'] = 'valor es equal a'; +$labels['valuenotequals'] = 'valor non es equal a'; +$labels['setflags'] = 'Mitter signales al message'; +$labels['addflags'] = 'Adder signales al message'; +$labels['removeflags'] = 'Remover signales del message'; +$labels['flagread'] = 'Legite'; +$labels['flagdeleted'] = 'Delite'; +$labels['flaganswered'] = 'Respondite'; +$labels['flagflagged'] = 'Signalate'; +$labels['flagdraft'] = 'Version provisori'; +$labels['setvariable'] = 'Definir variabile'; +$labels['setvarname'] = 'Nomine del variabile:'; +$labels['setvarvalue'] = 'Valor del variabile:'; +$labels['setvarmodifiers'] = 'Modificatores:'; +$labels['varlower'] = 'minusculas'; +$labels['varupper'] = 'majusculas'; +$labels['varlowerfirst'] = 'prime character es minuscula'; +$labels['varupperfirst'] = 'prime character es majuscula'; +$labels['varquotewildcard'] = 'mitter characteres special inter virgulettas'; +$labels['varlength'] = 'longitude'; +$labels['notify'] = 'Inviar notification'; +$labels['notifytarget'] = 'Scopo del notification:'; +$labels['notifymessage'] = 'Message del notification (optional):'; +$labels['notifyoptions'] = 'Optiones de notification (optional):'; +$labels['notifyfrom'] = 'Expeditor del notification (optional):'; +$labels['notifyimportance'] = 'Importantia:'; +$labels['notifyimportancelow'] = 'basse'; +$labels['notifyimportancenormal'] = 'normal'; +$labels['notifyimportancehigh'] = 'alte'; +$labels['notifymethodmailto'] = 'E-mail'; +$labels['notifymethodtel'] = 'Telephono'; +$labels['notifymethodsms'] = 'SMS'; +$labels['filtercreate'] = 'Crear filtro'; +$labels['usedata'] = 'Usar le sequente datos in le filtro:'; +$labels['nextstep'] = 'Proxime passo'; +$labels['...'] = '...'; +$labels['currdate'] = 'Data actual'; +$labels['datetest'] = 'Data'; +$labels['dateheader'] = 'capite:'; +$labels['year'] = 'anno'; +$labels['month'] = 'mense'; +$labels['day'] = 'die'; +$labels['date'] = 'data (aaaa-mm-dd)'; +$labels['julian'] = 'data (julian)'; +$labels['hour'] = 'hora'; +$labels['minute'] = 'minuta'; +$labels['second'] = 'secunda'; +$labels['time'] = 'hora (hh:mm:ss)'; +$labels['iso8601'] = 'data (ISO8601)'; +$labels['std11'] = 'data (RFC2822)'; +$labels['zone'] = 'fuso horari'; +$labels['weekday'] = 'die del septimana (0-6)'; +$labels['advancedopts'] = 'Optiones avantiate'; +$labels['body'] = 'Texto'; +$labels['address'] = 'adresse'; +$labels['envelope'] = 'inveloppe'; +$labels['modifier'] = 'modificator:'; +$labels['text'] = 'texto'; +$labels['undecoded'] = 'non decodificate (crude)'; +$labels['contenttype'] = 'typo de contento'; +$labels['modtype'] = 'typo:'; +$labels['allparts'] = 'totes'; +$labels['domain'] = 'dominio'; +$labels['localpart'] = 'parte local'; +$labels['user'] = 'usator'; +$labels['detail'] = 'detalio'; +$labels['comparator'] = 'comparator:'; +$labels['default'] = 'predefinite'; +$labels['octet'] = 'stricte (octetto)'; +$labels['asciicasemap'] = 'non sensibile al differentia inter majusculas e minusculas (ascii-casemap)'; +$labels['asciinumeric'] = 'numeric (ascii-numeric)'; +$labels['index'] = 'indice:'; +$labels['indexlast'] = 'a retro'; +$labels['vacation'] = 'Vacantias'; +$labels['vacation.reply'] = 'Message de responsa'; +$labels['vacation.advanced'] = 'Configuration avantiate'; +$labels['vacation.subject'] = 'Subjecto'; +$labels['vacation.body'] = 'Texto'; +$labels['vacation.start'] = 'Initio del vacantias'; +$labels['vacation.end'] = 'Fin del vacantias'; +$labels['vacation.status'] = 'Stato'; +$labels['vacation.on'] = 'Active'; +$labels['vacation.off'] = 'Non active'; +$labels['vacation.addresses'] = 'Mi adresses additional'; +$labels['vacation.interval'] = 'Intervallo de responsa'; +$labels['vacation.after'] = 'Mitter le regula de vacantias post'; +$labels['vacation.saving'] = 'A salveguardar datos...'; +$labels['vacation.action'] = 'Action pro message entrante'; +$labels['vacation.keep'] = 'Retener'; +$labels['vacation.discard'] = 'Abandonar'; +$labels['vacation.redirect'] = 'Rediriger a'; +$labels['vacation.copy'] = 'Inviar copia a'; +$labels['arialabelfiltersetactions'] = 'Actiones de gruppo de filtros'; +$labels['arialabelfilteractions'] = 'Actiones de filtro'; +$labels['arialabelfilterform'] = 'Proprietates de filtro'; +$labels['ariasummaryfilterslist'] = 'Lista de filtros'; +$labels['ariasummaryfiltersetslist'] = 'Lista de gruppos de filtros'; +$labels['filterstitle'] = 'Modificar filtros de e-mail entrante'; +$labels['vacationtitle'] = 'Modificar regula de absentia'; +$messages['filterunknownerror'] = 'Error de servitor incognite.'; +$messages['filterconnerror'] = 'Impossibile connecter al servitor.'; +$messages['filterdeleteerror'] = 'Impossibile deler le filtro. Un error de servitor ha occurrite.'; +$messages['filterdeleted'] = 'Le filtro ha essite delite.'; +$messages['filtersaved'] = 'Le filtro ha essite salveguardate.'; +$messages['filtersaveerror'] = 'Impossibile salveguardar le filtro. Un error de servitor ha occurrite.'; +$messages['filterdeleteconfirm'] = 'Es vos secur de voler deler le filtro seligite?'; +$messages['ruledeleteconfirm'] = 'Es vos secur de voler deler le regula seligite?'; +$messages['actiondeleteconfirm'] = 'Es vos secur de voler deler le action seligite?'; +$messages['forbiddenchars'] = 'Le campo contine characteres interdicte.'; +$messages['cannotbeempty'] = 'Le campo non pote esser vacue.'; +$messages['ruleexist'] = 'Un filtro con le nomine specificate jam existe.'; +$messages['setactivateerror'] = 'Impossibile activar le gruppo de filtros seligite. Un error de servitor ha occurrite.'; +$messages['setdeactivateerror'] = 'Impossibile disactivar le gruppo de filtros seligite. Un error de servitor ha occurrite.'; +$messages['setdeleteerror'] = 'Impossibile deler le gruppo de filtros seligite. Un error de servitor ha occurrite.'; +$messages['setactivated'] = 'Le gruppo de filtros ha essite activate.'; +$messages['setdeactivated'] = 'Le gruppo de filtros ha essite disactivate.'; +$messages['setdeleted'] = 'Le gruppo de filtros ha essite delite.'; +$messages['setdeleteconfirm'] = 'Es vos secur de voler deler le gruppo de filtros seligite?'; +$messages['setcreateerror'] = 'Impossibile crear le gruppo de filtros. Un error de servitor ha occurrite.'; +$messages['setcreated'] = 'Le gruppo de filtros ha essite create.'; +$messages['activateerror'] = 'Impossibile activar le filtro(s) seligite. Un error de servitor ha occurrite.'; +$messages['deactivateerror'] = 'Impossibile disactivar le filtro(s) seligite. Un error de servitor ha occurrite.'; +$messages['deactivated'] = 'Le filtro(s) ha essite disactivate.'; +$messages['activated'] = 'Le filtro(s) ha essite activate.'; +$messages['moved'] = 'Le filtro ha essite displaciate.'; +$messages['moveerror'] = 'Impossibile displaciar le filtro seligite. Un error de servitor ha occurrite.'; +$messages['nametoolong'] = 'Le nomine es troppo longe.'; +$messages['namereserved'] = 'Nomine reservate.'; +$messages['setexist'] = 'Le gruppo jam existe.'; +$messages['nodata'] = 'Al minus un position debe esser seligite.'; +$messages['invaliddateformat'] = 'Le formato del data o del parte de data non es valide'; +$messages['saveerror'] = 'Impossibile salveguardar le datos. Un error de servitor ha occurrite.'; +$messages['vacationsaved'] = 'Le datos del vacantias ha essite salveguardate.'; +$messages['emptyvacationbody'] = 'Le texto del message de vacantias es obligatori.'; +?> diff --git a/plugins/managesieve/localization/id_ID.inc b/plugins/managesieve/localization/id_ID.inc new file mode 100644 index 000000000..b445ef65e --- /dev/null +++ b/plugins/managesieve/localization/id_ID.inc @@ -0,0 +1,221 @@ +<?php + +/* + +-----------------------------------------------------------------------+ + | plugins/managesieve/localization/<lang>.inc | + | | + | Localization file of the Roundcube Webmail Managesieve 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-managesieve/ +*/ +$labels['filters'] = 'Filter'; +$labels['managefilters'] = 'Atur filter email masuk'; +$labels['filtername'] = 'Nama filter'; +$labels['newfilter'] = 'Filter baru'; +$labels['filteradd'] = 'Tambah filter'; +$labels['filterdel'] = 'Hapus filter'; +$labels['moveup'] = 'Pindah ke atas'; +$labels['movedown'] = 'Pindah ke bawah'; +$labels['filterallof'] = 'cocok dengan semua aturan berikut ini'; +$labels['filteranyof'] = 'cocok dengan aturan manapun'; +$labels['filterany'] = 'semua pesan'; +$labels['filtercontains'] = 'berisi'; +$labels['filternotcontains'] = 'tidak berisi'; +$labels['filteris'] = 'sama dengan'; +$labels['filterisnot'] = 'tidak sama dengan'; +$labels['filterexists'] = 'ada'; +$labels['filternotexists'] = 'tidak ada'; +$labels['filtermatches'] = 'ekspresi yg cocok'; +$labels['filternotmatches'] = 'ekspresi yg tidak cocok'; +$labels['filterregex'] = 'cocok dengan ekspresi reguler'; +$labels['filternotregex'] = 'tidak cocok dengan ekspresi reguler'; +$labels['filterunder'] = 'di bawah'; +$labels['filterover'] = 'di atas'; +$labels['addrule'] = 'Tambah aturan'; +$labels['delrule'] = 'Hapus aturan'; +$labels['messagemoveto'] = 'Pindah pesan ke'; +$labels['messageredirect'] = 'Alihkan pesan ke'; +$labels['messagecopyto'] = 'Salin pesan ke'; +$labels['messagesendcopy'] = 'Kirim salinan pesan ke'; +$labels['messagereply'] = 'balas dengan pesan'; +$labels['messagedelete'] = 'Hapus pesan'; +$labels['messagediscard'] = 'Buang dengan pesan'; +$labels['messagekeep'] = 'Biarkan pesan tetap didalam kotak surat'; +$labels['messagesrules'] = 'Untuk email masuk:'; +$labels['messagesactions'] = '...lakukan tindakan berikut'; +$labels['add'] = 'Tambah'; +$labels['del'] = 'Hapus'; +$labels['sender'] = 'Pengirim'; +$labels['recipient'] = 'Penerima'; +$labels['vacationaddr'] = 'Alamat email tambahan saya:'; +$labels['vacationdays'] = 'Seberapa sering mengirim pesan (dalam hari):'; +$labels['vacationinterval'] = 'Seberapa sering untuk pengiriman pesan:'; +$labels['vacationreason'] = 'Isi pesan (alasan liburan):'; +$labels['vacationsubject'] = 'Judul pesan:'; +$labels['days'] = 'hari'; +$labels['seconds'] = 'detik'; +$labels['rulestop'] = 'Berhenti mengevaluasi aturan'; +$labels['enable'] = 'Aktifkan/Non-Aktifkan'; +$labels['filterset'] = 'Himpunan filter'; +$labels['filtersets'] = 'Himpunan banyak filter'; +$labels['filtersetadd'] = 'Tambahkan himpunan filter'; +$labels['filtersetdel'] = 'Hapus himpunan filter yang sekarang'; +$labels['filtersetact'] = 'Aktifkan himpunan filter ayng sekarang'; +$labels['filtersetdeact'] = 'Matikan himpunan filter ayng sekarang'; +$labels['filterdef'] = 'Definisi filter'; +$labels['filtersetname'] = 'Nama himpunan filter'; +$labels['newfilterset'] = 'Himpunan filter baru'; +$labels['active'] = 'aktif'; +$labels['none'] = 'nihil'; +$labels['fromset'] = 'dari himpunan'; +$labels['fromfile'] = 'dari berkas'; +$labels['filterdisabled'] = 'Filter dimatikan'; +$labels['countisgreaterthan'] = 'penghitungan lebih besar dari'; +$labels['countisgreaterthanequal'] = 'penghitungan lebih besa dari atau sama dengan'; +$labels['countislessthan'] = 'penghitungan lebih kecil dari'; +$labels['countislessthanequal'] = 'penghitungan lebih kecil dari atau sama dengan'; +$labels['countequals'] = 'penghitungan sama dengan'; +$labels['countnotequals'] = 'penghitungan tidak sama dengan'; +$labels['valueisgreaterthan'] = 'nilai lebih besar dari'; +$labels['valueisgreaterthanequal'] = 'nilai lebih besar dari atau sama dengan'; +$labels['valueislessthan'] = 'nilai lebih kecil dari'; +$labels['valueislessthanequal'] = 'nilai lebih kecil dari atau sama dengan'; +$labels['valueequals'] = 'nilai sama dengan'; +$labels['valuenotequals'] = 'nilai tidak sadengan'; +$labels['setflags'] = 'Atur tanda pada pesan'; +$labels['addflags'] = 'Berikan tanda pada pesan'; +$labels['removeflags'] = 'Cabut tanda dari pesan'; +$labels['flagread'] = 'Baca'; +$labels['flagdeleted'] = 'Terhapus'; +$labels['flaganswered'] = 'Terjawab'; +$labels['flagflagged'] = 'Ditandai'; +$labels['flagdraft'] = 'Konsep'; +$labels['setvariable'] = 'Set variabel'; +$labels['setvarname'] = 'Nama variabel:'; +$labels['setvarvalue'] = 'Nilai variabel'; +$labels['setvarmodifiers'] = 'Pengubah'; +$labels['varlower'] = 'huruf kecil'; +$labels['varupper'] = 'huruf besar'; +$labels['varlowerfirst'] = 'karakter pertama huruf kecil'; +$labels['varupperfirst'] = 'karakter pertama huruf besar'; +$labels['varquotewildcard'] = 'kutip karakter khusus'; +$labels['varlength'] = 'panjang'; +$labels['notify'] = 'Kirim pemberitahuan'; +$labels['notifytarget'] = 'Pemberitahuan yang dituju:'; +$labels['notifymessage'] = 'Pemberitahuan pesan (pilihan):'; +$labels['notifyoptions'] = 'Pemberitahuan untuk beberapa pilihan (pilihan):'; +$labels['notifyfrom'] = 'Pemberitahuan ke pengirim (tidak harus):'; +$labels['notifyimportance'] = 'Tingkat kepentingan:'; +$labels['notifyimportancelow'] = 'rendah'; +$labels['notifyimportancenormal'] = 'normal'; +$labels['notifyimportancehigh'] = 'tinggi'; +$labels['notifymethodmailto'] = 'Surat Elektronik / Email'; +$labels['notifymethodtel'] = 'Telepon'; +$labels['notifymethodsms'] = 'SMS'; +$labels['filtercreate'] = 'Buat filter'; +$labels['usedata'] = 'Gunakan data berikut dalam filter:'; +$labels['nextstep'] = 'Langkah Selanjutnya'; +$labels['...'] = '...'; +$labels['currdate'] = 'Tanggal sekarang'; +$labels['datetest'] = 'Tanggal'; +$labels['dateheader'] = 'header / tajuk:'; +$labels['year'] = 'tahun'; +$labels['month'] = 'bulan'; +$labels['day'] = 'hari'; +$labels['date'] = 'tanggal (yyyy-mm-dd)'; +$labels['julian'] = 'tanggal (kalender julian)'; +$labels['hour'] = 'jam'; +$labels['minute'] = 'menit'; +$labels['second'] = 'detik'; +$labels['time'] = 'waktu :(hh:mm:ss)'; +$labels['iso8601'] = 'tanggal (ISO8601)'; +$labels['std11'] = 'tanggal (RFC2822)'; +$labels['zone'] = 'zona-waktu'; +$labels['weekday'] = 'hari kerja (0-6)'; +$labels['advancedopts'] = 'Pilihan lanjutan'; +$labels['body'] = 'Isi'; +$labels['address'] = 'alamat'; +$labels['envelope'] = 'amplop'; +$labels['modifier'] = 'peubah:'; +$labels['text'] = 'teks'; +$labels['undecoded'] = 'praterjemahan (mentah)'; +$labels['contenttype'] = 'tipe isi'; +$labels['modtype'] = 'tipe:'; +$labels['allparts'] = 'semua'; +$labels['domain'] = 'domain'; +$labels['localpart'] = 'bagian lokal'; +$labels['user'] = 'pengguna'; +$labels['detail'] = 'rinci'; +$labels['comparator'] = 'pembanding:'; +$labels['default'] = 'standar'; +$labels['octet'] = 'ketat (oktet)'; +$labels['asciicasemap'] = 'case insensitive (ascii-casemap)'; +$labels['asciinumeric'] = 'numeric (ascii-numeric)'; +$labels['index'] = 'indeks:'; +$labels['indexlast'] = 'mundur:'; +$labels['vacation'] = 'Liburan'; +$labels['vacation.reply'] = 'Balas pesan'; +$labels['vacation.advanced'] = 'Pengaturan Lanjutan'; +$labels['vacation.subject'] = 'Judul'; +$labels['vacation.body'] = 'Isi'; +$labels['vacation.status'] = 'Status'; +$labels['vacation.on'] = 'Nyala'; +$labels['vacation.off'] = 'Mati'; +$labels['vacation.addresses'] = 'Alamat email tambahan saya'; +$labels['vacation.interval'] = 'Balas secara interval'; +$labels['vacation.after'] = 'Atur untuk pengaturan cuti setelah'; +$labels['vacation.saving'] = 'Menyimpan data...'; +$labels['vacation.action'] = 'Tindakan untuk pesan masuk'; +$labels['vacation.keep'] = 'Simpan'; +$labels['vacation.discard'] = 'Buang'; +$labels['vacation.redirect'] = 'Alihkan ke'; +$labels['vacation.copy'] = 'Kirim salinan ke'; +$labels['arialabelfiltersetactions'] = 'Tindakan untuk penyaringan'; +$labels['arialabelfilteractions'] = 'Tindakan penyaringan'; +$labels['arialabelfilterform'] = 'Properti untuk penyaringan'; +$labels['ariasummaryfilterslist'] = 'Daftar penyaringan'; +$labels['ariasummaryfiltersetslist'] = 'Daftar penyaringan yang telah di set'; +$labels['filterstitle'] = 'Ubah penyaringan untuk email masuk'; +$labels['vacationtitle'] = 'Ubah aturan untuk sedang-diluar-kantor'; +$messages['filterunknownerror'] = 'Error pada server tak dikenali.'; +$messages['filterconnerror'] = 'Tidak dapat menyambung ke server.'; +$messages['filterdeleteerror'] = 'Tidak dapat menghapus penyaringan. Terjadi kesalahan pada server.'; +$messages['filterdeleted'] = 'Penyaringan berhasil dihapus.'; +$messages['filtersaved'] = 'Penyaringan berhasil disimpan.'; +$messages['filtersaveerror'] = 'Tidak dapat menyimpan penyaringan. Terjadi kesalahan pada server.'; +$messages['filterdeleteconfirm'] = 'Yakin untuk menghapus penyaringan terpilih?'; +$messages['ruledeleteconfirm'] = 'Yakin untuk menghapus aturan terpilih?'; +$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 dapat mengaktivkan kumpulan penyaringan terpilih. Terjadi kesalahan pada server.'; +$messages['setdeactivateerror'] = 'Tidak bisa mematikan kumpulan penyaringan terpilih. Terjadi kesalahan pada server.'; +$messages['setdeleteerror'] = 'Tidak dapat menghapus kumpulan penyaringan terpilih. Terjadi kesalahan pada server.'; +$messages['setactivated'] = 'Kumpulan penyaringan berhasil dihidupkan.'; +$messages['setdeactivated'] = 'Kumpulan penyaringan berhasil dimatikan.'; +$messages['setdeleted'] = 'Kumpulan penyaringan berhasil dihapus.'; +$messages['setdeleteconfirm'] = 'Yakin ingin menghapus kumpulan penyaringan terpilih?'; +$messages['setcreateerror'] = 'Tidak bisa membuat kumpulan penyaringan. Terjadi kesalahan pada server'; +$messages['setcreated'] = 'Kumpulan penyaringan berhasul 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.'; +$messages['activated'] = 'Berhasil mematikan penyaringan.'; +$messages['moved'] = 'Berhasil memindahkan penyaringan.'; +$messages['moveerror'] = 'Tidak bisa memindahkan penyaringan terpilih. Ada kesalahan di server.'; +$messages['nametoolong'] = 'Nama terlalu panjang.'; +$messages['namereserved'] = 'Nama sudah terpesan.'; +$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 untuk cuti berhasil disimpan.'; +?> diff --git a/plugins/managesieve/localization/it_IT.inc b/plugins/managesieve/localization/it_IT.inc new file mode 100644 index 000000000..b97fde843 --- /dev/null +++ b/plugins/managesieve/localization/it_IT.inc @@ -0,0 +1,224 @@ +<?php + +/* + +-----------------------------------------------------------------------+ + | plugins/managesieve/localization/<lang>.inc | + | | + | Localization file of the Roundcube Webmail Managesieve 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-managesieve/ +*/ +$labels['filters'] = 'Filtri'; +$labels['managefilters'] = 'Gestione dei filtri per la posta in arrivo'; +$labels['filtername'] = 'Nome del filtro'; +$labels['newfilter'] = 'Nuovo filtro'; +$labels['filteradd'] = 'Aggiungi filtro'; +$labels['filterdel'] = 'Elimina filtro'; +$labels['moveup'] = 'Sposta sopra'; +$labels['movedown'] = 'Sposta sotto'; +$labels['filterallof'] = 'che soddisfa tutte le regole seguenti'; +$labels['filteranyof'] = 'che soddisfa una qualsiasi delle regole seguenti'; +$labels['filterany'] = 'tutti i messaggi'; +$labels['filtercontains'] = 'contiene'; +$labels['filternotcontains'] = 'non contiene'; +$labels['filteris'] = 'è uguale a'; +$labels['filterisnot'] = 'è diverso da'; +$labels['filterexists'] = 'esiste'; +$labels['filternotexists'] = 'non esiste'; +$labels['filtermatches'] = 'matcha l\'espressione'; +$labels['filternotmatches'] = 'non matcha l\'espressione'; +$labels['filterregex'] = 'matcha l\'espressione regolare'; +$labels['filternotregex'] = 'non matcha l\'espressione regolare'; +$labels['filterunder'] = 'sotto'; +$labels['filterover'] = 'sopra'; +$labels['addrule'] = 'Aggiungi regola'; +$labels['delrule'] = 'Elimina regola'; +$labels['messagemoveto'] = 'Sposta il messaggio in'; +$labels['messageredirect'] = 'Inoltra il messaggio a'; +$labels['messagecopyto'] = 'copia a'; +$labels['messagesendcopy'] = 'Invia copia a'; +$labels['messagereply'] = 'Rispondi con il messaggio'; +$labels['messagedelete'] = 'Elimina il messaggio'; +$labels['messagediscard'] = 'Rifiuta con messaggio'; +$labels['messagekeep'] = 'Mantieni il messaggio in Posta ricevuta'; +$labels['messagesrules'] = 'Per la posta in arrivo'; +$labels['messagesactions'] = '...esegui le seguenti azioni:'; +$labels['add'] = 'Aggiungi'; +$labels['del'] = 'Elimina'; +$labels['sender'] = 'Mittente'; +$labels['recipient'] = 'Destinatario'; +$labels['vacationaddr'] = 'Account email aggiuntivo(i):'; +$labels['vacationdays'] = 'Ogni quanti giorni ribadire il messaggio allo stesso mittente'; +$labels['vacationinterval'] = 'Ogni quanto tempo inviare i messaggi:'; +$labels['vacationreason'] = 'Corpo del messaggio (dettagli relativi all\'assenza):'; +$labels['vacationsubject'] = 'Oggetto del messaggio'; +$labels['days'] = 'giorni'; +$labels['seconds'] = 'secondi'; +$labels['rulestop'] = 'Non valutare le regole successive'; +$labels['enable'] = 'Abilita/disabilita'; +$labels['filterset'] = 'Gruppi di filtri'; +$labels['filtersets'] = 'gruppo di filtri'; +$labels['filtersetadd'] = 'Aggiungi gruppo'; +$labels['filtersetdel'] = 'Cancella gruppo selezionato'; +$labels['filtersetact'] = 'Attiva gruppo selezionato'; +$labels['filtersetdeact'] = 'Disattiva gruppo selezionato'; +$labels['filterdef'] = 'Definizione del filtro'; +$labels['filtersetname'] = 'Nome del Gruppo di filtri'; +$labels['newfilterset'] = 'Nuovo gruppo di filri'; +$labels['active'] = 'attivo'; +$labels['none'] = 'nessuno'; +$labels['fromset'] = 'dal set'; +$labels['fromfile'] = 'dal file'; +$labels['filterdisabled'] = 'Filtro disabilitato'; +$labels['countisgreaterthan'] = 'somma maggiore di'; +$labels['countisgreaterthanequal'] = 'somma maggiore uguale a'; +$labels['countislessthan'] = 'somma minore di'; +$labels['countislessthanequal'] = 'somma minore o uguale a'; +$labels['countequals'] = 'somma uguale a'; +$labels['countnotequals'] = 'il conteggio non è uguale a'; +$labels['valueisgreaterthan'] = 'valore maggiore di'; +$labels['valueisgreaterthanequal'] = 'valore maggiore uguale a'; +$labels['valueislessthan'] = 'valore minore di'; +$labels['valueislessthanequal'] = 'valore minore uguale di'; +$labels['valueequals'] = 'valore uguale a'; +$labels['valuenotequals'] = 'il valore non è uguale a'; +$labels['setflags'] = 'Contrassegna il messaggio'; +$labels['addflags'] = 'aggiungi flag al messaggio'; +$labels['removeflags'] = 'togli flag dal messaggio'; +$labels['flagread'] = 'Letto'; +$labels['flagdeleted'] = 'Cancellato'; +$labels['flaganswered'] = 'Risposto'; +$labels['flagflagged'] = 'Contrassegna'; +$labels['flagdraft'] = 'Bozza'; +$labels['setvariable'] = 'Imposta variabile'; +$labels['setvarname'] = 'Nome variabile:'; +$labels['setvarvalue'] = 'Valore variabile:'; +$labels['setvarmodifiers'] = 'Modificatori:'; +$labels['varlower'] = 'minuscole'; +$labels['varupper'] = 'maiuscole'; +$labels['varlowerfirst'] = 'primo carattere minuscolo'; +$labels['varupperfirst'] = 'primo carattere maiuscolo'; +$labels['varquotewildcard'] = 'caratteri speciali di quoting'; +$labels['varlength'] = 'lunghezza'; +$labels['notify'] = 'Invia notifica'; +$labels['notifytarget'] = 'Destinatario della notifica'; +$labels['notifymessage'] = 'Messaggio di notifica (opzionale):'; +$labels['notifyoptions'] = 'Opzioni di notifica (opzionale):'; +$labels['notifyfrom'] = 'Mittente della notifica (opzionale):'; +$labels['notifyimportance'] = 'Importanza:'; +$labels['notifyimportancelow'] = 'bassa'; +$labels['notifyimportancenormal'] = 'normale'; +$labels['notifyimportancehigh'] = 'alta'; +$labels['notifymethodmailto'] = 'Email'; +$labels['notifymethodtel'] = 'Telefono'; +$labels['notifymethodsms'] = 'SMS'; +$labels['filtercreate'] = 'Crea filtro'; +$labels['usedata'] = 'utilizza i seguenti dati nel filtro'; +$labels['nextstep'] = 'passo successivo'; +$labels['...'] = '...'; +$labels['currdate'] = 'Data attuale'; +$labels['datetest'] = 'Data'; +$labels['dateheader'] = 'intestazione:'; +$labels['year'] = 'anno'; +$labels['month'] = 'mese'; +$labels['day'] = 'giorno'; +$labels['date'] = 'data (aaaa-mm-gg)'; +$labels['julian'] = 'data (Giuliana)'; +$labels['hour'] = 'ora'; +$labels['minute'] = 'minuto'; +$labels['second'] = 'secondo'; +$labels['time'] = 'tempo (hh:mm:ss)'; +$labels['iso8601'] = 'data (ISO8601)'; +$labels['std11'] = 'data (RFC2822)'; +$labels['zone'] = 'fuso orario'; +$labels['weekday'] = 'giorno della settimana (0-6)'; +$labels['advancedopts'] = 'Opzioni avanzate'; +$labels['body'] = 'Corpo'; +$labels['address'] = 'indirizzo'; +$labels['envelope'] = 'busta'; +$labels['modifier'] = 'modificatore:'; +$labels['text'] = 'testo'; +$labels['undecoded'] = 'non decodificato (raw)'; +$labels['contenttype'] = 'content type'; +$labels['modtype'] = 'tipo:'; +$labels['allparts'] = 'tutto'; +$labels['domain'] = 'dominio'; +$labels['localpart'] = 'parte locale'; +$labels['user'] = 'user'; +$labels['detail'] = 'dettaglio'; +$labels['comparator'] = 'comparatore'; +$labels['default'] = 'predefinito'; +$labels['octet'] = 'strict (octet)'; +$labels['asciicasemap'] = 'non differenziare maiuscole/minuscole (ascii-casemap)'; +$labels['asciinumeric'] = 'numerico'; +$labels['index'] = 'indice:'; +$labels['indexlast'] = 'indietro'; +$labels['vacation'] = 'Vacanza'; +$labels['vacation.reply'] = 'Messaggio di risposta'; +$labels['vacation.advanced'] = 'Impostazioni avanzate'; +$labels['vacation.subject'] = 'Oggetto'; +$labels['vacation.body'] = 'Testo'; +$labels['vacation.start'] = 'Inizio vacanza'; +$labels['vacation.end'] = 'Fine vacanza'; +$labels['vacation.status'] = 'Stato'; +$labels['vacation.on'] = 'Attivato'; +$labels['vacation.off'] = 'Disattivato'; +$labels['vacation.addresses'] = 'I miei indirizzi aggiuntivi'; +$labels['vacation.interval'] = 'Intervallo di risposta'; +$labels['vacation.after'] = 'Imposta regola di vacanza dopo'; +$labels['vacation.saving'] = 'Salvataggio...'; +$labels['vacation.action'] = 'Azione messaggio in arrivo'; +$labels['vacation.keep'] = 'Mantieni'; +$labels['vacation.discard'] = 'Elimina'; +$labels['vacation.redirect'] = 'Ridireziona a'; +$labels['vacation.copy'] = 'Invia copia a'; +$labels['arialabelfiltersetactions'] = 'Azione settaggio dei filtri '; +$labels['arialabelfilteractions'] = 'Azione Filtri'; +$labels['arialabelfilterform'] = 'Proprietà filtri'; +$labels['ariasummaryfilterslist'] = 'Lista dei filtri'; +$labels['ariasummaryfiltersetslist'] = 'Lista settaggio dei filtri'; +$labels['filterstitle'] = 'Modifica filtri dei messaggio in arrivo'; +$labels['vacationtitle'] = 'Modifica le regole del Risponditore automatico'; +$messages['filterunknownerror'] = 'Errore sconosciuto del server'; +$messages['filterconnerror'] = 'Collegamento al server managesieve fallito'; +$messages['filterdeleteerror'] = 'Eliminazione del filtro fallita. Si è verificato un errore nel server.'; +$messages['filterdeleted'] = 'Filtro eliminato con successo'; +$messages['filtersaved'] = 'Filtro salvato con successo'; +$messages['filtersaveerror'] = 'Salvataggio del filtro fallito. Si è verificato un errore nel server.'; +$messages['filterdeleteconfirm'] = 'Vuoi veramente eliminare il filtro selezionato?'; +$messages['ruledeleteconfirm'] = 'Sei sicuro di voler eliminare la regola selezionata?'; +$messages['actiondeleteconfirm'] = 'Sei sicuro di voler eliminare l\'azione selezionata?'; +$messages['forbiddenchars'] = 'Caratteri non consentiti nel campo'; +$messages['cannotbeempty'] = 'Il campo non può essere vuoto'; +$messages['ruleexist'] = 'Esiste già un filtro con questo nome'; +$messages['setactivateerror'] = 'Impossibile attivare il filtro. Errore del server.'; +$messages['setdeactivateerror'] = 'Impossibile disattivare i filtri selezionati. Errore del server.'; +$messages['setdeleteerror'] = 'Impossibile cancellare i filtri selezionati. Errore del server.'; +$messages['setactivated'] = 'Filtro attivato'; +$messages['setdeactivated'] = 'Filtro disattivato'; +$messages['setdeleted'] = 'Filtro cancellato'; +$messages['setdeleteconfirm'] = 'Sei sicuro di voler cancellare il gruppo di filtri'; +$messages['setcreateerror'] = 'Impossibile creare il gruppo di filtri. Errore del server.'; +$messages['setcreated'] = 'Gruppo di filtri creato'; +$messages['activateerror'] = 'Impossibile abilitare i filtri selzionati. Errore del server.'; +$messages['deactivateerror'] = 'impossibile disabilitare i filtri selezionati. Errore del server.'; +$messages['deactivated'] = 'filtro abilitato'; +$messages['activated'] = 'filtro disabilitato'; +$messages['moved'] = 'filtro spostato'; +$messages['moveerror'] = 'impossibile spostare il filtro selezionato. Errore del server.'; +$messages['nametoolong'] = 'Impossibile creare il gruppo: Nome troppo lungo'; +$messages['namereserved'] = 'nome riservato'; +$messages['setexist'] = 'Il gruppo esiste già'; +$messages['nodata'] = 'selezionare almeno una posizione'; +$messages['invaliddateformat'] = 'Formato della data non valido'; +$messages['saveerror'] = 'Impossibile salvare i dati. Errore del server.'; +$messages['vacationsaved'] = 'Dati di vacanza salvati correttamente.'; +$messages['emptyvacationbody'] = 'Il testo del messaggio non puo\' essere vuoto!'; +?> diff --git a/plugins/managesieve/localization/ja_JP.inc b/plugins/managesieve/localization/ja_JP.inc new file mode 100644 index 000000000..db04084bf --- /dev/null +++ b/plugins/managesieve/localization/ja_JP.inc @@ -0,0 +1,214 @@ +<?php + +/* + +-----------------------------------------------------------------------+ + | plugins/managesieve/localization/<lang>.inc | + | | + | Localization file of the Roundcube Webmail Managesieve 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-managesieve/ +*/ +$labels['filters'] = 'フィルター'; +$labels['managefilters'] = '受信メールのフィルターを管理'; +$labels['filtername'] = 'フィルター名'; +$labels['newfilter'] = '新しいフィルター'; +$labels['filteradd'] = 'フィルターを追加'; +$labels['filterdel'] = 'フィルターを削除'; +$labels['moveup'] = '上に移動'; +$labels['movedown'] = '下に移動'; +$labels['filterallof'] = '次のルールのすべてに一致'; +$labels['filteranyof'] = '次のルールのいずれかに一致'; +$labels['filterany'] = 'すべてのメッセージ'; +$labels['filtercontains'] = '含む'; +$labels['filternotcontains'] = '含まない'; +$labels['filteris'] = '次に等しい'; +$labels['filterisnot'] = '次に等しくない'; +$labels['filterexists'] = 'が存在'; +$labels['filternotexists'] = 'が存在しない'; +$labels['filtermatches'] = '次の式に一致'; +$labels['filternotmatches'] = '次の式に一致しない'; +$labels['filterregex'] = '次の正規表現に一致'; +$labels['filternotregex'] = '次の正規表現に一致しない'; +$labels['filterunder'] = 'より下'; +$labels['filterover'] = 'より上'; +$labels['addrule'] = 'ルールを追加'; +$labels['delrule'] = 'ルールを削除'; +$labels['messagemoveto'] = '次にメッセージを移動'; +$labels['messageredirect'] = '次のメールアドレスに転送'; +$labels['messagecopyto'] = '次にメッセージをコピー'; +$labels['messagesendcopy'] = '次にメッセージのコピーを送信'; +$labels['messagereply'] = 'メッセージを返信'; +$labels['messagedelete'] = 'メッセージを削除'; +$labels['messagediscard'] = 'メッセージを破棄'; +$labels['messagekeep'] = 'Keep message in Inbox'; +$labels['messagesrules'] = '受信したメールの処理:'; +$labels['messagesactions'] = '以下の操作を実行:'; +$labels['add'] = '追加'; +$labels['del'] = '削除'; +$labels['sender'] = '送信者'; +$labels['recipient'] = '宛先'; +$labels['vacationaddr'] = 'My additional e-mail address(es):'; +$labels['vacationdays'] = 'メッセージを(1日に)送信する頻度:'; +$labels['vacationinterval'] = 'メッセージを送信する頻度:'; +$labels['vacationreason'] = 'メッセージ本体(休暇の理由):'; +$labels['vacationsubject'] = 'メッセージの件名:'; +$labels['days'] = '日'; +$labels['seconds'] = '秒'; +$labels['rulestop'] = 'ルールの評価を停止'; +$labels['enable'] = '有効/無効'; +$labels['filterset'] = 'フィルターセット'; +$labels['filtersets'] = 'フィルターセット'; +$labels['filtersetadd'] = 'フィルターセットを追加'; +$labels['filtersetdel'] = '現在のフィルターセットを削除'; +$labels['filtersetact'] = '現在のフィルター セットを有効'; +$labels['filtersetdeact'] = '現在のフィルター セットを無効'; +$labels['filterdef'] = 'フィルターの定義'; +$labels['filtersetname'] = 'フィルターセットの名前'; +$labels['newfilterset'] = '新しいフィルターセット'; +$labels['active'] = '有効'; +$labels['none'] = 'なし'; +$labels['fromset'] = 'セットから'; +$labels['fromfile'] = 'ファイルから'; +$labels['filterdisabled'] = 'フィルターを無効にしました。'; +$labels['countisgreaterthan'] = 'より大きい回数'; +$labels['countisgreaterthanequal'] = '以上の回数'; +$labels['countislessthan'] = '未満の回数'; +$labels['countislessthanequal'] = '以下の回数'; +$labels['countequals'] = '次と等しい回数'; +$labels['countnotequals'] = 'count is not equal to'; +$labels['valueisgreaterthan'] = 'より大きい値'; +$labels['valueisgreaterthanequal'] = '以上の値'; +$labels['valueislessthan'] = '未満の値'; +$labels['valueislessthanequal'] = '以下の値'; +$labels['valueequals'] = '次と等しい値'; +$labels['valuenotequals'] = 'value is not equal to'; +$labels['setflags'] = 'メッセージにフラグを設定'; +$labels['addflags'] = 'メッセージにフラグを追加'; +$labels['removeflags'] = 'メッセージからフラグを削除'; +$labels['flagread'] = '既読'; +$labels['flagdeleted'] = '削除済み'; +$labels['flaganswered'] = '返信済み'; +$labels['flagflagged'] = 'フラグ付き'; +$labels['flagdraft'] = '下書き'; +$labels['setvariable'] = '変数を設定'; +$labels['setvarname'] = '変数の名前:'; +$labels['setvarvalue'] = '変数の値:'; +$labels['setvarmodifiers'] = '修飾子:'; +$labels['varlower'] = '小文字'; +$labels['varupper'] = '大文字'; +$labels['varlowerfirst'] = '最初の文字を小文字'; +$labels['varupperfirst'] = '最初の文字を大文字'; +$labels['varquotewildcard'] = '特殊文字を引用処理'; +$labels['varlength'] = '長さ'; +$labels['notify'] = '通知を送信'; +$labels['notifytarget'] = '通知の対象:'; +$labels['notifymessage'] = '通知のメッセージ(任意):'; +$labels['notifyoptions'] = '通知のオプション(任意):'; +$labels['notifyfrom'] = '通知の送信者(任意):'; +$labels['notifyimportance'] = '重要度:'; +$labels['notifyimportancelow'] = '低'; +$labels['notifyimportancenormal'] = '通常'; +$labels['notifyimportancehigh'] = '高'; +$labels['notifymethodmailto'] = '電子メール'; +$labels['notifymethodtel'] = '電話'; +$labels['notifymethodsms'] = 'SMS'; +$labels['filtercreate'] = 'フィルターを作成'; +$labels['usedata'] = 'フィルターで次のデータを使用'; +$labels['nextstep'] = '次のステップ'; +$labels['...'] = '...'; +$labels['currdate'] = 'Current date'; +$labels['datetest'] = 'Date'; +$labels['dateheader'] = 'header:'; +$labels['year'] = 'year'; +$labels['month'] = 'month'; +$labels['day'] = 'day'; +$labels['date'] = 'date (yyyy-mm-dd)'; +$labels['julian'] = 'date (julian)'; +$labels['hour'] = 'hour'; +$labels['minute'] = 'minute'; +$labels['second'] = 'second'; +$labels['time'] = 'time (hh:mm:ss)'; +$labels['iso8601'] = 'date (ISO8601)'; +$labels['std11'] = 'date (RFC2822)'; +$labels['zone'] = 'time-zone'; +$labels['weekday'] = 'weekday (0-6)'; +$labels['advancedopts'] = '高度なオプション'; +$labels['body'] = '本文'; +$labels['address'] = 'メールアドレス'; +$labels['envelope'] = 'エンベロープ'; +$labels['modifier'] = '修正:'; +$labels['text'] = 'テキスト'; +$labels['undecoded'] = '未デコード(そのまま)'; +$labels['contenttype'] = 'Content Type'; +$labels['modtype'] = '種類:'; +$labels['allparts'] = 'すべて'; +$labels['domain'] = 'ドメイン'; +$labels['localpart'] = 'ローカルパート'; +$labels['user'] = 'ユーザー'; +$labels['detail'] = '詳細'; +$labels['comparator'] = '比較器:'; +$labels['default'] = '初期値'; +$labels['octet'] = '厳密(オクテット)'; +$labels['asciicasemap'] = '大文字小文字を区別しない(ascii-casemap)'; +$labels['asciinumeric'] = '数値(ascii-numeric)'; +$labels['index'] = 'index:'; +$labels['indexlast'] = 'backwards'; +$labels['vacation'] = '休暇'; +$labels['vacation.reply'] = '返信のメッセージ'; +$labels['vacation.advanced'] = '詳細な設定'; +$labels['vacation.subject'] = '件名'; +$labels['vacation.body'] = '本文'; +$labels['vacation.status'] = '状態'; +$labels['vacation.on'] = 'オン'; +$labels['vacation.off'] = 'オフ'; +$labels['vacation.addresses'] = '追加のアドレス'; +$labels['vacation.interval'] = '返信の間隔'; +$labels['vacation.after'] = '後に休暇のルールを記入'; +$labels['vacation.saving'] = 'データを保存中...'; +$labels['arialabelfiltersetactions'] = 'フィルターセットの動作'; +$labels['arialabelfilteractions'] = 'フィルターの動作'; +$labels['arialabelfilterform'] = 'フィルターの特性'; +$labels['ariasummaryfilterslist'] = 'フィルターの一覧'; +$labels['ariasummaryfiltersetslist'] = 'フィルターセットの一覧'; +$messages['filterunknownerror'] = '不明なサーバーのエラーです。'; +$messages['filterconnerror'] = 'サーバに接続できません。'; +$messages['filterdeleteerror'] = 'フィルターを削除できません。サーバーでエラーが発生しました。'; +$messages['filterdeleted'] = 'フィルターを削除しました。'; +$messages['filtersaved'] = 'フィルターを保存しました。'; +$messages['filtersaveerror'] = 'フィルターの保存できません。サーバーでエラーが発生しました。'; +$messages['filterdeleteconfirm'] = '本当に選択したフィルターを削除しますか?'; +$messages['ruledeleteconfirm'] = '本当に選択したルールを削除しますか?'; +$messages['actiondeleteconfirm'] = '本当に選択した操作を削除しますか?'; +$messages['forbiddenchars'] = '項目に禁止している文字が含まれています。'; +$messages['cannotbeempty'] = '項目は空欄にできません。'; +$messages['ruleexist'] = '指定した名前のフィルターが既に存在します。'; +$messages['setactivateerror'] = '選択したフィルターセットを有効にできません。サーバーでエラーが発生しました。'; +$messages['setdeactivateerror'] = '選択したフィルターセットを無効にできません。サーバーでエラーが発生しました。'; +$messages['setdeleteerror'] = '選択したフィルターセットを削除できません。サーバーでエラーが発生しました。'; +$messages['setactivated'] = 'フィルターセットを有効にしました。'; +$messages['setdeactivated'] = 'フィルターセットを無効にしました。'; +$messages['setdeleted'] = 'フィルターセットを削除しました。'; +$messages['setdeleteconfirm'] = '本当に選択したフィルターセットを削除しますか?'; +$messages['setcreateerror'] = 'フィルターセットを作成できません。サーバーでエラーが発生しました。'; +$messages['setcreated'] = 'フィルターセットを作成しました。'; +$messages['activateerror'] = '選択したフィルターを有効にできません。サーバーでエラーが発生しました。'; +$messages['deactivateerror'] = '選択したフィルターを無効にできません。サーバーでエラーが発生しました。'; +$messages['deactivated'] = 'フィルターを有効にしました。'; +$messages['activated'] = 'フィルターを無効にしました。'; +$messages['moved'] = 'フィルターを移動しました。'; +$messages['moveerror'] = 'Unable to move selected filter. Server error occurred.'; +$messages['nametoolong'] = '名前が長すぎます。'; +$messages['namereserved'] = '予約されている名前です。'; +$messages['setexist'] = 'フィルターセットが既に存在します。'; +$messages['nodata'] = '少なくとも1つの場所を選択しなければなりません!'; +$messages['invaliddateformat'] = '無効な日付または日付部分の書式'; +$messages['saveerror'] = 'フィルターの保存できません。サーバーでエラーが発生しました。'; +$messages['vacationsaved'] = '休暇のデータを保存しました。'; +?> diff --git a/plugins/managesieve/localization/km_KH.inc b/plugins/managesieve/localization/km_KH.inc new file mode 100644 index 000000000..9d3de700b --- /dev/null +++ b/plugins/managesieve/localization/km_KH.inc @@ -0,0 +1,116 @@ +<?php + +/* + +-----------------------------------------------------------------------+ + | plugins/managesieve/localization/<lang>.inc | + | | + | Localization file of the Roundcube Webmail Managesieve 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-managesieve/ +*/ +$labels['filters'] = 'តម្រង'; +$labels['managefilters'] = 'គ្រប់គ្រងតម្របសំបុត្រចូល'; +$labels['filtername'] = 'ឈ្មោះតម្រង'; +$labels['newfilter'] = 'តម្រងថ្មី'; +$labels['filteradd'] = 'បន្ថែមតម្រង'; +$labels['filterdel'] = 'លុបតម្រង'; +$labels['moveup'] = 'រុញទៅលើ'; +$labels['movedown'] = 'រុញចុះក្រោម'; +$labels['filterallof'] = 'ត្រូវគ្នាទៅនឹងលក្ខខណ្ឌទាំងនេះ'; +$labels['filteranyof'] = 'ត្រូវគ្នាទៅនឹងលក្ខខណ្ឌណាមួយ'; +$labels['filterany'] = 'សារទាំងអស់'; +$labels['filtercontains'] = 'មានផ្ទុក'; +$labels['filternotcontains'] = 'មិនមាន'; +$labels['filteris'] = 'ស្មើនឹង'; +$labels['filterisnot'] = 'មិនស្មើនឹង'; +$labels['filterexists'] = 'មាន'; +$labels['filternotexists'] = 'មិនមាន'; +$labels['filtermatches'] = 'សញ្ញាណដែលត្រូវ'; +$labels['filterunder'] = 'ក្រោម'; +$labels['filterover'] = 'លើ'; +$labels['addrule'] = 'បន្ថែមលក្ខខណ្ឌ'; +$labels['delrule'] = 'លុបលក្ខខណ្ឌ'; +$labels['messagemoveto'] = 'ផ្លាស់ទីសារទៅ'; +$labels['messageredirect'] = 'ប្ដូរទិសដៅសារទៅ'; +$labels['messagecopyto'] = 'ចម្លងសារទៅ'; +$labels['messagesendcopy'] = 'ផ្ញើការចម្លងសារទៅ'; +$labels['messagereply'] = 'ឆ្លើយតបជាមួយសារ'; +$labels['messagedelete'] = 'លុបសារ'; +$labels['messagediscard'] = 'បោះបង់ជាមួយនឹងសារ'; +$labels['messagesrules'] = 'សម្រាប់សំបុត្រចូល៖'; +$labels['messagesactions'] = '...ប្រតិបត្តិសកម្មភាពទាំងនេះ៖'; +$labels['add'] = 'បន្ថែម'; +$labels['del'] = 'លុប'; +$labels['sender'] = 'អ្នកផ្ញើ'; +$labels['recipient'] = 'អ្នកទទួល'; +$labels['vacationdays'] = 'តើផ្ញើសារញឹកញាប់ប៉ុណ្ណា (ក្នុងមួយថ្ងៃ)៖'; +$labels['vacationreason'] = 'តួសារ (ហេតុផលវិស្សមកាល)៖'; +$labels['vacationsubject'] = 'ប្រធានបទសារ៖'; +$labels['days'] = 'ថ្ងៃ'; +$labels['seconds'] = 'វិនាទី'; +$labels['rulestop'] = 'ឈប់គិតទៅលើលក្ខខណ្ឌ'; +$labels['enable'] = 'បើក/បិទ'; +$labels['filterdef'] = 'អត្ថន័យតម្រង'; +$labels['active'] = 'សកម្ម'; +$labels['none'] = 'គ្មាន'; +$labels['fromfile'] = 'ពីឯកសារ'; +$labels['filterdisabled'] = 'បានបិទតម្រង'; +$labels['valuenotequals'] = 'តម្លៃមិនស្មើនឹង'; +$labels['flagread'] = 'បានអាន'; +$labels['flagdeleted'] = 'បានលុប'; +$labels['flaganswered'] = 'បានឆ្លើយ'; +$labels['flagflagged'] = 'បានដាក់ទង់'; +$labels['flagdraft'] = 'ការព្រាង'; +$labels['setvariable'] = 'កំណត់អថេរ'; +$labels['setvarname'] = 'ឈ្មោះអថេរ៖'; +$labels['setvarvalue'] = 'តម្លៃអថេរ៖'; +$labels['varlower'] = 'អក្សរតូច'; +$labels['varupper'] = 'អក្សរធំ'; +$labels['varlength'] = 'ប្រវែង'; +$labels['notify'] = 'ផ្ញើការជូនដំណឹង'; +$labels['notifyimportance'] = 'សំខាន់៖'; +$labels['notifyimportancelow'] = 'ទាប'; +$labels['notifyimportancenormal'] = 'ធម្មតា'; +$labels['notifyimportancehigh'] = 'ខ្ពស់'; +$labels['filtercreate'] = 'បង្កើតតម្រង'; +$labels['usedata'] = 'ប្រើទិន្នន័យទាំងនេះក្នុងតម្រង៖'; +$labels['nextstep'] = 'ជំហានបន្ទាប់'; +$labels['...'] = '...'; +$labels['currdate'] = 'កាលបរិច្ឆេទបច្ចុប្បន្ន'; +$labels['datetest'] = 'កាលបរិច្ឆេទ'; +$labels['dateheader'] = 'ក្បាល៖'; +$labels['year'] = 'ឆ្នាំ'; +$labels['month'] = 'ខែ'; +$labels['day'] = 'ថ្ងៃ'; +$labels['date'] = 'កាលបរិច្ឆេទ (yyyy-mm-dd)'; +$labels['julian'] = 'កាលបរិច្ឆេទ (julian)'; +$labels['hour'] = 'ម៉ោង'; +$labels['minute'] = 'នាទី'; +$labels['second'] = 'វិនាទី'; +$labels['time'] = 'ម៉ោង (hh:mm:ss)'; +$labels['iso8601'] = 'កាលបរិច្ឆេទ (ISO8601)'; +$labels['std11'] = 'កាលបរិច្ឆេទ (RFC2822)'; +$labels['zone'] = 'តំបន់ម៉ោង'; +$labels['weekday'] = 'ថ្ងៃសប្ដាហ៍ (0-6)'; +$labels['advancedopts'] = 'ជម្រើសកម្រិតខ្ពស់'; +$labels['body'] = 'តួ'; +$labels['address'] = 'អាសយដ្ឋាន'; +$labels['envelope'] = 'ស្រោមសំបុត្រ'; +$labels['text'] = 'អត្ថបទ'; +$labels['contenttype'] = 'ប្រភេទមាតិកា'; +$labels['modtype'] = 'ប្រភេទ៖'; +$labels['allparts'] = 'ទាំងអស់'; +$labels['domain'] = 'ដូមេន'; +$labels['localpart'] = 'ផ្នែកមូលដ្ឋាន'; +$labels['user'] = 'អ្នកប្រើ'; +$labels['detail'] = 'លម្អិត'; +$labels['index'] = 'លិបិក្រម៖'; +$labels['indexlast'] = 'បកក្រោយ'; +?> diff --git a/plugins/managesieve/localization/ko_KR.inc b/plugins/managesieve/localization/ko_KR.inc new file mode 100644 index 000000000..e9497e761 --- /dev/null +++ b/plugins/managesieve/localization/ko_KR.inc @@ -0,0 +1,224 @@ +<?php + +/* + +-----------------------------------------------------------------------+ + | plugins/managesieve/localization/<lang>.inc | + | | + | Localization file of the Roundcube Webmail Managesieve 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-managesieve/ +*/ +$labels['filters'] = '필터'; +$labels['managefilters'] = '수신 메일 필터 관리'; +$labels['filtername'] = '필터명'; +$labels['newfilter'] = '새로운 필터'; +$labels['filteradd'] = '필터 추가'; +$labels['filterdel'] = '필터 삭제'; +$labels['moveup'] = '위로 이동'; +$labels['movedown'] = '아래로 이동'; +$labels['filterallof'] = '다음 모든 규칙과 일치함'; +$labels['filteranyof'] = '다음 규칙 중 하나라도 일치함'; +$labels['filterany'] = '모든 메시지'; +$labels['filtercontains'] = '다음을 포함함'; +$labels['filternotcontains'] = '다음을 포함하지 않음'; +$labels['filteris'] = '다음과 일치함'; +$labels['filterisnot'] = '다음과 일치하지 않음'; +$labels['filterexists'] = '다음이 존재함'; +$labels['filternotexists'] = '다음이 존재하지 않음'; +$labels['filtermatches'] = '다음 표현식과 일치함'; +$labels['filternotmatches'] = '다음 표현식과 일치하지 않음'; +$labels['filterregex'] = '다음 정규 표현식과 일치함'; +$labels['filternotregex'] = '다음 정규 표현식과 일치하지 않음'; +$labels['filterunder'] = '다음보다 아래임'; +$labels['filterover'] = '다음보다 위임'; +$labels['addrule'] = '규칙 추가'; +$labels['delrule'] = '규칙 삭제'; +$labels['messagemoveto'] = '메시지를 다음 위치로 이동'; +$labels['messageredirect'] = '메시지를 다음 주소로 재전송'; +$labels['messagecopyto'] = '메시지를 다음 위치로 복사'; +$labels['messagesendcopy'] = '메시지 사본을 다음 대상에게 보내기'; +$labels['messagereply'] = '다음 메시지로 회신'; +$labels['messagedelete'] = '메시지 삭제'; +$labels['messagediscard'] = '다음 메시지와 함께 폐기'; +$labels['messagekeep'] = '메시지를 받은 편지함에 보관'; +$labels['messagesrules'] = '해당 받은 메일:'; +$labels['messagesactions'] = '...다음 동작을 실행:'; +$labels['add'] = '추가'; +$labels['del'] = '삭제'; +$labels['sender'] = '발송자'; +$labels['recipient'] = '수신자'; +$labels['vacationaddr'] = '나의 추가적인 이메일 주소:'; +$labels['vacationdays'] = '메시지 발신 주기 (일):'; +$labels['vacationinterval'] = '메시지 발신 주기:'; +$labels['vacationreason'] = '메시지 본문 (휴가 사유):'; +$labels['vacationsubject'] = '메시지 제목:'; +$labels['days'] = '일'; +$labels['seconds'] = '초'; +$labels['rulestop'] = '규칙 평가를 중단'; +$labels['enable'] = '활성화/비활성화'; +$labels['filterset'] = '필터 세트'; +$labels['filtersets'] = '필터 세트'; +$labels['filtersetadd'] = '필터 세트 추가'; +$labels['filtersetdel'] = '현재 필터 세트를 삭제'; +$labels['filtersetact'] = '현재 필터 세트 활성화'; +$labels['filtersetdeact'] = '현재 필터 세트 비활성화'; +$labels['filterdef'] = '필터 정의'; +$labels['filtersetname'] = '필터 세트명'; +$labels['newfilterset'] = '새 필터 세트'; +$labels['active'] = '활성화됨'; +$labels['none'] = '없음'; +$labels['fromset'] = '세트로부터'; +$labels['fromfile'] = '파일로부터'; +$labels['filterdisabled'] = '필터가 비활성화됨'; +$labels['countisgreaterthan'] = '개수가 다음보다 큼'; +$labels['countisgreaterthanequal'] = '개수가 다음보다 크거나 같음'; +$labels['countislessthan'] = '개수가 다음보다 작음'; +$labels['countislessthanequal'] = '개수가 작거나 같음'; +$labels['countequals'] = '개수가 다음과 같음'; +$labels['countnotequals'] = '개수가 다음과 일치하지 않음'; +$labels['valueisgreaterthan'] = '값이 다음보다 큼'; +$labels['valueisgreaterthanequal'] = '값이 다음보다 크거나 같음'; +$labels['valueislessthan'] = '값이 다음보다 작음'; +$labels['valueislessthanequal'] = '값이 다음보다 작거나 같음'; +$labels['valueequals'] = '값이 다음과 같음'; +$labels['valuenotequals'] = '값이 다음과 일치하지 않음'; +$labels['setflags'] = '메시지를 깃발로 표시'; +$labels['addflags'] = '메시지에 깃발을 추가'; +$labels['removeflags'] = '메시지에서 깃발을 제거'; +$labels['flagread'] = '읽음'; +$labels['flagdeleted'] = '삭제됨'; +$labels['flaganswered'] = '응답함'; +$labels['flagflagged'] = '깃발로 표시함'; +$labels['flagdraft'] = '임시 보관함'; +$labels['setvariable'] = '변수 설정'; +$labels['setvarname'] = '변수명:'; +$labels['setvarvalue'] = '변수 값:'; +$labels['setvarmodifiers'] = '수식자:'; +$labels['varlower'] = '소문자'; +$labels['varupper'] = '대문자'; +$labels['varlowerfirst'] = '첫 문자를 소문자로'; +$labels['varupperfirst'] = '첫 문자를 대문자로'; +$labels['varquotewildcard'] = '특수 기호를 인용'; +$labels['varlength'] = '길이'; +$labels['notify'] = '알림 메시지 보내기'; +$labels['notifytarget'] = '알림 대상:'; +$labels['notifymessage'] = '알림 메시지(옵션):'; +$labels['notifyoptions'] = '알림 옵션(옵션):'; +$labels['notifyfrom'] = '알림 발송자(옵션):'; +$labels['notifyimportance'] = '중요도:'; +$labels['notifyimportancelow'] = '낮음'; +$labels['notifyimportancenormal'] = '보통'; +$labels['notifyimportancehigh'] = '높음'; +$labels['notifymethodmailto'] = '이메일'; +$labels['notifymethodtel'] = '전화'; +$labels['notifymethodsms'] = 'SMS'; +$labels['filtercreate'] = '필터 생성'; +$labels['usedata'] = '필터에서 다음 데이터를 사용:'; +$labels['nextstep'] = '다음 단계'; +$labels['...'] = '...'; +$labels['currdate'] = '오늘 날짜'; +$labels['datetest'] = '날짜'; +$labels['dateheader'] = '머리글:'; +$labels['year'] = '년'; +$labels['month'] = '월'; +$labels['day'] = '일'; +$labels['date'] = '날짜 (yyyy-mm-dd)'; +$labels['julian'] = '날짜 (율리우스력)'; +$labels['hour'] = '시'; +$labels['minute'] = '분'; +$labels['second'] = '초'; +$labels['time'] = '시간 (hh:mm:ss)'; +$labels['iso8601'] = '날짜 (ISO8601)'; +$labels['std11'] = '날짜 (RFC2822)'; +$labels['zone'] = '시간대'; +$labels['weekday'] = '주중 (0-6)'; +$labels['advancedopts'] = '고급 설정'; +$labels['body'] = '본문'; +$labels['address'] = '주소'; +$labels['envelope'] = '봉투'; +$labels['modifier'] = '수식자:'; +$labels['text'] = '텍스트'; +$labels['undecoded'] = '암호화되지 않음(원상태)'; +$labels['contenttype'] = '내용 유형'; +$labels['modtype'] = '유형:'; +$labels['allparts'] = '모두'; +$labels['domain'] = '도메인'; +$labels['localpart'] = '로컬 부분'; +$labels['user'] = '사용자'; +$labels['detail'] = '세부사항'; +$labels['comparator'] = '비교기:'; +$labels['default'] = '기본'; +$labels['octet'] = '엄격 (8진수)'; +$labels['asciicasemap'] = '대/소문자 구분 (ascii-casemap)'; +$labels['asciinumeric'] = '숫자 (ascii-numeric)'; +$labels['index'] = '색인:'; +$labels['indexlast'] = '역방향'; +$labels['vacation'] = '휴가'; +$labels['vacation.reply'] = '메시지 회신'; +$labels['vacation.advanced'] = '고급 설정'; +$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['arialabelfiltersetactions'] = '필터 세트 동작'; +$labels['arialabelfilteractions'] = '필터 동작'; +$labels['arialabelfilterform'] = '필터 속성'; +$labels['ariasummaryfilterslist'] = '필터 목록'; +$labels['ariasummaryfiltersetslist'] = '필터 세트 목록'; +$labels['filterstitle'] = '수신 메일 필터 편집'; +$labels['vacationtitle'] = '자리비움 규칙 편집'; +$messages['filterunknownerror'] = '알수 없는 서버 오류.'; +$messages['filterconnerror'] = '서버에 연결할 수 없습니다.'; +$messages['filterdeleteerror'] = '필터를 삭제할 수 없습니다. 서버 오류가 발생했습니다.'; +$messages['filterdeleted'] = '필터가 성공적으로 삭제됨.'; +$messages['filtersaved'] = '필터가 성공적으로 저장됨.'; +$messages['filtersaveerror'] = '필터를 저장할 수 없습니다. 서버 오류가 발생했습니다.'; +$messages['filterdeleteconfirm'] = '정말로 선택한 필터를 삭제하시겠습니까?'; +$messages['ruledeleteconfirm'] = '정말로 선택한 규칙을 삭제하시겠습니까?'; +$messages['actiondeleteconfirm'] = '정말로 선택한 동작을 삭제하시겠습니까?'; +$messages['forbiddenchars'] = '필드에 금지된 문자가 존재합니다.'; +$messages['cannotbeempty'] = '필드는 비어둘 수 없습니다.'; +$messages['ruleexist'] = '지정한 이름의 필터가 이미 존재합니다.'; +$messages['setactivateerror'] = '선택한 필터 세트를 활성화할 수 없습니다. 서버 오류가 발생했습니다.'; +$messages['setdeactivateerror'] = '선택한 필터 세트를 비활성화할 수 없습니다. 서버 오류가 발생했습니다.'; +$messages['setdeleteerror'] = '선택한 필터 세트를 삭제할 수 없습니다. 서버 오류가 발생했습니다.'; +$messages['setactivated'] = '필터 세트가 성공적으로 활성화됨.'; +$messages['setdeactivated'] = '필터 세트가 성공적으로 비활성화됨.'; +$messages['setdeleted'] = '필터 세트가 성공적으로 삭제됨.'; +$messages['setdeleteconfirm'] = '정말로 선택한 필터 세트를 삭제하시겠습니까?'; +$messages['setcreateerror'] = '선택한 필터 세트를 생성할 수 없습니다. 서버 오류가 발생했습니다.'; +$messages['setcreated'] = '필터 세트가 성공적으로 생성됨.'; +$messages['activateerror'] = '선택한 필터를 활성화할 수 없습니다. 서버 오류가 발생했습니다.'; +$messages['deactivateerror'] = '선택한 필터를 비활성화할 수 없습니다. 서버 오류가 발생했습니다.'; +$messages['deactivated'] = '필터가 성공적으로 비활성화됨.'; +$messages['activated'] = '필터가 성공적으로 활성화됨.'; +$messages['moved'] = '필터가 성공적으로 이동되었습니다.'; +$messages['moveerror'] = '선택한 필터를 이동할 수 없습니다. 서버 오류가 발생했습니다.'; +$messages['nametoolong'] = '이름이 너무 깁니다.'; +$messages['namereserved'] = '예약된 이름입니다.'; +$messages['setexist'] = '세트가 이미 존재합니다.'; +$messages['nodata'] = '최소 하나의 위치가 선택되어야 합니다!'; +$messages['invaliddateformat'] = '유효하지 않은 날짜 또는 날짜 일부 형식'; +$messages['saveerror'] = '데이터를 저장할 수 없습니다.. 서버 오류가 발생했습니다.'; +$messages['vacationsaved'] = '휴가 데이터가 성공적으로 저장됨.'; +$messages['emptyvacationbody'] = '휴가 메시지의 본문이 필요합니다!'; +?> diff --git a/plugins/managesieve/localization/ku.inc b/plugins/managesieve/localization/ku.inc new file mode 100644 index 000000000..c5171dc12 --- /dev/null +++ b/plugins/managesieve/localization/ku.inc @@ -0,0 +1,90 @@ +<?php + +/* + +-----------------------------------------------------------------------+ + | plugins/managesieve/localization/<lang>.inc | + | | + | Localization file of the Roundcube Webmail Managesieve 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-managesieve/ +*/ +$labels['filterany'] = 'hemû peyam'; +$labels['filtercontains'] = 'dihewîne'; +$labels['filternotcontains'] = 'nahebîne'; +$labels['filteris'] = 'weke'; +$labels['filterisnot'] = 'ne weke'; +$labels['filterexists'] = 'heye'; +$labels['filternotexists'] = 'tune ye'; +$labels['filterunder'] = 'bin'; +$labels['filterover'] = 'ser'; +$labels['messagemoveto'] = 'Peyamê bibe '; +$labels['messageredirect'] = 'Peyamê vegerîne'; +$labels['messagereply'] = 'Bi peyamekê bibersivîne'; +$labels['messagedelete'] = 'Peyamê jê bibe'; +$labels['add'] = 'Tev bike'; +$labels['del'] = 'Jê bibe'; +$labels['sender'] = 'Şandyar'; +$labels['vacationaddr'] = 'Navnîşanên e-mailên min ên din:'; +$labels['vacationsubject'] = 'Mijara peyamê:'; +$labels['days'] = 'roj'; +$labels['seconds'] = 'saniye'; +$labels['enable'] = 'Veke/Bigire'; +$labels['active'] = 'çalak'; +$labels['none'] = 'qet'; +$labels['fromfile'] = 'ji dosyeyê'; +$labels['filterdisabled'] = 'Parzing girtî ye'; +$labels['countisgreaterthan'] = 'hejmar mezintir e ji'; +$labels['countisgreaterthanequal'] = 'hejmar weke an jî mezintir e ji'; +$labels['countislessthan'] = 'hejmar kêmtir e ji'; +$labels['countequals'] = 'hejmar weke '; +$labels['countnotequals'] = 'hejmar ne weke'; +$labels['flagread'] = 'Xwendî'; +$labels['flagdeleted'] = 'Jêbirî'; +$labels['flaganswered'] = 'Nebersivandî'; +$labels['flagflagged'] = 'Bialakirî'; +$labels['varlength'] = 'Dirêjahî'; +$labels['notify'] = 'Agahiyê bişîne'; +$labels['notifyimportance'] = 'Girîng:'; +$labels['notifyimportancelow'] = 'nizm'; +$labels['notifyimportancehigh'] = 'bilind'; +$labels['notifymethodmailto'] = 'Email'; +$labels['notifymethodtel'] = 'Telefon'; +$labels['notifymethodsms'] = 'SMS'; +$labels['filtercreate'] = 'Parzingek çêke'; +$labels['nextstep'] = 'Gava pêşde'; +$labels['...'] = '...'; +$labels['currdate'] = 'Dîroka niha'; +$labels['datetest'] = 'Dîrok'; +$labels['year'] = 'sal'; +$labels['month'] = 'meh'; +$labels['day'] = 'roj'; +$labels['date'] = 'dîrok (ssss-mm--rr)'; +$labels['julian'] = 'dîrok (julian)'; +$labels['hour'] = 'saet'; +$labels['minute'] = 'deqîqe'; +$labels['second'] = 'saniye'; +$labels['time'] = 'dem (ss:dd:ss)'; +$labels['iso8601'] = 'dem (ISO8601)'; +$labels['zone'] = 'qada demê'; +$labels['weekday'] = 'rojên hefteyê (0-6)'; +$labels['address'] = 'navnîşan'; +$labels['text'] = 'nivîs'; +$labels['contenttype'] = 'cûreya naverokê'; +$labels['modtype'] = 'cûre'; +$labels['allparts'] = 'hemû'; +$labels['user'] = 'bikarhêner'; +$labels['detail'] = 'detay'; +$labels['vacation.reply'] = 'Peyamê bibersivîne'; +$labels['vacation.advanced'] = 'Mihengên pêşketî'; +$labels['vacation.subject'] = 'Mijar'; +$labels['vacation.status'] = 'Rewş'; +$labels['vacation.on'] = 'Vekirî'; +$labels['vacation.addresses'] = 'Navnîşanên min ên din'; +?> diff --git a/plugins/managesieve/localization/lb_LU.inc b/plugins/managesieve/localization/lb_LU.inc new file mode 100644 index 000000000..621fff831 --- /dev/null +++ b/plugins/managesieve/localization/lb_LU.inc @@ -0,0 +1,49 @@ +<?php + +/* + +-----------------------------------------------------------------------+ + | plugins/managesieve/localization/<lang>.inc | + | | + | Localization file of the Roundcube Webmail Managesieve 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-managesieve/ +*/ +$labels['filters'] = 'Filteren'; +$labels['managefilters'] = 'Filtere geréieren fir Mailen déi erakommen'; +$labels['filtername'] = 'Numm vum Filter'; +$labels['newfilter'] = 'Neie Filter'; +$labels['filteradd'] = 'Filter dobäisetzen'; +$labels['filterdel'] = 'Filter läschen'; +$labels['moveup'] = 'Eropréckelen'; +$labels['movedown'] = 'Erofréckelen'; +$labels['filterallof'] = 'all dës Reegele mussen zoutreffen'; +$labels['filteranyof'] = 'just eng vun de Reegele muss zoutreffen'; +$labels['filterany'] = 'all d\'Messagen'; +$labels['filtercontains'] = 'enthält'; +$labels['filternotcontains'] = 'enthält net'; +$labels['filteris'] = 'ass gläich'; +$labels['filterisnot'] = 'ass net gläich'; +$labels['filterexists'] = 'existéiert'; +$labels['filternotexists'] = 'existéiert net'; +$labels['filterunder'] = 'ënner'; +$labels['filterover'] = 'iwwer'; +$labels['addrule'] = 'Reegel dobäisetzen'; +$labels['delrule'] = 'Reegel läschen'; +$labels['messagemoveto'] = 'Message verréckelen an'; +$labels['messageredirect'] = 'Message ëmleeden an'; +$labels['messagecopyto'] = 'Message kopéieren an'; +$labels['messagesendcopy'] = 'Kopie vum Message schécken un'; +$labels['messagereply'] = 'Mat dësem Message äntweren'; +$labels['messagedelete'] = 'Message läschen'; +$labels['add'] = 'Dobäisetzen'; +$labels['del'] = 'Läschen'; +$labels['sender'] = 'Ofsender'; +$labels['recipient'] = 'Empfänger'; +?> diff --git a/plugins/managesieve/localization/lt_LT.inc b/plugins/managesieve/localization/lt_LT.inc new file mode 100644 index 000000000..575e43cbe --- /dev/null +++ b/plugins/managesieve/localization/lt_LT.inc @@ -0,0 +1,221 @@ +<?php + +/* + +-----------------------------------------------------------------------+ + | plugins/managesieve/localization/<lang>.inc | + | | + | Localization file of the Roundcube Webmail Managesieve 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-managesieve/ +*/ +$labels['filters'] = 'Filtrai'; +$labels['managefilters'] = 'Tvarkyti gaunamų laiškų filtrus'; +$labels['filtername'] = 'Filtro pavadinimas'; +$labels['newfilter'] = 'Naujas filtras'; +$labels['filteradd'] = 'Pridėti filtrą'; +$labels['filterdel'] = 'Pašalinti filtrą'; +$labels['moveup'] = 'Pakelti aukštyn'; +$labels['movedown'] = 'Nuleisti žemyn'; +$labels['filterallof'] = 'atitinka visas šias taisykles'; +$labels['filteranyof'] = 'atitinka bet kurią šių taisyklių'; +$labels['filterany'] = 'visi laiškai'; +$labels['filtercontains'] = 'savyje turi'; +$labels['filternotcontains'] = 'savyje neturi'; +$labels['filteris'] = 'yra lygus'; +$labels['filterisnot'] = 'nėra lygus'; +$labels['filterexists'] = 'egzistuoja'; +$labels['filternotexists'] = 'neegzistuoja'; +$labels['filtermatches'] = 'atitinka šabloną'; +$labels['filternotmatches'] = 'neatitinka šablono'; +$labels['filterregex'] = 'atitinka reguliarųjį reiškinį'; +$labels['filternotregex'] = 'neatitinka reguliariojo reiškinio'; +$labels['filterunder'] = 'nesiekia'; +$labels['filterover'] = 'viršija'; +$labels['addrule'] = 'Pridėti taisyklę'; +$labels['delrule'] = 'Pašalinti taisyklę'; +$labels['messagemoveto'] = 'Perkelti laišką į'; +$labels['messageredirect'] = 'Peradresuoti laišką'; +$labels['messagecopyto'] = 'Kopijuoti laišką į'; +$labels['messagesendcopy'] = 'Nusiųsti laiško kopiją'; +$labels['messagereply'] = 'Atsakyti laišku'; +$labels['messagedelete'] = 'Pašalinti laišką'; +$labels['messagediscard'] = 'Panaikinti su laišku'; +$labels['messagekeep'] = 'Palikti laišką gautųjų aplanke'; +$labels['messagesrules'] = 'Gaunamiems laiškams:'; +$labels['messagesactions'] = '…vykdyti šiuos veiksmus:'; +$labels['add'] = 'Pridėti'; +$labels['del'] = 'Pašalinti'; +$labels['sender'] = 'Siuntėjas'; +$labels['recipient'] = 'Gavėjas'; +$labels['vacationaddr'] = 'Papildomas gavėjų adresų sąrašas:'; +$labels['vacationdays'] = 'Kaip dažnai išsiųsti laiškus (dienomis):'; +$labels['vacationinterval'] = 'Kaip dažnai siųsti laiškus:'; +$labels['vacationreason'] = 'Laiško tekstas'; +$labels['vacationsubject'] = 'Laiško tema:'; +$labels['days'] = 'd.'; +$labels['seconds'] = 'sek.'; +$labels['rulestop'] = 'Nutraukti taisyklių vykdymą'; +$labels['enable'] = 'Įjungti / išjungti'; +$labels['filterset'] = 'Filtrų rinkinys'; +$labels['filtersets'] = 'Filtrų rinkiniai'; +$labels['filtersetadd'] = 'Pridėti filtrų rinkinį'; +$labels['filtersetdel'] = 'Pašalinti šį filtrų rinkinį'; +$labels['filtersetact'] = 'Įgalinti šį filtrų rinkinį'; +$labels['filtersetdeact'] = 'Išjungti šį filtrų rinkinį'; +$labels['filterdef'] = 'Filtro aprašas'; +$labels['filtersetname'] = 'Filtrų rinkinio pavadinimas'; +$labels['newfilterset'] = 'Naujas filtrų rinkinys'; +$labels['active'] = 'aktyvus'; +$labels['none'] = 'joks'; +$labels['fromset'] = 'iš rinkinio'; +$labels['fromfile'] = 'iš failo'; +$labels['filterdisabled'] = 'Filtras išjungtas'; +$labels['countisgreaterthan'] = 'kiekis didesnis nei'; +$labels['countisgreaterthanequal'] = 'kiekis didesnis arba lygus'; +$labels['countislessthan'] = 'kiekis mažesnis nei'; +$labels['countislessthanequal'] = 'kiekis mažesnis arba lygus'; +$labels['countequals'] = 'kiekis lygus'; +$labels['countnotequals'] = 'kiekis nėra lygus'; +$labels['valueisgreaterthan'] = 'reikšmė didesnė nei'; +$labels['valueisgreaterthanequal'] = 'reikšmė didesnė arba lygi'; +$labels['valueislessthan'] = 'reikšmė mažesnė nei'; +$labels['valueislessthanequal'] = 'reikšmė mažesnė arba lygi'; +$labels['valueequals'] = 'reikšmė lygi'; +$labels['valuenotequals'] = 'reikšmė nėra lygi'; +$labels['setflags'] = 'Nustatyti laiško požymius'; +$labels['addflags'] = 'Pridėti laiško požymius'; +$labels['removeflags'] = 'Pašalinti laiško požymius'; +$labels['flagread'] = 'Skaitytas'; +$labels['flagdeleted'] = 'Pašalintas'; +$labels['flaganswered'] = 'Atsakytas'; +$labels['flagflagged'] = 'Pažymėtas gairele'; +$labels['flagdraft'] = 'Juodraštis'; +$labels['setvariable'] = 'Nustatyti kintamąjį'; +$labels['setvarname'] = 'Kintamojo vardas:'; +$labels['setvarvalue'] = 'Kintamojo vertė:'; +$labels['setvarmodifiers'] = 'Modifikatoriai:'; +$labels['varlower'] = 'mažosios raidės'; +$labels['varupper'] = 'didžiosios raidės'; +$labels['varlowerfirst'] = 'pirmoji raidė mažoji'; +$labels['varupperfirst'] = 'pirmoji raidė didžioji'; +$labels['varquotewildcard'] = 'cituoti specialius simbolius'; +$labels['varlength'] = 'ilgis'; +$labels['notify'] = 'Siųsti priminimą'; +$labels['notifytarget'] = 'Priminimo gavėjas:'; +$labels['notifymessage'] = 'Priminimo laiškas (nebūtina):'; +$labels['notifyoptions'] = 'Priminimo nustatymai (nebūtina):'; +$labels['notifyfrom'] = 'Priminimo siuntėjas (nebūtina):'; +$labels['notifyimportance'] = 'Svarbumas'; +$labels['notifyimportancelow'] = 'žemas'; +$labels['notifyimportancenormal'] = 'normalus'; +$labels['notifyimportancehigh'] = 'aukštas'; +$labels['notifymethodmailto'] = 'El. paštas'; +$labels['notifymethodtel'] = 'Telefono numeris'; +$labels['notifymethodsms'] = 'SMS'; +$labels['filtercreate'] = 'Kurti filtrą'; +$labels['usedata'] = 'Filtrui naudoti šiuos duomenis:'; +$labels['nextstep'] = 'Kitas žingsnis'; +$labels['...'] = '…'; +$labels['currdate'] = 'Šiandienos data'; +$labels['datetest'] = 'Data'; +$labels['dateheader'] = 'antraštė:'; +$labels['year'] = 'metai'; +$labels['month'] = 'mėnuo'; +$labels['day'] = 'diena'; +$labels['date'] = 'data (yyyy-mm-dd)'; +$labels['julian'] = 'data (Julijaus)'; +$labels['hour'] = 'valanda'; +$labels['minute'] = 'minutė'; +$labels['second'] = 'sekundė'; +$labels['time'] = 'laikas (hh:mm:ss)'; +$labels['iso8601'] = 'data (ISO8601)'; +$labels['std11'] = 'data (RFC2822)'; +$labels['zone'] = 'laiko-zona'; +$labels['weekday'] = 'savaitės diena (0-6)'; +$labels['advancedopts'] = 'Papildomi nustatymai'; +$labels['body'] = 'Laiško tekstas'; +$labels['address'] = 'adresas'; +$labels['envelope'] = 'vokas'; +$labels['modifier'] = 'midifikatorius:'; +$labels['text'] = 'tekstas'; +$labels['undecoded'] = 'neiškoduotas (pirminis) tekstas'; +$labels['contenttype'] = 'turinio tipas'; +$labels['modtype'] = 'tipas:'; +$labels['allparts'] = 'visi'; +$labels['domain'] = 'sritis'; +$labels['localpart'] = 'vietinė adreso dalis'; +$labels['user'] = 'naudotojas'; +$labels['detail'] = 'detalė'; +$labels['comparator'] = 'palyginimo algoritmas:'; +$labels['default'] = 'numatytasis'; +$labels['octet'] = 'griežtas („octet“)'; +$labels['asciicasemap'] = 'nepaisantis raidžių registro („ascii-casemap“)'; +$labels['asciinumeric'] = 'skaitinis („ascii-numeric“)'; +$labels['index'] = 'turinys:'; +$labels['indexlast'] = 'atbulai'; +$labels['vacation'] = 'Atostogos'; +$labels['vacation.reply'] = 'Atsakyti laišku'; +$labels['vacation.advanced'] = 'Papildomos nuostatos'; +$labels['vacation.subject'] = 'Tema'; +$labels['vacation.body'] = 'Laiško tekstas'; +$labels['vacation.status'] = 'Būsena'; +$labels['vacation.on'] = 'Įjungta'; +$labels['vacation.off'] = 'Išjungta'; +$labels['vacation.addresses'] = 'Mano papildomi adresai'; +$labels['vacation.interval'] = 'Atsakymo intervalas'; +$labels['vacation.after'] = 'Atostogų taisyklę pastatyti po'; +$labels['vacation.saving'] = 'Išsaugomi duomenys...'; +$labels['vacation.action'] = 'Veiksmas su gaunamais laiškais'; +$labels['vacation.keep'] = 'Palikti'; +$labels['vacation.discard'] = 'Panaikinti'; +$labels['vacation.redirect'] = 'Peradresuoti kam'; +$labels['vacation.copy'] = 'Siųsti kopiją kam'; +$labels['arialabelfiltersetactions'] = 'Filtrų rinkinio veiksmai'; +$labels['arialabelfilteractions'] = 'Filtro veiksmai'; +$labels['arialabelfilterform'] = 'Filtro nustatymai'; +$labels['ariasummaryfilterslist'] = 'Filtrų sąrašas'; +$labels['ariasummaryfiltersetslist'] = 'Filtrų rinkinių sąrašas'; +$labels['filterstitle'] = 'Tvarkyti gaunamų laiškų filtrus'; +$labels['vacationtitle'] = 'Redaguoti ne-biure taisyklę'; +$messages['filterunknownerror'] = 'Nežinoma serverio klaida.'; +$messages['filterconnerror'] = 'Neįmanoma užmegzti ryšio su serveriu.'; +$messages['filterdeleteerror'] = 'Nepavyksta ištrinti filtro. Įvyko serverio klaida.'; +$messages['filterdeleted'] = 'Filtras panaikintas sėkmingai.'; +$messages['filtersaved'] = 'Filtras sėkmingai išsaugotas'; +$messages['filtersaveerror'] = 'Nepavyksta išsaugoti filtro. Įvyko serverio klaida.'; +$messages['filterdeleteconfirm'] = 'Ar jūs esate įsitikinęs, jog norite panaikinti pasirinktus filtrus(-ą)?'; +$messages['ruledeleteconfirm'] = 'Ar jūs įsitikinęs, jog norite panaikinti pasirinktą taisyklę?'; +$messages['actiondeleteconfirm'] = 'Ar jūs įsitikinęs, jog norite panaikinti pasirinktą veiksmą?'; +$messages['forbiddenchars'] = 'Laukelyje yra draudžiamų simbolių.'; +$messages['cannotbeempty'] = 'Laukelis negali būti tuščias'; +$messages['ruleexist'] = 'Filtras tokiu vardu jau yra.'; +$messages['setactivateerror'] = 'Neįmanoma aktyvuoti pasirinkto filtrų rinkinio. Įvyko serverio klaida.'; +$messages['setdeactivateerror'] = 'Neįmanoma išjungti pasirinkto filtrų rinkinio. Įvyko serverio klaida.'; +$messages['setdeleteerror'] = 'Neįmanoma panaikinti pasirinkto filtrų rinkinio. Įvyko serverio klaida.'; +$messages['setactivated'] = 'Filtrų rinkinys sėkmingai aktyvuotas.'; +$messages['setdeactivated'] = 'Filtrų rinkinys sėkmingai deaktyvuotas.'; +$messages['setdeleted'] = 'Filtrų rinkinys sėkmingai panaikintas.'; +$messages['setdeleteconfirm'] = 'Ar jūs esate tikri, jog norite panaikinti pasirinktą filtrų rinkinį?'; +$messages['setcreateerror'] = 'Neįmanoma sukurti filtrų rinkinio. Įvyko serverio klaida.'; +$messages['setcreated'] = 'Filtrų rinkinys sėkmingai sukurtas.'; +$messages['activateerror'] = 'Neįmanoma įjungti pasirinktų filtrų(-o). Įvyko serverio klaida.'; +$messages['deactivateerror'] = 'Neįmanoma išjungti pasirinktų filtrų(-o). Įvyko serverio klaida.'; +$messages['deactivated'] = 'Filtras(-as) sėkmingai išjungti.'; +$messages['activated'] = 'Filtras(-as) sėkmingai įjungti.'; +$messages['moved'] = 'Filtrai perkelti sėkmingai.'; +$messages['moveerror'] = 'Pasirinkto filtro perkelti neįmanoma. Įvyko serverio klaida.'; +$messages['nametoolong'] = 'Vardas per ilgas.'; +$messages['namereserved'] = 'Rezervuotas vardas.'; +$messages['setexist'] = 'Rinkinys jau yra sukurtas.'; +$messages['nodata'] = 'Būtina pasirinkti bent vieną poziciją!'; +$messages['invaliddateformat'] = 'Neteisingas datos ar jos dalies formatas'; +$messages['saveerror'] = 'Nepavyksta išsaugoti duomenų. Įvyko serverio klaida.'; +$messages['vacationsaved'] = 'Sėkmingai išsaugoti atostogų duomenys.'; +?> diff --git a/plugins/managesieve/localization/lv_LV.inc b/plugins/managesieve/localization/lv_LV.inc new file mode 100644 index 000000000..33c000e49 --- /dev/null +++ b/plugins/managesieve/localization/lv_LV.inc @@ -0,0 +1,188 @@ +<?php + +/* + +-----------------------------------------------------------------------+ + | plugins/managesieve/localization/<lang>.inc | + | | + | Localization file of the Roundcube Webmail Managesieve 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-managesieve/ +*/ +$labels['filters'] = 'Vēstuļu filtri'; +$labels['managefilters'] = 'Pārvaldīt ienākošo vēstuļu filtrus'; +$labels['filtername'] = 'Filtra nosaukums'; +$labels['newfilter'] = 'Jauns filtrs'; +$labels['filteradd'] = 'Pievienot filtru'; +$labels['filterdel'] = 'Dzēst filtru'; +$labels['moveup'] = 'Pārvietot augšup'; +$labels['movedown'] = 'Pārvietot lejup'; +$labels['filterallof'] = 'jāatbilst visiem sekojošajiem nosacījumiem'; +$labels['filteranyof'] = 'jāatbilst jebkuram no sekojošajiem nosacījumiem'; +$labels['filterany'] = 'visām vēstulēm'; +$labels['filtercontains'] = 'satur'; +$labels['filternotcontains'] = 'nesatur'; +$labels['filteris'] = 'ir vienāds ar'; +$labels['filterisnot'] = 'nav vienāds ar'; +$labels['filterexists'] = 'eksistē'; +$labels['filternotexists'] = 'neeksistē'; +$labels['filtermatches'] = 'jāatbilst izteiksmei'; +$labels['filternotmatches'] = 'neatbilst izteiksmei'; +$labels['filterregex'] = 'jāatbilst regulārai izteiksmei'; +$labels['filternotregex'] = 'neatbilst regulārai izteiksmei'; +$labels['filterunder'] = 'zem'; +$labels['filterover'] = 'virs'; +$labels['addrule'] = 'Pievienot nosacījumu'; +$labels['delrule'] = 'Dzēst nosacījumu'; +$labels['messagemoveto'] = 'Pārvietot vēstuli uz'; +$labels['messageredirect'] = 'Pāradresēt vēstuli uz'; +$labels['messagecopyto'] = 'Kopēt vēstuli uz'; +$labels['messagesendcopy'] = 'Pārsūtīt vēstules kopiju uz'; +$labels['messagereply'] = 'Atbildēt ar vēstuli'; +$labels['messagedelete'] = 'Dzēst vēstuli'; +$labels['messagediscard'] = 'Dzēst vēstuli un atbildēt'; +$labels['messagekeep'] = 'Paturēt ziņu Iesūtnē'; +$labels['messagesrules'] = 'Ienākošajām vēstulēm:'; +$labels['messagesactions'] = '...izpildīt sekojošās darbības:'; +$labels['add'] = 'Pievienot'; +$labels['del'] = 'Dzēst'; +$labels['sender'] = 'Sūtītājs'; +$labels['recipient'] = 'Saņēmējs'; +$labels['vacationaddr'] = 'Mana(s) papildus e-pasta adrese(s):'; +$labels['vacationdays'] = 'Cik bieži sūtī ziņojumus (dienās):'; +$labels['vacationinterval'] = 'Cik bieži sūtīt vēstules:'; +$labels['vacationreason'] = 'Atvaļinājuma paziņojuma teksts:'; +$labels['vacationsubject'] = 'Vēstules tēma:'; +$labels['days'] = 'dienas'; +$labels['seconds'] = 'sekundes'; +$labels['rulestop'] = 'Apturēt nosacījumu pārbaudi'; +$labels['enable'] = 'Ieslēgt/Izslēgt'; +$labels['filterset'] = 'Filtru kopa'; +$labels['filtersets'] = 'Filtru kopas'; +$labels['filtersetadd'] = 'Pievienot filtru kopu'; +$labels['filtersetdel'] = 'Dzēst pašreizējo filtru kopu'; +$labels['filtersetact'] = 'Aktivizēt pašreizējo filtru kopu'; +$labels['filtersetdeact'] = 'Deaktivizēt pašreizējo filtru kopu'; +$labels['filterdef'] = 'Filtra apraksts'; +$labels['filtersetname'] = 'Filtru kopas nosaukums'; +$labels['newfilterset'] = 'Jauna filtru kopa'; +$labels['active'] = 'aktīvs'; +$labels['none'] = 'nav'; +$labels['fromset'] = 'no kopas'; +$labels['fromfile'] = 'no faila'; +$labels['filterdisabled'] = 'Filtrs atslēgts'; +$labels['countisgreaterthan'] = 'skaits ir lielāks kā'; +$labels['countisgreaterthanequal'] = 'skaits ir vienāds vai lielāks kā'; +$labels['countislessthan'] = 'skaits ir mazāks kā'; +$labels['countislessthanequal'] = 'skaits ir vienāds vai mazāks kā'; +$labels['countequals'] = 'skaits ir vienāds ar'; +$labels['countnotequals'] = 'skaits nav vienāds ar'; +$labels['valueisgreaterthan'] = 'vērtība ir lielāka kā'; +$labels['valueisgreaterthanequal'] = 'vērtība ir vienāda vai lielāka kā'; +$labels['valueislessthan'] = 'vērtība ir mazāka kā'; +$labels['valueislessthanequal'] = 'vērtība ir vienāda vai mazāka kā'; +$labels['valueequals'] = 'vērtība ir vienāda ar'; +$labels['valuenotequals'] = 'vērtība nav vienāda ar'; +$labels['setflags'] = 'Marķēt vēstuli'; +$labels['addflags'] = 'Pievienot vēstulei marķierus'; +$labels['removeflags'] = 'Noņemt vēstulei marķierus'; +$labels['flagread'] = 'Lasītas'; +$labels['flagdeleted'] = 'Dzēstas'; +$labels['flaganswered'] = 'Atbildētas'; +$labels['flagflagged'] = 'Marķētas'; +$labels['flagdraft'] = 'Melnraksts'; +$labels['setvariable'] = 'Iestatīt mainīgo'; +$labels['setvarname'] = 'Mainīgā nosaukums:'; +$labels['setvarvalue'] = 'Mainīgā vērtība:'; +$labels['setvarmodifiers'] = 'Modifikatori:'; +$labels['varlower'] = 'mazie burti'; +$labels['varupper'] = 'lielie burti'; +$labels['varlowerfirst'] = 'pirmais burts kā mazais burts'; +$labels['varupperfirst'] = 'pirmais burts kā lielais burts'; +$labels['varquotewildcard'] = '"citēt" speciālās rakstzīmes'; +$labels['varlength'] = 'garums'; +$labels['notify'] = 'Sūtīt paziņojumus'; +$labels['notifyimportance'] = 'Svarīgums:'; +$labels['notifyimportancelow'] = 'zems'; +$labels['notifyimportancenormal'] = 'parasts'; +$labels['notifyimportancehigh'] = 'augsts'; +$labels['filtercreate'] = 'Izveidot filtru'; +$labels['usedata'] = 'Filtrā izmantot sekojošus datus'; +$labels['nextstep'] = 'Nākamais solis'; +$labels['...'] = '...'; +$labels['currdate'] = 'Pašreizējais datums'; +$labels['datetest'] = 'Datums'; +$labels['dateheader'] = 'galvene:'; +$labels['year'] = 'gads'; +$labels['month'] = 'mēnesis'; +$labels['day'] = 'diena'; +$labels['date'] = 'datums (gggg-mm-dd)'; +$labels['julian'] = 'datums (Jūlija kalendārs)'; +$labels['hour'] = 'stunda'; +$labels['minute'] = 'minūte'; +$labels['second'] = 'sekunde'; +$labels['time'] = 'laiks (hh:mm:ss)'; +$labels['iso8601'] = 'datums (ISO8601)'; +$labels['std11'] = 'datums (RFC2822)'; +$labels['zone'] = 'laikajosla'; +$labels['weekday'] = 'nedēļas diena (0-6)'; +$labels['advancedopts'] = 'Paplašinātie iestatījumi'; +$labels['body'] = 'Pamatteksts'; +$labels['address'] = 'adresāts'; +$labels['envelope'] = 'aploksne'; +$labels['modifier'] = 'modifikators:'; +$labels['text'] = 'teksts'; +$labels['undecoded'] = 'neatkodēts (neapstrādāti dati)'; +$labels['contenttype'] = 'satura tips'; +$labels['modtype'] = 'tips:'; +$labels['allparts'] = 'viss'; +$labels['domain'] = 'domēns'; +$labels['localpart'] = 'lokālā daļa'; +$labels['user'] = 'lietotājs'; +$labels['detail'] = 'detaļas'; +$labels['comparator'] = 'salīdzinātājs'; +$labels['default'] = 'noklusētā vērtība'; +$labels['octet'] = 'precīzs (oktets)'; +$labels['asciicasemap'] = 'reģistrnejutīgs (ascii tabula)'; +$labels['asciinumeric'] = 'skaitļu (ascii skaitļu)'; +$labels['index'] = 'indekss:'; +$labels['indexlast'] = 'atpakaļ'; +$messages['filterunknownerror'] = 'Nezināma servera kļūda.'; +$messages['filterconnerror'] = 'Neizdevās pieslēgties ManageSieve serverim.'; +$messages['filterdeleteerror'] = 'Neizdevās izdzēst filtru - atgadījās servera iekšējā kļūda.'; +$messages['filterdeleted'] = 'Filtrs veiksmīgi izdzēsts.'; +$messages['filtersaved'] = 'Filtrs veiksmīgi saglabāts.'; +$messages['filtersaveerror'] = 'Neizdevās saglabāt filtru - atgadījās servera iekšējā kļūda.'; +$messages['filterdeleteconfirm'] = 'Vai Jūs tiešām vēlaties dzēst atzīmēto filtru?'; +$messages['ruledeleteconfirm'] = 'Vai Jūs tiešām vēlaties dzēst atzīmēto nosacījumu?'; +$messages['actiondeleteconfirm'] = 'Vai Jūs tiešām vēlaties dzēst atzīmēto darbību?'; +$messages['forbiddenchars'] = 'Lauks satur aizliegtus simbolus.'; +$messages['cannotbeempty'] = 'Lauks nedrīkst būt tukšs.'; +$messages['ruleexist'] = 'Filtrs ar tādu nosaukumu jau pastāv.'; +$messages['setactivateerror'] = 'Neizdevās aktivizēt atzīmēto filtru kopu - atgadījās servera iekšējā kļūda.'; +$messages['setdeactivateerror'] = 'Neizdevās deaktivizēt atzīmēto filtru kopu - atgadījās servera iekšējā kļūda.'; +$messages['setdeleteerror'] = 'Neizdevās izdzēst atzīmēto filtru kopu - atgadījās servera ieksējā kļūda.'; +$messages['setactivated'] = 'Filtru kopa veiksmīgi aktivizēta.'; +$messages['setdeactivated'] = 'Filtru kopa veiksmīgi deaktivizēta.'; +$messages['setdeleted'] = 'Filtru kopa veiksmīgi izdzēsta.'; +$messages['setdeleteconfirm'] = 'Vai tiešām Jūs vēlaties dzēst atzīmēto filtru kopu?'; +$messages['setcreateerror'] = 'Neizdevās izveidot filtru kopu - atgadījās servera iekšējā kļūda.'; +$messages['setcreated'] = 'Filtru kopa veiksmīgi izveidota.'; +$messages['activateerror'] = 'Nav iespējams ieslēgt izvēlēto(s) filtru(s) - atgadījās servera iekšējā kļūda.'; +$messages['deactivateerror'] = 'Nav iespējams atslēgt izvēlēto(s) filtru(s) - atgadījās servera iekšējā kļūda.'; +$messages['deactivated'] = 'Filtrs(i) veiksmīgi atslēgts(i).'; +$messages['activated'] = 'Filtrs(i) veiksmīgi ieslēgts(i).'; +$messages['moved'] = 'Filtrs veiksmīgi pārvietots.'; +$messages['moveerror'] = 'Nav iespējams pārvietot izvēlēto filtru - atgadījās servera iekšējā kļūda.'; +$messages['nametoolong'] = 'Neizdevās izveidot filtru kopu. Pārāk garš kopas nosaukums.'; +$messages['namereserved'] = 'Rezervētais nosaukums.'; +$messages['setexist'] = 'Kopa jau eksistē.'; +$messages['nodata'] = 'Ir jābūt atzīmētai vismaz vienai pozīcijai!'; +$messages['invaliddateformat'] = 'Nederīgs datums vai datuma formāts'; +?> diff --git a/plugins/managesieve/localization/ml_IN.inc b/plugins/managesieve/localization/ml_IN.inc new file mode 100644 index 000000000..613695c0b --- /dev/null +++ b/plugins/managesieve/localization/ml_IN.inc @@ -0,0 +1,148 @@ +<?php + +/* + +-----------------------------------------------------------------------+ + | plugins/managesieve/localization/<lang>.inc | + | | + | Localization file of the Roundcube Webmail Managesieve 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-managesieve/ +*/ +$labels['filters'] = 'അരിപ്പകള്'; +$labels['managefilters'] = 'അകത്തോട്ടുള്ള ഇമെയില് അരിപ്പകള് ക്രമീകരിക്കുക'; +$labels['filtername'] = 'അരിപ്പയുടെ പേര്'; +$labels['newfilter'] = 'പുതിയ അരിപ്പ'; +$labels['filteradd'] = 'അരിപ്പ ചേര്ക്കുക'; +$labels['filterdel'] = 'അരിപ്പ നീക്കംചെയ്യുക'; +$labels['moveup'] = 'മുകളിലേക്ക് നീക്കുക'; +$labels['movedown'] = 'താഴേക്ക് നീക്കുക'; +$labels['filterallof'] = 'കീഴ്പറഞ്ഞ എല്ലാ നിയമങ്ങളും പാലിക്കുന്നവ'; +$labels['filteranyof'] = 'കീഴ്പറഞ്ഞ ഏതെങ്കിലും നിയമം പാലിക്കുന്നവ'; +$labels['filterany'] = 'എല്ലാ സന്ദേശങ്ങളും'; +$labels['filtercontains'] = 'അടങ്ങുന്നത്'; +$labels['filternotcontains'] = 'ല് അടങ്ങുന്നില്ല'; +$labels['filteris'] = 'ന് തുല്യം'; +$labels['filterisnot'] = 'ന് തുല്യമല്ല'; +$labels['filterexists'] = 'നിലവിലുണ്ട്'; +$labels['filternotexists'] = 'നിലവിലില്ല'; +$labels['filtermatches'] = 'എക്സ്പ്രഷന് ചേരുന്നുണ്ട്'; +$labels['filternotmatches'] = 'എക്സ്പ്രഷന് ചേരുന്നില്ല'; +$labels['filterregex'] = 'റെഗുലര് എക്സ്പ്രഷന് ചേരുന്നുണ്ട്'; +$labels['filternotregex'] = 'റെഗുലര് എക്സ്പ്രഷന് ചേരുന്നില്ല'; +$labels['filterunder'] = 'കീഴില്'; +$labels['filterover'] = 'മുകളില്'; +$labels['addrule'] = 'നിയമം ചേര്ക്കുക'; +$labels['delrule'] = 'നിയമം നീക്കം ചെയ്യുക'; +$labels['messagemoveto'] = 'സന്ദേശം നിക്കു :'; +$labels['messageredirect'] = 'സന്ദേശം മാറ്റിവിടു :'; +$labels['messagecopyto'] = 'സന്ദേശം പകര്ത്തു :'; +$labels['messagesendcopy'] = 'സന്ദേശത്തിന്റെ പകര്പ്പ് അയക്കു :'; +$labels['messagereply'] = 'സന്ദേശം വെച്ച് മറുപടി അയക്കു'; +$labels['messagedelete'] = 'സന്ദേശം മായ്ക്കു'; +$labels['messagediscard'] = 'സന്ദേശത്തോടെ നിരാകരിക്കുക'; +$labels['messagekeep'] = 'സന്ദേശം ഇൻബോക്സിൽ സൂക്ഷിക്കുക'; +$labels['messagesrules'] = 'ആഗമന സന്ദേശങ്ങള്ക്ക്:'; +$labels['messagesactions'] = '...ഈ പ്രവര്ത്തനങ്ങള് ചെയ്യുക:'; +$labels['add'] = 'ചേര്ക്കു'; +$labels['del'] = 'നീക്കം ചെയ്യുക'; +$labels['sender'] = 'അയചയാള്'; +$labels['recipient'] = 'സ്വീകര്ത്താവ്'; +$labels['vacationaddr'] = 'എന്റെ മറ്റ് ഈമെയിൽ വിലാസങ്ങൾ:'; +$labels['vacationdays'] = 'എത്ര ഭിവസം കൂടുമ്പോള് സന്ദേശം അയക്കണം:'; +$labels['vacationinterval'] = 'എത്ര സമയം കൂടുമ്പോൾ സന്ദേശങ്ങൾ അയയ്ക്കണം:'; +$labels['vacationreason'] = 'സന്ദേശത്തിന്റെ ഉള്ളടക്കം (അവധിയുടെ കാരണം):'; +$labels['vacationsubject'] = 'സന്ദേശത്തിന്റെ വിഷയം:'; +$labels['days'] = 'ദിവസങ്ങൾ'; +$labels['seconds'] = 'സെക്കന്റുകൾ'; +$labels['rulestop'] = 'നിയമങ്ങള് വിലയിരുത്തുന്നത് നിര്ത്തുക'; +$labels['enable'] = 'പ്രവര്ത്തനസജ്ജം/രഹിതം'; +$labels['filterset'] = 'അരിപ്പകളുടെ കൂട്ടം'; +$labels['filtersets'] = 'അരിപ്പകളുടെ കൂട്ടങ്ങള്'; +$labels['filtersetadd'] = 'അരിപ്പകളുടെ കൂട്ടം ചേര്ക്കുക'; +$labels['filtersetdel'] = 'ഇപ്പോഴത്തെ അരിപ്പകളുടെ കൂട്ടം മായ്ക്കുക'; +$labels['filtersetact'] = 'ഇപ്പോഴത്തെ അരിപ്പകളുടെ കൂട്ടം പ്രവര്ത്തിപ്പിക്കുക'; +$labels['filtersetdeact'] = 'ഇപ്പോഴത്തെ അരിപ്പകളുടെ കൂട്ടം പ്രവര്ത്തനം അവസാനിപ്പിക്കുക'; +$labels['filterdef'] = 'അരിപ്പയുടെ നിര്വ്വചനം'; +$labels['filtersetname'] = 'അരിപ്പകളുടെ കൂട്ടത്തിന്റെ പേര്'; +$labels['newfilterset'] = 'പുതിയ അരിപ്പയുട കൂട്ടം'; +$labels['active'] = 'സജീവം'; +$labels['none'] = 'ഒന്നുമില്ല'; +$labels['fromset'] = 'സെറ്റില് നിന്ന്'; +$labels['fromfile'] = 'ഫയലില് നിന്ന്'; +$labels['filterdisabled'] = 'അരിപ്പ പ്രവര്ത്തനരഹിതമാക്കി'; +$labels['countisgreaterthan'] = 'എണ്ണം ഇതിനെക്കാള് കുടുതല്'; +$labels['countisgreaterthanequal'] = 'എണ്ണം ഇതിനെക്കാള് കൂടുതല് ഇല്ലെങ്കില് സമം'; +$labels['countislessthan'] = 'എണ്ണം ഇതിനെക്കാള് കുറവ്'; +$labels['countislessthanequal'] = 'എണ്ണം ഇതിനെക്കാള് കൂറവ് ഇല്ലെങ്കില് സമം'; +$labels['countequals'] = 'എണ്ണം ഇതിനോട് സമം'; +$labels['countnotequals'] = 'എണ്ണം ഇതിനോട് തുല്യമല്ല'; +$labels['valueisgreaterthan'] = 'മൂല്യം ഇതിനെക്കാള് കുടുതല്'; +$labels['valueisgreaterthanequal'] = 'മുല്യം ഇതിനെക്കാള് കൂടുതല് ഇല്ലെങ്കില് സമം'; +$labels['valueislessthan'] = 'മൂല്യം ഇതിനെക്കാള് കുറവ്'; +$labels['valueislessthanequal'] = 'മൂല്യം ഇതിനെക്കാള് കൂറവ് ഇല്ലെങ്കില് തുല്യം'; +$labels['valueequals'] = 'മൂല്യം ഇതിനോട് സമം'; +$labels['valuenotequals'] = 'മൂല്യം ഇതിനോട് തുല്യമല്ല'; +$labels['setflags'] = 'സന്ദേശത്തില് അടയാളമിടുക'; +$labels['addflags'] = 'സന്ദേശത്തില് അടയാളം ചേര്ക്കുക'; +$labels['removeflags'] = 'സന്ദേശത്തില് നിന്നും അടയാളം മാറ്റുക'; +$labels['flagread'] = 'വായിച്ചവ'; +$labels['flagdeleted'] = 'നീക്കം ചെയ്തവ'; +$labels['flaganswered'] = 'മറുപടി നല്കിയവ'; +$labels['flagflagged'] = 'അടയാളപ്പെടുത്തിയവ'; +$labels['flagdraft'] = 'കരട്'; +$labels['setvariable'] = 'വേരിയബിൾ സ്ഥിരപ്പെടുത്തുക'; +$labels['setvarname'] = 'വേരിയബിളിന്റെ പേര്'; +$labels['setvarvalue'] = 'വേരിയബിളിന്റെ മൂല്യം'; +$labels['filtercreate'] = 'അരിപ്പ ഉണ്ടാക്കുക'; +$labels['usedata'] = 'ഈ വിവരങ്ങള് അരിപ്പയില് ഉപയോഗിക്കുക:'; +$labels['nextstep'] = 'അടുത്ത പടി'; +$labels['...'] = '...'; +$labels['advancedopts'] = 'വിപുലീക്രിതമായ ക്രമീകരണങ്ങള്'; +$labels['body'] = 'ഉള്ളടക്കം'; +$labels['address'] = 'മേല്വിലാസം'; +$labels['envelope'] = 'എന്വലപ്പ്'; +$labels['modifier'] = 'മോഡിഫയര്:'; +$labels['text'] = 'വാചകം'; +$labels['undecoded'] = 'ഡീക്കോഡ് ചെയ്യാത്തത് (റോ)'; +$labels['contenttype'] = 'ഉള്ളടക്കത്തിന്റെ തരം'; +$labels['modtype'] = 'തരം:'; +$labels['allparts'] = 'എല്ലാം'; +$labels['domain'] = 'ഡൊമൈന്'; +$labels['localpart'] = 'പ്രാദേശിക ഭാഗം'; +$labels['user'] = 'ഉപയോക്താവു്'; +$labels['detail'] = 'വിശദാംശം'; +$labels['comparator'] = 'താരതമ്യകന്:'; +$labels['default'] = 'സഹജമായ'; +$labels['octet'] = 'കര്ശനം (octet)'; +$labels['asciicasemap'] = 'വലിയ-ചെറിയക്ഷരങ്ങള് തമ്മില് വ്യത്യാസമില്ലാത്ത (ascii-casemap)'; +$labels['asciinumeric'] = 'സംഖ്യകള് (ascii-numeric)'; +$messages['filterunknownerror'] = 'അജ്ഞാതമായ സെര്വ്വര് പിശക്.'; +$messages['filterconnerror'] = 'സെര്വ്വറുമായി ബന്ധപ്പെടാന് സാധിക്കുന്നില്ല.'; +$messages['filterdeleted'] = 'അരിപ്പ വിജകരമായി മായ്ച്ചു.'; +$messages['filtersaved'] = 'അരിപ്പ വിജകരമായി സൂക്ഷിച്ചു.'; +$messages['filterdeleteconfirm'] = 'തെരഞ്ഞെടുത്ത അരിപ്പ നീക്കം ചെയ്യണമെന്ന് ഉറപ്പാണോ?'; +$messages['ruledeleteconfirm'] = 'തെരഞ്ഞെടുത്ത നിയമം നീക്കം ചെയ്യണമെന്ന് ഉറപ്പാണോ?'; +$messages['actiondeleteconfirm'] = 'തെരഞ്ഞെടുത്ത പ്രവര്ത്തി നീക്കം ചെയ്യണമെന്ന് ഉറപ്പാണോ?'; +$messages['forbiddenchars'] = 'ഫില്ഡില് സാധുവല്ലാത്ത അക്ഷരങ്ങള്.'; +$messages['cannotbeempty'] = 'ഫീല്ഡ് ശൂന്യമാകാന് പാടില്ല.'; +$messages['ruleexist'] = 'ഈ പേരിലുള്ള അരിപ്പ ഇപ്പോള് തന്നെ ഉണ്ട്.'; +$messages['setactivated'] = 'അരിപ്പകളുടെ കൂട്ടത്തെ വിജയകരമായി പ്രവര്ത്തനസജ്ജമാക്കി.'; +$messages['setdeactivated'] = 'അരിപ്പകളുടെ കൂട്ടത്തെ വിജയകരമായി പ്രവര്ത്തനരഹിതമാക്കി.'; +$messages['setdeleted'] = 'അരിപ്പകളുടെ കൂട്ടത്തെ വിജയകരമായി മായ്ച്ചു.'; +$messages['setdeleteconfirm'] = 'തെരഞ്ഞെടുത്ത അരിപ്പകളുടെ കൂട്ടത്തെ നീക്കം ചെയ്യണമെന്ന് ഉറപ്പാണോ?'; +$messages['setcreated'] = 'അരിപ്പകളുടെ കൂട്ടത്തെ വിജയകരമായി നിര്മ്മിച്ചു.'; +$messages['deactivated'] = 'അരിപ്പ വിജകരമായി പ്രവര്ത്തനസജ്ജമാക്കി.'; +$messages['activated'] = 'അരിപ്പകള് നിര്വീര്യം ആക്കപ്പെട്ടിരിക്കുന്നു'; +$messages['moved'] = 'അരിപ്പ വിജകരമായി മാറ്റി.'; +$messages['nametoolong'] = 'പേരിന് നീളം കൂടുതല്.'; +$messages['namereserved'] = 'നീക്കിവെച്ച വാക്ക്.'; +$messages['setexist'] = 'കൂട്ടം നേരത്തെ തന്നെ ഉണ്ട്.'; +$messages['nodata'] = 'ഒരു സ്ഥാനമെങ്കിലും തെരഞ്ഞെടുക്കണം!'; +?> diff --git a/plugins/managesieve/localization/mr_IN.inc b/plugins/managesieve/localization/mr_IN.inc new file mode 100644 index 000000000..88edb92e4 --- /dev/null +++ b/plugins/managesieve/localization/mr_IN.inc @@ -0,0 +1,34 @@ +<?php + +/* + +-----------------------------------------------------------------------+ + | plugins/managesieve/localization/<lang>.inc | + | | + | Localization file of the Roundcube Webmail Managesieve 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-managesieve/ +*/ +$labels['filters'] = 'चाळण्या'; +$labels['moveup'] = 'वर हलवा'; +$labels['movedown'] = 'खाली हलवा'; +$labels['filterallof'] = 'खालील सर्व नियम जुळत आहेत'; +$labels['filterany'] = 'सर्व संदेश'; +$labels['filteris'] = 'च्या बरोबर आहे'; +$labels['filterisnot'] = 'च्या बरोबर नाही'; +$labels['filterexists'] = 'अस्तित्वात आहे'; +$labels['filternotexists'] = 'अस्तित्वात नाही'; +$labels['filterunder'] = 'खाली'; +$labels['filterover'] = 'वरती'; +$labels['messagedelete'] = 'संदेश काढून टाका'; +$labels['messagesactions'] = 'खालील कृती आमलात आणा :'; +$labels['add'] = 'समावेश करा'; +$labels['del'] = 'नष्ट करा'; +$labels['sender'] = 'प्रेषक'; +?> diff --git a/plugins/managesieve/localization/nb_NO.inc b/plugins/managesieve/localization/nb_NO.inc new file mode 100644 index 000000000..c9224ae61 --- /dev/null +++ b/plugins/managesieve/localization/nb_NO.inc @@ -0,0 +1,188 @@ +<?php + +/* + +-----------------------------------------------------------------------+ + | plugins/managesieve/localization/<lang>.inc | + | | + | Localization file of the Roundcube Webmail Managesieve 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-managesieve/ +*/ +$labels['filters'] = 'Filtre'; +$labels['managefilters'] = 'Rediger filter for innkommende e-post'; +$labels['filtername'] = 'Filternavn'; +$labels['newfilter'] = 'Nytt filter'; +$labels['filteradd'] = 'Legg til filter'; +$labels['filterdel'] = 'Slett filter'; +$labels['moveup'] = 'Flytt opp'; +$labels['movedown'] = 'Flytt ned'; +$labels['filterallof'] = 'som treffer alle følgende regler'; +$labels['filteranyof'] = 'som treffer en av følgende regler'; +$labels['filterany'] = 'alle meldinger'; +$labels['filtercontains'] = 'inneholder'; +$labels['filternotcontains'] = 'ikke inneholder'; +$labels['filteris'] = 'er lik'; +$labels['filterisnot'] = 'er ulik'; +$labels['filterexists'] = 'eksisterer'; +$labels['filternotexists'] = 'ikke eksisterer'; +$labels['filtermatches'] = 'treffer uttrykk'; +$labels['filternotmatches'] = 'ikke treffer uttrykk'; +$labels['filterregex'] = 'treffer regulært uttrykk'; +$labels['filternotregex'] = 'ikke treffer regulært uttrykk'; +$labels['filterunder'] = 'under'; +$labels['filterover'] = 'over'; +$labels['addrule'] = 'Legg til regel'; +$labels['delrule'] = 'Slett regel'; +$labels['messagemoveto'] = 'Flytt meldingen til'; +$labels['messageredirect'] = 'Videresend meldingen til'; +$labels['messagecopyto'] = 'Kopier meldingen til'; +$labels['messagesendcopy'] = 'Send en kopi av meldingen til'; +$labels['messagereply'] = 'Svar med melding'; +$labels['messagedelete'] = 'Slett melding'; +$labels['messagediscard'] = 'Avvis med melding'; +$labels['messagekeep'] = 'Behold melding i innboks'; +$labels['messagesrules'] = 'For innkommende e-post'; +$labels['messagesactions'] = '... gjør følgende:'; +$labels['add'] = 'Legg til'; +$labels['del'] = 'Slett'; +$labels['sender'] = 'Avsender'; +$labels['recipient'] = 'Mottaker'; +$labels['vacationaddr'] = 'Tilleggs epost-adresse(r):'; +$labels['vacationdays'] = 'Periode mellom meldinger (i dager):'; +$labels['vacationinterval'] = 'Periode mellom meldinger:'; +$labels['vacationreason'] = 'Innhold (begrunnelse for fravær)'; +$labels['vacationsubject'] = 'Meldingsemne:'; +$labels['days'] = 'dager'; +$labels['seconds'] = 'sekunder'; +$labels['rulestop'] = 'Stopp evaluering av regler'; +$labels['enable'] = 'Aktiver/Deaktiver'; +$labels['filterset'] = 'Filtersett'; +$labels['filtersets'] = 'Filtersett'; +$labels['filtersetadd'] = 'Nytt filtersett'; +$labels['filtersetdel'] = 'Slett gjeldende filtersett'; +$labels['filtersetact'] = 'Aktiver gjeldende filtersett'; +$labels['filtersetdeact'] = 'Deaktiver gjeldende filtersett'; +$labels['filterdef'] = 'Filterdefinisjon'; +$labels['filtersetname'] = 'Navn på filtersett'; +$labels['newfilterset'] = 'Nytt filtersett'; +$labels['active'] = 'aktiv'; +$labels['none'] = 'ingen'; +$labels['fromset'] = 'fra sett'; +$labels['fromfile'] = 'fra fil'; +$labels['filterdisabled'] = 'Filter deaktivert'; +$labels['countisgreaterthan'] = 'antall er flere enn'; +$labels['countisgreaterthanequal'] = 'antall er flere enn eller lik'; +$labels['countislessthan'] = 'antall er færre enn'; +$labels['countislessthanequal'] = 'antall er færre enn eller lik'; +$labels['countequals'] = 'antall er lik'; +$labels['countnotequals'] = 'tallet er ikke det samme som'; +$labels['valueisgreaterthan'] = 'verdien er høyrere enn'; +$labels['valueisgreaterthanequal'] = 'verdien er høyere eller lik'; +$labels['valueislessthan'] = 'verdien er lavere enn'; +$labels['valueislessthanequal'] = 'verdien er lavere eller lik'; +$labels['valueequals'] = 'verdien er lik'; +$labels['valuenotequals'] = 'verdien er ikke den samme som'; +$labels['setflags'] = 'Sett meldingsflagg'; +$labels['addflags'] = 'Legg til flagg på meldingen'; +$labels['removeflags'] = 'Fjern flagg fra meldingen'; +$labels['flagread'] = 'Lese'; +$labels['flagdeleted'] = 'Slettet'; +$labels['flaganswered'] = 'Besvart'; +$labels['flagflagged'] = 'Flagget'; +$labels['flagdraft'] = 'Utkast'; +$labels['setvariable'] = 'Set variabel'; +$labels['setvarname'] = 'Variabelnavn:'; +$labels['setvarvalue'] = 'Variabel verdi:'; +$labels['setvarmodifiers'] = 'Modifikator:'; +$labels['varlower'] = 'med små bokstaver'; +$labels['varupper'] = 'med store bokstaver'; +$labels['varlowerfirst'] = 'første tegn liten bokstav'; +$labels['varupperfirst'] = 'første tegn stor bokstav'; +$labels['varquotewildcard'] = 'sitér spesialtegn'; +$labels['varlength'] = 'lengde'; +$labels['notify'] = 'Send melding'; +$labels['notifyimportance'] = 'Viktighet:'; +$labels['notifyimportancelow'] = 'lav'; +$labels['notifyimportancenormal'] = 'normal'; +$labels['notifyimportancehigh'] = 'høy'; +$labels['filtercreate'] = 'Opprett filter'; +$labels['usedata'] = 'Bruk følgende data i filteret:'; +$labels['nextstep'] = 'Neste steg'; +$labels['...'] = '…'; +$labels['currdate'] = 'Nåværende dato'; +$labels['datetest'] = 'Dato'; +$labels['dateheader'] = 'header:'; +$labels['year'] = 'år'; +$labels['month'] = 'måned'; +$labels['day'] = 'dag'; +$labels['date'] = 'dato (yyyy-mm-dd)'; +$labels['julian'] = 'dato (juliansk)'; +$labels['hour'] = 'time'; +$labels['minute'] = 'minutt'; +$labels['second'] = 'sekund'; +$labels['time'] = 'tid (hh:mm:ss)'; +$labels['iso8601'] = 'dato (ISO8601)'; +$labels['std11'] = 'dato (RFC2822)'; +$labels['zone'] = 'tidssone'; +$labels['weekday'] = 'ukedag (0-6)'; +$labels['advancedopts'] = 'Avanserte alternativer'; +$labels['body'] = 'Meldingstekst'; +$labels['address'] = 'adresse'; +$labels['envelope'] = 'konvolutt'; +$labels['modifier'] = 'modifikator:'; +$labels['text'] = 'tekst'; +$labels['undecoded'] = 'ikke dekodet (rå)'; +$labels['contenttype'] = 'innholdstype'; +$labels['modtype'] = 'type:'; +$labels['allparts'] = 'alle'; +$labels['domain'] = 'domene'; +$labels['localpart'] = 'lokal del (local part)'; +$labels['user'] = 'bruker'; +$labels['detail'] = 'detalj'; +$labels['comparator'] = 'sammenligning:'; +$labels['default'] = 'standard'; +$labels['octet'] = 'streng (oktett)'; +$labels['asciicasemap'] = 'ikke skill store og små bokstaver (ascii-casemap)'; +$labels['asciinumeric'] = 'numerisk (ascii-numeric)'; +$labels['index'] = 'index:'; +$labels['indexlast'] = 'baklengs'; +$messages['filterunknownerror'] = 'Ukjent problem med tjener.'; +$messages['filterconnerror'] = 'Kunne ikke koble til tjeneren.'; +$messages['filterdeleteerror'] = 'Kunne ikke slette filter. Fikk feilmelding fra server.'; +$messages['filterdeleted'] = 'Filteret er blitt slettet.'; +$messages['filtersaved'] = 'Filteret er blitt lagret.'; +$messages['filtersaveerror'] = 'Kunne ikke lagre filter. Fikk feilmelding fra server.'; +$messages['filterdeleteconfirm'] = 'Vil du virkelig slette det valgte filteret?'; +$messages['ruledeleteconfirm'] = 'Er du sikker på at du vil slette valgte regel?'; +$messages['actiondeleteconfirm'] = 'Er du sikker på at du vil slette valgte hendelse?'; +$messages['forbiddenchars'] = 'Ugyldige tegn i felt.'; +$messages['cannotbeempty'] = 'Feltet kan ikke stå tomt.'; +$messages['ruleexist'] = 'Det finnes allerede et filter med dette navnet.'; +$messages['setactivateerror'] = 'Kunne ikke aktivere valgte filtersett. Fikk feilmelding fra server.'; +$messages['setdeactivateerror'] = 'Kunne ikke deaktivere valgte filtersett. Fikk feilmelding fra server.'; +$messages['setdeleteerror'] = 'Kunne ikke slette valgte filtersett. Fikk feilmelding fra server.'; +$messages['setactivated'] = 'Filtersett aktivert.'; +$messages['setdeactivated'] = 'Filtersett deaktivert.'; +$messages['setdeleted'] = 'Filtersett slettet.'; +$messages['setdeleteconfirm'] = 'Er du sikker på at du vil slette det valgte filtersettet?'; +$messages['setcreateerror'] = 'Kunne ikke opprette filtersett. Fikk feilmelding fra server.'; +$messages['setcreated'] = 'Filtersett opprettet.'; +$messages['activateerror'] = 'Kunne ikke aktivere valgte filter(e). Fikk feilmelding fra server.'; +$messages['deactivateerror'] = 'Kunne ikke deaktivere valgte filter(e). Fikk feilmelding fra server.'; +$messages['deactivated'] = 'Filter skrudd på.'; +$messages['activated'] = 'Filter skrudd av.'; +$messages['moved'] = 'Filter ble flyttet.'; +$messages['moveerror'] = 'Kunne ikke flytte valgte filter. Fikk feilmelding fra server.'; +$messages['nametoolong'] = 'Navnet er for langt.'; +$messages['namereserved'] = 'Navnet er reservert.'; +$messages['setexist'] = 'Settet eksisterer allerede.'; +$messages['nodata'] = 'Du må velge minst én posisjon!'; +$messages['invaliddateformat'] = 'Ugyldig dato eller datoformat'; +?> diff --git a/plugins/managesieve/localization/nl_NL.inc b/plugins/managesieve/localization/nl_NL.inc new file mode 100644 index 000000000..b84b87e94 --- /dev/null +++ b/plugins/managesieve/localization/nl_NL.inc @@ -0,0 +1,224 @@ +<?php + +/* + +-----------------------------------------------------------------------+ + | plugins/managesieve/localization/<lang>.inc | + | | + | Localization file of the Roundcube Webmail Managesieve 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-managesieve/ +*/ +$labels['filters'] = 'Filters'; +$labels['managefilters'] = 'Beheer filters voor inkomende e-mail'; +$labels['filtername'] = 'Filternaam'; +$labels['newfilter'] = 'Nieuw filter'; +$labels['filteradd'] = 'Filter toevoegen'; +$labels['filterdel'] = 'Verwijder filter'; +$labels['moveup'] = 'Verplaats omhoog'; +$labels['movedown'] = 'Verplaats omlaag'; +$labels['filterallof'] = 'die voldoet aan alle volgende regels'; +$labels['filteranyof'] = 'die voldoet aan één van de volgende regels'; +$labels['filterany'] = 'alle berichten'; +$labels['filtercontains'] = 'bevat'; +$labels['filternotcontains'] = 'bevat niet'; +$labels['filteris'] = 'is gelijk aan'; +$labels['filterisnot'] = 'is niet gelijk aan'; +$labels['filterexists'] = 'bestaat'; +$labels['filternotexists'] = 'bestaat niet'; +$labels['filtermatches'] = 'komt overeen met expressie'; +$labels['filternotmatches'] = 'komt niet overeen met expressie'; +$labels['filterregex'] = 'komt overeen met de reguliere expressie'; +$labels['filternotregex'] = 'komt niet overeen met de reguliere expressie'; +$labels['filterunder'] = 'onder'; +$labels['filterover'] = 'over'; +$labels['addrule'] = 'Regel toevoegen'; +$labels['delrule'] = 'Regel verwijderen'; +$labels['messagemoveto'] = 'Verplaats bericht naar'; +$labels['messageredirect'] = 'Bericht doorsturen naar'; +$labels['messagecopyto'] = 'Kopieer bericht naar'; +$labels['messagesendcopy'] = 'Verstuur een kopie naar'; +$labels['messagereply'] = 'Beantwoord met bericht'; +$labels['messagedelete'] = 'Verwijder bericht'; +$labels['messagediscard'] = 'Met bericht negeren'; +$labels['messagekeep'] = 'Bewaar bericht in Postvak IN'; +$labels['messagesrules'] = 'Voor binnenkomende e-mail:'; +$labels['messagesactions'] = '...voer de volgende acties uit'; +$labels['add'] = 'Toevoegen'; +$labels['del'] = 'Verwijderen'; +$labels['sender'] = 'Afzender'; +$labels['recipient'] = 'Ontvanger'; +$labels['vacationaddr'] = 'Mijn extra e-mailadres(sen):'; +$labels['vacationdays'] = 'Hoe vaak moet een bericht verstuurd worden (in dagen):'; +$labels['vacationinterval'] = 'Hoe vaak moet een bericht verstuurd worden:'; +$labels['vacationreason'] = 'Bericht (vakantiereden):'; +$labels['vacationsubject'] = 'Onderwerp:'; +$labels['days'] = 'dagen'; +$labels['seconds'] = 'seconden'; +$labels['rulestop'] = 'Stop met regels uitvoeren'; +$labels['enable'] = 'In-/uitschakelen'; +$labels['filterset'] = 'Filterset'; +$labels['filtersets'] = 'Filtersets'; +$labels['filtersetadd'] = 'Nieuwe filterset'; +$labels['filtersetdel'] = 'Verwijder huidige filterset'; +$labels['filtersetact'] = 'Huidige filterset activeren'; +$labels['filtersetdeact'] = 'Huidige filterset uitschakelen'; +$labels['filterdef'] = 'Filterdefinitie'; +$labels['filtersetname'] = 'Filtersetnaam'; +$labels['newfilterset'] = 'Nieuwe filterset'; +$labels['active'] = 'actief'; +$labels['none'] = 'geen'; +$labels['fromset'] = 'van set'; +$labels['fromfile'] = 'van bestand'; +$labels['filterdisabled'] = 'Filter uitgeschakeld'; +$labels['countisgreaterthan'] = 'aantal is groter dan'; +$labels['countisgreaterthanequal'] = 'aantal is groter dan of gelijk aan'; +$labels['countislessthan'] = 'aantal is kleiner dan'; +$labels['countislessthanequal'] = 'aantal is kleiner dan of gelijk aan'; +$labels['countequals'] = 'aantal is gelijk aan'; +$labels['countnotequals'] = 'aantal is niet gelijk aan'; +$labels['valueisgreaterthan'] = 'waarde is groter dan'; +$labels['valueisgreaterthanequal'] = 'waarde is groter dan of gelijk aan'; +$labels['valueislessthan'] = 'waarde is minder dan'; +$labels['valueislessthanequal'] = 'waarde is minder dan of gelijk aan'; +$labels['valueequals'] = 'waarde is gelijk aan'; +$labels['valuenotequals'] = 'waarde is niet gelijk aan'; +$labels['setflags'] = 'Stel markeringen in op bericht'; +$labels['addflags'] = 'Voeg markeringen toe aan bericht'; +$labels['removeflags'] = 'Verwijder markeringen van bericht'; +$labels['flagread'] = 'Lezen'; +$labels['flagdeleted'] = 'Verwijderd'; +$labels['flaganswered'] = 'Beantwoord'; +$labels['flagflagged'] = 'Gemarkeerd'; +$labels['flagdraft'] = 'Concept'; +$labels['setvariable'] = 'Variabele instellen'; +$labels['setvarname'] = 'Naam variabele:'; +$labels['setvarvalue'] = 'Waarde:'; +$labels['setvarmodifiers'] = 'Waarde wijzigen:'; +$labels['varlower'] = 'kleine letters'; +$labels['varupper'] = 'hoofdletters'; +$labels['varlowerfirst'] = 'eerste karakter als kleine letter'; +$labels['varupperfirst'] = 'eerste karakter als hoofdletter'; +$labels['varquotewildcard'] = 'speciale karakters quoten'; +$labels['varlength'] = 'lengte'; +$labels['notify'] = 'Stuur melding'; +$labels['notifytarget'] = 'Meldingsdoel:'; +$labels['notifymessage'] = 'Meldingsbericht (optioneel):'; +$labels['notifyoptions'] = 'Meldingsopties (optioneel):'; +$labels['notifyfrom'] = 'Meldingsafzender (optioneel):'; +$labels['notifyimportance'] = 'Prioriteit:'; +$labels['notifyimportancelow'] = 'laag'; +$labels['notifyimportancenormal'] = 'normaal'; +$labels['notifyimportancehigh'] = 'hoog'; +$labels['notifymethodmailto'] = 'E-mail'; +$labels['notifymethodtel'] = 'Telefoon'; +$labels['notifymethodsms'] = 'SMS'; +$labels['filtercreate'] = 'Filter aanmaken'; +$labels['usedata'] = 'Gebruik de volgende gegevens in het filter:'; +$labels['nextstep'] = 'Volgende stap'; +$labels['...'] = '...'; +$labels['currdate'] = 'Huidige datum'; +$labels['datetest'] = 'Datum'; +$labels['dateheader'] = 'header:'; +$labels['year'] = 'jaar'; +$labels['month'] = 'maand'; +$labels['day'] = 'dag'; +$labels['date'] = 'datum (jjjj-mm-dd)'; +$labels['julian'] = 'datum (juliaanse kalender)'; +$labels['hour'] = 'uur'; +$labels['minute'] = 'minuut'; +$labels['second'] = 'seconde'; +$labels['time'] = 'tijd (uu:mm:ss)'; +$labels['iso8601'] = 'datum (ISO-8601)'; +$labels['std11'] = 'datum (RFC 2822)'; +$labels['zone'] = 'tijdzone'; +$labels['weekday'] = 'weekdag (0-6)'; +$labels['advancedopts'] = 'Geavanceerde opties'; +$labels['body'] = 'Inhoud'; +$labels['address'] = 'adres'; +$labels['envelope'] = 'envelope'; +$labels['modifier'] = 'toets op:'; +$labels['text'] = 'tekst'; +$labels['undecoded'] = 'undecoded (raw)'; +$labels['contenttype'] = 'content type'; +$labels['modtype'] = 'type:'; +$labels['allparts'] = 'Alle'; +$labels['domain'] = 'domein'; +$labels['localpart'] = 'lokaal gedeelte'; +$labels['user'] = 'gebruiker'; +$labels['detail'] = 'detail'; +$labels['comparator'] = 'vergelijkingswijze:'; +$labels['default'] = 'standaard'; +$labels['octet'] = 'strikt (octet)'; +$labels['asciicasemap'] = 'hoofdletterongevoelig (ascii-casemap)'; +$labels['asciinumeric'] = 'numeriek (ascii-numeriek)'; +$labels['index'] = 'index:'; +$labels['indexlast'] = 'terugwaarts'; +$labels['vacation'] = 'Vakantie'; +$labels['vacation.reply'] = 'Antwoordbericht'; +$labels['vacation.advanced'] = 'Geavanceerde instellingen'; +$labels['vacation.subject'] = 'Onderwerp'; +$labels['vacation.body'] = 'Inhoud'; +$labels['vacation.start'] = 'Begin van vakantie'; +$labels['vacation.end'] = 'Einde van vakantie'; +$labels['vacation.status'] = 'Status'; +$labels['vacation.on'] = 'Aan'; +$labels['vacation.off'] = 'Uit'; +$labels['vacation.addresses'] = 'Mijn extra e-mailadressen'; +$labels['vacation.interval'] = 'Antwoordinterval'; +$labels['vacation.after'] = 'Voeg een vakantieregel toe na'; +$labels['vacation.saving'] = 'Gegevens worden opgeslagen...'; +$labels['vacation.action'] = 'Actie voor inkomend bericht'; +$labels['vacation.keep'] = 'Bewaren'; +$labels['vacation.discard'] = 'Weggooien'; +$labels['vacation.redirect'] = 'Doorsturen naar'; +$labels['vacation.copy'] = 'Kopie sturen naar'; +$labels['arialabelfiltersetactions'] = 'Filtersetacties'; +$labels['arialabelfilteractions'] = 'Filteracties'; +$labels['arialabelfilterform'] = 'Filtereigenschappen'; +$labels['ariasummaryfilterslist'] = 'Filterlijst'; +$labels['ariasummaryfiltersetslist'] = 'Lijst met filtersets'; +$labels['filterstitle'] = 'Bewerk filters voor inkomende berichten'; +$labels['vacationtitle'] = 'Bewerk vakantieregel'; +$messages['filterunknownerror'] = 'Onbekende fout'; +$messages['filterconnerror'] = 'Kan geen verbinding maken met de managesieve server'; +$messages['filterdeleteerror'] = 'Kan filter niet verwijderen. Er trad een serverfout op.'; +$messages['filterdeleted'] = 'Filter succesvol verwijderd'; +$messages['filtersaved'] = 'Filter succesvol opgeslagen'; +$messages['filtersaveerror'] = 'Kan filter niet opslaan. Er trad een serverfout op.'; +$messages['filterdeleteconfirm'] = 'Weet je zeker dat je het geselecteerde filter wilt verwijderen?'; +$messages['ruledeleteconfirm'] = 'Weet je zeker dat je de geselecteerde regel wilt verwijderen?'; +$messages['actiondeleteconfirm'] = 'Weet je zeker dat je de geselecteerde actie wilt verwijderen?'; +$messages['forbiddenchars'] = 'Verboden karakters in het veld'; +$messages['cannotbeempty'] = 'Veld mag niet leeg zijn'; +$messages['ruleexist'] = 'Er bestaat al een filter met deze naam.'; +$messages['setactivateerror'] = 'Filterset kon niet geactiveerd worden. Er trad een serverfout op.'; +$messages['setdeactivateerror'] = 'Filterset kon niet gedeactiveerd worden. Er trad een serverfout op.'; +$messages['setdeleteerror'] = 'Filterset kon niet verwijderd worden. Er trad een serverfout op.'; +$messages['setactivated'] = 'Filterset succesvol geactiveerd.'; +$messages['setdeactivated'] = 'Filterset succesvol gedeactiveerd.'; +$messages['setdeleted'] = 'Filterset succesvol verwijderd.'; +$messages['setdeleteconfirm'] = 'Weet u zeker dat u de geselecteerde filterset wilt verwijderen?'; +$messages['setcreateerror'] = 'Filterset kon niet aangemaakt worden. Er trad een serverfout op.'; +$messages['setcreated'] = 'Filterset succesvol aangemaakt.'; +$messages['activateerror'] = 'Geselecteerde filter(s) konden niet ingeschakeld worden. Er trad een serverfout op.'; +$messages['deactivateerror'] = 'Geselecteerde filter(s) konden niet uitgeschakeld worden. Er trad een serverfout op.'; +$messages['deactivated'] = 'Filter(s) succesvol ingeschakeld.'; +$messages['activated'] = 'Filter(s) succesvol uitgeschakeld.'; +$messages['moved'] = 'Filter succesvol verplaatst.'; +$messages['moveerror'] = 'Het geselecteerde filter kon niet verplaatst worden. Er trad een serverfout op.'; +$messages['nametoolong'] = 'Naam is te lang.'; +$messages['namereserved'] = 'Gereserveerde naam.'; +$messages['setexist'] = 'Filterset bestaat al.'; +$messages['nodata'] = 'Tenminste één positie moet geselecteerd worden!'; +$messages['invaliddateformat'] = 'Ongeldige datum of datumformaat'; +$messages['saveerror'] = 'Opslaan van de gegevens is mislukt. Er trad een serverfout op.'; +$messages['vacationsaved'] = 'Vakantiegegevens succesvol opgeslagen.'; +$messages['emptyvacationbody'] = 'Inhoud van vakantiebericht is verplicht!'; +?> diff --git a/plugins/managesieve/localization/nn_NO.inc b/plugins/managesieve/localization/nn_NO.inc new file mode 100644 index 000000000..2dc68e6c9 --- /dev/null +++ b/plugins/managesieve/localization/nn_NO.inc @@ -0,0 +1,152 @@ +<?php + +/* + +-----------------------------------------------------------------------+ + | plugins/managesieve/localization/<lang>.inc | + | | + | Localization file of the Roundcube Webmail Managesieve 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-managesieve/ +*/ +$labels['filters'] = 'Filter'; +$labels['managefilters'] = 'Rediger filter for innkommande e-post'; +$labels['filtername'] = 'Filternamn'; +$labels['newfilter'] = 'Nytt filter'; +$labels['filteradd'] = 'Legg til filter'; +$labels['filterdel'] = 'Slett filter'; +$labels['moveup'] = 'Flytt opp'; +$labels['movedown'] = 'Flytt ned'; +$labels['filterallof'] = 'som treffer alle følgjande regler'; +$labels['filteranyof'] = 'som treffer ein av følgjande regler'; +$labels['filterany'] = 'alle meldingar'; +$labels['filtercontains'] = 'inneheld'; +$labels['filternotcontains'] = 'ikkje inneheld'; +$labels['filteris'] = 'er lik'; +$labels['filterisnot'] = 'er ikkje lik'; +$labels['filterexists'] = 'eksisterer'; +$labels['filternotexists'] = 'ikkje eksisterer'; +$labels['filtermatches'] = 'treffer uttrykk'; +$labels['filternotmatches'] = 'ikkje treffer uttrykk'; +$labels['filterregex'] = 'treffer regulært uttrykk'; +$labels['filternotregex'] = 'ikkje treffer regulært uttrykk'; +$labels['filterunder'] = 'under'; +$labels['filterover'] = 'over'; +$labels['addrule'] = 'Legg til regel'; +$labels['delrule'] = 'Slett regel'; +$labels['messagemoveto'] = 'Flytt meldinga til'; +$labels['messageredirect'] = 'Vidaresend meldinga til'; +$labels['messagecopyto'] = 'Kopier meldinga til'; +$labels['messagesendcopy'] = 'Send ein kopi av meldinga til'; +$labels['messagereply'] = 'Svar med melding'; +$labels['messagedelete'] = 'Slett melding'; +$labels['messagediscard'] = 'Avvis med melding'; +$labels['messagesrules'] = 'For innkommande e-post'; +$labels['messagesactions'] = '…gjer følgjande:'; +$labels['add'] = 'Legg til'; +$labels['del'] = 'Slett'; +$labels['sender'] = 'Avsendar'; +$labels['recipient'] = 'Mottakar'; +$labels['vacationdays'] = 'Periode mellom meldingar (i dagar):'; +$labels['vacationreason'] = 'Innhald (grunngjeving for fråvær)'; +$labels['vacationsubject'] = 'Meldingsemne:'; +$labels['rulestop'] = 'Stopp evaluering av regler'; +$labels['enable'] = 'Aktiver/Deaktiver'; +$labels['filterset'] = 'Filtersett'; +$labels['filtersets'] = 'Filtersett'; +$labels['filtersetadd'] = 'Nytt filtersett'; +$labels['filtersetdel'] = 'Slett gjeldande filtersett'; +$labels['filtersetact'] = 'Aktiver gjeldande filtersett'; +$labels['filtersetdeact'] = 'Deaktiver gjeldande filtersett'; +$labels['filterdef'] = 'Filterdefinisjon'; +$labels['filtersetname'] = 'Namn på filtersett'; +$labels['newfilterset'] = 'Nytt filtersett'; +$labels['active'] = 'aktiv'; +$labels['none'] = 'ingen'; +$labels['fromset'] = 'frå sett'; +$labels['fromfile'] = 'frå fil'; +$labels['filterdisabled'] = 'Filter deaktivert'; +$labels['countisgreaterthan'] = 'mengd er fleire enn'; +$labels['countisgreaterthanequal'] = 'mengd er fleire enn eller lik'; +$labels['countislessthan'] = 'mengd er færre enn'; +$labels['countislessthanequal'] = 'mengd er færre enn eller lik'; +$labels['countequals'] = 'mengd er lik'; +$labels['valueisgreaterthan'] = 'verdien er høgare enn'; +$labels['valueisgreaterthanequal'] = 'verdien er høgare eller lik'; +$labels['valueislessthan'] = 'verdien er lågare enn'; +$labels['valueislessthanequal'] = 'verdien er lågare eller lik'; +$labels['valueequals'] = 'verdien er lik'; +$labels['setflags'] = 'Sett meldingsflagg'; +$labels['addflags'] = 'Legg til flagg på meldinga'; +$labels['removeflags'] = 'Fjern flagg fra meldinga'; +$labels['flagread'] = 'Lese'; +$labels['flagdeleted'] = 'Sletta'; +$labels['flaganswered'] = 'Svart på'; +$labels['flagflagged'] = 'Flagga'; +$labels['flagdraft'] = 'Skisse'; +$labels['setvariable'] = 'Sett variabel:'; +$labels['setvarname'] = 'Variabelnamn:'; +$labels['setvarvalue'] = 'Variabelverdi:'; +$labels['setvarmodifiers'] = 'Modifikator:'; +$labels['varlower'] = 'med små bokstavar'; +$labels['varupper'] = 'med store bokstavar'; +$labels['varlowerfirst'] = 'med liten forbokstav'; +$labels['varupperfirst'] = 'med stor forbokstav'; +$labels['varlength'] = 'lengde'; +$labels['notify'] = 'Send varsel'; +$labels['notifyimportance'] = 'Betyding:'; +$labels['notifyimportancelow'] = 'låg'; +$labels['notifyimportancenormal'] = 'normal'; +$labels['notifyimportancehigh'] = 'høg'; +$labels['filtercreate'] = 'Opprett filter'; +$labels['usedata'] = 'Bruk følgande data i filteret:'; +$labels['nextstep'] = 'Neste steg'; +$labels['...'] = '…'; +$labels['advancedopts'] = 'Avanserte val'; +$labels['body'] = 'Meldingstekst'; +$labels['address'] = 'adresse'; +$labels['envelope'] = 'konvolutt'; +$labels['modifier'] = 'modifikator:'; +$labels['text'] = 'tekst'; +$labels['undecoded'] = 'ikkje dekoda (rå)'; +$labels['contenttype'] = 'innhaldstype'; +$labels['modtype'] = 'type:'; +$labels['allparts'] = 'alle'; +$labels['domain'] = 'domene'; +$labels['localpart'] = 'lokal del (local part)'; +$labels['user'] = 'brukar'; +$labels['detail'] = 'detalj'; +$labels['comparator'] = 'samanlikning:'; +$labels['default'] = 'standard'; +$labels['octet'] = 'streng (oktett)'; +$labels['asciicasemap'] = 'ikkje skil mellom store og små bokstavar (ascii-casemap)'; +$labels['asciinumeric'] = 'numerisk (ascii-numeric)'; +$messages['filterunknownerror'] = 'Ukjent problem med tenar.'; +$messages['filterconnerror'] = 'Kunne ikkje kople til tenaren.'; +$messages['filterdeleted'] = 'Filteret er blitt sletta.'; +$messages['filtersaved'] = 'Filteret er blitt lagra.'; +$messages['filterdeleteconfirm'] = 'Vil du verkeleg slette det valde filteret?'; +$messages['ruledeleteconfirm'] = 'Er du sikker på at du vil slette vald regel?'; +$messages['actiondeleteconfirm'] = 'Er du sikker på at du vil slette vald hending?'; +$messages['forbiddenchars'] = 'Ugyldige teikn i felt.'; +$messages['cannotbeempty'] = 'Feltet kan ikkje stå tomt.'; +$messages['ruleexist'] = 'Det finst alt eit filter med dette namnet.'; +$messages['setactivated'] = 'Filtersett aktivert.'; +$messages['setdeactivated'] = 'Filtersett deaktivert.'; +$messages['setdeleted'] = 'Filtersett sletta.'; +$messages['setdeleteconfirm'] = 'Er du sikker på at du vil slette det valde filtersettet?'; +$messages['setcreated'] = 'Filtersett oppretta.'; +$messages['deactivated'] = 'Filter skrudd på.'; +$messages['activated'] = 'Filter skrudd av.'; +$messages['moved'] = 'Filter vart flytta.'; +$messages['nametoolong'] = 'Namnet er for langt.'; +$messages['namereserved'] = 'Namnet er reservert.'; +$messages['setexist'] = 'Settet eksisterer alt.'; +$messages['nodata'] = 'Du må velje minst éin posisjon!'; +?> diff --git a/plugins/managesieve/localization/pl_PL.inc b/plugins/managesieve/localization/pl_PL.inc new file mode 100644 index 000000000..06c0a7925 --- /dev/null +++ b/plugins/managesieve/localization/pl_PL.inc @@ -0,0 +1,224 @@ +<?php + +/* + +-----------------------------------------------------------------------+ + | plugins/managesieve/localization/<lang>.inc | + | | + | Localization file of the Roundcube Webmail Managesieve 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-managesieve/ +*/ +$labels['filters'] = 'Filtry'; +$labels['managefilters'] = 'Zarządzanie filtrami poczty przychodzącej'; +$labels['filtername'] = 'Nazwa filtru'; +$labels['newfilter'] = 'Nowy filtr'; +$labels['filteradd'] = 'Dodaj filtr'; +$labels['filterdel'] = 'Usuń filtr'; +$labels['moveup'] = 'W górę'; +$labels['movedown'] = 'W dół'; +$labels['filterallof'] = 'spełniających wszystkie poniższe kryteria'; +$labels['filteranyof'] = 'spełniających dowolne z poniższych kryteriów'; +$labels['filterany'] = 'wszystkich'; +$labels['filtercontains'] = 'zawiera'; +$labels['filternotcontains'] = 'nie zawiera'; +$labels['filteris'] = 'jest równe'; +$labels['filterisnot'] = 'nie jest równe'; +$labels['filterexists'] = 'istnieje'; +$labels['filternotexists'] = 'nie istnieje'; +$labels['filtermatches'] = 'pasuje do wyrażenia'; +$labels['filternotmatches'] = 'nie pasuje do wyrażenia'; +$labels['filterregex'] = 'pasuje do wyrażenia regularnego'; +$labels['filternotregex'] = 'nie pasuje do wyrażenia regularnego'; +$labels['filterunder'] = 'poniżej'; +$labels['filterover'] = 'ponad'; +$labels['addrule'] = 'Dodaj regułę'; +$labels['delrule'] = 'Usuń regułę'; +$labels['messagemoveto'] = 'Przenieś wiadomość do'; +$labels['messageredirect'] = 'Przekaż wiadomość na konto'; +$labels['messagecopyto'] = 'Skopiuj wiadomość do'; +$labels['messagesendcopy'] = 'Wyślij kopię do'; +$labels['messagereply'] = 'Odpowiedz wiadomością o treści'; +$labels['messagedelete'] = 'Usuń wiadomość'; +$labels['messagediscard'] = 'Odrzuć z komunikatem'; +$labels['messagekeep'] = 'Zachowaj wiadomość w Odebranych'; +$labels['messagesrules'] = 'W stosunku do przychodzącej poczty:'; +$labels['messagesactions'] = '...wykonaj następujące czynności:'; +$labels['add'] = 'Dodaj'; +$labels['del'] = 'Usuń'; +$labels['sender'] = 'Nadawca'; +$labels['recipient'] = 'Odbiorca'; +$labels['vacationaddr'] = 'Moje dodatkowe adresy email:'; +$labels['vacationdays'] = 'Częstotliwość wysyłania wiadomości (w dniach):'; +$labels['vacationinterval'] = 'Jak często wysyłać wiadomości:'; +$labels['vacationreason'] = 'Treść (przyczyna nieobecności):'; +$labels['vacationsubject'] = 'Temat wiadomości:'; +$labels['days'] = 'dni'; +$labels['seconds'] = 'sekundy'; +$labels['rulestop'] = 'Przerwij przetwarzanie reguł'; +$labels['enable'] = 'Włącz/Wyłącz'; +$labels['filterset'] = 'Zbiór filtrów'; +$labels['filtersets'] = 'Zbiory fitrów'; +$labels['filtersetadd'] = 'Dodaj zbiór filtrów'; +$labels['filtersetdel'] = 'Usuń bieżący zbiór filtrów'; +$labels['filtersetact'] = 'Aktywuj bieżący zbiór filtrów'; +$labels['filtersetdeact'] = 'Deaktywuj bieżący zbiór filtrów'; +$labels['filterdef'] = 'Definicja filtra'; +$labels['filtersetname'] = 'Nazwa zbioru'; +$labels['newfilterset'] = 'Nowy zbiór filtrów'; +$labels['active'] = 'aktywny'; +$labels['none'] = 'brak'; +$labels['fromset'] = 'ze zbioru'; +$labels['fromfile'] = 'z pliku'; +$labels['filterdisabled'] = 'Filtr wyłączony'; +$labels['countisgreaterthan'] = 'ilość jest większa od'; +$labels['countisgreaterthanequal'] = 'ilość jest równa lub większa od'; +$labels['countislessthan'] = 'ilość jest mniejsza od'; +$labels['countislessthanequal'] = 'ilość jest równa lub mniejsza od'; +$labels['countequals'] = 'ilość jest równa'; +$labels['countnotequals'] = 'ilość nie jest równa'; +$labels['valueisgreaterthan'] = 'wartość jest większa od'; +$labels['valueisgreaterthanequal'] = 'wartość jest równa lub większa od'; +$labels['valueislessthan'] = 'wartość jest mniejsza od'; +$labels['valueislessthanequal'] = 'wartość jest równa lub mniejsza od'; +$labels['valueequals'] = 'wartość jest równa'; +$labels['valuenotequals'] = 'wartość nie jest równa'; +$labels['setflags'] = 'Ustaw flagi wiadomości'; +$labels['addflags'] = 'Dodaj flagi do wiadomości'; +$labels['removeflags'] = 'Usuń flagi wiadomości'; +$labels['flagread'] = 'Przeczytana'; +$labels['flagdeleted'] = 'Usunięta'; +$labels['flaganswered'] = 'Z odpowiedzią'; +$labels['flagflagged'] = 'Oflagowana'; +$labels['flagdraft'] = 'Szkic'; +$labels['setvariable'] = 'Ustaw zmienną'; +$labels['setvarname'] = 'Nazwa zmiennej:'; +$labels['setvarvalue'] = 'Wartość zmiennej:'; +$labels['setvarmodifiers'] = 'Modyfikatory:'; +$labels['varlower'] = 'małe litery'; +$labels['varupper'] = 'wielkie litery'; +$labels['varlowerfirst'] = 'pierwsza mała litera'; +$labels['varupperfirst'] = 'pierwsza wielka litera'; +$labels['varquotewildcard'] = 'zamień znaki specjalne'; +$labels['varlength'] = 'długość'; +$labels['notify'] = 'Wyślij powiadomienie'; +$labels['notifytarget'] = 'Odbiorca powiadomienia:'; +$labels['notifymessage'] = 'Wiadomość powiadomienia (opcjonalne):'; +$labels['notifyoptions'] = 'Opcje powiadomienia (opcjonalne):'; +$labels['notifyfrom'] = 'Nadawca powiadomienia (opcjonalne):'; +$labels['notifyimportance'] = 'Priorytet:'; +$labels['notifyimportancelow'] = 'niski'; +$labels['notifyimportancenormal'] = 'normalny'; +$labels['notifyimportancehigh'] = 'wysoki'; +$labels['notifymethodmailto'] = 'E-Mail'; +$labels['notifymethodtel'] = 'Telefon'; +$labels['notifymethodsms'] = 'SMS'; +$labels['filtercreate'] = 'Utwórz filtr'; +$labels['usedata'] = 'Użyj następujących danych do utworzenia filtra:'; +$labels['nextstep'] = 'Następny krok'; +$labels['...'] = '...'; +$labels['currdate'] = 'Bieżąca data'; +$labels['datetest'] = 'Data'; +$labels['dateheader'] = 'nagłówek:'; +$labels['year'] = 'rok'; +$labels['month'] = 'miesiąc'; +$labels['day'] = 'dzień'; +$labels['date'] = 'data (rrrr-mm-dd)'; +$labels['julian'] = 'data (kalendarz juliański)'; +$labels['hour'] = 'godzina'; +$labels['minute'] = 'minuta'; +$labels['second'] = 'sekunda'; +$labels['time'] = 'czas (gg:mm:ss)'; +$labels['iso8601'] = 'data (ISO8601)'; +$labels['std11'] = 'data (RFC2822)'; +$labels['zone'] = 'Strefa czasowa'; +$labels['weekday'] = 'dzień tygodnia (0-6)'; +$labels['advancedopts'] = 'Zaawansowane opcje'; +$labels['body'] = 'Treść'; +$labels['address'] = 'adres'; +$labels['envelope'] = 'koperta (envelope)'; +$labels['modifier'] = 'modyfikator:'; +$labels['text'] = 'tekst'; +$labels['undecoded'] = 'nie (raw)'; +$labels['contenttype'] = 'typ części (content type)'; +$labels['modtype'] = 'typ:'; +$labels['allparts'] = 'wszystkie'; +$labels['domain'] = 'domena'; +$labels['localpart'] = 'część lokalna'; +$labels['user'] = 'użytkownik'; +$labels['detail'] = 'detal'; +$labels['comparator'] = 'komparator:'; +$labels['default'] = 'domyślny'; +$labels['octet'] = 'dokładny (octet)'; +$labels['asciicasemap'] = 'nierozróżniający wielkości liter (ascii-casemap)'; +$labels['asciinumeric'] = 'numeryczny (ascii-numeric)'; +$labels['index'] = 'indeks:'; +$labels['indexlast'] = 'wstecz'; +$labels['vacation'] = 'Nieobecność'; +$labels['vacation.reply'] = 'Odpowiedź'; +$labels['vacation.advanced'] = 'Ustawienia zaawansowane'; +$labels['vacation.subject'] = 'Temat'; +$labels['vacation.body'] = 'Treść'; +$labels['vacation.start'] = 'Początek nieobecności'; +$labels['vacation.end'] = 'Koniec nieobecności'; +$labels['vacation.status'] = 'Status'; +$labels['vacation.on'] = 'włączone'; +$labels['vacation.off'] = 'wyłączone'; +$labels['vacation.addresses'] = 'Moje dodatkowe adresy'; +$labels['vacation.interval'] = 'Częstotliwość odpowiedzi'; +$labels['vacation.after'] = 'Umieść regułę odpowiedzi po'; +$labels['vacation.saving'] = 'Zapisywanie danych...'; +$labels['vacation.action'] = 'Akcje wiadomości przychodzących'; +$labels['vacation.keep'] = 'Zachowaj'; +$labels['vacation.discard'] = 'Odrzuć'; +$labels['vacation.redirect'] = 'Przekaż do'; +$labels['vacation.copy'] = 'Wyślij kopię do'; +$labels['arialabelfiltersetactions'] = 'Zbiór filtrów akcji'; +$labels['arialabelfilteractions'] = 'Akcje filtrów'; +$labels['arialabelfilterform'] = 'Ustawienia filtrów'; +$labels['ariasummaryfilterslist'] = 'Spis filtrów'; +$labels['ariasummaryfiltersetslist'] = 'Lista zbiorów filtrów'; +$labels['filterstitle'] = 'Zarządzaj filtrami wiadomości przychodzących'; +$labels['vacationtitle'] = 'Zarządzaj asystentem nieobecności'; +$messages['filterunknownerror'] = 'Nieznany błąd serwera.'; +$messages['filterconnerror'] = 'Nie można nawiązać połączenia z serwerem.'; +$messages['filterdeleteerror'] = 'Nie można usunąć filtra. Błąd serwera.'; +$messages['filterdeleted'] = 'Filtr został usunięty pomyślnie.'; +$messages['filtersaved'] = 'Filtr został zapisany pomyślnie.'; +$messages['filtersaveerror'] = 'Nie można zapisać filtra. Wystąpił błąd serwera.'; +$messages['filterdeleteconfirm'] = 'Czy na pewno chcesz usunąć wybrany filtr?'; +$messages['ruledeleteconfirm'] = 'Czy na pewno chcesz usunąć wybraną regułę?'; +$messages['actiondeleteconfirm'] = 'Czy na pewno usunąć wybraną akcję?'; +$messages['forbiddenchars'] = 'Pole zawiera niedozwolone znaki.'; +$messages['cannotbeempty'] = 'Pole nie może być puste.'; +$messages['ruleexist'] = 'Filtr o podanej nazwie już istnieje.'; +$messages['setactivateerror'] = 'Nie można aktywować wybranego zbioru filtrów. Błąd serwera.'; +$messages['setdeactivateerror'] = 'Nie można deaktywować wybranego zbioru filtrów. Błąd serwera.'; +$messages['setdeleteerror'] = 'Nie można usunąć wybranego zbioru filtrów. Błąd serwera.'; +$messages['setactivated'] = 'Zbiór filtrów został aktywowany pomyślnie.'; +$messages['setdeactivated'] = 'Zbiór filtrów został deaktywowany pomyślnie.'; +$messages['setdeleted'] = 'Zbiór filtrów został usunięty pomyślnie.'; +$messages['setdeleteconfirm'] = 'Czy na pewno chcesz usunąć wybrany zbiór filtrów?'; +$messages['setcreateerror'] = 'Nie można utworzyć zbioru filtrów. Błąd serwera.'; +$messages['setcreated'] = 'Zbiór filtrów został utworzony pomyślnie.'; +$messages['activateerror'] = 'Nie można włączyć wybranych filtrów. Błąd serwera.'; +$messages['deactivateerror'] = 'Nie można wyłączyć wybranych filtrów. Błąd serwera.'; +$messages['deactivated'] = 'Filtr(y) włączono pomyślnie.'; +$messages['activated'] = 'Filtr(y) wyłączono pomyślnie.'; +$messages['moved'] = 'Filter został przeniesiony pomyślnie.'; +$messages['moveerror'] = 'Nie można przenieść wybranego filtra. Błąd serwera.'; +$messages['nametoolong'] = 'Zbyt długa nazwa.'; +$messages['namereserved'] = 'Nazwa zarezerwowana.'; +$messages['setexist'] = 'Zbiór już istnieje.'; +$messages['nodata'] = 'Należy wybrać co najmniej jedną pozycję!'; +$messages['invaliddateformat'] = 'Nieprawidłowy format daty lub fragmentu daty'; +$messages['saveerror'] = 'Nie można zapisać danych. Wystąpił błąd serwera.'; +$messages['vacationsaved'] = 'Dane nieobecności zapisano pomyślnie.'; +$messages['emptyvacationbody'] = 'Treść wiadomości jest wymagana!'; +?> diff --git a/plugins/managesieve/localization/pt_BR.inc b/plugins/managesieve/localization/pt_BR.inc new file mode 100644 index 000000000..b0ccaf65a --- /dev/null +++ b/plugins/managesieve/localization/pt_BR.inc @@ -0,0 +1,224 @@ +<?php + +/* + +-----------------------------------------------------------------------+ + | plugins/managesieve/localization/<lang>.inc | + | | + | Localization file of the Roundcube Webmail Managesieve 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-managesieve/ +*/ +$labels['filters'] = 'Filtros'; +$labels['managefilters'] = 'Gerenciar filtros de entrada de e-mail'; +$labels['filtername'] = 'Nome do filtro'; +$labels['newfilter'] = 'Novo filtro'; +$labels['filteradd'] = 'Adicionar filtro'; +$labels['filterdel'] = 'Excluir filtro'; +$labels['moveup'] = 'Mover para cima'; +$labels['movedown'] = 'Mover para baixo'; +$labels['filterallof'] = 'casando todas as seguintes regras'; +$labels['filteranyof'] = 'casando qualquer das seguintes regras'; +$labels['filterany'] = 'todas as mensagens'; +$labels['filtercontains'] = 'contem'; +$labels['filternotcontains'] = 'não contem'; +$labels['filteris'] = 'é igual a'; +$labels['filterisnot'] = 'não é igual a'; +$labels['filterexists'] = 'existe'; +$labels['filternotexists'] = 'não existe'; +$labels['filtermatches'] = 'expressão combina'; +$labels['filternotmatches'] = 'expressão não combina'; +$labels['filterregex'] = 'combina com expressão regular'; +$labels['filternotregex'] = 'não combina com a expressão regular'; +$labels['filterunder'] = 'inferior a'; +$labels['filterover'] = 'superior a'; +$labels['addrule'] = 'Adicionar regra'; +$labels['delrule'] = 'Excluir regra'; +$labels['messagemoveto'] = 'Mover mensagem para'; +$labels['messageredirect'] = 'Redirecionar mensagem para'; +$labels['messagecopyto'] = 'Copiar mensagem para'; +$labels['messagesendcopy'] = 'Enviar cópia da mensagem para'; +$labels['messagereply'] = 'Responder com mensagem'; +$labels['messagedelete'] = 'Excluir mensagem'; +$labels['messagediscard'] = 'Descartar com mensagem'; +$labels['messagekeep'] = 'Manter mensagens na caixa'; +$labels['messagesrules'] = 'Para e-mails recebidos:'; +$labels['messagesactions'] = '...execute as seguintes ações:'; +$labels['add'] = 'Adicionar'; +$labels['del'] = 'Excluir'; +$labels['sender'] = 'Remetente'; +$labels['recipient'] = 'Destinatário'; +$labels['vacationaddr'] = 'Meu endereço de e-mail adicional:'; +$labels['vacationdays'] = 'Enviar mensagens com que frequência (em dias):'; +$labels['vacationinterval'] = 'Como geralmente enviam mensagens:'; +$labels['vacationreason'] = 'Corpo da mensagem (motivo de férias):'; +$labels['vacationsubject'] = 'Título da mensagem:'; +$labels['days'] = 'dias'; +$labels['seconds'] = 'segundos'; +$labels['rulestop'] = 'Parar de avaliar regras'; +$labels['enable'] = 'Habilitar/Desabilitar'; +$labels['filterset'] = 'Conjunto de filtros'; +$labels['filtersets'] = 'Conjuntos de filtro'; +$labels['filtersetadd'] = 'Adicionar conjunto de filtros'; +$labels['filtersetdel'] = 'Excluir conjunto de filtros atual'; +$labels['filtersetact'] = 'Ativar conjunto de filtros atual'; +$labels['filtersetdeact'] = 'Desativar conjunto de filtros atual'; +$labels['filterdef'] = 'Definição de filtro'; +$labels['filtersetname'] = 'Nome do conjunto de filtros'; +$labels['newfilterset'] = 'Novo conjunto de filtros'; +$labels['active'] = 'ativo'; +$labels['none'] = 'nenhum'; +$labels['fromset'] = 'Do conjunto'; +$labels['fromfile'] = 'Do arquivo'; +$labels['filterdisabled'] = 'Filtro desativado'; +$labels['countisgreaterthan'] = 'contagem é maior que'; +$labels['countisgreaterthanequal'] = 'contagem é maior ou igual a'; +$labels['countislessthan'] = 'contagem é menor que'; +$labels['countislessthanequal'] = 'contagem é menor ou igual a'; +$labels['countequals'] = 'contagem é igual a'; +$labels['countnotequals'] = 'contagem não é igual a'; +$labels['valueisgreaterthan'] = 'valor é maior que'; +$labels['valueisgreaterthanequal'] = 'valor é maior ou igual a'; +$labels['valueislessthan'] = 'valor é menor que'; +$labels['valueislessthanequal'] = 'valor é menor ou igual a'; +$labels['valueequals'] = 'valor é igual a'; +$labels['valuenotequals'] = 'valor não é igual a'; +$labels['setflags'] = 'Definir marcadores à mensagem'; +$labels['addflags'] = 'Adicionar marcadores à mensagem'; +$labels['removeflags'] = 'Remover marcadores da mensagem'; +$labels['flagread'] = 'Lida'; +$labels['flagdeleted'] = 'Excluída'; +$labels['flaganswered'] = 'Respondida'; +$labels['flagflagged'] = 'Marcada'; +$labels['flagdraft'] = 'Rascunho'; +$labels['setvariable'] = 'Definir variável'; +$labels['setvarname'] = 'Nome da variável:'; +$labels['setvarvalue'] = 'Valor da variável:'; +$labels['setvarmodifiers'] = 'Modificadores:'; +$labels['varlower'] = 'minúsculas'; +$labels['varupper'] = 'maiúsculas'; +$labels['varlowerfirst'] = 'primeiro caractere minúsculo'; +$labels['varupperfirst'] = 'primeiro caractere maiúsculo'; +$labels['varquotewildcard'] = 'caracteres especiais de citação'; +$labels['varlength'] = 'tamanho'; +$labels['notify'] = 'Enviar notificação'; +$labels['notifytarget'] = 'Destino da notificação:'; +$labels['notifymessage'] = 'Mensagem de notificação (opcional):'; +$labels['notifyoptions'] = 'Opções de notificação (opcional):'; +$labels['notifyfrom'] = 'Remetente da notificação (opcional):'; +$labels['notifyimportance'] = 'Importância'; +$labels['notifyimportancelow'] = 'baixa'; +$labels['notifyimportancenormal'] = 'normal'; +$labels['notifyimportancehigh'] = 'alta'; +$labels['notifymethodmailto'] = 'Email'; +$labels['notifymethodtel'] = 'Telefone'; +$labels['notifymethodsms'] = 'SMS'; +$labels['filtercreate'] = 'Criar filtro'; +$labels['usedata'] = 'Usar os seguintes dados no filtro:'; +$labels['nextstep'] = 'Próximo Passo'; +$labels['...'] = '...'; +$labels['currdate'] = 'Data atual'; +$labels['datetest'] = 'Data'; +$labels['dateheader'] = 'cabeçalho:'; +$labels['year'] = 'ano'; +$labels['month'] = 'mês'; +$labels['day'] = 'dia'; +$labels['date'] = 'data (aaaa-mm-dd)'; +$labels['julian'] = 'data (calendário juliano)'; +$labels['hour'] = 'hora'; +$labels['minute'] = 'minuto'; +$labels['second'] = 'segundo'; +$labels['time'] = 'hora (hh:mm:ss)'; +$labels['iso8601'] = 'data (ISO8601)'; +$labels['std11'] = 'data (RFC2822)'; +$labels['zone'] = 'fuso horário'; +$labels['weekday'] = 'dia da semana (0-6)'; +$labels['advancedopts'] = 'Opções avançadas'; +$labels['body'] = 'Corpo'; +$labels['address'] = 'endereço'; +$labels['envelope'] = 'envelope'; +$labels['modifier'] = 'modificador:'; +$labels['text'] = 'texto'; +$labels['undecoded'] = 'decodificado (bruto)'; +$labels['contenttype'] = 'tipo de conteúdo'; +$labels['modtype'] = 'tipo:'; +$labels['allparts'] = 'todas'; +$labels['domain'] = 'domínio'; +$labels['localpart'] = 'parte local'; +$labels['user'] = 'usuário'; +$labels['detail'] = 'detalhes'; +$labels['comparator'] = 'comparador:'; +$labels['default'] = 'padrão'; +$labels['octet'] = 'estrito (octeto)'; +$labels['asciicasemap'] = 'caso insensível (mapa de caracteres ascii)'; +$labels['asciinumeric'] = 'numérico (ascii-numeric)'; +$labels['index'] = 'índice:'; +$labels['indexlast'] = 'retroceder'; +$labels['vacation'] = 'Férias'; +$labels['vacation.reply'] = 'Responder mensagem'; +$labels['vacation.advanced'] = 'Opções avançadas'; +$labels['vacation.subject'] = 'Assunto'; +$labels['vacation.body'] = 'Conteúdo'; +$labels['vacation.start'] = 'Início das férias'; +$labels['vacation.end'] = 'Término das férias'; +$labels['vacation.status'] = 'Estado'; +$labels['vacation.on'] = 'Ligado'; +$labels['vacation.off'] = 'Desligado'; +$labels['vacation.addresses'] = 'Meus endereços de e-mail adicionais'; +$labels['vacation.interval'] = 'Intervalo de resposta'; +$labels['vacation.after'] = 'Colocar regra de férias após'; +$labels['vacation.saving'] = 'Salvando dados...'; +$labels['vacation.action'] = 'Ações para mensagens recebidas'; +$labels['vacation.keep'] = 'Manter'; +$labels['vacation.discard'] = 'Descartar'; +$labels['vacation.redirect'] = 'Redirecionar para'; +$labels['vacation.copy'] = 'Enviar cópia para'; +$labels['arialabelfiltersetactions'] = 'Ações do grupo de filtros'; +$labels['arialabelfilteractions'] = 'Ações do filtro'; +$labels['arialabelfilterform'] = 'Propriedades do filtro'; +$labels['ariasummaryfilterslist'] = 'Lista dos filtros'; +$labels['ariasummaryfiltersetslist'] = 'Lista de grupo de filtros'; +$labels['filterstitle'] = 'Editar filtro dos e-mails recebidos'; +$labels['vacationtitle'] = 'Editar regra de ausência'; +$messages['filterunknownerror'] = 'Erro desconhecido de servidor'; +$messages['filterconnerror'] = 'Não foi possível conectar ao servidor managesieve'; +$messages['filterdeleteerror'] = 'Impossível excluir o filtro. Ocorreu um erro no servidor.'; +$messages['filterdeleted'] = 'Filtro excluído com sucesso'; +$messages['filtersaved'] = 'Filtro gravado com sucesso'; +$messages['filtersaveerror'] = 'Impossível salvar o filtro. Ocorreu um erro no servidor.'; +$messages['filterdeleteconfirm'] = 'Deseja realmente excluir o filtro selecionado?'; +$messages['ruledeleteconfirm'] = 'Deseja realmente excluir a regra selecionada?'; +$messages['actiondeleteconfirm'] = 'Deseja realmente excluir a ação selecionada?'; +$messages['forbiddenchars'] = 'Caracteres não permitidos no campo'; +$messages['cannotbeempty'] = 'Campo não pode ficar em branco'; +$messages['ruleexist'] = 'O filtro com o nome especificado já existe.'; +$messages['setactivateerror'] = 'Impossível ativar o conjunto de filtros selecionados. Ocorreu um erro no servidor.'; +$messages['setdeactivateerror'] = 'Impossível desativar o conjunto de filtros selecionados. Ocorreu um erro no servidor.'; +$messages['setdeleteerror'] = 'Impossível excluir o conjunto de filtros selecionados. Ocorreu um erro no servidor.'; +$messages['setactivated'] = 'Conjunto de filtros ativados com sucesso.'; +$messages['setdeactivated'] = 'Conjunto de filtros desativados com sucesso.'; +$messages['setdeleted'] = 'Conjunto de filtros excluídos com sucesso.'; +$messages['setdeleteconfirm'] = 'Você está certo que deseja excluir o conjunto de filtros selecionados?'; +$messages['setcreateerror'] = 'Impossível criar o conjunto de filtros. Ocorreu um erro no servidor.'; +$messages['setcreated'] = 'Conjunto de filtros criado com sucesso.'; +$messages['activateerror'] = 'Impossível habilitar o(s) filtro(s) selecionado(s). Ocorreu um erro no servidor.'; +$messages['deactivateerror'] = 'Impossível desabilitar o(s) filtro(s) selecionado(s). Ocorreu um erro no servidor.'; +$messages['deactivated'] = 'Filtro(s) habilitado(s) com sucesso.'; +$messages['activated'] = 'Filtro(s) desabilitado(s) com sucesso.'; +$messages['moved'] = 'Filtro movido com sucesso.'; +$messages['moveerror'] = 'Impossível mover o filtro selecionado. Ocorreu um erro no servidor.'; +$messages['nametoolong'] = 'Nome muito longo.'; +$messages['namereserved'] = 'Nome reservado.'; +$messages['setexist'] = 'Conjunto já existe.'; +$messages['nodata'] = 'Pelo menos uma posição precisa ser selecionada!'; +$messages['invaliddateformat'] = 'Data inválida'; +$messages['saveerror'] = 'Impossível salvar dados. Ocorreu um erro no servidor.'; +$messages['vacationsaved'] = 'Dados de férias salvos com sucesso.'; +$messages['emptyvacationbody'] = 'Conteúdo da mensagem de férias necessário!'; +?> diff --git a/plugins/managesieve/localization/pt_PT.inc b/plugins/managesieve/localization/pt_PT.inc new file mode 100644 index 000000000..ec3954200 --- /dev/null +++ b/plugins/managesieve/localization/pt_PT.inc @@ -0,0 +1,224 @@ +<?php + +/* + +-----------------------------------------------------------------------+ + | plugins/managesieve/localization/<lang>.inc | + | | + | Localization file of the Roundcube Webmail Managesieve 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-managesieve/ +*/ +$labels['filters'] = 'Filtros'; +$labels['managefilters'] = 'Gerir filtros'; +$labels['filtername'] = 'Nome do filtro'; +$labels['newfilter'] = 'Novo filtro'; +$labels['filteradd'] = 'Adicionar filtro'; +$labels['filterdel'] = 'Eliminar filtro'; +$labels['moveup'] = 'Mover para cima'; +$labels['movedown'] = 'Mover para baixo'; +$labels['filterallof'] = 'corresponde a todas as seguintes regras'; +$labels['filteranyof'] = 'corresponde a uma das seguintes regras'; +$labels['filterany'] = 'todas as mensagens'; +$labels['filtercontains'] = 'contém'; +$labels['filternotcontains'] = 'não contém'; +$labels['filteris'] = 'é igual a'; +$labels['filterisnot'] = 'é diferente de'; +$labels['filterexists'] = 'existe'; +$labels['filternotexists'] = 'não existe'; +$labels['filtermatches'] = 'expressão corresponde'; +$labels['filternotmatches'] = 'expressão não corresponde'; +$labels['filterregex'] = 'corresponde à expressão'; +$labels['filternotregex'] = 'não corresponde à expressão'; +$labels['filterunder'] = 'é inferior a'; +$labels['filterover'] = 'é superior a'; +$labels['addrule'] = 'Adicionar regra'; +$labels['delrule'] = 'Eliminar regra'; +$labels['messagemoveto'] = 'Mover mensagem para'; +$labels['messageredirect'] = 'Redirecionar mensagem para'; +$labels['messagecopyto'] = 'Copiar mensagem para'; +$labels['messagesendcopy'] = 'Enviar cópia da mensagem para'; +$labels['messagereply'] = 'Responder com a mensagem'; +$labels['messagedelete'] = 'Eliminar mensagem'; +$labels['messagediscard'] = 'Rejeitar mensagem'; +$labels['messagekeep'] = 'Manter mensagem na Caixa de entrada'; +$labels['messagesrules'] = 'Regras para Filtros'; +$labels['messagesactions'] = 'Acções para Filtros'; +$labels['add'] = 'Adicionar'; +$labels['del'] = 'Eliminar'; +$labels['sender'] = 'Remetente'; +$labels['recipient'] = 'Destinatário'; +$labels['vacationaddr'] = 'Os meus endereços de e-mail adicionais:'; +$labels['vacationdays'] = 'Enviar mensagens com que frequência (em dias):'; +$labels['vacationinterval'] = 'Com que frequência envia mensagens:'; +$labels['vacationreason'] = 'Conteúdo da mensagem (motivo da ausência):'; +$labels['vacationsubject'] = 'Assunto da mensagem:'; +$labels['days'] = 'dias'; +$labels['seconds'] = 'segundos'; +$labels['rulestop'] = 'Parar de avaliar regras'; +$labels['enable'] = 'Activar/Desactivar'; +$labels['filterset'] = 'Filtros definidos'; +$labels['filtersets'] = 'Filtros definidos'; +$labels['filtersetadd'] = 'Adicionar definição de filtros'; +$labels['filtersetdel'] = 'Eliminar definição de filtros actuais'; +$labels['filtersetact'] = 'Activar definição de filtros actuais'; +$labels['filtersetdeact'] = 'Desactivar definição de filtros actuais'; +$labels['filterdef'] = 'Definição de filtros'; +$labels['filtersetname'] = 'Nome da definição de filtros'; +$labels['newfilterset'] = 'Nova definição de filtros'; +$labels['active'] = 'activo'; +$labels['none'] = 'nehnum'; +$labels['fromset'] = 'definição de'; +$labels['fromfile'] = 'a partir do ficheiro'; +$labels['filterdisabled'] = 'Filtro desactivado'; +$labels['countisgreaterthan'] = 'contagem é maior que'; +$labels['countisgreaterthanequal'] = 'contagem é maior ou igual a'; +$labels['countislessthan'] = 'contagem é menor que'; +$labels['countislessthanequal'] = 'contagem é menor ou igual a'; +$labels['countequals'] = 'contagem é igual a'; +$labels['countnotequals'] = 'a contagem não é igual a'; +$labels['valueisgreaterthan'] = 'valor é maior que'; +$labels['valueisgreaterthanequal'] = 'valor é maior ou igual a'; +$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['flagread'] = 'Lida'; +$labels['flagdeleted'] = 'Eliminada'; +$labels['flaganswered'] = 'Respondida'; +$labels['flagflagged'] = 'Marcada'; +$labels['flagdraft'] = 'Rascunho'; +$labels['setvariable'] = 'Definir variável'; +$labels['setvarname'] = 'Nome da Variável:'; +$labels['setvarvalue'] = 'Valor da Variável:'; +$labels['setvarmodifiers'] = 'Modificadores:'; +$labels['varlower'] = 'minúscula'; +$labels['varupper'] = 'maiúscula'; +$labels['varlowerfirst'] = 'primeira letra em minúscula'; +$labels['varupperfirst'] = 'primeira letra em maiúscula'; +$labels['varquotewildcard'] = 'citar caracteres especiais'; +$labels['varlength'] = 'tamanho'; +$labels['notify'] = 'Enviar notificação'; +$labels['notifytarget'] = 'Destino da notificação:'; +$labels['notifymessage'] = 'Mensagem de notificação (opcional):'; +$labels['notifyoptions'] = 'Opções de notificação (opcional):'; +$labels['notifyfrom'] = 'Remetente da notificação (opcional):'; +$labels['notifyimportance'] = 'Importância:'; +$labels['notifyimportancelow'] = 'baixa'; +$labels['notifyimportancenormal'] = 'normal'; +$labels['notifyimportancehigh'] = 'alta'; +$labels['notifymethodmailto'] = 'Email'; +$labels['notifymethodtel'] = 'Telefone'; +$labels['notifymethodsms'] = 'SMS'; +$labels['filtercreate'] = 'Criar filtro'; +$labels['usedata'] = 'Usar os seguintes dados no filtro:'; +$labels['nextstep'] = 'Próximo passo'; +$labels['...'] = '...'; +$labels['currdate'] = 'Data atual'; +$labels['datetest'] = 'Data'; +$labels['dateheader'] = 'cabeçalho:'; +$labels['year'] = 'ano'; +$labels['month'] = 'mês'; +$labels['day'] = 'dia'; +$labels['date'] = 'data (yyyy-mm-dd)'; +$labels['julian'] = 'data (juliano)'; +$labels['hour'] = 'hora'; +$labels['minute'] = 'minuto'; +$labels['second'] = 'segundo'; +$labels['time'] = 'hora (hh:mm:ss)'; +$labels['iso8601'] = 'data (ISO8601)'; +$labels['std11'] = 'data (RFC2822)'; +$labels['zone'] = 'fuso horário'; +$labels['weekday'] = 'dia da semana (0-6)'; +$labels['advancedopts'] = 'Opções avançadas'; +$labels['body'] = 'Corpo'; +$labels['address'] = 'endereço'; +$labels['envelope'] = 'envelope'; +$labels['modifier'] = 'modificador:'; +$labels['text'] = 'Texto'; +$labels['undecoded'] = 'não descodificado (raw)'; +$labels['contenttype'] = 'tipo de conteúdo'; +$labels['modtype'] = 'tipo:'; +$labels['allparts'] = 'todos'; +$labels['domain'] = 'domínio'; +$labels['localpart'] = 'parte local'; +$labels['user'] = 'utilizador'; +$labels['detail'] = 'detalhe'; +$labels['comparator'] = 'Comparador'; +$labels['default'] = 'predefinido'; +$labels['octet'] = 'estrito (octeto)'; +$labels['asciicasemap'] = 'não sensível a maiúsculas/minúsculas (caracteres ascii)'; +$labels['asciinumeric'] = 'numérico (numérico ascii)'; +$labels['index'] = 'índice:'; +$labels['indexlast'] = 'retroceder'; +$labels['vacation'] = 'Férias'; +$labels['vacation.reply'] = 'Mensagem de resposta'; +$labels['vacation.advanced'] = 'Definições avançadas'; +$labels['vacation.subject'] = 'Assunto'; +$labels['vacation.body'] = 'Corpo da mensagem'; +$labels['vacation.start'] = 'Início de férias'; +$labels['vacation.end'] = 'Fim de férias'; +$labels['vacation.status'] = 'Estado'; +$labels['vacation.on'] = 'Ligar'; +$labels['vacation.off'] = 'Desligar'; +$labels['vacation.addresses'] = 'Meus endereços adicionais'; +$labels['vacation.interval'] = 'Intervalo de resposta'; +$labels['vacation.after'] = 'Coloque regra de férias depois'; +$labels['vacation.saving'] = 'A guardar dados...'; +$labels['vacation.action'] = 'Acção para mensagem recebida'; +$labels['vacation.keep'] = 'Manter'; +$labels['vacation.discard'] = 'Rejeitar'; +$labels['vacation.redirect'] = 'Redireccionar para'; +$labels['vacation.copy'] = 'Enviar cópia para'; +$labels['arialabelfiltersetactions'] = 'Acções do conjunto de filtros'; +$labels['arialabelfilteractions'] = 'Acções dos filtros'; +$labels['arialabelfilterform'] = 'Propriedades dos filtro'; +$labels['ariasummaryfilterslist'] = 'Lista de filtros'; +$labels['ariasummaryfiltersetslist'] = 'Lista de conjuntos de filtros'; +$labels['filterstitle'] = 'Editar filtros de mensagens recebidas'; +$labels['vacationtitle'] = 'Editar regra de ausência do escritório'; +$messages['filterunknownerror'] = 'Erro de servidor desconhecido'; +$messages['filterconnerror'] = 'Não é possível ligar ao servidor Sieve'; +$messages['filterdeleteerror'] = 'Não foi possível eliminar o filtro. Ocorreu um erro no servidor.'; +$messages['filterdeleted'] = 'Filtro eliminado com sucesso'; +$messages['filtersaved'] = 'Filtro guardado com sucesso'; +$messages['filtersaveerror'] = 'Não foi possível guardar o filtro. Ocorreu um erro no servidor.'; +$messages['filterdeleteconfirm'] = 'Tem a certeza que pretende eliminar este filtro?'; +$messages['ruledeleteconfirm'] = 'Tem a certeza que pretende eliminar esta regra?'; +$messages['actiondeleteconfirm'] = 'Tem a certeza que pretende eliminar esta acção?'; +$messages['forbiddenchars'] = 'Caracteres inválidos no campo.'; +$messages['cannotbeempty'] = 'Este campo não pode estar vazio.'; +$messages['ruleexist'] = 'Já existe um Filtro com o nome especificado.'; +$messages['setactivateerror'] = 'Não foi possível ativar os filtros selecionados. Ocorreu um erro no servidor.'; +$messages['setdeactivateerror'] = 'Não foi possível desativar os filtros selecionados. Ocorreu um erro no servidor.'; +$messages['setdeleteerror'] = 'Não foi possível eliminar os filtros selecionados. Ocorreu um erro no servidor.'; +$messages['setactivated'] = 'Filtros ativados com sucesso.'; +$messages['setdeactivated'] = 'Filtros desativados com sucesso.'; +$messages['setdeleted'] = 'Filtros eliminados com sucesso.'; +$messages['setdeleteconfirm'] = 'Tem a certeza que pretende eliminar os filtros selecionados?'; +$messages['setcreateerror'] = 'Não foi possível criar o conjunto de filtros. Ocorreu um erro no servidor.'; +$messages['setcreated'] = 'Conjunto de filtros criado com sucesso.'; +$messages['activateerror'] = 'Não foi possível ativar os filtros selecionados. Ocorreu um erro no servidor.'; +$messages['deactivateerror'] = 'Não foi possível desativar os filtros selecionados. Ocorreu um erro no servidor.'; +$messages['deactivated'] = 'Filtro(s) ativado(s) com sucesso.'; +$messages['activated'] = 'Filtro(s) desativado(s) com sucesso.'; +$messages['moved'] = 'Filtro movido com sucesso.'; +$messages['moveerror'] = 'Não foi possível mover o filtro selecionado. Ocorreu um erro no servidor.'; +$messages['nametoolong'] = 'Nome demasiado longo.'; +$messages['namereserved'] = 'Nome invertido.'; +$messages['setexist'] = 'O conjunto já existe.'; +$messages['nodata'] = 'Deve selecionar pelo menos uma posição.'; +$messages['invaliddateformat'] = 'Data ou formato de data inválido.'; +$messages['saveerror'] = 'Não foi possível guardar os dados. Ocorreu um erro no servidor.'; +$messages['vacationsaved'] = 'Dados de férias guardados com sucesso.'; +$messages['emptyvacationbody'] = 'É necessário o corpo da mensagem de férias!'; +?> diff --git a/plugins/managesieve/localization/ro_RO.inc b/plugins/managesieve/localization/ro_RO.inc new file mode 100644 index 000000000..017320ee6 --- /dev/null +++ b/plugins/managesieve/localization/ro_RO.inc @@ -0,0 +1,202 @@ +<?php + +/* + +-----------------------------------------------------------------------+ + | plugins/managesieve/localization/<lang>.inc | + | | + | Localization file of the Roundcube Webmail Managesieve 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-managesieve/ +*/ +$labels['filters'] = 'Filtre'; +$labels['managefilters'] = 'Administreaza filtrele pentru mesaje primite.'; +$labels['filtername'] = 'Nume filtru'; +$labels['newfilter'] = 'Filtru nou'; +$labels['filteradd'] = 'Adauga un filtru'; +$labels['filterdel'] = 'Sterge filtru.'; +$labels['moveup'] = 'Muta mai sus'; +$labels['movedown'] = 'Muta mai jos'; +$labels['filterallof'] = 'se potriveste cu toate regulile urmatoare'; +$labels['filteranyof'] = 'se potriveste cu oricare din regulile urmatoare'; +$labels['filterany'] = 'toate mesajele'; +$labels['filtercontains'] = 'contine'; +$labels['filternotcontains'] = 'nu contine'; +$labels['filteris'] = 'este egal cu'; +$labels['filterisnot'] = 'este diferit de'; +$labels['filterexists'] = 'exista'; +$labels['filternotexists'] = 'nu exista'; +$labels['filtermatches'] = 'se potriveste cu expresia'; +$labels['filternotmatches'] = 'nu se potriveste cu expresia'; +$labels['filterregex'] = 'se potriveste cu expresia regulata'; +$labels['filternotregex'] = 'nu se potriveste cu expresia regulata'; +$labels['filterunder'] = 'sub'; +$labels['filterover'] = 'peste'; +$labels['addrule'] = 'Adauga regula'; +$labels['delrule'] = 'Sterge regula'; +$labels['messagemoveto'] = 'Muta mesajul in'; +$labels['messageredirect'] = 'Redirectioneaza mesajul catre'; +$labels['messagecopyto'] = 'Copiaza mesajul in'; +$labels['messagesendcopy'] = 'Trimite o copie a mesajului catre'; +$labels['messagereply'] = 'Raspunde cu mesajul'; +$labels['messagedelete'] = 'Sterge mesajul'; +$labels['messagediscard'] = 'Respinge cu mesajul'; +$labels['messagekeep'] = 'Pastreaza mesajele in Inbox'; +$labels['messagesrules'] = 'Pentru e-mail primit:'; +$labels['messagesactions'] = '...executa urmatoarele actiuni:'; +$labels['add'] = 'Adauga'; +$labels['del'] = 'Sterge'; +$labels['sender'] = 'Expeditor'; +$labels['recipient'] = 'Destinatar'; +$labels['vacationaddr'] = 'Adresele mele de e-mail (adiţionale)'; +$labels['vacationdays'] = 'Cat de des sa trimit mesajele (in zile):'; +$labels['vacationinterval'] = 'Cât de des să trimit mesaje:'; +$labels['vacationreason'] = 'Corpul mesajului (motivul vacantei):'; +$labels['vacationsubject'] = 'Subiectul mesajului:'; +$labels['days'] = 'zile'; +$labels['seconds'] = 'secunde'; +$labels['rulestop'] = 'Nu mai evalua reguli'; +$labels['enable'] = 'Activeaza/Dezactiveaza'; +$labels['filterset'] = 'Filtre setate'; +$labels['filtersets'] = 'Filtrul seteaza'; +$labels['filtersetadd'] = 'Adauga set de filtre'; +$labels['filtersetdel'] = 'Sterge setul curent de filtre'; +$labels['filtersetact'] = 'Activeaza setul curent de filtre'; +$labels['filtersetdeact'] = 'Dezactiveaza setul curent de filtre'; +$labels['filterdef'] = 'Definiţie filtru'; +$labels['filtersetname'] = 'Nume set filtre'; +$labels['newfilterset'] = 'Set filtre nou'; +$labels['active'] = 'activ'; +$labels['none'] = 'niciunul'; +$labels['fromset'] = 'din setul'; +$labels['fromfile'] = 'din fişier'; +$labels['filterdisabled'] = 'Filtru dezactivat'; +$labels['countisgreaterthan'] = 'numărul este mai mare ca'; +$labels['countisgreaterthanequal'] = 'numărul este mai mare sau egal cu'; +$labels['countislessthan'] = 'numărul este mai mic decât'; +$labels['countislessthanequal'] = 'numărul este mai mic sau egal cu'; +$labels['countequals'] = 'numărul este egal cu'; +$labels['countnotequals'] = 'numaratoarea nu este egala cu'; +$labels['valueisgreaterthan'] = 'valoarea este egală cu'; +$labels['valueisgreaterthanequal'] = 'valoarea este mai mare sau egala cu'; +$labels['valueislessthan'] = 'valoarea este mai mică decât'; +$labels['valueislessthanequal'] = 'valoarea este mai mică sau egală cu'; +$labels['valueequals'] = 'valoarea este egală cu'; +$labels['valuenotequals'] = 'valoarea nu este egala cu'; +$labels['setflags'] = 'Pune marcaje mesajului'; +$labels['addflags'] = 'Adaugă marcaje mesajului'; +$labels['removeflags'] = 'Şterge marcajele mesajului'; +$labels['flagread'] = 'Citit'; +$labels['flagdeleted'] = 'Șters'; +$labels['flaganswered'] = 'Răspuns'; +$labels['flagflagged'] = 'Marcat'; +$labels['flagdraft'] = 'Schiță'; +$labels['setvariable'] = 'Setare variabilă'; +$labels['setvarname'] = 'Nume variabilă:'; +$labels['setvarvalue'] = 'Valoare variabilă:'; +$labels['setvarmodifiers'] = 'Modificatori:'; +$labels['varlower'] = 'cu litere mici'; +$labels['varupper'] = 'cu litere mari'; +$labels['varlowerfirst'] = 'primul caracter cu litre mici'; +$labels['varupperfirst'] = 'primul caracter cu litre mari'; +$labels['varquotewildcard'] = 'caracterele speciale in citat'; +$labels['varlength'] = 'lungime'; +$labels['notify'] = 'Notificare trimitere'; +$labels['notifyimportance'] = 'Importanța:'; +$labels['notifyimportancelow'] = 'mică'; +$labels['notifyimportancenormal'] = 'normală'; +$labels['notifyimportancehigh'] = 'mare'; +$labels['filtercreate'] = 'Crează filtru'; +$labels['usedata'] = 'Foloseşte următoarele date în filtru:'; +$labels['nextstep'] = 'Următorul Pas'; +$labels['...'] = '...'; +$labels['currdate'] = 'Data curenta'; +$labels['datetest'] = 'Data'; +$labels['dateheader'] = 'header:'; +$labels['year'] = 'an'; +$labels['month'] = 'luna'; +$labels['day'] = 'zi'; +$labels['date'] = 'data (AAAA-LL-ZZ)'; +$labels['julian'] = 'data (calendar iulian)'; +$labels['hour'] = 'ora'; +$labels['minute'] = 'minut'; +$labels['second'] = 'secunda'; +$labels['time'] = 'ora (hh:mm:ss)'; +$labels['iso8601'] = 'data (ISO8601)'; +$labels['std11'] = 'data (RFC2822)'; +$labels['zone'] = 'fus orar'; +$labels['weekday'] = 'zi saptamana (0-6)'; +$labels['advancedopts'] = 'Opţiuni avansate'; +$labels['body'] = 'Corp'; +$labels['address'] = 'adresă'; +$labels['envelope'] = 'plic'; +$labels['modifier'] = 'modificator:'; +$labels['text'] = 'text'; +$labels['undecoded'] = 'nedecodat (brut)'; +$labels['contenttype'] = 'tip conţinut'; +$labels['modtype'] = 'tip:'; +$labels['allparts'] = 'toate'; +$labels['domain'] = 'domeniu'; +$labels['localpart'] = 'partea locală'; +$labels['user'] = 'utilizator'; +$labels['detail'] = 'detaliu'; +$labels['comparator'] = 'comparator:'; +$labels['default'] = 'implicit'; +$labels['octet'] = 'strict (octet)'; +$labels['asciicasemap'] = 'ignoră majusculele (ascii-casemap)'; +$labels['asciinumeric'] = 'numeric (ascii-numeric)'; +$labels['index'] = 'index:'; +$labels['indexlast'] = 'invers'; +$labels['vacation'] = 'Vacanta'; +$labels['vacation.reply'] = 'Raspunde mesajului'; +$labels['vacation.advanced'] = 'Setari avansate'; +$labels['vacation.subject'] = 'Subiect'; +$labels['vacation.body'] = 'Corp'; +$labels['vacation.status'] = 'Statut'; +$labels['vacation.on'] = 'Pe'; +$labels['vacation.off'] = 'De pe'; +$labels['vacation.addresses'] = 'Adresa mea aditionala'; +$labels['vacation.interval'] = 'Interval de raspundere'; +$labels['vacation.after'] = 'Pune regula de vacanta dupa'; +$labels['vacation.saving'] = 'Salvez datele...'; +$messages['filterunknownerror'] = 'Eroare necunoscută la server:'; +$messages['filterconnerror'] = 'Nu mă pot conecta la server.'; +$messages['filterdeleteerror'] = 'Nu pot şterge filtrul. S-a produs o eroare la server.'; +$messages['filterdeleted'] = 'Filtrul a fost şters cu succes.'; +$messages['filtersaved'] = 'Filtrul a fost salvat cu succes.'; +$messages['filtersaveerror'] = 'Nu am putut salva filtrul. S-a produs o eroare la server.'; +$messages['filterdeleteconfirm'] = 'Chiar vrei să ştergi filtrul selectat?'; +$messages['ruledeleteconfirm'] = 'Eşti sigur că vrei să ştergi regula selectată?'; +$messages['actiondeleteconfirm'] = 'Eşti sigur că vrei să ştergi acţiunea selectată?'; +$messages['forbiddenchars'] = 'Caractere nepermise în câmp.'; +$messages['cannotbeempty'] = 'Câmpul nu poate fi gol.'; +$messages['ruleexist'] = 'Filtrul cu numele specificat există deja.'; +$messages['setactivateerror'] = 'Nu pot activa setul de filtre selectat. S-a produs o eroare la server.'; +$messages['setdeactivateerror'] = 'Nu pot dezactiva setul de filtre selectat. S-a produs o eroare la server.'; +$messages['setdeleteerror'] = 'Nu pot şterge setul de filtre selectat. S-a produs o eroare la server.'; +$messages['setactivated'] = 'Setul de filtre activat cu succes.'; +$messages['setdeactivated'] = 'Setul de filtre dezactivat cu succes.'; +$messages['setdeleted'] = 'Setul de filtre şters cu succes.'; +$messages['setdeleteconfirm'] = 'Eşti sigur(ă) că vrei să ştergi setul de filtre selectat?'; +$messages['setcreateerror'] = 'Nu am putut crea setul de filtre. S-a produs o eroare la server.'; +$messages['setcreated'] = 'Setul de filtre creat cu succes.'; +$messages['activateerror'] = 'Nu am putut activa filtrul (filtrele) selectate. S-a produs o eroare la server.'; +$messages['deactivateerror'] = 'Nu am putut dezactiva filtrele (filtrele) selectate. S-a produs o eroare la server.'; +$messages['deactivated'] = 'Filtrele au fost activate cu succes.'; +$messages['activated'] = 'Filtrele au fost dezactivate cu succes.'; +$messages['moved'] = 'Filtrele au fost mutate cu succes.'; +$messages['moveerror'] = 'Nu am putut muta filtrul selectat. S-a produs o eroare la server.'; +$messages['nametoolong'] = 'Numele este prea lung.'; +$messages['namereserved'] = 'Nume rezervat.'; +$messages['setexist'] = 'Setul există deja.'; +$messages['nodata'] = 'Trebuie selectată cel putin o poziţie!'; +$messages['invaliddateformat'] = 'Data sau parte din data in format invalid'; +$messages['saveerror'] = 'Nu am putut salva datele. A aparut o eroare de server.'; +$messages['vacationsaved'] = 'Data de vacanta salvata cu succes'; +?> diff --git a/plugins/managesieve/localization/ru_RU.inc b/plugins/managesieve/localization/ru_RU.inc new file mode 100644 index 000000000..6714c4c9d --- /dev/null +++ b/plugins/managesieve/localization/ru_RU.inc @@ -0,0 +1,224 @@ +<?php + +/* + +-----------------------------------------------------------------------+ + | plugins/managesieve/localization/<lang>.inc | + | | + | Localization file of the Roundcube Webmail Managesieve 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-managesieve/ +*/ +$labels['filters'] = 'Фильтры'; +$labels['managefilters'] = 'Управление фильтрами для входящей почты'; +$labels['filtername'] = 'Название фильтра'; +$labels['newfilter'] = 'Новый фильтр'; +$labels['filteradd'] = 'Добавить фильтр'; +$labels['filterdel'] = 'Удалить фильтр'; +$labels['moveup'] = 'Сдвинуть вверх'; +$labels['movedown'] = 'Сдвинуть вниз'; +$labels['filterallof'] = 'соответствует всем указанным правилам'; +$labels['filteranyof'] = 'соответствует любому из указанных правил'; +$labels['filterany'] = 'все сообщения'; +$labels['filtercontains'] = 'содержит'; +$labels['filternotcontains'] = 'не содержит'; +$labels['filteris'] = 'соответствует'; +$labels['filterisnot'] = 'не соответствует'; +$labels['filterexists'] = 'существует'; +$labels['filternotexists'] = 'не существует'; +$labels['filtermatches'] = 'совпадает с выражением'; +$labels['filternotmatches'] = 'не совпадает с выражением'; +$labels['filterregex'] = 'совпадает с регулярным выражением'; +$labels['filternotregex'] = 'не совпадает с регулярным выражением'; +$labels['filterunder'] = 'меньше'; +$labels['filterover'] = 'больше'; +$labels['addrule'] = 'Добавить правило'; +$labels['delrule'] = 'Удалить правило'; +$labels['messagemoveto'] = 'Переместить сообщение в'; +$labels['messageredirect'] = 'Перенаправить сообщение на'; +$labels['messagecopyto'] = 'Скопировать сообщение в'; +$labels['messagesendcopy'] = 'Отправить копию сообщения на'; +$labels['messagereply'] = 'Ответить с сообщением'; +$labels['messagedelete'] = 'Удалить сообщение'; +$labels['messagediscard'] = 'Отбросить с сообщением'; +$labels['messagekeep'] = 'Оставить сообщение во Входящих'; +$labels['messagesrules'] = 'Для входящей почты:'; +$labels['messagesactions'] = '...выполнить следующие действия:'; +$labels['add'] = 'Добавить'; +$labels['del'] = 'Удалить'; +$labels['sender'] = 'Отправитель'; +$labels['recipient'] = 'Получатель'; +$labels['vacationaddr'] = 'Мой дополнительный адрес(а):'; +$labels['vacationdays'] = 'Как часто отправлять сообщения (в днях):'; +$labels['vacationinterval'] = 'Как часто отправлять сообщения:'; +$labels['vacationreason'] = 'Текст сообщения (причина отсутствия):'; +$labels['vacationsubject'] = 'Тема сообщения:'; +$labels['days'] = 'дней'; +$labels['seconds'] = 'секунд'; +$labels['rulestop'] = 'Закончить выполнение'; +$labels['enable'] = 'Включить/Выключить'; +$labels['filterset'] = 'Набор фильтров'; +$labels['filtersets'] = 'Наборы фильтров'; +$labels['filtersetadd'] = 'Добавить набор фильтров'; +$labels['filtersetdel'] = 'Удалить текущий набор фильтров'; +$labels['filtersetact'] = 'Включить текущий набор фильтров'; +$labels['filtersetdeact'] = 'Отключить текущий набор фильтров'; +$labels['filterdef'] = 'Описание фильтра'; +$labels['filtersetname'] = 'Название набора фильтров'; +$labels['newfilterset'] = 'Новый набор фильтров'; +$labels['active'] = 'используется'; +$labels['none'] = 'нет'; +$labels['fromset'] = 'из набора'; +$labels['fromfile'] = 'из файла'; +$labels['filterdisabled'] = 'Отключить фильтр'; +$labels['countisgreaterthan'] = 'количество больше, чем'; +$labels['countisgreaterthanequal'] = 'количество больше или равно'; +$labels['countislessthan'] = 'количество меньше, чем'; +$labels['countislessthanequal'] = 'количество меньше или равно'; +$labels['countequals'] = 'количество равно'; +$labels['countnotequals'] = 'количество не равно'; +$labels['valueisgreaterthan'] = 'значение больше, чем'; +$labels['valueisgreaterthanequal'] = 'значение больше или равно'; +$labels['valueislessthan'] = 'значение меньше, чем'; +$labels['valueislessthanequal'] = 'значение меньше или равно'; +$labels['valueequals'] = 'значение равно'; +$labels['valuenotequals'] = 'значение не равно'; +$labels['setflags'] = 'Установить флаги на сообщение'; +$labels['addflags'] = 'Добавить флаги к сообщению'; +$labels['removeflags'] = 'Убрать флаги из сообщения'; +$labels['flagread'] = 'Прочитано'; +$labels['flagdeleted'] = 'Удалено'; +$labels['flaganswered'] = 'Отвечено'; +$labels['flagflagged'] = 'Помечено'; +$labels['flagdraft'] = 'Черновик'; +$labels['setvariable'] = 'Задать переменную'; +$labels['setvarname'] = 'Имя переменной:'; +$labels['setvarvalue'] = 'Значение переменной:'; +$labels['setvarmodifiers'] = 'Модификаторы:'; +$labels['varlower'] = 'нижний регистр'; +$labels['varupper'] = 'верхний регистр'; +$labels['varlowerfirst'] = 'первый символ в нижнем регистре'; +$labels['varupperfirst'] = 'первый символ в верхнем регистре'; +$labels['varquotewildcard'] = 'символ кавычек'; +$labels['varlength'] = 'длина'; +$labels['notify'] = 'Отправить уведомление'; +$labels['notifytarget'] = 'Объект уведомления:'; +$labels['notifymessage'] = 'Сообщение уведомления (не обязательно):'; +$labels['notifyoptions'] = 'Параметры уведомления (не обязательно):'; +$labels['notifyfrom'] = 'Отправитель уведомления (не обязательно):'; +$labels['notifyimportance'] = 'Важность:'; +$labels['notifyimportancelow'] = 'низкая'; +$labels['notifyimportancenormal'] = 'нормальная'; +$labels['notifyimportancehigh'] = 'высокая'; +$labels['notifymethodmailto'] = 'Email'; +$labels['notifymethodtel'] = 'Телефон'; +$labels['notifymethodsms'] = 'SMS'; +$labels['filtercreate'] = 'Создать фильтр'; +$labels['usedata'] = 'Использовать следующие данные в фильтре:'; +$labels['nextstep'] = 'Далее'; +$labels['...'] = '...'; +$labels['currdate'] = 'Текущая дата'; +$labels['datetest'] = 'Дата'; +$labels['dateheader'] = 'заголовок:'; +$labels['year'] = 'год'; +$labels['month'] = 'месяц'; +$labels['day'] = 'день'; +$labels['date'] = 'дата (гггг-мм-дд)'; +$labels['julian'] = 'дата (юлианская)'; +$labels['hour'] = 'час'; +$labels['minute'] = 'минута'; +$labels['second'] = 'секунда'; +$labels['time'] = 'время (чч:мм:сс)'; +$labels['iso8601'] = 'дата (ISO8601)'; +$labels['std11'] = 'дата (RFC2822)'; +$labels['zone'] = 'часовой пояс'; +$labels['weekday'] = 'день недели (0-6)'; +$labels['advancedopts'] = 'Дополнительные параметры'; +$labels['body'] = 'Тело письма'; +$labels['address'] = 'адрес'; +$labels['envelope'] = 'конверт'; +$labels['modifier'] = 'модификатор области поиска:'; +$labels['text'] = 'текст'; +$labels['undecoded'] = 'необработанный (сырой)'; +$labels['contenttype'] = 'тип содержимого'; +$labels['modtype'] = 'поиск в адресах:'; +$labels['allparts'] = 'везде'; +$labels['domain'] = 'в имени домена'; +$labels['localpart'] = 'только в имени пользователя, без домена'; +$labels['user'] = 'в полном имени пользователя'; +$labels['detail'] = 'в дополнительных сведениях'; +$labels['comparator'] = 'способ сравнения:'; +$labels['default'] = 'по умолчанию'; +$labels['octet'] = 'Строгий (octet)'; +$labels['asciicasemap'] = 'Регистронезависимый (ascii-casemap)'; +$labels['asciinumeric'] = 'Числовой (ascii-numeric)'; +$labels['index'] = 'индекс:'; +$labels['indexlast'] = 'наоборот'; +$labels['vacation'] = 'Отпуск'; +$labels['vacation.reply'] = 'Ответное сообщение'; +$labels['vacation.advanced'] = 'Дополнительные настройки'; +$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['arialabelfiltersetactions'] = 'Действия набора фильтров'; +$labels['arialabelfilteractions'] = 'Действия фильтра'; +$labels['arialabelfilterform'] = 'Свойства фильтра'; +$labels['ariasummaryfilterslist'] = 'Список фильтров'; +$labels['ariasummaryfiltersetslist'] = 'Список набора фильтров'; +$labels['filterstitle'] = 'Редактировать фильтры для входящей почты'; +$labels['vacationtitle'] = 'Изменить правило "Не в офисе"'; +$messages['filterunknownerror'] = 'Неизвестная ошибка сервера.'; +$messages['filterconnerror'] = 'Невозможно подключиться к серверу.'; +$messages['filterdeleteerror'] = 'Невозможно удалить фильтр. Ошибка сервера.'; +$messages['filterdeleted'] = 'Фильтр успешно удалён.'; +$messages['filtersaved'] = 'Фильтр успешно сохранён.'; +$messages['filtersaveerror'] = 'Невозможно сохранить фильтр. Ошибка сервера.'; +$messages['filterdeleteconfirm'] = 'Вы действительно хотите удалить выделенный фильтр?'; +$messages['ruledeleteconfirm'] = 'Вы уверенны, что хотите удалить выделенное правило?'; +$messages['actiondeleteconfirm'] = 'Вы уверенны, что хотите удалить выделенное действие?'; +$messages['forbiddenchars'] = 'Недопустимые символы в поле.'; +$messages['cannotbeempty'] = 'Поле не может быть пустым.'; +$messages['ruleexist'] = 'Фильтр с таким именем уже существует.'; +$messages['setactivateerror'] = 'Невозможно включить выбранный набор фильтров. Ошибка сервера.'; +$messages['setdeactivateerror'] = 'Невозможно отключить выбранный набор фильтров. Ошибка сервера.'; +$messages['setdeleteerror'] = 'Невозможно удалить выбранный набор фильтров. Ошибка сервера.'; +$messages['setactivated'] = 'Набор фильтров успешно включён.'; +$messages['setdeactivated'] = 'Набор фильтров успешно отключён.'; +$messages['setdeleted'] = 'Набор фильтров успешно удалён.'; +$messages['setdeleteconfirm'] = 'Вы уверены в том, что хотите удалить выбранный набор фильтров?'; +$messages['setcreateerror'] = 'Невозможно создать набор фильтров. Ошибка сервера.'; +$messages['setcreated'] = 'Набор фильтров успешно создан.'; +$messages['activateerror'] = 'Невозможно включить выбранный(е) фильтр(ы). Ошибка сервера.'; +$messages['deactivateerror'] = 'Невозможно выключить выбранный(е) фильтр(ы). Ошибка сервера.'; +$messages['deactivated'] = 'Фильтр(ы) успешно отключен(ы).'; +$messages['activated'] = 'Фильтр(ы) успешно включен(ы).'; +$messages['moved'] = 'Фильтр успешно перемещён.'; +$messages['moveerror'] = 'Невозможно переместить фильтр. Ошибка сервера.'; +$messages['nametoolong'] = 'Слишком длинное имя.'; +$messages['namereserved'] = 'Зарезервированное имя.'; +$messages['setexist'] = 'Набор уже существует.'; +$messages['nodata'] = 'Нужно выбрать хотя бы одну позицию!'; +$messages['invaliddateformat'] = 'Неверная дата или формат части даты'; +$messages['saveerror'] = 'Невозможно сохранить данные. Ошибка сервера.'; +$messages['vacationsaved'] = 'Данные об отпуске успешно сохранены.'; +$messages['emptyvacationbody'] = 'Сообщение о причине отсутствия не может быть пустым!'; +?> diff --git a/plugins/managesieve/localization/si_LK.inc b/plugins/managesieve/localization/si_LK.inc new file mode 100644 index 000000000..6537ed597 --- /dev/null +++ b/plugins/managesieve/localization/si_LK.inc @@ -0,0 +1,42 @@ +<?php + +/* + +-----------------------------------------------------------------------+ + | plugins/managesieve/localization/<lang>.inc | + | | + | Localization file of the Roundcube Webmail Managesieve 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-managesieve/ +*/ +$labels['filters'] = 'පෙරහණ'; +$labels['moveup'] = 'ඉහළට ගෙනයන්න'; +$labels['movedown'] = 'පහළට ගෙනයන්න'; +$labels['filterany'] = 'සියලු පණිවිඩ'; +$labels['filtercontains'] = 'අඩංගු'; +$labels['messagedelete'] = 'පණිවිඩය මකන්න'; +$labels['add'] = 'එක් කරන්න'; +$labels['del'] = 'මකන්න'; +$labels['sender'] = 'යවන්නා'; +$labels['recipient'] = 'ලබන්නා'; +$labels['vacationsubject'] = 'පණිවිඩයේ මාතෘකාව:'; +$labels['enable'] = 'සක්රීය කරන්න/අක්රීය කරන්න'; +$labels['active'] = 'සක්රීය'; +$labels['none'] = 'කිසිවක් නැත'; +$labels['flagread'] = 'කියවන්න'; +$labels['flagdeleted'] = 'මකන ලදී'; +$labels['flagdraft'] = 'කටු සටහන'; +$labels['nextstep'] = 'මීලග පියවර'; +$labels['...'] = '...'; +$labels['address'] = 'ලිපිනය'; +$labels['envelope'] = 'ලියුම් කවරය'; +$labels['modtype'] = 'වර්ගය:'; +$labels['allparts'] = 'සියල්ල'; +$messages['nametoolong'] = 'නම දිග වැඩිය.'; +?> diff --git a/plugins/managesieve/localization/sk_SK.inc b/plugins/managesieve/localization/sk_SK.inc new file mode 100644 index 000000000..4cad13f55 --- /dev/null +++ b/plugins/managesieve/localization/sk_SK.inc @@ -0,0 +1,224 @@ +<?php + +/* + +-----------------------------------------------------------------------+ + | plugins/managesieve/localization/<lang>.inc | + | | + | Localization file of the Roundcube Webmail Managesieve 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-managesieve/ +*/ +$labels['filters'] = 'Filtre'; +$labels['managefilters'] = 'Správa filtrov prichádzajúcej pošty'; +$labels['filtername'] = 'Názov filtra'; +$labels['newfilter'] = 'Nový filter'; +$labels['filteradd'] = 'Pridať filter'; +$labels['filterdel'] = 'Vymazať filter'; +$labels['moveup'] = 'Presunúť nahor'; +$labels['movedown'] = 'Presunúť nadol'; +$labels['filterallof'] = 'vyhovujúca všetkým z nasledujúcich pravidiel'; +$labels['filteranyof'] = 'vyhovujúca ľubovoľnému z nasledujúcich pravidiel'; +$labels['filterany'] = 'všetky správy'; +$labels['filtercontains'] = 'obsahuje'; +$labels['filternotcontains'] = 'neobsahuje'; +$labels['filteris'] = 'sa rovná'; +$labels['filterisnot'] = 'sa nerovná'; +$labels['filterexists'] = 'existuje'; +$labels['filternotexists'] = 'neexistuje'; +$labels['filtermatches'] = 'vyhovuje výrazu'; +$labels['filternotmatches'] = 'nevyhovuje výrazu'; +$labels['filterregex'] = 'vyhovuje regulárnemu výrazu'; +$labels['filternotregex'] = 'nevyhovuje regulárnemu výrazu'; +$labels['filterunder'] = 'pod'; +$labels['filterover'] = 'nad'; +$labels['addrule'] = 'Pridať pravidlo'; +$labels['delrule'] = 'Vymazať pravidlo'; +$labels['messagemoveto'] = 'Presunúť správu do'; +$labels['messageredirect'] = 'Presmerovať správu na'; +$labels['messagecopyto'] = 'Kopírovať správu do'; +$labels['messagesendcopy'] = 'Poslať kópiu správy na adresu'; +$labels['messagereply'] = 'Odpovedať správou'; +$labels['messagedelete'] = 'Vymazať správu'; +$labels['messagediscard'] = 'Vymazať a poslať správu na'; +$labels['messagekeep'] = 'Ponechať správu v Doručenej pošte'; +$labels['messagesrules'] = 'Pre prichádzajúcu poštu:'; +$labels['messagesactions'] = '...vykonať tieto akcie:'; +$labels['add'] = 'Pridať'; +$labels['del'] = 'Vymazať'; +$labels['sender'] = 'Odosielateľ'; +$labels['recipient'] = 'Príjemca'; +$labels['vacationaddr'] = 'Iná moja e-mailová adresa (adresy):'; +$labels['vacationdays'] = 'Ako často odosielať správy (v dňoch):'; +$labels['vacationinterval'] = 'Ako často odosielať správy:'; +$labels['vacationreason'] = 'Telo správy (dôvod neprítomnosti):'; +$labels['vacationsubject'] = 'Predmet správy:'; +$labels['days'] = 'dní'; +$labels['seconds'] = 'sekúnd'; +$labels['rulestop'] = 'Koniec pravidiel'; +$labels['enable'] = 'Zapnúť/vypnúť'; +$labels['filterset'] = 'Súprava filtrov'; +$labels['filtersets'] = 'Súpravy filtrov'; +$labels['filtersetadd'] = 'Pridať súpravu filtrov'; +$labels['filtersetdel'] = 'Vymazať aktuálnu súpravu filtrov'; +$labels['filtersetact'] = 'Aktivovať aktuálnu súpravu filtrov'; +$labels['filtersetdeact'] = 'Deaktivovať aktuálnu súpravu filtrov'; +$labels['filterdef'] = 'Definícia filtra'; +$labels['filtersetname'] = 'Názov súpravy filtrov'; +$labels['newfilterset'] = 'Nová súprava filtrov'; +$labels['active'] = 'aktívna'; +$labels['none'] = 'žiadne'; +$labels['fromset'] = 'zo súpravy'; +$labels['fromfile'] = 'zo súboru'; +$labels['filterdisabled'] = 'Filter vypnutý'; +$labels['countisgreaterthan'] = 'počet je väčší ako'; +$labels['countisgreaterthanequal'] = 'počet je väčší alebo rovný ako'; +$labels['countislessthan'] = 'počet je menší ako'; +$labels['countislessthanequal'] = 'počet je menší alebo rovný ako'; +$labels['countequals'] = 'počet je rovný'; +$labels['countnotequals'] = 'počet sa nerovná'; +$labels['valueisgreaterthan'] = 'hodnota je väčšia ako'; +$labels['valueisgreaterthanequal'] = 'hodnota je väčšia alebo rovná ako'; +$labels['valueislessthan'] = 'hodnota je menšia ako'; +$labels['valueislessthanequal'] = 'hodnota je menšia alebo rovná ako'; +$labels['valueequals'] = 'hodnota je rovná ako'; +$labels['valuenotequals'] = 'hodnota sa nerovná'; +$labels['setflags'] = 'Nastaviť príznaky správy'; +$labels['addflags'] = 'Pridať príznaky správy'; +$labels['removeflags'] = 'Odstrániť príznaky zo správy'; +$labels['flagread'] = 'Prečítané'; +$labels['flagdeleted'] = 'Vymazané'; +$labels['flaganswered'] = 'Odpovedané'; +$labels['flagflagged'] = 'Označené príznakom'; +$labels['flagdraft'] = 'Koncept'; +$labels['setvariable'] = 'Nastaviť premennú'; +$labels['setvarname'] = 'Názov premennej:'; +$labels['setvarvalue'] = 'Hodnota premennej:'; +$labels['setvarmodifiers'] = 'Modifikátory:'; +$labels['varlower'] = 'malé písmená'; +$labels['varupper'] = 'VEĽKÉ PÍSMENÁ'; +$labels['varlowerfirst'] = 'prvé písmeno malé'; +$labels['varupperfirst'] = 'prvé písmeno veľké'; +$labels['varquotewildcard'] = 'k špeciálnym znakom pridať úvodzovky'; +$labels['varlength'] = 'dĺžka'; +$labels['notify'] = 'Odoslať oznámenie'; +$labels['notifytarget'] = 'Cieľ notifikácie:'; +$labels['notifymessage'] = 'Notifikačná správa (voliteľne):'; +$labels['notifyoptions'] = 'Nastavenia notifikácie (voliteľné):'; +$labels['notifyfrom'] = 'Odosielateľ notifikácie (voliteľne):'; +$labels['notifyimportance'] = 'Priorita:'; +$labels['notifyimportancelow'] = 'nízka'; +$labels['notifyimportancenormal'] = 'normálna'; +$labels['notifyimportancehigh'] = 'vysoká'; +$labels['notifymethodmailto'] = 'E-mail'; +$labels['notifymethodtel'] = 'Telefón'; +$labels['notifymethodsms'] = 'SMS'; +$labels['filtercreate'] = 'Vytvoriť filter'; +$labels['usedata'] = 'Použiť tieto údaje vo filtri:'; +$labels['nextstep'] = 'Ďalší krok'; +$labels['...'] = '...'; +$labels['currdate'] = 'Aktuálny dátum'; +$labels['datetest'] = 'Dátum'; +$labels['dateheader'] = 'záhlavie:'; +$labels['year'] = 'rok'; +$labels['month'] = 'mesiac'; +$labels['day'] = 'deň'; +$labels['date'] = 'dátum (rrrr-mm-dd)'; +$labels['julian'] = 'dátum (podľa Juliánskeho kalendára)'; +$labels['hour'] = 'hod.'; +$labels['minute'] = 'min.'; +$labels['second'] = 'sek.'; +$labels['time'] = 'čas (hh:mm:ss)'; +$labels['iso8601'] = 'dátum (ISO8601)'; +$labels['std11'] = 'dátum (RFC2822)'; +$labels['zone'] = 'časové pásmo'; +$labels['weekday'] = 'deň v týždni (0-6)'; +$labels['advancedopts'] = 'Rozšírené nastavenia'; +$labels['body'] = 'Telo'; +$labels['address'] = 'adresa'; +$labels['envelope'] = 'obálka'; +$labels['modifier'] = 'modifikátor:'; +$labels['text'] = 'text'; +$labels['undecoded'] = 'nedekódované (raw)'; +$labels['contenttype'] = 'typ obsahu'; +$labels['modtype'] = 'typ:'; +$labels['allparts'] = 'všetko'; +$labels['domain'] = 'doména'; +$labels['localpart'] = 'lokálna časť'; +$labels['user'] = 'používateľ'; +$labels['detail'] = 'detail'; +$labels['comparator'] = 'porovnávač:'; +$labels['default'] = 'predvolené'; +$labels['octet'] = 'striktný (osmičkový)'; +$labels['asciicasemap'] = 'nerozlišuje veľké a malé písmená (ascii tabuľka znakov)'; +$labels['asciinumeric'] = 'numerické (ascii čísla)'; +$labels['index'] = 'index:'; +$labels['indexlast'] = 'dozadu'; +$labels['vacation'] = 'Dovolenka'; +$labels['vacation.reply'] = 'Odpoveď na správu'; +$labels['vacation.advanced'] = 'Pokročilé nastavenia'; +$labels['vacation.subject'] = 'Predmet'; +$labels['vacation.body'] = 'Telo'; +$labels['vacation.start'] = 'Začiatok dovolenky'; +$labels['vacation.end'] = 'Koniec dovolenky'; +$labels['vacation.status'] = 'Stav'; +$labels['vacation.on'] = 'Zap.'; +$labels['vacation.off'] = 'Vyp.'; +$labels['vacation.addresses'] = 'Moje ďalšie adresy'; +$labels['vacation.interval'] = 'Interval odpovedania'; +$labels['vacation.after'] = 'Nastaviť pravidlo pre dovolenku po'; +$labels['vacation.saving'] = 'Ukladanie údajov...'; +$labels['vacation.action'] = 'Akcia pre prichádzajúcu správu'; +$labels['vacation.keep'] = 'Zachovať'; +$labels['vacation.discard'] = 'Vyhodiť do koša'; +$labels['vacation.redirect'] = 'Presmerovať na'; +$labels['vacation.copy'] = 'Poslať kópiu na'; +$labels['arialabelfiltersetactions'] = 'Akcie zo súpravy filtrov'; +$labels['arialabelfilteractions'] = 'Akcie filtra'; +$labels['arialabelfilterform'] = 'Nastavenia filtra'; +$labels['ariasummaryfilterslist'] = 'Zoznam filtrov'; +$labels['ariasummaryfiltersetslist'] = 'Zoznam súprav s filtrami'; +$labels['filterstitle'] = 'Upraviť filtre prichádzajúcich e-mailov'; +$labels['vacationtitle'] = 'Upraviť pravidlo pre čas mimo kancelárie'; +$messages['filterunknownerror'] = 'Neznáma chyba servera.'; +$messages['filterconnerror'] = 'Nepodarilo sa pripojiť k serveru.'; +$messages['filterdeleteerror'] = 'Nemožno vymazať filter. Nastala chyba servera.'; +$messages['filterdeleted'] = 'Filter bol úspešne vymazaný.'; +$messages['filtersaved'] = 'Filter bol úspešne uložený.'; +$messages['filtersaveerror'] = 'Nemožno uložiť filter. Nastala chyba servera.'; +$messages['filterdeleteconfirm'] = 'Naozaj chcete vymazať vybraný filter?'; +$messages['ruledeleteconfirm'] = 'Naozaj chcete vymazať vybrané pravidlo?'; +$messages['actiondeleteconfirm'] = 'Naozaj chcete vymazať vybranú akciu?'; +$messages['forbiddenchars'] = 'Pole obsahuje nepovolené znaky.'; +$messages['cannotbeempty'] = 'Pole nemôže byť prázdne.'; +$messages['ruleexist'] = 'Filter so zadaným názvom už existuje.'; +$messages['setactivateerror'] = 'Nemožno aktivovať vybranú súpravu filtrov. Nastala chyba servera.'; +$messages['setdeactivateerror'] = 'Nemožno deaktivovať vybranú súpravu filtrov. Nastala chyba servera.'; +$messages['setdeleteerror'] = 'Nemožno vymazať vybranú súpravu filtrov. Nastala chyba servera.'; +$messages['setactivated'] = 'Súprava filtrov bola úspešne aktivovaná.'; +$messages['setdeactivated'] = 'Súprava filtrov bola úspešne deaktivovaná.'; +$messages['setdeleted'] = 'Súprava filtrov bola úspešne vymazaná.'; +$messages['setdeleteconfirm'] = 'Naozaj chcete vymazať vybranú súpravu filtrov?'; +$messages['setcreateerror'] = 'Nemožno vytvoriť súpravu filtrov. Nastala chyba servera.'; +$messages['setcreated'] = 'Súprava filtrov bola úspešne vytvorená.'; +$messages['activateerror'] = 'Nemožno aktivovať vybraný filter (vybrané filtre). Nastala chyba servera.'; +$messages['deactivateerror'] = 'Nemožno vypnúť vybraný filter (vybrané filtre). Nastala chyba servera.'; +$messages['deactivated'] = 'Filtre boli úspešne vypnuté.'; +$messages['activated'] = 'Filtre boli úspešne zapnuté.'; +$messages['moved'] = 'Filter bol úspešne presunutý.'; +$messages['moveerror'] = 'Nemožno presunúť vybraný filter. Nastala chyba servera.'; +$messages['nametoolong'] = 'Názov je príliš dlhý.'; +$messages['namereserved'] = 'Rezervovaný názov.'; +$messages['setexist'] = 'Súprava už existuje.'; +$messages['nodata'] = 'Aspoň jedna pozícia musí byť zvolená!'; +$messages['invaliddateformat'] = 'Neplatný formát dátumu alebo časti dátumu'; +$messages['saveerror'] = 'Údaje nemožno uložiť. Nastala chyba servera.'; +$messages['vacationsaved'] = 'Údaje o dovolenke boli úspešne uložené.'; +$messages['emptyvacationbody'] = 'Musíte zadať telo správy, zobrazovanej v čase neprítomnosti!'; +?> diff --git a/plugins/managesieve/localization/sl_SI.inc b/plugins/managesieve/localization/sl_SI.inc new file mode 100644 index 000000000..f0e5159c3 --- /dev/null +++ b/plugins/managesieve/localization/sl_SI.inc @@ -0,0 +1,188 @@ +<?php + +/* + +-----------------------------------------------------------------------+ + | plugins/managesieve/localization/<lang>.inc | + | | + | Localization file of the Roundcube Webmail Managesieve 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-managesieve/ +*/ +$labels['filters'] = 'Filtri'; +$labels['managefilters'] = 'Uredi filtre za dohodno pošto'; +$labels['filtername'] = 'Ime filtra'; +$labels['newfilter'] = 'Nov filter'; +$labels['filteradd'] = 'Dodaj filter'; +$labels['filterdel'] = 'Izbriši filter'; +$labels['moveup'] = 'Pomakni se navzgor'; +$labels['movedown'] = 'Pomakni se navzdol'; +$labels['filterallof'] = 'izpolnjeni morajo biti vsi pogoji'; +$labels['filteranyof'] = 'izpolnjen mora biti vsaj eden od navedenih pogojev'; +$labels['filterany'] = 'pogoj velja za vsa sporočila'; +$labels['filtercontains'] = 'vsebuje'; +$labels['filternotcontains'] = 'ne vsebuje'; +$labels['filteris'] = 'je enak/a'; +$labels['filterisnot'] = 'ni enak/a'; +$labels['filterexists'] = 'obstaja'; +$labels['filternotexists'] = 'ne obstaja'; +$labels['filtermatches'] = 'ustreza izrazu'; +$labels['filternotmatches'] = 'ne ustreza izrazu'; +$labels['filterregex'] = 'ustreza regularnemu izrazu'; +$labels['filternotregex'] = 'ne ustreza regularnemu izrazu'; +$labels['filterunder'] = 'pod'; +$labels['filterover'] = 'nad'; +$labels['addrule'] = 'Dodaj pravilo'; +$labels['delrule'] = 'Izbriši pravilo'; +$labels['messagemoveto'] = 'Premakni sporočilo v'; +$labels['messageredirect'] = 'Preusmeri sporočilo v'; +$labels['messagecopyto'] = 'Kopiraj sporočila na'; +$labels['messagesendcopy'] = 'Pošlji kopijo sporočila na'; +$labels['messagereply'] = 'Odgovori s sporočilom'; +$labels['messagedelete'] = 'Izbriši sporočilo'; +$labels['messagediscard'] = 'Zavrži s sporočilom'; +$labels['messagekeep'] = 'Ohrani sporočila v mapi Prejeto'; +$labels['messagesrules'] = 'Določi pravila za dohodno pošto:'; +$labels['messagesactions'] = '...izvrši naslednja dejanja:'; +$labels['add'] = 'Dodaj'; +$labels['del'] = 'Izbriši'; +$labels['sender'] = 'Pošiljatelj'; +$labels['recipient'] = 'Prejemnik'; +$labels['vacationaddr'] = 'Moji dodatni e-naslovi'; +$labels['vacationdays'] = 'Kako pogosto naj bodo sporočila poslana (v dnevih):'; +$labels['vacationinterval'] = 'Sporočila pošlji na:'; +$labels['vacationreason'] = 'Vsebina sporočila (vzrok za odsotnost):'; +$labels['vacationsubject'] = 'Zadeva sporočila'; +$labels['days'] = 'dni'; +$labels['seconds'] = 'sekund'; +$labels['rulestop'] = 'Prekini z izvajanjem pravil'; +$labels['enable'] = 'Omogoči/Onemogoči'; +$labels['filterset'] = 'Nastavitev filtrov'; +$labels['filtersets'] = 'Nastavitve filtrov'; +$labels['filtersetadd'] = 'Dodaj nastavitev filtrov'; +$labels['filtersetdel'] = 'Izbriši trenutne nastavitve filtriranja'; +$labels['filtersetact'] = 'Vključi trenutno nastavitev filtriranja'; +$labels['filtersetdeact'] = 'Onemogoči trenutno nastavitev filtriranja'; +$labels['filterdef'] = 'Opis filtra'; +$labels['filtersetname'] = 'Ime filtra'; +$labels['newfilterset'] = 'Nov filter'; +$labels['active'] = 'aktiven'; +$labels['none'] = 'brez'; +$labels['fromset'] = 'iz nastavitve'; +$labels['fromfile'] = 'iz dokumenta'; +$labels['filterdisabled'] = 'Filter onemogočen'; +$labels['countisgreaterthan'] = 'seštevek je večji od'; +$labels['countisgreaterthanequal'] = 'seštevek je večji ali enak'; +$labels['countislessthan'] = 'seštevek je manjši od'; +$labels['countislessthanequal'] = 'seštevel je manjši ali enak'; +$labels['countequals'] = 'seštevek je enak'; +$labels['countnotequals'] = 'vsota ne ustreza'; +$labels['valueisgreaterthan'] = 'vrednost je večja od'; +$labels['valueisgreaterthanequal'] = 'vrednost je večja ali enaka'; +$labels['valueislessthan'] = 'vrednost je manjša od'; +$labels['valueislessthanequal'] = 'vrednost je manjša ali enaka'; +$labels['valueequals'] = 'vrednost je enaka'; +$labels['valuenotequals'] = 'vrednost ni enaka'; +$labels['setflags'] = 'Označi sporočilo'; +$labels['addflags'] = 'Označi sporočilo'; +$labels['removeflags'] = 'Odstrani zaznamke s sporočil'; +$labels['flagread'] = 'Prebrano'; +$labels['flagdeleted'] = 'Izbrisano'; +$labels['flaganswered'] = 'Odgovorjeno'; +$labels['flagflagged'] = 'Označeno'; +$labels['flagdraft'] = 'Osnutek'; +$labels['setvariable'] = 'Nastavi spremenljivko'; +$labels['setvarname'] = 'Ime spremenljivke:'; +$labels['setvarvalue'] = 'Vrednost spremenljivke:'; +$labels['setvarmodifiers'] = 'Modifikator:'; +$labels['varlower'] = 'majhne črke'; +$labels['varupper'] = 'velike črke'; +$labels['varlowerfirst'] = 'prvi znak velika začetnica'; +$labels['varupperfirst'] = 'prvi znak velika začetnica'; +$labels['varquotewildcard'] = 'citiraj posebne znake'; +$labels['varlength'] = 'dolžina'; +$labels['notify'] = 'Poštlji obvestilo'; +$labels['notifyimportance'] = 'Pomembnost:'; +$labels['notifyimportancelow'] = 'nizko'; +$labels['notifyimportancenormal'] = 'običajno'; +$labels['notifyimportancehigh'] = 'visoko'; +$labels['filtercreate'] = 'Ustvari filter'; +$labels['usedata'] = 'Pri stvarjanju filtra uporabi naslednje podatke'; +$labels['nextstep'] = 'Naslednji korak'; +$labels['...'] = '...'; +$labels['currdate'] = 'Današnji datum'; +$labels['datetest'] = 'Datum'; +$labels['dateheader'] = 'glava:'; +$labels['year'] = 'leto'; +$labels['month'] = 'mesec'; +$labels['day'] = 'dan'; +$labels['date'] = 'datum(yyyy-mm-dd)'; +$labels['julian'] = 'datum (julijanski)'; +$labels['hour'] = 'ura'; +$labels['minute'] = 'minuta'; +$labels['second'] = 'sekunda'; +$labels['time'] = 'čas'; +$labels['iso8601'] = 'datum (ISO8601)'; +$labels['std11'] = 'datum (RFC2822)'; +$labels['zone'] = 'časovni pas'; +$labels['weekday'] = 'dan v tednu (0-6)'; +$labels['advancedopts'] = 'Dodatne možnosti'; +$labels['body'] = 'Vsebina'; +$labels['address'] = 'naslov'; +$labels['envelope'] = 'ovojnica'; +$labels['modifier'] = 'modifikator'; +$labels['text'] = 'besedilo'; +$labels['undecoded'] = 'neobdelano'; +$labels['contenttype'] = 'tip vsebine'; +$labels['modtype'] = 'tip'; +$labels['allparts'] = 'vse'; +$labels['domain'] = 'domena'; +$labels['localpart'] = 'lokalni del'; +$labels['user'] = 'uporabnik'; +$labels['detail'] = 'podrobnosti'; +$labels['comparator'] = 'primerjalnik'; +$labels['default'] = 'privzeto'; +$labels['octet'] = 'strict (octet)'; +$labels['asciicasemap'] = 'ni občutljiv na velike/male črke (ascii-casemap)'; +$labels['asciinumeric'] = 'numerično (ascii-numeric)'; +$labels['index'] = 'indeks:'; +$labels['indexlast'] = 'obraten vrstni red'; +$messages['filterunknownerror'] = 'Prišlo je do neznane napake.'; +$messages['filterconnerror'] = 'Povezave s strežnikom (managesieve) ni bilo mogoče vzpostaviti'; +$messages['filterdeleteerror'] = 'Pravila ni bilo mogoče izbrisati. Prišlo je do napake.'; +$messages['filterdeleted'] = 'Pravilo je bilo uspešno izbrisano.'; +$messages['filtersaved'] = 'Pravilo je bilo uspešno shranjeno'; +$messages['filtersaveerror'] = 'Pravila ni bilo mogoče shraniti. Prišlo je do napake.'; +$messages['filterdeleteconfirm'] = 'Ste prepričani, da želite izbrisati izbrano pravilo?'; +$messages['ruledeleteconfirm'] = 'Ste prepričani, da želite izbrisati izbrano pravilo?'; +$messages['actiondeleteconfirm'] = 'Ste prepričani, da želite izbrisati izbrano dejanje?'; +$messages['forbiddenchars'] = 'V polju so neveljavni znaki'; +$messages['cannotbeempty'] = 'Polje ne sme biti prazno'; +$messages['ruleexist'] = 'Filer s tem imenom že obstaja'; +$messages['setactivateerror'] = 'Izbranih filtrov ni bilo mogoče vključiti. Prišlo je do napake na strežniku.'; +$messages['setdeactivateerror'] = 'Izbranih filtrov ni bilo mogoče izključiti. Prišlo je do napake na strežniku.'; +$messages['setdeleteerror'] = 'Izbranih filtrov ni bilo mogoče izbrisati. Prišlo je do napake na strežniku.'; +$messages['setactivated'] = 'Filter je bil uspešno vključen.'; +$messages['setdeactivated'] = 'Filter je bil uspešno onemogočen.'; +$messages['setdeleted'] = 'Filter je bil uspešno izbrisan.'; +$messages['setdeleteconfirm'] = 'Ste prepričani, da želite izbrisati ta filter?'; +$messages['setcreateerror'] = 'Nabora filtrov ni bilo mogoče ustvariti. Prišlo je do napake na strežniku.'; +$messages['setcreated'] = 'Filter je bil uspešno ustvarjen.'; +$messages['activateerror'] = 'Izbranega/ih filtra/ov ni bilo mogoče vključiti. Prišlo je do napake na strežniku.'; +$messages['deactivateerror'] = 'Izbranega/ih fitra/ov ni bilo mogoče izključiti. Prišlo je do napake na strežniku.'; +$messages['deactivated'] = 'Filtri so bili uspešno omogočeni.'; +$messages['activated'] = 'Filtri so bili uspešno onemogočeni.'; +$messages['moved'] = 'Filter je bil uspešno premaknjen.'; +$messages['moveerror'] = 'Izbranega filtra ni bilo mogoče premakniti. Prišlo je do napake na strežniku.'; +$messages['nametoolong'] = 'Ime je predolgo.'; +$messages['namereserved'] = 'Rezervirano ime.'; +$messages['setexist'] = 'Nastavitev filtra že obstaja.'; +$messages['nodata'] = 'Izbrana mora biti vsaj ena nastavitev!'; +$messages['invaliddateformat'] = 'Neveljaven datum ali oblika zapisa datuma'; +?> diff --git a/plugins/managesieve/localization/sq_AL.inc b/plugins/managesieve/localization/sq_AL.inc new file mode 100644 index 000000000..bba59b650 --- /dev/null +++ b/plugins/managesieve/localization/sq_AL.inc @@ -0,0 +1,26 @@ +<?php + +/* + +-----------------------------------------------------------------------+ + | plugins/managesieve/localization/<lang>.inc | + | | + | Localization file of the Roundcube Webmail Managesieve 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-managesieve/ +*/ +$labels['moveup'] = 'Lëviz lartë'; +$labels['movedown'] = 'Lëviz poshtë'; +$labels['filterany'] = 'të gjitha mesazhet'; +$labels['messagemoveto'] = 'Zhvendose mesazhin te'; +$labels['add'] = 'Shto'; +$labels['del'] = 'Fshije'; +$labels['vacationdays'] = 'Sa shpesh dërgon mesazhe (në ditë):'; +$labels['active'] = 'aktiv'; +?> diff --git a/plugins/managesieve/localization/sv_SE.inc b/plugins/managesieve/localization/sv_SE.inc new file mode 100644 index 000000000..ede13cb61 --- /dev/null +++ b/plugins/managesieve/localization/sv_SE.inc @@ -0,0 +1,224 @@ +<?php + +/* + +-----------------------------------------------------------------------+ + | plugins/managesieve/localization/<lang>.inc | + | | + | Localization file of the Roundcube Webmail Managesieve 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-managesieve/ +*/ +$labels['filters'] = 'Filter'; +$labels['managefilters'] = 'Administrera filter'; +$labels['filtername'] = 'Filternamn'; +$labels['newfilter'] = 'Nytt filter'; +$labels['filteradd'] = 'Nytt filter'; +$labels['filterdel'] = 'Ta bort filter'; +$labels['moveup'] = 'Flytta upp filter'; +$labels['movedown'] = 'Flytta ner filter'; +$labels['filterallof'] = 'Filtrera på alla följande regler'; +$labels['filteranyof'] = 'Filtrera på någon av följande regler'; +$labels['filterany'] = 'Filtrera alla meddelanden'; +$labels['filtercontains'] = 'innehåller'; +$labels['filternotcontains'] = 'inte innehåller'; +$labels['filteris'] = 'är lika med'; +$labels['filterisnot'] = 'är inte lika med'; +$labels['filterexists'] = 'finns'; +$labels['filternotexists'] = 'inte finns'; +$labels['filtermatches'] = 'matchar uttryck'; +$labels['filternotmatches'] = 'inte matchar uttryck'; +$labels['filterregex'] = 'matchar reguljärt uttryck'; +$labels['filternotregex'] = 'inte matchar reguljärt uttryck'; +$labels['filterunder'] = 'under'; +$labels['filterover'] = 'över'; +$labels['addrule'] = 'Lägg till regel'; +$labels['delrule'] = 'Ta bort regel'; +$labels['messagemoveto'] = 'Flytta meddelande till'; +$labels['messageredirect'] = 'Ändra mottagare till'; +$labels['messagecopyto'] = 'Kopiera meddelande till'; +$labels['messagesendcopy'] = 'Skicka kopia av meddelande till'; +$labels['messagereply'] = 'Besvara meddelande'; +$labels['messagedelete'] = 'Ta bort meddelande'; +$labels['messagediscard'] = 'Avböj med felmeddelande'; +$labels['messagekeep'] = 'Behåll meddelande i Inkorg'; +$labels['messagesrules'] = 'För inkommande meddelande'; +$labels['messagesactions'] = 'Utför följande åtgärd'; +$labels['add'] = 'Lägg till'; +$labels['del'] = 'Ta bort'; +$labels['sender'] = 'Avsändare'; +$labels['recipient'] = 'Mottagare'; +$labels['vacationaddr'] = 'Ytterligare mottagaradresser:'; +$labels['vacationdays'] = 'Antal dagar mellan auto-svar:'; +$labels['vacationinterval'] = 'Tid mellan auto-svar:'; +$labels['vacationreason'] = 'Meddelandetext (frånvaroanledning):'; +$labels['vacationsubject'] = 'Meddelandeämne:'; +$labels['days'] = 'Dagar'; +$labels['seconds'] = 'Sekunder'; +$labels['rulestop'] = 'Avsluta filtrering'; +$labels['enable'] = 'Aktivera/deaktivera'; +$labels['filterset'] = 'Filtergrupp'; +$labels['filtersets'] = 'Filtergrupper'; +$labels['filtersetadd'] = 'Ny filtergrupp'; +$labels['filtersetdel'] = 'Ta bort filtergrupp'; +$labels['filtersetact'] = 'Aktivera filtergrupp'; +$labels['filtersetdeact'] = 'Deaktivera filtergrupp'; +$labels['filterdef'] = 'Filterdefinition'; +$labels['filtersetname'] = 'Filtergruppsnamn'; +$labels['newfilterset'] = 'Ny filtergrupp'; +$labels['active'] = 'aktiv'; +$labels['none'] = 'ingen'; +$labels['fromset'] = 'från grupp'; +$labels['fromfile'] = 'från fil'; +$labels['filterdisabled'] = 'Filter deaktiverat'; +$labels['countisgreaterthan'] = 'antal är större än'; +$labels['countisgreaterthanequal'] = 'antal är större än eller lika med'; +$labels['countislessthan'] = 'antal är mindre än'; +$labels['countislessthanequal'] = 'antal är mindre än eller lika med'; +$labels['countequals'] = 'antal är lika med'; +$labels['countnotequals'] = 'antal är inte lika med'; +$labels['valueisgreaterthan'] = 'värde är större än'; +$labels['valueisgreaterthanequal'] = 'värde är större än eller lika med'; +$labels['valueislessthan'] = 'värde är mindre än'; +$labels['valueislessthanequal'] = 'värde är mindre än eller lika med'; +$labels['valueequals'] = 'värde är lika med'; +$labels['valuenotequals'] = 'värde är inte lika med'; +$labels['setflags'] = 'Flagga meddelande'; +$labels['addflags'] = 'Lägg till meddelandeflaggor'; +$labels['removeflags'] = 'Ta bort meddelandeflaggor'; +$labels['flagread'] = 'Läst'; +$labels['flagdeleted'] = 'Borttaget'; +$labels['flaganswered'] = 'Besvarat'; +$labels['flagflagged'] = 'Flaggat'; +$labels['flagdraft'] = 'Utkast'; +$labels['setvariable'] = 'Sätt variabel'; +$labels['setvarname'] = 'Variabelnamn:'; +$labels['setvarvalue'] = 'Variabelvärde:'; +$labels['setvarmodifiers'] = 'Modifierare:'; +$labels['varlower'] = 'Gemener'; +$labels['varupper'] = 'Versaler'; +$labels['varlowerfirst'] = 'Första tecken gement'; +$labels['varupperfirst'] = 'Första tecken versalt'; +$labels['varquotewildcard'] = 'Koda specialtecken'; +$labels['varlength'] = 'Längd'; +$labels['notify'] = 'Skicka avisering'; +$labels['notifytarget'] = 'Aviseringsmål:'; +$labels['notifymessage'] = 'Aviseringsmeddelande (valfritt):'; +$labels['notifyoptions'] = 'Aviseringstillval (valfritt):'; +$labels['notifyfrom'] = 'Aviseringsavsändare (valfri):'; +$labels['notifyimportance'] = 'Prioritet:'; +$labels['notifyimportancelow'] = 'Låg'; +$labels['notifyimportancenormal'] = 'Normal'; +$labels['notifyimportancehigh'] = 'Hög'; +$labels['notifymethodmailto'] = 'E-post'; +$labels['notifymethodtel'] = 'Telefon'; +$labels['notifymethodsms'] = 'SMS'; +$labels['filtercreate'] = 'Skapa filter'; +$labels['usedata'] = 'Använd följande information i filtret:'; +$labels['nextstep'] = 'Nästa steg'; +$labels['...'] = '...'; +$labels['currdate'] = 'Dagens datum'; +$labels['datetest'] = 'Datum'; +$labels['dateheader'] = 'huvud:'; +$labels['year'] = 'år'; +$labels['month'] = 'månad'; +$labels['day'] = 'dag'; +$labels['date'] = 'datum (åååå-mm-dd)'; +$labels['julian'] = 'datum (Julianskt)'; +$labels['hour'] = 'timme'; +$labels['minute'] = 'minut'; +$labels['second'] = 'sekund'; +$labels['time'] = 'tid (hh:mm:ss)'; +$labels['iso8601'] = 'datum (ISO 8601)'; +$labels['std11'] = 'datum (RFC 2822)'; +$labels['zone'] = 'tidszon'; +$labels['weekday'] = 'veckodag (0-6)'; +$labels['advancedopts'] = 'Avancerade inställningar'; +$labels['body'] = 'Meddelandeinnehåll'; +$labels['address'] = 'adress'; +$labels['envelope'] = 'kuvert'; +$labels['modifier'] = 'modifierare:'; +$labels['text'] = 'text'; +$labels['undecoded'] = 'obearbetat (rå)'; +$labels['contenttype'] = 'innehållstyp'; +$labels['modtype'] = 'typ:'; +$labels['allparts'] = 'allt'; +$labels['domain'] = 'domän'; +$labels['localpart'] = 'lokal del'; +$labels['user'] = 'användare'; +$labels['detail'] = 'detalj'; +$labels['comparator'] = 'jämförelse:'; +$labels['default'] = 'standard'; +$labels['octet'] = 'strikt (oktalt)'; +$labels['asciicasemap'] = 'teckenlägesokänslig (ascii-casemap)'; +$labels['asciinumeric'] = 'numerisk (ascii-numeric)'; +$labels['index'] = 'index:'; +$labels['indexlast'] = 'omvänd'; +$labels['vacation'] = 'Frånvaro'; +$labels['vacation.reply'] = 'Besvara meddelande'; +$labels['vacation.advanced'] = 'Avancerade inställningar'; +$labels['vacation.subject'] = 'Ämne'; +$labels['vacation.body'] = 'Innehåll'; +$labels['vacation.start'] = 'Frånvaron börjar'; +$labels['vacation.end'] = 'Frånvaron slutar'; +$labels['vacation.status'] = 'Status'; +$labels['vacation.on'] = 'På'; +$labels['vacation.off'] = 'Av'; +$labels['vacation.addresses'] = 'Ytterligare mottagaradresser'; +$labels['vacation.interval'] = 'Svarsintervall'; +$labels['vacation.after'] = 'Placera frånvaroregel efter'; +$labels['vacation.saving'] = 'Sparar data...'; +$labels['vacation.action'] = 'Hantering av inkommande meddelanden'; +$labels['vacation.keep'] = 'Behåll'; +$labels['vacation.discard'] = 'Förkasta'; +$labels['vacation.redirect'] = 'Ändra mottagare till'; +$labels['vacation.copy'] = 'Skicka kopia till'; +$labels['arialabelfiltersetactions'] = 'Hantera filtergrupper'; +$labels['arialabelfilteractions'] = 'Hantera filter'; +$labels['arialabelfilterform'] = 'Filteregenskaper'; +$labels['ariasummaryfilterslist'] = 'Lista med filter'; +$labels['ariasummaryfiltersetslist'] = 'Lista med filtergrupper'; +$labels['filterstitle'] = 'Ändra filter för inkommande meddelanden'; +$labels['vacationtitle'] = 'Ändra regel för frånvaromeddelande'; +$messages['filterunknownerror'] = 'Okänt serverfel'; +$messages['filterconnerror'] = 'Anslutning till serverns filtertjänst misslyckades'; +$messages['filterdeleteerror'] = 'Filtret kunde inte tas bort på grund av serverfel'; +$messages['filterdeleted'] = 'Filtret är borttaget'; +$messages['filtersaved'] = 'Filtret har sparats'; +$messages['filtersaveerror'] = 'Filtret kunde inte sparas på grund av serverfel'; +$messages['filterdeleteconfirm'] = 'Vill du ta bort det markerade filtret?'; +$messages['ruledeleteconfirm'] = 'Vill du ta bort filterregeln?'; +$messages['actiondeleteconfirm'] = 'Vill du ta bort filteråtgärden?'; +$messages['forbiddenchars'] = 'Otillåtet tecken i fältet'; +$messages['cannotbeempty'] = 'Fältet kan inte lämnas tomt'; +$messages['ruleexist'] = 'Ett filter med angivet namn finns redan.'; +$messages['setactivateerror'] = 'Filtergruppen kunde inte aktiveras på grund av serverfel'; +$messages['setdeactivateerror'] = 'Filtergruppen kunde inte deaktiveras på grund av serverfel'; +$messages['setdeleteerror'] = 'Filtergruppen kunde inte tas bort på grund av serverfel'; +$messages['setactivated'] = 'Filtergruppen är aktiverad'; +$messages['setdeactivated'] = 'Filtergruppen är deaktiverad'; +$messages['setdeleted'] = 'Filtergruppen är borttagen'; +$messages['setdeleteconfirm'] = 'Vill du ta bort filtergruppen?'; +$messages['setcreateerror'] = 'Filtergruppen kunde inte läggas till på grund av serverfel'; +$messages['setcreated'] = 'Filtergruppen har lagts till'; +$messages['activateerror'] = 'Kunde inte aktivera filter på grund av serverfel.'; +$messages['deactivateerror'] = 'Kunde inte deaktivera filter på grund av serverfel.'; +$messages['deactivated'] = 'Filter aktiverat.'; +$messages['activated'] = 'Filter deaktiverat.'; +$messages['moved'] = 'Filter flyttat.'; +$messages['moveerror'] = 'Kunde inte flytta filter på grund av serverfel.'; +$messages['nametoolong'] = 'För långt namn.'; +$messages['namereserved'] = 'Reserverat namn.'; +$messages['setexist'] = 'Filtergrupp finns redan.'; +$messages['nodata'] = 'Minst en position måste väljas!'; +$messages['invaliddateformat'] = 'Ogiltigt datum eller del av datumformat'; +$messages['saveerror'] = 'Datan kunde inte sparas på grund av serverfel.'; +$messages['vacationsaved'] = 'Frånvarodatan har sparats.'; +$messages['emptyvacationbody'] = 'Text för frånvaromeddelande saknas!'; +?> diff --git a/plugins/managesieve/localization/th_TH.inc b/plugins/managesieve/localization/th_TH.inc new file mode 100644 index 000000000..c2d041cfe --- /dev/null +++ b/plugins/managesieve/localization/th_TH.inc @@ -0,0 +1,45 @@ +<?php + +/* + +-----------------------------------------------------------------------+ + | plugins/managesieve/localization/<lang>.inc | + | | + | Localization file of the Roundcube Webmail Managesieve 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-managesieve/ +*/ +$labels['filters'] = 'ตัวกรองข้อมูล'; +$labels['filtername'] = 'ชื่อตัวกรองข้อมูล'; +$labels['newfilter'] = 'สร้างตัวกรองข้อมูลใหม่'; +$labels['filteradd'] = 'เพิ่มตัวกรองข้อมูล'; +$labels['filterdel'] = 'ลบตัวกรองข้อมูล'; +$labels['moveup'] = 'เลื่อนขึ้น'; +$labels['movedown'] = 'เลื่อนลง'; +$labels['filterany'] = 'ข้อความทั้งหมด'; +$labels['filtercontains'] = 'ที่มีคำว่า'; +$labels['filternotcontains'] = 'ไม่มีคำว่า'; +$labels['filteris'] = 'ที่มีค่าเท่ากับ'; +$labels['filterisnot'] = 'ที่มีค่าไม่เท่ากับ'; +$labels['addrule'] = 'เพิ่มกฏ'; +$labels['delrule'] = 'ลบกฏ'; +$labels['messagemoveto'] = 'ย้ายข้อความไปที่'; +$labels['messageredirect'] = 'เปลียนเส้นทางข้อความไปที่'; +$labels['messagecopyto'] = 'คัดลอกข้อความไปที่'; +$labels['messagesendcopy'] = 'ส่งข้อความคัดลอกไปที่'; +$labels['messagedelete'] = 'ลบข้อความ'; +$labels['messagediscard'] = 'ยกเลิกข้อความ'; +$labels['messagesrules'] = 'สำหรับอีเมลขาเข้า:'; +$labels['add'] = 'เพิ่ม'; +$labels['del'] = 'ลบ'; +$labels['sender'] = 'ผู้ส่ง'; +$labels['recipient'] = 'ผู้รับ'; +$labels['vacationsubject'] = 'หัวเรื่องข้อความ:'; +$labels['enable'] = 'เปิดใช้งาน/ปิดใช้งาน'; +?> diff --git a/plugins/managesieve/localization/tr_TR.inc b/plugins/managesieve/localization/tr_TR.inc new file mode 100644 index 000000000..c61838690 --- /dev/null +++ b/plugins/managesieve/localization/tr_TR.inc @@ -0,0 +1,224 @@ +<?php + +/* + +-----------------------------------------------------------------------+ + | plugins/managesieve/localization/<lang>.inc | + | | + | Localization file of the Roundcube Webmail Managesieve 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-managesieve/ +*/ +$labels['filters'] = 'Filtreler'; +$labels['managefilters'] = 'Gelen e-posta filtrelerini yönet'; +$labels['filtername'] = 'Filtre adı'; +$labels['newfilter'] = 'Yeni filtre'; +$labels['filteradd'] = 'Filtre ekle'; +$labels['filterdel'] = 'Filtre Sil'; +$labels['moveup'] = 'Yukarı taşı'; +$labels['movedown'] = 'Aşağı taşı'; +$labels['filterallof'] = 'Aşağıdaki kuralların hepsine uyan'; +$labels['filteranyof'] = 'Aşağıdaki kuralların herhangi birine uyan'; +$labels['filterany'] = 'Tüm mesajlar'; +$labels['filtercontains'] = 'içeren'; +$labels['filternotcontains'] = 'içermeyen'; +$labels['filteris'] = 'eşittir'; +$labels['filterisnot'] = 'eşit değildir'; +$labels['filterexists'] = 'mevcut'; +$labels['filternotexists'] = 'mevcut değil'; +$labels['filtermatches'] = 'ifadeye uyan'; +$labels['filternotmatches'] = 'ifadeye uymayan'; +$labels['filterregex'] = 'düzenli ifadeye uyan'; +$labels['filternotregex'] = 'düzenli ifadeye uymayan'; +$labels['filterunder'] = 'altında'; +$labels['filterover'] = 'üzerinde'; +$labels['addrule'] = 'Kural ekle'; +$labels['delrule'] = 'Kuralı sil'; +$labels['messagemoveto'] = 'mesajı taşı'; +$labels['messageredirect'] = 'mesajı yönlendir'; +$labels['messagecopyto'] = 'Mesajı kopyala'; +$labels['messagesendcopy'] = 'mesajın kopyasını gönder'; +$labels['messagereply'] = 'mesajla birlikte cevap ver'; +$labels['messagedelete'] = 'Mesajı sil'; +$labels['messagediscard'] = 'mesajı yok say'; +$labels['messagekeep'] = 'Mesajı Gelen Kutusunda tut.'; +$labels['messagesrules'] = 'Gelen e-postalar için:'; +$labels['messagesactions'] = '... aşağıdaki aksiyonları çalıştır:'; +$labels['add'] = 'Ekle'; +$labels['del'] = 'Sil'; +$labels['sender'] = 'Gönderici'; +$labels['recipient'] = 'Alıcı'; +$labels['vacationaddr'] = 'Ek e-posta adres(ler)im:'; +$labels['vacationdays'] = 'Ne sıklıkla mesajlar gönderilir(gün)'; +$labels['vacationinterval'] = 'Ne kadar sıklıkla mesaj gönderirsiniz:'; +$labels['vacationreason'] = 'Mesaj gövdesi(tatil sebebi):'; +$labels['vacationsubject'] = 'Mesaj konusu:'; +$labels['days'] = 'günler'; +$labels['seconds'] = 'saniyeler'; +$labels['rulestop'] = 'Kuralları değerlendirmeyi bitir'; +$labels['enable'] = 'Etkinleştir/Etkisiz Kıl'; +$labels['filterset'] = 'Filtre seti'; +$labels['filtersets'] = 'Filtre setleri'; +$labels['filtersetadd'] = 'Filtre seti ekle'; +$labels['filtersetdel'] = 'Mevcut filtre setini sil'; +$labels['filtersetact'] = 'Mevcut filtre setini etkinleştir'; +$labels['filtersetdeact'] = 'Mevcut filtre setini etkinsizleştir'; +$labels['filterdef'] = 'Filtre tanımı'; +$labels['filtersetname'] = 'Filtre seti adı'; +$labels['newfilterset'] = 'Yeni filtre seti'; +$labels['active'] = 'etkin'; +$labels['none'] = 'hiçbiri'; +$labels['fromset'] = 'gönderici seti'; +$labels['fromfile'] = 'gönderici dosya'; +$labels['filterdisabled'] = 'Filtre iptal edildi'; +$labels['countisgreaterthan'] = 'toplamı büyük'; +$labels['countisgreaterthanequal'] = 'toplamı büyük veya eşit'; +$labels['countislessthan'] = 'toplamı az'; +$labels['countislessthanequal'] = 'toplamı daha az veya eşit'; +$labels['countequals'] = 'toplamı eşit'; +$labels['countnotequals'] = 'toplamı eşit değil'; +$labels['valueisgreaterthan'] = 'değeri büyük'; +$labels['valueisgreaterthanequal'] = 'değeri büyük veya eşit'; +$labels['valueislessthan'] = 'değer az'; +$labels['valueislessthanequal'] = 'değer daha az veya eşit'; +$labels['valueequals'] = 'değer eşit'; +$labels['valuenotequals'] = 'değer eşit değil'; +$labels['setflags'] = 'bayrakları mesaja set et'; +$labels['addflags'] = 'Bayrakları mesaja ekle'; +$labels['removeflags'] = 'Bayrakları mesajdan sil'; +$labels['flagread'] = 'Oku'; +$labels['flagdeleted'] = 'Silindi'; +$labels['flaganswered'] = 'Cevaplanmış'; +$labels['flagflagged'] = 'İşaretli'; +$labels['flagdraft'] = 'Taslak'; +$labels['setvariable'] = 'Değişken tanımla'; +$labels['setvarname'] = 'Değişken adı:'; +$labels['setvarvalue'] = 'Değişken değeri:'; +$labels['setvarmodifiers'] = 'Değiştiriciler:'; +$labels['varlower'] = 'küçük harf'; +$labels['varupper'] = 'büyük harf'; +$labels['varlowerfirst'] = 'İlk karakter küçük harf'; +$labels['varupperfirst'] = 'İlk karakter büyük harf'; +$labels['varquotewildcard'] = 'özel karakterleri tırnak içine al'; +$labels['varlength'] = 'uzunluk'; +$labels['notify'] = 'Bildirim gönder'; +$labels['notifytarget'] = 'Bildirim hedefi:'; +$labels['notifymessage'] = 'Bildirim mesajı (tercihe bağlı):'; +$labels['notifyoptions'] = 'Bildirim tercihleri (tercihe bağlı):'; +$labels['notifyfrom'] = 'Bildirim göndericisi (tercihe bağlı):'; +$labels['notifyimportance'] = 'Önem derecesi:'; +$labels['notifyimportancelow'] = 'düşük'; +$labels['notifyimportancenormal'] = 'normal'; +$labels['notifyimportancehigh'] = 'yüksek'; +$labels['notifymethodmailto'] = 'E-posta'; +$labels['notifymethodtel'] = 'Telefon'; +$labels['notifymethodsms'] = 'SMS'; +$labels['filtercreate'] = 'Süzgeç oluştur'; +$labels['usedata'] = 'Aşağıdaki verileri süzgeçte kullan'; +$labels['nextstep'] = 'Sonraki adım'; +$labels['...'] = '...'; +$labels['currdate'] = 'Mevcut tarih'; +$labels['datetest'] = 'Tarih'; +$labels['dateheader'] = 'Başlık'; +$labels['year'] = 'yıl'; +$labels['month'] = 'ay'; +$labels['day'] = 'gün'; +$labels['date'] = 'tarih (yyyy-aa-gg)'; +$labels['julian'] = 'tarih (julian)'; +$labels['hour'] = 'saat'; +$labels['minute'] = 'dakika'; +$labels['second'] = 'saniye'; +$labels['time'] = 'saat (ss:dd:ss)'; +$labels['iso8601'] = 'tarih (ISO8601)'; +$labels['std11'] = 'tarih (RFC2822)'; +$labels['zone'] = 'saat-dilimi'; +$labels['weekday'] = 'Hafta günleri (0-6)'; +$labels['advancedopts'] = 'Gelişmiş seçenekler'; +$labels['body'] = 'Gövde'; +$labels['address'] = 'adres'; +$labels['envelope'] = 'zarf'; +$labels['modifier'] = 'değiştirici'; +$labels['text'] = 'metin'; +$labels['undecoded'] = 'çözülmemiş(ham)'; +$labels['contenttype'] = 'içerik türü'; +$labels['modtype'] = 'tip:'; +$labels['allparts'] = 'hepsi'; +$labels['domain'] = 'alan adı'; +$labels['localpart'] = 'yerel parça'; +$labels['user'] = 'kullanıcı'; +$labels['detail'] = 'detay'; +$labels['comparator'] = 'karşılaştırıcı'; +$labels['default'] = 'öntanımlı'; +$labels['octet'] = 'sıkı(oktet)'; +$labels['asciicasemap'] = 'büyük küçük harf duyarsız(ascii-casemap)'; +$labels['asciinumeric'] = 'sayı (ascii-numeric)'; +$labels['index'] = 'indeks:'; +$labels['indexlast'] = 'geriye yönelik'; +$labels['vacation'] = 'Tatil'; +$labels['vacation.reply'] = 'Cevap mesajı'; +$labels['vacation.advanced'] = 'Gelişmiş seçenekler'; +$labels['vacation.subject'] = 'Konu'; +$labels['vacation.body'] = 'Gövde'; +$labels['vacation.start'] = 'Tatil başlangıcı'; +$labels['vacation.end'] = 'Tatil bitişi'; +$labels['vacation.status'] = 'Durum'; +$labels['vacation.on'] = 'Etkin'; +$labels['vacation.off'] = 'Devre dışı'; +$labels['vacation.addresses'] = 'Ek adresler'; +$labels['vacation.interval'] = 'Cevap aralığı'; +$labels['vacation.after'] = 'Şundan sonra tatil kuralı koy'; +$labels['vacation.saving'] = 'Veri kaydediliyor...'; +$labels['vacation.action'] = 'Gelen mesaj aksiyonu'; +$labels['vacation.keep'] = 'Koru'; +$labels['vacation.discard'] = 'Yoksay'; +$labels['vacation.redirect'] = 'Şuraya yönlendir'; +$labels['vacation.copy'] = 'Şuraya kopya gönder'; +$labels['arialabelfiltersetactions'] = 'Filtre seti aksiyonları'; +$labels['arialabelfilteractions'] = 'Filtre aksiyonları'; +$labels['arialabelfilterform'] = 'Filtre özellikleri'; +$labels['ariasummaryfilterslist'] = 'Filtre listesi'; +$labels['ariasummaryfiltersetslist'] = 'Filtre seti listesi'; +$labels['filterstitle'] = 'Gelen e-posta filtrelerini düzenle'; +$labels['vacationtitle'] = 'Ofis dışında kuralını düzenle'; +$messages['filterunknownerror'] = 'Bilinmeyen sunucu hatası.'; +$messages['filterconnerror'] = 'Sunucuya bağlanamıyor.'; +$messages['filterdeleteerror'] = 'Filtre silinemedi. Sunucuda hata oluştu.'; +$messages['filterdeleted'] = 'Filtre başarıyla silindi.'; +$messages['filtersaved'] = 'Filtre başarıyla kaydedildi.'; +$messages['filtersaveerror'] = 'Filtre kaydedilemedi. Sunucuda hata oluştu.'; +$messages['filterdeleteconfirm'] = 'Seçilen filtreleri gerçekten silmek istiyor musun?'; +$messages['ruledeleteconfirm'] = 'Seçili kuralları silmek istediğinizden emin misiniz?'; +$messages['actiondeleteconfirm'] = 'Seçili aksiyonları silmek istediğinizden emin misiniz?'; +$messages['forbiddenchars'] = 'Alanda izin verilmeyen karakterler var.'; +$messages['cannotbeempty'] = 'Alan boş olmaz'; +$messages['ruleexist'] = 'Belirtilen isimde bir filtre zaten var.'; +$messages['setactivateerror'] = 'Seçilen filtreler etkinleştirilemedi. Sunucuda hata oluştu.'; +$messages['setdeactivateerror'] = 'Seçilen filtreler pasifleştirilemedi. Sunucuda hata oluştu.'; +$messages['setdeleteerror'] = 'Seçilen filtreler silinemedi. Sunucuda hata oluştu.'; +$messages['setactivated'] = 'Filtreler başarıyla etkinleştirilemedi.'; +$messages['setdeactivated'] = 'Filtreler başarıyla pasifleştirildi.'; +$messages['setdeleted'] = 'Filtre seti başarıyla silindi.'; +$messages['setdeleteconfirm'] = 'Seçilen filtre setlerini silmek istediğinizden emin misiniz?'; +$messages['setcreateerror'] = 'Filtre setleri oluşturulamadı. Sunucuda hata oluştu.'; +$messages['setcreated'] = 'Filtre setleri başarıyla oluşturuldu.'; +$messages['activateerror'] = 'Seçilen filtre(ler) etkinleştirilemedi. Sunucuda hata oluştu.'; +$messages['deactivateerror'] = 'Seçilen filtre(ler) pasifleştirilemedi. Sunucuda hata oluştu.'; +$messages['deactivated'] = 'Filtre(ler) başarıyla etkinleştirildi.'; +$messages['activated'] = 'Filtre(ler) başarıyla iptal edildi.'; +$messages['moved'] = 'Filtre başarıyla taşındı.'; +$messages['moveerror'] = 'Seçilen filtre taşınamadı. Sunucuda hata oluştu.'; +$messages['nametoolong'] = 'İsim çok uzun.'; +$messages['namereserved'] = 'rezerve edilmiş isim.'; +$messages['setexist'] = 'Set zaten var.'; +$messages['nodata'] = 'En az bir pozisyon seçilmelidir.'; +$messages['invaliddateformat'] = 'geçersiz tarih veya tarih biçimi'; +$messages['saveerror'] = 'Veri kaydedilemedi. Sunucuda hata oluştu.'; +$messages['vacationsaved'] = 'Tatil verisi başarıyla kaydedildi.'; +$messages['emptyvacationbody'] = 'Tatil mesajı metni gerekmektedir.'; +?> diff --git a/plugins/managesieve/localization/uk_UA.inc b/plugins/managesieve/localization/uk_UA.inc new file mode 100644 index 000000000..fce7867a6 --- /dev/null +++ b/plugins/managesieve/localization/uk_UA.inc @@ -0,0 +1,140 @@ +<?php + +/* + +-----------------------------------------------------------------------+ + | plugins/managesieve/localization/<lang>.inc | + | | + | Localization file of the Roundcube Webmail Managesieve 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-managesieve/ +*/ +$labels['filters'] = 'Фільтри'; +$labels['managefilters'] = 'Керування фільтрами вхідної пошти'; +$labels['filtername'] = 'Назва фільтру'; +$labels['newfilter'] = 'Новий фільтр'; +$labels['filteradd'] = 'Додати фільтр'; +$labels['filterdel'] = 'Видалити фільтр'; +$labels['moveup'] = 'Пересунути вгору'; +$labels['movedown'] = 'Пересунути вниз'; +$labels['filterallof'] = 'задовольняє усім наступним умовам'; +$labels['filteranyof'] = 'задовольняє будь-якій з умов'; +$labels['filterany'] = 'всі повідомлення'; +$labels['filtercontains'] = 'містить'; +$labels['filternotcontains'] = 'не містить'; +$labels['filteris'] = 'ідентичний до'; +$labels['filterisnot'] = 'не ідентичний до'; +$labels['filterexists'] = 'існує'; +$labels['filternotexists'] = 'не існує'; +$labels['filterunder'] = 'менше, ніж'; +$labels['filterover'] = 'більше, ніж'; +$labels['addrule'] = 'Додати правило'; +$labels['delrule'] = 'Видалити правило'; +$labels['messagemoveto'] = 'Пересунути повідомлення до'; +$labels['messageredirect'] = 'Перенаправити повідомлення до'; +$labels['messagecopyto'] = 'Копіювати листа до'; +$labels['messagesendcopy'] = 'Надсилати копію листа на'; +$labels['messagereply'] = 'Автовідповідач'; +$labels['messagedelete'] = 'Видалити повідомлення'; +$labels['messagediscard'] = 'Відхилити з повідомленням'; +$labels['messagekeep'] = 'Залишити лист у Вхідних'; +$labels['messagesrules'] = 'Для вхідної пошти'; +$labels['messagesactions'] = '... виконати дію:'; +$labels['add'] = 'Додати'; +$labels['del'] = 'Видалити'; +$labels['sender'] = 'Відправник'; +$labels['recipient'] = 'Отримувач'; +$labels['vacationaddr'] = 'Додаткова адреса(и):'; +$labels['vacationdays'] = 'Як часто повторювати (у днях):'; +$labels['vacationreason'] = 'Текст повідомлення:'; +$labels['vacationsubject'] = 'Тема листа:'; +$labels['days'] = 'днів'; +$labels['seconds'] = 'секунд'; +$labels['rulestop'] = 'Зупинити перевірку правил'; +$labels['enable'] = 'Увімкнути/Вимкнуни'; +$labels['filterset'] = 'Набір фільтрів'; +$labels['filtersetadd'] = 'Додати набір фільтрів'; +$labels['filtersetdel'] = 'Видалити поточний набір'; +$labels['filtersetact'] = 'Активувати поточний набір'; +$labels['filterdef'] = 'Параметри фільтру'; +$labels['filtersetname'] = 'Назва набору фільтрів'; +$labels['newfilterset'] = 'Новий набір фільтрів'; +$labels['active'] = 'активний'; +$labels['none'] = 'нічого'; +$labels['fromset'] = 'з набору'; +$labels['fromfile'] = 'з файлу'; +$labels['filterdisabled'] = 'Фільтр вимкнено'; +$labels['countisgreaterthan'] = 'лічильник більший за'; +$labels['countisgreaterthanequal'] = 'лічильник більший або рівний '; +$labels['countislessthan'] = 'лічильник менший'; +$labels['countislessthanequal'] = 'льчильник менший або рівний'; +$labels['countequals'] = 'лічильник рівний'; +$labels['countnotequals'] = 'лічильник рівний'; +$labels['valueisgreaterthan'] = 'значення більше за'; +$labels['valueisgreaterthanequal'] = 'значення більше або рівне'; +$labels['valueislessthan'] = 'значення менше за'; +$labels['valueislessthanequal'] = 'значення менше або рівне'; +$labels['valueequals'] = 'значення рівне'; +$labels['valuenotequals'] = 'значення не рівне'; +$labels['flagdraft'] = 'Чернетка'; +$labels['setvariable'] = 'Встановити змінну'; +$labels['setvarname'] = 'Назва змінної:'; +$labels['setvarvalue'] = 'Значення змінної:'; +$labels['setvarmodifiers'] = 'Модифікатори:'; +$labels['varlower'] = 'нижній регістр'; +$labels['varupper'] = 'верхній регістр'; +$labels['varlowerfirst'] = 'перший символ в нижньому регістрі'; +$labels['varupperfirst'] = 'перший символ в верхньому регістрі'; +$labels['varlength'] = 'довжина'; +$labels['notify'] = 'Надсилати сповіщення'; +$labels['filtercreate'] = 'Створити фільтр'; +$labels['nextstep'] = 'Наступний крок'; +$labels['...'] = '...'; +$labels['currdate'] = 'Поточна дата'; +$labels['datetest'] = 'Дата'; +$labels['dateheader'] = 'шапка:'; +$labels['year'] = 'рік'; +$labels['month'] = 'місяць'; +$labels['day'] = 'день'; +$labels['date'] = 'дата (рррр-мм-дд)'; +$labels['hour'] = 'година'; +$labels['minute'] = 'хвилина'; +$labels['second'] = 'секунда'; +$labels['time'] = 'час (гг:хх:сс)'; +$labels['iso8601'] = 'дата (ISO8601)'; +$labels['std11'] = 'дата (RFC2822)'; +$labels['zone'] = 'часовий пояс'; +$labels['advancedopts'] = 'Розширені параметри'; +$labels['body'] = 'Тіло'; +$labels['address'] = 'адреса'; +$labels['text'] = 'текст'; +$labels['modtype'] = 'тип:'; +$labels['allparts'] = 'все'; +$labels['domain'] = 'домен'; +$labels['localpart'] = 'локальна частина'; +$labels['user'] = 'користувач'; +$labels['detail'] = 'деталь'; +$labels['default'] = 'типово'; +$labels['index'] = 'індекс:'; +$messages['filterunknownerror'] = 'Невідома помилка сервера'; +$messages['filterconnerror'] = 'Неможливо з\'єднатися з сервером'; +$messages['filterdeleted'] = 'Фільтр успішно видалено'; +$messages['filtersaved'] = 'Фільтр успішно збережено'; +$messages['filterdeleteconfirm'] = 'Ви дійсно хочете видалити обраний фільтр?'; +$messages['ruledeleteconfirm'] = 'Ви дійсно хочете видалити обране правило?'; +$messages['actiondeleteconfirm'] = 'Ви дійсно хочете видалити обрану дію?'; +$messages['forbiddenchars'] = 'Введено заборонений символ'; +$messages['cannotbeempty'] = 'Поле не може бути пустим'; +$messages['setactivated'] = 'Набір фільтрів активовано успішно'; +$messages['setdeleted'] = 'Набір фільтрів видалено успішно'; +$messages['setdeleteconfirm'] = 'Ви впевнені, що хочете видалити обраний набір?'; +$messages['setcreated'] = 'Набір фільтрів створено успішно'; +$messages['moveerror'] = 'Неможливо перемістити обраний фільтр. Помилка сервера.'; +$messages['nametoolong'] = 'Не вдалося створити набір. Занадто довга назва'; +?> diff --git a/plugins/managesieve/localization/vi_VN.inc b/plugins/managesieve/localization/vi_VN.inc new file mode 100644 index 000000000..d22ff7e91 --- /dev/null +++ b/plugins/managesieve/localization/vi_VN.inc @@ -0,0 +1,209 @@ +<?php + +/* + +-----------------------------------------------------------------------+ + | plugins/managesieve/localization/<lang>.inc | + | | + | Localization file of the Roundcube Webmail Managesieve 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-managesieve/ +*/ +$labels['filters'] = 'Bộ lọc'; +$labels['managefilters'] = 'Quản lý bộ lọc thư đến'; +$labels['filtername'] = 'Lọc tên'; +$labels['newfilter'] = 'Bộ lọc mới'; +$labels['filteradd'] = 'Thêm bộ lọc'; +$labels['filterdel'] = 'Xóa bộ lọc'; +$labels['moveup'] = 'Chuyển lên'; +$labels['movedown'] = 'Chuyển xuống'; +$labels['filterallof'] = 'Phù hợp với tất cả các qui luật sau đây'; +$labels['filteranyof'] = 'Phù hợp với bất kỳ qui luật nào sau đây'; +$labels['filterany'] = 'Tất cả tin nhắn'; +$labels['filtercontains'] = 'Bao gồm'; +$labels['filternotcontains'] = 'Không bao gồm'; +$labels['filteris'] = 'Bằng với'; +$labels['filterisnot'] = 'Không bằng với'; +$labels['filterexists'] = 'Tồn tại'; +$labels['filternotexists'] = 'Không tồn tại'; +$labels['filtermatches'] = 'Tương ứng với cách diễn đạt'; +$labels['filternotmatches'] = 'Không tương ứng với cách diễn đạt'; +$labels['filterregex'] = 'Tương ứng với cách diễn đạt thông thường'; +$labels['filternotregex'] = 'Không phù hợp với cách diễn đạt thông thường'; +$labels['filterunder'] = 'Dưới'; +$labels['filterover'] = 'Hơn'; +$labels['addrule'] = 'Thêm qui luật'; +$labels['delrule'] = 'Xóa qui luật'; +$labels['messagemoveto'] = 'Chuyển tin nhắn tới'; +$labels['messageredirect'] = 'Gửi lại tin nhắn tới'; +$labels['messagecopyto'] = 'Sao chép tin nhắn tới'; +$labels['messagesendcopy'] = 'Gửi bản sao chép tin nhắn tới'; +$labels['messagereply'] = 'Trả lời tin nhắn'; +$labels['messagedelete'] = 'Xóa thư'; +$labels['messagediscard'] = 'Loại bỏ với tin nhắn'; +$labels['messagekeep'] = 'Giữ thư ở Hộp thư chính'; +$labels['messagesrules'] = 'Với thư đến'; +$labels['messagesactions'] = 'Thực hiện các hành động sau:'; +$labels['add'] = 'Thêm'; +$labels['del'] = 'Xoá'; +$labels['sender'] = 'Người gửi'; +$labels['recipient'] = 'Người nhận'; +$labels['vacationaddr'] = '(Các) Địa chỉ email bổ sung của tôi:'; +$labels['vacationdays'] = 'Số lần gửi thư (trong ngày)'; +$labels['vacationinterval'] = 'Tần suất gửi thư:'; +$labels['vacationreason'] = 'Nội dung chính'; +$labels['vacationsubject'] = 'Tiêu đề thư'; +$labels['days'] = 'ngày'; +$labels['seconds'] = 'giây'; +$labels['rulestop'] = 'Ngừng đánh giá qui luật'; +$labels['enable'] = 'Kích hoạt/Không kích hoạt'; +$labels['filterset'] = 'Đặt các bộ lọc'; +$labels['filtersets'] = 'Thiết lập bộ lọc'; +$labels['filtersetadd'] = 'Thêm bộ lọc'; +$labels['filtersetdel'] = 'Xóa bộ lọc hiện tại'; +$labels['filtersetact'] = 'Kích hoạt bộ lọc hiện tại'; +$labels['filtersetdeact'] = 'Ngừng kích hoạt bộ lọc hiện tai'; +$labels['filterdef'] = 'Định nghĩa bộ lọc'; +$labels['filtersetname'] = 'Tên bộ lọc'; +$labels['newfilterset'] = 'Thiết lập bộ lọc mới'; +$labels['active'] = 'Kích hoạt'; +$labels['none'] = 'Không có'; +$labels['fromset'] = 'Từ thiết lập'; +$labels['fromfile'] = 'Từ hồ sơ'; +$labels['filterdisabled'] = 'Bộ lọc được ngừng hoạt động'; +$labels['countisgreaterthan'] = 'Đếm lớn hơn'; +$labels['countisgreaterthanequal'] = 'Đếm lớn hơn hoặc bằng'; +$labels['countislessthan'] = 'Đếm ít hơn'; +$labels['countislessthanequal'] = 'Đếm ít hơn hoặc bằng'; +$labels['countequals'] = 'Đếm bằng'; +$labels['countnotequals'] = 'đếm không bằng với'; +$labels['valueisgreaterthan'] = 'Giá trị lớn hơn'; +$labels['valueisgreaterthanequal'] = 'Giá trị lớn hơn hoặc bằng'; +$labels['valueislessthan'] = 'Giá trị nhỏ hơn'; +$labels['valueislessthanequal'] = 'Giá trị nhỏ hơn hoặc bằng'; +$labels['valueequals'] = 'Giá trị bằng'; +$labels['valuenotequals'] = 'giá trị không bằng với'; +$labels['setflags'] = 'Thiết lập đánh dấu cho thư'; +$labels['addflags'] = 'Thêm đánh dấu cho thư'; +$labels['removeflags'] = 'Bỏ đánh dấu khỏi thư'; +$labels['flagread'] = 'Đọc'; +$labels['flagdeleted'] = 'Đã được xóa'; +$labels['flaganswered'] = 'Đã trả lời'; +$labels['flagflagged'] = 'Đã đánh dấu'; +$labels['flagdraft'] = 'Nháp'; +$labels['setvariable'] = 'Đặt biến'; +$labels['setvarname'] = 'Tên biến:'; +$labels['setvarvalue'] = 'Giá trị biến:'; +$labels['setvarmodifiers'] = 'Bộ chia:'; +$labels['varlower'] = 'viết thường'; +$labels['varupper'] = 'viết hoa'; +$labels['varlowerfirst'] = 'chữ cái đầu viết thường'; +$labels['varupperfirst'] = 'chữ cái đầu viết hoa'; +$labels['varquotewildcard'] = 'trích dẫn ký tự đặc biệt'; +$labels['varlength'] = 'độ dài'; +$labels['notify'] = 'Gửi thông báo'; +$labels['notifytarget'] = 'Mục tiêu thông báo:'; +$labels['notifymessage'] = 'Nội dung thông báo (tuỳ chọn):'; +$labels['notifyoptions'] = 'Lựa chọn thông báo (tuỳ chọn):'; +$labels['notifyfrom'] = 'Người gửi thông báo (tuỳ chọn):'; +$labels['notifyimportance'] = 'Mức độ quan trọng:'; +$labels['notifyimportancelow'] = 'thấp'; +$labels['notifyimportancenormal'] = 'vừa phải'; +$labels['notifyimportancehigh'] = 'cao'; +$labels['notifymethodmailto'] = 'Thư điện tử'; +$labels['notifymethodtel'] = 'Điện thoại'; +$labels['notifymethodsms'] = 'Tin nhắn'; +$labels['filtercreate'] = 'Tạo bộ lọc'; +$labels['usedata'] = 'Dùng dữ liệu trong bộ lọc sau:'; +$labels['nextstep'] = 'Bước tiếp theo'; +$labels['...'] = '…'; +$labels['currdate'] = 'Ngày hiện tại'; +$labels['datetest'] = 'Ngày'; +$labels['dateheader'] = 'tiêu đề:'; +$labels['year'] = 'năm'; +$labels['month'] = 'tháng'; +$labels['day'] = 'ngày'; +$labels['date'] = 'ngày (cú pháp: năm-tháng-ngày)'; +$labels['julian'] = 'ngày (theo kiểu Julian)'; +$labels['hour'] = 'giờ'; +$labels['minute'] = 'phút'; +$labels['second'] = 'giây'; +$labels['time'] = 'giờ (cú pháp: giờ:phút:giây)'; +$labels['iso8601'] = 'ngày (theo chuẩn ISO 8601)'; +$labels['std11'] = 'ngày (theo chuẩn RFC 2822)'; +$labels['zone'] = 'vùng thời gian'; +$labels['weekday'] = 'ngày trog tuần (0-6)'; +$labels['advancedopts'] = 'Tùy chọn tính năng cao hơn'; +$labels['body'] = 'Nội dung'; +$labels['address'] = 'Địa chỉ'; +$labels['envelope'] = 'Phong bì'; +$labels['modifier'] = 'Bổ nghĩa'; +$labels['text'] = 'Văn bản'; +$labels['undecoded'] = 'Chưa được giải mã (nguyên bản)'; +$labels['contenttype'] = 'Kiểu mẫu nội dung'; +$labels['modtype'] = 'Kiểu:'; +$labels['allparts'] = 'Tất cả'; +$labels['domain'] = 'Phạm vi'; +$labels['localpart'] = 'Phần nội bộ'; +$labels['user'] = 'Người dùng'; +$labels['detail'] = 'Chi tiết'; +$labels['comparator'] = 'Vật so sánh'; +$labels['default'] = 'Mặc định'; +$labels['octet'] = 'Khắt khe'; +$labels['asciicasemap'] = 'Không phân biệt chữ hoa chữ thường'; +$labels['asciinumeric'] = 'Bảng mã ASCII'; +$labels['index'] = 'chỉ mục:'; +$labels['indexlast'] = 'ngược'; +$labels['vacation'] = 'Thiết lập tự động trả lời trong kỳ nghỉ'; +$labels['vacation.reply'] = 'Trả lời thư'; +$labels['vacation.advanced'] = 'Tùy chọn tính năng cao hơn'; +$labels['vacation.subject'] = 'Tiêu đề'; +$labels['vacation.body'] = 'Nội dung thư'; +$labels['vacation.status'] = 'Trạng thái'; +$labels['vacation.on'] = 'Bật'; +$labels['vacation.off'] = 'Tắt'; +$labels['vacation.addresses'] = 'Các địa chỉ bổ sung của tôi'; +$labels['vacation.interval'] = 'Khoảng thời gian trả lời'; +$labels['vacation.after'] = 'Đặt quy định kỳ nghỉ sau'; +$labels['vacation.saving'] = 'Lưu lại dữ liệu...'; +$messages['filterunknownerror'] = 'Không tìm được lỗi máy chủ'; +$messages['filterconnerror'] = 'Không kết nối được với máy chủ.'; +$messages['filterdeleteerror'] = 'Không thể xóa bộ lọc. Xuất hiện lỗi ở máy chủ'; +$messages['filterdeleted'] = 'Xóa bộ lọc thành công'; +$messages['filtersaved'] = 'Lưu bộ lọc thành công'; +$messages['filtersaveerror'] = 'Không thể lưu bộ lọc. Xuất hiện lỗi ở máy chủ'; +$messages['filterdeleteconfirm'] = 'Bạn có thực sự muốn xóa bộ lọc được chọn?'; +$messages['ruledeleteconfirm'] = 'Bạn có chắc chắn muốn xóa qui luật được chọn?'; +$messages['actiondeleteconfirm'] = 'Bạn có chắc chắn muốn xóa hành động được chọn?'; +$messages['forbiddenchars'] = 'Ký tự bị cấm trong ô'; +$messages['cannotbeempty'] = 'Ô không thể bị bỏ trống'; +$messages['ruleexist'] = 'Đã tồn tại bộ lọc với tên cụ thế'; +$messages['setactivateerror'] = 'Không thể kích hoạt bộ lọc được lựa chọn. Xuất hiện lỗi ở máy chủ'; +$messages['setdeactivateerror'] = 'Không thể tắt bộ lọc được lựa chọn. Xuất hiện lỗi ở máy chủ'; +$messages['setdeleteerror'] = 'Không thể xóa bộ lọc được lựa chọn. Xuất hiện lỗi ở máy chủ.'; +$messages['setactivated'] = 'Bộ lọc được khởi động thành công'; +$messages['setdeactivated'] = 'Ngừng kích hoạt bộ lọc thành công'; +$messages['setdeleted'] = 'Xóa bộ lọc thành công'; +$messages['setdeleteconfirm'] = 'Bạn có chắc bạn muốn xóa thiết lập bộ lọc được chọn?'; +$messages['setcreateerror'] = 'Không thể tạo thiết lập bộ lọc. Có lỗi xuất hiện ở máy chủ'; +$messages['setcreated'] = 'Thiết lập bộ lọc được tạo thành công'; +$messages['activateerror'] = 'Không thể khởi động (các) bộ lọc được chọn. Có lỗi xuất hiện ở máy chủ'; +$messages['deactivateerror'] = 'Không thể tắt (các) bộ lọc đã chọn. Có lỗi xuất hiện ở máy chủ'; +$messages['deactivated'] = 'Bộ lọc được khởi động thành công'; +$messages['activated'] = 'Bộ lọc được tắt thành công'; +$messages['moved'] = 'Bộ lọc được chuyển đi thành công'; +$messages['moveerror'] = 'Không thể chuyển bộ lọc đã chọn. Có lỗi xuất hiện ở máy chủ.'; +$messages['nametoolong'] = 'Tên quá dài'; +$messages['namereserved'] = 'Tên đã được bảo vệ'; +$messages['setexist'] = 'Thiết lập đã tồn tại'; +$messages['nodata'] = 'Ít nhất một vị trí phải được chọn'; +$messages['invaliddateformat'] = 'Lỗi không đúng cú pháp ngày hoặc nhập ngày sai'; +$messages['saveerror'] = 'Không thể lưu trữ dữ liệu. Xuất hiện lỗi ở máy chủ.'; +$messages['vacationsaved'] = 'Thiết lập kỳ nghỉ đã được lưu lại thành công.'; +?> diff --git a/plugins/managesieve/localization/zh_CN.inc b/plugins/managesieve/localization/zh_CN.inc new file mode 100644 index 000000000..a39b3126f --- /dev/null +++ b/plugins/managesieve/localization/zh_CN.inc @@ -0,0 +1,166 @@ +<?php + +/* + +-----------------------------------------------------------------------+ + | plugins/managesieve/localization/<lang>.inc | + | | + | Localization file of the Roundcube Webmail Managesieve 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-managesieve/ +*/ +$labels['filters'] = '过滤器'; +$labels['managefilters'] = '管理邮件过滤规则'; +$labels['filtername'] = '过滤规则名称'; +$labels['newfilter'] = '新建过滤规则'; +$labels['filteradd'] = '添加过滤规则'; +$labels['filterdel'] = '删除过滤规则'; +$labels['moveup'] = '上移'; +$labels['movedown'] = '下移'; +$labels['filterallof'] = '匹配所有规则'; +$labels['filteranyof'] = '匹配任意一条规则'; +$labels['filterany'] = '所有邮件'; +$labels['filtercontains'] = '包含'; +$labels['filternotcontains'] = '不包含'; +$labels['filteris'] = '等于'; +$labels['filterisnot'] = '不等于'; +$labels['filterexists'] = '存在'; +$labels['filternotexists'] = '不存在'; +$labels['filtermatches'] = '匹配表达式'; +$labels['filternotmatches'] = '不匹配表达式'; +$labels['filterregex'] = '匹配正则表达式'; +$labels['filternotregex'] = '不匹配正则表达式'; +$labels['filterunder'] = '小于'; +$labels['filterover'] = '大于'; +$labels['addrule'] = '新建规则'; +$labels['delrule'] = '删除规则'; +$labels['messagemoveto'] = '将邮件移至'; +$labels['messageredirect'] = '将邮件转发至'; +$labels['messagecopyto'] = '复制邮件至'; +$labels['messagesendcopy'] = '发送复制邮件至'; +$labels['messagereply'] = '回复以下内容'; +$labels['messagedelete'] = '删除邮件'; +$labels['messagediscard'] = '舍弃邮件并回复以下内容'; +$labels['messagesrules'] = '对新收取的邮件应用规则:'; +$labels['messagesactions'] = '执行以下操作:'; +$labels['add'] = '添加'; +$labels['del'] = '删除'; +$labels['sender'] = '发件人'; +$labels['recipient'] = '收件人'; +$labels['vacationdays'] = '发送邮件频率(单位:天):'; +$labels['vacationinterval'] = '发送邮件频率:'; +$labels['vacationreason'] = '邮件正文(假期原因)'; +$labels['vacationsubject'] = '邮件主题'; +$labels['days'] = '天'; +$labels['seconds'] = '秒'; +$labels['rulestop'] = '停止评价规则'; +$labels['enable'] = '启用/禁用'; +$labels['filterset'] = '过滤器设置'; +$labels['filtersets'] = '过滤器设置集'; +$labels['filtersetadd'] = '增加过滤器设置集'; +$labels['filtersetdel'] = '删除当前的过滤器设置集'; +$labels['filtersetact'] = '激活当前的过滤器设置集'; +$labels['filtersetdeact'] = '停用当前的过滤器设置集'; +$labels['filterdef'] = '过滤器定义'; +$labels['filtersetname'] = '过滤器集的名称'; +$labels['newfilterset'] = '新的过滤器集'; +$labels['active'] = '启用'; +$labels['none'] = '无'; +$labels['fromset'] = '从设置集'; +$labels['fromfile'] = '从文件'; +$labels['filterdisabled'] = '过滤器已禁用'; +$labels['countisgreaterthan'] = '计数大于'; +$labels['countisgreaterthanequal'] = '计数大于或等于'; +$labels['countislessthan'] = '计数小于'; +$labels['countislessthanequal'] = '计数小于或等于'; +$labels['countequals'] = '计数等于'; +$labels['valueisgreaterthan'] = '值大于'; +$labels['valueisgreaterthanequal'] = '值大于或等于'; +$labels['valueislessthan'] = '值小于'; +$labels['valueislessthanequal'] = '值小于或等于'; +$labels['valueequals'] = '值等于'; +$labels['setflags'] = '设定邮件的标识'; +$labels['addflags'] = '增加邮件的标识'; +$labels['removeflags'] = '删除邮件的标识'; +$labels['flagread'] = '读取'; +$labels['flagdeleted'] = '删除'; +$labels['flaganswered'] = '已答复'; +$labels['flagflagged'] = '已标记'; +$labels['flagdraft'] = '草稿'; +$labels['setvariable'] = '设置变量'; +$labels['setvarname'] = '变量名:'; +$labels['setvarvalue'] = '值:'; +$labels['setvarmodifiers'] = '修改:'; +$labels['varlower'] = '小写'; +$labels['varupper'] = '大写'; +$labels['varlowerfirst'] = '首字母小写'; +$labels['varupperfirst'] = '首字母大写'; +$labels['varquotewildcard'] = '引用特殊字符'; +$labels['varlength'] = '长度'; +$labels['notify'] = '发送通知'; +$labels['notifyimportance'] = '优先级:'; +$labels['notifyimportancelow'] = '低'; +$labels['notifyimportancenormal'] = '中'; +$labels['notifyimportancehigh'] = '高'; +$labels['filtercreate'] = '创建过滤规则'; +$labels['usedata'] = '在过滤器中使用下列数据'; +$labels['nextstep'] = '下一步'; +$labels['...'] = '...'; +$labels['currdate'] = '当前日期'; +$labels['datetest'] = '日期'; +$labels['year'] = '年'; +$labels['month'] = '月'; +$labels['day'] = '天'; +$labels['date'] = '日期 (年-月-日)'; +$labels['hour'] = '小时'; +$labels['minute'] = '分钟'; +$labels['second'] = '秒'; +$labels['zone'] = '时区'; +$labels['advancedopts'] = '高级选项'; +$labels['body'] = '正文'; +$labels['address'] = '地址'; +$labels['envelope'] = '信封'; +$labels['modifier'] = '修饰符:'; +$labels['text'] = '文本'; +$labels['undecoded'] = '未解码(RAW)'; +$labels['contenttype'] = '内容类型'; +$labels['modtype'] = '类型:'; +$labels['allparts'] = '全部'; +$labels['domain'] = '域'; +$labels['localpart'] = '本地部份'; +$labels['user'] = '用户'; +$labels['detail'] = '细节'; +$labels['comparator'] = '比较:'; +$labels['default'] = '默认'; +$labels['octet'] = '严格模式(字节)'; +$labels['asciicasemap'] = '不区分大小写(ascii 字符)'; +$labels['asciinumeric'] = '数字类型(ascii 数字)'; +$messages['filterunknownerror'] = '未知的服务器错误'; +$messages['filterconnerror'] = '无法连接至服务器'; +$messages['filterdeleted'] = '过滤器已成功删除'; +$messages['filtersaved'] = '过滤器已成功保存。'; +$messages['filterdeleteconfirm'] = '您确定要删除所选择的过滤器吗?'; +$messages['ruledeleteconfirm'] = '您确定要删除所选择的规则吗?'; +$messages['actiondeleteconfirm'] = '您确定要删除所选择的操作吗?'; +$messages['forbiddenchars'] = '内容包含禁用字符'; +$messages['cannotbeempty'] = '内容不能为空'; +$messages['ruleexist'] = '指定过滤器名称已存在。'; +$messages['setactivated'] = '启用过滤器集成功。'; +$messages['setdeactivated'] = '禁用过滤器集成功。'; +$messages['setdeleted'] = '删除过滤器成功。'; +$messages['setdeleteconfirm'] = '您确定要删除指定的过滤器吗?'; +$messages['setcreated'] = '过滤器成功创建。'; +$messages['deactivated'] = '启用过滤器成功。'; +$messages['activated'] = '禁用过滤器成功。'; +$messages['moved'] = '移动过滤器成功。'; +$messages['nametoolong'] = '无法创建过滤器集,名称太长。'; +$messages['namereserved'] = '保留名称。'; +$messages['setexist'] = '设置已存在。'; +$messages['nodata'] = '至少选择一个位置!'; +?> diff --git a/plugins/managesieve/localization/zh_TW.inc b/plugins/managesieve/localization/zh_TW.inc new file mode 100644 index 000000000..b21310cea --- /dev/null +++ b/plugins/managesieve/localization/zh_TW.inc @@ -0,0 +1,160 @@ +<?php + +/* + +-----------------------------------------------------------------------+ + | plugins/managesieve/localization/<lang>.inc | + | | + | Localization file of the Roundcube Webmail Managesieve 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-managesieve/ +*/ +$labels['filters'] = '篩選器'; +$labels['managefilters'] = '設定篩選器'; +$labels['filtername'] = '篩選器名稱'; +$labels['newfilter'] = '建立新篩選器'; +$labels['filteradd'] = '增加篩選器'; +$labels['filterdel'] = '刪除篩選器'; +$labels['moveup'] = '上移'; +$labels['movedown'] = '下移'; +$labels['filterallof'] = '符合所有規則'; +$labels['filteranyof'] = '符合任一條規則'; +$labels['filterany'] = '所有信件'; +$labels['filtercontains'] = '包含'; +$labels['filternotcontains'] = '不包含'; +$labels['filteris'] = '等於'; +$labels['filterisnot'] = '不等於'; +$labels['filterexists'] = '存在'; +$labels['filternotexists'] = '不存在'; +$labels['filtermatches'] = '符合表達式'; +$labels['filternotmatches'] = '不符合表達式'; +$labels['filterregex'] = '符合正規表達式'; +$labels['filternotregex'] = '不符合正規表達式'; +$labels['filterunder'] = '小於'; +$labels['filterover'] = '大於'; +$labels['addrule'] = '新增規則'; +$labels['delrule'] = '刪除規則'; +$labels['messagemoveto'] = '將信件移至'; +$labels['messageredirect'] = '將信件轉寄至'; +$labels['messagecopyto'] = '複製訊息至'; +$labels['messagesendcopy'] = '寄送訊息複本至'; +$labels['messagereply'] = '以下列內容回覆'; +$labels['messagedelete'] = '刪除信件'; +$labels['messagediscard'] = '刪除信件並以下列內容回覆'; +$labels['messagekeep'] = '在收件匣保留郵件'; +$labels['messagesrules'] = '對新收到的信件:'; +$labels['messagesactions'] = '執行下列動作:'; +$labels['add'] = '新增'; +$labels['del'] = '刪除'; +$labels['sender'] = '寄件者'; +$labels['recipient'] = '收件者'; +$labels['vacationdays'] = '多久回覆一次(單位:天):'; +$labels['vacationreason'] = '信件內容(休假原因):'; +$labels['vacationsubject'] = '訊息主旨:'; +$labels['rulestop'] = '停止評估規則'; +$labels['enable'] = '啟用/停用'; +$labels['filterset'] = '篩選器集合'; +$labels['filtersets'] = '篩選器集合'; +$labels['filtersetadd'] = '加入篩選器集合'; +$labels['filtersetdel'] = '刪除目前的篩選器集合'; +$labels['filtersetact'] = '啟用目前的篩選器集合'; +$labels['filtersetdeact'] = '停用目前的篩選器集合'; +$labels['filterdef'] = '篩選器定義'; +$labels['filtersetname'] = '篩選器集合名稱'; +$labels['newfilterset'] = '建立篩選器集合'; +$labels['active'] = '啟用'; +$labels['none'] = '無'; +$labels['fromset'] = '從集合'; +$labels['fromfile'] = '重檔案'; +$labels['filterdisabled'] = '篩選器已停用'; +$labels['countisgreaterthan'] = '計數大於'; +$labels['countisgreaterthanequal'] = '計數大於或等於'; +$labels['countislessthan'] = '計數小於'; +$labels['countislessthanequal'] = '數量小於或等於'; +$labels['countequals'] = '數量等於'; +$labels['valueisgreaterthan'] = '值大於'; +$labels['valueisgreaterthanequal'] = '值大於等於'; +$labels['valueislessthan'] = '值小於'; +$labels['valueislessthanequal'] = '值小於或等於'; +$labels['valueequals'] = '值等於'; +$labels['setflags'] = '設定標幟'; +$labels['addflags'] = '新增標記到訊息'; +$labels['removeflags'] = '移除訊息標記'; +$labels['flagread'] = '讀取'; +$labels['flagdeleted'] = '刪除'; +$labels['flaganswered'] = '已經回覆'; +$labels['flagflagged'] = '已加標記的郵件'; +$labels['flagdraft'] = '草稿'; +$labels['setvariable'] = '設定變數'; +$labels['setvarname'] = '變數名稱:'; +$labels['setvarvalue'] = '變數值:'; +$labels['setvarmodifiers'] = '修改:'; +$labels['varlower'] = '低於'; +$labels['varupper'] = '高於'; +$labels['varlowerfirst'] = '第一個字低於'; +$labels['varupperfirst'] = '第一個字高於'; +$labels['varquotewildcard'] = '跳脫字元'; +$labels['varlength'] = '長度'; +$labels['notify'] = '寄送通知'; +$labels['notifyimportance'] = '重要性:'; +$labels['notifyimportancelow'] = '低'; +$labels['notifyimportancenormal'] = '一般'; +$labels['notifyimportancehigh'] = '高'; +$labels['filtercreate'] = '建立郵件規則'; +$labels['usedata'] = '於規則中使用轉寄時間'; +$labels['nextstep'] = '下一步'; +$labels['...'] = '…'; +$labels['date'] = '日期 (yyyy-mm-dd)'; +$labels['julian'] = '日期 (Julian Day)'; +$labels['time'] = '時間 (hh:mm:ss)'; +$labels['iso8601'] = '日期 (ISO8601)'; +$labels['std11'] = '日期 (RFC2822)'; +$labels['zone'] = '時區'; +$labels['advancedopts'] = '進階選項'; +$labels['body'] = '內文'; +$labels['address'] = '郵件位址'; +$labels['envelope'] = '信封'; +$labels['modifier'] = '修改:'; +$labels['text'] = '文字'; +$labels['undecoded'] = '未解碼(raw)'; +$labels['contenttype'] = '內容類型'; +$labels['modtype'] = '型態:'; +$labels['allparts'] = '全部'; +$labels['domain'] = '網域'; +$labels['localpart'] = '本機連接埠'; +$labels['user'] = '使用者'; +$labels['detail'] = '細節'; +$labels['comparator'] = '比較:'; +$labels['default'] = '預設'; +$labels['octet'] = '嚴謹模式(八位元組)'; +$labels['asciicasemap'] = '不區分大小寫(採用ASCII-Casemap)'; +$labels['asciinumeric'] = '數字類型(ascii-numeric)'; +$messages['filterunknownerror'] = '未知的伺服器錯誤'; +$messages['filterconnerror'] = '無法與伺服器連線'; +$messages['filterdeleted'] = '成功刪除篩選器'; +$messages['filtersaved'] = '成功儲存篩選器。'; +$messages['filterdeleteconfirm'] = '您確定要刪除選擇的郵件規則嗎?'; +$messages['ruledeleteconfirm'] = '您確定要刪除選的規則嗎?'; +$messages['actiondeleteconfirm'] = '您確定要刪除選擇的動作嗎?'; +$messages['forbiddenchars'] = '內容包含禁用字元'; +$messages['cannotbeempty'] = '內容不能為空白'; +$messages['ruleexist'] = '規則名稱重複'; +$messages['setactivated'] = '篩選器集合成功啟用'; +$messages['setdeactivated'] = '篩選器集合成功停用'; +$messages['setdeleted'] = '篩選器集合成功刪除'; +$messages['setdeleteconfirm'] = '你確定要刪除選擇的篩選器集合嗎?'; +$messages['setcreated'] = '篩選器集合成功建立'; +$messages['deactivated'] = '篩選器已啟用'; +$messages['activated'] = '篩選器已停用'; +$messages['moved'] = '篩選器已移動'; +$messages['nametoolong'] = '名稱太長。'; +$messages['namereserved'] = '保留名稱.'; +$messages['setexist'] = '設定已存在'; +$messages['nodata'] = '至少要選擇一個位置'; +?> diff --git a/plugins/managesieve/managesieve.js b/plugins/managesieve/managesieve.js new file mode 100644 index 000000000..1098b5b9e --- /dev/null +++ b/plugins/managesieve/managesieve.js @@ -0,0 +1,1061 @@ +/** + * (Manage)Sieve Filters plugin + * + * @licstart The following is the entire license notice for the + * JavaScript code in this file. + * + * Copyright (c) 2012-2014, The Roundcube Dev Team + * + * The JavaScript code in this page is free software: you can redistribute it + * and/or modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation, either version 3 of + * the License, or (at your option) any later version. + * + * @licend The above is the entire license notice + * for the JavaScript code in this file. + */ + +if (window.rcmail) { + rcmail.addEventListener('init', function(evt) { + // add managesieve-create command to message_commands array, + // so it's state will be updated on message selection/unselection + if (rcmail.env.task == 'mail') { + if (rcmail.env.action != 'show') + rcmail.env.message_commands.push('managesieve-create'); + else + rcmail.enable_command('managesieve-create', true); + } + + if (rcmail.env.task == 'mail' || rcmail.env.action.startsWith('plugin.managesieve')) { + // Create layer for form tips + if (!rcmail.env.framed) { + rcmail.env.ms_tip_layer = $('<div id="managesieve-tip" class="popupmenu"></div>'); + rcmail.env.ms_tip_layer.appendTo(document.body); + } + } + + // register commands + rcmail.register_command('plugin.managesieve-save', function() { rcmail.managesieve_save() }); + rcmail.register_command('plugin.managesieve-act', function() { rcmail.managesieve_act() }); + rcmail.register_command('plugin.managesieve-add', function() { rcmail.managesieve_add() }); + rcmail.register_command('plugin.managesieve-del', function() { rcmail.managesieve_del() }); + rcmail.register_command('plugin.managesieve-move', function() { rcmail.managesieve_move() }); + rcmail.register_command('plugin.managesieve-setadd', function() { rcmail.managesieve_setadd() }); + rcmail.register_command('plugin.managesieve-setdel', function() { rcmail.managesieve_setdel() }); + rcmail.register_command('plugin.managesieve-setact', function() { rcmail.managesieve_setact() }); + rcmail.register_command('plugin.managesieve-setget', function() { rcmail.managesieve_setget() }); + + if (rcmail.env.action.startsWith('plugin.managesieve')) { + if (rcmail.gui_objects.sieveform) { + rcmail.enable_command('plugin.managesieve-save', true); + sieve_form_init(); + } + else { + rcmail.enable_command('plugin.managesieve-add', 'plugin.managesieve-setadd', !rcmail.env.sieveconnerror); + } + + var setcnt, set = rcmail.env.currentset; + + if (rcmail.gui_objects.filterslist) { + rcmail.filters_list = new rcube_list_widget(rcmail.gui_objects.filterslist, + {multiselect:false, draggable:true, keyboard:true}); + + rcmail.filters_list + .addEventListener('select', function(e) { rcmail.managesieve_select(e); }) + .addEventListener('dragstart', function(e) { rcmail.managesieve_dragstart(e); }) + .addEventListener('dragend', function(e) { rcmail.managesieve_dragend(e); }) + .addEventListener('initrow', function(row) { + row.obj.onmouseover = function() { rcmail.managesieve_focus_filter(row); }; + row.obj.onmouseout = function() { rcmail.managesieve_unfocus_filter(row); }; + }) + .init(); + } + + if (rcmail.gui_objects.filtersetslist) { + rcmail.filtersets_list = new rcube_list_widget(rcmail.gui_objects.filtersetslist, + {multiselect:false, draggable:false, keyboard:true}); + + rcmail.filtersets_list.init().focus(); + + if (set != null) { + set = rcmail.managesieve_setid(set); + rcmail.filtersets_list.select(set); + } + + // attach select event after initial record was selected + rcmail.filtersets_list.addEventListener('select', function(e) { rcmail.managesieve_setselect(e); }); + + setcnt = rcmail.filtersets_list.rowcount; + rcmail.enable_command('plugin.managesieve-set', true); + rcmail.enable_command('plugin.managesieve-setact', 'plugin.managesieve-setget', setcnt); + rcmail.enable_command('plugin.managesieve-setdel', setcnt > 1); + + // Fix dragging filters over sets list + $('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); + }); +}; + +/*********************************************************/ +/********* Managesieve UI methods *********/ +/*********************************************************/ + +rcube_webmail.prototype.managesieve_add = function() +{ + this.load_managesieveframe(); + this.filters_list.clear_selection(); +}; + +rcube_webmail.prototype.managesieve_del = function() +{ + var id = this.filters_list.get_single_selection(); + if (confirm(this.get_label('managesieve.filterdeleteconfirm'))) { + var lock = this.set_busy(true, 'loading'); + this.http_post('plugin.managesieve-action', + '_act=delete&_fid='+this.filters_list.rows[id].uid, lock); + } +}; + +rcube_webmail.prototype.managesieve_act = function() +{ + var id = this.filters_list.get_single_selection(), + lock = this.set_busy(true, 'loading'); + + this.http_post('plugin.managesieve-action', + '_act=act&_fid='+this.filters_list.rows[id].uid, lock); +}; + +// Filter selection +rcube_webmail.prototype.managesieve_select = function(list) +{ + var id = list.get_single_selection(); + if (id != null) + this.load_managesieveframe(list.rows[id].uid); +}; + +// Set selection +rcube_webmail.prototype.managesieve_setselect = function(list) +{ + this.show_contentframe(false); + this.filters_list.clear(true); + this.enable_command('plugin.managesieve-setdel', list.rowcount > 1); + this.enable_command('plugin.managesieve-setact', 'plugin.managesieve-setget', true); + + var id = list.get_single_selection(); + if (id != null) + this.managesieve_list(this.env.filtersets[id]); +}; + +rcube_webmail.prototype.managesieve_rowid = function(id) +{ + var i, rows = this.filters_list.rows; + + for (i in rows) + if (rows[i] != null && rows[i].uid == id) + return i; +}; + +// Returns set's identifier +rcube_webmail.prototype.managesieve_setid = function(name) +{ + for (var i in this.env.filtersets) + if (this.env.filtersets[i] == name) + return i; +}; + +// Filters listing request +rcube_webmail.prototype.managesieve_list = function(script) +{ + var lock = this.set_busy(true, 'loading'); + + this.http_post('plugin.managesieve-action', '_act=list&_set='+urlencode(script), lock); +}; + +// Script download request +rcube_webmail.prototype.managesieve_setget = function() +{ + var id = this.filtersets_list.get_single_selection(), + script = this.env.filtersets[id]; + + location.href = this.env.comm_path+'&_action=plugin.managesieve-action&_act=setget&_set='+urlencode(script); +}; + +// Set activate/deactivate request +rcube_webmail.prototype.managesieve_setact = function() +{ + var id = this.filtersets_list.get_single_selection(), + lock = this.set_busy(true, 'loading'), + script = this.env.filtersets[id], + action = $('#rcmrow'+id).hasClass('disabled') ? 'setact' : 'deact'; + + this.http_post('plugin.managesieve-action', '_act='+action+'&_set='+urlencode(script), lock); +}; + +// Set delete request +rcube_webmail.prototype.managesieve_setdel = function() +{ + if (!confirm(this.get_label('managesieve.setdeleteconfirm'))) + return false; + + var id = this.filtersets_list.get_single_selection(), + lock = this.set_busy(true, 'loading'), + script = this.env.filtersets[id]; + + this.http_post('plugin.managesieve-action', '_act=setdel&_set='+urlencode(script), lock); +}; + +// Set add request +rcube_webmail.prototype.managesieve_setadd = function() +{ + this.filters_list.clear_selection(); + this.enable_command('plugin.managesieve-act', 'plugin.managesieve-del', false); + + if (this.env.contentframe && window.frames && window.frames[this.env.contentframe]) { + var lock = this.set_busy(true, 'loading'); + target = window.frames[this.env.contentframe]; + target.location.href = this.env.comm_path+'&_action=plugin.managesieve-action&_framed=1&_newset=1&_unlock='+lock; + } +}; + +rcube_webmail.prototype.managesieve_updatelist = function(action, o) +{ + this.set_busy(true); + + switch (action) { + // Delete filter row + case 'del': + var id = o.id, list = this.filters_list; + + list.remove_row(this.managesieve_rowid(o.id)); + list.clear_selection(); + this.show_contentframe(false); + this.enable_command('plugin.managesieve-del', 'plugin.managesieve-act', false); + + // filter identifiers changed, fix the list + $('tr', this.filters_list.list).each(function() { + // remove hidden (deleted) rows + if (this.style.display == 'none') { + $(this).detach(); + return; + } + + var rowid = this.id.substr(6); + + // remove all attached events + $(this).unbind(); + + // update row id + if (rowid > id) { + this.uid = rowid - 1; + $(this).attr('id', 'rcmrow' + this.uid); + } + }); + list.init(); + + break; + + // Update filter row + case 'update': + var i, row = $('#rcmrow'+this.managesieve_rowid(o.id)); + + if (o.name) + $('td', row).text(o.name); + if (o.disabled) + row.addClass('disabled'); + else + row.removeClass('disabled'); + + $('#disabled', $('iframe').contents()).prop('checked', o.disabled); + + break; + + // Add filter row to the list + case 'add': + var list = this.filters_list, + row = $('<tr><td class="name"></td></tr>'); + + $('td', row).text(o.name); + row.attr('id', 'rcmrow'+o.id); + if (o.disabled) + row.addClass('disabled'); + + list.insert_row(row.get(0)); + list.highlight_row(o.id); + + this.enable_command('plugin.managesieve-del', 'plugin.managesieve-act', true); + + break; + + // Filling rules list + case 'list': + var i, tr, td, el, list = this.filters_list; + + if (o.clear) + list.clear(); + + for (i in o.list) { + el = o.list[i]; + tr = document.createElement('TR'); + td = document.createElement('TD'); + + $(td).text(el.name); + td.className = 'name'; + tr.id = 'rcmrow' + el.id; + if (el['class']) + tr.className = el['class']; + tr.appendChild(td); + + list.insert_row(tr); + } + + if (o.set) + list.highlight_row(o.set); + else + this.enable_command('plugin.managesieve-del', 'plugin.managesieve-act', false); + + break; + + // Sactivate/deactivate set + case 'setact': + var id = this.managesieve_setid(o.name), row = $('#rcmrow' + id); + if (o.active) { + if (o.all) + $('tr', this.gui_objects.filtersetslist).addClass('disabled'); + row.removeClass('disabled'); + } + else + row.addClass('disabled'); + + break; + + // Delete set row + case 'setdel': + var id = this.managesieve_setid(o.name); + + this.filtersets_list.remove_row(id); + this.filters_list.clear(); + this.show_contentframe(false); + this.enable_command('plugin.managesieve-setdel', 'plugin.managesieve-setact', 'plugin.managesieve-setget', false); + + delete this.env.filtersets[id]; + + break; + + // Create set row + case 'setadd': + var id = 'S' + new Date().getTime(), + list = this.filtersets_list, + row = $('<tr class="disabled"><td class="name"></td></tr>'); + + $('td', row).text(o.name); + row.attr('id', 'rcmrow'+id); + + this.env.filtersets[id] = o.name; + list.insert_row(row.get(0)); + + // move row into its position on the list + if (o.index != list.rowcount-1) { + row.detach(); + var elem = $('tr:visible', list.list).get(o.index); + row.insertBefore(elem); + } + + list.select(id); + + // Fix dragging filters over sets list + this.managesieve_fixdragend(row); + + break; + } + + this.set_busy(false); +}; + +// load filter frame +rcube_webmail.prototype.load_managesieveframe = function(id) +{ + var has_id = typeof(id) != 'undefined' && id != null; + this.enable_command('plugin.managesieve-act', 'plugin.managesieve-del', has_id); + + if (this.env.contentframe && window.frames && window.frames[this.env.contentframe]) { + target = window.frames[this.env.contentframe]; + var msgid = this.set_busy(true, 'loading'); + target.location.href = this.env.comm_path+'&_action=plugin.managesieve-action&_framed=1' + +(has_id ? '&_fid='+id : '')+'&_unlock='+msgid; + } +}; + +// load filter frame +rcube_webmail.prototype.managesieve_dragstart = function(list) +{ + var id = this.filters_list.get_single_selection(); + + this.drag_active = true; + this.drag_filter = id; +}; + +rcube_webmail.prototype.managesieve_dragend = function(e) +{ + if (this.drag_active) { + if (this.drag_filter_target) { + var lock = this.set_busy(true, 'loading'); + + this.show_contentframe(false); + this.http_post('plugin.managesieve-action', '_act=move&_fid='+this.drag_filter + +'&_to='+this.drag_filter_target, lock); + } + this.drag_active = false; + } +}; + +// Fixes filters dragging over sets list +// @TODO: to be removed after implementing copying filters +rcube_webmail.prototype.managesieve_fixdragend = function(elem) +{ + var p = this; + $(elem).bind('mouseup' + ((bw.iphone || bw.ipad) ? ' touchend' : ''), function(e) { + if (p.drag_active) + p.filters_list.drag_mouse_up(e); + }); +}; + +rcube_webmail.prototype.managesieve_focus_filter = function(row) +{ + var id = row.id.replace(/^rcmrow/, ''); + if (this.drag_active && id != this.drag_filter) { + this.drag_filter_target = id; + $(row.obj).addClass(id < this.drag_filter ? 'filtermoveup' : 'filtermovedown'); + } +}; + +rcube_webmail.prototype.managesieve_unfocus_filter = function(row) +{ + if (this.drag_active) { + $(row.obj).removeClass('filtermoveup filtermovedown'); + this.drag_filter_target = null; + } +}; + +/*********************************************************/ +/********* Filter Form methods *********/ +/*********************************************************/ + +// Form submition +rcube_webmail.prototype.managesieve_save = function() +{ + if (this.env.action == 'plugin.managesieve-vacation') { + var data = $(this.gui_objects.sieveform).serialize(); + this.http_post('plugin.managesieve-vacation', data, this.display_message(this.get_label('managesieve.vacation.saving'), 'loading')); + return; + } + + if (parent.rcmail && parent.rcmail.filters_list && this.gui_objects.sieveform.name != 'filtersetform') { + var id = parent.rcmail.filters_list.get_single_selection(); + if (id != null) + this.gui_objects.sieveform.elements['_fid'].value = parent.rcmail.filters_list.rows[id].uid; + } + this.gui_objects.sieveform.submit(); +}; + +// Operations on filters form +rcube_webmail.prototype.managesieve_ruleadd = function(id) +{ + this.http_post('plugin.managesieve-action', '_act=ruleadd&_rid='+id); +}; + +rcube_webmail.prototype.managesieve_rulefill = function(content, id, after) +{ + if (content != '') { + // create new element + var div = document.getElementById('rules'), + row = document.createElement('div'); + + this.managesieve_insertrow(div, row, after); + // fill row after inserting (for IE) + row.setAttribute('id', 'rulerow'+id); + row.className = 'rulerow'; + row.innerHTML = content; + + // initialize smart list inputs + $('textarea[data-type="list"]', row).each(function() { + smart_field_init(this); + }); + + this.managesieve_formbuttons(div); + } +}; + +rcube_webmail.prototype.managesieve_ruledel = function(id) +{ + if ($('#ruledel'+id).hasClass('disabled')) + return; + + if (confirm(this.get_label('managesieve.ruledeleteconfirm'))) { + var row = document.getElementById('rulerow'+id); + row.parentNode.removeChild(row); + this.managesieve_formbuttons(document.getElementById('rules')); + } +}; + +rcube_webmail.prototype.managesieve_actionadd = function(id) +{ + this.http_post('plugin.managesieve-action', '_act=actionadd&_aid='+id); +}; + +rcube_webmail.prototype.managesieve_actionfill = function(content, id, after) +{ + if (content != '') { + var div = document.getElementById('actions'), + row = document.createElement('div'); + + this.managesieve_insertrow(div, row, after); + // fill row after inserting (for IE) + row.className = 'actionrow'; + row.setAttribute('id', 'actionrow'+id); + row.innerHTML = content; + + // initialize smart list inputs + $('textarea[data-type="list"]', row).each(function() { + smart_field_init(this); + }); + + this.managesieve_formbuttons(div); + } +}; + +rcube_webmail.prototype.managesieve_actiondel = function(id) +{ + if ($('#actiondel'+id).hasClass('disabled')) + return; + + if (confirm(this.get_label('managesieve.actiondeleteconfirm'))) { + var row = document.getElementById('actionrow'+id); + row.parentNode.removeChild(row); + this.managesieve_formbuttons(document.getElementById('actions')); + } +}; + +// insert rule/action row in specified place on the list +rcube_webmail.prototype.managesieve_insertrow = function(div, row, after) +{ + for (var i=0; i<div.childNodes.length; i++) { + if (div.childNodes[i].id == (div.id == 'rules' ? 'rulerow' : 'actionrow') + after) + break; + } + + if (div.childNodes[i+1]) + div.insertBefore(row, div.childNodes[i+1]); + else + div.appendChild(row); +}; + +// update Delete buttons status +rcube_webmail.prototype.managesieve_formbuttons = function(div) +{ + var i, button, buttons = []; + + // count and get buttons + for (i=0; i<div.childNodes.length; i++) { + if (div.id == 'rules' && div.childNodes[i].id) { + if (/rulerow/.test(div.childNodes[i].id)) + buttons.push('ruledel' + div.childNodes[i].id.replace(/rulerow/, '')); + } + else if (div.childNodes[i].id) { + if (/actionrow/.test(div.childNodes[i].id)) + buttons.push( 'actiondel' + div.childNodes[i].id.replace(/actionrow/, '')); + } + } + + for (i=0; i<buttons.length; i++) { + button = document.getElementById(buttons[i]); + if (i>0 || buttons.length>1) { + $(button).removeClass('disabled'); + } + else { + $(button).addClass('disabled'); + } + } +}; + +// update vacation addresses field with user identities +rcube_webmail.prototype.managesieve_vacation_addresses = function(id) +{ + var lock = this.set_busy(true, 'loading'); + this.http_post('plugin.managesieve-action', {_act: 'addresses', _aid: id}, lock); +}; + +// update vacation addresses field with user identities +rcube_webmail.prototype.managesieve_vacation_addresses_update = function(id, addresses) +{ + var field = $('#vacation_addresses,#action_addresses' + (id || '')); + smart_field_reset(field.get(0), addresses); +}; + +function rule_header_select(id) +{ + var obj = document.getElementById('header' + id), + size = document.getElementById('rule_size' + id), + op = document.getElementById('rule_op' + id), + header = document.getElementById('custom_header' + id + '_list'), + mod = document.getElementById('rule_mod' + id), + trans = document.getElementById('rule_trans' + id), + comp = document.getElementById('rule_comp' + id), + datepart = document.getElementById('rule_date_part' + id), + dateheader = document.getElementById('rule_date_header_div' + id), + h = obj.value; + + if (h == 'size') { + size.style.display = 'inline'; + $.each([op, header, mod, trans, comp], function() { this.style.display = 'none'; }); + } + else { + header.style.display = h != '...' ? 'none' : 'inline-block'; + size.style.display = 'none'; + op.style.display = 'inline'; + comp.style.display = ''; + mod.style.display = h == 'body' || h == 'currentdate' || h == 'date' ? 'none' : 'block'; + trans.style.display = h == 'body' ? 'block' : 'none'; + } + + if (datepart) + datepart.style.display = h == 'currentdate' || h == 'date' ? 'inline' : 'none'; + if (dateheader) + dateheader.style.display = h == 'date' ? '' : 'none'; + + rule_op_select(op, id, h); + rule_mod_select(id, h); + obj.style.width = h == '...' ? '40px' : ''; +}; + +function rule_op_select(obj, id, header) +{ + var target = document.getElementById('rule_target' + id + '_list'); + + if (!header) + header = document.getElementById('header' + id).value; + + target.style.display = obj.value == 'exists' || obj.value == 'notexists' || header == 'size' ? 'none' : 'inline-block'; +}; + +function rule_trans_select(id) +{ + var obj = document.getElementById('rule_trans_op' + id), + target = document.getElementById('rule_trans_type' + id); + + target.style.display = obj.value != 'content' ? 'none' : 'inline'; +}; + +function rule_mod_select(id, header) +{ + var obj = document.getElementById('rule_mod_op' + id), + target = document.getElementById('rule_mod_type' + id), + index = document.getElementById('rule_index_div' + id); + + if (!header) + header = document.getElementById('header' + id).value; + + target.style.display = obj.value != 'address' && obj.value != 'envelope' ? 'none' : 'inline'; + + if (index) + index.style.display = header != 'body' && header != 'currentdate' && header != 'size' && obj.value != 'envelope' ? '' : 'none'; +}; + +function rule_join_radio(value) +{ + $('#rules').css('display', value == 'any' ? 'none' : 'block'); +}; + +function rule_adv_switch(id, elem) +{ + var elem = $(elem), enabled = elem.hasClass('hide'), adv = $('#rule_advanced'+id); + + if (enabled) { + adv.hide(); + elem.removeClass('hide').addClass('show'); + } + else { + adv.show(); + elem.removeClass('show').addClass('hide'); + } +} + +function action_type_select(id) +{ + var obj = document.getElementById('action_type' + id), + v = obj.value, enabled = {}, + elems = { + mailbox: document.getElementById('action_mailbox' + id), + target: document.getElementById('redirect_target' + id), + target_area: document.getElementById('action_target_area' + id), + flags: document.getElementById('action_flags' + id), + vacation: document.getElementById('action_vacation' + id), + set: document.getElementById('action_set' + id), + notify: document.getElementById('action_notify' + id) + }; + + if (v == 'fileinto' || v == 'fileinto_copy') { + enabled.mailbox = 1; + } + else if (v == 'redirect' || v == 'redirect_copy') { + enabled.target = 1; + } + else if (v.match(/^reject|ereject$/)) { + enabled.target_area = 1; + } + else if (v.match(/^(add|set|remove)flag$/)) { + enabled.flags = 1; + } + else if (v == 'vacation') { + enabled.vacation = 1; + } + else if (v == 'set') { + enabled.set = 1; + } + else if (v == 'notify') { + enabled.notify = 1; + } + + for (var x in elems) { + elems[x].style.display = !enabled[x] ? 'none' : 'inline'; + } +}; + +function vacation_action_select() +{ + var selected = $('#vacation_action').val(); + + $('#action_target_span')[selected == 'discard' || selected == 'keep' ? 'hide' : 'show'](); +}; + +// Inititalizes smart list input +function smart_field_init(field) +{ + var id = field.id + '_list', + area = $('<span class="listarea"></span>'), + list = field.value ? field.value.split("\n") : ['']; + + if ($('#'+id).length) + return; + + // add input rows + $.each(list, function(i, v) { + area.append(smart_field_row(v, field.name, i, $(field).data('size'))); + }); + + area.attr('id', id); + field = $(field); + + if (field.attr('disabled')) + area.hide(); + // disable the original field anyway, we don't want it in POST + else + field.prop('disabled', true); + + field.after(area); + + if (field.hasClass('error')) { + area.addClass('error'); + rcmail.managesieve_tip_register([[id, field.data('tip')]]); + } +}; + +function smart_field_row(value, name, idx, size) +{ + // build row element content + var input, content = '<span class="listelement">' + + '<span class="reset"></span><input type="text"></span>', + elem = $(content), + attrs = {value: value, name: name + '[]'}; + + if (size) + attrs.size = size; + + input = $('input', elem).attr(attrs).keydown(function(e) { + var input = $(this); + + // element creation event (on Enter) + if (e.which == 13) { + var name = input.attr('name').replace(/\[\]$/, ''), + dt = (new Date()).getTime(), + elem = smart_field_row('', name, dt, size); + + input.parent().after(elem); + $('input', elem).focus(); + } + // backspace or delete: remove input, focus previous one + else if ((e.which == 8 || e.which == 46) && input.val() == '') { + + var parent = input.parent(), siblings = parent.parent().children(); + + if (siblings.length > 1) { + if (parent.prev().length) + parent.prev().children('input').focus(); + else + parent.next().children('input').focus(); + + parent.remove(); + return false; + } + } + }); + + // element deletion event + $('span[class="reset"]', elem).click(function() { + var span = $(this.parentNode); + + if (span.parent().children().length > 1) + span.remove(); + else + $('input', span).val('').focus(); + }); + + return elem; +} + +// Reset and fill the smart list input with new data +function smart_field_reset(field, data) +{ + var id = field.id + '_list', + list = data.length ? data : ['']; + area = $('#' + id); + + area.empty(); + + // add input rows + $.each(list, function(i, v) { + area.append(smart_field_row(v, field.name, i, $(field).data('size'))); + }); +} + +// Register onmouse(leave/enter) events for tips on specified form element +rcube_webmail.prototype.managesieve_tip_register = function(tips) +{ + var n, framed = parent.rcmail, + tip = framed ? parent.rcmail.env.ms_tip_layer : rcmail.env.ms_tip_layer; + + for (var n in tips) { + $('#'+tips[n][0]) + .data('tip', tips[n][1]) + .bind('mouseenter', function(e) { + var elem = $(this), + offset = elem.offset(), + left = offset.left, + top = offset.top - 12, + minwidth = elem.width(); + + if (framed) { + offset = $((rcmail.env.task == 'mail' ? '#sievefilterform > iframe' : '#filter-box'), parent.document).offset(); + top += offset.top; + left += offset.left; + } + + tip.html(elem.data('tip')); + top -= tip.height(); + + tip.css({left: left, top: top, minWidth: (minwidth-2) + 'px'}).show(); + }) + .bind('mouseleave', function(e) { tip.hide(); }); + } +}; + +// format time string +function sieve_formattime(hour, minutes) +{ + var i, c, h, time = '', format = rcmail.env.time_format || 'H:i'; + + for (i=0; i<format.length; i++) { + c = format.charAt(i); + switch (c) { + case 'a': time += hour > 12 ? 'am' : 'pm'; break; + case 'A': time += hour > 12 ? 'AM' : 'PM'; break; + case 'g': + case 'h': + h = hour == 0 ? 12 : hour > 12 ? hour - 12 : hour; + time += (c == 'h' && hour < 10 ? '0' : '') + hour; + break; + case 'G': time += hour; break; + case 'H': time += (hour < 10 ? '0' : '') + hour; break; + case 'i': time += (minutes < 10 ? '0' : '') + minutes; break; + case 's': time += '00'; + default: time += c; + } + } + + return time; +} + +function sieve_form_init() +{ + // small resize for header element + $('select[name="_header[]"]', rcmail.gui_objects.sieveform).each(function() { + if (this.value == '...') this.style.width = '40px'; + }); + + // resize dialog window + if (rcmail.env.action == 'plugin.managesieve' && rcmail.env.task == 'mail') { + parent.rcmail.managesieve_dialog_resize(rcmail.gui_objects.sieveform); + } + + $('input[type="text"]:first', rcmail.gui_objects.sieveform).focus(); + + // initialize smart list inputs + $('textarea[data-type="list"]', rcmail.gui_objects.sieveform).each(function() { + smart_field_init(this); + }); + + // enable date pickers on date fields + if ($.datepicker && rcmail.env.date_format) { + $.datepicker.setDefaults({ + dateFormat: rcmail.env.date_format, + changeMonth: true, + showOtherMonths: true, + selectOtherMonths: true, + onSelect: function(dateText) { $(this).focus().val(dateText); } + }); + $('input.datepicker').datepicker(); + } + + // configure drop-down menu on time input fields based on jquery UI autocomplete + $('#vacation_timefrom, #vacation_timeto') + .attr('autocomplete', "off") + .autocomplete({ + delay: 100, + minLength: 1, + source: function(p, callback) { + var h, result = []; + for (h = 0; h < 24; h++) + result.push(sieve_formattime(h, 0)); + result.push(sieve_formattime(23, 59)); + + return callback(result); + }, + open: function(event, ui) { + // scroll to current time + var $this = $(this), val = $this.val(), + widget = $this.autocomplete('widget').css('width', '10em'), + menu = $this.data('ui-autocomplete').menu; + + if (val && val.length) + widget.children().each(function() { + var li = $(this); + if (li.text().indexOf(val) == 0) + menu._scrollIntoView(li); + }); + }, + select: function(event, ui) { + $(this).val(ui.item.value); + return false; + } + }) + .click(function() { // show drop-down upon clicks + $(this).autocomplete('search', $(this).val() || ' '); + }) +} + + +/*********************************************************/ +/********* Mail UI methods *********/ +/*********************************************************/ + +rcube_webmail.prototype.managesieve_create = function(force) +{ + if (!force && this.env.action != 'show') { + var uid = this.message_list.get_single_selection(), + lock = this.set_busy(true, 'loading'); + + this.http_post('plugin.managesieve-action', {_uid: uid}, lock); + return; + } + + if (!this.env.sieve_headers || !this.env.sieve_headers.length) + return; + + var i, html, buttons = {}, dialog = $("#sievefilterform"); + + // create dialog window + if (!dialog.length) { + dialog = $('<div id="sievefilterform"></div>'); + $('body').append(dialog); + } + + // build dialog window content + html = '<fieldset><legend>'+this.gettext('managesieve.usedata')+'</legend><ul>'; + for (i in this.env.sieve_headers) + html += '<li><input type="checkbox" name="headers[]" id="sievehdr'+i+'" value="'+i+'" checked="checked" />' + +'<label for="sievehdr'+i+'">'+this.env.sieve_headers[i][0]+':</label> '+this.env.sieve_headers[i][1]+'</li>'; + html += '</ul></fieldset>'; + + dialog.html(html); + + // [Next Step] button action + buttons[this.gettext('managesieve.nextstep')] = function () { + // check if there's at least one checkbox checked + var hdrs = $('input[name="headers[]"]:checked', dialog); + if (!hdrs.length) { + alert(rcmail.gettext('managesieve.nodata')); + return; + } + + // build frame URL + var url = rcmail.get_task_url('mail'); + url = rcmail.add_url(url, '_action', 'plugin.managesieve'); + url = rcmail.add_url(url, '_framed', 1); + + hdrs.map(function() { + var val = rcmail.env.sieve_headers[this.value]; + url = rcmail.add_url(url, 'r['+this.value+']', val[0]+':'+val[1]); + }); + + // load form in the iframe + var frame = $('<iframe>').attr({src: url, frameborder: 0}) + dialog.empty().append(frame).dialog('widget').resize(); + + // Change [Next Step] button with [Save] button + buttons = {}; + buttons[rcmail.gettext('save')] = function() { + var win = $('iframe', dialog).get(0).contentWindow; + win.rcmail.managesieve_save(); + }; + dialog.dialog('option', 'buttons', buttons); + }; + + // show dialog window + dialog.dialog({ + modal: false, + resizable: true, + closeOnEscape: !bw.ie7, // disable for performance reasons + title: this.gettext('managesieve.newfilter'), + close: function() { rcmail.managesieve_dialog_close(); }, + buttons: buttons, + minWidth: 600, + minHeight: 300, + height: 250 + }).show(); + + this.env.managesieve_dialog = dialog; +} + +rcube_webmail.prototype.managesieve_dialog_close = function() +{ + var dialog = this.env.managesieve_dialog; + + // BUG(?): if we don't remove the iframe first, it will be reloaded + dialog.html(''); + dialog.dialog('destroy').hide(); +} + +rcube_webmail.prototype.managesieve_dialog_resize = function(o) +{ + var dialog = this.env.managesieve_dialog, + win = $(window), form = $(o); + width = $('fieldset:first', o).width(), // fieldset width is more appropriate here + height = form.height(), + w = win.width(), h = win.height(); + + dialog.dialog('option', { height: Math.min(h-20, height+120), width: Math.min(w-20, width+65) }) + .dialog('option', 'position', ['center', 'center']); // works in a separate call only (!?) +} diff --git a/plugins/managesieve/managesieve.php b/plugins/managesieve/managesieve.php new file mode 100644 index 000000000..f41394e31 --- /dev/null +++ b/plugins/managesieve/managesieve.php @@ -0,0 +1,274 @@ +<?php + +/** + * Managesieve (Sieve Filters) + * + * Plugin that adds a possibility to manage Sieve filters in Thunderbird's style. + * It's clickable interface which operates on text scripts and communicates + * with server using managesieve protocol. Adds Filters tab in Settings. + * + * @version @package_version@ + * @author Aleksander Machniak <alec@alec.pl> + * + * Configuration (see config.inc.php.dist) + * + * Copyright (C) 2008-2013, The Roundcube Dev Team + * Copyright (C) 2011-2013, Kolab Systems AG + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see http://www.gnu.org/licenses/. + */ + +class managesieve extends rcube_plugin +{ + public $task = 'mail|settings'; + private $rc; + private $engine; + + function init() + { + $this->rc = rcube::get_instance(); + + // register actions + $this->register_action('plugin.managesieve', array($this, 'managesieve_actions')); + $this->register_action('plugin.managesieve-action', array($this, 'managesieve_actions')); + $this->register_action('plugin.managesieve-vacation', array($this, 'managesieve_actions')); + $this->register_action('plugin.managesieve-save', array($this, 'managesieve_save')); + + if ($this->rc->task == 'settings') { + $this->add_hook('settings_actions', array($this, 'settings_actions')); + $this->init_ui(); + } + else if ($this->rc->task == 'mail') { + // register message hook + if ($this->rc->action == 'show') { + $this->add_hook('message_headers_output', array($this, 'mail_headers')); + } + + // inject Create Filter popup stuff + if (empty($this->rc->action) || $this->rc->action == 'show' + || strpos($this->rc->action, 'plugin.managesieve') === 0 + ) { + $this->mail_task_handler(); + } + } + } + + /** + * Initializes plugin's UI (localization, js script) + */ + function init_ui() + { + if ($this->ui_initialized) { + return; + } + + // load localization + $this->add_texts('localization/'); + + $sieve_action = strpos($this->rc->action, 'plugin.managesieve') === 0; + + if ($this->rc->task == 'mail' || $sieve_action) { + $this->include_script('managesieve.js'); + } + + // include styles + $skin_path = $this->local_skin_path(); + if ($this->rc->task == 'settings' || $sieve_action) { + $this->include_stylesheet("$skin_path/managesieve.css"); + } + else { + $this->include_stylesheet("$skin_path/managesieve_mail.css"); + } + + $this->ui_initialized = true; + } + + /** + * Adds Filters section in Settings + */ + function settings_actions($args) + { + $this->load_config(); + + $vacation_mode = (int) $this->rc->config->get('managesieve_vacation'); + + // register Filters action + if ($vacation_mode != 2) { + $args['actions'][] = array( + 'action' => 'plugin.managesieve', + 'class' => 'filter', + 'label' => 'filters', + 'domain' => 'managesieve', + 'title' => 'filterstitle', + ); + } + + // register Vacation action + if ($vacation_mode > 0) { + $args['actions'][] = array( + 'action' => 'plugin.managesieve-vacation', + 'class' => 'vacation', + 'label' => 'vacation', + 'domain' => 'managesieve', + 'title' => 'vacationtitle', + ); + } + + return $args; + } + + /** + * Add UI elements to the 'mailbox view' and 'show message' UI. + */ + function mail_task_handler() + { + // make sure we're not in ajax request + if ($this->rc->output->type != 'html') { + return; + } + + // use jQuery for popup window + $this->require_plugin('jqueryui'); + + // include js script and localization + $this->init_ui(); + + // add 'Create filter' item to message menu + $this->api->add_content(html::tag('li', null, + $this->api->output->button(array( + 'command' => 'managesieve-create', + 'label' => 'managesieve.filtercreate', + 'type' => 'link', + 'classact' => 'icon filterlink active', + 'class' => 'icon filterlink', + 'innerclass' => 'icon filterlink', + ))), 'messagemenu'); + + // register some labels/messages + $this->rc->output->add_label('managesieve.newfilter', 'managesieve.usedata', + 'managesieve.nodata', 'managesieve.nextstep', 'save'); + + $this->rc->session->remove('managesieve_current'); + } + + /** + * Get message headers for popup window + */ + function mail_headers($args) + { + // this hook can be executed many times + if ($this->mail_headers_done) { + return $args; + } + + $this->mail_headers_done = true; + + $headers = $this->parse_headers($args['headers']); + + if ($this->rc->action == 'preview') + $this->rc->output->command('parent.set_env', array('sieve_headers' => $headers)); + else + $this->rc->output->set_env('sieve_headers', $headers); + + return $args; + } + + /** + * Plugin action handler + */ + function managesieve_actions() + { + // handle fetching email headers for the new filter form + if ($uid = rcube_utils::get_input_value('_uid', rcube_utils::INPUT_POST)) { + $uids = rcmail::get_uids(); + $mailbox = key($uids); + $message = new rcube_message($uids[$mailbox][0], $mailbox); + $headers = $this->parse_headers($message->headers); + + $this->rc->output->set_env('sieve_headers', $headers); + $this->rc->output->command('managesieve_create', true); + $this->rc->output->send(); + } + + // handle other actions + $engine_type = $this->rc->action == 'plugin.managesieve-vacation' ? 'vacation' : ''; + $engine = $this->get_engine($engine_type); + + $this->init_ui(); + $engine->actions(); + } + + /** + * Forms save action handler + */ + function managesieve_save() + { + // load localization + $this->add_texts('localization/', array('filters','managefilters')); + + // include main js script + if ($this->api->output->type == 'html') { + $this->include_script('managesieve.js'); + } + + $engine = $this->get_engine(); + $engine->save(); + } + + /** + * Initializes engine object + */ + public function get_engine($type = null) + { + if (!$this->engine) { + $this->load_config(); + + // Add include path for internal classes + $include_path = $this->home . '/lib' . PATH_SEPARATOR; + $include_path .= ini_get('include_path'); + set_include_path($include_path); + + $class_name = 'rcube_sieve_' . ($type ? $type : 'engine'); + $this->engine = new $class_name($this); + } + + return $this->engine; + } + + /** + * Extract mail headers for new filter form + */ + private function parse_headers($headers) + { + $result = array(); + + if ($headers->subject) + $result[] = array('Subject', rcube_mime::decode_header($headers->subject)); + + // @TODO: List-Id, others? + foreach (array('From', 'To') as $h) { + $hl = strtolower($h); + if ($headers->$hl) { + $list = rcube_mime::decode_address_list($headers->$hl); + foreach ($list as $item) { + if ($item['mailto']) { + $result[] = array($h, $item['mailto']); + } + } + } + } + + return $result; + } +} diff --git a/plugins/managesieve/skins/classic/images/add.png b/plugins/managesieve/skins/classic/images/add.png Binary files differnew file mode 100644 index 000000000..97a6422fb --- /dev/null +++ b/plugins/managesieve/skins/classic/images/add.png diff --git a/plugins/managesieve/skins/classic/images/del.png b/plugins/managesieve/skins/classic/images/del.png Binary files differnew file mode 100644 index 000000000..518905bc4 --- /dev/null +++ b/plugins/managesieve/skins/classic/images/del.png diff --git a/plugins/managesieve/skins/classic/images/down_small.gif b/plugins/managesieve/skins/classic/images/down_small.gif Binary files differnew file mode 100644 index 000000000..f865893f4 --- /dev/null +++ b/plugins/managesieve/skins/classic/images/down_small.gif diff --git a/plugins/managesieve/skins/classic/images/erase.png b/plugins/managesieve/skins/classic/images/erase.png Binary files differnew file mode 100644 index 000000000..ddd3a9782 --- /dev/null +++ b/plugins/managesieve/skins/classic/images/erase.png diff --git a/plugins/managesieve/skins/classic/images/filter.png b/plugins/managesieve/skins/classic/images/filter.png Binary files differnew file mode 100644 index 000000000..a79ba1083 --- /dev/null +++ b/plugins/managesieve/skins/classic/images/filter.png diff --git a/plugins/managesieve/skins/classic/images/up_small.gif b/plugins/managesieve/skins/classic/images/up_small.gif Binary files differnew file mode 100644 index 000000000..40deb891f --- /dev/null +++ b/plugins/managesieve/skins/classic/images/up_small.gif diff --git a/plugins/managesieve/skins/classic/managesieve.css b/plugins/managesieve/skins/classic/managesieve.css new file mode 100644 index 000000000..5e7ea1a1c --- /dev/null +++ b/plugins/managesieve/skins/classic/managesieve.css @@ -0,0 +1,440 @@ +#filtersetslistbox +{ + position: absolute; + top: 0; + bottom: 0; + left: 0; + width: 195px; + border: 1px solid #999999; + background-color: #F9F9F9; + overflow: hidden; + /* css hack for IE */ + height: expression(parseInt(this.parentNode.offsetHeight)+'px'); +} + +#filtersscreen +{ + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 205px; + /* css hack for IE */ + height: expression(parseInt(this.parentNode.offsetHeight)+'px'); +} + +#filterslistbox +{ + position: absolute; + left: 0; + top: 0; + bottom: 0; + border: 1px solid #999999; + overflow: auto; + /* css hack for IE */ + height: expression(parseInt(this.parentNode.offsetHeight)+'px'); +} + +#filterslist, +#filtersetslist +{ + width: 100%; + table-layout: fixed; +} + +#filterslist tbody td, +#filtersetslist tbody td +{ + cursor: default; + text-overflow: ellipsis; + -o-text-overflow: ellipsis; +} + +#filterslist tbody tr.disabled td, +#filtersetslist tbody tr.disabled td +{ + color: #999999; +} + +#filtersetslist tbody td +{ + font-weight: bold; +} +/* +#filtersetslist tr.selected +{ + background-color: #929292; + border-bottom: 1px solid #898989; + color: #FFF; + font-weight: bold; +} +*/ + +#filterslist tbody tr.filtermoveup td +{ + border-top: 2px dotted #555; + padding-top: 0px; +} + +#filterslist tbody tr.filtermovedown td +{ + border-bottom: 2px dotted #555; + padding-bottom: 1px; +} + +#filter-box +{ + position: absolute; + top: 0; + right: 0; + bottom: 0; + border: 1px solid #999999; + overflow: hidden; + /* css hack for IE */ + width: expression((parseInt(this.parentNode.offsetWidth)-20-parseInt(document.getElementById('filterslistbox').offsetWidth))+'px'); + height: expression(parseInt(this.parentNode.offsetHeight)+'px'); +} + +#filter-frame +{ + border: none; +} + +body.iframe +{ + min-width: 620px; + width: expression(Math.max(620, document.documentElement.clientWidth)+'px'); + background-color: #F2F2F2; +} + +#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 +{ + color: #666666; +} + +#rules, #actions +{ + margin-top: 5px; + padding: 0; + border-collapse: collapse; +} + +div.rulerow, div.actionrow +{ + width: auto; + padding: 2px; + white-space: nowrap; + border: 1px solid #F2F2F2; +} + +div.rulerow:hover, div.actionrow:hover +{ + padding: 2px; + white-space: nowrap; + background: #F9F9F9; + border: 1px solid silver; +} + +div.rulerow table, div.actionrow table +{ + padding: 0px; + min-width: 600px; + width: expression(Math.max(600, document.documentElement.clientWidth)+'px'); +} + +td +{ + vertical-align: top; +} + +td.advbutton +{ + width: 1%; +} + +td.advbutton a +{ + display: block; + padding-top: 14px; + height: 6px; + width: 12px; + text-decoration: none; +} + +td.advbutton a.show +{ + background: url(images/down_small.gif) center no-repeat; +} + +td.advbutton a.hide +{ + background: url(images/up_small.gif) center no-repeat; +} + +td.rowbuttons +{ + text-align: right; + white-space: nowrap; + width: 1%; +} + +td.rowactions +{ + white-space: nowrap; + width: 1%; + padding-top: 2px; +} + +td.rowtargets +{ + white-space: nowrap; + width: 98%; + padding-left: 3px; + padding-top: 2px; +} + +td.rowtargets > div +{ + vertical-align: top; + margin-top: 2px; +} + +td.rowtargets div.adv +{ + padding-top: 3px; +} + +td.rowtargets div.adv span.label +{ + display: inline-block; + padding-right: 10px; + min-width: 65px; +} + +td.rowtargets div a +{ + margin-left: 10px; +} + +html.mozilla #filter-form select +{ + padding-top: 3px; + padding-bottom: 3px; +} + +input.disabled, input.disabled:hover +{ + color: #999999; +} + +input.error, textarea.error +{ + background-color: #FFFF88; +} + +input.box, +input.radio +{ + border: 0; + margin-top: 0; +} + +select.operator_selector +{ + width: 200px; + vertical-align: top; +} + +td.rowtargets span, +span.label +{ + color: #666666; + font-size: 10px; + white-space: nowrap; +} + +td.rowtargets label +{ + color: black; +} + +#footer +{ + padding-top: 5px; + width: 100%; +} + +#footer .footerleft +{ + padding-left: 2px; + white-space: nowrap; + float: left; +} + +#footer .footerright +{ + padding-right: 2px; + white-space: nowrap; + text-align: right; + float: right; +} + +.itemlist +{ + line-height: 25px; +} + +.itemlist input +{ + vertical-align: middle; +} + +span.sieve.error +{ + color: red; +} + +a.button.add +{ + background: url(images/add.png) no-repeat; + width: 30px; + height: 20px; + margin-right: 4px; + display: inline-block; +} + +a.button.del +{ + background: url(images/del.png) no-repeat; + width: 30px; + height: 20px; + display: inline-block; +} + +a.button.disabled +{ + opacity: 0.35; + filter: alpha(opacity=35); + cursor: default; +} + +#filter-form select, +#filter-form input, +#filter-form textarea +{ + font-size: 11px; + vertical-align: middle; +} + +/* smart multi-row input field */ +.listarea +{ + border: 1px solid #666; + margin: 0; + padding: 1px; + display: inline-block; + max-height: 67px; + overflow-y: auto; + vertical-align: middle; +} + +td.rowtargets > span.listarea +{ + vertical-align: top; + margin-top: 2px; +} + +.listelement +{ + display: block; + white-space: nowrap; + background-color: #fff; + border-top: 1px solid #e2e2e2; + height: 16px; + padding: 0; + margin: 0; + overflow: hidden; + line-height: 16px; +} + +.listarea.error .listelement +{ + background-color: #FFFFC4; +} + +.listelement:first-child +{ + border-top: none; +} + +#filter-form .listelement input +{ + border: none; + border-radius: 0; + box-shadow: none; + outline: none; + vertical-align: top; + height: 16px; + padding-top: 0; + padding-bottom: 0; + line-height: 16px; + background-color: transparent; +} + +.listelement input:focus +{ + box-shadow: none; +} + +.listelement .reset +{ + display: inline-block; + width: 16px; + height: 16px; + background: url(images/erase.png) -1px 0 no-repeat #eee; + cursor: pointer; +} + + +/* fixes for popup window */ + +body.iframe.mail +{ + margin: 0; + padding: 0; +} + +body.iframe.mail #filter-form +{ + padding: 10px 5px 5px 5px; +} + +#vacationform .listarea { + max-height: 75px; +} + +#vacationform .listelement, +#vacationform .listelement .reset { + height: 18px; +} + +#vacationform .listelement .reset { + background-position: -1px 1px; +} + +#vacationform .listelement input { + vertical-align: top; + border: 0; +} + +#vacationform input.button { + margin-left: 10px; +} diff --git a/plugins/managesieve/skins/classic/managesieve_mail.css b/plugins/managesieve/skins/classic/managesieve_mail.css new file mode 100644 index 000000000..1ade4f790 --- /dev/null +++ b/plugins/managesieve/skins/classic/managesieve_mail.css @@ -0,0 +1,62 @@ +#messagemenu li a.filterlink { + background-image: url(images/filter.png); + background-position: 7px 1px; +} + +#sievefilterform { + top: 0; + bottom: 0; + left: 0; + right: 0; + background-color: #F2F2F2; + border: 1px solid #999999; + padding: 0; + margin: 5px; +} + +#sievefilterform iframe { + top: 0; + bottom: 0; + left: 0; + right: 0; + width: 100%; + min-height: 100%; /* Chrome 14 bug */ + background-color: #F2F2F2; + border: 0; + padding: 0; + margin: 0; +} + +#sievefilterform ul { + list-style: none; + padding: 0; + margin: 0; + margin-top: 5px; +} + +#sievefilterform fieldset { + margin: 5px; +} + +#sievefilterform ul li { + margin-bottom: 5px; + white-space: nowrap; +} + +#sievefilterform ul li input { + margin-right: 5px; +} + +#sievefilterform label { + font-weight: bold; +} + +#managesieve-tip +{ + z-index: 100000; +} + +span.sieve.error +{ + color: red; +} diff --git a/plugins/managesieve/skins/classic/templates/filteredit.html b/plugins/managesieve/skins/classic/templates/filteredit.html new file mode 100644 index 000000000..8cef81682 --- /dev/null +++ b/plugins/managesieve/skins/classic/templates/filteredit.html @@ -0,0 +1,32 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<title><roundcube:object name="pagetitle" /></title> +<roundcube:include file="/includes/links.html" /> +</head> +<body class="iframe<roundcube:exp expression="env:task != 'mail' ? '' : ' mail'" />"> + +<roundcube:if condition="env:task != 'mail'" /> +<div id="filter-title" class="boxtitle"><roundcube:label name="managesieve.filterdef" /></div> +<roundcube:endif /> + +<div id="filter-form" class="boxcontent"> +<roundcube:object name="filterform" /> + +<roundcube:if condition="env:task != 'mail'" /> +<div id="footer"> +<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 /> + +</form> +</div> + +</body> +</html> diff --git a/plugins/managesieve/skins/classic/templates/managesieve.html b/plugins/managesieve/skins/classic/templates/managesieve.html new file mode 100644 index 000000000..6489d23b4 --- /dev/null +++ b/plugins/managesieve/skins/classic/templates/managesieve.html @@ -0,0 +1,85 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<title><roundcube:object name="pagetitle" /></title> +<roundcube:include file="/includes/links.html" /> +<script type="text/javascript" src="/functions.js"></script> +<script type="text/javascript" src="/splitter.js"></script> + +<style type="text/css"> +#filterslistbox { width: <roundcube:exp expression="!empty(cookie:sieveviewsplitter) ? cookie:sieveviewsplitter-5 : 210" />px; } +#filter-box { left: <roundcube:exp expression="!empty(cookie:sieveviewsplitter) ? cookie:sieveviewsplitter+5 : 220" />px; } +#filtersetslistbox { width: <roundcube:exp expression="!empty(cookie:sieveviewsplitter2) ? cookie:sieveviewsplitter2-5 : 175" />px; } +#filtersscreen { left: <roundcube:exp expression="!empty(cookie:sieveviewsplitter2) ? cookie:sieveviewsplitter2+5 : 185" />px; } +</style> + +</head> +<body> + +<roundcube:include file="/includes/taskbar.html" /> +<roundcube:include file="/includes/header.html" /> +<roundcube:include file="/includes/settingstabs.html" /> + +<div id="mainscreen"> + +<div id="filtersetslistbox"> +<div id="filtersetslist-title" class="boxtitle"><roundcube:label name="managesieve.filtersets" /></div> +<div class="boxlistcontent"> + <roundcube:object name="filtersetslist" id="filtersetslist" class="records-table" cellspacing="0" summary="Filters list" type="list" noheader="true" /> +</div> +<div class="boxfooter"> + <roundcube:button command="plugin.managesieve-setadd" type="link" title="managesieve.filtersetadd" class="buttonPas addfilterset" classAct="button addfilterset" content=" " /> + <roundcube:button name="filtersetmenulink" id="filtersetmenulink" type="link" title="moreactions" class="button groupactions" onclick="rcmail_ui.show_popup('filtersetmenu', undefined, {above:1});return false" content=" " /> +</div> +</div> + +<div id="filtersscreen"> +<div id="filterslistbox"> +<div class="boxtitle"><roundcube:label name="managesieve.filters" /></div> +<div class="boxlistcontent"> + <roundcube:object name="filterslist" id="filterslist" class="records-table" cellspacing="0" summary="Filters list" noheader="true" /> +</div> +<div class="boxfooter"> + <roundcube:button command="plugin.managesieve-add" type="link" title="managesieve.filteradd" class="buttonPas addfilter" classAct="button addfilter" content=" " /> + <roundcube:button name="filtermenulink" id="filtermenulink" type="link" title="moreactions" class="button groupactions" onclick="rcmail_ui.show_popup('filtermenu', undefined, {above:1});return false" content=" " /> +</div> +</div> + +<script type="text/javascript"> + var sieveviewsplit2 = new rcube_splitter({id:'sieveviewsplitter2', p1: 'filtersetslistbox', p2: 'filtersscreen', orientation: 'v', relative: true, start: 200}); + rcmail.add_onload('sieveviewsplit2.init()'); + + var sieveviewsplit = new rcube_splitter({id:'sieveviewsplitter', p1: 'filterslistbox', p2: 'filter-box', orientation: 'v', relative: true, start: 215}); + rcmail.add_onload('sieveviewsplit.init()'); +</script> + +<div id="filter-box"> + <roundcube:object name="filterframe" id="filter-frame" width="100%" height="100%" frameborder="0" src="/watermark.html" /> +</div> + +</div> +</div> + +<div id="filtersetmenu" class="popupmenu"> + <ul> + <li><roundcube:button command="plugin.managesieve-setact" label="managesieve.enable" classAct="active" /></li> + <li><roundcube:button command="plugin.managesieve-setdel" label="delete" classAct="active" /></li> + <li class="separator_above"><roundcube:button command="plugin.managesieve-setget" label="download" classAct="active" /></li> + <roundcube:container name="filtersetoptions" id="filtersetmenu" /> + </ul> +</div> + +<div id="filtermenu" class="popupmenu"> + <ul> + <li><roundcube:button command="plugin.managesieve-act" label="managesieve.enable" classAct="active" /></li> + <li><roundcube:button command="plugin.managesieve-del" label="delete" classAct="active" /></li> + <roundcube:container name="filteroptions" id="filtermenu" /> + </ul> +</div> + +<script type="text/javascript"> +rcube_init_mail_ui(); +</script> + +</body> +</html> diff --git a/plugins/managesieve/skins/classic/templates/setedit.html b/plugins/managesieve/skins/classic/templates/setedit.html new file mode 100644 index 000000000..c1010cae6 --- /dev/null +++ b/plugins/managesieve/skins/classic/templates/setedit.html @@ -0,0 +1,23 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<title><roundcube:object name="pagetitle" /></title> +<roundcube:include file="/includes/links.html" /> +</head> +<body class="iframe"> + +<div id="filter-title" class="boxtitle"><roundcube:label name="managesieve.newfilterset" /></div> + +<div id="filter-form" class="boxcontent"> +<roundcube:object name="filtersetform" /> + +<p> +<roundcube:button command="plugin.managesieve-save" type="input" class="button mainaction" label="save" /> +</p> + +</form> +</div> + + +</body> +</html> diff --git a/plugins/managesieve/skins/classic/templates/vacation.html b/plugins/managesieve/skins/classic/templates/vacation.html new file mode 100644 index 000000000..26e408eef --- /dev/null +++ b/plugins/managesieve/skins/classic/templates/vacation.html @@ -0,0 +1,31 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<title><roundcube:object name="pagetitle" /></title> +<roundcube:include file="/includes/links.html" /> +<script type="text/javascript" src="/functions.js"></script> +</head> +<body> + +<roundcube:include file="/includes/taskbar.html" /> +<roundcube:include file="/includes/header.html" /> +<roundcube:include file="/includes/settingstabs.html" /> + +<div id="mainscreen"> + <div class="box" style="height: 100%; overflow: auto"> + <div id="prefs-title" class="boxtitle"><roundcube:label name="managesieve.vacation" /></div> + <roundcube:object name="vacationform" id="vacationform" style="margin: 10px 10px 0 10px" /> + <div id="formfooter" style="padding: 0 10px"> + <div class="footerleft"> + <roundcube:button command="plugin.managesieve-save" type="input" class="button mainaction" label="save" /> + </div> + </div> + </div> +</div> + +<script type="text/javascript"> +rcube_init_mail_ui(); +</script> + +</body> +</html> diff --git a/plugins/managesieve/skins/larry/images/add.png b/plugins/managesieve/skins/larry/images/add.png Binary files differnew file mode 100644 index 000000000..97a6422fb --- /dev/null +++ b/plugins/managesieve/skins/larry/images/add.png diff --git a/plugins/managesieve/skins/larry/images/del.png b/plugins/managesieve/skins/larry/images/del.png Binary files differnew file mode 100644 index 000000000..518905bc4 --- /dev/null +++ b/plugins/managesieve/skins/larry/images/del.png diff --git a/plugins/managesieve/skins/larry/images/down_small.gif b/plugins/managesieve/skins/larry/images/down_small.gif Binary files differnew file mode 100644 index 000000000..f865893f4 --- /dev/null +++ b/plugins/managesieve/skins/larry/images/down_small.gif diff --git a/plugins/managesieve/skins/larry/images/erase.png b/plugins/managesieve/skins/larry/images/erase.png Binary files differnew file mode 100644 index 000000000..ddd3a9782 --- /dev/null +++ b/plugins/managesieve/skins/larry/images/erase.png diff --git a/plugins/managesieve/skins/larry/images/up_small.gif b/plugins/managesieve/skins/larry/images/up_small.gif Binary files differnew file mode 100644 index 000000000..40deb891f --- /dev/null +++ b/plugins/managesieve/skins/larry/images/up_small.gif diff --git a/plugins/managesieve/skins/larry/images/vacation_icons.png b/plugins/managesieve/skins/larry/images/vacation_icons.png Binary files differnew file mode 100644 index 000000000..f8933d487 --- /dev/null +++ b/plugins/managesieve/skins/larry/images/vacation_icons.png diff --git a/plugins/managesieve/skins/larry/managesieve.css b/plugins/managesieve/skins/larry/managesieve.css new file mode 100644 index 000000000..d5098e0ce --- /dev/null +++ b/plugins/managesieve/skins/larry/managesieve.css @@ -0,0 +1,459 @@ +#filtersetslistbox +{ + position: absolute; + top: 0; + bottom: 0; + left: 0; + width: 150px; +} + +#filtersscreen +{ + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 162px; +} + +#filterslistbox +{ + position: absolute; + left: 0; + top: 0; + bottom: 0; + width: 180px; +} + +#filter-box +{ + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 192px; +} + +#filter-frame +{ + border-radius: 4px; +} + +#filterslist, +#filtersetslist +{ + width: 100%; + table-layout: fixed; +} + +#filterslist tbody td, +#filtersetslist tbody td +{ + width: 100%; + overflow: hidden; + text-overflow: ellipsis; +} + +#filterslist tbody tr.disabled td, +#filtersetslist tbody tr.disabled td +{ + color: #87A3AA; +} + +#filtersetslist tbody td +{ + font-weight: bold; +} + +#filterslist tbody tr.filtermoveup td +{ + border-top: 2px dotted #555 !important; + padding-top: 5px; +} + +#filterslist tbody tr.filtermovedown td +{ + border-bottom: 2px dotted #555 !important; + padding-bottom: 4px; +} + +body.iframe +{ + min-width: 620px; +} + +#filter-form +{ + min-width: 550px; + white-space: nowrap; + padding: 20px 10px 10px 10px; +} + +#filter-form legend, #filter-form label +{ + color: #666666; +} + +#rules, #actions +{ + margin-top: 5px; + padding: 0; + border-collapse: collapse; +} + +div.rulerow, div.actionrow +{ + width: auto; + padding: 2px; + white-space: nowrap; + border: 1px solid white; +} + +div.rulerow:hover, div.actionrow:hover +{ + padding: 2px; + white-space: nowrap; + background-color: #D9ECF4; + border: 1px solid #BBD3DA; + border-radius: 4px; +} + +div.rulerow table, div.actionrow table +{ + padding: 0px; + min-width: 600px; +} + +#filter-form td +{ + vertical-align: top; +} + +td.advbutton +{ + width: 1%; +} + +td.advbutton a +{ + display: block; + padding-top: 14px; + height: 6px; + width: 12px; + text-decoration: none; +} + +td.advbutton a.show +{ + background: url(images/down_small.gif) center no-repeat; +} + +td.advbutton a.hide +{ + background: url(images/up_small.gif) center no-repeat; +} + +td.rowbuttons +{ + text-align: right; + white-space: nowrap; + width: 1%; +} + +td.rowactions +{ + white-space: nowrap; + width: 1%; + padding-top: 2px; +} + +td.rowtargets +{ + white-space: nowrap; + width: 98%; + padding-left: 3px; + padding-top: 2px; +} + +td.rowtargets > div +{ + vertical-align: top; + margin-top: 2px; +} + +td.rowtargets div.adv +{ + padding-top: 3px; + font-size: 10px; +} + +td.rowtargets div.adv span.label +{ + display: inline-block; + padding-right: 5px; + min-width: 70px; +} + +td.rowtargets div a { + margin-left: 10px; +} + +input.disabled, input.disabled:hover +{ + color: #999999; +} + +input.error, textarea.error +{ + background-color: #FFFFC4; +} + +input.box, +input.radio +{ + border: 0; + margin-top: 0; +} + +input.radio +{ + vertical-align: middle; +} + +select.operator_selector +{ + width: 200px; + vertical-align: top; +} + +td.rowtargets span, +span.label +{ + color: #666666; + font-size: 10px; + white-space: nowrap; +} + +td.rowtargets label +{ + color: black; +} + +#footer +{ + padding-top: 5px; + width: 100%; +} + +#footer .footerleft label +{ + margin-left: 40px; + white-space: nowrap; +} + +.itemlist +{ + line-height: 25px; +} + +.itemlist input +{ + vertical-align: middle; +} + +span.sieve.error +{ + color: red; + white-space: nowrap; +} + +#managesieve-tip +{ + padding: 3px; + background-color: #eee; +} + +a.button +{ + margin: 0; + padding: 0; +} + +a.button.add +{ + background: url(images/add.png) no-repeat; + width: 30px; + height: 20px; + margin-right: 4px; + display: inline-block; +} + +a.button.del +{ + background: url(images/del.png) no-repeat; + width: 30px; + height: 20px; + display: inline-block; +} + +a.button.disabled +{ + opacity: 0.35; + filter: alpha(opacity=35); + cursor: default; +} + +#filter-form select, +#filter-form input, +#filter-form textarea +{ + font-size: 11px; + padding: 1px; + vertical-align: middle; + max-width: 280px; +} + +/* revert larry style button */ +#filter-form input.button +{ + padding: 4px 12px; +} + +fieldset +{ + border-radius: 4px; +} + +/* smart multi-row input field */ +.listarea +{ + border: 1px solid #B2B2B2; + border-radius: 4px; + box-shadow: inset 0 0 2px 1px rgba(0,0,0, 0.1); + -webkit-box-shadow: inset 0 0 2px 1px rgba(0,0,0, 0.1); + margin: 0; + padding: 2px; + display: inline-block; + max-height: 59px; + overflow-y: auto; + vertical-align: middle; +} + +td.rowtargets > span.listarea +{ + vertical-align: top; + margin-top: 2px; +} + +.listelement +{ + display: block; + white-space: nowrap; + background-color: #fff; + border-top: 1px solid #e2e2e2; + height: 14px; + padding: 0; + margin: 0; + overflow: hidden; + line-height: 14px; +} + +.listarea.error .listelement +{ + background-color: #FFFFC4; +} + +.listelement:first-child +{ + border-top: none; +} + +#filter-form .listelement input +{ + border: none; + border-radius: 0; + box-shadow: none; + outline: none; + vertical-align: top; + height: 14px; + padding-top: 0; + padding-bottom: 0; + line-height: 14px; + background-color: transparent; +} + +.listelement input:focus +{ + box-shadow: none; +} + +.listelement .reset +{ + display: inline-block; + width: 16px; + height: 16px; + background: url(images/erase.png) -1px -1px no-repeat #eee; + cursor: pointer; +} + + +/* fixes for popup window */ + +body.iframe.mail +{ + margin: 0; + padding: 0; +} + +body.iframe.mail #filter-form +{ + padding: 10px 5px 5px 5px; +} + + +/* vacation form */ +#settings-sections .vacation a { + background-image: url(images/vacation_icons.png); + background-repeat: no-repeat; + background-position: 7px 1px; +} + +#settings-sections .vacation.selected a { + background-position: 7px -23px; +} + +#managesieve-vacation { + position: absolute; + top: 0; + left: 212px; + right: 0; + bottom: 0; + overflow: auto; +} + +#vacationform .listarea { + max-height: 91px; +} + +#vacationform .listelement, +#vacationform .listelement .reset { + height: 22px; +} + +#vacationform .listelement .reset { + background-position: -1px 3px; +} + +#vacationform .listelement input { + vertical-align: top; + border: 0; + box-shadow: none; +} + +#vacationform td.vacation { + white-space: nowrap; +} + +#vacationform input.button { + margin-left: 10px; +} diff --git a/plugins/managesieve/skins/larry/managesieve_mail.css b/plugins/managesieve/skins/larry/managesieve_mail.css new file mode 100644 index 000000000..855aa8e7d --- /dev/null +++ b/plugins/managesieve/skins/larry/managesieve_mail.css @@ -0,0 +1,62 @@ +ul.toolbarmenu li span.filterlink { + background-position: 0 -2174px; +} + +#sievefilterform { + top: 0; + bottom: 0; + left: 0; + right: 0; + padding: 0; + overflow: hidden; +} + +#sievefilterform iframe { + top: 0; + bottom: 0; + left: 0; + right: 0; + width: 100%; + min-height: 100%; /* Chrome 14 bug */ + border: 0; + padding: 0; + margin: 0; +} + +#sievefilterform ul { + list-style: none; + padding: 0; + margin: 0; + margin-top: 5px; +} + +#sievefilterform fieldset { + margin: 5px; + border-radius: 4px; +} + +#sievefilterform ul li { + margin-bottom: 5px; + white-space: nowrap; +} + +#sievefilterform ul li input { + margin-right: 5px; +} + +#sievefilterform label { + font-weight: bold; +} + +#managesieve-tip +{ + z-index: 100000; + padding: 3px; + background-color: #eee; +} + +span.sieve.error +{ + color: red; + white-space: nowrap; +} diff --git a/plugins/managesieve/skins/larry/templates/filteredit.html b/plugins/managesieve/skins/larry/templates/filteredit.html new file mode 100644 index 000000000..1933b58ae --- /dev/null +++ b/plugins/managesieve/skins/larry/templates/filteredit.html @@ -0,0 +1,32 @@ +<roundcube:object name="doctype" value="html5" /> +<html> +<head> +<title><roundcube:object name="pagetitle" /></title> +<roundcube:include file="/includes/links.html" /> +</head> +<body class="iframe<roundcube:exp expression="env:task != 'mail' ? ' floatingbuttons' : ' mail'" />"> + +<roundcube:if condition="env:task != 'mail'" /> +<div id="filter-title" class="boxtitle"><roundcube:label name="managesieve.filterdef" /></div> +<roundcube:endif /> + +<div id="filter-form" class="boxcontent"> +<roundcube:object name="filterform" /> + +<roundcube:if condition="env:task != 'mail'" /> +<div id="footer"> +<div class="footerleft formbuttons floating"> +<roundcube:button command="plugin.managesieve-save" type="input" class="button mainaction" label="save" /> +<label for="disabled"> +<input type="checkbox" id="disabled" name="_disabled" value="1" /> +<roundcube:label name="managesieve.filterdisabled" /> +</label> +</div> +</div> +<roundcube:endif /> + +</form> +</div> + +</body> +</html> diff --git a/plugins/managesieve/skins/larry/templates/managesieve.html b/plugins/managesieve/skins/larry/templates/managesieve.html new file mode 100644 index 000000000..494af6ae2 --- /dev/null +++ b/plugins/managesieve/skins/larry/templates/managesieve.html @@ -0,0 +1,79 @@ +<roundcube:object name="doctype" value="html5" /> +<html> +<head> +<title><roundcube:object name="pagetitle" /></title> +<roundcube:include file="/includes/links.html" /> +</head> +<roundcube:if condition="env:extwin" /><body class="noscroll extwin"><roundcube:else /><body class="noscroll"><roundcube:endif /> + +<roundcube:include file="/includes/header.html" /> + +<h1 class="voice"><roundcube:label name="settings" /> : <roundcube:label name="managesieve.filters" /></h1> + +<div id="mainscreen" class="offset"> + +<roundcube:include file="/includes/settingstabs.html" /> + +<div id="settings-right" role="main"> +<div id="filtersetslistbox" class="uibox listbox" aria-labelledby="aria-label-filtersets"> +<h2 class="boxtitle" id="aria-label-filtersets"><roundcube:label name="managesieve.filtersets" /></h2> +<div class="scroller withfooter"> + <roundcube:object name="filtersetslist" id="filtersetslist" class="listing" summary="managesieve.ariasummaryfiltersetslist" type="list" noheader="true" role="listbox" /> +</div> +<div class="boxfooter"> + <roundcube:button command="plugin.managesieve-setadd" type="link" title="managesieve.filtersetadd" class="listbutton add disabled" classAct="listbutton add" innerClass="inner" content="+" /><roundcube:button name="filtersetmenulink" id="filtersetmenulink" type="link" title="moreactions" class="listbutton groupactions" onclick="return UI.toggle_popup('filtersetmenu', event)" innerClass="inner" content="⚙" aria-haspopup="true" aria-expanded="false" aria-owns="filtersetmenu-menu" /> +</div> +</div> + +<div id="filtersscreen"> +<div id="filterslistbox" class="uibox listbox" aria-labelledby="aria-label-filters"> +<h2 class="boxtitle" id="aria-label-filters"><roundcube:label name="managesieve.filters" /></h2> +<div class="scroller withfooter"> + <roundcube:object name="filterslist" id="filterslist" class="listing" summary="managesieve.ariasummaryfilterslist" noheader="true" role="listbox" /> +</div> +<div class="boxfooter"> + <roundcube:button command="plugin.managesieve-add" type="link" title="managesieve.filteradd" class="listbutton add disabled" classAct="listbutton add" innerClass="inner" content="+" /><roundcube:button name="filtermenulink" id="filtermenulink" type="link" title="moreactions" class="listbutton groupactions" onclick="return UI.toggle_popup('filtermenu', event)" innerClass="inner" content="⚙" aria-haspopup="true" aria-expanded="false" aria-owns="filtermenu-menu" /> +</div> +</div> + +<div id="filter-box" class="uibox contentbox"> + <div class="iframebox" role="complementary" aria-labelledby="aria-label-filterform"> + <h2 id="aria-label-filterframe" class="voice"><roundcube:label name="managesieve.arialabelfilterform" /></h2> + <roundcube:object name="filterframe" id="filter-frame" style="width:100%; height:100%" frameborder="0" src="/watermark.html" title="managesieve.arialabelfilterform" /> + </div> +</div> + +</div> +</div> +</div> + +<div id="filtersetmenu" class="popupmenu" aria-hidden="true"> + <h3 id="aria-label-setactions" class="voice"><roundcube:label name="managesieve.arialabelfiltersetactions" /></h3> + <ul class="toolbarmenu" id="filtersetmenu-menu" role="menu" aria-labelledby="aria-label-setactions"> + <li role="menuitem"><roundcube:button command="plugin.managesieve-setact" label="managesieve.enable" classAct="active" /></li> + <li role="menuitem"><roundcube:button command="plugin.managesieve-setdel" label="delete" classAct="active" /></li> + <li role="menuitem" class="separator_above"><roundcube:button command="plugin.managesieve-setget" label="download" classAct="active" /></li> + <roundcube:container name="filtersetoptions" id="filtersetmenu" /> + </ul> +</div> + +<div id="filtermenu" class="popupmenu" aria-hidden="true"> + <h3 id="aria-label-filteractions" class="voice"><roundcube:label name="managesieve.arialabelfilteractions" /></h3> + <ul class="toolbarmenu" id="filtermenu-menu" role="menu" aria-labelledby="aria-label-filteractions"> + <li role="menuitem"><roundcube:button command="plugin.managesieve-act" label="managesieve.enable" classAct="active" /></li> + <li role="menuitem"><roundcube:button command="plugin.managesieve-del" label="delete" classAct="active" /></li> + <roundcube:container name="filteroptions" id="filtermenu" /> + </ul> +</div> + +<roundcube:include file="/includes/footer.html" /> + +<script type="text/javascript"> + new rcube_splitter({ id:'managesievesplitter1', p1:'#filtersetslistbox', p2:'#filtersscreen', + orientation:'v', relative:true, start:156, min:120, size:12 }).init(); + new rcube_splitter({ id:'managesievesplitter2', p1:'#filterslistbox', p2:'#filter-box', + orientation:'v', relative:true, start:186, min:120, size:12 }).init(); +</script> + +</body> +</html> diff --git a/plugins/managesieve/skins/larry/templates/setedit.html b/plugins/managesieve/skins/larry/templates/setedit.html new file mode 100644 index 000000000..3b8f98b36 --- /dev/null +++ b/plugins/managesieve/skins/larry/templates/setedit.html @@ -0,0 +1,24 @@ +<roundcube:object name="doctype" value="html5" /> +<html> +<head> +<title><roundcube:object name="pagetitle" /></title> +<roundcube:include file="/includes/links.html" /> +</head> +<body class="iframe floatingbuttons"> + +<div id="filter-title" class="boxtitle"><roundcube:label name="managesieve.newfilterset" /></div> + +<div id="filter-form" class="boxcontent"> +<roundcube:object name="filtersetform" /> + +<div id="footer"> +<div class="footerleft formbuttons floating"> +<roundcube:button command="plugin.managesieve-save" type="input" class="button mainaction" label="save" /> +</div> +</div> + +</form> +</div> + +</body> +</html> diff --git a/plugins/managesieve/skins/larry/templates/vacation.html b/plugins/managesieve/skins/larry/templates/vacation.html new file mode 100644 index 000000000..26dd2027b --- /dev/null +++ b/plugins/managesieve/skins/larry/templates/vacation.html @@ -0,0 +1,32 @@ +<roundcube:object name="doctype" value="html5" /> +<html> +<head> +<title><roundcube:object name="pagetitle" /></title> +<roundcube:include file="/includes/links.html" /> +</head> +<body class="noscroll"> + +<roundcube:include file="/includes/header.html" /> + +<div id="mainscreen" class="offset"> + +<h1 class="voice"><roundcube:label name="settings" /> : <roundcube:label name="managesieve.vacation" /></h1> + +<roundcube:include file="/includes/settingstabs.html" /> + +<div id="managesieve-vacation" class="uibox contentbox" role="main" aria-labelledby="aria-label-vacationform"> + <div> + <h2 class="boxtitle" id="aria-label-vacationform"><roundcube:label name="managesieve.vacation" /></h2> + <roundcube:object name="vacationform" id="vacationform" class="propform boxcontent tabbed" /> + </div> + <div class="footerleft formbuttons"> + <roundcube:button command="plugin.managesieve-save" type="input" class="button mainaction" label="save" /> + </div> +</div> + +</div> + +<roundcube:include file="/includes/footer.html" /> + +</body> +</html> diff --git a/plugins/managesieve/tests/Managesieve.php b/plugins/managesieve/tests/Managesieve.php new file mode 100644 index 000000000..6e930b81d --- /dev/null +++ b/plugins/managesieve/tests/Managesieve.php @@ -0,0 +1,23 @@ +<?php + +class Managesieve_Plugin extends PHPUnit_Framework_TestCase +{ + + function setUp() + { + include_once __DIR__ . '/../managesieve.php'; + } + + /** + * Plugin object construction test + */ + function test_constructor() + { + $rcube = rcube::get_instance(); + $plugin = new managesieve($rcube->api); + + $this->assertInstanceOf('managesieve', $plugin); + $this->assertInstanceOf('rcube_plugin', $plugin); + } +} + diff --git a/plugins/managesieve/tests/Parser.php b/plugins/managesieve/tests/Parser.php new file mode 100644 index 000000000..33edce0f0 --- /dev/null +++ b/plugins/managesieve/tests/Parser.php @@ -0,0 +1,62 @@ +<?php + +class Parser extends PHPUnit_Framework_TestCase +{ + + function setUp() + { + include_once __DIR__ . '/../lib/Roundcube/rcube_sieve_script.php'; + } + + /** + * Sieve script parsing + * + * @dataProvider data_parser + */ + function test_parser($input, $output, $message) + { + // get capabilities list from the script + $caps = array(); + if (preg_match('/require \[([a-z0-9", ]+)\]/', $input, $m)) { + foreach (explode(',', $m[1]) as $cap) { + $caps[] = trim($cap, '" '); + } + } + + $script = new rcube_sieve_script($input, $caps); + $result = $script->as_text(); + + $this->assertEquals(trim($result), trim($output), $message); + } + + /** + * Data provider for test_parser() + */ + function data_parser() + { + $dir_path = realpath(__DIR__ . '/src'); + $dir = opendir($dir_path); + $result = array(); + + while ($file = readdir($dir)) { + if (preg_match('/^[a-z0-9_]+$/', $file)) { + $input = file_get_contents($dir_path . '/' . $file); + + if (file_exists($dir_path . '/' . $file . '.out')) { + $output = file_get_contents($dir_path . '/' . $file . '.out'); + } + else { + $output = $input; + } + + $result[] = array( + 'input' => $input, + 'output' => $output, + 'message' => "Error in parsing '$file' file", + ); + } + } + + return $result; + } +} diff --git a/plugins/managesieve/tests/Tokenizer.php b/plugins/managesieve/tests/Tokenizer.php new file mode 100644 index 000000000..f50ed75b7 --- /dev/null +++ b/plugins/managesieve/tests/Tokenizer.php @@ -0,0 +1,33 @@ +<?php + +class Tokenizer extends PHPUnit_Framework_TestCase +{ + + function setUp() + { + include_once __DIR__ . '/../lib/Roundcube/rcube_sieve_script.php'; + } + + function data_tokenizer() + { + return array( + array(1, "text: #test\nThis is test ; message;\nMulti line\n.\n;\n", '"This is test ; message;\nMulti line"'), + array(0, '["test1","test2"]', '[["test1","test2"]]'), + array(1, '["test"]', '["test"]'), + array(1, '"te\\"st"', '"te\\"st"'), + array(0, 'test #comment', '["test"]'), + array(0, "text:\ntest\n.\ntext:\ntest\n.\n", '["test","test"]'), + array(1, '"\\a\\\\\\"a"', '"a\\\\\\"a"'), + ); + } + + /** + * @dataProvider data_tokenizer + */ + function test_tokenizer($num, $input, $output) + { + $res = json_encode(rcube_sieve_script::tokenize($input, $num)); + + $this->assertEquals(trim($res), trim($output)); + } +} diff --git a/plugins/managesieve/tests/Vacation.php b/plugins/managesieve/tests/Vacation.php new file mode 100644 index 000000000..942525c2f --- /dev/null +++ b/plugins/managesieve/tests/Vacation.php @@ -0,0 +1,66 @@ +<?php + +class Managesieve_Vacation extends PHPUnit_Framework_TestCase +{ + + function setUp() + { + include_once __DIR__ . '/../lib/Roundcube/rcube_sieve_engine.php'; + include_once __DIR__ . '/../lib/Roundcube/rcube_sieve_vacation.php'; + } + + /** + * Plugin object construction test + */ + function test_constructor() + { + $vacation = new rcube_sieve_vacation(true); + + $this->assertInstanceOf('rcube_sieve_vacation', $vacation); + } + + function test_build_regexp_tests() + { + $tests = rcube_sieve_vacation::build_regexp_tests('2014-02-20', '2014-03-05', $error); + + $this->assertCount(2, $tests); + $this->assertSame('header', $tests[0]['test']); + $this->assertSame('regex', $tests[0]['type']); + $this->assertSame('received', $tests[0]['arg1']); + $this->assertSame('(20|21|22|23|24|25|26|27|28) Feb 2014', $tests[0]['arg2']); + $this->assertSame('header', $tests[1]['test']); + $this->assertSame('regex', $tests[1]['type']); + $this->assertSame('received', $tests[1]['arg1']); + $this->assertSame('([ 0]1|[ 0]2|[ 0]3|[ 0]4|[ 0]5) Mar 2014', $tests[1]['arg2']); + + $tests = rcube_sieve_vacation::build_regexp_tests('2014-02-20', '2014-01-05', $error); + + $this->assertSame(null, $tests); + $this->assertSame('managesieve.invaliddateformat', $error); + } + + function test_parse_regexp_tests() + { + $tests = array( + array( + 'test' => 'header', + 'type' => 'regex', + 'arg1' => 'received', + 'arg2' => '(20|21|22|23|24|25|26|27|28) Feb 2014', + ), + array( + 'test' => 'header', + 'type' => 'regex', + 'arg1' => 'received', + 'arg2' => '([ 0]1|[ 0]2|[ 0]3|[ 0]4|[ 0]5) Mar 2014', + ) + ); + + $result = rcube_sieve_vacation::parse_regexp_tests($tests); + + $this->assertCount(2, $result); + $this->assertSame('20 Feb 2014', $result['from']); + $this->assertSame('05 Mar 2014', $result['to']); + } +} + diff --git a/plugins/managesieve/tests/src/parser b/plugins/managesieve/tests/src/parser new file mode 100644 index 000000000..c99b49814 --- /dev/null +++ b/plugins/managesieve/tests/src/parser @@ -0,0 +1,52 @@ +require ["fileinto","reject","envelope"]; +# rule:[spam] +if anyof (header :contains "X-DSPAM-Result" "Spam") +{ + fileinto "Spam"; + stop; +} +# rule:[test1] +if anyof (header :contains :comparator "i;ascii-casemap" ["From","To"] "test@domain.tld") +{ + discard; + stop; +} +# rule:[test2] +if anyof (not header :contains :comparator "i;octet" ["Subject"] "[test]", header :contains "Subject" "[test2]") +{ + fileinto "test"; + stop; +} +# rule:[comments] +if anyof (true) /* comment + * "comment" #comment */ { + /* comment */ stop; +# comment +} +# rule:[reject] +if size :over 5000K { + reject "Message over 5MB size limit. Please contact me before sending this."; +} +# rule:[false] +if false # size :over 5000K +{ + stop; /* rule disabled */ +} +# rule:[true] +if true +{ + stop; +} +fileinto "Test"; +# rule:[address test] +if address :all :is "From" "nagios@domain.tld" +{ + fileinto "domain.tld"; + stop; +} +# rule:[envelope test] +if envelope :domain :is "From" "domain.tld" +{ + fileinto "domain.tld"; + stop; +} diff --git a/plugins/managesieve/tests/src/parser.out b/plugins/managesieve/tests/src/parser.out new file mode 100644 index 000000000..796343d4a --- /dev/null +++ b/plugins/managesieve/tests/src/parser.out @@ -0,0 +1,52 @@ +require ["envelope","fileinto","reject"]; +# rule:[spam] +if header :contains "X-DSPAM-Result" "Spam" +{ + fileinto "Spam"; + stop; +} +# rule:[test1] +if header :contains ["From","To"] "test@domain.tld" +{ + discard; + stop; +} +# rule:[test2] +if anyof (not header :contains :comparator "i;octet" "Subject" "[test]", header :contains "Subject" "[test2]") +{ + fileinto "test"; + stop; +} +# rule:[comments] +if true +{ + stop; +} +# rule:[reject] +if size :over 5000K +{ + reject "Message over 5MB size limit. Please contact me before sending this."; +} +# rule:[false] +if false # size :over 5000K +{ + stop; +} +# rule:[true] +if true +{ + stop; +} +fileinto "Test"; +# rule:[address test] +if address :is "From" "nagios@domain.tld" +{ + fileinto "domain.tld"; + stop; +} +# rule:[envelope test] +if envelope :domain :is "From" "domain.tld" +{ + fileinto "domain.tld"; + stop; +} diff --git a/plugins/managesieve/tests/src/parser_body b/plugins/managesieve/tests/src/parser_body new file mode 100644 index 000000000..bd142ed8c --- /dev/null +++ b/plugins/managesieve/tests/src/parser_body @@ -0,0 +1,17 @@ +require ["body","fileinto"]; +if body :raw :contains "MAKE MONEY FAST" +{ + stop; +} +if body :content "text" :contains ["missile","coordinates"] +{ + fileinto "secrets"; +} +if body :content "audio/mp3" :contains "" +{ + fileinto "jukebox"; +} +if body :text :contains "project schedule" +{ + fileinto "project/schedule"; +} diff --git a/plugins/managesieve/tests/src/parser_date b/plugins/managesieve/tests/src/parser_date new file mode 100644 index 000000000..06b00333f --- /dev/null +++ b/plugins/managesieve/tests/src/parser_date @@ -0,0 +1,21 @@ +require ["comparator-i;ascii-numeric","date","fileinto","relational"]; +# rule:[date] +if allof (date :originalzone :value "ge" :comparator "i;ascii-numeric" "date" "hour" "09") +{ + fileinto "urgent"; +} +# rule:[date-weekday] +if date :is "received" "weekday" "0" +{ + fileinto "weekend"; +} +# rule:[date-zone] +if date :zone "-0500" :value "gt" :comparator "i;ascii-numeric" "received" "iso8601" "2007-02-26T09:00:00-05:00" +{ + stop; +} +# rule:[currentdate] +if anyof (currentdate :is "weekday" "0", currentdate :value "lt" :comparator "i;ascii-numeric" "hour" "09", currentdate :value "ge" :comparator "i;ascii-numeric" "date" "2007-06-30") +{ + stop; +} diff --git a/plugins/managesieve/tests/src/parser_enotify_a b/plugins/managesieve/tests/src/parser_enotify_a new file mode 100644 index 000000000..68a9ef5cc --- /dev/null +++ b/plugins/managesieve/tests/src/parser_enotify_a @@ -0,0 +1,19 @@ +require ["enotify","variables"]; +# rule:[notify1] +if header :contains "from" "boss@example.org" +{ + notify :importance "1" :message "This is probably very important" "mailto:alm@example.com"; + stop; +} +# rule:[subject] +if header :matches "Subject" "*" +{ + set "subject" "${1}"; +} +# rule:[from notify2] +if header :matches "From" "*" +{ + set "from" "${1}"; + notify :importance "3" :message "${from}: ${subject}" "mailto:alm@example.com"; +} + diff --git a/plugins/managesieve/tests/src/parser_enotify_b b/plugins/managesieve/tests/src/parser_enotify_b new file mode 100644 index 000000000..a3011bac2 --- /dev/null +++ b/plugins/managesieve/tests/src/parser_enotify_b @@ -0,0 +1,18 @@ +require ["enotify","envelope","variables"]; +# rule:[from] +if envelope :matches "from" "*" +{ + set "env_from" " [really: ${1}]"; +} +# rule:[subject] +if header :matches "Subject" "*" +{ + set "subject" "${1}"; +} +# rule:[from notify] +if address :matches "from" "*" +{ + set "from_addr" "${1}"; + notify :message "${from_addr}${env_from}: ${subject}" "mailto:alm@example.com"; +} + diff --git a/plugins/managesieve/tests/src/parser_imapflags b/plugins/managesieve/tests/src/parser_imapflags new file mode 100644 index 000000000..e67bf7cfc --- /dev/null +++ b/plugins/managesieve/tests/src/parser_imapflags @@ -0,0 +1,7 @@ +require ["imap4flags"]; +# rule:[imapflags] +if header :matches "Subject" "^Test$" +{ + setflag "\\Seen"; + addflag ["\\Answered","\\Deleted"]; +} diff --git a/plugins/managesieve/tests/src/parser_include b/plugins/managesieve/tests/src/parser_include new file mode 100644 index 000000000..b5585a4ba --- /dev/null +++ b/plugins/managesieve/tests/src/parser_include @@ -0,0 +1,7 @@ +require ["include"]; +include "script.sieve"; +# rule:[two] +if true +{ + include :optional "second.sieve"; +} diff --git a/plugins/managesieve/tests/src/parser_index b/plugins/managesieve/tests/src/parser_index new file mode 100644 index 000000000..ca9f86d56 --- /dev/null +++ b/plugins/managesieve/tests/src/parser_index @@ -0,0 +1,24 @@ +require ["comparator-i;ascii-numeric","date","fileinto","index","relational"]; +# rule:[index-header1] +if header :index 1 :last :contains "X-DSPAM-Result" "Spam" +{ + fileinto "Spam"; + stop; +} +# rule:[index-header2] +if header :index 2 :contains ["From","To"] "test@domain.tld" +{ + discard; + stop; +} +# rule:[index-address] +if address :index 1 :is "From" "nagios@domain.tld" +{ + fileinto "domain.tld"; + stop; +} +# rule:[index-date] +if date :index 1 :last :zone "-0500" :value "gt" :comparator "i;ascii-numeric" "received" "iso8601" "2007-02-26T09:00:00-05:00" +{ + stop; +} diff --git a/plugins/managesieve/tests/src/parser_kep14 b/plugins/managesieve/tests/src/parser_kep14 new file mode 100644 index 000000000..1ded8d8d4 --- /dev/null +++ b/plugins/managesieve/tests/src/parser_kep14 @@ -0,0 +1,2 @@ +# EDITOR Roundcube +# EDITOR_VERSION 123 diff --git a/plugins/managesieve/tests/src/parser_kep14.out b/plugins/managesieve/tests/src/parser_kep14.out new file mode 100644 index 000000000..cb7faa7f8 --- /dev/null +++ b/plugins/managesieve/tests/src/parser_kep14.out @@ -0,0 +1,3 @@ +require ["variables"]; +set "EDITOR" "Roundcube"; +set "EDITOR_VERSION" "123"; diff --git a/plugins/managesieve/tests/src/parser_notify_a b/plugins/managesieve/tests/src/parser_notify_a new file mode 100644 index 000000000..e51e2aa8d --- /dev/null +++ b/plugins/managesieve/tests/src/parser_notify_a @@ -0,0 +1,18 @@ +require ["notify","variables"]; +# rule:[notify1] +if header :contains "from" "boss@example.org" +{ + notify :low :message "This is probably very important"; + stop; +} +# rule:[subject] +if header :matches "Subject" "*" +{ + set "subject" "${1}"; +} +# rule:[from notify2] +if header :matches "From" "*" +{ + set "from" "${1}"; + notify :high :method "mailto" :options "test@example.org" :message "${from}: ${subject}"; +} diff --git a/plugins/managesieve/tests/src/parser_notify_b b/plugins/managesieve/tests/src/parser_notify_b new file mode 100644 index 000000000..f942e155f --- /dev/null +++ b/plugins/managesieve/tests/src/parser_notify_b @@ -0,0 +1,17 @@ +require ["envelope","notify","variables"]; +# rule:[from] +if envelope :matches "from" "*" +{ + set "env_from" " [really: ${1}]"; +} +# rule:[subject] +if header :matches "Subject" "*" +{ + set "subject" "${1}"; +} +# rule:[from notify] +if address :matches "from" "*" +{ + set "from_addr" "${1}"; + notify :method "sms" :options "1234567890" :message "${from_addr}${env_from}: ${subject}"; +} diff --git a/plugins/managesieve/tests/src/parser_prefix b/plugins/managesieve/tests/src/parser_prefix new file mode 100644 index 000000000..9f6a33a1c --- /dev/null +++ b/plugins/managesieve/tests/src/parser_prefix @@ -0,0 +1,5 @@ +# this is a comment +# and the second line + +require ["variables"]; +set "b" "c"; diff --git a/plugins/managesieve/tests/src/parser_relational b/plugins/managesieve/tests/src/parser_relational new file mode 100644 index 000000000..92c5e1a8e --- /dev/null +++ b/plugins/managesieve/tests/src/parser_relational @@ -0,0 +1,6 @@ +require ["comparator-i;ascii-numeric","relational"]; +# rule:[redirect] +if header :value "ge" :comparator "i;ascii-numeric" "X-Spam-score" "14" +{ + redirect "test@test.tld"; +} diff --git a/plugins/managesieve/tests/src/parser_subaddress b/plugins/managesieve/tests/src/parser_subaddress new file mode 100644 index 000000000..e44555096 --- /dev/null +++ b/plugins/managesieve/tests/src/parser_subaddress @@ -0,0 +1,11 @@ +require ["envelope","fileinto","subaddress"]; +if envelope :user "To" "postmaster" +{ + fileinto "postmaster"; + stop; +} +if envelope :detail :is "To" "mta-filters" +{ + fileinto "mta-filters"; + stop; +} diff --git a/plugins/managesieve/tests/src/parser_vacation b/plugins/managesieve/tests/src/parser_vacation new file mode 100644 index 000000000..93026db45 --- /dev/null +++ b/plugins/managesieve/tests/src/parser_vacation @@ -0,0 +1,12 @@ +require ["vacation"]; +# rule:[test-vacation] +if header :contains "Subject" "vacation" +{ + vacation :days 1 text: +# test +test test /* test */ +test +. +; + stop; +} diff --git a/plugins/managesieve/tests/src/parser_vacation_seconds b/plugins/managesieve/tests/src/parser_vacation_seconds new file mode 100644 index 000000000..75cbcae46 --- /dev/null +++ b/plugins/managesieve/tests/src/parser_vacation_seconds @@ -0,0 +1,12 @@ +require ["vacation-seconds"]; +# rule:[test-vacation] +if header :contains "Subject" "vacation" +{ + vacation :seconds 0 text: +# test +test test /* test */ +test +. +; + stop; +} diff --git a/plugins/managesieve/tests/src/parser_variables b/plugins/managesieve/tests/src/parser_variables new file mode 100644 index 000000000..bd5941c02 --- /dev/null +++ b/plugins/managesieve/tests/src/parser_variables @@ -0,0 +1,12 @@ +require ["variables"]; +set "honorific" "Mr"; +set "vacation" text: +Dear ${HONORIFIC} ${last_name}, +I am out, please leave a message after the meep. +. +; +set :length "b" "${a}"; +set :lower "b" "${a}"; +set :upperfirst "b" "${a}"; +set :upperfirst :lower "b" "${a}"; +set :quotewildcard "b" "Rock*"; |