thomascube
2011-01-29 98cb0f179206843ceaa87df6bfb3d1da045ed8ad
Apply bug fixes and localization updated from trunk for release 0.5.1

57 files modified
1496 ■■■■ changed files
CHANGELOG 21 ●●●●● patch | view | raw | blame | history
INSTALL 2 ●●● patch | view | raw | blame | history
SQL/mysql.update.sql 2 ●●●●● patch | view | raw | blame | history
SQL/postgres.update.sql 1 ●●●● patch | view | raw | blame | history
SQL/sqlite.update.sql 2 ●●●●● patch | view | raw | blame | history
index.php 15 ●●●●● patch | view | raw | blame | history
installer/check.php 2 ●●● patch | view | raw | blame | history
program/include/iniset.php 2 ●●● patch | view | raw | blame | history
program/include/main.inc 9 ●●●●● patch | view | raw | blame | history
program/include/rcmail.php 4 ●●●● patch | view | raw | blame | history
program/include/rcube_html_page.php 86 ●●●●● patch | view | raw | blame | history
program/include/rcube_imap.php 95 ●●●●● patch | view | raw | blame | history
program/include/rcube_plugin_api.php 3 ●●●● patch | view | raw | blame | history
program/include/rcube_template.php 4 ●●●● patch | view | raw | blame | history
program/js/app.js 33 ●●●● patch | view | raw | blame | history
program/js/tiny_mce/themes/advanced/langs/sv_dlg.js 4 ●●●● patch | view | raw | blame | history
program/lib/Net/IDNA2.php 252 ●●●● patch | view | raw | blame | history
program/lib/Net/Socket.php 209 ●●●●● patch | view | raw | blame | history
program/localization/az_AZ/labels.inc 53 ●●●●● patch | view | raw | blame | history
program/localization/az_AZ/messages.inc 27 ●●●●● patch | view | raw | blame | history
program/localization/bg_BG/labels.inc 44 ●●●● patch | view | raw | blame | history
program/localization/bg_BG/messages.inc 13 ●●●●● patch | view | raw | blame | history
program/localization/da_DK/labels.inc 54 ●●●●● patch | view | raw | blame | history
program/localization/da_DK/messages.inc 28 ●●●●● patch | view | raw | blame | history
program/localization/de_DE/labels.inc 34 ●●●● patch | view | raw | blame | history
program/localization/de_DE/messages.inc 5 ●●●●● patch | view | raw | blame | history
program/localization/fr_FR/labels.inc 5 ●●●●● patch | view | raw | blame | history
program/localization/fr_FR/messages.inc 12 ●●●●● patch | view | raw | blame | history
program/localization/he_IL/labels.inc 31 ●●●●● patch | view | raw | blame | history
program/localization/he_IL/messages.inc 1 ●●●● patch | view | raw | blame | history
program/localization/hu_HU/labels.inc 2 ●●● patch | view | raw | blame | history
program/localization/it_IT/labels.inc 36 ●●●●● patch | view | raw | blame | history
program/localization/it_IT/messages.inc 5 ●●●● patch | view | raw | blame | history
program/localization/ja_JP/labels.inc 40 ●●●● patch | view | raw | blame | history
program/localization/ja_JP/messages.inc 3 ●●●● patch | view | raw | blame | history
program/localization/pt_PT/labels.inc 29 ●●●●● patch | view | raw | blame | history
program/localization/pt_PT/messages.inc 1 ●●●● patch | view | raw | blame | history
program/localization/ru_RU/labels.inc 31 ●●●●● patch | view | raw | blame | history
program/localization/ru_RU/messages.inc 1 ●●●● patch | view | raw | blame | history
program/localization/sk_SK/labels.inc 22 ●●●● patch | view | raw | blame | history
program/localization/sk_SK/messages.inc 27 ●●●●● patch | view | raw | blame | history
program/localization/sv_SE/labels.inc 34 ●●●●● patch | view | raw | blame | history
program/localization/sv_SE/messages.inc 1 ●●●● patch | view | raw | blame | history
program/localization/zh_TW/labels.inc 41 ●●●●● patch | view | raw | blame | history
program/localization/zh_TW/messages.inc 13 ●●●●● patch | view | raw | blame | history
program/steps/addressbook/save.inc 12 ●●●●● patch | view | raw | blame | history
program/steps/mail/func.inc 36 ●●●●● patch | view | raw | blame | history
program/steps/settings/folders.inc 17 ●●●● patch | view | raw | blame | history
program/steps/settings/func.inc 1 ●●●● patch | view | raw | blame | history
program/steps/settings/save_prefs.inc 2 ●●●●● patch | view | raw | blame | history
skins/default/common.css 2 ●●● patch | view | raw | blame | history
skins/default/ie6hacks.css 2 ●●● patch | view | raw | blame | history
skins/default/iehacks.css 5 ●●●●● patch | view | raw | blame | history
skins/default/mail.css 77 ●●●● patch | view | raw | blame | history
skins/default/templates/addressbook.html 1 ●●●● patch | view | raw | blame | history
skins/default/templates/message.html 1 ●●●● patch | view | raw | blame | history
skins/default/templates/messagepreview.html 1 ●●●● patch | view | raw | blame | history
CHANGELOG
@@ -1,6 +1,27 @@
CHANGELOG Roundcube Webmail
===========================
RELEASE 0.5.1
-------------
- Fix settings UI on IE 6 (#1487724)
- Remove double borders in folder listing (#1487713)
- Separate full message headers UI element from headers table (#1487715)
- Add part MIME ID to message_part_* hooks (#1487718)
- Updated PEAR::Net_Socket to 1.0.10
- Updated PEAR::Net_IDNA2 to 0.1.1
- Fix handling of comments inside an email address spec. (#1487673)
- Show full mail subject as title when hovering a cut subject link (#1487128)
- Fix randomly disappearing folders list in IE (#1487704)
- Fix list column add/removal in IE (#1487703)
- Fix login redirect issues (#1487686)
- Require PHP 5.2.1 or greater
- Fix %h/%z variables in username_domain option (#1487701)
- Workaround for setting charset in case of malformed bodystructure response (#1487700)
- Fix impossible to subscribe to protected folders (#1487656)
- Fix setting timezone in Preferences (#1487705)
RELEASE 0.5
-----------
- Fix double-login/session issue (#1487104)
- Wrap HTML parts with <html><body> and add Doctype declaration (#1487098)
- Make rcube_autoload silently skip unknown classes (#1487109)
INSTALL
@@ -11,7 +11,7 @@
* The Apache or Lighttpd Webserver
* .htaccess support allowing overrides for DirectoryIndex
* PHP Version 5.2 or greater including
* PHP Version 5.2.1 or greater including
   - PCRE, DOM, JSON, XML, Session, Sockets (required)
   - libiconv (recommended)
   - mbstring, fileinfo, mcrypt (optional)
SQL/mysql.update.sql
@@ -131,3 +131,5 @@
ALTER TABLE `contacts` MODIFY `email` varchar(255) NOT NULL;
TRUNCATE TABLE `messages`;
SQL/postgres.update.sql
@@ -88,3 +88,4 @@
ALTER TABLE users ADD UNIQUE (username, mail_host);
ALTER TABLE contacts ALTER email TYPE varchar(255);
TRUNCATE messages;
SQL/sqlite.update.sql
@@ -180,3 +180,5 @@
CREATE INDEX ix_contacts_user_id ON contacts(user_id, email);
DROP TABLE contacts_tmp;
DELETE FROM messages;
index.php
@@ -2,9 +2,9 @@
/*
 +-------------------------------------------------------------------------+
 | Roundcube Webmail IMAP Client                                           |
 | Version 0.5                                                             |
 | Version 0.5.1                                                           |
 |                                                                         |
 | Copyright (C) 2005-2010, Roundcube Dev. - Switzerland                   |
 | Copyright (C) 2005-2011, Roundcube Dev. - Switzerland                   |
 |                                                                         |
 | This program is free software; you can redistribute it and/or modify    |
 | it under the terms of the GNU General Public License version 2          |
@@ -104,12 +104,17 @@
    rcmail_log_login();
    // restore original request parameters
    $query = array('_task' => 'mail');
    if ($url = get_input_value('_url', RCUBE_INPUT_POST))
    $query = array();
    if ($url = get_input_value('_url', RCUBE_INPUT_POST)) {
      parse_str($url, $query);
      // prevent endless looping on login page
      if ($query['_task'] == 'login')
        unset($query['_task']);
    }
    // allow plugins to control the redirect url after login success
    $redir = $RCMAIL->plugins->exec_hook('login_after', $query);
    $redir = $RCMAIL->plugins->exec_hook('login_after', $query + array('_task' => 'mail'));
    unset($redir['abort']);
    // send redirect
installer/check.php
@@ -68,7 +68,7 @@
<h3>Checking PHP version</h3>
<?php
define('MIN_PHP_VERSION', '5.2.0');
define('MIN_PHP_VERSION', '5.2.1');
if (version_compare(PHP_VERSION, MIN_PHP_VERSION, '>=')) {
    $RCI->pass('Version', 'PHP ' . PHP_VERSION . ' detected');
} else {
program/include/iniset.php
@@ -36,7 +36,7 @@
}
// application constants
define('RCMAIL_VERSION', '0.5');
define('RCMAIL_VERSION', '0.5.1');
define('RCMAIL_CHARSET', 'UTF-8');
define('JS_OBJECT_NAME', 'rcmail');
define('RCMAIL_START', microtime(true));
program/include/main.inc
@@ -861,8 +861,8 @@
  $replacements = new rcube_string_replacer;
  // ignore the whole block if evil styles are detected
  $stripped = preg_replace('/[^a-z\(:]/', '', rcmail_xss_entity_decode($source));
  if (preg_match('/expression|behavior|url\(|import/', $stripped))
  $stripped = preg_replace('/[^a-z\(:;]/', '', rcmail_xss_entity_decode($source));
  if (preg_match('/expression|behavior|url\(|import[^a]/', $stripped))
    return '/* evil! */';
  // remove css comments (sometimes used for some ugly hacks)
@@ -1771,16 +1771,17 @@
 * Replaces hostname variables
 *
 * @param string $name Hostname
 * @param string $host Optional IMAP hostname
 * @return string
 */
function rcube_parse_host($name)
function rcube_parse_host($name, $host='')
{
  // %n - host
  $n = preg_replace('/:\d+$/', '', $_SERVER['SERVER_NAME']);
  // %d - domain name without first part, e.g. %d=mail.domain.tld, %m=domain.tld
  $d = preg_replace('/^[^\.]+\./', '', $n);
  // %h - IMAP host
  $h = $_SESSION['imap_host'];
  $h = $_SESSION['imap_host'] ? $_SESSION['imap_host'] : $host;
  // %z - IMAP domain without first part, e.g. %h=imap.domain.tld, %z=domain.tld
  $z = preg_replace('/^[^\.]+\./', '', $h);
program/include/rcmail.php
@@ -673,9 +673,9 @@
    // Check if we need to add domain
    if (!empty($config['username_domain']) && strpos($username, '@') === false) {
      if (is_array($config['username_domain']) && isset($config['username_domain'][$host]))
        $username .= '@'.rcube_parse_host($config['username_domain'][$host]);
        $username .= '@'.rcube_parse_host($config['username_domain'][$host], $host);
      else if (is_string($config['username_domain']))
        $username .= '@'.rcube_parse_host($config['username_domain']);
        $username .= '@'.rcube_parse_host($config['username_domain'], $host);
    }
    // Convert username to lowercase. If IMAP backend
program/include/rcube_html_page.php
@@ -28,11 +28,13 @@
{
    protected $scripts_path = '';
    protected $script_files = array();
    protected $css_files = array();
    protected $scripts = array();
    protected $charset = RCMAIL_CHARSET;
    protected $script_tag_file = "<script type=\"text/javascript\" src=\"%s\"></script>\n";
    protected $script_tag  =  "<script type=\"text/javascript\">\n/* <![CDATA[ */\n%s\n/* ]]> */\n</script>";
    protected $link_css_file = "<link rel=\"stylesheet\" type=\"text/css\" href=\"%s\" />\n";
    protected $default_template = "<html>\n<head><title></title></head>\n<body></body>\n</html>";
    protected $title = '';
@@ -61,6 +63,9 @@
        if (in_array($file, $sa_files)) {
            return;
        }
        $sa_files[] = $file;
        if (!is_array($this->script_files[$position])) {
            $this->script_files[$position] = array();
        }
@@ -80,6 +85,16 @@
        } else {
            $this->scripts[$position] .= "\n".rtrim($script);
        }
    }
    /**
     * Link an external css file
     *
     * @param string File URL
     */
    public function include_css($file)
    {
        $this->css_files[] = $file;
    }
    /**
@@ -163,52 +178,53 @@
        }
        // replace specialchars in content
        $__page_title = Q($this->title, 'show', FALSE);
        $__page_header = $__page_body = $__page_footer = '';
        $page_title  = Q($this->title, 'show', FALSE);
        $page_header = '';
        $page_footer = '';
        // include meta tag with charset
        if (!empty($this->charset)) {
            if (!headers_sent()) {
                header('Content-Type: text/html; charset=' . $this->charset);
            }
            $__page_header = '<meta http-equiv="content-type"';
            $__page_header.= ' content="text/html; charset=';
            $__page_header.= $this->charset . '" />'."\n";
            $page_header = '<meta http-equiv="content-type"';
            $page_header.= ' content="text/html; charset=';
            $page_header.= $this->charset . '" />'."\n";
        }
        // definition of the code to be placed in the document header and footer
        if (is_array($this->script_files['head'])) {
            foreach ($this->script_files['head'] as $file) {
                $__page_header .= sprintf($this->script_tag_file, $file);
                $page_header .= sprintf($this->script_tag_file, $file);
            }
        }
        $head_script = $this->scripts['head_top'] . $this->scripts['head'];
        if (!empty($head_script)) {
            $__page_header .= sprintf($this->script_tag, $head_script);
            $page_header .= sprintf($this->script_tag, $head_script);
        }
        if (!empty($this->header)) {
            $__page_header .= $this->header;
            $page_header .= $this->header;
        }
        if (is_array($this->script_files['foot'])) {
            foreach ($this->script_files['foot'] as $file) {
                $__page_footer .= sprintf($this->script_tag_file, $file);
                $page_footer .= sprintf($this->script_tag_file, $file);
            }
        }
        if (!empty($this->scripts['foot'])) {
            $__page_footer .= sprintf($this->script_tag, $this->scripts['foot']);
            $page_footer .= sprintf($this->script_tag, $this->scripts['foot']);
        }
        if (!empty($this->footer)) {
            $__page_footer .= $this->footer;
            $page_footer .= $this->footer;
        }
        // find page header
        if ($hpos = stripos($output, '</head>')) {
            $__page_header .= "\n";
            $page_header .= "\n";
        }
        else {
            if (!is_numeric($hpos)) {
@@ -220,49 +236,43 @@
                }
                $hpos++;
            }
            $__page_header = "<head>\n<title>$__page_title</title>\n$__page_header\n</head>\n";
            $page_header = "<head>\n<title>$page_title</title>\n$page_header\n</head>\n";
        }
        // add page hader
        if ($hpos) {
            $output = substr($output,0,$hpos) . $__page_header . substr($output,$hpos,strlen($output));
            $output = substr($output,0,$hpos) . $page_header . substr($output,$hpos,strlen($output));
        }
        else {
            $output = $__page_header . $output;
            $output = $page_header . $output;
        }
        // find page body
        if ($bpos = stripos($output, '<body')) {
            while ($output[$bpos] != '>') {
                $bpos++;
            }
            $bpos++;
        }
        else {
            $bpos = stripos($output, '</head>')+7;
        }
        // add page body
        if ($bpos && $__page_body) {
            $output = substr($output,0,$bpos) . "\n$__page_body\n" . substr($output,$bpos,strlen($output));
        }
        // find and add page footer
        // add page footer
        if (($fpos = strripos($output, '</body>')) || ($fpos = strripos($output, '</html>'))) {
            $output = substr($output, 0, $fpos) . "$__page_footer\n" . substr($output, $fpos);
            $output = substr($output, 0, $fpos) . "$page_footer\n" . substr($output, $fpos);
        }
        else {
            $output .= "\n".$__page_footer;
            $output .= "\n".$page_footer;
        }
        // reset those global vars
        $__page_header = $__page_footer = '';
        // add css files in head, before scripts, for speed up with parallel downloads
        if (!empty($this->css_files) &&
            (($pos = stripos($output, '<script ')) || ($pos = stripos($output, '</head>')))
        ) {
            $css = '';
            foreach ($this->css_files as $file) {
                $css .= sprintf($this->link_css_file, $file);
            }
            $output = substr($output, 0, $pos) . $css . substr($output, $pos);
        }
        $this->base_path = $base_path;
        // correct absolute paths in images and other tags
        // add timestamp to .js and .css filename
        $output = preg_replace_callback('!(src|href|background)=(["\']?)([a-z0-9/_.-]+)(["\'\s>])!i',
        array($this, 'file_callback'), $output);
        $output = preg_replace_callback(
            '!(src|href|background)=(["\']?)([a-z0-9/_.-]+)(["\'\s>])!i',
            array($this, 'file_callback'), $output);
        $output = str_replace('$__skin_path', $base_path, $output);
        if ($this->charset != RCMAIL_CHARSET)
program/include/rcube_imap.php
@@ -2053,7 +2053,7 @@
                return false;
        }
        $struct = &$this->_structure_part($structure);
        $struct = &$this->_structure_part($structure, 0, '', $headers);
        $struct->headers = get_object_vars($headers);
        // don't trust given content-type
@@ -2185,6 +2185,11 @@
                $struct->charset = $struct->ctype_parameters['charset'];
        }
        // #1487700: workaround for lack of charset in malformed structure
        if (empty($struct->charset) && !empty($mime_headers) && $mime_headers->charset) {
            $struct->charset = $mime_headers->charset;
        }
        // read content encoding
        if (!empty($part[5]) && $part[5]!='NIL') {
            $struct->encoding = strtolower($part[5]);
@@ -2233,7 +2238,11 @@
                $mime_headers = $this->conn->fetchPartHeader(
                    $this->mailbox, $this->_msg_id, false, $struct->mime_id);
            }
            $struct->headers = $this->_parse_headers($mime_headers) + $struct->headers;
            if (is_string($mime_headers))
                $struct->headers = $this->_parse_headers($mime_headers) + $struct->headers;
            else if (is_object($mime_headers))
                $struct->headers = get_object_vars($mime_headers) + $struct->headers;
            // get real content-type of message/rfc822
            if ($struct->mimetype == 'message/rfc822') {
@@ -4691,10 +4700,13 @@
    private function _parse_address_list($str, $decode=true)
    {
        // remove any newlines and carriage returns before
        $a = rcube_explode_quoted_string('[,;]', preg_replace( "/[\r\n]/", " ", $str));
        $str = preg_replace('/\r?\n(\s|\t)?/', ' ', $str);
        // extract list items, remove comments
        $str = self::explode_header_string(',;', $str, true);
        $result = array();
        foreach ($a as $key => $val) {
        foreach ($str as $key => $val) {
            $name    = '';
            $address = '';
            $val     = trim($val);
@@ -4736,6 +4748,81 @@
    /**
     * Explodes header (e.g. address-list) string into array of strings
     * using specified separator characters with proper handling
     * of quoted-strings and comments (RFC2822)
     *
     * @param string $separator       String containing separator characters
     * @param string $str             Header string
     * @param bool   $remove_comments Enable to remove comments
     *
     * @return array Header items
     */
    static function explode_header_string($separator, $str, $remove_comments=false)
    {
        $length  = strlen($str);
        $result  = array();
        $quoted  = false;
        $comment = 0;
        $out     = '';
        for ($i=0; $i<$length; $i++) {
            // we're inside a quoted string
            if ($quoted) {
                if ($str[$i] == '"') {
                    $quoted = false;
                }
                else if ($str[$i] == '\\') {
                    if ($comment <= 0) {
                        $out .= '\\';
                    }
                    $i++;
                }
            }
            // we're inside a comment string
            else if ($comment > 0) {
                    if ($str[$i] == ')') {
                        $comment--;
                    }
                    else if ($str[$i] == '(') {
                        $comment++;
                    }
                    else if ($str[$i] == '\\') {
                        $i++;
                    }
                    continue;
            }
            // separator, add to result array
            else if (strpos($separator, $str[$i]) !== false) {
                    if ($out) {
                        $result[] = $out;
                    }
                    $out = '';
                    continue;
            }
            // start of quoted string
            else if ($str[$i] == '"') {
                    $quoted = true;
            }
            // start of comment
            else if ($remove_comments && $str[$i] == '(') {
                    $comment++;
            }
            if ($comment <= 0) {
                $out .= $str[$i];
            }
        }
        if ($out && $comment <= 0) {
            $result[] = $out;
        }
        return $result;
    }
    /**
     * This is our own debug handler for the IMAP connection
     * @access public
     */
program/include/rcube_plugin_api.php
@@ -395,7 +395,7 @@
  {
    if ($this->output->type == 'html') {
      $src = $this->resource_url($fn);
      $this->output->add_header(html::tag('link', array('rel' => "stylesheet", 'type' => "text/css", 'href' => $src)));
      $this->output->include_css($src);
    }
  }
  
@@ -437,4 +437,3 @@
  }
}
program/include/rcube_template.php
@@ -1229,8 +1229,8 @@
            'UTF-8'        => 'UTF-8 ('.rcube_label('unicode').')',
            'US-ASCII'     => 'ASCII ('.rcube_label('english').')',
            'ISO-8859-1'   => 'ISO-8859-1 ('.rcube_label('westerneuropean').')',
            'ISO-8859-2'   => 'ISO-8895-2 ('.rcube_label('easterneuropean').')',
            'ISO-8859-4'   => 'ISO-8895-4 ('.rcube_label('baltic').')',
            'ISO-8859-2'   => 'ISO-8859-2 ('.rcube_label('easterneuropean').')',
            'ISO-8859-4'   => 'ISO-8859-4 ('.rcube_label('baltic').')',
            'ISO-8859-5'   => 'ISO-8859-5 ('.rcube_label('cyrillic').')',
            'ISO-8859-6'   => 'ISO-8859-6 ('.rcube_label('arabic').')',
            'ISO-8859-7'   => 'ISO-8859-7 ('.rcube_label('greek').')',
program/js/app.js
@@ -1006,15 +1006,9 @@
      // user settings commands
      case 'preferences':
        this.goto_url('');
        break;
      case 'identities':
        this.goto_url('settings/identities');
        break;
      case 'folders':
        this.goto_url('settings/folders');
        this.goto_url('settings/' + command);
        break;
      // unified command call (command name == function name)
@@ -1701,7 +1695,7 @@
      var action = flags.mbox == this.env.drafts_mailbox ? 'compose' : 'show';
      var uid_param = flags.mbox == this.env.drafts_mailbox ? '_draft_uid' : '_uid';
      cols.subject = '<a href="./?_task=mail&_action='+action+'&_mbox='+urlencode(flags.mbox)+'&'+uid_param+'='+uid+'"'+
        ' onclick="return rcube_event.cancel(event)">'+cols.subject+'</a>';
        ' onclick="return rcube_event.cancel(event)" onmouseover="rcube_webmail.long_subject_title(this,'+(message.depth+1)+')">'+cols.subject+'</a>';
    }
    // add each submitted col
@@ -3777,6 +3771,9 @@
        this.show_contentframe(false);
    }
    if (this.env.group)
      qs += '&_gid='+urlencode(this.env.group);
    // also send search request to get the right records from the next page
    if (this.env.search_request) 
      qs += '&_search='+this.env.search_request;
@@ -4309,6 +4306,14 @@
    }
  };
  // disables subscription checkbox (for protected folder)
  this.disable_subscription = function(folder)
  {
    var id = this.get_folder_row_id(folder);
    if (id)
      $('input[name="_subscribed[]"]', $('#'+id)).attr('disabled', true);
  };
  this.folder_size = function(folder)
  {
    var lock = this.set_busy(true, 'loading');
@@ -4666,6 +4671,7 @@
        }
        th.appendChild(tr);
        thead.parentNode.replaceChild(th, thead);
        thead = th;
      }
      for (n=0, len=this.env.coltypes.length; n<len; n++) {
@@ -5288,6 +5294,17 @@
}  // end object rcube_webmail
// some static methods
rcube_webmail.long_subject_title = function(elem, indent)
{
  if (!elem.title) {
    var $elem = $(elem);
    if ($elem.width() + indent * 15 > $elem.parent().width())
      elem.title = $elem.html();
  }
};
// copy event engine prototype
rcube_webmail.prototype.addEventListener = rcube_event_engine.prototype.addEventListener;
rcube_webmail.prototype.removeEventListener = rcube_event_engine.prototype.removeEventListener;
program/js/tiny_mce/themes/advanced/langs/sv_dlg.js
@@ -42,8 +42,8 @@
link_title:"Infoga/redigera l\u00E4nk",
link_url:"L\u00E4nkens URL",
link_target:"M\u00E5l",
link_target_same:"\u00D6\u0096ppna l\u00E4nken i samma f\u00F6nster",
link_target_blank:"\u00D6\u0096ppna l\u00E4nken i ett nytt f\u00F6nster",
link_target_same:"\u00D6ppna l\u00E4nken i samma f\u00F6nster",
link_target_blank:"\u00D6ppna l\u00E4nken i ett nytt f\u00F6nster",
link_titlefield:"Titel",
link_is_email:"L\u00E4nken du angav verkar vara en e-post adress. Vill du infoga mailto: prefixet p\u00E5 l\u00E4nken?",
link_is_external:"L\u00E4nken du angav verkar vara en extern adress. Vill du infoga http:// prefixet p\u00E5 l\u00E4nken?",
program/lib/Net/IDNA2.php
@@ -49,11 +49,11 @@
 *
 * ACE input and output is always expected to be ASCII.
 *
 * @package Net
 * @author  Markus Nix <mnix@docuverse.de>
 * @author  Matthias Sommerfeld <mso@phlylabs.de>
 * @author  Stefan Neufeind <pear.neufeind@speedpartner.de>
 * @package Net
 * @version $Id: IDNA2.php 301175 2010-07-12 03:31:17Z clockwerx $
 * @version $Id: IDNA2.php 305344 2010-11-14 23:52:42Z neufeind $
 */
class Net_IDNA2
{
@@ -1124,8 +1124,8 @@
        0x33BE  => array(0x6B, 0x77),
        0x33BF  => array(0x6D, 0x77),
        0x33C0  => array(0x6B, 0x3C9),
        0x33C1  => array(0x6D, 0x3C9), /*
        0x33C2  => array(0x61, 0x2E, 0x6D, 0x2E), */
        0x33C1  => array(0x6D, 0x3C9),
        /* 0x33C2  => array(0x61, 0x2E, 0x6D, 0x2E), */
        0x33C3  => array(0x62, 0x71),
        0x33C6  => array(0x63, 0x2215, 0x6B, 0x67),
        0x33C7  => array(0x63, 0x6F, 0x2E),
@@ -2194,6 +2194,20 @@
    private $_strict_mode = false;
    /**
     * IDNA-version to use
     *
     * Values are "2003" and "2008".
     * Defaults to "2003", since that was the original version and for
     * compatibility with previous versions of this library.
     * If you need to encode "new" characters like the German "Eszett",
     * please switch to 2008 first before encoding.
     *
     * @var bool
     * @access private
     */
    private $_version = '2003';
    /**
     * Cached value indicating whether or not mbstring function overloading is
     * on for strlen
     *
@@ -2210,7 +2224,8 @@
    /**
     * Constructor
     *
     * @param  array  $options
     * @param array $options Options to initialise the object with
     *
     * @access public
     * @see    setParams()
     */
@@ -2243,10 +2258,11 @@
     *             on failures; false: loose mode, ideal for "wildlife" applications
     *             by silently ignoring errors and returning the original input instead]
     *
     * @param    mixed     $option      Parameter to set (string: single parameter; array of Parameter => Value pairs)
     * @param    string    $value       Value to use (if parameter 1 is a string)
     * @return   boolean                true on success, false otherwise
     * @access   public
     * @param mixed  $option Parameter to set (string: single parameter; array of Parameter => Value pairs)
     * @param string $value  Value to use (if parameter 1 is a string)
     *
     * @return boolean       true on success, false otherwise
     * @access public
     */
    public function setParams($option, $value = false)
    {
@@ -2278,6 +2294,14 @@
                $this->_strict_mode = ($v) ? true : false;
                break;
            case 'version':
                if (in_array($v, array('2003', '2008'))) {
                    $this->_version = $v;
                } else {
                    throw new InvalidArgumentException('Set Parameter: Invalid parameter '.$v.' for option '.$k);
                }
                break;
            default:
                return false;
            }
@@ -2289,12 +2313,14 @@
    /**
     * Encode a given UTF-8 domain name.
     *
     * @param    string     $decoded     Domain name (UTF-8 or UCS-4)
     * [@param    string     $encoding    Desired input encoding, see {@link set_parameter}]
     * @return   string                  Encoded Domain name (ACE string)
     * @return   mixed                   processed string
     * @throws   Exception
     * @access   public
     * @param string $decoded           Domain name (UTF-8 or UCS-4)
     * @param string $one_time_encoding Desired input encoding, see {@link set_parameter}
     *                                  If not given will use default-encoding
     *
     * @return string Encoded Domain name (ACE string)
     * @return mixed  processed string
     * @throws Exception
     * @access public
     */
    public function encode($decoded, $one_time_encoding = false)
    {
@@ -2305,9 +2331,9 @@
            $decoded = $this->_utf8_to_ucs4($decoded);
            break;
        case 'ucs4_string':
           $decoded = $this->_ucs4_string_to_ucs4($decoded);
            $decoded = $this->_ucs4_string_to_ucs4($decoded);
        case 'ucs4_array': // No break; before this line. Catch case, but do nothing
           break;
            break;
        default:
            throw new InvalidArgumentException('Unsupported input format');
        }
@@ -2338,7 +2364,7 @@
            case 0x40:
                // Neither email addresses nor URLs allowed in strict mode
                if ($this->_strict_mode) {
                   throw new InvalidArgumentException('Neither email addresses nor URLs are allowed in strict mode.');
                    throw new InvalidArgumentException('Neither email addresses nor URLs are allowed in strict mode.');
                }
                // Skip first char
                if ($k) {
@@ -2377,11 +2403,12 @@
    /**
     * Decode a given ACE domain name.
     *
     * @param    string     $encoded     Domain name (ACE string)
     * @param    string     $encoding    Desired output encoding, see {@link set_parameter}
     * @return   string                  Decoded Domain name (UTF-8 or UCS-4)
     * @throws   Exception
     * @access   public
     * @param string $input             Domain name (ACE string)
     * @param string $one_time_encoding Desired output encoding, see {@link set_parameter}
     *
     * @return string                   Decoded Domain name (UTF-8 or UCS-4)
     * @throws Exception
     * @access public
     */
    public function decode($input, $one_time_encoding = false)
    {
@@ -2430,7 +2457,7 @@
                if (isset($parsed['scheme'])) {
                    $parsed['scheme'] .= (strtolower($parsed['scheme']) == 'mailto') ? ':' : '://';
                }
                $return = join('', $parsed);
                $return = $this->_unparse_url($parsed);
            } else { // parse_url seems to have failed, try without it
                $arr = explode('.', $input);
                foreach ($arr as $k => $v) {
@@ -2449,8 +2476,8 @@
            return $return;
            break;
        case 'ucs4_string':
           return $this->_ucs4_to_ucs4_string($this->_utf8_to_ucs4($return));
           break;
            return $this->_ucs4_to_ucs4_string($this->_utf8_to_ucs4($return));
            break;
        case 'ucs4_array':
            return $this->_utf8_to_ucs4($return);
            break;
@@ -2462,11 +2489,49 @@
    // {{{ private
    /**
     * Opposite function to parse_url()
     *
     * Inspired by code from comments of php.net-documentation for parse_url()
     *
     * @param array $parts_arr parts (strings) as returned by parse_url()
     *
     * @return string
     * @access private
     */
    private function _unparse_url($parts_arr)
    {
        if (!empty($parts_arr['scheme'])) {
            $ret_url = $parts_arr['scheme'];
        }
        if (!empty($parts_arr['user'])) {
            $ret_url .= $parts_arr['user'];
            if (!empty($parts_arr['pass'])) {
                $ret_url .= ':' . $parts_arr['pass'];
            }
            $ret_url .= '@';
        }
        $ret_url .= $parts_arr['host'];
        if (!empty($parts_arr['port'])) {
            $ret_url .= ':' . $parts_arr['port'];
        }
        $ret_url .= $parts_arr['path'];
        if (!empty($parts_arr['query'])) {
            $ret_url .= '?' . $parts_arr['query'];
        }
        if (!empty($parts_arr['fragment'])) {
            $ret_url .= '#' . $parts_arr['fragment'];
        }
        return $ret_url;
    }
    /**
     * The actual encoding algorithm.
     *
     * @return   string
     * @throws   Exception
     * @access   private
     * @param string $decoded Decoded string which should be encoded
     *
     * @return string         Encoded string
     * @throws Exception
     * @access private
     */
    private function _encode($decoded)
    {
@@ -2517,9 +2582,10 @@
            $test = $decoded[$i];
            // Will match [0-9a-zA-Z-]
            if ((0x2F < $test && $test < 0x40)
                    || (0x40 < $test && $test < 0x5B)
                    || (0x60 < $test && $test <= 0x7B)
                    || (0x2D == $test)) {
                || (0x40 < $test && $test < 0x5B)
                || (0x60 < $test && $test <= 0x7B)
                || (0x2D == $test)
            ) {
                $encoded .= chr($decoded[$i]);
                $codecount++;
            }
@@ -2592,9 +2658,11 @@
    /**
     * The actual decoding algorithm.
     *
     * @return   string
     * @throws   Exception
     * @access   private
     * @param string $encoded Encoded string which should be decoded
     *
     * @return string         Decoded string
     * @throws Exception
     * @access private
     */
    private function _decode($encoded)
    {
@@ -2667,7 +2735,12 @@
    /**
     * Adapt the bias according to the current code point and position.
     *
     * @access   private
     * @param int     $delta    ...
     * @param int     $npoints  ...
     * @param boolean $is_first ...
     *
     * @return int
     * @access private
     */
    private function _adapt($delta, $npoints, $is_first)
    {
@@ -2684,7 +2757,10 @@
    /**
     * Encoding a certain digit.
     *
     * @access   private
     * @param int $d One digit to encode
     *
     * @return char  Encoded digit
     * @access private
     */
    private function _encodeDigit($d)
    {
@@ -2694,7 +2770,10 @@
    /**
     * Decode a certain digit.
     *
     * @access   private
     * @param char $cp One digit (character) to decode
     *
     * @return int     Decoded digit
     * @access private
     */
    private function _decodeDigit($cp)
    {
@@ -2705,10 +2784,11 @@
    /**
     * Do Nameprep according to RFC3491 and RFC3454.
     *
     * @param    array      $input       Unicode Characters
     * @return   string                  Unicode Characters, Nameprep'd
     * @throws   Exception
     * @access   private
     * @param array $input Unicode Characters
     *
     * @return string      Unicode Characters, Nameprep'd
     * @throws Exception
     * @access private
     */
    private function _nameprep($input)
    {
@@ -2740,7 +2820,9 @@
                foreach ($this->_hangulDecompose($v) as $out) {
                    $output[] = $out;
                }
            } else if (isset(self::$_np_replacemaps[$v])) { // There's a decomposition mapping for that code point
            } else if (($this->_version == '2003') && isset(self::$_np_replacemaps[$v])) {
                // There's a decomposition mapping for that code point
                // Decompositions only in version 2003 (original) of IDNA
                foreach ($this->_applyCannonicalOrdering(self::$_np_replacemaps[$v]) as $out) {
                    $output[] = $out;
                }
@@ -2800,10 +2882,11 @@
     * Decomposes a Hangul syllable
     * (see http://www.unicode.org/unicode/reports/tr15/#Hangul).
     *
     * @param    integer    $char        32bit UCS4 code point
     * @return   array                   Either Hangul Syllable decomposed or original 32bit
     *                                   value as one value array
     * @access   private
     * @param integer $char 32bit UCS4 code point
     *
     * @return array        Either Hangul Syllable decomposed or original 32bit
     *                      value as one value array
     * @access private
     */
    private function _hangulDecompose($char)
    {
@@ -2829,9 +2912,10 @@
     * Ccomposes a Hangul syllable
     * (see http://www.unicode.org/unicode/reports/tr15/#Hangul).
     *
     * @param    array      $input       Decomposed UCS4 sequence
     * @return   array                   UCS4 sequence with syllables composed
     * @access   private
     * @param array $input Decomposed UCS4 sequence
     *
     * @return array       UCS4 sequence with syllables composed
     * @access private
     */
    private function _hangulCompose($input)
    {
@@ -2893,9 +2977,10 @@
    /**
     * Returns the combining class of a certain wide char.
     *
     * @param    integer    $char        Wide char to check (32bit integer)
     * @return   integer                 Combining class if found, else 0
     * @access   private
     * @param integer $char Wide char to check (32bit integer)
     *
     * @return integer      Combining class if found, else 0
     * @access private
     */
    private function _getCombiningClass($char)
    {
@@ -2905,9 +2990,10 @@
    /**
     * Apllies the cannonical ordering of a decomposed UCS4 sequence.
     *
     * @param    array      $input       Decomposed UCS4 sequence
     * @return   array                   Ordered USC4 sequence
     * @access   private
     * @param array $input Decomposed UCS4 sequence
     *
     * @return array       Ordered USC4 sequence
     * @access private
     */
    private function _applyCannonicalOrdering($input)
    {
@@ -2948,9 +3034,10 @@
    /**
     * Do composition of a sequence of starter and non-starter.
     *
     * @param    array      $input       UCS4 Decomposed sequence
     * @return   array                   Ordered USC4 sequence
     * @access   private
     * @param array $input UCS4 Decomposed sequence
     *
     * @return array       Ordered USC4 sequence
     * @access private
     */
    private function _combine($input)
    {
@@ -3011,7 +3098,11 @@
     *
     * Each x represents a bit that can be used to store character data.
     *
     * @access   private
     * @param string $input utf8-encoded string
     *
     * @return array        ucs4-encoded array
     * @throws Exception
     * @access private
     */
    private function _utf8_to_ucs4($input)
    {
@@ -3082,10 +3173,13 @@
    }
    /**
     * Convert UCS-4 array into UTF-8 string.
     * Convert UCS-4 array into UTF-8 string
     *
     * @throws   Exception
     * @access   private
     * @param array $input ucs4-encoded array
     *
     * @return string      utf8-encoded string
     * @throws Exception
     * @access private
     */
    private function _ucs4_to_utf8($input)
    {
@@ -3138,8 +3232,11 @@
    /**
     * Convert UCS-4 array into UCS-4 string
     *
     * @throws   Exception
     * @access   private
     * @param array $input ucs4-encoded array
     *
     * @return string      ucs4-encoded string
     * @throws Exception
     * @access private
     */
    private function _ucs4_to_ucs4_string($input)
    {
@@ -3153,10 +3250,13 @@
    }
    /**
     * Convert UCS-4 strin into UCS-4 garray
     * Convert UCS-4 string into UCS-4 array
     *
     * @throws   InvalidArgumentException
     * @access   private
     * @param string $input ucs4-encoded string
     *
     * @return array        ucs4-encoded array
     * @throws InvalidArgumentException
     * @access private
     */
    private function _ucs4_string_to_ucs4($input)
    {
@@ -3187,11 +3287,12 @@
    /**
     * Echo hex representation of UCS4 sequence.
     *
     * @param    array      $input       UCS4 sequence
     * @param    boolean    $include_bit Include bitmask in output
     * @return   void
     * @param array   $input       UCS4 sequence
     * @param boolean $include_bit Include bitmask in output
     *
     * @return void
     * @static
     * @access   private
     * @access private
     */
    private static function _showHex($input, $include_bit = false)
    {
@@ -3210,8 +3311,11 @@
     * Gives you a bit representation of given Byte (8 bits), Word (16 bits) or DWord (32 bits)
     * Output width is automagically determined
     *
     * @param int $octet ...
     *
     * @return string    Bitmask-representation
     * @static
     * @access   private
     * @access private
     */
    private static function _showBitmask($octet)
    {
@@ -3226,7 +3330,7 @@
        $return = '';
        for ($i = $w; $i > -1; $i--) {
            $return .= ($octet & (1 << $i))? 1 : '0';
            $return .= ($octet & (1 << $i))? '1' : '0';
        }
        return $return;
program/lib/Net/Socket.php
@@ -1,39 +1,51 @@
<?php
//
// +----------------------------------------------------------------------+
// | PHP Version 4                                                        |
// +----------------------------------------------------------------------+
// | Copyright (c) 1997-2003 The PHP Group                                |
// +----------------------------------------------------------------------+
// | This source file is subject to version 2.0 of the PHP license,       |
// | that is bundled with this package in the file LICENSE, and is        |
// | available at through the world-wide-web at                           |
// | http://www.php.net/license/2_02.txt.                                 |
// | If you did not receive a copy of the PHP license and are unable to   |
// | obtain it through the world-wide-web, please send a note to          |
// | license@php.net so we can mail you a copy immediately.               |
// +----------------------------------------------------------------------+
// | Authors: Stig Bakken <ssb@php.net>                                   |
// |          Chuck Hagenbuch <chuck@horde.org>                           |
// +----------------------------------------------------------------------+
//
// $Id$
/**
 * Net_Socket
 *
 * PHP Version 4
 *
 * Copyright (c) 1997-2003 The PHP Group
 *
 * This source file is subject to version 2.0 of the PHP license,
 * that is bundled with this package in the file LICENSE, and is
 * available at through the world-wide-web at
 * http://www.php.net/license/2_02.txt.
 * If you did not receive a copy of the PHP license and are unable to
 * obtain it through the world-wide-web, please send a note to
 * license@php.net so we can mail you a copy immediately.
 *
 * Authors: Stig Bakken <ssb@php.net>
 *          Chuck Hagenbuch <chuck@horde.org>
 *
 * @category  Net
 * @package   Net_Socket
 * @author    Stig Bakken <ssb@php.net>
 * @author    Chuck Hagenbuch <chuck@horde.org>
 * @copyright 1997-2003 The PHP Group
 * @license   http://www.php.net/license/2_02.txt PHP 2.02
 * @version   CVS: $Id$
 * @link      http://pear.php.net/packages/Net_Socket
 */
require_once 'PEAR.php';
define('NET_SOCKET_READ',  1);
define('NET_SOCKET_READ', 1);
define('NET_SOCKET_WRITE', 2);
define('NET_SOCKET_ERROR', 4);
/**
 * Generalized Socket class.
 *
 * @version 1.1
 * @author Stig Bakken <ssb@php.net>
 * @author Chuck Hagenbuch <chuck@horde.org>
 * @category  Net
 * @package   Net_Socket
 * @author    Stig Bakken <ssb@php.net>
 * @author    Chuck Hagenbuch <chuck@horde.org>
 * @copyright 1997-2003 The PHP Group
 * @license   http://www.php.net/license/2_02.txt PHP 2.02
 * @link      http://pear.php.net/packages/Net_Socket
 */
class Net_Socket extends PEAR {
class Net_Socket extends PEAR
{
    /**
     * Socket file pointer.
     * @var resource $fp
@@ -79,22 +91,29 @@
    var $lineLength = 2048;
    /**
     * The string to use as a newline terminator. Usually "\r\n" or "\n".
     * @var string $newline
     */
    var $newline = "\r\n";
    /**
     * Connect to the specified port. If called when the socket is
     * already connected, it disconnects and connects again.
     *
     * @param string  $addr        IP address or host name.
     * @param integer $port        TCP port number.
     * @param boolean $persistent  (optional) Whether the connection is
     *                             persistent (kept open between requests
     *                             by the web server).
     * @param integer $timeout     (optional) How long to wait for data.
     * @param array   $options     See options for stream_context_create.
     * @param string  $addr       IP address or host name.
     * @param integer $port       TCP port number.
     * @param boolean $persistent (optional) Whether the connection is
     *                            persistent (kept open between requests
     *                            by the web server).
     * @param integer $timeout    (optional) How long to wait for data.
     * @param array   $options    See options for stream_context_create.
     *
     * @access public
     *
     * @return boolean | PEAR_Error  True on success or a PEAR_Error on failure.
     */
    function connect($addr, $port = 0, $persistent = null, $timeout = null, $options = null)
    function connect($addr, $port = 0, $persistent = null,
                     $timeout = null, $options = null)
    {
        if (is_resource($this->fp)) {
            @fclose($this->fp);
@@ -121,9 +140,11 @@
        }
        $openfunc = $this->persistent ? 'pfsockopen' : 'fsockopen';
        $errno = 0;
        $errstr = '';
        $errno    = 0;
        $errstr   = '';
        $old_track_errors = @ini_set('track_errors', 1);
        if ($options && function_exists('stream_context_create')) {
            if ($this->timeout) {
                $timeout = $this->timeout;
@@ -134,22 +155,30 @@
            // Since PHP 5 fsockopen doesn't allow context specification
            if (function_exists('stream_socket_client')) {
                $flags = $this->persistent ? STREAM_CLIENT_PERSISTENT : STREAM_CLIENT_CONNECT;
                $flags = STREAM_CLIENT_CONNECT;
                if ($this->persistent) {
                    $flags = STREAM_CLIENT_PERSISTENT;
                }
                $addr = $this->addr . ':' . $this->port;
                $fp = stream_socket_client($addr, $errno, $errstr, $timeout, $flags, $context);
                $fp   = stream_socket_client($addr, $errno, $errstr,
                                             $timeout, $flags, $context);
            } else {
                $fp = @$openfunc($this->addr, $this->port, $errno, $errstr, $timeout, $context);
                $fp = @$openfunc($this->addr, $this->port, $errno,
                                 $errstr, $timeout, $context);
            }
        } else {
            if ($this->timeout) {
                $fp = @$openfunc($this->addr, $this->port, $errno, $errstr, $this->timeout);
                $fp = @$openfunc($this->addr, $this->port, $errno,
                                 $errstr, $this->timeout);
            } else {
                $fp = @$openfunc($this->addr, $this->port, $errno, $errstr);
            }
        }
        if (!$fp) {
            if ($errno == 0 && isset($php_errormsg)) {
            if ($errno == 0 && !strlen($errstr) && isset($php_errormsg)) {
                $errstr = $php_errormsg;
            }
            @ini_set('track_errors', $old_track_errors);
@@ -180,6 +209,18 @@
    }
    /**
     * Set the newline character/sequence to use.
     *
     * @param string $newline  Newline character(s)
     * @return boolean True
     */
    function setNewline($newline)
    {
        $this->newline = $newline;
        return true;
    }
    /**
     * Find out if the socket is in blocking mode.
     *
     * @access public
@@ -196,7 +237,8 @@
     * if there is no data available, whereas it will block until there
     * is data for blocking sockets.
     *
     * @param boolean $mode  True for blocking sockets, false for nonblocking.
     * @param boolean $mode True for blocking sockets, false for nonblocking.
     *
     * @access public
     * @return mixed true on success or a PEAR_Error instance otherwise
     */
@@ -207,7 +249,7 @@
        }
        $this->blocking = $mode;
        socket_set_blocking($this->fp, $this->blocking);
        stream_set_blocking($this->fp, (int)$this->blocking);
        return true;
    }
@@ -215,8 +257,9 @@
     * Sets the timeout value on socket descriptor,
     * expressed in the sum of seconds and microseconds
     *
     * @param integer $seconds  Seconds.
     * @param integer $microseconds  Microseconds.
     * @param integer $seconds      Seconds.
     * @param integer $microseconds Microseconds.
     *
     * @access public
     * @return mixed true on success or a PEAR_Error instance otherwise
     */
@@ -233,7 +276,8 @@
     * Sets the file buffering size on the stream.
     * See php's stream_set_write_buffer for more information.
     *
     * @param integer $size     Write buffer size.
     * @param integer $size Write buffer size.
     *
     * @access public
     * @return mixed on success or an PEAR_Error object otherwise
     */
@@ -262,7 +306,8 @@
     * </p>
     *
     * @access public
     * @return mixed Array containing information about existing socket resource or a PEAR_Error instance otherwise
     * @return mixed Array containing information about existing socket
     *               resource or a PEAR_Error instance otherwise
     */
    function getStatus()
    {
@@ -276,17 +321,23 @@
    /**
     * Get a specified line of data
     *
     * @param int $size ??
     *
     * @access public
     * @return $size bytes of data from the socket, or a PEAR_Error if
     *         not connected.
     */
    function gets($size)
    function gets($size = null)
    {
        if (!is_resource($this->fp)) {
            return $this->raiseError('not connected');
        }
        return @fgets($this->fp, $size);
        if (is_null($size)) {
            return @fgets($this->fp);
        } else {
            return @fgets($this->fp, $size);
        }
    }
    /**
@@ -295,7 +346,8 @@
     * chunk; if you know the size of the data you're getting
     * beforehand, this is definitely the way to go.
     *
     * @param integer $size  The number of bytes to read from the socket.
     * @param integer $size The number of bytes to read from the socket.
     *
     * @access public
     * @return $size bytes of data from the socket, or a PEAR_Error if
     *         not connected.
@@ -312,12 +364,13 @@
    /**
     * Write a specified amount of data.
     *
     * @param string  $data       Data to write.
     * @param integer $blocksize  Amount of data to write at once.
     *                            NULL means all at once.
     * @param string  $data      Data to write.
     * @param integer $blocksize Amount of data to write at once.
     *                           NULL means all at once.
     *
     * @access public
     * @return mixed If the socket is not connected, returns an instance of PEAR_Error
     * @return mixed If the socket is not connected, returns an instance of
     *               PEAR_Error
     *               If the write succeeds, returns the number of bytes written
     *               If the write fails, returns false.
     */
@@ -334,12 +387,12 @@
                $blocksize = 1024;
            }
            $pos = 0;
            $pos  = 0;
            $size = strlen($data);
            while ($pos < $size) {
                $written = @fwrite($this->fp, substr($data, $pos, $blocksize));
                if ($written === false) {
                    return false;
                if (!$written) {
                    return $written;
                }
                $pos += $written;
            }
@@ -349,7 +402,9 @@
    }
    /**
     * Write a line of data to the socket, followed by a trailing "\r\n".
     * Write a line of data to the socket, followed by a trailing newline.
     *
     * @param string $data Data to write
     *
     * @access public
     * @return mixed fputs result, or an error
@@ -360,7 +415,7 @@
            return $this->raiseError('not connected');
        }
        return fwrite($this->fp, $data . "\r\n");
        return fwrite($this->fp, $data . $this->newline);
    }
    /**
@@ -441,7 +496,7 @@
        }
        $string = '';
        while (($char = @fread($this->fp, 1)) != "\x00")  {
        while (($char = @fread($this->fp, 1)) != "\x00") {
            $string .= $char;
        }
        return $string;
@@ -481,11 +536,13 @@
        }
        $line = '';
        $timeout = time() + $this->timeout;
        while (!feof($this->fp) && (!$this->timeout || time() < $timeout)) {
            $line .= @fgets($this->fp, $this->lineLength);
            if (substr($line, -1) == "\n") {
                return rtrim($line, "\r\n");
                return rtrim($line, $this->newline);
            }
        }
        return $line;
@@ -521,9 +578,9 @@
     * Runs the equivalent of the select() system call on the socket
     * with a timeout specified by tv_sec and tv_usec.
     *
     * @param integer $state    Which of read/write/error to check for.
     * @param integer $tv_sec   Number of seconds for timeout.
     * @param integer $tv_usec  Number of microseconds for timeout.
     * @param integer $state   Which of read/write/error to check for.
     * @param integer $tv_sec  Number of seconds for timeout.
     * @param integer $tv_usec Number of microseconds for timeout.
     *
     * @access public
     * @return False if select fails, integer describing which of read/write/error
@@ -535,8 +592,8 @@
            return $this->raiseError('not connected');
        }
        $read = null;
        $write = null;
        $read   = null;
        $write  = null;
        $except = null;
        if ($state & NET_SOCKET_READ) {
            $read[] = $this->fp;
@@ -547,7 +604,8 @@
        if ($state & NET_SOCKET_ERROR) {
            $except[] = $this->fp;
        }
        if (false === ($sr = stream_select($read, $write, $except, $tv_sec, $tv_usec))) {
        if (false === ($sr = stream_select($read, $write, $except,
                                          $tv_sec, $tv_usec))) {
            return false;
        }
@@ -567,15 +625,17 @@
    /**
     * Turns encryption on/off on a connected socket.
     *
     * @param bool    $enabled  Set this parameter to true to enable encryption
     *                          and false to disable encryption.
     * @param integer $type     Type of encryption. See
     *                          http://se.php.net/manual/en/function.stream-socket-enable-crypto.php for values.
     * @param bool    $enabled Set this parameter to true to enable encryption
     *                         and false to disable encryption.
     * @param integer $type    Type of encryption. See stream_socket_enable_crypto()
     *                         for values.
     *
     * @see    http://se.php.net/manual/en/function.stream-socket-enable-crypto.php
     * @access public
     * @return false on error, true on success and 0 if there isn't enough data and the
     *         user should try again (non-blocking sockets only). A PEAR_Error object
     *         is returned if the socket is not connected
     * @return false on error, true on success and 0 if there isn't enough data
     *         and the user should try again (non-blocking sockets only).
     *         A PEAR_Error object is returned if the socket is not
     *         connected
     */
    function enableCrypto($enabled, $type)
    {
@@ -585,7 +645,8 @@
            }
            return @stream_socket_enable_crypto($this->fp, $enabled, $type);
        } else {
            return $this->raiseError('Net_Socket::enableCrypto() requires php version >= 5.1.0');
            $msg = 'Net_Socket::enableCrypto() requires php version >= 5.1.0';
            return $this->raiseError($msg);
        }
    }
program/localization/az_AZ/labels.inc
@@ -36,11 +36,12 @@
$labels['cc'] = 'Nüsxə';
$labels['bcc'] = 'Gizli';
$labels['replyto'] = 'Cavabla';
$labels['followupto'] = 'İzlə';
$labels['date'] = 'Tarix';
$labels['size'] = 'Ölçü';
$labels['priority'] = 'Vaciblik';
$labels['organization'] = 'Təşkilat';
$labels['reply-to'] = 'Cavab ünvanı';
$labels['readstatus'] = 'Statusu oxu';
$labels['mailboxlist'] = 'Qovluqlar';
$labels['messagesfromto'] = '$count mesajdan $from - $to arası mesajlar';
$labels['threadsfromto'] = 'Müzakirə: $from - $to Toplam: $count';
@@ -95,6 +96,8 @@
$labels['writenewmessage'] = 'Yeni məktub';
$labels['replytomessage'] = 'Göndərənə cavabla';
$labels['replytoallmessage'] = 'Hamıya cavabla';
$labels['replyall'] = 'Hamıya cavab';
$labels['replylist'] = 'Cavab siyahısı';
$labels['forwardmessage'] = 'Yönəlt';
$labels['deletemessage'] = 'Sil';
$labels['movemessagetotrash'] = 'Məktubu səbətə köçür';
@@ -149,7 +152,6 @@
$labels['folderactions'] = 'Qovluq işləri...';
$labels['compact'] = 'Sıx';
$labels['empty'] = 'Boşalt';
$labels['purge'] = 'Təmizlə';
$labels['quota'] = 'Disk istifadəsi';
$labels['unknown'] = 'naməlum';
$labels['unlimited'] = 'limitsiz';
@@ -167,6 +169,8 @@
$labels['charset'] = 'Kodlaşdırma';
$labels['editortype'] = 'Redaktor';
$labels['returnreceipt'] = 'Cavab sorğusu';
$labels['dsn'] = 'Çatdırılma statusu haqda bildiriş';
$labels['editidents'] = 'İdentifikasiyanı dəyiş';
$labels['checkspelling'] = 'Orfoqrafiyanı yoxla';
$labels['resumeediting'] = 'Redaktəni davam et';
$labels['revertto'] = 'Dəyişiklikləri ləğv et';
@@ -190,6 +194,7 @@
$labels['addcc'] = 'Kopya əlavə et';
$labels['addbcc'] = 'Gizli kopya əlavə et';
$labels['addreplyto'] = 'Yönəltmə əlavə et';
$labels['addfollowupto'] = '"İzlə" əlavə et';
$labels['mdnrequest'] = 'Məktubu göndərən onu oxuduğunuz haqda sorğu almaq istəyir. Göndərilsin?';
$labels['receiptread'] = 'Oxunulma haqda soğru';
$labels['yourmessage'] = 'Bu məktubunuzun oxunulduğu haqda sorğudur';
@@ -197,14 +202,45 @@
$labels['name'] = 'Göstərilən ad';
$labels['firstname'] = 'Adı';
$labels['surname'] = 'Soyadı';
$labels['middlename'] = 'Orta adı';
$labels['nameprefix'] = 'Prefiks';
$labels['namesuffix'] = 'Suffiks';
$labels['nickname'] = 'Ləqəb';
$labels['jobtitle'] = 'Vəzifə';
$labels['department'] = 'Departament';
$labels['gender'] = 'Cins';
$labels['maidenname'] = 'Qız adı';
$labels['email'] = 'E-Poçt';
$labels['phone'] = 'Telefon';
$labels['address'] = 'Ünvan';
$labels['street'] = 'Küçə';
$labels['locality'] = 'Şəhər';
$labels['zipcode'] = 'ZIP kod';
$labels['region'] = 'Region';
$labels['country'] = 'Ölkə';
$labels['birthday'] = 'Ad günü';
$labels['anniversary'] = 'İldönümü';
$labels['website'] = 'Vebsayt';
$labels['instantmessenger'] = 'IM';
$labels['notes'] = 'Qeydlər';
$labels['male'] = 'kişi';
$labels['female'] = 'qadın';
$labels['manager'] = 'Menecer';
$labels['assistant'] = 'Assistent';
$labels['spouse'] = 'Ər-arvad';
$labels['addfield'] = 'Sahə əlavə et';
$labels['addcontact'] = 'Ünvanlara əlavə et';
$labels['editcontact'] = 'Ünvanı redaktə et';
$labels['contacts'] = 'Əlaqələr';
$labels['contactproperties'] = 'Kontakt xüsusiyyətləri';
$labels['personalinfo'] = 'Şəxsi məlumat';
$labels['edit'] = 'Redaktə et';
$labels['cancel'] = 'Ləğv et';
$labels['save'] = 'Saxla';
$labels['delete'] = 'Sil';
$labels['rename'] = 'Adlandır';
$labels['addphoto'] = 'Əlavə et';
$labels['replacephoto'] = 'Adı dəyiş';
$labels['newcontact'] = 'Yeni ünvan kartı əlavə et';
$labels['deletecontact'] = 'Seçilmiş ünvanları sil';
$labels['composeto'] = 'Seçilmiş ünvanlara məktub yaz';
@@ -248,6 +284,7 @@
$labels['signature'] = 'İmza';
$labels['dstactive'] = 'Yay vaxtı';
$labels['htmleditor'] = 'HTML-də mesaj yaz';
$labels['htmlonreply'] = 'yalnız HTML mesajlar ilə cavab';
$labels['htmlsignature'] = 'HTML imza';
$labels['previewpane'] = 'Prevyu paneli göstər';
$labels['skin'] = 'İnterfeys stili';
@@ -259,6 +296,8 @@
$labels['mdnrequests'] = 'Göndərilmə bildirişi';
$labels['askuser'] = 'göndərilmə zamanı istifadəçidən soruş';
$labels['autosend'] = 'avtomatik göndər';
$labels['autosendknown'] = 'kontaktlarıma qəbz yolla. Əks halda soruş';
$labels['autosendknownignore'] = 'kontaktlarıma qəbz yolla. Əks halda iqnor et';
$labels['ignore'] = 'iqnor';
$labels['readwhendeleted'] = 'Məktubu siləndə oxunmuş kimi qeyd et';
$labels['flagfordeletion'] = 'Silmə əvəzi silinmə işarəsilə qeyd et';
@@ -303,6 +342,9 @@
$labels['insertsignature'] = 'İmza əlavə et';
$labels['previewpanemarkread'] = 'Baxılmış şəkilləri oxunmuş kimi qeyd et';
$labels['afternseconds'] = '$n saniyədən sonra';
$labels['reqmdn'] = 'Hər zaman çatdırılma bildirişini istə';
$labels['reqdsn'] = 'Hər zaman çatıdrılma haqda statusu istə';
$labels['replysamefolder'] = 'Cavab mesajları üçün saxlanılan yer';
$labels['folder'] = 'Qovluq';
$labels['folders'] = 'Qovluqlar';
$labels['foldername'] = 'Qovluq adı';
@@ -312,6 +354,13 @@
$labels['createfolder'] = 'Yeni qovluq yarad';
$labels['managefolders'] = 'Qovluqlarla iş';
$labels['specialfolders'] = 'Xüsusi qovluqlar';
$labels['properties'] = 'Xüsusiyyətlər';
$labels['folderproperties'] = 'Qovluq xüsusiyyətləri';
$labels['parentfolder'] = 'Ana qovluq';
$labels['location'] = 'Yerləşmə';
$labels['info'] = 'Məlumat';
$labels['getfoldersize'] = 'Qovluq ölçüsünü öyrənmək üçün vur';
$labels['changesubscription'] = 'Abunəni dəyişmək üçün vurun';
$labels['sortby'] = 'Çeşidlə';
$labels['sortasc'] = 'Azdan çoxa';
$labels['sortdesc'] = 'Çoxdan aza';
program/localization/az_AZ/messages.inc
@@ -21,6 +21,9 @@
$messages['sessionerror'] = 'Sizin sessiya köhnəlib';
$messages['imaperror'] = 'IMAP serverlə bağlantı alınmadı';
$messages['servererror'] = 'Server xətası!';
$messages['servererrormsg'] = 'Server xətası: $msg';
$messages['errorreadonly'] = 'Əməliyyatı 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['invalidrequest'] = 'Səhv sorğu! Məlumat yaddaşda qalmadı.';
$messages['nomessagesfound'] = 'Poçt qutusunda məktub tapılmadı';
$messages['loggedout'] = 'Çıxış uğurlu oldu. Sağ olun!';
@@ -54,6 +57,8 @@
$messages['purgefolderconfirm'] = 'Bu qovluqdakı bütün məktubları silməyə əminsiniz?';
$messages['folderdeleting'] = 'Qovluğ silinir...';
$messages['foldermoving'] = 'Qovluq köçürülür...';
$messages['foldersubscribing'] = 'Qovluğa abunə...';
$messages['folderunsubscribing'] = 'Qovluğa abunədən çıx...';
$messages['formincomplete'] = 'Bütün sətrlər doldurulmayıb';
$messages['noemailwarning'] = 'Lütfən, düzgün e-poçt ünvanı daxil edin';
$messages['nonamewarning'] = 'Lütfən, ad daxil edin';
@@ -73,6 +78,10 @@
$messages['checking'] = 'Yoxlanılır...';
$messages['nospellerrors'] = 'Orfoqrafik səhvlət tapılmadı';
$messages['folderdeleted'] = 'Qovluq uğurla silindi';
$messages['foldersubscribed'] = 'Qovluq uğurla abunə oldu';
$messages['folderunsubscribed'] = 'Qovluq uğurla abunədən çıxdı';
$messages['folderpurged'] = 'Qovluq uğurla təmizləndi';
$messages['folderexpunged'] = 'Qovluq uğurla sıxıldı';
$messages['deletedsuccessfully'] = 'Silindi';
$messages['converting'] = 'Məktubun formatlaşması silinir...';
$messages['messageopenerror'] = 'Məktubu serverdən yükləmək alınmır';
@@ -84,6 +93,8 @@
$messages['errorsavingcontact'] = 'Əlaqəni ünvanda saxlamaq mümkün deyil';
$messages['movingmessage'] = 'Məktub köçürülür...';
$messages['copyingmessage'] = 'Məktub kopyalanır...';
$messages['deletingmessage'] = 'Məktub(lar) silinir...';
$messages['markingmessage'] = 'Məktub(lar) işarələnir...';
$messages['receiptsent'] = 'Oxunulma haqda bildiriş göndərildi';
$messages['errorsendingreceipt'] = 'Oxunulma haqda bildiriş göndərilmədi';
$messages['nodeletelastidentity'] = 'Siz bu kimliyi silə bilməzsiniz. Bu axırıncıdır. ';
@@ -104,10 +115,26 @@
$messages['smtpfromerror'] = 'SMTP Error ($code): Göndərəni səlavə etmək mümkün deyil - "$from" ($msg)';
$messages['smtptoerror'] = 'SMTP Error ($code): Qəbul edəni əlavə etmək mümkün deyil - "$to" ($msg)';
$messages['smtprecipientserror'] = 'SMTP Error ($code): Qəbul edənlərin siyahısını emal etmək mümkün deyil';
$messages['smtpdsnerror'] = 'SMTP xəta: çatdırılma haqda bildiriş dəstəyi yoxdur';
$messages['smtperror'] = 'SMTP Error ($code): $msg';
$messages['emailformaterror'] = 'Səhv ünvan: $email';
$messages['toomanyrecipients'] = 'Qəbul edənlər həddindən artıq çoxdur. Lütfən, $max qədər azaldın.';
$messages['maxgroupmembersreached'] = 'Qrupun ölçüsü imkan verilən maksimumdan artıqdır - $max';
$messages['internalerror'] = 'Daxili xəta baş verdi. Lütfən, bir daha cəhd edin';
$messages['contactdelerror'] = 'Kontak(lar)ı silmək alınmadı';
$messages['contactdeleted'] = 'Kontak(lar) uğurla silindi';
$messages['groupdeleted'] = 'Qrup silindi';
$messages['grouprenamed'] = 'Qrupun adı dəyişdirildi';
$messages['groupcreated'] = 'Qrup yaradıldı';
$messages['messagedeleted'] = 'Məktub(lar) uğurla silindi';
$messages['messagemoved'] = 'Məktub(lar) uğurla köçürüldü';
$messages['messagecopied'] = 'Məktub(lar) uğurla kopyalandı';
$messages['messagemarked'] = 'Məktub(lar) uğurla işarələndi';
$messages['autocompletechars'] = 'Avtokomplektasiya üçün $min işarə daxil edin';
$messages['namecannotbeempty'] = 'Ad boş ola bilməz';
$messages['nametoolong'] = 'Ad çox uzundur';
$messages['folderupdated'] = 'Qovluq yeniləndi';
$messages['foldercreated'] = 'Qovluq yaradıldı';
$messages['invalidimageformat'] = 'Şəkil formatı düzgün deyil';
?>
program/localization/bg_BG/labels.inc
@@ -45,9 +45,6 @@
$labels['priority'] = 'Приоритет';
$labels['organization'] = 'Организация';
$labels['readstatus'] = 'Статут (прочетено/непрочетено)';
$labels['reply-to'] = 'Отговор до';
$labels['mail-reply-to'] = 'Отговор към';
$labels['mail-followup-to'] = 'Препращане към';
$labels['mailboxlist'] = 'Папки';
$labels['messagesfromto'] = 'Съобщения $from до $to от $count';
$labels['threadsfromto'] = 'Съобщения $from до $to от $count';
@@ -158,7 +155,6 @@
$labels['folderactions'] = 'Десйтвия за папки...';
$labels['compact'] = 'Свий';
$labels['empty'] = 'Изпразни';
$labels['purge'] = 'Изчисти';
$labels['quota'] = 'Използвано място';
$labels['unknown'] = 'няма информация';
$labels['unlimited'] = 'няма ограничение';
@@ -209,15 +205,45 @@
$labels['name'] = 'Кратко име';
$labels['firstname'] = 'Име';
$labels['surname'] = 'Фамилия';
$labels['middlename'] = 'Презиме';
$labels['nameprefix'] = 'Представка (Титла)';
$labels['namesuffix'] = 'Наставка (Титла)';
$labels['nickname'] = 'Прякор';
$labels['jobtitle'] = 'Длъжност';
$labels['department'] = 'Отдел';
$labels['gender'] = 'Пол';
$labels['maidenname'] = 'Бащино име';
$labels['email'] = 'E-Mail';
$labels['phone'] = 'Телефон';
$labels['address'] = 'Адрес';
$labels['street'] = 'Улица';
$labels['locality'] = 'Град';
$labels['zipcode'] = 'Пощенски код';
$labels['region'] = 'Област';
$labels['country'] = 'Държава';
$labels['birthday'] = 'Рожден ден';
$labels['anniversary'] = 'Годишнина';
$labels['website'] = 'Уебсайт';
$labels['instantmessenger'] = 'IM';
$labels['notes'] = 'Бележки';
$labels['male'] = 'Мъж';
$labels['female'] = 'Жена';
$labels['manager'] = 'Мениджър';
$labels['assistant'] = 'Асистент';
$labels['spouse'] = 'Съпруг (а)';
$labels['addfield'] = 'Добави поле';
$labels['addcontact'] = 'Добави';
$labels['editcontact'] = 'Редактирай';
$labels['contacts'] = 'Контакти';
$labels['contactproperties'] = 'Свойства на контакт';
$labels['personalinfo'] = 'Лична информация';
$labels['edit'] = 'Редактирай';
$labels['cancel'] = 'Отказ';
$labels['save'] = 'Запиши';
$labels['delete'] = 'Изтрий';
$labels['rename'] = 'Преименувай';
$labels['addphoto'] = 'Добави';
$labels['replacephoto'] = 'Замени';
$labels['newcontact'] = 'Нов контакт';
$labels['deletecontact'] = 'Изтрий маркираните контакти';
$labels['composeto'] = 'Напиши писмо до';
@@ -279,7 +305,7 @@
$labels['readwhendeleted'] = 'Отбележи като прочетено при изтриване';
$labels['flagfordeletion'] = 'Отбележи съобщението за изтриване';
$labels['skipdeleted'] = 'Не показвай изтритите съобщения';
$labels['deletealways'] = 'При неуспешн преместване на съобщение в Кошчето, да се изтрие';
$labels['deletealways'] = 'При неуспешно преместване на съобщение в Кошчето, да се изтрие';
$labels['showremoteimages'] = 'Покажи блокираните изображения';
$labels['fromknownsenders'] = 'Oт познати изпращачи';
$labels['always'] = 'Винаги';
@@ -321,6 +347,7 @@
$labels['afternseconds'] = 'след $n секунди';
$labels['reqmdn'] = 'Винаги връщай обратна разписка';
$labels['reqdsn'] = 'Винаги изисквай отговор при доставка на съобщение';
$labels['replysamefolder'] = 'Постави отговора в папката на съобщението, на което се отговаря';
$labels['folder'] = 'Папка';
$labels['folders'] = 'Папки';
$labels['foldername'] = 'Име на папката';
@@ -330,6 +357,13 @@
$labels['createfolder'] = 'Направи нова папка';
$labels['managefolders'] = 'Настройки на папките';
$labels['specialfolders'] = 'Служебни папки';
$labels['properties'] = 'Свойства';
$labels['folderproperties'] = 'Свойства на папката';
$labels['parentfolder'] = 'Родителска папка';
$labels['location'] = 'Местоположение';
$labels['info'] = 'Информация';
$labels['getfoldersize'] = 'Щракни за големина на папката';
$labels['changesubscription'] = 'Щракни за промяна на абонамент';
$labels['sortby'] = 'Сортирай по';
$labels['sortasc'] = 'Сортирай възходящо';
$labels['sortdesc'] = 'Сортирай низходящо';
program/localization/bg_BG/messages.inc
@@ -25,6 +25,8 @@
$messages['imaperror'] = 'Неуспешно свързване към IMAP сървъра';
$messages['servererror'] = 'Грешка!';
$messages['servererrormsg'] = 'Сървърна грешка: $msg';
$messages['errorreadonly'] = 'Операцията не може да бъде изпълнена. Папката е с права само за четене';
$messages['errornoperm'] = 'Операцията не може да бъде изпълнена. Отказани права за достъп';
$messages['invalidrequest'] = 'Невалидна заявка! Данните не са съхранени.';
$messages['nomessagesfound'] = 'Няма съобщения';
$messages['loggedout'] = 'Довиждане!';
@@ -58,6 +60,8 @@
$messages['purgefolderconfirm'] = 'Искате ли да изтриете всички писма в тази папка?';
$messages['folderdeleting'] = 'Изтриване на папка...';
$messages['foldermoving'] = 'Преместване на папка...';
$messages['foldersubscribing'] = 'Абониране...';
$messages['folderunsubscribing'] = 'Отписване на папка...';
$messages['formincomplete'] = 'Не сте попълнили всички полета';
$messages['noemailwarning'] = 'Моля, въведете валиден e-mail адрес';
$messages['nonamewarning'] = 'Моля, въведете име';
@@ -77,6 +81,10 @@
$messages['checking'] = 'Проверка...';
$messages['nospellerrors'] = 'Не са открити правописни грешки';
$messages['folderdeleted'] = 'Папката е изтрита';
$messages['foldersubscribed'] = 'Абонирането успешно';
$messages['folderunsubscribed'] = 'Отписването успешно';
$messages['folderpurged'] = 'Папката е изпразнена';
$messages['folderexpunged'] = 'Уплътняването успешно';
$messages['deletedsuccessfully'] = 'Изтриването е успешно';
$messages['converting'] = 'Премахване форматирането на писмото...';
$messages['messageopenerror'] = 'Писмото не може да бъде заредено от сървъра';
@@ -126,5 +134,10 @@
$messages['messagecopied'] = 'Съобщението беше копирано';
$messages['messagemarked'] = 'Съобщението беше маркирано';
$messages['autocompletechars'] = 'Въведете минимум $min знака, за да започне автоматичното попълване';
$messages['namecannotbeempty'] = 'Полето за име не може да бъде празно';
$messages['nametoolong'] = 'Името е прекалено дълго';
$messages['folderupdated'] = 'Папката е обновена';
$messages['foldercreated'] = 'Папката е създадена';
$messages['invalidimageformat'] = 'Невалиден формат на изображението';
?>
program/localization/da_DK/labels.inc
@@ -39,11 +39,12 @@
$labels['cc'] = 'Kopi til';
$labels['bcc'] = 'BCC';
$labels['replyto'] = 'Svar til';
$labels['followupto'] = 'Følg-op til';
$labels['date'] = 'Dato';
$labels['size'] = 'Størrelse';
$labels['priority'] = 'Prioritet';
$labels['organization'] = 'Organisation';
$labels['reply-to'] = 'Svar til';
$labels['readstatus'] = 'Læst status';
$labels['mailboxlist'] = 'Mapper';
$labels['messagesfromto'] = 'Besked $from til $to af $count';
$labels['threadsfromto'] = 'Tråd $from til $to af $count';
@@ -98,6 +99,8 @@
$labels['writenewmessage'] = 'Skriv en ny besked';
$labels['replytomessage'] = 'Svar på denne besked';
$labels['replytoallmessage'] = 'Svar til alle modtagere';
$labels['replyall'] = 'Svar alle';
$labels['replylist'] = 'Svar til listen';
$labels['forwardmessage'] = 'Videresend denne besked';
$labels['deletemessage'] = 'Slet besked';
$labels['movemessagetotrash'] = 'Flyt besked til skrald';
@@ -149,14 +152,15 @@
$labels['listsorting'] = 'Sorterings kolonne';
$labels['listorder'] = 'Sorter efter';
$labels['listmode'] = 'Listevisningsmode';
$labels['folderactions'] = 'Mappe handlinger...';
$labels['compact'] = 'Ryd op';
$labels['empty'] = 'Tøm';
$labels['purge'] = 'Udrens';
$labels['quota'] = 'Disk forbrug';
$labels['unknown'] = 'ukendt';
$labels['unlimited'] = 'ubegrænset';
$labels['quicksearch'] = 'Hurtigsøgning';
$labels['resetsearch'] = 'Nulstil søgning';
$labels['searchmod'] = 'Søgeparametere';
$labels['msgtext'] = 'Hele beskeden';
$labels['openinextwin'] = 'Åbn i nyt vindue';
$labels['emlsave'] = 'Download (.eml)';
@@ -168,12 +172,15 @@
$labels['charset'] = 'Tegnsæt';
$labels['editortype'] = 'Tekstbehandler';
$labels['returnreceipt'] = 'Anmod om kvittering';
$labels['dsn'] = 'Notifikation om leveringstatus';
$labels['editidents'] = 'Ret identiteter';
$labels['checkspelling'] = 'Stavekontrol';
$labels['resumeediting'] = 'Genoptag redigering';
$labels['revertto'] = 'Vend tilbage til';
$labels['attachments'] = 'Vedhæftninger';
$labels['upload'] = 'Upload';
$labels['close'] = 'Luk';
$labels['messageoptions'] = 'Besked muligheder...';
$labels['low'] = 'Lav';
$labels['lowest'] = 'Lavest';
$labels['normal'] = 'Normal';
@@ -190,6 +197,7 @@
$labels['addcc'] = 'Tilføj Cc';
$labels['addbcc'] = 'Tilføj Bcc';
$labels['addreplyto'] = 'Tilføj Svar-Til adresse';
$labels['addfollowupto'] = 'Tilføj følg-op adresse';
$labels['mdnrequest'] = 'Afsenderen af denne besked har bedt om at modtage en bekræftelse når du læser beskeden. Vil du sende kvittering for læsning?';
$labels['receiptread'] = 'Send kvittering for læsning';
$labels['yourmessage'] = 'Dette er en kvittering for at din besked er blevet vist';
@@ -197,13 +205,42 @@
$labels['name'] = 'Vist navn';
$labels['firstname'] = 'Fornavn';
$labels['surname'] = 'Efternavn';
$labels['middlename'] = 'Mellemnavn';
$labels['nickname'] = 'Alias/Kaldenavn';
$labels['jobtitle'] = 'Job titel';
$labels['department'] = 'Afdeling';
$labels['gender'] = 'Køn';
$labels['maidenname'] = 'Pigenavn';
$labels['email'] = 'E-mail';
$labels['phone'] = 'Telefon';
$labels['address'] = 'Adresse';
$labels['street'] = 'Vejnavn';
$labels['locality'] = 'By';
$labels['zipcode'] = 'Postnr.';
$labels['region'] = 'Område/region';
$labels['country'] = 'Land';
$labels['birthday'] = 'Fødselsdag';
$labels['anniversary'] = 'Jubilæum';
$labels['website'] = 'Hjemmeside';
$labels['instantmessenger'] = 'IM';
$labels['notes'] = 'Noter';
$labels['male'] = 'Mand';
$labels['female'] = 'Kvinde';
$labels['manager'] = 'Manager';
$labels['assistant'] = 'Assistent';
$labels['spouse'] = 'Ægtefælle';
$labels['addfield'] = 'Tilføj felt...';
$labels['addcontact'] = 'Tilføj en ny kontakt';
$labels['editcontact'] = 'Redigér kontakt';
$labels['contacts'] = 'Kontakter';
$labels['contactproperties'] = 'Kontakt egenskaber';
$labels['edit'] = 'Redigér';
$labels['cancel'] = 'Afbryd';
$labels['save'] = 'Gem';
$labels['delete'] = 'Slet';
$labels['rename'] = 'Omdøb';
$labels['addphoto'] = 'Tilføj';
$labels['replacephoto'] = 'Erstat';
$labels['newcontact'] = 'Opret nyt kontaktkort';
$labels['deletecontact'] = 'Slet valgte kontakter';
$labels['composeto'] = 'Skriv brev til';
@@ -247,6 +284,7 @@
$labels['signature'] = 'Signatur';
$labels['dstactive'] = 'Sommertid';
$labels['htmleditor'] = 'Skriv HTML-besked';
$labels['htmlonreply'] = 'kun når jeg besvarer HTML-beskeder';
$labels['htmlsignature'] = 'HTML-signatur';
$labels['previewpane'] = 'Forhåndsvisning';
$labels['skin'] = 'Interface skin';
@@ -258,6 +296,8 @@
$labels['mdnrequests'] = 'Kvitteringer';
$labels['askuser'] = 'spørg brugeren';
$labels['autosend'] = 'send automatisk';
$labels['autosendknown'] = 'send automatisk til mine kontakter, ellers spørg mig';
$labels['autosendknownignore'] = 'send automatisk til mine kontakter, ellers ignorér';
$labels['ignore'] = 'ignorér';
$labels['readwhendeleted'] = 'Markér beskeden som læst ved sletning';
$labels['flagfordeletion'] = 'Markér beskeden til sletning istedet for at slette';
@@ -302,6 +342,9 @@
$labels['insertsignature'] = 'Indsæt signatur';
$labels['previewpanemarkread'] = 'Markér forhåndsviste beskeder som læst';
$labels['afternseconds'] = 'efter $n sekunder';
$labels['reqmdn'] = 'Bed altid om at få besked om læsning';
$labels['reqdsn'] = 'Bed altid om at få en status på levering';
$labels['replysamefolder'] = 'Placer svar til en besked i samme mappe som beskeden der besvares';
$labels['folder'] = 'Mappe';
$labels['folders'] = 'Mapper';
$labels['foldername'] = 'Mappenavn';
@@ -311,6 +354,13 @@
$labels['createfolder'] = 'Opret ny mappe';
$labels['managefolders'] = 'Administrér mapper';
$labels['specialfolders'] = 'Specielle mapper';
$labels['properties'] = 'Egenskaber';
$labels['folderproperties'] = 'Mappe egenskaber';
$labels['parentfolder'] = 'Mappe et niveau op';
$labels['location'] = 'Placering';
$labels['info'] = 'Information';
$labels['getfoldersize'] = 'Klik for at hente mappestørrelse';
$labels['changesubscription'] = 'Klik for at ændre abonnement';
$labels['sortby'] = 'Sortér efter';
$labels['sortasc'] = 'Ældste først';
$labels['sortdesc'] = 'Nyeste først';
program/localization/da_DK/messages.inc
@@ -24,6 +24,9 @@
$messages['sessionerror'] = 'Din session er ugyldig eller udløbet';
$messages['imaperror'] = 'Forbindelse til IMAP serveren fejlede';
$messages['servererror'] = 'Server fejl!';
$messages['servererrormsg'] = 'Server fejl: $msg';
$messages['errorreadonly'] = 'Kunne ikke udføre den ønskede handling. Mappen er skrivebeskyttet';
$messages['errornoperm'] = 'Kunne ikke udføre den ønskede handling. Adgang nægtet';
$messages['invalidrequest'] = 'Ugyldig forespørgsel! Ingen data blev gemt.';
$messages['nomessagesfound'] = 'Der blev ikke fundet nogen beskeder i denne postkasse';
$messages['loggedout'] = 'Du er nu logget af webmail. Farvel så længe!';
@@ -57,6 +60,8 @@
$messages['purgefolderconfirm'] = 'Vil du virkelig slette alle beskeder i denne mappe?';
$messages['folderdeleting'] = 'Sletter mappen...';
$messages['foldermoving'] = 'Flytter mappen...';
$messages['foldersubscribing'] = 'Abonnere på mappen...';
$messages['folderunsubscribing'] = 'Fjerner abonnement på mappen...';
$messages['formincomplete'] = 'Formularen var ikke fuldstændig fyldt ud';
$messages['noemailwarning'] = 'Indtast venligst en gyldig e-mail adresse';
$messages['nonamewarning'] = 'Angiv venligst et navn';
@@ -76,6 +81,10 @@
$messages['checking'] = 'Tjekker...';
$messages['nospellerrors'] = 'Ingen stavefejl fundet';
$messages['folderdeleted'] = 'Mappen er slettet';
$messages['foldersubscribed'] = 'Mappe abonnement oprettet';
$messages['folderunsubscribed'] = 'Mappe abonnement opsagt';
$messages['folderpurged'] = 'Mappen er tømt';
$messages['folderexpunged'] = 'Mappen er blevet optimeret';
$messages['deletedsuccessfully'] = 'Slettet';
$messages['converting'] = 'Fjerner formatering fra besked...';
$messages['messageopenerror'] = 'Beskeden kunne ikke hentes fra serveren';
@@ -87,6 +96,8 @@
$messages['errorsavingcontact'] = 'Kunne ikke gemme kontakt adressen';
$messages['movingmessage'] = 'Flytter besked...';
$messages['copyingmessage'] = 'Kopierer besked...';
$messages['deletingmessage'] = 'Sletter besked(er)...';
$messages['markingmessage'] = 'Markerer besked(er)...';
$messages['receiptsent'] = 'Kvittering for læsning er sendt';
$messages['errorsendingreceipt'] = 'Kvitteringen kunne ikke sendes';
$messages['nodeletelastidentity'] = 'Du kan ikke slette denne identitet, da det er den eneste der er tilbage.';
@@ -107,9 +118,26 @@
$messages['smtpfromerror'] = 'SMTP fejl ($code): Kunne ikke afsende som "$from" ($msg)';
$messages['smtptoerror'] = 'SMTP fejl ($code): Kunne ikke tilføje modtageren "$to" ($msg)';
$messages['smtprecipientserror'] = 'SMTP fejl: kan ikke fortolke listen af modtagere';
$messages['smtpdsnerror'] = 'SMTP fejl: Ingen understøttelse af leveringsnotifikation';
$messages['smtperror'] = 'SMTP fejl: $msg';
$messages['emailformaterror'] = 'Ugyldig email-adresse: $email';
$messages['toomanyrecipients'] = 'For mange modtagere. Reducer antallet af modtagere til $max';
$messages['maxgroupmembersreached'] = 'Antallet af gruppemedlemmer overstiger maksimum på $max';
$messages['internalerror'] = 'Der opstod en intern fejl - prøv venligst igen';
$messages['contactdelerror'] = 'Kunne ikke slette kontakt(er)';
$messages['contactdeleted'] = 'Kontakt(er) slettet';
$messages['groupdeleted'] = 'Gruppen er slettet';
$messages['grouprenamed'] = 'Gruppen er omdøbt';
$messages['groupcreated'] = 'Gruppen er oprettet';
$messages['messagedeleted'] = 'Besked(er) slettet';
$messages['messagemoved'] = 'Besked(er) flyttet';
$messages['messagecopied'] = 'Besked(er) kopieret';
$messages['messagemarked'] = 'Besked(er) markeret';
$messages['autocompletechars'] = 'Du skal min. indtaste $min for at benytte autoopslag';
$messages['namecannotbeempty'] = 'Navnet kan ikke været tomt';
$messages['nametoolong'] = 'Navnet er for langt';
$messages['folderupdated'] = 'Mappen er opdateret';
$messages['foldercreated'] = 'Mappen er oprettet';
$messages['invalidimageformat'] = 'Ikke et gyldigt billedformat';
?>
program/localization/de_DE/labels.inc
@@ -44,9 +44,6 @@
$labels['priority'] = 'Priorität';
$labels['organization'] = 'Organisation';
$labels['readstatus'] = 'Gelesen/Ungelesen';
$labels['reply-to'] = 'Antwort an';
$labels['mail-reply-to'] = 'Mail-Reply-To';
$labels['mail-followup-to'] = 'Mail-Followup-To';
$labels['mailboxlist'] = 'Ordner';
$labels['messagesfromto'] = 'Nachrichten $from bis $to von $count';
$labels['threadsfromto'] = 'Konversationen $from bis $to von $count';
@@ -157,7 +154,6 @@
$labels['folderactions'] = 'Ordneraktionen...';
$labels['compact'] = 'Packen';
$labels['empty'] = 'Leeren';
$labels['purge'] = 'Bereinigen';
$labels['quota'] = 'Speicherplatz';
$labels['unknown'] = 'unbekannt';
$labels['unlimited'] = 'unbegrenzt';
@@ -208,15 +204,45 @@
$labels['name'] = 'Angezeigter Name';
$labels['firstname'] = 'Vorname';
$labels['surname'] = 'Nachname';
$labels['middlename'] = 'zweiter  Vorname';
$labels['nameprefix'] = 'Anrede';
$labels['namesuffix'] = 'Namenszusatz';
$labels['nickname'] = 'Spitzname';
$labels['jobtitle'] = 'Berufsbezeichnung';
$labels['department'] = 'Firma';
$labels['gender'] = 'Geschlecht';
$labels['maidenname'] = 'Mädchenname';
$labels['email'] = 'E-Mail';
$labels['phone'] = 'Telefon';
$labels['address'] = 'Adresse';
$labels['street'] = 'Straße';
$labels['locality'] = 'Ort';
$labels['zipcode'] = 'PLZ';
$labels['region'] = 'Region';
$labels['country'] = 'Land';
$labels['birthday'] = 'Geburtstag';
$labels['anniversary'] = 'Jahrestag';
$labels['website'] = 'Webseite';
$labels['instantmessenger'] = 'IM-Adresse';
$labels['notes'] = 'Notizen';
$labels['male'] = 'männlich';
$labels['female'] = 'weiblich';
$labels['manager'] = 'Vorgesetze(r)';
$labels['assistant'] = 'Assistent';
$labels['spouse'] = 'Partner/in';
$labels['addfield'] = 'Feld hinzufügen...';
$labels['addcontact'] = 'Kontakt hinzufügen';
$labels['editcontact'] = 'Kontakt bearbeiten';
$labels['contacts'] = 'Kontakte';
$labels['contactproperties'] = 'Kontaktdaten';
$labels['personalinfo'] = 'Persönliche Informationen';
$labels['edit'] = 'Bearbeiten';
$labels['cancel'] = 'Abbrechen';
$labels['save'] = 'Speichern';
$labels['delete'] = 'Löschen';
$labels['rename'] = 'umbenennen';
$labels['addphoto'] = 'Kontaktbild hinzufügen';
$labels['replacephoto'] = 'Bild ändern';
$labels['newcontact'] = 'Neuen Kontakt erstellen';
$labels['deletecontact'] = 'Gewählte Kontakte löschen';
$labels['composeto'] = 'Nachricht verfassen';
program/localization/de_DE/messages.inc
@@ -24,6 +24,8 @@
$messages['imaperror'] = 'Keine Verbindung zum IMAP-Server';
$messages['servererror'] = 'Serverfehler!';
$messages['servererrormsg'] = 'Serverfehler: $msg';
$messages['errorreadonly'] = 'Die Aktion nicht ausgeführt werden. Der Ordner ist schreibgeschützt.';
$messages['errornoperm'] = 'Die Aktion nicht ausgeführt werden. Zugriff verweigert.';
$messages['invalidrequest'] = 'Ungültige Anfrage! Es wurden keine Daten gespeichert.';
$messages['nomessagesfound'] = 'Keine Nachrichten in diesem Ordner';
$messages['loggedout'] = 'Sie haben Ihre Session erfolgreich beendet. Auf Wiedersehen!';
@@ -135,7 +137,6 @@
$messages['nametoolong'] = 'Der Name ist zu lang';
$messages['folderupdated'] = 'Der Ordner wurde erfolgreich aktualisiert';
$messages['foldercreated'] = 'Der Ordner wurde erfolgreich erstellt';
$messages['errorreadonly'] = 'Die Aktion nicht ausgeführt werden. Der Ordner ist schreibgeschützt.';
$messages['errornoperm'] = 'Die Aktion nicht ausgeführt werden. Zugriff verweigert.';
$messages['invalidimageformat'] = 'Kein gültiges Bildformat';
?>
program/localization/fr_FR/labels.inc
@@ -40,12 +40,12 @@
$labels['cc'] = 'Cc';
$labels['bcc'] = 'Cci';
$labels['replyto'] = 'Répondre à';
$labels['followupto'] = 'Faire suivre à';
$labels['date'] = 'Date';
$labels['size'] = 'Taille';
$labels['priority'] = 'Priorité';
$labels['organization'] = 'Organisation';
$labels['readstatus'] = 'Status de lecture';
$labels['reply-to'] = 'Répondre à';
$labels['mailboxlist'] = 'Dossiers';
$labels['messagesfromto'] = 'Messages de $from à $to sur $count';
$labels['threadsfromto'] = 'Fil de $from à $to sur $count';
@@ -156,7 +156,6 @@
$labels['folderactions'] = 'Actions du dossier';
$labels['compact'] = 'Compacter';
$labels['empty'] = 'Vider';
$labels['purge'] = 'Purger';
$labels['quota'] = 'Occupation disque';
$labels['unknown'] = 'inconnue';
$labels['unlimited'] = 'illimitée';
@@ -199,6 +198,7 @@
$labels['addcc'] = 'Ajouter Cc';
$labels['addbcc'] = 'Ajouter Cci';
$labels['addreplyto'] = 'Ajouter Répondre à';
$labels['addfollowupto'] = 'Ajouter Faire suivre à';
$labels['mdnrequest'] = 'L\'expéditeur de ce message a demandé d\'être prévenu quand vous lirez ce message. Souhaitez-vous prévenir l\'expéditeur ?';
$labels['receiptread'] = 'Accusé de réception (lu)';
$labels['yourmessage'] = 'Ceci est un accusé de réception pour votre message';
@@ -215,6 +215,7 @@
$labels['cancel'] = 'Annuler';
$labels['save'] = 'Sauvegarder';
$labels['delete'] = 'Supprimer';
$labels['rename'] = 'Renommer';
$labels['newcontact'] = 'Créer un nouveau contact';
$labels['deletecontact'] = 'Supprimer les contacts sélectionnés';
$labels['composeto'] = 'Écrire un message à';
program/localization/fr_FR/messages.inc
@@ -26,6 +26,8 @@
$messages['imaperror'] = 'Erreur de connexion au serveur IMAP';
$messages['servererror'] = 'Erreur Serveur !';
$messages['servererrormsg'] = 'Erreur du serveur: $msg';
$messages['errorreadonly'] = 'Impossible d\'effectuer cette opération. Le dossier est en lecture seule';
$messages['errornoperm'] = 'Impossible d\'effectuer cette opération. Permission refusée';
$messages['invalidrequest'] = 'Requête invalide ! Aucune donnée n\'a été sauvegardée.';
$messages['nomessagesfound'] = 'Aucun message trouvé dans cette boîte aux lettres';
$messages['loggedout'] = 'Vous venez de vous déconnecter avec succès. Au revoir !';
@@ -59,6 +61,8 @@
$messages['purgefolderconfirm'] = 'Voulez-vous vraiment effacer tous les messages de ce dossier ?';
$messages['folderdeleting'] = 'Suppression du dossier...';
$messages['foldermoving'] = 'Déplacement du dossier...';
$messages['foldersubscribing'] = 'Inscription du dossier...';
$messages['folderunsubscribing'] = 'Désinscription du dossier...';
$messages['formincomplete'] = 'Le formulaire n\'a pas été entièrement rempli';
$messages['noemailwarning'] = 'Veuillez spécifier un courriel valide';
$messages['nonamewarning'] = 'Veuillez fournir un nom';
@@ -78,6 +82,10 @@
$messages['checking'] = 'Vérification...';
$messages['nospellerrors'] = 'Aucune faute trouvée';
$messages['folderdeleted'] = 'Dossier effacé';
$messages['foldersubscribed'] = 'Le dossier a bien été inscrit';
$messages['folderunsubscribed'] = 'Le dossier a bien été désinscrit';
$messages['folderpurged'] = 'Le dossier a bien été vidé';
$messages['folderexpunged'] = 'Le dossier a bien été comptacté';
$messages['deletedsuccessfully'] = 'Supprimé(s) avec succès';
$messages['converting'] = 'Suppression de la mise en forme...';
$messages['messageopenerror'] = 'Impossible de charger le message depuis serveur';
@@ -127,5 +135,9 @@
$messages['messagecopied'] = 'Les messages ont bien été copiés';
$messages['messagemarked'] = 'Les messages ont bien été marqués';
$messages['autocompletechars'] = 'Entrez au moins $min caractères pour l\'auto-complétion';
$messages['namecannotbeempty'] = 'Le nom ne peut pas être vide';
$messages['nametoolong'] = 'Le nom est trop long';
$messages['folderupdated'] = 'Le dossier a bien été mis à jour';
$messages['foldercreated'] = 'Le dossier a bien été créé';
?>
program/localization/he_IL/labels.inc
@@ -152,7 +152,6 @@
$labels['folderactions'] = 'פעולות על תיקים';
$labels['compact'] = 'פינוי שטח לא מנוצל';
$labels['empty'] = 'ריקון';
$labels['purge'] = 'מחיקה';
$labels['quota'] = 'ניצול קיבולת';
$labels['unknown'] = 'לא ידוע';
$labels['unlimited'] = 'ללא הגבלה';
@@ -203,15 +202,45 @@
$labels['name'] = 'שם להצגה';
$labels['firstname'] = 'שם פרטי';
$labels['surname'] = 'שם משפחה';
$labels['middlename'] = 'שם אמצעי';
$labels['nameprefix'] = 'קידומת';
$labels['namesuffix'] = 'סיומת';
$labels['nickname'] = 'שם חיבה';
$labels['jobtitle'] = 'תפקיד באירגון';
$labels['department'] = 'מחלקה';
$labels['gender'] = 'מגדר';
$labels['maidenname'] = 'שם משפחה לפני נישואין';
$labels['email'] = 'כתובת דוא"ל';
$labels['phone'] = 'מספר טלפון';
$labels['address'] = 'כתובת';
$labels['street'] = 'רחוב';
$labels['locality'] = 'עיר';
$labels['zipcode'] = 'מיקוד';
$labels['region'] = 'אישור';
$labels['country'] = 'מדינה';
$labels['birthday'] = 'יום הולדת';
$labels['anniversary'] = 'יום נישואין';
$labels['website'] = 'אתר אינטרנט';
$labels['instantmessenger'] = 'כינוי בצ\'ט';
$labels['notes'] = 'הערות';
$labels['male'] = 'זכר';
$labels['female'] = 'נקבה';
$labels['manager'] = 'מנהל/ת';
$labels['assistant'] = 'עוזר/ת';
$labels['spouse'] = 'בן/בת זוג';
$labels['addfield'] = 'הוסף שדה';
$labels['addcontact'] = 'הוספת איש קשר';
$labels['editcontact'] = 'עריכת איש קשר';
$labels['contacts'] = 'אנשי קשר';
$labels['contactproperties'] = 'מאפייני איש קשר';
$labels['personalinfo'] = 'מידע אישי';
$labels['edit'] = 'עריכה';
$labels['cancel'] = 'ביטול';
$labels['save'] = 'שמירה';
$labels['delete'] = 'מחיקה';
$labels['rename'] = 'שינוי שם';
$labels['addphoto'] = 'הוספה';
$labels['replacephoto'] = 'החלפה';
$labels['newcontact'] = 'איש קשר חדש';
$labels['deletecontact'] = 'מחיקת אנשי קשר מסומנים';
$labels['composeto'] = 'יצירת הודעה אל';
program/localization/he_IL/messages.inc
@@ -136,5 +136,6 @@
$messages['nametoolong'] = 'השם ארוך מדי';
$messages['folderupdated'] = 'התיק עודכן בהצלחה';
$messages['foldercreated'] = 'התיק נוצר בהצלחה';
$messages['invalidimageformat'] = 'פורמט תמונה לא חוקי';
?>
program/localization/hu_HU/labels.inc
@@ -49,7 +49,7 @@
$labels['mailboxlist'] = 'Mappák';
$labels['messagesfromto'] = 'Üzenetek: $from - $to / $count';
$labels['threadsfromto'] = 'Témák ($from - $to, összesen $count)';
$labels['messagenrof'] = '$nr / $coun t üzenet';
$labels['messagenrof'] = '$nr / $count üzenet';
$labels['copy'] = 'Másolás';
$labels['move'] = 'Áthelyezés';
$labels['moveto'] = 'áthelyezés...';
program/localization/it_IT/labels.inc
@@ -37,13 +37,14 @@
$labels['from'] = 'Mittente';
$labels['to'] = 'Destinatario';
$labels['cc'] = 'Cc';
$labels['bcc'] = 'Bcn';
$labels['bcc'] = 'Bcc';
$labels['replyto'] = 'Rispondi a';
$labels['followupto'] = 'Followup-To';
$labels['date'] = 'Data';
$labels['size'] = 'Dimensione';
$labels['priority'] = 'Priorità';
$labels['organization'] = 'Società';
$labels['readstatus'] = 'Visualizza lo stato';
$labels['mailboxlist'] = 'Cartelle';
$labels['messagesfromto'] = 'Messaggi da $from a $to di $count';
$labels['threadsfromto'] = 'Thread da $from a $to di $count';
@@ -97,7 +98,7 @@
$labels['checkmail'] = 'Controlla nuovi messaggi';
$labels['writenewmessage'] = 'Scrivi un nuovo messaggio';
$labels['replytomessage'] = 'Rispondi al mittente';
$labels['replytoallmessage'] = 'Rispondi a tutti o alla mailing list';
$labels['replytoallmessage'] = 'Rispondi a l mittente e ai destinatari';
$labels['replyall'] = 'Rispondi a tutti';
$labels['replylist'] = 'Rispondi alla mailing list';
$labels['forwardmessage'] = 'Inoltra il messaggio';
@@ -204,7 +205,33 @@
$labels['name'] = 'Nome visualizzato';
$labels['firstname'] = 'Nome';
$labels['surname'] = 'Cognome';
$labels['middlename'] = 'Secondo nome';
$labels['nameprefix'] = 'Prefisso';
$labels['namesuffix'] = 'Suffisso';
$labels['nickname'] = 'Soprannome';
$labels['jobtitle'] = 'Titolo';
$labels['department'] = 'Dipartimento';
$labels['gender'] = 'Sesso';
$labels['maidenname'] = 'Cognome da nubile';
$labels['email'] = 'E-Mail';
$labels['phone'] = 'Telefono';
$labels['address'] = 'Indirizzo';
$labels['street'] = 'Via';
$labels['locality'] = 'Città';
$labels['zipcode'] = 'CAP';
$labels['region'] = 'Regione';
$labels['country'] = 'Stato';
$labels['birthday'] = 'Compleanno';
$labels['anniversary'] = 'Anniversario';
$labels['website'] = 'Sito web';
$labels['instantmessenger'] = 'IM';
$labels['notes'] = 'Note';
$labels['male'] = 'maschio';
$labels['female'] = 'femmina';
$labels['manager'] = 'Manager';
$labels['assistant'] = 'Assistente';
$labels['spouse'] = 'Coniuge';
$labels['addfield'] = 'Aggiungi campo...';
$labels['addcontact'] = 'Aggiungi contatto alla rubrica';
$labels['editcontact'] = 'Modifica contatto';
$labels['contacts'] = 'Contatti';
@@ -214,6 +241,8 @@
$labels['save'] = 'Salva';
$labels['delete'] = 'Elimina';
$labels['rename'] = 'Rinomina';
$labels['addphoto'] = 'Aggiungi';
$labels['replacephoto'] = 'Sostituisci';
$labels['newcontact'] = 'Crea un nuovo contatto';
$labels['deletecontact'] = 'Elimina i contatti selezionati';
$labels['composeto'] = 'Invia email a';
@@ -330,6 +359,7 @@
$labels['properties'] = 'Proprietà';
$labels['folderproperties'] = 'Proprietà cartella';
$labels['parentfolder'] = 'Cartella padre';
$labels['location'] = 'Ubicazione';
$labels['info'] = 'Informazioni';
$labels['getfoldersize'] = 'Click per la dimensione della cartella';
$labels['changesubscription'] = 'Click per cambiare sottoscrizione';
@@ -360,3 +390,5 @@
$labels['chinese'] = 'Cinese';
?>
program/localization/it_IT/messages.inc
@@ -30,7 +30,7 @@
$messages['invalidrequest'] = 'Richiesta non valida! Nessun dato salvato.';
$messages['nomessagesfound'] = 'Nessun messaggio trovato in questa cartella';
$messages['loggedout'] = 'Sessione chiusa correttamente. Arrivederci!';
$messages['mailboxempty'] = 'La cartella è vuota';
$messages['mailboxempty'] = 'La casella è vuota';
$messages['loading'] = 'Caricamento...';
$messages['uploading'] = 'Caricamento file...';
$messages['loadingdata'] = 'Caricamento dati...';
@@ -138,5 +138,8 @@
$messages['nametoolong'] = 'Nome troppo lungo';
$messages['folderupdated'] = 'Cartella aggiornata correttamente';
$messages['foldercreated'] = 'Cartella creata correttamente';
$messages['invalidimageformat'] = 'Formato non valido';
?>
program/localization/ja_JP/labels.inc
@@ -16,7 +16,7 @@
@version $Id$
EN-Revision: 4353
EN-Revision: 4441
*/
@@ -41,11 +41,11 @@
$labels['cc'] = 'コピー';
$labels['bcc'] = 'Bcc';
$labels['replyto'] = 'Reply-To (返信先)';
$labels['followupto'] = 'Followup-To';
$labels['followupto'] = 'Followup-To (ML の宛先)';
$labels['date'] = '日付';
$labels['size'] = '容量';
$labels['priority'] = '優先度';
$labels['organization'] = '所属';
$labels['organization'] = '企業名';
$labels['readstatus'] = '閲覧の状態';
$labels['mailboxlist'] = 'フォルダー一覧';
$labels['messagesfromto'] = '表示中のメール: $from ~ $to (全: $count 件)';
@@ -157,7 +157,6 @@
$labels['folderactions'] = 'フォルダーの操作...';
$labels['compact'] = 'コンパクト';
$labels['empty'] = '空';
$labels['purge'] = 'ごみ箱を空にする';
$labels['quota'] = 'ディスク使用量';
$labels['unknown'] = '不明';
$labels['unlimited'] = '無制限';
@@ -206,18 +205,47 @@
$labels['yourmessage'] = 'これはあなたが送信したメールに対する開封確認です。';
$labels['receiptnote'] = '注意: この開封確認はメールが受信者に表示されたことの通知です。受信者がメールを読んだこと、内容を理解したことを保証するものではありません。';
$labels['name'] = '表示名';
$labels['firstname'] = '名 (ファースト ネーム)';
$labels['surname'] = '姓 (ラスト ネーム)';
$labels['firstname'] = '名 (ファーストネーム)';
$labels['surname'] = '姓 (ラストネーム)';
$labels['middlename'] = 'ミドルネーム';
$labels['nameprefix'] = '敬称 (名前の前)';
$labels['namesuffix'] = '敬称 (名前の後)';
$labels['nickname'] = 'ニックネーム';
$labels['jobtitle'] = '肩書き';
$labels['department'] = '部署名';
$labels['gender'] = '性別';
$labels['maidenname'] = '旧姓';
$labels['email'] = 'メールアドレス';
$labels['phone'] = '電話番号';
$labels['address'] = '住所';
$labels['street'] = '通り';
$labels['locality'] = '都市';
$labels['zipcode'] = '郵便番号';
$labels['region'] = '州';
$labels['country'] = '国';
$labels['birthday'] = '誕生日';
$labels['anniversary'] = '記念日';
$labels['website'] = 'ウェブサイト';
$labels['instantmessenger'] = 'IM';
$labels['notes'] = 'Notes';
$labels['male'] = '男性';
$labels['female'] = '女性';
$labels['manager'] = '管理者';
$labels['assistant'] = 'アシスタント';
$labels['spouse'] = '配偶者';
$labels['addfield'] = '項目の追加...';
$labels['addcontact'] = '連絡先の新規追加';
$labels['editcontact'] = '連絡先の編集';
$labels['contacts'] = '連絡先';
$labels['contactproperties'] = '連絡先のプロパティ';
$labels['personalinfo'] = '個人情報';
$labels['edit'] = '編集';
$labels['cancel'] = 'キャンセル';
$labels['save'] = '保存';
$labels['delete'] = '削除';
$labels['rename'] = '名前の変更';
$labels['addphoto'] = '追加';
$labels['replacephoto'] = '置換';
$labels['newcontact'] = '連絡先の新規作成';
$labels['deletecontact'] = '連絡先の削除';
$labels['composeto'] = 'この連絡先へメールの送信';
program/localization/ja_JP/messages.inc
@@ -16,7 +16,7 @@
@version $Id$
//  EN-Revision: 4321
//  EN-Revision: 4424
*/
@@ -140,5 +140,6 @@
$messages['nametoolong'] = '名前が長すぎます。';
$messages['folderupdated'] = 'フォルダーの更新に成功しました。';
$messages['foldercreated'] = 'フォルダーの作成に成功しました。';
$messages['invalidimageformat'] = '画像の形式が正しくありません。';
?>
program/localization/pt_PT/labels.inc
@@ -208,16 +208,45 @@
$labels['name'] = 'Nome completo';
$labels['firstname'] = 'Primeiro nome';
$labels['surname'] = 'Apelido';
$labels['middlename'] = 'Outros nomes/apelidos';
$labels['nameprefix'] = 'Título';
$labels['namesuffix'] = 'Sufixo';
$labels['nickname'] = 'Alcunha';
$labels['jobtitle'] = 'Cargo';
$labels['department'] = 'Departamento';
$labels['gender'] = 'Género';
$labels['maidenname'] = 'Nome solteiro';
$labels['email'] = 'E-mail';
$labels['phone'] = 'Telefone';
$labels['address'] = 'Endereço';
$labels['street'] = 'Rua';
$labels['locality'] = 'Cidade';
$labels['zipcode'] = 'Código postal';
$labels['region'] = 'Localidade';
$labels['country'] = 'Pais';
$labels['birthday'] = 'Data de nascimento';
$labels['anniversary'] = 'Aniversário';
$labels['website'] = 'Página web';
$labels['instantmessenger'] = 'Endereço IM';
$labels['notes'] = 'Notas';
$labels['male'] = 'masculino';
$labels['female'] = 'feminino';
$labels['manager'] = 'Gerente';
$labels['assistant'] = 'Assistente';
$labels['spouse'] = 'Cônjuge';
$labels['addfield'] = 'Adicionar campo...';
$labels['addcontact'] = 'Criar novo contacto';
$labels['editcontact'] = 'Editar contacto';
$labels['contacts'] = 'Contactos';
$labels['contactproperties'] = 'Propriedades dos contactos';
$labels['personalinfo'] = 'Informação pessoal';
$labels['edit'] = 'Editar';
$labels['cancel'] = 'Cancelar';
$labels['save'] = 'Guardar';
$labels['delete'] = 'Eliminar';
$labels['rename'] = 'Renomear';
$labels['addphoto'] = 'Adicionar';
$labels['replacephoto'] = 'Substituir';
$labels['newcontact'] = 'Criar novo contacto';
$labels['deletecontact'] = 'Eliminar contactos seleccionados';
$labels['composeto'] = 'Escrever mensagem para';
program/localization/pt_PT/messages.inc
@@ -140,5 +140,6 @@
$messages['nametoolong'] = 'O nome é demasiado longo';
$messages['folderupdated'] = 'Actualização da pasta concluída com sucesso';
$messages['foldercreated'] = 'Pasta criada com sucesso';
$messages['invalidimageformat'] = 'Formato de imagem não suportado';
?>
program/localization/ru_RU/labels.inc
@@ -156,7 +156,6 @@
$labels['folderactions'] = 'Операции над папкой...';
$labels['compact'] = 'Сжать';
$labels['empty'] = 'Опустошить';
$labels['purge'] = 'Очистить';
$labels['quota'] = 'Квота';
$labels['unknown'] = 'неизвестно';
$labels['unlimited'] = 'без ограничений';
@@ -207,15 +206,45 @@
$labels['name'] = 'Отображаемое имя';
$labels['firstname'] = 'Имя';
$labels['surname'] = 'Фамилия';
$labels['middlename'] = 'Отчество';
$labels['nameprefix'] = 'Префикс';
$labels['namesuffix'] = 'Суффикс';
$labels['nickname'] = 'Прозвище';
$labels['jobtitle'] = 'Должность';
$labels['department'] = 'Отдел';
$labels['gender'] = 'Пол';
$labels['maidenname'] = 'Девичья фамилия';
$labels['email'] = 'E-Mail';
$labels['phone'] = 'Телефон';
$labels['address'] = 'Адрес';
$labels['street'] = 'Улица';
$labels['locality'] = 'Город';
$labels['zipcode'] = 'Индекс';
$labels['region'] = 'Область';
$labels['country'] = 'Страна';
$labels['birthday'] = 'День рождения';
$labels['anniversary'] = 'Годовщина';
$labels['website'] = 'Веб-сайт';
$labels['instantmessenger'] = 'IM';
$labels['notes'] = 'Заметки';
$labels['male'] = 'мужской';
$labels['female'] = 'женский';
$labels['manager'] = 'Менеджер';
$labels['assistant'] = 'Помощник';
$labels['spouse'] = 'Супруг';
$labels['addfield'] = 'Добавить поле...';
$labels['addcontact'] = 'Добавить выбранные контакты в список контактов';
$labels['editcontact'] = 'Редактировать контакт';
$labels['contacts'] = 'Контакты';
$labels['contactproperties'] = 'Свойства контакта';
$labels['personalinfo'] = 'Личная информация';
$labels['edit'] = 'Правка';
$labels['cancel'] = 'Отмена';
$labels['save'] = 'Сохранить';
$labels['delete'] = 'Удалить';
$labels['rename'] = 'Переименовать';
$labels['addphoto'] = 'Добавить';
$labels['replacephoto'] = 'Заменить';
$labels['newcontact'] = 'Создать новый контакт';
$labels['deletecontact'] = 'Удалить выбранные контакты';
$labels['composeto'] = 'Создать сообщение для выбранных контактов';
program/localization/ru_RU/messages.inc
@@ -138,5 +138,6 @@
$messages['nametoolong'] = 'Слишком длинное имя';
$messages['folderupdated'] = 'Папка обновлена';
$messages['foldercreated'] = 'Папка создана';
$messages['invalidimageformat'] = 'Неверный формат изображения';
?>
program/localization/sk_SK/labels.inc
@@ -14,6 +14,7 @@
|         Lukas Kraic  <lukas.kraic@truni.sk>                           |
|         Peter Mann   <peter.mann@tuke.sk>                             |
|         Ales Pospichal   <ales@pospichalales.info>                    |
|         Martin Lacina    <martin@whistler.sk>                            |
+-----------------------------------------------------------------------+
@version $Id$
@@ -45,7 +46,7 @@
$labels['size'] = 'Veľkosť';
$labels['priority'] = 'Priorita';
$labels['organization'] = 'Organizácia';
$labels['reply-to'] = 'Odpovedať na';
$labels['readstatus'] = 'Čítať stav';
$labels['mailboxlist'] = 'Adresár';
$labels['messagesfromto'] = 'Správy od $from do $to z $count';
$labels['threadsfromto'] = 'Konverzácie od $from do $to z $count ';
@@ -100,6 +101,8 @@
$labels['writenewmessage'] = 'Vytvoriť novú správu';
$labels['replytomessage'] = 'Odpovedať';
$labels['replytoallmessage'] = 'Odpovedať všetkým';
$labels['replyall'] = 'Odpovedať všetkým';
$labels['replylist'] = 'Zoznam odpovedí';
$labels['forwardmessage'] = 'Poslať ďalej';
$labels['deletemessage'] = 'Zmazať správu';
$labels['movemessagetotrash'] = 'Presunúť správu do koša';
@@ -154,7 +157,6 @@
$labels['folderactions'] = 'Akcie so zložkou...';
$labels['compact'] = 'Zhustiť priečinok';
$labels['empty'] = 'Prázdne';
$labels['purge'] = 'Vyprázdniť';
$labels['quota'] = 'Zaplnenie schránky';
$labels['unknown'] = 'neznáme';
$labels['unlimited'] = 'neobmedzené';
@@ -172,6 +174,7 @@
$labels['charset'] = 'Znaková sada';
$labels['editortype'] = 'Typ editora';
$labels['returnreceipt'] = 'Potvrdenie o doručení';
$labels['dsn'] = 'Doručenie oznámenia o stave';
$labels['editidents'] = 'Editovať identity';
$labels['checkspelling'] = 'Skontrolovať pravopis';
$labels['resumeediting'] = 'Pokračovať v úpravách';
@@ -207,10 +210,12 @@
$labels['addcontact'] = 'Pridať nový kontakt';
$labels['editcontact'] = 'Upraviť kontakt';
$labels['contacts'] = 'Kontakty';
$labels['contactproperties'] = 'Vlastnosti kontaktu';
$labels['edit'] = 'Upraviť';
$labels['cancel'] = 'Zrušiť';
$labels['save'] = 'Uložiť';
$labels['delete'] = 'Zmazať';
$labels['rename'] = 'Premenovať';
$labels['newcontact'] = 'Vytvoriť nový kontakt';
$labels['deletecontact'] = 'Zmazať zvolené kontakty';
$labels['composeto'] = 'Vytvoriť správu pre';
@@ -254,6 +259,7 @@
$labels['signature'] = 'Podpis';
$labels['dstactive'] = 'Letný čas';
$labels['htmleditor'] = 'Vytvoriť HTML správu';
$labels['htmlonreply'] = 'len v odpovedi na HTML správy';
$labels['htmlsignature'] = 'HTML podpis';
$labels['previewpane'] = 'Ukázať náhľad';
$labels['skin'] = 'Vzhľad';
@@ -266,6 +272,7 @@
$labels['askuser'] = 'spýtať sa používateľa';
$labels['autosend'] = 'poslať potvrdenie automaticky';
$labels['autosendknown'] = 'poslať potvrdenie iba mojím kontaktom';
$labels['autosendknownignore'] = 'poslať potvrdenie mojím kontaktom, inak ignorovať';
$labels['ignore'] = 'ignorovať';
$labels['readwhendeleted'] = 'Označiť správu ';
$labels['flagfordeletion'] = 'Pri odstránení správy iba označiť správu ako odstránenú';
@@ -311,6 +318,8 @@
$labels['previewpanemarkread'] = 'Označiť zobrazenej správy ako prečítané';
$labels['afternseconds'] = 'po $ sekundách';
$labels['reqmdn'] = 'Vždy požadovať doručenku';
$labels['reqdsn'] = 'Vždy vyžadovať potvrdenie o doručení správy';
$labels['replysamefolder'] = 'Umietniť odpoveď do adresára, kde je umiestnená správa, na ktorú sa odpovedalo';
$labels['folder'] = 'Priečinok';
$labels['folders'] = 'Priečinky';
$labels['foldername'] = 'Názov priečinku';
@@ -320,6 +329,13 @@
$labels['createfolder'] = 'Vytvor nový priečinok';
$labels['managefolders'] = 'Spravovať priečinky';
$labels['specialfolders'] = 'Špeciálne priečinky';
$labels['properties'] = 'Vlastnosti';
$labels['folderproperties'] = 'Vlastnosti adresára';
$labels['parentfolder'] = 'Rodičovský adresár';
$labels['location'] = 'Umiestnenie';
$labels['info'] = 'Informácia';
$labels['getfoldersize'] = 'Kliknúť pre získanie leľkosti adresára';
$labels['changesubscription'] = 'Kliknúť pre zmenu prihlásenia odberu';
$labels['sortby'] = 'Triediť podľa';
$labels['sortasc'] = 'Triediť vzostupne';
$labels['sortdesc'] = 'Triediť zostupne';
@@ -346,4 +362,4 @@
$labels['korean'] = 'Korejčina';
$labels['chinese'] = 'Čínština';
?>
?>
program/localization/sk_SK/messages.inc
@@ -14,6 +14,7 @@
|         Lukas Kraic  <lukas.kraic@truni.sk>                           |
|         Peter Mann   <peter.mann@tuke.sk>                             |
|         Ales Pospichal   <ales@pospichalales.info>                    |
|         Martin Lacina    <martin@whistler.sk>                            |
+-----------------------------------------------------------------------+
@version $Id$
@@ -26,6 +27,9 @@
$messages['sessionerror'] = 'Vaše prihlásenie je neplatné alebo vypršala jeho platnosť';
$messages['imaperror'] = 'Nepodarilo sa spojiť s IMAP serverom';
$messages['servererror'] = 'Chyba servera!';
$messages['servererrormsg'] = 'Chyba servera: $msg';
$messages['errorreadonly'] = 'Nemožno vykonať operáciu. Adresár je len na čítanie';
$messages['errornoperm'] = 'Nemožno vykonať operáciu. Prístup odmietnutý';
$messages['invalidrequest'] = 'Chybný požiadavek. Žiadne údaje neboli uložené.';
$messages['nomessagesfound'] = 'Vo Vašej schránke nie je žiadna správa';
$messages['loggedout'] = 'Odhlásenie prebehlo úspešne. Dovidenia.';
@@ -59,6 +63,8 @@
$messages['purgefolderconfirm'] = 'Ste si istý, že chcete zmazať všetky správy v tomto priečinku?';
$messages['folderdeleting'] = 'Odstraňuje sa priečinok ...';
$messages['foldermoving'] = 'Prečinok sa presúva ...';
$messages['foldersubscribing'] = 'Prihlasujem sa k adresáru...';
$messages['folderunsubscribing'] = 'Odhlasujem sa z adresára...';
$messages['formincomplete'] = 'Formulár nie je kompletne vyplnený';
$messages['noemailwarning'] = 'Prosím, vložte platnú emailovú adresu';
$messages['nonamewarning'] = 'Prosím, zadajte meno';
@@ -78,6 +84,10 @@
$messages['checking'] = 'Kontroluje sa...';
$messages['nospellerrors'] = 'Pri kontrole pravopisu neboli nájdené chyby';
$messages['folderdeleted'] = 'Priečinok bol zmazaný';
$messages['foldersubscribed'] = 'Úspešne prihlásený k adresáru';
$messages['folderunsubscribed'] = 'Úspešne odhlásený z adresára';
$messages['folderpurged'] = 'Adresár bol vyprázdnený';
$messages['folderexpunged'] = 'Adresár bol zhustený';
$messages['deletedsuccessfully'] = 'Úspešne zmazané';
$messages['converting'] = 'Odstraňuje sa formátovanie správy...';
$messages['messageopenerror'] = 'Nedá sa načítať správa zo servera';
@@ -89,6 +99,8 @@
$messages['errorsavingcontact'] = 'Nedá sa uložiť adresa kontaktu';
$messages['movingmessage'] = 'Správa sa presúva...';
$messages['copyingmessage'] = 'Správa sa kopíruje...';
$messages['deletingmessage'] = 'Mažem správu(y)...';
$messages['markingmessage'] = 'Označujem správu(y)...';
$messages['receiptsent'] = 'Potvrdenie o prijatí správy bolo odoslané';
$messages['errorsendingreceipt'] = 'Potvrdenie o prijatí správy sa nedalo odoslať';
$messages['nodeletelastidentity'] = 'Identita sa nedá odstrániť, je posledná a musí zostať.';
@@ -109,10 +121,25 @@
$messages['smtpfromerror'] = 'Chyba SMTP: Nemožno nastaviť odosielateľa ($msg)';
$messages['smtptoerror'] = 'Chyba SMTP: Nemožno pridať príjemca ($msg)';
$messages['smtprecipientserror'] = 'Chyba SMTP: Nemožno spracovať zoznam príjemcov';
$messages['smtpdsnerror'] = 'SMTP chyba: Oznámenie o doručení nie je podporované';
$messages['smtperror'] = 'Chyba SMTP: $msg';
$messages['emailformaterror'] = 'Neplatná e-mailová adresa: $email';
$messages['toomanyrecipients'] = 'Príliš veľa príjemcov. Zmenšite počet príjemcov na $max.';
$messages['maxgroupmembersreached'] = 'Počet členov skupiny dosiahol maxima z $max';
$messages['internalerror'] = 'Došlo k internej chybe. Skúste to znova';
$messages['contactdelerror'] = 'Nemôžem vymazať kontakt(y)';
$messages['contactdeleted'] = 'Kontakt(y) bol vymazaný';
$messages['groupdeleted'] = 'Skupina bola vymazaná';
$messages['grouprenamed'] = 'Skupina bola premenovaná';
$messages['groupcreated'] = 'Skupina bola vytvorená';
$messages['messagedeleted'] = 'Správa(y) bola vymazaná';
$messages['messagemoved'] = 'Správa(y) bola presunutá';
$messages['messagecopied'] = 'Správa(y) bola skopírovaná';
$messages['messagemarked'] = 'Správa(y) bola označená';
$messages['autocompletechars'] = 'Zadajte najmenej $min znamkov pre automatické dopĺňanie';
$messages['namecannotbeempty'] = 'Meno nemôže byť prázdne';
$messages['nametoolong'] = 'Meno je príliš dlhé';
$messages['folderupdated'] = 'Adresár bol aktualizovaný';
$messages['foldercreated'] = 'Adresár bol vytvorený';
?>
program/localization/sv_SE/labels.inc
@@ -121,7 +121,7 @@
$labels['markunread'] = 'Oläst';
$labels['markflagged'] = 'Flaggat';
$labels['markunflagged'] = 'Oflaggat';
$labels['messageactions'] = 'Hantera meddelanden';
$labels['messageactions'] = 'Hantera meddelande';
$labels['select'] = 'Välj';
$labels['all'] = 'Alla';
$labels['none'] = 'Ingen';
@@ -156,7 +156,6 @@
$labels['folderactions'] = 'Hantera kataloger';
$labels['compact'] = 'Packa';
$labels['empty'] = 'Töm';
$labels['purge'] = 'Rensa';
$labels['quota'] = 'Diskutrymme';
$labels['unknown'] = 'okänt';
$labels['unlimited'] = 'obegränsat';
@@ -207,7 +206,33 @@
$labels['name'] = 'Namn';
$labels['firstname'] = 'Förnamn';
$labels['surname'] = 'Efternamn';
$labels['middlename'] = 'Mellannamn';
$labels['nameprefix'] = 'Prefix';
$labels['namesuffix'] = 'Suffix';
$labels['nickname'] = 'Smeknamn';
$labels['jobtitle'] = 'Titel';
$labels['department'] = 'Avdelning';
$labels['gender'] = 'Kön';
$labels['maidenname'] = 'Flicknamn';
$labels['email'] = 'E-post';
$labels['phone'] = 'Telefon';
$labels['address'] = 'Adress';
$labels['street'] = 'Gata';
$labels['locality'] = 'Ort';
$labels['zipcode'] = 'Postnummer';
$labels['region'] = 'Region';
$labels['country'] = 'Land';
$labels['birthday'] = 'Födelsedag';
$labels['anniversary'] = 'Årsdag';
$labels['website'] = 'Webbplats';
$labels['instantmessenger'] = 'IM';
$labels['notes'] = 'Anteckningar';
$labels['male'] = 'Man';
$labels['female'] = 'Kvinna';
$labels['manager'] = 'Chef';
$labels['assistant'] = 'Assistent';
$labels['spouse'] = 'Make/Maka';
$labels['addfield'] = 'Lägg till fält...';
$labels['addcontact'] = 'Lägg till ny kontakt';
$labels['editcontact'] = 'Ändra kontakt';
$labels['contacts'] = 'Kontakter';
@@ -216,6 +241,9 @@
$labels['cancel'] = 'Avbryt';
$labels['save'] = 'Spara';
$labels['delete'] = 'Ta bort';
$labels['rename'] = 'Ändra namn';
$labels['addphoto'] = 'Lägg till';
$labels['replacephoto'] = 'Ersätt';
$labels['newcontact'] = 'Ny kontakt';
$labels['deletecontact'] = 'Ta bort vald kontakt';
$labels['composeto'] = 'Nytt meddelande till vald kontakt';
@@ -323,7 +351,7 @@
$labels['folder'] = 'Katalog';
$labels['folders'] = 'Kataloger';
$labels['foldername'] = 'Katalognamn';
$labels['subscribed']  = 'Prenumererad';
$labels['subscribed'] = 'Prenumererad';
$labels['messagecount'] = 'Meddelanden';
$labels['create'] = 'Skapa';
$labels['createfolder'] = 'Ny katalog';
program/localization/sv_SE/messages.inc
@@ -139,5 +139,6 @@
$messages['nametoolong'] = 'Namnet är för långt';
$messages['folderupdated'] = 'Katalog uppdaterad';
$messages['foldercreated'] = 'Katalog skapad';
$messages['invalidimageformat'] = 'Ogiltigt bildfilsformat';
?>
program/localization/zh_TW/labels.inc
@@ -46,9 +46,6 @@
$labels['priority'] = '優先順序';
$labels['organization'] = '組織';
$labels['readstatus'] = '讀信狀態';
$labels['reply-to'] = '回覆至';
$labels['mail-reply-to'] = '信件回覆至';
$labels['mail-followup-to'] = '信件跟隨至';
$labels['mailboxlist'] = '資料夾';
$labels['messagesfromto'] = '郵件 $from 至 $to,共有 $count 封郵件';
$labels['threadsfromto'] = '郵件串 $from 至 $to,共有 $count 個';
@@ -159,7 +156,6 @@
$labels['folderactions'] = '資料夾動作...';
$labels['compact'] = '壓縮';
$labels['empty'] = '清空';
$labels['purge'] = '清除';
$labels['quota'] = '磁碟使用量';
$labels['unknown'] = '未知';
$labels['unlimited'] = '無限制';
@@ -210,15 +206,45 @@
$labels['name'] = '顯示名稱';
$labels['firstname'] = '名稱';
$labels['surname'] = '姓氏';
$labels['middlename'] = '中名';
$labels['nameprefix'] = '名';
$labels['namesuffix'] = '姓';
$labels['nickname'] = '暱稱';
$labels['jobtitle'] = '職位';
$labels['department'] = '部門';
$labels['gender'] = '性別';
$labels['maidenname'] = '姓';
$labels['email'] = '電子郵件';
$labels['phone'] = '電話';
$labels['address'] = '地址';
$labels['street'] = '街道';
$labels['locality'] = '城市';
$labels['zipcode'] = '郵遞區號';
$labels['region'] = '地區';
$labels['country'] = '國家';
$labels['birthday'] = '生日';
$labels['anniversary'] = '周年纪念日';
$labels['website'] = '網站';
$labels['instantmessenger'] = '即時通訊';
$labels['notes'] = '註解';
$labels['male'] = '男';
$labels['female'] = '女';
$labels['manager'] = '經理';
$labels['assistant'] = '助理';
$labels['spouse'] = '配偶';
$labels['addfield'] = '新增欄位...';
$labels['addcontact'] = '新增聯絡人';
$labels['editcontact'] = '編輯聯絡人';
$labels['contacts'] = '聯絡人';
$labels['contactproperties'] = '聯絡人資訊';
$labels['personalinfo'] = '個人資訊';
$labels['edit'] = '編輯';
$labels['cancel'] = '取消';
$labels['save'] = '儲存';
$labels['delete'] = '刪除';
$labels['rename'] = '重新命名';
$labels['addphoto'] = '新增';
$labels['replacephoto'] = '取代';
$labels['newcontact'] = '建立新聯絡人資料';
$labels['deletecontact'] = '刪除所選擇的聯絡人';
$labels['composeto'] = '寄信至所選擇的聯絡人';
@@ -332,6 +358,13 @@
$labels['createfolder'] = '建立新資料夾';
$labels['managefolders'] = '管理資料夾';
$labels['specialfolders'] = '預設資料夾設定';
$labels['properties'] = '屬性';
$labels['folderproperties'] = '資料夾屬性';
$labels['parentfolder'] = '上一層資料夾';
$labels['location'] = '位置';
$labels['info'] = '資訊';
$labels['getfoldersize'] = '點擊顯示資料夾大小';
$labels['changesubscription'] = '點擊以改變訂閱';
$labels['sortby'] = '排序';
$labels['sortasc'] = '遞增排序';
$labels['sortdesc'] = '遞減排序';
program/localization/zh_TW/messages.inc
@@ -26,6 +26,8 @@
$messages['imaperror'] = '連線到 IMAP 伺服器失敗';
$messages['servererror'] = '伺服器錯誤!';
$messages['servererrormsg'] = '伺服器錯誤:$msg';
$messages['errorreadonly'] = '動作無法完成。資料夾唯讀';
$messages['errornoperm'] = '動作無法完成。權限不符';
$messages['invalidrequest'] = '要求無效!未儲存任何資料。';
$messages['nomessagesfound'] = '此郵件匣沒有任何郵件';
$messages['loggedout'] = '你已成功地登出並結束工作階段了。再見!';
@@ -59,6 +61,8 @@
$messages['purgefolderconfirm'] = '你確定要刪除這個資料夾裡面所有的郵件嗎?';
$messages['folderdeleting'] = '刪除資料夾中...';
$messages['foldermoving'] = '移動資料夾中...';
$messages['foldersubscribing'] = '訂閱資料夾...';
$messages['folderunsubscribing'] = '取消訂閱資料夾...';
$messages['formincomplete'] = '這個表單有部分未填,請完整填寫';
$messages['noemailwarning'] = '請輸入一個有效的電子郵件位址';
$messages['nonamewarning'] = '請輸入名字';
@@ -78,6 +82,10 @@
$messages['checking'] = '檢查中...';
$messages['nospellerrors'] = '沒有找到任何拼字錯誤';
$messages['folderdeleted'] = '資料夾已經成功地被刪除';
$messages['foldersubscribed'] = '資料夾成功訂閱';
$messages['folderunsubscribed'] = '資料夾成功取消訂閱';
$messages['folderpurged'] = '資料夾成功清空';
$messages['folderexpunged'] = '資料夾成功壓縮';
$messages['deletedsuccessfully'] = '刪除成功';
$messages['converting'] = '移除郵件格式中...';
$messages['messageopenerror'] = '無法從伺服器載入郵件';
@@ -127,5 +135,10 @@
$messages['messagecopied'] = '訊息成功複製';
$messages['messagemarked'] = '訊息成功標示';
$messages['autocompletechars'] = '輸入至少 $min 字元才能自動完成自動完成';
$messages['namecannotbeempty'] = '名稱不可空白';
$messages['nametoolong'] = '名稱太長';
$messages['folderupdated'] = '資料夾成功更新';
$messages['foldercreated'] = '資料夾成功建立';
$messages['invalidimageformat'] = '圖片格式錯誤';
?>
program/steps/addressbook/save.inc
@@ -121,6 +121,18 @@
  if ($insert_id) {
    // add new contact to the specified group
    if ($CONTACTS->group_id) {
      $plugin = $RCMAIL->plugins->exec_hook('group_addmembers', array('group_id' => $CONTACTS->group_id, 'ids' => $insert_id, 'source' => $source));
      if (!$plugin['abort']) {
        if (($maxnum = $RCMAIL->config->get('max_group_members', 0)) && ($CONTACTS->count()->count + 1 > $maxnum))
          $OUTPUT->show_message('maxgroupmembersreached', 'warning', array('max' => $maxnum));
        $CONTACTS->add_to_group($gid, $plugin['ids']);
      }
    }
    // add contact row or jump to the page where it should appear
    $CONTACTS->reset();
    $result = $CONTACTS->search($CONTACTS->primary_key, $insert_id);
program/steps/mail/func.inc
@@ -273,7 +273,7 @@
      if (in_array($col, array('from', 'to', 'cc', 'replyto')))
        $cont = Q(rcmail_address_string($header->$col, 3), 'show');
      else if ($col=='subject') {
        $cont = abbreviate_string(trim($IMAP->decode_header($header->$col)), 160);
        $cont = trim($IMAP->decode_header($header->$col));
        if (!$cont) $cont = rcube_label('nosubject');
        $cont = Q($cont);
      }
@@ -665,7 +665,8 @@
  // trigger plugin hook
  $data = $RCMAIL->plugins->exec_hook('message_part_before',
    array('type' => $part->ctype_secondary, 'body' => $part->body) + $p + array('safe' => false, 'plain' => false, 'inline_html' => true));
    array('type' => $part->ctype_secondary, 'body' => $part->body, 'id' => $part->mime_id)
        + $p + array('safe' => false, 'plain' => false, 'inline_html' => true));
  // convert html to text/plain
  if ($data['type'] == 'html' && $data['plain']) {
@@ -698,7 +699,8 @@
    $body = rcmail_plain_body($body, $part->ctype_parameters['format'] == 'flowed');
  // allow post-processing of the message body
  $data = $RCMAIL->plugins->exec_hook('message_part_after', array('type' => $part->ctype_secondary, 'body' => $body) + $data);
  $data = $RCMAIL->plugins->exec_hook('message_part_after',
    array('type' => $part->ctype_secondary, 'body' => $body, 'id' => $part->mime_id) + $data);
  return $data['type'] == 'html' ? $data['body'] : html::tag('pre', array(), $data['body']);
}
@@ -827,10 +829,10 @@
    case 'style':
      // decode all escaped entities and reduce to ascii strings
      $stripped = preg_replace('/[^a-zA-Z\(:]/', '', rcmail_xss_entity_decode($content));
      $stripped = preg_replace('/[^a-zA-Z\(:;]/', '', rcmail_xss_entity_decode($content));
      // now check for evil strings like expression, behavior or url()
      if (!preg_match('/expression|behavior|url\(|import/', $stripped)) {
      if (!preg_match('/expression|behavior|url\(|import[^a]/', $stripped)) {
        $out = html::tag('style', array('type' => 'text/css'), $content);
        break;
      }
@@ -940,16 +942,25 @@
    $table->add(array('class' => 'header '.$hkey), Q($row['value'], ($hkey == 'subject' ? 'strict' : 'show')));
  }
  // all headers division
  $table->add(array('colspan' => 2, 'class' => "more-headers show-headers", 'onclick' => "return ".JS_OBJECT_NAME.".command('load-headers','',this)"), '');
  $table->add_row(array('id' => "all-headers"));
  $table->add(array('colspan' => 2, 'class' => "all"), html::div(array('id' => 'headers-source'), ''));
  return $table->show($attrib);
}
/**
 * return block to show full message headers
 */
function rcmail_message_full_headers($attrib, $headers=NULL)
{
  global $OUTPUT;
  $html = html::div(array('class' => "more-headers show-headers", 'onclick' => "return ".JS_OBJECT_NAME.".command('load-headers','',this)"), '');
  $html .= html::div(array('id' => "all-headers", 'class' => "all", 'style' => 'display:none'), html::div(array('id' => 'headers-source'), ''));
  
  $OUTPUT->add_gui_object('all_headers_row', 'all-headers');
  $OUTPUT->add_gui_object('all_headers_box', 'headers-source');
  return $table->show($attrib);
  }
  return html::div($attrib, $html);
}
/**
@@ -1749,6 +1760,7 @@
  'quotadisplay' => 'rcmail_quota_display',
  'mailboxname' => 'rcmail_mailbox_name_display',
  'messageheaders' => 'rcmail_message_headers',
  'messagefullheaders' => 'rcmail_message_full_headers',
  'messagebody' => 'rcmail_message_body',
  'messagecontentframe' => 'rcmail_messagecontent_frame',
  'messagepartframe' => 'rcmail_message_part_frame',
program/steps/settings/folders.inc
@@ -42,8 +42,16 @@
            }
        }
        if ($result)
        if ($result) {
            // Handle subscription of protected folder (#1487656)
            if ($CONFIG['protect_default_folders'] == true
                && in_array($mbox, $CONFIG['default_imap_folders'])
            ) {
                $OUTPUT->command('disable_subscription', $mbox);
            }
            $OUTPUT->show_message('foldersubscribed', 'confirmation');
        }
        else
            rcmail_display_server_error('errorsaving');
    }
@@ -294,13 +302,16 @@
            $noselect = in_array('\\Noselect', $opts);
        }
        $disabled = (($protected && $subscribed) || $noselect);
        $table->add_row(array('id' => 'rcmrow'.$idx, 'class' => join(' ', $classes)));
    
        $table->add('name', $display_folder);
        $table->add('subscribed', $checkbox_subscribe->show(($subscribed ? $folder_utf8 : ''),
            array('value' => $folder_utf8, 'disabled' => ($protected || $noselect) ? 'disabled' : '')));
            array('value' => $folder_utf8, 'disabled' => $disabled ? 'disabled' : '')));
        $a_js_folders['rcmrow'.$idx] = array($folder_utf8, Q($display_folder), $protected || $folder['virtual']);
        $a_js_folders['rcmrow'.$idx] = array($folder_utf8,
            Q($display_folder), $protected || $folder['virtual']);
    }
    $RCMAIL->plugins->exec_hook('folders_list', array('table' => $table));
program/steps/settings/func.inc
@@ -756,7 +756,6 @@
  return $skins;
}
// register UI objects
$OUTPUT->add_handlers(array(
  'prefsframe' => 'rcmail_preferences_frame',
program/steps/settings/save_prefs.inc
@@ -129,6 +129,8 @@
    if (isset($CONFIG['max_pagesize']) && ($a_user_prefs['pagesize'] > $CONFIG['max_pagesize']))
      $a_user_prefs['pagesize'] = (int) $CONFIG['max_pagesize'];
    $a_user_prefs['timezone'] = $_SESSION['timezone'] = (string) $a_user_prefs['timezone'];
  break;
  case 'mailbox':
skins/default/common.css
@@ -828,7 +828,7 @@
span.tablink a,
span.tablink-selected a
{
  display: block;
  display: inline-block;
  padding: 5px 10px 0 5px;
  margin-left: 5px;
  height: 23px;
skins/default/ie6hacks.css
@@ -116,7 +116,7 @@
  height: expression((parseInt(this.parentNode.offsetHeight)-23-parseInt(this.style.top?this.style.top:21))+'px');
}
#directorylistbox
#directorylistbox, #folder-manager
{
  height: expression((parseInt(document.documentElement.clientHeight)-105)+'px');
}
skins/default/iehacks.css
@@ -236,3 +236,8 @@
{
  margin-top: 2px;
}
#directorylistbox div
{
  min-height: 0;
}
skins/default/mail.css
@@ -383,6 +383,11 @@
  border-bottom: 1px solid #EBEBEB;
}
#mailboxlist li ul li:last-child
{
  border-bottom: none;
}
#mailboxlist li div
{
  position: absolute;
@@ -1007,17 +1012,12 @@
  background-color: #EBEBEB;
}
#messagebody #full-headers,
#messagebody table.headers-table
{
  width: auto;
  margin: 6px 8px;
  background-color: #F4F4F4;
  border: 1px solid #ccc;
}
#messageframe table.headers-table
{
  border-bottom: 1px solid #ccc;
}
table.headers-table tr td
@@ -1033,7 +1033,7 @@
  font-weight: bold;
  text-align: right;
  white-space: nowrap;
  padding: 0 4px;
  padding: 0 4px 0 8px;
}
table.headers-table tr td.header
@@ -1046,25 +1046,6 @@
  font-weight: bold;
}
table.headers-table tr td.all
{
  width: 100%;
  color: #666666;
  text-align: left;
  padding-right: 10px;
  text-align: center;
  padding: 2px 6px 4px 6px;
  border-bottom: 0;
}
table.headers-table tr td.more-headers
{
  cursor: pointer;
  width: 100%;
  height: 8px;
  border-bottom: 0;
}
#attachment-list
{
  margin: 0;
@@ -1073,6 +1054,16 @@
  list-style-image: none;
  list-style-type: none;
  background: url(images/icons/attachment.png) 4px 2px no-repeat #DFDFDF;
}
#messageframe #attachment-list
{
  border-bottom: 1px solid #ccc;
}
.messageheaderbox #attachment-list
{
  border-top: 1px solid #ccc;
}
#attachment-list:after
@@ -1210,31 +1201,45 @@
  border: 0;
}
td.show-headers
#full-headers
{
  color: #666666;
  text-align: center;
  padding: 2px 6px;
  border-bottom: 1px solid #ccc;
  background-color: #EBEBEB;
}
.messageheaderbox #full-headers
{
  border-bottom: 0;
}
div.more-headers
{
  cursor: pointer;
  height: 8px;
  border-bottom: 0;
}
div.show-headers
{
  background: url(images/icons/down_small.gif) no-repeat center;
}
td.hide-headers
div.hide-headers
{
  background: url(images/icons/up_small.gif) no-repeat center;
}
#all-headers
{
  height: 150px;
  display: none;
}
#headers-source
{
  margin: 0 5px;
  margin: 0 0 2px 0;
  padding: 0.5em;
  height: 145px;
  background: white;
  overflow: auto;
  font-size: 11px;
  white-space: nowrap;
  border: 1px solid #999999;
  display: none;
  text-align: left;
skins/default/templates/addressbook.html
@@ -40,6 +40,7 @@
  <roundcube:object name="directorylist" id="directorylist" />
  <roundcube:object name="groupslist" id="contactgroupslist" />
</div>
<!--[if lte IE 7]><div></div><![endif]-->
<div class="boxfooter">
  <roundcube:button command="group-create" type="link" title="newcontactgroup" class="buttonPas addgroup" classAct="button addgroup" content=" " />
  <roundcube:button name="groupmenulink" id="groupmenulink" type="link" title="groupactions" class="button groupactions" onclick="rcmail_ui.show_popup('groupmenu');return false" content=" " />
skins/default/templates/message.html
@@ -50,6 +50,7 @@
<div id="messageframe">
<div class="boxlistcontent" style="top:0; overflow-x:auto">
<roundcube:object name="messageHeaders" class="headers-table" cellspacing="0" cellpadding="2" addicon="/images/icons/silhouette.png" summary="Message headers" />
<roundcube:object name="messageFullHeaders" id="full-headers" />
<roundcube:object name="messageAttachments" id="attachment-list" />
<roundcube:object name="blockedObjects" id="remote-objects-message" />
skins/default/templates/messagepreview.html
@@ -9,6 +9,7 @@
<div class="messageheaderbox">
<roundcube:button command="permaurl" image="/images/icons/extwin.png" width="15" height="15" title="openinextwin" id="messageviewlink" target="_blank" />
<roundcube:object name="messageHeaders" class="headers-table" cellspacing="0" cellpadding="2" addicon="/images/icons/silhouette.png" summary="Message headers" />
<roundcube:object name="messageFullHeaders" id="full-headers" />
<roundcube:object name="messageAttachments" id="attachment-list" />
</div>