Page Menu
Home
Phorge
Search
Configure Global Search
Log In
Files
F224596
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
127 KB
Referenced Files
None
Subscribers
None
View Options
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 .= ' ';
$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
Details
Attached
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)
Attached To
Mode
R3 roundcubemail
Attached
Detach File
Event Timeline
Log In to Comment