Page MenuHomePhorge

No OneTemporary

diff --git a/program/include/rcube_shared.inc b/program/include/rcube_shared.inc
index 3b63d9c0e..26de5b45c 100644
--- a/program/include/rcube_shared.inc
+++ b/program/include/rcube_shared.inc
@@ -1,591 +1,591 @@
<?php
/*
+-----------------------------------------------------------------------+
| rcube_shared.inc |
| |
| This file is part of the RoundCube PHP suite |
| Copyright (C) 2005-2007, RoundCube Dev. - Switzerland |
| Licensed under the GNU GPL |
| |
| CONTENTS: |
| Shared functions and classes used in PHP projects |
| |
+-----------------------------------------------------------------------+
| Author: Thomas Bruederli <roundcube@gmail.com> |
+-----------------------------------------------------------------------+
$Id$
*/
/**
* RoundCube shared functions
*
* @package Core
*/
/**
* Send HTTP headers to prevent caching this page
*/
function send_nocacheing_headers()
{
if (headers_sent())
return;
header("Expires: ".gmdate("D, d M Y H:i:s")." GMT");
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
header("Cache-Control: private, no-store, no-cache, must-revalidate, post-check=0, pre-check=0");
header("Pragma: no-cache");
// We need to set the following headers to make downloads work using IE in HTTPS mode.
if (isset($_SERVER['HTTPS'])) {
header('Pragma: ');
header('Cache-Control: ');
}
}
/**
* Send header with expire date 30 days in future
*
* @param int Expiration time in seconds
*/
function send_future_expire_header($offset=2600000)
{
if (headers_sent())
return;
header("Expires: ".gmdate("D, d M Y H:i:s", mktime()+$offset)." GMT");
header("Cache-Control: max-age=$offset");
header("Pragma: ");
}
/**
* Check request for If-Modified-Since and send an according response.
* This will terminate the current script if headers match the given values
*
* @param int Modified date as unix timestamp
* @param string Etag value for caching
*/
function send_modified_header($mdate, $etag=null, $skip_check=false)
{
if (headers_sent())
return;
$iscached = false;
$etag = $etag ? "\"$etag\"" : null;
if (!$skip_check)
{
if ($_SERVER['HTTP_IF_MODIFIED_SINCE'] && strtotime($_SERVER['HTTP_IF_MODIFIED_SINCE']) >= $mdate)
$iscached = true;
if ($etag)
$iscached = ($_SERVER['HTTP_IF_NONE_MATCH'] == $etag);
}
if ($iscached)
header("HTTP/1.x 304 Not Modified");
else
header("Last-Modified: ".gmdate("D, d M Y H:i:s", $mdate)." GMT");
header("Cache-Control: max-age=0");
header("Expires: ");
header("Pragma: ");
if ($etag)
header("Etag: $etag");
if ($iscached)
{
ob_end_clean();
exit;
}
}
/**
* Returns whether an $str is a reserved word for any of the version of Javascript or ECMAScript
* @param str String to check
* @return boolean True if $str is a reserver word, False if not
*/
function is_js_reserved_word($str)
{
return in_array($str, array(
// ECMASript ver 4 reserved words
'as','break','case','catch','class','const','continue',
'default','delete','do','else','export','extends','false','finally','for','function',
'if','import','in','instanceof','is','namespace','new','null','package','private',
'public','return','super','switch','this','throw','true','try','typeof','use','var',
'void','while','with',
// ECMAScript ver 4 future reserved words
'abstract','debugger','enum','goto','implements','interface','native','protected',
'synchronized','throws','transient','volatile',
// special meaning in some contexts
'get','set',
// were reserved in ECMAScript ver 3
'boolean','byte','char','double','final','float','int','long','short','static'
));
}
/**
* Convert a variable into a javascript object notation
*
* @param mixed Input value
* @return string Serialized JSON string
*/
function json_serialize($var)
{
if (is_object($var))
$var = get_object_vars($var);
if (is_array($var))
{
// empty array
if (!sizeof($var))
return '[]';
else
{
$keys_arr = array_keys($var);
$is_assoc = $have_numeric = 0;
for ($i=0; $i<sizeof($keys_arr); ++$i)
{
if (is_numeric($keys_arr[$i]))
$have_numeric = 1;
if (!is_numeric($keys_arr[$i]) || $keys_arr[$i] != $i)
$is_assoc = 1;
if ($is_assoc && $have_numeric)
break;
}
$brackets = $is_assoc ? '{}' : '[]';
$pairs = array();
foreach ($var as $key => $value)
{
// enclose key with quotes if it is not variable-name conform
if (!ereg("^[_a-zA-Z]{1}[_a-zA-Z0-9]*$", $key) || is_js_reserved_word($key))
$key = "'$key'";
$pairs[] = sprintf("%s%s", $is_assoc ? "$key:" : '', json_serialize($value));
}
return $brackets{0} . implode(',', $pairs) . $brackets{1};
}
}
else if (is_numeric($var) && strval(intval($var)) === strval($var))
return $var;
else if (is_bool($var))
return $var ? '1' : '0';
else
return "'".JQ($var)."'";
}
/**
* Function to convert an array to a javascript array
* Actually an alias function for json_serialize()
* @deprecated
*/
function array2js($arr, $type='')
{
return json_serialize($arr);
}
/**
* Similar function as in_array() but case-insensitive
*
* @param mixed Needle value
* @param array Array to search in
* @return boolean True if found, False if not
*/
function in_array_nocase($needle, $haystack)
{
$needle = rc_strtolower($needle);
foreach ($haystack as $value)
if ($needle===rc_strtolower($value))
return true;
return false;
}
/**
* Find out if the string content means TRUE or FALSE
*
* @param string Input value
* @return boolean Imagine what!
*/
function get_boolean($str)
{
$str = strtolower($str);
if(in_array($str, array('false', '0', 'no', 'nein', ''), TRUE))
return FALSE;
else
return TRUE;
}
/**
* Parse a human readable string for a number of bytes
*
* @param string Input string
* @return int Number of bytes
*/
function parse_bytes($str)
{
if (is_numeric($str))
return intval($str);
if (preg_match('/([0-9]+)([a-z])/i', $str, $regs))
{
$bytes = floatval($regs[1]);
switch (strtolower($regs[2]))
{
case 'g':
$bytes *= 1073741824;
break;
case 'm':
$bytes *= 1048576;
break;
case 'k':
$bytes *= 1024;
break;
}
}
return intval($bytes);
}
/**
* Create a human readable string for a number of bytes
*
* @param int Number of bytes
* @return string Byte string
*/
function show_bytes($bytes)
{
if ($bytes > 1073741824)
{
$gb = $bytes/1073741824;
$str = sprintf($gb>=10 ? "%d " : "%.1f ", $gb) . rcube_label('GB');
}
else if ($bytes > 1048576)
{
$mb = $bytes/1048576;
$str = sprintf($mb>=10 ? "%d " : "%.1f ", $mb) . rcube_label('MB');
}
else if ($bytes > 1024)
$str = sprintf("%d ", round($bytes/1024)) . rcube_label('KB');
else
$str = sprintf('%d ', $bytes) . rcube_label('B');
return $str;
}
/**
* Convert paths like ../xxx to an absolute path using a base url
*
* @param string Relative path
* @param string Base URL
* @return string Absolute URL
*/
function make_absolute_url($path, $base_url)
{
$host_url = $base_url;
$abs_path = $path;
// check if path is an absolute URL
if (preg_match('/^[fhtps]+:\/\//', $path))
return $path;
// cut base_url to the last directory
if (strpos($base_url, '/')>7)
{
$host_url = substr($base_url, 0, strpos($base_url, '/'));
$base_url = substr($base_url, 0, strrpos($base_url, '/'));
}
// $path is absolute
if ($path{0}=='/')
$abs_path = $host_url.$path;
else
{
// strip './' because its the same as ''
$path = preg_replace('/^\.\//', '', $path);
if (preg_match_all('/\.\.\//', $path, $matches, PREG_SET_ORDER))
foreach ($matches as $a_match)
{
if (strrpos($base_url, '/'))
$base_url = substr($base_url, 0, strrpos($base_url, '/'));
$path = substr($path, 3);
}
$abs_path = $base_url.'/'.$path;
}
return $abs_path;
}
/**
* Wrapper function for strlen
*/
function rc_strlen($str)
{
if (function_exists('mb_strlen'))
return mb_strlen($str);
else
return strlen($str);
}
/**
* Wrapper function for strtolower
*/
function rc_strtolower($str)
{
if (function_exists('mb_strtolower'))
return mb_strtolower($str);
else
return strtolower($str);
}
/**
* Wrapper function for substr
*/
function rc_substr($str, $start, $len=null)
{
if (function_exists('mb_substr'))
return mb_substr($str, $start, $len);
else
return substr($str, $start, $len);
}
/**
* Wrapper function for strpos
*/
function rc_strpos($haystack, $needle, $offset=0)
{
if (function_exists('mb_strpos'))
return mb_strpos($haystack, $needle, $offset);
else
return strpos($haystack, $needle, $offset);
}
/**
* Wrapper function for strrpos
*/
function rc_strrpos($haystack, $needle, $offset=0)
{
if (function_exists('mb_strrpos'))
return mb_strrpos($haystack, $needle, $offset);
else
return strrpos($haystack, $needle, $offset);
}
/**
* Read a specific HTTP request header
*
* @access static
* @param string $name Header name
* @return mixed Header value or null if not available
*/
function rc_request_header($name)
{
if (function_exists('getallheaders'))
{
$hdrs = array_change_key_case(getallheaders(), CASE_UPPER);
$key = strtoupper($name);
}
else
{
$key = 'HTTP_' . strtoupper(strtr($name, '-', '_'));
$hdrs = array_change_key_case($_SERVER, CASE_UPPER);
}
return $hdrs[$key];
}
/**
* Replace the middle part of a string with ...
* if it is longer than the allowed length
*
* @param string Input string
* @param int Max. length
* @param string Replace removed chars with this
* @return string Abbreviated string
*/
function abbreviate_string($str, $maxlength, $place_holder='...')
{
$length = rc_strlen($str);
$first_part_length = floor($maxlength/2) - rc_strlen($place_holder);
if ($length > $maxlength)
{
$second_starting_location = $length - $maxlength + $first_part_length + 1;
$str = rc_substr($str, 0, $first_part_length) . $place_holder . rc_substr($str, $second_starting_location, $length);
}
return $str;
}
/**
* Make sure the string ends with a slash
*/
function slashify($str)
{
return unslashify($str).'/';
}
/**
* Remove slash at the end of the string
*/
function unslashify($str)
{
return preg_replace('/\/$/', '', $str);
}
/**
* Delete all files within a folder
*
* @param string Path to directory
* @return boolean True on success, False if directory was not found
*/
function clear_directory($dir_path)
{
$dir = @opendir($dir_path);
if(!$dir) return FALSE;
while ($file = readdir($dir))
if (strlen($file)>2)
unlink("$dir_path/$file");
closedir($dir);
return TRUE;
}
/**
* Create a unix timestamp with a specified offset from now
*
* @param string String representation of the offset (e.g. 20min, 5h, 2days)
* @param int Factor to multiply with the offset
* @return int Unix timestamp
*/
function get_offset_time($offset_str, $factor=1)
{
if (preg_match('/^([0-9]+)\s*([smhdw])/i', $offset_str, $regs))
{
$amount = (int)$regs[1];
$unit = strtolower($regs[2]);
}
else
{
$amount = (int)$offset_str;
$unit = 's';
}
$ts = mktime();
switch ($unit)
{
case 'w':
$amount *= 7;
case 'd':
$amount *= 24;
case 'h':
$amount *= 60;
case 'm':
$amount *= 60;
case 's':
$ts += $amount * $factor;
}
return $ts;
}
/**
* A method to guess the mime_type of an attachment.
*
* @param string $path Path to the file.
* @param string $failover Mime type supplied for failover.
*
* @return string
* @author Till Klampaeckel <till@php.net>
* @see http://de2.php.net/manual/en/ref.fileinfo.php
* @see http://de2.php.net/mime_content_type
*/
function rc_mime_content_type($path, $failover = 'application/octet-stream')
{
$mime_type = null;
$mime_magic = rcmail::get_instance()->config->get('mime_magic');
if (!extension_loaded('fileinfo')) {
@dl('fileinfo.' . PHP_SHLIB_SUFFIX);
}
if (function_exists('finfo_open')) {
if ($finfo = finfo_open(FILEINFO_MIME, $mime_magic)) {
$mime_type = finfo_file($finfo, $path);
finfo_close($finfo);
}
}
if (!$mime_type && function_exists('mime_content_type')) {
$mime_type = mime_content_type($path);
}
if (!$mime_type) {
$mime_type = $failover;
}
return $mime_type;
}
/**
* A method to guess encoding of a string.
*
* @param string $string String.
* @param string $failover Default result for failover.
*
* @return string
*/
function rc_detect_encoding($string, $failover='')
{
if (!function_exists('mb_detect_encoding')) {
return $failover;
}
// FIXME: the order is important, because sometimes
// iso string is detected as euc-jp and etc.
$enc = array(
- 'SJIS', 'BIG5', 'GB2312', 'UTF-8',
- 'ISO-8859-1', 'ISO-8859-2', 'ISO-8859-3', 'ISO-8859-4',
- 'ISO-8859-5', 'ISO-8859-6', 'ISO-8859-7', 'ISO-8859-8', 'ISO-8859-9',
- 'ISO-8859-10', 'ISO-8859-13', 'ISO-8859-14', 'ISO-8859-15', 'ISO-8859-16',
- 'WINDOWS-1252', 'WINDOWS-1251', 'EUC-JP', 'EUC-TW', 'KOI8-R',
- 'ISO-2022-KR', 'ISO-2022-JP'
+ 'UTF-8', 'SJIS', 'BIG5', 'GB2312',
+ 'ISO-8859-1', 'ISO-8859-2', 'ISO-8859-3', 'ISO-8859-4',
+ 'ISO-8859-5', 'ISO-8859-6', 'ISO-8859-7', 'ISO-8859-8', 'ISO-8859-9',
+ 'ISO-8859-10', 'ISO-8859-13', 'ISO-8859-14', 'ISO-8859-15', 'ISO-8859-16',
+ 'WINDOWS-1252', 'WINDOWS-1251', 'EUC-JP', 'EUC-TW', 'KOI8-R',
+ 'ISO-2022-KR', 'ISO-2022-JP'
);
$result = mb_detect_encoding($string, join(',', $enc));
return $result ? $result : $failover;
}
?>
diff --git a/program/include/rcube_vcard.php b/program/include/rcube_vcard.php
index ca7ca0822..ea345415d 100644
--- a/program/include/rcube_vcard.php
+++ b/program/include/rcube_vcard.php
@@ -1,421 +1,434 @@
<?php
/*
+-----------------------------------------------------------------------+
| program/include/rcube_vcard.php |
| |
| This file is part of the RoundCube Webmail client |
| Copyright (C) 2008, RoundCube Dev. - Switzerland |
| Licensed under the GNU GPL |
| |
| PURPOSE: |
| Logical representation of a vcard address record |
+-----------------------------------------------------------------------+
| Author: Thomas Bruederli <roundcube@gmail.com> |
+-----------------------------------------------------------------------+
$Id: $
*/
/**
* Logical representation of a vcard-based address record
* Provides functions to parse and export vCard data format
*
* @package Addressbook
* @author Thomas Bruederli <roundcube@gmail.com>
*/
class rcube_vcard
{
private $raw = array(
'FN' => array(),
'N' => array(array('','','','','')),
);
public $business = false;
public $displayname;
public $surname;
public $firstname;
public $middlename;
public $nickname;
public $organization;
public $notes;
public $email = array();
/**
* Constructor
*/
public function __construct($vcard = null)
{
if (!empty($vcard))
$this->load($vcard);
}
/**
* Load record from (internal, unfolded) vcard 3.0 format
*
* @param string vCard string to parse
*/
public function load($vcard)
{
$this->raw = self::vcard_decode($vcard);
// find well-known address fields
$this->displayname = $this->raw['FN'][0];
$this->surname = $this->raw['N'][0][0];
$this->firstname = $this->raw['N'][0][1];
$this->middlename = $this->raw['N'][0][2];
$this->nickname = $this->raw['NICKNAME'][0];
$this->organization = $this->raw['ORG'][0];
$this->business = ($this->raw['X-ABShowAs'][0] == 'COMPANY') || (join('', (array)$this->raw['N'][0]) == '' && !empty($this->organization));
foreach ((array)$this->raw['EMAIL'] as $i => $raw_email)
$this->email[$i] = is_array($raw_email) ? $raw_email[0] : $raw_email;
// make the pref e-mail address the first entry in $this->email
$pref_index = $this->get_type_index('EMAIL', 'pref');
if ($pref_index > 0) {
$tmp = $this->email[0];
$this->email[0] = $this->email[$pref_index];
$this->email[$pref_index] = $tmp;
}
}
/**
* Convert the data structure into a vcard 3.0 string
*/
public function export()
{
return self::rfc2425_fold(self::vcard_encode($this->raw));
}
/**
* Setter for address record fields
*
* @param string Field name
* @param string Field value
* @param string Section name
*/
public function set($field, $value, $section = 'HOME')
{
switch ($field) {
case 'name':
case 'displayname':
$this->raw['FN'][0] = $value;
break;
case 'firstname':
$this->raw['N'][0][1] = $value;
break;
case 'surname':
$this->raw['N'][0][0] = $value;
break;
case 'nickname':
$this->raw['NICKNAME'][0] = $value;
break;
case 'organization':
$this->raw['ORG'][0] = $value;
break;
case 'email':
$index = $this->get_type_index('EMAIL', $section);
if (!is_array($this->raw['EMAIL'][$index])) {
$this->raw['EMAIL'][$index] = array(0 => $value, 'type' => array('INTERNET', $section, 'pref'));
}
else {
$this->raw['EMAIL'][$index][0] = $value;
}
break;
}
}
/**
* Find index with the '$type' attribute
*
* @param string Field name
* @return int Field index having $type set
*/
private function get_type_index($field, $type = 'pref')
{
$result = 0;
if ($this->raw[$field]) {
foreach ($this->raw[$field] as $i => $data) {
if (is_array($data['type']) && in_array_nocase('pref', $data['type']))
$result = $i;
}
}
return $result;
}
/**
* Factory method to import a vcard file
*
* @param string vCard file content
* @return array List of rcube_vcard objects
*/
public static function import($data)
{
$out = array();
// detect charset and convert to utf-8
$encoding = self::detect_encoding($data);
if ($encoding && $encoding != RCMAIL_CHARSET) {
$data = rcube_charset_convert($data, $encoding);
}
$vcard_block = '';
$in_vcard_block = false;
foreach (preg_split("/[\r\n]+/", $data) as $i => $line) {
if ($in_vcard_block && !empty($line))
$vcard_block .= $line . "\n";
if (trim($line) == 'END:VCARD') {
// parse vcard
$obj = new rcube_vcard(self::cleanup($vcard_block));
if (!empty($obj->displayname))
$out[] = $obj;
$in_vcard_block = false;
}
else if (trim($line) == 'BEGIN:VCARD') {
$vcard_block = $line . "\n";
$in_vcard_block = true;
}
}
return $out;
}
/**
* Normalize vcard data for better parsing
*
* @param string vCard block
* @return string Cleaned vcard block
*/
private static function cleanup($vcard)
{
// Convert special types (like Skype) to normal type='skype' classes with this simple regex ;)
$vcard = preg_replace(
'/item(\d+)\.(TEL|URL)([^:]*?):(.*?)item\1.X-ABLabel:(?:_\$!<)?([\w-() ]*)(?:>!\$_)?./s',
'\2;type=\5\3:\4',
$vcard);
// Remove cruft like item1.X-AB*, item1.ADR instead of ADR, and empty lines
$vcard = preg_replace(array('/^item\d*\.X-AB.*$/m', '/^item\d*\./m', "/\n+/"), array('', '', "\n"), $vcard);
// remove vcard 2.1 charset definitions
$vcard = preg_replace('/;CHARSET=[^:;]+/', '', $vcard);
+
+ // if N doesn't have any semicolons, add some
+ $vcard = preg_replace('/^(N:[^;\R]*)$/m', '\1;;;;', $vcard);
return $vcard;
}
private static function rfc2425_fold($val)
{
return preg_replace('/:([^\n]{72,})/e', '":\n ".rtrim(chunk_split("\\1", 72, "\n "))', $val) . "\n";
}
/**
* Decodes a vcard block (vcard 3.0 format, unfolded)
* into an array structure
*
* @param string vCard block to parse
* @return array Raw data structure
*/
private static function vcard_decode($vcard)
{
// Perform RFC2425 line unfolding
$vcard = preg_replace(array("/\r/", "/\n\s+/"), '', $vcard);
+ $lines = preg_split('/\r?\n/', $vcard);
$data = array();
- if (preg_match_all('/^([^\\:]*):(.+)$/m', $vcard, $regs, PREG_SET_ORDER)) {
- foreach($regs as $line) {
- // convert 2.1-style "EMAIL;internet;home:" to 3.0-style "EMAIL;TYPE=internet;TYPE=home:"
- if (($data['VERSION'][0] == "2.1") && preg_match('/^([^;]+);([^:]+)/', $line[1], $regs2) && !preg_match('/^TYPE=/i', $regs2[2])) {
- $line[1] = $regs2[1];
- foreach (explode(';', $regs2[2]) as $prop)
- $line[1] .= ';' . (strpos($prop, '=') ? $prop : 'TYPE='.$prop);
- }
-
- if (!preg_match('/^(BEGIN|END)$/', $line[1]) && preg_match_all('/([^\\;]+);?/', $line[1], $regs2)) {
- $entry = array(self::vcard_unquote($line[2]));
+
+ for ($i=0; $i < count($lines); $i++) {
+ if (!preg_match('/^([^\\:]*):(.+)$/', $lines[$i], $line))
+ continue;
+
+ // convert 2.1-style "EMAIL;internet;home:" to 3.0-style "EMAIL;TYPE=internet;TYPE=home:"
+ if (($data['VERSION'][0] == "2.1") && preg_match('/^([^;]+);([^:]+)/', $line[1], $regs2) && !preg_match('/^TYPE=/i', $regs2[2])) {
+ $line[1] = $regs2[1];
+ foreach (explode(';', $regs2[2]) as $prop)
+ $line[1] .= ';' . (strpos($prop, '=') ? $prop : 'TYPE='.$prop);
+ }
- foreach($regs2[1] as $attrid => $attr) {
- if ((list($key, $value) = explode('=', $attr)) && $value) {
- if ($key == 'ENCODING')
- $entry[0] = self::decode_value($entry[0], $value);
- else
- $entry[strtolower($key)] = array_merge((array)$entry[strtolower($key)], (array)self::vcard_unquote($value, ','));
- }
- else if ($attrid > 0) {
- $entry[$key] = true; # true means attr without =value
+ if (!preg_match('/^(BEGIN|END)$/', $line[1]) && preg_match_all('/([^\\;]+);?/', $line[1], $regs2)) {
+ $entry = array('');
+ $field = $regs2[1][0];
+
+ foreach($regs2[1] as $attrid => $attr) {
+ if ((list($key, $value) = explode('=', $attr)) && $value) {
+ if ($key == 'ENCODING') {
+ # add next line(s) to value string if QP line end detected
+ while ($value == 'QUOTED-PRINTABLE' && ereg('=$', $lines[$i]))
+ $line[2] .= "\n" . $lines[++$i];
+
+ $line[2] = self::decode_value($line[2], $value);
}
+ else
+ $entry[strtolower($key)] = array_merge((array)$entry[strtolower($key)], (array)self::vcard_unquote($value, ','));
+ }
+ else if ($attrid > 0) {
+ $entry[$key] = true; # true means attr without =value
}
-
- $data[$regs2[1][0]][] = count($entry) > 1 ? $entry : $entry[0];
}
- }
- unset($data['VERSION']);
+ $entry[0] = self::vcard_unquote($line[2]);
+ $data[$field][] = count($entry) > 1 ? $entry : $entry[0];
+ }
}
+ unset($data['VERSION']);
+
return $data;
}
/**
* Split quoted string
*
* @param string vCard string to split
* @param string Separator char/string
* @return array List with splitted values
*/
private static function vcard_unquote($s, $sep = ';')
{
// break string into parts separated by $sep, but leave escaped $sep alone
if (count($parts = explode($sep, strtr($s, array("\\$sep" => "\007")))) > 1) {
foreach($parts as $s) {
$result[] = self::vcard_unquote(strtr($s, array("\007" => "\\$sep")), $sep);
}
return $result;
}
else {
return strtr($s, array("\r" => '', '\\\\' => '\\', '\n' => "\n", '\,' => ',', '\;' => ';', '\:' => ':'));
}
}
/**
* Decode a given string with the encoding rule from ENCODING attributes
*
* @param string String to decode
* @param string Encoding type (quoted-printable and base64 supported)
* @return string Decoded 8bit value
*/
private static function decode_value($value, $encoding)
{
switch (strtolower($encoding)) {
case 'quoted-printable':
return quoted_printable_decode($value);
case 'base64':
return base64_decode($value);
default:
return $value;
}
}
/**
* Encodes an entry for storage in our database (vcard 3.0 format, unfolded)
*
* @param array Raw data structure to encode
* @return string vCard encoded string
*/
static function vcard_encode($data)
{
foreach((array)$data as $type => $entries) {
/* valid N has 5 properties */
- while ($type == "N" && count($entries[0]) < 5)
+ while ($type == "N" && is_array($entries[0]) && count($entries[0]) < 5)
$entries[0][] = "";
foreach((array)$entries as $entry) {
$attr = '';
if (is_array($entry)) {
$value = array();
foreach($entry as $attrname => $attrvalues) {
if (is_int($attrname))
$value[] = $attrvalues;
elseif ($attrvalues === true)
$attr .= ";$attrname"; # true means just tag, not tag=value, as in PHOTO;BASE64:...
else {
foreach((array)$attrvalues as $attrvalue)
$attr .= ";$attrname=" . self::vcard_quote($attrvalue, ',');
}
}
}
else {
$value = $entry;
}
$vcard .= self::vcard_quote($type) . $attr . ':' . self::vcard_quote($value) . "\n";
}
}
return "BEGIN:VCARD\nVERSION:3.0\n{$vcard}END:VCARD";
}
/**
* Join indexed data array to a vcard quoted string
*
* @param array Field data
* @param string Separator
* @return string Joined and quoted string
*/
private static function vcard_quote($s, $sep = ';')
{
if (is_array($s)) {
foreach($s as $part) {
$r[] = self::vcard_quote($part, $sep);
}
return(implode($sep, (array)$r));
}
else {
return strtr($s, array('\\' => '\\\\', "\r" => '', "\n" => '\n', ';' => '\;', ':' => '\:'));
}
}
/**
* Returns UNICODE type based on BOM (Byte Order Mark)
*
* @param string Input string to test
* @return string Detected encoding
*/
private static function detect_encoding($string)
{
if (substr($string, 0, 4) == "\0\0\xFE\xFF") return 'UTF-32BE'; // Big Endian
if (substr($string, 0, 4) == "\xFF\xFE\0\0") return 'UTF-32LE'; // Little Endian
if (substr($string, 0, 2) == "\xFE\xFF") return 'UTF-16BE'; // Big Endian
if (substr($string, 0, 2) == "\xFF\xFE") return 'UTF-16LE'; // Little Endian
if (substr($string, 0, 3) == "\xEF\xBB\xBF") return 'UTF-8';
if ($enc = rc_detect_encoding($string))
return $enc;
// No match, check for UTF-8
// from http://w3.org/International/questions/qa-forms-utf-8.html
if (preg_match('/\A(
[\x09\x0A\x0D\x20-\x7E]
| [\xC2-\xDF][\x80-\xBF]
| \xE0[\xA0-\xBF][\x80-\xBF]
| [\xE1-\xEC\xEE\xEF][\x80-\xBF]{2}
| \xED[\x80-\x9F][\x80-\xBF]
| \xF0[\x90-\xBF][\x80-\xBF]{2}
| [\xF1-\xF3][\x80-\xBF]{3}
| \xF4[\x80-\x8F][\x80-\xBF]{2}
)*\z/xs', substr($string, 0, 2048)))
return 'UTF-8';
return 'ISO-8859-1'; # fallback to Latin-1
}
}
diff --git a/program/localization/ar_SA/messages.inc b/program/localization/ar_SA/messages.inc
index 850736f16..b8387b99f 100644
--- a/program/localization/ar_SA/messages.inc
+++ b/program/localization/ar_SA/messages.inc
@@ -1,96 +1,96 @@
<?php
/*
+-----------------------------------------------------------------------+
| language/ar_SA/messages.inc |
| |
| Language file of the RoundCube Webmail client |
| Copyright (C) 2005-2008, RoundCube Dev. - Switzerland |
| Licensed under the GNU GPL |
| |
+-----------------------------------------------------------------------+
| Author: Ossama Khayat <okhayat@yahoo.com> |
+-----------------------------------------------------------------------+
@version $Id$
*/
$messages = array();
$messages['loginfailed'] = 'فشل تسجيل الدخول';
$messages['cookiesdisabled'] = 'المتصفح الخاص بك لا يقبل الكوكيز';
$messages['sessionerror'] = 'انتهت صلاحية الجلسة الحالية أو أنها غير صالحة';
$messages['imaperror'] = 'فشل الاتصال بخادم IMAP';
$messages['nomessagesfound'] = 'لم يعثر على أية رسائل في صندوق البريد هذا';
$messages['loggedout'] = 'لقد قمت بإنهاء هذه الجلسة بنجاح. إلى اللقاء!';
$messages['mailboxempty'] = 'صندوق البريد فارغ';
$messages['loading'] = 'جاري العمل...';
$messages['loadingdata'] = 'تحميل البيانات...';
$messages['checkingmail'] = 'التحقق من وجود رسائل جديدة...';
$messages['sendingmessage'] = 'إرسال الرسالة...';
$messages['messagesent'] = 'تم إرسال الرسالة بنجاح';
$messages['savingmessage'] = 'حفظ الرسالة...';
$messages['messagesaved'] = 'تم حفظ الرسالة في المسودات';
$messages['successfullysaved'] = 'تم الحفظ بنجاح';
$messages['addedsuccessfully'] = 'تمت إضافة المراسل إلى دفتر العناوين بنجاح';
$messages['contactexists'] = 'هناك مراسل له نفس هذا البريد الالكتروني موجود مسبقاً';
$messages['blockedimages'] = 'لحماية خصوصيتك، تم حجب الصور الغير مضمنة (البعيدة) في هذه الرسالة.';
$messages['encryptedmessage'] = 'هذه الرسالة مشفرة ولا يمكن عرضها. عذراً!';
$messages['nocontactsfound'] = 'لم يعثر على أي مراسل';
$messages['contactnotfound'] = 'تعذر العثور على المراسل المطلوب';
$messages['sendingfailed'] = 'فشل إرسال الرسالة';
$messages['senttooquickly'] = 'رجاء انتظر $sec ثوان قبل إرسال هذه الرسالة';
$messages['errorsavingsent'] = 'حدث خطأ أثناء حفظ الرسالة المُرسلة';
$messages['errorsaving'] = 'حدث خطأ أثناء الحفظ';
$messages['errormoving'] = 'تعذر نقل هذه الرسالة';
$messages['errordeleting'] = 'تعذر حذف هذه الرسالة';
$messages['deletecontactconfirm'] = 'هل تريد حقاً حذف المراسلـ(ين) المحدد(ين)؟';
$messages['deletemessagesconfirm'] = 'هل تريد حذف الرسائل المحددة؟';
$messages['deletefolderconfirm'] = 'هل تريد حقاً حذف هذا المجلد؟';
$messages['purgefolderconfirm'] = 'هل تريد حقاً حذف جميع الرسائل في هذا المجلد؟';
$messages['foldercreating'] = 'جاري إنشاء المجلد...';
$messages['folderdeleting'] = 'جاري حذف المجلد...';
$messages['folderrenaming'] = 'جاري إعادة تسمية المجلد...';
$messages['formincomplete'] = 'لم يتم تعبئة بيانات الاستمارة بالكامل';
$messages['noemailwarning'] = 'الرجاء إدخال عنوان بريد إلكتروني صالح';
$messages['nonamewarning'] = 'الرجاء إدخال اسم';
$messages['nopagesizewarning'] = 'الرجاء إدخال حجم الصفحة';
$messages['nosenderwarning'] = 'رجاء اكتب عنوان البريد الالكتروني للمُرسل';
$messages['norecipientwarning'] = 'الرجاء إدخال اسم مستقبل واحد على الأقل';
$messages['nosubjectwarning'] = 'حقل \\\"الموضوع\\\" فارغ. هل تريد كتابة موضوع للرسالة؟';
$messages['nobodywarning'] = 'إرسال هذه الرسالة دون نص؟';
$messages['notsentwarning'] = 'لم يتم إرسال الرسالة. هل تريد تجاهل الرسالة؟';
$messages['noldapserver'] = 'الرجاء اختيار خادم ldap للبحث فيه';
$messages['nocontactsreturned'] = 'لم يعثر على أي مراسلين';
$messages['nosearchname'] = 'الرجاء إدخال اسم مراسل أو عنوان بريد إلكتروني';
$messages['searchsuccessful'] = 'عثر على $nr رسائل';
$messages['searchnomatch'] = 'لم يعثر على شيء';
$messages['searching'] = 'جاري البحث...';
$messages['checking'] = 'جاري التحقق...';
$messages['nospellerrors'] = 'لم يعثر على أية أخطاء إملائية';
$messages['folderdeleted'] = 'تم حذف المجلد بنجاح';
$messages['deletedsuccessfully'] = 'تم الحذف بنجاح';
$messages['converting'] = 'إزالة التنسيق من الرسالة...';
$messages['messageopenerror'] = 'تعذرت قراءة الرسالة من الخادم';
$messages['fileuploaderror'] = 'فشل رفع الملف';
$messages['filesizeerror'] = 'حجم الملف الذي تحاول رفعه أكبر من الحجم الأقصى $size';
$messages['copysuccess'] = 'تم نسخ $nr رسائل بنجاح';
$messages['copyerror'] = 'لم يمكن نسخ أية عناوين';
$messages['sourceisreadonly'] = 'لا يمكن تعديل مصدر العنوان هذا';
$messages['errorsavingcontact'] = 'تعذر حفظ عنوان المراسل';
$messages['movingmessage'] = 'جاري نقل الرسالة...';
$messages['receiptsent'] = 'أرسل إيصال الاستلام بنجاح';
$messages['errorsendingreceipt'] = 'تعذر إرسال إيصال الاستلام';
$messages['nodeletelastidentity'] = 'لا يمكن حذف هذا السجل حيث أنه الوحيد المتبقي.';
$messages['addsubfolderhint'] = 'سيتم إنشاء هذا المجلد كمجلد فرعي للمحدد.';
$messages['forbiddencharacter'] = 'اسم المجلّد يحتوي حروفاً ممنوعة';
$messages['selectimportfile'] = 'رجاء اختر ملفاً لرفعه';
$messages['addresswriterror'] = 'دفتر العناوين المحدد غير قابل للكتابة';
$messages['importwait'] = 'جاري الاستيراد، رجاء انتظر...';
$messages['importerror'] = 'فشل الاستيراد! الملف المرفوع ليس ملف vCard صالح.';
-$messages['importconfirm'] = 'تم استيراد $inserted مراسلين بنجاح، وتجاهل $skipped موجودين مسبقاً:$names';
+$messages['importconfirm'] = 'تم استيراد $inserted مراسلين بنجاح، وتجاهل $skipped موجودين مسبقاً:<p><em>$names</em></p>';
$messages['opnotpermitted'] = 'العملية ممنوعة!';
$messages['nofromaddress'] = 'عنوان البريد الالكتروني غير محدد في الهويّة المنتقاة';
?>
diff --git a/program/localization/az_AZ/messages.inc b/program/localization/az_AZ/messages.inc
index e692471b7..6835bc0b6 100644
--- a/program/localization/az_AZ/messages.inc
+++ b/program/localization/az_AZ/messages.inc
@@ -1,94 +1,94 @@
<?php
/*
+-----------------------------------------------------------------------+
| language/az_AZ/messages.inc |
| |
| Language file of the RoundCube Webmail client |
| Copyright (C) 2005-2008, RoundCube Dev. - Switzerland |
| Licensed under the GNU GPL |
| |
+-----------------------------------------------------------------------+
| Author: Orkhan Guliyev, OUR Technology, LLC.<office@ourtechnology.net>|
+-----------------------------------------------------------------------+
*/
$messages = array();
$messages['loginfailed'] = 'Giriş uğursuz oldu';
$messages['cookiesdisabled'] = 'Darayıcınız cookiləri kəbul etmir';
$messages['sessionerror'] = 'Sessiyanız sona çatmışdır və ya xətalıdır';
$messages['imaperror'] = 'IMAP Serverləə əlaqə yaratmaq mümkün olmadı';
$messages['nomessagesfound'] = 'Poçt qutusunda məktub tapılmadı';
$messages['loggedout'] = 'Çıxış uğurlu oldu. Gülə-gülə!';
$messages['mailboxempty'] = 'Poçt qutusu boşdur';
$messages['loading'] = 'Yüklənir...';
$messages['loadingdata'] = 'Verilənlər yüklənir...';
$messages['checkingmail'] = 'Yeni məktub olub-olmadığı yoxlanılır...';
$messages['sendingmessage'] = 'Məktub göndərilir...';
$messages['messagesent'] = 'Məktub göndərildi';
$messages['savingmessage'] = 'Poçt yaddaşa salınır...';
$messages['messagesaved'] = 'Məktub yaddaşa salındı';
$messages['successfullysaved'] = 'Yaddaşda saxlanıldı';
$messages['addedsuccessfully'] = 'Əlaqə ünvan kitabçasına əlavə olundu';
$messages['contactexists'] = 'Ünvan kitabçasında bu e-poçt ünvanı mövcuddur';
$messages['blockedimages'] = 'Gizliliyinizi qorumaq məqsədilə məktubdakı qrafiklər blok edildi.';
$messages['encryptedmessage'] = 'Bu şifrələnmiş bir məktubdur və bu səbəbə görə göstərilməsi mümkün deyil. Üzr istəyirik!';
$messages['nocontactsfound'] = 'Əlaqə tapılmadı';
$messages['contactnotfound'] = 'İstənən bağlantı tapılmadı';
$messages['sendingfailed'] = 'Məktub göndəriləmədi';
$messages['senttooquickly'] = 'Zəhmət olmasa, bu məktubu göndərməzdən əvvəl $sec gözləyin';
$messages['errorsavingsent'] = 'Məktub saxlanılan zaman xəta baş verdi';
$messages['errorsaving'] = 'Yaddaşda saxlanılarkən bir problem baş verdi';
$messages['errormoving'] = 'Məktubun yerini dəyişmək mümkün olmadı';
$messages['errordeleting'] = 'Məktubu silmək mümkün olmadı';
$messages['deletecontactconfirm'] = 'Seçilən əlaqələri silməyə əminsinizmi?';
$messages['deletemessagesconfirm'] = 'Seçilən mesajları silmək istəyirsiz?';
$messages['deletefolderconfirm'] = 'Bu qovluğu silməyə əminmisiniz?';
$messages['purgefolderconfirm'] = 'Bu qovluqdakı bütün məktubları silməyə əminmisiniz?';
$messages['foldercreating'] = 'Qovluğun yaradılması...';
$messages['folderdeleting'] = 'Qovluğun silinməsi...';
$messages['folderrenaming'] = 'Qovluğun adının dəyişdirilməsi...';
$messages['formincomplete'] = 'Form tam olaraq doldurulmadı';
$messages['noemailwarning'] = 'Xahiş olunur düzgün e-poçt ünvanı daxil edin';
$messages['nonamewarning'] = 'Xahiş olunur bir ad daxil edin';
$messages['nopagesizewarning'] = 'Xahiş olunur bir səhifə ölçüsü daxil edin';
$messages['nosenderwarning'] = 'Zəhmət olmasa, göndərənin e-poçt ünvanını daxil edin';
$messages['norecipientwarning'] = 'Xahiş olunur ən az bir qəbul edən göstərin';
$messages['nosubjectwarning'] = '\\\"Mövzu\\\" daxil edilməmişdir. İndi bir mövzu daxil etmək istəyirsinizmi?';
$messages['nobodywarning'] = 'Məktubu boş olaraq göndər?';
$messages['notsentwarning'] = 'Məktub göndərilmədi. Məktubunuzu ləğv etmək istəyirsinizmi?';
$messages['noldapserver'] = 'Xahiş olunur axtarmaq üçün bir Ldap server seçin';
$messages['nocontactsreturned'] = 'Əlaqə tapılmadı';
$messages['nosearchname'] = 'Xahiş olunur bir ad və ya e-poçt ünvanı daxil edin';
$messages['searchsuccessful'] = '$nr məktub tapıldı';
$messages['searchnomatch'] = 'Axtardığınıza uyğun heç bir nəticə tapılmadı';
$messages['searching'] = 'Axtarılır...';
$messages['checking'] = 'Yoxlanılır...';
$messages['nospellerrors'] = 'Qrammatik səhv tapılmadı';
$messages['folderdeleted'] = 'Qovluq uğurlu olaraq silindi';
$messages['deletedsuccessfully'] = 'Silindi';
$messages['converting'] = 'Mesajın formalandırılması prosesi gedir..';
$messages['messageopenerror'] = 'Mesajın serverdən yüklənilməsi mümkün olmadı';
$messages['fileuploaderror'] = 'Fayl yüklənməsi uğursuz oldu';
$messages['filesizeerror'] = 'Yüklənilən faylın ölçüsü $size çoxdur';
$messages['copysuccess'] = '$nr ünvan nüsxələndi';
$messages['copyerror'] = 'Heç bir ünvanı nüsxələmək mümkün olmadı';
$messages['sourceisreadonly'] = 'Ünvan qaynağı tam oxunar vəziyyətdə';
$messages['errorsavingcontact'] = 'Əlaqə ünvanını yaddaşa salmaq mümkün olmadı';
$messages['movingmessage'] = 'Məktubun yeri dəyişdirilir';
$messages['receiptsent'] = 'Oxuma receipt-i uğurlu olaraq göndərildi';
$messages['errorsendingreceipt'] = 'Receipt göndərmək mümkün olmadı';
$messages['nodeletelastidentity'] = 'Siz bu eyniliyi silə bilməzsiniz.';
$messages['addsubfolderhint'] = 'Bu qovluq seçilmiş qovluqda alt qovluq olaraq yaradıldı';
$messages['forbiddencharacter'] = 'Qovluq adında qadağan olunmuş xarakter(lər) var';
$messages['selectimportfile'] = 'Zəhmət olmasa, yüklənilən faylı seç';
$messages['addresswriterror'] = 'Seçilmiş ünvan kitabçası yazılmayandır';
$messages['importwait'] = 'İdxal, gözləyin...';
$messages['importerror'] = 'İdxal alınmadı! Yüklənilən fayl vCard fayla uyğun deyil.';
-$messages['importconfirm'] = '$inserted ünvanlar müvəffəqiyyətlə idxal edildi, mövcud daxil edilən $skipped atla: $names';
+$messages['importconfirm'] = '$inserted ünvanlar müvəffəqiyyətlə idxal edildi, mövcud daxil edilən $skipped atla:<p><em>$names</em></p>';
$messages['opnotpermitted'] = 'Əməliyyata icazə verilmir!';
$messages['nofromaddress'] = 'Seçilmiş eynilikdə e-poçt ünvanı axtarılır';
?>
diff --git a/program/localization/cs_CZ/messages.inc b/program/localization/cs_CZ/messages.inc
index f4daa6e40..631b0a2c1 100644
--- a/program/localization/cs_CZ/messages.inc
+++ b/program/localization/cs_CZ/messages.inc
@@ -1,96 +1,96 @@
<?php
/*
+-----------------------------------------------------------------------+
| language/cs_CZ/messages.inc |
| |
| Language file of the RoundCube Webmail client |
| Copyright (C) 2005-2008, RoundCube Dev. - Switzerland |
| Licensed under the GNU GPL |
| |
+-----------------------------------------------------------------------+
| Author: Martin Mrajca <martin@moonlake.cz> |
| joe <joe@humlak.cz> |
| Jiri Kaderavek <jiri.kaderavek@webstep.net> |
+-----------------------------------------------------------------------+
@version $Id$
*/
$messages = array();
$messages['loginfailed'] = 'Přihlášení selhalo';
$messages['cookiesdisabled'] = 'Váš prohlížeč nepodporuje cookies, které jsou pro přihlášení nezbytné';
$messages['sessionerror'] = 'Vaše přihlášení je neplatné nebo vypršelo';
$messages['imaperror'] = 'Připojení na IMAP server selhalo';
$messages['nomessagesfound'] = 'Ve schránce nebyla nalezena žádná zpráva';
$messages['loggedout'] = 'Byli jste úspěšně odhlášeni. Nashledanou!';
$messages['mailboxempty'] = 'Schránka je prázdná';
$messages['loading'] = 'Načítám...';
$messages['loadingdata'] = 'Načítám data...';
$messages['checkingmail'] = 'Kontroluji nové zprávy...';
$messages['sendingmessage'] = 'Odesílám zprávu...';
$messages['messagesent'] = 'Zpráva byla odeslána';
$messages['savingmessage'] = 'Ukládám zprávu...';
$messages['messagesaved'] = 'Zpráva uložena do Rozepsané';
$messages['successfullysaved'] = 'Uloženo';
$messages['addedsuccessfully'] = 'Kontakt byl úspěšně přidán do adresáře';
$messages['contactexists'] = 'Kontakt se zadanou e-mailovou adresou již existuje';
$messages['blockedimages'] = 'Z bezpečnostních důvodů byly zablokovány obrázky ve zprávě.';
$messages['encryptedmessage'] = 'Tato zpráva je zašifrovaná a nelze ji zobrazit.';
$messages['nocontactsfound'] = 'Nemáte žádné kontakty';
$messages['contactnotfound'] = 'Požadovaný kontakt nebyl nalezen.';
$messages['sendingfailed'] = 'Odesílání zprávy selhalo';
$messages['senttooquickly'] = 'Prosím počkejte $sec sekund před odesláním zprávy';
$messages['errorsavingsent'] = 'Nastala chyba při ukládání odeslané zprávy';
$messages['errorsaving'] = 'Vyskytla se chyba při ukládání';
$messages['errormoving'] = 'Nemohu přesunout zprávu';
$messages['errordeleting'] = 'Nemohu smazat zprávu';
$messages['deletecontactconfirm'] = 'Opravdu chcete smazat označené kontakty?';
$messages['deletemessagesconfirm'] = 'Opravdu chcete smazat označené zprávy?';
$messages['deletefolderconfirm'] = 'Chcete opravdu smazat tento adresář?';
$messages['purgefolderconfirm'] = 'Opravdu chcete smazat všechny zprávy v této složce?';
$messages['foldercreating'] = 'Vytvářím složku...';
$messages['folderdeleting'] = 'Mažu složku...';
$messages['folderrenaming'] = 'Přejmenovávám složku...';
$messages['formincomplete'] = 'Formulář nebyl korektně vyplněn';
$messages['noemailwarning'] = 'Zadejte, prosím, platnou adresu';
$messages['nonamewarning'] = 'Zadejte, prosím, jméno';
$messages['nopagesizewarning'] = 'Zadejte, prosím, velikost stránky';
$messages['norecipientwarning'] = 'Zadejte, prosím, alespoň jednoho příjemce';
$messages['nosubjectwarning'] = 'Předmět nebyl vyplňen. Přejete si jej zadat nyní?';
$messages['nobodywarning'] = 'Opravdu chtete odeslat prázdnou zprávu?';
$messages['notsentwarning'] = 'Zpráva nebyla odeslána. Přejete si zprávu zahodit?';
$messages['noldapserver'] = 'Zvolte, prosím, LDAP server k hledání';
$messages['nocontactsreturned'] = 'Nebyly nalezeny žádné kontakty';
$messages['nosearchname'] = 'Zadejte, prosím, jméno nebo e-mail kontaktu';
$messages['searchsuccessful'] = '$nr zpráv nalezeno';
$messages['searchnomatch'] = 'Nenalezena žádná zpráva';
$messages['searching'] = 'Vyhledávám...';
$messages['checking'] = 'Kontroluji...';
$messages['nospellerrors'] = 'Nebyly nalezeny žádné chyby';
$messages['folderdeleted'] = 'Složka byla úspěšně vymazána';
$messages['deletedsuccessfully'] = 'Úspěšně smazáno';
$messages['converting'] = 'Odstranuji formátování ze zprávy...';
$messages['messageopenerror'] = 'Nemohu načíst zprávu ze serveru';
$messages['fileuploaderror'] = 'Nahrávání souboru selhalo';
$messages['filesizeerror'] = 'Soubor přesáhl maximální velikost $size';
$messages['copysuccess'] = 'Úspěšně zkopírováno $nr adres';
$messages['copyerror'] = 'Nemohu zkopírovat žádnou adresu';
$messages['sourceisreadonly'] = 'Tento zdroj adres je pouze pro čtení';
$messages['errorsavingcontact'] = 'Nemohu uložit adresu kontaktu';
$messages['movingmessage'] = 'Přesouvám zprávu...';
$messages['receiptsent'] = 'Potvrzení o přřijetí zprávy odesláno';
$messages['errorsendingreceipt'] = 'Potvrzení o přijetí zprávy nebylo možné odeslat';
$messages['nodeletelastidentity'] = 'Alespoň jedna identita musí být ponechána. Identitu nelze odstranit.';
$messages['addsubfolderhint'] = 'Tato složka bude vytvořena jako podsložka aktuálně zvolené složky';
$messages['forbiddencharacter'] = 'Název složky obsahuje zakázaný znak';
$messages['selectimportfile'] = 'Prosím vyberte soubor k nahrání';
$messages['addresswriterror'] = 'Vybraný seznam kontaktů není zapisovatelný';
$messages['importwait'] = 'Importuji, prosím čekejte...';
$messages['importerror'] = 'Během importu nastala chyba! Nahraný soubor není ve formátu vCard.';
-$messages['importconfirm'] = 'Úspěšně naimportováno $inserted kontaktů, $skipped existujících záznamů přeskočeno:$names';
+$messages['importconfirm'] = 'Úspěšně naimportováno $inserted kontaktů, $skipped existujících záznamů přeskočeno:<p><em>$names</em></p>';
$messages['opnotpermitted'] = 'Operace není povolena!';
?>
\ No newline at end of file
diff --git a/program/localization/cy_GB/messages.inc b/program/localization/cy_GB/messages.inc
index 7f152a6b3..b12c332d5 100644
--- a/program/localization/cy_GB/messages.inc
+++ b/program/localization/cy_GB/messages.inc
@@ -1,94 +1,94 @@
<?php
/*
+-----------------------------------------------------------------------+
| language/cy_GB/messages.inc |
| |
| Language file of the RoundCube Webmail client |
| Copyright (C) 2008, RoundQube Dev. - Switzerland |
| Licensed under the GNU GPL |
| |
+-----------------------------------------------------------------------+
| Author: Dafydd Tomos <l10n@da.fydd.org> |
+-----------------------------------------------------------------------+
*/
$messages = array();
$messages['loginfailed'] = 'Methwyd a\'ch mewngofnodi';
$messages['cookiesdisabled'] = 'Nid yw eich porwr yn derbyn cwcis';
$messages['sessionerror'] = 'Mae\'r sesiwn yn anghywir neu wedi dod i ben';
$messages['imaperror'] = 'Methwyd cysylltu a\'r gweinydd IMAP';
$messages['nomessagesfound'] = 'Dim negeseuon wedi eu canfod yn y blwch hwn';
$messages['loggedout'] = 'Rydych wedi gorffen y sesiwn yn llwyddianus. Hwyl fawr!';
$messages['mailboxempty'] = 'Blwch yn wag';
$messages['loading'] = 'Yn llwytho...';
$messages['loadingdata'] = 'Yn llwytho data...';
$messages['checkingmail'] = 'Yn edrych am negeseuon newydd...';
$messages['sendingmessage'] = 'Yn danfon neges...';
$messages['messagesent'] = 'Danfonwyd y neges yn llwyddiannus';
$messages['savingmessage'] = 'Yn cadw neges...';
$messages['messagesaved'] = 'Cadwyd neges i\'r Drafftiau';
$messages['successfullysaved'] = 'Cadwyd yn llwyddiannus';
$messages['addedsuccessfully'] = 'Cyswllt wedi ei ychwanegu i\'r llyfr cyfeiriadau yn llwyddiannus';
$messages['contactexists'] = 'Mae cyswllt gyda\'r cyfeiriad e-bost yma yn bodoli\'n barod';
$messages['blockedimages'] = 'I amddiffyn eich preifatrwydd, fe ataliwyd lluniau allanol yn y neges yma.';
$messages['encryptedmessage'] = 'Mae hon yn neges amgryptedig a felly ni ellir ei ddangos. Flin iawn!';
$messages['nocontactsfound'] = 'Ni gafwyd hyd i unrhyw gysylltiadau';
$messages['contactnotfound'] = 'Ni gafwyd hyd i\'r cysylltiad gofynnwyd amdano';
$messages['sendingfailed'] = 'Methwyd danfon y neges';
$messages['senttooquickly'] = 'Arhoswch $sec eiliad cyn danfon y neges';
$messages['errorsavingsent'] = 'Fe gafwyd gwall wrth cadw\'r neges ddanfonwyd';
$messages['errorsaving'] = 'Fe gafwyd gwall wrth gadw';
$messages['errormoving'] = 'Methwyd symud y neges';
$messages['errordeleting'] = 'Methwyd dileu y neges';
$messages['deletecontactconfirm'] = 'Ydych chi wir am ddileu y cysylltiadau ddewiswyd?';
$messages['deletemessagesconfirm'] = 'Ydych chi wir am ddileu y neges(euon) ddewiswyd?';
$messages['deletefolderconfirm'] = 'Ydych chi wir am ddileu y ffolder yma?';
$messages['purgefolderconfirm'] = 'Ydych chi wir am ddileu yr holl negeseuon yn y ffolder yma?';
$messages['foldercreating'] = 'Yn creu ffolder...';
$messages['folderdeleting'] = 'Yn dileu ffolder...';
$messages['folderrenaming'] = 'Yn ailenwi ffolder...';
$messages['foldermoving'] = 'Yn symud ffolder...';
$messages['formincomplete'] = 'Nid oedd y ffurflen wedi ei gwblhau yn llawn';
$messages['noemailwarning'] = 'Rhowch gyfeiriad e-bost dilys';
$messages['nonamewarning'] = 'Rhowch enw';
$messages['nopagesizewarning'] = 'Rhowch maint tudalen';
$messages['nosenderwarning'] = 'Rhowch gyfeiriad e-bost y danfonwr';
$messages['norecipientwarning'] = 'Rhowch o leiaf un derbynnydd';
$messages['nosubjectwarning'] = 'Mae\'r pennawd \"Pwnc\" yn wag. Hoffech chi roi un fewn nawr?';
$messages['nobodywarning'] = 'Danfon y neges hwn heb destun?';
$messages['notsentwarning'] = 'Ni ddanfonwyd y neges. Hoffech chi gael gwared a\'r neges?';
$messages['noldapserver'] = 'Dewiswch weinydd ldap i chwilio';
$messages['nocontactsreturned'] = 'Ni gafwyd hyd i unrhyw gysylltiadau';
$messages['nosearchname'] = 'Rhowch enw cyswllt neu gyfeiriad e-bost';
$messages['searchsuccessful'] = 'Cafwyd hyd i $nr neges';
$messages['searchnomatch'] = 'Ni gafwyd hyd i unrhyw ganlyniadau chwilio';
$messages['searching'] = 'Yn chwilio...';
$messages['checking'] = 'Yn gofyn...';
$messages['nospellerrors'] = 'Ni gafwyd hyd i unrhyw wallau gwirio';
$messages['folderdeleted'] = 'Dilëwyd y ffolder yn llwyddiannus';
$messages['deletedsuccessfully'] = 'Dilëwyd yn llwyddiannus';
$messages['converting'] = 'Yn cael gwared a\'r fformatio...';
$messages['messageopenerror'] = 'Methwyd llwytho\'r neges o\'r gweinydd';
$messages['fileuploaderror'] = 'Methwyd llwytho\'r ffeil i fyny';
$messages['filesizeerror'] = 'Mae\'r ffeil a lwythyd fyny yn fwy na\'r maint uchaf ganiateir o $size';
$messages['copysuccess'] = 'Copïwyd $nr cyfeiriad yn llwyddiannus';
$messages['copyerror'] = 'Methwyd copïo unrhyw gyfeiriad';
$messages['sourceisreadonly'] = 'Mae ffynhonnell y cyfeiriadau i\'w ddarllen yn unig';
$messages['errorsavingcontact'] = 'Methwyd cadw cyfeiriad y cyswllt';
$messages['movingmessage'] = 'Yn symud neges...';
$messages['receiptsent'] = 'Danfonwyd cadarnhad derbyn yn llwyddiannus';
$messages['errorsendingreceipt'] = 'Methwyd danfon cadarnhad derbyn';
$messages['nodeletelastidentity'] = 'Allwch chi ddim dileu\'r personoliaeth yma, hwn yw\'r un olaf.';
$messages['addsubfolderhint'] = 'Mi fydd y ffolder yma\'n cael ei greu fel is-ffolder o\'r un sydd wedi ei ddewis ar hyn o bryd';
$messages['forbiddencharacter'] = 'Mae enw\'r ffolder yn cynnwys llythyren annerbynniol';
$messages['selectimportfile'] = 'Dewiswch ffeil i\'w lwytho fyny';
$messages['addresswriterror'] = 'Nid yw\'n bosib ysgrifennu i\'r llyfr cyfeiriadau ';
$messages['importwait'] = 'Yn mewnforio, arhoswch os gwelwch yn dda...';
$messages['importerror'] = 'Methwyd a mewnforio! Nid yw\'r ffeil a lwythwyd fyny yn ffeil vCard dilys.';
-$messages['importconfirm'] = 'Fe mewnforiwyd $inserted cyswllt yn llwyddiannus, anwybyddwyd $skipped cofnod presennol: $names';
+$messages['importconfirm'] = 'Fe mewnforiwyd $inserted cyswllt yn llwyddiannus, anwybyddwyd $skipped cofnod presennol: <p><em>$names</em></p>';
$messages['opnotpermitted'] = 'Ni chaniateir y weithred!';
$messages['nofromaddress'] = 'Cyfeiriad e-bost ar goll yn y personoliaeth a ddewiswyd';
?>
diff --git a/program/localization/de_DE/messages.inc b/program/localization/de_DE/messages.inc
index 81b00e3b9..0e01c93f0 100644
--- a/program/localization/de_DE/messages.inc
+++ b/program/localization/de_DE/messages.inc
@@ -1,94 +1,94 @@
<?php
/*
+-----------------------------------------------------------------------+
| language/de_DE/messages.inc |
| |
| Language file of the RoundCube Webmail client |
| Copyright (C) 2005-2008, RoundCube Dev. - Switzerland |
| Licensed under the GNU GPL |
| |
+-----------------------------------------------------------------------+
| Author: Marcel Schlesinger <info@marcel-schlesinger.de> |
+-----------------------------------------------------------------------+
@version $Id$
*/
$messages = array();
$messages['loginfailed'] = 'Anmeldung fehlgeschlagen';
$messages['cookiesdisabled'] = 'Ihr Browser akzeptiert keine Cookies';
$messages['sessionerror'] = 'Ihre Session ist ungültig oder abgelaufen';
$messages['imaperror'] = 'Keine Verbindung zum IMAP-Server';
$messages['nomessagesfound'] = 'Keine Nachrichten in diesem Ordner';
$messages['loggedout'] = 'Sie haben Ihre Session erfolgreich beendet. Auf Wiedersehen!';
$messages['mailboxempty'] = 'Ordner ist leer';
$messages['loading'] = 'Lade...';
$messages['loadingdata'] = 'Daten werden geladen...';
$messages['checkingmail'] = 'Überprüfung auf neue Nachrichten...';
$messages['sendingmessage'] = 'Nachricht wird gesendet...';
$messages['messagesent'] = 'Nachricht erfolgreich gesendet';
$messages['savingmessage'] = 'Nachricht wird gespeichert...';
$messages['messagesaved'] = 'Nachricht als Entwurf gespeichert';
$messages['successfullysaved'] = 'Erfolgreich gespeichert';
$messages['addedsuccessfully'] = 'Kontakt zum Adressbuch hinzugefügt';
$messages['contactexists'] = 'Es existiert bereits ein Eintrag mit dieser E-Mail-Adresse';
$messages['blockedimages'] = 'Um Ihre Privatsphäre zur schützen, wurden externe Bilder blockiert.';
$messages['encryptedmessage'] = 'Dies ist eine verschlüsselte Nachricht und kann leider nicht angezeigt werden. Sorry!';
$messages['nocontactsfound'] = 'Keine Kontakte gefunden';
$messages['contactnotfound'] = 'Der angeforderte Kontakt wurde nicht gefunden';
$messages['sendingfailed'] = 'Versenden der Nachricht fehlgeschlagen';
$messages['senttooquickly'] = 'Bitte warten Sie $sec Sekunde(n) vor dem Senden dieser Nachricht';
$messages['errorsavingsent'] = 'Ein Fehler ist beim Speichern der gesendeten Nachricht aufgetreten';
$messages['errorsaving'] = 'Beim Speichern ist ein Fehler aufgetreten';
$messages['errormoving'] = 'Nachricht konnte nicht verschoben werden';
$messages['errordeleting'] = 'Nachricht konnte nicht gelöscht werden';
$messages['deletecontactconfirm'] = 'Wollen Sie die ausgewählten Kontakte wirklich löschen?';
$messages['deletemessagesconfirm'] = 'Wollen Sie die ausgewählten Nachrichten wirklich löschen?';
$messages['deletefolderconfirm'] = 'Wollen Sie diesen Ordner wirklich löschen?';
$messages['purgefolderconfirm'] = 'Wollen Sie diesen Ordner wirklich leeren?';
$messages['foldercreating'] = 'Erstelle Ordner...';
$messages['folderdeleting'] = 'Lösche Ordner...';
$messages['folderrenaming'] = 'Nenne Ordner um...';
$messages['formincomplete'] = 'Das Formular wurde nicht vollständig ausgefüllt';
$messages['noemailwarning'] = 'Bitte geben Sie eine gültige E-Mail-Adresse ein';
$messages['nonamewarning'] = 'Bitte geben Sie einen Namen ein';
$messages['nopagesizewarning'] = 'Bitte geben Sie die Einträge pro Seite an';
$messages['norecipientwarning'] = 'Bitte geben Sie mindestens einen Empfänger an';
$messages['nosubjectwarning'] = 'Die Betreffzeile ist leer. Möchten Sie jetzt einen Betreff eingeben?';
$messages['nobodywarning'] = 'Diese Nachricht ohne Inhalt senden?';
$messages['notsentwarning'] = 'Ihre Nachricht wurde nicht gesendet. Wollen Sie die Nachricht verwerfen?';
$messages['noldapserver'] = 'Bitte wählen Sie einen LDAP-Server aus';
$messages['nocontactsreturned'] = 'Es wurden keine Kontakte gefunden';
$messages['nosearchname'] = 'Bitte geben Sie einen Namen oder eine E-Mail-Adresse ein';
$messages['searchsuccessful'] = '$nr Nachrichten gefunden';
$messages['searchnomatch'] = 'Die Suche lieferte keine Treffer';
$messages['searching'] = 'Suche...';
$messages['checking'] = 'Prüfe...';
$messages['nospellerrors'] = 'Keine Rechtschreibfehler gefunden';
$messages['folderdeleted'] = 'Ordner erfolgreich gelöscht';
$messages['deletedsuccessfully'] = 'Erfolgreich gelöscht';
$messages['converting'] = 'Entferne Formatierungen der Nachricht...';
$messages['messageopenerror'] = 'Die Nachricht konnte nicht vom Server geladen werden';
$messages['fileuploaderror'] = 'Hochladen der Datei fehlgeschlagen';
$messages['filesizeerror'] = 'Die hochzuladende Datei überschreitet die Maximalgröße von $size';
$messages['copysuccess'] = '$nr Adressen erfolgreich kopiert';
$messages['copyerror'] = 'Die Adressen konnten nicht kopiert werden';
$messages['sourceisreadonly'] = 'Das Adressverzeichnis kann nicht verändert werden';
$messages['errorsavingcontact'] = 'Die Änderungen konnten nicht gespeichert werden';
$messages['movingmessage'] = 'Die E-Mail wird verschoben...';
$messages['receiptsent'] = 'Lesebestätigung erfolgreich gesendet';
$messages['errorsendingreceipt'] = 'Bestätigung konnte nicht gesendet werden';
$messages['nodeletelastidentity'] = 'Diese Identität kann nicht gelöscht werden, da dies die letzte ist.';
$messages['addsubfolderhint'] = 'Wird als Unterordner des aktuell selektieren Ordners erstellt';
$messages['forbiddencharacter'] = 'Der Ordnername enthält ein ungültiges Zeichen';
$messages['selectimportfile'] = 'Bitte wählen Sie eine Datei zum Importieren aus';
$messages['addresswriterror'] = 'Das ausgewählte Adressbuch kann nicht verändert werden';
$messages['importwait'] = 'Daten werden importiert, bitte warten...';
$messages['importerror'] = 'Import fehlgeschlagen! Die hochgeladene Datei ist nicht im vCard-Format.';
-$messages['importconfirm'] = 'Es wurden $inserted Adressen erfolgreich importiert und $skipped bestehende Einträge übersprungen:$names';
+$messages['importconfirm'] = 'Es wurden $inserted Adressen erfolgreich importiert und $skipped bestehende Einträge übersprungen:<p><em>$names</em></p>';
$messages['opnotpermitted'] = 'Operation nicht erlaubt!';
?>
diff --git a/program/localization/en_GB/messages.inc b/program/localization/en_GB/messages.inc
index 70b8f4693..e9ce8feb0 100644
--- a/program/localization/en_GB/messages.inc
+++ b/program/localization/en_GB/messages.inc
@@ -1,97 +1,97 @@
<?php
/*
+-----------------------------------------------------------------------+
| language/en_GB/messages.inc |
| |
| Language file of the RoundCube Webmail client |
| Copyright (C) 2005-2008, RoundCube Dev. - Switzerland |
| Licensed under the GNU GPL |
| |
+-----------------------------------------------------------------------+
| Author: Weiran Zhang (weiran@weiran.co.uk) |
+-----------------------------------------------------------------------+
@version $Id$
*/
$messages = array();
$messages['loginfailed'] = 'Login failed';
$messages['cookiesdisabled'] = 'Your browser does not accept cookies';
$messages['sessionerror'] = 'Your session is invalid or has expired';
$messages['imaperror'] = 'Connection to IMAP server failed';
$messages['nomessagesfound'] = 'No messages found in this mailbox';
$messages['loggedout'] = 'You have successfully terminated the session. Good bye!';
$messages['mailboxempty'] = 'Mailbox is empty';
$messages['loading'] = 'Loading...';
$messages['loadingdata'] = 'Loading data...';
$messages['checkingmail'] = 'Checking for new messages...';
$messages['sendingmessage'] = 'Sending message...';
$messages['messagesent'] = 'Message sent successfully';
$messages['savingmessage'] = 'Saving message...';
$messages['messagesaved'] = 'Message saved to Drafts';
$messages['successfullysaved'] = 'Successfully saved';
$messages['addedsuccessfully'] = 'Contact successfully added to address book';
$messages['contactexists'] = 'A contact with this e-mail address already exists';
$messages['blockedimages'] = 'To protect your privacy, remote images are blocked in this message.';
$messages['encryptedmessage'] = 'This is an encrypted message and can not be displayed. Sorry!';
$messages['nocontactsfound'] = 'No contacts found';
$messages['contactnotfound'] = 'The requested contact was not found';
$messages['sendingfailed'] = 'Failed to send message';
$messages['senttooquickly'] = 'Please wait $sec sec(s). before sending this message';
$messages['errorsavingsent'] = 'An error occurred while saving sent message';
$messages['errorsaving'] = 'An error occurred while saving';
$messages['errormoving'] = 'Could not move the message';
$messages['errordeleting'] = 'Could not delete the message';
$messages['deletecontactconfirm'] = 'Do you really want to delete the selected contact(s)?';
$messages['deletemessagesconfirm'] = 'Do you really want to delete the selected message(s)?';
$messages['deletefolderconfirm'] = 'Do you really want to delete this folder?';
$messages['purgefolderconfirm'] = 'Do you really want to delete all messages in this folder?';
$messages['foldercreating'] = 'Creating folder...';
$messages['folderdeleting'] = 'Deleting folder...';
$messages['folderrenaming'] = 'Renaming folder...';
$messages['foldermoving'] = 'Moving folder...';
$messages['formincomplete'] = 'The form was not completely filled out';
$messages['noemailwarning'] = 'Please enter a valid email address';
$messages['nonamewarning'] = 'Please enter a name';
$messages['nopagesizewarning'] = 'Please enter a page size';
$messages['nosenderwarning'] = 'Please enter sender e-mail address';
$messages['norecipientwarning'] = 'Please enter at least one recipient';
$messages['nosubjectwarning'] = 'The "Subject" field is empty. Would you like to enter one now?';
$messages['nobodywarning'] = 'Send this message without any text?';
$messages['notsentwarning'] = 'Your message has not been sent. Do you want to discard it?';
$messages['noldapserver'] = 'Please select an LDAP server to search';
$messages['nocontactsreturned'] = 'No contacts were found';
$messages['nosearchname'] = 'Please enter a contact name or email address';
$messages['searchsuccessful'] = '$nr messages found';
$messages['searchnomatch'] = 'Search found no matches';
$messages['searching'] = 'Searching...';
$messages['checking'] = 'Checking...';
$messages['nospellerrors'] = 'No spelling errors found';
$messages['folderdeleted'] = 'Folder successfully deleted';
$messages['deletedsuccessfully'] = 'Successfully deleted';
$messages['converting'] = 'Removing formatting...';
$messages['messageopenerror'] = 'Could not load message from server';
$messages['fileuploaderror'] = 'File upload failed';
$messages['filesizeerror'] = 'The uploaded file exceeds the maximum size of $size';
$messages['copysuccess'] = 'Successfully copied $nr addresses';
$messages['copyerror'] = 'Could not copy any addresses';
$messages['sourceisreadonly'] = 'This address source is read-only';
$messages['errorsavingcontact'] = 'Could not save the contact address';
$messages['movingmessage'] = 'Moving message...';
$messages['receiptsent'] = 'Successfully sent a read receipt';
$messages['errorsendingreceipt'] = 'Could not send the receipt';
$messages['nodeletelastidentity'] = 'You cannot delete this identity, it\'s your last one.';
$messages['addsubfolderhint'] = 'This folder will be created as subfolder of the currently selected one';
$messages['forbiddencharacter'] = 'Folder name contains a forbidden character';
$messages['selectimportfile'] = 'Please select a file to upload';
$messages['addresswriterror'] = 'The selected address book is not writeable';
$messages['importwait'] = 'Importing, please wait...';
$messages['importerror'] = 'Import failed! The uploaded file is not a valid vCard file.';
-$messages['importconfirm'] = 'Successfully imported $inserted contacts, $skipped existing entries skipped:$names';
+$messages['importconfirm'] = 'Successfully imported $inserted contacts, $skipped existing entries skipped:<p><em>$names</em></p>';
$messages['opnotpermitted'] = 'Operation not permitted!';
$messages['nofromaddress'] = 'Missing e-mail address in selected identity';
?>
diff --git a/program/localization/fi_FI/messages.inc b/program/localization/fi_FI/messages.inc
index e83b9a386..7dd82ec4a 100644
--- a/program/localization/fi_FI/messages.inc
+++ b/program/localization/fi_FI/messages.inc
@@ -1,98 +1,98 @@
<?php
/*
+-----------------------------------------------------------------------+
| language/fi/messages.inc |
| |
| Language file of the RoundCube Webmail client |
| Copyright (C) 2005-2008, RoundCube Dev. - Switzerland |
| Licensed under the GNU GPL |
| |
+-----------------------------------------------------------------------+
| Author: Ville Alatalo <ville@alatalo.org> |
| Veljo Velling <veve@utu.fi> |
+-----------------------------------------------------------------------+
@version $Id$
*/
$messages = array();
$messages['loginfailed'] = 'Sisäänkirjautuminen epäonnistui';
$messages['cookiesdisabled'] = 'Selaimesi ei hyväksy evästeitä';
$messages['sessionerror'] = 'Sessio ei kelpaa tai ei ole enää voimassa';
$messages['imaperror'] = 'Yhteys IMAP-palvelimeen epäonnistui';
$messages['nomessagesfound'] = 'Kansiossa ei ole sähköpostiviestejä';
$messages['loggedout'] = 'Sinut on kirjattu ulos järjestelmästä.';
$messages['mailboxempty'] = 'Kansio on tyhjä';
$messages['loading'] = 'Ladataan...';
$messages['loadingdata'] = 'Ladataan tietoja...';
$messages['checkingmail'] = 'Tarkistetaan saapuneita viestejä...';
$messages['sendingmessage'] = 'Lähetetään viestiä...';
$messages['messagesent'] = 'Viesti lähetetty';
$messages['savingmessage'] = 'Tallennetaan viestiä...';
$messages['messagesaved'] = 'Viesti tallennettu "Luonnokset" -kansioon';
$messages['successfullysaved'] = 'Tallennus onnistui';
$messages['addedsuccessfully'] = 'Kontakti lisätty osoitekirjaan';
$messages['contactexists'] = 'Samalla sähköpostiosoitteella on jo olemassa kontakti';
$messages['blockedimages'] = 'Turvallisuussyistä viestin kuvia ei näytetty.';
$messages['encryptedmessage'] = 'Viesti on salattu, eikä sitä voida näyttää.';
$messages['nocontactsfound'] = 'Ei kontakteja';
$messages['contactnotfound'] = 'Pyydettyä yhteystietoa ei löytynyt';
$messages['sendingfailed'] = 'Viestin lähetys epäonnistui';
$messages['senttooquickly'] = 'Odota $sec sekunti(a) ennen viestin lähettämistä';
$messages['errorsavingsent'] = 'Lähetetyn viestin tallennuksessa tapahtui virhe';
$messages['errorsaving'] = 'Tallennuksessa tapahtui virhe';
$messages['errormoving'] = 'Viestiä ei voitu siirtää';
$messages['errordeleting'] = 'Viestiä ei voitu poistaa';
$messages['deletecontactconfirm'] = 'Haluatko varmasti poistaa valitut kontaktit?';
$messages['deletemessagesconfirm'] = 'Haluatko varmasti poistaa valitut viestit?';
$messages['deletefolderconfirm'] = 'Haluatko varmasti poistaa kansion?';
$messages['purgefolderconfirm'] = 'Haluatko varmasti poistaa kaikki viestit kansiosta?';
$messages['foldercreating'] = 'Luodaan kansiota...';
$messages['folderdeleting'] = 'Poistetaan kansiota...';
$messages['folderrenaming'] = 'Nimetään kansiota...';
$messages['foldermoving'] = 'Siirretään kansiota...';
$messages['formincomplete'] = 'Lomakkeen tiedot olivat puutteelliset';
$messages['noemailwarning'] = 'Anna sähköpostiosoite';
$messages['nonamewarning'] = 'Anna nimi';
$messages['nopagesizewarning'] = 'Anna sivukoko';
$messages['nosenderwarning'] = 'Anna lähettäjän sähköpostiosoite';
$messages['norecipientwarning'] = 'Anna ainakin yksi vastaanottaja';
$messages['nosubjectwarning'] = '"Otsikko" -kenttä on tyhjä. Haluaisitko kirjoittaa viestillesi otsikon?';
$messages['nobodywarning'] = 'Lähetetäänkö viesti ilman tekstiä?';
$messages['notsentwarning'] = 'Viestiä ei lähetetty. Haluatko poistaa viestin?';
$messages['noldapserver'] = 'Valitse LDAP -palvelin';
$messages['nocontactsreturned'] = 'Yhtään kontaktia ei löytynyt';
$messages['nosearchname'] = 'Anna kontaktin nimi tai sähköpostiosoite';
$messages['searchsuccessful'] = 'Löydetty $nr viestiä';
$messages['searchnomatch'] = 'Haku ei tuottanut tuloksia';
$messages['searching'] = 'Etsitään...';
$messages['checking'] = 'Tarkistetaan...';
$messages['nospellerrors'] = 'Kirjoitusvirheitä ei löytynyt';
$messages['folderdeleted'] = 'Kansio poistettu onnistuneesti';
$messages['deletedsuccessfully'] = 'Poistettu onnistuneesti';
$messages['converting'] = 'Poistetaan asettelu viestistä...';
$messages['messageopenerror'] = 'Virhe kopioitaessa viestiä palvelimelta';
$messages['fileuploaderror'] = 'Tiedoston lähettäminen epäonnistui';
$messages['filesizeerror'] = 'Lähetettävä tiedosto ylittää sallitun enimmäiskoon $size';
$messages['copysuccess'] = 'Kopioitu $nr osoitetta onnistuneesti';
$messages['copyerror'] = 'Yhtään osoitetta ei voitu kopioida';
$messages['sourceisreadonly'] = 'Tämän osoitteen lähde on kirjoitussuojattu';
$messages['errorsavingcontact'] = 'Yhteystietoa ei voitu tallentaa';
$messages['movingmessage'] = 'Siirretään viestiä...';
$messages['receiptsent'] = 'Lukukuittaus lähetetty onnistuneesti';
$messages['errorsendingreceipt'] = 'Lukukuittausta ei voitu lähettää';
$messages['nodeletelastidentity'] = 'Et voi poistaa tätä identiteettiä, koska se on ainoa jäljelläoleva';
$messages['addsubfolderhint'] = 'Uusi kansio luodaan valitun kansion alikansiona';
$messages['forbiddencharacter'] = 'Kansion nimessä on kiellettyjä merkkejä';
$messages['selectimportfile'] = 'Valitse lähetettävä tiedosto';
$messages['addresswriterror'] = 'Valittuun osoitekirjaan ei voi kirjoittaa';
$messages['importwait'] = 'Tuodaan, odota...';
$messages['importerror'] = 'Tuonti epäonnistui! Lähetetty tiedosto ei ole vCard -muodossa.';
-$messages['importconfirm'] = '$inserted kontaktia tuotu onnistuneesti $inserted kontaktioa, $skipped olemassaolevaa kontaktia hypättiin yli: $names';
+$messages['importconfirm'] = '$inserted kontaktia tuotu onnistuneesti $inserted kontaktioa, $skipped olemassaolevaa kontaktia hypättiin yli: <p><em>$names</em></p>';
$messages['opnotpermitted'] = 'Toiminto ei ole sallittu!';
$messages['nofromaddress'] = 'Valittu identiteetti ei sisällä sähköpostiosoitetta';
?>
diff --git a/program/localization/fr_FR/messages.inc b/program/localization/fr_FR/messages.inc
index 332c4d5de..417f8ce43 100644
--- a/program/localization/fr_FR/messages.inc
+++ b/program/localization/fr_FR/messages.inc
@@ -1,96 +1,96 @@
<?php
/*
+-----------------------------------------------------------------------+
| language/fr_FR/messages.inc |
| |
| Language file of the RoundCube Webmail client |
| Copyright (C) 2005-2008, RoundCube Dev. - Switzerland |
| Licensed under the GNU GPL |
| |
+-----------------------------------------------------------------------+
| Author: Joel S. <joel.s@spijoprod.net> |
| Jerome Lipowicz <jerome@yayel.com> |
| Maximilien Cuony <theglu@theglu.org> |
+-----------------------------------------------------------------------+
@version $Id$
*/
$messages = array();
$messages['loginfailed'] = 'Erreur d\'authentification';
$messages['cookiesdisabled'] = 'Votre navigateur n\'accepte pas les cookies';
$messages['sessionerror'] = 'Votre session est invalide ou a expiré';
$messages['imaperror'] = 'Erreur de connexion au serveur IMAP';
$messages['nomessagesfound'] = 'Aucun message trouvé dans cette boîte aux lettres';
$messages['loggedout'] = 'Vous venez de vous déconnecter avec succès. Au revoir !';
$messages['mailboxempty'] = 'Boîte aux lettres vide';
$messages['loading'] = 'Chargement...';
$messages['loadingdata'] = 'Chargement des données...';
$messages['checkingmail'] = 'Vérification des nouveaux messages...';
$messages['sendingmessage'] = 'Message en cours d\'envoi...';
$messages['messagesent'] = 'Message bien envoyé';
$messages['savingmessage'] = 'Sauvegarde du message...';
$messages['messagesaved'] = 'Message sauvegardé dans Brouillons';
$messages['successfullysaved'] = 'Sauvegarde effectuée';
$messages['addedsuccessfully'] = 'Contact ajouté dans le carnet d\'adresses';
$messages['contactexists'] = 'Un contact avec ce courriel existe déjà';
$messages['blockedimages'] = 'Afin de préserver votre vie privée, les images distantes ont été bloquées dans ce message.';
$messages['encryptedmessage'] = 'Ceci est un message crypté et il ne peut pas être affiché. Désolé !';
$messages['nocontactsfound'] = 'Aucun contact n\'a pu être trouvé';
$messages['contactnotfound'] = 'Le contact demandé n\'a pas été trouvé';
$messages['sendingfailed'] = 'L\'envoie du message a échoué';
$messages['senttooquickly'] = 'Vous devez attendre $sec sec. pour envoyer le message';
$messages['errorsavingsent'] = 'Une erreur est survenue pendant la sauvegarde du message envoyé';
$messages['errorsaving'] = 'Une erreur a empêché la sauvegarde';
$messages['errormoving'] = 'Impossible de déplacer le message';
$messages['errordeleting'] = 'Impossible d\'effacer le message';
$messages['deletecontactconfirm'] = 'Voulez-vous vraiment effacer le(s) contact(s) sélectionné(s) ?';
$messages['deletemessagesconfirm'] = 'Voulez-vous vraiment supprimer le(s) message(s) séléctionné(s) ?';
$messages['deletefolderconfirm'] = 'Voulez-vous vraiment effacer ce dossier ?';
$messages['purgefolderconfirm'] = 'Voulez-vous vraiment effacer tous les messages de ce dossier ?';
$messages['foldercreating'] = 'Création du dossier...';
$messages['folderdeleting'] = 'Suppression du dossier...';
$messages['folderrenaming'] = 'Renommage 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';
$messages['nopagesizewarning'] = 'Veuillez indiquer une taille de page';
$messages['norecipientwarning'] = 'Veuillez ajouter au moins un destinataire';
$messages['nosubjectwarning'] = 'Le champ « Objet » est vide. Souhaitez-vous le renseigner maintenant ?';
$messages['nobodywarning'] = 'Envoyer ce message sans texte ?';
$messages['notsentwarning'] = 'Le message n\'a pas été envoyé. Voulez-vous abandonner ce message ?';
$messages['noldapserver'] = 'Choisissez un serveur LDAP pour la recherche';
$messages['nocontactsreturned'] = 'Aucun contact trouvé';
$messages['nosearchname'] = 'Entrez un nom de contact ou un courriel';
$messages['searchsuccessful'] = '$nr messages trouvés';
$messages['searchnomatch'] = 'La recherche ne donne aucun résultat';
$messages['searching'] = 'En cours de recherche...';
$messages['checking'] = 'Vérification...';
$messages['nospellerrors'] = 'Aucune faute trouvée';
$messages['folderdeleted'] = 'Dossier effacé';
$messages['deletedsuccessfully'] = 'Supprimé(s) avec succès';
$messages['converting'] = 'Suppression de la mise en forme...';
$messages['messageopenerror'] = 'Impossible de charger le message depuis serveur';
$messages['fileuploaderror'] = 'Transfert du fichier echoué';
$messages['filesizeerror'] = 'Le fichier transféré dépasse la taille maximale de $size';
$messages['copysuccess'] = 'Succès de la copie des $nr adresses';
$messages['copyerror'] = 'Ne peut pas copier les adresses';
$messages['sourceisreadonly'] = 'Cette source d\'adresse est en lecture seule';
$messages['errorsavingcontact'] = 'Ne peut pas enregistrer l\'adresse du contact';
$messages['movingmessage'] = 'Déplacement du message...';
$messages['receiptsent'] = 'L\'accusé de réception a bien été envoyé';
$messages['errorsendingreceipt'] = 'L\'accusé de réception n\'a pas pu être envoyé';
$messages['nodeletelastidentity'] = 'Vous ne pouvez pas effacer votre seule identité.';
$messages['addsubfolderhint'] = 'Ce dossier sera créé comme sous-dossier de celui sélectionné.';
$messages['forbiddencharacter'] = 'Le nom du dossier contient un caractère interdit';
$messages['selectimportfile'] = 'Veuillez sélectionner un fichier à envoyer';
$messages['addresswriterror'] = 'Impossible d\'écrire dans le carnet d\'adresse sélectionné';
$messages['importwait'] = 'Importation, veuillez patienter...';
$messages['importerror'] = 'Importation échouée ! Le fichier envoyé n\'est pas un fichier vCard valide.';
-$messages['importconfirm'] = '$inserted contacts importés avec succès, $skipped entrées existantes ignorées:$names';
+$messages['importconfirm'] = '$inserted contacts importés avec succès, $skipped entrées existantes ignorées: <p><em>$names</em></p>';
$messages['opnotpermitted'] = 'Cette opération n\'est pas permise !';
?>
diff --git a/program/localization/he_IL/messages.inc b/program/localization/he_IL/messages.inc
index c8b46c125..046e19e81 100644
--- a/program/localization/he_IL/messages.inc
+++ b/program/localization/he_IL/messages.inc
@@ -1,93 +1,93 @@
<?php
/*
+-----------------------------------------------------------------------+
| language/he_IL/messages.inc |
| |
| Language file of the RoundCube Webmail client |
| Copyright (C) 2005-2008, RoundCube Dev. - Switzerland |
| Licensed under the GNU GPL |
| |
+-----------------------------------------------------------------------+
| Author: Moshe Leibovitch <moish@mln.co.il> |
| Updates: Noor Dawod <noor@comrax.com> |
| Updates: Moshe Leibovitch <moish@mln.co.il> 20092008 |
+-----------------------------------------------------------------------+
*/
$messages = array();
$messages['loginfailed'] = 'הכניסה נכשלה';
$messages['cookiesdisabled'] = 'הדפדפן אינו מקבל עוגיות';
$messages['sessionerror'] = 'כניסתך למערכת אינה חוקית או שפג תוקפה';
$messages['imaperror'] = 'הקשר לשרת הדואר נכשל';
$messages['nomessagesfound'] = 'לא נמצאו הודעות בתיבה זו';
$messages['loggedout'] = 'הקשר הסתיים. להתראות!';
$messages['mailboxempty'] = 'רשימת ההודעות ריקה';
$messages['loading'] = 'טעינה...';
$messages['loadingdata'] = 'טעינת מידע...';
$messages['checkingmail'] = 'בדיקת קיום הודעות חדשות...';
$messages['sendingmessage'] = 'ההודעה נמסרת...';
$messages['messagesent'] = 'ההודעה נמסרה בהצלחה';
$messages['savingmessage'] = 'שמירת הודעה...';
$messages['messagesaved'] = 'ההודעה נשמרה כטיוטה';
$messages['successfullysaved'] = 'נשמרה בהצלחה';
$messages['addedsuccessfully'] = 'איש הקשר נוסף לפנקס בהצלחה';
$messages['contactexists'] = 'קיים כבר איש קשר עם כתובת דוא\"ל זו';
$messages['blockedimages'] = 'תמונות משרת אחר נחסמו כדי לשמור על הפרטיות';
$messages['encryptedmessage'] = 'זו הודעת מוצפנת ולא ניתן להציגה';
$messages['nocontactsfound'] = 'לא נמצאו אנשי קשר';
$messages['contactnotfound'] = 'איש הקשר המבוקש לא נמצא';
$messages['sendingfailed'] = 'שליחת ההודעה נכשלה';
$messages['senttooquickly'] = 'נא להמתין $sec שניות לפני מסירת הודעה זו';
$messages['errorsavingsent'] = 'נגרמה שגיאה במהלך שמירת ההודעה בתיק הודעות יוצאות';
$messages['errorsaving'] = 'נגרמה שגיאה במהלך השמירה';
$messages['errormoving'] = 'לא ניתן לתייק את ההודעה';
$messages['errordeleting'] = 'לא ניתן למחוק את ההודעה';
$messages['deletecontactconfirm'] = 'האם למחוק את איש הקשר?';
$messages['deletemessagesconfirm'] = 'האם למחוק את ההודעות המסומנות?';
$messages['deletefolderconfirm'] = 'האם למחוק תיק זה?';
$messages['purgefolderconfirm'] = 'האם למחוק את כל ההודעות בתיק זה?';
$messages['foldercreating'] = 'התיקיה נוצרת...';
$messages['folderdeleting'] = 'התיקיה נמחקת...';
$messages['folderrenaming'] = 'שינוי שם תיקיה...';
$messages['formincomplete'] = 'לא הוזנו כל השדות בטופס זה';
$messages['noemailwarning'] = 'נא להוסיף כתובת דוא\"ל חוקית';
$messages['nonamewarning'] = 'נא להוסיף שם';
$messages['nopagesizewarning'] = 'נא להוסיף גודל דף';
$messages['norecipientwarning'] = 'נא להוסיף לפחות נמען אחד';
$messages['nosubjectwarning'] = 'שורת הנושא ריקה. האם ברצונך להוסיף נושא כעת?';
$messages['nobodywarning'] = 'האם לשלוח הודעה ללא תוכן?';
$messages['notsentwarning'] = 'ההודעה לא נשלחה. האם לבטל?';
$messages['noldapserver'] = 'נא לבחור שרת כתובות לחיפוש';
$messages['nocontactsreturned'] = 'לא נמצאו אנשי קשר';
$messages['nosearchname'] = 'נא להוסיף איש קשר או כתובת דוא\"ל';
$messages['searchsuccessful'] = 'נמצאו $nr הודעות';
$messages['searchnomatch'] = 'תוצאת החיפוש ריקה';
$messages['searching'] = 'חיפוש...';
$messages['checking'] = 'בדיקה...';
$messages['nospellerrors'] = 'לא נמצאו שגיאות כתיב';
$messages['folderdeleted'] = 'התיק נמחק בהצלחה';
$messages['deletedsuccessfully'] = 'המחיקה הסתיימה בהצלחה';
$messages['converting'] = 'הסרת העיצוב מההודעה';
$messages['messageopenerror'] = 'לא ניתן לטעון ההודעה מהשרת';
$messages['fileuploaderror'] = 'העלאת הקובץ נכשלה';
$messages['filesizeerror'] = 'הקובץ לטעינה גדול מהגודל המקסימלי שהוא $size';
$messages['copysuccess'] = '$nr כתובות הועתקו בהצלחה';
$messages['copyerror'] = 'לא ניתן להעתיק אף כתובת';
$messages['sourceisreadonly'] = 'המקור לכתובת הוא לקריאה בלבד';
$messages['errorsavingcontact'] = 'לא ניתן לשמור את כתובת איש הקשר';
$messages['movingmessage'] = 'תיוק ההודעה...';
$messages['receiptsent'] = 'אישור הקבלה נשלח בהצלחה';
$messages['errorsendingreceipt'] = 'לא ניתן לשלוח אישור קבלה';
$messages['nodeletelastidentity'] = 'זו הזהות האחרונה ולכן לא ניתן לבטלה';
$messages['addsubfolderhint'] = 'תיקיה זו תוקם תחת התיקיה שנבחרה';
$messages['forbiddencharacter'] = 'שם התיקיה מכיל תוים אסורים';
$messages['selectimportfile'] = 'נא לבחור קובץ לייבוא';
$messages['addresswriterror'] = 'פנקס הכתובות שנבחר אינו ניתן לכתיבה';
$messages['importwait'] = 'ייבוא, נא להמתין..';
$messages['importerror'] = 'חוקי vCard הייבוא נכשל כי הקובץ אינו בפורמט';
-$messages['importconfirm'] = 'יובאו $inserted אנשי קשר, $skipped היו קיימים $names';
+$messages['importconfirm'] = 'יובאו $inserted אנשי קשר, $skipped היו קיימים <p><em>$names</em></p>';
$messages['opnotpermitted'] = 'פעולה אסורה!';
?>
diff --git a/program/localization/it_IT/messages.inc b/program/localization/it_IT/messages.inc
index 8a44d17f0..46f9d3997 100644
--- a/program/localization/it_IT/messages.inc
+++ b/program/localization/it_IT/messages.inc
@@ -1,97 +1,97 @@
<?php
/*
+-----------------------------------------------------------------------+
| language/it/messages.inc |
| |
| Language file of the RoundCube Webmail client |
| Copyright (C) 2005-2008, RoundCube Dev. - Switzerland |
| Licensed under the GNU GPL |
| |
+-----------------------------------------------------------------------+
| Author: Andrej Mocilnik <amocilnik@dotcom.ts.it> |
| Yusef Maali <contact@yusefmaali.net> |
+-----------------------------------------------------------------------+
@version $Id$
*/
$messages = array();
$messages['loginfailed'] = 'Impossibile accedere. Utente o password non corretti';
$messages['cookiesdisabled'] = 'Il tuo browser non accetta i cookies';
$messages['sessionerror'] = 'Sessione non valida o scaduta';
$messages['imaperror'] = 'Impossibile connettersi al server IMAP';
$messages['nomessagesfound'] = 'Nessun messaggio trovato in questa cartella';
$messages['loggedout'] = 'Sessione chiusa correttamente. Arrivederci!';
$messages['mailboxempty'] = 'Cartella vuota';
$messages['loading'] = 'Caricamento...';
$messages['loadingdata'] = 'Caricamento dati...';
$messages['checkingmail'] = 'Controllo nuovi messaggi...';
$messages['sendingmessage'] = 'Invio messaggio in corso...';
$messages['messagesent'] = 'Messaggio inviato correttamente';
$messages['savingmessage'] = 'Salvataggio messaggio...';
$messages['messagesaved'] = 'Messaggio salvato nelle bozze';
$messages['successfullysaved'] = 'Salvato correttamente';
$messages['addedsuccessfully'] = 'Contatto aggiunto alla rubrica';
$messages['contactexists'] = 'Esiste già un contatto con questo indirizzo e-mail';
$messages['blockedimages'] = 'Per proteggere la tua privacy, le immagini remote di questo messaggio sono state bloccate.';
$messages['encryptedmessage'] = 'Questo messaggio é cifrato e non può essere visualizzato';
$messages['nocontactsfound'] = 'Nessun contatto trovato';
$messages['contactnotfound'] = 'Il contatto richiesto non è stato trovato';
$messages['sendingfailed'] = 'Impossibile inviare il messaggio';
$messages['senttooquickly'] = 'Per favore, attendi $sec secondi prima di inviare questo messaggio';
$messages['errorsavingsent'] = 'C\'è stato un errore nel salvare il messaggio inviato';
$messages['errorsaving'] = 'Impossibile salvare';
$messages['errormoving'] = 'Impossibile spostare il messaggio';
$messages['errordeleting'] = 'Impossibile cancellare il messaggio';
$messages['deletecontactconfirm'] = 'Sei sicuro di voler cancellare i contatti selezionati?';
$messages['deletemessagesconfirm'] = 'Sei sicuro di voler cancellare i messaggi selezionati?';
$messages['deletefolderconfirm'] = 'Sei sicuro di voler cancellare la cartella selezionata?';
$messages['purgefolderconfirm'] = 'Sei sicuro di voler cancellare tutti i messaggi in questa cartella?';
$messages['foldercreating'] = 'Creazione cartella...';
$messages['folderdeleting'] = 'Eliminazione cartella...';
$messages['folderrenaming'] = 'Rinominazione cartella...';
$messages['formincomplete'] = 'Per favore, compila tutti i campi';
$messages['noemailwarning'] = 'Per favore, immetti un indirizzo e-mail valido';
$messages['nonamewarning'] = 'Per favore, immetti un nome';
$messages['nopagesizewarning'] = 'Per favore, immetti il numero di righe per pagina';
$messages['nosenderwarning'] = 'Per favore, inserisci l\'indirizzo e-mail mittente';
$messages['norecipientwarning'] = 'Per favore, immetti almeno un destinatario';
$messages['nosubjectwarning'] = 'L\'oggetto é vuoto. Vuoi inserirlo adesso?';
$messages['nobodywarning'] = 'Inviare il messaggio senza testo?';
$messages['notsentwarning'] = 'Il messaggio non é stato inviato. Vuoi veramente annullare questo messaggio?';
$messages['noldapserver'] = 'Per favore, scegli un server LDAP in cui ricercare';
$messages['nocontactsreturned'] = 'Nessun contatto trovato';
$messages['nosearchname'] = 'Per favore, immetti un nome o un indirizzo e-mail';
$messages['searchsuccessful'] = '$nr messaggi trovati';
$messages['searchnomatch'] = 'La ricerca non ha dato nessun risultato';
$messages['searching'] = 'Ricerca...';
$messages['checking'] = 'Controllo...';
$messages['nospellerrors'] = 'Nessun errore ortografico trovato';
$messages['folderdeleted'] = 'Cartella eliminata';
$messages['deletedsuccessfully'] = 'Eliminato con successo';
$messages['converting'] = 'Rimozione della formattazione dal messaggio...';
$messages['messageopenerror'] = 'Impossibile caricare il messaggio dal server';
$messages['fileuploaderror'] = 'Errore durante il caricamento del file';
$messages['filesizeerror'] = 'Il file da caricare supera il limite massimo di $size';
$messages['copysuccess'] = 'Copiati $nr indirizzi';
$messages['copyerror'] = 'Impossibile copiare gli indirizzi';
$messages['sourceisreadonly'] = 'La rubrica è in sola lettura';
$messages['errorsavingcontact'] = 'Impossibile salvare il contatto';
$messages['movingmessage'] = 'Sposto il messaggio...';
$messages['receiptsent'] = 'Ricevuta di ritorno inviata con successo';
$messages['errorsendingreceipt'] = 'Impossibile spedire la ricevuta di ritorno';
$messages['nodeletelastidentity'] = 'Impossibile eliminare l\'unica identità disponibile';
$messages['addsubfolderhint'] = 'La cartella verrà creata come sotto cartella della cartella corrente';
$messages['forbiddencharacter'] = 'Il nome della cartella contiene un carattere vietato';
$messages['selectimportfile'] = 'Per favore, seleziona il file da caricare';
$messages['addresswriterror'] = 'La rubrica selezionata non è scrivibile';
$messages['importwait'] = 'Importazione in corso, attendere...';
$messages['importerror'] = 'Importazione fallita! Il file caricato non è un file vCard valido.';
-$messages['importconfirm'] = 'Importati con successo $inserted contatti, saltate $skipped voci esistenti:$names';
+$messages['importconfirm'] = 'Importati con successo $inserted contatti, saltate $skipped voci esistenti:<p><em>$names</em></p>';
$messages['opnotpermitted'] = 'Operazione non consentita!';
$messages['nofromaddress'] = 'Indirizzo e-mail mancante nell\'identità selezionata';
?>
diff --git a/program/localization/lt_LT/messages.inc b/program/localization/lt_LT/messages.inc
index 2912d19f4..a44954cee 100644
--- a/program/localization/lt_LT/messages.inc
+++ b/program/localization/lt_LT/messages.inc
@@ -1,94 +1,94 @@
<?php
/*
+-----------------------------------------------------------------------+
| language/lt_LT/messages.inc |
| |
| Language file of the RoundCube Webmail client |
| Copyright (C) 2005-2008, RoundCube Dev. - Switzerland |
| Licensed under the GNU GPL |
| |
+-----------------------------------------------------------------------+
| Author: Martynas Bendorius <martynas@evanet.lt> |
+-----------------------------------------------------------------------+
@version $Id$
*/
$messages = array();
$messages['loginfailed'] = 'Prisijungti nepavyko';
$messages['cookiesdisabled'] = 'Jūsų naršyklė nepriima slapukų';
$messages['sessionerror'] = 'Jūsų sesija negaliojanti';
$messages['imaperror'] = 'Nepavyko prisijungti prie IMAP serverio';
$messages['nomessagesfound'] = 'Šioje pašto dėžutėje laiškų nėra ';
$messages['loggedout'] = 'Jus sėkmingai atsijungėte. Viso gero!';
$messages['mailboxempty'] = 'Pašto dėžutė tuščia';
$messages['loading'] = 'Įkeliama...';
$messages['loadingdata'] = 'Įkeliami duomenys...';
$messages['checkingmail'] = 'Tikrinama ar nėra naujų pranešimų...';
$messages['sendingmessage'] = 'Siunčiamas laiškas...';
$messages['messagesent'] = 'Laiškas sėkmingai nusiųstas';
$messages['savingmessage'] = 'Išsaugomas laiškas...';
$messages['messagesaved'] = 'Laiškas išsaugotas į Juodraščius';
$messages['successfullysaved'] = 'Sėkmingai išsaugota';
$messages['addedsuccessfully'] = 'Kontaktas sėkmingai įtrauktas į adresų knygą';
$messages['contactexists'] = 'Kontaktas, turintis šį el. pašto adresą, jau egzistuoja';
$messages['blockedimages'] = 'Saugant jūsų privatumą su laišku neatsiųsti paveikslėliai nerodomi';
$messages['encryptedmessage'] = 'Apgailestaujame, tačiau šis laiškas užšifruotas ir negali būti parodytas.';
$messages['nocontactsfound'] = 'Kontaktų nerasta';
$messages['contactnotfound'] = 'Reikalautas kontaktas nerastas';
$messages['sendingfailed'] = 'Laiško išsiųsti nepavyko';
$messages['senttooquickly'] = 'Jūs turite palaukti $sec sek., kad galėtumėte išsiųsti laišką';
$messages['errorsavingsent'] = 'Išsaugant išsiųstą laišką įvyko klaida';
$messages['errorsaving'] = 'Išsaugant įvyko klaida';
$messages['errormoving'] = 'Laiško perkelti nepavyko';
$messages['errordeleting'] = 'Laiško ištrinti nepavyko';
$messages['deletecontactconfirm'] = 'Ar jūs tikrai norite ištrinti pasirinktą(-us) kontaktą(-us)?';
$messages['deletemessagesconfirm'] = 'Ar jūs tikrai norite ištrinti pasirinktą(-us) žinutę(-es)?';
$messages['deletefolderconfirm'] = 'Ar jūs tikrai norite ištrinti šį aplanką?';
$messages['purgefolderconfirm'] = 'Ar jūs tikrai norite ištrinti visus laiškus, esančius šiame aplanke?';
$messages['foldercreating'] = 'Aplankas kuriamas...';
$messages['folderdeleting'] = 'Aplankas pašalinamas...';
$messages['folderrenaming'] = 'Aplankas pervardinamas...';
$messages['formincomplete'] = 'Šios formos laukai yra nepilnai užpildyti';
$messages['noemailwarning'] = 'Prašome įvesti teisingą el. pašto adresą';
$messages['nonamewarning'] = 'Prašome įvesti vardą';
$messages['nopagesizewarning'] = 'Prašome įvesti puslapio dydį';
$messages['norecipientwarning'] = 'Prašome įvesti bent vieną gavėją';
$messages['nosubjectwarning'] = 'Temos laukelis tuščias. Ar norite temą įvesti dabar?';
$messages['nobodywarning'] = 'Išsiųsti šį laišką be teksto?';
$messages['notsentwarning'] = 'Laiškas neišsiųstas. Ar jūs tikrai norite jo atsikratyti?';
$messages['noldapserver'] = 'Prašome pasirinkti LDAP serverį paieškai';
$messages['nocontactsreturned'] = 'Kontaktas(-ai) nerastas(-i)';
$messages['nosearchname'] = 'Prašom įvesti vardą arba el. pašto adresą';
$messages['searchsuccessful'] = 'Surasta $nr žinučių';
$messages['searchnomatch'] = 'Rezultatų nerasta';
$messages['searching'] = 'Ieškoma...';
$messages['checking'] = 'Tikrinama...';
$messages['nospellerrors'] = 'Rašybos klaidų nerasta';
$messages['folderdeleted'] = 'Aplankas sėkmingai ištrintas';
$messages['deletedsuccessfully'] = 'Sėkmingai ištrintas';
$messages['converting'] = 'Pašalinamas laiško formatavimas...';
$messages['messageopenerror'] = 'Nepavyko įkelti laišką iš serverio';
$messages['fileuploaderror'] = 'Nepavyko įkelti bylos';
$messages['filesizeerror'] = 'Įkelta byla viršija maksimalų vietos limitą — $size';
$messages['copysuccess'] = 'Sėkmingai nukopijuoti $nr adresai';
$messages['copyerror'] = 'Adresų kopijuoti negalima';
$messages['sourceisreadonly'] = 'Šis adreso šaltinis yra tik skaitymui';
$messages['errorsavingcontact'] = 'Kontakto adreso išsaugoti negalima';
$messages['movingmessage'] = 'Perkeliamas laiškas...';
$messages['receiptsent'] = 'Sėkmingai išsiųstas laiško perskaitymo patvirtinimas';
$messages['errorsendingreceipt'] = 'Nepavyko išsiųsti laiško perskaitymo patvirtinimo';
$messages['nodeletelastidentity'] = 'Jūs negalite ištrinti šios tapatybės, kadangi ji yra vienintelė likusi.';
$messages['addsubfolderhint'] = 'Šis aplankas bus sukurtas kaip poaplankis, kurį esate pažymėjęs';
$messages['forbiddencharacter'] = 'Aplanko pavadinimas turi neleistinų simbolių';
$messages['selectimportfile'] = 'Prašome pasirinkti bylą įkėlimui';
$messages['addresswriterror'] = 'Pasirinkta adresų knyga nėra įrašoma';
$messages['importwait'] = 'Importuojama, prašome palaukti...';
$messages['importerror'] = 'Importavimas nepavyko! Įkelta byla nėra vCard formato.';
-$messages['importconfirm'] = 'Sėkmingai importuoti $inserted kontaktai, $skipped egzistuojančių įrašų praleista:$names';
+$messages['importconfirm'] = 'Sėkmingai importuoti $inserted kontaktai, $skipped egzistuojančių įrašų praleista:<p><em>$names</em></p>';
$messages['opnotpermitted'] = 'Operacija neleistina!';
?>
diff --git a/program/localization/nn_NO/messages.inc b/program/localization/nn_NO/messages.inc
index b20d0c8bf..c348728b3 100644
--- a/program/localization/nn_NO/messages.inc
+++ b/program/localization/nn_NO/messages.inc
@@ -1,92 +1,92 @@
<?php
/*
+-----------------------------------------------------------------------+
| language/nn_NO/messages.inc |
| |
| Language file of the RoundCube Webmail client |
| Copyright (C) 2005-2008, RoundCube Dev. - Switzerland |
| Licensed under the GNU GPL |
| |
+-----------------------------------------------------------------------+
| Author: Per-Stian Vatne <psv@orsta.org> |
| Update: Odin Omdal Hørthe <odin.omdal@gmail.com> |
+-----------------------------------------------------------------------+
@version $Id$
*/
$messages = array();
$messages['loginfailed'] = 'Feil ved innlogging';
$messages['cookiesdisabled'] = 'Nettlesaren din tillet ikkje informasjonskapslar (cookies)';
$messages['sessionerror'] = 'Sesjonen din er ulovleg eller har gått ut på tid';
$messages['imaperror'] = 'Feil ved tilkopling til IMAP-tenar';
$messages['nomessagesfound'] = 'Ingen meldingar i denne postkassa';
$messages['loggedout'] = 'Du har avslutta sesjonen. Ha det bra!';
$messages['mailboxempty'] = 'Postkassa er tom';
$messages['loading'] = 'Lastar...';
$messages['loadingdata'] = 'Lastar inn data...';
$messages['checkingmail'] = 'Ser etter nye meldingar...';
$messages['sendingmessage'] = 'Sender melding...';
$messages['messagesent'] = 'Meldinga vart send';
$messages['savingmessage'] = 'Lagrar melding...';
$messages['messagesaved'] = 'Melding lagra som kladd';
$messages['successfullysaved'] = 'Meldinga vart lagra';
$messages['addedsuccessfully'] = 'Kontakta vart lagt til i adresseboka';
$messages['contactexists'] = 'Ei kontakt med denne e-postadressa eksisterer allereie';
$messages['blockedimages'] = 'For å ta vare på privatlivet ditt er eksterne bilete blokkert i denne meldinga.';
$messages['encryptedmessage'] = 'Dette er ei kryptert melding og kan ikkje visast. Orsak!';
$messages['nocontactsfound'] = 'Fann ingen kontaktar';
$messages['contactnotfound'] = 'Fann ikkje kontakten du såg etter';
$messages['sendingfailed'] = 'Kunne ikkje sende meldinga';
$messages['senttooquickly'] = 'Du må venta $sec sekund for å senda meldinga';
$messages['errorsavingsent'] = 'Klarte ikkje lagra den sende meldinga';
$messages['errorsaving'] = 'Det skjedde ein feil ved lagring';
$messages['errormoving'] = 'Kunne ikkje flytte meldinga';
$messages['errordeleting'] = 'Kunne ikkje slette meldinga';
$messages['deletecontactconfirm'] = 'Sletta kontakt(ar)?';
$messages['deletemessagesconfirm'] = 'Sletta melding(ar)?';
$messages['deletefolderconfirm'] = 'Sletta mappa?';
$messages['purgefolderconfirm'] = 'Sletta alle meldingane i denne mappa?';
$messages['formincomplete'] = 'Fyll ut skjema';
$messages['noemailwarning'] = 'Skriv inn korrekt epostadresse';
$messages['nonamewarning'] = 'Skriv inn namn';
$messages['nopagesizewarning'] = 'Skriv inn sidestorleik';
$messages['norecipientwarning'] = 'Skriv inn minst ein mottakar';
$messages['nosubjectwarning'] = 'Emnefeltet er tomt. Vil du skriva inn eitt emne no?';
$messages['nobodywarning'] = 'Senda melding utan tekst?';
$messages['notsentwarning'] = 'Meldinga er ikkje sendt. Vil du kasta ho?';
$messages['noldapserver'] = 'Vel LDAP-tenar å søkja i';
$messages['nocontactsreturned'] = 'Fann ingen kontaktar';
$messages['nosearchname'] = 'Skriv inn kontaktnamn eller epostadressa';
$messages['searchsuccessful'] = 'Fann $nr meldingar';
$messages['searchnomatch'] = 'Søket fann ingenting';
$messages['searching'] = 'Søkjer...';
$messages['checking'] = 'Sjekkar...';
$messages['nospellerrors'] = 'Fann ingen stavefeil';
$messages['folderdeleted'] = 'Mappe sletta';
$messages['deletedsuccessfully'] = 'Sletta';
$messages['converting'] = 'Fjerner formattering frå melding...';
$messages['messageopenerror'] = 'Kunne ikkje lasta meldinga frå tenaren';
$messages['fileuploaderror'] = 'Filopplasting feila';
$messages['filesizeerror'] = 'Fila du lasta opp, er større enn maksimumsstorleiken, $size';
$messages['copysuccess'] = 'Kopierte $nr adresser';
$messages['copyerror'] = 'Kunne ikkje kopiera adresser';
$messages['sourceisreadonly'] = 'Denne adressekjelda er berre lesbar';
$messages['errorsavingcontact'] = 'Kunne ikkje lagra kontaktadressa';
$messages['movingmessage'] = 'Flyttar melding...';
$messages['receiptsent'] = 'Sende melding-er-lest-kvittering';
$messages['errorsendingreceipt'] = 'Kunne ikkje senda melding-er-lest-kvittering';
$messages['nodeletelastidentity'] = 'Du kan ikkje sletta denne identiteten, det er den siste.';
$messages['addsubfolderhint'] = 'Denne mappa vert laga som ei undermappe til den du hev markert';
$messages['forbiddencharacter'] = 'Mappenamn inneheld eit teikn som ikkje er støtta';
$messages['selectimportfile'] = 'Vel ei fil til å lasta opp';
$messages['addresswriterror'] = 'Denne adresseboka er ikkje skrivbar';
$messages['importwait'] = 'Importerer, vent...';
$messages['importerror'] = 'Importering feila! Fila er ikkje ei korrekt vCard-file.';
-$messages['importconfirm'] = 'Importerte $inserted kontakar, hoppa over $skipped oppføringar: $names';
+$messages['importconfirm'] = 'Importerte $inserted kontakar, hoppa over $skipped oppføringar: <p><em>$names</em></p>';
$messages['opnotpermitted'] = 'Ulovleg operasjon.';
?>
diff --git a/program/localization/ru_RU/messages.inc b/program/localization/ru_RU/messages.inc
index 6ad3b7081..35c15ee0a 100644
--- a/program/localization/ru_RU/messages.inc
+++ b/program/localization/ru_RU/messages.inc
@@ -1,98 +1,98 @@
<?php
/*
+-----------------------------------------------------------------------+
| language/ru_RU/messages.inc |
| |
| Language file of the RoundCube Webmail client |
| Copyright (C) 2005-2008, RoundCube Dev. - Switzerland |
| Licensed under the GNU GPL |
| |
+-----------------------------------------------------------------------+
| Author: Maxim Zenin <maxx@webmechanics.ru> |
| Vladimir Kulev <me@lightoze.net> |
| Artur Smolkin <admin@roundcube.ru> |
+-----------------------------------------------------------------------+
@version $Id$
*/
$messages = array();
$messages['loginfailed'] = 'Неудачная попытка входа';
$messages['cookiesdisabled'] = 'Ваш броузер не принимает cookie';
$messages['sessionerror'] = 'Ваша сессия устарела';
$messages['imaperror'] = 'Неудачное соединение с IMAP сервером';
$messages['nomessagesfound'] = 'Сообщений не найдено';
$messages['loggedout'] = 'Ваша сессия завершена. Всего доброго!';
$messages['mailboxempty'] = 'Почтовый ящик пуст';
$messages['loading'] = 'Загрузка...';
$messages['loadingdata'] = 'Загрузка данных...';
$messages['checkingmail'] = 'Проверка новых сообщений...';
$messages['sendingmessage'] = 'Отправка сообщения...';
$messages['messagesent'] = 'Сообщение отправлено';
$messages['savingmessage'] = 'Сохранение сообщения...';
$messages['messagesaved'] = 'Сохранено в Черновиках';
$messages['successfullysaved'] = 'Сохранено';
$messages['addedsuccessfully'] = 'Контакт добавлен в список контактов';
$messages['contactexists'] = 'Контакт с этим адресом e-mail уже существует';
$messages['blockedimages'] = 'В целях безопасности загрузка изображений заблокирована.';
$messages['encryptedmessage'] = 'Сообщение зашифровано и не может быть показано. Обратитесь к администратору сервера.';
$messages['nocontactsfound'] = 'Контакты не найдены';
$messages['contactnotfound'] = 'Требуемый контакт не найден';
$messages['sendingfailed'] = 'Не удалось отправить сообщение';
$messages['senttooquickly'] = 'Вы должны подождать $sec сек. для отправки сообщения';
$messages['errorsavingsent'] = 'Произошла ошибка при сохранении отправленного сообщения';
$messages['errorsaving'] = 'В процессе сохранения произошла ошибка';
$messages['errormoving'] = 'Не удалось переместить сообщение';
$messages['errordeleting'] = 'Не удалось удалить сообщение';
$messages['deletecontactconfirm'] = 'Вы действительно хотите удалить выделенные контакты?';
$messages['deletemessagesconfirm'] = 'Вы действительно хотите удалить выбранные сообщения?';
$messages['deletefolderconfirm'] = 'Вы действительно хотите удалить эту папку?';
$messages['purgefolderconfirm'] = 'Вы действительно хотите удалить все сообщения в этой папке?';
$messages['foldercreating'] = 'Создание папки...';
$messages['folderdeleting'] = 'Удаление папки...';
$messages['folderrenaming'] = 'Переименование папки...';
$messages['formincomplete'] = 'Заполнены не все поля';
$messages['noemailwarning'] = 'Пожалуйста, введите корректный адрес электронной почты';
$messages['nonamewarning'] = 'Пожалуйста, введите имя';
$messages['nopagesizewarning'] = 'Пожалуйста, введите размер страницы';
$messages['nosenderwarning'] = 'Пожалуйста, введите адрес электронной почты отправителя';
$messages['norecipientwarning'] = 'Пожалуйста, введите имя получателя';
$messages['nosubjectwarning'] = 'Поле Тема не заполнено. Хотите заполнить его сейчас?';
$messages['nobodywarning'] = 'Отправить сообщение без текста?';
$messages['notsentwarning'] = 'Сообщение не было отправлено. Вы хотите отказаться от отправки?';
$messages['noldapserver'] = 'Пожалуйста, выберите LDAP сервер для поиска';
$messages['nocontactsreturned'] = 'Контакты не найдены';
$messages['nosearchname'] = 'Пожалуйста, введите имя или адрес E-Mail';
$messages['searchsuccessful'] = 'Найденных сообщений - $nr';
$messages['searchnomatch'] = 'Сообщений не найдено';
$messages['searching'] = 'Поиск...';
$messages['checking'] = 'Проверка...';
$messages['nospellerrors'] = 'Орфографических ошибок не найдено';
$messages['folderdeleted'] = 'Папка удалена';
$messages['deletedsuccessfully'] = 'Удалено';
$messages['converting'] = 'Удаление форматирования сообщения...';
$messages['messageopenerror'] = 'Невозможно загрузить сообщение с сервера';
$messages['fileuploaderror'] = 'Невозможно загрузить файл';
$messages['filesizeerror'] = 'Загруженный файл больше максимального размера в $size';
$messages['copysuccess'] = 'Скопировано $nr адресов';
$messages['copyerror'] = 'Невозможно скопировать адреса';
$messages['sourceisreadonly'] = 'Данный источник адресов только для чтения';
$messages['errorsavingcontact'] = 'Невозможно сохранить адрес контакта';
$messages['movingmessage'] = 'Перемещение сообщения…';
$messages['receiptsent'] = 'Уведомление о прочтении отправлено';
$messages['errorsendingreceipt'] = 'Уведомление о прочтении не отправлено';
$messages['nodeletelastidentity'] = 'Вы не можете удалить этот профиль, он у вас последний';
$messages['addsubfolderhint'] = 'Эта папка будет создана как подпапка в текущей папке';
$messages['forbiddencharacter'] = 'Имя папки содержит недопустимые символы';
$messages['selectimportfile'] = 'Выберите файл для загрузки';
$messages['addresswriterror'] = 'Выбранная адресная книга недоступна для записи';
$messages['importwait'] = 'Импортирование, пожалуйста, подождите...';
$messages['importerror'] = 'Импорт завершился неудачно! Загруженный файл не является правильным файлом vCard.';
-$messages['importconfirm'] = 'Успешно импортировано $inserted контакт(ов), пропущено $skipped существующих:$names';
+$messages['importconfirm'] = 'Успешно импортировано $inserted контакт(ов), пропущено $skipped существующих: <p><em>$names</em></p>';
$messages['opnotpermitted'] = 'Действие запрещено!';
$messages['nofromaddress'] = 'В выбранном профиле не хватает адреса электронной почты';
?>
diff --git a/program/localization/zh_CN/messages.inc b/program/localization/zh_CN/messages.inc
index 06be91530..b8003e0f2 100644
--- a/program/localization/zh_CN/messages.inc
+++ b/program/localization/zh_CN/messages.inc
@@ -1,98 +1,98 @@
<?php
/*
+-----------------------------------------------------------------------+
| localization/zh_CN/messages.inc |
| |
| Language file of the RoundCube Webmail client |
| Copyright (C) 2005-2008, RoundCube Dev. - Switzerland |
| Licensed under the GNU GPL |
| |
+-----------------------------------------------------------------------+
| Author: Xue zhong sheng <xue.zhongsheng@gmail.com> |
| Zhang Huang bin <michaelbibby@gmail.com> |
+-----------------------------------------------------------------------+
@version $Id$
*/
$messages = array();
$messages['loginfailed'] = '登录失败';
$messages['cookiesdisabled'] = '您的浏览器不接受 cookies';
$messages['sessionerror'] = '会话已过期';
$messages['imaperror'] = '连接到邮件服务器失败';
$messages['nomessagesfound'] = '此邮件夹内无邮件';
$messages['loggedout'] = '您已成功注销';
$messages['mailboxempty'] = '邮件夹为空';
$messages['loading'] = '加载中...';
$messages['loadingdata'] = '数据加载中...';
$messages['checkingmail'] = '检查新邮件...';
$messages['sendingmessage'] = '正在发送邮件...';
$messages['messagesent'] = '邮件发送成功';
$messages['savingmessage'] = '正在储存邮件...';
$messages['messagesaved'] = '邮件已暂存到草稿箱';
$messages['successfullysaved'] = '保存成功';
$messages['addedsuccessfully'] = '成功添加联系人';
$messages['contactexists'] = '当前联系人的电子邮件地址已存在';
$messages['blockedimages'] = '为保护隐私,此邮件中的远程图片未显示';
$messages['encryptedmessage'] = '因此邮件已加密,无法正常显示';
$messages['nocontactsfound'] = '未找到联系人';
$messages['contactnotfound'] = '未找到指定的联系人';
$messages['sendingfailed'] = '发送失败';
$messages['senttooquickly'] = '您需要等待 $sec 秒才能发送邮件';
$messages['errorsavingsent'] = '保存已发送邮件时出现错误';
$messages['errorsaving'] = '保存过程中发生错误';
$messages['errormoving'] = '无法移动邮件';
$messages['errordeleting'] = '无法删除邮件';
$messages['deletecontactconfirm'] = '确定要删除已选中的联系人?';
$messages['deletemessagesconfirm'] = '确定要删除已选中的邮件?';
$messages['deletefolderconfirm'] = '确定要删除已选中的邮件夹?';
$messages['purgefolderconfirm'] = '是否确认要删除当前邮件夹中的所有邮件?';
$messages['foldercreating'] = '正在创建邮件夹';
$messages['folderdeleting'] = '正在删除邮件夹';
$messages['folderrenaming'] = '正在重命名邮件夹';
$messages['foldermoving'] = '正在移动目录...';
$messages['formincomplete'] = '当前表单未填写完整,请完整填写';
$messages['noemailwarning'] = '请输入一个有效的邮件地址';
$messages['nonamewarning'] = '请输入名字';
$messages['nopagesizewarning'] = '请输入每页显示的邮件数量';
$messages['nosenderwarning'] = '请输入发件人的邮件地址';
$messages['norecipientwarning'] = '至少需要一个收件人';
$messages['nosubjectwarning'] = '主题为空。您要输入一个主题吗?';
$messages['nobodywarning'] = '要发送无正文的邮件吗?';
$messages['notsentwarning'] = '邮件未发送。您确定要离开并废弃当前邮件吗?';
$messages['noldapserver'] = '请选择一个LDAP服务器进行查找';
$messages['nocontactsreturned'] = '未找到联系人';
$messages['nosearchname'] = '请输入一个联系人姓名或电子邮件地址';
$messages['searchsuccessful'] = '共找到 $n 封邮件';
$messages['searchnomatch'] = '未找到任何符合条件的邮件';
$messages['searching'] = '查找中...';
$messages['checking'] = '检查中...';
$messages['nospellerrors'] = '未发现拼写错误';
$messages['folderdeleted'] = '邮件夹已被成功删除';
$messages['deletedsuccessfully'] = '删除成功';
$messages['converting'] = '格式转换中...';
$messages['messageopenerror'] = '无法从服务器上加载邮件内容';
$messages['fileuploaderror'] = '文件上传失败';
$messages['filesizeerror'] = '上传的文件超过了 $size 的大小限制';
$messages['copysuccess'] = '成功复制 $nr 个地址';
$messages['copyerror'] = '无法复制地址';
$messages['sourceisreadonly'] = '源地址为只读';
$messages['errorsavingcontact'] = '无法保存联系人的地址';
$messages['movingmessage'] = '移动邮件到...';
$messages['receiptsent'] = '成功发送了一个已读回执';
$messages['errorsendingreceipt'] = '无法发送回执';
$messages['nodeletelastidentity'] = '无法删除这个身份,这是最后一个。';
$messages['addsubfolderhint'] = '新建的文件夹将成为所选文件夹的子文件夹';
$messages['forbiddencharacter'] = '目录名包含隐藏字符';
$messages['selectimportfile'] = '请选择要上传的文件';
$messages['addresswriterror'] = '已选择的地址簿不可写';
$messages['importwait'] = '正在导入,请稍后...';
$messages['importerror'] = '导入失败!所上传的文件不是有效的 vCard 文件。';
-$messages['importconfirm'] = '成功导入 $inserted 联系人,$skipped 乎略已存在的联系人:$names';
+$messages['importconfirm'] = '成功导入 $inserted 联系人,$skipped 乎略已存在的联系人: <p><em>$names</em></p>';
$messages['opnotpermitted'] = '不允许的操作';
$messages['nofromaddress'] = '选种的身份中没有邮件地址';
?>
diff --git a/program/steps/addressbook/import.inc b/program/steps/addressbook/import.inc
index 93452eccd..59490973c 100644
--- a/program/steps/addressbook/import.inc
+++ b/program/steps/addressbook/import.inc
@@ -1,185 +1,185 @@
<?php
/*
+-----------------------------------------------------------------------+
| program/steps/addressbook/import.inc |
| |
| This file is part of the RoundCube Webmail client |
| Copyright (C) 2008, RoundCube Dev. - Switzerland |
| Licensed under the GNU GPL |
| |
| PURPOSE: |
| Import contacts from a vCard or CSV file |
| |
+-----------------------------------------------------------------------+
| Author: Thomas Bruederli <roundcube@gmail.com> |
+-----------------------------------------------------------------------+
$Id: $
*/
/**
* Handler function to display the import/upload form
*/
function rcmail_import_form($attrib)
{
global $RCMAIL, $OUTPUT;
$attrib += array('id' => "rcmImportForm");
$upload = new html_inputfield(array('type' => 'file', 'name' => '_file', 'id' => 'rcmimportfile', 'size' => 40));
$form = html::p(null, html::label('rcmimportfile', rcube_label('importfromfile')) . html::br() . $upload->show());
$check_replace = new html_checkbox(array('name' => '_replace', 'value' => 1, 'id' => 'rcmimportreplace'));
$form .= html::p(null, $check_replace->show(get_input_value('_replace', RCUBE_INPUT_GPC)) .
html::label('rcmimportreplace', rcube_label('importreplace')));
$OUTPUT->add_label('selectimportfile','importwait');
$OUTPUT->add_gui_object('importform', $attrib['id']);
$out = html::p(null, Q(rcube_label('importtext'), 'show'));
$out .= $OUTPUT->form_tag(array(
'action' => $RCMAIL->url('import'),
'method' => 'post',
'enctype' => 'multipart/form-data') + $attrib,
$form);
return $out;
}
/**
* Render the confirmation page for the import process
*/
function rcmail_import_confirm($attrib)
{
global $IMPORT_STATS;
$vars = get_object_vars($IMPORT_STATS);
- $vars['names'] = join(', ', $IMPORT_STATS->names);
+ $vars['names'] = join(', ', array_map('Q', $IMPORT_STATS->names));
return html::p($attrib, Q(rcube_label(array(
'name' => 'importconfirm',
'nr' => $IMORT_STATS->inserted,
'vars' => $vars,
)), 'show'));
}
/**
* Create navigation buttons for the current import step
*/
function rcmail_import_buttons($attrib)
{
global $IMPORT_STATS, $OUTPUT;
$attrib += array('type' => "input");
unset($attrib['name']);
if (is_object($IMPORT_STATS)) {
$attrib['class'] = trim($attrib['class'] . ' mainaction');
$out = $OUTPUT->button(array('command' => "list", 'label' => "done") + $attrib);
}
else {
$out = $OUTPUT->button(array('command' => "list", 'label' => "cancel") + $attrib);
$out .= '&nbsp;';
$attrib['class'] = trim($attrib['class'] . ' mainaction');
$out .= $OUTPUT->button(array('command' => "import", 'label' => "import") + $attrib);
}
return $out;
}
/** The import process **/
$importstep = 'rcmail_import_form';
if ($_FILES['_file']['tmp_name'] && is_uploaded_file($_FILES['_file']['tmp_name'])) {
$replace = (bool)get_input_value('_replace', RCUBE_INPUT_GPC);
$CONTACTS = $RCMAIL->get_address_book(null, true);
// let rcube_vcard do the hard work :-)
$vcards = rcube_vcard::import(file_get_contents($_FILES['_file']['tmp_name']));
// no vcards detected
if (!count($vcards)) {
$OUTPUT->show_message('importerror', 'error');
}
else if ($CONTACTS->readonly) {
$OUTPUT->show_message('addresswriterror', 'error');
}
else {
$IMPORT_STATS = new stdClass;
$IMPORT_STATS->names = array();
$IMPORT_STATS->count = count($vcards);
$IMPORT_STATS->inserted = $IMPORT_STATS->skipped = $IMPORT_STATS->nomail = $IMPORT_STATS->errors = 0;
if ($replace)
$CONTACTS->delete_all();
foreach ($vcards as $vcard) {
$email = $vcard->email[0];
// skip entries without an e-mail address
if (empty($email)) {
$IMPORT_STATS->nomail++;
continue;
}
if (!$replace) {
// compare e-mail address
$existing = $CONTACTS->search('email', $email, false, false);
if (!$existing->count) { // compare display name
$existing = $CONTACTS->search('name', $vcard->displayname, false, false);
}
if ($existing->count) {
$IMPORT_STATS->skipped++;
continue;
}
}
$success = $CONTACTS->insert(array(
'name' => $vcard->displayname,
'firstname' => $vcard->firstname,
'surname' => $vcard->surname,
'email' => $email,
'vcard' => $vcard->export(),
));
if ($success) {
$IMPORT_STATS->inserted++;
$IMPORT_STATS->names[] = $vcard->displayname;
}
else {
$IMPORT_STATS->errors++;
}
}
$importstep = 'rcmail_import_confirm';
}
}
else if ($err = $_FILES['_file']['error']) {
if ($err == UPLOAD_ERR_INI_SIZE || $err == UPLOAD_ERR_FORM_SIZE) {
$OUTPUT->show_message('filesizeerror', 'error', array('size' => show_bytes(parse_bytes(ini_get('upload_max_filesize')))));
}
else {
$OUTPUT->show_message('fileuploaderror', 'error');
}
}
$OUTPUT->set_pagetitle(rcube_label('importcontacts'));
$OUTPUT->add_handlers(array(
'importstep' => $importstep,
'importnav' => 'rcmail_import_buttons',
));
// render page
$OUTPUT->send('importcontacts');
?>
\ No newline at end of file

File Metadata

Mime Type
text/x-diff
Expires
Sat, Mar 1, 11:00 AM (5 h, 21 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
166781
Default Alt Text
(127 KB)

Event Timeline