diff options
Diffstat (limited to 'program')
107 files changed, 857 insertions, 627 deletions
diff --git a/program/include/bc.php b/program/include/bc.php index d8356338d..df018320c 100644 --- a/program/include/bc.php +++ b/program/include/bc.php @@ -287,7 +287,7 @@ function rcmail_remote_ip() function rcube_check_referer() { - return rcmail::check_referer(); + return rcube_utils::check_referer(); } function rcube_timer() diff --git a/program/include/iniset.php b/program/include/iniset.php index b32ae4e8e..919cc7682 100644 --- a/program/include/iniset.php +++ b/program/include/iniset.php @@ -24,21 +24,6 @@ define('RCMAIL_VERSION', '1.0-git'); define('RCMAIL_START', microtime(true)); -$config = array( - // Some users are not using Installer, so we'll check some - // critical PHP settings here. Only these, which doesn't provide - // an error/warning in the logs later. See (#1486307). - 'suhosin.session.encrypt' => 0, - 'session.auto_start' => 0, - 'file_uploads' => 1, -); -foreach ($config as $optname => $optval) { - if ($optval != ini_get($optname) && @ini_set($optname, $optval) === false) { - die("ERROR: Wrong '$optname' option value and it wasn't possible to set it to required value ($optval).\n" - ."Check your PHP configuration (including php_admin_flag)."); - } -} - if (!defined('INSTALL_PATH')) { define('INSTALL_PATH', dirname($_SERVER['SCRIPT_FILENAME']).'/'); } @@ -75,6 +60,11 @@ require_once 'Roundcube/bootstrap.php'; // register autoloader for rcmail app classes spl_autoload_register('rcmail_autoload'); +// include composer autoloader (if available) +if (file_exists('vendor/autoload.php')) { + require 'vendor/autoload.php'; +} + // backward compatybility (to be removed) require_once INSTALL_PATH . 'program/include/bc.php'; diff --git a/program/include/rcmail.php b/program/include/rcmail.php index 1bde4034f..7acb3490d 100644 --- a/program/include/rcmail.php +++ b/program/include/rcmail.php @@ -98,7 +98,10 @@ class rcmail extends rcube // reset some session parameters when changing task if ($this->task != 'utils') { - if ($this->session && $_SESSION['task'] != $this->task) + // we reset list page when switching to another task + // but only to the main task interface - empty action (#1489076) + // this will prevent from unintentional page reset on cross-task requests + if ($this->session && $_SESSION['task'] != $this->task && empty($this->action)) $this->session->remove('page'); // set current task to session $_SESSION['task'] = $this->task; @@ -258,13 +261,13 @@ class rcmail extends rcube */ public function get_address_sources($writeable = false, $skip_hidden = false) { - $abook_type = strtolower($this->config->get('address_book_type')); - $ldap_config = $this->config->get('ldap_public'); + $abook_type = (string) $this->config->get('address_book_type'); + $ldap_config = (array) $this->config->get('ldap_public'); $autocomplete = (array) $this->config->get('autocomplete_addressbooks'); - $list = array(); + $list = array(); // We are using the DB address book or a plugin address book - if ($abook_type != 'ldap' && $abook_type != '') { + if (!empty($abook_type) && strtolower($abook_type) != 'ldap') { if (!isset($this->address_books['0'])) $this->address_books['0'] = new rcube_contacts($this->db, $this->get_user_id()); $list['0'] = array( @@ -277,8 +280,7 @@ class rcmail extends rcube ); } - if ($ldap_config) { - $ldap_config = (array) $ldap_config; + if (!empty($ldap_config)) { foreach ($ldap_config as $id => $prop) { // handle misconfiguration if (empty($prop) || !is_array($prop)) { diff --git a/program/js/app.js b/program/js/app.js index 5d7e28640..87f20679a 100644 --- a/program/js/app.js +++ b/program/js/app.js @@ -936,16 +936,13 @@ function rcube_webmail() url._to = props; } else { - // use contact_id passed as command parameter - var n, len, a_cids = []; + var a_cids = []; + // use contact id passed as command parameter if (props) a_cids.push(props); // get selected contacts - else if (this.contact_list) { - var selection = this.contact_list.get_selection(); - for (n=0, len=selection.length; n<len; n++) - a_cids.push(selection[n]); - } + else if (this.contact_list) + a_cids = this.contact_list.get_selection(); if (a_cids.length) this.http_post('mailto', { _cid: a_cids.join(','), _source: this.env.source }, true); @@ -1647,8 +1644,6 @@ function rcube_webmail() // focus window, delayed to bring to front window.setTimeout(function() { extwin.focus(); }, 10); - // position window with setTimeout for Chrome (#1488931) - window.setTimeout(function() { extwin.moveTo(l,t); }, bw.chrome ? 100 : 10); return wname; }; @@ -6721,6 +6716,15 @@ function rcube_webmail() return 1; } + // this will detect any pdf plugin including PDF.js in Firefox + var obj = document.createElement('OBJECT'); + obj.onload = function() { rcmail.env.browser_capabilities.pdf = 1; }; + obj.onerror = function() { rcmail.env.browser_capabilities.pdf = 0; }; + obj.style.display = 'none'; + obj.type = 'application/pdf'; + obj.data = 'program/resources/blank.pdf'; + document.body.appendChild(obj); + return 0; }; diff --git a/program/js/list.js b/program/js/list.js index cf62a7c14..c6b0d3fb8 100644 --- a/program/js/list.js +++ b/program/js/list.js @@ -231,7 +231,8 @@ focus: function(e) // Un-focus already focused elements (#1487123, #1487316, #1488600, #1488620) $(':focus:not(body)').blur(); - $('iframe').each(function() { this.blur(); }); + // un-focus iframe bodies (#1489058), this doesn't work in Opera and Chrome + $('iframe').contents().find('body').blur(); if (e || (e = window.event)) rcube_event.cancel(e); @@ -692,7 +693,6 @@ select_row: function(id, mod_key, with_mouse) this.shift_start = null; this.last_selected = id; - this.list.focus(); }, diff --git a/program/lib/Roundcube/bootstrap.php b/program/lib/Roundcube/bootstrap.php index 929a4ff79..b7e69cb2a 100644 --- a/program/lib/Roundcube/bootstrap.php +++ b/program/lib/Roundcube/bootstrap.php @@ -46,8 +46,10 @@ if (php_sapi_name() != 'cli') { foreach ($config as $optname => $optval) { if ($optval != ini_get($optname) && @ini_set($optname, $optval) === false) { - die("ERROR: Wrong '$optname' option value and it wasn't possible to set it to required value ($optval).\n" - ."Check your PHP configuration (including php_admin_flag)."); + $error = "ERROR: Wrong '$optname' option value and it wasn't possible to set it to required value ($optval).\n" + . "Check your PHP configuration (including php_admin_flag)."; + if (defined('STDERR')) fwrite(STDERR, $error); else echo $error; + exit(1); } } diff --git a/program/lib/Roundcube/html.php b/program/lib/Roundcube/html.php index 7b30e60cb..dbc9ca51f 100644 --- a/program/lib/Roundcube/html.php +++ b/program/lib/Roundcube/html.php @@ -218,7 +218,7 @@ class html $attr = array('src' => $attr); } return self::tag('iframe', $attr, $cont, array_merge(self::$common_attrib, - array('src','name','width','height','border','frameborder'))); + array('src','name','width','height','border','frameborder','onload'))); } /** diff --git a/program/lib/Roundcube/rcube.php b/program/lib/Roundcube/rcube.php index 77da83d8e..b681f0531 100644 --- a/program/lib/Roundcube/rcube.php +++ b/program/lib/Roundcube/rcube.php @@ -1082,6 +1082,9 @@ class rcube 'message' => $arg->getMessage(), ); } + else if (is_string($arg)) { + $arg = array('message' => $arg, 'type' => 'php'); + } if (empty($arg['code'])) { $arg['code'] = 500; @@ -1094,14 +1097,24 @@ class rcube return; } - if (($log || $terminate) && $arg['type'] && $arg['message']) { + $cli = php_sapi_name() == 'cli'; + + if (($log || $terminate) && !$cli && $arg['type'] && $arg['message']) { $arg['fatal'] = $terminate; self::log_bug($arg); } - // display error page and terminate script - if ($terminate && is_object(self::$instance->output)) { - self::$instance->output->raise_error($arg['code'], $arg['message']); + // terminate script + if ($terminate) { + // display error page + if (is_object(self::$instance->output)) { + self::$instance->output->raise_error($arg['code'], $arg['message']); + } + else if ($cli) { + fwrite(STDERR, 'ERROR: ' . $arg['message']); + } + + exit(1); } } @@ -1140,7 +1153,7 @@ class rcube if (!self::write_log('errors', $log_entry)) { // send error to PHPs error handler if write_log didn't succeed - trigger_error($arg_arr['message']); + trigger_error($arg_arr['message'], E_USER_WARNING); } } diff --git a/program/lib/Roundcube/rcube_addressbook.php b/program/lib/Roundcube/rcube_addressbook.php index cbc3c6773..84bd4bfcd 100644 --- a/program/lib/Roundcube/rcube_addressbook.php +++ b/program/lib/Roundcube/rcube_addressbook.php @@ -309,9 +309,14 @@ abstract class rcube_addressbook * List all active contact groups of this source * * @param string Optional search string to match group name + * @param int Matching mode: + * 0 - partial (*abc*), + * 1 - strict (=), + * 2 - prefix (abc*) + * * @return array Indexed list of contact groups, each a hash array */ - function list_groups($search = null) + function list_groups($search = null, $mode = 0) { /* empty for address books don't supporting groups */ return array(); @@ -370,9 +375,10 @@ abstract class rcube_addressbook /** * Add the given contact records the a certain group * - * @param string Group identifier - * @param array List of contact identifiers to be added - * @return int Number of contacts added + * @param string Group identifier + * @param array|string List of contact identifiers to be added + * + * @return int Number of contacts added */ function add_to_group($group_id, $ids) { @@ -383,9 +389,10 @@ abstract class rcube_addressbook /** * Remove the given contact records from a certain group * - * @param string Group identifier - * @param array List of contact identifiers to be removed - * @return int Number of deleted group members + * @param string Group identifier + * @param array|string List of contact identifiers to be removed + * + * @return int Number of deleted group members */ function remove_from_group($group_id, $ids) { diff --git a/program/lib/Roundcube/rcube_contacts.php b/program/lib/Roundcube/rcube_contacts.php index c66e98687..3919cdc6e 100644 --- a/program/lib/Roundcube/rcube_contacts.php +++ b/program/lib/Roundcube/rcube_contacts.php @@ -137,16 +137,34 @@ class rcube_contacts extends rcube_addressbook * List all active contact groups of this source * * @param string Search string to match group name + * @param int Matching mode: + * 0 - partial (*abc*), + * 1 - strict (=), + * 2 - prefix (abc*) + * * @return array Indexed list of contact groups, each a hash array */ - function list_groups($search = null) + function list_groups($search = null, $mode = 0) { $results = array(); if (!$this->groups) return $results; - $sql_filter = $search ? " AND " . $this->db->ilike('name', '%'.$search.'%') : ''; + if ($search) { + switch (intval($mode)) { + case 1: + $sql_filter = $this->db->ilike('name', $search); + break; + case 2: + $sql_filter = $this->db->ilike('name', $search . '%'); + break; + default: + $sql_filter = $this->db->ilike('name', '%' . $search . '%'); + } + + $sql_filter = " AND $sql_filter"; + } $sql_result = $this->db->query( "SELECT * FROM ".$this->db->table_name($this->db_groups). @@ -626,10 +644,6 @@ class rcube_contacts extends rcube_addressbook $insert_id = $this->db->insert_id($this->db_name); } - // also add the newly created contact to the active group - if ($insert_id && $this->group_id) - $this->add_to_group($this->group_id, $insert_id); - $this->cache = null; return $insert_id; @@ -883,9 +897,10 @@ class rcube_contacts extends rcube_addressbook /** * Add the given contact records the a certain group * - * @param string Group identifier - * @param array List of contact identifiers to be added - * @return int Number of contacts added + * @param string Group identifier + * @param array|string List of contact identifiers to be added + * + * @return int Number of contacts added */ function add_to_group($group_id, $ids) { @@ -930,9 +945,10 @@ class rcube_contacts extends rcube_addressbook /** * Remove the given contact records from a certain group * - * @param string Group identifier - * @param array List of contact identifiers to be removed - * @return int Number of deleted group members + * @param string Group identifier + * @param array|string List of contact identifiers to be removed + * + * @return int Number of deleted group members */ function remove_from_group($group_id, $ids) { diff --git a/program/lib/Roundcube/rcube_csv2vcard.php b/program/lib/Roundcube/rcube_csv2vcard.php index 0d3276b84..b0e9c2374 100644 --- a/program/lib/Roundcube/rcube_csv2vcard.php +++ b/program/lib/Roundcube/rcube_csv2vcard.php @@ -130,6 +130,21 @@ class rcube_csv2vcard 'work_state' => 'region:work', 'home_city_short' => 'locality:home', 'home_state_short' => 'region:home', + + // Atmail + 'date_of_birth' => 'birthday', + 'email' => 'email:pref', + 'home_mobile' => 'phone:cell', + 'home_zip' => 'zipcode:home', + 'info' => 'notes', + 'user_photo' => 'photo', + 'url' => 'website:homepage', + 'work_company' => 'organization', + 'work_dept' => 'departament', + 'work_fax' => 'phone:work,fax', + 'work_mobile' => 'phone:work,cell', + 'work_title' => 'jobtitle', + 'work_zip' => 'zipcode:work', ); /** @@ -230,8 +245,29 @@ class rcube_csv2vcard 'work_phone' => "Work Phone", 'work_address' => "Work Address", //'work_address_2' => "Work Address 2", + 'work_city' => "Work City", 'work_country' => "Work Country", + 'work_state' => "Work State", 'work_zipcode' => "Work ZipCode", + + // Atmail + 'date_of_birth' => "Date of Birth", + 'email' => "Email", + //'email_2' => "Email2", + //'email_3' => "Email3", + //'email_4' => "Email4", + //'email_5' => "Email5", + 'home_mobile' => "Home Mobile", + 'home_zip' => "Home Zip", + 'info' => "Info", + 'user_photo' => "User Photo", + 'url' => "URL", + 'work_company' => "Work Company", + 'work_dept' => "Work Dept", + 'work_fax' => "Work Fax", + 'work_mobile' => "Work Mobile", + 'work_title' => "Work Title", + 'work_zip' => "Work Zip", ); protected $local_label_map = array(); @@ -384,9 +420,13 @@ class rcube_csv2vcard $contact['birthday'] = $contact['birthday-y'] .'-' .$contact['birthday-m'] . '-' . $contact['birthday-d']; } + // Empty dates, e.g. "0/0/00", "0000-00-00 00:00:00" foreach (array('birthday', 'anniversary') as $key) { - if (!empty($contact[$key]) && $contact[$key] == '0/0/00') { // @TODO: localization? - unset($contact[$key]); + if (!empty($contact[$key])) { + $date = preg_replace('/[0[:^word:]]/', '', $contact[$key]); + if (empty($date)) { + unset($contact[$key]); + } } } diff --git a/program/lib/Roundcube/rcube_db.php b/program/lib/Roundcube/rcube_db.php index 4e6684c51..c96bccc90 100644 --- a/program/lib/Roundcube/rcube_db.php +++ b/program/lib/Roundcube/rcube_db.php @@ -405,21 +405,22 @@ class rcube_db $this->db_error_msg = null; // send query - $query = $this->dbh->query($query); + $result = $this->dbh->query($query); - if ($query === false) { + if ($result === false) { $error = $this->dbh->errorInfo(); $this->db_error = true; $this->db_error_msg = sprintf('[%s] %s', $error[1], $error[2]); rcube::raise_error(array('code' => 500, 'type' => 'db', 'line' => __LINE__, 'file' => __FILE__, - 'message' => $this->db_error_msg), true, false); + 'message' => $this->db_error_msg . " (SQL Query: $query)" + ), true, false); } - $this->last_result = $query; + $this->last_result = $result; - return $query; + return $result; } /** @@ -634,6 +635,22 @@ class rcube_db } /** + * Escapes a string so it can be safely used in a query + * + * @param string $str A string to escape + * + * @return string Escaped string for use in a query + */ + public function escape($str) + { + if (is_null($str)) { + return 'NULL'; + } + + return substr($this->quote($str), 1, -1); + } + + /** * Quotes a string so it can be safely used as a table or column name * * @param string $str Value to quote @@ -648,6 +665,20 @@ class rcube_db } /** + * Escapes a string so it can be safely used in a query + * + * @param string $str A string to escape + * + * @return string Escaped string for use in a query + * @deprecated Replaced by rcube_db::escape + * @see rcube_db::escape + */ + public function escapeSimple($str) + { + return $this->escape($str); + } + + /** * Quotes a string so it can be safely used as a table or column name * * @param string $str Value to quote @@ -816,11 +847,9 @@ class rcube_db { $rcube = rcube::get_instance(); - // return table name if configured - $config_key = 'db_table_'.$table; - - if ($name = $rcube->config->get($config_key)) { - return $name; + // add prefix to the table name if configured + if ($prefix = $rcube->config->get('db_prefix')) { + return $prefix . $table; } return $table; diff --git a/program/lib/Roundcube/rcube_db_pgsql.php b/program/lib/Roundcube/rcube_db_pgsql.php index cf23c5e48..adfd2207b 100644 --- a/program/lib/Roundcube/rcube_db_pgsql.php +++ b/program/lib/Roundcube/rcube_db_pgsql.php @@ -53,19 +53,20 @@ class rcube_db_pgsql extends rcube_db /** * Return correct name for a specific database sequence * - * @param string $sequence Secuence name + * @param string $table Table name * * @return string Translated sequence name */ - protected function sequence_name($sequence) + protected function sequence_name($table) { - $rcube = rcube::get_instance(); + // Note: we support only one sequence per table + // Note: The sequence name must be <table_name>_seq + $sequence = $table . '_seq'; + $rcube = rcube::get_instance(); // return sequence name if configured - $config_key = 'db_sequence_'.$sequence; - - if ($name = $rcube->config->get($config_key)) { - return $name; + if ($prefix = $rcube->config->get('db_prefix')) { + return $prefix . $sequence; } return $sequence; diff --git a/program/lib/Roundcube/rcube_image.php b/program/lib/Roundcube/rcube_image.php index a55ba1600..735a0df01 100644 --- a/program/lib/Roundcube/rcube_image.php +++ b/program/lib/Roundcube/rcube_image.php @@ -124,6 +124,7 @@ class rcube_image } if ($result === '') { + @chmod($filename, 0600); return $type; } } @@ -183,6 +184,7 @@ class rcube_image } if ($result) { + @chmod($filename, 0600); return $type; } } @@ -223,6 +225,7 @@ class rcube_image $result = rcube::exec($convert . ' 2>&1 -colorspace RGB -quality 75 {in} {type}:{out}', $p); if ($result === '') { + @chmod($filename, 0600); return true; } } @@ -256,6 +259,7 @@ class rcube_image } if ($result) { + @chmod($filename, 0600); return true; } } diff --git a/program/lib/Roundcube/rcube_imap_generic.php b/program/lib/Roundcube/rcube_imap_generic.php index 04dc594ae..db50ffbab 100644 --- a/program/lib/Roundcube/rcube_imap_generic.php +++ b/program/lib/Roundcube/rcube_imap_generic.php @@ -2475,6 +2475,7 @@ class rcube_imap_generic $key = $this->nextTag(); $request = $key . ($is_uid ? ' UID' : '') . " FETCH $id ($fetch_mode.PEEK[$part]$partial)"; $result = false; + $found = false; // send request if (!$this->putLine($request)) { @@ -2494,18 +2495,25 @@ class rcube_imap_generic break; } - if (!preg_match('/^\* ([0-9]+) FETCH (.*)$/', $line, $m)) { + // skip irrelevant untagged responses (we have a result already) + if ($found || !preg_match('/^\* ([0-9]+) FETCH (.*)$/', $line, $m)) { continue; } $line = $m[2]; - $last = substr($line, -1); // handle one line response - if ($line[0] == '(' && $last == ')') { + if ($line[0] == '(' && substr($line, -1) == ')') { // tokenize content inside brackets - $tokens = $this->tokenizeResponse(preg_replace('/(^\(|\$)/', '', $line)); - $result = count($tokens) == 1 ? $tokens[0] : false; + $tokens = $this->tokenizeResponse(preg_replace('/(^\(|\)$)/', '', $line)); + + for ($i=0; $i<count($tokens); $i+=2) { + if (preg_match('/^(BODY|BINARY)/i', $token)) { + $result = $tokens[$i+1]; + $found = true; + break; + } + } if ($result !== false) { if ($mode == 1) { @@ -2523,6 +2531,7 @@ class rcube_imap_generic else if (preg_match('/\{([0-9]+)\}$/', $line, $m)) { $bytes = (int) $m[1]; $prev = ''; + $found = true; while ($bytes > 0) { $line = $this->readLine(8192); @@ -3667,8 +3676,20 @@ class rcube_imap_generic */ static function strToTime($date) { - // support non-standard "GMTXXXX" literal - $date = preg_replace('/GMT\s*([+-][0-9]+)/', '\\1', $date); + // Clean malformed data + $date = preg_replace( + array( + '/GMT\s*([+-][0-9]+)/', // support non-standard "GMTXXXX" literal + '/[^a-z0-9\x20\x09:+-]/i', // remove any invalid characters + '/\s*(Mon|Tue|Wed|Thu|Fri|Sat|Sun)\s*/i', // remove weekday names + ), + array( + '\\1', + '', + '', + ), $date); + + $date = trim($date); // if date parsing fails, we have a date in non-rfc format // remove token from the end and try again diff --git a/program/lib/Roundcube/rcube_ldap.php b/program/lib/Roundcube/rcube_ldap.php index a2dd163e9..47e96c32b 100644 --- a/program/lib/Roundcube/rcube_ldap.php +++ b/program/lib/Roundcube/rcube_ldap.php @@ -1715,9 +1715,14 @@ class rcube_ldap extends rcube_addressbook * List all active contact groups of this source * * @param string Optional search string to match group name + * @param int Matching mode: + * 0 - partial (*abc*), + * 1 - strict (=), + * 2 - prefix (abc*) + * * @return array Indexed list of contact groups, each a hash array */ - function list_groups($search = null) + function list_groups($search = null, $mode = 0) { if (!$this->groups) return array(); @@ -1729,10 +1734,10 @@ class rcube_ldap extends rcube_addressbook $groups = array(); if ($search) { - $search = mb_strtolower($search); foreach ($group_cache as $group) { - if (strpos(mb_strtolower($group['name']), $search) !== false) + if ($this->compare_search_value('name', $group['name'], $search, $mode)) { $groups[] = $group; + } } } else @@ -1921,9 +1926,10 @@ class rcube_ldap extends rcube_addressbook /** * Add the given contact records the a certain group * - * @param string Group identifier - * @param array List of contact identifiers to be added - * @return int Number of contacts added + * @param string Group identifier + * @param array|string List of contact identifiers to be added + * + * @return int Number of contacts added */ function add_to_group($group_id, $contact_ids) { @@ -1937,8 +1943,8 @@ class rcube_ldap extends rcube_addressbook $group_name = $group_cache[$group_id]['name']; $member_attr = $group_cache[$group_id]['member_attr']; $group_dn = "cn=$group_name,$base_dn"; + $new_attrs = array(); - $new_attrs = array(); foreach ($contact_ids as $id) $new_attrs[$member_attr][] = self::dn_decode($id); @@ -1949,28 +1955,32 @@ class rcube_ldap extends rcube_addressbook $this->cache->remove('groups'); - return count($new_attrs['member']); + return count($new_attrs[$member_attr]); } /** * Remove the given contact records from a certain group * - * @param string Group identifier - * @param array List of contact identifiers to be removed - * @return int Number of deleted group members + * @param string Group identifier + * @param array|string List of contact identifiers to be removed + * + * @return int Number of deleted group members */ function remove_from_group($group_id, $contact_ids) { if (($group_cache = $this->cache->get('groups')) === null) $group_cache = $this->_fetch_groups(); + if (!is_array($contact_ids)) + $contact_ids = explode(',', $contact_ids); + $base_dn = $this->groups_base_dn; $group_name = $group_cache[$group_id]['name']; $member_attr = $group_cache[$group_id]['member_attr']; $group_dn = "cn=$group_name,$base_dn"; + $del_attrs = array(); - $del_attrs = array(); - foreach (explode(",", $contact_ids) as $id) + foreach ($contact_ids as $id) $del_attrs[$member_attr][] = self::dn_decode($id); if (!$this->ldap_mod_del($group_dn, $del_attrs)) { @@ -1980,7 +1990,7 @@ class rcube_ldap extends rcube_addressbook $this->cache->remove('groups'); - return count($del_attrs['member']); + return count($del_attrs[$member_attr]); } /** diff --git a/program/lib/Roundcube/rcube_message.php b/program/lib/Roundcube/rcube_message.php index 69735fc52..9db1fa30a 100644 --- a/program/lib/Roundcube/rcube_message.php +++ b/program/lib/Roundcube/rcube_message.php @@ -149,12 +149,13 @@ class rcube_message * Compose a valid URL for getting a message part * * @param string $mime_id Part MIME-ID + * @param mixed $embed Mimetype class for parts to be embedded * @return string URL or false if part does not exist */ public function get_part_url($mime_id, $embed = false) { if ($this->mime_parts[$mime_id]) - return $this->opt['get_url'] . '&_part=' . $mime_id . ($embed ? '&_embed=1' : ''); + return $this->opt['get_url'] . '&_part=' . $mime_id . ($embed ? '&_embed=1&_mimeclass=' . $embed : ''); else return false; } @@ -361,7 +362,7 @@ class rcube_message // parse headers from message/rfc822 part if (!isset($structure->headers['subject']) && !isset($structure->headers['from'])) { - list($headers, $dump) = explode("\r\n\r\n", $this->get_part_content($structure->mime_id, null, true, 8192)); + list($headers, $dump) = explode("\r\n\r\n", $this->get_part_content($structure->mime_id, null, true, 32768)); $structure->headers = rcube_mime::parse_headers($headers); } } @@ -369,7 +370,8 @@ class rcube_message $mimetype = $structure->mimetype; // show message headers - if ($recursive && is_array($structure->headers) && (isset($structure->headers['subject']) || isset($structure->headers['from']))) { + if ($recursive && is_array($structure->headers) && + (isset($structure->headers['subject']) || $structure->headers['from'] || $structure->headers['to'])) { $c = new stdClass; $c->type = 'headers'; $c->headers = $structure->headers; @@ -642,7 +644,7 @@ class rcube_message $img_regexp = '/^image\/(gif|jpe?g|png|tiff|bmp|svg)/'; foreach ($this->inline_parts as $inline_object) { - $part_url = $this->get_part_url($inline_object->mime_id, true); + $part_url = $this->get_part_url($inline_object->mime_id, $inline_object->ctype_primary); if (isset($inline_object->content_id)) $a_replaces['cid:'.$inline_object->content_id] = $part_url; if ($inline_object->content_location) { diff --git a/program/lib/Roundcube/rcube_mime.php b/program/lib/Roundcube/rcube_mime.php index 7cd520752..0a4bfbddb 100644 --- a/program/lib/Roundcube/rcube_mime.php +++ b/program/lib/Roundcube/rcube_mime.php @@ -127,10 +127,11 @@ class rcube_mime * @param int $max List only this number of addresses * @param boolean $decode Decode address strings * @param string $fallback Fallback charset if none specified + * @param boolean $addronly Return flat array with e-mail addresses only * - * @return array Indexed list of addresses + * @return array Indexed list of addresses */ - static function decode_address_list($input, $max = null, $decode = true, $fallback = null) + static function decode_address_list($input, $max = null, $decode = true, $fallback = null, $addronly = false) { $a = self::parse_address_list($input, $decode, $fallback); $out = array(); @@ -145,20 +146,21 @@ class rcube_mime foreach ($a as $val) { $j++; $address = trim($val['address']); - $name = trim($val['name']); - if ($name && $address && $name != $address) - $string = sprintf('%s <%s>', preg_match("/$special_chars/", $name) ? '"'.addcslashes($name, '"').'"' : $name, $address); - else if ($address) - $string = $address; - else if ($name) - $string = $name; - - $out[$j] = array( - 'name' => $name, - 'mailto' => $address, - 'string' => $string - ); + if ($addronly) { + $out[$j] = $address; + } + else { + $name = trim($val['name']); + if ($name && $address && $name != $address) + $string = sprintf('%s <%s>', preg_match("/$special_chars/", $name) ? '"'.addcslashes($name, '"').'"' : $name, $address); + else if ($address) + $string = $address; + else if ($name) + $string = $name; + + $out[$j] = array('name' => $name, 'mailto' => $address, 'string' => $string); + } if ($max && $j==$max) break; @@ -564,82 +566,122 @@ class rcube_mime /** - * Improved wordwrap function. + * Improved wordwrap function with multibyte support. + * The code is based on Zend_Text_MultiByte::wordWrap(). * - * @param string $string Text to wrap - * @param int $width Line width - * @param string $break Line separator - * @param bool $cut Enable to cut word - * @param string $charset Charset of $string + * @param string $string Text to wrap + * @param int $width Line width + * @param string $break Line separator + * @param bool $cut Enable to cut word + * @param string $charset Charset of $string + * @param bool $wrap_quoted When enabled quoted lines will not be wrapped * * @return string Text */ - public static function wordwrap($string, $width=75, $break="\n", $cut=false, $charset=null) + public static function wordwrap($string, $width=75, $break="\n", $cut=false, $charset=null, $wrap_quoted=true) { - if ($charset && function_exists('mb_internal_encoding')) { - mb_internal_encoding($charset); + if (!$charset) { + $charset = RCUBE_CHARSET; } - $para = preg_split('/\r?\n/', $string); - $string = ''; - - while (count($para)) { - $line = array_shift($para); - if ($line[0] == '>') { - $string .= $line . (count($para) ? $break : ''); - continue; + // detect available functions + $strlen_func = function_exists('iconv_strlen') ? 'iconv_strlen' : 'mb_strlen'; + $strpos_func = function_exists('iconv_strpos') ? 'iconv_strpos' : 'mb_strpos'; + $strrpos_func = function_exists('iconv_strrpos') ? 'iconv_strrpos' : 'mb_strrpos'; + $substr_func = function_exists('iconv_substr') ? 'iconv_substr' : 'mb_substr'; + + // Convert \r\n to \n, this is our line-separator + $string = str_replace("\r\n", "\n", $string); + $separator = "\n"; // must be 1 character length + $result = array(); + + while (($stringLength = $strlen_func($string, $charset)) > 0) { + $breakPos = $strpos_func($string, $separator, 0, $charset); + + // quoted line (do not wrap) + if ($wrap_quoted && $string[0] == '>') { + if ($breakPos === $stringLength - 1 || $breakPos === false) { + $subString = $string; + $cutLength = null; + } + else { + $subString = $substr_func($string, 0, $breakPos, $charset); + $cutLength = $breakPos + 1; + } } + // next line found and current line is shorter than the limit + else if ($breakPos !== false && $breakPos < $width) { + if ($breakPos === $stringLength - 1) { + $subString = $string; + $cutLength = null; + } + else { + $subString = $substr_func($string, 0, $breakPos, $charset); + $cutLength = $breakPos + 1; + } + } + else { + $subString = $substr_func($string, 0, $width, $charset); - $list = explode(' ', $line); - $len = 0; - while (count($list)) { - $line = array_shift($list); - $l = mb_strlen($line); - $space = $len ? 1 : 0; - $newlen = $len + $l + $space; - - if ($newlen <= $width) { - $string .= ($space ? ' ' : '').$line; - $len += ($space + $l); + // last line + if ($breakPos === false && $subString === $string) { + $cutLength = null; } else { - if ($l > $width) { - if ($cut) { - $start = 0; - while ($l) { - $str = mb_substr($line, $start, $width); - $strlen = mb_strlen($str); - $string .= ($len ? $break : '').$str; - $start += $strlen; - $l -= $strlen; - $len = $strlen; - } + $nextChar = $substr_func($string, $width, 1, $charset); + + if ($nextChar === ' ' || $nextChar === $separator) { + $afterNextChar = $substr_func($string, $width + 1, 1, $charset); + + if ($afterNextChar === false) { + $subString .= $nextChar; + } + + $cutLength = $strlen_func($subString, $charset) + 1; + } + else { + if ($strrpos_func[0] == 'm') { + $spacePos = $strrpos_func($subString, ' ', 0, $charset); } else { - $string .= ($len ? $break : '').$line; - if (count($list)) { - $string .= $break; + $spacePos = $strrpos_func($subString, ' ', $charset); + } + + if ($spacePos !== false) { + $subString = $substr_func($subString, 0, $spacePos, $charset); + $cutLength = $spacePos + 1; + } + else if ($cut === false) { + $spacePos = $strpos_func($string, ' ', 0, $charset); + + if ($spacePos !== false && $spacePos < $breakPos) { + $subString = $substr_func($string, 0, $spacePos, $charset); + $cutLength = $spacePos + 1; + } + else { + $subString = $string; + $cutLength = null; } - $len = 0; } - } - else { - $string .= $break.$line; - $len = $l; + else { + $subString = $substr_func($subString, 0, $width, $charset); + $cutLength = $width; + } } } } - if (count($para)) { - $string .= $break; - } - } + $result[] = $subString; - if ($charset && function_exists('mb_internal_encoding')) { - mb_internal_encoding(RCUBE_CHARSET); + if ($cutLength !== null) { + $string = $substr_func($string, $cutLength, ($stringLength - $cutLength), $charset); + } + else { + break; + } } - return $string; + return implode($break, $result); } diff --git a/program/lib/Roundcube/rcube_plugin.php b/program/lib/Roundcube/rcube_plugin.php index 167a9eb4f..d24a2693c 100644 --- a/program/lib/Roundcube/rcube_plugin.php +++ b/program/lib/Roundcube/rcube_plugin.php @@ -92,6 +92,16 @@ abstract class rcube_plugin abstract function init(); /** + * Provide information about this + * + * @return array Meta information about a plugin or false if not implemented + */ + public static function info() + { + return false; + } + + /** * Attempt to load the given plugin which is required for the current plugin * * @param string Plugin name diff --git a/program/lib/Roundcube/rcube_plugin_api.php b/program/lib/Roundcube/rcube_plugin_api.php index a89f14712..4bb6c6677 100644 --- a/program/lib/Roundcube/rcube_plugin_api.php +++ b/program/lib/Roundcube/rcube_plugin_api.php @@ -228,6 +228,120 @@ class rcube_plugin_api } /** + * Get information about a specific plugin. + * This is either provided my a plugin's info() method or extracted from a package.xml or a composer.json file + * + * @param string Plugin name + * @return array Meta information about a plugin or False if plugin was not found + */ + public function get_info($plugin_name) + { + static $composer_lock, $license_uris = array( + 'Apache' => 'http://www.apache.org/licenses/LICENSE-2.0.html', + 'Apache-2' => 'http://www.apache.org/licenses/LICENSE-2.0.html', + 'Apache-1' => 'http://www.apache.org/licenses/LICENSE-1.0', + 'Apache-1.1' => 'http://www.apache.org/licenses/LICENSE-1.1', + 'GPL' => 'http://www.gnu.org/licenses/gpl.html', + 'GPLv2' => 'http://www.gnu.org/licenses/gpl-2.0.html', + 'GPL-2.0' => 'http://www.gnu.org/licenses/gpl-2.0.html', + 'GPLv3' => 'http://www.gnu.org/licenses/gpl-3.0.html', + 'GPL-3.0' => 'http://www.gnu.org/licenses/gpl-3.0.html', + 'GPL-3.0+' => 'http://www.gnu.org/licenses/gpl.html', + 'GPL-2.0+' => 'http://www.gnu.org/licenses/gpl.html', + 'LGPL' => 'http://www.gnu.org/licenses/lgpl.html', + 'LGPLv2' => 'http://www.gnu.org/licenses/lgpl-2.0.html', + 'LGPLv2.1' => 'http://www.gnu.org/licenses/lgpl-2.1.html', + 'LGPLv3' => 'http://www.gnu.org/licenses/lgpl.html', + 'LGPL-2.0' => 'http://www.gnu.org/licenses/lgpl-2.0.html', + 'LGPL-2.1' => 'http://www.gnu.org/licenses/lgpl-2.1.html', + 'LGPL-3.0' => 'http://www.gnu.org/licenses/lgpl.html', + 'LGPL-3.0+' => 'http://www.gnu.org/licenses/lgpl.html', + 'BSD' => 'http://opensource.org/licenses/bsd-license.html', + 'BSD-2-Clause' => 'http://opensource.org/licenses/BSD-2-Clause', + 'BSD-3-Clause' => 'http://opensource.org/licenses/BSD-3-Clause', + 'FreeBSD' => 'http://opensource.org/licenses/BSD-2-Clause', + 'MIT' => 'http://www.opensource.org/licenses/mit-license.php', + 'PHP' => 'http://opensource.org/licenses/PHP-3.0', + 'PHP-3' => 'http://www.php.net/license/3_01.txt', + 'PHP-3.0' => 'http://www.php.net/license/3_0.txt', + 'PHP-3.01' => 'http://www.php.net/license/3_01.txt', + ); + + $dir = dir($this->dir); + $fn = unslashify($dir->path) . DIRECTORY_SEPARATOR . $plugin_name . DIRECTORY_SEPARATOR . $plugin_name . '.php'; + $info = false; + + if (!class_exists($plugin_name)) + include($fn); + + if (class_exists($plugin_name)) + $info = $plugin_name::info(); + + // fall back to composer.json file + if (!$info) { + $composer = INSTALL_PATH . "/plugins/$plugin_name/composer.json"; + if (file_exists($composer) && ($json = @json_decode(file_get_contents($composer), true))) { + list($info['vendor'], $info['name']) = explode('/', $json['name']); + $info['license'] = $json['license']; + if ($license_uri = $license_uris[$info['license']]) + $info['license_uri'] = $license_uri; + } + + // read local composer.lock file (once) + if (!isset($composer_lock)) { + $composer_lock = @json_decode(@file_get_contents(INSTALL_PATH . "/composer.lock"), true); + if ($composer_lock['packages']) { + foreach ($composer_lock['packages'] as $i => $package) { + $composer_lock['installed'][$package['name']] = $package; + } + } + } + + // load additional information from local composer.lock file + if ($lock = $composer_lock['installed'][$json['name']]) { + $info['version'] = $lock['version']; + $info['uri'] = $lock['homepage'] ? $lock['homepage'] : $lock['source']['uri']; + $info['src_uri'] = $lock['dist']['uri'] ? $lock['dist']['uri'] : $lock['source']['uri']; + } + } + + // fall back to package.xml file + if (!$info) { + $package = INSTALL_PATH . "/plugins/$plugin_name/package.xml"; + if (file_exists($package) && ($file = file_get_contents($package))) { + $doc = new DOMDocument(); + $doc->loadXML($file); + $xpath = new DOMXPath($doc); + $xpath->registerNamespace('rc', "http://pear.php.net/dtd/package-2.0"); + $data = array(); + + // XPaths of plugin metadata elements + $metadata = array( + 'name' => 'string(//rc:package/rc:name)', + 'version' => 'string(//rc:package/rc:version/rc:release)', + 'license' => 'string(//rc:package/rc:license)', + 'license_uri' => 'string(//rc:package/rc:license/@uri)', + 'src_uri' => 'string(//rc:package/rc:srcuri)', + 'uri' => 'string(//rc:package/rc:uri)', + ); + + foreach ($metadata as $key => $path) { + $info[$key] = $xpath->evaluate($path); + } + + // dependent required plugins (can be used, but not included in config) + $deps = $xpath->evaluate('//rc:package/rc:dependencies/rc:required/rc:package/rc:name'); + for ($i = 0; $i < $deps->length; $i++) { + $dn = $deps->item($i)->nodeValue; + $info['requires'][] = $dn; + } + } + } + + return $info; + } + + /** * Allows a plugin object to register a callback for a certain hook * * @param string $hook Hook name diff --git a/program/lib/Roundcube/rcube_string_replacer.php b/program/lib/Roundcube/rcube_string_replacer.php index b8768bc98..0fc90a55a 100644 --- a/program/lib/Roundcube/rcube_string_replacer.php +++ b/program/lib/Roundcube/rcube_string_replacer.php @@ -95,12 +95,12 @@ class rcube_string_replacer $attrib = (array)$this->options['link_attribs']; $attrib['href'] = $url_prefix . $url; - $i = $this->add($prefix . html::a($attrib, rcube::Q($url)) . $suffix); + $i = $this->add(html::a($attrib, rcube::Q($url)) . $suffix); } // Return valid link for recognized schemes, otherwise // return the unmodified string for unrecognized schemes. - return $i >= 0 ? $this->get_replacement($i) : $matches[0]; + return $i >= 0 ? $prefix . $this->get_replacement($i) : $matches[0]; } /** diff --git a/program/lib/Roundcube/rcube_utils.php b/program/lib/Roundcube/rcube_utils.php index 1ae782a25..fabe0f060 100644 --- a/program/lib/Roundcube/rcube_utils.php +++ b/program/lib/Roundcube/rcube_utils.php @@ -729,8 +729,20 @@ class rcube_utils return $date; } - // support non-standard "GMTXXXX" literal - $date = preg_replace('/GMT\s*([+-][0-9]+)/', '\\1', $date); + // Clean malformed data + $date = preg_replace( + array( + '/GMT\s*([+-][0-9]+)/', // support non-standard "GMTXXXX" literal + '/[^a-z0-9\x20\x09:+-]/i', // remove any invalid characters + '/\s*(Mon|Tue|Wed|Thu|Fri|Sat|Sun)\s*/i', // remove weekday names + ), + array( + '\\1', + '', + '', + ), $date); + + $date = trim($date); // if date parsing fails, we have a date in non-rfc format. // remove token from the end and try again diff --git a/program/localization/ar_SA/labels.inc b/program/localization/ar_SA/labels.inc index 7dc8c15ad..cc023c31c 100644 --- a/program/localization/ar_SA/labels.inc +++ b/program/localization/ar_SA/labels.inc @@ -162,6 +162,7 @@ $labels['currpage'] = 'الصفحة الحالية'; $labels['unread'] = 'غير المقروءة'; $labels['flagged'] = 'موسوم'; $labels['unanswered'] = 'بلا رد'; +$labels['withattachment'] = 'With attachment'; $labels['deleted'] = 'محذوف'; $labels['undeleted'] = 'غير محذوفة'; $labels['invert'] = 'عكس'; @@ -454,9 +455,6 @@ $labels['replyremovesignature'] = 'إزالة التوقيع من الرسالة $labels['autoaddsignature'] = 'إضافة التوقيع آلياً'; $labels['newmessageonly'] = 'الرسالة الجديدة فقط'; $labels['replyandforwardonly'] = 'الردود والتمريرات فقط'; -$labels['replysignaturepos'] = 'إضافة التوقيع عند الرد أو التمرير'; -$labels['belowquote'] = 'بعد الاقتباس'; -$labels['abovequote'] = 'قبل الاقتباس'; $labels['insertsignature'] = 'إضافة التوقيع'; $labels['previewpanemarkread'] = 'تحديد الرسائل المُعاينة كمقروءة'; $labels['afternseconds'] = 'بعد $n ثواني'; diff --git a/program/localization/ast/labels.inc b/program/localization/ast/labels.inc index 996c6043f..c6207c0d7 100644 --- a/program/localization/ast/labels.inc +++ b/program/localization/ast/labels.inc @@ -162,6 +162,7 @@ $labels['currpage'] = 'Current page'; $labels['unread'] = 'Ensin lleer'; $labels['flagged'] = 'Marcáu'; $labels['unanswered'] = 'Ensin contestar'; +$labels['withattachment'] = 'With attachment'; $labels['deleted'] = 'Desaniciáu'; $labels['undeleted'] = 'Not deleted'; $labels['invert'] = 'Invertir'; @@ -454,9 +455,6 @@ $labels['replyremovesignature'] = 'When replying remove original signature from $labels['autoaddsignature'] = 'Automatically add signature'; $labels['newmessageonly'] = 'new message only'; $labels['replyandforwardonly'] = 'replies and forwards only'; -$labels['replysignaturepos'] = 'When replying or forwarding place signature'; -$labels['belowquote'] = 'below the quote'; -$labels['abovequote'] = 'above the quote'; $labels['insertsignature'] = 'Insert signature'; $labels['previewpanemarkread'] = 'Mark previewed messages as read'; $labels['afternseconds'] = 'after $n seconds'; diff --git a/program/localization/az_AZ/labels.inc b/program/localization/az_AZ/labels.inc index 60e861177..7d25c9234 100644 --- a/program/localization/az_AZ/labels.inc +++ b/program/localization/az_AZ/labels.inc @@ -64,7 +64,7 @@ $labels['copy'] = 'Kopyala'; $labels['move'] = 'Köçür'; $labels['moveto'] = 'Burada köçür...'; $labels['download'] = 'Endir'; -$labels['open'] = 'Open'; +$labels['open'] = 'Aç'; $labels['showattachment'] = 'Göstər'; $labels['showanyway'] = 'İstənilən halda göstər'; @@ -162,6 +162,7 @@ $labels['currpage'] = 'Hazırki səhifəni'; $labels['unread'] = 'Oxunmamışları'; $labels['flagged'] = 'İşarəliləri'; $labels['unanswered'] = 'Cavabsızları'; +$labels['withattachment'] = 'With attachment'; $labels['deleted'] = 'Silinmişləri'; $labels['undeleted'] = 'Silinməyib'; $labels['invert'] = 'İnvertliləri'; @@ -205,8 +206,8 @@ $labels['body'] = 'Mətn'; $labels['openinextwin'] = 'Yeni pəncərədə aç'; $labels['emlsave'] = 'Saxla (.eml)'; -$labels['changeformattext'] = 'Display in plain text format'; -$labels['changeformathtml'] = 'Display in HTML format'; +$labels['changeformattext'] = 'Sadə mətn formatında göstər'; +$labels['changeformathtml'] = 'HTML formatında göstər'; // message compose $labels['editasnew'] = 'Yeni kimi redaktə et'; @@ -338,8 +339,8 @@ $labels['composeto'] = 'Seçilmiş ünvanlara məktub yaz'; $labels['contactsfromto'] = '$count ünvanının $from - $to arası'; $labels['print'] = 'Çap et'; $labels['export'] = 'İxrac et'; -$labels['exportall'] = 'Export all'; -$labels['exportsel'] = 'Export selected'; +$labels['exportall'] = 'Hamısını İxrac et'; +$labels['exportsel'] = 'Seçilmişləri İxrac et'; $labels['exportvcards'] = 'Ünvanları vCards formatında ixrac et'; $labels['newcontactgroup'] = 'Ünvanlar qrupunu yarat'; $labels['grouprename'] = 'Qruğun adını dəyişdir'; @@ -454,9 +455,6 @@ $labels['replyremovesignature'] = 'Cavab zamanı imzanı sil'; $labels['autoaddsignature'] = 'İmzanı avtomatik əlavə et'; $labels['newmessageonly'] = 'yalnız yeni məktublarda'; $labels['replyandforwardonly'] = 'Yalnız cavab və yönəldilənlərdə'; -$labels['replysignaturepos'] = 'Cavab və yönəltmə zamanı imzanı bərkid'; -$labels['belowquote'] = 'sitatdan sonra'; -$labels['abovequote'] = 'sitatdan əvvəl'; $labels['insertsignature'] = 'İmza əlavə et'; $labels['previewpanemarkread'] = 'Baxılmış şəkilləri oxunmuş kimi qeyd et'; $labels['afternseconds'] = '$n saniyədən sonra'; diff --git a/program/localization/az_AZ/messages.inc b/program/localization/az_AZ/messages.inc index 939827247..418f270be 100644 --- a/program/localization/az_AZ/messages.inc +++ b/program/localization/az_AZ/messages.inc @@ -17,20 +17,22 @@ */ $messages = array(); -$messages['errortitle'] = 'Xəta baş verib!'; -$messages['loginfailed'] = 'Giriş uğursuz oldu'; -$messages['cookiesdisabled'] = 'Sizin brauzer kukiləri qəbul etmir'; -$messages['sessionerror'] = 'Sizin sessiya köhnəlib'; -$messages['storageerror'] = 'IMAP serverlə bağlantı alınmadı'; -$messages['servererror'] = 'Server xətası!'; -$messages['servererrormsg'] = 'Server xətası: $msg'; -$messages['dberror'] = 'Məlumatlar bazasında xəta!'; +$messages['errortitle'] = 'Xəta baş verdi!'; +$messages['loginfailed'] = 'Giriş uğursuz oldu.'; +$messages['cookiesdisabled'] = 'Sizin brauzer kukiləri qəbul etmir.'; +$messages['sessionerror'] = 'Sizin sessiya köhnəlib.'; +$messages['storageerror'] = 'IMAP serverlə bağlantı alınmadı.'; +$messages['servererror'] = 'Server Xətası!'; +$messages['servererrormsg'] = 'Server Xətası: $msg'; +$messages['dberror'] = 'Məlumatlar Bazasında Xəta!'; $messages['requesttimedout'] = 'Sorğunun gözləmə müddəti bitdi'; -$messages['errorreadonly'] = 'Əməliyyatı etmək mümkün deyil. Qovluq yalnız oxunuş üçündür.'; +$messages['errorreadonly'] = 'Əməliyyatı icra etmək mümkün deyil. Qovluq yalnız oxunuş üçündür.'; $messages['errornoperm'] = 'Əməliyyatı etmək mümkün deyil. Giriş qadağandır.'; +$messages['erroroverquota'] = 'Əməliyyat icra edilə bilinmir. Boş disk həcmi yoxdur.'; +$messages['erroroverquotadelete'] = 'Boş disk həcmi yoxdur. Məktubu silmək üçün SHIFT+DEL düyməsini istifadə edin.'; $messages['invalidrequest'] = 'Səhv sorğu! Məlumat yaddaşda qalmadı.'; -$messages['invalidhost'] = 'Səhv server adı'; -$messages['nomessagesfound'] = 'Poçt qutusunda məktub tapılmadı'; +$messages['invalidhost'] = 'Səhv server adı.'; +$messages['nomessagesfound'] = 'Poçt qutusunda məktub tapılmadı.'; $messages['loggedout'] = 'Çıxış uğurlu oldu. Sağ olun!'; $messages['mailboxempty'] = 'Poçt qutusu boşdur'; $messages['refreshing'] = 'Yenilənmə...'; diff --git a/program/localization/be_BE/labels.inc b/program/localization/be_BE/labels.inc index db3893ced..3bb5c4436 100644 --- a/program/localization/be_BE/labels.inc +++ b/program/localization/be_BE/labels.inc @@ -162,6 +162,7 @@ $labels['currpage'] = 'Current page'; $labels['unread'] = 'Unread'; $labels['flagged'] = 'Flagged'; $labels['unanswered'] = 'Unanswered'; +$labels['withattachment'] = 'With attachment'; $labels['deleted'] = 'Deleted'; $labels['undeleted'] = 'Not deleted'; $labels['invert'] = 'Invert'; @@ -454,9 +455,6 @@ $labels['replyremovesignature'] = 'When replying remove original signature from $labels['autoaddsignature'] = 'Automatically add signature'; $labels['newmessageonly'] = 'new message only'; $labels['replyandforwardonly'] = 'replies and forwards only'; -$labels['replysignaturepos'] = 'When replying or forwarding place signature'; -$labels['belowquote'] = 'below the quote'; -$labels['abovequote'] = 'above the quote'; $labels['insertsignature'] = 'Insert signature'; $labels['previewpanemarkread'] = 'Mark previewed messages as read'; $labels['afternseconds'] = 'after $n seconds'; diff --git a/program/localization/bg_BG/labels.inc b/program/localization/bg_BG/labels.inc index fa92ec042..dfe9d2d26 100644 --- a/program/localization/bg_BG/labels.inc +++ b/program/localization/bg_BG/labels.inc @@ -162,6 +162,7 @@ $labels['currpage'] = 'Страница'; $labels['unread'] = 'Нови'; $labels['flagged'] = 'Отбелязано'; $labels['unanswered'] = 'Без отговор'; +$labels['withattachment'] = 'With attachment'; $labels['deleted'] = 'Изтрито'; $labels['undeleted'] = 'Не е изтрит'; $labels['invert'] = 'Инвертирай'; @@ -454,9 +455,6 @@ $labels['replyremovesignature'] = 'Премахване на предишния $labels['autoaddsignature'] = 'Автоматично добавяне на подпис'; $labels['newmessageonly'] = 'само на нови съобщения'; $labels['replyandforwardonly'] = 'само на отговори и препратени'; -$labels['replysignaturepos'] = 'Поставяне на подпис при отговор или препращане'; -$labels['belowquote'] = 'над цитатът'; -$labels['abovequote'] = 'под цитатът'; $labels['insertsignature'] = 'Вмъкване на подпис'; $labels['previewpanemarkread'] = 'Маркиране на прегледаните съобщения като прочетени'; $labels['afternseconds'] = 'след $n секунди'; diff --git a/program/localization/bn_BD/labels.inc b/program/localization/bn_BD/labels.inc index 0f20bba37..58f4467d3 100644 --- a/program/localization/bn_BD/labels.inc +++ b/program/localization/bn_BD/labels.inc @@ -162,6 +162,7 @@ $labels['currpage'] = 'Current page'; $labels['unread'] = 'নাদেখা (unread)'; $labels['flagged'] = 'দাগানো (flagged)'; $labels['unanswered'] = 'উত্তর না দেওয়া গুলো'; +$labels['withattachment'] = 'With attachment'; $labels['deleted'] = 'Deleted'; $labels['undeleted'] = 'Not deleted'; $labels['invert'] = 'Invert'; @@ -454,9 +455,6 @@ $labels['replyremovesignature'] = 'When replying remove original signature from $labels['autoaddsignature'] = 'Automatically add signature'; $labels['newmessageonly'] = 'new message only'; $labels['replyandforwardonly'] = 'replies and forwards only'; -$labels['replysignaturepos'] = 'When replying or forwarding place signature'; -$labels['belowquote'] = 'below the quote'; -$labels['abovequote'] = 'above the quote'; $labels['insertsignature'] = 'Insert signature'; $labels['previewpanemarkread'] = 'Mark previewed messages as read'; $labels['afternseconds'] = 'after $n seconds'; diff --git a/program/localization/br/labels.inc b/program/localization/br/labels.inc index 95756e393..0755a6d9b 100644 --- a/program/localization/br/labels.inc +++ b/program/localization/br/labels.inc @@ -162,6 +162,7 @@ $labels['currpage'] = 'Current page'; $labels['unread'] = 'Na lennet'; $labels['flagged'] = 'Flagged'; $labels['unanswered'] = 'Unanswered'; +$labels['withattachment'] = 'With attachment'; $labels['deleted'] = 'Deleted'; $labels['undeleted'] = 'Not deleted'; $labels['invert'] = 'Invert'; @@ -454,9 +455,6 @@ $labels['replyremovesignature'] = 'When replying remove original signature from $labels['autoaddsignature'] = 'Automatically add signature'; $labels['newmessageonly'] = 'new message only'; $labels['replyandforwardonly'] = 'replies and forwards only'; -$labels['replysignaturepos'] = 'When replying or forwarding place signature'; -$labels['belowquote'] = 'below the quote'; -$labels['abovequote'] = 'above the quote'; $labels['insertsignature'] = 'Insert signature'; $labels['previewpanemarkread'] = 'Mark previewed messages as read'; $labels['afternseconds'] = 'after $n seconds'; diff --git a/program/localization/bs_BA/labels.inc b/program/localization/bs_BA/labels.inc index f2a871cdd..d81d97320 100644 --- a/program/localization/bs_BA/labels.inc +++ b/program/localization/bs_BA/labels.inc @@ -162,6 +162,7 @@ $labels['currpage'] = 'Trenutna stranica'; $labels['unread'] = 'Nepročitano'; $labels['flagged'] = 'Važno'; $labels['unanswered'] = 'Neodgovoreno'; +$labels['withattachment'] = 'Sa prilogom'; $labels['deleted'] = 'Obrisano'; $labels['undeleted'] = 'Nije obrisano'; $labels['invert'] = 'Izokreni'; @@ -454,9 +455,6 @@ $labels['replyremovesignature'] = 'Prilikom odgovaranja na poruku, ukloni origin $labels['autoaddsignature'] = 'Automatski dodaj potpis'; $labels['newmessageonly'] = 'samo za nove poruke'; $labels['replyandforwardonly'] = 'samo za odgovore i prosljeđivanja'; -$labels['replysignaturepos'] = 'Prilikom odgovaranja ili prosljeđivanja potpis ubaci'; -$labels['belowquote'] = 'ispod citata'; -$labels['abovequote'] = 'iznad citata'; $labels['insertsignature'] = 'Umetni potpis'; $labels['previewpanemarkread'] = 'Obilježi prikazane poruke kao pročitane'; $labels['afternseconds'] = 'nakon $n sekundi'; diff --git a/program/localization/ca_ES/labels.inc b/program/localization/ca_ES/labels.inc index 1bcb526ea..25dbb1155 100644 --- a/program/localization/ca_ES/labels.inc +++ b/program/localization/ca_ES/labels.inc @@ -162,6 +162,7 @@ $labels['currpage'] = 'Pàgina actual'; $labels['unread'] = 'No llegits'; $labels['flagged'] = 'Marcat'; $labels['unanswered'] = 'No respost'; +$labels['withattachment'] = 'With attachment'; $labels['deleted'] = 'Suprimit'; $labels['undeleted'] = 'No s\'ha suprimit'; $labels['invert'] = 'Inverteix'; @@ -454,9 +455,6 @@ $labels['replyremovesignature'] = 'Quan es contesti, suprimeix la signatura orig $labels['autoaddsignature'] = 'Afegeix la signatura automàticament'; $labels['newmessageonly'] = 'només si és un missatge nou'; $labels['replyandforwardonly'] = 'només a respostes i reenviaments'; -$labels['replysignaturepos'] = 'Quan es contesti o reenviï, posa-hi la signatura'; -$labels['belowquote'] = 'sota les cometes'; -$labels['abovequote'] = 'sobre les cometes'; $labels['insertsignature'] = 'Inserta la signatura'; $labels['previewpanemarkread'] = 'Marca els missatges previsualitzats com a llegits'; $labels['afternseconds'] = 'després de $n segons'; diff --git a/program/localization/cs_CZ/labels.inc b/program/localization/cs_CZ/labels.inc index 2240065e7..cb94c71c9 100644 --- a/program/localization/cs_CZ/labels.inc +++ b/program/localization/cs_CZ/labels.inc @@ -162,6 +162,7 @@ $labels['currpage'] = 'Aktuální stránka'; $labels['unread'] = 'Nepřečtené'; $labels['flagged'] = 'Označené'; $labels['unanswered'] = 'Neoznačené'; +$labels['withattachment'] = 'With attachment'; $labels['deleted'] = 'Smazané'; $labels['undeleted'] = 'Nesmazáno'; $labels['invert'] = 'Převrátit'; @@ -454,9 +455,6 @@ $labels['replyremovesignature'] = 'Při odpovídání odstranit ze zprávy půvo $labels['autoaddsignature'] = 'Automaticky přidat podpis'; $labels['newmessageonly'] = 'pouze k novým zprávám'; $labels['replyandforwardonly'] = 'jen k odpovědi a přeposílané zprávě'; -$labels['replysignaturepos'] = 'Při odpovídání nebo přeposílání zprávy vložit podpis'; -$labels['belowquote'] = 'pod citaci'; -$labels['abovequote'] = 'nad citaci'; $labels['insertsignature'] = 'Vložit podpis'; $labels['previewpanemarkread'] = 'Označit zobrazené zprávy jako přečtené'; $labels['afternseconds'] = 'po $n sekundách'; diff --git a/program/localization/cy_GB/labels.inc b/program/localization/cy_GB/labels.inc index 9b695e140..2a22827bf 100644 --- a/program/localization/cy_GB/labels.inc +++ b/program/localization/cy_GB/labels.inc @@ -162,6 +162,7 @@ $labels['currpage'] = 'Tudalen gyfredol'; $labels['unread'] = 'Heb eu darllen'; $labels['flagged'] = 'Nodwyd'; $labels['unanswered'] = 'Heb ei ateb'; +$labels['withattachment'] = 'With attachment'; $labels['deleted'] = 'Dilewyd'; $labels['undeleted'] = 'Heb ei ddileu'; $labels['invert'] = 'Gwrth-droi'; @@ -454,9 +455,6 @@ $labels['replyremovesignature'] = 'Wrth ateb, dileu\'r llofnod gwreiddiol o\'r n $labels['autoaddsignature'] = 'Ychwanegu llofnod yn awtomatig'; $labels['newmessageonly'] = 'negeseuon newydd yn unig'; $labels['replyandforwardonly'] = 'atebion a danfon ymlaen yn unig'; -$labels['replysignaturepos'] = 'Wrth ateb neu ddanfon ymlaen, rhoi\'r llofnod'; -$labels['belowquote'] = 'o dan y dyfynniad'; -$labels['abovequote'] = 'uwchben y dyfynniad'; $labels['insertsignature'] = 'Mewnosod llofnod'; $labels['previewpanemarkread'] = 'Nodi negeseuon rhagolwg fel darllenwyd'; $labels['afternseconds'] = 'ar ôl $n eiliad'; diff --git a/program/localization/da_DK/labels.inc b/program/localization/da_DK/labels.inc index cb4e3b55c..da92c2fcc 100644 --- a/program/localization/da_DK/labels.inc +++ b/program/localization/da_DK/labels.inc @@ -162,6 +162,7 @@ $labels['currpage'] = 'Aktuel side'; $labels['unread'] = 'Ulæste'; $labels['flagged'] = 'Markeret'; $labels['unanswered'] = 'Ubesvaret'; +$labels['withattachment'] = 'With attachment'; $labels['deleted'] = 'Slettede'; $labels['undeleted'] = 'Ikke slettet'; $labels['invert'] = 'Invertér'; @@ -454,9 +455,6 @@ $labels['replyremovesignature'] = 'Fjern original signatur fra besked, når der $labels['autoaddsignature'] = 'Indsæt automatisk signatur'; $labels['newmessageonly'] = 'kun på nye beskeder'; $labels['replyandforwardonly'] = 'kun på svar og videresendelse af beskeder'; -$labels['replysignaturepos'] = 'Når beskeder besvares eller videresendes; indsæt signatur'; -$labels['belowquote'] = 'under det citerede'; -$labels['abovequote'] = 'over det citerede'; $labels['insertsignature'] = 'Indsæt signatur'; $labels['previewpanemarkread'] = 'Markér forhåndsviste beskeder som læst'; $labels['afternseconds'] = 'efter $n sekunder'; diff --git a/program/localization/de_CH/labels.inc b/program/localization/de_CH/labels.inc index 98bbd8837..82cee4fe2 100644 --- a/program/localization/de_CH/labels.inc +++ b/program/localization/de_CH/labels.inc @@ -162,6 +162,7 @@ $labels['currpage'] = 'Aktuelle Seite'; $labels['unread'] = 'Ungelesene'; $labels['flagged'] = 'Markierte'; $labels['unanswered'] = 'Unbeantwortete'; +$labels['withattachment'] = 'With attachment'; $labels['deleted'] = 'Gelöschte'; $labels['undeleted'] = 'Nicht gelöscht'; $labels['invert'] = 'Umkehren'; @@ -454,9 +455,6 @@ $labels['replyremovesignature'] = 'Beim Antworten die Signatur der Originalnachr $labels['autoaddsignature'] = 'Signatur automatisch einfügen'; $labels['newmessageonly'] = 'nur bei neuen Nachrichten'; $labels['replyandforwardonly'] = 'nur bei Antworten und Weiterleitungen'; -$labels['replysignaturepos'] = 'Beim Antworten oder Weiterleiten die Signatur'; -$labels['belowquote'] = 'unter der Originalnachricht einfügen'; -$labels['abovequote'] = 'über der Originalnachricht einfügen'; $labels['insertsignature'] = 'Signatur einfügen'; $labels['previewpanemarkread'] = 'Nachricht in Vorschau als gelesen markieren'; $labels['afternseconds'] = 'nach $n Sekunden'; diff --git a/program/localization/de_DE/labels.inc b/program/localization/de_DE/labels.inc index 956e32aa4..211607288 100644 --- a/program/localization/de_DE/labels.inc +++ b/program/localization/de_DE/labels.inc @@ -162,6 +162,7 @@ $labels['currpage'] = 'Aktuelle Seite'; $labels['unread'] = 'Ungelesene'; $labels['flagged'] = 'Markierte'; $labels['unanswered'] = 'Unbeantwortete'; +$labels['withattachment'] = 'With attachment'; $labels['deleted'] = 'Gelöschte'; $labels['undeleted'] = 'Nicht gelöscht'; $labels['invert'] = 'Invertieren'; @@ -454,9 +455,6 @@ $labels['replyremovesignature'] = 'Beim Antworten Signatur der Originalnachricht $labels['autoaddsignature'] = 'Signatur automatisch einfügen'; $labels['newmessageonly'] = 'nur bei neuen Nachrichten'; $labels['replyandforwardonly'] = 'nur bei Antworten und Weiterleitungen'; -$labels['replysignaturepos'] = 'Beim Antworten die Signatur'; -$labels['belowquote'] = 'unter der Originalnachricht einfügen'; -$labels['abovequote'] = 'über der Originalnachricht einfügen'; $labels['insertsignature'] = 'Signatur einfügen'; $labels['previewpanemarkread'] = 'Nachricht in Vorschau als gelesen markieren'; $labels['afternseconds'] = 'nach $n Sekunden'; diff --git a/program/localization/el_GR/labels.inc b/program/localization/el_GR/labels.inc index b3166730f..4e1db7002 100644 --- a/program/localization/el_GR/labels.inc +++ b/program/localization/el_GR/labels.inc @@ -162,6 +162,7 @@ $labels['currpage'] = 'Τρέχουσα σελίδα'; $labels['unread'] = 'Μη αναγνωσμένο'; $labels['flagged'] = 'Σημειωμένο'; $labels['unanswered'] = 'Αναπάντητο'; +$labels['withattachment'] = 'With attachment'; $labels['deleted'] = 'Διεγραμμένο'; $labels['undeleted'] = 'Μη διεγραμμένο'; $labels['invert'] = 'Αναστροφή'; @@ -454,9 +455,6 @@ $labels['replyremovesignature'] = 'Όταν το μήνυμα είναι απά $labels['autoaddsignature'] = 'Η υπογραφή να προστίθεται αυτόματα'; $labels['newmessageonly'] = 'μόνο στα νέα μηνύματα'; $labels['replyandforwardonly'] = 'μόνο στις απαντήσεις και προωθήσεις'; -$labels['replysignaturepos'] = 'Όταν γίνεται απάντηση ή προώθηση, η υπογραφή να τοποθετείτε'; -$labels['belowquote'] = 'πάνω από την παράθεση'; -$labels['abovequote'] = 'κάτω από την παράθεση'; $labels['insertsignature'] = 'Προσθήκη υπογραφής'; $labels['previewpanemarkread'] = 'Στα μηνύματα που έγινε προεπισκόπηση να μαρκάρονται σαν αναγνωσμένα'; $labels['afternseconds'] = 'μετά από $n δευτερόλεπτα'; diff --git a/program/localization/en_GB/labels.inc b/program/localization/en_GB/labels.inc index 49b6be519..581a7171a 100644 --- a/program/localization/en_GB/labels.inc +++ b/program/localization/en_GB/labels.inc @@ -162,6 +162,7 @@ $labels['currpage'] = 'Current page'; $labels['unread'] = 'Unread'; $labels['flagged'] = 'Flagged'; $labels['unanswered'] = 'Unanswered'; +$labels['withattachment'] = 'With attachment'; $labels['deleted'] = 'Deleted'; $labels['undeleted'] = 'Not deleted'; $labels['invert'] = 'Invert'; @@ -396,6 +397,7 @@ $labels['pagesize'] = 'Rows per page'; $labels['signature'] = 'Signature'; $labels['dstactive'] = 'Summer time'; $labels['showinextwin'] = 'Open message in a new window'; +$labels['showemail'] = 'Show email address with display name'; $labels['composeextwin'] = 'Compose in a new window'; $labels['htmleditor'] = 'Compose HTML messages'; $labels['htmlonreply'] = 'on reply to HTML message only'; @@ -454,9 +456,6 @@ $labels['replyremovesignature'] = 'When replying remove original signature from $labels['autoaddsignature'] = 'Automatically add signature'; $labels['newmessageonly'] = 'new message only'; $labels['replyandforwardonly'] = 'replies and forwards only'; -$labels['replysignaturepos'] = 'When replying or forwarding place signature'; -$labels['belowquote'] = 'below the quote'; -$labels['abovequote'] = 'above the quote'; $labels['insertsignature'] = 'Insert signature'; $labels['previewpanemarkread'] = 'Mark previewed messages as read'; $labels['afternseconds'] = 'after $n seconds'; diff --git a/program/localization/en_US/csv2vcard.inc b/program/localization/en_US/csv2vcard.inc index 5412f7e20..e7b86795b 100644 --- a/program/localization/en_US/csv2vcard.inc +++ b/program/localization/en_US/csv2vcard.inc @@ -91,3 +91,20 @@ $map['work_phone'] = "Work Phone"; $map['work_address'] = "Work Address"; $map['work_country'] = "Work Country"; $map['work_zipcode'] = "Work ZipCode"; + +// Atmail +$map['date_of_birth'] = "Date of Birth"; +$map['email'] = "Email"; +$map['home_mobile'] = "Home Mobile"; +$map['home_zip'] = "Home Zip"; +$map['info'] = "Info"; +$map['user_photo'] = "User Photo"; +$map['url'] = "URL"; +$map['work_city'] = "Work City"; +$map['work_company'] = "Work Company"; +$map['work_dept'] = "Work Dept"; +$map['work_fax'] = "Work Fax"; +$map['work_mobile'] = "Work Mobile"; +$map['work_state'] = "Work State"; +$map['work_title'] = "Work Title"; +$map['work_zip'] = "Work Zip"; diff --git a/program/localization/en_US/labels.inc b/program/localization/en_US/labels.inc index 0a4e329e5..ab57007dd 100644 --- a/program/localization/en_US/labels.inc +++ b/program/localization/en_US/labels.inc @@ -162,6 +162,7 @@ $labels['currpage'] = 'Current page'; $labels['unread'] = 'Unread'; $labels['flagged'] = 'Flagged'; $labels['unanswered'] = 'Unanswered'; +$labels['withattachment'] = 'With attachment'; $labels['deleted'] = 'Deleted'; $labels['undeleted'] = 'Not deleted'; $labels['invert'] = 'Invert'; @@ -401,6 +402,7 @@ $labels['htmleditor'] = 'Compose HTML messages'; $labels['htmlonreply'] = 'on reply to HTML message'; $labels['htmlonreplyandforward'] = 'on forward or reply to HTML message'; $labels['htmlsignature'] = 'HTML signature'; +$labels['showemail'] = 'Show email address with display name'; $labels['previewpane'] = 'Show preview pane'; $labels['skin'] = 'Interface skin'; $labels['logoutclear'] = 'Clear Trash on logout'; diff --git a/program/localization/eo/labels.inc b/program/localization/eo/labels.inc index 823fc25cb..bb678479e 100644 --- a/program/localization/eo/labels.inc +++ b/program/localization/eo/labels.inc @@ -162,6 +162,7 @@ $labels['currpage'] = 'Nuna paĝo'; $labels['unread'] = 'Nelegitan'; $labels['flagged'] = 'Markita'; $labels['unanswered'] = 'Nerespondita'; +$labels['withattachment'] = 'With attachment'; $labels['deleted'] = 'Forigita'; $labels['undeleted'] = 'Not deleted'; $labels['invert'] = 'Inversigu'; @@ -454,9 +455,6 @@ $labels['replyremovesignature'] = 'When replying remove original signature from $labels['autoaddsignature'] = 'Automatically add signature'; $labels['newmessageonly'] = 'new message only'; $labels['replyandforwardonly'] = 'replies and forwards only'; -$labels['replysignaturepos'] = 'When replying or forwarding place signature'; -$labels['belowquote'] = 'below the quote'; -$labels['abovequote'] = 'above the quote'; $labels['insertsignature'] = 'Insert signature'; $labels['previewpanemarkread'] = 'Mark previewed messages as read'; $labels['afternseconds'] = 'after $n seconds'; diff --git a/program/localization/es_AR/labels.inc b/program/localization/es_AR/labels.inc index 3e6793e51..b4b318053 100644 --- a/program/localization/es_AR/labels.inc +++ b/program/localization/es_AR/labels.inc @@ -41,7 +41,7 @@ $labels['junk'] = 'Basura'; // message listing $labels['subject'] = 'Asunto'; $labels['from'] = 'Remitente'; -$labels['sender'] = 'Sender'; +$labels['sender'] = 'Remitente'; $labels['to'] = 'Destinatario'; $labels['cc'] = 'Copia'; $labels['bcc'] = 'Cco'; @@ -52,21 +52,21 @@ $labels['size'] = 'Tamaño'; $labels['priority'] = 'Prioridad'; $labels['organization'] = 'Organización'; $labels['readstatus'] = 'Read status'; -$labels['listoptions'] = 'List options...'; +$labels['listoptions'] = 'Listar opciones...'; $labels['mailboxlist'] = 'Carpetas'; $labels['messagesfromto'] = 'Mensajes $from a $to de $count'; -$labels['threadsfromto'] = 'Threads $from to $to of $count'; +$labels['threadsfromto'] = '$from a $to de $count conversaciones'; $labels['messagenrof'] = 'Mensaje $nr de $count'; -$labels['fromtoshort'] = '$from – $to of $count'; +$labels['fromtoshort'] = '$from – $to de $count'; $labels['copy'] = 'Copiar'; $labels['move'] = 'Mover'; $labels['moveto'] = 'Mover a...'; $labels['download'] = 'Descargar'; $labels['open'] = 'Open'; -$labels['showattachment'] = 'Show'; -$labels['showanyway'] = 'Show it anyway'; +$labels['showattachment'] = 'Mostrar'; +$labels['showanyway'] = 'Mostrar esto siempre'; $labels['filename'] = 'Nombre del archivo'; $labels['filesize'] = 'Tamaño del archivo'; @@ -122,18 +122,18 @@ $labels['longdec'] = 'Diciembre'; $labels['today'] = 'Hoy'; // toolbar buttons -$labels['refresh'] = 'Refresh'; +$labels['refresh'] = 'Actualizar'; $labels['checkmail'] = 'Revisar si hay nuevos mensajes'; $labels['compose'] = 'Escribir un mensaje'; $labels['writenewmessage'] = 'Crear nuevo mensaje'; -$labels['reply'] = 'Reply'; +$labels['reply'] = 'Responder'; $labels['replytomessage'] = 'Responder mensaje'; $labels['replytoallmessage'] = 'Responder al emisor y a todos los destinatarios'; -$labels['replyall'] = 'Reply all'; -$labels['replylist'] = 'Reply list'; -$labels['forward'] = 'Forward'; -$labels['forwardinline'] = 'Forward inline'; -$labels['forwardattachment'] = 'Forward as attachment'; +$labels['replyall'] = 'Responder a todos'; +$labels['replylist'] = 'Responder a lista'; +$labels['forward'] = 'Reenviar'; +$labels['forwardinline'] = 'Reenviar en linea'; +$labels['forwardattachment'] = 'Reenviar como adjunto'; $labels['forwardmessage'] = 'Reenviar mensaje'; $labels['deletemessage'] = 'Eliminar mensaje'; $labels['movemessagetotrash'] = 'Mover mensaje a la papelera'; @@ -144,16 +144,16 @@ $labels['nextmessage'] = 'Mostrar siguente mensaje'; $labels['lastmessage'] = 'Mostrar último mensaje'; $labels['backtolist'] = 'Volver a la lista de mensajes'; $labels['viewsource'] = 'Mostrar código'; -$labels['mark'] = 'Mark'; +$labels['mark'] = 'Marcar'; $labels['markmessages'] = 'Marcar mensajes'; $labels['markread'] = 'Como leído'; $labels['markunread'] = 'Como no leído'; $labels['markflagged'] = 'Como marcado'; $labels['markunflagged'] = 'Como no marcado'; -$labels['moreactions'] = 'More actions...'; -$labels['more'] = 'More'; -$labels['back'] = 'Back'; -$labels['options'] = 'Options'; +$labels['moreactions'] = 'Mas acciones...'; +$labels['more'] = 'Más'; +$labels['back'] = 'Atrás'; +$labels['options'] = 'Opciones'; $labels['select'] = 'Elija'; $labels['all'] = 'Todos'; @@ -162,34 +162,35 @@ $labels['currpage'] = 'Página actual'; $labels['unread'] = 'Sin leer'; $labels['flagged'] = 'Marcado'; $labels['unanswered'] = 'Sin respuesta'; +$labels['withattachment'] = 'With attachment'; $labels['deleted'] = 'Eliminado'; -$labels['undeleted'] = 'Not deleted'; +$labels['undeleted'] = 'No eliminado'; $labels['invert'] = 'Invertir'; $labels['filter'] = 'Filtrar'; -$labels['list'] = 'List'; -$labels['threads'] = 'Threads'; +$labels['list'] = 'Lista'; +$labels['threads'] = 'Conversaciones'; $labels['expand-all'] = 'Expandir Todos'; $labels['expand-unread'] = 'Expandir No Leidos'; $labels['collapse-all'] = 'Colapsar Todos'; -$labels['threaded'] = 'Threaded'; +$labels['threaded'] = 'Como conversaciones'; -$labels['autoexpand_threads'] = 'Expand message threads'; -$labels['do_expand'] = 'all threads'; +$labels['autoexpand_threads'] = 'Expandir mensajes en conversación'; +$labels['do_expand'] = 'todas las conversaciones'; $labels['expand_only_unread'] = 'solo con mensajes no leídos'; -$labels['fromto'] = 'From/To'; -$labels['flag'] = 'Flag'; +$labels['fromto'] = 'De/A'; +$labels['flag'] = 'Marca'; $labels['attachment'] = 'Adjunto'; $labels['nonesort'] = 'Ninguno'; $labels['sentdate'] = 'Fecha de Enviado'; $labels['arrival'] = 'Fecha de Recepción'; $labels['asc'] = 'Ascendente'; $labels['desc'] = 'Descendente'; -$labels['listcolumns'] = 'List columns'; -$labels['listsorting'] = 'Sorting column'; -$labels['listorder'] = 'Sorting order'; +$labels['listcolumns'] = 'Listar columnas'; +$labels['listsorting'] = 'Ordenar por'; +$labels['listorder'] = 'Ordenado por'; $labels['listmode'] = 'List view mode'; -$labels['folderactions'] = 'Folder actions...'; +$labels['folderactions'] = 'Acciones de carpeta...'; $labels['compact'] = 'Compactar'; $labels['empty'] = 'Vaciar'; @@ -210,29 +211,29 @@ $labels['changeformathtml'] = 'Display in HTML format'; // message compose $labels['editasnew'] = 'Editar como nuevo'; -$labels['send'] = 'Send'; +$labels['send'] = 'Enviar'; $labels['sendmessage'] = 'Enviar ahora el mensaje'; $labels['savemessage'] = 'Guardar como borrador'; $labels['addattachment'] = 'Añadir un archivo'; $labels['charset'] = 'Codificación'; $labels['editortype'] = 'Tipo de editor'; $labels['returnreceipt'] = 'Acuse de recibo'; -$labels['dsn'] = 'Delivery status notification'; -$labels['mailreplyintro'] = 'On $date, $sender wrote:'; -$labels['originalmessage'] = 'Original Message'; +$labels['dsn'] = 'Notificación de estado del envío'; +$labels['mailreplyintro'] = 'El $date, $sender escribió:'; +$labels['originalmessage'] = 'Mensaje original'; -$labels['editidents'] = 'Edit identities'; -$labels['spellcheck'] = 'Spell'; +$labels['editidents'] = 'Editar identidades'; +$labels['spellcheck'] = 'Gramática'; $labels['checkspelling'] = 'Revisar ortografía'; $labels['resumeediting'] = 'Continuar edición'; $labels['revertto'] = 'Revertir a'; -$labels['attach'] = 'Attach'; +$labels['attach'] = 'Adjuntar'; $labels['attachments'] = 'Adjuntos'; $labels['upload'] = 'Agregar'; -$labels['uploadprogress'] = '$percent ($current from $total)'; +$labels['uploadprogress'] = '$percent ($current de $total)'; $labels['close'] = 'Cerrar'; -$labels['messageoptions'] = 'Message options...'; +$labels['messageoptions'] = 'Opciones de mensaje...'; $labels['low'] = 'Bajo'; $labels['lowest'] = 'Bajísimo'; @@ -243,9 +244,9 @@ $labels['highest'] = 'Altísimo'; $labels['nosubject'] = '(sin asunto)'; $labels['showimages'] = 'Mostrar imágenes'; $labels['alwaysshow'] = 'Siempre mostrar imágenes de $sender'; -$labels['isdraft'] = 'This is a draft message.'; -$labels['andnmore'] = '$nr more...'; -$labels['togglemoreheaders'] = 'Show more message headers'; +$labels['isdraft'] = 'Este es un borrador.'; +$labels['andnmore'] = '$nr más...'; +$labels['togglemoreheaders'] = 'Mostrarme más encabezados de mensaje'; $labels['togglefullheaders'] = 'Toggle raw message headers'; $labels['htmltoggle'] = 'HTML'; @@ -269,68 +270,68 @@ $labels['receiptnote'] = 'Nota: Esta notificación sólo significa que su mensaj $labels['name'] = 'Nombre completo'; $labels['firstname'] = 'Nombre'; $labels['surname'] = 'Apellido'; -$labels['middlename'] = 'Middle Name'; -$labels['nameprefix'] = 'Prefix'; -$labels['namesuffix'] = 'Suffix'; -$labels['nickname'] = 'Nickname'; -$labels['jobtitle'] = 'Job Title'; -$labels['department'] = 'Department'; -$labels['gender'] = 'Gender'; -$labels['maidenname'] = 'Maiden Name'; +$labels['middlename'] = 'Segundo nombre'; +$labels['nameprefix'] = 'Prefijo'; +$labels['namesuffix'] = 'Subfijo'; +$labels['nickname'] = 'Sobre nombre'; +$labels['jobtitle'] = 'Puesto'; +$labels['department'] = 'Departamento'; +$labels['gender'] = 'Sexo'; +$labels['maidenname'] = 'Apellido de soltera'; $labels['email'] = 'Correo'; -$labels['phone'] = 'Phone'; -$labels['address'] = 'Address'; -$labels['street'] = 'Street'; -$labels['locality'] = 'City'; -$labels['zipcode'] = 'ZIP Code'; -$labels['region'] = 'State/Province'; -$labels['country'] = 'Country'; -$labels['birthday'] = 'Birthday'; -$labels['anniversary'] = 'Anniversary'; -$labels['website'] = 'Website'; -$labels['instantmessenger'] = 'IM'; -$labels['notes'] = 'Notes'; -$labels['male'] = 'male'; -$labels['female'] = 'female'; -$labels['manager'] = 'Manager'; -$labels['assistant'] = 'Assistant'; -$labels['spouse'] = 'Spouse'; -$labels['allfields'] = 'All fields'; -$labels['search'] = 'Search'; -$labels['advsearch'] = 'Advanced Search'; -$labels['advanced'] = 'Advanced'; -$labels['other'] = 'Other'; - -$labels['typehome'] = 'Home'; -$labels['typework'] = 'Work'; -$labels['typeother'] = 'Other'; -$labels['typemobile'] = 'Mobile'; -$labels['typemain'] = 'Main'; -$labels['typehomefax'] = 'Home Fax'; -$labels['typeworkfax'] = 'Work Fax'; -$labels['typecar'] = 'Car'; +$labels['phone'] = 'Teléfono'; +$labels['address'] = 'Dirección'; +$labels['street'] = 'Calle'; +$labels['locality'] = 'Ciudad'; +$labels['zipcode'] = 'Código Postal'; +$labels['region'] = 'Estado/Provincia'; +$labels['country'] = 'País'; +$labels['birthday'] = 'Cumpleaños'; +$labels['anniversary'] = 'Aniversario'; +$labels['website'] = 'Sitio Web'; +$labels['instantmessenger'] = 'Mensajería Instantanea'; +$labels['notes'] = 'Notas'; +$labels['male'] = 'masculino'; +$labels['female'] = 'femenino'; +$labels['manager'] = 'Administrador'; +$labels['assistant'] = 'Asistente'; +$labels['spouse'] = 'Cónygue'; +$labels['allfields'] = 'Todos los campos'; +$labels['search'] = 'Buscar'; +$labels['advsearch'] = 'Búsqueda Avanzada'; +$labels['advanced'] = 'Avanzado'; +$labels['other'] = 'Otro'; + +$labels['typehome'] = 'Particular'; +$labels['typework'] = 'Laboral'; +$labels['typeother'] = 'Otro'; +$labels['typemobile'] = 'Móvil'; +$labels['typemain'] = 'Principal'; +$labels['typehomefax'] = 'Fax Particular'; +$labels['typeworkfax'] = 'Fax Laboral'; +$labels['typecar'] = 'Auto'; $labels['typepager'] = 'Pager'; $labels['typevideo'] = 'Video'; -$labels['typeassistant'] = 'Assistant'; -$labels['typehomepage'] = 'Home Page'; +$labels['typeassistant'] = 'Asistente'; +$labels['typehomepage'] = 'Página Personal'; $labels['typeblog'] = 'Blog'; -$labels['typeprofile'] = 'Profile'; +$labels['typeprofile'] = 'Perfil'; -$labels['addfield'] = 'Add field...'; +$labels['addfield'] = 'Agregar campo...'; $labels['addcontact'] = 'Añadir nuevo contacto'; $labels['editcontact'] = 'Editar contacto'; -$labels['contacts'] = 'Contacts'; -$labels['contactproperties'] = 'Contact properties'; -$labels['personalinfo'] = 'Personal information'; +$labels['contacts'] = 'Contactos'; +$labels['contactproperties'] = 'Propiedades del contacto'; +$labels['personalinfo'] = 'Información personal'; $labels['edit'] = 'Editar'; $labels['cancel'] = 'Cancelar'; $labels['save'] = 'Guardar'; $labels['delete'] = 'Eliminar'; -$labels['rename'] = 'Rename'; -$labels['addphoto'] = 'Add'; -$labels['replacephoto'] = 'Replace'; -$labels['uploadphoto'] = 'Upload photo'; +$labels['rename'] = 'Renombrar'; +$labels['addphoto'] = 'Agregar'; +$labels['replacephoto'] = 'Reemplazar'; +$labels['uploadphoto'] = 'Subir foto'; $labels['newcontact'] = 'Añadir nuevo contacto'; $labels['deletecontact'] = 'Eliminar contactos seleccionados'; @@ -342,9 +343,9 @@ $labels['exportall'] = 'Export all'; $labels['exportsel'] = 'Export selected'; $labels['exportvcards'] = 'Exportar contactos en format vCard'; $labels['newcontactgroup'] = 'Crear Nuevo Grupo de Contacto'; -$labels['grouprename'] = 'Rename group'; -$labels['groupdelete'] = 'Delete group'; -$labels['groupremoveselected'] = 'Remove selected contacts from group'; +$labels['grouprename'] = 'Renombrar grupo'; +$labels['groupdelete'] = 'Eliminar grupo'; +$labels['groupremoveselected'] = 'Remover del grupo los contactos seleccionados'; $labels['previouspage'] = 'Mostrar grupo anterior'; $labels['firstpage'] = 'Mostrar primer grupo'; @@ -355,20 +356,20 @@ $labels['group'] = 'Grupo'; $labels['groups'] = 'Grupos'; $labels['personaladrbook'] = 'Direcciones personales'; -$labels['searchsave'] = 'Save search'; -$labels['searchdelete'] = 'Delete search'; +$labels['searchsave'] = 'Guardar búsqueda'; +$labels['searchdelete'] = 'Eliminar búsqueda'; $labels['import'] = 'Importar'; $labels['importcontacts'] = 'Importar contactos'; $labels['importfromfile'] = 'Importar desde el archivo:'; -$labels['importtarget'] = 'Add new contacts to address book:'; +$labels['importtarget'] = 'Agregar nuevos contactos a la libreta de direcciones:'; $labels['importreplace'] = 'Reemplazar completamente la lista de contactos'; -$labels['importdesc'] = 'You can upload contacts from an existing address book.<br/>We currently support importing addresses from the <a href="http://en.wikipedia.org/wiki/VCard">vCard</a> or CSV (comma-separated) data format.'; +$labels['importdesc'] = 'Puedes subir contactos desde una libreta de direcciones existente.<br/>Actualmente soportamos la importación de direcciones utilizando el formato <a href="http://en.wikipedia.org/wiki/VCard">vCard</a> o CSV (Valores Separados por Coma).'; $labels['done'] = 'Hecho'; // settings $labels['settingsfor'] = 'Configuración para'; -$labels['about'] = 'About'; +$labels['about'] = 'Acerca de'; $labels['preferences'] = 'Preferencias'; $labels['userpreferences'] = 'Preferencias de usuario'; $labels['editpreferences'] = 'Editar preferencias de usuario'; @@ -385,8 +386,8 @@ $labels['defaultcharset'] = 'Juego de Caracteres por Defecto'; $labels['htmlmessage'] = 'Mensaje HTML'; $labels['messagepart'] = 'Part'; $labels['digitalsig'] = 'Digital Signature'; -$labels['dateformat'] = 'Date format'; -$labels['timeformat'] = 'Time format'; +$labels['dateformat'] = 'Formato de fecha'; +$labels['timeformat'] = 'Formato de tiempo'; $labels['prettydate'] = 'Fecha detallada'; $labels['setdefault'] = 'Seleccionar opción por defecto'; $labels['autodetect'] = 'Automático'; @@ -395,11 +396,11 @@ $labels['timezone'] = 'Zona horaria'; $labels['pagesize'] = 'Filas por página'; $labels['signature'] = 'Firma'; $labels['dstactive'] = 'Cambio de horario'; -$labels['showinextwin'] = 'Open message in a new window'; -$labels['composeextwin'] = 'Compose in a new window'; +$labels['showinextwin'] = 'Abrir mensaje en nueva ventana'; +$labels['composeextwin'] = 'Redactar en nueva ventana'; $labels['htmleditor'] = 'Componer mensaje en HTML'; -$labels['htmlonreply'] = 'on reply to HTML message'; -$labels['htmlonreplyandforward'] = 'on forward or reply to HTML message'; +$labels['htmlonreply'] = 'al responder un mensaje HTML'; +$labels['htmlonreplyandforward'] = 'al reenviar o responder un mensaje HTML'; $labels['htmlsignature'] = 'Firma HTML'; $labels['previewpane'] = 'Mostrar vista preliminar'; $labels['skin'] = 'Apariencia de la interfaz'; @@ -454,9 +455,6 @@ $labels['replyremovesignature'] = 'Al responder, eliminar la firma del mensaje o $labels['autoaddsignature'] = 'Agregar la firma automáticamente'; $labels['newmessageonly'] = 'nuevos mensajes solamente'; $labels['replyandforwardonly'] = 'respuestas o reenvios solamente'; -$labels['replysignaturepos'] = 'Agregar firma al responder o reenviar'; -$labels['belowquote'] = 'debajo de la cita'; -$labels['abovequote'] = 'sobre la cita'; $labels['insertsignature'] = 'Insertar firma'; $labels['previewpanemarkread'] = 'Marcar mensajes previsualizados como leidos'; $labels['afternseconds'] = 'despues de $n segundos'; diff --git a/program/localization/es_ES/labels.inc b/program/localization/es_ES/labels.inc index cbee58b6e..451b762b6 100644 --- a/program/localization/es_ES/labels.inc +++ b/program/localization/es_ES/labels.inc @@ -64,7 +64,7 @@ $labels['copy'] = 'Copiar'; $labels['move'] = 'Mover'; $labels['moveto'] = 'Mover a…'; $labels['download'] = 'Descargar'; -$labels['open'] = 'Open'; +$labels['open'] = 'Abrir'; $labels['showattachment'] = 'Mostrar'; $labels['showanyway'] = 'Mostrarlo de todos modos'; @@ -162,6 +162,7 @@ $labels['currpage'] = 'Página actual'; $labels['unread'] = 'Sin leer'; $labels['flagged'] = 'Señalado'; $labels['unanswered'] = 'Sin respuesta'; +$labels['withattachment'] = 'With attachment'; $labels['deleted'] = 'Eliminado'; $labels['undeleted'] = 'No eliminado'; $labels['invert'] = 'Invertir'; @@ -205,8 +206,8 @@ $labels['body'] = 'Cuerpo'; $labels['openinextwin'] = 'Abrir en nueva ventana'; $labels['emlsave'] = 'Descargar (.eml)'; -$labels['changeformattext'] = 'Display in plain text format'; -$labels['changeformathtml'] = 'Display in HTML format'; +$labels['changeformattext'] = 'Mostrar en formato de texto sencillo'; +$labels['changeformathtml'] = 'Mostrar en formato HTML'; // message compose $labels['editasnew'] = 'Editar como nuevo'; @@ -454,9 +455,6 @@ $labels['replyremovesignature'] = 'Eliminar la firma original del mensaje al res $labels['autoaddsignature'] = 'Añadir firma automáticamente'; $labels['newmessageonly'] = 'solamente mensaje nuevo'; $labels['replyandforwardonly'] = 'respuestas y reenvíos solamente'; -$labels['replysignaturepos'] = 'Colocar firma al responder o reenviar'; -$labels['belowquote'] = 'abajo del texto seleccionado'; -$labels['abovequote'] = 'arriba del texto seleccionado'; $labels['insertsignature'] = 'Insertar firma'; $labels['previewpanemarkread'] = 'Marcar mensaje previsualizado como leído'; $labels['afternseconds'] = 'después de $n segundos'; diff --git a/program/localization/et_EE/labels.inc b/program/localization/et_EE/labels.inc index cb184b086..ad47c15f1 100644 --- a/program/localization/et_EE/labels.inc +++ b/program/localization/et_EE/labels.inc @@ -162,6 +162,7 @@ $labels['currpage'] = 'Praegune leht'; $labels['unread'] = 'Lugemata'; $labels['flagged'] = 'Märgistatud'; $labels['unanswered'] = 'Vastamata'; +$labels['withattachment'] = 'With attachment'; $labels['deleted'] = 'Kustutatud'; $labels['undeleted'] = 'Pole kustutatud'; $labels['invert'] = 'Vaheta'; @@ -454,9 +455,6 @@ $labels['replyremovesignature'] = 'Vastates eemalda kirjast esialgne allkiri'; $labels['autoaddsignature'] = 'Lisa allkiri automaatselt'; $labels['newmessageonly'] = 'ainult uutele'; $labels['replyandforwardonly'] = 'ainult vastates ja edastades'; -$labels['replysignaturepos'] = 'Vastates või edastades aseta allkiri'; -$labels['belowquote'] = 'tsiteeritu alla'; -$labels['abovequote'] = 'tsiteeritu kohale'; $labels['insertsignature'] = 'Sisesta allkiri'; $labels['previewpanemarkread'] = 'Märgi eelvaadatud kirjad loetuks'; $labels['afternseconds'] = '$n sekundi pärast'; diff --git a/program/localization/eu_ES/labels.inc b/program/localization/eu_ES/labels.inc index eb61f4c8c..f6b3cfba6 100644 --- a/program/localization/eu_ES/labels.inc +++ b/program/localization/eu_ES/labels.inc @@ -162,6 +162,7 @@ $labels['currpage'] = 'Uneko orrialdea'; $labels['unread'] = 'Irakurri gabeak'; $labels['flagged'] = 'Banderaduna'; $labels['unanswered'] = 'Unanswered'; +$labels['withattachment'] = 'With attachment'; $labels['deleted'] = 'Ezabatuak'; $labels['undeleted'] = 'Ezabatu gabeak'; $labels['invert'] = 'Invert'; @@ -454,9 +455,6 @@ $labels['replyremovesignature'] = 'When replying remove original signature from $labels['autoaddsignature'] = 'Automatically add signature'; $labels['newmessageonly'] = 'new message only'; $labels['replyandforwardonly'] = 'replies and forwards only'; -$labels['replysignaturepos'] = 'When replying or forwarding place signature'; -$labels['belowquote'] = 'below the quote'; -$labels['abovequote'] = 'above the quote'; $labels['insertsignature'] = 'Insert signature'; $labels['previewpanemarkread'] = 'Mark previewed messages as read'; $labels['afternseconds'] = 'after $n seconds'; diff --git a/program/localization/fa_AF/labels.inc b/program/localization/fa_AF/labels.inc index 6a4904d7e..c8eab1d2c 100644 --- a/program/localization/fa_AF/labels.inc +++ b/program/localization/fa_AF/labels.inc @@ -162,6 +162,7 @@ $labels['currpage'] = 'Current page'; $labels['unread'] = 'ناخوانده'; $labels['flagged'] = 'نشانی شده'; $labels['unanswered'] = 'پیامهای جواب نداده شده'; +$labels['withattachment'] = 'With attachment'; $labels['deleted'] = 'Deleted'; $labels['undeleted'] = 'Not deleted'; $labels['invert'] = 'Invert'; @@ -454,9 +455,6 @@ $labels['replyremovesignature'] = 'When replying remove original signature from $labels['autoaddsignature'] = 'Automatically add signature'; $labels['newmessageonly'] = 'new message only'; $labels['replyandforwardonly'] = 'replies and forwards only'; -$labels['replysignaturepos'] = 'When replying or forwarding place signature'; -$labels['belowquote'] = 'below the quote'; -$labels['abovequote'] = 'above the quote'; $labels['insertsignature'] = 'Insert signature'; $labels['previewpanemarkread'] = 'Mark previewed messages as read'; $labels['afternseconds'] = 'after $n seconds'; diff --git a/program/localization/fa_IR/labels.inc b/program/localization/fa_IR/labels.inc index 8bba66c26..a1c45fb36 100644 --- a/program/localization/fa_IR/labels.inc +++ b/program/localization/fa_IR/labels.inc @@ -22,7 +22,7 @@ $labels = array(); $labels['welcome'] = 'به $product خوش آمدید'; $labels['username'] = 'نام کاربری'; $labels['password'] = 'گذرواژه'; -$labels['server'] = 'سرور'; +$labels['server'] = 'سرویسدهنده'; $labels['login'] = 'ورود'; // taskbar @@ -34,8 +34,8 @@ $labels['addressbook'] = 'دفتر نشانی'; // mailbox names $labels['inbox'] = 'صندوق ورودی'; $labels['drafts'] = 'پیشنویسها'; -$labels['sent'] = 'ارسال شده'; -$labels['trash'] = 'زبالهدان'; +$labels['sent'] = 'فرستاده شده'; +$labels['trash'] = 'سطل آشغال'; $labels['junk'] = 'بنجل'; // message listing @@ -162,6 +162,7 @@ $labels['currpage'] = 'صفحه جاری'; $labels['unread'] = 'خواندهنشده'; $labels['flagged'] = 'پرچمدار'; $labels['unanswered'] = 'پاسخ داده نشده'; +$labels['withattachment'] = 'With attachment'; $labels['deleted'] = 'حذف شده'; $labels['undeleted'] = 'حذف نشده'; $labels['invert'] = 'وارونه'; @@ -205,8 +206,8 @@ $labels['body'] = 'بدنه'; $labels['openinextwin'] = 'باز کردن در پنجرهی جدید'; $labels['emlsave'] = 'بارگیری (.eml)'; -$labels['changeformattext'] = 'Display in plain text format'; -$labels['changeformathtml'] = 'Display in HTML format'; +$labels['changeformattext'] = 'نمایش در قالب متنی'; +$labels['changeformathtml'] = 'نمایش در قالب اچتیامال'; // message compose $labels['editasnew'] = 'ویرایش به عنوان جدید'; @@ -454,9 +455,6 @@ $labels['replyremovesignature'] = 'هنگام پاسخ امضاء اصلی را $labels['autoaddsignature'] = 'اضافه کردن خودکار امضاء'; $labels['newmessageonly'] = 'فقط پیغام جدید'; $labels['replyandforwardonly'] = 'فقط پاسخها و ارجاعها'; -$labels['replysignaturepos'] = 'هنگام پاسخ یا ارجاع امضاء را قرار داده شود'; -$labels['belowquote'] = 'زیر نقلقول'; -$labels['abovequote'] = 'بالای نقلقول'; $labels['insertsignature'] = 'درج امضاء'; $labels['previewpanemarkread'] = 'نشانهگذاری پیغامهای پیش مرور شده به عنوان خوانده شده'; $labels['afternseconds'] = 'بعد از $s ثانیه'; diff --git a/program/localization/fi_FI/labels.inc b/program/localization/fi_FI/labels.inc index 62c2d6b07..ccf14da93 100644 --- a/program/localization/fi_FI/labels.inc +++ b/program/localization/fi_FI/labels.inc @@ -64,6 +64,7 @@ $labels['copy'] = 'Kopioi'; $labels['move'] = 'Siirrä'; $labels['moveto'] = 'siirrä kansioon...'; $labels['download'] = 'lataa'; +$labels['open'] = 'Avaa'; $labels['showattachment'] = 'Näytä'; $labels['showanyway'] = 'Näytä silti'; @@ -161,6 +162,7 @@ $labels['currpage'] = 'Nykyinen sivu'; $labels['unread'] = 'Lukemattomat'; $labels['flagged'] = 'Korostettu'; $labels['unanswered'] = 'Vastaamaton'; +$labels['withattachment'] = 'With attachment'; $labels['deleted'] = 'Poistettu'; $labels['undeleted'] = 'Ei poistettu'; $labels['invert'] = 'Käännä'; @@ -204,6 +206,8 @@ $labels['body'] = 'Runko'; $labels['openinextwin'] = 'Avaa uudessa ikkunassa'; $labels['emlsave'] = 'Tallenna (.eml)'; +$labels['changeformattext'] = 'Näytä raakatekstimuodossa'; +$labels['changeformathtml'] = 'Näytä HTML-muodossa'; // message compose $labels['editasnew'] = 'Muokkaa uutena'; @@ -360,7 +364,7 @@ $labels['importcontacts'] = 'Tuo yhteystiedot'; $labels['importfromfile'] = 'Tuo tiedostosta:'; $labels['importtarget'] = 'Lisää uudet yhteystiedot osoitekirjaan:'; $labels['importreplace'] = 'Korvaa koko osoitekirja'; -$labels['importdesc'] = 'You can upload contacts from an existing address book.<br/>We currently support importing addresses from the <a href="http://en.wikipedia.org/wiki/VCard">vCard</a> or CSV (comma-separated) data format.'; +$labels['importdesc'] = 'Voit tuoda yhteystietoja olemassa olevasta osoitekirjasta.<br/>Tuettuja muotoja ovat <a href="http://en.wikipedia.org/wiki/VCard">vCard</a> ja CSV (pilkuin erotetut arvot).'; $labels['done'] = 'Valmis'; // settings @@ -451,9 +455,6 @@ $labels['replyremovesignature'] = 'Vastattaessa poista alkuperäinen allekirjoit $labels['autoaddsignature'] = 'Lisää allekirjoitus automaattisesti'; $labels['newmessageonly'] = 'vain uuteen viestiin'; $labels['replyandforwardonly'] = 'vain vastauksiin ja välityksiin'; -$labels['replysignaturepos'] = 'Vastattaessa tai välitettäessä laita allekirjoitus'; -$labels['belowquote'] = 'lainauksen alle'; -$labels['abovequote'] = 'lainauksen ylle'; $labels['insertsignature'] = 'Lisää allekirjoitus'; $labels['previewpanemarkread'] = 'Merkitse esikatsellut viestit luetuiksi'; $labels['afternseconds'] = '$n sekunnin jälkeen'; diff --git a/program/localization/fr_FR/labels.inc b/program/localization/fr_FR/labels.inc index 4a78e565f..bc1078e8d 100644 --- a/program/localization/fr_FR/labels.inc +++ b/program/localization/fr_FR/labels.inc @@ -162,6 +162,7 @@ $labels['currpage'] = 'Page courante'; $labels['unread'] = 'Non lus'; $labels['flagged'] = 'Marqué'; $labels['unanswered'] = 'Non répondu'; +$labels['withattachment'] = 'With attachment'; $labels['deleted'] = 'Supprimé'; $labels['undeleted'] = 'Non supprimé'; $labels['invert'] = 'Inverser'; @@ -454,9 +455,6 @@ $labels['replyremovesignature'] = 'En répondant, supprimer la signature d\'orig $labels['autoaddsignature'] = 'Ajouter la signature automatiquement'; $labels['newmessageonly'] = 'nouveau message uniquement'; $labels['replyandforwardonly'] = 'réponses et transferts uniquement'; -$labels['replysignaturepos'] = 'En répondant ou en transférant, placer la signature'; -$labels['belowquote'] = 'en-dessous de la citation'; -$labels['abovequote'] = 'au-dessus de la citation'; $labels['insertsignature'] = 'Insérer la signature'; $labels['previewpanemarkread'] = 'Marquer les messages prévisualisés comme lus'; $labels['afternseconds'] = 'après $n secondes'; diff --git a/program/localization/fy_NL/labels.inc b/program/localization/fy_NL/labels.inc index d04d7e89c..1db0fe384 100644 --- a/program/localization/fy_NL/labels.inc +++ b/program/localization/fy_NL/labels.inc @@ -162,6 +162,7 @@ $labels['currpage'] = 'Current page'; $labels['unread'] = 'Unread'; $labels['flagged'] = 'Flagged'; $labels['unanswered'] = 'Unanswered'; +$labels['withattachment'] = 'With attachment'; $labels['deleted'] = 'Deleted'; $labels['undeleted'] = 'Not deleted'; $labels['invert'] = 'Invert'; @@ -454,9 +455,6 @@ $labels['replyremovesignature'] = 'When replying remove original signature from $labels['autoaddsignature'] = 'Automatically add signature'; $labels['newmessageonly'] = 'new message only'; $labels['replyandforwardonly'] = 'replies and forwards only'; -$labels['replysignaturepos'] = 'When replying or forwarding place signature'; -$labels['belowquote'] = 'below the quote'; -$labels['abovequote'] = 'above the quote'; $labels['insertsignature'] = 'Insert signature'; $labels['previewpanemarkread'] = 'Mark previewed messages as read'; $labels['afternseconds'] = 'after $n seconds'; diff --git a/program/localization/ga_IE/labels.inc b/program/localization/ga_IE/labels.inc index 7169a8800..39541bff8 100755 --- a/program/localization/ga_IE/labels.inc +++ b/program/localization/ga_IE/labels.inc @@ -162,6 +162,7 @@ $labels['currpage'] = 'Current page'; $labels['unread'] = 'Na rudaí nach bhuil corraithe'; $labels['flagged'] = 'Flagged'; $labels['unanswered'] = 'Unanswered'; +$labels['withattachment'] = 'With attachment'; $labels['deleted'] = 'Deleted'; $labels['undeleted'] = 'Not deleted'; $labels['invert'] = 'Invert'; @@ -454,9 +455,6 @@ $labels['replyremovesignature'] = 'When replying remove original signature from $labels['autoaddsignature'] = 'Automatically add signature'; $labels['newmessageonly'] = 'new message only'; $labels['replyandforwardonly'] = 'replies and forwards only'; -$labels['replysignaturepos'] = 'When replying or forwarding place signature'; -$labels['belowquote'] = 'below the quote'; -$labels['abovequote'] = 'above the quote'; $labels['insertsignature'] = 'Insert signature'; $labels['previewpanemarkread'] = 'Mark previewed messages as read'; $labels['afternseconds'] = 'after $n seconds'; diff --git a/program/localization/gl_ES/labels.inc b/program/localization/gl_ES/labels.inc index 13fdfa793..49c5f5b68 100644 --- a/program/localization/gl_ES/labels.inc +++ b/program/localization/gl_ES/labels.inc @@ -162,6 +162,7 @@ $labels['currpage'] = 'Páxina actual'; $labels['unread'] = 'Non lidas'; $labels['flagged'] = 'Marcadas'; $labels['unanswered'] = 'Non respostadas'; +$labels['withattachment'] = 'With attachment'; $labels['deleted'] = 'Marcadas como eliminadas'; $labels['undeleted'] = 'Not deleted'; $labels['invert'] = 'Inverter'; @@ -454,9 +455,6 @@ $labels['replyremovesignature'] = 'Eliminar a firma do remitente ao respostar'; $labels['autoaddsignature'] = 'Engadir firma automáticamente'; $labels['newmessageonly'] = 'só nas mensaxes novas'; $labels['replyandforwardonly'] = 'só nas respostas e reenvíos'; -$labels['replysignaturepos'] = 'Ao respostar ou reenviar colocar a firma'; -$labels['belowquote'] = 'embaixo do texto citado'; -$labels['abovequote'] = 'enriba do texto citado'; $labels['insertsignature'] = 'Engadir firma'; $labels['previewpanemarkread'] = 'Marcar como lidas as mensaxes previsualizadas'; $labels['afternseconds'] = 'logo de $n segundos'; diff --git a/program/localization/he_IL/labels.inc b/program/localization/he_IL/labels.inc index 698b73493..5176a5f5a 100644 --- a/program/localization/he_IL/labels.inc +++ b/program/localization/he_IL/labels.inc @@ -162,6 +162,7 @@ $labels['currpage'] = 'דף נוכחי'; $labels['unread'] = 'לא נקראו'; $labels['flagged'] = 'מסומן'; $labels['unanswered'] = 'לא נענה'; +$labels['withattachment'] = 'With attachment'; $labels['deleted'] = 'נמחק'; $labels['undeleted'] = 'לא נמחק'; $labels['invert'] = 'היפוך הסימון'; @@ -456,9 +457,6 @@ $labels['replyremovesignature'] = 'החתימה תוסר מההודעה המקו $labels['autoaddsignature'] = 'הוספה אוטומטית של חתימה'; $labels['newmessageonly'] = 'הודעה חדשה בלבד'; $labels['replyandforwardonly'] = 'מענה והעברת הודעה בלבד'; -$labels['replysignaturepos'] = 'במענה או בהעברת הודעה, החתימה תופיע'; -$labels['belowquote'] = 'בסוף ההודעה המקורית'; -$labels['abovequote'] = 'בתחילת ההודעה המקורית'; $labels['insertsignature'] = 'שיבוץ חתימה'; $labels['previewpanemarkread'] = 'סימון הודעה שנצפתה כנקראה'; $labels['afternseconds'] = 'לאחר $n שניות'; diff --git a/program/localization/hi_IN/labels.inc b/program/localization/hi_IN/labels.inc index 4564e1226..f446a3e65 100644 --- a/program/localization/hi_IN/labels.inc +++ b/program/localization/hi_IN/labels.inc @@ -162,6 +162,7 @@ $labels['currpage'] = 'Current page'; $labels['unread'] = 'अनदेखी'; $labels['flagged'] = 'Flagged'; $labels['unanswered'] = 'Unanswered'; +$labels['withattachment'] = 'With attachment'; $labels['deleted'] = 'Deleted'; $labels['undeleted'] = 'Not deleted'; $labels['invert'] = 'Invert'; @@ -454,9 +455,6 @@ $labels['replyremovesignature'] = 'When replying remove original signature from $labels['autoaddsignature'] = 'Automatically add signature'; $labels['newmessageonly'] = 'new message only'; $labels['replyandforwardonly'] = 'replies and forwards only'; -$labels['replysignaturepos'] = 'When replying or forwarding place signature'; -$labels['belowquote'] = 'below the quote'; -$labels['abovequote'] = 'above the quote'; $labels['insertsignature'] = 'Insert signature'; $labels['previewpanemarkread'] = 'Mark previewed messages as read'; $labels['afternseconds'] = 'after $n seconds'; diff --git a/program/localization/hr_HR/labels.inc b/program/localization/hr_HR/labels.inc index bf5364653..fe85feccc 100644 --- a/program/localization/hr_HR/labels.inc +++ b/program/localization/hr_HR/labels.inc @@ -162,6 +162,7 @@ $labels['currpage'] = 'Trenutna stranica'; $labels['unread'] = 'Nepročitane'; $labels['flagged'] = 'Označene'; $labels['unanswered'] = 'Neodgovrene'; +$labels['withattachment'] = 'With attachment'; $labels['deleted'] = 'Obrisano'; $labels['undeleted'] = 'Not deleted'; $labels['invert'] = 'Obrni'; @@ -454,9 +455,6 @@ $labels['replyremovesignature'] = 'Kod odgovaranja, makni originalni potpis iz p $labels['autoaddsignature'] = 'Automatski dodaj potpis'; $labels['newmessageonly'] = 'samo nova poruka'; $labels['replyandforwardonly'] = 'samo odgovori i proslijeđivanja'; -$labels['replysignaturepos'] = 'Kod downloada ili proslijeđivanja postavi potpis'; -$labels['belowquote'] = 'ispod citata'; -$labels['abovequote'] = 'iznad citata'; $labels['insertsignature'] = 'Umetni potpis'; $labels['previewpanemarkread'] = 'Obilježi pregledane poruke kao pročitane'; $labels['afternseconds'] = 'nakon $n sekundi'; diff --git a/program/localization/hu_HU/labels.inc b/program/localization/hu_HU/labels.inc index 96c43d146..03846cdff 100644 --- a/program/localization/hu_HU/labels.inc +++ b/program/localization/hu_HU/labels.inc @@ -162,6 +162,7 @@ $labels['currpage'] = 'Aktuális oldal'; $labels['unread'] = 'Olvasatlan'; $labels['flagged'] = 'Megjelölt'; $labels['unanswered'] = 'Megválaszolatlan'; +$labels['withattachment'] = 'With attachment'; $labels['deleted'] = 'Törölt'; $labels['undeleted'] = 'Nem lett törölve'; $labels['invert'] = 'Invertálás'; @@ -454,9 +455,6 @@ $labels['replyremovesignature'] = 'Válasznál az eredeti aláírás eltávolít $labels['autoaddsignature'] = 'Aláírás automatikus hozzáadása'; $labels['newmessageonly'] = 'csak új üzenetnél'; $labels['replyandforwardonly'] = 'válasznál és továbbításnál'; -$labels['replysignaturepos'] = 'Válasznál és továbbításnál kerüljön az aláírás'; -$labels['belowquote'] = 'az idézett szöveg alá'; -$labels['abovequote'] = 'az idézett szöveg fölé'; $labels['insertsignature'] = 'Aláírás beillesztése'; $labels['previewpanemarkread'] = 'Előnézetben megjelent üzenetek megjelölése olvasottként'; $labels['afternseconds'] = '$n másodperc elteltével'; diff --git a/program/localization/hy_AM/labels.inc b/program/localization/hy_AM/labels.inc index 3612dc974..a27a19a9d 100644 --- a/program/localization/hy_AM/labels.inc +++ b/program/localization/hy_AM/labels.inc @@ -162,6 +162,7 @@ $labels['currpage'] = 'Առկա էջ'; $labels['unread'] = 'Չկարդացածը'; $labels['flagged'] = 'Նշված'; $labels['unanswered'] = 'Անպատասխան'; +$labels['withattachment'] = 'With attachment'; $labels['deleted'] = 'Ջնջված'; $labels['undeleted'] = 'Not deleted'; $labels['invert'] = 'Փոխատեղել'; @@ -454,9 +455,6 @@ $labels['replyremovesignature'] = 'Պատասխանելիս հեռացնել հ $labels['autoaddsignature'] = 'Ավելացնել ստորագրություն'; $labels['newmessageonly'] = 'միայն նոր հաղորդագրություններում'; $labels['replyandforwardonly'] = 'պատասխաններում և փոխանցումներում'; -$labels['replysignaturepos'] = 'Ավելացնել ստորագրությունը պատասխանելիս կամ փոխանցելիս'; -$labels['belowquote'] = 'Մեջբերման ներքևում'; -$labels['abovequote'] = 'Մեջբերման վերևում'; $labels['insertsignature'] = 'Ներդնել ստորագրությունը'; $labels['previewpanemarkread'] = 'Նշել նախադիտված հաղորդագրությունները որպես ընթերցված'; $labels['afternseconds'] = '$n վարկյան հետո'; diff --git a/program/localization/ia/labels.inc b/program/localization/ia/labels.inc index 89273c147..55e7fc2ad 100644 --- a/program/localization/ia/labels.inc +++ b/program/localization/ia/labels.inc @@ -162,6 +162,7 @@ $labels['currpage'] = 'Current page'; $labels['unread'] = 'Non legite'; $labels['flagged'] = 'Marcate'; $labels['unanswered'] = 'Unanswered'; +$labels['withattachment'] = 'With attachment'; $labels['deleted'] = 'Delete'; $labels['undeleted'] = 'Not deleted'; $labels['invert'] = 'Inverter'; @@ -454,9 +455,6 @@ $labels['replyremovesignature'] = 'When replying remove original signature from $labels['autoaddsignature'] = 'Automaticamente inserta signatura'; $labels['newmessageonly'] = 'new message only'; $labels['replyandforwardonly'] = 'replies and forwards only'; -$labels['replysignaturepos'] = 'When replying or forwarding place signature'; -$labels['belowquote'] = 'below the quote'; -$labels['abovequote'] = 'above the quote'; $labels['insertsignature'] = 'Insertar signatura'; $labels['previewpanemarkread'] = 'Mark previewed messages as read'; $labels['afternseconds'] = 'after $n seconds'; diff --git a/program/localization/id_ID/labels.inc b/program/localization/id_ID/labels.inc index 4877434ed..c75c27196 100644 --- a/program/localization/id_ID/labels.inc +++ b/program/localization/id_ID/labels.inc @@ -162,6 +162,7 @@ $labels['currpage'] = 'Halaman sekarang'; $labels['unread'] = 'Belum terbaca'; $labels['flagged'] = 'Ditandai'; $labels['unanswered'] = 'Belum terjawab'; +$labels['withattachment'] = 'With attachment'; $labels['deleted'] = 'Terhapus'; $labels['undeleted'] = 'Tidak terhapus'; $labels['invert'] = 'Sebaliknya'; @@ -454,9 +455,6 @@ $labels['replyremovesignature'] = 'ketika membalas pesan hapus tanda tangan dari $labels['autoaddsignature'] = 'Otomatis tambahkan tanda tangan'; $labels['newmessageonly'] = 'Hanya untuk pesan baru'; $labels['replyandforwardonly'] = 'Hanya untuk dijawab dan diteruskan'; -$labels['replysignaturepos'] = 'ketika membalas atau meneruskan pesan tambahkan tanda tangan'; -$labels['belowquote'] = 'Dibawah kutipan'; -$labels['abovequote'] = 'Diatas kutipan'; $labels['insertsignature'] = 'Isi tanda tangan'; $labels['previewpanemarkread'] = 'Tandai pesan yang sudah dilihat'; $labels['afternseconds'] = 'setelah $n detik'; diff --git a/program/localization/is_IS/labels.inc b/program/localization/is_IS/labels.inc index c8d49bf23..b9d3fbc90 100644 --- a/program/localization/is_IS/labels.inc +++ b/program/localization/is_IS/labels.inc @@ -162,6 +162,7 @@ $labels['currpage'] = 'Núverandi síða'; $labels['unread'] = 'Ólesið'; $labels['flagged'] = 'Flaggað'; $labels['unanswered'] = 'Ósvarað'; +$labels['withattachment'] = 'With attachment'; $labels['deleted'] = 'Eytt'; $labels['undeleted'] = 'Not deleted'; $labels['invert'] = 'Umhverfa'; @@ -454,9 +455,6 @@ $labels['replyremovesignature'] = 'Þegar svarað fjarlægja upphaflega undirskr $labels['autoaddsignature'] = 'Bæta undirskrift við sjálfkrafa'; $labels['newmessageonly'] = 'ný skeyti eingöngu'; $labels['replyandforwardonly'] = 'svör og áframsendingar eingöngu'; -$labels['replysignaturepos'] = 'Þegar skeytum er svarað eða áframsend setja undirskrift'; -$labels['belowquote'] = 'undir tilvitnun'; -$labels['abovequote'] = 'fyrir ofan tilvitnun'; $labels['insertsignature'] = 'Bæta undirskrift við'; $labels['previewpanemarkread'] = 'Merka forskoðuð skeyti sem lesin'; $labels['afternseconds'] = 'eftir $n sekúndur'; diff --git a/program/localization/it_IT/labels.inc b/program/localization/it_IT/labels.inc index 97be929cf..29b708ec7 100644 --- a/program/localization/it_IT/labels.inc +++ b/program/localization/it_IT/labels.inc @@ -162,6 +162,7 @@ $labels['currpage'] = 'Pagina corrente'; $labels['unread'] = 'Non letti'; $labels['flagged'] = 'Contrassegnato'; $labels['unanswered'] = 'Senza risposta'; +$labels['withattachment'] = 'With attachment'; $labels['deleted'] = 'Cancellato'; $labels['undeleted'] = 'Non eliminato'; $labels['invert'] = 'Inverti'; @@ -205,8 +206,8 @@ $labels['body'] = 'Body'; $labels['openinextwin'] = 'Apri in una nuova finestra'; $labels['emlsave'] = 'Scarica (.eml)'; -$labels['changeformattext'] = 'Display in plain text format'; -$labels['changeformathtml'] = 'Display in HTML format'; +$labels['changeformattext'] = 'Visualizza nel formato testo semplice'; +$labels['changeformathtml'] = 'Visualizza nel formato HTML'; // message compose $labels['editasnew'] = 'Modifica come nuovo'; @@ -454,9 +455,6 @@ $labels['replyremovesignature'] = 'Quando rispondi, rimuovi la firma dal messagg $labels['autoaddsignature'] = 'Aggiungi automaticamente la firma'; $labels['newmessageonly'] = 'solo ai nuovi messaggi'; $labels['replyandforwardonly'] = 'solo alle risposte e inoltri'; -$labels['replysignaturepos'] = 'In risposta o inoltro, posiziona la firma'; -$labels['belowquote'] = 'sotto la citazione'; -$labels['abovequote'] = 'sopra la citazione'; $labels['insertsignature'] = 'Inserisci firma'; $labels['previewpanemarkread'] = 'Segna i messagi in anteprima come letti'; $labels['afternseconds'] = 'dopo $n secondi'; diff --git a/program/localization/ja_JP/labels.inc b/program/localization/ja_JP/labels.inc index 685dba0b3..6f1597593 100644 --- a/program/localization/ja_JP/labels.inc +++ b/program/localization/ja_JP/labels.inc @@ -162,6 +162,7 @@ $labels['currpage'] = '現在のページ'; $labels['unread'] = '未読'; $labels['flagged'] = 'フラグ付き'; $labels['unanswered'] = '未返信'; +$labels['withattachment'] = '添付ファイルあり'; $labels['deleted'] = '削除済み'; $labels['undeleted'] = '削除済みでない'; $labels['invert'] = '反転'; @@ -454,9 +455,6 @@ $labels['replyremovesignature'] = '返信時に元の署名をメッセージか $labels['autoaddsignature'] = '自動的に署名を付加'; $labels['newmessageonly'] = '新しいメッセージだけ'; $labels['replyandforwardonly'] = '返信と転送だけ'; -$labels['replysignaturepos'] = '返信や転送で署名を挿入する位置'; -$labels['belowquote'] = '引用の後'; -$labels['abovequote'] = '引用の前'; $labels['insertsignature'] = '署名を挿入'; $labels['previewpanemarkread'] = 'プレビューしたメッセージを既読に設定'; $labels['afternseconds'] = '$n秒後'; diff --git a/program/localization/ka_GE/labels.inc b/program/localization/ka_GE/labels.inc index b3a712515..eb95c8264 100755 --- a/program/localization/ka_GE/labels.inc +++ b/program/localization/ka_GE/labels.inc @@ -162,6 +162,7 @@ $labels['currpage'] = 'მიმდინარე გვერდი'; $labels['unread'] = 'წაუკითხავი'; $labels['flagged'] = 'მონიშნული'; $labels['unanswered'] = 'უპასუხო'; +$labels['withattachment'] = 'With attachment'; $labels['deleted'] = 'წაშლილი'; $labels['undeleted'] = 'Not deleted'; $labels['invert'] = 'შებრუნებული'; @@ -454,9 +455,6 @@ $labels['replyremovesignature'] = 'წაიშალოს ხელმოწ $labels['autoaddsignature'] = 'ავტომატურად დაემატოს ხელმოწერა'; $labels['newmessageonly'] = 'მხოლოდ ახალი შეტყობინება'; $labels['replyandforwardonly'] = 'მხოლოდ გადაგზავნის და პასუხის შემთხვევაში'; -$labels['replysignaturepos'] = 'მხოლოდ პასუხის ან გადაგზავნის შემთხვევაში გაყვეს ხელმოწერა'; -$labels['belowquote'] = 'ციტატის შემდეგ'; -$labels['abovequote'] = 'ციტატამდე'; $labels['insertsignature'] = 'ხელმოცერის ჩასმა'; $labels['previewpanemarkread'] = 'Mark previewed messages as read'; $labels['afternseconds'] = '$n წამის შემდეგ'; diff --git a/program/localization/km_KH/labels.inc b/program/localization/km_KH/labels.inc index a344e60c2..f9d57812b 100644 --- a/program/localization/km_KH/labels.inc +++ b/program/localization/km_KH/labels.inc @@ -162,6 +162,7 @@ $labels['currpage'] = 'ទំព័រនេះ'; $labels['unread'] = 'មិនទាន់អាន'; $labels['flagged'] = 'មានកំណត់សំគាល់ដោយផ្កាយ'; $labels['unanswered'] = 'មិនទាន់ឆ្លើយតប'; +$labels['withattachment'] = 'With attachment'; $labels['deleted'] = 'បានលុបរួច'; $labels['undeleted'] = 'Not deleted'; $labels['invert'] = 'បញ្ច្រស់'; @@ -454,9 +455,6 @@ $labels['replyremovesignature'] = 'នៅពេលឆ្លើយតប $labels['autoaddsignature'] = 'បញ្ចូលហត្តលេខាដោយស្វ័យប្រវត្តិ'; $labels['newmessageonly'] = 'សំរាប់សំបុត្រថ្មីតែប៉ុណ្ណោះ'; $labels['replyandforwardonly'] = 'សំរាប់ឆើ្លយតបនិងផ្ញើបន្តតែប៉ុណ្ណោះ'; -$labels['replysignaturepos'] = 'បញ្ចូលហត្តលេខានៅពេលឆើ្លយតបនិងផ្ញើបន្ត'; -$labels['belowquote'] = 'ពីក្រោមសម្រង់អត្ថបទ'; -$labels['abovequote'] = 'ពីលើសម្រង់អត្ថបទ'; $labels['insertsignature'] = 'បញ្ចូលហត្តលេខា'; $labels['previewpanemarkread'] = 'កំណត់សំបុត្រដែលបានបង្ហាញជាសំបុត្របានអានរួច'; $labels['afternseconds'] = 'ក្រោយពី $n វិនាទី'; diff --git a/program/localization/ko_KR/labels.inc b/program/localization/ko_KR/labels.inc index 667fb422a..c1e54590a 100644 --- a/program/localization/ko_KR/labels.inc +++ b/program/localization/ko_KR/labels.inc @@ -162,6 +162,7 @@ $labels['currpage'] = '현재 페이지'; $labels['unread'] = '읽지 않음'; $labels['flagged'] = '깃발로 표시됨'; $labels['unanswered'] = '답장하지 않음'; +$labels['withattachment'] = 'With attachment'; $labels['deleted'] = '삭제됨'; $labels['undeleted'] = '삭제되지 않음'; $labels['invert'] = '반전'; @@ -454,9 +455,6 @@ $labels['replyremovesignature'] = '회신 시 메시지에서 원문 서명을 $labels['autoaddsignature'] = '서명 자동으로 추가'; $labels['newmessageonly'] = '새로운 메시지에만'; $labels['replyandforwardonly'] = '회신 및 전달 시에만'; -$labels['replysignaturepos'] = '회신 또는 전달 시 서명 추가'; -$labels['belowquote'] = '인용문 하단'; -$labels['abovequote'] = '인용문 상단'; $labels['insertsignature'] = '서명 삽입'; $labels['previewpanemarkread'] = '미리 본 메시지를 읽음으로 표시'; $labels['afternseconds'] = '$n초 후'; diff --git a/program/localization/ku/labels.inc b/program/localization/ku/labels.inc index 5c6786502..d4544de91 100644 --- a/program/localization/ku/labels.inc +++ b/program/localization/ku/labels.inc @@ -162,6 +162,7 @@ $labels['currpage'] = 'Current page'; $labels['unread'] = 'Nexwendî'; $labels['flagged'] = 'Flagged'; $labels['unanswered'] = 'Unanswered'; +$labels['withattachment'] = 'With attachment'; $labels['deleted'] = 'Deleted'; $labels['undeleted'] = 'Not deleted'; $labels['invert'] = 'Invert'; @@ -454,9 +455,6 @@ $labels['replyremovesignature'] = 'When replying remove original signature from $labels['autoaddsignature'] = 'Automatically add signature'; $labels['newmessageonly'] = 'new message only'; $labels['replyandforwardonly'] = 'replies and forwards only'; -$labels['replysignaturepos'] = 'When replying or forwarding place signature'; -$labels['belowquote'] = 'below the quote'; -$labels['abovequote'] = 'above the quote'; $labels['insertsignature'] = 'Insert signature'; $labels['previewpanemarkread'] = 'Mark previewed messages as read'; $labels['afternseconds'] = 'after $n seconds'; diff --git a/program/localization/lt_LT/labels.inc b/program/localization/lt_LT/labels.inc index 376f9c771..0d6776550 100644 --- a/program/localization/lt_LT/labels.inc +++ b/program/localization/lt_LT/labels.inc @@ -162,6 +162,7 @@ $labels['currpage'] = 'matomus šiame puslapyje'; $labels['unread'] = 'neskaitytus'; $labels['flagged'] = 'su gairele'; $labels['unanswered'] = 'neatsakytus'; +$labels['withattachment'] = 'With attachment'; $labels['deleted'] = 'pašalintus'; $labels['undeleted'] = 'Neištrintas'; $labels['invert'] = 'invertuoti'; @@ -454,9 +455,6 @@ $labels['replyremovesignature'] = 'Pašalinti cituojamame laiške esantį paraš $labels['autoaddsignature'] = 'Automatiškai pridėti parašą'; $labels['newmessageonly'] = 'tik naujuose laiškuose'; $labels['replyandforwardonly'] = 'tik atsakymuose ir persiunčiamuose laiškuose'; -$labels['replysignaturepos'] = 'Atsakant ir persiunčiant laiškus, parašą pridėti'; -$labels['belowquote'] = 'po citata'; -$labels['abovequote'] = 'virš citatos'; $labels['insertsignature'] = 'Pridėti parašą'; $labels['previewpanemarkread'] = 'Peržiūros polangyje parodytus laiškus žymėti skaitytais'; $labels['afternseconds'] = 'praėjus $n sek.'; diff --git a/program/localization/lv_LV/labels.inc b/program/localization/lv_LV/labels.inc index a71d5e554..70369b4dd 100644 --- a/program/localization/lv_LV/labels.inc +++ b/program/localization/lv_LV/labels.inc @@ -162,6 +162,7 @@ $labels['currpage'] = 'Pašreizējā lapa'; $labels['unread'] = 'nelasītās'; $labels['flagged'] = 'iezīmētās'; $labels['unanswered'] = 'neatbildētās'; +$labels['withattachment'] = 'With attachment'; $labels['deleted'] = 'dzēstās'; $labels['undeleted'] = 'Not deleted'; $labels['invert'] = 'invertēt'; @@ -454,9 +455,6 @@ $labels['replyremovesignature'] = 'Atbildot izņemt oriģinālo parakstu no vēs $labels['autoaddsignature'] = 'Automātiski pievienot parakstu'; $labels['newmessageonly'] = 'tikai jaunas vēstules'; $labels['replyandforwardonly'] = 'tikai atbildes un pārsūtījumi'; -$labels['replysignaturepos'] = 'Atbildot vai pārsūtot ievietot parakstu'; -$labels['belowquote'] = 'zem citāta'; -$labels['abovequote'] = 'virs citāta'; $labels['insertsignature'] = 'Ievietot parakstu'; $labels['previewpanemarkread'] = 'Atzīmēt priekšskatītās vēstules kā lasītas'; $labels['afternseconds'] = 'pēc $n sekundēm'; diff --git a/program/localization/mk_MK/labels.inc b/program/localization/mk_MK/labels.inc index c8190276e..dc11b98cc 100755 --- a/program/localization/mk_MK/labels.inc +++ b/program/localization/mk_MK/labels.inc @@ -162,6 +162,7 @@ $labels['currpage'] = 'Current page'; $labels['unread'] = 'Непрочитани'; $labels['flagged'] = 'Обележано'; $labels['unanswered'] = 'Неодговорено'; +$labels['withattachment'] = 'With attachment'; $labels['deleted'] = 'Избришано'; $labels['undeleted'] = 'Not deleted'; $labels['invert'] = 'Обратно'; @@ -454,9 +455,6 @@ $labels['replyremovesignature'] = 'При одговарање отстрани $labels['autoaddsignature'] = 'Автоматски додавај потпис'; $labels['newmessageonly'] = 'само нови писма'; $labels['replyandforwardonly'] = 'само одгорови и препраќања'; -$labels['replysignaturepos'] = 'При одговарање или препраќање стави потпис'; -$labels['belowquote'] = 'под цитираното'; -$labels['abovequote'] = 'над цитираното'; $labels['insertsignature'] = 'Вметни потпис'; $labels['previewpanemarkread'] = 'Mark previewed messages as read'; $labels['afternseconds'] = 'after $n seconds'; diff --git a/program/localization/ml_IN/labels.inc b/program/localization/ml_IN/labels.inc index 463256c0e..145d90b83 100644 --- a/program/localization/ml_IN/labels.inc +++ b/program/localization/ml_IN/labels.inc @@ -162,6 +162,7 @@ $labels['currpage'] = 'നിലവിലുളള പേജ്'; $labels['unread'] = 'വായിക്കാത്തത്'; $labels['flagged'] = 'അടയാളപ്പെടുത്തിയവ'; $labels['unanswered'] = 'മറുപടി കൊടുക്കാത്ത'; +$labels['withattachment'] = 'With attachment'; $labels['deleted'] = 'മായ്ച്ചവ'; $labels['undeleted'] = 'Not deleted'; $labels['invert'] = 'തലതിരിക്കുക'; @@ -454,9 +455,6 @@ $labels['replyremovesignature'] = 'When replying remove original signature from $labels['autoaddsignature'] = 'Automatically add signature'; $labels['newmessageonly'] = 'പുതിയ സന്ദേശം മാത്രം'; $labels['replyandforwardonly'] = 'replies and forwards only'; -$labels['replysignaturepos'] = 'When replying or forwarding place signature'; -$labels['belowquote'] = 'ഉദ്ധാരണത്തിനു താഴെ'; -$labels['abovequote'] = 'above the quote'; $labels['insertsignature'] = 'Insert signature'; $labels['previewpanemarkread'] = 'Mark previewed messages as read'; $labels['afternseconds'] = '$n നിമിഷങ്ങള് കഴിഞ്ഞു്'; diff --git a/program/localization/mr_IN/labels.inc b/program/localization/mr_IN/labels.inc index 804fb5651..e0143b293 100755 --- a/program/localization/mr_IN/labels.inc +++ b/program/localization/mr_IN/labels.inc @@ -162,6 +162,7 @@ $labels['currpage'] = 'सध्याचे पान'; $labels['unread'] = 'न वाचलेले'; $labels['flagged'] = 'खूण लावलेले'; $labels['unanswered'] = 'उत्तर न दिलेले'; +$labels['withattachment'] = 'With attachment'; $labels['deleted'] = 'काढून टाकलेला(ले)'; $labels['undeleted'] = 'Not deleted'; $labels['invert'] = 'उलट करा'; @@ -454,9 +455,6 @@ $labels['replyremovesignature'] = 'उत्तर देताना मु $labels['autoaddsignature'] = 'आपोआप सही करा'; $labels['newmessageonly'] = 'फक्त नवीन संदेश'; $labels['replyandforwardonly'] = 'फक्त उत्तरे आणी पुढे पाठवलेले संदेश'; -$labels['replysignaturepos'] = 'उत्तर देताना किंवा पुढे पाठवताना सही करा'; -$labels['belowquote'] = 'उतारया खाली'; -$labels['abovequote'] = 'उतारयाच्या वर'; $labels['insertsignature'] = 'सही मध्ये टाका'; $labels['previewpanemarkread'] = 'प्रदर्शित संदेश पाहीले अशी खुण करा'; $labels['afternseconds'] = '$n क्षणानंतर'; diff --git a/program/localization/ms_MY/labels.inc b/program/localization/ms_MY/labels.inc index 43884e986..dae5caada 100644 --- a/program/localization/ms_MY/labels.inc +++ b/program/localization/ms_MY/labels.inc @@ -162,6 +162,7 @@ $labels['currpage'] = 'Muka terkini'; $labels['unread'] = 'Belum dibaca'; $labels['flagged'] = 'Ditanda'; $labels['unanswered'] = 'Belum dijawab'; +$labels['withattachment'] = 'With attachment'; $labels['deleted'] = 'Telah dipadam'; $labels['undeleted'] = 'Not deleted'; $labels['invert'] = 'Songsangkan'; @@ -454,9 +455,6 @@ $labels['replyremovesignature'] = 'When replying remove original signature from $labels['autoaddsignature'] = 'Automatically add signature'; $labels['newmessageonly'] = 'new message only'; $labels['replyandforwardonly'] = 'replies and forwards only'; -$labels['replysignaturepos'] = 'When replying or forwarding place signature'; -$labels['belowquote'] = 'below the quote'; -$labels['abovequote'] = 'above the quote'; $labels['insertsignature'] = 'Insert signature'; $labels['previewpanemarkread'] = 'Mark previewed messages as read'; $labels['afternseconds'] = 'after $n seconds'; diff --git a/program/localization/nb_NO/labels.inc b/program/localization/nb_NO/labels.inc index ecbe8545e..de71714c6 100644 --- a/program/localization/nb_NO/labels.inc +++ b/program/localization/nb_NO/labels.inc @@ -41,7 +41,7 @@ $labels['junk'] = 'Spam'; // message listing $labels['subject'] = 'Emne'; $labels['from'] = 'Avsender'; -$labels['sender'] = 'Sender'; +$labels['sender'] = 'Avsender'; $labels['to'] = 'Mottaker'; $labels['cc'] = 'Kopi til'; $labels['bcc'] = 'Blindkopi til'; @@ -64,6 +64,7 @@ $labels['copy'] = 'Kopier'; $labels['move'] = 'Flytt'; $labels['moveto'] = 'flytt til...'; $labels['download'] = 'last ned'; +$labels['open'] = 'Open'; $labels['showattachment'] = 'Vis'; $labels['showanyway'] = 'Vis likevel'; @@ -161,6 +162,7 @@ $labels['currpage'] = 'Gjeldende side'; $labels['unread'] = 'Uleste'; $labels['flagged'] = 'Flagget'; $labels['unanswered'] = 'Ubesvarte'; +$labels['withattachment'] = 'With attachment'; $labels['deleted'] = 'Slettet'; $labels['undeleted'] = 'Ikke slettet'; $labels['invert'] = 'Inverter'; @@ -200,10 +202,12 @@ $labels['quicksearch'] = 'Hurtigsøk'; $labels['resetsearch'] = 'Nullstill søk'; $labels['searchmod'] = 'Søke felt'; $labels['msgtext'] = 'Hele meldingen'; -$labels['body'] = 'Body'; +$labels['body'] = 'Meldingstekst'; $labels['openinextwin'] = 'Åpne i nytt vindu'; $labels['emlsave'] = 'Last ned (.eml)'; +$labels['changeformattext'] = 'Display in plain text format'; +$labels['changeformathtml'] = 'Display in HTML format'; // message compose $labels['editasnew'] = 'Rediger som ny'; @@ -335,8 +339,8 @@ $labels['composeto'] = 'Skriv e-post til'; $labels['contactsfromto'] = 'Kontakter $from til $to av $count'; $labels['print'] = 'Skriv ut'; $labels['export'] = 'Eksporter'; -$labels['exportall'] = 'Export all'; -$labels['exportsel'] = 'Export selected'; +$labels['exportall'] = 'Eksporter alle'; +$labels['exportsel'] = 'Eksporter valgte'; $labels['exportvcards'] = 'Eksporter kontakter i vCard-format'; $labels['newcontactgroup'] = 'Opprett ny kontaktgruppe'; $labels['grouprename'] = 'Endre navn på gruppe'; @@ -380,7 +384,7 @@ $labels['edititem'] = 'Rediger punkt'; $labels['preferhtml'] = 'Foretrekk HTML'; $labels['defaultcharset'] = 'Standard tegnsett'; $labels['htmlmessage'] = 'HTML-melding'; -$labels['messagepart'] = 'Part'; +$labels['messagepart'] = 'Del'; $labels['digitalsig'] = 'Digital signatur'; $labels['dateformat'] = 'Datoformat'; $labels['timeformat'] = 'Tidsformat'; @@ -451,9 +455,6 @@ $labels['replyremovesignature'] = 'Fjern orginalsignaturen i svar på melding'; $labels['autoaddsignature'] = 'Legg til signatur'; $labels['newmessageonly'] = 'kun på nye meldinger'; $labels['replyandforwardonly'] = 'kun i svar og videresendinger'; -$labels['replysignaturepos'] = 'Plassering av signatur ved svar eller videresending'; -$labels['belowquote'] = 'over sitert melding'; -$labels['abovequote'] = 'under sitert melding'; $labels['insertsignature'] = 'Sett inn signatur'; $labels['previewpanemarkread'] = 'Merk forhåndsviste meldinger som lest'; $labels['afternseconds'] = 'etter $n sekunder'; diff --git a/program/localization/ne_NP/labels.inc b/program/localization/ne_NP/labels.inc index 26be68f35..10aa1e2b7 100644 --- a/program/localization/ne_NP/labels.inc +++ b/program/localization/ne_NP/labels.inc @@ -162,6 +162,7 @@ $labels['currpage'] = 'Current page'; $labels['unread'] = 'नपढिएका |'; $labels['flagged'] = 'Flagged'; $labels['unanswered'] = 'Unanswered'; +$labels['withattachment'] = 'With attachment'; $labels['deleted'] = 'Deleted'; $labels['undeleted'] = 'Not deleted'; $labels['invert'] = 'Invert'; @@ -454,9 +455,6 @@ $labels['replyremovesignature'] = 'When replying remove original signature from $labels['autoaddsignature'] = 'Automatically add signature'; $labels['newmessageonly'] = 'new message only'; $labels['replyandforwardonly'] = 'replies and forwards only'; -$labels['replysignaturepos'] = 'When replying or forwarding place signature'; -$labels['belowquote'] = 'below the quote'; -$labels['abovequote'] = 'above the quote'; $labels['insertsignature'] = 'Insert signature'; $labels['previewpanemarkread'] = 'Mark previewed messages as read'; $labels['afternseconds'] = 'after $n seconds'; diff --git a/program/localization/nl_BE/labels.inc b/program/localization/nl_BE/labels.inc index 82cf3a023..c9f07fa35 100644 --- a/program/localization/nl_BE/labels.inc +++ b/program/localization/nl_BE/labels.inc @@ -162,6 +162,7 @@ $labels['currpage'] = 'Huidige pagina'; $labels['unread'] = 'Ongelezen'; $labels['flagged'] = 'Geselecteerd'; $labels['unanswered'] = 'Onbeantwoord'; +$labels['withattachment'] = 'With attachment'; $labels['deleted'] = 'Verwijderd'; $labels['undeleted'] = 'Niet verwijderd'; $labels['invert'] = 'Selectie omkeren'; @@ -454,9 +455,6 @@ $labels['replyremovesignature'] = 'Verwijder handtekening uit het origneel bij b $labels['autoaddsignature'] = 'Handtekening automatisch toevoegen'; $labels['newmessageonly'] = 'alleen bij nieuwe berichten'; $labels['replyandforwardonly'] = 'alleen bij beantwoorden en doorsturen'; -$labels['replysignaturepos'] = 'Ondertekening plaatsen bij beantwoorden of doorsturen'; -$labels['belowquote'] = 'onder het citaat'; -$labels['abovequote'] = 'boven het citaat'; $labels['insertsignature'] = 'Handtekening invoegen'; $labels['previewpanemarkread'] = 'Markeer voorbeeldbericht als gelezen'; $labels['afternseconds'] = 'Na $n seconden'; diff --git a/program/localization/nl_NL/labels.inc b/program/localization/nl_NL/labels.inc index 2d34a5135..042879b4b 100644 --- a/program/localization/nl_NL/labels.inc +++ b/program/localization/nl_NL/labels.inc @@ -162,6 +162,7 @@ $labels['currpage'] = 'Huidige pagina'; $labels['unread'] = 'Ongelezen'; $labels['flagged'] = 'Gemarkeerd'; $labels['unanswered'] = 'Onbeantwoord'; +$labels['withattachment'] = 'With attachment'; $labels['deleted'] = 'Verwijderd'; $labels['undeleted'] = 'Niet verwijderd'; $labels['invert'] = 'Selectie omkeren'; @@ -454,9 +455,6 @@ $labels['replyremovesignature'] = 'Verwijder oorspronkelijke ondertekening van b $labels['autoaddsignature'] = 'Ondertekening automatisch toevoegen'; $labels['newmessageonly'] = 'alleen bij nieuwe berichten'; $labels['replyandforwardonly'] = 'alleen bij antwoorden en doorsturen'; -$labels['replysignaturepos'] = 'Ondertekening plaatsen bij antwoorden of doorsturen'; -$labels['belowquote'] = 'onder het citaat'; -$labels['abovequote'] = 'boven het citaat'; $labels['insertsignature'] = 'Ondertekening invoegen'; $labels['previewpanemarkread'] = 'Markeer voorbeeldberichten als gelezen'; $labels['afternseconds'] = 'na $n seconden'; diff --git a/program/localization/nn_NO/labels.inc b/program/localization/nn_NO/labels.inc index 725919d14..8fd281c97 100644 --- a/program/localization/nn_NO/labels.inc +++ b/program/localization/nn_NO/labels.inc @@ -64,6 +64,7 @@ $labels['copy'] = 'Kopier'; $labels['move'] = 'Flytt'; $labels['moveto'] = 'flytt til …'; $labels['download'] = 'Last ned'; +$labels['open'] = 'Open'; $labels['showattachment'] = 'Vis'; $labels['showanyway'] = 'Vis likevel'; @@ -161,6 +162,7 @@ $labels['currpage'] = 'Gjeldande side'; $labels['unread'] = 'Uleste'; $labels['flagged'] = 'Flagga'; $labels['unanswered'] = 'Ikkje svara'; +$labels['withattachment'] = 'With attachment'; $labels['deleted'] = 'Sletta'; $labels['undeleted'] = 'Ikkje sletta'; $labels['invert'] = 'Inverter'; @@ -204,6 +206,8 @@ $labels['body'] = 'Meldingstekst'; $labels['openinextwin'] = 'Opna i nytt vindauga'; $labels['emlsave'] = 'Last ned (.eml)'; +$labels['changeformattext'] = 'Display in plain text format'; +$labels['changeformathtml'] = 'Display in HTML format'; // message compose $labels['editasnew'] = 'Rediger som ny'; @@ -335,8 +339,8 @@ $labels['composeto'] = 'Ny melding til'; $labels['contactsfromto'] = 'Kontaktar $from til $to av $count'; $labels['print'] = 'Skriv ut'; $labels['export'] = 'Eksport'; -$labels['exportall'] = 'Export all'; -$labels['exportsel'] = 'Export selected'; +$labels['exportall'] = 'Eksporter alle'; +$labels['exportsel'] = 'Eksporter valde'; $labels['exportvcards'] = 'Eksporter kontaktar i vCard-format'; $labels['newcontactgroup'] = 'Lag ny kontaktgruppe'; $labels['grouprename'] = 'Endre namn på gruppe'; @@ -451,9 +455,6 @@ $labels['replyremovesignature'] = 'Fjern den original signatur frå eposten når $labels['autoaddsignature'] = 'Legg signatur til automatisk'; $labels['newmessageonly'] = 'berre på nye epostar'; $labels['replyandforwardonly'] = 'berre på svar og vidaresending'; -$labels['replysignaturepos'] = 'Når du svarar eller sender vidare, plasser signaturen'; -$labels['belowquote'] = 'nedanfor siteringa'; -$labels['abovequote'] = 'oppanfor siteringa'; $labels['insertsignature'] = 'Sett inn signatur'; $labels['previewpanemarkread'] = 'Merk forehandsviste epostar som leste'; $labels['afternseconds'] = 'etter $n sekund'; diff --git a/program/localization/pl_PL/labels.inc b/program/localization/pl_PL/labels.inc index 7a4248830..eb6fe9b9a 100644 --- a/program/localization/pl_PL/labels.inc +++ b/program/localization/pl_PL/labels.inc @@ -162,6 +162,7 @@ $labels['currpage'] = 'Bieżąca strona'; $labels['unread'] = 'Nieprzeczytane'; $labels['flagged'] = 'Oznaczone'; $labels['unanswered'] = 'Bez odpowiedzi'; +$labels['withattachment'] = 'With attachment'; $labels['deleted'] = 'Usunięte'; $labels['undeleted'] = 'Nieusunięte'; $labels['invert'] = 'Odwróć'; @@ -454,9 +455,6 @@ $labels['replyremovesignature'] = 'Podczas odpowiedzi usuń podpis z cytowanej t $labels['autoaddsignature'] = 'Automatycznie wstaw podpis'; $labels['newmessageonly'] = 'tylko dla nowych wiadomości'; $labels['replyandforwardonly'] = 'tylko dla przekazywania i odpowiedzi'; -$labels['replysignaturepos'] = 'Podczas odpowiedzi wstaw podpis'; -$labels['belowquote'] = 'poniżej cytowanej treści'; -$labels['abovequote'] = 'ponad cytowaną treścią'; $labels['insertsignature'] = 'Wstaw podpis'; $labels['previewpanemarkread'] = 'Oznacz podglądane wiadomości jako przeczytane'; $labels['afternseconds'] = 'po $n sekundach'; diff --git a/program/localization/ps/labels.inc b/program/localization/ps/labels.inc index 05f6c3d32..f4f2f5380 100755 --- a/program/localization/ps/labels.inc +++ b/program/localization/ps/labels.inc @@ -162,6 +162,7 @@ $labels['currpage'] = 'Current page'; $labels['unread'] = 'نالوستي'; $labels['flagged'] = 'بې کاره'; $labels['unanswered'] = 'ناځواب شوي'; +$labels['withattachment'] = 'With attachment'; $labels['deleted'] = 'Deleted'; $labels['undeleted'] = 'Not deleted'; $labels['invert'] = 'Invert'; @@ -454,9 +455,6 @@ $labels['replyremovesignature'] = 'When replying remove original signature from $labels['autoaddsignature'] = 'Automatically add signature'; $labels['newmessageonly'] = 'new message only'; $labels['replyandforwardonly'] = 'replies and forwards only'; -$labels['replysignaturepos'] = 'When replying or forwarding place signature'; -$labels['belowquote'] = 'below the quote'; -$labels['abovequote'] = 'above the quote'; $labels['insertsignature'] = 'Insert signature'; $labels['previewpanemarkread'] = 'Mark previewed messages as read'; $labels['afternseconds'] = 'after $n seconds'; diff --git a/program/localization/pt_BR/labels.inc b/program/localization/pt_BR/labels.inc index 55068df5b..858fcbe7c 100644 --- a/program/localization/pt_BR/labels.inc +++ b/program/localization/pt_BR/labels.inc @@ -162,6 +162,7 @@ $labels['currpage'] = 'Página atual'; $labels['unread'] = 'Não lidas'; $labels['flagged'] = 'Marcadas'; $labels['unanswered'] = 'Não respondidas'; +$labels['withattachment'] = 'With attachment'; $labels['deleted'] = 'Excluídas'; $labels['undeleted'] = 'Não excluídas'; $labels['invert'] = 'Inverter'; @@ -454,9 +455,6 @@ $labels['replyremovesignature'] = 'Remover assinatura original da mensagem ao re $labels['autoaddsignature'] = 'Adicionar assinatura automaticamente'; $labels['newmessageonly'] = 'somente em novas mensagens'; $labels['replyandforwardonly'] = 'somente em respostas e encaminhamentos'; -$labels['replysignaturepos'] = 'Inserir assinatura ao responder ou encaminhar'; -$labels['belowquote'] = 'abaixo da citação'; -$labels['abovequote'] = 'acima da citação'; $labels['insertsignature'] = 'Inserir assinatura'; $labels['previewpanemarkread'] = 'Marcar mensagens pré-visualizadas como lidas'; $labels['afternseconds'] = 'depois de $n segundos'; diff --git a/program/localization/pt_PT/labels.inc b/program/localization/pt_PT/labels.inc index 62fa8bbb4..17cae3795 100644 --- a/program/localization/pt_PT/labels.inc +++ b/program/localization/pt_PT/labels.inc @@ -162,6 +162,7 @@ $labels['currpage'] = 'Página actual'; $labels['unread'] = 'Não lidas'; $labels['flagged'] = 'Sinalizadas'; $labels['unanswered'] = 'Não respondidas'; +$labels['withattachment'] = 'Com anexo'; $labels['deleted'] = 'Eliminadas'; $labels['undeleted'] = 'Não eliminada'; $labels['invert'] = 'Inverter selecção'; @@ -454,9 +455,6 @@ $labels['replyremovesignature'] = 'Ao responder, remover a assinatura original d $labels['autoaddsignature'] = 'Adicionar assinatura automaticamente'; $labels['newmessageonly'] = 'apenas em novas mensagens'; $labels['replyandforwardonly'] = 'apenas em respostas e reenvios'; -$labels['replysignaturepos'] = 'Ao responder ou reencaminhar colocar assinatura'; -$labels['belowquote'] = 'depois da citação'; -$labels['abovequote'] = 'antes da citação'; $labels['insertsignature'] = 'Inserir assinatura'; $labels['previewpanemarkread'] = 'Marcar mensagem como lida'; $labels['afternseconds'] = 'após $n segundos'; diff --git a/program/localization/ro_RO/labels.inc b/program/localization/ro_RO/labels.inc index 0dcd97919..7f458a543 100644 --- a/program/localization/ro_RO/labels.inc +++ b/program/localization/ro_RO/labels.inc @@ -162,6 +162,7 @@ $labels['currpage'] = 'Pagina curentă'; $labels['unread'] = 'Necitite'; $labels['flagged'] = 'Marcat'; $labels['unanswered'] = 'Fără răspuns'; +$labels['withattachment'] = 'With attachment'; $labels['deleted'] = 'Şterse'; $labels['undeleted'] = 'Nu a fost șters'; $labels['invert'] = 'Inversează'; @@ -454,9 +455,6 @@ $labels['replyremovesignature'] = 'Când răspundeţi, se şterge semnătura ori $labels['autoaddsignature'] = 'Adăugarea automată a semnăturii'; $labels['newmessageonly'] = 'numai la mesajele noi'; $labels['replyandforwardonly'] = 'numai la răspunsuri si cele trimise mai departe'; -$labels['replysignaturepos'] = 'Când răspundeţi sau trimiteţi mai departe, semnătura se va plasa'; -$labels['belowquote'] = 'dedesubtul citatului'; -$labels['abovequote'] = 'deasupra citatului'; $labels['insertsignature'] = 'Introduce o semnătură'; $labels['previewpanemarkread'] = 'Marchează mesajele previzualizate ca citite'; $labels['afternseconds'] = 'după $n secunde'; diff --git a/program/localization/ru_RU/labels.inc b/program/localization/ru_RU/labels.inc index 6b6d0c6bd..970e30b88 100644 --- a/program/localization/ru_RU/labels.inc +++ b/program/localization/ru_RU/labels.inc @@ -162,6 +162,7 @@ $labels['currpage'] = 'Текущая страница'; $labels['unread'] = 'Непрочитанные'; $labels['flagged'] = 'Помеченные'; $labels['unanswered'] = 'Неотвеченные'; +$labels['withattachment'] = 'With attachment'; $labels['deleted'] = 'Удаленное'; $labels['undeleted'] = 'Не удалено'; $labels['invert'] = 'Инвертное'; @@ -454,9 +455,6 @@ $labels['replyremovesignature'] = 'Удалить подпись при отве $labels['autoaddsignature'] = 'Автоматически добавлять подпись'; $labels['newmessageonly'] = 'только в новых сообщениях'; $labels['replyandforwardonly'] = 'только в ответах и пересылках'; -$labels['replysignaturepos'] = 'Прикрепить подпись при ответе и пересылке'; -$labels['belowquote'] = 'после цитаты'; -$labels['abovequote'] = 'до цитаты'; $labels['insertsignature'] = 'Вставить подпись'; $labels['previewpanemarkread'] = 'Отмечать просмотренные сообщения как прочитанные'; $labels['afternseconds'] = 'через $n секунд'; diff --git a/program/localization/si_LK/labels.inc b/program/localization/si_LK/labels.inc index eddc01b57..be091f4cf 100644 --- a/program/localization/si_LK/labels.inc +++ b/program/localization/si_LK/labels.inc @@ -162,6 +162,7 @@ $labels['currpage'] = 'දැනට ඇති පිටුව'; $labels['unread'] = 'නොකියවූ'; $labels['flagged'] = 'Flagged'; $labels['unanswered'] = 'Unanswered'; +$labels['withattachment'] = 'With attachment'; $labels['deleted'] = 'මකා දැමූ'; $labels['undeleted'] = 'Not deleted'; $labels['invert'] = 'Invert'; @@ -454,9 +455,6 @@ $labels['replyremovesignature'] = 'When replying remove original signature from $labels['autoaddsignature'] = 'ස්වයංක්රීයව අත්සන ඇතුලත් කරන්න'; $labels['newmessageonly'] = 'අලුත් පණිවිඩය පමණක්'; $labels['replyandforwardonly'] = 'replies and forwards only'; -$labels['replysignaturepos'] = 'When replying or forwarding place signature'; -$labels['belowquote'] = 'below the quote'; -$labels['abovequote'] = 'above the quote'; $labels['insertsignature'] = 'අත්සන ඇතුලත් කරන්න'; $labels['previewpanemarkread'] = 'Mark previewed messages as read'; $labels['afternseconds'] = 'තත්පර $nකට පසු'; diff --git a/program/localization/sk_SK/labels.inc b/program/localization/sk_SK/labels.inc index 7b993e77a..a48d265e8 100644 --- a/program/localization/sk_SK/labels.inc +++ b/program/localization/sk_SK/labels.inc @@ -162,6 +162,7 @@ $labels['currpage'] = 'Aktuálna stránka'; $labels['unread'] = 'Neprečítané'; $labels['flagged'] = 'Označené'; $labels['unanswered'] = 'Neoznačené'; +$labels['withattachment'] = 'With attachment'; $labels['deleted'] = 'Zmazané'; $labels['undeleted'] = 'Nevymazané'; $labels['invert'] = 'Prevrátiť'; @@ -454,9 +455,6 @@ $labels['replyremovesignature'] = 'Pri odpovedaní odstrániť zo správy pôvod $labels['autoaddsignature'] = 'Automaticky pridať podpis'; $labels['newmessageonly'] = 'iba k novým správam'; $labels['replyandforwardonly'] = 'len k odpovede a preposílanej správe'; -$labels['replysignaturepos'] = 'Pri odpovedaní alebo preposielanie správy vložiť podpis'; -$labels['belowquote'] = 'nad citáciu'; -$labels['abovequote'] = 'pod citáciu'; $labels['insertsignature'] = 'Vložit podpis'; $labels['previewpanemarkread'] = 'Označiť zobrazenej správy ako prečítané'; $labels['afternseconds'] = 'po $n sekundách'; diff --git a/program/localization/sl_SI/labels.inc b/program/localization/sl_SI/labels.inc index 70150e4d9..8542acb9a 100644 --- a/program/localization/sl_SI/labels.inc +++ b/program/localization/sl_SI/labels.inc @@ -162,6 +162,7 @@ $labels['currpage'] = 'Trenutna stran'; $labels['unread'] = 'Neprebrano'; $labels['flagged'] = 'Označeno'; $labels['unanswered'] = 'Neoznačeno'; +$labels['withattachment'] = 'With attachment'; $labels['deleted'] = 'Izbrisano'; $labels['undeleted'] = 'Ni izbrisano'; $labels['invert'] = 'Zamenjaj'; @@ -454,9 +455,6 @@ $labels['replyremovesignature'] = 'Pri odgovoru na sporočilo odstrani izvorni p $labels['autoaddsignature'] = 'Samodejno dodaj podpis'; $labels['newmessageonly'] = 'samo novim sporočilom'; $labels['replyandforwardonly'] = 'samo k odgovorom in posredovanim sporočilom'; -$labels['replysignaturepos'] = 'Pri odgovoru ali posredovanju sporočila vstavi podpis'; -$labels['belowquote'] = 'pod citiran tekst'; -$labels['abovequote'] = 'nad citiran tekst'; $labels['insertsignature'] = 'Vstavi podpis'; $labels['previewpanemarkread'] = 'Označi predogledana sporočila kot prebrana'; $labels['afternseconds'] = 'po $n sekundah'; diff --git a/program/localization/sq_AL/labels.inc b/program/localization/sq_AL/labels.inc index 52ff45cd6..0c61af687 100644 --- a/program/localization/sq_AL/labels.inc +++ b/program/localization/sq_AL/labels.inc @@ -162,6 +162,7 @@ $labels['currpage'] = 'Current page'; $labels['unread'] = 'Palexuar'; $labels['flagged'] = 'Flagged'; $labels['unanswered'] = 'Unanswered'; +$labels['withattachment'] = 'With attachment'; $labels['deleted'] = 'Deleted'; $labels['undeleted'] = 'Not deleted'; $labels['invert'] = 'Invert'; @@ -454,9 +455,6 @@ $labels['replyremovesignature'] = 'When replying remove original signature from $labels['autoaddsignature'] = 'Automatically add signature'; $labels['newmessageonly'] = 'new message only'; $labels['replyandforwardonly'] = 'replies and forwards only'; -$labels['replysignaturepos'] = 'When replying or forwarding place signature'; -$labels['belowquote'] = 'below the quote'; -$labels['abovequote'] = 'above the quote'; $labels['insertsignature'] = 'Insert signature'; $labels['previewpanemarkread'] = 'Mark previewed messages as read'; $labels['afternseconds'] = 'after $n seconds'; diff --git a/program/localization/sr_CS/labels.inc b/program/localization/sr_CS/labels.inc index 1e84735e6..15de82e52 100644 --- a/program/localization/sr_CS/labels.inc +++ b/program/localization/sr_CS/labels.inc @@ -162,6 +162,7 @@ $labels['currpage'] = 'Тренутна страница'; $labels['unread'] = 'Непрочитане'; $labels['flagged'] = 'Означено'; $labels['unanswered'] = 'Неодговорено'; +$labels['withattachment'] = 'With attachment'; $labels['deleted'] = 'Обрисано'; $labels['undeleted'] = 'Not deleted'; $labels['invert'] = 'Уведи'; @@ -454,9 +455,6 @@ $labels['replyremovesignature'] = 'При одговору одстрани ор $labels['autoaddsignature'] = 'Аутоматски додај потпис'; $labels['newmessageonly'] = 'само нове поруке'; $labels['replyandforwardonly'] = 'само одговори и прослеђивања'; -$labels['replysignaturepos'] = 'При одговору или прослеђивању додај потпис'; -$labels['belowquote'] = 'испод квоте'; -$labels['abovequote'] = 'изнад квоте'; $labels['insertsignature'] = 'Убаци потпис'; $labels['previewpanemarkread'] = 'Прегледану поруку означи као прочитану'; $labels['afternseconds'] = 'након $n секунди'; diff --git a/program/localization/sv_SE/labels.inc b/program/localization/sv_SE/labels.inc index c1a91cf82..e9def21f6 100644 --- a/program/localization/sv_SE/labels.inc +++ b/program/localization/sv_SE/labels.inc @@ -162,6 +162,7 @@ $labels['currpage'] = 'Sida'; $labels['unread'] = 'Olästa'; $labels['flagged'] = 'Flaggade'; $labels['unanswered'] = 'Obesvarade'; +$labels['withattachment'] = 'Med bilaga'; $labels['deleted'] = 'Borttagna'; $labels['undeleted'] = 'Inte borttaget'; $labels['invert'] = 'Invertera'; @@ -454,9 +455,6 @@ $labels['replyremovesignature'] = 'Ta bort befintlig signatur från meddelandet $labels['autoaddsignature'] = 'Infoga signatur automatiskt'; $labels['newmessageonly'] = 'Vid nytt meddelande'; $labels['replyandforwardonly'] = 'Vid svar och vidarebefordran'; -$labels['replysignaturepos'] = 'Vid svar eller vidarebefordran infoga signatur'; -$labels['belowquote'] = 'Nedanför befintligt meddelande'; -$labels['abovequote'] = 'Ovanför befintligt meddelande'; $labels['insertsignature'] = 'Infoga signatur'; $labels['previewpanemarkread'] = 'Märk meddelande som läst vid visning'; $labels['afternseconds'] = 'Efter $n sekunder'; diff --git a/program/localization/ta_IN/labels.inc b/program/localization/ta_IN/labels.inc index 1cbffb588..ff0f5e0cc 100644 --- a/program/localization/ta_IN/labels.inc +++ b/program/localization/ta_IN/labels.inc @@ -162,6 +162,7 @@ $labels['currpage'] = 'Current page'; $labels['unread'] = 'படிக்காதது'; $labels['flagged'] = 'நட்சத்திரமிட்டது'; $labels['unanswered'] = 'பதிலளிக்காதது'; +$labels['withattachment'] = 'With attachment'; $labels['deleted'] = 'நீக்கியது'; $labels['undeleted'] = 'Not deleted'; $labels['invert'] = 'தலைகீழ்'; @@ -454,9 +455,6 @@ $labels['replyremovesignature'] = 'பதிலளிக்கும் பே $labels['autoaddsignature'] = 'தானாக கையொப்பத்தை சேர்'; $labels['newmessageonly'] = 'புது செய்தி மட்டும்'; $labels['replyandforwardonly'] = 'பதிலளிப்பு முன்அனுப்பு மட்டும்'; -$labels['replysignaturepos'] = 'பதிலளிக்கும் போதும் முன்அனுப்பும் போதும் கையோப்பமிடு'; -$labels['belowquote'] = 'மேற்கோளுக்கு கீழே'; -$labels['abovequote'] = 'மேற்கோளுக்கு மேலே'; $labels['insertsignature'] = 'கையோப்பமிடு'; $labels['previewpanemarkread'] = 'Mark previewed messages as read'; $labels['afternseconds'] = 'after $n seconds'; diff --git a/program/localization/th_TH/labels.inc b/program/localization/th_TH/labels.inc index 93f2304e1..7853cdd9d 100644 --- a/program/localization/th_TH/labels.inc +++ b/program/localization/th_TH/labels.inc @@ -162,6 +162,7 @@ $labels['currpage'] = 'หน้าปัจจุบัน'; $labels['unread'] = 'จดหมายที่ไม่ได้อ่าน'; $labels['flagged'] = 'Flagged'; $labels['unanswered'] = 'ยังไม่ได้ตอบ'; +$labels['withattachment'] = 'With attachment'; $labels['deleted'] = 'ลบแล้ว'; $labels['undeleted'] = 'ยังไม่ได้ลบ'; $labels['invert'] = 'Invert'; @@ -454,9 +455,6 @@ $labels['replyremovesignature'] = 'When replying remove original signature from $labels['autoaddsignature'] = 'เพิ่มลายเซ็นต์เข้าไปอัตโนมัติ'; $labels['newmessageonly'] = 'เฉพาะข้อความใหม่เท่านั้น'; $labels['replyandforwardonly'] = 'ตอบกลับและส่งต่อเท่านั้น'; -$labels['replysignaturepos'] = 'When replying or forwarding place signature'; -$labels['belowquote'] = 'below the quote'; -$labels['abovequote'] = 'above the quote'; $labels['insertsignature'] = 'แทรกลายเซ็นต์'; $labels['previewpanemarkread'] = 'Mark previewed messages as read'; $labels['afternseconds'] = 'after $n seconds'; diff --git a/program/localization/tr_TR/labels.inc b/program/localization/tr_TR/labels.inc index d8e9e20cf..0b525ff55 100644 --- a/program/localization/tr_TR/labels.inc +++ b/program/localization/tr_TR/labels.inc @@ -162,6 +162,7 @@ $labels['currpage'] = 'Şimdiki sayfa'; $labels['unread'] = 'Okunmamışları'; $labels['flagged'] = 'İşaretlenmişleri'; $labels['unanswered'] = 'Yanıtlanmamışları'; +$labels['withattachment'] = 'With attachment'; $labels['deleted'] = 'Silinmişleri'; $labels['undeleted'] = 'Silinmemiş'; $labels['invert'] = 'Seçimi Tersine Çevir'; @@ -454,9 +455,6 @@ $labels['replyremovesignature'] = 'Yanıtlarken önceki imzaları sil'; $labels['autoaddsignature'] = 'Otomatik olarak imza ekle'; $labels['newmessageonly'] = 'sadece yeni postalarda'; $labels['replyandforwardonly'] = 'sadece yanıtlar ve yönlendirmelerde'; -$labels['replysignaturepos'] = 'Yanıtlarken veya yönlendirirken imzayı yerleştir'; -$labels['belowquote'] = 'alıntının altına'; -$labels['abovequote'] = 'alıntının üstüne'; $labels['insertsignature'] = 'İmza ekle'; $labels['previewpanemarkread'] = 'Önzilemede görünen postaları okunmuş işaretle'; $labels['afternseconds'] = '$n saniye sonra'; diff --git a/program/localization/uk_UA/labels.inc b/program/localization/uk_UA/labels.inc index 35be96cab..67ca0ed31 100644 --- a/program/localization/uk_UA/labels.inc +++ b/program/localization/uk_UA/labels.inc @@ -162,6 +162,7 @@ $labels['currpage'] = 'Поточна сторінка'; $labels['unread'] = 'Непрочитані'; $labels['flagged'] = 'Із зірочкою'; $labels['unanswered'] = 'Без відповіді'; +$labels['withattachment'] = 'With attachment'; $labels['deleted'] = 'Видалені'; $labels['undeleted'] = 'Не видалено'; $labels['invert'] = 'Інвертувати виділення'; @@ -454,9 +455,6 @@ $labels['replyremovesignature'] = 'При відповіді видаляти п $labels['autoaddsignature'] = 'Автоматично додавати підпис'; $labels['newmessageonly'] = 'тільки до нових листів'; $labels['replyandforwardonly'] = 'тільки при відповідях та пересилках'; -$labels['replysignaturepos'] = 'При відповідях чи пересилках додавати підпис'; -$labels['belowquote'] = 'після цитати'; -$labels['abovequote'] = 'перед цитатою'; $labels['insertsignature'] = 'Додати підпис'; $labels['previewpanemarkread'] = 'Позначити переглянуті листи як прочитані'; $labels['afternseconds'] = 'через $n секунд'; diff --git a/program/localization/vi_VN/labels.inc b/program/localization/vi_VN/labels.inc index 00d04b46b..bece2f47d 100644 --- a/program/localization/vi_VN/labels.inc +++ b/program/localization/vi_VN/labels.inc @@ -64,6 +64,7 @@ $labels['copy'] = 'Sao chép'; $labels['move'] = 'Di Chuyển'; $labels['moveto'] = 'Di chuyển tới...'; $labels['download'] = 'Tải về'; +$labels['open'] = 'Open'; $labels['showattachment'] = 'Hiển thị'; $labels['showanyway'] = 'Tiếp tục hiển thị'; @@ -161,6 +162,7 @@ $labels['currpage'] = 'Trang hiện tại'; $labels['unread'] = 'Chưa đọc'; $labels['flagged'] = 'Đã đánh dấu'; $labels['unanswered'] = 'Chưa trả lời'; +$labels['withattachment'] = 'With attachment'; $labels['deleted'] = 'Đã xóa'; $labels['undeleted'] = 'Chưa xóa được'; $labels['invert'] = 'Đảo ngược'; @@ -204,6 +206,8 @@ $labels['body'] = 'Nội dung thư'; $labels['openinextwin'] = 'Mở trong khung cửa mới'; $labels['emlsave'] = 'Tải về theo định dạng .eml'; +$labels['changeformattext'] = 'Display in plain text format'; +$labels['changeformathtml'] = 'Display in HTML format'; // message compose $labels['editasnew'] = 'Sửa như một email mới'; @@ -335,8 +339,8 @@ $labels['composeto'] = 'Soạn thư cho'; $labels['contactsfromto'] = 'Liên hệ từ $from - $to / $count'; $labels['print'] = 'In ra'; $labels['export'] = 'Trích xuất'; -$labels['exportall'] = 'Export all'; -$labels['exportsel'] = 'Export selected'; +$labels['exportall'] = 'Xuất tất cả'; +$labels['exportsel'] = 'Xuất mục chọn'; $labels['exportvcards'] = 'Tải dữ liệu máy theo định dạng vCard'; $labels['newcontactgroup'] = 'Tạo nhóm liên lạc mới'; $labels['grouprename'] = 'Đổi tên nhóm'; @@ -451,9 +455,6 @@ $labels['replyremovesignature'] = 'Khi trả lời bỏ chữ ký cũ khỏi n $labels['autoaddsignature'] = 'Tự động thêm chữ ký'; $labels['newmessageonly'] = 'chỉ thư mới'; $labels['replyandforwardonly'] = 'chỉ trả lời và chuyển tiếp thư'; -$labels['replysignaturepos'] = 'Khi trả lời hoặc chuyển tiếp thư thêm vào chữ ký'; -$labels['belowquote'] = 'Dưới phần nội dung cũ'; -$labels['abovequote'] = 'trên phần nội dung cũ'; $labels['insertsignature'] = 'Chèn chữ ký'; $labels['previewpanemarkread'] = 'Đánh dẫu thư xem thử là đã đọc'; $labels['afternseconds'] = 'sau $n giây'; diff --git a/program/localization/zh_CN/labels.inc b/program/localization/zh_CN/labels.inc index 9b79283b1..2d896d7c3 100644 --- a/program/localization/zh_CN/labels.inc +++ b/program/localization/zh_CN/labels.inc @@ -162,6 +162,7 @@ $labels['currpage'] = '当前页'; $labels['unread'] = '未读邮件'; $labels['flagged'] = '已标记邮件'; $labels['unanswered'] = '未回复邮件'; +$labels['withattachment'] = 'With attachment'; $labels['deleted'] = '已删除邮件'; $labels['undeleted'] = '未删除邮件'; $labels['invert'] = '反选'; @@ -454,9 +455,6 @@ $labels['replyremovesignature'] = '当回复时从邮件移除原始签名'; $labels['autoaddsignature'] = '自动插入签名'; $labels['newmessageonly'] = '仅新邮件'; $labels['replyandforwardonly'] = '仅回复和转发邮件'; -$labels['replysignaturepos'] = '当回复或转发时插入签名'; -$labels['belowquote'] = '位于原文下方'; -$labels['abovequote'] = '位于原文上方'; $labels['insertsignature'] = '插入签名'; $labels['previewpanemarkread'] = '标记预览邮件为已读'; $labels['afternseconds'] = '$n 秒之后'; diff --git a/program/localization/zh_TW/labels.inc b/program/localization/zh_TW/labels.inc index 488a7ab2d..f53a5a969 100644 --- a/program/localization/zh_TW/labels.inc +++ b/program/localization/zh_TW/labels.inc @@ -162,6 +162,7 @@ $labels['currpage'] = '目前頁面'; $labels['unread'] = '未讀取的郵件'; $labels['flagged'] = '已加標記的郵件'; $labels['unanswered'] = '未回覆的郵件'; +$labels['withattachment'] = 'With attachment'; $labels['deleted'] = '已刪除的郵件'; $labels['undeleted'] = '未刪除的郵件'; $labels['invert'] = '反選'; @@ -454,9 +455,6 @@ $labels['replyremovesignature'] = '回覆時移除原有簽名檔'; $labels['autoaddsignature'] = '自動附加簽名'; $labels['newmessageonly'] = '只有新訊息'; $labels['replyandforwardonly'] = '只有回覆或轉寄'; -$labels['replysignaturepos'] = '當回覆或轉寄時附上簽名檔'; -$labels['belowquote'] = '引用的下方'; -$labels['abovequote'] = '引用的上方'; $labels['insertsignature'] = '插入簽名檔'; $labels['previewpanemarkread'] = '標示已預覽訊息為已讀取'; $labels['afternseconds'] = '$n 秒之後'; diff --git a/program/resources/blank.pdf b/program/resources/blank.pdf Binary files differnew file mode 100644 index 000000000..7bf83e390 --- /dev/null +++ b/program/resources/blank.pdf diff --git a/program/steps/addressbook/save.inc b/program/steps/addressbook/save.inc index 8cab6e817..25bfbd48b 100644 --- a/program/steps/addressbook/save.inc +++ b/program/steps/addressbook/save.inc @@ -192,7 +192,7 @@ else { if (($maxnum = $RCMAIL->config->get('max_group_members', 0)) && ($counts->count + 1 > $maxnum)) $OUTPUT->show_message('maxgroupmembersreached', 'warning', array('max' => $maxnum)); - $CONTACTS->add_to_group($gid, $plugin['ids']); + $CONTACTS->add_to_group($plugin['group_id'], $plugin['ids']); } } else diff --git a/program/steps/mail/autocomplete.inc b/program/steps/mail/autocomplete.inc index 55579814c..f9e8d71a4 100644 --- a/program/steps/mail/autocomplete.inc +++ b/program/steps/mail/autocomplete.inc @@ -102,7 +102,7 @@ if (!empty($book_types) && strlen($search)) { // also list matching contact groups if ($abook->groups && count($contacts) < $MAXNUM) { - foreach ($abook->list_groups($search) as $group) { + foreach ($abook->list_groups($search, $mode) as $group) { $abook->reset(); $abook->set_group($group['ID']); $group_prop = $abook->get_group($group['ID']); diff --git a/program/steps/mail/compose.inc b/program/steps/mail/compose.inc index b787ca101..7205d12da 100644 --- a/program/steps/mail/compose.inc +++ b/program/steps/mail/compose.inc @@ -327,6 +327,19 @@ foreach ($parts as $header) { $fvalue .= $v; if ($v = $MESSAGE->headers->cc) $fvalue .= (!empty($fvalue) ? $separator : '') . $v; + if ($v = $MESSAGE->headers->get('Sender', false)) + $fvalue .= (!empty($fvalue) ? $separator : '') . $v; + + // When To: and Reply-To: are the same we add From: address to the list (#1489037) + if ($v = $MESSAGE->headers->from) { + $from = rcube_mime::decode_address_list($v, null, false, $MESSAGE->headers->charset, true); + $to = rcube_mime::decode_address_list($MESSAGE->headers->to, null, false, $MESSAGE->headers->charset, true); + $replyto = rcube_mime::decode_address_list($MESSAGE->headers->replyto, null, false, $MESSAGE->headers->charset, true); + + if (count($replyto) && !count(array_diff($to, $replyto)) && count(array_diff($from, $to))) { + $fvalue .= (!empty($fvalue) ? $separator : '') . $v; + } + } } } else if (in_array($compose_mode, array(RCUBE_COMPOSE_DRAFT, RCUBE_COMPOSE_EDIT))) { @@ -571,7 +584,7 @@ function rcmail_prepare_message_body() rcmail_write_forward_attachments(); } // reply/edit/draft/forward - else if ($compose_mode && ($compose_mode != RCUBE_COMPOSE_REPLY || $RCMAIL->config->get('reply_mode') != -1)) { + else if ($compose_mode && ($compose_mode != RCUBE_COMPOSE_REPLY || intval($RCMAIL->config->get('reply_mode')) != -1)) { $isHtml = rcmail_compose_editor_mode(); if (!empty($MESSAGE->parts)) { diff --git a/program/steps/mail/func.inc b/program/steps/mail/func.inc index 6333cf46d..f00813ea2 100644 --- a/program/steps/mail/func.inc +++ b/program/steps/mail/func.inc @@ -1194,7 +1194,7 @@ function rcmail_message_body($attrib) html::a($show_link + array('class' => 'image-link', 'style' => sprintf('width:%dpx', $thumbnail_size)), html::img(array( 'class' => 'image-thumbnail', - 'src' => $MESSAGE->get_part_url($attach_prop->mime_id, true) . '&_thumb=1', + 'src' => $MESSAGE->get_part_url($attach_prop->mime_id, 'image') . '&_thumb=1', 'title' => $attach_prop->filename, 'alt' => $attach_prop->filename, 'style' => sprintf('max-width:%dpx; max-height:%dpx', $thumbnail_size, $thumbnail_size), @@ -1214,7 +1214,7 @@ function rcmail_message_body($attrib) html::tag('legend', 'image-filename', Q($attach_prop->filename)) . html::p(array('align' => "center"), html::img(array( - 'src' => $MESSAGE->get_part_url($attach_prop->mime_id, true), + 'src' => $MESSAGE->get_part_url($attach_prop->mime_id, 'image'), 'title' => $attach_prop->filename, 'alt' => $attach_prop->filename, ))) @@ -1440,7 +1440,8 @@ function rcmail_address_string($input, $max=null, $linked=false, $addicon=null, $c = count($a_parts); $j = 0; $out = ''; - $allvalues = array(); + $allvalues = array(); + $show_email = $RCMAIL->config->get('message_show_email'); if ($addicon && !isset($_SESSION['writeable_abook'])) { $_SESSION['writeable_abook'] = $RCMAIL->get_address_sources(true) ? true : false; @@ -1453,7 +1454,7 @@ function rcmail_address_string($input, $max=null, $linked=false, $addicon=null, $string = $part['string']; // phishing email prevention (#1488981), e.g. "valid@email.addr <phishing@email.addr>" - if ($name && $name != $mailto && strpos($name, '@')) { + if (!$show_email && $name && $name != $mailto && strpos($name, '@')) { $name = ''; } @@ -1471,13 +1472,21 @@ function rcmail_address_string($input, $max=null, $linked=false, $addicon=null, } else if (check_email($part['mailto'], false)) { if ($linked) { - $address = html::a(array( - 'href' => 'mailto:'.$mailto, - 'onclick' => sprintf("return %s.command('compose','%s',this)", JS_OBJECT_NAME, JQ($mailto)), - 'title' => $mailto, - 'class' => "rcmContactAddress", - ), - Q($name ? $name : $mailto)); + $attrs = array( + 'href' => 'mailto:' . $mailto, + 'onclick' => sprintf("return %s.command('compose','%s',this)", JS_OBJECT_NAME, JQ($mailto)), + 'class' => "rcmContactAddress", + ); + + if ($show_email && $name && $mailto) { + $content = Q($name ? sprintf('%s <%s>', $name, $mailto) : $mailto); + } + else { + $content = Q($name ? $name : $mailto); + $attrs['title'] = $mailto; + } + + $address = html::a($attrs, $content); } else { $address = html::span(array('title' => $mailto, 'class' => "rcmContactAddress"), @@ -1897,13 +1906,15 @@ function rcmail_search_filter($attrib) $attrib['onchange'] = JS_OBJECT_NAME.'.filter_mailbox(this.value)'; - /* - RFC3501 (6.4.4): 'ALL', 'RECENT', - 'ANSWERED', 'DELETED', 'FLAGGED', 'SEEN', - 'UNANSWERED', 'UNDELETED', 'UNFLAGGED', 'UNSEEN', - 'NEW', // = (RECENT UNSEEN) - 'OLD' // = NOT RECENT - */ + // Content-Type values of messages with attachments + // the same as in app.js:add_message_row() + $ctypes = array('application/', 'multipart/m', 'multipart/signed', 'multipart/report'); + + // Build search string of "with attachment" filter + $attachment = str_repeat(' OR', count($ctypes)-1); + foreach ($ctypes as $type) { + $attachment .= ' HEADER Content-Type ' . rcube_imap_generic::escape($type); + } $select_filter = new html_select($attrib); $select_filter->add(rcube_label('all'), 'ALL'); @@ -1914,6 +1925,7 @@ function rcmail_search_filter($attrib) $select_filter->add(rcube_label('deleted'), 'DELETED'); $select_filter->add(rcube_label('undeleted'), 'UNDELETED'); } + $select_filter->add(rcube_label('withattachment'), $attachment); $select_filter->add(rcube_label('priority').': '.rcube_label('highest'), 'HEADER X-PRIORITY 1'); $select_filter->add(rcube_label('priority').': '.rcube_label('high'), 'HEADER X-PRIORITY 2'); $select_filter->add(rcube_label('priority').': '.rcube_label('normal'), 'NOT HEADER X-PRIORITY 1 NOT HEADER X-PRIORITY 2 NOT HEADER X-PRIORITY 4 NOT HEADER X-PRIORITY 5'); diff --git a/program/steps/mail/get.inc b/program/steps/mail/get.inc index 23dc22b7c..bcc6f11bc 100644 --- a/program/steps/mail/get.inc +++ b/program/steps/mail/get.inc @@ -22,7 +22,7 @@ // show loading page if (!empty($_GET['_preload'])) { - $url = preg_replace('/([&?]+)_preload=/', '\\1_embed=', $_SERVER['REQUEST_URI']); + $url = preg_replace('/([&?]+)_preload=/', '\\1_mimewarning=1&_embed=', $_SERVER['REQUEST_URI']); $message = rcube_label('loadingdata'); header('Content-Type: text/html; charset=' . RCMAIL_CHARSET); @@ -62,9 +62,10 @@ else if ($_GET['_thumb']) { $thumbnail_size = $RCMAIL->config->get('image_thumbnail_size', 240); $temp_dir = $RCMAIL->config->get('temp_dir'); list(,$ext) = explode('/', $part->mimetype); - $cache_basename = $temp_dir . '/' . md5($MESSAGE->headers->messageID . $part->mime_id . ':' . $RCMAIL->user->ID . ':' . $thumbnail_size); - $cache_file = $cache_basename . '.' . $ext; $mimetype = $part->mimetype; + $file_ident = $MESSAGE->headers->messageID . ':' . $part->mime_id . ':' . $part->size . ':' . $part->mimetype; + $cache_basename = $temp_dir . '/' . md5($file_ident . ':' . $RCMAIL->user->ID . ':' . $thumbnail_size); + $cache_file = $cache_basename . '.' . $ext; // render thumbnail image if not done yet if (!is_file($cache_file)) { @@ -118,7 +119,7 @@ else if (strlen($pid = get_input_value('_part', RCUBE_INPUT_GET))) { $file_extension = strtolower(pathinfo($part->filename, PATHINFO_EXTENSION)); // 1. compare filename suffix with expected suffix derived from mimetype - $valid = $file_extension && in_array($file_extension, (array)$extensions); + $valid = $file_extension && in_array($file_extension, (array)$extensions) || !empty($_REQUEST['_mimeclass']); // 2. detect the real mimetype of the attachment part and compare it with the stated mimetype and filename extension if ($valid || !$file_extension || $mimetype == 'application/octet-stream' || $mimetype == 'text/plain') { @@ -145,6 +146,10 @@ else if (strlen($pid = get_input_value('_part', RCUBE_INPUT_GET))) { $extensions = rcube_mime::get_mime_extensions($real_mimetype); $valid_extension = (!$file_extension || in_array($file_extension, (array)$extensions)); + // ignore filename extension if mimeclass matches (#1489029) + if (!empty($_REQUEST['_mimeclass']) && $real_ctype_primary == $_REQUEST['_mimeclass']) + $valid_extension = true; + // fix mimetype for images wrongly declared as octet-stream if ($mimetype == 'application/octet-stream' && strpos($real_mimetype, 'image/') === 0 && $valid_extension) $mimetype = $real_mimetype; @@ -157,22 +162,32 @@ else if (strlen($pid = get_input_value('_part', RCUBE_INPUT_GET))) { // show warning if validity checks failed if (!$valid) { - $OUTPUT = new rcmail_html_page(); - $OUTPUT->write(html::tag('html', null, html::tag('body', 'embed', - html::div(array('class' => 'rcmail-inline-message rcmail-inline-warning'), - rcube_label(array( - 'name' => 'attachmentvalidationerror', - 'vars' => array( - 'expected' => $mimetype . ($file_extension ? "(.$file_extension)" : ''), - 'detected' => $real_mimetype . ($extensions[0] ? "(.$extensions[0])" : ''), + // send blocked.gif for expected images + if (empty($_REQUEST['_mimewarning']) && strpos($mimetype, 'image/') === 0) { + // Do not cache. Failure might be the result of a misconfiguration, thus real content should be returned once fixed. + $OUTPUT->nocacheing_headers(); + header("Content-Type: image/gif"); + header("Content-Transfer-Encoding: binary"); + readfile(INSTALL_PATH . 'program/resources/blocked.gif'); + } + else { // html warning with a button to load the file anyway + $OUTPUT = new rcmail_html_page(); + $OUTPUT->write(html::tag('html', null, html::tag('body', 'embed', + html::div(array('class' => 'rcmail-inline-message rcmail-inline-warning'), + rcube_label(array( + 'name' => 'attachmentvalidationerror', + 'vars' => array( + 'expected' => $mimetype . ($file_extension ? "(.$file_extension)" : ''), + 'detected' => $real_mimetype . ($extensions[0] ? "(.$extensions[0])" : ''), + ) + )) . + html::p(array('class' => 'rcmail-inline-buttons'), + html::tag('button', + array('onclick' => "location.href='" . $RCMAIL->url(array_merge($_GET, array('_nocheck' => 1))) . "'"), + rcube_label('showanyway'))) ) - )) . - html::p(array('class' => 'rcmail-inline-buttons'), - html::tag('button', - array('onclick' => "location.href='" . $RCMAIL->url(array_merge($_GET, array('_nocheck' => 1))) . "'"), - rcube_label('showanyway'))) - ) - ))); + ))); + } exit; } } diff --git a/program/steps/settings/about.inc b/program/steps/settings/about.inc index 9b13402f1..0fdefddda 100644 --- a/program/steps/settings/about.inc +++ b/program/steps/settings/about.inc @@ -40,17 +40,28 @@ function rcmail_plugins_list($attrib) $attrib['id'] = 'rcmpluginlist'; $plugins = array_filter((array) $RCMAIL->config->get('plugins')); - $plugins = array_flip($plugins); + $plugin_info = array(); - foreach ($plugins as $name => $plugin) { - rcube_plugin_data($name, $plugins); + foreach ($plugins as $name) { + if ($info = $RCMAIL->plugins->get_info($name)) + $plugin_info[$name] = $info; } - if (empty($plugins)) { + // load info from required plugins, too + foreach ($plugin_info as $name => $info) { + if (is_array($info['required']) && !empty($info['required'])) { + foreach ($info['required'] as $req_name) { + if (!isset($plugin_info[$req_name]) && ($req_info = $RCMAIL->plugins->get_info($req_name))) + $plugin_info[$req_name] = $req_info; + } + } + } + + if (empty($plugin_info)) { return ''; } - ksort($plugins, SORT_LOCALE_STRING); + ksort($plugin_info, SORT_LOCALE_STRING); $table = new html_table($attrib); @@ -60,8 +71,8 @@ function rcmail_plugins_list($attrib) $table->add_header('license', rcube_label('license')); $table->add_header('source', rcube_label('source')); - foreach ($plugins as $name => $data) { - $uri = $data['srcuri'] ? $data['srcuri'] : $data['uri']; + foreach ($plugin_info as $name => $data) { + $uri = $data['src_uri'] ? $data['src_uri'] : $data['uri']; if ($uri && stripos($uri, 'http') !== 0) { $uri = 'http://' . $uri; } @@ -78,48 +89,6 @@ function rcmail_plugins_list($attrib) return $table->show(); } -function rcube_plugin_data($name, &$plugins = array()) -{ - // XPaths of plugin metadata elements - $metadata = array( - 'name' => 'string(//rc:package/rc:name)', - 'version' => 'string(//rc:package/rc:version/rc:release)', - 'license' => 'string(//rc:package/rc:license)', - 'license_uri' => 'string(//rc:package/rc:license/@uri)', - 'srcuri' => 'string(//rc:package/rc:srcuri)', - 'uri' => 'string(//rc:package/rc:uri)', - ); - - $package = INSTALL_PATH . "/plugins/$name/package.xml"; - if (file_exists($package) && ($file = file_get_contents($package))) { - $doc = new DOMDocument(); - $doc->loadXML($file); - $xpath = new DOMXPath($doc); - $xpath->registerNamespace('rc', "http://pear.php.net/dtd/package-2.0"); - $data = array(); - - foreach ($metadata as $key => $path) { - $data[$key] = $xpath->evaluate($path); - } - - $plugins[$name] = $data; - - // dependent required plugins (can be used, but not included in config) - $deps = $xpath->evaluate('//rc:package/rc:dependencies/rc:required/rc:package/rc:name'); - $cnt = $deps->length; - - for ($i=0; $i<$cnt; $i++) { - $dn = $deps->item($i)->nodeValue; - if (!array_key_exists($dn, $plugins)) { - rcube_plugin_data($dn, $plugins); - } - } - } - else { - unset($plugins[$name]); - } -} - $OUTPUT->set_pagetitle(rcube_label('about')); diff --git a/program/steps/settings/edit_folder.inc b/program/steps/settings/edit_folder.inc index cd2372790..fdb38e602 100644 --- a/program/steps/settings/edit_folder.inc +++ b/program/steps/settings/edit_folder.inc @@ -78,7 +78,7 @@ function rcmail_folder_form($attrib) // Location (name) if ($options['protected']) { - $foldername = Q(str_replace($delimiter, ' » ', rcmail_localize_folderpath($mbox_imap))); + $foldername = str_replace($delimiter, ' » ', Q(rcmail_localize_folderpath($mbox_imap))); } else if ($options['norename']) { $foldername = Q($folder); diff --git a/program/steps/settings/func.inc b/program/steps/settings/func.inc index 319c58db9..860f36c35 100644 --- a/program/steps/settings/func.inc +++ b/program/steps/settings/func.inc @@ -418,6 +418,17 @@ function rcmail_user_prefs($current=null) ); } + // show checkbox to show email instead of name + if (!isset($no_override['message_show_email'])) { + $field_id = 'rcmfd_message_show_email'; + $input_msgshowemail = new html_checkbox(array('name' => '_message_show_email', 'id' => $field_id, 'value' => 1)); + + $blocks['main']['options']['message_show_email'] = array( + 'title' => html::label($field_id, Q(rcube_label('showemail'))), + 'content' => $input_msgshowemail->show($config['message_show_email']?1:0), + ); + } + // show checkbox for HTML/plaintext messages if (!isset($no_override['prefer_html'])) { $field_id = 'rcmfd_htmlmsg'; diff --git a/program/steps/settings/save_prefs.inc b/program/steps/settings/save_prefs.inc index 140f173c6..3bb82aa38 100644 --- a/program/steps/settings/save_prefs.inc +++ b/program/steps/settings/save_prefs.inc @@ -60,6 +60,7 @@ switch ($CURR_SECTION) case 'mailview': $a_user_prefs = array( 'message_extwin' => intval($_POST['_message_extwin']), + 'message_show_email' => isset($_POST['_message_show_email']) ? TRUE : FALSE, 'prefer_html' => isset($_POST['_prefer_html']) ? TRUE : FALSE, 'inline_images' => isset($_POST['_inline_images']) ? TRUE : FALSE, 'show_images' => isset($_POST['_show_images']) ? intval($_POST['_show_images']) : 0, @@ -157,7 +158,7 @@ switch ($CURR_SECTION) $a_user_prefs['timezone'] = (string) $a_user_prefs['timezone']; if (isset($a_user_prefs['refresh_interval']) && !empty($CONFIG['min_refresh_interval'])) { - if ($a_user_prefs['refresh_interval'] > $CONFIG['min_refresh_interval']) { + if ($a_user_prefs['refresh_interval'] < $CONFIG['min_refresh_interval']) { $a_user_prefs['refresh_interval'] = $CONFIG['min_refresh_interval']; } } |