diff options
95 files changed, 4726 insertions, 2292 deletions
@@ -1,4 +1,4 @@ -Copyright (c) 2010, 2011 the Friendica Project +Copyright (c) 2010-2012 the Friendica Project All rights reserved. Permission is hereby granted, free of charge, to any person obtaining a copy @@ -0,0 +1,4 @@ +Friendica Social Communications Server +====================================== + +Welcome to the free social web. @@ -9,9 +9,9 @@ require_once('include/nav.php'); require_once('include/cache.php'); define ( 'FRIENDICA_PLATFORM', 'Friendica'); -define ( 'FRIENDICA_VERSION', '2.3.1260' ); +define ( 'FRIENDICA_VERSION', '2.3.1266' ); define ( 'DFRN_PROTOCOL_VERSION', '2.22' ); -define ( 'DB_UPDATE_VERSION', 1123 ); +define ( 'DB_UPDATE_VERSION', 1129 ); define ( 'EOL', "<br />\r\n" ); define ( 'ATOM_TIME', 'Y-m-d\TH:i:s\Z' ); diff --git a/database.sql b/database.sql index e051cdaac..8c74ecddf 100755 --- a/database.sql +++ b/database.sql @@ -257,6 +257,7 @@ CREATE TABLE IF NOT EXISTS `item` ( KEY `last-child` (`last-child`), KEY `unseen` (`unseen`), KEY `wall` (`wall`), + KEY `author-name` (`author-name`), KEY `author-link` (`author-link`), FULLTEXT KEY `title` (`title`), FULLTEXT KEY `body` (`body`), @@ -633,7 +634,8 @@ CREATE TABLE IF NOT EXISTS `mailacct` ( `mailbox` CHAR( 255 ) NOT NULL, `user` CHAR( 255 ) NOT NULL , `pass` TEXT NOT NULL , -`reply_to` CHAR( 255 ) NOT NULL , +`action` INT NOT NULL , +`movetofolder` CHAR(255) NOT NULL , `pubmail` TINYINT(1) NOT NULL DEFAULT '0', `last_check` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00' ) ENGINE = MyISAM DEFAULT CHARSET=utf8; @@ -809,5 +811,44 @@ INDEX ( `uid` ) ) ENGINE = MyISAM DEFAULT CHARSET=utf8; +-- +-- Table structure for table `notify-threads` +-- +-- notify-id: notify.id of the first notification of this thread +-- master-parent-item: item.id of the parent item +-- parent-item: item.id of the imediate parent (only for multi-thread) +-- not used yet. +-- receiver-uid: user.uid of the receiver of this notification. +-- +-- If we query for a master-parent-item and receiver-uid... +-- * Returns 1 item: this is not the parent notification, +-- so just "follow" the thread (references to this notification) +-- * Returns no item: this is the first notification related to +-- this parent item. So, create the record and use the message-id +-- header. + + +CREATE TABLE IF NOT EXISTS `notify-threads` ( +`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY , +`notify-id` INT NOT NULL, +`master-parent-item` INT( 10 ) unsigned NOT NULL DEFAULT '0', +`parent-item` INT( 10 ) unsigned NOT NULL DEFAULT '0', +`receiver-uid` INT NOT NULL, +INDEX ( `master-parent-item` ), +INDEX ( `receiver-uid` ) +) ENGINE = MyISAM DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `spam` ( +`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY , +`uid` INT NOT NULL, +`spam` INT NOT NULL DEFAULT '0', +`ham` INT NOT NULL DEFAULT '0', +`term` CHAR(255) NOT NULL, +`date` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00', +INDEX ( `uid` ), +INDEX ( `spam` ), +INDEX ( `ham` ), +INDEX ( `term` ) +) ENGINE = MyISAM DEFAULT CHARSET=utf8; diff --git a/doc/Groups-and-Privacy.md b/doc/Groups-and-Privacy.md index 7e93fb9d0..09c6a7349 100644 --- a/doc/Groups-and-Privacy.md +++ b/doc/Groups-and-Privacy.md @@ -34,3 +34,20 @@ Once you have created a post, you can not change the permissions assigned. Withi In case you haven't yet figured this out, we are encouraging you to encourage your friends to use Friendica - because all these privacy features work much better within a privacy-aware network. Many of the other social networks Friendica can connect to have no privacy controls. + +Profiles, Privacy, and Photos +============================= + +The decentralised nature of Friendica (many websites exchanging information rather than one website which controls everything) has some implications with privacy as it relates to people on other sites. There are things you should be aware of, so you can decide best how to interact privately. + +Sharing photos privately is a problem. We can only share them __privately__ with Friendica members. In order to share with other people, we need to prove who they are. We can prove the identity of Friendica members, as we have a mechanism to do so. Your friends on other networks will be blocked from viewing these private photos because we cannot prove that they should be allowed to see them. + +Our developers are working on solutions to allow access to your friends - no matter what network they are on. However we take privacy seriously and don't behave like some networks that __pretend__ your photos are private, but make them available to others without proof of identity. + +Your profile and "wall" may also be visited by your friends from other networks, and you can block access to these by web visitors that Friendica doesn't know. Be aware that this could include some of your friends on other networks. + +This may produce undesired results when posting a long status message to (for instance) Twitter and even Facebook. When Friendica sends a post to these networks which exceeds the service length limit, we truncate it and provide a link to the original. The original is a link back to your Friendica profile. As Friendica cannot prove who they are, it may not be possible for these people to view your post in full. + +For people in this situation we would recommend providing a "Twitter-length" summary, with more detail for friends that can see the post in full. + +Blocking your profile or entire Friendica site from unknown web visitors also has serious implications for communicating with StatusNet/identi.ca members. These networks communicate with others via public protocols that are not authenticated. In order to view your posts, these networks have to access them as an "unknown web visitor". If we allowed this, it would mean anybody could in fact see your posts, and you've instructed Friendica not to allow this. So be aware that the act of blocking your profile to unknown visitors also has the effect of blocking outbound communication with public networks (such as identi.ca) and feed readers such as Google Reader.
\ No newline at end of file diff --git a/htconfig.php b/htconfig.php index cb6e7b784..01f56f2c4 100755 --- a/htconfig.php +++ b/htconfig.php @@ -32,6 +32,9 @@ $a->config['sitename'] = "Friendica Social Network"; // to the email address of an already registered person who can authorise // and/or approve/deny the request. +// In order to perform system administration via the admin panel, admin_email +// must precisely match the email address of the person logged in. + $a->config['register_policy'] = REGISTER_OPEN; $a->config['register_text'] = ''; $a->config['admin_email'] = ''; @@ -64,6 +67,10 @@ $a->config['system']['huburl'] = 'http://pubsubhubbub.appspot.com'; $a->config['system']['rino_encrypt'] = true; +// allowed themes (change this from admin panel after installation) + +$a->config['system']['allowed_themes'] = 'dispy,quattro,testbubble,vier,darkbubble,darkzero,duepuntozero,greenzero,purplezero,quattro-green,slackr'; + // default system theme $a->config['system']['theme'] = 'duepuntozero'; diff --git a/include/Scrape.php b/include/Scrape.php index 52405ae2d..4c4ad3cdb 100755 --- a/include/Scrape.php +++ b/include/Scrape.php @@ -230,11 +230,16 @@ function scrape_feed($url) { $ret = array(); $s = fetch_url($url); - if(! $s) + $headers = $a->get_curl_headers(); + $code = $a->get_curl_code(); + + logger('scrape_feed: returns: ' . $code . ' headers=' . $headers, LOGGER_DEBUG); + + if(! $s) { + logger('scrape_feed: no data returned for ' . $url); return $ret; + } - $headers = $a->get_curl_headers(); - logger('scrape_feed: headers=' . $headers, LOGGER_DEBUG); $lines = explode("\n",$headers); if(count($lines)) { @@ -258,8 +263,10 @@ function scrape_feed($url) { logger('scrape_feed: parse error: ' . $e); } - if(! $dom) + if(! $dom) { + logger('scrape_feed: failed to parse.'); return $ret; + } $head = $dom->getElementsByTagName('base'); @@ -445,10 +452,19 @@ function probe_url($url, $mode = PROBE_NORMAL) { $adr = imap_rfc822_parse_adrlist($x->to,''); if(isset($adr)) { foreach($adr as $feadr) { - if((strcasecmp($feadr->mailbox,$name) == 0) - &&(strcasecmp($feadr->host,$phost) == 0) + if((strcasecmp($feadr->mailbox,$name) == 0) + &&(strcasecmp($feadr->host,$phost) == 0) && (strlen($feadr->personal))) { - $vcard['fn'] = notags($feadr->personal); + + $personal = imap_mime_header_decode($feadr->personal); + $vcard['fn'] = ""; + foreach($personal as $perspart) + if ($perspart->charset != "default") + $vcard['fn'] .= iconv($perspart->charset, 'UTF-8//IGNORE', $perspart->text); + else + $vcard['fn'] .= $perspart->text; + + $vcard['fn'] = notags($vcard['fn']); } } } @@ -556,7 +572,7 @@ function probe_url($url, $mode = PROBE_NORMAL) { if($check_feed) { $feedret = scrape_feed(($poll) ? $poll : $url); - logger('probe_url: scrape_feed returns: ' . print_r($feedret,true), LOGGER_DATA); + logger('probe_url: scrape_feed ' . (($poll)? $poll : $url) . ' returns: ' . print_r($feedret,true), LOGGER_DATA); if(count($feedret) && ($feedret['feed_atom'] || $feedret['feed_rss'])) { $poll = ((x($feedret,'feed_atom')) ? unamp($feedret['feed_atom']) : unamp($feedret['feed_rss'])); if(! x($vcard)) diff --git a/include/bb2diaspora.php b/include/bb2diaspora.php index bcef86616..8487f845a 100755 --- a/include/bb2diaspora.php +++ b/include/bb2diaspora.php @@ -55,42 +55,12 @@ function diaspora2bb($s) { $s = preg_replace("/(\[code\])+(.*?)(\[\/code\])+/ism","[code]$2[/code]", $s); // Don't show link to full picture (until it is fixed) - $s = scale_diaspora_images($s, false); + $s = scale_external_images($s, false); return $s; } -function scale_diaspora_images($s,$include_link = true) { - - $matches = null; - $c = preg_match_all('/\[img\](.*?)\[\/img\]/ism',$s,$matches,PREG_SET_ORDER); - if($c) { - require_once('include/Photo.php'); - foreach($matches as $mtch) { - logger('scale_diaspora_image: ' . $mtch[1]); - $i = fetch_url($mtch[1]); - if($i) { - $ph = new Photo($i); - if($ph->is_valid()) { - if($ph->getWidth() > 600 || $ph->getHeight() > 600) { - $ph->scaleImage(600); - $new_width = $ph->getWidth(); - $new_height = $ph->getHeight(); - logger('scale_diaspora_image: ' . $new_width . 'w ' . $new_height . 'h' . 'match: ' . $mtch[0], LOGGER_DEBUG); - $s = str_replace($mtch[0],'[img=' . $new_width . 'x' . $new_height. ']' . $mtch[1] . '[/img]' - . "\n" . (($include_link) - ? '[url=' . $mtch[1] . ']' . t('view full size') . '[/url]' . "\n" - : ''),$s); - logger('scale_diaspora_image: new string: ' . $s, LOGGER_DEBUG); - } - } - } - } - } - return $s; -} - function stripdcode_br_cb($s) { return '[code]' . str_replace('<br />', "\n\t", $s[1]) . '[/code]'; } diff --git a/include/bbcode.php b/include/bbcode.php index 32053b4ec..cff26f5c8 100755..100644 --- a/include/bbcode.php +++ b/include/bbcode.php @@ -151,7 +151,7 @@ function bbcode($Text,$preserve_nl = false) { // handle nested lists $endlessloop = 0; - while (strpos($Text, "[/list]") and strpos($Text, "[list") and (++$endlessloop < 20)) { + while ((strpos($Text, "[/list]") !== false) and (strpos($Text, "[list") !== false) and (++$endlessloop < 20)) { $Text = preg_replace("/\[list\](.*?)\[\/list\]/ism", '<ul class="listbullet" style="list-style-type: circle;">$1</ul>' ,$Text); $Text = preg_replace("/\[list=\](.*?)\[\/list\]/ism", '<ul class="listnone" style="list-style-type: none;">$1</ul>' ,$Text); $Text = preg_replace("/\[list=1\](.*?)\[\/list\]/ism", '<ul class="listdecimal" style="list-style-type: decimal;">$1</ul>' ,$Text); @@ -194,7 +194,7 @@ function bbcode($Text,$preserve_nl = false) { // Check for [quote] text // handle nested quotes $endlessloop = 0; - while (strpos($Text, "[/quote]") !== false and strpos($Text, "[quote]") !== false and (++$endlessloop < 20)) + while ((strpos($Text, "[/quote]") !== false) and (strpos($Text, "[quote]") !== false) and (++$endlessloop < 20)) $Text = preg_replace("/\[quote\](.*?)\[\/quote\]/ism","$QuoteLayout", $Text); // Check for [quote=Author] text @@ -203,7 +203,7 @@ function bbcode($Text,$preserve_nl = false) { // handle nested quotes $endlessloop = 0; - while (strpos($Text, "[/quote]") !== false and strpos($Text, "[quote=") !== false and (++$endlessloop < 20)) + while ((strpos($Text, "[/quote]")!== false) and (strpos($Text, "[quote=") !== false) and (++$endlessloop < 20)) $Text = preg_replace("/\[quote=[\"\']*(.*?)[\"\']*\](.*?)\[\/quote\]/ism", "<blockquote><strong>" . $t_wrote . "</strong> $2</blockquote>", $Text); @@ -285,3 +285,4 @@ function bbcode($Text,$preserve_nl = false) { return $Text; } + diff --git a/include/config.php b/include/config.php index 92694f519..2cddda0b8 100755 --- a/include/config.php +++ b/include/config.php @@ -162,7 +162,7 @@ function del_config($family,$key) { if(x($a->config[$family],$key)) unset($a->config[$family][$key]); $ret = q("DELETE FROM `config` WHERE `cat` = '%s' AND `k` = '%s' LIMIT 1", - dbesc($cat), + dbesc($family), dbesc($key) ); return $ret; diff --git a/include/conversation.php b/include/conversation.php index 3d13a1179..2ef37694d 100755 --- a/include/conversation.php +++ b/include/conversation.php @@ -6,6 +6,11 @@ function localize_item(&$item){ $Text = $item['body']; + + + // find private image (w/data url) if present and convert image + // link to a magic-auth redirect. + $saved_image = ''; $img_start = strpos($Text,'[img]data:'); $img_end = strpos($Text,'[/img]'); @@ -232,7 +237,7 @@ function conversation(&$a, $items, $mode, $update, $preview = false) { $alike = array(); $dlike = array(); - + $o = ""; // array with html for each thread (parent+comments) $threads = array(); @@ -403,6 +408,7 @@ function conversation(&$a, $items, $mode, $update, $preview = false) { $toplevelprivate = false; // Take care of author collapsing and comment collapsing + // (author collapsing is currently disabled) // If a single author has more than 3 consecutive top-level posts, squash the remaining ones. // If there are more than two comments, squash all but the last 2. @@ -410,7 +416,9 @@ function conversation(&$a, $items, $mode, $update, $preview = false) { $toplevelprivate = (($toplevelpost && $item['private']) ? true : false); $item_writeable = (($item['writable'] || $item['self']) ? true : false); - /*if($blowhard == $item['cid'] && (! $item['self']) && ($mode != 'profile') && ($mode != 'notes')) { + // DISABLED + /* + if($blowhard == $item['cid'] && (! $item['self']) && ($mode != 'profile') && ($mode != 'notes')) { $blowhard_count ++; if($blowhard_count == 3) { $o .= '<div class="icollapse-wrapper fakelink" id="icollapse-wrapper-' . $item['parent'] @@ -424,7 +432,9 @@ function conversation(&$a, $items, $mode, $update, $preview = false) { if($blowhard_count >= 3) $o .= '</div>'; $blowhard_count = 0; - }*/ + } + // END DISABLED + */ $comments_seen = 0; $comments_collapsed = false; @@ -436,7 +446,7 @@ function conversation(&$a, $items, $mode, $update, $preview = false) { } else { // prevent private email from leaking into public conversation - if((! $toplevelpost) && (! toplevelprivate) && ($item['private']) && ($profile_owner != local_user())) + if((! $toplevelpost) && (! $toplevelprivate) && ($item['private']) && ($profile_owner != local_user())) continue; $comments_seen ++; } @@ -641,7 +651,7 @@ function conversation(&$a, $items, $mode, $update, $preview = false) { $body = prepare_body($item,true); $tmp_item = replace_macros($template,array( - '$type' => implode("",array_slice(split("/",$item['verb']),-1)), + '$type' => implode("",array_slice(explode("/",$item['verb']),-1)), '$tags' => $tags, '$body' => template_escape($body), '$id' => $item['item_id'], diff --git a/include/delivery.php b/include/delivery.php index 677d89388..c1ff07bd5 100755 --- a/include/delivery.php +++ b/include/delivery.php @@ -1,6 +1,7 @@ <?php require_once("boot.php"); require_once('include/queue_fn.php'); +require_once('include/html2plain.php'); function delivery_run($argv, $argc){ global $a, $db; @@ -8,7 +9,7 @@ function delivery_run($argv, $argc){ if(is_null($a)){ $a = new App; } - + if(is_null($db)) { @include(".htconfig.php"); require_once("dba.php"); @@ -272,10 +273,10 @@ function delivery_run($argv, $argc){ if($normal_mode) { if($item_id == $item['id'] || $item['id'] == $item['parent']) - $atom .= atom_entry($item,'text',$item_contact,$owner,true); + $atom .= atom_entry($item,'text',null,$owner,true); } else - $atom .= atom_entry($item,'text',$item_contact,$owner,true); + $atom .= atom_entry($item,'text',null,$owner,true); } @@ -293,7 +294,7 @@ function delivery_run($argv, $argc){ $sql_extra = sprintf(" AND `dfrn-id` = '%s' ", dbesc($contact['issued-id'])); else $sql_extra = sprintf(" AND `issued-id` = '%s' ", dbesc($contact['dfrn-id'])); - + $x = q("SELECT `contact`.*, `contact`.`uid` AS `importer_uid`, `contact`.`pubkey` AS `cpubkey`, `contact`.`prvkey` AS `cprvkey`, @@ -322,14 +323,14 @@ function delivery_run($argv, $argc){ require_once('library/simplepie/simplepie.inc'); logger('mod-delivery: local delivery'); local_delivery($x[0],$atom); - break; + break; } } $deliver_status = dfrn_deliver($owner,$contact,$atom); logger('notifier: dfrn_delivery returns ' . $deliver_status); - + if($deliver_status == (-1)) { logger('notifier: delivery failed: queuing message'); add_to_queue($contact['id'],NETWORK_DFRN,$atom); @@ -363,7 +364,7 @@ function delivery_run($argv, $argc){ continue; if(($top_level) && ($public_message) && ($item['author-link'] === $item['owner-link']) && (! $expire)) - $slaps[] = atom_entry($item,'html',$item_contact,$owner,true); + $slaps[] = atom_entry($item,'html',null,$owner,true); } logger('notifier: slapdelivery: ' . $contact['name']); @@ -382,7 +383,7 @@ function delivery_run($argv, $argc){ case NETWORK_MAIL : case NETWORK_MAIL2: - + if(get_config('system','dfrn_only')) break; // WARNING: does not currently convert to RFC2047 header encodings, etc. @@ -432,9 +433,19 @@ function delivery_run($argv, $argc){ if($reply_to) $headers .= 'Reply-to: ' . $reply_to . "\n"; - $headers .= 'Message-id: <' . $it['uri'] . '>' . "\n"; + + // for testing purposes: Collect exported mails + $file = tempnam("/tmp/friendica/", "mail-out-"); + file_put_contents($file, json_encode($it)); + + $headers .= 'Message-Id: <' . iri2msgid($it['uri']). '>' . "\n"; + + //logger("Mail: uri: ".$it['uri']." parent-uri ".$it['parent-uri'], LOGGER_DEBUG); + //logger("Mail: Data: ".print_r($it, true), LOGGER_DEBUG); + //logger("Mail: Data: ".print_r($it, true), LOGGER_DATA); + if($it['uri'] !== $it['parent-uri']) { - $header .= 'References: <' . $it['parent-uri'] . '>' . "\n"; + $headers .= 'References: <' . iri2msgid($it['parent-uri']) . '>' . "\n"; if(! strlen($it['title'])) { $r = q("SELECT `title` FROM `item` WHERE `parent-uri` = '%s' LIMIT 1", dbesc($it['parent-uri']) @@ -450,13 +461,16 @@ function delivery_run($argv, $argc){ } } } - $headers .= 'MIME-Version: 1.0' . "\n"; - $headers .= 'Content-Type: text/html; charset=UTF-8' . "\n"; + /*$headers .= 'MIME-Version: 1.0' . "\n"; + //$headers .= 'Content-Type: text/html; charset=UTF-8' . "\n"; + $headers .= 'Content-Type: text/plain; charset=UTF-8' . "\n"; $headers .= 'Content-Transfer-Encoding: 8bit' . "\n\n"; $html = prepare_body($it); - $message = '<html><body>' . $html . '</body></html>'; + //$message = '<html><body>' . $html . '</body></html>'; + $message = html2plain($html); logger('notifier: email delivery to ' . $addr); - mail($addr, $subject, $message, $headers); + mail($addr, $subject, $message, $headers);*/ + email_send($addr, $subject, $headers, $it); } break; @@ -473,7 +487,7 @@ function delivery_run($argv, $argc){ if((! $contact['pubkey']) && (! $public_message)) break; - + if($target_item['verb'] === ACTIVITY_DISLIKE) { // unsupported break; diff --git a/include/diaspora.php b/include/diaspora.php index 92f3500f2..dca857a19 100755 --- a/include/diaspora.php +++ b/include/diaspora.php @@ -794,15 +794,15 @@ function diaspora_reshare($importer,$xml) { if(strlen($source_xml->post->asphoto->objectId) && ($source_xml->post->asphoto->objectId != 0) && ($source_xml->post->asphoto->image_url)) { $body = '[url=' . notags(unxmlify($source_xml->post->asphoto->image_url)) . '][img]' . notags(unxmlify($source_xml->post->asphoto->objectId)) . '[/img][/url]' . "\n"; - $body = scale_diaspora_images($body,false); + $body = scale_external_images($body,false); } elseif($source_xml->post->asphoto->image_url) { $body = '[img]' . notags(unxmlify($source_xml->post->asphoto->image_url)) . '[/img]' . "\n"; - $body = scale_diaspora_images($body); + $body = scale_external_images($body); } elseif($source_xml->post->status_message) { $body = diaspora2bb($source_xml->post->status_message->raw_message); - $body = scale_diaspora_images($body); + $body = scale_external_images($body); } else { @@ -945,11 +945,11 @@ function diaspora_asphoto($importer,$xml) { if(strlen($xml->objectId) && ($xml->objectId != 0) && ($xml->image_url)) { $body = '[url=' . notags(unxmlify($xml->image_url)) . '][img]' . notags(unxmlify($xml->objectId)) . '[/img][/url]' . "\n"; - $body = scale_diaspora_images($body,false); + $body = scale_external_images($body,false); } elseif($xml->image_url) { $body = '[img]' . notags(unxmlify($xml->image_url)) . '[/img]' . "\n"; - $body = scale_diaspora_images($body); + $body = scale_external_images($body); } else { logger('diaspora_asphoto: no photo url found.'); @@ -1476,7 +1476,7 @@ function diaspora_photo($importer,$xml,$msg) { $link_text = '[img]' . $remote_photo_path . $remote_photo_name . '[/img]' . "\n"; - $link_text = scale_diaspora_images($link_text); + $link_text = scale_external_images($link_text); if(strpos($parent_item['body'],$link_text) === false) { $r = q("update item set `body` = '%s', `visible` = 1 where `id` = %d and `uid` = %d limit 1", @@ -1803,6 +1803,9 @@ function diaspora_profile($importer,$xml) { if(substr($birthday,5) === substr($contact['bd'],5)) $birthday = $contact['bd']; + // TODO: update name on item['author-name'] if the name changed. See consume_feed() + // Not doing this currently because D* protocol is scheduled for revision soon. + $r = q("UPDATE `contact` SET `name` = '%s', `name-date` = '%s', `photo` = '%s', `thumb` = '%s', `micro` = '%s', `avatar-date` = '%s' , `bd` = '%s' WHERE `id` = %d AND `uid` = %d LIMIT 1", dbesc($name), dbesc(datetime_convert()), diff --git a/include/email.php b/include/email.php index 3e6a8186d..659978b6e 100755 --- a/include/email.php +++ b/include/email.php @@ -1,4 +1,5 @@ <?php +require_once('include/html2plain.php'); function email_connect($mailbox,$username,$password) { if(! function_exists('imap_open')) @@ -79,15 +80,32 @@ function email_get_msg($mbox,$uid) { if(! $struc) return $ret; + // for testing purposes: Collect imported mails + // $file = tempnam("/tmp/friendica2/", "mail-in-"); + // file_put_contents($file, json_encode($struc)); + if(! $struc->parts) { - $ret['body'] = email_get_part($mbox,$uid,$struc,0); + $ret['body'] = email_get_part($mbox,$uid,$struc,0, 'html'); + + if (trim($ret['body']) == '') + $ret['body'] = email_get_part($mbox,$uid,$struc,0, 'plain'); + else + $ret['body'] = html2bbcode($ret['body']); } else { + $text = ''; + $html = ''; foreach($struc->parts as $ptop => $p) { - $x = email_get_part($mbox,$uid,$p,$ptop + 1); - if($x) - $ret['body'] = $x; + $x = email_get_part($mbox,$uid,$p,$ptop + 1, 'plain'); + if($x) $text .= $x; + + $x = email_get_part($mbox,$uid,$p,$ptop + 1, 'html'); + if($x) $html .= $x; } + if (trim($html) != '') + $ret['body'] = html2bbcode($html); + else + $ret['body'] = $text; } return $ret; } @@ -95,74 +113,81 @@ function email_get_msg($mbox,$uid) { // At the moment - only return plain/text. // Later we'll repackage inline images as data url's and make the HTML safe -function email_get_part($mbox,$uid,$p,$partno) { - // $partno = '1', '2', '2.1', '2.1.3', etc for multipart, 0 if simple - global $htmlmsg,$plainmsg,$charset,$attachments; +function email_get_part($mbox,$uid,$p,$partno, $subtype) { + // $partno = '1', '2', '2.1', '2.1.3', etc for multipart, 0 if simple + global $htmlmsg,$plainmsg,$charset,$attachments; - echo $partno; + //echo $partno."\n"; - // DECODE DATA - $data = ($partno) + // DECODE DATA + $data = ($partno) ? @imap_fetchbody($mbox,$uid,$partno, FT_UID|FT_PEEK) - : @imap_body($mbox,$uid,FT_UID|FT_PEEK); - - // Any part may be encoded, even plain text messages, so check everything. - if ($p->encoding==4) - $data = quoted_printable_decode($data); - elseif ($p->encoding==3) - $data = base64_decode($data); - - // PARAMETERS - // get all parameters, like charset, filenames of attachments, etc. - $params = array(); - if ($p->parameters) - foreach ($p->parameters as $x) - $params[strtolower($x->attribute)] = $x->value; - if ($p->dparameters) - foreach ($p->dparameters as $x) - $params[strtolower($x->attribute)] = $x->value; - - // ATTACHMENT - // Any part with a filename is an attachment, - // so an attached text file (type 0) is not mistaken as the message. - - if ($params['filename'] || $params['name']) { - // filename may be given as 'Filename' or 'Name' or both - $filename = ($params['filename'])? $params['filename'] : $params['name']; - // filename may be encoded, so see imap_mime_header_decode() - $attachments[$filename] = $data; // this is a problem if two files have same name - } + : @imap_body($mbox,$uid,FT_UID|FT_PEEK); + + // for testing purposes: Collect imported mails + // $file = tempnam("/tmp/friendica2/", "mail-body-"); + // file_put_contents($file, $data); + + // Any part may be encoded, even plain text messages, so check everything. + if ($p->encoding==4) + $data = quoted_printable_decode($data); + elseif ($p->encoding==3) + $data = base64_decode($data); + + // PARAMETERS + // get all parameters, like charset, filenames of attachments, etc. + $params = array(); + if ($p->parameters) + foreach ($p->parameters as $x) + $params[strtolower($x->attribute)] = $x->value; + if (isset($p->dparameters) and $p->dparameters) + foreach ($p->dparameters as $x) + $params[strtolower($x->attribute)] = $x->value; + + // ATTACHMENT + // Any part with a filename is an attachment, + // so an attached text file (type 0) is not mistaken as the message. + + if ((isset($params['filename']) and $params['filename']) || (isset($params['name']) and $params['name'])) { + // filename may be given as 'Filename' or 'Name' or both + $filename = ($params['filename'])? $params['filename'] : $params['name']; + // filename may be encoded, so see imap_mime_header_decode() + $attachments[$filename] = $data; // this is a problem if two files have same name + } - // TEXT - if ($p->type == 0 && $data) { - // Messages may be split in different parts because of inline attachments, - // so append parts together with blank row. - if (strtolower($p->subtype)=='plain') - return (trim($data) ."\n\n"); - else + // TEXT + if ($p->type == 0 && $data) { + // Messages may be split in different parts because of inline attachments, + // so append parts together with blank row. + if (strtolower($p->subtype)==$subtype) { + $data = iconv($params['charset'], 'UTF-8//IGNORE', $data); + return (trim($data) ."\n\n"); + } else $data = ''; // $htmlmsg .= $data ."<br><br>"; - $charset = $params['charset']; // assume all parts are same charset - } + $charset = $params['charset']; // assume all parts are same charset + } - // EMBEDDED MESSAGE - // Many bounce notifications embed the original message as type 2, - // but AOL uses type 1 (multipart), which is not handled here. - // There are no PHP functions to parse embedded messages, - // so this just appends the raw source to the main message. -// elseif ($p->type==2 && $data) { -// $plainmsg .= $data."\n\n"; -// } - - // SUBPART RECURSION - if ($p->parts) { - foreach ($p->parts as $partno0=>$p2) { - $x = email_get_part($mbox,$uid,$p2,$partno . '.' . ($partno0+1)); // 1.2, 1.2.1, etc. - if($x) - return $x; + // EMBEDDED MESSAGE + // Many bounce notifications embed the original message as type 2, + // but AOL uses type 1 (multipart), which is not handled here. + // There are no PHP functions to parse embedded messages, + // so this just appends the raw source to the main message. +// elseif ($p->type==2 && $data) { +// $plainmsg .= $data."\n\n"; +// } + + // SUBPART RECURSION + if (isset($p->parts) and $p->parts) { + $x = ""; + foreach ($p->parts as $partno0=>$p2) { + $x .= email_get_part($mbox,$uid,$p2,$partno . '.' . ($partno0+1), $subtype); // 1.2, 1.2.1, etc. + //if($x) + // return $x; } - } + return $x; + } } @@ -216,6 +241,53 @@ function email_header_encode($in_str, $charset) { $out_str = $start . $out_str . $end; } return $out_str; -} +} + +function email_send($addr, $subject, $headers, $item) { + //$headers .= 'MIME-Version: 1.0' . "\n"; + //$headers .= 'Content-Type: text/html; charset=UTF-8' . "\n"; + //$headers .= 'Content-Type: text/plain; charset=UTF-8' . "\n"; + //$headers .= 'Content-Transfer-Encoding: 8bit' . "\n\n"; + + $part = uniqid("", true); + $html = prepare_body($item); + $headers .= "Mime-Version: 1.0\n"; + $headers .= 'Content-Type: multipart/alternative; boundary="=_'.$part.'"'."\n\n"; + + $body = "\n--=_".$part."\n"; + $body .= "Content-Transfer-Encoding: 8bit\n"; + $body .= "Content-Type: text/plain; charset=utf-8; format=flowed\n\n"; + + $body .= html2plain($html)."\n"; + + $body .= "--=_".$part."\n"; + $body .= "Content-Transfer-Encoding: 8bit\n"; + $body .= "Content-Type: text/html; charset=utf-8\n\n"; + + $body .= '<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">'.$html."</body></html>\n"; + + $body .= "--=_".$part."--"; + + //$message = '<html><body>' . $html . '</body></html>'; + //$message = html2plain($html); + logger('notifier: email delivery to ' . $addr); + mail($addr, $subject, $body, $headers); +} + +function iri2msgid($iri) { + if (!strpos($iri, "@")) + $msgid = preg_replace("/urn:(\S+):(\S+)\.(\S+):(\d+):(\S+)/i", "urn!$1!$4!$5@$2.$3", $iri); + else + $msgid = $iri; + return($msgid); +} + +function msgid2iri($msgid) { + if (strpos($msgid, "@")) + $iri = preg_replace("/urn!(\S+)!(\d+)!(\S+)@(\S+)\.(\S+)/i", "urn:$1:$4.$5:$2:$3", $msgid); + else + $iri = $msgid; + return($iri); +} diff --git a/include/enotify.php b/include/enotify.php index 1eb3b5476..76e7eb9dc 100755 --- a/include/enotify.php +++ b/include/enotify.php @@ -13,7 +13,9 @@ function notification($params) { $site_admin = sprintf( t('%s Administrator'), $sitename); $sender_name = $product; - $sender_email = t('noreply') . '@' . $a->get_hostname(); + $hostname = $a->get_hostname(); + $sender_email = t('noreply') . '@' . $hostname; + $additional_mail_header = ""; if(array_key_exists('item',$params)) { $title = $params['item']['title']; @@ -25,7 +27,7 @@ function notification($params) { if($params['type'] == NOTIFY_MAIL) { - $subject = sprintf( t('New mail received at %s'),$sitename); + $subject = sprintf( t('[Friendica:Notify] New mail received at %s'),$sitename); $preamble = sprintf( t('%s sent you a new private message at %s.'),$params['source_name'],$sitename); $epreamble = sprintf( t('%s sent you %s.'),'[url=' . $params['source_link'] . ']' . $params['source_name'] . '[/url]', '[url=$itemlink]' . t('a private message') . '[/url]'); @@ -36,8 +38,16 @@ function notification($params) { } if($params['type'] == NOTIFY_COMMENT) { +// logger("notification: params = " . print_r($params, true), LOGGER_DEBUG); - $subject = sprintf( t('%s commented on an item at %s'), $params['source_name'], $sitename); + $parent_id = $params['parent']; + + // Some mail softwares relies on subject field for threading. + // So, we cannot have different subjects for notifications of the same thread. + // Before this we have the name of the replier on the subject rendering + // differents subjects for messages on the same thread. + + $subject = sprintf( t('[Friendica:Notify] Comment to conversation #%d by %s'), $parent_id, $params['source_name']); $preamble = sprintf( t('%s commented on an item/conversation you have been following.'), $params['source_name']); $epreamble = sprintf( t('%s commented in %s.'), '[url=' . $params['source_link'] . ']' . $params['source_name'] . '[/url]', '[url=$itemlink]' . t('a watched conversation') . '[/url]'); @@ -48,7 +58,10 @@ function notification($params) { } if($params['type'] == NOTIFY_WALL) { - $preamble = $subject = sprintf( t('%s posted to your profile wall at %s') , $params['source_name'], $sitename); + $subject = sprintf( t('[Friendica:Notify] %s posted to your profile wall') , $params['source_name']); + + $preamble = sprintf( t('%s posted to your profile wall at %s') , $params['source_name'], $sitename); + $epreamble = sprintf( t('%s posted to %s') , '[url=' . $params['source_link'] . ']' . $params['source_name'] . '[/url]', '[url=$itemlink]' . t('your profile wall.') . '[/url]'); $sitelink = t('Please visit %s to view and/or reply to the conversation.'); @@ -58,7 +71,8 @@ function notification($params) { } if($params['type'] == NOTIFY_TAGSELF) { - $preamble = $subject = sprintf( t('%s tagged you at %s') , $params['source_name'], $sitename); + $subject = sprintf( t('[Friendica:Notify] %s tagged you') , $params['source_name']); + $preamble = sprintf( t('%s tagged you at %s') , $params['source_name'], $sitename); $epreamble = sprintf( t('%s %s.') , '[url=' . $params['source_link'] . ']' . $params['source_name'] . '[/url]', '[url=' . $params['link'] . ']' . t('tagged you') . '[/url]'); $sitelink = t('Please visit %s to view and/or reply to the conversation.'); @@ -68,7 +82,8 @@ function notification($params) { } if($params['type'] == NOTIFY_TAGSHARE) { - $preamble = $subject = sprintf( t('%s tagged your post at %s') , $params['source_name'], $sitename); + $subject = sprintf( t('[Friendica:Notify] %s tagged your post') , $params['source_name']); + $preamble = sprintf( t('%s tagged your post at %s') , $params['source_name'], $sitename); $epreamble = sprintf( t('%s tagged %s') , '[url=' . $params['source_link'] . ']' . $params['source_name'] . '[/url]', '[url=$itemlink]' . t('your post') . '[/url]' ); $sitelink = t('Please visit %s to view and/or reply to the conversation.'); @@ -78,7 +93,7 @@ function notification($params) { } if($params['type'] == NOTIFY_INTRO) { - $subject = sprintf( t('Introduction received at %s'), $sitename); + $subject = sprintf( t('[Friendica:Notify] Introduction received')); $preamble = sprintf( t('You\'ve received an introduction from \'%s\' at %s'), $params['source_name'], $sitename); $epreamble = sprintf( t('You\'ve received %s from %s.'), '[url=$itemlink]' . t('an introduction') . '[/url]' , '[url=' . $params['source_link'] . ']' . $params['source_name'] . '[/url]'); $body = sprintf( t('You may visit their profile at %s'),$params['source_link']); @@ -90,7 +105,7 @@ function notification($params) { } if($params['type'] == NOTIFY_SUGGEST) { - $subject = sprintf( t('Friend suggestion received at %s'), $sitename); + $subject = sprintf( t('[Friendica:Notify] Friend suggestion received')); $preamble = sprintf( t('You\'ve received a friend suggestion from \'%s\' at %s'), $params['source_name'], $sitename); $epreamble = sprintf( t('You\'ve received %s for %s from %s.'), '[url=$itemlink]' . t('a friend suggestion') . '[/url]', @@ -126,22 +141,34 @@ function notification($params) { } while($dups == true); - + $datarray = array(); + $datarray['hash'] = $hash; + $datarray['name'] = $params['source_name']; + $datarray['url'] = $params['source_link']; + $datarray['photo'] = $params['source_photo']; + $datarray['date'] = datetime_convert(); + $datarray['uid'] = $params['uid']; + $datarray['link'] = $itemlink; + $datarray['type'] = $params['type']; + $datarray['verb'] = $params['verb']; + $datarray['otype'] = $params['otype']; + + call_hooks('enotify_store', $datarray); // create notification entry in DB $r = q("insert into notify (hash,name,url,photo,date,uid,link,type,verb,otype) values('%s','%s','%s','%s','%s',%d,'%s',%d,'%s','%s')", - dbesc($hash), - dbesc($params['source_name']), - dbesc($params['source_link']), - dbesc($params['source_photo']), - dbesc(datetime_convert()), - intval($params['uid']), - dbesc($itemlink), - intval($params['type']), - dbesc($params['verb']), - dbesc($params['otype']) + dbesc($datarray['hash']), + dbesc($datarray['name']), + dbesc($datarray['url']), + dbesc($datarray['photo']), + dbesc($datarray['date']), + intval($datarray['uid']), + dbesc($datarray['link']), + intval($datarray['type']), + dbesc($datarray['verb']), + dbesc($datarray['otype']) ); $r = q("select id from notify where hash = '%s' and uid = %d limit 1", @@ -170,50 +197,111 @@ function notification($params) { logger('notification: sending notification email'); + $id_for_parent = "${params['parent']}@${hostname}"; + + // Is this the first email notification for this parent item and user? + + $r = q("select `id` from `notify-threads` where `master-parent-item` = %d and `receiver-uid` = %d limit 1", + intval($params['parent']), + intval($params['uid']) ); + + // If so, create the record of it and use a message-id smtp header. + + if(!$r) { + logger("norify_id:" . intval($notify_id). ", parent: " . intval($params['parent']) . "uid: " . +intval($params['uid']), LOGGER_DEBUG); + $r = q("insert into `notify-threads` (`notify-id`, `master-parent-item`, `receiver-uid`, `parent-item`) + values(%d,%d,%d,%d)", + intval($notify_id), + intval($params['parent']), + intval($params['uid']), + 0 ); + + $additional_mail_header .= "Message-ID: <${id_for_parent}>\n"; + $log_msg = "include/enotify: No previous notification found for this parent:\n" . + " parent: ${params['parent']}\n" . " uid : ${params['uid']}\n"; + logger($log_msg, LOGGER_DEBUG); + } + + // If not, just "follow" the thread. + + else { + $additional_mail_header = "References: <${id_for_parent}>\nIn-Reply-To: <${id_for_parent}>\n"; + logger("include/enotify: There's already a notification for this parent:\n" . print_r($r, true), LOGGER_DEBUG); + } + + $textversion = strip_tags(html_entity_decode(bbcode(stripslashes(str_replace(array("\\r\\n", "\\r", "\\n"), "\n", $body))),ENT_QUOTES,'UTF-8')); $htmlversion = html_entity_decode(bbcode(stripslashes(str_replace(array("\\r\\n", "\\r","\\n\\n" ,"\\n"), "<br />\n",$body)))); + $datarray = array(); + $datarray['banner'] = $banner; + $datarray['product'] = $product; + $datarray['preamble'] = $preamble; + $datarray['sitename'] = $sitename; + $datarray['siteurl'] = $siteurl; + $datarray['type'] = $params['type']; + $datarray['parent'] = $params['parent']; + $datarray['source_name'] = $params['source_name']; + $datarray['source_link'] = $params['source_link']; + $datarray['source_photo'] = $params['source_photo']; + $datarray['uid'] = $params['uid']; + $datarray['username'] = $params['to_name']; + $datarray['hsitelink'] = $hsitelink; + $datarray['tsitelink'] = $tsitelink; + $datarray['hitemlink'] = '<a href="' . $itemlink . '">' . $itemlink . '</a>'; + $datarray['titemlink'] = $itemlink; + $datarray['thanks'] = $thanks; + $datarray['site_admin'] = $site_admin; + $datarray['title'] = stripslashes($title); + $datarray['htmlversion'] = $htmlversion; + $datarray['textversion'] = $textversion; + $datarray['subject'] = $subject; + $datarray['headers'] = $additional_mail_header; + + call_hooks('enotify_mail', $datarray); + // load the template for private message notifications $tpl = get_markup_template('email_notify_html.tpl'); $email_html_body = replace_macros($tpl,array( - '$banner' => $banner, - '$product' => $product, - '$preamble' => $preamble, - '$sitename' => $sitename, - '$siteurl' => $siteurl, - '$source_name' => $params['source_name'], - '$source_link' => $params['source_link'], - '$source_photo' => $params['source_photo'], - '$username' => $params['to_name'], - '$hsitelink' => $hsitelink, - '$itemlink' => '<a href="' . $itemlink . '">' . $itemlink . '</a>', - '$thanks' => $thanks, - '$site_admin' => $site_admin, - '$title' => stripslashes($title), - '$htmlversion' => $htmlversion, + '$banner' => $datarray['banner'], + '$product' => $datarray['product'], + '$preamble' => $datarray['preamble'], + '$sitename' => $datarray['sitename'], + '$siteurl' => $datarray['siteurl'], + '$source_name' => $datarray['source_name'], + '$source_link' => $datarray['source_link'], + '$source_photo' => $datarray['source_photo'], + '$username' => $datarray['to_name'], + '$hsitelink' => $datarray['hsitelink'], + '$hitemlink' => $datarray['hitemlink'], + '$thanks' => $datarray['thanks'], + '$site_admin' => $datarray['site_admin'], + '$title' => $datarray['title'], + '$htmlversion' => $datarray['htmlversion'], )); // load the template for private message notifications $tpl = get_markup_template('email_notify_text.tpl'); $email_text_body = replace_macros($tpl,array( - '$banner' => $banner, - '$product' => $product, - '$preamble' => $preamble, - '$sitename' => $sitename, - '$siteurl' => $siteurl, - '$source_name' => $params['source_name'], - '$source_link' => $params['source_link'], - '$source_photo' => $params['source_photo'], - '$username' => $params['to_name'], - '$tsitelink' => $tsitelink, - '$itemlink' => $itemlink, - '$thanks' => $thanks, - '$site_admin' => $site_admin, - '$title' => stripslashes($title), - '$textversion' => $textversion, + '$banner' => $datarray['banner'], + '$product' => $datarray['product'], + '$preamble' => $datarray['preamble'], + '$sitename' => $datarray['sitename'], + '$siteurl' => $datarray['siteurl'], + '$source_name' => $datarray['source_name'], + '$source_link' => $datarray['source_link'], + '$source_photo' => $datarray['source_photo'], + '$username' => $datarray['to_name'], + '$tsitelink' => $datarray['tsitelink'], + '$titemlink' => $datarray['titemlink'], + '$thanks' => $datarray['thanks'], + '$site_admin' => $datarray['site_admin'], + '$title' => $datarray['title'], + '$textversion' => $datarray['textversion'], )); // logger('text: ' . $email_text_body); @@ -225,9 +313,10 @@ function notification($params) { 'fromEmail' => $sender_email, 'replyTo' => $sender_email, 'toEmail' => $params['to_email'], - 'messageSubject' => $subject, + 'messageSubject' => $datarray['subject'], 'htmlVersion' => $email_html_body, - 'textVersion' => $email_text_body + 'textVersion' => $email_text_body, + 'additionalMailHeader' => $datarray['headers'], )); } @@ -248,6 +337,7 @@ class enotify { * @param messageSubject subject of the message * @param htmlVersion html version of the message * @param textVersion text only version of the message + * @param additionalMailHeader additions to the smtp mail header */ static public function send($params) { @@ -262,6 +352,7 @@ class enotify { // generate a multipart/alternative message header $messageHeader = + $params['additionalMailHeader'] . "From: {$params['fromName']} <{$params['fromEmail']}>\n" . "Reply-To: {$params['fromName']} <{$params['replyTo']}>\n" . "MIME-Version: 1.0\n" . @@ -291,4 +382,4 @@ class enotify { logger("notification: enotify::send returns " . $res, LOGGER_DEBUG); } } -?>
\ No newline at end of file +?> diff --git a/include/event.php b/include/event.php index c7669b381..4a9a9a004 100755 --- a/include/event.php +++ b/include/event.php @@ -163,7 +163,7 @@ function bbtoevent($s) { if(preg_match("/\[event\-adjust\](.*?)\[\/event\-adjust\]/is",$s,$match)) $ev['adjust'] = $match[1]; $match = ''; - $ev['nofinish'] = (($ev['start'] && (! $ev['finish'])) ? 1 : 0); + $ev['nofinish'] = (($ev['start'] && (!x($ev, 'finish') || !$ev['finish'])) ? 1 : 0); return $ev; } diff --git a/include/html2bbcode.php b/include/html2bbcode.php index d8f1a24f1..51d629940 100755 --- a/include/html2bbcode.php +++ b/include/html2bbcode.php @@ -10,7 +10,7 @@ Originally made for the syncom project: http://wiki.piratenpartei.de/Syncom function node2bbcode(&$doc, $oldnode, $attributes, $startbb, $endbb) { do { - $done = node2bbcodesub(&$doc, $oldnode, $attributes, $startbb, $endbb); + $done = node2bbcodesub($doc, $oldnode, $attributes, $startbb, $endbb); } while ($done); } @@ -258,7 +258,7 @@ function html2bbcode($message) "[hr]\n", "\n[list", "[/list]\n", - "\n[/list]", + "\n[/", "[list]\n", "[list=1]\n", "\n[*]"), @@ -268,7 +268,7 @@ function html2bbcode($message) "[hr]", "[list", "[/list]", - "[/list]", + "[/", "[list]", "[list=1]", "[*]"), diff --git a/include/html2plain.php b/include/html2plain.php new file mode 100644 index 000000000..2a4cf6639 --- /dev/null +++ b/include/html2plain.php @@ -0,0 +1,180 @@ +<?php +require_once "html2bbcode.php"; + +function breaklines($line, $level) +{ + $wraplen = 75-$level; + + $newlines = array(); + + do { + $oldline = $line; + + $subline = substr($line, 0, $wraplen); + + $pos = strrpos($subline, ' '); + + if ($pos == 0) + $pos = strpos($line, ' '); + + if (($pos > 0) and strlen($line) > $wraplen) { + $newline = trim(substr($line, 0, $pos)); + if ($level > 0) + $newline = str_repeat(">", $level).' '.$newline; + + $newlines[] = $newline." "; + $line = substr($line, $pos+1); + } + + } while ((strlen($line) > $wraplen) and !($oldline == $line)); + + if ($level > 0) + $line = str_repeat(">", $level).' '.$line; + + $newlines[] = $line; + + + return(implode($newlines, "\n")); +} + +function quotelevel($message) +{ + $lines = explode("\n", $message); + + $newlines = array(); + $level = 0; + foreach($lines as $line) {; + $line = trim($line); + $startquote = false; + while (strpos("*".$line, '[quote]') > 0) { + $level++; + $pos = strpos($line, '[quote]'); + $line = substr($line, 0, $pos).substr($line, $pos+7); + $startquote = true; + } + + $currlevel = $level; + + while (strpos("*".$line, '[/quote]') > 0) { + $level--; + if ($level < 0) + $level = 0; + + $pos = strpos($line, '[/quote]'); + $line = substr($line, 0, $pos).substr($line, $pos+8); + } + + if (!$startquote or ($line != '')) + $newlines[] = breaklines($line, $currlevel); + } + return(implode($newlines, "\n")); +} + +function html2plain($html) +{ + global $lang; + + $message = str_replace("\r", "", $html); + + $doc = new DOMDocument(); + $doc->preserveWhiteSpace = false; + + $message = mb_convert_encoding($message, 'HTML-ENTITIES', "UTF-8"); + + @$doc->loadHTML($message); + + $xpath = new DomXPath($doc); + $list = $xpath->query("//pre"); + foreach ($list as $node) { + $node->nodeValue = str_replace("\n", "\r", $node->nodeValue); + } + + $message = $doc->saveHTML(); + $message = str_replace(array("\n<", ">\n", "\r", "\n", "\xC3\x82\xC2\xA0"), array("<", ">", "<br>", " ", ""), $message); + $message = preg_replace('= [\s]*=i', " ", $message); + + // nach <a href="...">...</a> suchen, die ... miteinander vergleichen und bei Gleichheit durch ein einzelnes ... ersetzen. + $pattern = '/<a.*?href="(.*?)".*?>(.*?)<\/a>/is'; + preg_match_all($pattern, $message, $result, PREG_SET_ORDER); + + foreach ($result as $treffer) { + if ($treffer[1] == $treffer[2]) { + $search = '<a href="'.$treffer[1].'" target="_blank">'.$treffer[1].'</a>'; + $message = str_replace($search, $treffer[1], $message); + } + } + @$doc->loadHTML($message); + + node2bbcode($doc, 'html', array(), '', ''); + node2bbcode($doc, 'body', array(), '', ''); + + // MyBB-Auszeichnungen + node2bbcode($doc, 'span', array('style'=>'text-decoration: underline;'), '_', '_'); + node2bbcode($doc, 'span', array('style'=>'font-style: italic;'), '/', '/'); + node2bbcode($doc, 'span', array('style'=>'font-weight: bold;'), '*', '*'); + + node2bbcode($doc, 'strong', array(), '*', '*'); + node2bbcode($doc, 'b', array(), '*', '*'); + node2bbcode($doc, 'i', array(), '/', '/'); + node2bbcode($doc, 'u', array(), '_', '_'); + + node2bbcode($doc, 'blockquote', array(), '[quote]', "[/quote]\n"); + + node2bbcode($doc, 'br', array(), "\n", ''); + + node2bbcode($doc, 'span', array(), "", ""); + node2bbcode($doc, 'pre', array(), "", ""); + node2bbcode($doc, 'div', array(), "\r", "\r"); + node2bbcode($doc, 'p', array(), "\n", "\n"); + + //node2bbcode($doc, 'ul', array(), "\n[list]", "[/list]\n"); + //node2bbcode($doc, 'ol', array(), "\n[list=1]", "[/list]\n"); + node2bbcode($doc, 'li', array(), "\n* ", "\n"); + + node2bbcode($doc, 'hr', array(), str_repeat("-", 70), ""); + + node2bbcode($doc, 'tr', array(), "\n", ""); + node2bbcode($doc, 'td', array(), "\t", ""); + + node2bbcode($doc, 'h1', array(), "\n\n*", "*\n"); + node2bbcode($doc, 'h2', array(), "\n\n*", "*\n"); + node2bbcode($doc, 'h3', array(), "\n\n*", "*\n"); + node2bbcode($doc, 'h4', array(), "\n\n*", "*\n"); + node2bbcode($doc, 'h5', array(), "\n\n*", "*\n"); + node2bbcode($doc, 'h6', array(), "\n\n*", "*\n"); + + node2bbcode($doc, 'a', array('href'=>'/(.+)/'), ' $1', '', true); + node2bbcode($doc, 'img', array('alt'=>'/(.+)/'), '$1', ''); + node2bbcode($doc, 'img', array('title'=>'/(.+)/'), '$1', ''); + node2bbcode($doc, 'img', array(), '', ''); + node2bbcode($doc, 'img', array('src'=>'/(.+)/'), '[img]$1', '[/img]'); + + $message = $doc->saveHTML(); + + $message = str_replace("[img]", "", $message); + $message = str_replace("[/img]", "", $message); + + // was ersetze ich da? + // Irgendein stoerrisches UTF-Zeug + $message = str_replace(chr(194).chr(160), ' ', $message); + + $message = str_replace(" ", " ", $message); + + // Aufeinanderfolgende DIVs + $message = preg_replace('=\r *\r=i', "\n", $message); + $message = str_replace("\r", "\n", $message); + + $message = strip_tags($message); + + $message = html_entity_decode($message, ENT_QUOTES, 'UTF-8'); + + do { + $oldmessage = $message; + $message = str_replace("\n\n\n", "\n\n", $message); + } while ($oldmessage != $message); + + $message = quotelevel(trim($message)); + + return(trim($message)); +} +?> diff --git a/include/items.php b/include/items.php index 347826042..250d023ce 100755 --- a/include/items.php +++ b/include/items.php @@ -308,7 +308,7 @@ function get_atom_elements($feed,$item) { if($rawauthor && $rawauthor[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['link']) { $base = $rawauthor[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['link']; foreach($base as $link) { - if(! $res['author-avatar']) { + if(!x($res, 'author-avatar') || !$res['author-avatar']) { if($link['attribs']['']['rel'] === 'photo' || $link['attribs']['']['rel'] === 'avatar') $res['author-avatar'] = unxmlify($link['attribs']['']['href']); } @@ -323,7 +323,7 @@ function get_atom_elements($feed,$item) { foreach($base as $link) { if($link['attribs']['']['rel'] === 'alternate' && (! $res['author-link'])) $res['author-link'] = unxmlify($link['attribs']['']['href']); - if(! $res['author-avatar']) { + if(!x($res, 'author-avatar') || !$res['author-avatar']) { if($link['attribs']['']['rel'] === 'avatar' || $link['attribs']['']['rel'] === 'photo') $res['author-avatar'] = unxmlify($link['attribs']['']['href']); } @@ -503,7 +503,7 @@ function get_atom_elements($feed,$item) { $base = $rawowner[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['link']; foreach($base as $link) { - if(! $res['owner-avatar']) { + if(!x($res, 'owner-avatar') || !$res['owner-avatar']) { if($link['attribs']['']['rel'] === 'photo' || $link['attribs']['']['rel'] === 'avatar') $res['owner-avatar'] = unxmlify($link['attribs']['']['href']); } @@ -1308,12 +1308,28 @@ function consume_feed($xml,$importer,&$contact, &$hub, $datedir = 0, $pass = 0) } if((is_array($contact)) && ($name_updated) && (strlen($new_name)) && ($name_updated > $contact['name-date'])) { - q("UPDATE `contact` SET `name` = '%s', `name-date` = '%s' WHERE `uid` = %d AND `id` = %d LIMIT 1", + $r = q("select * from contact where uid = %d and id = %d limit 1", + intval($contact['uid']), + intval($contact['id']) + ); + + $x = q("UPDATE `contact` SET `name` = '%s', `name-date` = '%s' WHERE `uid` = %d AND `id` = %d LIMIT 1", dbesc(notags(trim($new_name))), dbesc(datetime_convert()), intval($contact['uid']), intval($contact['id']) ); + + // do our best to update the name on content items + + if(count($r)) { + q("update item set `author-name` = '%s' where `author-name` = '%s' and `author-link` = '%s' and uid = %d", + dbesc(notags(trim($new_name))), + dbesc($r[0]['name']), + dbesc($r[0]['url']), + intval($contact['uid']) + ); + } } if(strlen($birthday)) { @@ -1505,13 +1521,18 @@ function consume_feed($xml,$importer,&$contact, &$hub, $datedir = 0, $pass = 0) $item_id = $item->get_id(); $datarray = get_atom_elements($feed,$item); - if(! x($datarray,'author-name')) + + if((! x($datarray,'author-name')) && ($contact['network'] != NETWORK_DFRN)) $datarray['author-name'] = $contact['name']; - if(! x($datarray,'author-link')) + if((! x($datarray,'author-link')) && ($contact['network'] != NETWORK_DFRN)) $datarray['author-link'] = $contact['url']; - if(! x($datarray,'author-avatar')) + if((! x($datarray,'author-avatar')) && ($contact['network'] != NETWORK_DFRN)) $datarray['author-avatar'] = $contact['thumb']; + if((! x($datarray,'author-name')) || (! x($datarray,'author-link'))) { + logger('consume_feed: no author information! ' . print_r($datarray,true)); + continue; + } $r = q("SELECT `uid`, `last-child`, `edited`, `body` FROM `item` WHERE `uri` = '%s' AND `uid` = %d LIMIT 1", dbesc($item_id), @@ -1614,14 +1635,19 @@ function consume_feed($xml,$importer,&$contact, &$hub, $datedir = 0, $pass = 0) $datarray = get_atom_elements($feed,$item); if(is_array($contact)) { - if(! x($datarray,'author-name')) + if((! x($datarray,'author-name')) && ($contact['network'] != NETWORK_DFRN)) $datarray['author-name'] = $contact['name']; - if(! x($datarray,'author-link')) + if((! x($datarray,'author-link')) && ($contact['network'] != NETWORK_DFRN)) $datarray['author-link'] = $contact['url']; - if(! x($datarray,'author-avatar')) + if((! x($datarray,'author-avatar')) && ($contact['network'] != NETWORK_DFRN)) $datarray['author-avatar'] = $contact['thumb']; } + if((! x($datarray,'author-name')) || (! x($datarray,'author-link'))) { + logger('consume_feed: no author information! ' . print_r($datarray,true)); + continue; + } + // special handling for events if((x($datarray,'object-type')) && ($datarray['object-type'] === ACTIVITY_OBJ_EVENT)) { @@ -2197,7 +2223,8 @@ function local_delivery($importer,$data) { 'source_photo' => ((link_compare($datarray['author-link'],$importer['url'])) ? $importer['thumb'] : $datarray['author-avatar']), 'verb' => ACTIVITY_POST, - 'otype' => 'item' + 'otype' => 'item', + 'parent' => $parent, )); @@ -2291,7 +2318,7 @@ function local_delivery($importer,$data) { if($datarray['type'] != 'activity') { - $myconv = q("SELECT `author-link`, `author-avatar` FROM `item` WHERE `parent-uri` = '%s' AND `uid` = %d AND `parent` != 0 ", + $myconv = q("SELECT `author-link`, `author-avatar`, `parent` FROM `item` WHERE `parent-uri` = '%s' AND `uid` = %d AND `parent` != 0 ", dbesc($parent_uri), intval($importer['importer_uid']) ); @@ -2304,6 +2331,8 @@ function local_delivery($importer,$data) { continue; require_once('include/enotify.php'); + + $conv_parent = $conv['parent']; notification(array( 'type' => NOTIFY_COMMENT, @@ -2319,7 +2348,8 @@ function local_delivery($importer,$data) { 'source_photo' => ((link_compare($datarray['author-link'],$importer['url'])) ? $importer['thumb'] : $datarray['author-avatar']), 'verb' => ACTIVITY_POST, - 'otype' => 'item' + 'otype' => 'item', + 'parent' => $conv_parent, )); @@ -2394,7 +2424,7 @@ function local_delivery($importer,$data) { // This is my contact on another system, but it's really me. // Turn this into a wall post. - if($contact['remote_self']) + if($importer['remote_self']) $datarray['wall'] = 1; $datarray['parent-uri'] = $item_id; diff --git a/include/network.php b/include/network.php index 25db62d16..c72919dd8 100755 --- a/include/network.php +++ b/include/network.php @@ -17,7 +17,7 @@ function fetch_url($url,$binary = false, &$redirects = 0, $timeout = 0, $accept_ if (!is_null($accept_content)){ curl_setopt($ch,CURLOPT_HTTPHEADER, array ( - "Accept: "+$accept_content + "Accept: " . $accept_content )); } @@ -60,6 +60,7 @@ function fetch_url($url,$binary = false, &$redirects = 0, $timeout = 0, $accept_ $curl_info = @curl_getinfo($ch); $http_code = $curl_info['http_code']; +// logger('fetch_url:' . $http_code . ' data: ' . $s); $header = ''; // Pull out multiple headers, e.g. proxy and continuation headers @@ -74,11 +75,13 @@ function fetch_url($url,$binary = false, &$redirects = 0, $timeout = 0, $accept_ if($http_code == 301 || $http_code == 302 || $http_code == 303 || $http_code == 307) { $matches = array(); preg_match('/(Location:|URI:)(.*?)\n/', $header, $matches); - $url = trim(array_pop($matches)); - $url_parsed = @parse_url($url); + $newurl = trim(array_pop($matches)); + if(strpos($newurl,'/') === 0) + $newurl = $url . $newurl; + $url_parsed = @parse_url($newurl); if (isset($url_parsed)) { $redirects++; - return fetch_url($url,$binary,$redirects,$timeout); + return fetch_url($newurl,$binary,$redirects,$timeout); } } @@ -163,11 +166,13 @@ function post_url($url,$params, $headers = null, &$redirects = 0, $timeout = 0) if($http_code == 301 || $http_code == 302 || $http_code == 303) { $matches = array(); preg_match('/(Location:|URI:)(.*?)\n/', $header, $matches); - $url = trim(array_pop($matches)); - $url_parsed = @parse_url($url); + $newurl = trim(array_pop($matches)); + if(strpos($newurl,'/') === 0) + $newurl = $url . $newurl; + $url_parsed = @parse_url($newurl); if (isset($url_parsed)) { $redirects++; - return post_url($url,$params,$headers,$redirects,$timeout); + return fetch_url($newurl,$binary,$redirects,$timeout); } } $a->set_curl_code($http_code); @@ -776,3 +781,43 @@ function add_fcontact($arr,$update = false) { return $r; } + + +function scale_external_images($s,$include_link = true) { + + $a = get_app(); + + $matches = null; + $c = preg_match_all('/\[img\](.*?)\[\/img\]/ism',$s,$matches,PREG_SET_ORDER); + if($c) { + require_once('include/Photo.php'); + foreach($matches as $mtch) { + logger('scale_external_image: ' . $mtch[1]); + $hostname = str_replace('www.','',substr($a->get_baseurl(),strpos($a->get_baseurl(),'://')+3)); + if(stristr($mtch[1],$hostname)) + continue; + $i = fetch_url($mtch[1]); + if($i) { + $ph = new Photo($i); + if($ph->is_valid()) { + $orig_width = $ph->getWidth(); + $orig_height = $ph->getHeight(); + + if($orig_width > 640 || $orig_height > 640) { + + $ph->scaleImage(640); + $new_width = $ph->getWidth(); + $new_height = $ph->getHeight(); + logger('scale_external_images: ' . $orig_width . '->' . $new_width . 'w ' . $orig_height . '->' . $new_height . 'h' . ' match: ' . $mtch[0], LOGGER_DEBUG); + $s = str_replace($mtch[0],'[img=' . $new_width . 'x' . $new_height. ']' . $mtch[1] . '[/img]' + . "\n" . (($include_link) + ? '[url=' . $mtch[1] . ']' . t('view full size') . '[/url]' . "\n" + : ''),$s); + logger('scale_external_images: new string: ' . $s, LOGGER_DEBUG); + } + } + } + } + } + return $s; +} diff --git a/include/notifier.php b/include/notifier.php index 37bc6dae5..4765cca06 100755 --- a/include/notifier.php +++ b/include/notifier.php @@ -2,6 +2,7 @@ require_once("boot.php"); require_once('include/queue_fn.php'); +require_once('include/html2plain.php'); /* * This file was at one time responsible for doing all deliveries, but this caused @@ -382,8 +383,8 @@ function notifier_run($argv, $argc){ continue; if($item['id'] == $item_id) { logger('notifier: followup: item: ' . print_r($item,true), LOGGER_DATA); - $slap = atom_entry($item,'html',$owner,$owner,false); - $atom .= atom_entry($item,'text',$owner,$owner,false); + $slap = atom_entry($item,'html',null,$owner,false); + $atom .= atom_entry($item,'text',null,$owner,false); } } } @@ -410,13 +411,13 @@ function notifier_run($argv, $argc){ // older sites without a corresponding dfrn_notify change may do the wrong thing. if($item_id == $item['id'] || $item['id'] == $item['parent']) - $atom .= atom_entry($item,'text',$contact,$owner,true); + $atom .= atom_entry($item,'text',null,$owner,true); } else - $atom .= atom_entry($item,'text',$contact,$owner,true); + $atom .= atom_entry($item,'text',null,$owner,true); if(($top_level) && ($public_message) && ($item['author-link'] === $item['owner-link']) && (! $expire)) - $slaps[] = atom_entry($item,'html',$contact,$owner,true); + $slaps[] = atom_entry($item,'html',null,$owner,true); } } } @@ -633,7 +634,7 @@ function notifier_run($argv, $argc){ ); if($r1 && $r1[0]['reply_to']) $reply_to = $r1[0]['reply_to']; - + $subject = (($it['title']) ? email_header_encode($it['title'],'UTF-8') : t("\x28no subject\x29")) ; // only expose our real email address to true friends @@ -646,10 +647,14 @@ function notifier_run($argv, $argc){ if($reply_to) $headers .= 'Reply-to: ' . $reply_to . "\n"; - $headers .= 'Message-id: <' . $it['uri'] . '>' . "\n"; + // for testing purposes: Collect exported mails + $file = tempnam("/tmp/friendica/", "mail-out2-"); + file_put_contents($file, json_encode($it)); + + $headers .= 'Message-Id: <' . iri2msgid($it['uri']) . '>' . "\n"; if($it['uri'] !== $it['parent-uri']) { - $header .= 'References: <' . $it['parent-uri'] . '>' . "\n"; + $headers .= 'References: <' . iri2msgid($it['parent-uri']) . '>' . "\n"; if(! strlen($it['title'])) { $r = q("SELECT `title` FROM `item` WHERE `parent-uri` = '%s' LIMIT 1", dbesc($it['parent-uri']) @@ -666,13 +671,16 @@ function notifier_run($argv, $argc){ } } - $headers .= 'MIME-Version: 1.0' . "\n"; - $headers .= 'Content-Type: text/html; charset=UTF-8' . "\n"; + /*$headers .= 'MIME-Version: 1.0' . "\n"; + //$headers .= 'Content-Type: text/html; charset=UTF-8' . "\n"; + $headers .= 'Content-Type: text/plain; charset=UTF-8' . "\n"; $headers .= 'Content-Transfer-Encoding: 8bit' . "\n\n"; $html = prepare_body($it); - $message = '<html><body>' . $html . '</body></html>'; + //$message = '<html><body>' . $html . '</body></html>'; + $message = html2plain($html); logger('notifier: email delivery to ' . $addr); - mail($addr, $subject, $message, $headers); + mail($addr, $subject, $message, $headers);*/ + email_send($addr, $subject, $headers, $it); } break; case NETWORK_DIASPORA: @@ -719,7 +727,7 @@ function notifier_run($argv, $argc){ // we are the relay - send comments, likes and unlikes to our conversants diaspora_send_relay($target_item,$owner,$contact); break; - } + } elseif(($top_level) && (! $walltowall)) { // currently no workable solution for sending walltowall diaspora_send_status($target_item,$owner,$contact); diff --git a/include/plugin.php b/include/plugin.php index 85b51edff..8280b1022 100755 --- a/include/plugin.php +++ b/include/plugin.php @@ -166,17 +166,80 @@ function call_hooks($name, &$data = null) { if (! function_exists('get_plugin_info')){ function get_plugin_info($plugin){ - if (!is_file("addon/$plugin/$plugin.php")) return false; + $info=Array( + 'name' => $plugin, + 'description' => "", + 'author' => array(), + 'version' => "" + ); + + if (!is_file("addon/$plugin/$plugin.php")) return $info; $f = file_get_contents("addon/$plugin/$plugin.php"); $r = preg_match("|/\*.*\*/|msU", $f, $m); + if ($r){ + $ll = explode("\n", $m[0]); + foreach( $ll as $l ) { + $l = trim($l,"\t\n\r */"); + if ($l!=""){ + list($k,$v) = array_map("trim", explode(":",$l,2)); + $k= strtolower($k); + if ($k=="author"){ + $r=preg_match("|([^<]+)<([^>]+)>|", $v, $m); + if ($r) { + $info['author'][] = array('name'=>$m[1], 'link'=>$m[2]); + } else { + $info['author'][] = array('name'=>$v); + } + } else { + if (array_key_exists($k,$info)){ + $info[$k]=$v; + } + } + + } + } + + } + return $info; +}} + + +/* + * parse theme comment in search of theme infos. + * like + * + * * Name: My Theme + * * Description: My Cool Theme + * * Version: 1.2.3 + * * Author: John <profile url> + * * Maintainer: Jane <profile url> + * * + */ + +if (! function_exists('get_theme_info')){ +function get_theme_info($theme){ $info=Array( - 'name' => $plugin, + 'name' => $theme, 'description' => "", 'author' => array(), - 'version' => "" + 'maintainer' => array(), + 'version' => "", + 'experimental' => false, + 'unsupported' => false ); + + if(file_exists("view/theme/$theme/experimental")) + $info['experimental'] = true; + if(file_exists("view/theme/$theme/unsupported")) + $info['unsupported'] = true; + + if (!is_file("view/theme/$theme/theme.php")) return $info; + + $f = file_get_contents("view/theme/$theme/theme.php"); + $r = preg_match("|/\*.*\*/|msU", $f, $m); + if ($r){ $ll = explode("\n", $m[0]); @@ -192,6 +255,14 @@ function get_plugin_info($plugin){ } else { $info['author'][] = array('name'=>$v); } + } + elseif ($k=="maintainer"){ + $r=preg_match("|([^<]+)<([^>]+)>|", $v, $m); + if ($r) { + $info['maintainer'][] = array('name'=>$m[1], 'link'=>$m[2]); + } else { + $info['maintainer'][] = array('name'=>$v); + } } else { if (array_key_exists($k,$info)){ $info[$k]=$v; diff --git a/include/poller.php b/include/poller.php index 3e7a1e9b4..cfbc46b87 100755 --- a/include/poller.php +++ b/include/poller.php @@ -1,6 +1,7 @@ <?php require_once("boot.php"); +require_once("include/quoteconvert.php"); function poller_run($argv, $argc){ @@ -419,13 +420,13 @@ function poller_run($argv, $argc){ // look for a 'references' header and try and match with a parent item we have locally. $raw_refs = ((x($headers,'references')) ? str_replace("\t",'',$headers['references']) : ''); - $datarray['uri'] = trim($meta->message_id,'<>'); + $datarray['uri'] = msgid2iri(trim($meta->message_id,'<>')); if($raw_refs) { $refs_arr = explode(' ', $raw_refs); if(count($refs_arr)) { for($x = 0; $x < count($refs_arr); $x ++) - $refs_arr[$x] = "'" . str_replace(array('<','>',' '),array('','',''),dbesc($refs_arr[$x])) . "'"; + $refs_arr[$x] = "'" . msgid2iri(str_replace(array('<','>',' '),array('','',''),dbesc($refs_arr[$x]))) . "'"; } $qstr = implode(',',$refs_arr); $r = q("SELECT `uri` , `parent-uri` FROM `item` WHERE `uri` IN ( $qstr ) AND `uid` = %d LIMIT 1", @@ -453,9 +454,39 @@ function poller_run($argv, $argc){ intval($r[0]['id']) ); } + switch ($mailconf[0]['action']) { + case 0: + break; + case 1: + logger("Mail: Deleting ".$msg_uid); + imap_delete($mbox, $msg_uid, FT_UID); + break; + case 2: + logger("Mail: Mark as seen ".$msg_uid); + imap_setflag_full($mbox, $msg_uid, "\\Seen", ST_UID); + break; + case 3: + logger("Mail: Moving ".$msg_uid." to ".$mailconf[0]['movetofolder']); + imap_setflag_full($mbox, $msg_uid, "\\Seen", ST_UID); + if ($mailconf[0]['movetofolder'] != "") + imap_mail_move($mbox, $msg_uid, $mailconf[0]['movetofolder'], FT_UID); + break; + } continue; } - $datarray['title'] = notags(trim($meta->subject)); + + // Decoding the header + $subject = imap_mime_header_decode($meta->subject); + $datarray['title'] = ""; + foreach($subject as $subpart) + if ($subpart->charset != "default") + $datarray['title'] .= iconv($subpart->charset, 'UTF-8//IGNORE', $subpart->text); + else + $datarray['title'] .= $subpart->text; + + $datarray['title'] = notags(trim($datarray['title'])); + + //$datarray['title'] = notags(trim($meta->subject)); $datarray['created'] = datetime_convert('UTC','UTC',$meta->date); $r = email_get_msg($mbox,$msg_uid); @@ -463,15 +494,24 @@ function poller_run($argv, $argc){ logger("Mail: can't fetch msg ".$msg_uid); continue; } - $datarray['body'] = escape_tags($r['body']); + $datarray['body'] = escape_tags(convertquote($r['body'], false)); logger("Mail: Importing ".$msg_uid); // some mailing lists have the original author as 'from' - add this sender info to msg body. // todo: adding a gravatar for the original author would be cool - if(! stristr($meta->from,$contact['addr'])) - $datarray['body'] = t('From: ') . escape_tags($meta->from) . "\n\n" . $datarray['body']; + if(! stristr($meta->from,$contact['addr'])) { + $from = imap_mime_header_decode($meta->from); + $fromdecoded = ""; + foreach($from as $frompart) + if ($frompart->charset != "default") + $fromdecoded .= iconv($frompart->charset, 'UTF-8//IGNORE', $frompart->text); + else + $fromdecoded .= $frompart->text; + + $datarray['body'] = "[b]".t('From: ') . escape_tags($fromdecoded) . "[/b]\n\n" . $datarray['body']; + } $datarray['uid'] = $importer_uid; $datarray['contact-id'] = $contact['id']; @@ -493,6 +533,24 @@ function poller_run($argv, $argc){ q("UPDATE `item` SET `last-child` = 1 WHERE `id` = %d LIMIT 1", intval($stored_item) ); + switch ($mailconf[0]['action']) { + case 0: + break; + case 1: + logger("Mail: Deleting ".$msg_uid); + imap_delete($mbox, $msg_uid, FT_UID); + break; + case 2: + logger("Mail: Mark as seen ".$msg_uid); + imap_setflag_full($mbox, $msg_uid, "\\Seen", ST_UID); + break; + case 3: + logger("Mail: Moving ".$msg_uid." to ".$mailconf[0]['movetofolder']); + imap_setflag_full($mbox, $msg_uid, "\\Seen", ST_UID); + if ($mailconf[0]['movetofolder'] != "") + imap_mail_move($mbox, $msg_uid, $mailconf[0]['movetofolder'], FT_UID); + break; + } } } @@ -501,7 +559,7 @@ function poller_run($argv, $argc){ } elseif($contact['network'] === NETWORK_FACEBOOK) { // This is picked up by the Facebook plugin on a cron hook. - // Ignored here. + // Ignored here. } if($xml) { diff --git a/include/quoteconvert.php b/include/quoteconvert.php new file mode 100644 index 000000000..3aee93234 --- /dev/null +++ b/include/quoteconvert.php @@ -0,0 +1,132 @@ +<?php +function convertquote($body, $reply) +{ + // Convert Quotes + $arrbody = explode("\n", trim($body)); + $arrlevel = array(); + + for ($i = 0; $i < count($arrbody); $i++) { + $quotelevel = 0; + $quoteline = $arrbody[$i]; + + while ((strlen($quoteline)>0) and ((substr($quoteline, 0, 1) == '>') + or (substr($quoteline, 0, 1) == ' '))) { + if (substr($quoteline, 0, 1) == '>') + $quotelevel++; + + $quoteline = ltrim(substr($quoteline, 1)); + } + + //echo $quotelevel.'*'.$quoteline."\r\n"; + + $arrlevel[$i] = $quotelevel; + $arrbody[$i] = $quoteline; + } + + $quotelevel = 0; + $previousquote = 0; + $arrbodyquoted = array(); + + for ($i = 0; $i < count($arrbody); $i++) { + + $previousquote = $quotelevel; + $quotelevel = $arrlevel[$i]; + $currline = $arrbody[$i]; + + while ($previousquote < $quotelevel) { + if ($sender != '') { + $quote = "[quote title=$sender]"; + $sender = ''; + } else + $quote = "[quote]"; + + $arrbody[$i] = $quote.$arrbody[$i]; + $previousquote++; + } + + while ($previousquote > $quotelevel) { + $arrbody[$i] = '[/quote]'.$arrbody[$i]; + $previousquote--; + } + + $arrbodyquoted[] = $arrbody[$i]; + } + while ($quotelevel > 0) { + $arrbodyquoted[] = '[/quote]'; + $quotelevel--; + } + + $body = implode("\n", $arrbodyquoted); + + if (strlen($body) > 0) + $body = $body."\n\n"; + + if ($reply) + $body = removetofu($body); + + return($body); +} + +function removetofu($message) +{ + $message = trim($message); + + do { + $oldmessage = $message; + $message = preg_replace('=\[/quote\][\s](.*?)\[quote\]=i', '$1', $message); + $message = str_replace("[/quote][quote]", "", $message); + } while ($message != $oldmessage); + + $quotes = array(); + + $startquotes = 0; + + $start = 0; + + while(($pos = strpos($message, '[quote', $start)) > 0) { + $quotes[$pos] = -1; + $start = $pos + 7; + $startquotes++; + } + + $endquotes = 0; + $start = 0; + + while(($pos = strpos($message, '[/quote]', $start)) > 0) { + $start = $pos + 7; + $endquotes++; + } + + while ($endquotes < $startquotes) { + $message .= '[/quote]'; + ++$endquotes; + } + + $start = 0; + + while(($pos = strpos($message, '[/quote]', $start)) > 0) { + $quotes[$pos] = 1; + $start = $pos + 7; + } + + if (strtolower(substr($message, -8)) != '[/quote]') + return($message); + + krsort($quotes); + + $quotelevel = 0; + $quotestart = 0; + foreach ($quotes as $index => $quote) { + $quotelevel += $quote; + + if (($quotelevel == 0) and ($quotestart == 0)) + $quotestart = $index; + } + + if ($quotestart != 0) { + $message = trim(substr($message, 0, $quotestart))."\n[collapsed]\n".substr($message, $quotestart+7, -8).'[/collapsed]'; + } + + return($message); +} +?> diff --git a/include/template_processor.php b/include/template_processor.php index 0d476f0e6..28c3f07dd 100755 --- a/include/template_processor.php +++ b/include/template_processor.php @@ -32,11 +32,12 @@ if(is_array($r) && count($r)) { foreach ($r as $k => $v ) { - if (is_array($v)) + if (is_array($v)) { $this->_build_replace($v, "$prefix$k."); - - $this->search[] = $prefix . $k; - $this->replace[] = $v; + } else { + $this->search[] = $prefix . $k; + $this->replace[] = $v; + } } } } @@ -53,7 +54,7 @@ $keys = array_map('trim',explode(".",$name)); $val = $this->r; foreach($keys as $k) { - $val = $val[$k]; + $val = (isset($val[$k]) ? $val[$k] : null); } return $val; } @@ -79,8 +80,8 @@ } else { $val = $this->_get_var($args[2]); } - list($strue, $sfalse)= preg_split("|{{ *else *}}|", $args[3]); - return ($val?$strue:$sfalse); + $x = preg_split("|{{ *else *}}|", $args[3]); + return ( $val ? $x[0] : (isset($x[1]) ? $x[1] : "")); } /** @@ -159,7 +160,8 @@ krsort($this->nodes); return $s; } - + + /* private function _str_replace($str){ #$this->search,$this->replace, $searchs = $this->search; @@ -182,7 +184,7 @@ } return str_replace($this->search,$this->replace, $str); - } + }*/ public function replace($s, $r) { @@ -204,7 +206,8 @@ $os = ""; $count=0; while($os!=$s && $count<10){ $os=$s; $count++; - $s = $this->_str_replace($s); + //$s = $this->_str_replace($s); + $s = str_replace($this->search, $this->replace, $s); } return template_unescape($s); } diff --git a/include/text.php b/include/text.php index 0f7d2f731..1f5d4a3e1 100755 --- a/include/text.php +++ b/include/text.php @@ -996,7 +996,7 @@ function lang_selector() { } $ll = substr($l,5); $ll = substr($ll,0,strrpos($ll,'/')); - $selected = (($ll === $lang && (x($_SESSION['language']))) ? ' selected="selected" ' : ''); + $selected = (($ll === $lang && (x($_SESSION, 'language'))) ? ' selected="selected" ' : ''); $o .= '<option value="' . $ll . '"' . $selected . '>' . $ll . '</option>'; } } diff --git a/js/main.js b/js/main.js index 3a10ae468..a5d1214cb 100755 --- a/js/main.js +++ b/js/main.js @@ -114,7 +114,7 @@ var eNotif = $(data).find('notif') notif = eNotif.attr('count'); - if (notif>0){ + if (notif>=0){ $("#nav-notifications-linkmenu").addClass("on"); nnm = $("#nav-notifications-menu"); @@ -124,13 +124,13 @@ eNotif.children("note").each(function(){ e = $(this); text = e.text().format("<span class='contactname'>"+e.attr('name')+"</span>"); - html = notifications_tpl.format(e.attr('href'),e.attr('photo'), text, e.attr('date')); + html = notifications_tpl.format(e.attr('href'),e.attr('photo'), text, e.attr('date'), e.attr('seen')); nnm.append(html); }); } else { - $("#nav-notifications-linkmenu").removeClass("on"); - $("#nav-notifications-menu").html(notifications_empty); + // $("#nav-notifications-linkmenu").removeClass("on"); + // $("#nav-notifications-menu").html(notifications_empty); } if(notif == 0) { notif = ''; $('#notify-update').removeClass('show') } else { $('#notify-update').addClass('show') } $('#notify-update').html(notif); diff --git a/library/spam/b8/storage/storage_frndc.php b/library/spam/b8/storage/storage_frndc.php index 2b9374f67..7702c108b 100644 --- a/library/spam/b8/storage/storage_frndc.php +++ b/library/spam/b8/storage/storage_frndc.php @@ -147,58 +147,8 @@ class b8_storage_frndc extends b8_storage_base public function connect() { - return TRUE; - - # Are we already connected? - if($this->connected === TRUE) - return TRUE; - - # Are we using an existing passed resource? - if($this->config['connection'] === FALSE) { - # ... yes we are, but the connection is not a resource, so return an error - $this->connected = FALSE; - return self::DATABASE_CONNECTION_BAD_RESOURCE; - } - - elseif($this->config['connection'] === NULL) { - - # ... no we aren't so we have to connect. - - if($this->_connection = mysql_connect($this->config['host'], $this->config['user'], $this->config['pass'])) { - if(mysql_select_db($this->config['database'], $this->_connection) === FALSE) { - $this->connected = FALSE; - return self::DATABASE_SELECT_ERROR . ": " . mysql_error(); - } - } - else { - $this->connected = FALSE; - return self::DATABASE_CONNECTION_ERROR; - } - - } - - else { - # ... yes we are - $this->_connection = $this->config['connection']; - } - - # Just in case ... - if($this->_connection === NULL) { - $this->connected = FALSE; - return self::DATABASE_CONNECTION_FAIL; - } - - # Check to see if the wordlist table exists - if(mysql_query('DESCRIBE ' . $this->config['table_name'], $this->_connection) === FALSE) { - $this->connected = FALSE; - return self::DATABASE_TABLE_ACCESS_FAIL . ": " . mysql_error(); - } - - # Everything is okay and connected $this->connected = TRUE; - - # Let's see if this is a b8 database and the version is okay - return $this->check_database(); + return TRUE; } @@ -235,7 +185,7 @@ class b8_storage_frndc extends b8_storage_base # ... and fetch the data $result = q(' - SELECT token, count + SELECT * FROM ' . $this->config['table_name'] . ' WHERE ' . $where . ' AND uid = ' . $uid ); @@ -256,7 +206,7 @@ class b8_storage_frndc extends b8_storage_base $token = dbesc($token); $count = dbesc($count); $uid = dbesc($uid); - array_push($this->_puts, '("' . $token . '", "' . $count . '", '"' . $uid .'")'); + array_push($this->_puts, '("' . $token . '", "' . $count . '", "' . $uid .'")'); } /** @@ -273,7 +223,7 @@ class b8_storage_frndc extends b8_storage_base $token = dbesc($token); $count = dbesc($count); $uid = dbesc($uid); - array_push($this->_puts, '("' . $token . '", "' . $count . '", '"' . $uid .'")'); + array_push($this->_puts, '("' . $token . '", "' . $count . '", "' . $uid .'")'); } /** @@ -325,7 +275,7 @@ class b8_storage_frndc extends b8_storage_base if(count($this->_updates) > 0) { // this still needs work - $result = q("select * from " . $this->config['table_name'] . ' where token = '; + $result = q("select * from " . $this->config['table_name'] . ' where token = '); $result = q(' diff --git a/library/tinymce/jscripts/tiny_mce/plugins/bbcode/editor_plugin_src.js b/library/tinymce/jscripts/tiny_mce/plugins/bbcode/editor_plugin_src.js index e5f716b29..44d1473a9 100755 --- a/library/tinymce/jscripts/tiny_mce/plugins/bbcode/editor_plugin_src.js +++ b/library/tinymce/jscripts/tiny_mce/plugins/bbcode/editor_plugin_src.js @@ -44,9 +44,35 @@ _dfrn_html2bbcode : function(s) {
s = tinymce.trim(s);
- function rep(re, str) {
- s = s.replace(re, str);
- };
+ function rep(re, str) { + + //modify code to keep stuff intact within [code][/code] blocks + //Waitman Gobble NO WARRANTY + + + var o = new Array(); + var x = s.split("[code]"); + var i = 0; + + var si = ""; + si = x.shift(); + si = si.replace(re,str); + o.push(si); + + for (i = 0; i < x.length; i++) { + var no = new Array(); + var j = x.shift(); + var g = j.split("[/code]"); + no.push(g.shift()); + si = g.shift(); + si = si.replace(re,str); + no.push(si); + o.push(no.join("[/code]")); + } + + s = o.join("[code]"); + + }; @@ -123,11 +149,42 @@ // BBCode -> HTML from DFRN dialect
_dfrn_bbcode2html : function(s) {
s = tinymce.trim(s);
-
- function rep(re, str) {
- s = s.replace(re, str);
- };
-
+ + + function rep(re, str) { + + //modify code to keep stuff intact within [code][/code] blocks + //Waitman Gobble NO WARRANTY + + + var o = new Array(); + var x = s.split("[code]"); + var i = 0; + + var si = ""; + si = x.shift(); + si = si.replace(re,str); + o.push(si); + + for (i = 0; i < x.length; i++) { + var no = new Array(); + var j = x.shift(); + var g = j.split("[/code]"); + no.push(g.shift()); + si = g.shift(); + si = si.replace(re,str); + no.push(si); + o.push(no.join("[/code]")); + } + + s = o.join("[code]"); + + }; + + + + + // example: [b] to <strong>
rep(/\n/gi,"<br />");
rep(/\[b\]/gi,"<strong>");
diff --git a/mod/acl.php b/mod/acl.php index 98ca90ded..375c618c8 100755 --- a/mod/acl.php +++ b/mod/acl.php @@ -16,6 +16,8 @@ function acl_init(&$a){ if ($search!=""){ $sql_extra = "AND `name` LIKE '%%".dbesc($search)."%%'"; $sql_extra2 = "AND (`attag` LIKE '%%".dbesc($search)."%%' OR `name` LIKE '%%".dbesc($search)."%%' OR `nick` LIKE '%%".dbesc($search)."%%')"; + } else { + $sql_extra = $sql_extra2 = ""; } // count groups and contacts @@ -75,7 +77,7 @@ function acl_init(&$a){ if ($type=='' || $type=='c'){ - $r = q("SELECT `id`, `name`, `nick`, `micro`, `network`, `url` FROM `contact` + $r = q("SELECT `id`, `name`, `nick`, `micro`, `network`, `url`, `attag` FROM `contact` WHERE `uid` = %d AND `self` = 0 AND `blocked` = 0 AND `pending` = 0 AND `notify` != '' $sql_extra2 ORDER BY `name` ASC ", diff --git a/mod/admin.php b/mod/admin.php index 028ed8624..0f600e312 100755 --- a/mod/admin.php +++ b/mod/admin.php @@ -6,14 +6,19 @@ require_once("include/remoteupdate.php"); function admin_post(&$a){ + + if(!is_site_admin()) { return; } + // do not allow a page manager to access the admin panel at all. if(x($_SESSION,'submanage') && intval($_SESSION['submanage'])) return; + + // urls if ($a->argc > 1){ switch ($a->argv[1]){ @@ -66,6 +71,7 @@ function admin_content(&$a) { 'site' => Array($a->get_baseurl()."/admin/site/", t("Site") , "site"), 'users' => Array($a->get_baseurl()."/admin/users/", t("Users") , "users"), 'plugins'=> Array($a->get_baseurl()."/admin/plugins/", t("Plugins") , "plugins"), + 'themes' => Array($a->get_baseurl()."/admin/themes/", t("Themes") , "themes"), 'update' => Array($a->get_baseurl()."/admin/update/", t("Update") , "update") ); @@ -108,6 +114,9 @@ function admin_content(&$a) { case 'plugins': $o = admin_page_plugins($a); break; + case 'themes': + $o = admin_page_themes($a); + break; case 'logs': $o = admin_page_logs($a); break; @@ -564,7 +573,7 @@ function admin_page_plugins(&$a){ '$info' => get_plugin_info($plugin), '$admin_form' => $admin_form, - + '$function' => 'plugins', '$readme' => $readme )); } @@ -593,11 +602,179 @@ function admin_page_plugins(&$a){ '$page' => t('Plugins'), '$submit' => t('Submit'), '$baseurl' => $a->get_baseurl(), - + '$function' => 'plugins', '$plugins' => $plugins )); } +function toggle_theme(&$themes,$th,&$result) { + for($x = 0; $x < count($themes); $x ++) { + if($themes[$x]['name'] === $th) { + if($themes[$x]['allowed']) { + $themes[$x]['allowed'] = 0; + $result = 0; + } + else { + $themes[$x]['allowed'] = 1; + $result = 1; + } + } + } +} + +function theme_status($themes,$th) { + for($x = 0; $x < count($themes); $x ++) { + if($themes[$x]['name'] === $th) { + if($themes[$x]['allowed']) { + return 1; + } + else { + return 0; + } + } + } + return 0; +} + + + +function rebuild_theme_table($themes) { + $o = ''; + if(count($themes)) { + foreach($themes as $th) { + if($th['allowed']) { + if(strlen($o)) + $o .= ','; + $o .= $th['name']; + } + } + } + return $o; +} + + +/* + * Themes admin page + */ + +function admin_page_themes(&$a){ + + $allowed_themes_str = get_config('system','allowed_themes'); + $allowed_themes_raw = explode(',',$allowed_themes_str); + $allowed_themes = array(); + if(count($allowed_themes_raw)) + foreach($allowed_themes_raw as $x) + if(strlen(trim($x))) + $allowed_themes[] = trim($x); + + $themes = array(); + $files = glob('view/theme/*'); + if($files) { + foreach($files as $file) { + $f = basename($file); + $is_experimental = intval(file_exists($file . '/experimental')); + $is_unsupported = 1-(intval(file_exists($file . '/unsupported'))); + $is_allowed = intval(in_array($f,$allowed_themes)); + $themes[] = array('name' => $f, 'experimental' => $is_experimental, 'supported' => $is_supported, 'allowed' => $is_allowed); + } + } + + if(! count($themes)) { + notice( t('No themes found.')); + return; + } + + /** + * Single theme + */ + + if ($a->argc == 3){ + $theme = $a->argv[2]; + if(! is_dir("view/theme/$theme")){ + notice( t("Item not found.") ); + return; + } + + if (x($_GET,"a") && $_GET['a']=="t"){ + + // Toggle theme status + + toggle_theme($themes,$theme,$result); + $s = rebuild_theme_table($themes); + if($result) + info( sprintf('Theme %s enabled.',$theme)); + else + info( sprintf('Theme %s disabled.',$theme)); + + set_config('system','allowed_themes',$s); + goaway($a->get_baseurl() . '/admin/themes' ); + return; // NOTREACHED + } + + // display theme details + require_once('library/markdown.php'); + + if (theme_status($themes,$theme)) { + $status="on"; $action= t("Disable"); + } else { + $status="off"; $action= t("Enable"); + } + + $readme=Null; + if (is_file("view/$theme/README.md")){ + $readme = file_get_contents("view/$theme/README.md"); + $readme = Markdown($readme); + } else if (is_file("view/$theme/README")){ + $readme = "<pre>". file_get_contents("view/$theme/README") ."</pre>"; + } + + $admin_form=""; + + $t = get_markup_template("admin_plugins_details.tpl"); + return replace_macros($t, array( + '$title' => t('Administration'), + '$page' => t('Themes'), + '$toggle' => t('Toggle'), + '$settings' => t('Settings'), + '$baseurl' => $a->get_baseurl(), + + '$plugin' => $theme, + '$status' => $status, + '$action' => $action, + '$info' => get_theme_info($theme), + '$function' => 'themes', + '$admin_form' => $admin_form, + + '$readme' => $readme + )); + } + + + + /** + * List plugins + */ + + $xthemes = array(); + if($themes) { + foreach($themes as $th) { + $xthemes[] = array($th['name'],(($th['allowed']) ? "on" : "off"), get_theme_info($th['name'])); + } + } + + $t = get_markup_template("admin_plugins.tpl"); + return replace_macros($t, array( + '$title' => t('Administration'), + '$page' => t('Themes'), + '$submit' => t('Submit'), + '$baseurl' => $a->get_baseurl(), + '$function' => 'themes', + '$plugins' => $xthemes, + '$experimental' => t('[Experimental]'), + '$unsupported' => t('[Unsupported]') + )); +} + /** * Logs admin page diff --git a/mod/contacts.php b/mod/contacts.php index c8edea151..c99ac1452 100755 --- a/mod/contacts.php +++ b/mod/contacts.php @@ -504,8 +504,9 @@ function contacts_content(&$a) { 'name' => $rr['name'], 'username' => $rr['name'], 'sparkle' => $sparkle, + 'itemurl' => $rr['url'], 'url' => $url, - 'item' => $rr, + 'network' => network_to_name($rr['network']), ); } diff --git a/mod/dfrn_confirm.php b/mod/dfrn_confirm.php index 5a24f0089..0bc3ea7df 100644 --- a/mod/dfrn_confirm.php +++ b/mod/dfrn_confirm.php @@ -107,7 +107,7 @@ function dfrn_confirm_post(&$a,$handsfree = null) { * */ - $r = q("SELECT * FROM `contact` WHERE ( ( `issued-id` != '' AND `issued-id` = '%s' ) OR ( `id` = %d AND `id` != 0 ) ) AND `uid` = %d LIMIT 1", + $r = q("SELECT * FROM `contact` WHERE ( ( `issued-id` != '' AND `issued-id` = '%s' ) OR ( `id` = %d AND `id` != 0 ) ) AND `uid` = %d AND `duplex` = 0 LIMIT 1", dbesc($dfrn_id), intval($cid), intval($uid) @@ -116,6 +116,7 @@ function dfrn_confirm_post(&$a,$handsfree = null) { if(! count($r)) { logger('dfrn_confirm: Contact not found in DB.'); notice( t('Contact not found.') . EOL ); + notice( t('This may occasionally happen if contact was requested by both persons and it has already been approved.') . EOL ); return; } @@ -631,6 +632,15 @@ function dfrn_confirm_post(&$a,$handsfree = null) { xml_status(3,$message); } + // It's possible that the other person also requested friendship. + // If it is a duplex relationship, ditch the issued-id if one exists. + + if($duplex) { + $r = q("UPDATE `contact` SET `issued-id` = '' WHERE `id` = %d LIMIT 1", + intval($dfrn_record) + ); + } + // We're good but now we have to scrape the profile photo and send notifications. diff --git a/mod/display.php b/mod/display.php index d96be4333..f510f793d 100755 --- a/mod/display.php +++ b/mod/display.php @@ -74,11 +74,11 @@ function display_content(&$a) { $x = array( 'is_owner' => true, 'allow_location' => $a->user['allow_location'], - 'default_location' => $a->user['default_location'], + 'default_location' => $a->user['default-location'], 'nickname' => $a->user['nickname'], - 'lockstate' => ((($group) || (is_array($a->user) && ((strlen($a->user['allow_cid'])) || (strlen($a->user['allow_gid'])) || (strlen($a->user['deny_cid'])) || (strlen($a->user['deny_gid']))))) ? 'lock' : 'unlock'), - 'acl' => populate_acl((($group || $cid) ? $def_acl : $a->user), $celeb), - 'bang' => (($group || $cid) ? '!' : ''), + 'lockstate' => ( (is_array($a->user)) && ((strlen($a->user['allow_cid'])) || (strlen($a->user['allow_gid'])) || (strlen($a->user['deny_cid'])) || (strlen($a->user['deny_gid']))) ? 'lock' : 'unlock'), + 'acl' => populate_acl($a->user, $celeb), + 'bang' => '', 'visitor' => 'block', 'profile_uid' => local_user() ); diff --git a/mod/follow.php b/mod/follow.php index f8964885e..ae8cb200c 100755 --- a/mod/follow.php +++ b/mod/follow.php @@ -49,6 +49,11 @@ function follow_init(&$a) { goaway($_SESSION['return_url']); } } + + // This just confuses things, remove it + if($ret['network'] === NETWORK_DIASPORA) + $ret['url'] = str_replace('?absolute=true','',$ret['url']); + // do we have enough information? diff --git a/mod/item.php b/mod/item.php index 3035989f3..81d7c753b 100755 --- a/mod/item.php +++ b/mod/item.php @@ -400,6 +400,8 @@ function item_post(&$a) { $body = preg_replace('/\[\/code\]\s*\[code\]/ism',"\n",$body); + $body = scale_external_images($body,false); + /** * Look for any tags and linkify them */ @@ -753,7 +755,8 @@ function item_post(&$a) { 'source_link' => $datarray['author-link'], 'source_photo' => $datarray['author-avatar'], 'verb' => ACTIVITY_POST, - 'otype' => 'item' + 'otype' => 'item', + 'parent' => $parent, )); } diff --git a/mod/network.php b/mod/network.php index 03a671b61..894ac48ed 100755 --- a/mod/network.php +++ b/mod/network.php @@ -263,7 +263,7 @@ function network_content(&$a, $update = 0) { $x = array( 'is_owner' => true, 'allow_location' => $a->user['allow_location'], - 'default_location' => $a->user['default_location'], + 'default_location' => $a->user['default-location'], 'nickname' => $a->user['nickname'], 'lockstate' => ((($group) || (is_array($a->user) && ((strlen($a->user['allow_cid'])) || (strlen($a->user['allow_gid'])) || (strlen($a->user['deny_cid'])) || (strlen($a->user['deny_gid']))))) ? 'lock' : 'unlock'), 'acl' => populate_acl((($group || $cid) ? $def_acl : $a->user), $celeb), diff --git a/mod/notifications.php b/mod/notifications.php index 5831c1b7a..99031a1d5 100755 --- a/mod/notifications.php +++ b/mod/notifications.php @@ -295,7 +295,7 @@ function notifications_content(&$a) { } $o .= replace_macros($notif_tpl,array( - '$notif_header' => t('Notifications'), + '$notif_header' => t('Network Notifications'), '$tabs' => $tabs, '$notif_content' => $notif_content, )); @@ -325,7 +325,7 @@ function notifications_content(&$a) { } $o .= replace_macros($notif_tpl,array( - '$notif_header' => t('System'), + '$notif_header' => t('System Notifications'), '$tabs' => $tabs, '$notif_content' => $notif_content, )); @@ -420,7 +420,7 @@ function notifications_content(&$a) { } $o .= replace_macros($notif_tpl,array( - '$notif_header' => t('Notifications'), + '$notif_header' => t('Personal Notifications'), '$tabs' => $tabs, '$notif_content' => $notif_content, )); @@ -501,7 +501,7 @@ function notifications_content(&$a) { } $o .= replace_macros($notif_tpl,array( - '$notif_header' => t('Notifications'), + '$notif_header' => t('Home Notifications'), '$tabs' => $tabs, '$notif_content' => $notif_content, )); diff --git a/mod/notify.php b/mod/notify.php index 229020f4a..e6a7a8859 100644 --- a/mod/notify.php +++ b/mod/notify.php @@ -36,4 +36,36 @@ function notify_init(&$a) { function notify_content(&$a) { if(! local_user()) return login(); + + $notif_tpl = get_markup_template('notifications.tpl'); + + $not_tpl = get_markup_template('notify.tpl'); + require_once('include/bbcode.php'); + + $r = q("SELECT * from notify where uid = %d and seen = 0 order by date desc", + intval(local_user()) + ); + + if (count($r) > 0) { + foreach ($r as $it) { + $notif_content .= replace_macros($not_tpl,array( + '$item_link' => $a->get_baseurl().'/notify/view/'. $it['id'], + '$item_image' => $it['photo'], + '$item_text' => strip_tags(bbcode($it['msg'])), + '$item_when' => relative_date($it['date']) + )); + } + } else { + $notif_content .= t('No more system notifications.'); + } + + $o .= replace_macros($notif_tpl,array( + '$notif_header' => t('System Notifications'), + '$tabs' => '', // $tabs, + '$notif_content' => $notif_content, + )); + + return $o; + + }
\ No newline at end of file diff --git a/mod/photo.php b/mod/photo.php index a5a5a1dc1..c4a93769a 100755 --- a/mod/photo.php +++ b/mod/photo.php @@ -119,7 +119,7 @@ function photo_init(&$a) { // NOTREACHED } - if(intval($customres) && $customres > 0 && $customres < 500) { + if(isset($customres) && $customres > 0 && $customres < 500) { require_once('include/Photo.php'); $ph = new Photo($data); if($ph->is_valid()) { diff --git a/mod/ping.php b/mod/ping.php index 2898042a3..7380ff7d0 100644 --- a/mod/ping.php +++ b/mod/ping.php @@ -12,92 +12,70 @@ function ping_init(&$a) { $xmlhead="<"."?xml version='1.0' encoding='UTF-8' ?".">"; if(local_user()){ - $z = q("select * from notify where seen = 0 and uid = %d - order by date desc", + $firehose = intval(get_pconfig(local_user(),'system','notify_full')); + + $z = q("select * from notify where uid = %d + order by seen asc, date desc limit 0, 50", intval(local_user()) ); - $tags = array(); $comments = array(); $likes = array(); $dislikes = array(); $friends = array(); $posts = array(); - + $home = 0; + $network = 0; - $r = q("SELECT `item`.`id`,`item`.`parent`, `item`.`verb`, `item`.`author-name`, + $r = q("SELECT `item`.`id`,`item`.`parent`, `item`.`verb`, `item`.`wall`, `item`.`author-name`, `item`.`author-link`, `item`.`author-avatar`, `item`.`created`, `item`.`object`, `pitem`.`author-name` as `pname`, `pitem`.`author-link` as `plink` FROM `item` INNER JOIN `item` as `pitem` ON `pitem`.`id`=`item`.`parent` WHERE `item`.`unseen` = 1 AND `item`.`visible` = 1 AND - `item`.`deleted` = 0 AND `item`.`uid` = %d AND `item`.`wall` = 0 + `item`.`deleted` = 0 AND `item`.`uid` = %d ORDER BY `item`.`created` DESC", intval(local_user()) ); - - $network = count($r); - foreach ($r as $it) { - switch($it['verb']){ - case ACTIVITY_TAG: - $obj = parse_xml_string($xmlhead.$it['object']); - $it['tname'] = $obj->content; - $tags[] = $it; - break; - case ACTIVITY_LIKE: - $likes[] = $it; - break; - case ACTIVITY_DISLIKE: - $dislikes[] = $it; - break; - case ACTIVITY_FRIEND: - $obj = parse_xml_string($xmlhead.$it['object']); - $it['fname'] = $obj->title; - $friends[] = $it; - break; - default: - if ($it['parent']!=$it['id']) { - $comments[] = $it; - } else { - $posts[] = $it; - } - } - } - $r = q("SELECT `item`.`id`,`item`.`parent`, `item`.`verb`, `item`.`author-name`, - `item`.`author-link`, `item`.`author-avatar`, `item`.`created`, `item`.`object`, - `pitem`.`author-name` as `pname`, `pitem`.`author-link` as `plink` - FROM `item` INNER JOIN `item` as `pitem` ON `pitem`.`id`=`item`.`parent` - WHERE `item`.`unseen` = 1 AND `item`.`visible` = 1 AND - `item`.`deleted` = 0 AND `item`.`uid` = %d AND `item`.`wall` = 1", - intval(local_user()) - ); - $home = count($r); - foreach ($r as $it) { - switch($it['verb']){ - case ACTIVITY_TAG: - $obj = parse_xml_string($xmlhead.$it['object']); - $it['tname'] = $obj->content; - $tags[] = $it; - break; - case ACTIVITY_LIKE: - $likes[] = $it; - break; - case ACTIVITY_DISLIKE: - $dislikes[] = $it; - break; - case ACTIVITY_FRIEND: - $obj = parse_xml_string($xmlhead.$it['object']); - $it['fname'] = $obj->title; - $friends[] = $it; - break; - default: - if ($it['parent']!=$it['id']) $comments[] = $it; + if(count($r)) { + + foreach ($r as $it) { + + if($it['wall']) + $home ++; + else + $network ++; + + switch($it['verb']){ + case ACTIVITY_TAG: + $obj = parse_xml_string($xmlhead.$it['object']); + $it['tname'] = $obj->content; + $tags[] = $it; + break; + case ACTIVITY_LIKE: + $likes[] = $it; + break; + case ACTIVITY_DISLIKE: + $dislikes[] = $it; + break; + case ACTIVITY_FRIEND: + $obj = parse_xml_string($xmlhead.$it['object']); + $it['fname'] = $obj->title; + $friends[] = $it; + break; + default: + if ($it['parent']!=$it['id']) { + $comments[] = $it; + } else { + if(! $it['wall']) + $posts[] = $it; + } + } } } - $intros1 = q("SELECT `intro`.`id`, `intro`.`datetime`, `fcontact`.`name`, `fcontact`.`url`, `fcontact`.`photo` FROM `intro` LEFT JOIN `fcontact` ON `intro`.`fid` = `fcontact`.`id` @@ -122,24 +100,25 @@ function ping_init(&$a) { intval(local_user()), dbesc($myurl) ); - $mail = $mails[0]['total']; + if($mails) + $mail = $mails[0]['total']; if ($a->config['register_policy'] == REGISTER_APPROVE && is_site_admin()){ $regs = q("SELECT `contact`.`name`, `contact`.`url`, `contact`.`micro`, `register`.`created`, COUNT(*) as `total` FROM `contact` RIGHT JOIN `register` ON `register`.`uid`=`contact`.`uid` WHERE `contact`.`self`=1"); - $register = $regs[0]['total']; + if($regs) + $register = $regs[0]['total']; } else { $register = "0"; } - function xmlize($href, $name, $url, $photo, $date, $message){ - $notsxml = '<note href="%s" name="%s" url="%s" photo="%s" date="%s">%s</note>'; + function xmlize($href, $name, $url, $photo, $date, $seen, $message){ + $notsxml = '<note href="%s" name="%s" url="%s" photo="%s" date="%s" seen="%s" >%s</note>'; return sprintf ( $notsxml, - xmlify($href), xmlify($name), xmlify($url), xmlify($photo), xmlify($date), xmlify($message) - ); + xmlify($href), xmlify($name), xmlify($url), xmlify($photo), xmlify($date), xmlify($seen), xmlify($message) + ); } - echo "<intro>$intro</intro> <mail>$mail</mail> <net>$network</net> @@ -147,95 +126,100 @@ function ping_init(&$a) { if ($register!=0) echo "<register>$register</register>"; $tot = $mail+$intro+$register+count($comments)+count($likes)+count($dislikes)+count($friends)+count($posts)+count($tags); - - echo ' <notif count="'.$tot.'">'; require_once('include/bbcode.php'); - - if(count($z)) { - foreach($z as $zz) { - echo xmlize($a->get_baseurl() . '/notify/' . $zz['id'], $zz['name'],$zz['url'],$zz['photo'],relative_date($zz['date']), bbcode($zz['msg'])); - + $sysnotify = 0; + + if($firehose) { + echo ' <notif count="'.$tot.'">'; + } + else { + if(count($z)) { + foreach($z as $zz) { + if($zz['seen'] == 0) + $sysnotify ++; + } + } + + echo ' <notif count="'. $sysnotify .'">'; + if(count($z)) { + foreach($z as $zz) { + echo xmlize($a->get_baseurl() . '/notify/view/' . $zz['id'], $zz['name'],$zz['url'],$zz['photo'],relative_date($zz['date']), ($zz['seen'] ? 'notify-seen' : 'notify-unseen'), ($zz['seen'] ? '' : '→ ') .strip_tags(bbcode($zz['msg']))); + } } } + if($firehose) { + if ($intro>0){ + foreach ($intros as $i) { + echo xmlize( $a->get_baseurl().'/notifications/intros/'.$i['id'], $i['name'], $i['url'], $i['photo'], relative_date($i['datetime']), 'notify-unseen',t("{0} wants to be your friend") ); + }; + } + if ($mail>0){ + foreach ($mails as $i) { + echo xmlize( $a->get_baseurl().'/message/'.$i['id'], $i['from-name'], $i['from-url'], $i['from-photo'], relative_date($i['created']), 'notify-unseen',t("{0} sent you a message") ); + }; + } + if ($register>0){ + foreach ($regs as $i) { + echo xmlize( $a->get_baseurl().'/admin/users/', $i['name'], $i['url'], $i['micro'], relative_date($i['created']), 'notify-unseen',t("{0} requested registration") ); + }; + } + if (count($comments)){ + foreach ($comments as $i) { + echo xmlize( $a->get_baseurl().'/display/'.$a->user['nickname']."/".$i['parent'], $i['author-name'], $i['author-link'], $i['author-avatar'], relative_date($i['created']), 'notify-unseen',sprintf( t("{0} commented %s's post"), $i['pname'] ) ); + }; + } + if (count($likes)){ + foreach ($likes as $i) { + echo xmlize( $a->get_baseurl().'/display/'.$a->user['nickname']."/".$i['parent'], $i['author-name'], $i['author-link'], $i['author-avatar'], relative_date($i['created']), 'notify-unseen',sprintf( t("{0} liked %s's post"), $i['pname'] ) ); + }; + } + if (count($dislikes)){ + foreach ($dislikes as $i) { + echo xmlize( $a->get_baseurl().'/display/'.$a->user['nickname']."/".$i['parent'], $i['author-name'], $i['author-link'], $i['author-avatar'], relative_date($i['created']), 'notify-unseen',sprintf( t("{0} disliked %s's post"), $i['pname'] ) ); + }; + } + if (count($friends)){ + foreach ($friends as $i) { + echo xmlize($a->get_baseurl().'/display/'.$a->user['nickname']."/".$i['parent'],$i['author-name'],$i['author-link'], $i['author-avatar'], relative_date($i['created']), 'notify-unseen',sprintf( t("{0} is now friends with %s"), $i['fname'] ) ); + }; + } + if (count($posts)){ + foreach ($posts as $i) { + echo xmlize( $a->get_baseurl().'/display/'.$a->user['nickname']."/".$i['parent'], $i['author-name'], $i['author-link'], $i['author-avatar'], relative_date($i['created']), 'notify-unseen',sprintf( t("{0} posted") ) ); + }; + } + if (count($tags)){ + foreach ($tags as $i) { + echo xmlize( $a->get_baseurl().'/display/'.$a->user['nickname']."/".$i['parent'], $i['author-name'], $i['author-link'], $i['author-avatar'], relative_date($i['created']), 'notify-unseen',sprintf( t("{0} tagged %s's post with #%s"), $i['pname'], $i['tname'] ) ); + }; + } - - -/* - - if ($intro>0){ - foreach ($intros as $i) { - echo xmlize( $a->get_baseurl().'/notifications/intros/'.$i['id'], $i['name'], $i['url'], $i['photo'], relative_date($i['datetime']), t("{0} wants to be your friend") ); - }; - } - if ($mail>0){ - foreach ($mails as $i) { - echo xmlize( $a->get_baseurl().'/message/'.$i['id'], $i['from-name'], $i['from-url'], $i['from-photo'], relative_date($i['created']), t("{0} sent you a message") ); - }; - } - if ($register>0){ - foreach ($regs as $i) { - echo xmlize( $a->get_baseurl().'/admin/users/', $i['name'], $i['url'], $i['micro'], relative_date($i['created']), t("{0} requested registration") ); - }; - } - - if (count($comments)){ - foreach ($comments as $i) { - echo xmlize( $a->get_baseurl().'/display/'.$a->user['nickname']."/".$i['parent'], $i['author-name'], $i['author-link'], $i['author-avatar'], relative_date($i['created']), sprintf( t("{0} commented %s's post"), $i['pname'] ) ); - }; - } - if (count($likes)){ - foreach ($likes as $i) { - echo xmlize( $a->get_baseurl().'/display/'.$a->user['nickname']."/".$i['parent'], $i['author-name'], $i['author-link'], $i['author-avatar'], relative_date($i['created']), sprintf( t("{0} liked %s's post"), $i['pname'] ) ); - }; - } - if (count($dislikes)){ - foreach ($dislikes as $i) { - echo xmlize( $a->get_baseurl().'/display/'.$a->user['nickname']."/".$i['parent'], $i['author-name'], $i['author-link'], $i['author-avatar'], relative_date($i['created']), sprintf( t("{0} disliked %s's post"), $i['pname'] ) ); - }; - } - if (count($friends)){ - foreach ($friends as $i) { - echo xmlize($a->get_baseurl().'/display/'.$a->user['nickname']."/".$i['parent'],$i['author-name'],$i['author-link'], $i['author-avatar'], relative_date($i['created']), sprintf( t("{0} is now friends with %s"), $i['fname'] ) ); - }; - } - if (count($posts)){ - foreach ($posts as $i) { - echo xmlize( $a->get_baseurl().'/display/'.$a->user['nickname']."/".$i['parent'], $i['author-name'], $i['author-link'], $i['author-avatar'], relative_date($i['created']), sprintf( t("{0} posted") ) ); - }; - } - if (count($tags)){ - foreach ($tags as $i) { - echo xmlize( $a->get_baseurl().'/display/'.$a->user['nickname']."/".$i['parent'], $i['author-name'], $i['author-link'], $i['author-avatar'], relative_date($i['created']), sprintf( t("{0} tagged %s's post with #%s"), $i['pname'], $i['tname'] ) ); - }; - } - - if (count($cit)){ - foreach ($cit as $i) { - echo xmlize( $a->get_baseurl().'/display/'.$a->user['nickname']."/".$i['parent'], $i['author-name'], $i['author-link'], $i['author-avatar'], relative_date($i['created']), t("{0} mentioned you in a post") ); - }; + if (count($cit)){ + foreach ($cit as $i) { + echo xmlize( $a->get_baseurl().'/display/'.$a->user['nickname']."/".$i['parent'], $i['author-name'], $i['author-link'], $i['author-avatar'], relative_date($i['created']), 'notify-unseen',t("{0} mentioned you in a post") ); + }; + } } -*/ - echo " </notif>"; } echo " <sysmsgs>"; - if(x($_SESSION,'sysmsg')){ - foreach ($_SESSION['sysmsg'] as $m){ - echo "<notice>".xmlify($m)."</notice>"; - } - unset($_SESSION['sysmsg']); + if(x($_SESSION,'sysmsg')){ + foreach ($_SESSION['sysmsg'] as $m){ + echo "<notice>".xmlify($m)."</notice>"; } - if(x($_SESSION,'sysmsg_info')){ - foreach ($_SESSION['sysmsg_info'] as $m){ - echo "<info>".xmlify($m)."</info>"; - } - unset($_SESSION['sysmsg_info']); + unset($_SESSION['sysmsg']); + } + if(x($_SESSION,'sysmsg_info')){ + foreach ($_SESSION['sysmsg_info'] as $m){ + echo "<info>".xmlify($m)."</info>"; } + unset($_SESSION['sysmsg_info']); + } echo " </sysmsgs>"; echo"</result> diff --git a/mod/profile.php b/mod/profile.php index eba9874a8..74e1a2302 100755 --- a/mod/profile.php +++ b/mod/profile.php @@ -107,7 +107,7 @@ function profile_content(&$a, $update = 0) { $is_owner = ((local_user()) && (local_user() == $a->profile['profile_uid']) ? true : false); - if($a->profile['hidewall'] && (! $is_owner) && (! $remote_contact)) { + if($a->user['hidewall'] && (! $is_owner) && (! $remote_contact)) { notice( t('Access to this profile has been restricted.') . EOL); return; } @@ -228,10 +228,12 @@ function profile_content(&$a, $update = 0) { intval($a->profile['profile_uid']), dbesc($parents_str) ); + + $items = conv_sort($items,'created'); + } else { + $items = array(); } - $items = conv_sort($items,'created'); - if($is_owner && ! $update) { $o .= get_birthdays(); $o .= get_events(); diff --git a/mod/settings.php b/mod/settings.php index 57a4e6db0..a9d00bc98 100755 --- a/mod/settings.php +++ b/mod/settings.php @@ -50,6 +50,8 @@ function settings_post(&$a) { return; } + $old_page_flags = $a->user['page-flags']; + if(($a->argc > 1) && ($a->argv[1] === 'oauth') && x($_POST,'remove')){ $key = $_POST['remove']; q("DELETE FROM tokens WHERE id='%s' AND uid=%d", @@ -110,13 +112,15 @@ function settings_post(&$a) { if(($a->argc > 1) && ($a->argv[1] == 'connectors')) { if(x($_POST['imap-submit'])) { - $mail_server = ((x($_POST,'mail_server')) ? $_POST['mail_server'] : ''); - $mail_port = ((x($_POST,'mail_port')) ? $_POST['mail_port'] : ''); - $mail_ssl = ((x($_POST,'mail_ssl')) ? strtolower(trim($_POST['mail_ssl'])) : ''); - $mail_user = ((x($_POST,'mail_user')) ? $_POST['mail_user'] : ''); - $mail_pass = ((x($_POST,'mail_pass')) ? trim($_POST['mail_pass']) : ''); - $mail_replyto = ((x($_POST,'mail_replyto')) ? $_POST['mail_replyto'] : ''); - $mail_pubmail = ((x($_POST,'mail_pubmail')) ? $_POST['mail_pubmail'] : ''); + $mail_server = ((x($_POST,'mail_server')) ? $_POST['mail_server'] : ''); + $mail_port = ((x($_POST,'mail_port')) ? $_POST['mail_port'] : ''); + $mail_ssl = ((x($_POST,'mail_ssl')) ? strtolower(trim($_POST['mail_ssl'])) : ''); + $mail_user = ((x($_POST,'mail_user')) ? $_POST['mail_user'] : ''); + $mail_pass = ((x($_POST,'mail_pass')) ? trim($_POST['mail_pass']) : ''); + $mail_action = ((x($_POST,'mail_action')) ? trim($_POST['mail_action']) : ''); + $mail_movetofolder = ((x($_POST,'mail_movetofolder')) ? trim($_POST['mail_movetofolder']) : ''); + $mail_replyto = ((x($_POST,'mail_replyto')) ? $_POST['mail_replyto'] : ''); + $mail_pubmail = ((x($_POST,'mail_pubmail')) ? $_POST['mail_pubmail'] : ''); $mail_disabled = ((function_exists('imap_open') && (! get_config('system','imap_disabled'))) ? 0 : 1); @@ -142,11 +146,14 @@ function settings_post(&$a) { ); } $r = q("UPDATE `mailacct` SET `server` = '%s', `port` = %d, `ssltype` = '%s', `user` = '%s', + `action` = %d, `movetofolder` = '%s', `mailbox` = 'INBOX', `reply_to` = '%s', `pubmail` = %d WHERE `uid` = %d LIMIT 1", dbesc($mail_server), intval($mail_port), dbesc($mail_ssl), dbesc($mail_user), + intval($mail_action), + dbesc($mail_movetofolder), dbesc($mail_replyto), intval($mail_pubmail), intval(local_user()) @@ -210,7 +217,7 @@ function settings_post(&$a) { } } - $theme = ((x($_POST,'theme')) ? notags(trim($_POST['theme'])) : ''); + $theme = ((x($_POST,'theme')) ? notags(trim($_POST['theme'])) : $a->user['theme']); $username = ((x($_POST,'username')) ? notags(trim($_POST['username'])) : ''); $email = ((x($_POST,'email')) ? notags(trim($_POST['email'])) : ''); $timezone = ((x($_POST,'timezone')) ? notags(trim($_POST['timezone'])) : ''); @@ -218,8 +225,8 @@ function settings_post(&$a) { $openid = ((x($_POST,'openid_url')) ? notags(trim($_POST['openid_url'])) : ''); $maxreq = ((x($_POST,'maxreq')) ? intval($_POST['maxreq']) : 0); $expire = ((x($_POST,'expire')) ? intval($_POST['expire']) : 0); - - + + $expire_items = ((x($_POST,'expire_items')) ? intval($_POST['expire_items']) : 0); $expire_notes = ((x($_POST,'expire_notes')) ? intval($_POST['expire_notes']) : 0); $expire_starred = ((x($_POST,'expire_starred')) ? intval($_POST['expire_starred']) : 0); @@ -370,7 +377,7 @@ function settings_post(&$a) { ); } - if($old_visibility != $net_publish) { + if(($old_visibility != $net_publish) || ($page_flags != $old_page_flags)) { // Update global directory in background $url = $_SESSION['my_url']; if($url && strlen(get_config('system','directory_submit_url'))) @@ -561,23 +568,25 @@ function settings_content(&$a) { $r = null; } - $mail_server = ((count($r)) ? $r[0]['server'] : ''); - $mail_port = ((count($r) && intval($r[0]['port'])) ? intval($r[0]['port']) : ''); - $mail_ssl = ((count($r)) ? $r[0]['ssltype'] : ''); - $mail_user = ((count($r)) ? $r[0]['user'] : ''); - $mail_replyto = ((count($r)) ? $r[0]['reply_to'] : ''); - $mail_pubmail = ((count($r)) ? $r[0]['pubmail'] : 0); - $mail_chk = ((count($r)) ? $r[0]['last_check'] : '0000-00-00 00:00:00'); + $mail_server = ((count($r)) ? $r[0]['server'] : ''); + $mail_port = ((count($r) && intval($r[0]['port'])) ? intval($r[0]['port']) : ''); + $mail_ssl = ((count($r)) ? $r[0]['ssltype'] : ''); + $mail_user = ((count($r)) ? $r[0]['user'] : ''); + $mail_replyto = ((count($r)) ? $r[0]['reply_to'] : ''); + $mail_pubmail = ((count($r)) ? $r[0]['pubmail'] : 0); + $mail_action = ((count($r)) ? $r[0]['action'] : 0); + $mail_movetofolder = ((count($r)) ? $r[0]['movetofolder'] : ''); + $mail_chk = ((count($r)) ? $r[0]['last_check'] : '0000-00-00 00:00:00'); + - $tpl = get_markup_template("settings_connectors.tpl"); $o .= replace_macros($tpl, array( '$title' => t('Connector Settings'), '$tabs' => $tabs, - + '$diasp_enabled' => $diasp_enabled, '$ostat_enabled' => $ostat_enabled, - + '$h_imap' => t('Email/Mailbox Setup'), '$imap_desc' => t("If you wish to communicate with email contacts using this service \x28optional\x29, please specify how to connect to your mailbox."), '$imap_lastcheck' => array('imap_lastcheck', t('Last successful email check:'), $mail_chk,''), @@ -589,8 +598,10 @@ function settings_content(&$a) { '$mail_pass' => array('mail_pass', t('Email password:'), '', ''), '$mail_replyto' => array('mail_replyto', t('Reply-to address:'), '', 'Optional'), '$mail_pubmail' => array('mail_pubmail', t('Send public posts to all email contacts:'), $mail_pubmail, ''), - '$submit' => t('Submit'), - + '$mail_action' => array('mail_action', t('Action after import:'), $mail_action, '', array(0=>t('None'), 1=>t('Delete'), 2=>t('Mark as seen'), 3=>t('Move to folder'))), + '$mail_movetofolder' => array('mail_movetofolder', t('Move to folder:'), $mail_movetofolder, ''), + '$submit' => t('Submit'), + '$settings_connectors' => $settings_connectors @@ -598,7 +609,7 @@ function settings_content(&$a) { return $o; } - + require_once('include/acl_selectors.php'); $p = q("SELECT * FROM `profile` WHERE `is-default` = 1 AND `uid` = %d LIMIT 1", @@ -728,13 +739,23 @@ function settings_content(&$a) { $default_theme = get_config('system','theme'); if(! $default_theme) $default_theme = 'default'; + + $allowed_themes_str = get_config('system','allowed_themes'); + $allowed_themes_raw = explode(',',$allowed_themes_str); + $allowed_themes = array(); + if(count($allowed_themes_raw)) + foreach($allowed_themes_raw as $x) + if(strlen(trim($x))) + $allowed_themes[] = trim($x); + $themes = array(); $files = glob('view/theme/*'); - if($files) { - foreach($files as $file) { - $f = basename($file); - $is_experimental = file_exists($file . '/experimental'); + if($allowed_themes) { + foreach($allowed_themes as $th) { + $f = $th; + $is_experimental = file_exists('view/theme/' . $th . '/experimental'); + $unsupported = file_exists('view/theme/' . $th . '/unsupported'); if (!$is_experimental or ($is_experimental && (get_config('experimentals','exp_themes')==1 or get_config('experimentals','exp_themes')===false))){ $theme_name = (($is_experimental) ? sprintf("%s - \x28Experimental\x29", $f) : $f); $themes[$f]=$theme_name; diff --git a/mod/tagger.php b/mod/tagger.php index 76ec3366c..3ff5d57aa 100755 --- a/mod/tagger.php +++ b/mod/tagger.php @@ -134,6 +134,7 @@ EOT; $arr['target'] = $target; $arr['object-type'] = $objtype; $arr['object'] = $obj; + $arr['private'] = $item['private']; $arr['allow_cid'] = $item['allow_cid']; $arr['allow_gid'] = $item['allow_gid']; $arr['deny_cid'] = $item['deny_cid']; diff --git a/mod/viewcontacts.php b/mod/viewcontacts.php index 10c980d93..6b66f60d7 100755 --- a/mod/viewcontacts.php +++ b/mod/viewcontacts.php @@ -63,7 +63,8 @@ function viewcontacts_content(&$a) { 'username' => $rr['name'], 'url' => $url, 'sparkle' => '', - 'item' => $rr, + 'itemurl' => $rr['url'], + 'network' => network_to_name($rr['network']), ); } diff --git a/update.php b/update.php index 16c1d7848..8ca5ef90b 100755 --- a/update.php +++ b/update.php @@ -1,6 +1,6 @@ <?php -define( 'UPDATE_VERSION' , 1123 ); +define( 'UPDATE_VERSION' , 1129 ); /** * @@ -1068,4 +1068,49 @@ function update_1121() { function update_1122() { q("ALTER TABLE `notify` ADD `hash` CHAR( 64 ) NOT NULL AFTER `id` , ADD INDEX ( `hash` ) "); -}
\ No newline at end of file +} + +function update_1123() { +set_config('system','allowed_themes','dispy,quattro,testbubble,vier,darkbubble,darkzero,duepuntozero,greenzero,purplezero,quattro-green,slackr'); +} + +function update_1124() { +q("alter table item add index (`author-name`) "); +} + +function update_1125() { + q("CREATE TABLE IF NOT EXISTS `notify-threads` ( + `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY , + `notify-id` INT NOT NULL, + `master-parent-item` INT( 10 ) unsigned NOT NULL DEFAULT '0', + `parent-item` INT( 10 ) unsigned NOT NULL DEFAULT '0', + `receiver-uid` INT NOT NULL, + INDEX ( `master-parent-item` ), + INDEX ( `receiver-uid` ) + ) ENGINE = MyISAM DEFAULT CHARSET=utf8"); +} + +function update_1126() { + q("ALTER TABLE `mailacct` ADD `action` INT NOT NULL AFTER `pass`, + ADD `movetofolder` CHAR(255) NOT NULL AFTER `action`"); +} + +function update_1127() { + q("CREATE TABLE IF NOT EXISTS `spam` ( + `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY , + `uid` INT NOT NULL, + `spam` INT NOT NULL DEFAULT '0', + `ham` INT NOT NULL DEFAULT '0', + `term` CHAR(255) NOT NULL, + INDEX ( `uid` ), + INDEX ( `spam` ), + INDEX ( `ham` ), + INDEX ( `term` ) + ) ENGINE = MyISAM DEFAULT CHARSET=utf8"); +} + + +function update_1128() { + q("alter table spam add `date` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00' AFTER `term` "); +} + diff --git a/util/messages.po b/util/messages.po index 6e1652b39..1f2575603 100755 --- a/util/messages.po +++ b/util/messages.po @@ -6,9 +6,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: 2.3.1250\n" +"Project-Id-Version: 2.3.1262\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-02-12 17:14-0800\n" +"POT-Creation-Date: 2012-02-24 22:44-0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -17,7 +17,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" #"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" -#: ../../mod/oexchange.php:27 +#: ../../mod/oexchange.php:25 msgid "Post successful." msgstr "" @@ -35,24 +35,24 @@ msgid "Contact update failed." msgstr "" #: ../../mod/crepair.php:115 ../../mod/wall_attach.php:43 -#: ../../mod/fsuggest.php:78 ../../mod/events.php:109 ../../mod/api.php:26 +#: ../../mod/fsuggest.php:78 ../../mod/events.php:110 ../../mod/api.php:26 #: ../../mod/api.php:31 ../../mod/photos.php:129 ../../mod/photos.php:865 #: ../../mod/editpost.php:10 ../../mod/install.php:171 #: ../../mod/notifications.php:62 ../../mod/contacts.php:125 #: ../../mod/settings.php:49 ../../mod/settings.php:404 #: ../../mod/settings.php:409 ../../mod/manage.php:86 ../../mod/network.php:6 #: ../../mod/notes.php:20 ../../mod/attach.php:33 ../../mod/group.php:19 -#: ../../mod/viewcontacts.php:21 ../../mod/register.php:36 -#: ../../mod/regmod.php:111 ../../mod/item.php:123 ../../mod/item.php:139 +#: ../../mod/viewcontacts.php:22 ../../mod/register.php:36 +#: ../../mod/regmod.php:111 ../../mod/item.php:124 ../../mod/item.php:140 #: ../../mod/profile_photo.php:19 ../../mod/profile_photo.php:137 #: ../../mod/profile_photo.php:148 ../../mod/profile_photo.php:159 #: ../../mod/message.php:9 ../../mod/message.php:46 ../../mod/allfriends.php:9 #: ../../mod/wall_upload.php:42 ../../mod/follow.php:8 ../../mod/common.php:9 -#: ../../mod/display.php:112 ../../mod/profiles.php:7 +#: ../../mod/display.php:130 ../../mod/profiles.php:7 #: ../../mod/profiles.php:229 ../../mod/delegate.php:6 #: ../../mod/suggest.php:28 ../../mod/invite.php:13 ../../mod/invite.php:81 -#: ../../mod/dfrn_confirm.php:53 ../../addon/facebook/facebook.php:331 -#: ../../include/items.php:2907 ../../index.php:288 +#: ../../mod/dfrn_confirm.php:53 ../../addon/facebook/facebook.php:332 +#: ../../include/items.php:2968 ../../index.php:288 msgid "Permission denied." msgstr "" @@ -82,7 +82,7 @@ msgid "Return to contact editor" msgstr "" #: ../../mod/crepair.php:148 ../../mod/settings.php:455 -#: ../../mod/settings.php:481 ../../mod/admin.php:464 ../../mod/admin.php:473 +#: ../../mod/settings.php:481 ../../mod/admin.php:480 ../../mod/admin.php:489 msgid "Name" msgstr "" @@ -119,33 +119,37 @@ msgid "New photo from this URL" msgstr "" #: ../../mod/crepair.php:166 ../../mod/fsuggest.php:107 -#: ../../mod/events.php:333 ../../mod/photos.php:900 ../../mod/photos.php:958 +#: ../../mod/events.php:400 ../../mod/photos.php:900 ../../mod/photos.php:958 #: ../../mod/photos.php:1182 ../../mod/photos.php:1222 #: ../../mod/photos.php:1262 ../../mod/photos.php:1293 #: ../../mod/install.php:251 ../../mod/install.php:289 #: ../../mod/localtime.php:45 ../../mod/contacts.php:319 #: ../../mod/settings.php:453 ../../mod/settings.php:592 -#: ../../mod/settings.php:773 ../../mod/manage.php:109 ../../mod/group.php:84 -#: ../../mod/group.php:167 ../../mod/admin.php:296 ../../mod/admin.php:461 -#: ../../mod/admin.php:587 ../../mod/admin.php:652 ../../mod/profiles.php:375 -#: ../../mod/invite.php:106 ../../addon/facebook/facebook.php:410 -#: ../../addon/yourls/yourls.php:76 ../../addon/nsfw/nsfw.php:57 +#: ../../mod/settings.php:786 ../../mod/manage.php:109 ../../mod/group.php:84 +#: ../../mod/group.php:167 ../../mod/admin.php:312 ../../mod/admin.php:477 +#: ../../mod/admin.php:603 ../../mod/admin.php:769 ../../mod/admin.php:847 +#: ../../mod/profiles.php:375 ../../mod/invite.php:106 +#: ../../addon/facebook/facebook.php:411 ../../addon/yourls/yourls.php:76 +#: ../../addon/nsfw/nsfw.php:57 #: ../../addon/uhremotestorage/uhremotestorage.php:89 #: ../../addon/randplace/randplace.php:179 ../../addon/drpost/drpost.php:110 #: ../../addon/geonames/geonames.php:187 ../../addon/oembed.old/oembed.php:41 #: ../../addon/impressum/impressum.php:69 ../../addon/blockem/blockem.php:57 +#: ../../addon/qcomment/qcomment.php:60 +#: ../../addon/openstreetmap/openstreetmap.php:70 #: ../../addon/editplain/editplain.php:84 ../../addon/blackout/blackout.php:94 #: ../../addon/pageheader/pageheader.php:52 -#: ../../addon/statusnet/statusnet.php:280 -#: ../../addon/statusnet/statusnet.php:294 +#: ../../addon/statusnet/statusnet.php:273 +#: ../../addon/statusnet/statusnet.php:287 +#: ../../addon/statusnet/statusnet.php:313 #: ../../addon/statusnet/statusnet.php:320 -#: ../../addon/statusnet/statusnet.php:327 -#: ../../addon/statusnet/statusnet.php:349 -#: ../../addon/statusnet/statusnet.php:495 ../../addon/tumblr/tumblr.php:90 +#: ../../addon/statusnet/statusnet.php:345 +#: ../../addon/statusnet/statusnet.php:532 ../../addon/tumblr/tumblr.php:90 #: ../../addon/numfriends/numfriends.php:85 ../../addon/wppost/wppost.php:102 -#: ../../addon/piwik/piwik.php:81 ../../addon/twitter/twitter.php:180 -#: ../../addon/twitter/twitter.php:203 ../../addon/twitter/twitter.php:315 -#: ../../addon/posterous/posterous.php:90 ../../include/conversation.php:515 +#: ../../addon/showmore/showmore.php:48 ../../addon/piwik/piwik.php:89 +#: ../../addon/twitter/twitter.php:175 ../../addon/twitter/twitter.php:201 +#: ../../addon/twitter/twitter.php:355 ../../addon/posterous/posterous.php:90 +#: ../../include/conversation.php:542 msgid "Submit" msgstr "" @@ -187,82 +191,82 @@ msgstr "" msgid "Suggest a friend for %s" msgstr "" -#: ../../mod/events.php:61 +#: ../../mod/events.php:62 msgid "Event description and start time are required." msgstr "" -#: ../../mod/events.php:117 ../../include/nav.php:50 ../../boot.php:1345 -msgid "Events" +#: ../../mod/events.php:230 +msgid "l, F j" msgstr "" -#: ../../mod/events.php:207 -msgid "Create New Event" +#: ../../mod/events.php:252 +msgid "Edit event" msgstr "" -#: ../../mod/events.php:210 -msgid "Previous" +#: ../../mod/events.php:272 ../../include/text.php:964 +msgid "link to source" msgstr "" -#: ../../mod/events.php:213 ../../mod/install.php:210 -msgid "Next" +#: ../../mod/events.php:296 ../../include/nav.php:50 ../../boot.php:1349 +msgid "Events" msgstr "" -#: ../../mod/events.php:220 -msgid "l, F j" +#: ../../mod/events.php:297 +msgid "Create New Event" msgstr "" -#: ../../mod/events.php:235 -msgid "Edit event" +#: ../../mod/events.php:298 +msgid "Previous" msgstr "" -#: ../../mod/events.php:237 ../../include/text.php:883 -msgid "link to source" +#: ../../mod/events.php:299 ../../mod/install.php:210 +msgid "Next" msgstr "" -#: ../../mod/events.php:305 +#: ../../mod/events.php:371 msgid "hour:minute" msgstr "" -#: ../../mod/events.php:314 +#: ../../mod/events.php:380 msgid "Event details" msgstr "" -#: ../../mod/events.php:315 +#: ../../mod/events.php:381 #, php-format msgid "Format is %s %s. Starting date and Description are required." msgstr "" -#: ../../mod/events.php:316 +#: ../../mod/events.php:383 msgid "Event Starts:" msgstr "" -#: ../../mod/events.php:319 +#: ../../mod/events.php:386 msgid "Finish date/time is not known or not relevant" msgstr "" -#: ../../mod/events.php:321 +#: ../../mod/events.php:388 msgid "Event Finishes:" msgstr "" -#: ../../mod/events.php:324 +#: ../../mod/events.php:391 msgid "Adjust for viewer timezone" msgstr "" -#: ../../mod/events.php:326 +#: ../../mod/events.php:393 msgid "Description:" msgstr "" -#: ../../mod/events.php:328 ../../include/event.php:37 -#: ../../include/bb2diaspora.php:271 ../../boot.php:976 +#: ../../mod/events.php:395 ../../include/event.php:37 +#: ../../include/bb2diaspora.php:290 ../../boot.php:980 msgid "Location:" msgstr "" -#: ../../mod/events.php:330 +#: ../../mod/events.php:397 msgid "Share this event" msgstr "" #: ../../mod/tagrm.php:11 ../../mod/tagrm.php:94 -#: ../../mod/dfrn_request.php:685 ../../mod/settings.php:454 +#: ../../mod/dfrn_request.php:686 ../../mod/settings.php:454 #: ../../mod/settings.php:480 ../../addon/js_upload/js_upload.php:45 msgid "Cancel" msgstr "" @@ -306,24 +310,24 @@ msgid "" "and/or create new posts for you?" msgstr "" -#: ../../mod/api.php:105 ../../mod/dfrn_request.php:675 +#: ../../mod/api.php:105 ../../mod/dfrn_request.php:676 #: ../../mod/settings.php:681 ../../mod/settings.php:687 #: ../../mod/settings.php:695 ../../mod/settings.php:699 #: ../../mod/settings.php:704 ../../mod/settings.php:710 -#: ../../mod/settings.php:716 ../../mod/settings.php:763 -#: ../../mod/settings.php:764 ../../mod/settings.php:765 -#: ../../mod/settings.php:766 ../../mod/register.php:524 +#: ../../mod/settings.php:716 ../../mod/settings.php:776 +#: ../../mod/settings.php:777 ../../mod/settings.php:778 +#: ../../mod/settings.php:779 ../../mod/register.php:524 #: ../../mod/profiles.php:357 msgid "Yes" msgstr "" -#: ../../mod/api.php:106 ../../mod/dfrn_request.php:676 +#: ../../mod/api.php:106 ../../mod/dfrn_request.php:677 #: ../../mod/settings.php:681 ../../mod/settings.php:687 #: ../../mod/settings.php:695 ../../mod/settings.php:699 #: ../../mod/settings.php:704 ../../mod/settings.php:710 -#: ../../mod/settings.php:716 ../../mod/settings.php:763 -#: ../../mod/settings.php:764 ../../mod/settings.php:765 -#: ../../mod/settings.php:766 ../../mod/register.php:525 +#: ../../mod/settings.php:716 ../../mod/settings.php:776 +#: ../../mod/settings.php:777 ../../mod/settings.php:778 +#: ../../mod/settings.php:779 ../../mod/register.php:525 #: ../../mod/profiles.php:358 msgid "No" msgstr "" @@ -378,8 +382,8 @@ msgstr "" #: ../../mod/photos.php:528 ../../mod/like.php:127 ../../mod/tagger.php:70 #: ../../addon/communityhome/communityhome.php:163 -#: ../../include/diaspora.php:1587 ../../include/conversation.php:31 -#: ../../include/conversation.php:104 +#: ../../include/diaspora.php:1600 ../../include/conversation.php:53 +#: ../../include/conversation.php:126 msgid "photo" msgstr "" @@ -387,7 +391,7 @@ msgstr "" msgid "by" msgstr "" -#: ../../mod/photos.php:631 ../../addon/js_upload/js_upload.php:312 +#: ../../mod/photos.php:631 ../../addon/js_upload/js_upload.php:315 msgid "Image exceeds size limit of " msgstr "" @@ -406,8 +410,8 @@ msgid "Image upload failed." msgstr "" #: ../../mod/photos.php:759 ../../mod/community.php:16 -#: ../../mod/dfrn_request.php:624 ../../mod/viewcontacts.php:16 -#: ../../mod/display.php:7 ../../mod/search.php:71 ../../mod/directory.php:31 +#: ../../mod/dfrn_request.php:625 ../../mod/viewcontacts.php:17 +#: ../../mod/display.php:7 ../../mod/search.php:71 ../../mod/directory.php:33 msgid "Public access denied." msgstr "" @@ -467,7 +471,7 @@ msgstr "" msgid "Use as profile photo" msgstr "" -#: ../../mod/photos.php:1078 ../../include/conversation.php:450 +#: ../../mod/photos.php:1078 ../../include/conversation.php:472 msgid "Private Message" msgstr "" @@ -499,44 +503,44 @@ msgstr "" msgid "Example: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping" msgstr "" -#: ../../mod/photos.php:1200 ../../include/conversation.php:497 +#: ../../mod/photos.php:1200 ../../include/conversation.php:519 msgid "I like this (toggle)" msgstr "" -#: ../../mod/photos.php:1201 ../../include/conversation.php:498 +#: ../../mod/photos.php:1201 ../../include/conversation.php:520 msgid "I don't like this (toggle)" msgstr "" -#: ../../mod/photos.php:1202 ../../include/conversation.php:889 +#: ../../mod/photos.php:1202 ../../include/conversation.php:914 msgid "Share" msgstr "" -#: ../../mod/photos.php:1203 ../../mod/editpost.php:100 +#: ../../mod/photos.php:1203 ../../mod/editpost.php:104 #: ../../mod/message.php:155 ../../mod/message.php:296 -#: ../../include/conversation.php:321 ../../include/conversation.php:652 -#: ../../include/conversation.php:906 +#: ../../include/conversation.php:343 ../../include/conversation.php:677 +#: ../../include/conversation.php:931 msgid "Please wait" msgstr "" #: ../../mod/photos.php:1219 ../../mod/photos.php:1259 -#: ../../mod/photos.php:1290 ../../include/conversation.php:512 +#: ../../mod/photos.php:1290 ../../include/conversation.php:539 msgid "This is you" msgstr "" #: ../../mod/photos.php:1221 ../../mod/photos.php:1261 -#: ../../mod/photos.php:1292 ../../include/conversation.php:514 -#: ../../boot.php:443 +#: ../../mod/photos.php:1292 ../../include/conversation.php:541 +#: ../../boot.php:447 msgid "Comment" msgstr "" -#: ../../mod/photos.php:1223 ../../mod/editpost.php:119 -#: ../../include/conversation.php:516 ../../include/conversation.php:924 +#: ../../mod/photos.php:1223 ../../mod/editpost.php:123 +#: ../../include/conversation.php:543 ../../include/conversation.php:949 msgid "Preview" msgstr "" #: ../../mod/photos.php:1320 ../../mod/settings.php:513 -#: ../../mod/group.php:154 ../../mod/admin.php:468 -#: ../../include/conversation.php:280 ../../include/conversation.php:536 +#: ../../mod/group.php:154 ../../mod/admin.php:484 +#: ../../include/conversation.php:302 ../../include/conversation.php:563 msgid "Delete" msgstr "" @@ -596,70 +600,70 @@ msgstr "" msgid "Item not found" msgstr "" -#: ../../mod/editpost.php:32 +#: ../../mod/editpost.php:36 msgid "Edit post" msgstr "" -#: ../../mod/editpost.php:76 ../../include/conversation.php:875 +#: ../../mod/editpost.php:80 ../../include/conversation.php:900 msgid "Post to Email" msgstr "" -#: ../../mod/editpost.php:91 ../../mod/settings.php:512 -#: ../../include/conversation.php:523 +#: ../../mod/editpost.php:95 ../../mod/settings.php:512 +#: ../../include/conversation.php:550 msgid "Edit" msgstr "" -#: ../../mod/editpost.php:92 ../../mod/message.php:153 -#: ../../mod/message.php:294 ../../include/conversation.php:890 +#: ../../mod/editpost.php:96 ../../mod/message.php:153 +#: ../../mod/message.php:294 ../../include/conversation.php:915 msgid "Upload photo" msgstr "" -#: ../../mod/editpost.php:93 ../../include/conversation.php:892 +#: ../../mod/editpost.php:97 ../../include/conversation.php:917 msgid "Attach file" msgstr "" -#: ../../mod/editpost.php:94 ../../mod/message.php:154 -#: ../../mod/message.php:295 ../../include/conversation.php:894 +#: ../../mod/editpost.php:98 ../../mod/message.php:154 +#: ../../mod/message.php:295 ../../include/conversation.php:919 msgid "Insert web link" msgstr "" -#: ../../mod/editpost.php:95 +#: ../../mod/editpost.php:99 msgid "Insert YouTube video" msgstr "" -#: ../../mod/editpost.php:96 +#: ../../mod/editpost.php:100 msgid "Insert Vorbis [.ogg] video" msgstr "" -#: ../../mod/editpost.php:97 +#: ../../mod/editpost.php:101 msgid "Insert Vorbis [.ogg] audio" msgstr "" -#: ../../mod/editpost.php:98 ../../include/conversation.php:900 +#: ../../mod/editpost.php:102 ../../include/conversation.php:925 msgid "Set your location" msgstr "" -#: ../../mod/editpost.php:99 ../../include/conversation.php:902 +#: ../../mod/editpost.php:103 ../../include/conversation.php:927 msgid "Clear browser location" msgstr "" -#: ../../mod/editpost.php:101 ../../include/conversation.php:907 +#: ../../mod/editpost.php:105 ../../include/conversation.php:932 msgid "Permission settings" msgstr "" -#: ../../mod/editpost.php:109 ../../include/conversation.php:916 +#: ../../mod/editpost.php:113 ../../include/conversation.php:941 msgid "CC: email addresses" msgstr "" -#: ../../mod/editpost.php:110 ../../include/conversation.php:917 +#: ../../mod/editpost.php:114 ../../include/conversation.php:942 msgid "Public post" msgstr "" -#: ../../mod/editpost.php:113 ../../include/conversation.php:905 +#: ../../mod/editpost.php:117 ../../include/conversation.php:930 msgid "Set title" msgstr "" -#: ../../mod/editpost.php:114 ../../include/conversation.php:919 +#: ../../mod/editpost.php:118 ../../include/conversation.php:944 msgid "Example: bob@example.com, mary@example.com" msgstr "" @@ -768,68 +772,68 @@ msgstr "" msgid "Confirm" msgstr "" -#: ../../mod/dfrn_request.php:581 ../../include/items.php:2443 +#: ../../mod/dfrn_request.php:582 ../../include/items.php:2504 msgid "[Name Withheld]" msgstr "" -#: ../../mod/dfrn_request.php:665 +#: ../../mod/dfrn_request.php:666 #, php-format msgid "" "Diaspora members: Please do not use this form. Instead, enter \"%s\" into " "your Diaspora search bar." msgstr "" -#: ../../mod/dfrn_request.php:668 +#: ../../mod/dfrn_request.php:669 msgid "" "Please enter your 'Identity Address' from one of the following supported " "social networks:" msgstr "" -#: ../../mod/dfrn_request.php:671 +#: ../../mod/dfrn_request.php:672 msgid "Friend/Connection Request" msgstr "" -#: ../../mod/dfrn_request.php:672 +#: ../../mod/dfrn_request.php:673 msgid "" "Examples: jojo@demo.friendica.com, http://demo.friendica.com/profile/jojo, " "testuser@identi.ca" msgstr "" -#: ../../mod/dfrn_request.php:673 +#: ../../mod/dfrn_request.php:674 msgid "Please answer the following:" msgstr "" -#: ../../mod/dfrn_request.php:674 +#: ../../mod/dfrn_request.php:675 #, php-format msgid "Does %s know you?" msgstr "" -#: ../../mod/dfrn_request.php:677 +#: ../../mod/dfrn_request.php:678 msgid "Add a personal note:" msgstr "" -#: ../../mod/dfrn_request.php:679 ../../include/contact_selectors.php:76 +#: ../../mod/dfrn_request.php:680 ../../include/contact_selectors.php:76 msgid "Friendica" msgstr "" -#: ../../mod/dfrn_request.php:680 +#: ../../mod/dfrn_request.php:681 msgid "StatusNet/Federated Social Web" msgstr "" -#: ../../mod/dfrn_request.php:681 ../../mod/settings.php:548 +#: ../../mod/dfrn_request.php:682 ../../mod/settings.php:548 #: ../../include/contact_selectors.php:80 msgid "Diaspora" msgstr "" -#: ../../mod/dfrn_request.php:682 +#: ../../mod/dfrn_request.php:683 msgid "- please share from your own site as noted above" msgstr "" -#: ../../mod/dfrn_request.php:683 +#: ../../mod/dfrn_request.php:684 msgid "Your Identity Address:" msgstr "" -#: ../../mod/dfrn_request.php:684 +#: ../../mod/dfrn_request.php:685 msgid "Submit Request" msgstr "" @@ -1078,7 +1082,7 @@ msgid "Errors encountered creating database tables." msgstr "" #: ../../mod/localtime.php:12 ../../include/event.php:11 -#: ../../include/bb2diaspora.php:249 +#: ../../include/bb2diaspora.php:268 msgid "l F d, Y \\@ g:i A" msgstr "" @@ -1124,7 +1128,7 @@ msgid "is interested in:" msgstr "" #: ../../mod/match.php:58 ../../mod/suggest.php:59 -#: ../../include/contact_widgets.php:9 ../../boot.php:926 +#: ../../include/contact_widgets.php:9 ../../boot.php:930 msgid "Connect" msgstr "" @@ -1149,165 +1153,187 @@ msgstr "" msgid "Invalid request identifier." msgstr "" -#: ../../mod/notifications.php:35 ../../mod/notifications.php:152 -#: ../../mod/notifications.php:198 +#: ../../mod/notifications.php:35 ../../mod/notifications.php:157 +#: ../../mod/notifications.php:203 msgid "Discard" msgstr "" -#: ../../mod/notifications.php:47 ../../mod/notifications.php:151 -#: ../../mod/notifications.php:197 ../../mod/contacts.php:302 +#: ../../mod/notifications.php:47 ../../mod/notifications.php:156 +#: ../../mod/notifications.php:202 ../../mod/contacts.php:302 #: ../../mod/contacts.php:345 msgid "Ignore" msgstr "" -#: ../../mod/notifications.php:71 ../../include/nav.php:109 +#: ../../mod/notifications.php:71 +msgid "System" +msgstr "" + +#: ../../mod/notifications.php:76 ../../include/nav.php:109 msgid "Network" msgstr "" -#: ../../mod/notifications.php:76 ../../mod/network.php:177 +#: ../../mod/notifications.php:81 ../../mod/network.php:177 msgid "Personal" msgstr "" -#: ../../mod/notifications.php:81 ../../include/nav.php:73 +#: ../../mod/notifications.php:86 ../../include/nav.php:73 #: ../../include/nav.php:111 msgid "Home" msgstr "" -#: ../../mod/notifications.php:86 ../../include/nav.php:117 +#: ../../mod/notifications.php:91 ../../include/nav.php:117 msgid "Introductions" msgstr "" -#: ../../mod/notifications.php:91 ../../mod/message.php:76 -#: ../../include/nav.php:123 +#: ../../mod/notifications.php:96 ../../mod/message.php:76 +#: ../../include/nav.php:124 msgid "Messages" msgstr "" -#: ../../mod/notifications.php:110 +#: ../../mod/notifications.php:115 msgid "Show Ignored Requests" msgstr "" -#: ../../mod/notifications.php:110 +#: ../../mod/notifications.php:115 msgid "Hide Ignored Requests" msgstr "" -#: ../../mod/notifications.php:136 ../../mod/notifications.php:182 +#: ../../mod/notifications.php:141 ../../mod/notifications.php:187 msgid "Notification type: " msgstr "" -#: ../../mod/notifications.php:137 +#: ../../mod/notifications.php:142 msgid "Friend Suggestion" msgstr "" -#: ../../mod/notifications.php:139 +#: ../../mod/notifications.php:144 #, php-format msgid "suggested by %s" msgstr "" -#: ../../mod/notifications.php:144 ../../mod/notifications.php:191 +#: ../../mod/notifications.php:149 ../../mod/notifications.php:196 #: ../../mod/contacts.php:350 msgid "Hide this contact from others" msgstr "" -#: ../../mod/notifications.php:145 ../../mod/notifications.php:192 +#: ../../mod/notifications.php:150 ../../mod/notifications.php:197 msgid "Post a new friend activity" msgstr "" -#: ../../mod/notifications.php:145 ../../mod/notifications.php:192 +#: ../../mod/notifications.php:150 ../../mod/notifications.php:197 msgid "if applicable" msgstr "" -#: ../../mod/notifications.php:148 ../../mod/notifications.php:195 -#: ../../mod/admin.php:466 +#: ../../mod/notifications.php:153 ../../mod/notifications.php:200 +#: ../../mod/admin.php:482 msgid "Approve" msgstr "" -#: ../../mod/notifications.php:168 +#: ../../mod/notifications.php:173 msgid "Claims to be known to you: " msgstr "" -#: ../../mod/notifications.php:168 +#: ../../mod/notifications.php:173 msgid "yes" msgstr "" -#: ../../mod/notifications.php:168 +#: ../../mod/notifications.php:173 msgid "no" msgstr "" -#: ../../mod/notifications.php:175 +#: ../../mod/notifications.php:180 msgid "Approve as: " msgstr "" -#: ../../mod/notifications.php:176 +#: ../../mod/notifications.php:181 msgid "Friend" msgstr "" -#: ../../mod/notifications.php:177 +#: ../../mod/notifications.php:182 msgid "Sharer" msgstr "" -#: ../../mod/notifications.php:177 +#: ../../mod/notifications.php:182 msgid "Fan/Admirer" msgstr "" -#: ../../mod/notifications.php:183 +#: ../../mod/notifications.php:188 msgid "Friend/Connect Request" msgstr "" -#: ../../mod/notifications.php:183 +#: ../../mod/notifications.php:188 msgid "New Follower" msgstr "" -#: ../../mod/notifications.php:204 +#: ../../mod/notifications.php:209 msgid "No introductions." msgstr "" -#: ../../mod/notifications.php:207 ../../mod/notifications.php:293 -#: ../../mod/notifications.php:388 ../../mod/notifications.php:469 -#: ../../include/nav.php:118 +#: ../../mod/notifications.php:212 ../../include/nav.php:118 msgid "Notifications" msgstr "" -#: ../../mod/notifications.php:244 ../../mod/notifications.php:339 -#: ../../mod/notifications.php:426 +#: ../../mod/notifications.php:249 ../../mod/notifications.php:374 +#: ../../mod/notifications.php:461 #, php-format msgid "%s liked %s's post" msgstr "" -#: ../../mod/notifications.php:253 ../../mod/notifications.php:348 -#: ../../mod/notifications.php:435 +#: ../../mod/notifications.php:258 ../../mod/notifications.php:383 +#: ../../mod/notifications.php:470 #, php-format msgid "%s disliked %s's post" msgstr "" -#: ../../mod/notifications.php:267 ../../mod/notifications.php:362 -#: ../../mod/notifications.php:449 +#: ../../mod/notifications.php:272 ../../mod/notifications.php:397 +#: ../../mod/notifications.php:484 #, php-format msgid "%s is now friends with %s" msgstr "" -#: ../../mod/notifications.php:274 ../../mod/notifications.php:369 +#: ../../mod/notifications.php:279 ../../mod/notifications.php:404 #, php-format msgid "%s created a new post" msgstr "" -#: ../../mod/notifications.php:275 ../../mod/notifications.php:370 -#: ../../mod/notifications.php:458 +#: ../../mod/notifications.php:280 ../../mod/notifications.php:405 +#: ../../mod/notifications.php:493 #, php-format msgid "%s commented on %s's post" msgstr "" -#: ../../mod/notifications.php:289 +#: ../../mod/notifications.php:294 msgid "No more network notifications." msgstr "" -#: ../../mod/notifications.php:384 +#: ../../mod/notifications.php:298 +msgid "Network Notifications" +msgstr "" + +#: ../../mod/notifications.php:324 ../../mod/notify.php:59 +msgid "No more system notifications." +msgstr "" + +#: ../../mod/notifications.php:328 ../../mod/notify.php:63 +msgid "System Notifications" +msgstr "" + +#: ../../mod/notifications.php:419 msgid "No more personal notifications." msgstr "" -#: ../../mod/notifications.php:465 +#: ../../mod/notifications.php:423 +msgid "Personal Notifications" +msgstr "" + +#: ../../mod/notifications.php:500 msgid "No more home notifications." msgstr "" +#: ../../mod/notifications.php:504 +msgid "Home Notifications" +msgstr "" + #: ../../mod/contacts.php:63 ../../mod/contacts.php:143 msgid "Could not access contact record." msgstr "" @@ -1396,12 +1422,12 @@ msgid "View all contacts" msgstr "" #: ../../mod/contacts.php:297 ../../mod/contacts.php:344 -#: ../../mod/admin.php:470 +#: ../../mod/admin.php:486 msgid "Unblock" msgstr "" #: ../../mod/contacts.php:297 ../../mod/contacts.php:344 -#: ../../mod/admin.php:469 +#: ../../mod/admin.php:485 msgid "Block" msgstr "" @@ -1436,8 +1462,8 @@ msgstr "" msgid "Edit contact notes" msgstr "" -#: ../../mod/contacts.php:328 ../../mod/contacts.php:458 -#: ../../mod/viewcontacts.php:61 +#: ../../mod/contacts.php:328 ../../mod/contacts.php:497 +#: ../../mod/viewcontacts.php:60 #, php-format msgid "Visit %s's profile [%s]" msgstr "" @@ -1470,7 +1496,7 @@ msgstr "" msgid "Update public posts" msgstr "" -#: ../../mod/contacts.php:341 ../../mod/admin.php:701 +#: ../../mod/contacts.php:341 ../../mod/admin.php:896 msgid "Update now" msgstr "" @@ -1487,52 +1513,60 @@ msgid "" "Replies/likes to your public posts <strong>may</strong> still be visible" msgstr "" -#: ../../mod/contacts.php:387 ../../include/nav.php:131 -msgid "Contacts" -msgstr "" - -#: ../../mod/contacts.php:389 -msgid "Show Unblocked Contacts" +#: ../../mod/contacts.php:399 ../../mod/group.php:194 +msgid "All Contacts" msgstr "" -#: ../../mod/contacts.php:389 -msgid "Show Blocked Contacts" +#: ../../mod/contacts.php:404 +msgid "Unblocked Contacts" msgstr "" -#: ../../mod/contacts.php:391 -msgid "Show All Contacts" +#: ../../mod/contacts.php:410 +msgid "Blocked Contacts" msgstr "" -#: ../../mod/contacts.php:393 -msgid "Search your contacts" +#: ../../mod/contacts.php:416 +msgid "Ignored Contacts" msgstr "" -#: ../../mod/contacts.php:394 ../../mod/directory.php:65 -msgid "Finding: " +#: ../../mod/contacts.php:422 +msgid "Hidden Contacts" msgstr "" -#: ../../mod/contacts.php:395 ../../mod/directory.php:67 -#: ../../include/contact_widgets.php:34 -msgid "Find" -msgstr "" - -#: ../../mod/contacts.php:434 +#: ../../mod/contacts.php:473 msgid "Mutual Friendship" msgstr "" -#: ../../mod/contacts.php:438 +#: ../../mod/contacts.php:477 msgid "is a fan of yours" msgstr "" -#: ../../mod/contacts.php:442 +#: ../../mod/contacts.php:481 msgid "you are a fan of" msgstr "" -#: ../../mod/contacts.php:459 ../../include/Contact.php:135 -#: ../../include/conversation.php:748 +#: ../../mod/contacts.php:498 ../../include/Contact.php:135 +#: ../../include/conversation.php:773 msgid "Edit contact" msgstr "" +#: ../../mod/contacts.php:518 ../../include/nav.php:132 +msgid "Contacts" +msgstr "" + +#: ../../mod/contacts.php:522 +msgid "Search your contacts" +msgstr "" + +#: ../../mod/contacts.php:523 ../../mod/directory.php:67 +msgid "Finding: " +msgstr "" + +#: ../../mod/contacts.php:524 ../../mod/directory.php:69 +#: ../../include/contact_widgets.php:34 +msgid "Find" +msgstr "" + #: ../../mod/lostpass.php:16 msgid "No valid account found." msgstr "" @@ -1549,7 +1583,7 @@ msgstr "" #: ../../mod/lostpass.php:44 ../../mod/lostpass.php:106 #: ../../mod/register.php:380 ../../mod/register.php:434 #: ../../mod/regmod.php:54 ../../mod/dfrn_confirm.php:716 -#: ../../include/items.php:2452 +#: ../../include/items.php:2513 msgid "Administrator" msgstr "" @@ -1559,7 +1593,7 @@ msgid "" "Password reset failed." msgstr "" -#: ../../mod/lostpass.php:82 ../../boot.php:719 +#: ../../mod/lostpass.php:82 ../../boot.php:723 msgid "Password Reset" msgstr "" @@ -1607,7 +1641,7 @@ msgstr "" msgid "Missing some important data!" msgstr "" -#: ../../mod/settings.php:73 ../../mod/settings.php:479 ../../mod/admin.php:62 +#: ../../mod/settings.php:73 ../../mod/settings.php:479 ../../mod/admin.php:75 msgid "Update" msgstr "" @@ -1651,13 +1685,14 @@ msgstr "" msgid " Cannot change to that email." msgstr "" -#: ../../mod/settings.php:351 ../../addon/facebook/facebook.php:320 -#: ../../addon/impressum/impressum.php:64 ../../addon/piwik/piwik.php:94 -#: ../../addon/twitter/twitter.php:310 +#: ../../mod/settings.php:351 ../../addon/facebook/facebook.php:321 +#: ../../addon/impressum/impressum.php:64 +#: ../../addon/openstreetmap/openstreetmap.php:80 +#: ../../addon/piwik/piwik.php:105 ../../addon/twitter/twitter.php:350 msgid "Settings updated." msgstr "" -#: ../../mod/settings.php:415 ../../include/nav.php:129 +#: ../../mod/settings.php:415 ../../include/nav.php:130 msgid "Account settings" msgstr "" @@ -1683,12 +1718,12 @@ msgid "Add application" msgstr "" #: ../../mod/settings.php:456 ../../mod/settings.php:482 -#: ../../addon/statusnet/statusnet.php:489 +#: ../../addon/statusnet/statusnet.php:526 msgid "Consumer Key" msgstr "" #: ../../mod/settings.php:457 ../../mod/settings.php:483 -#: ../../addon/statusnet/statusnet.php:488 +#: ../../addon/statusnet/statusnet.php:525 msgid "Consumer Secret" msgstr "" @@ -1799,7 +1834,7 @@ msgstr "" msgid "Send public posts to all email contacts:" msgstr "" -#: ../../mod/settings.php:648 ../../mod/admin.php:126 ../../mod/admin.php:443 +#: ../../mod/settings.php:648 ../../mod/admin.php:142 ../../mod/admin.php:459 msgid "Normal Account" msgstr "" @@ -1807,7 +1842,7 @@ msgstr "" msgid "This account is a normal personal profile" msgstr "" -#: ../../mod/settings.php:652 ../../mod/admin.php:127 ../../mod/admin.php:444 +#: ../../mod/settings.php:652 ../../mod/admin.php:143 ../../mod/admin.php:460 msgid "Soapbox Account" msgstr "" @@ -1815,7 +1850,7 @@ msgstr "" msgid "Automatically approve all connection/friend requests as read-only fans" msgstr "" -#: ../../mod/settings.php:656 ../../mod/admin.php:128 ../../mod/admin.php:445 +#: ../../mod/settings.php:656 ../../mod/admin.php:144 ../../mod/admin.php:461 msgid "Community/Celebrity Account" msgstr "" @@ -1823,7 +1858,7 @@ msgstr "" msgid "Automatically approve all connection/friend requests as read-write fans" msgstr "" -#: ../../mod/settings.php:660 ../../mod/admin.php:129 ../../mod/admin.php:446 +#: ../../mod/settings.php:660 ../../mod/admin.php:145 ../../mod/admin.php:462 msgid "Automatic Friend Account" msgstr "" @@ -1871,159 +1906,159 @@ msgstr "" msgid "Profile is <strong>not published</strong>." msgstr "" -#: ../../mod/settings.php:744 ../../mod/profile_photo.php:206 +#: ../../mod/settings.php:757 ../../mod/profile_photo.php:206 msgid "or" msgstr "" -#: ../../mod/settings.php:749 +#: ../../mod/settings.php:762 msgid "Your Identity Address is" msgstr "" -#: ../../mod/settings.php:760 +#: ../../mod/settings.php:773 msgid "Automatically expire posts after this many days:" msgstr "" -#: ../../mod/settings.php:760 +#: ../../mod/settings.php:773 msgid "If empty, posts will not expire. Expired posts will be deleted" msgstr "" -#: ../../mod/settings.php:761 +#: ../../mod/settings.php:774 msgid "Advanced expiration settings" msgstr "" -#: ../../mod/settings.php:762 +#: ../../mod/settings.php:775 msgid "Advanced Expiration" msgstr "" -#: ../../mod/settings.php:763 +#: ../../mod/settings.php:776 msgid "Expire posts:" msgstr "" -#: ../../mod/settings.php:764 +#: ../../mod/settings.php:777 msgid "Expire personal notes:" msgstr "" -#: ../../mod/settings.php:765 +#: ../../mod/settings.php:778 msgid "Expire starred posts:" msgstr "" -#: ../../mod/settings.php:766 +#: ../../mod/settings.php:779 msgid "Expire photos:" msgstr "" -#: ../../mod/settings.php:771 +#: ../../mod/settings.php:784 msgid "Account Settings" msgstr "" -#: ../../mod/settings.php:779 +#: ../../mod/settings.php:792 msgid "Password Settings" msgstr "" -#: ../../mod/settings.php:780 +#: ../../mod/settings.php:793 msgid "New Password:" msgstr "" -#: ../../mod/settings.php:781 +#: ../../mod/settings.php:794 msgid "Confirm:" msgstr "" -#: ../../mod/settings.php:781 +#: ../../mod/settings.php:794 msgid "Leave password fields blank unless changing" msgstr "" -#: ../../mod/settings.php:785 +#: ../../mod/settings.php:798 msgid "Basic Settings" msgstr "" -#: ../../mod/settings.php:786 ../../include/profile_advanced.php:15 +#: ../../mod/settings.php:799 ../../include/profile_advanced.php:15 msgid "Full Name:" msgstr "" -#: ../../mod/settings.php:787 +#: ../../mod/settings.php:800 msgid "Email Address:" msgstr "" -#: ../../mod/settings.php:788 +#: ../../mod/settings.php:801 msgid "Your Timezone:" msgstr "" -#: ../../mod/settings.php:789 +#: ../../mod/settings.php:802 msgid "Default Post Location:" msgstr "" -#: ../../mod/settings.php:790 +#: ../../mod/settings.php:803 msgid "Use Browser Location:" msgstr "" -#: ../../mod/settings.php:791 +#: ../../mod/settings.php:804 msgid "Display Theme:" msgstr "" -#: ../../mod/settings.php:792 +#: ../../mod/settings.php:805 msgid "Update browser every xx seconds" msgstr "" -#: ../../mod/settings.php:792 +#: ../../mod/settings.php:805 msgid "Minimum of 10 seconds, no maximum" msgstr "" -#: ../../mod/settings.php:794 +#: ../../mod/settings.php:807 msgid "Security and Privacy Settings" msgstr "" -#: ../../mod/settings.php:796 +#: ../../mod/settings.php:809 msgid "Maximum Friend Requests/Day:" msgstr "" -#: ../../mod/settings.php:796 +#: ../../mod/settings.php:809 msgid "(to prevent spam abuse)" msgstr "" -#: ../../mod/settings.php:797 +#: ../../mod/settings.php:810 msgid "Default Post Permissions" msgstr "" -#: ../../mod/settings.php:798 +#: ../../mod/settings.php:811 msgid "(click to open/close)" msgstr "" -#: ../../mod/settings.php:813 +#: ../../mod/settings.php:826 msgid "Notification Settings" msgstr "" -#: ../../mod/settings.php:814 +#: ../../mod/settings.php:827 msgid "Send a notification email when:" msgstr "" -#: ../../mod/settings.php:815 +#: ../../mod/settings.php:828 msgid "You receive an introduction" msgstr "" -#: ../../mod/settings.php:816 +#: ../../mod/settings.php:829 msgid "Your introductions are confirmed" msgstr "" -#: ../../mod/settings.php:817 +#: ../../mod/settings.php:830 msgid "Someone writes on your profile wall" msgstr "" -#: ../../mod/settings.php:818 +#: ../../mod/settings.php:831 msgid "Someone writes a followup comment" msgstr "" -#: ../../mod/settings.php:819 +#: ../../mod/settings.php:832 msgid "You receive a private message" msgstr "" -#: ../../mod/settings.php:820 +#: ../../mod/settings.php:833 msgid "You receive a friend suggestion" msgstr "" -#: ../../mod/settings.php:821 +#: ../../mod/settings.php:834 msgid "You are tagged in a post" msgstr "" -#: ../../mod/settings.php:824 +#: ../../mod/settings.php:837 msgid "Advanced Page Settings" msgstr "" @@ -2089,31 +2124,31 @@ msgstr[1] "" msgid "Private messages to this group are at risk of public disclosure." msgstr "" -#: ../../mod/network.php:304 +#: ../../mod/network.php:300 msgid "No such group" msgstr "" -#: ../../mod/network.php:315 +#: ../../mod/network.php:311 msgid "Group is empty" msgstr "" -#: ../../mod/network.php:319 +#: ../../mod/network.php:315 msgid "Group: " msgstr "" -#: ../../mod/network.php:329 +#: ../../mod/network.php:325 msgid "Contact: " msgstr "" -#: ../../mod/network.php:331 +#: ../../mod/network.php:327 msgid "Private messages to this person are at risk of public disclosure." msgstr "" -#: ../../mod/network.php:336 +#: ../../mod/network.php:332 msgid "Invalid contact." msgstr "" -#: ../../mod/notes.php:44 ../../boot.php:1350 +#: ../../mod/notes.php:44 ../../boot.php:1354 msgid "Personal Notes" msgstr "" @@ -2132,13 +2167,16 @@ msgstr "" #: ../../mod/newmember.php:12 msgid "" "We would like to offer some tips and links to help make your experience " -"enjoyable. Click any item to visit the relevant page." +"enjoyable. Click any item to visit the relevant page. A link to this page " +"will be visible from your home page for two weeks after your initial " +"registration and then will quietly disappear." msgstr "" #: ../../mod/newmember.php:16 msgid "" "On your <em>Settings</em> page - change your initial password. Also make a " -"note of your Identity Address. This will be useful in making friends." +"note of your Identity Address. This looks just like an email address - and " +"will be useful in making friends on the free social web." msgstr "" #: ../../mod/newmember.php:18 @@ -2162,49 +2200,64 @@ msgid "" "and we will (optionally) import all your Facebook friends and conversations." msgstr "" -#: ../../mod/newmember.php:28 +#: ../../mod/newmember.php:25 +msgid "" +"<em>If</em> this is your own personal server, installing the Facebook addon " +"may ease your transition to the free social web." +msgstr "" + +#: ../../mod/newmember.php:30 msgid "" "Enter your email access information on your Connector Settings page if you " "wish to import and interact with friends or mailing lists from your email " "INBOX" msgstr "" -#: ../../mod/newmember.php:30 +#: ../../mod/newmember.php:32 msgid "" "Edit your <strong>default</strong> profile to your liking. Review the " "settings for hiding your list of friends and hiding the profile from unknown " "visitors." msgstr "" -#: ../../mod/newmember.php:32 +#: ../../mod/newmember.php:34 msgid "" "Set some public keywords for your default profile which describe your " "interests. We may be able to find other people with similar interests and " "suggest friendships." msgstr "" -#: ../../mod/newmember.php:34 +#: ../../mod/newmember.php:36 msgid "" "Your Contacts page is your gateway to managing friendships and connecting " "with friends on other networks. Typically you enter their address or site " "URL in the <em>Add New Contact</em> dialog." msgstr "" -#: ../../mod/newmember.php:36 +#: ../../mod/newmember.php:38 msgid "" "The Directory page lets you find other people in this network or other " "federated sites. Look for a <em>Connect</em> or <em>Follow</em> link on " "their profile page. Provide your own Identity Address if requested." msgstr "" -#: ../../mod/newmember.php:38 +#: ../../mod/newmember.php:40 +msgid "" +"On the side panel of the Contacts page are several tools to find new " +"friends. We can match people by interest, look up people by name or " +"interest, and provide suggestions based on network relationships. On a brand " +"new site, friend suggestions will usually begin to be populated within 24 " +"hours." +msgstr "" + +#: ../../mod/newmember.php:42 msgid "" "Once you have made some friends, organize them into private conversation " "groups from the sidebar of your Contacts page and then you can interact with " "each group privately on your Network page." msgstr "" -#: ../../mod/newmember.php:40 +#: ../../mod/newmember.php:44 msgid "" "Our <strong>help</strong> pages may be consulted for detail on other program " "features and resources." @@ -2266,10 +2319,6 @@ msgstr "" msgid "Members" msgstr "" -#: ../../mod/group.php:194 -msgid "All Contacts" -msgstr "" - #: ../../mod/profperm.php:25 ../../mod/profperm.php:55 msgid "Invalid profile identifier." msgstr "" @@ -2280,7 +2329,7 @@ msgstr "" #: ../../mod/profperm.php:103 ../../include/profile_advanced.php:7 #: ../../include/profile_advanced.php:76 ../../include/nav.php:48 -#: ../../boot.php:1332 +#: ../../boot.php:1336 msgid "Profile" msgstr "" @@ -2292,12 +2341,12 @@ msgstr "" msgid "All Contacts (with secure profile access)" msgstr "" -#: ../../mod/viewcontacts.php:25 ../../include/text.php:578 -msgid "View Contacts" +#: ../../mod/viewcontacts.php:39 +msgid "No contacts." msgstr "" -#: ../../mod/viewcontacts.php:40 -msgid "No contacts." +#: ../../mod/viewcontacts.php:73 ../../include/text.php:578 +msgid "View Contacts" msgstr "" #: ../../mod/register.php:62 @@ -2423,7 +2472,7 @@ msgstr "" msgid "Your invitation ID: " msgstr "" -#: ../../mod/register.php:540 ../../mod/admin.php:297 +#: ../../mod/register.php:540 ../../mod/admin.php:313 msgid "Registration" msgstr "" @@ -2446,7 +2495,7 @@ msgstr "" msgid "Choose a nickname: " msgstr "" -#: ../../mod/register.php:554 ../../include/nav.php:77 ../../boot.php:689 +#: ../../mod/register.php:554 ../../include/nav.php:77 ../../boot.php:693 msgid "Register" msgstr "" @@ -2455,30 +2504,31 @@ msgid "People Search" msgstr "" #: ../../mod/like.php:127 ../../mod/tagger.php:70 -#: ../../addon/facebook/facebook.php:1091 +#: ../../addon/facebook/facebook.php:1092 #: ../../addon/communityhome/communityhome.php:158 #: ../../addon/communityhome/communityhome.php:167 -#: ../../include/diaspora.php:1587 ../../include/conversation.php:26 -#: ../../include/conversation.php:35 ../../include/conversation.php:99 -#: ../../include/conversation.php:108 +#: ../../include/diaspora.php:1600 ../../include/conversation.php:48 +#: ../../include/conversation.php:57 ../../include/conversation.php:121 +#: ../../include/conversation.php:130 msgid "status" msgstr "" -#: ../../mod/like.php:144 ../../addon/facebook/facebook.php:1095 +#: ../../mod/like.php:144 ../../addon/facebook/facebook.php:1096 #: ../../addon/communityhome/communityhome.php:172 -#: ../../include/diaspora.php:1603 ../../include/conversation.php:43 +#: ../../include/diaspora.php:1616 ../../include/conversation.php:65 #, php-format msgid "%1$s likes %2$s's %3$s" msgstr "" -#: ../../mod/like.php:146 ../../include/conversation.php:46 +#: ../../mod/like.php:146 ../../include/conversation.php:68 #, php-format msgid "%1$s doesn't like %2$s's %3$s" msgstr "" -#: ../../mod/notice.php:15 ../../mod/viewsrc.php:15 ../../mod/admin.php:111 -#: ../../mod/admin.php:502 ../../mod/display.php:28 ../../mod/display.php:116 -#: ../../mod/viewd.php:14 ../../include/items.php:2819 +#: ../../mod/notice.php:15 ../../mod/viewsrc.php:15 ../../mod/admin.php:127 +#: ../../mod/admin.php:518 ../../mod/admin.php:694 ../../mod/display.php:29 +#: ../../mod/display.php:134 ../../mod/viewd.php:14 +#: ../../include/items.php:2880 msgid "Item not found." msgstr "" @@ -2499,42 +2549,42 @@ msgstr "" msgid "Please login." msgstr "" -#: ../../mod/item.php:88 +#: ../../mod/item.php:89 msgid "Unable to locate original post." msgstr "" -#: ../../mod/item.php:248 +#: ../../mod/item.php:249 msgid "Empty post discarded." msgstr "" -#: ../../mod/item.php:350 ../../mod/wall_upload.php:81 +#: ../../mod/item.php:351 ../../mod/wall_upload.php:81 #: ../../mod/wall_upload.php:90 ../../mod/wall_upload.php:97 #: ../../include/message.php:143 msgid "Wall Photos" msgstr "" -#: ../../mod/item.php:827 +#: ../../mod/item.php:830 msgid "System error. Post not saved." msgstr "" -#: ../../mod/item.php:852 +#: ../../mod/item.php:855 #, php-format msgid "" "This message was sent to you by %s, a member of the Friendica social network." msgstr "" -#: ../../mod/item.php:854 +#: ../../mod/item.php:857 #, php-format msgid "You may visit them online at %s" msgstr "" -#: ../../mod/item.php:855 +#: ../../mod/item.php:858 msgid "" "Please contact the sender by replying to this post if you do not wish to " "receive these messages." msgstr "" -#: ../../mod/item.php:857 +#: ../../mod/item.php:860 #, php-format msgid "%s posted an update." msgstr "" @@ -2658,7 +2708,7 @@ msgstr "" msgid "Conversation removed." msgstr "" -#: ../../mod/message.php:137 ../../include/conversation.php:843 +#: ../../mod/message.php:137 ../../include/conversation.php:868 msgid "Please enter a link URL:" msgstr "" @@ -2712,348 +2762,357 @@ msgstr "" msgid "No friends to display." msgstr "" -#: ../../mod/admin.php:59 ../../mod/admin.php:295 +#: ../../mod/admin.php:71 ../../mod/admin.php:311 msgid "Site" msgstr "" -#: ../../mod/admin.php:60 ../../mod/admin.php:460 ../../mod/admin.php:472 +#: ../../mod/admin.php:72 ../../mod/admin.php:476 ../../mod/admin.php:488 msgid "Users" msgstr "" -#: ../../mod/admin.php:61 ../../mod/admin.php:549 ../../mod/admin.php:586 +#: ../../mod/admin.php:73 ../../mod/admin.php:565 ../../mod/admin.php:602 msgid "Plugins" msgstr "" -#: ../../mod/admin.php:76 ../../mod/admin.php:651 +#: ../../mod/admin.php:74 ../../mod/admin.php:736 ../../mod/admin.php:768 +msgid "Themes" +msgstr "" + +#: ../../mod/admin.php:89 ../../mod/admin.php:846 msgid "Logs" msgstr "" -#: ../../mod/admin.php:81 +#: ../../mod/admin.php:94 msgid "User registrations waiting for confirmation" msgstr "" -#: ../../mod/admin.php:144 ../../mod/admin.php:294 ../../mod/admin.php:459 -#: ../../mod/admin.php:548 ../../mod/admin.php:585 ../../mod/admin.php:650 +#: ../../mod/admin.php:160 ../../mod/admin.php:310 ../../mod/admin.php:475 +#: ../../mod/admin.php:564 ../../mod/admin.php:601 ../../mod/admin.php:735 +#: ../../mod/admin.php:767 ../../mod/admin.php:845 msgid "Administration" msgstr "" -#: ../../mod/admin.php:145 +#: ../../mod/admin.php:161 msgid "Summary" msgstr "" -#: ../../mod/admin.php:146 +#: ../../mod/admin.php:162 msgid "Registered users" msgstr "" -#: ../../mod/admin.php:148 +#: ../../mod/admin.php:164 msgid "Pending registrations" msgstr "" -#: ../../mod/admin.php:149 +#: ../../mod/admin.php:165 msgid "Version" msgstr "" -#: ../../mod/admin.php:151 +#: ../../mod/admin.php:167 msgid "Active plugins" msgstr "" -#: ../../mod/admin.php:243 +#: ../../mod/admin.php:259 msgid "Site settings updated." msgstr "" -#: ../../mod/admin.php:287 +#: ../../mod/admin.php:303 msgid "Closed" msgstr "" -#: ../../mod/admin.php:288 +#: ../../mod/admin.php:304 msgid "Requires approval" msgstr "" -#: ../../mod/admin.php:289 +#: ../../mod/admin.php:305 msgid "Open" msgstr "" -#: ../../mod/admin.php:298 +#: ../../mod/admin.php:314 msgid "File upload" msgstr "" -#: ../../mod/admin.php:299 +#: ../../mod/admin.php:315 msgid "Policies" msgstr "" -#: ../../mod/admin.php:300 +#: ../../mod/admin.php:316 msgid "Advanced" msgstr "" -#: ../../mod/admin.php:304 ../../addon/statusnet/statusnet.php:486 +#: ../../mod/admin.php:320 ../../addon/statusnet/statusnet.php:523 msgid "Site name" msgstr "" -#: ../../mod/admin.php:305 +#: ../../mod/admin.php:321 msgid "Banner/Logo" msgstr "" -#: ../../mod/admin.php:306 +#: ../../mod/admin.php:322 msgid "System language" msgstr "" -#: ../../mod/admin.php:307 +#: ../../mod/admin.php:323 msgid "System theme" msgstr "" -#: ../../mod/admin.php:309 +#: ../../mod/admin.php:325 msgid "Maximum image size" msgstr "" -#: ../../mod/admin.php:311 +#: ../../mod/admin.php:327 msgid "Register policy" msgstr "" -#: ../../mod/admin.php:312 +#: ../../mod/admin.php:328 msgid "Register text" msgstr "" -#: ../../mod/admin.php:313 +#: ../../mod/admin.php:329 msgid "Accounts abandoned after x days" msgstr "" -#: ../../mod/admin.php:313 +#: ../../mod/admin.php:329 msgid "" "Will not waste system resources polling external sites for abandonded " "accounts. Enter 0 for no time limit." msgstr "" -#: ../../mod/admin.php:314 +#: ../../mod/admin.php:330 msgid "Allowed friend domains" msgstr "" -#: ../../mod/admin.php:315 +#: ../../mod/admin.php:331 msgid "Allowed email domains" msgstr "" -#: ../../mod/admin.php:316 +#: ../../mod/admin.php:332 msgid "Block public" msgstr "" -#: ../../mod/admin.php:317 +#: ../../mod/admin.php:333 msgid "Force publish" msgstr "" -#: ../../mod/admin.php:318 +#: ../../mod/admin.php:334 msgid "Global directory update URL" msgstr "" -#: ../../mod/admin.php:320 +#: ../../mod/admin.php:336 msgid "Block multiple registrations" msgstr "" -#: ../../mod/admin.php:321 +#: ../../mod/admin.php:337 msgid "OpenID support" msgstr "" -#: ../../mod/admin.php:322 +#: ../../mod/admin.php:338 msgid "Gravatar support" msgstr "" -#: ../../mod/admin.php:323 +#: ../../mod/admin.php:339 msgid "Fullname check" msgstr "" -#: ../../mod/admin.php:324 +#: ../../mod/admin.php:340 msgid "UTF-8 Regular expressions" msgstr "" -#: ../../mod/admin.php:325 +#: ../../mod/admin.php:341 msgid "Show Community Page" msgstr "" -#: ../../mod/admin.php:326 +#: ../../mod/admin.php:342 msgid "Enable OStatus support" msgstr "" -#: ../../mod/admin.php:327 +#: ../../mod/admin.php:343 msgid "Enable Diaspora support" msgstr "" -#: ../../mod/admin.php:328 +#: ../../mod/admin.php:344 msgid "Only allow Friendica contacts" msgstr "" -#: ../../mod/admin.php:329 +#: ../../mod/admin.php:345 msgid "Verify SSL" msgstr "" -#: ../../mod/admin.php:330 +#: ../../mod/admin.php:346 msgid "Proxy user" msgstr "" -#: ../../mod/admin.php:331 +#: ../../mod/admin.php:347 msgid "Proxy URL" msgstr "" -#: ../../mod/admin.php:332 +#: ../../mod/admin.php:348 msgid "Network timeout" msgstr "" -#: ../../mod/admin.php:353 +#: ../../mod/admin.php:369 #, php-format msgid "%s user blocked" msgid_plural "%s users blocked/unblocked" msgstr[0] "" msgstr[1] "" -#: ../../mod/admin.php:360 +#: ../../mod/admin.php:376 #, php-format msgid "%s user deleted" msgid_plural "%s users deleted" msgstr[0] "" msgstr[1] "" -#: ../../mod/admin.php:394 +#: ../../mod/admin.php:410 #, php-format msgid "User '%s' deleted" msgstr "" -#: ../../mod/admin.php:401 +#: ../../mod/admin.php:417 #, php-format msgid "User '%s' unblocked" msgstr "" -#: ../../mod/admin.php:401 +#: ../../mod/admin.php:417 #, php-format msgid "User '%s' blocked" msgstr "" -#: ../../mod/admin.php:462 +#: ../../mod/admin.php:478 msgid "select all" msgstr "" -#: ../../mod/admin.php:463 +#: ../../mod/admin.php:479 msgid "User registrations waiting for confirm" msgstr "" -#: ../../mod/admin.php:464 +#: ../../mod/admin.php:480 msgid "Request date" msgstr "" -#: ../../mod/admin.php:464 ../../mod/admin.php:473 +#: ../../mod/admin.php:480 ../../mod/admin.php:489 #: ../../include/contact_selectors.php:79 msgid "Email" msgstr "" -#: ../../mod/admin.php:465 +#: ../../mod/admin.php:481 msgid "No registrations." msgstr "" -#: ../../mod/admin.php:467 +#: ../../mod/admin.php:483 msgid "Deny" msgstr "" -#: ../../mod/admin.php:473 +#: ../../mod/admin.php:489 msgid "Register date" msgstr "" -#: ../../mod/admin.php:473 +#: ../../mod/admin.php:489 msgid "Last login" msgstr "" -#: ../../mod/admin.php:473 +#: ../../mod/admin.php:489 msgid "Last item" msgstr "" -#: ../../mod/admin.php:473 +#: ../../mod/admin.php:489 msgid "Account" msgstr "" -#: ../../mod/admin.php:475 +#: ../../mod/admin.php:491 msgid "" "Selected users will be deleted!\\n\\nEverything these users had posted on " "this site will be permanently deleted!\\n\\nAre you sure?" msgstr "" -#: ../../mod/admin.php:476 +#: ../../mod/admin.php:492 msgid "" "The user {0} will be deleted!\\n\\nEverything this user has posted on this " "site will be permanently deleted!\\n\\nAre you sure?" msgstr "" -#: ../../mod/admin.php:512 +#: ../../mod/admin.php:528 #, php-format msgid "Plugin %s disabled." msgstr "" -#: ../../mod/admin.php:516 +#: ../../mod/admin.php:532 #, php-format msgid "Plugin %s enabled." msgstr "" -#: ../../mod/admin.php:526 +#: ../../mod/admin.php:542 ../../mod/admin.php:718 msgid "Disable" msgstr "" -#: ../../mod/admin.php:528 +#: ../../mod/admin.php:544 ../../mod/admin.php:720 msgid "Enable" msgstr "" -#: ../../mod/admin.php:550 +#: ../../mod/admin.php:566 ../../mod/admin.php:737 msgid "Toggle" msgstr "" -#: ../../mod/admin.php:551 ../../include/nav.php:129 +#: ../../mod/admin.php:567 ../../mod/admin.php:738 ../../include/nav.php:130 msgid "Settings" msgstr "" -#: ../../mod/admin.php:613 +#: ../../mod/admin.php:683 +msgid "No themes found." +msgstr "" + +#: ../../mod/admin.php:795 msgid "Log settings updated." msgstr "" -#: ../../mod/admin.php:653 +#: ../../mod/admin.php:848 msgid "Clear" msgstr "" -#: ../../mod/admin.php:659 +#: ../../mod/admin.php:854 msgid "Debugging" msgstr "" -#: ../../mod/admin.php:660 +#: ../../mod/admin.php:855 msgid "Log file" msgstr "" -#: ../../mod/admin.php:660 +#: ../../mod/admin.php:855 msgid "" "Must be writable by web server. Relative to your Friendica top-level " "directory." msgstr "" -#: ../../mod/admin.php:661 +#: ../../mod/admin.php:856 msgid "Log level" msgstr "" -#: ../../mod/admin.php:702 +#: ../../mod/admin.php:897 msgid "Close" msgstr "" -#: ../../mod/admin.php:708 +#: ../../mod/admin.php:903 msgid "FTP Host" msgstr "" -#: ../../mod/admin.php:709 +#: ../../mod/admin.php:904 msgid "FTP Path" msgstr "" -#: ../../mod/admin.php:710 +#: ../../mod/admin.php:905 msgid "FTP User" msgstr "" -#: ../../mod/admin.php:711 +#: ../../mod/admin.php:906 msgid "FTP Password" msgstr "" -#: ../../mod/profile.php:15 ../../boot.php:841 +#: ../../mod/profile.php:15 ../../boot.php:845 msgid "Requested profile is not available." msgstr "" -#: ../../mod/profile.php:111 ../../mod/display.php:66 +#: ../../mod/profile.php:111 ../../mod/display.php:67 msgid "Access to this profile has been restricted." msgstr "" @@ -3061,48 +3120,48 @@ msgstr "" msgid "Tips for New Members" msgstr "" -#: ../../mod/ping.php:148 +#: ../../mod/ping.php:146 msgid "{0} wants to be your friend" msgstr "" -#: ../../mod/ping.php:153 +#: ../../mod/ping.php:151 msgid "{0} sent you a message" msgstr "" -#: ../../mod/ping.php:158 +#: ../../mod/ping.php:156 msgid "{0} requested registration" msgstr "" -#: ../../mod/ping.php:164 +#: ../../mod/ping.php:162 #, php-format msgid "{0} commented %s's post" msgstr "" -#: ../../mod/ping.php:169 +#: ../../mod/ping.php:167 #, php-format msgid "{0} liked %s's post" msgstr "" -#: ../../mod/ping.php:174 +#: ../../mod/ping.php:172 #, php-format msgid "{0} disliked %s's post" msgstr "" -#: ../../mod/ping.php:179 +#: ../../mod/ping.php:177 #, php-format msgid "{0} is now friends with %s" msgstr "" -#: ../../mod/ping.php:184 +#: ../../mod/ping.php:182 msgid "{0} posted" msgstr "" -#: ../../mod/ping.php:189 +#: ../../mod/ping.php:187 #, php-format msgid "{0} tagged %s's post with #%s" msgstr "" -#: ../../mod/ping.php:195 +#: ../../mod/ping.php:193 msgid "{0} mentioned you in a post" msgstr "" @@ -3120,39 +3179,39 @@ msgid "" "This site is not configured to allow communications with other networks." msgstr "" -#: ../../mod/follow.php:48 ../../mod/follow.php:58 +#: ../../mod/follow.php:48 ../../mod/follow.php:63 msgid "No compatible communication protocols or feeds were discovered." msgstr "" -#: ../../mod/follow.php:56 +#: ../../mod/follow.php:61 msgid "The profile address specified does not provide adequate information." msgstr "" -#: ../../mod/follow.php:60 +#: ../../mod/follow.php:65 msgid "An author or name was not found." msgstr "" -#: ../../mod/follow.php:62 +#: ../../mod/follow.php:67 msgid "No browser URL could be matched to this address." msgstr "" -#: ../../mod/follow.php:69 +#: ../../mod/follow.php:74 msgid "" "The profile address specified belongs to a network which has been disabled " "on this site." msgstr "" -#: ../../mod/follow.php:74 +#: ../../mod/follow.php:79 msgid "" "Limited profile. This person will be unable to receive direct/personal " "notifications from you." msgstr "" -#: ../../mod/follow.php:144 +#: ../../mod/follow.php:149 msgid "Unable to retrieve contact information." msgstr "" -#: ../../mod/follow.php:190 +#: ../../mod/follow.php:195 msgid "following" msgstr "" @@ -3164,7 +3223,7 @@ msgstr "" msgid "No friends in common." msgstr "" -#: ../../mod/display.php:109 +#: ../../mod/display.php:127 msgid "Item has been removed." msgstr "" @@ -3368,7 +3427,7 @@ msgid "" "be visible to anybody using the internet." msgstr "" -#: ../../mod/profiles.php:426 ../../mod/directory.php:122 +#: ../../mod/profiles.php:426 ../../mod/directory.php:124 msgid "Age: " msgstr "" @@ -3376,27 +3435,27 @@ msgstr "" msgid "Edit/Manage Profiles" msgstr "" -#: ../../mod/profiles.php:462 ../../boot.php:942 +#: ../../mod/profiles.php:462 ../../boot.php:946 msgid "Change profile photo" msgstr "" -#: ../../mod/profiles.php:463 ../../boot.php:943 +#: ../../mod/profiles.php:463 ../../boot.php:947 msgid "Create New Profile" msgstr "" -#: ../../mod/profiles.php:473 ../../boot.php:953 +#: ../../mod/profiles.php:473 ../../boot.php:957 msgid "Profile Image" msgstr "" -#: ../../mod/profiles.php:475 ../../boot.php:956 +#: ../../mod/profiles.php:475 ../../boot.php:960 msgid "visible to everybody" msgstr "" -#: ../../mod/profiles.php:476 ../../boot.php:957 +#: ../../mod/profiles.php:476 ../../boot.php:961 msgid "Edit visibility" msgstr "" -#: ../../mod/tagger.php:103 ../../include/conversation.php:116 +#: ../../mod/tagger.php:103 ../../include/conversation.php:138 #, php-format msgid "%1$s tagged %2$s's %3$s with %4$s" msgstr "" @@ -3450,31 +3509,31 @@ msgstr "" msgid "Ignore/Hide" msgstr "" -#: ../../mod/directory.php:49 +#: ../../mod/directory.php:51 msgid "Global Directory" msgstr "" -#: ../../mod/directory.php:55 +#: ../../mod/directory.php:57 msgid "Normal site view" msgstr "" -#: ../../mod/directory.php:57 +#: ../../mod/directory.php:59 msgid "Admin - View all site entries" msgstr "" -#: ../../mod/directory.php:63 +#: ../../mod/directory.php:65 msgid "Find on this site" msgstr "" -#: ../../mod/directory.php:66 +#: ../../mod/directory.php:68 msgid "Site Directory" msgstr "" -#: ../../mod/directory.php:125 +#: ../../mod/directory.php:127 msgid "Gender: " msgstr "" -#: ../../mod/directory.php:151 +#: ../../mod/directory.php:153 msgid "No entries (some entries may be hidden)." msgstr "" @@ -3560,7 +3619,7 @@ msgid "Unable to set contact photo." msgstr "" #: ../../mod/dfrn_confirm.php:473 ../../include/diaspora.php:495 -#: ../../include/conversation.php:79 +#: ../../include/conversation.php:101 #, php-format msgid "%1$s is now friends with %2$s" msgstr "" @@ -3606,71 +3665,71 @@ msgstr "" msgid "Connection accepted at %s" msgstr "" -#: ../../addon/facebook/facebook.php:337 +#: ../../addon/facebook/facebook.php:338 msgid "Facebook disabled" msgstr "" -#: ../../addon/facebook/facebook.php:342 +#: ../../addon/facebook/facebook.php:343 msgid "Updating contacts" msgstr "" -#: ../../addon/facebook/facebook.php:351 +#: ../../addon/facebook/facebook.php:352 msgid "Facebook API key is missing." msgstr "" -#: ../../addon/facebook/facebook.php:358 +#: ../../addon/facebook/facebook.php:359 msgid "Facebook Connect" msgstr "" -#: ../../addon/facebook/facebook.php:364 +#: ../../addon/facebook/facebook.php:365 msgid "Install Facebook connector for this account." msgstr "" -#: ../../addon/facebook/facebook.php:371 +#: ../../addon/facebook/facebook.php:372 msgid "Remove Facebook connector" msgstr "" -#: ../../addon/facebook/facebook.php:376 +#: ../../addon/facebook/facebook.php:377 msgid "" "Re-authenticate [This is necessary whenever your Facebook password is " "changed.]" msgstr "" -#: ../../addon/facebook/facebook.php:383 +#: ../../addon/facebook/facebook.php:384 msgid "Post to Facebook by default" msgstr "" -#: ../../addon/facebook/facebook.php:387 +#: ../../addon/facebook/facebook.php:388 msgid "Link all your Facebook friends and conversations on this website" msgstr "" -#: ../../addon/facebook/facebook.php:389 +#: ../../addon/facebook/facebook.php:390 msgid "" "Facebook conversations consist of your <em>profile wall</em> and your friend " "<em>stream</em>." msgstr "" -#: ../../addon/facebook/facebook.php:390 +#: ../../addon/facebook/facebook.php:391 msgid "On this website, your Facebook friend stream is only visible to you." msgstr "" -#: ../../addon/facebook/facebook.php:391 +#: ../../addon/facebook/facebook.php:392 msgid "" "The following settings determine the privacy of your Facebook profile wall " "on this website." msgstr "" -#: ../../addon/facebook/facebook.php:395 +#: ../../addon/facebook/facebook.php:396 msgid "" "On this website your Facebook profile wall conversations will only be " "visible to you" msgstr "" -#: ../../addon/facebook/facebook.php:400 +#: ../../addon/facebook/facebook.php:401 msgid "Do not import your Facebook profile wall conversations" msgstr "" -#: ../../addon/facebook/facebook.php:402 +#: ../../addon/facebook/facebook.php:403 msgid "" "If you choose to link conversations and leave both of these boxes unchecked, " "your Facebook profile wall will be merged with your profile wall on this " @@ -3678,43 +3737,43 @@ msgid "" "who may see the conversations." msgstr "" -#: ../../addon/facebook/facebook.php:407 +#: ../../addon/facebook/facebook.php:408 msgid "Comma separated applications to ignore" msgstr "" -#: ../../addon/facebook/facebook.php:475 +#: ../../addon/facebook/facebook.php:476 #: ../../include/contact_selectors.php:81 msgid "Facebook" msgstr "" -#: ../../addon/facebook/facebook.php:476 +#: ../../addon/facebook/facebook.php:477 msgid "Facebook Connector Settings" msgstr "" -#: ../../addon/facebook/facebook.php:490 +#: ../../addon/facebook/facebook.php:491 msgid "Post to Facebook" msgstr "" -#: ../../addon/facebook/facebook.php:581 +#: ../../addon/facebook/facebook.php:582 msgid "" "Post to Facebook cancelled because of multi-network access permission " "conflict." msgstr "" -#: ../../addon/facebook/facebook.php:650 +#: ../../addon/facebook/facebook.php:651 msgid "Image: " msgstr "" -#: ../../addon/facebook/facebook.php:727 +#: ../../addon/facebook/facebook.php:728 msgid "View on Friendica" msgstr "" -#: ../../addon/facebook/facebook.php:751 +#: ../../addon/facebook/facebook.php:752 msgid "Facebook post failed. Queued for retry." msgstr "" -#: ../../addon/facebook/facebook.php:876 ../../addon/facebook/facebook.php:885 -#: ../../include/bb2diaspora.php:113 +#: ../../addon/facebook/facebook.php:877 ../../addon/facebook/facebook.php:886 +#: ../../include/bb2diaspora.php:132 msgid "link" msgstr "" @@ -3799,7 +3858,7 @@ msgstr "" #: ../../addon/communityhome/communityhome.php:28 #: ../../addon/communityhome/communityhome.php:34 ../../include/nav.php:62 -#: ../../boot.php:706 +#: ../../boot.php:710 msgid "Login" msgstr "" @@ -3824,7 +3883,7 @@ msgid "Last likes" msgstr "" #: ../../addon/communityhome/communityhome.php:155 -#: ../../include/conversation.php:23 ../../include/conversation.php:96 +#: ../../include/conversation.php:45 ../../include/conversation.php:118 msgid "event" msgstr "" @@ -3979,19 +4038,19 @@ msgstr "" msgid "Failed" msgstr "" -#: ../../addon/js_upload/js_upload.php:294 +#: ../../addon/js_upload/js_upload.php:297 msgid "No files were uploaded." msgstr "" -#: ../../addon/js_upload/js_upload.php:300 +#: ../../addon/js_upload/js_upload.php:303 msgid "Uploaded file is empty" msgstr "" -#: ../../addon/js_upload/js_upload.php:323 +#: ../../addon/js_upload/js_upload.php:326 msgid "File has an invalid extension, it should be one of " msgstr "" -#: ../../addon/js_upload/js_upload.php:334 +#: ../../addon/js_upload/js_upload.php:337 msgid "Upload was cancelled, or server error encountered" msgstr "" @@ -4075,6 +4134,48 @@ msgstr "" msgid "blockem settings updated" msgstr "" +#: ../../addon/qcomment/qcomment.php:51 +msgid ":-)" +msgstr "" + +#: ../../addon/qcomment/qcomment.php:51 +msgid ":-(" +msgstr "" + +#: ../../addon/qcomment/qcomment.php:51 +msgid "lol" +msgstr "" + +#: ../../addon/qcomment/qcomment.php:54 +msgid "Quick Comment Settings" +msgstr "" + +#: ../../addon/qcomment/qcomment.php:56 +msgid "Enter quick comments, one per line" +msgstr "" + +#: ../../addon/qcomment/qcomment.php:74 +msgid "Quick Comment settings saved." +msgstr "" + +#: ../../addon/openstreetmap/openstreetmap.php:71 +msgid "Tile Server URL" +msgstr "" + +#: ../../addon/openstreetmap/openstreetmap.php:71 +msgid "" +"A list of <a href=\"http://wiki.openstreetmap.org/wiki/TMS\" target=\"_blank" +"\">public tile servers</a>" +msgstr "" + +#: ../../addon/openstreetmap/openstreetmap.php:72 +msgid "Default zoom" +msgstr "" + +#: ../../addon/openstreetmap/openstreetmap.php:72 +msgid "The default zoom level. (1:world, 18:highest)" +msgstr "" + #: ../../addon/editplain/editplain.php:46 msgid "Editplain settings updated." msgstr "" @@ -4099,44 +4200,44 @@ msgstr "" msgid "View Source" msgstr "" -#: ../../addon/statusnet/statusnet.php:140 +#: ../../addon/statusnet/statusnet.php:134 msgid "Post to StatusNet" msgstr "" -#: ../../addon/statusnet/statusnet.php:182 +#: ../../addon/statusnet/statusnet.php:175 msgid "" "Please contact your site administrator.<br />The provided API URL is not " "valid." msgstr "" -#: ../../addon/statusnet/statusnet.php:210 +#: ../../addon/statusnet/statusnet.php:203 msgid "We could not contact the StatusNet API with the Path you entered." msgstr "" -#: ../../addon/statusnet/statusnet.php:236 +#: ../../addon/statusnet/statusnet.php:229 msgid "StatusNet settings updated." msgstr "" -#: ../../addon/statusnet/statusnet.php:259 +#: ../../addon/statusnet/statusnet.php:252 msgid "StatusNet Posting Settings" msgstr "" -#: ../../addon/statusnet/statusnet.php:273 +#: ../../addon/statusnet/statusnet.php:266 msgid "Globally Available StatusNet OAuthKeys" msgstr "" -#: ../../addon/statusnet/statusnet.php:274 +#: ../../addon/statusnet/statusnet.php:267 msgid "" "There are preconfigured OAuth key pairs for some StatusNet servers " "available. If you are useing one of them, please use these credentials. If " "not feel free to connect to any other StatusNet instance (see below)." msgstr "" -#: ../../addon/statusnet/statusnet.php:282 +#: ../../addon/statusnet/statusnet.php:275 msgid "Provide your own OAuth Credentials" msgstr "" -#: ../../addon/statusnet/statusnet.php:283 +#: ../../addon/statusnet/statusnet.php:276 msgid "" "No consumer key pair for StatusNet found. Register your Friendica Account as " "an desktop client on your StatusNet account, copy the consumer key pair here " @@ -4145,19 +4246,19 @@ msgid "" "installation at your favorited StatusNet installation." msgstr "" -#: ../../addon/statusnet/statusnet.php:285 +#: ../../addon/statusnet/statusnet.php:278 msgid "OAuth Consumer Key" msgstr "" -#: ../../addon/statusnet/statusnet.php:288 +#: ../../addon/statusnet/statusnet.php:281 msgid "OAuth Consumer Secret" msgstr "" -#: ../../addon/statusnet/statusnet.php:291 +#: ../../addon/statusnet/statusnet.php:284 msgid "Base API Path (remember the trailing /)" msgstr "" -#: ../../addon/statusnet/statusnet.php:312 +#: ../../addon/statusnet/statusnet.php:305 msgid "" "To connect to your StatusNet account click the button below to get a " "security code from StatusNet which you have to copy into the input box below " @@ -4165,50 +4266,58 @@ msgid "" "to StatusNet." msgstr "" -#: ../../addon/statusnet/statusnet.php:313 +#: ../../addon/statusnet/statusnet.php:306 msgid "Log in with StatusNet" msgstr "" -#: ../../addon/statusnet/statusnet.php:315 +#: ../../addon/statusnet/statusnet.php:308 msgid "Copy the security code from StatusNet here" msgstr "" -#: ../../addon/statusnet/statusnet.php:321 +#: ../../addon/statusnet/statusnet.php:314 msgid "Cancel Connection Process" msgstr "" -#: ../../addon/statusnet/statusnet.php:323 +#: ../../addon/statusnet/statusnet.php:316 msgid "Current StatusNet API is" msgstr "" -#: ../../addon/statusnet/statusnet.php:324 +#: ../../addon/statusnet/statusnet.php:317 msgid "Cancel StatusNet Connection" msgstr "" -#: ../../addon/statusnet/statusnet.php:335 ../../addon/twitter/twitter.php:189 +#: ../../addon/statusnet/statusnet.php:328 ../../addon/twitter/twitter.php:184 msgid "Currently connected to: " msgstr "" -#: ../../addon/statusnet/statusnet.php:336 +#: ../../addon/statusnet/statusnet.php:329 msgid "" "If enabled all your <strong>public</strong> postings can be posted to the " "associated StatusNet account. You can choose to do so by default (here) or " "for every posting separately in the posting options when writing the entry." msgstr "" -#: ../../addon/statusnet/statusnet.php:338 +#: ../../addon/statusnet/statusnet.php:331 +msgid "" +"<strong>Note</strong>: Due your privacy settings (<em>Hide your profile " +"details from unknown viewers?</em>) the link potentially included in public " +"postings relayed to StatusNet will lead the visitor to a blank page " +"informing the visitor that the access to your profile has been restricted." +msgstr "" + +#: ../../addon/statusnet/statusnet.php:334 msgid "Allow posting to StatusNet" msgstr "" -#: ../../addon/statusnet/statusnet.php:341 +#: ../../addon/statusnet/statusnet.php:337 msgid "Send public postings to StatusNet by default" msgstr "" -#: ../../addon/statusnet/statusnet.php:346 ../../addon/twitter/twitter.php:200 +#: ../../addon/statusnet/statusnet.php:342 ../../addon/twitter/twitter.php:198 msgid "Clear OAuth configuration" msgstr "" -#: ../../addon/statusnet/statusnet.php:487 +#: ../../addon/statusnet/statusnet.php:524 msgid "API URL" msgstr "" @@ -4276,13 +4385,33 @@ msgstr "" msgid "Post to WordPress by default" msgstr "" -#: ../../addon/piwik/piwik.php:70 +#: ../../addon/showmore/showmore.php:38 +msgid "\"Show more\" Settings" +msgstr "" + +#: ../../addon/showmore/showmore.php:41 +msgid "Enable Show More" +msgstr "" + +#: ../../addon/showmore/showmore.php:44 +msgid "Cutting posts after how much characters" +msgstr "" + +#: ../../addon/showmore/showmore.php:64 +msgid "Show More Settings saved." +msgstr "" + +#: ../../addon/showmore/showmore.php:86 +msgid "Show More" +msgstr "" + +#: ../../addon/piwik/piwik.php:79 msgid "" "This website is tracked using the <a href='http://www.piwik.org'>Piwik</a> " "analytics tool." msgstr "" -#: ../../addon/piwik/piwik.php:73 +#: ../../addon/piwik/piwik.php:82 #, php-format msgid "" "If you do not want that your visits are logged this way you <a href='%s'>can " @@ -4290,37 +4419,47 @@ msgid "" "(opt-out)." msgstr "" -#: ../../addon/piwik/piwik.php:82 +#: ../../addon/piwik/piwik.php:90 msgid "Piwik Base URL" msgstr "" -#: ../../addon/piwik/piwik.php:83 +#: ../../addon/piwik/piwik.php:90 +msgid "" +"Absolute path to your Piwik installation. (without protocol (http/s), with " +"trailing slash)" +msgstr "" + +#: ../../addon/piwik/piwik.php:91 msgid "Site ID" msgstr "" -#: ../../addon/piwik/piwik.php:84 +#: ../../addon/piwik/piwik.php:92 msgid "Show opt-out cookie link?" msgstr "" -#: ../../addon/twitter/twitter.php:78 +#: ../../addon/piwik/piwik.php:93 +msgid "Asynchronous tracking" +msgstr "" + +#: ../../addon/twitter/twitter.php:73 msgid "Post to Twitter" msgstr "" -#: ../../addon/twitter/twitter.php:124 +#: ../../addon/twitter/twitter.php:119 msgid "Twitter settings updated." msgstr "" -#: ../../addon/twitter/twitter.php:146 +#: ../../addon/twitter/twitter.php:141 msgid "Twitter Posting Settings" msgstr "" -#: ../../addon/twitter/twitter.php:153 +#: ../../addon/twitter/twitter.php:148 msgid "" "No consumer key pair for Twitter found. Please contact your site " "administrator." msgstr "" -#: ../../addon/twitter/twitter.php:172 +#: ../../addon/twitter/twitter.php:167 msgid "" "At this Friendica instance the Twitter plugin was enabled but you have not " "yet connected your account to your Twitter account. To do so click the " @@ -4329,34 +4468,42 @@ msgid "" "be posted to Twitter." msgstr "" -#: ../../addon/twitter/twitter.php:173 +#: ../../addon/twitter/twitter.php:168 msgid "Log in with Twitter" msgstr "" -#: ../../addon/twitter/twitter.php:175 +#: ../../addon/twitter/twitter.php:170 msgid "Copy the PIN from Twitter here" msgstr "" -#: ../../addon/twitter/twitter.php:190 +#: ../../addon/twitter/twitter.php:185 msgid "" "If enabled all your <strong>public</strong> postings can be posted to the " "associated Twitter account. You can choose to do so by default (here) or for " "every posting separately in the posting options when writing the entry." msgstr "" -#: ../../addon/twitter/twitter.php:192 +#: ../../addon/twitter/twitter.php:187 +msgid "" +"<strong>Note</strong>: Due your privacy settings (<em>Hide your profile " +"details from unknown viewers?</em>) the link potentially included in public " +"postings relayed to Twitter will lead the visitor to a blank page informing " +"the visitor that the access to your profile has been restricted." +msgstr "" + +#: ../../addon/twitter/twitter.php:190 msgid "Allow posting to Twitter" msgstr "" -#: ../../addon/twitter/twitter.php:195 +#: ../../addon/twitter/twitter.php:193 msgid "Send public postings to Twitter by default" msgstr "" -#: ../../addon/twitter/twitter.php:317 +#: ../../addon/twitter/twitter.php:357 msgid "Consumer key" msgstr "" -#: ../../addon/twitter/twitter.php:318 +#: ../../addon/twitter/twitter.php:358 msgid "Consumer secret" msgstr "" @@ -4384,7 +4531,7 @@ msgstr "" msgid "Post to Posterous by default" msgstr "" -#: ../../include/profile_advanced.php:17 ../../boot.php:978 +#: ../../include/profile_advanced.php:17 ../../boot.php:982 msgid "Gender:" msgstr "" @@ -4397,7 +4544,7 @@ msgid "j F" msgstr "" #: ../../include/profile_advanced.php:30 ../../include/datetime.php:438 -#: ../../include/items.php:1318 +#: ../../include/items.php:1349 msgid "Birthday:" msgstr "" @@ -4405,11 +4552,11 @@ msgstr "" msgid "Age:" msgstr "" -#: ../../include/profile_advanced.php:37 ../../boot.php:981 +#: ../../include/profile_advanced.php:37 ../../boot.php:985 msgid "Status:" msgstr "" -#: ../../include/profile_advanced.php:45 ../../boot.php:983 +#: ../../include/profile_advanced.php:45 ../../boot.php:987 msgid "Homepage:" msgstr "" @@ -4745,20 +4892,20 @@ msgstr "" msgid "Ask me" msgstr "" -#: ../../include/event.php:17 ../../include/bb2diaspora.php:255 +#: ../../include/event.php:17 ../../include/bb2diaspora.php:274 msgid "Starts:" msgstr "" -#: ../../include/event.php:27 ../../include/bb2diaspora.php:263 +#: ../../include/event.php:27 ../../include/bb2diaspora.php:282 msgid "Finishes:" msgstr "" -#: ../../include/delivery.php:416 ../../include/notifier.php:629 +#: ../../include/delivery.php:424 ../../include/notifier.php:637 msgid "(no subject)" msgstr "" -#: ../../include/delivery.php:423 ../../include/enotify.php:16 -#: ../../include/notifier.php:636 +#: ../../include/delivery.php:431 ../../include/enotify.php:16 +#: ../../include/notifier.php:644 msgid "noreply" msgstr "" @@ -4793,91 +4940,91 @@ msgstr[1] "" msgid "Search" msgstr "" -#: ../../include/text.php:735 +#: ../../include/text.php:813 msgid "Monday" msgstr "" -#: ../../include/text.php:735 +#: ../../include/text.php:813 msgid "Tuesday" msgstr "" -#: ../../include/text.php:735 +#: ../../include/text.php:813 msgid "Wednesday" msgstr "" -#: ../../include/text.php:735 +#: ../../include/text.php:813 msgid "Thursday" msgstr "" -#: ../../include/text.php:735 +#: ../../include/text.php:813 msgid "Friday" msgstr "" -#: ../../include/text.php:735 +#: ../../include/text.php:813 msgid "Saturday" msgstr "" -#: ../../include/text.php:735 +#: ../../include/text.php:813 msgid "Sunday" msgstr "" -#: ../../include/text.php:739 +#: ../../include/text.php:817 msgid "January" msgstr "" -#: ../../include/text.php:739 +#: ../../include/text.php:817 msgid "February" msgstr "" -#: ../../include/text.php:739 +#: ../../include/text.php:817 msgid "March" msgstr "" -#: ../../include/text.php:739 +#: ../../include/text.php:817 msgid "April" msgstr "" -#: ../../include/text.php:739 +#: ../../include/text.php:817 msgid "May" msgstr "" -#: ../../include/text.php:739 +#: ../../include/text.php:817 msgid "June" msgstr "" -#: ../../include/text.php:739 +#: ../../include/text.php:817 msgid "July" msgstr "" -#: ../../include/text.php:739 +#: ../../include/text.php:817 msgid "August" msgstr "" -#: ../../include/text.php:739 +#: ../../include/text.php:817 msgid "September" msgstr "" -#: ../../include/text.php:739 +#: ../../include/text.php:817 msgid "October" msgstr "" -#: ../../include/text.php:739 +#: ../../include/text.php:817 msgid "November" msgstr "" -#: ../../include/text.php:739 +#: ../../include/text.php:817 msgid "December" msgstr "" -#: ../../include/text.php:809 +#: ../../include/text.php:887 msgid "bytes" msgstr "" -#: ../../include/text.php:901 +#: ../../include/text.php:982 msgid "Select an alternate language" msgstr "" -#: ../../include/text.php:913 +#: ../../include/text.php:994 msgid "default" msgstr "" @@ -4885,11 +5032,11 @@ msgstr "" msgid "Sharing notification from Diaspora network" msgstr "" -#: ../../include/diaspora.php:1895 +#: ../../include/diaspora.php:1911 msgid "Attachments:" msgstr "" -#: ../../include/diaspora.php:2078 +#: ../../include/diaspora.php:2094 #, php-format msgid "[Relayed] Comment authored by %s from network %s" msgstr "" @@ -4929,7 +5076,7 @@ msgstr "" msgid "Create a new group" msgstr "" -#: ../../include/nav.php:44 ../../boot.php:705 +#: ../../include/nav.php:44 ../../boot.php:709 msgid "Logout" msgstr "" @@ -4937,7 +5084,7 @@ msgstr "" msgid "End this session" msgstr "" -#: ../../include/nav.php:47 ../../boot.php:1327 +#: ../../include/nav.php:47 ../../boot.php:1331 msgid "Status" msgstr "" @@ -4949,7 +5096,7 @@ msgstr "" msgid "Your profile page" msgstr "" -#: ../../include/nav.php:49 ../../boot.php:1337 +#: ../../include/nav.php:49 ../../boot.php:1341 msgid "Photos" msgstr "" @@ -5021,39 +5168,43 @@ msgstr "" msgid "See all notifications" msgstr "" -#: ../../include/nav.php:123 +#: ../../include/nav.php:120 +msgid "Mark all system notifications seen" +msgstr "" + +#: ../../include/nav.php:124 msgid "Private mail" msgstr "" -#: ../../include/nav.php:126 +#: ../../include/nav.php:127 msgid "Manage" msgstr "" -#: ../../include/nav.php:126 +#: ../../include/nav.php:127 msgid "Manage other pages" msgstr "" -#: ../../include/nav.php:130 ../../boot.php:936 +#: ../../include/nav.php:131 ../../boot.php:940 msgid "Profiles" msgstr "" -#: ../../include/nav.php:130 ../../boot.php:936 +#: ../../include/nav.php:131 ../../boot.php:940 msgid "Manage/edit profiles" msgstr "" -#: ../../include/nav.php:131 +#: ../../include/nav.php:132 msgid "Manage/edit friends and contacts" msgstr "" -#: ../../include/nav.php:138 +#: ../../include/nav.php:139 msgid "Admin" msgstr "" -#: ../../include/nav.php:138 +#: ../../include/nav.php:139 msgid "Site setup and configuration" msgstr "" -#: ../../include/nav.php:161 +#: ../../include/nav.php:162 msgid "Nothing new here" msgstr "" @@ -5185,11 +5336,15 @@ msgstr "" msgid "%1$d %2$s ago" msgstr "" -#: ../../include/poller.php:459 +#: ../../include/poller.php:474 msgid "From: " msgstr "" -#: ../../include/bbcode.php:166 ../../include/bbcode.php:225 +#: ../../include/bbcode.php:202 +msgid "$1 wrote:" +msgstr "" + +#: ../../include/bbcode.php:216 ../../include/bbcode.php:282 msgid "Image/photo" msgstr "" @@ -5237,6 +5392,15 @@ msgstr "" msgid "%s sent you a new private message at %s." msgstr "" +#: ../../include/enotify.php:31 +#, php-format +msgid "%s sent you %s." +msgstr "" + +#: ../../include/enotify.php:31 +msgid "a private message" +msgstr "" + #: ../../include/enotify.php:32 #, php-format msgid "Please visit %s to view and/or reply to your private messages." @@ -5252,84 +5416,138 @@ msgstr "" msgid "%s commented on an item/conversation you have been following." msgstr "" -#: ../../include/enotify.php:42 ../../include/enotify.php:51 -#: ../../include/enotify.php:60 ../../include/enotify.php:69 +#: ../../include/enotify.php:42 +#, php-format +msgid "%s commented in %s." +msgstr "" + +#: ../../include/enotify.php:42 +msgid "a watched conversation" +msgstr "" + +#: ../../include/enotify.php:44 ../../include/enotify.php:54 +#: ../../include/enotify.php:64 ../../include/enotify.php:74 #, php-format msgid "Please visit %s to view and/or reply to the conversation." msgstr "" -#: ../../include/enotify.php:49 +#: ../../include/enotify.php:51 #, php-format msgid "%s posted to your profile wall at %s" msgstr "" -#: ../../include/enotify.php:58 +#: ../../include/enotify.php:52 +#, php-format +msgid "%s posted to %s" +msgstr "" + +#: ../../include/enotify.php:52 +msgid "your profile wall." +msgstr "" + +#: ../../include/enotify.php:61 #, php-format msgid "%s tagged you at %s" msgstr "" -#: ../../include/enotify.php:67 +#: ../../include/enotify.php:62 +#, php-format +msgid "%s %s." +msgstr "" + +#: ../../include/enotify.php:62 +msgid "tagged you" +msgstr "" + +#: ../../include/enotify.php:71 #, php-format msgid "%s tagged your post at %s" msgstr "" -#: ../../include/enotify.php:76 +#: ../../include/enotify.php:72 +#, php-format +msgid "%s tagged %s" +msgstr "" + +#: ../../include/enotify.php:72 +msgid "your post" +msgstr "" + +#: ../../include/enotify.php:81 #, php-format msgid "Introduction received at %s" msgstr "" -#: ../../include/enotify.php:77 +#: ../../include/enotify.php:82 #, php-format msgid "You've received an introduction from '%s' at %s" msgstr "" -#: ../../include/enotify.php:78 ../../include/enotify.php:91 +#: ../../include/enotify.php:83 +#, php-format +msgid "You've received %s from %s." +msgstr "" + +#: ../../include/enotify.php:83 +msgid "an introduction" +msgstr "" + +#: ../../include/enotify.php:84 ../../include/enotify.php:101 #, php-format msgid "You may visit their profile at %s" msgstr "" -#: ../../include/enotify.php:80 +#: ../../include/enotify.php:86 #, php-format msgid "Please visit %s to approve or reject the introduction." msgstr "" -#: ../../include/enotify.php:87 +#: ../../include/enotify.php:93 #, php-format msgid "Friend suggestion received at %s" msgstr "" -#: ../../include/enotify.php:88 +#: ../../include/enotify.php:94 #, php-format msgid "You've received a friend suggestion from '%s' at %s" msgstr "" -#: ../../include/enotify.php:89 +#: ../../include/enotify.php:95 +#, php-format +msgid "You've received %s for %s from %s." +msgstr "" + +#: ../../include/enotify.php:96 +msgid "a friend suggestion" +msgstr "" + +#: ../../include/enotify.php:99 msgid "Name:" msgstr "" -#: ../../include/enotify.php:90 +#: ../../include/enotify.php:100 msgid "Photo:" msgstr "" -#: ../../include/enotify.php:93 +#: ../../include/enotify.php:103 #, php-format msgid "Please visit %s to approve or reject the suggestion." msgstr "" -#: ../../include/items.php:2450 +#: ../../include/items.php:2511 msgid "A new person is sharing with you at " msgstr "" -#: ../../include/items.php:2450 +#: ../../include/items.php:2511 msgid "You have a new follower at " msgstr "" -#: ../../include/bb2diaspora.php:64 +#: ../../include/bb2diaspora.php:83 msgid "view full size" msgstr "" -#: ../../include/bb2diaspora.php:113 ../../include/bb2diaspora.php:123 -#: ../../include/bb2diaspora.php:124 +#: ../../include/bb2diaspora.php:132 ../../include/bb2diaspora.php:142 +#: ../../include/bb2diaspora.php:143 msgid "image/photo" msgstr "" @@ -5345,282 +5563,282 @@ msgstr "" msgid "Welcome back " msgstr "" -#: ../../include/Contact.php:131 ../../include/conversation.php:744 +#: ../../include/Contact.php:131 ../../include/conversation.php:769 msgid "View status" msgstr "" -#: ../../include/Contact.php:132 ../../include/conversation.php:745 +#: ../../include/Contact.php:132 ../../include/conversation.php:770 msgid "View profile" msgstr "" -#: ../../include/Contact.php:133 ../../include/conversation.php:746 +#: ../../include/Contact.php:133 ../../include/conversation.php:771 msgid "View photos" msgstr "" #: ../../include/Contact.php:134 ../../include/Contact.php:147 -#: ../../include/conversation.php:747 +#: ../../include/conversation.php:772 msgid "View recent" msgstr "" #: ../../include/Contact.php:136 ../../include/Contact.php:147 -#: ../../include/conversation.php:749 +#: ../../include/conversation.php:774 msgid "Send PM" msgstr "" -#: ../../include/conversation.php:141 +#: ../../include/conversation.php:163 msgid "post/item" msgstr "" -#: ../../include/conversation.php:142 +#: ../../include/conversation.php:164 #, php-format msgid "%1$s marked %2$s's %3$s as favorite" msgstr "" -#: ../../include/conversation.php:279 ../../include/conversation.php:535 +#: ../../include/conversation.php:301 ../../include/conversation.php:562 msgid "Select" msgstr "" -#: ../../include/conversation.php:294 ../../include/conversation.php:623 -#: ../../include/conversation.php:624 +#: ../../include/conversation.php:316 ../../include/conversation.php:648 +#: ../../include/conversation.php:649 #, php-format msgid "View %s's profile @ %s" msgstr "" -#: ../../include/conversation.php:303 ../../include/conversation.php:635 +#: ../../include/conversation.php:325 ../../include/conversation.php:660 #, php-format msgid "%s from %s" msgstr "" -#: ../../include/conversation.php:319 +#: ../../include/conversation.php:341 msgid "View in context" msgstr "" -#: ../../include/conversation.php:434 +#: ../../include/conversation.php:456 #, php-format msgid "%d comment" msgid_plural "%d comments" msgstr[0] "" msgstr[1] "" -#: ../../include/conversation.php:437 ../../boot.php:444 +#: ../../include/conversation.php:459 ../../boot.php:448 msgid "show more" msgstr "" -#: ../../include/conversation.php:497 +#: ../../include/conversation.php:519 msgid "like" msgstr "" -#: ../../include/conversation.php:498 +#: ../../include/conversation.php:520 msgid "dislike" msgstr "" -#: ../../include/conversation.php:500 +#: ../../include/conversation.php:522 msgid "Share this" msgstr "" -#: ../../include/conversation.php:500 +#: ../../include/conversation.php:522 msgid "share" msgstr "" -#: ../../include/conversation.php:545 +#: ../../include/conversation.php:572 msgid "add star" msgstr "" -#: ../../include/conversation.php:546 +#: ../../include/conversation.php:573 msgid "remove star" msgstr "" -#: ../../include/conversation.php:547 +#: ../../include/conversation.php:574 msgid "toggle star status" msgstr "" -#: ../../include/conversation.php:550 +#: ../../include/conversation.php:577 msgid "starred" msgstr "" -#: ../../include/conversation.php:551 +#: ../../include/conversation.php:578 msgid "add tag" msgstr "" -#: ../../include/conversation.php:625 +#: ../../include/conversation.php:650 msgid "to" msgstr "" -#: ../../include/conversation.php:626 +#: ../../include/conversation.php:651 msgid "Wall-to-Wall" msgstr "" -#: ../../include/conversation.php:627 +#: ../../include/conversation.php:652 msgid "via Wall-To-Wall:" msgstr "" -#: ../../include/conversation.php:669 +#: ../../include/conversation.php:694 msgid "Delete Selected Items" msgstr "" -#: ../../include/conversation.php:801 +#: ../../include/conversation.php:826 #, php-format msgid "%s likes this." msgstr "" -#: ../../include/conversation.php:801 +#: ../../include/conversation.php:826 #, php-format msgid "%s doesn't like this." msgstr "" -#: ../../include/conversation.php:805 +#: ../../include/conversation.php:830 #, php-format msgid "<span %1$s>%2$d people</span> like this." msgstr "" -#: ../../include/conversation.php:807 +#: ../../include/conversation.php:832 #, php-format msgid "<span %1$s>%2$d people</span> don't like this." msgstr "" -#: ../../include/conversation.php:813 +#: ../../include/conversation.php:838 msgid "and" msgstr "" -#: ../../include/conversation.php:816 +#: ../../include/conversation.php:841 #, php-format msgid ", and %d other people" msgstr "" -#: ../../include/conversation.php:817 +#: ../../include/conversation.php:842 #, php-format msgid "%s like this." msgstr "" -#: ../../include/conversation.php:817 +#: ../../include/conversation.php:842 #, php-format msgid "%s don't like this." msgstr "" -#: ../../include/conversation.php:842 +#: ../../include/conversation.php:867 msgid "Visible to <strong>everybody</strong>" msgstr "" -#: ../../include/conversation.php:844 +#: ../../include/conversation.php:869 msgid "Please enter a video link/URL:" msgstr "" -#: ../../include/conversation.php:845 +#: ../../include/conversation.php:870 msgid "Please enter an audio link/URL:" msgstr "" -#: ../../include/conversation.php:846 +#: ../../include/conversation.php:871 msgid "Tag term:" msgstr "" -#: ../../include/conversation.php:847 +#: ../../include/conversation.php:872 msgid "Where are you right now?" msgstr "" -#: ../../include/conversation.php:848 +#: ../../include/conversation.php:873 msgid "Enter a title for this item" msgstr "" -#: ../../include/conversation.php:891 +#: ../../include/conversation.php:916 msgid "upload photo" msgstr "" -#: ../../include/conversation.php:893 +#: ../../include/conversation.php:918 msgid "attach file" msgstr "" -#: ../../include/conversation.php:895 +#: ../../include/conversation.php:920 msgid "web link" msgstr "" -#: ../../include/conversation.php:896 +#: ../../include/conversation.php:921 msgid "Insert video link" msgstr "" -#: ../../include/conversation.php:897 +#: ../../include/conversation.php:922 msgid "video link" msgstr "" -#: ../../include/conversation.php:898 +#: ../../include/conversation.php:923 msgid "Insert audio link" msgstr "" -#: ../../include/conversation.php:899 +#: ../../include/conversation.php:924 msgid "audio link" msgstr "" -#: ../../include/conversation.php:901 +#: ../../include/conversation.php:926 msgid "set location" msgstr "" -#: ../../include/conversation.php:903 +#: ../../include/conversation.php:928 msgid "clear location" msgstr "" -#: ../../include/conversation.php:908 +#: ../../include/conversation.php:933 msgid "permissions" msgstr "" -#: ../../boot.php:442 +#: ../../boot.php:446 msgid "Delete this item?" msgstr "" -#: ../../boot.php:445 +#: ../../boot.php:449 msgid "show fewer" msgstr "" -#: ../../boot.php:688 +#: ../../boot.php:692 msgid "Create a New Account" msgstr "" -#: ../../boot.php:708 +#: ../../boot.php:712 msgid "Nickname or Email address: " msgstr "" -#: ../../boot.php:709 +#: ../../boot.php:713 msgid "Password: " msgstr "" -#: ../../boot.php:712 +#: ../../boot.php:716 msgid "Or login using OpenID: " msgstr "" -#: ../../boot.php:718 +#: ../../boot.php:722 msgid "Forgot your password?" msgstr "" -#: ../../boot.php:875 +#: ../../boot.php:879 msgid "Edit profile" msgstr "" -#: ../../boot.php:1042 ../../boot.php:1113 +#: ../../boot.php:1046 ../../boot.php:1117 msgid "g A l F d" msgstr "" -#: ../../boot.php:1043 ../../boot.php:1114 +#: ../../boot.php:1047 ../../boot.php:1118 msgid "F d" msgstr "" -#: ../../boot.php:1068 +#: ../../boot.php:1072 msgid "Birthday Reminders" msgstr "" -#: ../../boot.php:1069 +#: ../../boot.php:1073 msgid "Birthdays this week:" msgstr "" -#: ../../boot.php:1092 ../../boot.php:1156 +#: ../../boot.php:1096 ../../boot.php:1160 msgid "[today]" msgstr "" -#: ../../boot.php:1137 +#: ../../boot.php:1141 msgid "Event Reminders" msgstr "" -#: ../../boot.php:1138 +#: ../../boot.php:1142 msgid "Events this week:" msgstr "" -#: ../../boot.php:1150 +#: ../../boot.php:1154 msgid "[No description]" msgstr "" diff --git a/util/strings.php b/util/strings.php index d0e36217b..e70766d86 100755 --- a/util/strings.php +++ b/util/strings.php @@ -2,39 +2,42 @@ ; $a->strings["Post successful."] = ""; +$a->strings["[Embedded content - reload page to view]"] = ""; $a->strings["Contact settings applied."] = ""; $a->strings["Contact update failed."] = ""; $a->strings["Permission denied."] = ""; $a->strings["Contact not found."] = ""; $a->strings["Repair Contact Settings"] = ""; -$a->strings["<strong>WARNING: This is highly advanced</strong> and if you enter incorrect information your communications with this contact will stop working."] = ""; +$a->strings["<strong>WARNING: This is highly advanced</strong> and if you enter incorrect information your communications with this contact may stop working."] = ""; $a->strings["Please use your browser 'Back' button <strong>now</strong> if you are uncertain what to do on this page."] = ""; +$a->strings["Return to contact editor"] = ""; $a->strings["Name"] = ""; $a->strings["Account Nickname"] = ""; +$a->strings["@Tagname - overrides Name/Nickname"] = ""; $a->strings["Account URL"] = ""; $a->strings["Friend Request URL"] = ""; $a->strings["Friend Confirm URL"] = ""; $a->strings["Notification Endpoint URL"] = ""; $a->strings["Poll/Feed URL"] = ""; +$a->strings["New photo from this URL"] = ""; $a->strings["Submit"] = ""; $a->strings["Help:"] = ""; $a->strings["Help"] = ""; +$a->strings["Not Found"] = ""; +$a->strings["Page not found."] = ""; $a->strings["File exceeds size limit of %d"] = ""; $a->strings["File upload failed."] = ""; $a->strings["Friend suggestion sent."] = ""; $a->strings["Suggest Friends"] = ""; $a->strings["Suggest a friend for %s"] = ""; -$a->strings["Status"] = ""; -$a->strings["Profile"] = ""; -$a->strings["Photos"] = ""; +$a->strings["Event description and start time are required."] = ""; +$a->strings["l, F j"] = ""; +$a->strings["Edit event"] = ""; +$a->strings["link to source"] = ""; $a->strings["Events"] = ""; -$a->strings["Personal Notes"] = ""; $a->strings["Create New Event"] = ""; $a->strings["Previous"] = ""; $a->strings["Next"] = ""; -$a->strings["l, F j"] = ""; -$a->strings["Edit event"] = ""; -$a->strings["link to source"] = ""; $a->strings["hour:minute"] = ""; $a->strings["Event details"] = ""; $a->strings["Format is %s %s. Starting date and Description are required."] = ""; @@ -51,8 +54,15 @@ $a->strings["Remove Item Tag"] = ""; $a->strings["Select a tag to remove: "] = ""; $a->strings["Remove"] = ""; $a->strings["%s welcomes %s"] = ""; +$a->strings["Authorize application connection"] = ""; +$a->strings["Return to your app and insert this Securty Code:"] = ""; +$a->strings["Please login to continue."] = ""; +$a->strings["Do you want to authorize this application to access your posts and contacts, and/or create new posts for you?"] = ""; +$a->strings["Yes"] = ""; +$a->strings["No"] = ""; $a->strings["Photo Albums"] = ""; $a->strings["Contact Photos"] = ""; +$a->strings["Upload New Photos"] = ""; $a->strings["everybody"] = ""; $a->strings["Contact information unavailable"] = ""; $a->strings["Profile Photos"] = ""; @@ -72,10 +82,13 @@ $a->strings["Access to this item is restricted."] = ""; $a->strings["Upload Photos"] = ""; $a->strings["New album name: "] = ""; $a->strings["or existing album name: "] = ""; +$a->strings["Do not show a status post for this upload"] = ""; $a->strings["Permissions"] = ""; $a->strings["Edit Album"] = ""; $a->strings["View Photo"] = ""; +$a->strings["Permission denied. Access to this item may be restricted."] = ""; $a->strings["Photo not available"] = ""; +$a->strings["View photo"] = ""; $a->strings["Edit photo"] = ""; $a->strings["Use as profile photo"] = ""; $a->strings["Private Message"] = ""; @@ -92,14 +105,20 @@ $a->strings["Share"] = ""; $a->strings["Please wait"] = ""; $a->strings["This is you"] = ""; $a->strings["Comment"] = ""; +$a->strings["Preview"] = ""; $a->strings["Delete"] = ""; -$a->strings["Recent Photos"] = ""; -$a->strings["Upload New Photos"] = ""; $a->strings["View Album"] = ""; +$a->strings["Recent Photos"] = ""; $a->strings["Not available."] = ""; $a->strings["Community"] = ""; $a->strings["No results."] = ""; -$a->strings["Shared content is covered by the <a href=\"http://creativecommons.org/licenses/by/3.0/\">Creative Commons Attribution 3.0</a> license."] = ""; +$a->strings["This is Friendica, version"] = ""; +$a->strings["running at web location"] = ""; +$a->strings["Please visit <a href=\"http://friendica.com\">Friendica.com</a> to learn more about the Friendica project."] = ""; +$a->strings["Bug reports and issues: please visit"] = ""; +$a->strings["Suggestions, praise, donations, etc. - please email \"Info\" at Friendica - dot com"] = ""; +$a->strings["Installed plugins/addons/apps"] = ""; +$a->strings["No installed plugins/addons/apps"] = ""; $a->strings["Item not found"] = ""; $a->strings["Edit post"] = ""; $a->strings["Post to Email"] = ""; @@ -115,6 +134,7 @@ $a->strings["Clear browser location"] = ""; $a->strings["Permission settings"] = ""; $a->strings["CC: email addresses"] = ""; $a->strings["Public post"] = ""; +$a->strings["Set title"] = ""; $a->strings["Example: bob@example.com, mary@example.com"] = ""; $a->strings["This introduction has already been accepted."] = ""; $a->strings["Profile location is not valid or does not contain profile information."] = ""; @@ -144,49 +164,59 @@ $a->strings["Welcome home %s."] = ""; $a->strings["Please confirm your introduction/connection request to %s."] = ""; $a->strings["Confirm"] = ""; $a->strings["[Name Withheld]"] = ""; -$a->strings["Introduction received at "] = ""; -$a->strings["Administrator"] = ""; +$a->strings["Diaspora members: Please do not use this form. Instead, enter \"%s\" into your Diaspora search bar."] = ""; +$a->strings["Please enter your 'Identity Address' from one of the following supported social networks:"] = ""; $a->strings["Friend/Connection Request"] = ""; -$a->strings["Examples: jojo@demo.friendika.com, http://demo.friendika.com/profile/jojo, testuser@identi.ca"] = ""; +$a->strings["Examples: jojo@demo.friendica.com, http://demo.friendica.com/profile/jojo, testuser@identi.ca"] = ""; $a->strings["Please answer the following:"] = ""; $a->strings["Does %s know you?"] = ""; -$a->strings["Yes"] = ""; -$a->strings["No"] = ""; $a->strings["Add a personal note:"] = ""; -$a->strings["Please enter your 'Identity Address' from one of the following supported social networks:"] = ""; -$a->strings["Friendika"] = ""; +$a->strings["Friendica"] = ""; $a->strings["StatusNet/Federated Social Web"] = ""; -$a->strings["Private (secure) network"] = ""; -$a->strings["Public (insecure) network"] = ""; +$a->strings["Diaspora"] = ""; +$a->strings["- please share from your own site as noted above"] = ""; $a->strings["Your Identity Address:"] = ""; $a->strings["Submit Request"] = ""; -$a->strings["Could not create/connect to database."] = ""; -$a->strings["Connected to database."] = ""; -$a->strings["Proceed with Installation"] = ""; -$a->strings["Your Friendika site database has been installed."] = ""; +$a->strings["Friendica Social Communications Server - Setup"] = ""; +$a->strings["Database connection"] = ""; +$a->strings["Could not connect to database."] = ""; +$a->strings["Could not create table."] = ""; +$a->strings["Your Friendica site database has been installed."] = ""; $a->strings["IMPORTANT: You will need to [manually] setup a scheduled task for the poller."] = ""; $a->strings["Please see the file \"INSTALL.txt\"."] = ""; $a->strings["Proceed to registration"] = ""; -$a->strings["Database import failed."] = ""; +$a->strings["Proceed with Installation"] = ""; $a->strings["You may need to import the file \"database.sql\" manually using phpmyadmin or mysql."] = ""; -$a->strings["Welcome to Friendika."] = ""; -$a->strings["Friendika Social Network"] = ""; -$a->strings["Installation"] = ""; -$a->strings["In order to install Friendika we need to know how to connect to your database."] = ""; +$a->strings["Database import failed."] = ""; +$a->strings["System check"] = ""; +$a->strings["Check again"] = ""; +$a->strings["In order to install Friendica we need to know how to connect to your database."] = ""; $a->strings["Please contact your hosting provider or site administrator if you have questions about these settings."] = ""; $a->strings["The database you specify below should already exist. If it does not, please create it before continuing."] = ""; $a->strings["Database Server Name"] = ""; $a->strings["Database Login Name"] = ""; $a->strings["Database Login Password"] = ""; $a->strings["Database Name"] = ""; +$a->strings["Site administrator email address"] = ""; +$a->strings["Your account email address must match this in order to use the web admin panel."] = ""; $a->strings["Please select a default timezone for your website"] = ""; -$a->strings["Site administrator email address. Your account email address must match this in order to use the web admin panel."] = ""; +$a->strings["Site settings"] = ""; $a->strings["Could not find a command line version of PHP in the web server PATH."] = ""; -$a->strings["This is required. Please adjust the configuration file .htconfig.php accordingly."] = ""; +$a->strings["PHP executable path"] = ""; +$a->strings["Enter full path to php executable"] = ""; +$a->strings["Command line PHP"] = ""; $a->strings["The command line version of PHP on your system does not have \"register_argc_argv\" enabled."] = ""; $a->strings["This is required for message delivery to work."] = ""; +$a->strings["PHP \"register_argc_argv\""] = ""; $a->strings["Error: the \"openssl_pkey_new\" function on this system is not able to generate encryption keys"] = ""; $a->strings["If running under Windows, please see \"http://www.php.net/manual/en/openssl.installation.php\"."] = ""; +$a->strings["Generate encryption keys"] = ""; +$a->strings["libCurl PHP module"] = ""; +$a->strings["GD graphics PHP module"] = ""; +$a->strings["OpenSSL PHP module"] = ""; +$a->strings["mysqli PHP module"] = ""; +$a->strings["mb_string PHP module"] = ""; +$a->strings["Apace mod_rewrite module"] = ""; $a->strings["Error: Apache webserver mod-rewrite module is required but not installed."] = ""; $a->strings["Error: libCURL PHP module required but not installed."] = ""; $a->strings["Error: GD graphics PHP module with JPEG support required but not installed."] = ""; @@ -197,11 +227,20 @@ $a->strings["The web installer needs to be able to create a file called \".htcon $a->strings["This is most often a permission setting, as the web server may not be able to write files in your folder - even if you can."] = ""; $a->strings["Please check with your site documentation or support people to see if this situation can be corrected."] = ""; $a->strings["If not, you may be required to perform a manual installation. Please see the file \"INSTALL.txt\" for instructions."] = ""; +$a->strings[".htconfig.php is writable"] = ""; $a->strings["The database configuration file \".htconfig.php\" could not be written. Please use the enclosed text to create a configuration file in your web server root."] = ""; $a->strings["Errors encountered creating database tables."] = ""; -$a->strings["[Embedded content - reload page to view]"] = ""; +$a->strings["l F d, Y \\@ g:i A"] = ""; +$a->strings["Time Conversion"] = ""; +$a->strings["Friendika provides this service for sharing events with other networks and friends in unknown timezones."] = ""; +$a->strings["UTC time: %s"] = ""; +$a->strings["Current timezone: %s"] = ""; +$a->strings["Converted localtime: %s"] = ""; +$a->strings["Please select your timezone:"] = ""; $a->strings["Profile Match"] = ""; $a->strings["No keywords to match. Please add keywords to your default profile."] = ""; +$a->strings["is interested in:"] = ""; +$a->strings["Connect"] = ""; $a->strings["No matches"] = ""; $a->strings["Remote privacy information not available."] = ""; $a->strings["Visible to:"] = ""; @@ -209,31 +248,45 @@ $a->strings["Welcome to %s"] = ""; $a->strings["Invalid request identifier."] = ""; $a->strings["Discard"] = ""; $a->strings["Ignore"] = ""; -$a->strings["Pending Friend/Connect Notifications"] = ""; +$a->strings["System"] = ""; +$a->strings["Network"] = ""; +$a->strings["Personal"] = ""; +$a->strings["Home"] = ""; +$a->strings["Introductions"] = ""; +$a->strings["Messages"] = ""; $a->strings["Show Ignored Requests"] = ""; $a->strings["Hide Ignored Requests"] = ""; $a->strings["Notification type: "] = ""; $a->strings["Friend Suggestion"] = ""; $a->strings["suggested by %s"] = ""; +$a->strings["Hide this contact from others"] = ""; +$a->strings["Post a new friend activity"] = ""; +$a->strings["if applicable"] = ""; $a->strings["Approve"] = ""; $a->strings["Claims to be known to you: "] = ""; $a->strings["yes"] = ""; $a->strings["no"] = ""; $a->strings["Approve as: "] = ""; $a->strings["Friend"] = ""; +$a->strings["Sharer"] = ""; $a->strings["Fan/Admirer"] = ""; $a->strings["Friend/Connect Request"] = ""; $a->strings["New Follower"] = ""; -$a->strings["No notifications."] = ""; -$a->strings["Invite Friends"] = ""; -$a->strings["%d invitation available"] = array( - 0 => "", - 1 => "", -); -$a->strings["Find People With Shared Interests"] = ""; -$a->strings["Connect/Follow"] = ""; -$a->strings["Example: bob@example.com, http://example.com/barbara"] = ""; -$a->strings["Follow"] = ""; +$a->strings["No introductions."] = ""; +$a->strings["Notifications"] = ""; +$a->strings["%s liked %s's post"] = ""; +$a->strings["%s disliked %s's post"] = ""; +$a->strings["%s is now friends with %s"] = ""; +$a->strings["%s created a new post"] = ""; +$a->strings["%s commented on %s's post"] = ""; +$a->strings["No more network notifications."] = ""; +$a->strings["Network Notifications"] = ""; +$a->strings["No more system notifications."] = ""; +$a->strings["System Notifications"] = ""; +$a->strings["No more personal notifications."] = ""; +$a->strings["Personal Notifications"] = ""; +$a->strings["No more home notifications."] = ""; +$a->strings["Home Notifications"] = ""; $a->strings["Could not access contact record."] = ""; $a->strings["Could not locate selected profile."] = ""; $a->strings["Contact updated."] = ""; @@ -243,48 +296,58 @@ $a->strings["Contact has been ignored"] = ""; $a->strings["Contact has been unignored"] = ""; $a->strings["stopped following"] = ""; $a->strings["Contact has been removed."] = ""; -$a->strings["Mutual Friendship"] = ""; -$a->strings["is a fan of yours"] = ""; -$a->strings["you are a fan of"] = ""; -$a->strings["Privacy Unavailable"] = ""; +$a->strings["You are mutual friends with %s"] = ""; +$a->strings["You are sharing with %s"] = ""; +$a->strings["%s is sharing with you"] = ""; $a->strings["Private communications are not available for this contact."] = ""; $a->strings["Never"] = ""; $a->strings["(Update was successful)"] = ""; $a->strings["(Update was not successful)"] = ""; $a->strings["Suggest friends"] = ""; +$a->strings["Network type: %s"] = ""; +$a->strings["%d contact in common"] = array( + 0 => "", + 1 => "", +); +$a->strings["View all contacts"] = ""; +$a->strings["Unblock"] = ""; +$a->strings["Block"] = ""; +$a->strings["Unignore"] = ""; +$a->strings["Repair"] = ""; $a->strings["Contact Editor"] = ""; $a->strings["Profile Visibility"] = ""; $a->strings["Please choose the profile you would like to display to %s when viewing your profile securely."] = ""; $a->strings["Contact Information / Notes"] = ""; -$a->strings["Online Reputation"] = ""; -$a->strings["Occasionally your friends may wish to inquire about this person's online legitimacy."] = ""; -$a->strings["You may help them choose whether or not to interact with this person by providing a <em>reputation</em> to guide them."] = ""; -$a->strings["Please take a moment to elaborate on this selection if you feel it could be helpful to others."] = ""; +$a->strings["Edit contact notes"] = ""; $a->strings["Visit %s's profile [%s]"] = ""; $a->strings["Block/Unblock contact"] = ""; $a->strings["Ignore contact"] = ""; -$a->strings["Repair contact URL settings"] = ""; -$a->strings["Repair contact URL settings (WARNING: Advanced)"] = ""; +$a->strings["Repair URL settings"] = ""; $a->strings["View conversations"] = ""; $a->strings["Delete contact"] = ""; -$a->strings["Last updated: "] = ""; -$a->strings["Update public posts: "] = ""; +$a->strings["Last update:"] = ""; +$a->strings["Update public posts"] = ""; $a->strings["Update now"] = ""; -$a->strings["Unblock this contact"] = ""; -$a->strings["Block this contact"] = ""; -$a->strings["Unignore this contact"] = ""; -$a->strings["Ignore this contact"] = ""; $a->strings["Currently blocked"] = ""; $a->strings["Currently ignored"] = ""; +$a->strings["Replies/likes to your public posts <strong>may</strong> still be visible"] = ""; +$a->strings["All Contacts"] = ""; +$a->strings["Unblocked Contacts"] = ""; +$a->strings["Blocked Contacts"] = ""; +$a->strings["Ignored Contacts"] = ""; +$a->strings["Hidden Contacts"] = ""; +$a->strings["Mutual Friendship"] = ""; +$a->strings["is a fan of yours"] = ""; +$a->strings["you are a fan of"] = ""; +$a->strings["Edit contact"] = ""; $a->strings["Contacts"] = ""; -$a->strings["Show Blocked Connections"] = ""; -$a->strings["Hide Blocked Connections"] = ""; +$a->strings["Search your contacts"] = ""; $a->strings["Finding: "] = ""; $a->strings["Find"] = ""; -$a->strings["Edit contact"] = ""; $a->strings["No valid account found."] = ""; $a->strings["Password reset request issued. Check your email."] = ""; $a->strings["Password reset requested at %s"] = ""; +$a->strings["Administrator"] = ""; $a->strings["Request could not be verified. (You may have previously submitted it.) Password reset failed."] = ""; $a->strings["Password Reset"] = ""; $a->strings["Your password has been reset as requested."] = ""; @@ -296,20 +359,53 @@ $a->strings["Forgot your Password?"] = ""; $a->strings["Enter your email address and submit to have your password reset. Then check your email for further instructions."] = ""; $a->strings["Nickname or Email: "] = ""; $a->strings["Reset"] = ""; +$a->strings["Missing some important data!"] = ""; +$a->strings["Update"] = ""; +$a->strings["Failed to connect with email account using the settings provided."] = ""; +$a->strings["Email settings updated."] = ""; $a->strings["Passwords do not match. Password unchanged."] = ""; $a->strings["Empty passwords are not allowed. Password unchanged."] = ""; $a->strings["Password changed."] = ""; $a->strings["Password update failed. Please try again."] = ""; -$a->strings["Failed to connect with email account using the settings provided."] = ""; $a->strings[" Please use a shorter name."] = ""; $a->strings[" Name too short."] = ""; $a->strings[" Not valid email."] = ""; $a->strings[" Cannot change to that email."] = ""; $a->strings["Settings updated."] = ""; $a->strings["Account settings"] = ""; +$a->strings["Connector settings"] = ""; $a->strings["Plugin settings"] = ""; +$a->strings["Connections"] = ""; +$a->strings["Export personal data"] = ""; +$a->strings["Add application"] = ""; +$a->strings["Consumer Key"] = ""; +$a->strings["Consumer Secret"] = ""; +$a->strings["Redirect"] = ""; +$a->strings["Icon url"] = ""; +$a->strings["You can't edit this application."] = ""; +$a->strings["Connected Apps"] = ""; +$a->strings["Client key starts with"] = ""; +$a->strings["No name"] = ""; +$a->strings["Remove authorization"] = ""; $a->strings["No Plugin settings configured"] = ""; $a->strings["Plugin Settings"] = ""; +$a->strings["Built-in support for %s connectivity is %s"] = ""; +$a->strings["enabled"] = ""; +$a->strings["disabled"] = ""; +$a->strings["StatusNet"] = ""; +$a->strings["Connector Settings"] = ""; +$a->strings["Email/Mailbox Setup"] = ""; +$a->strings["If you wish to communicate with email contacts using this service (optional), please specify how to connect to your mailbox."] = ""; +$a->strings["Last successful email check:"] = ""; +$a->strings["Email access is disabled on this site."] = ""; +$a->strings["IMAP server name:"] = ""; +$a->strings["IMAP port:"] = ""; +$a->strings["Security:"] = ""; +$a->strings["None"] = ""; +$a->strings["Email login name:"] = ""; +$a->strings["Email password:"] = ""; +$a->strings["Reply-to address:"] = ""; +$a->strings["Send public posts to all email contacts:"] = ""; $a->strings["Normal Account"] = ""; $a->strings["This account is a normal personal profile"] = ""; $a->strings["Soapbox Account"] = ""; @@ -323,12 +419,22 @@ $a->strings["(Optional) Allow this OpenID to login to this account."] = ""; $a->strings["Publish your default profile in your local site directory?"] = ""; $a->strings["Publish your default profile in the global social directory?"] = ""; $a->strings["Hide your contact/friend list from viewers of your default profile?"] = ""; -$a->strings["Hide profile details and all your messages from unknown viewers?"] = ""; +$a->strings["Hide your profile details from unknown viewers?"] = ""; +$a->strings["Allow friends to post to your profile page?"] = ""; +$a->strings["Allow friends to tag your posts?"] = ""; +$a->strings["Allow us to suggest you as a potential friend to new members?"] = ""; $a->strings["Profile is <strong>not published</strong>."] = ""; $a->strings["or"] = ""; $a->strings["Your Identity Address is"] = ""; +$a->strings["Automatically expire posts after this many days:"] = ""; +$a->strings["If empty, posts will not expire. Expired posts will be deleted"] = ""; +$a->strings["Advanced expiration settings"] = ""; +$a->strings["Advanced Expiration"] = ""; +$a->strings["Expire posts:"] = ""; +$a->strings["Expire personal notes:"] = ""; +$a->strings["Expire starred posts:"] = ""; +$a->strings["Expire photos:"] = ""; $a->strings["Account Settings"] = ""; -$a->strings["Export Personal Data"] = ""; $a->strings["Password Settings"] = ""; $a->strings["New Password:"] = ""; $a->strings["Confirm:"] = ""; @@ -340,14 +446,13 @@ $a->strings["Your Timezone:"] = ""; $a->strings["Default Post Location:"] = ""; $a->strings["Use Browser Location:"] = ""; $a->strings["Display Theme:"] = ""; +$a->strings["Update browser every xx seconds"] = ""; +$a->strings["Minimum of 10 seconds, no maximum"] = ""; $a->strings["Security and Privacy Settings"] = ""; $a->strings["Maximum Friend Requests/Day:"] = ""; $a->strings["(to prevent spam abuse)"] = ""; $a->strings["Default Post Permissions"] = ""; $a->strings["(click to open/close)"] = ""; -$a->strings["Allow friends to post to your profile page:"] = ""; -$a->strings["Automatically expire posts after days:"] = ""; -$a->strings["If empty, posts will not expire. Expired posts will be deleted"] = ""; $a->strings["Notification Settings"] = ""; $a->strings["Send a notification email when:"] = ""; $a->strings["You receive an introduction"] = ""; @@ -355,27 +460,21 @@ $a->strings["Your introductions are confirmed"] = ""; $a->strings["Someone writes on your profile wall"] = ""; $a->strings["Someone writes a followup comment"] = ""; $a->strings["You receive a private message"] = ""; -$a->strings["Email/Mailbox Setup"] = ""; -$a->strings["If you wish to communicate with email contacts using this service (optional), please specify how to connect to your mailbox."] = ""; -$a->strings["Last successful email check:"] = ""; -$a->strings["Email access is disabled on this site."] = ""; -$a->strings["IMAP server name:"] = ""; -$a->strings["IMAP port:"] = ""; -$a->strings["Security:"] = ""; -$a->strings["None"] = ""; -$a->strings["Email login name:"] = ""; -$a->strings["Email password:"] = ""; -$a->strings["Reply-to address:"] = ""; -$a->strings["Send public posts to all email contacts:"] = ""; +$a->strings["You receive a friend suggestion"] = ""; +$a->strings["You are tagged in a post"] = ""; $a->strings["Advanced Page Settings"] = ""; -$a->strings["Welcome back %s"] = ""; $a->strings["Manage Identities and/or Pages"] = ""; -$a->strings["(Toggle between different identities or community/group pages which share your account details.)"] = ""; +$a->strings["Toggle between different identities or community/group pages which share your account details or which you have been granted \"manage\" permissions"] = ""; $a->strings["Select an identity to manage: "] = ""; -$a->strings["View Conversations"] = ""; -$a->strings["View New Items"] = ""; -$a->strings["View Any Items"] = ""; -$a->strings["View Starred Items"] = ""; +$a->strings["Search Results For:"] = ""; +$a->strings["Remove term"] = ""; +$a->strings["Saved Searches"] = ""; +$a->strings["add"] = ""; +$a->strings["Commented Order"] = ""; +$a->strings["Posted Order"] = ""; +$a->strings["New"] = ""; +$a->strings["Starred"] = ""; +$a->strings["Bookmarks"] = ""; $a->strings["Warning: This group contains %s member from an insecure network."] = array( 0 => "", 1 => "", @@ -387,19 +486,22 @@ $a->strings["Group: "] = ""; $a->strings["Contact: "] = ""; $a->strings["Private messages to this person are at risk of public disclosure."] = ""; $a->strings["Invalid contact."] = ""; +$a->strings["Personal Notes"] = ""; $a->strings["Save"] = ""; -$a->strings["Welcome to Friendika"] = ""; +$a->strings["Welcome to Friendica"] = ""; $a->strings["New Member Checklist"] = ""; -$a->strings["We would like to offer some tips and links to help make your experience enjoyable. Click any item to visit the relevant page."] = ""; -$a->strings["On your <em>Settings</em> page - change your initial password. Also make a note of your Identity Address. This will be useful in making friends."] = ""; +$a->strings["We would like to offer some tips and links to help make your experience enjoyable. Click any item to visit the relevant page. A link to this page will be visible from your home page for two weeks after your initial registration and then will quietly disappear."] = ""; +$a->strings["On your <em>Settings</em> page - change your initial password. Also make a note of your Identity Address. This looks just like an email address - and will be useful in making friends on the free social web."] = ""; $a->strings["Review the other settings, particularly the privacy settings. An unpublished directory listing is like having an unlisted phone number. In general, you should probably publish your listing - unless all of your friends and potential friends know exactly how to find you."] = ""; $a->strings["Upload a profile photo if you have not done so already. Studies have shown that people with real photos of themselves are ten times more likely to make friends than people who do not."] = ""; $a->strings["Authorise the Facebook Connector if you currently have a Facebook account and we will (optionally) import all your Facebook friends and conversations."] = ""; -$a->strings["Enter your email access information on your Settings page if you wish to import and interact with friends or mailing lists from your email INBOX"] = ""; +$a->strings["<em>If</em> this is your own personal server, installing the Facebook addon may ease your transition to the free social web."] = ""; +$a->strings["Enter your email access information on your Connector Settings page if you wish to import and interact with friends or mailing lists from your email INBOX"] = ""; $a->strings["Edit your <strong>default</strong> profile to your liking. Review the settings for hiding your list of friends and hiding the profile from unknown visitors."] = ""; $a->strings["Set some public keywords for your default profile which describe your interests. We may be able to find other people with similar interests and suggest friendships."] = ""; -$a->strings["Your Contacts page is your gateway to managing friendships and connecting with friends on other networks. Typically you enter their address or site URL in the <em>Connect</em> dialog."] = ""; +$a->strings["Your Contacts page is your gateway to managing friendships and connecting with friends on other networks. Typically you enter their address or site URL in the <em>Add New Contact</em> dialog."] = ""; $a->strings["The Directory page lets you find other people in this network or other federated sites. Look for a <em>Connect</em> or <em>Follow</em> link on their profile page. Provide your own Identity Address if requested."] = ""; +$a->strings["On the side panel of the Contacts page are several tools to find new friends. We can match people by interest, look up people by name or interest, and provide suggestions based on network relationships. On a brand new site, friend suggestions will usually begin to be populated within 24 hours."] = ""; $a->strings["Once you have made some friends, organize them into private conversation groups from the sidebar of your Contacts page and then you can interact with each group privately on your Network page."] = ""; $a->strings["Our <strong>help</strong> pages may be consulted for detail on other program features and resources."] = ""; $a->strings["Item not available."] = ""; @@ -416,13 +518,13 @@ $a->strings["Unable to remove group."] = ""; $a->strings["Click on a contact to add or remove."] = ""; $a->strings["Group Editor"] = ""; $a->strings["Members"] = ""; -$a->strings["All Contacts"] = ""; $a->strings["Invalid profile identifier."] = ""; $a->strings["Profile Visibility Editor"] = ""; +$a->strings["Profile"] = ""; $a->strings["Visible To"] = ""; $a->strings["All Contacts (with secure profile access)"] = ""; -$a->strings["View Contacts"] = ""; $a->strings["No contacts."] = ""; +$a->strings["View Contacts"] = ""; $a->strings["An invitation is required."] = ""; $a->strings["Invitation could not be verified."] = ""; $a->strings["Invalid OpenID url"] = ""; @@ -444,6 +546,7 @@ $a->strings["Failed to send email message. Here is the message that failed."] = $a->strings["Your registration can not be processed."] = ""; $a->strings["Registration request at %s"] = ""; $a->strings["Your registration is pending approval by the site owner."] = ""; +$a->strings["This site has exceeded the number of allowed daily account registrations. Please try again tomorrow."] = ""; $a->strings["You may (optionally) fill in this form via OpenID by supplying your OpenID and clicking 'Register'."] = ""; $a->strings["If you are not familiar with OpenID, please leave that field blank and fill in the rest of the items."] = ""; $a->strings["Your OpenID (optional): "] = ""; @@ -456,34 +559,26 @@ $a->strings["Your Email Address: "] = ""; $a->strings["Choose a profile nickname. This must begin with a text character. Your profile address on this site will then be '<strong>nickname@\$sitename</strong>'."] = ""; $a->strings["Choose a nickname: "] = ""; $a->strings["Register"] = ""; +$a->strings["People Search"] = ""; $a->strings["status"] = ""; $a->strings["%1\$s likes %2\$s's %3\$s"] = ""; $a->strings["%1\$s doesn't like %2\$s's %3\$s"] = ""; -$a->strings["This is Friendika version"] = ""; -$a->strings["running at web location"] = ""; -$a->strings["Shared content within the Friendika network is provided under the <a href=\"http://creativecommons.org/licenses/by/3.0/\">Creative Commons Attribution 3.0 license</a>"] = ""; -$a->strings["Please visit <a href=\"http://project.friendika.com\">Project.Friendika.com</a> to learn more about the Friendika project."] = ""; -$a->strings["Bug reports and issues: please visit"] = ""; -$a->strings["Suggestions, praise, donations, etc. - please email \"Info\" at Friendika - dot com"] = ""; -$a->strings["Installed plugins/addons/apps"] = ""; -$a->strings["No installed plugins/addons/apps"] = ""; +$a->strings["Item not found."] = ""; +$a->strings["Access denied."] = ""; $a->strings["Account approved."] = ""; $a->strings["Registration revoked for %s"] = ""; $a->strings["Please login."] = ""; $a->strings["Unable to locate original post."] = ""; $a->strings["Empty post discarded."] = ""; $a->strings["Wall Photos"] = ""; -$a->strings["noreply"] = ""; -$a->strings["Administrator@"] = ""; -$a->strings["%s commented on an item at %s"] = ""; -$a->strings["%s posted to your profile wall at %s"] = ""; $a->strings["System error. Post not saved."] = ""; -$a->strings["This message was sent to you by %s, a member of the Friendika social network."] = ""; +$a->strings["This message was sent to you by %s, a member of the Friendica social network."] = ""; $a->strings["You may visit them online at %s"] = ""; $a->strings["Please contact the sender by replying to this post if you do not wish to receive these messages."] = ""; $a->strings["%s posted an update."] = ""; $a->strings["Image uploaded but image cropping failed."] = ""; $a->strings["Image size reduction [%s] failed."] = ""; +$a->strings["Shift-reload the page or clear browser cache if the new photo does not display immediately."] = ""; $a->strings["Unable to process image"] = ""; $a->strings["Image exceeds size limit of %d"] = ""; $a->strings["Upload File:"] = ""; @@ -500,11 +595,10 @@ $a->strings["Remove My Account"] = ""; $a->strings["This will completely remove your account. Once this has been done it is not recoverable."] = ""; $a->strings["Please enter your password for verification:"] = ""; $a->strings["No recipient selected."] = ""; -$a->strings["[no subject]"] = ""; $a->strings["Unable to locate contact information."] = ""; -$a->strings["Message sent."] = ""; $a->strings["Message could not be sent."] = ""; -$a->strings["Messages"] = ""; +$a->strings["Message collection failure."] = ""; +$a->strings["Message sent."] = ""; $a->strings["Inbox"] = ""; $a->strings["Outbox"] = ""; $a->strings["New Message"] = ""; @@ -521,13 +615,14 @@ $a->strings["D, d M Y - g:i A"] = ""; $a->strings["Message not available."] = ""; $a->strings["Delete message"] = ""; $a->strings["Send Reply"] = ""; +$a->strings["Friends of %s"] = ""; +$a->strings["No friends to display."] = ""; $a->strings["Site"] = ""; $a->strings["Users"] = ""; $a->strings["Plugins"] = ""; -$a->strings["Update"] = ""; +$a->strings["Themes"] = ""; $a->strings["Logs"] = ""; $a->strings["User registrations waiting for confirmation"] = ""; -$a->strings["Item not found."] = ""; $a->strings["Administration"] = ""; $a->strings["Summary"] = ""; $a->strings["Registered users"] = ""; @@ -548,6 +643,8 @@ $a->strings["System theme"] = ""; $a->strings["Maximum image size"] = ""; $a->strings["Register policy"] = ""; $a->strings["Register text"] = ""; +$a->strings["Accounts abandoned after x days"] = ""; +$a->strings["Will not waste system resources polling external sites for abandonded accounts. Enter 0 for no time limit."] = ""; $a->strings["Allowed friend domains"] = ""; $a->strings["Allowed email domains"] = ""; $a->strings["Block public"] = ""; @@ -560,7 +657,8 @@ $a->strings["Fullname check"] = ""; $a->strings["UTF-8 Regular expressions"] = ""; $a->strings["Show Community Page"] = ""; $a->strings["Enable OStatus support"] = ""; -$a->strings["Only allow Friendika contacts"] = ""; +$a->strings["Enable Diaspora support"] = ""; +$a->strings["Only allow Friendica contacts"] = ""; $a->strings["Verify SSL"] = ""; $a->strings["Proxy user"] = ""; $a->strings["Proxy URL"] = ""; @@ -582,8 +680,6 @@ $a->strings["Request date"] = ""; $a->strings["Email"] = ""; $a->strings["No registrations."] = ""; $a->strings["Deny"] = ""; -$a->strings["Block"] = ""; -$a->strings["Unblock"] = ""; $a->strings["Register date"] = ""; $a->strings["Last login"] = ""; $a->strings["Last item"] = ""; @@ -596,23 +692,33 @@ $a->strings["Disable"] = ""; $a->strings["Enable"] = ""; $a->strings["Toggle"] = ""; $a->strings["Settings"] = ""; +$a->strings["No themes found."] = ""; $a->strings["Log settings updated."] = ""; $a->strings["Clear"] = ""; $a->strings["Debugging"] = ""; $a->strings["Log file"] = ""; -$a->strings["Must be writable by web server. Relative to your Friendika index.php."] = ""; +$a->strings["Must be writable by web server. Relative to your Friendica top-level directory."] = ""; $a->strings["Log level"] = ""; $a->strings["Close"] = ""; $a->strings["FTP Host"] = ""; $a->strings["FTP Path"] = ""; $a->strings["FTP User"] = ""; $a->strings["FTP Password"] = ""; +$a->strings["Requested profile is not available."] = ""; $a->strings["Access to this profile has been restricted."] = ""; $a->strings["Tips for New Members"] = ""; +$a->strings["{0} wants to be your friend"] = ""; +$a->strings["{0} sent you a message"] = ""; +$a->strings["{0} requested registration"] = ""; +$a->strings["{0} commented %s's post"] = ""; +$a->strings["{0} liked %s's post"] = ""; +$a->strings["{0} disliked %s's post"] = ""; +$a->strings["{0} is now friends with %s"] = ""; +$a->strings["{0} posted"] = ""; +$a->strings["{0} tagged %s's post with #%s"] = ""; +$a->strings["{0} mentioned you in a post"] = ""; $a->strings["Login failed."] = ""; -$a->strings["Welcome "] = ""; -$a->strings["Please upload a profile photo."] = ""; -$a->strings["Welcome back "] = ""; +$a->strings["Connect URL missing."] = ""; $a->strings["This site is not configured to allow communications with other networks."] = ""; $a->strings["No compatible communication protocols or feeds were discovered."] = ""; $a->strings["The profile address specified does not provide adequate information."] = ""; @@ -622,11 +728,12 @@ $a->strings["The profile address specified belongs to a network which has been d $a->strings["Limited profile. This person will be unable to receive direct/personal notifications from you."] = ""; $a->strings["Unable to retrieve contact information."] = ""; $a->strings["following"] = ""; +$a->strings["Common Friends"] = ""; +$a->strings["No friends in common."] = ""; $a->strings["Item has been removed."] = ""; -$a->strings["New mail received at "] = ""; $a->strings["Applications"] = ""; $a->strings["No installed applications."] = ""; -$a->strings["Search"] = ""; +$a->strings["Search This Site"] = ""; $a->strings["Profile not found."] = ""; $a->strings["Profile Name is required."] = ""; $a->strings["Profile updated."] = ""; @@ -674,15 +781,28 @@ $a->strings["Work/employment"] = ""; $a->strings["School/education"] = ""; $a->strings["This is your <strong>public</strong> profile.<br />It <strong>may</strong> be visible to anybody using the internet."] = ""; $a->strings["Age: "] = ""; -$a->strings["Profiles"] = ""; +$a->strings["Edit/Manage Profiles"] = ""; $a->strings["Change profile photo"] = ""; $a->strings["Create New Profile"] = ""; $a->strings["Profile Image"] = ""; $a->strings["visible to everybody"] = ""; $a->strings["Edit visibility"] = ""; +$a->strings["%1\$s tagged %2\$s's %3\$s with %4\$s"] = ""; +$a->strings["No potential page delegates located."] = ""; +$a->strings["Delegate Page Management"] = ""; +$a->strings["Delegates are able to manage all aspects of this account/page except for basic account settings. Please do not delegate your personal account to anybody that you do not trust completely."] = ""; +$a->strings["Existing Page Managers"] = ""; +$a->strings["Existing Page Delegates"] = ""; +$a->strings["Potential Delegates"] = ""; +$a->strings["Add"] = ""; +$a->strings["No entries."] = ""; +$a->strings["Friend Suggestions"] = ""; +$a->strings["No suggestions available. If this is a new site, please try again in 24 hours."] = ""; +$a->strings["Ignore/Hide"] = ""; $a->strings["Global Directory"] = ""; $a->strings["Normal site view"] = ""; -$a->strings["View all site entries"] = ""; +$a->strings["Admin - View all site entries"] = ""; +$a->strings["Find on this site"] = ""; $a->strings["Site Directory"] = ""; $a->strings["Gender: "] = ""; $a->strings["No entries (some entries may be hidden)."] = ""; @@ -712,6 +832,7 @@ $a->strings["No user record found for '%s' "] = ""; $a->strings["Our site encryption key is apparently messed up."] = ""; $a->strings["Empty site URL was provided or URL could not be decrypted by us."] = ""; $a->strings["Contact record was not found for you on our site."] = ""; +$a->strings["Site public key not available in contact record for URL %s."] = ""; $a->strings["The ID provided by your system is a duplicate on our system. It should work if you try again."] = ""; $a->strings["Unable to set your contact credentials on our system."] = ""; $a->strings["Unable to update your contact profile details on our system"] = ""; @@ -722,21 +843,60 @@ $a->strings["Facebook API key is missing."] = ""; $a->strings["Facebook Connect"] = ""; $a->strings["Install Facebook connector for this account."] = ""; $a->strings["Remove Facebook connector"] = ""; +$a->strings["Re-authenticate [This is necessary whenever your Facebook password is changed.]"] = ""; $a->strings["Post to Facebook by default"] = ""; -$a->strings["Link all your Facebook friends and conversations"] = ""; -$a->strings["Warning: Your Facebook privacy settings can not be imported."] = ""; -$a->strings["Linked Facebook items <strong>may</strong> be publicly visible, depending on your privacy settings for this website/account."] = ""; +$a->strings["Link all your Facebook friends and conversations on this website"] = ""; +$a->strings["Facebook conversations consist of your <em>profile wall</em> and your friend <em>stream</em>."] = ""; +$a->strings["On this website, your Facebook friend stream is only visible to you."] = ""; +$a->strings["The following settings determine the privacy of your Facebook profile wall on this website."] = ""; +$a->strings["On this website your Facebook profile wall conversations will only be visible to you"] = ""; +$a->strings["Do not import your Facebook profile wall conversations"] = ""; +$a->strings["If you choose to link conversations and leave both of these boxes unchecked, your Facebook profile wall will be merged with your profile wall on this website and your privacy settings on this website will be used to determine who may see the conversations."] = ""; +$a->strings["Comma separated applications to ignore"] = ""; $a->strings["Facebook"] = ""; $a->strings["Facebook Connector Settings"] = ""; $a->strings["Post to Facebook"] = ""; $a->strings["Post to Facebook cancelled because of multi-network access permission conflict."] = ""; $a->strings["Image: "] = ""; -$a->strings["View on Friendika"] = ""; +$a->strings["View on Friendica"] = ""; $a->strings["Facebook post failed. Queued for retry."] = ""; +$a->strings["link"] = ""; +$a->strings["%d person likes this"] = array( + 0 => "", + 1 => "", +); +$a->strings["%d person doesn't like this"] = array( + 0 => "", + 1 => "", +); $a->strings["Generate new key"] = ""; $a->strings["Widgets key"] = ""; $a->strings["Widgets available"] = ""; -$a->strings["Connect on Friendika!"] = ""; +$a->strings["Connect on Friendica!"] = ""; +$a->strings["YourLS Settings"] = ""; +$a->strings["URL: http://"] = ""; +$a->strings["Username:"] = ""; +$a->strings["Password:"] = ""; +$a->strings["Use SSL "] = ""; +$a->strings["yourls Settings saved."] = ""; +$a->strings["\"Not Safe For Work\" Settings"] = ""; +$a->strings["Enable NSFW filter"] = ""; +$a->strings["Comma separated words to treat as NSFW"] = ""; +$a->strings["Use /expression/ to provide regular expressions"] = ""; +$a->strings["NSFW Settings saved."] = ""; +$a->strings["%s - Click to open/close"] = ""; +$a->strings["Login"] = ""; +$a->strings["OpenID"] = ""; +$a->strings["Last users"] = ""; +$a->strings["Most active users"] = ""; +$a->strings["Last photos"] = ""; +$a->strings["Last likes"] = ""; +$a->strings["event"] = ""; +$a->strings["Allow to use your friendica id (%s) to connecto to external unhosted-enabled storage (like ownCloud). See <a href=\"http://www.w3.org/community/unhosted/wiki/RemoteStorage#WebFinger\">RemoteStorage WebFinger</a>"] = ""; +$a->strings["Template URL (with {category})"] = ""; +$a->strings["OAuth end-point"] = ""; +$a->strings["Api"] = ""; +$a->strings["Member since:"] = ""; $a->strings["Three Dimensional Tic-Tac-Toe"] = ""; $a->strings["3D Tic-Tac-Toe"] = ""; $a->strings["New game"] = ""; @@ -751,6 +911,19 @@ $a->strings["\"Cat\" game!"] = ""; $a->strings["I won!"] = ""; $a->strings["Randplace Settings"] = ""; $a->strings["Enable Randplace Plugin"] = ""; +$a->strings["Post to Drupal"] = ""; +$a->strings["Drupal Post Settings"] = ""; +$a->strings["Enable Drupal Post Plugin"] = ""; +$a->strings["Drupal username"] = ""; +$a->strings["Drupal password"] = ""; +$a->strings["Post Type - article,page,or blog"] = ""; +$a->strings["Drupal site URL"] = ""; +$a->strings["Drupal site uses clean URLS"] = ""; +$a->strings["Post to Drupal by default"] = ""; +$a->strings["Post from Friendica"] = ""; +$a->strings["Geonames settings updated."] = ""; +$a->strings["Geonames Settings"] = ""; +$a->strings["Enable Geonames Plugin"] = ""; $a->strings["Upload a file"] = ""; $a->strings["Drop files here to upload"] = ""; $a->strings["Failed"] = ""; @@ -758,6 +931,9 @@ $a->strings["No files were uploaded."] = ""; $a->strings["Uploaded file is empty"] = ""; $a->strings["File has an invalid extension, it should be one of "] = ""; $a->strings["Upload was cancelled, or server error encountered"] = ""; +$a->strings["OEmbed settings updated"] = ""; +$a->strings["Use OEmbed for YouTube videos"] = ""; +$a->strings["URL to embed:"] = ""; $a->strings["Impressum"] = ""; $a->strings["Site Owner"] = ""; $a->strings["Email Address"] = ""; @@ -765,9 +941,30 @@ $a->strings["Postal Address"] = ""; $a->strings["The impressum addon needs to be configured!<br />Please add at least the <tt>owner</tt> variable to your config file. For other variables please refer to the README file of the addon."] = ""; $a->strings["Site Owners Profile"] = ""; $a->strings["Notes"] = ""; -$a->strings["OEmbed settings updated"] = ""; -$a->strings["Use OEmbed for YouTube videos"] = ""; -$a->strings["URL to embed:"] = ""; +$a->strings["Report Bug"] = ""; +$a->strings["\"Blockem\" Settings"] = ""; +$a->strings["Comma separated profile URLS to block"] = ""; +$a->strings["BLOCKEM Settings saved."] = ""; +$a->strings["Blocked %s - Click to open/close"] = ""; +$a->strings["Unblock Author"] = ""; +$a->strings["Block Author"] = ""; +$a->strings["blockem settings updated"] = ""; +$a->strings[":-)"] = ""; +$a->strings[":-("] = ""; +$a->strings["lol"] = ""; +$a->strings["Quick Comment Settings"] = ""; +$a->strings["Enter quick comments, one per line"] = ""; +$a->strings["Quick Comment settings saved."] = ""; +$a->strings["Tile Server URL"] = ""; +$a->strings["A list of <a href=\"http://wiki.openstreetmap.org/wiki/TMS\" target=\"_blank\">public tile servers</a>"] = ""; +$a->strings["Default zoom"] = ""; +$a->strings["The default zoom level. (1:world, 18:highest)"] = ""; +$a->strings["Editplain settings updated."] = ""; +$a->strings["Editplain Settings"] = ""; +$a->strings["Disable richtext status editor"] = ""; +$a->strings["\"pageheader\" Settings"] = ""; +$a->strings["pageheader Settings saved."] = ""; +$a->strings["View Source"] = ""; $a->strings["Post to StatusNet"] = ""; $a->strings["Please contact your site administrator.<br />The provided API URL is not valid."] = ""; $a->strings["We could not contact the StatusNet API with the Path you entered."] = ""; @@ -776,7 +973,7 @@ $a->strings["StatusNet Posting Settings"] = ""; $a->strings["Globally Available StatusNet OAuthKeys"] = ""; $a->strings["There are preconfigured OAuth key pairs for some StatusNet servers available. If you are useing one of them, please use these credentials. If not feel free to connect to any other StatusNet instance (see below)."] = ""; $a->strings["Provide your own OAuth Credentials"] = ""; -$a->strings["No consumer key pair for StatusNet found. Register your Friendika Account as an desktop client on your StatusNet account, copy the consumer key pair here and enter the API base root.<br />Before you register your own OAuth key pair ask the administrator if there is already a key pair for this Friendika installation at your favorited StatusNet installation."] = ""; +$a->strings["No consumer key pair for StatusNet found. Register your Friendica Account as an desktop client on your StatusNet account, copy the consumer key pair here and enter the API base root.<br />Before you register your own OAuth key pair ask the administrator if there is already a key pair for this Friendica installation at your favorited StatusNet installation."] = ""; $a->strings["OAuth Consumer Key"] = ""; $a->strings["OAuth Consumer Secret"] = ""; $a->strings["Base API Path (remember the trailing /)"] = ""; @@ -788,34 +985,66 @@ $a->strings["Current StatusNet API is"] = ""; $a->strings["Cancel StatusNet Connection"] = ""; $a->strings["Currently connected to: "] = ""; $a->strings["If enabled all your <strong>public</strong> postings can be posted to the associated StatusNet account. You can choose to do so by default (here) or for every posting separately in the posting options when writing the entry."] = ""; +$a->strings["<strong>Note</strong>: Due your privacy settings (<em>Hide your profile details from unknown viewers?</em>) the link potentially included in public postings relayed to StatusNet will lead the visitor to a blank page informing the visitor that the access to your profile has been restricted."] = ""; $a->strings["Allow posting to StatusNet"] = ""; $a->strings["Send public postings to StatusNet by default"] = ""; $a->strings["Clear OAuth configuration"] = ""; $a->strings["API URL"] = ""; -$a->strings["Consumer Secret"] = ""; -$a->strings["Consumer Key"] = ""; +$a->strings["Post to Tumblr"] = ""; +$a->strings["Tumblr Post Settings"] = ""; +$a->strings["Enable Tumblr Post Plugin"] = ""; +$a->strings["Tumblr login"] = ""; +$a->strings["Tumblr password"] = ""; +$a->strings["Post to Tumblr by default"] = ""; +$a->strings["Numfriends settings updated."] = ""; +$a->strings["Numfriends Settings"] = ""; +$a->strings["How many contacts to display on profile sidebar"] = ""; +$a->strings["Post to Wordpress"] = ""; +$a->strings["WordPress Post Settings"] = ""; +$a->strings["Enable WordPress Post Plugin"] = ""; +$a->strings["WordPress username"] = ""; +$a->strings["WordPress password"] = ""; +$a->strings["WordPress API URL"] = ""; +$a->strings["Post to WordPress by default"] = ""; +$a->strings["\"Show more\" Settings"] = ""; +$a->strings["Enable Show More"] = ""; +$a->strings["Cutting posts after how much characters"] = ""; +$a->strings["Show More Settings saved."] = ""; +$a->strings["Show More"] = ""; +$a->strings["This website is tracked using the <a href='http://www.piwik.org'>Piwik</a> analytics tool."] = ""; +$a->strings["If you do not want that your visits are logged this way you <a href='%s'>can set a cookie to prevent Piwik from tracking further visits of the site</a> (opt-out)."] = ""; $a->strings["Piwik Base URL"] = ""; +$a->strings["Absolute path to your Piwik installation. (without protocol (http/s), with trailing slash)"] = ""; $a->strings["Site ID"] = ""; $a->strings["Show opt-out cookie link?"] = ""; +$a->strings["Asynchronous tracking"] = ""; $a->strings["Post to Twitter"] = ""; $a->strings["Twitter settings updated."] = ""; $a->strings["Twitter Posting Settings"] = ""; $a->strings["No consumer key pair for Twitter found. Please contact your site administrator."] = ""; -$a->strings["At this Friendika instance the Twitter plugin was enabled but you have not yet connected your account to your Twitter account. To do so click the button below to get a PIN from Twitter which you have to copy into the input box below and submit the form. Only your <strong>public</strong> posts will be posted to Twitter."] = ""; +$a->strings["At this Friendica instance the Twitter plugin was enabled but you have not yet connected your account to your Twitter account. To do so click the button below to get a PIN from Twitter which you have to copy into the input box below and submit the form. Only your <strong>public</strong> posts will be posted to Twitter."] = ""; $a->strings["Log in with Twitter"] = ""; $a->strings["Copy the PIN from Twitter here"] = ""; $a->strings["If enabled all your <strong>public</strong> postings can be posted to the associated Twitter account. You can choose to do so by default (here) or for every posting separately in the posting options when writing the entry."] = ""; +$a->strings["<strong>Note</strong>: Due your privacy settings (<em>Hide your profile details from unknown viewers?</em>) the link potentially included in public postings relayed to Twitter will lead the visitor to a blank page informing the visitor that the access to your profile has been restricted."] = ""; $a->strings["Allow posting to Twitter"] = ""; $a->strings["Send public postings to Twitter by default"] = ""; $a->strings["Consumer key"] = ""; $a->strings["Consumer secret"] = ""; +$a->strings["Post to Posterous"] = ""; +$a->strings["Posterous Post Settings"] = ""; +$a->strings["Enable Posterous Post Plugin"] = ""; +$a->strings["Posterous login"] = ""; +$a->strings["Posterous password"] = ""; +$a->strings["Post to Posterous by default"] = ""; $a->strings["Gender:"] = ""; -$a->strings["Birthday:"] = ""; $a->strings["j F, Y"] = ""; $a->strings["j F"] = ""; +$a->strings["Birthday:"] = ""; $a->strings["Age:"] = ""; -$a->strings["<span class=\"heart\">♥</span> Status:"] = ""; +$a->strings["Status:"] = ""; $a->strings["Homepage:"] = ""; +$a->strings["Tags:"] = ""; $a->strings["Religion:"] = ""; $a->strings["About:"] = ""; $a->strings["Hobbies/Interests:"] = ""; @@ -839,6 +1068,12 @@ $a->strings["Twice daily"] = ""; $a->strings["Daily"] = ""; $a->strings["Weekly"] = ""; $a->strings["Monthly"] = ""; +$a->strings["OStatus"] = ""; +$a->strings["RSS/Atom"] = ""; +$a->strings["Zot!"] = ""; +$a->strings["LinkedIn"] = ""; +$a->strings["XMPP/IM"] = ""; +$a->strings["MySpace"] = ""; $a->strings["Male"] = ""; $a->strings["Female"] = ""; $a->strings["Currently Male"] = ""; @@ -892,9 +1127,10 @@ $a->strings["Uncertain"] = ""; $a->strings["Complicated"] = ""; $a->strings["Don't care"] = ""; $a->strings["Ask me"] = ""; -$a->strings["l F d, Y \\@ g:i A"] = ""; $a->strings["Starts:"] = ""; $a->strings["Finishes:"] = ""; +$a->strings["(no subject)"] = ""; +$a->strings["noreply"] = ""; $a->strings["prev"] = ""; $a->strings["first"] = ""; $a->strings["last"] = ""; @@ -904,6 +1140,7 @@ $a->strings["%d Contact"] = array( 0 => "", 1 => "", ); +$a->strings["Search"] = ""; $a->strings["Monday"] = ""; $a->strings["Tuesday"] = ""; $a->strings["Wednesday"] = ""; @@ -925,15 +1162,29 @@ $a->strings["November"] = ""; $a->strings["December"] = ""; $a->strings["bytes"] = ""; $a->strings["Select an alternate language"] = ""; +$a->strings["default"] = ""; $a->strings["Sharing notification from Diaspora network"] = ""; +$a->strings["Attachments:"] = ""; +$a->strings["[Relayed] Comment authored by %s from network %s"] = ""; +$a->strings["Embedded content"] = ""; $a->strings["Embedding disabled"] = ""; -$a->strings["Create a new group"] = ""; +$a->strings["A deleted group with this name was revived. Existing item permissions <strong>may</strong> apply to this group and any future members. If this is not what you intended, please create another group with a different name."] = ""; $a->strings["Everybody"] = ""; +$a->strings["edit"] = ""; +$a->strings["Groups"] = ""; +$a->strings["Edit group"] = ""; +$a->strings["Create a new group"] = ""; $a->strings["Logout"] = ""; $a->strings["End this session"] = ""; -$a->strings["Login"] = ""; +$a->strings["Status"] = ""; +$a->strings["Your posts and conversations"] = ""; +$a->strings["Your profile page"] = ""; +$a->strings["Photos"] = ""; +$a->strings["Your photos"] = ""; +$a->strings["Your events"] = ""; +$a->strings["Personal notes"] = ""; +$a->strings["Your personal photos"] = ""; $a->strings["Sign in"] = ""; -$a->strings["Home"] = ""; $a->strings["Home Page"] = ""; $a->strings["Create an account"] = ""; $a->strings["Help and documentation"] = ""; @@ -943,18 +1194,34 @@ $a->strings["Search site content"] = ""; $a->strings["Conversations on this site"] = ""; $a->strings["Directory"] = ""; $a->strings["People directory"] = ""; -$a->strings["Network"] = ""; $a->strings["Conversations from your friends"] = ""; -$a->strings["Your posts and conversations"] = ""; -$a->strings["Notifications"] = ""; -$a->strings["Friend requests"] = ""; +$a->strings["Friend Requests"] = ""; +$a->strings["See all notifications"] = ""; +$a->strings["Mark all system notifications seen"] = ""; $a->strings["Private mail"] = ""; $a->strings["Manage"] = ""; $a->strings["Manage other pages"] = ""; +$a->strings["Profiles"] = ""; $a->strings["Manage/edit profiles"] = ""; $a->strings["Manage/edit friends and contacts"] = ""; $a->strings["Admin"] = ""; $a->strings["Site setup and configuration"] = ""; +$a->strings["Nothing new here"] = ""; +$a->strings["Add New Contact"] = ""; +$a->strings["Enter address or web location"] = ""; +$a->strings["Example: bob@example.com, http://example.com/barbara"] = ""; +$a->strings["Invite Friends"] = ""; +$a->strings["%d invitation available"] = array( + 0 => "", + 1 => "", +); +$a->strings["Find People"] = ""; +$a->strings["Enter name or interest"] = ""; +$a->strings["Connect/Follow"] = ""; +$a->strings["Examples: Robert Morgenstein, Fishing"] = ""; +$a->strings["Similar Interests"] = ""; +$a->strings["Networks"] = ""; +$a->strings["All Networks"] = ""; $a->strings["Logged out."] = ""; $a->strings["Miscellaneous"] = ""; $a->strings["year"] = ""; @@ -973,32 +1240,86 @@ $a->strings["minute"] = ""; $a->strings["minutes"] = ""; $a->strings["second"] = ""; $a->strings["seconds"] = ""; -$a->strings[" ago"] = ""; +$a->strings["%1\$d %2\$s ago"] = ""; $a->strings["From: "] = ""; +$a->strings["$1 wrote:"] = ""; $a->strings["Image/photo"] = ""; $a->strings["Cannot locate DNS info for database server '%s'"] = ""; +$a->strings["[no subject]"] = ""; $a->strings["Visible to everybody"] = ""; $a->strings["show"] = ""; $a->strings["don't show"] = ""; -$a->strings["(no subject)"] = ""; +$a->strings["Friendica Notification"] = ""; +$a->strings["Thank You,"] = ""; +$a->strings["%s Administrator"] = ""; +$a->strings["New mail received at %s"] = ""; +$a->strings["%s sent you a new private message at %s."] = ""; +$a->strings["%s sent you %s."] = ""; +$a->strings["a private message"] = ""; +$a->strings["Please visit %s to view and/or reply to your private messages."] = ""; +$a->strings["%s commented on an item at %s"] = ""; +$a->strings["%s commented on an item/conversation you have been following."] = ""; +$a->strings["%s commented in %s."] = ""; +$a->strings["a watched conversation"] = ""; +$a->strings["Please visit %s to view and/or reply to the conversation."] = ""; +$a->strings["%s posted to your profile wall at %s"] = ""; +$a->strings["%s posted to %s"] = ""; +$a->strings["your profile wall."] = ""; +$a->strings["%s tagged you at %s"] = ""; +$a->strings["%s %s."] = ""; +$a->strings["tagged you"] = ""; +$a->strings["%s tagged your post at %s"] = ""; +$a->strings["%s tagged %s"] = ""; +$a->strings["your post"] = ""; +$a->strings["Introduction received at %s"] = ""; +$a->strings["You've received an introduction from '%s' at %s"] = ""; +$a->strings["You've received %s from %s."] = ""; +$a->strings["an introduction"] = ""; +$a->strings["You may visit their profile at %s"] = ""; +$a->strings["Please visit %s to approve or reject the introduction."] = ""; +$a->strings["Friend suggestion received at %s"] = ""; +$a->strings["You've received a friend suggestion from '%s' at %s"] = ""; +$a->strings["You've received %s for %s from %s."] = ""; +$a->strings["a friend suggestion"] = ""; +$a->strings["Name:"] = ""; +$a->strings["Photo:"] = ""; +$a->strings["Please visit %s to approve or reject the suggestion."] = ""; +$a->strings["A new person is sharing with you at "] = ""; $a->strings["You have a new follower at "] = ""; -$a->strings["event"] = ""; -$a->strings["View %s's profile"] = ""; +$a->strings["view full size"] = ""; +$a->strings["image/photo"] = ""; +$a->strings["Welcome "] = ""; +$a->strings["Please upload a profile photo."] = ""; +$a->strings["Welcome back "] = ""; +$a->strings["View status"] = ""; +$a->strings["View profile"] = ""; +$a->strings["View photos"] = ""; +$a->strings["View recent"] = ""; +$a->strings["Send PM"] = ""; +$a->strings["post/item"] = ""; +$a->strings["%1\$s marked %2\$s's %3\$s as favorite"] = ""; +$a->strings["Select"] = ""; +$a->strings["View %s's profile @ %s"] = ""; $a->strings["%s from %s"] = ""; $a->strings["View in context"] = ""; -$a->strings["See more posts like this"] = ""; -$a->strings["See all %d comments"] = ""; -$a->strings["Select"] = ""; +$a->strings["%d comment"] = array( + 0 => "", + 1 => "", +); +$a->strings["show more"] = ""; +$a->strings["like"] = ""; +$a->strings["dislike"] = ""; +$a->strings["Share this"] = ""; +$a->strings["share"] = ""; +$a->strings["add star"] = ""; +$a->strings["remove star"] = ""; $a->strings["toggle star status"] = ""; +$a->strings["starred"] = ""; +$a->strings["add tag"] = ""; $a->strings["to"] = ""; $a->strings["Wall-to-Wall"] = ""; $a->strings["via Wall-To-Wall:"] = ""; $a->strings["Delete Selected Items"] = ""; -$a->strings["View status"] = ""; -$a->strings["View profile"] = ""; -$a->strings["View photos"] = ""; -$a->strings["View recent"] = ""; -$a->strings["Send PM"] = ""; $a->strings["%s likes this."] = ""; $a->strings["%s doesn't like this."] = ""; $a->strings["<span %1\$s>%2\$d people</span> like this."] = ""; @@ -1008,26 +1329,34 @@ $a->strings[", and %d other people"] = ""; $a->strings["%s like this."] = ""; $a->strings["%s don't like this."] = ""; $a->strings["Visible to <strong>everybody</strong>"] = ""; -$a->strings["Please enter a YouTube link:"] = ""; -$a->strings["Please enter a video(.ogg) link/URL:"] = ""; -$a->strings["Please enter an audio(.ogg) link/URL:"] = ""; +$a->strings["Please enter a video link/URL:"] = ""; +$a->strings["Please enter an audio link/URL:"] = ""; +$a->strings["Tag term:"] = ""; $a->strings["Where are you right now?"] = ""; $a->strings["Enter a title for this item"] = ""; -$a->strings["Set title"] = ""; +$a->strings["upload photo"] = ""; +$a->strings["attach file"] = ""; +$a->strings["web link"] = ""; +$a->strings["Insert video link"] = ""; +$a->strings["video link"] = ""; +$a->strings["Insert audio link"] = ""; +$a->strings["audio link"] = ""; +$a->strings["set location"] = ""; +$a->strings["clear location"] = ""; +$a->strings["permissions"] = ""; $a->strings["Delete this item?"] = ""; +$a->strings["show fewer"] = ""; $a->strings["Create a New Account"] = ""; $a->strings["Nickname or Email address: "] = ""; $a->strings["Password: "] = ""; -$a->strings["Nickname/Email/OpenID: "] = ""; -$a->strings["Password (if not OpenID): "] = ""; +$a->strings["Or login using OpenID: "] = ""; $a->strings["Forgot your password?"] = ""; -$a->strings["Connect"] = ""; -$a->strings[", "] = ""; -$a->strings["Status:"] = ""; +$a->strings["Edit profile"] = ""; $a->strings["g A l F d"] = ""; +$a->strings["F d"] = ""; $a->strings["Birthday Reminders"] = ""; $a->strings["Birthdays this week:"] = ""; -$a->strings["(Adjusted for local time)"] = ""; $a->strings["[today]"] = ""; -$a->strings["Not Found"] = ""; -$a->strings["Page not found."] = ""; +$a->strings["Event Reminders"] = ""; +$a->strings["Events this week:"] = ""; +$a->strings["[No description]"] = ""; diff --git a/view/admin_aside.tpl b/view/admin_aside.tpl index a10c06f4e..4bf7ce9d3 100755 --- a/view/admin_aside.tpl +++ b/view/admin_aside.tpl @@ -15,6 +15,7 @@ <li class='admin link button $admin.site.2'><a href='$admin.site.0'>$admin.site.1</a></li> <li class='admin link button $admin.users.2'><a href='$admin.users.0'>$admin.users.1</a><span id='pending-update' title='$h_pending'></span></li> <li class='admin link button $admin.plugins.2'><a href='$admin.plugins.0'>$admin.plugins.1</a></li> + <li class='admin link button $admin.themes.2'><a href='$admin.themes.0'>$admin.themes.1</a></li> </ul> <ul class='admin linklist'> diff --git a/view/admin_plugins.tpl b/view/admin_plugins.tpl index bb1f5c90f..8367ff6a1 100755 --- a/view/admin_plugins.tpl +++ b/view/admin_plugins.tpl @@ -4,8 +4,10 @@ <ul id='pluginslist'> {{ for $plugins as $p }} <li class='plugin $p.1'> - <a class='toggleplugin' href='$baseurl/admin/plugins/$p.0?a=t' title="{{if $p.1==on }}Disable{{ else }}Enable{{ endif }}" ><span class='icon $p.1'></span></a> - <a href='$baseurl/admin/plugins/$p.0'><span class='name'>$p.2.name</span></a> - <span class="version">$p.2.version</span> + <a class='toggleplugin' href='$baseurl/admin/$function/$p.0?a=t' title="{{if $p.1==on }}Disable{{ else }}Enable{{ endif }}" ><span class='icon $p.1'></span></a> + <a href='$baseurl/admin/$function/$p.0'><span class='name'>$p.2.name</span></a> - <span class="version">$p.2.version</span> + {{ if $p.2.experimental }} $experimental {{ endif }}{{ if $p.2.unsupported }} $unsupported {{ endif }} + <div class='desc'>$p.2.description</div> </li> {{ endfor }} diff --git a/view/admin_plugins_details.tpl b/view/admin_plugins_details.tpl index f3c0685f5..d7147b20b 100755 --- a/view/admin_plugins_details.tpl +++ b/view/admin_plugins_details.tpl @@ -1,7 +1,7 @@ <div id='adminpage'> <h1>$title - $page</h1> - <p><span class='toggleplugin icon $status'></span> $info.name - $info.version : <a href="$baseurl/admin/plugins/$plugin/?a=t">$action</a></p> + <p><span class='toggleplugin icon $status'></span> $info.name - $info.version : <a href="$baseurl/admin/$function/$plugin/?a=t">$action</a></p> <p>$info.description</p> <p class="author"> @@ -13,7 +13,7 @@ {{ if $admin_form }} <h3>$settings</h3> - <form method="post" action="$baseurl/admin/plugins/$plugin/"> + <form method="post" action="$baseurl/admin/$function/$plugin/"> $admin_form </form> {{ endif }} diff --git a/view/contact_template.tpl b/view/contact_template.tpl index d6f114d6e..f4c0670bf 100755 --- a/view/contact_template.tpl +++ b/view/contact_template.tpl @@ -17,8 +17,8 @@ </div> <div class="contact-name" id="contact-entry-name-$contact.id" >$contact.name</div> - <div class="contact-details" id="contact-entry-url-$contact.id" >$contact.item.url</div> - <div class="contact-details" id="contact-entry-network-$contact.id" >$contact.item.network|network_to_name</div> + <div class="contact-details" id="contact-entry-url-$contact.id" >$contact.itemurl</div> + <div class="contact-details" id="contact-entry-network-$contact.id" >$contact.network</div> </div> diff --git a/view/de/messages.po b/view/de/messages.po index 861f61b74..5573ddca0 100644 --- a/view/de/messages.po +++ b/view/de/messages.po @@ -5,7 +5,10 @@ # Translators: # bavatar <tobias.diekershoff@gmx.net>, 2011. # Erkan Yilmaz <erkan77@gmail.com>, 2011. +# <friends@dostmusik.de>, 2012. +# <greeneyedred@googlemail.com>, 2012. # <hzuehl@phone-talk.de>, 2011. +# <marmor69@web.de>, 2012. # <tobias.diekershoff@gmx.net>, 2011, 2012. # <transifex@zottel.net>, 2011, 2012. # <ts+transifex@ml.tschlotfeldt.de>, 2011. @@ -13,9 +16,9 @@ msgid "" msgstr "" "Project-Id-Version: friendica\n" "Report-Msgid-Bugs-To: http://bugs.friendica.com/\n" -"POT-Creation-Date: 2012-02-12 17:14-0800\n" -"PO-Revision-Date: 2012-02-16 10:24+0000\n" -"Last-Translator: bavatar <tobias.diekershoff@gmx.net>\n" +"POT-Creation-Date: 2012-02-24 22:44-0800\n" +"PO-Revision-Date: 2012-02-26 15:58+0000\n" +"Last-Translator: marmor <marmor69@web.de>\n" "Language-Team: German (http://www.transifex.net/projects/p/friendica/language/de/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -23,7 +26,7 @@ msgstr "" "Language: de\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -#: ../../mod/oexchange.php:27 +#: ../../mod/oexchange.php:25 msgid "Post successful." msgstr "Beitrag erfolgreich veröffentlicht." @@ -41,24 +44,24 @@ msgid "Contact update failed." msgstr "Konnte den Kontakt nicht aktualisieren." #: ../../mod/crepair.php:115 ../../mod/wall_attach.php:43 -#: ../../mod/fsuggest.php:78 ../../mod/events.php:109 ../../mod/api.php:26 +#: ../../mod/fsuggest.php:78 ../../mod/events.php:110 ../../mod/api.php:26 #: ../../mod/api.php:31 ../../mod/photos.php:129 ../../mod/photos.php:865 #: ../../mod/editpost.php:10 ../../mod/install.php:171 #: ../../mod/notifications.php:62 ../../mod/contacts.php:125 #: ../../mod/settings.php:49 ../../mod/settings.php:404 #: ../../mod/settings.php:409 ../../mod/manage.php:86 ../../mod/network.php:6 #: ../../mod/notes.php:20 ../../mod/attach.php:33 ../../mod/group.php:19 -#: ../../mod/viewcontacts.php:21 ../../mod/register.php:36 -#: ../../mod/regmod.php:111 ../../mod/item.php:123 ../../mod/item.php:139 +#: ../../mod/viewcontacts.php:22 ../../mod/register.php:36 +#: ../../mod/regmod.php:111 ../../mod/item.php:124 ../../mod/item.php:140 #: ../../mod/profile_photo.php:19 ../../mod/profile_photo.php:137 #: ../../mod/profile_photo.php:148 ../../mod/profile_photo.php:159 #: ../../mod/message.php:9 ../../mod/message.php:46 ../../mod/allfriends.php:9 #: ../../mod/wall_upload.php:42 ../../mod/follow.php:8 ../../mod/common.php:9 -#: ../../mod/display.php:112 ../../mod/profiles.php:7 +#: ../../mod/display.php:130 ../../mod/profiles.php:7 #: ../../mod/profiles.php:229 ../../mod/delegate.php:6 #: ../../mod/suggest.php:28 ../../mod/invite.php:13 ../../mod/invite.php:81 -#: ../../mod/dfrn_confirm.php:53 ../../addon/facebook/facebook.php:331 -#: ../../include/items.php:2907 ../../index.php:288 +#: ../../mod/dfrn_confirm.php:53 ../../addon/facebook/facebook.php:332 +#: ../../include/items.php:2968 ../../index.php:288 msgid "Permission denied." msgstr "Zugriff verweigert." @@ -88,7 +91,7 @@ msgid "Return to contact editor" msgstr "Zurück zum Kontakteditor" #: ../../mod/crepair.php:148 ../../mod/settings.php:455 -#: ../../mod/settings.php:481 ../../mod/admin.php:464 ../../mod/admin.php:473 +#: ../../mod/settings.php:481 ../../mod/admin.php:480 ../../mod/admin.php:489 msgid "Name" msgstr "Name" @@ -125,33 +128,37 @@ msgid "New photo from this URL" msgstr "Neues Foto von dieser URL" #: ../../mod/crepair.php:166 ../../mod/fsuggest.php:107 -#: ../../mod/events.php:333 ../../mod/photos.php:900 ../../mod/photos.php:958 +#: ../../mod/events.php:400 ../../mod/photos.php:900 ../../mod/photos.php:958 #: ../../mod/photos.php:1182 ../../mod/photos.php:1222 #: ../../mod/photos.php:1262 ../../mod/photos.php:1293 #: ../../mod/install.php:251 ../../mod/install.php:289 #: ../../mod/localtime.php:45 ../../mod/contacts.php:319 #: ../../mod/settings.php:453 ../../mod/settings.php:592 -#: ../../mod/settings.php:773 ../../mod/manage.php:109 ../../mod/group.php:84 -#: ../../mod/group.php:167 ../../mod/admin.php:296 ../../mod/admin.php:461 -#: ../../mod/admin.php:587 ../../mod/admin.php:652 ../../mod/profiles.php:375 -#: ../../mod/invite.php:106 ../../addon/facebook/facebook.php:410 -#: ../../addon/yourls/yourls.php:76 ../../addon/nsfw/nsfw.php:57 +#: ../../mod/settings.php:786 ../../mod/manage.php:109 ../../mod/group.php:84 +#: ../../mod/group.php:167 ../../mod/admin.php:312 ../../mod/admin.php:477 +#: ../../mod/admin.php:603 ../../mod/admin.php:769 ../../mod/admin.php:847 +#: ../../mod/profiles.php:375 ../../mod/invite.php:106 +#: ../../addon/facebook/facebook.php:411 ../../addon/yourls/yourls.php:76 +#: ../../addon/nsfw/nsfw.php:57 #: ../../addon/uhremotestorage/uhremotestorage.php:89 #: ../../addon/randplace/randplace.php:179 ../../addon/drpost/drpost.php:110 #: ../../addon/geonames/geonames.php:187 ../../addon/oembed.old/oembed.php:41 #: ../../addon/impressum/impressum.php:69 ../../addon/blockem/blockem.php:57 +#: ../../addon/qcomment/qcomment.php:60 +#: ../../addon/openstreetmap/openstreetmap.php:70 #: ../../addon/editplain/editplain.php:84 ../../addon/blackout/blackout.php:94 #: ../../addon/pageheader/pageheader.php:52 -#: ../../addon/statusnet/statusnet.php:280 -#: ../../addon/statusnet/statusnet.php:294 +#: ../../addon/statusnet/statusnet.php:273 +#: ../../addon/statusnet/statusnet.php:287 +#: ../../addon/statusnet/statusnet.php:313 #: ../../addon/statusnet/statusnet.php:320 -#: ../../addon/statusnet/statusnet.php:327 -#: ../../addon/statusnet/statusnet.php:349 -#: ../../addon/statusnet/statusnet.php:495 ../../addon/tumblr/tumblr.php:90 +#: ../../addon/statusnet/statusnet.php:345 +#: ../../addon/statusnet/statusnet.php:532 ../../addon/tumblr/tumblr.php:90 #: ../../addon/numfriends/numfriends.php:85 ../../addon/wppost/wppost.php:102 -#: ../../addon/piwik/piwik.php:81 ../../addon/twitter/twitter.php:180 -#: ../../addon/twitter/twitter.php:203 ../../addon/twitter/twitter.php:315 -#: ../../addon/posterous/posterous.php:90 ../../include/conversation.php:515 +#: ../../addon/showmore/showmore.php:48 ../../addon/piwik/piwik.php:89 +#: ../../addon/twitter/twitter.php:175 ../../addon/twitter/twitter.php:201 +#: ../../addon/twitter/twitter.php:355 ../../addon/posterous/posterous.php:90 +#: ../../include/conversation.php:542 msgid "Submit" msgstr "Senden" @@ -193,82 +200,82 @@ msgstr "Kontakte vorschlagen" msgid "Suggest a friend for %s" msgstr "Schlage %s einen Kontakt vor" -#: ../../mod/events.php:61 +#: ../../mod/events.php:62 msgid "Event description and start time are required." msgstr "Ereignis Beschreibung und Startzeit sind erforderlich." -#: ../../mod/events.php:117 ../../include/nav.php:50 ../../boot.php:1345 +#: ../../mod/events.php:230 +msgid "l, F j" +msgstr "l, F j" + +#: ../../mod/events.php:252 +msgid "Edit event" +msgstr "Veranstaltung bearbeiten" + +#: ../../mod/events.php:272 ../../include/text.php:964 +msgid "link to source" +msgstr "Link zum Originalbeitrag" + +#: ../../mod/events.php:296 ../../include/nav.php:50 ../../boot.php:1349 msgid "Events" msgstr "Veranstaltungen" -#: ../../mod/events.php:207 +#: ../../mod/events.php:297 msgid "Create New Event" msgstr "Neue Veranstaltung erstellen" -#: ../../mod/events.php:210 +#: ../../mod/events.php:298 msgid "Previous" msgstr "Vorherige" -#: ../../mod/events.php:213 ../../mod/install.php:210 +#: ../../mod/events.php:299 ../../mod/install.php:210 msgid "Next" msgstr "Nächste" -#: ../../mod/events.php:220 -msgid "l, F j" -msgstr "l, F j" - -#: ../../mod/events.php:235 -msgid "Edit event" -msgstr "Veranstaltung bearbeiten" - -#: ../../mod/events.php:237 ../../include/text.php:883 -msgid "link to source" -msgstr "Link zum Originalbeitrag" - -#: ../../mod/events.php:305 +#: ../../mod/events.php:371 msgid "hour:minute" msgstr "Stunde:Minute" -#: ../../mod/events.php:314 +#: ../../mod/events.php:380 msgid "Event details" msgstr "Veranstaltungsdetails" -#: ../../mod/events.php:315 +#: ../../mod/events.php:381 #, php-format msgid "Format is %s %s. Starting date and Description are required." msgstr "Format ist %s %s. Anfangsdatum und Beschreibung sind notwendig." -#: ../../mod/events.php:316 +#: ../../mod/events.php:383 msgid "Event Starts:" msgstr "Veranstaltungsbeginn:" -#: ../../mod/events.php:319 +#: ../../mod/events.php:386 msgid "Finish date/time is not known or not relevant" msgstr "Enddatum/-zeit ist nicht bekannt oder nicht relevant" -#: ../../mod/events.php:321 +#: ../../mod/events.php:388 msgid "Event Finishes:" msgstr "Veranstaltungsende:" -#: ../../mod/events.php:324 +#: ../../mod/events.php:391 msgid "Adjust for viewer timezone" msgstr "An Zeitzone des Betrachters anpassen" -#: ../../mod/events.php:326 +#: ../../mod/events.php:393 msgid "Description:" msgstr "Beschreibung" -#: ../../mod/events.php:328 ../../include/event.php:37 -#: ../../include/bb2diaspora.php:271 ../../boot.php:976 +#: ../../mod/events.php:395 ../../include/event.php:37 +#: ../../include/bb2diaspora.php:290 ../../boot.php:980 msgid "Location:" msgstr "Ort:" -#: ../../mod/events.php:330 +#: ../../mod/events.php:397 msgid "Share this event" msgstr "Veranstaltung teilen" #: ../../mod/tagrm.php:11 ../../mod/tagrm.php:94 -#: ../../mod/dfrn_request.php:685 ../../mod/settings.php:454 +#: ../../mod/dfrn_request.php:686 ../../mod/settings.php:454 #: ../../mod/settings.php:480 ../../addon/js_upload/js_upload.php:45 msgid "Cancel" msgstr "Abbrechen" @@ -312,24 +319,24 @@ msgid "" " and/or create new posts for you?" msgstr "Möchtest du dieser Anwendung den Zugriff auf deine Beiträge und Kontakte sowie die Erstellung neuer Beiträge in deinem Namen gestatten?" -#: ../../mod/api.php:105 ../../mod/dfrn_request.php:675 +#: ../../mod/api.php:105 ../../mod/dfrn_request.php:676 #: ../../mod/settings.php:681 ../../mod/settings.php:687 #: ../../mod/settings.php:695 ../../mod/settings.php:699 #: ../../mod/settings.php:704 ../../mod/settings.php:710 -#: ../../mod/settings.php:716 ../../mod/settings.php:763 -#: ../../mod/settings.php:764 ../../mod/settings.php:765 -#: ../../mod/settings.php:766 ../../mod/register.php:524 +#: ../../mod/settings.php:716 ../../mod/settings.php:776 +#: ../../mod/settings.php:777 ../../mod/settings.php:778 +#: ../../mod/settings.php:779 ../../mod/register.php:524 #: ../../mod/profiles.php:357 msgid "Yes" msgstr "Ja" -#: ../../mod/api.php:106 ../../mod/dfrn_request.php:676 +#: ../../mod/api.php:106 ../../mod/dfrn_request.php:677 #: ../../mod/settings.php:681 ../../mod/settings.php:687 #: ../../mod/settings.php:695 ../../mod/settings.php:699 #: ../../mod/settings.php:704 ../../mod/settings.php:710 -#: ../../mod/settings.php:716 ../../mod/settings.php:763 -#: ../../mod/settings.php:764 ../../mod/settings.php:765 -#: ../../mod/settings.php:766 ../../mod/register.php:525 +#: ../../mod/settings.php:716 ../../mod/settings.php:776 +#: ../../mod/settings.php:777 ../../mod/settings.php:778 +#: ../../mod/settings.php:779 ../../mod/register.php:525 #: ../../mod/profiles.php:358 msgid "No" msgstr "Nein" @@ -384,8 +391,8 @@ msgstr "wurde getaggt in einem" #: ../../mod/photos.php:528 ../../mod/like.php:127 ../../mod/tagger.php:70 #: ../../addon/communityhome/communityhome.php:163 -#: ../../include/diaspora.php:1587 ../../include/conversation.php:31 -#: ../../include/conversation.php:104 +#: ../../include/diaspora.php:1600 ../../include/conversation.php:53 +#: ../../include/conversation.php:126 msgid "photo" msgstr "Foto" @@ -393,7 +400,7 @@ msgstr "Foto" msgid "by" msgstr "von" -#: ../../mod/photos.php:631 ../../addon/js_upload/js_upload.php:312 +#: ../../mod/photos.php:631 ../../addon/js_upload/js_upload.php:315 msgid "Image exceeds size limit of " msgstr "Die Bildgröße übersteigt das Limit von " @@ -412,8 +419,8 @@ msgid "Image upload failed." msgstr "Hochladen des Bildes gescheitert." #: ../../mod/photos.php:759 ../../mod/community.php:16 -#: ../../mod/dfrn_request.php:624 ../../mod/viewcontacts.php:16 -#: ../../mod/display.php:7 ../../mod/search.php:71 ../../mod/directory.php:31 +#: ../../mod/dfrn_request.php:625 ../../mod/viewcontacts.php:17 +#: ../../mod/display.php:7 ../../mod/search.php:71 ../../mod/directory.php:33 msgid "Public access denied." msgstr "Öffentlicher Zugriff verweigert." @@ -473,7 +480,7 @@ msgstr "Foto bearbeiten" msgid "Use as profile photo" msgstr "Als Profilbild verwenden" -#: ../../mod/photos.php:1078 ../../include/conversation.php:450 +#: ../../mod/photos.php:1078 ../../include/conversation.php:472 msgid "Private Message" msgstr "Private Nachricht" @@ -506,44 +513,44 @@ msgid "" "Example: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping" msgstr "Beispiel: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping" -#: ../../mod/photos.php:1200 ../../include/conversation.php:497 +#: ../../mod/photos.php:1200 ../../include/conversation.php:519 msgid "I like this (toggle)" msgstr "Ich mag das (toggle)" -#: ../../mod/photos.php:1201 ../../include/conversation.php:498 +#: ../../mod/photos.php:1201 ../../include/conversation.php:520 msgid "I don't like this (toggle)" msgstr "Ich mag das nicht (toggle)" -#: ../../mod/photos.php:1202 ../../include/conversation.php:889 +#: ../../mod/photos.php:1202 ../../include/conversation.php:914 msgid "Share" msgstr "Teilen" -#: ../../mod/photos.php:1203 ../../mod/editpost.php:100 +#: ../../mod/photos.php:1203 ../../mod/editpost.php:104 #: ../../mod/message.php:155 ../../mod/message.php:296 -#: ../../include/conversation.php:321 ../../include/conversation.php:652 -#: ../../include/conversation.php:906 +#: ../../include/conversation.php:343 ../../include/conversation.php:677 +#: ../../include/conversation.php:931 msgid "Please wait" msgstr "Bitte warten" #: ../../mod/photos.php:1219 ../../mod/photos.php:1259 -#: ../../mod/photos.php:1290 ../../include/conversation.php:512 +#: ../../mod/photos.php:1290 ../../include/conversation.php:539 msgid "This is you" msgstr "Das bist du" #: ../../mod/photos.php:1221 ../../mod/photos.php:1261 -#: ../../mod/photos.php:1292 ../../include/conversation.php:514 -#: ../../boot.php:443 +#: ../../mod/photos.php:1292 ../../include/conversation.php:541 +#: ../../boot.php:447 msgid "Comment" msgstr "Kommentar" -#: ../../mod/photos.php:1223 ../../mod/editpost.php:119 -#: ../../include/conversation.php:516 ../../include/conversation.php:924 +#: ../../mod/photos.php:1223 ../../mod/editpost.php:123 +#: ../../include/conversation.php:543 ../../include/conversation.php:949 msgid "Preview" msgstr "Vorschau" #: ../../mod/photos.php:1320 ../../mod/settings.php:513 -#: ../../mod/group.php:154 ../../mod/admin.php:468 -#: ../../include/conversation.php:280 ../../include/conversation.php:536 +#: ../../mod/group.php:154 ../../mod/admin.php:484 +#: ../../include/conversation.php:302 ../../include/conversation.php:563 msgid "Delete" msgstr "Löschen" @@ -603,70 +610,70 @@ msgstr "Keine Plugins/Erweiterungen/Apps installiert" msgid "Item not found" msgstr "Beitrag nicht gefunden" -#: ../../mod/editpost.php:32 +#: ../../mod/editpost.php:36 msgid "Edit post" msgstr "Beitrag bearbeiten" -#: ../../mod/editpost.php:76 ../../include/conversation.php:875 +#: ../../mod/editpost.php:80 ../../include/conversation.php:900 msgid "Post to Email" msgstr "An E-Mail senden" -#: ../../mod/editpost.php:91 ../../mod/settings.php:512 -#: ../../include/conversation.php:523 +#: ../../mod/editpost.php:95 ../../mod/settings.php:512 +#: ../../include/conversation.php:550 msgid "Edit" msgstr "Bearbeiten" -#: ../../mod/editpost.php:92 ../../mod/message.php:153 -#: ../../mod/message.php:294 ../../include/conversation.php:890 +#: ../../mod/editpost.php:96 ../../mod/message.php:153 +#: ../../mod/message.php:294 ../../include/conversation.php:915 msgid "Upload photo" msgstr "Foto hochladen" -#: ../../mod/editpost.php:93 ../../include/conversation.php:892 +#: ../../mod/editpost.php:97 ../../include/conversation.php:917 msgid "Attach file" msgstr "Datei anhängen" -#: ../../mod/editpost.php:94 ../../mod/message.php:154 -#: ../../mod/message.php:295 ../../include/conversation.php:894 +#: ../../mod/editpost.php:98 ../../mod/message.php:154 +#: ../../mod/message.php:295 ../../include/conversation.php:919 msgid "Insert web link" msgstr "Weblink einfügen" -#: ../../mod/editpost.php:95 +#: ../../mod/editpost.php:99 msgid "Insert YouTube video" msgstr "YouTube-Video einfügen" -#: ../../mod/editpost.php:96 +#: ../../mod/editpost.php:100 msgid "Insert Vorbis [.ogg] video" msgstr "Vorbis [.ogg] Video einfügen" -#: ../../mod/editpost.php:97 +#: ../../mod/editpost.php:101 msgid "Insert Vorbis [.ogg] audio" msgstr "Vorbis [.ogg] Audio einfügen" -#: ../../mod/editpost.php:98 ../../include/conversation.php:900 +#: ../../mod/editpost.php:102 ../../include/conversation.php:925 msgid "Set your location" msgstr "Deinen Standort festlegen" -#: ../../mod/editpost.php:99 ../../include/conversation.php:902 +#: ../../mod/editpost.php:103 ../../include/conversation.php:927 msgid "Clear browser location" msgstr "Browser-Standort leeren" -#: ../../mod/editpost.php:101 ../../include/conversation.php:907 +#: ../../mod/editpost.php:105 ../../include/conversation.php:932 msgid "Permission settings" msgstr "Berechtigungseinstellungen" -#: ../../mod/editpost.php:109 ../../include/conversation.php:916 +#: ../../mod/editpost.php:113 ../../include/conversation.php:941 msgid "CC: email addresses" msgstr "Cc:-E-Mail-Addressen" -#: ../../mod/editpost.php:110 ../../include/conversation.php:917 +#: ../../mod/editpost.php:114 ../../include/conversation.php:942 msgid "Public post" msgstr "Öffentlicher Beitrag" -#: ../../mod/editpost.php:113 ../../include/conversation.php:905 +#: ../../mod/editpost.php:117 ../../include/conversation.php:930 msgid "Set title" msgstr "Titel setzen" -#: ../../mod/editpost.php:114 ../../include/conversation.php:919 +#: ../../mod/editpost.php:118 ../../include/conversation.php:944 msgid "Example: bob@example.com, mary@example.com" msgstr "Z.B.: bob@example.com, mary@example.com" @@ -775,68 +782,68 @@ msgstr "Bitte bestätige deine Kontaktanfrage bei %s." msgid "Confirm" msgstr "Bestätigen" -#: ../../mod/dfrn_request.php:581 ../../include/items.php:2443 +#: ../../mod/dfrn_request.php:582 ../../include/items.php:2504 msgid "[Name Withheld]" msgstr "[Name Zurückgehalten]" -#: ../../mod/dfrn_request.php:665 +#: ../../mod/dfrn_request.php:666 #, php-format msgid "" "Diaspora members: Please do not use this form. Instead, enter \"%s\" into " "your Diaspora search bar." msgstr "Diaspora-User: Bitte nicht dieses Formular benutzen! Gebt statt dessen \"%s\" in der Diaspora-Suchleiste ein." -#: ../../mod/dfrn_request.php:668 +#: ../../mod/dfrn_request.php:669 msgid "" "Please enter your 'Identity Address' from one of the following supported " "social networks:" msgstr "Bitte gib die Adresse deines Profils in einem der unterstützten sozialen Netzwerke an:" -#: ../../mod/dfrn_request.php:671 +#: ../../mod/dfrn_request.php:672 msgid "Friend/Connection Request" msgstr "Freundschafts-/Kontaktanfrage" -#: ../../mod/dfrn_request.php:672 +#: ../../mod/dfrn_request.php:673 msgid "" "Examples: jojo@demo.friendica.com, http://demo.friendica.com/profile/jojo, " "testuser@identi.ca" msgstr "Beispiele: jojo@demo.friendica.com, http://demo.friendica.com/profile/jojo, testuser@identi.ca" -#: ../../mod/dfrn_request.php:673 +#: ../../mod/dfrn_request.php:674 msgid "Please answer the following:" msgstr "Bitte beantworte folgende Fragen:" -#: ../../mod/dfrn_request.php:674 +#: ../../mod/dfrn_request.php:675 #, php-format msgid "Does %s know you?" msgstr "Kennt %s dich?" -#: ../../mod/dfrn_request.php:677 +#: ../../mod/dfrn_request.php:678 msgid "Add a personal note:" msgstr "Eine persönliche Notiz anfügen:" -#: ../../mod/dfrn_request.php:679 ../../include/contact_selectors.php:76 +#: ../../mod/dfrn_request.php:680 ../../include/contact_selectors.php:76 msgid "Friendica" msgstr "Friendica" -#: ../../mod/dfrn_request.php:680 +#: ../../mod/dfrn_request.php:681 msgid "StatusNet/Federated Social Web" msgstr "StatusNet/Federated Social Web" -#: ../../mod/dfrn_request.php:681 ../../mod/settings.php:548 +#: ../../mod/dfrn_request.php:682 ../../mod/settings.php:548 #: ../../include/contact_selectors.php:80 msgid "Diaspora" msgstr "Diaspora" -#: ../../mod/dfrn_request.php:682 +#: ../../mod/dfrn_request.php:683 msgid "- please share from your own site as noted above" msgstr "- bitte fange von Deiner eigenen Seite aus zu teilen an" -#: ../../mod/dfrn_request.php:683 +#: ../../mod/dfrn_request.php:684 msgid "Your Identity Address:" msgstr "Adresse deines Profils:" -#: ../../mod/dfrn_request.php:684 +#: ../../mod/dfrn_request.php:685 msgid "Submit Request" msgstr "Anfrage abschicken" @@ -1086,7 +1093,7 @@ msgid "Errors encountered creating database tables." msgstr "Fehler aufgetreten während der Erzeugung der Datenbanktabellen." #: ../../mod/localtime.php:12 ../../include/event.php:11 -#: ../../include/bb2diaspora.php:249 +#: ../../include/bb2diaspora.php:268 msgid "l F d, Y \\@ g:i A" msgstr "l F d, Y \\@ g:i A" @@ -1132,7 +1139,7 @@ msgid "is interested in:" msgstr "ist interessiert an:" #: ../../mod/match.php:58 ../../mod/suggest.php:59 -#: ../../include/contact_widgets.php:9 ../../boot.php:926 +#: ../../include/contact_widgets.php:9 ../../boot.php:930 msgid "Connect" msgstr "Verbinden" @@ -1157,165 +1164,187 @@ msgstr "Willkommen zu %s" msgid "Invalid request identifier." msgstr "Invalid request identifier." -#: ../../mod/notifications.php:35 ../../mod/notifications.php:152 -#: ../../mod/notifications.php:198 +#: ../../mod/notifications.php:35 ../../mod/notifications.php:157 +#: ../../mod/notifications.php:203 msgid "Discard" msgstr "Verwerfen" -#: ../../mod/notifications.php:47 ../../mod/notifications.php:151 -#: ../../mod/notifications.php:197 ../../mod/contacts.php:302 +#: ../../mod/notifications.php:47 ../../mod/notifications.php:156 +#: ../../mod/notifications.php:202 ../../mod/contacts.php:302 #: ../../mod/contacts.php:345 msgid "Ignore" msgstr "Ignorieren" -#: ../../mod/notifications.php:71 ../../include/nav.php:109 +#: ../../mod/notifications.php:71 +msgid "System" +msgstr "System" + +#: ../../mod/notifications.php:76 ../../include/nav.php:109 msgid "Network" msgstr "Netzwerk" -#: ../../mod/notifications.php:76 ../../mod/network.php:177 +#: ../../mod/notifications.php:81 ../../mod/network.php:177 msgid "Personal" msgstr "Persönlich" -#: ../../mod/notifications.php:81 ../../include/nav.php:73 +#: ../../mod/notifications.php:86 ../../include/nav.php:73 #: ../../include/nav.php:111 msgid "Home" msgstr "Pinnwand" -#: ../../mod/notifications.php:86 ../../include/nav.php:117 +#: ../../mod/notifications.php:91 ../../include/nav.php:117 msgid "Introductions" msgstr "Kontaktanfragen" -#: ../../mod/notifications.php:91 ../../mod/message.php:76 -#: ../../include/nav.php:123 +#: ../../mod/notifications.php:96 ../../mod/message.php:76 +#: ../../include/nav.php:124 msgid "Messages" msgstr "Nachrichten" -#: ../../mod/notifications.php:110 +#: ../../mod/notifications.php:115 msgid "Show Ignored Requests" msgstr "Zeige ignorierte Anfragen" -#: ../../mod/notifications.php:110 +#: ../../mod/notifications.php:115 msgid "Hide Ignored Requests" msgstr "Verberge ignorierte Anfragen" -#: ../../mod/notifications.php:136 ../../mod/notifications.php:182 +#: ../../mod/notifications.php:141 ../../mod/notifications.php:187 msgid "Notification type: " msgstr "Benachrichtigungstyp: " -#: ../../mod/notifications.php:137 +#: ../../mod/notifications.php:142 msgid "Friend Suggestion" msgstr "Kontaktvorschlag" -#: ../../mod/notifications.php:139 +#: ../../mod/notifications.php:144 #, php-format msgid "suggested by %s" msgstr "vorgeschlagen von %s" -#: ../../mod/notifications.php:144 ../../mod/notifications.php:191 +#: ../../mod/notifications.php:149 ../../mod/notifications.php:196 #: ../../mod/contacts.php:350 msgid "Hide this contact from others" msgstr "Verberge diesen Kontakt vor anderen" -#: ../../mod/notifications.php:145 ../../mod/notifications.php:192 +#: ../../mod/notifications.php:150 ../../mod/notifications.php:197 msgid "Post a new friend activity" msgstr "Neue-Kontakt Nachricht senden" -#: ../../mod/notifications.php:145 ../../mod/notifications.php:192 +#: ../../mod/notifications.php:150 ../../mod/notifications.php:197 msgid "if applicable" msgstr "falls anwendbar" -#: ../../mod/notifications.php:148 ../../mod/notifications.php:195 -#: ../../mod/admin.php:466 +#: ../../mod/notifications.php:153 ../../mod/notifications.php:200 +#: ../../mod/admin.php:482 msgid "Approve" msgstr "Genehmigen" -#: ../../mod/notifications.php:168 +#: ../../mod/notifications.php:173 msgid "Claims to be known to you: " msgstr "Behauptet dich zu kennen: " -#: ../../mod/notifications.php:168 +#: ../../mod/notifications.php:173 msgid "yes" msgstr "ja" -#: ../../mod/notifications.php:168 +#: ../../mod/notifications.php:173 msgid "no" msgstr "nein" -#: ../../mod/notifications.php:175 +#: ../../mod/notifications.php:180 msgid "Approve as: " msgstr "Genehmigen als: " -#: ../../mod/notifications.php:176 +#: ../../mod/notifications.php:181 msgid "Friend" msgstr "Freund" -#: ../../mod/notifications.php:177 +#: ../../mod/notifications.php:182 msgid "Sharer" msgstr "Teilenden" -#: ../../mod/notifications.php:177 +#: ../../mod/notifications.php:182 msgid "Fan/Admirer" msgstr "Fan/Verehrer" -#: ../../mod/notifications.php:183 +#: ../../mod/notifications.php:188 msgid "Friend/Connect Request" msgstr "Kontakt-/Freundschaftsanfrage" -#: ../../mod/notifications.php:183 +#: ../../mod/notifications.php:188 msgid "New Follower" msgstr "Neuer Bewunderer" -#: ../../mod/notifications.php:204 +#: ../../mod/notifications.php:209 msgid "No introductions." msgstr "Keine Kontaktanfragen." -#: ../../mod/notifications.php:207 ../../mod/notifications.php:293 -#: ../../mod/notifications.php:388 ../../mod/notifications.php:469 -#: ../../include/nav.php:118 +#: ../../mod/notifications.php:212 ../../include/nav.php:118 msgid "Notifications" msgstr "Benachrichtigungen" -#: ../../mod/notifications.php:244 ../../mod/notifications.php:339 -#: ../../mod/notifications.php:426 +#: ../../mod/notifications.php:249 ../../mod/notifications.php:374 +#: ../../mod/notifications.php:461 #, php-format msgid "%s liked %s's post" msgstr "%s mag %ss Beitrag" -#: ../../mod/notifications.php:253 ../../mod/notifications.php:348 -#: ../../mod/notifications.php:435 +#: ../../mod/notifications.php:258 ../../mod/notifications.php:383 +#: ../../mod/notifications.php:470 #, php-format msgid "%s disliked %s's post" msgstr "%s mag %ss Beitrag nicht" -#: ../../mod/notifications.php:267 ../../mod/notifications.php:362 -#: ../../mod/notifications.php:449 +#: ../../mod/notifications.php:272 ../../mod/notifications.php:397 +#: ../../mod/notifications.php:484 #, php-format msgid "%s is now friends with %s" msgstr "%s ist jetzt mit %s befreundet" -#: ../../mod/notifications.php:274 ../../mod/notifications.php:369 +#: ../../mod/notifications.php:279 ../../mod/notifications.php:404 #, php-format msgid "%s created a new post" msgstr "%s hat einen neuen Beitrag erstellt" -#: ../../mod/notifications.php:275 ../../mod/notifications.php:370 -#: ../../mod/notifications.php:458 +#: ../../mod/notifications.php:280 ../../mod/notifications.php:405 +#: ../../mod/notifications.php:493 #, php-format msgid "%s commented on %s's post" msgstr "%s hat %ss Beitrag kommentiert" -#: ../../mod/notifications.php:289 +#: ../../mod/notifications.php:294 msgid "No more network notifications." msgstr "Keine weiteren Netzwerk-Benachrichtigungen." -#: ../../mod/notifications.php:384 +#: ../../mod/notifications.php:298 +msgid "Network Notifications" +msgstr "Netzwerk Benachrichtigungen" + +#: ../../mod/notifications.php:324 ../../mod/notify.php:59 +msgid "No more system notifications." +msgstr "Keine weiteren System Benachrichtigungen." + +#: ../../mod/notifications.php:328 ../../mod/notify.php:63 +msgid "System Notifications" +msgstr "System Benachrichtigungen" + +#: ../../mod/notifications.php:419 msgid "No more personal notifications." msgstr "Keine weiteren persönlichen Benachrichtigungen" -#: ../../mod/notifications.php:465 +#: ../../mod/notifications.php:423 +msgid "Personal Notifications" +msgstr "Persönliche Benachrichtigungen" + +#: ../../mod/notifications.php:500 msgid "No more home notifications." msgstr "Keine weiteren Pinnwand-Benachrichtigungen" +#: ../../mod/notifications.php:504 +msgid "Home Notifications" +msgstr "Pinnwand Benachrichtigungen" + #: ../../mod/contacts.php:63 ../../mod/contacts.php:143 msgid "Could not access contact record." msgstr "Konnte nicht auf die Kontaktdaten zugreifen." @@ -1338,11 +1367,11 @@ msgstr "Kontakt wurde wieder freigegeben" #: ../../mod/contacts.php:179 msgid "Contact has been ignored" -msgstr "Der Kontakt wurde ignoriert" +msgstr "Kontakt wurde ignoriert" #: ../../mod/contacts.php:179 msgid "Contact has been unignored" -msgstr "Kontakt wurde ignoriert" +msgstr "Kontakt wird nicht mehr ignoriert" #: ../../mod/contacts.php:200 msgid "stopped following" @@ -1404,12 +1433,12 @@ msgid "View all contacts" msgstr "Alle Kontakte anzeigen" #: ../../mod/contacts.php:297 ../../mod/contacts.php:344 -#: ../../mod/admin.php:470 +#: ../../mod/admin.php:486 msgid "Unblock" msgstr "Entsperren" #: ../../mod/contacts.php:297 ../../mod/contacts.php:344 -#: ../../mod/admin.php:469 +#: ../../mod/admin.php:485 msgid "Block" msgstr "Sperren" @@ -1444,8 +1473,8 @@ msgstr "Kontakt Informationen / Notizen" msgid "Edit contact notes" msgstr "Notizen zum Kontakt bearbiten" -#: ../../mod/contacts.php:328 ../../mod/contacts.php:458 -#: ../../mod/viewcontacts.php:61 +#: ../../mod/contacts.php:328 ../../mod/contacts.php:497 +#: ../../mod/viewcontacts.php:60 #, php-format msgid "Visit %s's profile [%s]" msgstr "Besuche %ss Profil [%s]" @@ -1478,7 +1507,7 @@ msgstr "letzte Aktualisierung:" msgid "Update public posts" msgstr "Öffentliche Beiträge aktualisieren" -#: ../../mod/contacts.php:341 ../../mod/admin.php:701 +#: ../../mod/contacts.php:341 ../../mod/admin.php:896 msgid "Update now" msgstr "Jetzt aktualisieren" @@ -1495,52 +1524,60 @@ msgid "" "Replies/likes to your public posts <strong>may</strong> still be visible" msgstr "Antworten/Likes auf deine öffentlichen Beiträge <strong>könnten</strong> weiterhin sichtbar sein" -#: ../../mod/contacts.php:387 ../../include/nav.php:131 -msgid "Contacts" -msgstr "Kontakte" +#: ../../mod/contacts.php:399 ../../mod/group.php:194 +msgid "All Contacts" +msgstr "Alle Kontakte" -#: ../../mod/contacts.php:389 -msgid "Show Unblocked Contacts" -msgstr "Nicht geblockte Kontakte anzeigen" +#: ../../mod/contacts.php:404 +msgid "Unblocked Contacts" +msgstr "Nicht blockierte Kontakte" -#: ../../mod/contacts.php:389 -msgid "Show Blocked Contacts" -msgstr "Blockierte Kontakte anzeigen" +#: ../../mod/contacts.php:410 +msgid "Blocked Contacts" +msgstr "Blockierte Kontakte" -#: ../../mod/contacts.php:391 -msgid "Show All Contacts" -msgstr "Alle Kontakte anzeigen" +#: ../../mod/contacts.php:416 +msgid "Ignored Contacts" +msgstr "Ignorierte Kontakte" -#: ../../mod/contacts.php:393 -msgid "Search your contacts" -msgstr "Suche in deinen Kontakten" +#: ../../mod/contacts.php:422 +msgid "Hidden Contacts" +msgstr "Verborgene Kontakte" -#: ../../mod/contacts.php:394 ../../mod/directory.php:65 -msgid "Finding: " -msgstr "Funde: " - -#: ../../mod/contacts.php:395 ../../mod/directory.php:67 -#: ../../include/contact_widgets.php:34 -msgid "Find" -msgstr "Finde" - -#: ../../mod/contacts.php:434 +#: ../../mod/contacts.php:473 msgid "Mutual Friendship" msgstr "Beidseitige Freundschaft" -#: ../../mod/contacts.php:438 +#: ../../mod/contacts.php:477 msgid "is a fan of yours" msgstr "ist ein Fan von dir" -#: ../../mod/contacts.php:442 +#: ../../mod/contacts.php:481 msgid "you are a fan of" msgstr "du bist Fan von" -#: ../../mod/contacts.php:459 ../../include/Contact.php:135 -#: ../../include/conversation.php:748 +#: ../../mod/contacts.php:498 ../../include/Contact.php:135 +#: ../../include/conversation.php:773 msgid "Edit contact" msgstr "Kontakt bearbeiten" +#: ../../mod/contacts.php:518 ../../include/nav.php:132 +msgid "Contacts" +msgstr "Kontakte" + +#: ../../mod/contacts.php:522 +msgid "Search your contacts" +msgstr "Suche in deinen Kontakten" + +#: ../../mod/contacts.php:523 ../../mod/directory.php:67 +msgid "Finding: " +msgstr "Funde: " + +#: ../../mod/contacts.php:524 ../../mod/directory.php:69 +#: ../../include/contact_widgets.php:34 +msgid "Find" +msgstr "Finde" + #: ../../mod/lostpass.php:16 msgid "No valid account found." msgstr "Kein gültiger Account gefunden." @@ -1557,7 +1594,7 @@ msgstr "Anfrage zum Zurücksetzen des Passworts auf %s erhalten" #: ../../mod/lostpass.php:44 ../../mod/lostpass.php:106 #: ../../mod/register.php:380 ../../mod/register.php:434 #: ../../mod/regmod.php:54 ../../mod/dfrn_confirm.php:716 -#: ../../include/items.php:2452 +#: ../../include/items.php:2513 msgid "Administrator" msgstr "Administrator" @@ -1567,7 +1604,7 @@ msgid "" "Password reset failed." msgstr "Anfrage konnte nicht verifiziert werden. (Eventuell hast du bereits ähnliche Anfrage gestellt.) Zurücksetzen des Passworts gescheitert." -#: ../../mod/lostpass.php:82 ../../boot.php:719 +#: ../../mod/lostpass.php:82 ../../boot.php:723 msgid "Password Reset" msgstr "Passwort zurücksetzen" @@ -1615,7 +1652,7 @@ msgstr "Zurücksetzen" msgid "Missing some important data!" msgstr "Wichtige Daten fehlen!" -#: ../../mod/settings.php:73 ../../mod/settings.php:479 ../../mod/admin.php:62 +#: ../../mod/settings.php:73 ../../mod/settings.php:479 ../../mod/admin.php:75 msgid "Update" msgstr "Aktualisierungen" @@ -1657,15 +1694,16 @@ msgstr " Keine gültige E-Mail." #: ../../mod/settings.php:283 msgid " Cannot change to that email." -msgstr " Cannot change to that email." +msgstr "Ändern der E-Mail nicht möglich. " -#: ../../mod/settings.php:351 ../../addon/facebook/facebook.php:320 -#: ../../addon/impressum/impressum.php:64 ../../addon/piwik/piwik.php:94 -#: ../../addon/twitter/twitter.php:310 +#: ../../mod/settings.php:351 ../../addon/facebook/facebook.php:321 +#: ../../addon/impressum/impressum.php:64 +#: ../../addon/openstreetmap/openstreetmap.php:80 +#: ../../addon/piwik/piwik.php:105 ../../addon/twitter/twitter.php:350 msgid "Settings updated." msgstr "Einstellungen aktualisiert." -#: ../../mod/settings.php:415 ../../include/nav.php:129 +#: ../../mod/settings.php:415 ../../include/nav.php:130 msgid "Account settings" msgstr "Account Einstellungen" @@ -1691,12 +1729,12 @@ msgid "Add application" msgstr "Programm hinzufügen" #: ../../mod/settings.php:456 ../../mod/settings.php:482 -#: ../../addon/statusnet/statusnet.php:489 +#: ../../addon/statusnet/statusnet.php:526 msgid "Consumer Key" msgstr "Consumer Key" #: ../../mod/settings.php:457 ../../mod/settings.php:483 -#: ../../addon/statusnet/statusnet.php:488 +#: ../../addon/statusnet/statusnet.php:525 msgid "Consumer Secret" msgstr "Consumer Secret" @@ -1807,7 +1845,7 @@ msgstr "Reply-to Adresse:" msgid "Send public posts to all email contacts:" msgstr "Sende öffentliche Beiträge an alle E-Mail-Kontakte:" -#: ../../mod/settings.php:648 ../../mod/admin.php:126 ../../mod/admin.php:443 +#: ../../mod/settings.php:648 ../../mod/admin.php:142 ../../mod/admin.php:459 msgid "Normal Account" msgstr "Normaler Account" @@ -1815,7 +1853,7 @@ msgstr "Normaler Account" msgid "This account is a normal personal profile" msgstr "Dieser Account ist ein normales persönliches Profil" -#: ../../mod/settings.php:652 ../../mod/admin.php:127 ../../mod/admin.php:444 +#: ../../mod/settings.php:652 ../../mod/admin.php:143 ../../mod/admin.php:460 msgid "Soapbox Account" msgstr "Sandkasten-Account" @@ -1823,7 +1861,7 @@ msgstr "Sandkasten-Account" msgid "Automatically approve all connection/friend requests as read-only fans" msgstr "Freundschaftsanfragen werden automatisch als Nurlese-Fans akzeptiert" -#: ../../mod/settings.php:656 ../../mod/admin.php:128 ../../mod/admin.php:445 +#: ../../mod/settings.php:656 ../../mod/admin.php:144 ../../mod/admin.php:461 msgid "Community/Celebrity Account" msgstr "Gemeinschafts/Promi-Account" @@ -1832,7 +1870,7 @@ msgid "" "Automatically approve all connection/friend requests as read-write fans" msgstr "Freundschaftsanfragen werden automatisch als Lese-und-Schreib-Fans akzeptiert" -#: ../../mod/settings.php:660 ../../mod/admin.php:129 ../../mod/admin.php:446 +#: ../../mod/settings.php:660 ../../mod/admin.php:145 ../../mod/admin.php:462 msgid "Automatic Friend Account" msgstr "Automatischer Freundesaccount" @@ -1880,159 +1918,159 @@ msgstr "Erlaube uns dich als potentiellen Kontakt für neue Mitglieder vorzuschl msgid "Profile is <strong>not published</strong>." msgstr "Profil ist <strong>nicht veröffentlicht</strong>." -#: ../../mod/settings.php:744 ../../mod/profile_photo.php:206 +#: ../../mod/settings.php:757 ../../mod/profile_photo.php:206 msgid "or" msgstr "oder" -#: ../../mod/settings.php:749 +#: ../../mod/settings.php:762 msgid "Your Identity Address is" msgstr "Die Adresse deines Profils lautet:" -#: ../../mod/settings.php:760 +#: ../../mod/settings.php:773 msgid "Automatically expire posts after this many days:" msgstr "Beiträge verfallen automatisch nach dieser Anzahl von Tagen" -#: ../../mod/settings.php:760 +#: ../../mod/settings.php:773 msgid "If empty, posts will not expire. Expired posts will be deleted" msgstr "Wenn leer verfallen Beiträge nie automatisch. Verfallene Beiträge werden gelöscht." -#: ../../mod/settings.php:761 +#: ../../mod/settings.php:774 msgid "Advanced expiration settings" msgstr "Erweiterte Verfallseinstellungen" -#: ../../mod/settings.php:762 +#: ../../mod/settings.php:775 msgid "Advanced Expiration" msgstr "Erweitertes Verfallen" -#: ../../mod/settings.php:763 +#: ../../mod/settings.php:776 msgid "Expire posts:" msgstr "Beiträge verfallen lassen:" -#: ../../mod/settings.php:764 +#: ../../mod/settings.php:777 msgid "Expire personal notes:" msgstr "Persönliche Notizen verfallen lassen:" -#: ../../mod/settings.php:765 +#: ../../mod/settings.php:778 msgid "Expire starred posts:" msgstr "Markierte Beiträge verfallen lassen:" -#: ../../mod/settings.php:766 +#: ../../mod/settings.php:779 msgid "Expire photos:" msgstr "Fotos verfallen lassen:" -#: ../../mod/settings.php:771 +#: ../../mod/settings.php:784 msgid "Account Settings" msgstr "Account-Einstellungen" -#: ../../mod/settings.php:779 +#: ../../mod/settings.php:792 msgid "Password Settings" msgstr "Passwort-Einstellungen" -#: ../../mod/settings.php:780 +#: ../../mod/settings.php:793 msgid "New Password:" msgstr "Neues Passwort:" -#: ../../mod/settings.php:781 +#: ../../mod/settings.php:794 msgid "Confirm:" msgstr "Bestätigen:" -#: ../../mod/settings.php:781 +#: ../../mod/settings.php:794 msgid "Leave password fields blank unless changing" msgstr "Lass die Passwort-Felder leer, außer du willst das Passwort ändern" -#: ../../mod/settings.php:785 +#: ../../mod/settings.php:798 msgid "Basic Settings" msgstr "Grundeinstellungen" -#: ../../mod/settings.php:786 ../../include/profile_advanced.php:15 +#: ../../mod/settings.php:799 ../../include/profile_advanced.php:15 msgid "Full Name:" msgstr "Kompletter Name:" -#: ../../mod/settings.php:787 +#: ../../mod/settings.php:800 msgid "Email Address:" msgstr "Emailadresse:" -#: ../../mod/settings.php:788 +#: ../../mod/settings.php:801 msgid "Your Timezone:" msgstr "Deine Zeitzone:" -#: ../../mod/settings.php:789 +#: ../../mod/settings.php:802 msgid "Default Post Location:" msgstr "Standardstandort:" -#: ../../mod/settings.php:790 +#: ../../mod/settings.php:803 msgid "Use Browser Location:" msgstr "Verwende den Standort des Browsers:" -#: ../../mod/settings.php:791 +#: ../../mod/settings.php:804 msgid "Display Theme:" msgstr "Theme:" -#: ../../mod/settings.php:792 +#: ../../mod/settings.php:805 msgid "Update browser every xx seconds" msgstr "Browser alle xx Sekunden aktualisieren" -#: ../../mod/settings.php:792 +#: ../../mod/settings.php:805 msgid "Minimum of 10 seconds, no maximum" msgstr "Minimal 10 Sekunden, kein Maximum" -#: ../../mod/settings.php:794 +#: ../../mod/settings.php:807 msgid "Security and Privacy Settings" msgstr "Sicherheits- und Privatsphäre-Einstellungen" -#: ../../mod/settings.php:796 +#: ../../mod/settings.php:809 msgid "Maximum Friend Requests/Day:" msgstr "Maximale Anzahl von Freundschaftsanfragen/Tag:" -#: ../../mod/settings.php:796 +#: ../../mod/settings.php:809 msgid "(to prevent spam abuse)" msgstr "(um SPAM zu vermeiden)" -#: ../../mod/settings.php:797 +#: ../../mod/settings.php:810 msgid "Default Post Permissions" msgstr "Standard-Zugriffsrechte für Beiträge" -#: ../../mod/settings.php:798 +#: ../../mod/settings.php:811 msgid "(click to open/close)" msgstr "(klicke zum öffnen/schließen)" -#: ../../mod/settings.php:813 +#: ../../mod/settings.php:826 msgid "Notification Settings" msgstr "Benachrichtigungseinstellungen" -#: ../../mod/settings.php:814 +#: ../../mod/settings.php:827 msgid "Send a notification email when:" msgstr "Benachrichtigungs-E-Mail senden wenn:" -#: ../../mod/settings.php:815 +#: ../../mod/settings.php:828 msgid "You receive an introduction" msgstr "Du eine Kontaktanfrage erhältst" -#: ../../mod/settings.php:816 +#: ../../mod/settings.php:829 msgid "Your introductions are confirmed" msgstr "Eine deiner Kontaktanfragen akzeptiert wurde" -#: ../../mod/settings.php:817 +#: ../../mod/settings.php:830 msgid "Someone writes on your profile wall" -msgstr "Jemand etwas auf deine Pinnwand schreibt" +msgstr "Jemand schreibt etwas auf deine Pinnwand" -#: ../../mod/settings.php:818 +#: ../../mod/settings.php:831 msgid "Someone writes a followup comment" -msgstr "Jemand auch einen Kommentar verfasst" +msgstr "Jemand verfasst auch einen Kommentar" -#: ../../mod/settings.php:819 +#: ../../mod/settings.php:832 msgid "You receive a private message" -msgstr "Du eine private Nachricht erhältst" +msgstr "Du erhältst eine private Nachricht" -#: ../../mod/settings.php:820 +#: ../../mod/settings.php:833 msgid "You receive a friend suggestion" msgstr "Du eine Empfehlung erhältst" -#: ../../mod/settings.php:821 +#: ../../mod/settings.php:834 msgid "You are tagged in a post" msgstr "Du wurdest in einem Beitrag erwähnt" -#: ../../mod/settings.php:824 +#: ../../mod/settings.php:837 msgid "Advanced Page Settings" msgstr "Erweiterte Seiten-Einstellungen" @@ -2098,31 +2136,31 @@ msgstr[1] "Warnung: Diese Gruppe beinhaltet %s Personen aus unsicheren Netzwerke msgid "Private messages to this group are at risk of public disclosure." msgstr "Private Nachrichten an diese Gruppe könnten an die Öffentlichkeit geraten." -#: ../../mod/network.php:304 +#: ../../mod/network.php:300 msgid "No such group" msgstr "Es gibt keine solche Gruppe" -#: ../../mod/network.php:315 +#: ../../mod/network.php:311 msgid "Group is empty" msgstr "Gruppe ist leer" -#: ../../mod/network.php:319 +#: ../../mod/network.php:315 msgid "Group: " msgstr "Gruppe: " -#: ../../mod/network.php:329 +#: ../../mod/network.php:325 msgid "Contact: " msgstr "Kontakt: " -#: ../../mod/network.php:331 +#: ../../mod/network.php:327 msgid "Private messages to this person are at risk of public disclosure." msgstr "Private Nachrichten an diese Person könnten an die Öffentlichkeit gelangen." -#: ../../mod/network.php:336 +#: ../../mod/network.php:332 msgid "Invalid contact." msgstr "Ungültiger Kontakt." -#: ../../mod/notes.php:44 ../../boot.php:1350 +#: ../../mod/notes.php:44 ../../boot.php:1354 msgid "Personal Notes" msgstr "Persönliche Notizen" @@ -2141,14 +2179,17 @@ msgstr "Checkliste für neue Mitglieder" #: ../../mod/newmember.php:12 msgid "" "We would like to offer some tips and links to help make your experience " -"enjoyable. Click any item to visit the relevant page." -msgstr "Wir möchten dir einige Tipps und Links anbieten, um deine Erfahrung mit Friendica so angenehm wie möglich zu machen. Klicke einfach einen Aspekt an, um weitere Informationen zu erhalten." +"enjoyable. Click any item to visit the relevant page. A link to this page " +"will be visible from your home page for two weeks after your initial " +"registration and then will quietly disappear." +msgstr "Wir möchten Dir einige Tipps und Links anbieten, die Dir helfen könnten, den Einstieg angenehmer zu machen. Klicke auf ein Element, um die entsprechende Seite zu besuchen. Ein Link zu dieser Seite hier bleibt sichtbar über Deine Pinnwand für zwei Wochen nach dem Registrierungsdatum und wird dann verschwinden." #: ../../mod/newmember.php:16 msgid "" "On your <em>Settings</em> page - change your initial password. Also make a " -"note of your Identity Address. This will be useful in making friends." -msgstr "Ändere dein anfängliches Passwort auf der <em>Einstellungen</em> Seite. Bei dieser Gelegenheit solltest du dir die Adresse deines Profils merken, diese wird benötigt um mit Anderen in Kontakt zu treten." +"note of your Identity Address. This looks just like an email address - and " +"will be useful in making friends on the free social web." +msgstr "Ändere bitte unter <em>Einstellungen</em> Dein Passwort. Außerdem merke Dir Deine Indentifikations Adresse. Diese sieht aus wie eine E-Mail Adresse und wird benötig um Freunschaften mit anderen im Friendica Netzwerk zu schliessen." #: ../../mod/newmember.php:18 msgid "" @@ -2171,49 +2212,64 @@ msgid "" "and we will (optionally) import all your Facebook friends and conversations." msgstr "Richte die Verbindung zu Facebook ein, wenn du im Augenblick ein Facebook Konto hast und (optional) deine Facebook Freunde und Unterhaltungen importieren willst." -#: ../../mod/newmember.php:28 +#: ../../mod/newmember.php:25 +msgid "" +"<em>If</em> this is your own personal server, installing the Facebook addon " +"may ease your transition to the free social web." +msgstr "<em>Wenn</em> dies dein privater Server ist könnte die Installation des Facebook Connectors deinen Umzug ins freie Soziale Netz angenehmer gestalten." + +#: ../../mod/newmember.php:30 msgid "" "Enter your email access information on your Connector Settings page if you " "wish to import and interact with friends or mailing lists from your email " "INBOX" msgstr "Gib deine E-Mail-Zugangsinformationen auf der Connector-Einstellungsseite ein, falls du E-Mails aus deinem Posteingang importieren und mit Freunden und Mailinglisten interagieren willlst." -#: ../../mod/newmember.php:30 +#: ../../mod/newmember.php:32 msgid "" "Edit your <strong>default</strong> profile to your liking. Review the " "settings for hiding your list of friends and hiding the profile from unknown" " visitors." msgstr "Editiere dein <strong>Standard</strong> Profil nach deinen Vorlieben. Ãœberprüfe die Einstellungen zum Verbergen deiner Freundesliste vor unbekannten Betrachtern des Profils." -#: ../../mod/newmember.php:32 +#: ../../mod/newmember.php:34 msgid "" "Set some public keywords for your default profile which describe your " "interests. We may be able to find other people with similar interests and " "suggest friendships." msgstr "Trage ein paar öffentliche Stichwörter in dein Standardprofil ein, die deine Interessen beschreiben. Eventuell sind wir in der Lage Leute zu finden, die deine Interessen teilen und können dir dann Kontakte vorschlagen." -#: ../../mod/newmember.php:34 +#: ../../mod/newmember.php:36 msgid "" "Your Contacts page is your gateway to managing friendships and connecting " "with friends on other networks. Typically you enter their address or site " "URL in the <em>Add New Contact</em> dialog." msgstr "Die Kontakte-Seite ist die Einstiegsseite, von der aus du Kontakte verwalten und dich mit Freunden in anderen Netzwerken verbinden kannst. Normalerweise gibst du dazu einfach ihre Adresse oder die URL der Seite im Kasten <em>Neuen Kontakt hinzufügen</em> ein." -#: ../../mod/newmember.php:36 +#: ../../mod/newmember.php:38 msgid "" "The Directory page lets you find other people in this network or other " "federated sites. Look for a <em>Connect</em> or <em>Follow</em> link on " "their profile page. Provide your own Identity Address if requested." msgstr "Ãœber die Verzeichnisseite kannst du andere Personen auf diesem Server oder anderen verteilten Seiten finden. Halte nach einem <em>Verbinden</em> oder <em>Folgen</em> Link auf deren Profilseiten Ausschau und gib deine eigene Profiladresse an falls du danach gefragt wirst." -#: ../../mod/newmember.php:38 +#: ../../mod/newmember.php:40 +msgid "" +"On the side panel of the Contacts page are several tools to find new " +"friends. We can match people by interest, look up people by name or " +"interest, and provide suggestions based on network relationships. On a brand" +" new site, friend suggestions will usually begin to be populated within 24 " +"hours." +msgstr "Im seitlichen Bedienfeld der Kontakte-Seite gibt es diverse Werkzeuge, um neue Freunde zu finden. Wir können Menschen mit den gleichen Interessen finden, anhand von Namen oder Interessen suchen oder aber aufgrund vorhandener Kontakte neue Freunde vorschlagen.\nAuf einer brandneuen - soeben erstellten - Seite starten die Kontaktvorschläge innerhalb von 24 Stunden." + +#: ../../mod/newmember.php:42 msgid "" "Once you have made some friends, organize them into private conversation " "groups from the sidebar of your Contacts page and then you can interact with" " each group privately on your Network page." msgstr "Sobald du einige Freunde gefunden hast, organisiere sie in Gruppen zur privaten Kommunikation im Seitenmenü der Kontakte-Seite. Du kannst dann mit jeder dieser Gruppen von der Netzwerkseite aus privat interagieren." -#: ../../mod/newmember.php:40 +#: ../../mod/newmember.php:44 msgid "" "Our <strong>help</strong> pages may be consulted for detail on other program" " features and resources." @@ -2275,10 +2331,6 @@ msgstr "Gruppeneditor" msgid "Members" msgstr "Mitglieder" -#: ../../mod/group.php:194 -msgid "All Contacts" -msgstr "Alle Kontakte" - #: ../../mod/profperm.php:25 ../../mod/profperm.php:55 msgid "Invalid profile identifier." msgstr "Ungültiger Profil-Bezeichner" @@ -2289,7 +2341,7 @@ msgstr "Editor für die Profil-Sichtbarkeit" #: ../../mod/profperm.php:103 ../../include/profile_advanced.php:7 #: ../../include/profile_advanced.php:76 ../../include/nav.php:48 -#: ../../boot.php:1332 +#: ../../boot.php:1336 msgid "Profile" msgstr "Profil" @@ -2301,14 +2353,14 @@ msgstr "Sichtbar für" msgid "All Contacts (with secure profile access)" msgstr "Alle Kontakte (mit gesichertem Profilzugriff)" -#: ../../mod/viewcontacts.php:25 ../../include/text.php:578 -msgid "View Contacts" -msgstr "Kontakte anzeigen" - -#: ../../mod/viewcontacts.php:40 +#: ../../mod/viewcontacts.php:39 msgid "No contacts." msgstr "Keine Kontakte." +#: ../../mod/viewcontacts.php:73 ../../include/text.php:578 +msgid "View Contacts" +msgstr "Kontakte anzeigen" + #: ../../mod/register.php:62 msgid "An invitation is required." msgstr "Du benötigst eine Einladung." @@ -2361,7 +2413,7 @@ msgstr "Dieser Spitzname ist bereits vergeben. Bitte wähle einen anderen." #: ../../mod/register.php:170 msgid "SERIOUS ERROR: Generation of security keys failed." -msgstr "SERIOUS ERROR: Generation of security keys failed." +msgstr "FATALER FEHLER: Sicherheitsschlüssel konnten nicht erzeugt werden." #: ../../mod/register.php:238 msgid "An error occurred during registration. Please try again." @@ -2432,7 +2484,7 @@ msgstr "Mitgliedschaft auf dieser Seite ist nur nach vorheriger Einladung mögli msgid "Your invitation ID: " msgstr "ID deiner Einladung: " -#: ../../mod/register.php:540 ../../mod/admin.php:297 +#: ../../mod/register.php:540 ../../mod/admin.php:313 msgid "Registration" msgstr "Registrierung" @@ -2455,7 +2507,7 @@ msgstr "Wähle einen Spitznamen für dein Profil. Dieser muss mit einem Buchstab msgid "Choose a nickname: " msgstr "Spitznamen wählen: " -#: ../../mod/register.php:554 ../../include/nav.php:77 ../../boot.php:689 +#: ../../mod/register.php:554 ../../include/nav.php:77 ../../boot.php:693 msgid "Register" msgstr "Registrieren" @@ -2464,30 +2516,31 @@ msgid "People Search" msgstr "Personen Suche" #: ../../mod/like.php:127 ../../mod/tagger.php:70 -#: ../../addon/facebook/facebook.php:1091 +#: ../../addon/facebook/facebook.php:1092 #: ../../addon/communityhome/communityhome.php:158 #: ../../addon/communityhome/communityhome.php:167 -#: ../../include/diaspora.php:1587 ../../include/conversation.php:26 -#: ../../include/conversation.php:35 ../../include/conversation.php:99 -#: ../../include/conversation.php:108 +#: ../../include/diaspora.php:1600 ../../include/conversation.php:48 +#: ../../include/conversation.php:57 ../../include/conversation.php:121 +#: ../../include/conversation.php:130 msgid "status" msgstr "Status" -#: ../../mod/like.php:144 ../../addon/facebook/facebook.php:1095 +#: ../../mod/like.php:144 ../../addon/facebook/facebook.php:1096 #: ../../addon/communityhome/communityhome.php:172 -#: ../../include/diaspora.php:1603 ../../include/conversation.php:43 +#: ../../include/diaspora.php:1616 ../../include/conversation.php:65 #, php-format msgid "%1$s likes %2$s's %3$s" msgstr "%1$s mag %2$ss %3$s" -#: ../../mod/like.php:146 ../../include/conversation.php:46 +#: ../../mod/like.php:146 ../../include/conversation.php:68 #, php-format msgid "%1$s doesn't like %2$s's %3$s" msgstr "%1$s mag %2$ss %3$s nicht" -#: ../../mod/notice.php:15 ../../mod/viewsrc.php:15 ../../mod/admin.php:111 -#: ../../mod/admin.php:502 ../../mod/display.php:28 ../../mod/display.php:116 -#: ../../mod/viewd.php:14 ../../include/items.php:2819 +#: ../../mod/notice.php:15 ../../mod/viewsrc.php:15 ../../mod/admin.php:127 +#: ../../mod/admin.php:518 ../../mod/admin.php:694 ../../mod/display.php:29 +#: ../../mod/display.php:134 ../../mod/viewd.php:14 +#: ../../include/items.php:2880 msgid "Item not found." msgstr "Beitrag nicht gefunden." @@ -2508,43 +2561,43 @@ msgstr "Registrierung für %s wurde zurückgezogen" msgid "Please login." msgstr "Bitte melde dich an." -#: ../../mod/item.php:88 +#: ../../mod/item.php:89 msgid "Unable to locate original post." msgstr "Konnte den Originalbeitrag nicht finden." -#: ../../mod/item.php:248 +#: ../../mod/item.php:249 msgid "Empty post discarded." msgstr "Leerer Beitrag wurde verworfen." -#: ../../mod/item.php:350 ../../mod/wall_upload.php:81 +#: ../../mod/item.php:351 ../../mod/wall_upload.php:81 #: ../../mod/wall_upload.php:90 ../../mod/wall_upload.php:97 #: ../../include/message.php:143 msgid "Wall Photos" msgstr "Pinnwand-Bilder" -#: ../../mod/item.php:827 +#: ../../mod/item.php:830 msgid "System error. Post not saved." msgstr "Systemfehler. Beitrag konnte nicht gespeichert werden." -#: ../../mod/item.php:852 +#: ../../mod/item.php:855 #, php-format msgid "" "This message was sent to you by %s, a member of the Friendica social " "network." msgstr "Diese Nachricht wurde dir von %s geschickt, einem Mitglied des Sozialen Netzwerks Friendica." -#: ../../mod/item.php:854 +#: ../../mod/item.php:857 #, php-format msgid "You may visit them online at %s" msgstr "Du kannst sie online unter %s besuchen" -#: ../../mod/item.php:855 +#: ../../mod/item.php:858 msgid "" "Please contact the sender by replying to this post if you do not wish to " "receive these messages." msgstr "Falls du diese Beiträge nicht erhalten möchtest, kontaktiere bitte den Autor, indem du auf diese Nachricht antwortest." -#: ../../mod/item.php:857 +#: ../../mod/item.php:860 #, php-format msgid "%s posted an update." msgstr "%s hat ein Update veröffentlicht." @@ -2668,7 +2721,7 @@ msgstr "Nachricht gelöscht." msgid "Conversation removed." msgstr "Unterhaltung gelöscht." -#: ../../mod/message.php:137 ../../include/conversation.php:843 +#: ../../mod/message.php:137 ../../include/conversation.php:868 msgid "Please enter a link URL:" msgstr "Bitte gib die URL des Links ein:" @@ -2722,348 +2775,357 @@ msgstr "Freunde von %s" msgid "No friends to display." msgstr "Keine Freunde zum Anzeigen." -#: ../../mod/admin.php:59 ../../mod/admin.php:295 +#: ../../mod/admin.php:71 ../../mod/admin.php:311 msgid "Site" msgstr "Seite" -#: ../../mod/admin.php:60 ../../mod/admin.php:460 ../../mod/admin.php:472 +#: ../../mod/admin.php:72 ../../mod/admin.php:476 ../../mod/admin.php:488 msgid "Users" msgstr "Nutzer" -#: ../../mod/admin.php:61 ../../mod/admin.php:549 ../../mod/admin.php:586 +#: ../../mod/admin.php:73 ../../mod/admin.php:565 ../../mod/admin.php:602 msgid "Plugins" msgstr "Plugins" -#: ../../mod/admin.php:76 ../../mod/admin.php:651 +#: ../../mod/admin.php:74 ../../mod/admin.php:736 ../../mod/admin.php:768 +msgid "Themes" +msgstr "Themen" + +#: ../../mod/admin.php:89 ../../mod/admin.php:846 msgid "Logs" msgstr "Protokolle" -#: ../../mod/admin.php:81 +#: ../../mod/admin.php:94 msgid "User registrations waiting for confirmation" msgstr "Nutzeranmeldungen die auf Bestätigung warten" -#: ../../mod/admin.php:144 ../../mod/admin.php:294 ../../mod/admin.php:459 -#: ../../mod/admin.php:548 ../../mod/admin.php:585 ../../mod/admin.php:650 +#: ../../mod/admin.php:160 ../../mod/admin.php:310 ../../mod/admin.php:475 +#: ../../mod/admin.php:564 ../../mod/admin.php:601 ../../mod/admin.php:735 +#: ../../mod/admin.php:767 ../../mod/admin.php:845 msgid "Administration" msgstr "Administration" -#: ../../mod/admin.php:145 +#: ../../mod/admin.php:161 msgid "Summary" msgstr "Zusammenfassung" -#: ../../mod/admin.php:146 +#: ../../mod/admin.php:162 msgid "Registered users" msgstr "Registrierte Nutzer" -#: ../../mod/admin.php:148 +#: ../../mod/admin.php:164 msgid "Pending registrations" msgstr "Anstehende Anmeldungen" -#: ../../mod/admin.php:149 +#: ../../mod/admin.php:165 msgid "Version" msgstr "Version" -#: ../../mod/admin.php:151 +#: ../../mod/admin.php:167 msgid "Active plugins" msgstr "Aktive Plugins" -#: ../../mod/admin.php:243 +#: ../../mod/admin.php:259 msgid "Site settings updated." msgstr "Seiteneinstellungen aktualisiert." -#: ../../mod/admin.php:287 +#: ../../mod/admin.php:303 msgid "Closed" msgstr "Geschlossen" -#: ../../mod/admin.php:288 +#: ../../mod/admin.php:304 msgid "Requires approval" msgstr "Bedarf Zustimmung" -#: ../../mod/admin.php:289 +#: ../../mod/admin.php:305 msgid "Open" msgstr "Offen" -#: ../../mod/admin.php:298 +#: ../../mod/admin.php:314 msgid "File upload" msgstr "Datei hochladen" -#: ../../mod/admin.php:299 +#: ../../mod/admin.php:315 msgid "Policies" msgstr "Regeln" -#: ../../mod/admin.php:300 +#: ../../mod/admin.php:316 msgid "Advanced" msgstr "Erweitert" -#: ../../mod/admin.php:304 ../../addon/statusnet/statusnet.php:486 +#: ../../mod/admin.php:320 ../../addon/statusnet/statusnet.php:523 msgid "Site name" msgstr "Seitenname" -#: ../../mod/admin.php:305 +#: ../../mod/admin.php:321 msgid "Banner/Logo" msgstr "Banner/Logo" -#: ../../mod/admin.php:306 +#: ../../mod/admin.php:322 msgid "System language" msgstr "Systemsprache" -#: ../../mod/admin.php:307 +#: ../../mod/admin.php:323 msgid "System theme" msgstr "Systemweites Thema" -#: ../../mod/admin.php:309 +#: ../../mod/admin.php:325 msgid "Maximum image size" msgstr "Maximale Größe von Bildern" -#: ../../mod/admin.php:311 +#: ../../mod/admin.php:327 msgid "Register policy" msgstr "Registrierungsmethode" -#: ../../mod/admin.php:312 +#: ../../mod/admin.php:328 msgid "Register text" msgstr "Registrierungstext" -#: ../../mod/admin.php:313 +#: ../../mod/admin.php:329 msgid "Accounts abandoned after x days" msgstr "Accounts gelten nach x Tagen als unbenutzt" -#: ../../mod/admin.php:313 +#: ../../mod/admin.php:329 msgid "" "Will not waste system resources polling external sites for abandonded " "accounts. Enter 0 for no time limit." msgstr "Verschwende keine System-Ressourcen fürs Pollen externer Seiten, wenn Accounts nicht mehr benutzt werden. 0 eingeben für kein Limit." -#: ../../mod/admin.php:314 +#: ../../mod/admin.php:330 msgid "Allowed friend domains" msgstr "Erlaubte Domains für Kontakte" -#: ../../mod/admin.php:315 +#: ../../mod/admin.php:331 msgid "Allowed email domains" msgstr "Erlaubte Domains für Emails" -#: ../../mod/admin.php:316 +#: ../../mod/admin.php:332 msgid "Block public" msgstr "Öffentlichen Zugriff blockieren" -#: ../../mod/admin.php:317 +#: ../../mod/admin.php:333 msgid "Force publish" msgstr "Erzwinge Veröffentlichung" -#: ../../mod/admin.php:318 +#: ../../mod/admin.php:334 msgid "Global directory update URL" msgstr "URL für Updates beim weltweiten Verzeichnis" -#: ../../mod/admin.php:320 +#: ../../mod/admin.php:336 msgid "Block multiple registrations" msgstr "Unterbinde Mehrfachregistrierung" -#: ../../mod/admin.php:321 +#: ../../mod/admin.php:337 msgid "OpenID support" msgstr "OpenID Unterstützung" -#: ../../mod/admin.php:322 +#: ../../mod/admin.php:338 msgid "Gravatar support" msgstr "Gravatar Unterstützung" -#: ../../mod/admin.php:323 +#: ../../mod/admin.php:339 msgid "Fullname check" msgstr "Name auf Vollständigkeit überprüfen" -#: ../../mod/admin.php:324 +#: ../../mod/admin.php:340 msgid "UTF-8 Regular expressions" msgstr "UTF-8 Reguläre Ausdrücke" -#: ../../mod/admin.php:325 +#: ../../mod/admin.php:341 msgid "Show Community Page" msgstr "Gemeinschaftsseite anzeigen" -#: ../../mod/admin.php:326 +#: ../../mod/admin.php:342 msgid "Enable OStatus support" msgstr "OStatus Unterstützung aktivieren" -#: ../../mod/admin.php:327 +#: ../../mod/admin.php:343 msgid "Enable Diaspora support" msgstr "Diaspora-Support aktivieren" -#: ../../mod/admin.php:328 +#: ../../mod/admin.php:344 msgid "Only allow Friendica contacts" msgstr "Nur Friendica-Kontakte erlauben" -#: ../../mod/admin.php:329 +#: ../../mod/admin.php:345 msgid "Verify SSL" msgstr "SSL Ãœberprüfen" -#: ../../mod/admin.php:330 +#: ../../mod/admin.php:346 msgid "Proxy user" msgstr "Proxy Nutzer" -#: ../../mod/admin.php:331 +#: ../../mod/admin.php:347 msgid "Proxy URL" msgstr "Proxy URL" -#: ../../mod/admin.php:332 +#: ../../mod/admin.php:348 msgid "Network timeout" msgstr "Netzwerk Wartezeit" -#: ../../mod/admin.php:353 +#: ../../mod/admin.php:369 #, php-format msgid "%s user blocked" msgid_plural "%s users blocked/unblocked" msgstr[0] "%s Nutzer gesperrt" msgstr[1] "%s Nutzer gesperrt/entsperrt" -#: ../../mod/admin.php:360 +#: ../../mod/admin.php:376 #, php-format msgid "%s user deleted" msgid_plural "%s users deleted" msgstr[0] "%s Nutzer gelöscht" msgstr[1] "%s Nutzer gelöscht" -#: ../../mod/admin.php:394 +#: ../../mod/admin.php:410 #, php-format msgid "User '%s' deleted" msgstr "Nutzer '%s' gelöscht" -#: ../../mod/admin.php:401 +#: ../../mod/admin.php:417 #, php-format msgid "User '%s' unblocked" msgstr "Nutzer '%s' entsperrt" -#: ../../mod/admin.php:401 +#: ../../mod/admin.php:417 #, php-format msgid "User '%s' blocked" msgstr "Nutzer '%s' gesperrt" -#: ../../mod/admin.php:462 +#: ../../mod/admin.php:478 msgid "select all" msgstr "Alle auswählen" -#: ../../mod/admin.php:463 +#: ../../mod/admin.php:479 msgid "User registrations waiting for confirm" msgstr "Neuanmeldungen, die auf deine Bestätigung warten" -#: ../../mod/admin.php:464 +#: ../../mod/admin.php:480 msgid "Request date" msgstr "Anfrage Datum" -#: ../../mod/admin.php:464 ../../mod/admin.php:473 +#: ../../mod/admin.php:480 ../../mod/admin.php:489 #: ../../include/contact_selectors.php:79 msgid "Email" msgstr "Email" -#: ../../mod/admin.php:465 +#: ../../mod/admin.php:481 msgid "No registrations." msgstr "Keine Neuanmeldungen." -#: ../../mod/admin.php:467 +#: ../../mod/admin.php:483 msgid "Deny" msgstr "Verwehren" -#: ../../mod/admin.php:473 +#: ../../mod/admin.php:489 msgid "Register date" msgstr "Anmeldedatum" -#: ../../mod/admin.php:473 +#: ../../mod/admin.php:489 msgid "Last login" msgstr "Letzte Anmeldung" -#: ../../mod/admin.php:473 +#: ../../mod/admin.php:489 msgid "Last item" msgstr "Letzter Beitrag" -#: ../../mod/admin.php:473 +#: ../../mod/admin.php:489 msgid "Account" msgstr "Nutzerkonto" -#: ../../mod/admin.php:475 +#: ../../mod/admin.php:491 msgid "" "Selected users will be deleted!\\n\\nEverything these users had posted on " "this site will be permanently deleted!\\n\\nAre you sure?" msgstr "Die markierten Nutzer werden gelöscht!\\n\\nAlle Beiträge, die diese Nutzer auf dieser Seite veröffentlicht haben, werden permanent gelöscht!\\n\\nBist du sicher?" -#: ../../mod/admin.php:476 +#: ../../mod/admin.php:492 msgid "" "The user {0} will be deleted!\\n\\nEverything this user has posted on this " "site will be permanently deleted!\\n\\nAre you sure?" msgstr "Der Nutzer {0} wird gelöscht!\\n\\nAlles was dieser Nutzer auf dieser Seite veröffentlicht hat, wird permanent gelöscht!\\n\\nBist du sicher?" -#: ../../mod/admin.php:512 +#: ../../mod/admin.php:528 #, php-format msgid "Plugin %s disabled." msgstr "Plugin %s deaktiviert." -#: ../../mod/admin.php:516 +#: ../../mod/admin.php:532 #, php-format msgid "Plugin %s enabled." msgstr "Plugin %s aktiviert." -#: ../../mod/admin.php:526 +#: ../../mod/admin.php:542 ../../mod/admin.php:718 msgid "Disable" msgstr "Ausschalten" -#: ../../mod/admin.php:528 +#: ../../mod/admin.php:544 ../../mod/admin.php:720 msgid "Enable" msgstr "Einschalten" -#: ../../mod/admin.php:550 +#: ../../mod/admin.php:566 ../../mod/admin.php:737 msgid "Toggle" msgstr "Umschalten" -#: ../../mod/admin.php:551 ../../include/nav.php:129 +#: ../../mod/admin.php:567 ../../mod/admin.php:738 ../../include/nav.php:130 msgid "Settings" msgstr "Einstellungen" -#: ../../mod/admin.php:613 +#: ../../mod/admin.php:683 +msgid "No themes found." +msgstr "Keine Themen gefunden." + +#: ../../mod/admin.php:795 msgid "Log settings updated." msgstr "Protokolleinstellungen aktualisiert." -#: ../../mod/admin.php:653 +#: ../../mod/admin.php:848 msgid "Clear" msgstr "löschen" -#: ../../mod/admin.php:659 +#: ../../mod/admin.php:854 msgid "Debugging" msgstr "Protokoll führen" -#: ../../mod/admin.php:660 +#: ../../mod/admin.php:855 msgid "Log file" msgstr "Protokolldatei" -#: ../../mod/admin.php:660 +#: ../../mod/admin.php:855 msgid "" "Must be writable by web server. Relative to your Friendica top-level " "directory." msgstr "Webserver muss Schreibrechte besitzen. Relativ zum Friendica-Installationsverzeichnis." -#: ../../mod/admin.php:661 +#: ../../mod/admin.php:856 msgid "Log level" msgstr "Protokollevel" -#: ../../mod/admin.php:702 +#: ../../mod/admin.php:897 msgid "Close" msgstr "Schließen" -#: ../../mod/admin.php:708 +#: ../../mod/admin.php:903 msgid "FTP Host" msgstr "FTP Host" -#: ../../mod/admin.php:709 +#: ../../mod/admin.php:904 msgid "FTP Path" msgstr "FTP Pfad" -#: ../../mod/admin.php:710 +#: ../../mod/admin.php:905 msgid "FTP User" msgstr "FTP Nutzername" -#: ../../mod/admin.php:711 +#: ../../mod/admin.php:906 msgid "FTP Password" msgstr "FTP Passwort" -#: ../../mod/profile.php:15 ../../boot.php:841 +#: ../../mod/profile.php:15 ../../boot.php:845 msgid "Requested profile is not available." msgstr "Profil nicht vorhanden." -#: ../../mod/profile.php:111 ../../mod/display.php:66 +#: ../../mod/profile.php:111 ../../mod/display.php:67 msgid "Access to this profile has been restricted." msgstr "Der Zugriff zu diesem Profil wurde eingeschränkt." @@ -3071,48 +3133,48 @@ msgstr "Der Zugriff zu diesem Profil wurde eingeschränkt." msgid "Tips for New Members" msgstr "Tipps für neue Nutzer" -#: ../../mod/ping.php:148 +#: ../../mod/ping.php:146 msgid "{0} wants to be your friend" msgstr "{0} möchte mit dir in Kontakt treten" -#: ../../mod/ping.php:153 +#: ../../mod/ping.php:151 msgid "{0} sent you a message" msgstr "{0} hat dir eine Nachricht geschickt" -#: ../../mod/ping.php:158 +#: ../../mod/ping.php:156 msgid "{0} requested registration" msgstr "{0} möchte sich registrieren" -#: ../../mod/ping.php:164 +#: ../../mod/ping.php:162 #, php-format msgid "{0} commented %s's post" msgstr "{0} kommentierte einen Beitrag von %s" -#: ../../mod/ping.php:169 +#: ../../mod/ping.php:167 #, php-format msgid "{0} liked %s's post" msgstr "{0} mag %ss Beitrag" -#: ../../mod/ping.php:174 +#: ../../mod/ping.php:172 #, php-format msgid "{0} disliked %s's post" msgstr "{0} mag %ss Beitrag nicht" -#: ../../mod/ping.php:179 +#: ../../mod/ping.php:177 #, php-format msgid "{0} is now friends with %s" msgstr "{0} ist jetzt mit %s befreundet" -#: ../../mod/ping.php:184 +#: ../../mod/ping.php:182 msgid "{0} posted" msgstr "{0} hat etwas veröffentlicht" -#: ../../mod/ping.php:189 +#: ../../mod/ping.php:187 #, php-format msgid "{0} tagged %s's post with #%s" msgstr "{0} hat %ss Beitrag mit dem Schlagwort #%s versehen" -#: ../../mod/ping.php:195 +#: ../../mod/ping.php:193 msgid "{0} mentioned you in a post" msgstr "{0} hat dich in einem Beitrag erwähnt" @@ -3130,39 +3192,39 @@ msgid "" "This site is not configured to allow communications with other networks." msgstr "Diese Seite ist so konfiguriert, dass keine Kommunikation mit anderen Netzwerken erfolgen kann." -#: ../../mod/follow.php:48 ../../mod/follow.php:58 +#: ../../mod/follow.php:48 ../../mod/follow.php:63 msgid "No compatible communication protocols or feeds were discovered." msgstr "Es wurden keine kompatiblen Kommunikationsprotokolle oder Feeds gefunden." -#: ../../mod/follow.php:56 +#: ../../mod/follow.php:61 msgid "The profile address specified does not provide adequate information." msgstr "Die angegebene Profiladresse liefert unzureichende Informationen." -#: ../../mod/follow.php:60 +#: ../../mod/follow.php:65 msgid "An author or name was not found." msgstr "Es wurde kein Autor oder Name gefunden." -#: ../../mod/follow.php:62 +#: ../../mod/follow.php:67 msgid "No browser URL could be matched to this address." msgstr "Zu dieser Adresse konnte keine passende Browser URL gefunden werden." -#: ../../mod/follow.php:69 +#: ../../mod/follow.php:74 msgid "" "The profile address specified belongs to a network which has been disabled " "on this site." msgstr "Die Adresse dieses Profils gehört zu einem Netzwerk mit dem die Kommunikation auf dieser Seite ausgeschaltet wurde." -#: ../../mod/follow.php:74 +#: ../../mod/follow.php:79 msgid "" "Limited profile. This person will be unable to receive direct/personal " "notifications from you." msgstr "Eingeschränktes Profil. Diese Person wird keine direkten/privaten Nachrichten von dir erhalten können." -#: ../../mod/follow.php:144 +#: ../../mod/follow.php:149 msgid "Unable to retrieve contact information." msgstr "Konnte die Kontaktinformationen nicht empfangen." -#: ../../mod/follow.php:190 +#: ../../mod/follow.php:195 msgid "following" msgstr "folgen" @@ -3174,7 +3236,7 @@ msgstr "Gemeinsame Freunde" msgid "No friends in common." msgstr "Keine gemeinsamen Freunde." -#: ../../mod/display.php:109 +#: ../../mod/display.php:127 msgid "Item has been removed." msgstr "Eintrag wurde entfernt." @@ -3378,7 +3440,7 @@ msgid "" "be visible to anybody using the internet." msgstr "Dies ist dein <strong>öffentliches</strong> Profil.<br />Es <strong>könnte</strong> für jeden Nutzer des Internets sichtbar sein." -#: ../../mod/profiles.php:426 ../../mod/directory.php:122 +#: ../../mod/profiles.php:426 ../../mod/directory.php:124 msgid "Age: " msgstr "Alter: " @@ -3386,27 +3448,27 @@ msgstr "Alter: " msgid "Edit/Manage Profiles" msgstr "Verwalte/Editiere Profile" -#: ../../mod/profiles.php:462 ../../boot.php:942 +#: ../../mod/profiles.php:462 ../../boot.php:946 msgid "Change profile photo" msgstr "Profilbild ändern" -#: ../../mod/profiles.php:463 ../../boot.php:943 +#: ../../mod/profiles.php:463 ../../boot.php:947 msgid "Create New Profile" msgstr "Neues Profil anlegen" -#: ../../mod/profiles.php:473 ../../boot.php:953 +#: ../../mod/profiles.php:473 ../../boot.php:957 msgid "Profile Image" msgstr "Profilbild" -#: ../../mod/profiles.php:475 ../../boot.php:956 +#: ../../mod/profiles.php:475 ../../boot.php:960 msgid "visible to everybody" msgstr "sichtbar für jeden" -#: ../../mod/profiles.php:476 ../../boot.php:957 +#: ../../mod/profiles.php:476 ../../boot.php:961 msgid "Edit visibility" msgstr "Sichtbarkeit bearbeiten" -#: ../../mod/tagger.php:103 ../../include/conversation.php:116 +#: ../../mod/tagger.php:103 ../../include/conversation.php:138 #, php-format msgid "%1$s tagged %2$s's %3$s with %4$s" msgstr "%1$s hat %2$ss %3$s mit %4$s getaggt" @@ -3460,31 +3522,31 @@ msgstr "Keine Vorschläge. Falls der Server frisch aufgesetzt wurde, versuche es msgid "Ignore/Hide" msgstr "Ignorieren/Verbergen" -#: ../../mod/directory.php:49 +#: ../../mod/directory.php:51 msgid "Global Directory" msgstr "Weltweites Verzeichnis" -#: ../../mod/directory.php:55 +#: ../../mod/directory.php:57 msgid "Normal site view" msgstr "Normale Seitenansicht" -#: ../../mod/directory.php:57 +#: ../../mod/directory.php:59 msgid "Admin - View all site entries" msgstr "Admin: Alle Einträge dieses Servers anzeigen" -#: ../../mod/directory.php:63 +#: ../../mod/directory.php:65 msgid "Find on this site" msgstr "Auf diesem Server suchen" -#: ../../mod/directory.php:66 +#: ../../mod/directory.php:68 msgid "Site Directory" msgstr "Verzeichnis" -#: ../../mod/directory.php:125 +#: ../../mod/directory.php:127 msgid "Gender: " msgstr "Geschlecht:" -#: ../../mod/directory.php:151 +#: ../../mod/directory.php:153 msgid "No entries (some entries may be hidden)." msgstr "Keine Einträge (einige Einträge könnten versteckt sein)." @@ -3570,7 +3632,7 @@ msgid "Unable to set contact photo." msgstr "Konnte das Bild des Kontakts nicht speichern." #: ../../mod/dfrn_confirm.php:473 ../../include/diaspora.php:495 -#: ../../include/conversation.php:79 +#: ../../include/conversation.php:101 #, php-format msgid "%1$s is now friends with %2$s" msgstr "%1$s ist nun mit %2$s befreundet" @@ -3616,71 +3678,71 @@ msgstr "Die Updates für dein Profil konnten nicht gespeichert werden" msgid "Connection accepted at %s" msgstr "Auf %s wurde die Verbindung akzeptiert" -#: ../../addon/facebook/facebook.php:337 +#: ../../addon/facebook/facebook.php:338 msgid "Facebook disabled" msgstr "Facebook deaktiviert" -#: ../../addon/facebook/facebook.php:342 +#: ../../addon/facebook/facebook.php:343 msgid "Updating contacts" msgstr "Aktualisiere Kontakte" -#: ../../addon/facebook/facebook.php:351 +#: ../../addon/facebook/facebook.php:352 msgid "Facebook API key is missing." msgstr "Facebook-API-Schlüssel nicht gefunden" -#: ../../addon/facebook/facebook.php:358 +#: ../../addon/facebook/facebook.php:359 msgid "Facebook Connect" msgstr "Mit Facebook verbinden" -#: ../../addon/facebook/facebook.php:364 +#: ../../addon/facebook/facebook.php:365 msgid "Install Facebook connector for this account." msgstr "Facebook-Connector für diesen Account installieren." -#: ../../addon/facebook/facebook.php:371 +#: ../../addon/facebook/facebook.php:372 msgid "Remove Facebook connector" msgstr "Facebook-Connector entfernen" -#: ../../addon/facebook/facebook.php:376 +#: ../../addon/facebook/facebook.php:377 msgid "" "Re-authenticate [This is necessary whenever your Facebook password is " "changed.]" msgstr "Neu authentifizieren [Das ist immer dann nötig, wenn Du Dein Facebook-Passwort geändert hast.]" -#: ../../addon/facebook/facebook.php:383 +#: ../../addon/facebook/facebook.php:384 msgid "Post to Facebook by default" msgstr "Veröffentliche standardmäßig bei Facebook" -#: ../../addon/facebook/facebook.php:387 +#: ../../addon/facebook/facebook.php:388 msgid "Link all your Facebook friends and conversations on this website" msgstr "All meine Facebook-Kontakte und -Konversationen hier auf diese Website importieren" -#: ../../addon/facebook/facebook.php:389 +#: ../../addon/facebook/facebook.php:390 msgid "" "Facebook conversations consist of your <em>profile wall</em> and your friend" " <em>stream</em>." msgstr "Facebook-Konversationen sind alles, was auf deiner <em>Pinnwand</em> erscheint, und die Beiträge deiner Freunde <em>(Stream).</em>" -#: ../../addon/facebook/facebook.php:390 +#: ../../addon/facebook/facebook.php:391 msgid "On this website, your Facebook friend stream is only visible to you." msgstr "Hier auf dieser Webseite kannst nur du die Beiträge Deiner Facebook-Freunde (Stream) sehen." -#: ../../addon/facebook/facebook.php:391 +#: ../../addon/facebook/facebook.php:392 msgid "" "The following settings determine the privacy of your Facebook profile wall " "on this website." msgstr "Mit den folgenden Einstellungen kannst Du die Privatsphäre der Kopie Deiner Facebook-Pinnwand hier auf dieser Seite einstellen." -#: ../../addon/facebook/facebook.php:395 +#: ../../addon/facebook/facebook.php:396 msgid "" "On this website your Facebook profile wall conversations will only be " "visible to you" msgstr "Meine Facebook-Pinnwand hier auf dieser Webseite nur für mich sichtbar machen" -#: ../../addon/facebook/facebook.php:400 +#: ../../addon/facebook/facebook.php:401 msgid "Do not import your Facebook profile wall conversations" msgstr "Facebook-Pinnwand nicht importieren" -#: ../../addon/facebook/facebook.php:402 +#: ../../addon/facebook/facebook.php:403 msgid "" "If you choose to link conversations and leave both of these boxes unchecked," " your Facebook profile wall will be merged with your profile wall on this " @@ -3688,43 +3750,43 @@ msgid "" "who may see the conversations." msgstr "Wenn Du Facebook-Konversationen importierst und diese beiden Häkchen nicht setzt, wird Deine Facebook-Pinnwand mit der Pinnwand hier auf dieser Webseite vereinigt. Die Privatsphäre-Einstellungen für Deine Pinnwand auf dieser Webseite geben dann an, wer die Konversationen sehen kann." -#: ../../addon/facebook/facebook.php:407 +#: ../../addon/facebook/facebook.php:408 msgid "Comma separated applications to ignore" msgstr "Komma separierte Liste von Anwendungen die ignoriert werden sollen" -#: ../../addon/facebook/facebook.php:475 +#: ../../addon/facebook/facebook.php:476 #: ../../include/contact_selectors.php:81 msgid "Facebook" msgstr "Facebook" -#: ../../addon/facebook/facebook.php:476 +#: ../../addon/facebook/facebook.php:477 msgid "Facebook Connector Settings" msgstr "Facebook-Verbindungseinstellungen" -#: ../../addon/facebook/facebook.php:490 +#: ../../addon/facebook/facebook.php:491 msgid "Post to Facebook" msgstr "Bei Facebook veröffentlichen" -#: ../../addon/facebook/facebook.php:581 +#: ../../addon/facebook/facebook.php:582 msgid "" "Post to Facebook cancelled because of multi-network access permission " "conflict." msgstr "Beitrag wurde nicht bei Facebook veröffentlicht, da Konflikte bei den Multi-Netzwerk-Zugriffsrechten vorliegen." -#: ../../addon/facebook/facebook.php:650 +#: ../../addon/facebook/facebook.php:651 msgid "Image: " msgstr "Bild: " -#: ../../addon/facebook/facebook.php:727 +#: ../../addon/facebook/facebook.php:728 msgid "View on Friendica" msgstr "In Friendica betrachten" -#: ../../addon/facebook/facebook.php:751 +#: ../../addon/facebook/facebook.php:752 msgid "Facebook post failed. Queued for retry." msgstr "Veröffentlichung bei Facebook gescheitert. Wir versuchen es später erneut." -#: ../../addon/facebook/facebook.php:876 ../../addon/facebook/facebook.php:885 -#: ../../include/bb2diaspora.php:113 +#: ../../addon/facebook/facebook.php:877 ../../addon/facebook/facebook.php:886 +#: ../../include/bb2diaspora.php:132 msgid "link" msgstr "Verweis" @@ -3809,7 +3871,7 @@ msgstr "%s – Zum Öffnen/Schließen klicken" #: ../../addon/communityhome/communityhome.php:28 #: ../../addon/communityhome/communityhome.php:34 ../../include/nav.php:62 -#: ../../boot.php:706 +#: ../../boot.php:710 msgid "Login" msgstr "Anmeldung" @@ -3834,7 +3896,7 @@ msgid "Last likes" msgstr "Zuletzt gemocht" #: ../../addon/communityhome/communityhome.php:155 -#: ../../include/conversation.php:23 ../../include/conversation.php:96 +#: ../../include/conversation.php:45 ../../include/conversation.php:118 msgid "event" msgstr "Veranstaltung" @@ -3990,19 +4052,19 @@ msgstr "Ziehe die Dateien hierher die du hochladen willst" msgid "Failed" msgstr "Fehlgeschlagen" -#: ../../addon/js_upload/js_upload.php:294 +#: ../../addon/js_upload/js_upload.php:297 msgid "No files were uploaded." msgstr "Keine Dateien hochgeladen." -#: ../../addon/js_upload/js_upload.php:300 +#: ../../addon/js_upload/js_upload.php:303 msgid "Uploaded file is empty" msgstr "Hochgeladene Datei ist leer" -#: ../../addon/js_upload/js_upload.php:323 +#: ../../addon/js_upload/js_upload.php:326 msgid "File has an invalid extension, it should be one of " msgstr "Die Dateierweiterung ist nicht erlaubt, sie muss eine der folgenden sein " -#: ../../addon/js_upload/js_upload.php:334 +#: ../../addon/js_upload/js_upload.php:337 msgid "Upload was cancelled, or server error encountered" msgstr "Upload abgebrochen oder Serverfehler aufgetreten" @@ -4086,6 +4148,48 @@ msgstr "Autor blockieren" msgid "blockem settings updated" msgstr "blockem Einstellungen aktualisiert" +#: ../../addon/qcomment/qcomment.php:51 +msgid ":-)" +msgstr ":-)" + +#: ../../addon/qcomment/qcomment.php:51 +msgid ":-(" +msgstr ":-(" + +#: ../../addon/qcomment/qcomment.php:51 +msgid "lol" +msgstr "lol" + +#: ../../addon/qcomment/qcomment.php:54 +msgid "Quick Comment Settings" +msgstr "Schnell-Kommentar Einstellungen" + +#: ../../addon/qcomment/qcomment.php:56 +msgid "Enter quick comments, one per line" +msgstr "Gibt ein Schnell-Kommentar pro Zeile ein" + +#: ../../addon/qcomment/qcomment.php:74 +msgid "Quick Comment settings saved." +msgstr "Schnell-Kommentare Einstellungen gespeichert" + +#: ../../addon/openstreetmap/openstreetmap.php:71 +msgid "Tile Server URL" +msgstr "Tile Server URL" + +#: ../../addon/openstreetmap/openstreetmap.php:71 +msgid "" +"A list of <a href=\"http://wiki.openstreetmap.org/wiki/TMS\" " +"target=\"_blank\">public tile servers</a>" +msgstr "Eine Liste <a href=\"http://wiki.openstreetmap.org/wiki/TMS\" target=\"_blank\">öffentlicher Tile Server</a>" + +#: ../../addon/openstreetmap/openstreetmap.php:72 +msgid "Default zoom" +msgstr "Standard Zoom" + +#: ../../addon/openstreetmap/openstreetmap.php:72 +msgid "The default zoom level. (1:world, 18:highest)" +msgstr "Standard Zoo,level (1: Welt; 18: höchstes)" + #: ../../addon/editplain/editplain.php:46 msgid "Editplain settings updated." msgstr "Editplain Einstellungen aktualisiert" @@ -4110,44 +4214,44 @@ msgstr "pageheader-Einstellungen gespeichert." msgid "View Source" msgstr "Quelle ansehen" -#: ../../addon/statusnet/statusnet.php:140 +#: ../../addon/statusnet/statusnet.php:134 msgid "Post to StatusNet" msgstr "Bei StatusNet veröffentlichen" -#: ../../addon/statusnet/statusnet.php:182 +#: ../../addon/statusnet/statusnet.php:175 msgid "" "Please contact your site administrator.<br />The provided API URL is not " "valid." msgstr "Bitte kontaktiere den Administrator des Servers.<br />Die angegebene API-URL ist nicht gültig." -#: ../../addon/statusnet/statusnet.php:210 +#: ../../addon/statusnet/statusnet.php:203 msgid "We could not contact the StatusNet API with the Path you entered." msgstr "Die StatusNet-API konnte mit dem angegebenen Pfad nicht erreicht werden." -#: ../../addon/statusnet/statusnet.php:236 +#: ../../addon/statusnet/statusnet.php:229 msgid "StatusNet settings updated." msgstr "StatusNet Einstellungen aktualisiert." -#: ../../addon/statusnet/statusnet.php:259 +#: ../../addon/statusnet/statusnet.php:252 msgid "StatusNet Posting Settings" msgstr "StatusNet-Beitragseinstellungen" -#: ../../addon/statusnet/statusnet.php:273 +#: ../../addon/statusnet/statusnet.php:266 msgid "Globally Available StatusNet OAuthKeys" msgstr "Verfügbare OAuth Schlüssel für StatusNet" -#: ../../addon/statusnet/statusnet.php:274 +#: ../../addon/statusnet/statusnet.php:267 msgid "" "There are preconfigured OAuth key pairs for some StatusNet servers " "available. If you are useing one of them, please use these credentials. If " "not feel free to connect to any other StatusNet instance (see below)." msgstr "Für einige StatusNet Server sind OAuth Schlüsselpaare verfügbar. Solltest du einen dieser Server benutzen, dann verwende doch bitte diese Schlüssel. Falls nicht kannst du weiter unten deine eigenen OAuth Schlüssel eintragen." -#: ../../addon/statusnet/statusnet.php:282 +#: ../../addon/statusnet/statusnet.php:275 msgid "Provide your own OAuth Credentials" msgstr "Eigene OAuth Schlüssel eintragen" -#: ../../addon/statusnet/statusnet.php:283 +#: ../../addon/statusnet/statusnet.php:276 msgid "" "No consumer key pair for StatusNet found. Register your Friendica Account as" " an desktop client on your StatusNet account, copy the consumer key pair " @@ -4156,19 +4260,19 @@ msgid "" "Friendica installation at your favorited StatusNet installation." msgstr "Kein Consumer-Schlüsselpaar für StatusNet gefunden. Registriere deinen Friendica-Account als Desktop-Client, kopiere das Consumer-Schlüsselpaar hierher und gib die API-URL ein.<br />Bevor du dein eigenes Consumer-Schlüsselpaar registrierst, frage den Administrator dieses Friendica-Servers, ob schon ein Schlüsselpaar für diesen Friendica-Server auf diesem StatusNet-Server existiert." -#: ../../addon/statusnet/statusnet.php:285 +#: ../../addon/statusnet/statusnet.php:278 msgid "OAuth Consumer Key" msgstr "OAuth Consumer Key" -#: ../../addon/statusnet/statusnet.php:288 +#: ../../addon/statusnet/statusnet.php:281 msgid "OAuth Consumer Secret" msgstr "OAuth Consumer Secret" -#: ../../addon/statusnet/statusnet.php:291 +#: ../../addon/statusnet/statusnet.php:284 msgid "Base API Path (remember the trailing /)" msgstr "Basis-URL der StatusNet-API (vergiss den abschließenden / nicht)" -#: ../../addon/statusnet/statusnet.php:312 +#: ../../addon/statusnet/statusnet.php:305 msgid "" "To connect to your StatusNet account click the button below to get a " "security code from StatusNet which you have to copy into the input box below" @@ -4176,50 +4280,58 @@ msgid "" " to StatusNet." msgstr "Um deinen Account mit einem StatusNet-Account zu verknüpfen, klicke den Button an, um einen Sicherheitscode von StatusNet zu erhalten, und kopiere diesen in das Eingabefeld weiter unten. Es werden ausschließlich deine <strong>öffentlichen</strong> Nachrichten an StatusNet gesendet." -#: ../../addon/statusnet/statusnet.php:313 +#: ../../addon/statusnet/statusnet.php:306 msgid "Log in with StatusNet" msgstr "Bei StatusNet anmelden" -#: ../../addon/statusnet/statusnet.php:315 +#: ../../addon/statusnet/statusnet.php:308 msgid "Copy the security code from StatusNet here" msgstr "Kopiere den Sicherheitscode von StatusNet hier hin" -#: ../../addon/statusnet/statusnet.php:321 +#: ../../addon/statusnet/statusnet.php:314 msgid "Cancel Connection Process" msgstr "Verbindungsprozess abbrechen" -#: ../../addon/statusnet/statusnet.php:323 +#: ../../addon/statusnet/statusnet.php:316 msgid "Current StatusNet API is" msgstr "Derzeitige StatusNet-API-URL lautet" -#: ../../addon/statusnet/statusnet.php:324 +#: ../../addon/statusnet/statusnet.php:317 msgid "Cancel StatusNet Connection" msgstr "Verbindung zum StatusNet Server abbrechen" -#: ../../addon/statusnet/statusnet.php:335 ../../addon/twitter/twitter.php:189 +#: ../../addon/statusnet/statusnet.php:328 ../../addon/twitter/twitter.php:184 msgid "Currently connected to: " msgstr "Momentan verbunden mit: " -#: ../../addon/statusnet/statusnet.php:336 +#: ../../addon/statusnet/statusnet.php:329 msgid "" "If enabled all your <strong>public</strong> postings can be posted to the " "associated StatusNet account. You can choose to do so by default (here) or " "for every posting separately in the posting options when writing the entry." msgstr "Wenn aktiviert können all deine <strong>öffentlichen</strong> Einträge auf dem verbundenen StatusNet Konto veröffentlicht werden. Du kannst das (hier) als Standardverhalten einstellen oder beim Schreiben eines Beitrags in den Beitragsoptionen festlegen." -#: ../../addon/statusnet/statusnet.php:338 +#: ../../addon/statusnet/statusnet.php:331 +msgid "" +"<strong>Note</strong>: Due your privacy settings (<em>Hide your profile " +"details from unknown viewers?</em>) the link potentially included in public " +"postings relayed to StatusNet will lead the visitor to a blank page " +"informing the visitor that the access to your profile has been restricted." +msgstr "<strong>Hinweis</strong>: Aufgrund deiner Privatsphären Einstellungen (<em>Profil-Details vor unbekannten Betrachtern verbergen?</em>) wird der Link der eventuell an an deinen StatusNet Account weitergeleitete angehangen wird um auf den original Artikel zu verweisen den Betrachter auf eine leere Seite führen, auf der er darüber informiert wird, dass der Zugriff eingeschränkt wurde." + +#: ../../addon/statusnet/statusnet.php:334 msgid "Allow posting to StatusNet" msgstr "Veröffentlichung bei StatusNet erlauben" -#: ../../addon/statusnet/statusnet.php:341 +#: ../../addon/statusnet/statusnet.php:337 msgid "Send public postings to StatusNet by default" msgstr "Veröffentliche öffentliche Beiträge standardmäßig bei StatusNet" -#: ../../addon/statusnet/statusnet.php:346 ../../addon/twitter/twitter.php:200 +#: ../../addon/statusnet/statusnet.php:342 ../../addon/twitter/twitter.php:198 msgid "Clear OAuth configuration" msgstr "OAuth-Konfiguration löschen" -#: ../../addon/statusnet/statusnet.php:487 +#: ../../addon/statusnet/statusnet.php:524 msgid "API URL" msgstr "API-URL" @@ -4287,13 +4399,33 @@ msgstr "WordPress-API-URL" msgid "Post to WordPress by default" msgstr "Standardmäßig auf WordPress veröffentlichen" -#: ../../addon/piwik/piwik.php:70 +#: ../../addon/showmore/showmore.php:38 +msgid "\"Show more\" Settings" +msgstr "\"Mehr zeigen\" Einstellungen" + +#: ../../addon/showmore/showmore.php:41 +msgid "Enable Show More" +msgstr "Aktiviere \"Mehr zeigen\"" + +#: ../../addon/showmore/showmore.php:44 +msgid "Cutting posts after how much characters" +msgstr "Begrenze Beiträge nach der Anzahl der Buchstaben" + +#: ../../addon/showmore/showmore.php:64 +msgid "Show More Settings saved." +msgstr "\"Mehr zeigen\" Einstellungen gesichert." + +#: ../../addon/showmore/showmore.php:86 +msgid "Show More" +msgstr "\"Mehr zeigen\"" + +#: ../../addon/piwik/piwik.php:79 msgid "" "This website is tracked using the <a href='http://www.piwik.org'>Piwik</a> " "analytics tool." msgstr "Diese Website benutzt <a href='http://www.piwik.org'>Piwik</a>, eine Open Source-Software zur statistischen Auswertung der Besucherzugriffe." -#: ../../addon/piwik/piwik.php:73 +#: ../../addon/piwik/piwik.php:82 #, php-format msgid "" "If you do not want that your visits are logged this way you <a href='%s'>can" @@ -4301,37 +4433,47 @@ msgid "" "(opt-out)." msgstr "Wenn Du nicht willst, dass Deine Besuche auf diese Weise gespeichert werden, kannst Du <a href='%s'>ein Cookie setzen</a>. Dann wird Piwik Dich auf dieser Website nicht mehr verfolgen (opt-out)." -#: ../../addon/piwik/piwik.php:82 +#: ../../addon/piwik/piwik.php:90 msgid "Piwik Base URL" msgstr "Piwik Basis URL" -#: ../../addon/piwik/piwik.php:83 +#: ../../addon/piwik/piwik.php:90 +msgid "" +"Absolute path to your Piwik installation. (without protocol (http/s), with " +"trailing slash)" +msgstr "Absoluter Pfad zu deiner Piwik Installation (ohen Protokoll (http/s) und mit abschließendem Schrägstrich)" + +#: ../../addon/piwik/piwik.php:91 msgid "Site ID" msgstr "Seiten ID" -#: ../../addon/piwik/piwik.php:84 +#: ../../addon/piwik/piwik.php:92 msgid "Show opt-out cookie link?" msgstr "Link zum Setzen des Opt-Out Cookies anzeigen?" -#: ../../addon/twitter/twitter.php:78 +#: ../../addon/piwik/piwik.php:93 +msgid "Asynchronous tracking" +msgstr "Asynchroned Tracken" + +#: ../../addon/twitter/twitter.php:73 msgid "Post to Twitter" msgstr "Bei Twitter veröffentlichen" -#: ../../addon/twitter/twitter.php:124 +#: ../../addon/twitter/twitter.php:119 msgid "Twitter settings updated." msgstr "Twitter Einstellungen aktualisiert." -#: ../../addon/twitter/twitter.php:146 +#: ../../addon/twitter/twitter.php:141 msgid "Twitter Posting Settings" msgstr "Twitter-Beitragseinstellungen" -#: ../../addon/twitter/twitter.php:153 +#: ../../addon/twitter/twitter.php:148 msgid "" "No consumer key pair for Twitter found. Please contact your site " "administrator." msgstr "Kein Consumer-Schlüsselpaar für Twitter gefunden. Bitte wende dich an den Administrator der Seite." -#: ../../addon/twitter/twitter.php:172 +#: ../../addon/twitter/twitter.php:167 msgid "" "At this Friendica instance the Twitter plugin was enabled but you have not " "yet connected your account to your Twitter account. To do so click the " @@ -4340,34 +4482,42 @@ msgid "" " be posted to Twitter." msgstr "Auf diesem Friendica-Server wurde das Twitter-Plugin aktiviert, aber du hast deinen Account noch nicht mit deinem Twitter-Account verbunden. Klicke dazu die Schaltfläche unten. Du erhältst dann eine PIN von Twitter, die du in das Eingabefeld unten kopieren musst. Nicht vergessen, den Senden-Knopf zu drücken! Nur <strong>öffentliche</strong> Beiträge werden bei Twitter veröffentlicht." -#: ../../addon/twitter/twitter.php:173 +#: ../../addon/twitter/twitter.php:168 msgid "Log in with Twitter" msgstr "bei Twitter anmelden" -#: ../../addon/twitter/twitter.php:175 +#: ../../addon/twitter/twitter.php:170 msgid "Copy the PIN from Twitter here" msgstr "Kopiere die Twitter-PIN hier her" -#: ../../addon/twitter/twitter.php:190 +#: ../../addon/twitter/twitter.php:185 msgid "" "If enabled all your <strong>public</strong> postings can be posted to the " "associated Twitter account. You can choose to do so by default (here) or for" " every posting separately in the posting options when writing the entry." msgstr "Wenn aktiviert können all deine <strong>öffentlichen</strong> Einträge auf dem verbundenen Twitter Konto veröffentlicht werden. Du kannst dies (hier) als Standardverhalten einstellen oder beim Schreiben eines Beitrags in den Beitragsoptionen festlegen." -#: ../../addon/twitter/twitter.php:192 +#: ../../addon/twitter/twitter.php:187 +msgid "" +"<strong>Note</strong>: Due your privacy settings (<em>Hide your profile " +"details from unknown viewers?</em>) the link potentially included in public " +"postings relayed to Twitter will lead the visitor to a blank page informing " +"the visitor that the access to your profile has been restricted." +msgstr "<strong>Hinweis</strong>: Aufgrund deiner Privatsphären Einstellungen (<em>Profil-Details vor unbekannten Betrachtern verbergen?</em>) wird der Link der eventuell an an deinen Twitter Account weitergeleitete angehangen wird um auf den original Artikel zu verweisen den Betrachter auf eine leere Seite führen, auf der er darüber informiert wird, dass der Zugriff eingeschränkt wurde." + +#: ../../addon/twitter/twitter.php:190 msgid "Allow posting to Twitter" msgstr "Veröffentlichung bei Twitter erlauben" -#: ../../addon/twitter/twitter.php:195 +#: ../../addon/twitter/twitter.php:193 msgid "Send public postings to Twitter by default" msgstr "Veröffentliche öffentliche Beiträge standardmäßig bei Twitter" -#: ../../addon/twitter/twitter.php:317 +#: ../../addon/twitter/twitter.php:357 msgid "Consumer key" msgstr "Consumer Key" -#: ../../addon/twitter/twitter.php:318 +#: ../../addon/twitter/twitter.php:358 msgid "Consumer secret" msgstr "Consumer Secret" @@ -4395,7 +4545,7 @@ msgstr "Posterous-Passwort" msgid "Post to Posterous by default" msgstr "Veröffentliche öffentliche Beiträge standardmäßig bei Posterous" -#: ../../include/profile_advanced.php:17 ../../boot.php:978 +#: ../../include/profile_advanced.php:17 ../../boot.php:982 msgid "Gender:" msgstr "Geschlecht:" @@ -4408,7 +4558,7 @@ msgid "j F" msgstr "j F" #: ../../include/profile_advanced.php:30 ../../include/datetime.php:438 -#: ../../include/items.php:1318 +#: ../../include/items.php:1349 msgid "Birthday:" msgstr "Geburtstag:" @@ -4416,11 +4566,11 @@ msgstr "Geburtstag:" msgid "Age:" msgstr "Alter:" -#: ../../include/profile_advanced.php:37 ../../boot.php:981 +#: ../../include/profile_advanced.php:37 ../../boot.php:985 msgid "Status:" msgstr "Status:" -#: ../../include/profile_advanced.php:45 ../../boot.php:983 +#: ../../include/profile_advanced.php:45 ../../boot.php:987 msgid "Homepage:" msgstr "Homepage:" @@ -4756,20 +4906,20 @@ msgstr "Ist mir nicht wichtig" msgid "Ask me" msgstr "Frag mich" -#: ../../include/event.php:17 ../../include/bb2diaspora.php:255 +#: ../../include/event.php:17 ../../include/bb2diaspora.php:274 msgid "Starts:" msgstr "Beginnt:" -#: ../../include/event.php:27 ../../include/bb2diaspora.php:263 +#: ../../include/event.php:27 ../../include/bb2diaspora.php:282 msgid "Finishes:" msgstr "Endet:" -#: ../../include/delivery.php:416 ../../include/notifier.php:629 +#: ../../include/delivery.php:424 ../../include/notifier.php:637 msgid "(no subject)" msgstr "(kein Betreff)" -#: ../../include/delivery.php:423 ../../include/enotify.php:16 -#: ../../include/notifier.php:636 +#: ../../include/delivery.php:431 ../../include/enotify.php:16 +#: ../../include/notifier.php:644 msgid "noreply" msgstr "noreply" @@ -4804,91 +4954,91 @@ msgstr[1] "%d Kontakte" msgid "Search" msgstr "Suche" -#: ../../include/text.php:735 +#: ../../include/text.php:813 msgid "Monday" msgstr "Montag" -#: ../../include/text.php:735 +#: ../../include/text.php:813 msgid "Tuesday" msgstr "Dienstag" -#: ../../include/text.php:735 +#: ../../include/text.php:813 msgid "Wednesday" msgstr "Mittwoch" -#: ../../include/text.php:735 +#: ../../include/text.php:813 msgid "Thursday" msgstr "Donnerstag" -#: ../../include/text.php:735 +#: ../../include/text.php:813 msgid "Friday" msgstr "Freitag" -#: ../../include/text.php:735 +#: ../../include/text.php:813 msgid "Saturday" msgstr "Samstag" -#: ../../include/text.php:735 +#: ../../include/text.php:813 msgid "Sunday" msgstr "Sonntag" -#: ../../include/text.php:739 +#: ../../include/text.php:817 msgid "January" msgstr "Januar" -#: ../../include/text.php:739 +#: ../../include/text.php:817 msgid "February" msgstr "Februar" -#: ../../include/text.php:739 +#: ../../include/text.php:817 msgid "March" msgstr "März" -#: ../../include/text.php:739 +#: ../../include/text.php:817 msgid "April" msgstr "April" -#: ../../include/text.php:739 +#: ../../include/text.php:817 msgid "May" msgstr "Mai" -#: ../../include/text.php:739 +#: ../../include/text.php:817 msgid "June" msgstr "Juni" -#: ../../include/text.php:739 +#: ../../include/text.php:817 msgid "July" msgstr "Juli" -#: ../../include/text.php:739 +#: ../../include/text.php:817 msgid "August" msgstr "August" -#: ../../include/text.php:739 +#: ../../include/text.php:817 msgid "September" msgstr "September" -#: ../../include/text.php:739 +#: ../../include/text.php:817 msgid "October" msgstr "Oktober" -#: ../../include/text.php:739 +#: ../../include/text.php:817 msgid "November" msgstr "November" -#: ../../include/text.php:739 +#: ../../include/text.php:817 msgid "December" msgstr "Dezember" -#: ../../include/text.php:809 +#: ../../include/text.php:887 msgid "bytes" msgstr "Byte" -#: ../../include/text.php:901 +#: ../../include/text.php:982 msgid "Select an alternate language" msgstr "Alternative Sprache auswählen" -#: ../../include/text.php:913 +#: ../../include/text.php:994 msgid "default" msgstr "standard" @@ -4896,11 +5046,11 @@ msgstr "standard" msgid "Sharing notification from Diaspora network" msgstr "Freigabe-Benachrichtigung von Diaspora" -#: ../../include/diaspora.php:1895 +#: ../../include/diaspora.php:1911 msgid "Attachments:" msgstr "Anhänge:" -#: ../../include/diaspora.php:2078 +#: ../../include/diaspora.php:2094 #, php-format msgid "[Relayed] Comment authored by %s from network %s" msgstr "[Weitergeleitet] Kommentar von %s aus dem %s Netzwerk" @@ -4940,7 +5090,7 @@ msgstr "Gruppe bearbeiten" msgid "Create a new group" msgstr "Neue Gruppe erstellen" -#: ../../include/nav.php:44 ../../boot.php:705 +#: ../../include/nav.php:44 ../../boot.php:709 msgid "Logout" msgstr "Abmelden" @@ -4948,7 +5098,7 @@ msgstr "Abmelden" msgid "End this session" msgstr "Diese Sitzung beenden" -#: ../../include/nav.php:47 ../../boot.php:1327 +#: ../../include/nav.php:47 ../../boot.php:1331 msgid "Status" msgstr "Status" @@ -4960,7 +5110,7 @@ msgstr "Deine Beiträge und Unterhaltungen" msgid "Your profile page" msgstr "Deine Profilseite" -#: ../../include/nav.php:49 ../../boot.php:1337 +#: ../../include/nav.php:49 ../../boot.php:1341 msgid "Photos" msgstr "Bilder" @@ -5032,39 +5182,43 @@ msgstr "Kontaktanfragen" msgid "See all notifications" msgstr "Alle Benachrichtigungen anzeigen" -#: ../../include/nav.php:123 +#: ../../include/nav.php:120 +msgid "Mark all system notifications seen" +msgstr "Markiere alle System Benachrichtigungen als gelesen" + +#: ../../include/nav.php:124 msgid "Private mail" msgstr "Private Email" -#: ../../include/nav.php:126 +#: ../../include/nav.php:127 msgid "Manage" msgstr "Verwalten" -#: ../../include/nav.php:126 +#: ../../include/nav.php:127 msgid "Manage other pages" msgstr "Andere Seiten verwalten" -#: ../../include/nav.php:130 ../../boot.php:936 +#: ../../include/nav.php:131 ../../boot.php:940 msgid "Profiles" msgstr "Profile" -#: ../../include/nav.php:130 ../../boot.php:936 +#: ../../include/nav.php:131 ../../boot.php:940 msgid "Manage/edit profiles" msgstr "Profile verwalten/editieren" -#: ../../include/nav.php:131 +#: ../../include/nav.php:132 msgid "Manage/edit friends and contacts" msgstr "Freunde und Kontakte verwalten/editieren" -#: ../../include/nav.php:138 +#: ../../include/nav.php:139 msgid "Admin" msgstr "Administration" -#: ../../include/nav.php:138 +#: ../../include/nav.php:139 msgid "Site setup and configuration" msgstr "Einstellungen der Seite und Konfiguration" -#: ../../include/nav.php:161 +#: ../../include/nav.php:162 msgid "Nothing new here" msgstr "Keine Neuigkeiten." @@ -5196,11 +5350,15 @@ msgstr "Sekunden" msgid "%1$d %2$s ago" msgstr "%1$d %2$s her" -#: ../../include/poller.php:459 +#: ../../include/poller.php:474 msgid "From: " msgstr "Von: " -#: ../../include/bbcode.php:166 ../../include/bbcode.php:225 +#: ../../include/bbcode.php:202 +msgid "$1 wrote:" +msgstr "$1 geschrieben:" + +#: ../../include/bbcode.php:216 ../../include/bbcode.php:282 msgid "Image/photo" msgstr "Bild/Foto" @@ -5248,6 +5406,15 @@ msgstr "Neue Nachricht auf %s empfangen" msgid "%s sent you a new private message at %s." msgstr "%s hat dir eine neue private Nachricht auf %s geschrieben." +#: ../../include/enotify.php:31 +#, php-format +msgid "%s sent you %s." +msgstr "%s hat Dir geschickt %s" + +#: ../../include/enotify.php:31 +msgid "a private message" +msgstr "eine private Nachricht" + #: ../../include/enotify.php:32 #, php-format msgid "Please visit %s to view and/or reply to your private messages." @@ -5263,84 +5430,138 @@ msgstr "%s kommentierte einen Beitrag auf %s" msgid "%s commented on an item/conversation you have been following." msgstr "%s hat einen Beitrag kommentiert, dem du folgst." -#: ../../include/enotify.php:42 ../../include/enotify.php:51 -#: ../../include/enotify.php:60 ../../include/enotify.php:69 +#: ../../include/enotify.php:42 +#, php-format +msgid "%s commented in %s." +msgstr "%s wurde kommentiert in %s" + +#: ../../include/enotify.php:42 +msgid "a watched conversation" +msgstr "eine beobachtete Unterhaltung" + +#: ../../include/enotify.php:44 ../../include/enotify.php:54 +#: ../../include/enotify.php:64 ../../include/enotify.php:74 #, php-format msgid "Please visit %s to view and/or reply to the conversation." msgstr "Bitte besuche %s, um die Konversation anzusehen und/oder zu kommentieren." -#: ../../include/enotify.php:49 +#: ../../include/enotify.php:51 #, php-format msgid "%s posted to your profile wall at %s" msgstr "%s hat auf deine Pinnwand bei %s gepostet" -#: ../../include/enotify.php:58 +#: ../../include/enotify.php:52 +#, php-format +msgid "%s posted to %s" +msgstr "%s schrieb an %s" + +#: ../../include/enotify.php:52 +msgid "your profile wall." +msgstr "Deine Pinnwand" + +#: ../../include/enotify.php:61 #, php-format msgid "%s tagged you at %s" msgstr "%s hat dich auf %s erwähnt" -#: ../../include/enotify.php:67 +#: ../../include/enotify.php:62 +#, php-format +msgid "%s %s." +msgstr "%s %s." + +#: ../../include/enotify.php:62 +msgid "tagged you" +msgstr "erwähnte Dich" + +#: ../../include/enotify.php:71 #, php-format msgid "%s tagged your post at %s" msgstr "%s hat deinen Beitrag auf %s getaggt" -#: ../../include/enotify.php:76 +#: ../../include/enotify.php:72 +#, php-format +msgid "%s tagged %s" +msgstr "%s markierte %s" + +#: ../../include/enotify.php:72 +msgid "your post" +msgstr "Dein Beitrag" + +#: ../../include/enotify.php:81 #, php-format msgid "Introduction received at %s" msgstr "Kontaktanfrage auf %s erhalten" -#: ../../include/enotify.php:77 +#: ../../include/enotify.php:82 #, php-format msgid "You've received an introduction from '%s' at %s" msgstr "Du hast eine Kontaktanfrage von '%s' auf %s erhalten" -#: ../../include/enotify.php:78 ../../include/enotify.php:91 +#: ../../include/enotify.php:83 +#, php-format +msgid "You've received %s from %s." +msgstr "Du hast %s von %s erhalten." + +#: ../../include/enotify.php:83 +msgid "an introduction" +msgstr "eine Einführung" + +#: ../../include/enotify.php:84 ../../include/enotify.php:101 #, php-format msgid "You may visit their profile at %s" msgstr "Hier kannst du das Profil betrachten: %s" -#: ../../include/enotify.php:80 +#: ../../include/enotify.php:86 #, php-format msgid "Please visit %s to approve or reject the introduction." msgstr "Bitte besuche %s, um die Kontaktanfrage anzunehmen oder abzulehnen." -#: ../../include/enotify.php:87 +#: ../../include/enotify.php:93 #, php-format msgid "Friend suggestion received at %s" msgstr "Kontaktvorschlag empfangen auf %s" -#: ../../include/enotify.php:88 +#: ../../include/enotify.php:94 #, php-format msgid "You've received a friend suggestion from '%s' at %s" msgstr "Du hast von '%s' einen Kontaktvorschlag erhalten auf %s" -#: ../../include/enotify.php:89 +#: ../../include/enotify.php:95 +#, php-format +msgid "You've received %s for %s from %s." +msgstr "Du hast %s für %s von %s erhalten." + +#: ../../include/enotify.php:96 +msgid "a friend suggestion" +msgstr "ein Freunde Vorschlag" + +#: ../../include/enotify.php:99 msgid "Name:" msgstr "Name:" -#: ../../include/enotify.php:90 +#: ../../include/enotify.php:100 msgid "Photo:" msgstr "Foto:" -#: ../../include/enotify.php:93 +#: ../../include/enotify.php:103 #, php-format msgid "Please visit %s to approve or reject the suggestion." msgstr "Bitte besuche %s, um den Vorschlag zu akzeptieren oder abzulehnen." -#: ../../include/items.php:2450 +#: ../../include/items.php:2511 msgid "A new person is sharing with you at " msgstr "Eine neue Person teilt mit dir auf " -#: ../../include/items.php:2450 +#: ../../include/items.php:2511 msgid "You have a new follower at " msgstr "Du hast einen neuen Kontakt auf " -#: ../../include/bb2diaspora.php:64 +#: ../../include/bb2diaspora.php:83 msgid "view full size" msgstr "Volle Größe anzeigen" -#: ../../include/bb2diaspora.php:113 ../../include/bb2diaspora.php:123 -#: ../../include/bb2diaspora.php:124 +#: ../../include/bb2diaspora.php:132 ../../include/bb2diaspora.php:142 +#: ../../include/bb2diaspora.php:143 msgid "image/photo" msgstr "Bild/Foto" @@ -5356,282 +5577,282 @@ msgstr "Bitte lade ein Profilbild hoch." msgid "Welcome back " msgstr "Willkommen zurück " -#: ../../include/Contact.php:131 ../../include/conversation.php:744 +#: ../../include/Contact.php:131 ../../include/conversation.php:769 msgid "View status" msgstr "Status anzeigen" -#: ../../include/Contact.php:132 ../../include/conversation.php:745 +#: ../../include/Contact.php:132 ../../include/conversation.php:770 msgid "View profile" msgstr "Profil anzeigen" -#: ../../include/Contact.php:133 ../../include/conversation.php:746 +#: ../../include/Contact.php:133 ../../include/conversation.php:771 msgid "View photos" msgstr "Fotos ansehen" #: ../../include/Contact.php:134 ../../include/Contact.php:147 -#: ../../include/conversation.php:747 +#: ../../include/conversation.php:772 msgid "View recent" msgstr "Neueste anzeigen" #: ../../include/Contact.php:136 ../../include/Contact.php:147 -#: ../../include/conversation.php:749 +#: ../../include/conversation.php:774 msgid "Send PM" msgstr "Private Nachricht senden" -#: ../../include/conversation.php:141 +#: ../../include/conversation.php:163 msgid "post/item" msgstr "Nachricht/Beitrag" -#: ../../include/conversation.php:142 +#: ../../include/conversation.php:164 #, php-format msgid "%1$s marked %2$s's %3$s as favorite" msgstr "%1$s hat %2$s\\s %3$s als Favorit markiert" -#: ../../include/conversation.php:279 ../../include/conversation.php:535 +#: ../../include/conversation.php:301 ../../include/conversation.php:562 msgid "Select" msgstr "Auswählen" -#: ../../include/conversation.php:294 ../../include/conversation.php:623 -#: ../../include/conversation.php:624 +#: ../../include/conversation.php:316 ../../include/conversation.php:648 +#: ../../include/conversation.php:649 #, php-format msgid "View %s's profile @ %s" msgstr "Das Profil von %s auf %s betrachten." -#: ../../include/conversation.php:303 ../../include/conversation.php:635 +#: ../../include/conversation.php:325 ../../include/conversation.php:660 #, php-format msgid "%s from %s" msgstr "%s von %s" -#: ../../include/conversation.php:319 +#: ../../include/conversation.php:341 msgid "View in context" msgstr "Im Zusammenhang betrachten" -#: ../../include/conversation.php:434 +#: ../../include/conversation.php:456 #, php-format msgid "%d comment" msgid_plural "%d comments" msgstr[0] "%d Kommentar" msgstr[1] "%d Kommentare" -#: ../../include/conversation.php:437 ../../boot.php:444 +#: ../../include/conversation.php:459 ../../boot.php:448 msgid "show more" msgstr "mehr anzeigen" -#: ../../include/conversation.php:497 +#: ../../include/conversation.php:519 msgid "like" msgstr "mag ich" -#: ../../include/conversation.php:498 +#: ../../include/conversation.php:520 msgid "dislike" msgstr "mag ich nicht" -#: ../../include/conversation.php:500 +#: ../../include/conversation.php:522 msgid "Share this" msgstr "Teilen" -#: ../../include/conversation.php:500 +#: ../../include/conversation.php:522 msgid "share" msgstr "Teilen" -#: ../../include/conversation.php:545 +#: ../../include/conversation.php:572 msgid "add star" msgstr "markieren" -#: ../../include/conversation.php:546 +#: ../../include/conversation.php:573 msgid "remove star" msgstr "Markierung entfernen" -#: ../../include/conversation.php:547 +#: ../../include/conversation.php:574 msgid "toggle star status" msgstr "Markierung umschalten" -#: ../../include/conversation.php:550 +#: ../../include/conversation.php:577 msgid "starred" msgstr "markiert" -#: ../../include/conversation.php:551 +#: ../../include/conversation.php:578 msgid "add tag" msgstr "Tag hinzufügen" -#: ../../include/conversation.php:625 +#: ../../include/conversation.php:650 msgid "to" msgstr "to" -#: ../../include/conversation.php:626 +#: ../../include/conversation.php:651 msgid "Wall-to-Wall" msgstr "Wall-to-Wall" -#: ../../include/conversation.php:627 +#: ../../include/conversation.php:652 msgid "via Wall-To-Wall:" msgstr "via Wall-To-Wall:" -#: ../../include/conversation.php:669 +#: ../../include/conversation.php:694 msgid "Delete Selected Items" msgstr "Lösche die markierten Beiträge" -#: ../../include/conversation.php:801 +#: ../../include/conversation.php:826 #, php-format msgid "%s likes this." msgstr "%s mag das." -#: ../../include/conversation.php:801 +#: ../../include/conversation.php:826 #, php-format msgid "%s doesn't like this." msgstr "%s mag das nicht." -#: ../../include/conversation.php:805 +#: ../../include/conversation.php:830 #, php-format msgid "<span %1$s>%2$d people</span> like this." msgstr "<span %1$s>%2$d Leute</span> mögen das." -#: ../../include/conversation.php:807 +#: ../../include/conversation.php:832 #, php-format msgid "<span %1$s>%2$d people</span> don't like this." msgstr "<span %1$s>%2$d Leute</span> mögen das nicht." -#: ../../include/conversation.php:813 +#: ../../include/conversation.php:838 msgid "and" msgstr "und" -#: ../../include/conversation.php:816 +#: ../../include/conversation.php:841 #, php-format msgid ", and %d other people" msgstr " und %d andere" -#: ../../include/conversation.php:817 +#: ../../include/conversation.php:842 #, php-format msgid "%s like this." msgstr "%s mögen das." -#: ../../include/conversation.php:817 +#: ../../include/conversation.php:842 #, php-format msgid "%s don't like this." msgstr "%s mögen das nicht." -#: ../../include/conversation.php:842 +#: ../../include/conversation.php:867 msgid "Visible to <strong>everybody</strong>" msgstr "Für <strong>Jedermann</strong> sichtbar" -#: ../../include/conversation.php:844 +#: ../../include/conversation.php:869 msgid "Please enter a video link/URL:" msgstr "Bitte Link/URL zum Video einfügen:" -#: ../../include/conversation.php:845 +#: ../../include/conversation.php:870 msgid "Please enter an audio link/URL:" msgstr "Bitte Link/URL zum Audio einfügen:" -#: ../../include/conversation.php:846 +#: ../../include/conversation.php:871 msgid "Tag term:" msgstr "Tag:" -#: ../../include/conversation.php:847 +#: ../../include/conversation.php:872 msgid "Where are you right now?" msgstr "Wo hältst du dich jetzt gerade auf?" -#: ../../include/conversation.php:848 +#: ../../include/conversation.php:873 msgid "Enter a title for this item" msgstr "Gib den Titel für diesen Beitrag ein" -#: ../../include/conversation.php:891 +#: ../../include/conversation.php:916 msgid "upload photo" msgstr "Bild hochladen" -#: ../../include/conversation.php:893 +#: ../../include/conversation.php:918 msgid "attach file" msgstr "Datei anhängen" -#: ../../include/conversation.php:895 +#: ../../include/conversation.php:920 msgid "web link" msgstr "Weblink" -#: ../../include/conversation.php:896 +#: ../../include/conversation.php:921 msgid "Insert video link" msgstr "Video-Adresse einfügen" -#: ../../include/conversation.php:897 +#: ../../include/conversation.php:922 msgid "video link" msgstr "Video-Link" -#: ../../include/conversation.php:898 +#: ../../include/conversation.php:923 msgid "Insert audio link" msgstr "Audio-Adresse einfügen" -#: ../../include/conversation.php:899 +#: ../../include/conversation.php:924 msgid "audio link" msgstr "Audio-Link" -#: ../../include/conversation.php:901 +#: ../../include/conversation.php:926 msgid "set location" msgstr "Ort setzen" -#: ../../include/conversation.php:903 +#: ../../include/conversation.php:928 msgid "clear location" msgstr "Ort löschen" -#: ../../include/conversation.php:908 +#: ../../include/conversation.php:933 msgid "permissions" msgstr "Zugriffsrechte" -#: ../../boot.php:442 +#: ../../boot.php:446 msgid "Delete this item?" msgstr "Diesen Beitrag löschen?" -#: ../../boot.php:445 +#: ../../boot.php:449 msgid "show fewer" msgstr "weniger anzeigen" -#: ../../boot.php:688 +#: ../../boot.php:692 msgid "Create a New Account" msgstr "Neuen Account erstellen" -#: ../../boot.php:708 +#: ../../boot.php:712 msgid "Nickname or Email address: " msgstr "Spitzname oder Email-Adresse: " -#: ../../boot.php:709 +#: ../../boot.php:713 msgid "Password: " msgstr "Passwort: " -#: ../../boot.php:712 +#: ../../boot.php:716 msgid "Or login using OpenID: " msgstr "Oder melde dich mit deiner OpenID an: " -#: ../../boot.php:718 +#: ../../boot.php:722 msgid "Forgot your password?" msgstr "Passwort vergessen?" -#: ../../boot.php:875 +#: ../../boot.php:879 msgid "Edit profile" msgstr "Profil bearbeiten" -#: ../../boot.php:1042 ../../boot.php:1113 +#: ../../boot.php:1046 ../../boot.php:1117 msgid "g A l F d" msgstr "l. d, F G \\U\\h\\\\r" -#: ../../boot.php:1043 ../../boot.php:1114 +#: ../../boot.php:1047 ../../boot.php:1118 msgid "F d" msgstr "d. F" -#: ../../boot.php:1068 +#: ../../boot.php:1072 msgid "Birthday Reminders" msgstr "Geburtstagserinnerungen" -#: ../../boot.php:1069 +#: ../../boot.php:1073 msgid "Birthdays this week:" msgstr "Geburtstage diese Woche:" -#: ../../boot.php:1092 ../../boot.php:1156 +#: ../../boot.php:1096 ../../boot.php:1160 msgid "[today]" msgstr "[heute]" -#: ../../boot.php:1137 +#: ../../boot.php:1141 msgid "Event Reminders" msgstr "Veranstaltungserinnerungen" -#: ../../boot.php:1138 +#: ../../boot.php:1142 msgid "Events this week:" msgstr "Veranstaltungen diese Woche" -#: ../../boot.php:1150 +#: ../../boot.php:1154 msgid "[No description]" msgstr "[keine Beschreibung]" diff --git a/view/de/strings.php b/view/de/strings.php index 166880f0d..284c87f2f 100755 --- a/view/de/strings.php +++ b/view/de/strings.php @@ -34,13 +34,13 @@ $a->strings["Friend suggestion sent."] = "Kontaktvorschlag gesendet."; $a->strings["Suggest Friends"] = "Kontakte vorschlagen"; $a->strings["Suggest a friend for %s"] = "Schlage %s einen Kontakt vor"; $a->strings["Event description and start time are required."] = "Ereignis Beschreibung und Startzeit sind erforderlich."; +$a->strings["l, F j"] = "l, F j"; +$a->strings["Edit event"] = "Veranstaltung bearbeiten"; +$a->strings["link to source"] = "Link zum Originalbeitrag"; $a->strings["Events"] = "Veranstaltungen"; $a->strings["Create New Event"] = "Neue Veranstaltung erstellen"; $a->strings["Previous"] = "Vorherige"; $a->strings["Next"] = "Nächste"; -$a->strings["l, F j"] = "l, F j"; -$a->strings["Edit event"] = "Veranstaltung bearbeiten"; -$a->strings["link to source"] = "Link zum Originalbeitrag"; $a->strings["hour:minute"] = "Stunde:Minute"; $a->strings["Event details"] = "Veranstaltungsdetails"; $a->strings["Format is %s %s. Starting date and Description are required."] = "Format ist %s %s. Anfangsdatum und Beschreibung sind notwendig."; @@ -251,6 +251,7 @@ $a->strings["Welcome to %s"] = "Willkommen zu %s"; $a->strings["Invalid request identifier."] = "Invalid request identifier."; $a->strings["Discard"] = "Verwerfen"; $a->strings["Ignore"] = "Ignorieren"; +$a->strings["System"] = "System"; $a->strings["Network"] = "Netzwerk"; $a->strings["Personal"] = "Persönlich"; $a->strings["Home"] = "Pinnwand"; @@ -282,15 +283,20 @@ $a->strings["%s is now friends with %s"] = "%s ist jetzt mit %s befreundet"; $a->strings["%s created a new post"] = "%s hat einen neuen Beitrag erstellt"; $a->strings["%s commented on %s's post"] = "%s hat %ss Beitrag kommentiert"; $a->strings["No more network notifications."] = "Keine weiteren Netzwerk-Benachrichtigungen."; +$a->strings["Network Notifications"] = "Netzwerk Benachrichtigungen"; +$a->strings["No more system notifications."] = "Keine weiteren System Benachrichtigungen."; +$a->strings["System Notifications"] = "System Benachrichtigungen"; $a->strings["No more personal notifications."] = "Keine weiteren persönlichen Benachrichtigungen"; +$a->strings["Personal Notifications"] = "Persönliche Benachrichtigungen"; $a->strings["No more home notifications."] = "Keine weiteren Pinnwand-Benachrichtigungen"; +$a->strings["Home Notifications"] = "Pinnwand Benachrichtigungen"; $a->strings["Could not access contact record."] = "Konnte nicht auf die Kontaktdaten zugreifen."; $a->strings["Could not locate selected profile."] = "Konnte das ausgewählte Profil nicht finden."; $a->strings["Contact updated."] = "Kontakt aktualisiert."; $a->strings["Contact has been blocked"] = "Kontakt wurde blockiert"; $a->strings["Contact has been unblocked"] = "Kontakt wurde wieder freigegeben"; -$a->strings["Contact has been ignored"] = "Der Kontakt wurde ignoriert"; -$a->strings["Contact has been unignored"] = "Kontakt wurde ignoriert"; +$a->strings["Contact has been ignored"] = "Kontakt wurde ignoriert"; +$a->strings["Contact has been unignored"] = "Kontakt wird nicht mehr ignoriert"; $a->strings["stopped following"] = "wird nicht mehr gefolgt"; $a->strings["Contact has been removed."] = "Kontakt wurde entfernt."; $a->strings["You are mutual friends with %s"] = "Du hast mit %s eine beidseitige Freundschaft"; @@ -328,17 +334,19 @@ $a->strings["Update now"] = "Jetzt aktualisieren"; $a->strings["Currently blocked"] = "Derzeit geblockt"; $a->strings["Currently ignored"] = "Derzeit ignoriert"; $a->strings["Replies/likes to your public posts <strong>may</strong> still be visible"] = "Antworten/Likes auf deine öffentlichen Beiträge <strong>könnten</strong> weiterhin sichtbar sein"; -$a->strings["Contacts"] = "Kontakte"; -$a->strings["Show Unblocked Contacts"] = "Nicht geblockte Kontakte anzeigen"; -$a->strings["Show Blocked Contacts"] = "Blockierte Kontakte anzeigen"; -$a->strings["Show All Contacts"] = "Alle Kontakte anzeigen"; -$a->strings["Search your contacts"] = "Suche in deinen Kontakten"; -$a->strings["Finding: "] = "Funde: "; -$a->strings["Find"] = "Finde"; +$a->strings["All Contacts"] = "Alle Kontakte"; +$a->strings["Unblocked Contacts"] = "Nicht blockierte Kontakte"; +$a->strings["Blocked Contacts"] = "Blockierte Kontakte"; +$a->strings["Ignored Contacts"] = "Ignorierte Kontakte"; +$a->strings["Hidden Contacts"] = "Verborgene Kontakte"; $a->strings["Mutual Friendship"] = "Beidseitige Freundschaft"; $a->strings["is a fan of yours"] = "ist ein Fan von dir"; $a->strings["you are a fan of"] = "du bist Fan von"; $a->strings["Edit contact"] = "Kontakt bearbeiten"; +$a->strings["Contacts"] = "Kontakte"; +$a->strings["Search your contacts"] = "Suche in deinen Kontakten"; +$a->strings["Finding: "] = "Funde: "; +$a->strings["Find"] = "Finde"; $a->strings["No valid account found."] = "Kein gültiger Account gefunden."; $a->strings["Password reset request issued. Check your email."] = "Zurücksetzen des Passworts eingeleitet. Bitte überprüfe deine E-Mail."; $a->strings["Password reset requested at %s"] = "Anfrage zum Zurücksetzen des Passworts auf %s erhalten"; @@ -365,7 +373,7 @@ $a->strings["Password update failed. Please try again."] = "Aktualisierung des P $a->strings[" Please use a shorter name."] = " Bitte verwende einen kürzeren Namen."; $a->strings[" Name too short."] = " Name ist zu kurz."; $a->strings[" Not valid email."] = " Keine gültige E-Mail."; -$a->strings[" Cannot change to that email."] = " Cannot change to that email."; +$a->strings[" Cannot change to that email."] = "Ändern der E-Mail nicht möglich. "; $a->strings["Settings updated."] = "Einstellungen aktualisiert."; $a->strings["Account settings"] = "Account Einstellungen"; $a->strings["Connector settings"] = "Connector-Einstellungen"; @@ -452,9 +460,9 @@ $a->strings["Notification Settings"] = "Benachrichtigungseinstellungen"; $a->strings["Send a notification email when:"] = "Benachrichtigungs-E-Mail senden wenn:"; $a->strings["You receive an introduction"] = "Du eine Kontaktanfrage erhältst"; $a->strings["Your introductions are confirmed"] = "Eine deiner Kontaktanfragen akzeptiert wurde"; -$a->strings["Someone writes on your profile wall"] = "Jemand etwas auf deine Pinnwand schreibt"; -$a->strings["Someone writes a followup comment"] = "Jemand auch einen Kommentar verfasst"; -$a->strings["You receive a private message"] = "Du eine private Nachricht erhältst"; +$a->strings["Someone writes on your profile wall"] = "Jemand schreibt etwas auf deine Pinnwand"; +$a->strings["Someone writes a followup comment"] = "Jemand verfasst auch einen Kommentar"; +$a->strings["You receive a private message"] = "Du erhältst eine private Nachricht"; $a->strings["You receive a friend suggestion"] = "Du eine Empfehlung erhältst"; $a->strings["You are tagged in a post"] = "Du wurdest in einem Beitrag erwähnt"; $a->strings["Advanced Page Settings"] = "Erweiterte Seiten-Einstellungen"; @@ -485,16 +493,18 @@ $a->strings["Personal Notes"] = "Persönliche Notizen"; $a->strings["Save"] = "Speichern"; $a->strings["Welcome to Friendica"] = "Willkommen bei Friendica"; $a->strings["New Member Checklist"] = "Checkliste für neue Mitglieder"; -$a->strings["We would like to offer some tips and links to help make your experience enjoyable. Click any item to visit the relevant page."] = "Wir möchten dir einige Tipps und Links anbieten, um deine Erfahrung mit Friendica so angenehm wie möglich zu machen. Klicke einfach einen Aspekt an, um weitere Informationen zu erhalten."; -$a->strings["On your <em>Settings</em> page - change your initial password. Also make a note of your Identity Address. This will be useful in making friends."] = "Ändere dein anfängliches Passwort auf der <em>Einstellungen</em> Seite. Bei dieser Gelegenheit solltest du dir die Adresse deines Profils merken, diese wird benötigt um mit Anderen in Kontakt zu treten."; +$a->strings["We would like to offer some tips and links to help make your experience enjoyable. Click any item to visit the relevant page. A link to this page will be visible from your home page for two weeks after your initial registration and then will quietly disappear."] = "Wir möchten Dir einige Tipps und Links anbieten, die Dir helfen könnten, den Einstieg angenehmer zu machen. Klicke auf ein Element, um die entsprechende Seite zu besuchen. Ein Link zu dieser Seite hier bleibt sichtbar über Deine Pinnwand für zwei Wochen nach dem Registrierungsdatum und wird dann verschwinden."; +$a->strings["On your <em>Settings</em> page - change your initial password. Also make a note of your Identity Address. This looks just like an email address - and will be useful in making friends on the free social web."] = "Ändere bitte unter <em>Einstellungen</em> Dein Passwort. Außerdem merke Dir Deine Indentifikations Adresse. Diese sieht aus wie eine E-Mail Adresse und wird benötig um Freunschaften mit anderen im Friendica Netzwerk zu schliessen."; $a->strings["Review the other settings, particularly the privacy settings. An unpublished directory listing is like having an unlisted phone number. In general, you should probably publish your listing - unless all of your friends and potential friends know exactly how to find you."] = "Ãœberprüfe die restlichen Einstellungen, insbesondere die Einstellungen zur Privatsphäre. Wenn du dein Profil nicht veröffentlichst ist das wie wenn niemand deine Telefonnummer kennt. Im Allgemeinen solltest du es veröffentlichen - außer all deine Freunde und potentiellen Freunde wissen wie man dich findet."; $a->strings["Upload a profile photo if you have not done so already. Studies have shown that people with real photos of themselves are ten times more likely to make friends than people who do not."] = "Lade ein Profilbild hoch falls du es noch nicht getan hast. Studien haben gezeigt, dass es zehnmal wahrscheinlicher ist neue Freunde zu finden, wenn du ein Bild von dir selbst verwendest als wenn du dies nicht tust."; $a->strings["Authorise the Facebook Connector if you currently have a Facebook account and we will (optionally) import all your Facebook friends and conversations."] = "Richte die Verbindung zu Facebook ein, wenn du im Augenblick ein Facebook Konto hast und (optional) deine Facebook Freunde und Unterhaltungen importieren willst."; +$a->strings["<em>If</em> this is your own personal server, installing the Facebook addon may ease your transition to the free social web."] = "<em>Wenn</em> dies dein privater Server ist könnte die Installation des Facebook Connectors deinen Umzug ins freie Soziale Netz angenehmer gestalten."; $a->strings["Enter your email access information on your Connector Settings page if you wish to import and interact with friends or mailing lists from your email INBOX"] = "Gib deine E-Mail-Zugangsinformationen auf der Connector-Einstellungsseite ein, falls du E-Mails aus deinem Posteingang importieren und mit Freunden und Mailinglisten interagieren willlst."; $a->strings["Edit your <strong>default</strong> profile to your liking. Review the settings for hiding your list of friends and hiding the profile from unknown visitors."] = "Editiere dein <strong>Standard</strong> Profil nach deinen Vorlieben. Ãœberprüfe die Einstellungen zum Verbergen deiner Freundesliste vor unbekannten Betrachtern des Profils."; $a->strings["Set some public keywords for your default profile which describe your interests. We may be able to find other people with similar interests and suggest friendships."] = "Trage ein paar öffentliche Stichwörter in dein Standardprofil ein, die deine Interessen beschreiben. Eventuell sind wir in der Lage Leute zu finden, die deine Interessen teilen und können dir dann Kontakte vorschlagen."; $a->strings["Your Contacts page is your gateway to managing friendships and connecting with friends on other networks. Typically you enter their address or site URL in the <em>Add New Contact</em> dialog."] = "Die Kontakte-Seite ist die Einstiegsseite, von der aus du Kontakte verwalten und dich mit Freunden in anderen Netzwerken verbinden kannst. Normalerweise gibst du dazu einfach ihre Adresse oder die URL der Seite im Kasten <em>Neuen Kontakt hinzufügen</em> ein."; $a->strings["The Directory page lets you find other people in this network or other federated sites. Look for a <em>Connect</em> or <em>Follow</em> link on their profile page. Provide your own Identity Address if requested."] = "Ãœber die Verzeichnisseite kannst du andere Personen auf diesem Server oder anderen verteilten Seiten finden. Halte nach einem <em>Verbinden</em> oder <em>Folgen</em> Link auf deren Profilseiten Ausschau und gib deine eigene Profiladresse an falls du danach gefragt wirst."; +$a->strings["On the side panel of the Contacts page are several tools to find new friends. We can match people by interest, look up people by name or interest, and provide suggestions based on network relationships. On a brand new site, friend suggestions will usually begin to be populated within 24 hours."] = "Im seitlichen Bedienfeld der Kontakte-Seite gibt es diverse Werkzeuge, um neue Freunde zu finden. Wir können Menschen mit den gleichen Interessen finden, anhand von Namen oder Interessen suchen oder aber aufgrund vorhandener Kontakte neue Freunde vorschlagen.\nAuf einer brandneuen - soeben erstellten - Seite starten die Kontaktvorschläge innerhalb von 24 Stunden."; $a->strings["Once you have made some friends, organize them into private conversation groups from the sidebar of your Contacts page and then you can interact with each group privately on your Network page."] = "Sobald du einige Freunde gefunden hast, organisiere sie in Gruppen zur privaten Kommunikation im Seitenmenü der Kontakte-Seite. Du kannst dann mit jeder dieser Gruppen von der Netzwerkseite aus privat interagieren."; $a->strings["Our <strong>help</strong> pages may be consulted for detail on other program features and resources."] = "Unsere <strong>Hilfe</strong> Seiten können herangezogen werden, um weitere Einzelheiten zu andern Programm Features zu erhalten."; $a->strings["Item not available."] = "Beitrag nicht verfügbar."; @@ -511,14 +521,13 @@ $a->strings["Unable to remove group."] = "Konnte die Gruppe nicht entfernen."; $a->strings["Click on a contact to add or remove."] = "Klicke einen Kontakt an, um ihn hinzuzufügen oder zu entfernen"; $a->strings["Group Editor"] = "Gruppeneditor"; $a->strings["Members"] = "Mitglieder"; -$a->strings["All Contacts"] = "Alle Kontakte"; $a->strings["Invalid profile identifier."] = "Ungültiger Profil-Bezeichner"; $a->strings["Profile Visibility Editor"] = "Editor für die Profil-Sichtbarkeit"; $a->strings["Profile"] = "Profil"; $a->strings["Visible To"] = "Sichtbar für"; $a->strings["All Contacts (with secure profile access)"] = "Alle Kontakte (mit gesichertem Profilzugriff)"; -$a->strings["View Contacts"] = "Kontakte anzeigen"; $a->strings["No contacts."] = "Keine Kontakte."; +$a->strings["View Contacts"] = "Kontakte anzeigen"; $a->strings["An invitation is required."] = "Du benötigst eine Einladung."; $a->strings["Invitation could not be verified."] = "Die Einladung konnte nicht überprüft werden."; $a->strings["Invalid OpenID url"] = "Ungültige OpenID URL"; @@ -531,7 +540,7 @@ $a->strings["Not a valid email address."] = "Keine gültige E-Mail-Adresse."; $a->strings["Cannot use that email."] = "Konnte diese E-Mail-Adresse nicht verwenden."; $a->strings["Your \"nickname\" can only contain \"a-z\", \"0-9\", \"-\", and \"_\", and must also begin with a letter."] = "Dein Spitzname darf nur aus Buchstaben und Zahlen (\"a-z\",\"0-9\", \"_\" und \"-\") bestehen, außerdem muss er mit einem Buchstaben beginnen."; $a->strings["Nickname is already registered. Please choose another."] = "Dieser Spitzname ist bereits vergeben. Bitte wähle einen anderen."; -$a->strings["SERIOUS ERROR: Generation of security keys failed."] = "SERIOUS ERROR: Generation of security keys failed."; +$a->strings["SERIOUS ERROR: Generation of security keys failed."] = "FATALER FEHLER: Sicherheitsschlüssel konnten nicht erzeugt werden."; $a->strings["An error occurred during registration. Please try again."] = "Wärend der Anmeldung ist ein Fehler aufgetreten. Bitte versuche es noch einmal."; $a->strings["An error occurred creating your default profile. Please try again."] = "Bei der Erstellung des Standard-Profils ist ein Fehler aufgetreten. Bitte versuche es noch einmal."; $a->strings["Registration details for %s"] = "Details der Registration von %s"; @@ -614,6 +623,7 @@ $a->strings["No friends to display."] = "Keine Freunde zum Anzeigen."; $a->strings["Site"] = "Seite"; $a->strings["Users"] = "Nutzer"; $a->strings["Plugins"] = "Plugins"; +$a->strings["Themes"] = "Themen"; $a->strings["Logs"] = "Protokolle"; $a->strings["User registrations waiting for confirmation"] = "Nutzeranmeldungen die auf Bestätigung warten"; $a->strings["Administration"] = "Administration"; @@ -685,6 +695,7 @@ $a->strings["Disable"] = "Ausschalten"; $a->strings["Enable"] = "Einschalten"; $a->strings["Toggle"] = "Umschalten"; $a->strings["Settings"] = "Einstellungen"; +$a->strings["No themes found."] = "Keine Themen gefunden."; $a->strings["Log settings updated."] = "Protokolleinstellungen aktualisiert."; $a->strings["Clear"] = "löschen"; $a->strings["Debugging"] = "Protokoll führen"; @@ -941,6 +952,16 @@ $a->strings["Blocked %s - Click to open/close"] = "%s blockiert - Zum Öffnen/Sc $a->strings["Unblock Author"] = "Autor freischalten"; $a->strings["Block Author"] = "Autor blockieren"; $a->strings["blockem settings updated"] = "blockem Einstellungen aktualisiert"; +$a->strings[":-)"] = ":-)"; +$a->strings[":-("] = ":-("; +$a->strings["lol"] = "lol"; +$a->strings["Quick Comment Settings"] = "Schnell-Kommentar Einstellungen"; +$a->strings["Enter quick comments, one per line"] = "Gibt ein Schnell-Kommentar pro Zeile ein"; +$a->strings["Quick Comment settings saved."] = "Schnell-Kommentare Einstellungen gespeichert"; +$a->strings["Tile Server URL"] = "Tile Server URL"; +$a->strings["A list of <a href=\"http://wiki.openstreetmap.org/wiki/TMS\" target=\"_blank\">public tile servers</a>"] = "Eine Liste <a href=\"http://wiki.openstreetmap.org/wiki/TMS\" target=\"_blank\">öffentlicher Tile Server</a>"; +$a->strings["Default zoom"] = "Standard Zoom"; +$a->strings["The default zoom level. (1:world, 18:highest)"] = "Standard Zoo,level (1: Welt; 18: höchstes)"; $a->strings["Editplain settings updated."] = "Editplain Einstellungen aktualisiert"; $a->strings["Editplain Settings"] = "Editplain Einstellungen"; $a->strings["Disable richtext status editor"] = "RichText Editor deaktivieren"; @@ -967,6 +988,7 @@ $a->strings["Current StatusNet API is"] = "Derzeitige StatusNet-API-URL lautet"; $a->strings["Cancel StatusNet Connection"] = "Verbindung zum StatusNet Server abbrechen"; $a->strings["Currently connected to: "] = "Momentan verbunden mit: "; $a->strings["If enabled all your <strong>public</strong> postings can be posted to the associated StatusNet account. You can choose to do so by default (here) or for every posting separately in the posting options when writing the entry."] = "Wenn aktiviert können all deine <strong>öffentlichen</strong> Einträge auf dem verbundenen StatusNet Konto veröffentlicht werden. Du kannst das (hier) als Standardverhalten einstellen oder beim Schreiben eines Beitrags in den Beitragsoptionen festlegen."; +$a->strings["<strong>Note</strong>: Due your privacy settings (<em>Hide your profile details from unknown viewers?</em>) the link potentially included in public postings relayed to StatusNet will lead the visitor to a blank page informing the visitor that the access to your profile has been restricted."] = "<strong>Hinweis</strong>: Aufgrund deiner Privatsphären Einstellungen (<em>Profil-Details vor unbekannten Betrachtern verbergen?</em>) wird der Link der eventuell an an deinen StatusNet Account weitergeleitete angehangen wird um auf den original Artikel zu verweisen den Betrachter auf eine leere Seite führen, auf der er darüber informiert wird, dass der Zugriff eingeschränkt wurde."; $a->strings["Allow posting to StatusNet"] = "Veröffentlichung bei StatusNet erlauben"; $a->strings["Send public postings to StatusNet by default"] = "Veröffentliche öffentliche Beiträge standardmäßig bei StatusNet"; $a->strings["Clear OAuth configuration"] = "OAuth-Konfiguration löschen"; @@ -987,11 +1009,18 @@ $a->strings["WordPress username"] = "WordPress-Benutzername"; $a->strings["WordPress password"] = "WordPress-Passwort"; $a->strings["WordPress API URL"] = "WordPress-API-URL"; $a->strings["Post to WordPress by default"] = "Standardmäßig auf WordPress veröffentlichen"; +$a->strings["\"Show more\" Settings"] = "\"Mehr zeigen\" Einstellungen"; +$a->strings["Enable Show More"] = "Aktiviere \"Mehr zeigen\""; +$a->strings["Cutting posts after how much characters"] = "Begrenze Beiträge nach der Anzahl der Buchstaben"; +$a->strings["Show More Settings saved."] = "\"Mehr zeigen\" Einstellungen gesichert."; +$a->strings["Show More"] = "\"Mehr zeigen\""; $a->strings["This website is tracked using the <a href='http://www.piwik.org'>Piwik</a> analytics tool."] = "Diese Website benutzt <a href='http://www.piwik.org'>Piwik</a>, eine Open Source-Software zur statistischen Auswertung der Besucherzugriffe."; $a->strings["If you do not want that your visits are logged this way you <a href='%s'>can set a cookie to prevent Piwik from tracking further visits of the site</a> (opt-out)."] = "Wenn Du nicht willst, dass Deine Besuche auf diese Weise gespeichert werden, kannst Du <a href='%s'>ein Cookie setzen</a>. Dann wird Piwik Dich auf dieser Website nicht mehr verfolgen (opt-out)."; $a->strings["Piwik Base URL"] = "Piwik Basis URL"; +$a->strings["Absolute path to your Piwik installation. (without protocol (http/s), with trailing slash)"] = "Absoluter Pfad zu deiner Piwik Installation (ohen Protokoll (http/s) und mit abschließendem Schrägstrich)"; $a->strings["Site ID"] = "Seiten ID"; $a->strings["Show opt-out cookie link?"] = "Link zum Setzen des Opt-Out Cookies anzeigen?"; +$a->strings["Asynchronous tracking"] = "Asynchroned Tracken"; $a->strings["Post to Twitter"] = "Bei Twitter veröffentlichen"; $a->strings["Twitter settings updated."] = "Twitter Einstellungen aktualisiert."; $a->strings["Twitter Posting Settings"] = "Twitter-Beitragseinstellungen"; @@ -1000,6 +1029,7 @@ $a->strings["At this Friendica instance the Twitter plugin was enabled but you h $a->strings["Log in with Twitter"] = "bei Twitter anmelden"; $a->strings["Copy the PIN from Twitter here"] = "Kopiere die Twitter-PIN hier her"; $a->strings["If enabled all your <strong>public</strong> postings can be posted to the associated Twitter account. You can choose to do so by default (here) or for every posting separately in the posting options when writing the entry."] = "Wenn aktiviert können all deine <strong>öffentlichen</strong> Einträge auf dem verbundenen Twitter Konto veröffentlicht werden. Du kannst dies (hier) als Standardverhalten einstellen oder beim Schreiben eines Beitrags in den Beitragsoptionen festlegen."; +$a->strings["<strong>Note</strong>: Due your privacy settings (<em>Hide your profile details from unknown viewers?</em>) the link potentially included in public postings relayed to Twitter will lead the visitor to a blank page informing the visitor that the access to your profile has been restricted."] = "<strong>Hinweis</strong>: Aufgrund deiner Privatsphären Einstellungen (<em>Profil-Details vor unbekannten Betrachtern verbergen?</em>) wird der Link der eventuell an an deinen Twitter Account weitergeleitete angehangen wird um auf den original Artikel zu verweisen den Betrachter auf eine leere Seite führen, auf der er darüber informiert wird, dass der Zugriff eingeschränkt wurde."; $a->strings["Allow posting to Twitter"] = "Veröffentlichung bei Twitter erlauben"; $a->strings["Send public postings to Twitter by default"] = "Veröffentliche öffentliche Beiträge standardmäßig bei Twitter"; $a->strings["Consumer key"] = "Consumer Key"; @@ -1170,6 +1200,7 @@ $a->strings["People directory"] = "Nutzerverzeichnis"; $a->strings["Conversations from your friends"] = "Unterhaltungen deiner Kontakte"; $a->strings["Friend Requests"] = "Kontaktanfragen"; $a->strings["See all notifications"] = "Alle Benachrichtigungen anzeigen"; +$a->strings["Mark all system notifications seen"] = "Markiere alle System Benachrichtigungen als gelesen"; $a->strings["Private mail"] = "Private Email"; $a->strings["Manage"] = "Verwalten"; $a->strings["Manage other pages"] = "Andere Seiten verwalten"; @@ -1214,6 +1245,7 @@ $a->strings["second"] = "Sekunde"; $a->strings["seconds"] = "Sekunden"; $a->strings["%1\$d %2\$s ago"] = "%1\$d %2\$s her"; $a->strings["From: "] = "Von: "; +$a->strings["$1 wrote:"] = "$1 geschrieben:"; $a->strings["Image/photo"] = "Bild/Foto"; $a->strings["Cannot locate DNS info for database server '%s'"] = "Kann die DNS Informationen für den Datenbanken Server '%s' nicht ermitteln."; $a->strings["[no subject]"] = "[kein Betreff]"; @@ -1225,19 +1257,33 @@ $a->strings["Thank You,"] = "Danke,"; $a->strings["%s Administrator"] = "der Administrator von %s"; $a->strings["New mail received at %s"] = "Neue Nachricht auf %s empfangen"; $a->strings["%s sent you a new private message at %s."] = "%s hat dir eine neue private Nachricht auf %s geschrieben."; +$a->strings["%s sent you %s."] = "%s hat Dir geschickt %s"; +$a->strings["a private message"] = "eine private Nachricht"; $a->strings["Please visit %s to view and/or reply to your private messages."] = "Bitte besuche %s, um deine privaten Nachrichten anzusehen und/oder zu beantworten."; $a->strings["%s commented on an item at %s"] = "%s kommentierte einen Beitrag auf %s"; $a->strings["%s commented on an item/conversation you have been following."] = "%s hat einen Beitrag kommentiert, dem du folgst."; +$a->strings["%s commented in %s."] = "%s wurde kommentiert in %s"; +$a->strings["a watched conversation"] = "eine beobachtete Unterhaltung"; $a->strings["Please visit %s to view and/or reply to the conversation."] = "Bitte besuche %s, um die Konversation anzusehen und/oder zu kommentieren."; $a->strings["%s posted to your profile wall at %s"] = "%s hat auf deine Pinnwand bei %s gepostet"; +$a->strings["%s posted to %s"] = "%s schrieb an %s"; +$a->strings["your profile wall."] = "Deine Pinnwand"; $a->strings["%s tagged you at %s"] = "%s hat dich auf %s erwähnt"; +$a->strings["%s %s."] = "%s %s."; +$a->strings["tagged you"] = "erwähnte Dich"; $a->strings["%s tagged your post at %s"] = "%s hat deinen Beitrag auf %s getaggt"; +$a->strings["%s tagged %s"] = "%s markierte %s"; +$a->strings["your post"] = "Dein Beitrag"; $a->strings["Introduction received at %s"] = "Kontaktanfrage auf %s erhalten"; $a->strings["You've received an introduction from '%s' at %s"] = "Du hast eine Kontaktanfrage von '%s' auf %s erhalten"; +$a->strings["You've received %s from %s."] = "Du hast %s von %s erhalten."; +$a->strings["an introduction"] = "eine Einführung"; $a->strings["You may visit their profile at %s"] = "Hier kannst du das Profil betrachten: %s"; $a->strings["Please visit %s to approve or reject the introduction."] = "Bitte besuche %s, um die Kontaktanfrage anzunehmen oder abzulehnen."; $a->strings["Friend suggestion received at %s"] = "Kontaktvorschlag empfangen auf %s"; $a->strings["You've received a friend suggestion from '%s' at %s"] = "Du hast von '%s' einen Kontaktvorschlag erhalten auf %s"; +$a->strings["You've received %s for %s from %s."] = "Du hast %s für %s von %s erhalten."; +$a->strings["a friend suggestion"] = "ein Freunde Vorschlag"; $a->strings["Name:"] = "Name:"; $a->strings["Photo:"] = "Foto:"; $a->strings["Please visit %s to approve or reject the suggestion."] = "Bitte besuche %s, um den Vorschlag zu akzeptieren oder abzulehnen."; diff --git a/view/email_notify_html.tpl b/view/email_notify_html.tpl index b302c2149..43f72f15c 100755 --- a/view/email_notify_html.tpl +++ b/view/email_notify_html.tpl @@ -18,7 +18,7 @@ <tr><td style="font-weight:bold;padding-bottom:5px;">$title</td></tr> <tr><td style="padding-right:22px;">$htmlversion</td></tr> <tr><td style="padding-top:11px;" colspan="2">$hsitelink</td></tr> - <tr><td style="padding-bottom:11px;" colspan="2">$itemlink</td></tr> + <tr><td style="padding-bottom:11px;" colspan="2">$hitemlink</td></tr> <tr><td></td><td>$thanks</td></tr> <tr><td></td><td>$site_admin</td></tr> </tbody> diff --git a/view/email_notify_text.tpl b/view/email_notify_text.tpl index f7f5a4c68..018bb6078 100755 --- a/view/email_notify_text.tpl +++ b/view/email_notify_text.tpl @@ -6,7 +6,7 @@ $title $textversion $tsitelink -$itemlink +$titemlink $thanks $site_admin diff --git a/view/head.tpl b/view/head.tpl index 2a1837088..f606f2f7e 100755 --- a/view/head.tpl +++ b/view/head.tpl @@ -11,10 +11,10 @@ <link rel="search" href="$baseurl/opensearch" type="application/opensearchdescription+xml" - title="Search in Friendika" /> + title="Search in Friendica" /> <!--[if IE]> -<script type="text/javascript" src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script> +<script type="text/javascript" src="https://html5shiv.googlecode.com/svn/trunk/html5.js"></script> <![endif]--> <script type="text/javascript" src="$baseurl/js/jquery.js" ></script> <script type="text/javascript" src="$baseurl/js/jquery.textinputs.js" ></script> diff --git a/view/jot-header.tpl b/view/jot-header.tpl index 007f639b6..d6b172b6a 100755 --- a/view/jot-header.tpl +++ b/view/jot-header.tpl @@ -15,7 +15,7 @@ function initEditor(cb){ $("a#jot-perms-icon").fancybox({ 'transitionIn' : 'elastic', 'transitionOut' : 'elastic' - }); + }); $(".jothidden").show(); if (typeof cb!="undefined") cb(); return; @@ -129,7 +129,6 @@ function enableOnUser(){ $("#profile-jot-text").focus(enableOnUser); $("#profile-jot-text").click(enableOnUser); - var uploader = new window.AjaxUpload( 'wall-image-upload', { action: 'wall_upload/$nickname', diff --git a/view/notifications.tpl b/view/notifications.tpl index 487f8b480..1a13b68b9 100755 --- a/view/notifications.tpl +++ b/view/notifications.tpl @@ -1,5 +1,5 @@ -<h1>Notifications</h1> +<h1>$notif_header</h1> {{ inc common_tabs.tpl }}{{ endinc }} diff --git a/view/settings_connectors.tpl b/view/settings_connectors.tpl index 0f3357873..9493c8bf7 100755 --- a/view/settings_connectors.tpl +++ b/view/settings_connectors.tpl @@ -23,6 +23,8 @@ $settings_connectors {{inc field_password.tpl with $field=$mail_pass }}{{endinc}} {{inc field_input.tpl with $field=$mail_replyto }}{{endinc}} {{inc field_checkbox.tpl with $field=$mail_pubmail }}{{endinc}} + {{inc field_select.tpl with $field=$mail_action }}{{endinc}} + {{inc field_input.tpl with $field=$mail_movetofolder }}{{endinc}} <div class="settings-submit-wrapper" > <input type="submit" id="imap-submit" name="imap-submit" class="settings-submit" value="$submit" /> diff --git a/view/theme/clean/unsupported b/view/theme/clean/unsupported new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/view/theme/clean/unsupported diff --git a/view/theme/darkness/unsupported b/view/theme/darkness/unsupported new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/view/theme/darkness/unsupported diff --git a/view/theme/darkzero-NS/border.jpg b/view/theme/darkzero-NS/border.jpg Binary files differnew file mode 100755 index 000000000..4967412bf --- /dev/null +++ b/view/theme/darkzero-NS/border.jpg diff --git a/view/theme/darkzero-NS/head.jpg b/view/theme/darkzero-NS/head.jpg Binary files differnew file mode 100755 index 000000000..67e852140 --- /dev/null +++ b/view/theme/darkzero-NS/head.jpg diff --git a/view/theme/darkzero-NS/sectionend.jpg b/view/theme/darkzero-NS/sectionend.jpg Binary files differnew file mode 100755 index 000000000..9d5d5c8f3 --- /dev/null +++ b/view/theme/darkzero-NS/sectionend.jpg diff --git a/view/theme/darkzero-NS/shiny.png b/view/theme/darkzero-NS/shiny.png Binary files differnew file mode 100755 index 000000000..994c0d05d --- /dev/null +++ b/view/theme/darkzero-NS/shiny.png diff --git a/view/theme/darkzero-NS/style.css b/view/theme/darkzero-NS/style.css new file mode 100755 index 000000000..047381a92 --- /dev/null +++ b/view/theme/darkzero-NS/style.css @@ -0,0 +1,99 @@ +@import url('../duepuntozero/style.css'); + +/* dark variation Fabio Comuni <fabrix.xm@gmail.com> */ + +a:link, a:visited { color: #99CCFF; text-decoration: none; } +a:hover {text-decoration: underline; } + +input, select, textarea { + background-color: #222222; + color: #FFFFFF !important; + border: 1px solid #444444; +} +.openid { background-color: #222222;} + +body { background-color: #222222; color: #cccccc; background-image: url(head.jpg); } +aside{ background-image: url(border.jpg); padding-bottom: 0px; } +section { background-color: #333333; background-image: url(border.jpg); } + + +.tabs { background-image: url(head.jpg); } +div.wall-item-content-wrapper.shiny { background-image: url('shiny.png'); } + +nav #banner #logo-text a { color: #ffffff; } + +.wall-item-content-wrapper { border: 1px solid #444444; } +.wall-item-tools { background-color: #444444; background-image: none;} +.comment-edit-wrapper{ background-color: #333333; } +.wall-item-content-wrapper.comment { background-color: #444444; border: 0px;} +.photo-top-album-name{ background-color: #333333; } +.photo-album-image-wrapper .caption { background-color: rgba(51, 51, 51, 0.8); color: #FFFFFF; } + +.nav-selected.nav-link { color: #ffffff!important; border-bottom: 0px} +.nav-commlink, .nav-login-link {background-color: #b7bab3;} +.nav-commlink:link, .nav-commlink:visited, +.nav-login-link:link, .nav-login-link:visited{ + color: #ffffff; +} + +.fakelink, .fakelink:visited { + color: #99CCFF; +} + +.wall-item-name-link { + color: #99CCFF; +} + +.wall-item-photo-menu li a { + color: #CCCCCC; background-color: #333333; +} + +.wall-item-photo-menu li a:hover { + background-color: #CCCCCC; color: #333333; +} +#page-footer { min-height: 1em;} +footer { + margin: 0px 10%; + display: block; + background-image: url('sectionend.jpg'); + background-position: top left; + background-repeat: repeat-x; + height: 25px; +} + + +input#dfrn-url { + background-color: #222222; + color: #FFFFFF !important; +} +.pager_first a, .pager_last a, .pager_prev a, .pager_next a, .pager_n a, .pager_current { + color: #000088; +} + +#jot-perms-icon { + float: left; +} + + +#jot-title { + background-color: #333333; + border: 1px solid #333333; +} + +#jot-title::-webkit-input-placeholder{ color: #555555!important;} +#jot-title:-moz-placeholder{color: #555555!important;} + + +#jot-title:hover, +#jot-title:focus { + border: 1px solid #cccccc; +} + +.wall-item-content { + max-height: 20000px; + overflow: none; +} +blockquote { + background: #ddd; + color: #000; +} diff --git a/view/theme/darkzero-NS/theme.php b/view/theme/darkzero-NS/theme.php new file mode 100755 index 000000000..521b1859e --- /dev/null +++ b/view/theme/darkzero-NS/theme.php @@ -0,0 +1,57 @@ +<?php + +/* + * Name: Darkzero-NS + * Description: Darkzero theme with posts that do not scroll + * Version: 1.0 + * Author: Mike Macgirvin <mike@macgirvin.com> + */ + +$a->theme_info = array( + 'extends' => 'duepuntozero', +); + +$a->page['htmlhead'] .= <<< EOT +<script> +$(document).ready(function() { + +$('.group-edit-icon').hover( + function() { + $(this).addClass('icon'); $(this).removeClass('iconspacer');}, + function() { + $(this).removeClass('icon'); $(this).addClass('iconspacer');} + ); + +$('.sidebar-group-element').hover( + function() { + id = $(this).attr('id'); + $('#edit-' + id).addClass('icon'); $('#edit-' + id).removeClass('iconspacer');}, + + function() { + id = $(this).attr('id'); + $('#edit-' + id).removeClass('icon');$('#edit-' + id).addClass('iconspacer');} + ); + + +$('.savedsearchdrop').hover( + function() { + $(this).addClass('drop'); $(this).addClass('icon'); $(this).removeClass('iconspacer');}, + function() { + $(this).removeClass('drop'); $(this).removeClass('icon'); $(this).addClass('iconspacer');} + ); + +$('.savedsearchterm').hover( + function() { + id = $(this).attr('id'); + $('#drop-' + id).addClass('icon'); $('#drop-' + id).addClass('drophide'); $('#drop-' + id).removeClass('iconspacer');}, + + function() { + id = $(this).attr('id'); + $('#drop-' + id).removeClass('icon');$('#drop-' + id).removeClass('drophide'); $('#drop-' + id).addClass('iconspacer');} + ); + +}); + + +</script> +EOT; diff --git a/view/theme/darkzero-NS/unsupported b/view/theme/darkzero-NS/unsupported new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/view/theme/darkzero-NS/unsupported diff --git a/view/theme/darkzero/style.css b/view/theme/darkzero/style.css index 25ae0c71f..fdaf26f19 100755 --- a/view/theme/darkzero/style.css +++ b/view/theme/darkzero/style.css @@ -88,3 +88,7 @@ input#dfrn-url { #jot-title:focus { border: 1px solid #cccccc; } +blockquote { + background: #ddd; + color: #000; +} diff --git a/view/theme/darkzero/theme.php b/view/theme/darkzero/theme.php index 5d63583f4..37632c4b5 100755 --- a/view/theme/darkzero/theme.php +++ b/view/theme/darkzero/theme.php @@ -1,4 +1,11 @@ <?php + +/* + * Name: Darkzero + * Version: 1.0 + * Author: Fabio Communi <fabrix.xm@gmail.com> + */ + $a->theme_info = array( 'extends' => 'duepuntozero', ); diff --git a/view/theme/dispy/premium.png b/view/theme/dispy/premium.png Binary files differnew file mode 100755 index 000000000..1ad601c0f --- /dev/null +++ b/view/theme/dispy/premium.png diff --git a/view/theme/dispy/star.png b/view/theme/dispy/star.png Binary files differnew file mode 100755 index 000000000..a327ba14e --- /dev/null +++ b/view/theme/dispy/star.png diff --git a/view/theme/dispy/style.css b/view/theme/dispy/style.css index 5bc1450db..7f563293a 100755 --- a/view/theme/dispy/style.css +++ b/view/theme/dispy/style.css @@ -1099,6 +1099,21 @@ div[id$="wrapper"] br { clear: left; } border-bottom: 0px; }*/ +.starred { + background-image: url("star.png"); + repeat: no-repeat; +} +.unstarred { + background-image: url("premium.png"); + repeat: no-repeat; +} + +.tagged { + background-image: url("tag.png"); + repeat: no-repeat; +} + + .border { border: 1px solid #babdb6; diff --git a/view/theme/dispy/tag.png b/view/theme/dispy/tag.png Binary files differnew file mode 100644 index 000000000..aca10707a --- /dev/null +++ b/view/theme/dispy/tag.png diff --git a/view/theme/dispy/wall_item.tpl b/view/theme/dispy/wall_item.tpl index 9c3703f5f..882843a09 100755 --- a/view/theme/dispy/wall_item.tpl +++ b/view/theme/dispy/wall_item.tpl @@ -24,6 +24,7 @@ <div class="wall-item-tools" id="wall-item-tools-$id"> {{ if $star }} <a href="#" id="starred-$id" onclick="dostar($id); return false;" class="star-item icon $isstarred" title="$star.toggle"></a> + <a href="#" id="tagger-$id" onclick="itemTag($id); return false;" class="tag-item icon tagged" title="$star.tagger"></a> {{ endif }} {{ if $vote }} <div class="wall-item-like-buttons" id="wall-item-like-buttons-$id"> diff --git a/view/theme/dispy/wallwall_item.tpl b/view/theme/dispy/wallwall_item.tpl index 95c68220a..57c6600b7 100755 --- a/view/theme/dispy/wallwall_item.tpl +++ b/view/theme/dispy/wallwall_item.tpl @@ -29,6 +29,7 @@ <div class="wall-item-tools" id="wall-item-tools-$id"> {{ if $star }} <a href="#" id="starred-$id" onclick="dostar($id); return false;" class="star-item icon $isstarred" title="$star.toggle"></a> + <a href="#" id="tagger-$id" onclick="itemTag($id); return false;" class="tag-item icon tagged" title="$star.tagger"></a> {{ endif }} {{ if $vote }} <div class="wall-item-like-buttons" id="wall-item-like-buttons-$id"> diff --git a/view/theme/duepuntozero/nav.tpl b/view/theme/duepuntozero/nav.tpl index afa918065..4675c3e5c 100755 --- a/view/theme/duepuntozero/nav.tpl +++ b/view/theme/duepuntozero/nav.tpl @@ -39,8 +39,21 @@ <span id="mail-update" class="nav-ajax-left"></span> {{ endif }} + + {{ if $nav.manage }}<a id="nav-manage-link" class="nav-commlink $nav.manage.2 $sel.manage" href="$nav.manage.0" title="$nav.manage.3">$nav.manage.1</a>{{ endif }} + + {{ if $nav.notifications }} + <a id="nav-notifications-linkmenu" class="nav-commlink" href="$nav.notifications.0" rel="#nav-notifications-menu" title="$nav.notifications.1">$nav.notifications.1</a> + <span id="notify-update" class="nav-ajax-left"></span> + <ul id="nav-notifications-menu" class="menu-popup"> + <li id="nav-notifications-see-all"><a href="$nav.notifications.all.0">$nav.notifications.all.1</a></li> + <li id="nav-notifications-mark-all"><a href="#" onclick="notifyMarkAll(); return false;">$nav.notifications.mark.1</a></li> + <li class="empty">$emptynotifications</li> + </ul> + {{ endif }} + {{ if $nav.settings }}<a id="nav-settings-link" class="nav-link $nav.settings.2" href="$nav.settings.0" title="$nav.settings.3">$nav.settings.1</a>{{ endif }} {{ if $nav.profiles }}<a id="nav-profiles-link" class="nav-link $nav.profiles.2" href="$nav.profiles.0" title="$nav.profiles.3" >$nav.profiles.1</a>{{ endif }} @@ -49,3 +62,7 @@ <span id="nav-end"></span> <span id="banner">$banner</span> </nav> + +<ul id="nav-notifications-template" style="display:none;" rel="template"> + <li class="{4}"><a href="{0}"><img src="{1}" height="24" width="24" alt="" />{2} <span class="notif-when">{3}</span></a></li> +</ul> diff --git a/view/theme/duepuntozero/style.css b/view/theme/duepuntozero/style.css index cf7505ad0..938fbe471 100755 --- a/view/theme/duepuntozero/style.css +++ b/view/theme/duepuntozero/style.css @@ -2967,3 +2967,73 @@ div.jGrowl div.info { opacity: 1.0; filter:alpha(opacity=100); } + +/* notifications popup menu */ +.nav-notify { + display: none; + position: absolute; + font-size: 10px; + padding: 1px 3px; + top: 0px; + right: -10px; + min-width: 15px; + text-align: right; +} +.nav-notify.show { + display: block; +} +ul.menu-popup { + position: absolute; + display: none; + width: 10em; + margin: 0px; + padding: 0px; + list-style: none; + z-index: 100000; + top: 90px; + left: 400px; +} +#nav-notifications-menu { + width: 320px; + max-height: 400px; + overflow-y: scroll;overflow-style:scrollbar; + background-color:#FFFFFF; + -moz-border-radius: 5px; + -webkit-border-radius: 5px; + border-radius:5px; + border: 1px solid #888; +} +#nav-notifications-menu .contactname { font-weight: bold; font-size: 0.9em; } +#nav-notifications-menu img { float: left; margin-right: 5px; } +#nav-notifications-menu .notif-when { font-size: 0.8em; display: block; } +#nav-notifications-menu li { + padding: 7px 0px 7px 10px; + word-wrap:normal; + border-bottom: 1px solid #000; +} + +#nav-notifications-menu li:hover { + +} + +#nav-notifications-menu a:hover { + text-decoration: underline; +} + +.notif-item a { + color: #000000; +} + +.notif-item a:hover { + text-decoration: underline; +} + +.notif-image { + width: 32px; + height: 32px; + padding: 7px 7px 0px 0px; +} + +.notify-seen { + background: #DDDDDD; +}
\ No newline at end of file diff --git a/view/theme/duepuntozero/wallwall_item.tpl b/view/theme/duepuntozero/wallwall_item.tpl index ea9a218b4..4675f1e00 100755 --- a/view/theme/duepuntozero/wallwall_item.tpl +++ b/view/theme/duepuntozero/wallwall_item.tpl @@ -59,6 +59,7 @@ {{ if $star }} <a href="#" id="starred-$id" onclick="dostar($id); return false;" class="star-item icon $isstarred" title="$star.toggle"></a> + <a href="#" id="tagger-$id" onclick="itemTag($id); return false;" class="tag-item icon tagged" title="$star.tagger"></a> {{ endif }} <div class="wall-item-delete-wrapper" id="wall-item-delete-wrapper-$id" > diff --git a/view/theme/easterbunny/unsupported b/view/theme/easterbunny/unsupported new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/view/theme/easterbunny/unsupported diff --git a/view/theme/ghost/unsupported b/view/theme/ghost/unsupported new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/view/theme/ghost/unsupported diff --git a/view/theme/goldenrod/unsupported b/view/theme/goldenrod/unsupported new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/view/theme/goldenrod/unsupported diff --git a/view/theme/loozah/unsupported b/view/theme/loozah/unsupported new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/view/theme/loozah/unsupported diff --git a/view/theme/loozah/wall_item.tpl b/view/theme/loozah/wall_item.tpl index 727e3d1c2..56c8a82e2 100755 --- a/view/theme/loozah/wall_item.tpl +++ b/view/theme/loozah/wall_item.tpl @@ -49,6 +49,8 @@ {{ if $star }} <a href="#" id="starred-$id" onclick="dostar($id); return false;" class="star-item icon $isstarred" title="$star.toggle"></a> + <a href="#" id="tagger-$id" onclick="itemTag($id); return false;" class="tag-item icon tagged" title="$star.tagger"></a> + {{ endif }} <div class="wall-item-delete-wrapper" id="wall-item-delete-wrapper-$id" > diff --git a/view/theme/loozah/wallwall_item.tpl b/view/theme/loozah/wallwall_item.tpl index 09de86c7b..0e4c1a6cf 100755 --- a/view/theme/loozah/wallwall_item.tpl +++ b/view/theme/loozah/wallwall_item.tpl @@ -53,6 +53,7 @@ {{ if $star }} <a href="#" id="starred-$id" onclick="dostar($id); return false;" class="star-item icon $isstarred" title="$star.toggle"></a> + <a href="#" id="tagger-$id" onclick="itemTag($id); return false;" class="tag-item icon tagged" title="$star.tagger"></a> {{ endif }} <div class="wall-item-delete-wrapper" id="wall-item-delete-wrapper-$id" > diff --git a/view/theme/shady/unsupported b/view/theme/shady/unsupported new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/view/theme/shady/unsupported diff --git a/view/theme/vier/colors.less b/view/theme/vier/colors.less index 5314b5284..18d0fc620 100644 --- a/view/theme/vier/colors.less +++ b/view/theme/vier/colors.less @@ -1,6 +1,7 @@ // Quattro Theme LESS file // "Echo" palette from Inkscape +@Yellow1 : #fce94f; @Blue1:rgb(25,174,255); @Blue2:rgb(0,132,200); @Blue3:rgb(0,92,148); @@ -71,6 +72,7 @@ @NoticeBackgroundColor: #511919; @ThreadBackgroundColor: #f6f7f8; +@ShinyBorderColor: @Yellow1; @CommentBoxEmptyColor: @Grey3; @CommentBoxEmptyBorderColor: @Grey3; @@ -91,4 +93,4 @@ @JotPermissionUnlockBackgroundColor: @Grey2; @JotPermissionLockBackgroundColor: @Grey4; @JotLoadingBackgroundColor: @Grey1; - +@JotPreviewBackgroundColor: @Yellow1; diff --git a/view/theme/vier/icons.less b/view/theme/vier/icons.less index f87327703..e314fba1f 100644 --- a/view/theme/vier/icons.less +++ b/view/theme/vier/icons.less @@ -13,6 +13,11 @@ &.link { background-image: url("../../../images/icons/@{size}/link.png"); } &.lock { background-image: url("../../../images/icons/@{size}/lock.png"); } &.unlock { background-image: url("../../../images/icons/@{size}/unlock.png"); } + &.type-unkn { background-image: url("../../../images/icons/@{size}/zip.png"); } + &.type-audio{ background-image: url("../../../images/icons/@{size}/audio.png"); } + &.type-video{ background-image: url("../../../images/icons/@{size}/video.png"); } + &.type-image{ background-image: url("../../../images/icons/@{size}/image.png"); } + &.type-text { background-image: url("../../../images/icons/@{size}/text.png"); } } diff --git a/view/theme/vier/quattro.less b/view/theme/vier/quattro.less index 671577303..9d2608261 100644 --- a/view/theme/vier/quattro.less +++ b/view/theme/vier/quattro.less @@ -3,7 +3,7 @@ /* global */ body { font-family: Liberation Sans,helvetica,arial,clean,sans-serif; - font-size: 10px; + font-size: 11px; background-color: @BodyBackground; color: @BodyColor; margin: 50px 0px 0px 0px; @@ -44,6 +44,9 @@ a:hover {color: @LinkHover; text-decoration: underline; } .hidden { display: none; } .clear { clear: both; } +.fakelink { color: @Link; text-decoration: none; cursor:pointer; } +.fakelink:hover { color: @LinkHover; text-decoration: underline; } + code { font-family: Courier, monospace; white-space: pre; @@ -55,6 +58,23 @@ code { padding: 10px; margin-top: 20px; } + +#panel { + position: absolute; + width: 10em; + background: @MenuBg; + color: @Menu; + margin: 0px; + padding: 1em; + list-style: none; + border: 3px solid @MenuBorder; + z-index: 100000; + + .shadow(); +} + + + /* tool */ .tool { @@ -234,7 +254,8 @@ ul.menu-popup { #nav-notifications-menu { - width: 400px; + width: 400px; max-height: 550px; + overflow: auto; img { float: left; margin-right: 5px; } .contactname { font-weight: bold; } .notif-when { font-size: 10px; color: @MenuItemDetail; display: block; } @@ -288,16 +309,99 @@ aside { .allcontact-link { float: right; margin: 5px 0px; } .contact-block-content { clear: both; - overflow: auto; height: auto; + overflow: hidden; + height: auto; } + /*.contact-block-div { width:60px; height: 60px; }*/ .contact-block-link { float: left; margin: 0px 2px 2px 0px; - img { widht: 48px; height: 58px; } + img { width: 48px; height: 48px; } } } +/* mail view */ +.mail-conv-sender, +.mail-conv-detail { + float: left; +} +.mail-conv-detail { + margin-left: 20px; + width: 500px; +} + +.mail-conv-subject { + font-size: 1.4em; + margin: 10px 0; +} + +.mail-conv-outside-wrapper-end { + clear: both; +} + +.mail-conv-outside-wrapper { + margin-top: 30px; +} + +.mail-conv-delete-wrapper { + float: right; + margin-right: 30px; + margin-top: 15px; +} +.mail-conv-break { + clear: both; +} +.mail-conv-delete-icon { + border: none; +} +/* group member */ +#contact-edit-drop-link, +.mail-list-delete-wrapper, +.group-delete-wrapper { + float: right; + margin-right: 50px; + .drophide { + background-image: url('../../../images/icons/22/delete.png'); + display: block; width: 22px; height: 22px; + opacity: 0.3; + position: relative; + top: -50px; + } + .drop { + background-image: url('../../../images/icons/22/delete.png'); + display: block; width: 22px; height: 22px; + position: relative; + top: -50px; + } +} +/* +#group-members { + margin-top: 20px; + padding: 10px; + height: 250px; + overflow: auto; + border: 1px solid #ddd; +} +#group-members-end { + clear: both; +} +#group-all-contacts { + padding: 10px; + height: 450px; + overflow: auto; + border: 1px solid #ddd; +} +#group-all-contacts-end { + clear: both; + margin-bottom: 10px; +} +.contact-block-div { + float: left; + width: 60px; + height: 60px; +}*/ + /* widget */ .widget { margin-bottom: 2em; @@ -431,6 +535,28 @@ section { } } +.comment-edit-preview { + width: 710px; + border: 1px solid @Grey5; + margin-top: 10px; + + .contact-photo { width: 32px; height: 32px; margin-left: 16px; + /*background: url(../../../images/icons/22/user.png) no-repeat center center;*/ + } + .contact-photo-menu-button { + top: 15px !important; + left: 15px !important; + } + .wall-item-links { padding-left: 12px; } + + .wall-item-container { width: 700px; } + .tread-wrapper { width: 700px; padding: 0; margin: 10px 0;} + + +} + +.shiny { border-right:10px solid @ShinyBorderColor; } +#jot-preview-content .tread-wrapper { background-color: @JotPreviewBackgroundColor; } .wall-item-tags { padding-top: 5px; } @@ -445,7 +571,31 @@ section { } } -/* contacts menu */ +.wwto { + position: absolute !important; + width: 25px; height: 25px; + background: #FFFFFF; + border: 2px solid @Metalic3; + height: 25px; + width: 25px; + overflow: hidden; + padding: 1px; + position: absolute !important; + top: 40px; + left: 30px; + + .shadow(0px, 0px) +} +.wwto .contact-photo { width: 25px; height: 25px; } + + +#pause { + position: fixed; + bottom: 5px; + right: 5px; +} + + .contact-photo-wrapper { position: relative; } .contact-photo { width: 48px; height: 48px; @@ -462,8 +612,14 @@ section { .contact-wrapper { float: left; - width: 90px; + width: 300px; height: 90px; + padding-right: 10px; + margin: 0 10px 10px 0px; + .contact-photo-wrapper { + float: left; + margin-right: 10px; + } .contact-photo { width: 80px; height: 80px; img { width: 80px; height: 80px; } @@ -482,8 +638,12 @@ section { img { width: 175px; height: 175px; } } } -.contact-name { text-align: center; font-weight: bold; } -.contact-details { color: @Grey3;} +.contact-name { font-weight: bold; padding-top: 15px; } +.contact-details { + color: @Grey3; white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} /* editor */ .jothidden { display: none; } @@ -794,6 +954,58 @@ ul.tabs { #profile-edit-links li { list-style: none; + margin-top: 10px; +} + +#profile-edit-default-desc { + color: #FF0000; + border: 1px solid #FF8888; + background-color: #FFEEEE; + padding: 7px; +} +#profile-edit-profile-name-label, +#profile-edit-name-label, +#profile-edit-pdesc-label, +#profile-edit-gender-label, +#profile-edit-dob-label, +#profile-edit-address-label, +#profile-edit-locality-label, +#profile-edit-region-label, +#profile-edit-postal-code-label, +#profile-edit-country-name-label, +#profile-edit-marital-label, +#profile-edit-with-label, +#profile-edit-sexual-label, +#profile-edit-politic-label, +#profile-edit-religion-label, +#profile-edit-pubkeywords-label, +#profile-edit-prvkeywords-label, +#profile-edit-gender-select, +#profile-edit-homepage-label { + float: left; + width: 175px; + padding-top: 7px; +} +#profile-edit-profile-name, +#profile-edit-name, +#gender-select, +#profile-edit-pdesc, +#profile-edit-gender, +#profile-edit-dob, +#profile-edit-address, +#profile-edit-locality, +#profile-edit-region, +#profile-edit-postal-code, +#profile-edit-country-name, +#profile-edit-marital, +#profile-edit-with, +#profile-edit-sexual, +#profile-edit-politic, +#profile-edit-religion, +#profile-edit-pubkeywords, +#profile-edit-prvkeywords, +#profile-edit-homepage { + margin-top: 5px; } /* oauth */ @@ -828,6 +1040,28 @@ ul.tabs { margin: 0px 10px 10px 0px; } +/* profile match wrapper */ +.profile-match-wrapper { + float: left; + width: 90px; + height: 90px; + margin-bottom: 20px; + .contact-photo { + width: 80px; height: 80px; + img { width: 80px; height: 80px; } + } + .contact-photo-menu-button { + left: 0px; + top: 63px; + } +} + /* page footer */ footer { height: 100px; display: table-row; } + +.pager { + margin-top: 25px; + clear: both; +} + diff --git a/view/theme/vier/search_item.tpl b/view/theme/vier/search_item.tpl index 9cd3c8e2e..372e0d034 100755 --- a/view/theme/vier/search_item.tpl +++ b/view/theme/vier/search_item.tpl @@ -1,7 +1,7 @@ <div class="wall-item-decor"> - <span class="icon s22 star $isstarred" id="starred-$id" title="$star.starred">$star.starred</span> - {{ if $lock }}<span class="icon s22 lock fakelink" onclick="lockview(event,$id);" title="$lock">$lock</span>{{ endif }} + <span class="icon star $isstarred" id="starred-$id" title="$star.starred">$star.starred</span> + {{ if $lock }}<span class="icon lock fakelink" onclick="lockview(event,$id);" title="$lock">$lock</span>{{ endif }} <img id="like-rotator-$id" class="like-rotator" src="images/rotator.gif" alt="$wait" title="$wait" style="display: none;" /> </div> @@ -25,6 +25,7 @@ <a href="$profile_url" target="redir" title="$linktitle" class="wall-item-name-link"><span class="wall-item-name$sparkle">$name</span></a> <span class="wall-item-ago">- {{ if $plink }}<a class="link" title="$plink.title" href="$plink.href" style="color: #999">$ago</a>{{ else }} $ago {{ endif }} + {{ if $lock }} - <span class="fakelink" style="color: #999" onclick="lockview(event,$id);">$lock</span> {{ endif }} </span> </div> <div class="wall-item-content"> diff --git a/view/theme/vier/style.css b/view/theme/vier/style.css index 89dd98146..39f4ffea4 100644 --- a/view/theme/vier/style.css +++ b/view/theme/vier/style.css @@ -334,11 +334,15 @@ h4 { font-size: 1.1em; } -a {color: #3e3e8c; -text-decoration: none; +a { + color: #36C; + /* color: #3e3e8c; */ + text-decoration: none; +} +a:hover { + /* color: blue; */ + text-decoration: underline } -a:hover {color: blue; -text-decoration: underline} .wall-item-name-link { /* float: left;*/ @@ -364,12 +368,13 @@ text-decoration: underline} clear: both; } .fakelink { - color: #3e3e8c; + color: #36c; + /* color: #3e3e8c; */ text-decoration: none; cursor: pointer; } .fakelink:hover { - color: blue; + /* color: blue; */ /*color: #005c94; */ text-decoration: underline; } @@ -402,6 +407,12 @@ code { .tool { height: auto; overflow: auto; + padding: 3px; +} +#saved-search-ul .tool:hover, +#nets-sidebar .tool:hover, +#sidebar-group-list .tool:hover { + background: #EEE; } .tool .label { float: left; @@ -409,6 +420,12 @@ code { .tool .action { float: right; } +.tool a { + color: #000; +} +.tool a:hover { + text-decoration: none; +} /* popup notifications */ div.jGrowl div.notice { background: #511919 url("../../../images/icons/48/notice.png") no-repeat 5px center; @@ -496,7 +513,7 @@ nav ul { nav ul li { list-style: none; margin: 0px; - padding: 0px; + /* padding: 1px 1px 3px 1px; */ float: left; } nav ul li .menu-popup { @@ -536,7 +553,8 @@ nav .nav-menu.selected { nav .nav-notify { display: none; position: absolute; - background-color: #19aeff; + background-color: #36c; + /* background-color: #19aeff; */ -moz-border-radius: 5px 5px 5px 5px; -webkit-border-radius: 5px 5px 5px 5px; border-radius: 5px 5px 5px 5px; @@ -571,10 +589,25 @@ nav #nav-notifications-linkmenu.on .icon.s22.notify, nav #nav-notifications-link nav #nav-apps-link.selected { background-color: #364e59; } + +#nav-notifications-mark-all { + /* padding: 1px 1px 2px 26px; */ + /* border-bottom: 1px solid #364E59; */ + /* margin: 0px 0px 2px 0px; + padding: 5px 10px; */ +} + +#nav-notifications-see-all { + /* padding: 1px 1px 2px 26px; */ + /* border-bottom: 1px solid #364E59; */ + /* margin: 0px 0px 2px 0px; + padding: 5px 10px; */ +} + ul.menu-popup { position: absolute; display: none; - width: 10em; + width: 11em; background: #ffffff; color: #2d2d2d; margin: 0px; @@ -644,6 +677,15 @@ ul.menu-popup .empty { max-height: 550px; overflow: auto; } +/* #nav-notifications-menu a { + display: inline; + padding: 5px 0px; + margin: 0px 0px 2px 0px; +} +#nav-notifications-menu li:hover { + background-color: #bdcdd4; +}*/ + #nav-notifications-menu img { float: left; margin-right: 5px; @@ -656,6 +698,13 @@ ul.menu-popup .empty { color: #9eabb0; display: block; } + +.notif-image { + width: 32px; + height: 32px; + padding: 7px 7px 0px 0px; +} + /* aside */ aside { display: table-cell; @@ -711,7 +760,8 @@ aside #dfrn-request-link { } aside #dfrn-request-link:hover { text-decoration: none; - background-color: #19aeff; + background-color: #36c; + /* background-color: #19aeff; */ } aside #profiles-menu { width: 20em; @@ -813,7 +863,7 @@ section { display: table-cell; vertical-align: top; width: 800px; - padding: 0px 20px 0px 10px; + padding: 0px 0px 0px 10px; } /* wall item */ .tread-wrapper { @@ -886,7 +936,7 @@ section { } .wall-item-container .wall-item-content img { - max-width: 710px; + max-width: 700px; } .wall-item-container .wall-item-links, .wall-item-container .wall-item-actions { display: table-cell; @@ -946,7 +996,7 @@ section { /*background: url(../../../images/icons/22/user.png) no-repeat center center;*/ } -.wall-item-container.comment .contact-photo-menu-button { +.wall-item-container.comment { top: 15px !important; left: 15px !important; } @@ -985,7 +1035,7 @@ section { /*background: url(../../../images/icons/22/user.png) no-repeat center center;*/ } -.comment-edit-preview .contact-photo-menu-button { +.comment-edit-preview { top: 15px !important; left: 15px !important; } @@ -1000,6 +1050,16 @@ section { padding: 0; margin: 10px 0; } + +.shiny { + /* border-right: 10px solid #fce94f; */ + border-right: 1px solid #A7C7F7; + padding-right: 12px; +} +#jot-preview-content .tread-wrapper { + background-color: #fce94f; +} + .wall-item-tags { padding-top: 1px; padding-bottom: 2px; @@ -1056,12 +1116,7 @@ section { width: 48px; height: 48px; } -.contact-photo-menu-button { - display: none; - position: absolute; - left: -2px; - top: 31px; -} + .contact-wrapper { float: left; width: 90px; @@ -1076,26 +1131,21 @@ section { width: 80px; height: 80px; } -.contact-wrapper .contact-photo-menu-button { +.contact-wrapper { left: 0px; top: 63px; } -.directory-item { - float: left; - width: 200px; - height: 200px; -} -.directory-item .contact-photo { - width: 175px; - height: 175px; +.contact-photo { + width: 48px; + height: 48px; } -.directory-item .contact-photo img { - width: 175px; - height: 175px; +.contact-photo img { + width: 48px; + height: 48px; } .contact-name { - text-align: center; - font-weight: bold; + /* text-align: center; */ + /*font-weight: bold;*/ font-size: 12px; } .contact-details { @@ -1459,7 +1509,8 @@ ul.tabs li .active { } /* contacts */ .contact-entry-wrapper { - width: 50px; + width: 120px; + height: 120px; float: left; } /* photo */ @@ -1482,10 +1533,48 @@ ul.tabs li .active { width: 80px; height: 80px; } -.profile-match-wrapper .contact-photo-menu-button { +.profile-match-wrapper { left: 0px; top: 63px; } + +.contact-photo-menu-button { + position: relative; + background-image: url("../../../images/icons/16/menu.png"); + background-position: top left; + background-repeat: no-repeat; + margin: 0px 0px -16px 0px; + padding: 0px; + width: 16px; + height: 16px; + top: -20px; left:0px; + overflow: hidden; + text-indent: 40px; + display: none; + +} +.contact-photo-menu { + width: 11em; + border: 3px solid #364e59; + color: #2d2d2d; + background: #FFFFFF; +/* position: absolute;*/ + position: relative; + left: 0px; top: 0px; + display: none; + z-index: 10000; +} +.contact-photo-menu ul { margin:0px; padding: 0px; list-style: none } +.contact-photo-menu li a { + display: block; + padding: 5px 10px; + color: #2d2d2d; + text-decoration: none; +} +.contact-photo-menu li a:hover { + background-color: #bdcdd4; +} + /* page footer */ footer { height: 100px; @@ -1527,397 +1616,338 @@ blockquote { #prof-separator { display: none;} */ -#prvmail-wrapper, .mail-conv-detail, .mail-list-detail { - position: relative; - width: 500px; - padding: 50px; - margin: 20px auto; - background-color: #fff; - -webkit-box-shadow: 0 0 4px rgba(0, 0, 0, 0.2), inset 0 0 50px rgba(0, 0, 0, 0.1); - -moz-box-shadow: 0 0 4px rgba(0, 0, 0, 0.2), inset 0 0 50px rgba(0, 0, 0, 0.1); - box-shadow: 0 0 5px rgba(0, 0, 0, 0.2), inset 0 0 50px rgba(0, 0, 0, 0.1); -} - -#prvmail-wrapper:before, #prvmail-wrapper:after, .mail-conv-detail:before, .mail-conv-detail:after, .mail-list-detail:before, .mail-list-detail:after { - position: absolute; - width: 40%; - height: 10px; - content: ' '; - left: 12px; - bottom: 12px; - background: transparent; - -webkit-transform: skew(-5deg) rotate(-5deg); - -moz-transform: skew(-5deg) rotate(-5deg); - -ms-transform: skew(-5deg) rotate(-5deg); - -o-transform: skew(-5deg) rotate(-5deg); - transform: skew(-5deg) rotate(-5deg); - -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.3); - -moz-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.3); - box-shadow: 0 6px 12px rgba(0, 0, 0, 0.3); - z-index: -1; -} - -#prvmail-wrapper:after, .mail-conv-detail:after, .mail-list-detail:after { - left: auto; - right: 12px; - -webkit-transform: skew(5deg) rotate(5deg); - -moz-transform: skew(5deg) rotate(5deg); - -ms-transform: skew(5deg) rotate(5deg); - -o-transform: skew(5deg) rotate(5deg); - transform: skew(5deg) rotate(5deg); -} - -.prvmail-text { - width: 100%; +#prvmail-to-label, #prvmail-subject-label, #prvmail-message-label { + margin-bottom: 10px; + margin-top: 20px; } -.mail-list-outside-wrapper { - margin-top: 20px; +#prvmail-submit { + float: left; + margin-top: 10px; + margin-right: 30px; +} +#prvmail-upload-wrapper, +#prvmail-link-wrapper, +#prvmail-rotator-wrapper { + float: left; + margin-top: 10px; + margin-right: 10px; + width: 24px; } -.mail-list-sender { - float: left; - padding: 5px; - background-color: #efefef; - border: 2px dotted #eeeeee; - -moz-box-shadow: 3px 3px 4px #959494; - -webkit-box-shadow: 3px 3px 4px #959494; - box-shadow: 3px 3px 4px #959494; +#prvmail-end { + clear: both; } +.mail-list-sender, .mail-list-detail { - margin-left: 100px; - width: 300px; - min-height: 70px; - padding: 20px; - padding-top:10px; - border: 1px solid #dddddd; - } - -.mail-list-sender-name { - font-size: 1.1em; - display: inline; - font-variant:small-caps; + float: left; } - -.mail-list-date { - float: right; - clear: block; - display: inline; - font-size: 0.9em; - padding-left: 10px; - font-stretch:ultra-condensed; - font-variant:small-caps; +.mail-list-detail { + margin-left: 20px; } .mail-list-subject { - clear: block; - font-size: 1.2em; - padding-top: 20px; - padding-right: 50px; + font-size: 1.1em; + margin-top: 10px; } - -.mail-list-subject a { - color: #626262; +a.mail-list-link { + display: block; + font-size: 1.3em; + padding: 4px 0; } -.mail-list-delete-wrapper { float: right;} +/* +*a.mail-list-link:hover { +* background-color: #15607B; +* color: #F5F6FB; +*} +*/ + .mail-list-outside-wrapper-end { - clear: both; + clear: both; } -.mail-conv-outside-wrapper { - margin-bottom: 10px; +.mail-list-outside-wrapper { + margin-top: 30px; } -.mail-conv-sender {float: left; margin: 0px 5px 5px 0px; } -.mail-conv-sender-photo { - width: 64px; - height: 64px; +.mail-list-delete-wrapper { + float: right; + margin-right: 30px; + margin-top: 15px; } -.mail-conv-sender-name { float: left; font-variant:small-caps; font-style: bold; } -.mail-conv-date { float: right; font-variant:small-caps; } -.mail-conv-subject { clear: right; font-weight: bold; font-size: 1.2em } -.mail-conv-body { - clear: both; +.mail-list-delete-icon { + border: none; } +.mail-conv-sender, .mail-conv-detail { - width: 500px; - padding: 30px; - padding-bottom: 10px; - margin-left: 20px; - margin-bottom: 0px; - vertical-align: middle; - margin: auto; - border: 1px solid #dddddd; -} -.mail-conv-break { display: none; border: none;} -.mail-conv-delete-wrapper { padding-top: 10px; width: 510px; text-align: right; } - -/* ========== */ -/* = Events = */ -/* ========== */ - -.clear { clear: both; } -.eventcal { float: left; - font-size: 20px; - padding: 20px; +} +.mail-conv-detail { + margin-left: 20px; + width: 500px; } -.vevent { - position: relative; - width: 400px; - padding: 20px; - padding-top: 10px; - margin: 0 0px; - margin-bottom: 10px; - background-color: #fff; - -webkit-box-shadow: 0 0 4px rgba(0, 0, 0, 0.2), inset 0 0 50px rgba(0, 0, 0, 0.1); - -moz-box-shadow: 0 0 4px rgba(0, 0, 0, 0.2), inset 0 0 50px rgba(0, 0, 0, 0.1); - box-shadow: 0 0 5px rgba(0, 0, 0, 0.2), inset 0 0 50px rgba(0, 0, 0, 0.1); -} - -.vevent:before, .vevent:after { - position: absolute; - width: 40%; - height: 10px; - content: ' '; - left: 12px; - bottom: 12px; - background: transparent; - -webkit-transform: skew(-5deg) rotate(-5deg); - -moz-transform: skew(-5deg) rotate(-5deg); - -ms-transform: skew(-5deg) rotate(-5deg); - -o-transform: skew(-5deg) rotate(-5deg); - transform: skew(-5deg) rotate(-5deg); - -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.3); - -moz-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.3); - box-shadow: 0 6px 12px rgba(0, 0, 0, 0.3); - z-index: -1; -} - -.vevent:after { - left: auto; - right: 12px; - -webkit-transform: skew(5deg) rotate(5deg); - -moz-transform: skew(5deg) rotate(5deg); - -ms-transform: skew(5deg) rotate(5deg); - -o-transform: skew(5deg) rotate(5deg); - transform: skew(5deg) rotate(5deg); -} - -.vevent .event-description { - margin-left: 10px; - margin-right: 10px; - text-align:center; - font-size: 1.2em; - font-weight:bolder; +.mail-conv-subject { + font-size: 1.4em; + margin: 10px 0; } - .vevent .event-location{ - margin-left: 10px; - margin-right: 10px; - font-size: 1em; - font-style: oblique; - text-align: center; - +.mail-conv-outside-wrapper-end { + clear: both; } -.vevent .event-start, .vevent .event-end { - margin-left: 20px; - margin-right: 20px; - margin-bottom: 2px; - margin-top: 2px; - font-size: 0.9em; - font-variant: small-caps; - text-align: left; +.mail-conv-outside-wrapper { + margin-top: 30px; } -#new-event-link{ - width: 130px; - padding: 7px; - margin-bottom: 10px; - margin-left: 170px; ; - -moz-box-shadow:inset 0px 1px 0px 0px #cfcfcf; - -webkit-box-shadow:inset 0px 1px 0px 0px #cfcfcf; - box-shadow:inset 0px 1px 0px 0px #cfcfcf; - background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #bdbdbd), color-stop(1, #a2a2a2) ); - background:-moz-linear-gradient( center top, #bdbdbd 5%, #a2a2a2 100% ); - filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#bdbdbd', endColorstr='#a2a2a2'); - background-color:#bdbdbd; - -moz-border-radius:5px; - -webkit-border-radius:5px; - border-radius:5px; - color: #efefef; +.mail-conv-delete-wrapper { + float: right; + margin-right: 30px; + margin-top: 15px; +} +.mail-conv-break { + clear: both; +} + +.mail-conv-delete-icon { + border: none; } -#new-event-link:hover { - color: #efefef; - background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #b20202), color-stop(1, #d60808) ); - background:-moz-linear-gradient( center top, #b20202 5%, #d60808 100% ); - filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#b20202', endColorstr='#d60808'); - background-color:#b20202; +/* ========== */ +/* = Events = */ +/* ========== */ +.eventcal { + float: left; + font-size: 20px; } -#new-event-link:active { - background-color: #b20202; - position:relative; - top:1px; +.vevent { + border: 1px solid #CCCCCC; +} +.vevent .event-description, .vevent .event-location { + margin-left: 10px; + margin-right: 10px; +} +.vevent .event-start { + margin-left: 10px; + margin-right: 10px; } -#new-event-link a { - color: #efefef; - text-align: center; +#new-event-link { + margin-bottom: 10px; } .edit-event-link, .plink-event-link { - float: left; - margin-top: 4px; - margin-right: 4px; - margin-bottom: 15px; + float: left; + margin-top: 4px; + margin-right: 4px; + margin-bottom: 15px; } .event-description:before { - content: url('calendar.png'); - margin-right: 15px; - vertical-align: middle; + content: url('../../../images/calendar.png'); + margin-right: 15px; } .event-start, .event-end { - margin-left: 10px; - width: 330px; + margin-left: 10px; + width: 330px; + clear: both; } .event-start .dtstart, .event-end .dtend { - float: right; + float: right; } .event-list-date { - color: #626262; - margin-bottom: 10px; - font-variant:small-caps; - font-stretch:condensed; + margin-bottom: 10px; } .prevcal, .nextcal { - float: left; - margin-left: 32px; - margin-right: 32px; - margin-top: 64px; + float: left; + margin-left: 32px; + margin-right: 32px; + margin-top: 64px; } - .event-calendar-end { - clear: both; + clear: both; } + .calendar { - width: 300px; - font-family: Helvetica, Arial, sans-serif; - background-color: #f1f1f1; - border: 1px solid #dedede; - margin-bottom: 10px; - -moz-box-shadow: 5px 5px 8px #959494; - -webkit-box-shadow: 5px 5px 8px #959494; - box-shadow: 5px 5px 8px #959494; + font-family: Courier, monospace; +} +.today { + font-weight: bold; + color: #FF0000; } -.calendar caption{ - background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #d60808), color-stop(1, #b20202) ); - background:-moz-linear-gradient( center top, #d60808 5%, #b20202 100% ); - filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#d60808', endColorstr='#b20202'); - background-color: #b20202; - padding: 10px 0px 10px 0px; - width: 300px; - color: #ffffff; - font-weight: bold; - text-align:center; - font-variant:small-caps; - -moz-box-shadow: 5px 2px 8px #959494; - -webkit-box-shadow: 5px 2px 8px #959494; - box-shadow: 5px 2px 8px #959494; +.settings-block { + border: 1px solid #AAA; + margin: 10px; + padding: 10px; } -tr { - border: 1px solid #eeeeee; +.app-title { + margin: 10px; } -.calendar td { - font-size: 14px; - text-align: center; - padding: 3px 0px; +#identity-manage-desc { + margin-top:15px; + margin-bottom: 15px; } -.calendar td > a { - background-color: #cdcdcd; - padding: 2px; - color: #000; +#identity-manage-choose { + margin-bottom: 15px; } -.calendar th { - font-size: 16px; +#identity-submit { + margin-top: 20px; } -.today { - font-weight: bold; - text-align: center; - background-color: #b20202; - color: #fff; +#photo-prev-link, #photo-next-link { + padding: 10px; + float: left; } - -#event-start-text, -#event-finish-text { - margin-top: 10px; - margin-bottom: 5px; + +#photo-photo { + float: left; } -#event-nofinish-checkbox, -#event-nofinish-text, -#event-adjust-checkbox, -#event-adjust-text, -#event-share-checkbox { - float: left; +#photo-photo-end { + clear: both; } -#event-datetime-break { - margin-bottom: 10px; +.profile-match-photo { + float: left; + text-align: center; + width: 120px; } -#event-nofinish-break, -#event-adjust-break, -#event-share-break { - clear: both; +.profile-match-name { + float: left; + text-align: center; + width: 120px; + overflow: hidden; } -#event-desc-text, -#event-location-text { - margin-top: 10px; - margin-bottom: 5px; +.profile-match-break, +.profile-match-end { + clear: both; } -#event-submit { - margin-top: 10px; +.profile-match-connect { + text-align: center; + font-weight: bold; +} + +.profile-match-wrapper { + float: left; + padding: 10px; + width: 120px; + height: 120px; + scroll: auto; +} +#profile-match-wrapper-end { + clear: both; } /* ============= */ /* = Directory = */ /* ============= */ - +/* contacts menu */ +.contact-photo-wrapper { + position: relative; +} +.contact-photo { + width: 48px; + height: 48px; + overflow: hidden; + display: block; +} +.contact-photo img { + width: 48px; + height: 48px; +} +.contact-photo-menu-button { + display: none; + /* position: absolute; */ + /* position: absolute; */ + left: -2px; + top: -20px; +} +.contact-wrapper { + float: left; + width: 90px; + height: 90px; + margin-bottom: 15px; +} +.contact-wrapper .contact-photo { + width: 80px; + height: 80px; +} +.contact-wrapper .contact-photo img { + width: 80px; + height: 80px; +} +.contact-wrapper .contact-photo-menu-button { + left: 0px; + top: 63px; +} .directory-item { - float: left; - margin: 50px 50px 0px 0px; + float: left; + width: 200px; + height: 200px; +} +.directory-item .contact-photo { + width: 175px; + height: 175px; +} +.directory-item .contact-photo img { + width: 175px; + height: 175px; +} +.contact-name { + text-align: center; + font-weight: bold; + font-size: 12px; +} +.contact-details { + color: #999999; +} + +.photo-top-image-wrapper { + position: relative; + float: left; + margin-top: 15px; + margin-right: 15px; + width: 200px; height: 200px; + overflow: hidden; +} +.photo-top-album-name { + width: 100%; + min-height: 2em; + position: absolute; + bottom: 0px; + padding: 0px 3px; + padding-top: 0.5em; + background-color: rgb(255, 255, 255); +} +#photo-top-end { + clear: both; } -.directory-details { - font-size: 0.9em; - font-variant: small-caps; - width: 160px; +#photo-top-links { + margin-bottom: 30px; + margin-left: 30px; } -.directory-name { - font-size: 1em; - font-variant: small-caps; - width: 150px; +#photos-upload-newalbum-div { + float: left; + width: 175px; } + diff --git a/view/theme/vier/wall_item.tpl b/view/theme/vier/wall_item.tpl index 03cbd4c0b..abd2862a1 100644 --- a/view/theme/vier/wall_item.tpl +++ b/view/theme/vier/wall_item.tpl @@ -1,7 +1,7 @@ {{ if $indent }}{{ else }} <div class="wall-item-decor"> - <span class="icon s22 star $isstarred" id="starred-$id" title="$star.starred">$star.starred</span> - {{ if $lock }}<span class="icon s22 lock fakelink" onclick="lockview(event,$id);" title="$lock">$lock</span>{{ endif }} + <span class="icon star $isstarred" id="starred-$id" title="$star.starred">$star.starred</span> + {{ if $lock }}<span class="icon lock fakelink" onclick="lockview(event,$id);" title="$lock">$lock</span>{{ endif }} <img id="like-rotator-$id" class="like-rotator" src="images/rotator.gif" alt="$wait" title="$wait" style="display: none;" /> </div> {{ endif }} @@ -23,8 +23,9 @@ </div> <div class="wall-item-actions-author"> <a href="$profile_url" target="redir" title="$linktitle" class="wall-item-name-link"><span class="wall-item-name$sparkle">$name</span></a> - <span class="wall-item-ago">- + <span class="wall-item-ago">- {{ if $plink }}<a class="link" title="$plink.title" href="$plink.href" style="color: #999">$ago</a>{{ else }} $ago {{ endif }} + {{ if $lock }} - <span class="fakelink" style="color: #999" onclick="lockview(event,$id);">$lock</span> {{ endif }} </span> </div> <div class="wall-item-content"> diff --git a/view/theme/vier/wallwall_item.tpl b/view/theme/vier/wallwall_item.tpl index 3357bd8e0..8e452f4f6 100644 --- a/view/theme/vier/wallwall_item.tpl +++ b/view/theme/vier/wallwall_item.tpl @@ -1,7 +1,7 @@ {{ if $indent }}{{ else }} <div class="wall-item-decor"> - <span class="icon s22 star $isstarred" id="starred-$id" title="$star.starred">$star.starred</span> - {{ if $lock }}<span class="icon s22 lock fakelink" onclick="lockview(event,$id);" title="$lock">$lock</span>{{ endif }} + <span class="icon star $isstarred" id="starred-$id" title="$star.starred">$star.starred</span> + {{ if $lock }}<span class="icon lock fakelink" onclick="lockview(event,$id);" title="$lock">$lock</span>{{ endif }} <img id="like-rotator-$id" class="like-rotator" src="images/rotator.gif" alt="$wait" title="$wait" style="display: none;" /> </div> {{ endif }} @@ -32,6 +32,7 @@ $to <a href="$owner_url" target="redir" title="$olinktitle" class="wall-item-name-link"><span class="wall-item-name$osparkle" id="wall-item-ownername-$id">$owner_name</span></a> $vwall <span class="wall-item-ago">- {{ if $plink }}<a class="link" title="$plink.title" href="$plink.href" style="color: #999">$ago</a>{{ else }} $ago {{ endif }} + {{ if $lock }} - <span class="fakelink" style="color: #999" onclick="lockview(event,$id);">$lock</span> {{ endif }} </span> </div> @@ -61,6 +62,7 @@ {{ if $star }} <a href="#" id="star-$id" onclick="dostar($id); return false;" class="$star.classdo" title="$star.do">$star.do</a> <a href="#" id="unstar-$id" onclick="dostar($id); return false;" class="$star.classundo" title="$star.undo">$star.undo</a> + <a href="#" id="tagger-$id" onclick="itemTag($id); return false;" class="$star.classtagger" title="$star.tagger">$star.tagger</a> {{ endif }} {{ if $vote }} diff --git a/view/wallwall_item.tpl b/view/wallwall_item.tpl index 11297647a..61a248135 100755 --- a/view/wallwall_item.tpl +++ b/view/wallwall_item.tpl @@ -55,6 +55,8 @@ {{ if $star }} <a href="#" id="star-$id" onclick="dostar($id); return false;" class="$star.classdo" title="$star.do">$star.do</a> <a href="#" id="unstar-$id" onclick="dostar($id); return false;" class="$star.classundo" title="$star.undo">$star.undo</a> + <a href="#" id="tagger-$id" onclick="itemTag($id); return false;" class="$star.classtagger" title="$star.tagger">$star.tagger</a> + {{ endif }} {{ if $vote }} |