]> git.mxchange.org Git - friendica.git/commitdiff
Merge pull request #3542 from annando/1706-not-done
authorTobias Diekershoff <tobias.diekershoff@gmx.net>
Tue, 20 Jun 2017 05:39:28 +0000 (07:39 +0200)
committerGitHub <noreply@github.com>
Tue, 20 Jun 2017 05:39:28 +0000 (07:39 +0200)
Only show the number of workerqueue entries that aren't done

21 files changed:
doc/de/Account-Basics.md
include/dba_pdo.php
include/dbstructure.php
include/diaspora.php
include/event.php
include/msgclean.php
include/pgettext.php
include/queue.php
include/redir.php
include/salmon.php
include/security.php
include/socgraph.php
include/tags.php
include/template_processor.php
include/text.php
include/threads.php
mods/sample-nginx.config
view/lang/de/messages.po
view/lang/de/strings.php
view/lang/en-gb/messages.po
view/lang/en-us/messages.po

index 50525981540c5f6762214b074cce219d6866163f..9d2f3ac86ce666623d076872811cfb72bcfe7041 100644 (file)
@@ -9,37 +9,37 @@ Account - Basics
 Nicht alle Friendica-Knoten bieten die Möglichkeit zur Registrierung. 
 Wenn die Registrierung möglich ist, wird ein "Registrieren"-Link unter dem Login-Feld auf der Startseite angezeigt, der zur Registrierungsseite führt. 
 Die Stärke unseres Netzwerks ist, dass die verschiedenen Knoten komplett kompatibel zueinander sind. 
-Wenn der Knoten, den Du besuchst, keine Registrierung anbietet, oder wenn Du glaubst, dass Dir eine andere Seite möglicherweise besser gefällt, dann kannst Du hier eine <a href="https://dir.friendica.social/servers">Liste von öffentlichen Servern (Knoten)</a> finden und den Knoten heraus suchen, der am Besten zu Deinen Anforderungen passt. 
+Wenn der Knoten, den Du besuchst, keine Registrierung anbietet, oder wenn Du glaubst, dass Dir eine andere Seite möglicherweise besser gefällt, dann kannst Du hier eine <a href="https://dir.friendica.social/servers">Liste von öffentlichen Servern (Knoten)</a> finden und den Knoten heraus suchen, der am Besten zu Deinen Anforderungen passt.
 
-Wenn Du Deinen eigenen Server aufsetzen willst, kannst Du das ebenfalls machen. 
-Besuche <a href="http://friendi.ca">die Friendica-Webseite</a>, um den Code mit den Installationsanleitungen herunterzuladen. 
+Wenn Du Deinen eigenen Server aufsetzen willst, kannst Du das ebenfalls machen.
+Besuche <a href="http://friendi.ca">die Friendica-Webseite</a>, um den Code mit den Installationsanleitungen herunterzuladen.
 Es ist ein einfacher Installationsprozess, den jeder mit ein wenig Erfahrungen im Webseiten-Hosting oder mit grundlegenden Linux-Erfahrungen einfach handhaben kann.
 
 
 *OpenID*
 
-Das erste Feld auf der Registrierungsseite ist für eine OpenID-Adresse. 
-Wenn Du keine OpenID-Adresse hast oder nicht wünschst, diese zu nutzen, dann lasse das Feld frei. 
-Wenn Du einen OpenID-Account hast und diesen nutzen willst, gib die Adresse in das Feld ein und klicke auf "Registrieren". 
-Friendica wird versuchen, so viele Informationen wie möglich von Deinem OpenID-Provider zu übernehmen, um diese in Dein Profil auf dieser Seite einzutragen. 
+Das erste Feld auf der Registrierungsseite ist für eine OpenID-Adresse.
+Wenn Du keine OpenID-Adresse hast oder nicht wünschst, diese zu nutzen, dann lasse das Feld frei.
+Wenn Du einen OpenID-Account hast und diesen nutzen willst, gib die Adresse in das Feld ein und klicke auf "Registrieren".
+Friendica wird versuchen, so viele Informationen wie möglich von Deinem OpenID-Provider zu übernehmen, um diese in Dein Profil auf dieser Seite einzutragen.
 
 
 *Dein vollständiger Name*
 
-Bitte trage Deinen vollständigen Namen **so ein, wie Du ihn im System anzeigen lassen willst**. 
+Bitte trage Deinen vollständigen Namen **so ein, wie Du ihn im System anzeigen lassen willst**.
 Viele Leute nutzen ihren richtigen Namen hierfür, allerdings besteht für dich keine Pflicht, das auch so zu machen.
 
 
 *Email-Adresse*
 
-Bitte trage eine richtige Email-Adresse ein. 
-Deine Email-Adresse wird **niemals** veröffentlicht. 
-Wir benötigen diese, um Dir Account-Informationen und die Login-Daten zu schicken. 
-Du erhältst zudem von Zeit zu Zeit Benachrichtigungen über eingegangene Nachrichten oder Punkte, die Deine Aufmerksamkeit benötigen. 
-Du hast aber auch die Möglichkeit, diese Nachrichten in Deinen Account-Einstellungen komplett abzuschalten. 
+Bitte trage eine richtige Email-Adresse ein.
+Deine Email-Adresse wird **niemals** veröffentlicht.
+Wir benötigen diese, um Dir Account-Informationen und die Login-Daten zu schicken.
+Du erhältst zudem von Zeit zu Zeit Benachrichtigungen über eingegangene Nachrichten oder Punkte, die Deine Aufmerksamkeit benötigen.
+Du hast aber auch die Möglichkeit, diese Nachrichten in Deinen Account-Einstellungen komplett abzuschalten.
 
-Du musst nicht Deine Haupt-Email-Adresse sein, jedoch wird eine funktionierende Adresse benötigt. 
-Ohne dieses kannst Du weder Dein Initialpasswort erhalten, noch Dein Passwort zurücksetzen. 
+Du musst nicht Deine Haupt-Email-Adresse sein, jedoch wird eine funktionierende Adresse benötigt.
+Ohne dieses kannst Du weder Dein Initialpasswort erhalten, noch Dein Passwort zurücksetzen.
 Dies ist die einzige persönliche Information, die korrekt sein muss.
  
 
@@ -85,7 +85,7 @@ Falls Du Schwierigkeiten beim Login hast, prüfe bitte, ob z. B. Deine Feststell
 
 **Passwort ändern**
 
-Besuche nach Deinem ersten Login bitte die Einstellungsseite und wechsle das Passwort in eines, dass Du Dir merken kannst. 
+Besuche nach Deinem ersten Login bitte die Einstellungsseite und wechsle das Passwort in eines, dass Du Dir merken kannst.
 
 
 **Der Anfang**
@@ -95,7 +95,7 @@ Ein ['Tipp für neue Mitglieder'](newmember)-Link zeigt sich in den ersten beide
 
 **Persönliche Daten exportieren**
 
-Du kannst eine Kopie Deiner persönlichen Daten in einer XML-Datei exportieren. 
+Du kannst eine Kopie Deiner persönlichen Daten in einer XML-Datei exportieren.
 Gehe hierzu in Deinen Einstellungen auf "Persönliche Daten exportieren".
 
 
index 2ad5ab7447c4cb8bec6937ad07dc45b2938e5243..9f2774d9b78c2f85230ed61717a7ca8c4ad7003d 100644 (file)
@@ -14,18 +14,19 @@ $objDDDBLResultHandler = new DataObjectPool('Result-Handler');
   *
   **/
 $cloPDOStatementResultHandler = function(Queue $objQueue) {
+       $objPDO = $objQueue->getState()->get('PDOStatement');
+       $objQueue->getState()->update(array('result' => $objPDO));
 
-  $objPDO = $objQueue->getState()->get('PDOStatement');
-  $objQueue->getState()->update(array('result' => $objPDO));
-
-  # delete handler which closes the PDOStatement-cursor
-  # this will be done manual if using this handler
-  $objQueue->deleteHandler(QUEUE_CLOSE_CURSOR_POSITION);
-
+       /*
+        * delete handler which closes the PDOStatement-cursor
+        * this will be done manual if using this handler
+        */
+       $objQueue->deleteHandler(QUEUE_CLOSE_CURSOR_POSITION);
 };
 
 $objDDDBLResultHandler->add('PDOStatement', array('HANDLER' => $cloPDOStatementResultHandler));
 
+if (! class_exists('dba')) {
 /**
  *
  * MySQL database class
@@ -36,8 +37,6 @@ $objDDDBLResultHandler->add('PDOStatement', array('HANDLER' => $cloPDOStatementR
  * the debugging stream is safe to view within both terminals and web pages.
  *
  */
-
-if (! class_exists('dba')) {
 class dba {
 
        private $debug = 0;
@@ -146,16 +145,17 @@ class dba {
 
                $a->save_timestamp($stamp1, "database");
 
-               /// @TODO really check $a->config for 'system'? it is very generic and should be there
-               if (x($a->config, 'system') && x($a->config['system'], 'db_log')) {
-                       if (($duration > $a->config["system"]["db_loglimit"])) {
-                               $duration = round($duration, 3);
-                               $backtrace = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS);
-                               @file_put_contents($a->config["system"]["db_log"], datetime_convert()."\t".$duration."\t".
-                                               basename($backtrace[1]["file"])."\t".
-                                               $backtrace[1]["line"]."\t".$backtrace[2]["function"]."\t".
-                                               substr($sql, 0, 2000)."\n", FILE_APPEND);
-                       }
+               /*
+                * Check if the configuration group 'system' and db_log is there. The
+                * extra first check needs to be done to avoid endless loop.
+                */
+               if (x($a->config, 'system') && x($a->config['system'], 'db_log') && ($duration > $a->config["system"]["db_loglimit"])) {
+                       $duration = round($duration, 3);
+                       $backtrace = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS);
+                       @file_put_contents($a->config["system"]["db_log"], datetime_convert()."\t".$duration."\t".
+                                       basename($backtrace[1]["file"])."\t".
+                                       $backtrace[1]["line"]."\t".$backtrace[2]["function"]."\t".
+                                       substr($sql, 0, 2000)."\n", FILE_APPEND);
                }
 
                if ($intErrorCode) {
@@ -202,8 +202,11 @@ class dba {
                }
 
                if ($onlyquery) {
-                       $this->result = $r;       # this will store an PDOStatement Object in result
-                       $this->result->execute(); # execute the Statement, to get its result
+                       // this will store an PDOStatement Object in result
+                       $this->result = $r;
+
+                       // execute the Statement, to get its result
+                       $this->result->execute();
                        return true;
                }
 
@@ -262,7 +265,8 @@ function printable($s) {
        return $s;
 }}
 
-// Procedural functions
+// --- Procedural functions ---
+
 if (! function_exists('dbg')) {
 function dbg($state) {
        global $db;
@@ -273,18 +277,20 @@ function dbg($state) {
 if (! function_exists('dbesc')) {
 function dbesc($str) {
        global $db;
-       if ($db && $db->connected)
-               return($db->escape($str));
-       else
-               return(str_replace("'","\\'",$str));
+
+       if ($db && $db->connected) {
+               return $db->escape($str);
+       } else {
+               return str_replace("'","\\'",$str);
+       }
 }}
 
 if (! function_exists('q')) {
-/**
+/*
  * Function: q($sql,$args);
  * Description: execute SQL query with printf style args.
  * Example: $r = q("SELECT * FROM `%s` WHERE `uid` = %d",
- *   'user', 1);
+ *                   'user', 1);
  */
 function q($sql) {
 
@@ -301,23 +307,19 @@ function q($sql) {
                return $db->q($stmt);
        }
 
-       /**
-        *
+       /*
         * This will happen occasionally trying to store the
         * session data after abnormal program termination
-        *
         */
        logger('dba: no database: ' . print_r($args,true));
        return false;
-
 }}
 
 if (! function_exists('dbq')) {
-/**
+/*
  * Raw db query, no arguments
  */
 function dbq($sql) {
-
        global $db;
        if ($db && $db->connected) {
                $ret = $db->q($sql);
@@ -327,15 +329,14 @@ function dbq($sql) {
        return $ret;
 }}
 
-
-/*
- * Caller is responsible for ensuring that any integer arguments to
- * dbesc_array are actually integers and not malformed strings containing
- * SQL injection vectors. All integer array elements should be specifically
- * cast to int to avoid trouble.
- */
 if (! function_exists('dbesc_array_cb')) {
 function dbesc_array_cb(&$item, $key) {
+       /*
+        * Caller is responsible for ensuring that any integer arguments to
+        * dbesc_array are actually integers and not malformed strings containing
+        * SQL injection vectors. All integer array elements should be specifically
+        * cast to int to avoid trouble.
+        */
        if (is_string($item)) {
                $item = dbesc($item);
        }
index 9b4921eb83888b598af4406e832559e4b6074b3e..268bbbb66944060cb1f9b7d16b9ca464ad3f6716 100644 (file)
@@ -30,7 +30,7 @@ function convert_to_innodb() {
                $sql = sprintf("ALTER TABLE `%s` engine=InnoDB;", dbesc($table['TABLE_NAME']));
                echo $sql."\n";
 
-               $result = @$db->q($sql);
+               $result = $db->q($sql);
                if (!dbm::is_result($result)) {
                        print_update_error($db, $sql);
                }
@@ -85,6 +85,7 @@ function update_fail($update_id, $error_message) {
 
 
        /*
+        @TODO deprecated code?
        $email_tpl = get_intltext_template("update_fail_eml.tpl");
        $email_msg = replace_macros($email_tpl, array(
                '$sitename' => $a->config['sitename'],
@@ -1764,10 +1765,10 @@ function dbstructure_run(&$argv, &$argc) {
        }
 
        if (is_null($db)) {
-               @include(".htconfig.php");
-               require_once("include/dba.php");
+               @include ".htconfig.php";
+               require_once "include/dba.php";
                $db = new dba($db_host, $db_user, $db_pass, $db_data);
-                       unset($db_host, $db_user, $db_pass, $db_data);
+               unset($db_host, $db_user, $db_pass, $db_data);
        }
 
        if ($argc == 2) {
index 671bb34ae59406761b242f7f1e77b3e9aec14d9a..762018b170c4f1f9ec35ff498b143f319427b051 100644 (file)
@@ -880,11 +880,14 @@ class Diaspora {
                if (dbm::is_result($r)) {
                        return $r[0];
                } else {
-                       // We haven't found it?
-                       // We use another function for it that will possibly create a contact entry
+                       /*
+                        * We haven't found it?
+                        * We use another function for it that will possibly create a contact entry.
+                        */
                        $cid = get_contact($handle, $uid);
 
                        if ($cid > 0) {
+                               /// @TODO Contact retrieval should be encapsulated into an "entity" class like `Contact`
                                $r = q("SELECT * FROM `contact` WHERE `id` = %d LIMIT 1", intval($cid));
 
                                if (dbm::is_result($r)) {
@@ -919,9 +922,11 @@ class Diaspora {
         */
        private static function post_allow($importer, $contact, $is_comment = false) {
 
-               // perhaps we were already sharing with this person. Now they're sharing with us.
-               // That makes us friends.
-               // Normally this should have handled by getting a request - but this could get lost
+               /*
+                * Perhaps we were already sharing with this person. Now they're sharing with us.
+                * That makes us friends.
+                * Normally this should have handled by getting a request - but this could get lost
+                */
                if ($contact["rel"] == CONTACT_IS_FOLLOWER && in_array($importer["page-flags"], array(PAGE_FREELOVE))) {
                        q("UPDATE `contact` SET `rel` = %d, `writable` = 1 WHERE `id` = %d AND `uid` = %d",
                                intval(CONTACT_IS_FRIEND),
@@ -934,16 +939,19 @@ class Diaspora {
 
                // We don't seem to like that person
                if ($contact["blocked"] || $contact["readonly"] || $contact["archive"]) {
+                       // Maybe blocked, don't accept.
                        return false;
-               // We are following this person? Then it is okay
+               // We are following this person?
                } elseif (($contact["rel"] == CONTACT_IS_SHARING) || ($contact["rel"] == CONTACT_IS_FRIEND)) {
+                       // Yes, then it is fine.
                        return true;
-               // Is it a post to a community? That's good
+               // Is it a post to a community?
                } elseif (($contact["rel"] == CONTACT_IS_FOLLOWER) && ($importer["page-flags"] == PAGE_COMMUNITY)) {
+                       // That's good
                        return true;
-               }
-               // Messages for the global users and comments are always accepted
-               if (($importer["uid"] == 0) || $is_comment) {
+               // Is the message a global user or a comment?
+               } elseif (($importer["uid"] == 0) || $is_comment) {
+                       // Messages for the global users and comments are always accepted
                        return true;
                }
 
index 089fe705dbbe1b10a6ee68f7e22e01d00787e82c..e5f19deda0a84bc9049084c9b66ff8fd61f1ce37 100644 (file)
@@ -853,18 +853,22 @@ function widget_events() {
                return;
        }
 
-       // Cal logged in user (test permission at foreign profile page)
-       // If the $owner uid is available we know it is part of one of the profile pages (like /cal)
-       // So we have to test if if it's the own profile page of the logged in user
-       // or a foreign one. For foreign profile pages we need to check if the feature
-       // for exporting the cal is enabled (otherwise the widget would appear for logged in users
-       // on foreigen profile pages even if the widget is disabled)
+       /*
+        * Cal logged in user (test permission at foreign profile page)
+        * If the $owner uid is available we know it is part of one of the profile pages (like /cal)
+        * So we have to test if if it's the own profile page of the logged in user
+        * or a foreign one. For foreign profile pages we need to check if the feature
+        * for exporting the cal is enabled (otherwise the widget would appear for logged in users
+        * on foreigen profile pages even if the widget is disabled)
+        */
        if (intval($owner_uid) && local_user() !== $owner_uid && ! feature_enabled($owner_uid, "export_calendar")) {
                return;
        }
 
-       // If it's a kind of profile page (intval($owner_uid)) return if the user not logged in and
-       // export feature isn't enabled
+       /*
+        * If it's a kind of profile page (intval($owner_uid)) return if the user not logged in and
+        * export feature isn't enabled
+        */
        if (intval($owner_uid) && ! local_user() && ! feature_enabled($owner_uid, "export_calendar")) {
                return;
        }
index 4abbafb71b8ea2b55b1cb401df0d9e7aaaa94052..6f7a42e6a4b0c39b7225f2bc602adefec1731f32 100644 (file)
@@ -158,7 +158,7 @@ function removelinebreak($message)
                $currquotelevel = 0;
                $currline = $line;
                while ((strlen($currline)>0) && ((substr($currline, 0, 1) == '>')
-                       || (substr($currline, 0, 1) == ' '))) {
+                       || (substr($currline, 0, 1) == ' '))) {
                        if (substr($currline, 0, 1) == '>')
                                $currquotelevel++;
 
@@ -168,7 +168,7 @@ function removelinebreak($message)
                $quotelevel = 0;
                $nextline = trim($arrbody[$i+1]);
                while ((strlen($nextline)>0) && ((substr($nextline, 0, 1) == '>')
-                       || (substr($nextline, 0, 1) == ' '))) {
+                       || (substr($nextline, 0, 1) == ' '))) {
                        if (substr($nextline, 0, 1) == '>')
                                $quotelevel++;
 
@@ -203,7 +203,7 @@ function removelinebreak($message)
                        $lines[$lineno] .= ' ';
 
                        while ((strlen($line)>0) && ((substr($line, 0, 1) == '>')
-                       || (substr($line, 0, 1) == ' '))) {
+                       || (substr($line, 0, 1) == ' '))) {
 
                                $line = ltrim(substr($line, 1));
                        }
index 756905a43a1bfb760e4f7d5e29aaab3bbafcb701..f6f26a8cc4a13b90f8daea14b1ca664f6c8e2f10 100644 (file)
@@ -91,7 +91,6 @@ function pop_lang() {
        $lang = $a->langsave;
 }
 
-
 // l
 
 if (! function_exists('load_translation_table')) {
index 5e73922f9a948daf9b939397061e8856a17f7333..f721326f06e4049bf97de210377168e7183c4402 100644 (file)
@@ -2,15 +2,15 @@
 
 use Friendica\Core\Config;
 
-require_once('include/queue_fn.php');
-require_once('include/dfrn.php');
-require_once("include/datetime.php");
-require_once('include/items.php');
-require_once('include/bbcode.php');
-require_once('include/socgraph.php');
-require_once('include/cache.php');
-
-function queue_run(&$argv, &$argc){
+require_once 'include/queue_fn.php';
+require_once 'include/dfrn.php';
+require_once 'include/datetime.php';
+require_once 'include/items.php';
+require_once 'include/bbcode.php';
+require_once 'include/socgraph.php';
+require_once 'include/cache.php';
+
+function queue_run(&$argv, &$argc) {
        global $a;
 
        if ($argc > 1) {
@@ -41,9 +41,10 @@ function queue_run(&$argv, &$argc){
                        q("DELETE FROM `queue` WHERE `created` < UTC_TIMESTAMP() - INTERVAL 3 DAY");
                }
 
-               // For the first 12 hours we'll try to deliver every 15 minutes
-               // After that, we'll only attempt delivery once per hour.
-
+               /*
+                * For the first 12 hours we'll try to deliver every 15 minutes
+                * After that, we'll only attempt delivery once per hour.
+                */
                $r = q("SELECT `id` FROM `queue` WHERE ((`created` > UTC_TIMESTAMP() - INTERVAL 12 HOUR AND `last` < UTC_TIMESTAMP() - INTERVAL 15 MINUTE) OR (`last` < UTC_TIMESTAMP() - INTERVAL 1 HOUR)) ORDER BY `cid`, `created`");
 
                call_hooks('queue_predeliver', $a, $r);
@@ -60,8 +61,8 @@ function queue_run(&$argv, &$argc){
 
        // delivering
 
-       require_once('include/salmon.php');
-       require_once('include/diaspora.php');
+       require_once 'include/salmon.php';
+       require_once 'include/diaspora.php';
 
        $r = q("SELECT * FROM `queue` WHERE `id` = %d LIMIT 1",
                intval($queue_id));
index 36f982b12cd6f76b5293ee6cb4344e6656f5188b..d6b8285cfc08180fe379311733d65318c513458b 100644 (file)
@@ -6,13 +6,13 @@ function auto_redir(App $a, $contact_nick) {
 
        // prevent looping
 
-       if(x($_REQUEST,'redir') && intval($_REQUEST['redir']))
+       if (x($_REQUEST,'redir') && intval($_REQUEST['redir']))
                return;
 
-       if((! $contact_nick) || ($contact_nick === $a->user['nickname']))
+       if ((! $contact_nick) || ($contact_nick === $a->user['nickname']))
                return;
 
-       if(local_user()) {
+       if (local_user()) {
 
                // We need to find out if $contact_nick is a user on this hub, and if so, if I
                // am a contact of that user. However, that user may have other contacts with the
@@ -24,7 +24,7 @@ function auto_redir(App $a, $contact_nick) {
 
                $baseurl = App::get_baseurl();
                $domain_st = strpos($baseurl, "://");
-               if($domain_st === false)
+               if ($domain_st === false)
                        return;
                $baseurl = substr($baseurl, $domain_st + 3);
                $nurl = normalise_link($baseurl);
@@ -58,11 +58,11 @@ function auto_redir(App $a, $contact_nick) {
 
                $dfrn_id = $orig_id = (($r[0]['issued-id']) ? $r[0]['issued-id'] : $r[0]['dfrn-id']);
 
-               if($r[0]['duplex'] && $r[0]['issued-id']) {
+               if ($r[0]['duplex'] && $r[0]['issued-id']) {
                        $orig_id = $r[0]['issued-id'];
                        $dfrn_id = '1:' . $orig_id;
                }
-               if($r[0]['duplex'] && $r[0]['dfrn-id']) {
+               if ($r[0]['duplex'] && $r[0]['dfrn-id']) {
                        $orig_id = $r[0]['dfrn-id'];
                        $dfrn_id = '0:' . $orig_id;
                }
@@ -70,7 +70,7 @@ function auto_redir(App $a, $contact_nick) {
                // ensure that we've got a valid ID. There may be some edge cases with forums and non-duplex mode
                // that may have triggered some of the "went to {profile/intro} and got an RSS feed" issues
 
-               if(strlen($dfrn_id) < 3)
+               if (strlen($dfrn_id) < 3)
                        return;
 
                $sec = random_string();
index 6e08d0aaf2bac22516ef3dd38864665b144cb7f8..6675849ce4198f5d701998665c61ebd2ac8797f0 100644 (file)
@@ -170,11 +170,14 @@ function slapper($owner, $url, $slap) {
        }
 
        logger('slapper for '.$url.' returned ' . $return_code);
+
        if (! $return_code) {
-               return(-1);
+               return -1;
        }
+
        if (($return_code == 503) && (stristr($a->get_curl_headers(), 'retry-after'))) {
-               return(-1);
+               return -1;
        }
+
        return ((($return_code >= 200) && ($return_code < 300)) ? 0 : 1);
 }
index 09ac03c35e9cbfe2cfd64c96b04bda169b90ccf8..51fb6f7259a1aaaacfdfd2f4bb1dcc81b84514a6 100644 (file)
@@ -56,58 +56,65 @@ function authenticate_success($user_record, $login_initial = false, $interactive
 
        $a->user = $user_record;
 
-       if($interactive) {
+       if ($interactive) {
                if ($a->user['login_date'] <= NULL_DATE) {
                        $_SESSION['return_url'] = 'profile_photo/new';
                        $a->module = 'profile_photo';
                        info( t("Welcome ") . $a->user['username'] . EOL);
                        info( t('Please upload a profile photo.') . EOL);
-               }
-               else
+               } else {
                        info( t("Welcome back ") . $a->user['username'] . EOL);
+               }
        }
 
        $member_since = strtotime($a->user['register_date']);
-       if(time() < ($member_since + ( 60 * 60 * 24 * 14)))
+       if (time() < ($member_since + ( 60 * 60 * 24 * 14))) {
                $_SESSION['new_member'] = true;
-       else
+       } else {
                $_SESSION['new_member'] = false;
-       if(strlen($a->user['timezone'])) {
+       }
+       if (strlen($a->user['timezone'])) {
                date_default_timezone_set($a->user['timezone']);
                $a->timezone = $a->user['timezone'];
        }
 
        $master_record = $a->user;
 
-       if((x($_SESSION,'submanage')) && intval($_SESSION['submanage'])) {
-               $r = q("select * from user where uid = %d limit 1",
+       if ((x($_SESSION,'submanage')) && intval($_SESSION['submanage'])) {
+               $r = q("SELECT * FROM `user` WHERE `uid` = %d LIMIT 1",
                        intval($_SESSION['submanage'])
                );
-               if (dbm::is_result($r))
+               if (dbm::is_result($r)) {
                        $master_record = $r[0];
+               }
        }
 
        $r = q("SELECT `uid`,`username`,`nickname` FROM `user` WHERE `password` = '%s' AND `email` = '%s' AND `account_removed` = 0 ",
                dbesc($master_record['password']),
                dbesc($master_record['email'])
        );
-       if (dbm::is_result($r))
+       if (dbm::is_result($r)) {
                $a->identities = $r;
-       else
+       } else {
                $a->identities = array();
+       }
 
-       $r = q("select `user`.`uid`, `user`.`username`, `user`.`nickname`
-               from manage INNER JOIN user on manage.mid = user.uid where `user`.`account_removed` = 0
-               and `manage`.`uid` = %d",
+       $r = q("SELECT `user`.`uid`, `user`.`username`, `user`.`nickname`
+               FROM `manage`
+               INNER JOIN `user` ON `manage`.`mid` = `user`.`uid`
+               WHERE `user`.`account_removed` = 0 AND `manage`.`uid` = %d",
                intval($master_record['uid'])
        );
-       if (dbm::is_result($r))
+       if (dbm::is_result($r)) {
                $a->identities = array_merge($a->identities,$r);
+       }
 
-       if($login_initial)
+       if ($login_initial) {
                logger('auth_identities: ' . print_r($a->identities,true), LOGGER_DEBUG);
-       if($login_refresh)
+       }
+       if ($login_refresh) {
                logger('auth_identities refresh: ' . print_r($a->identities,true), LOGGER_DEBUG);
+       }
 
        $r = q("SELECT * FROM `contact` WHERE `uid` = %d AND `self` = 1 LIMIT 1",
                intval($_SESSION['uid']));
@@ -119,7 +126,7 @@ function authenticate_success($user_record, $login_initial = false, $interactive
 
        header('X-Account-Management-Status: active; name="' . $a->user['username'] . '"; id="' . $a->user['nickname'] .'"');
 
-       if($login_initial || $login_refresh) {
+       if ($login_initial || $login_refresh) {
 
                q("UPDATE `user` SET `login_date` = '%s' WHERE `uid` = %d",
                        dbesc(datetime_convert()),
@@ -228,7 +235,7 @@ function can_write_wall(App $a, $owner) {
 }
 
 
-function permissions_sql($owner_id,$remote_verified = false,$groups = null) {
+function permissions_sql($owner_id, $remote_verified = false, $groups = null) {
 
        $local_user = local_user();
        $remote_user = remote_user();
@@ -238,7 +245,6 @@ function permissions_sql($owner_id,$remote_verified = false,$groups = null) {
         *
         * default permissions - anonymous user
         */
-
        $sql = " AND allow_cid = ''
                         AND allow_gid = ''
                         AND deny_cid  = ''
@@ -249,21 +255,18 @@ function permissions_sql($owner_id,$remote_verified = false,$groups = null) {
         * Profile owner - everything is visible
         */
 
-       if(($local_user) && ($local_user == $owner_id)) {
+       if (($local_user) && ($local_user == $owner_id)) {
                $sql = '';
-       }
-
-       /**
-        * Authenticated visitor. Unless pre-verified,
-        * check that the contact belongs to this $owner_id
-        * and load the groups the visitor belongs to.
-        * If pre-verified, the caller is expected to have already
-        * done this and passed the groups into this function.
-        */
-
-       elseif($remote_user) {
-
-               if(! $remote_verified) {
+       } elseif ($remote_user) {
+               /*
+                * Authenticated visitor. Unless pre-verified,
+                * check that the contact belongs to this $owner_id
+                * and load the groups the visitor belongs to.
+                * If pre-verified, the caller is expected to have already
+                * done this and passed the groups into this function.
+                */
+
+               if (! $remote_verified) {
                        $r = q("SELECT id FROM contact WHERE id = %d AND uid = %d AND blocked = 0 LIMIT 1",
                                intval($remote_user),
                                intval($owner_id)
@@ -273,16 +276,18 @@ function permissions_sql($owner_id,$remote_verified = false,$groups = null) {
                                $groups = init_groups_visitor($remote_user);
                        }
                }
-               if($remote_verified) {
+               if ($remote_verified) {
 
                        $gs = '<<>>'; // should be impossible to match
 
-                       if(is_array($groups) && count($groups)) {
-                               foreach($groups as $g)
+                       if (is_array($groups) && count($groups)) {
+                               foreach ($groups as $g)
                                        $gs .= '|<' . intval($g) . '>';
                        }
 
-                       /*$sql = sprintf(
+                       /*
+                        * @TODO old-lost code found?
+                       $sql = sprintf(
                                " AND ( allow_cid = '' OR allow_cid REGEXP '<%d>' )
                                  AND ( deny_cid  = '' OR  NOT deny_cid REGEXP '<%d>' )
                                  AND ( allow_gid = '' OR allow_gid REGEXP '%s' )
@@ -292,7 +297,8 @@ function permissions_sql($owner_id,$remote_verified = false,$groups = null) {
                                intval($remote_user),
                                dbesc($gs),
                                dbesc($gs)
-                       );*/
+                       );
+                       */
                        $sql = sprintf(
                                " AND ( NOT (deny_cid REGEXP '<%d>' OR deny_gid REGEXP '%s')
                                  AND ( allow_cid REGEXP '<%d>' OR allow_gid REGEXP '%s' OR ( allow_cid = '' AND allow_gid = '') )
@@ -309,7 +315,7 @@ function permissions_sql($owner_id,$remote_verified = false,$groups = null) {
 }
 
 
-function item_permissions_sql($owner_id,$remote_verified = false,$groups = null) {
+function item_permissions_sql($owner_id, $remote_verified = false, $groups = null) {
 
        $local_user = local_user();
        $remote_user = remote_user();
@@ -319,7 +325,6 @@ function item_permissions_sql($owner_id,$remote_verified = false,$groups = null)
         *
         * default permissions - anonymous user
         */
-
        $sql = " AND `item`.allow_cid = ''
                         AND `item`.allow_gid = ''
                         AND `item`.deny_cid  = ''
@@ -330,22 +335,17 @@ function item_permissions_sql($owner_id,$remote_verified = false,$groups = null)
        /**
         * Profile owner - everything is visible
         */
-
-       if($local_user && ($local_user == $owner_id)) {
+       if ($local_user && ($local_user == $owner_id)) {
                $sql = '';
-       }
-
-       /**
-        * Authenticated visitor. Unless pre-verified,
-        * check that the contact belongs to this $owner_id
-        * and load the groups the visitor belongs to.
-        * If pre-verified, the caller is expected to have already
-        * done this and passed the groups into this function.
-        */
-
-       elseif($remote_user) {
-
-               if(! $remote_verified) {
+       } elseif ($remote_user) {
+               /*
+                * Authenticated visitor. Unless pre-verified,
+                * check that the contact belongs to this $owner_id
+                * and load the groups the visitor belongs to.
+                * If pre-verified, the caller is expected to have already
+                * done this and passed the groups into this function.
+                */
+               if (! $remote_verified) {
                        $r = q("SELECT id FROM contact WHERE id = %d AND uid = %d AND blocked = 0 LIMIT 1",
                                intval($remote_user),
                                intval($owner_id)
@@ -355,13 +355,14 @@ function item_permissions_sql($owner_id,$remote_verified = false,$groups = null)
                                $groups = init_groups_visitor($remote_user);
                        }
                }
-               if($remote_verified) {
+               if ($remote_verified) {
 
                        $gs = '<<>>'; // should be impossible to match
 
-                       if(is_array($groups) && count($groups)) {
-                               foreach($groups as $g)
+                       if (is_array($groups) && count($groups)) {
+                               foreach ($groups as $g) {
                                        $gs .= '|<' . intval($g) . '>';
+                               }
                        }
 
                        $sql = sprintf(
@@ -412,7 +413,11 @@ function get_form_security_token($typename = '') {
 }
 
 function check_form_security_token($typename = '', $formname = 'form_security_token') {
-       if (!x($_REQUEST, $formname)) return false;
+       if (!x($_REQUEST, $formname)) {
+               return false;
+       }
+
+       /// @TODO Careful, not secured!
        $hash = $_REQUEST[$formname];
 
        $max_livetime = 10800; // 3 hours
@@ -420,7 +425,9 @@ function check_form_security_token($typename = '', $formname = 'form_security_to
        $a = get_app();
 
        $x = explode('.', $hash);
-       if (time() > (IntVal($x[0]) + $max_livetime)) return false;
+       if (time() > (IntVal($x[0]) + $max_livetime)) {
+               return false;
+       }
 
        $sec_hash = hash('whirlpool', $a->user['guid'] . $a->user['prvkey'] . session_id() . $x[0] . $typename);
 
@@ -441,7 +448,7 @@ function check_form_security_token_redirectOnErr($err_redirect, $typename = '',
 }
 function check_form_security_token_ForbiddenOnErr($typename = '', $formname = 'form_security_token') {
        if (!check_form_security_token($typename, $formname)) {
-           $a = get_app();
+               $a = get_app();
                logger('check_form_security_token failed: user ' . $a->user['guid'] . ' - form element ' . $typename);
                logger('check_form_security_token failed: _REQUEST data: ' . print_r($_REQUEST, true), LOGGER_DATA);
                header('HTTP/1.1 403 Forbidden');
@@ -454,7 +461,7 @@ function check_form_security_token_ForbiddenOnErr($typename = '', $formname = 'f
 // DFRN contact. They are *not* neccessarily unique across the entire site.
 
 
-if(! function_exists('init_groups_visitor')) {
+if (! function_exists('init_groups_visitor')) {
 function init_groups_visitor($contact_id) {
        $groups = array();
        $r = q("SELECT `gid` FROM `group_member`
@@ -462,9 +469,8 @@ function init_groups_visitor($contact_id) {
                intval($contact_id)
        );
        if (dbm::is_result($r)) {
-               foreach($r as $rr)
+               foreach ($r as $rr)
                        $groups[] = $rr['gid'];
        }
        return $groups;
 }}
-
index eda8e3797cf03f7112c79b23dc56fd5227a1fe13..f055aebdf86ad7e7e0080a9f2c6317df50f4656f 100644 (file)
@@ -53,8 +53,8 @@ function poco_load($cid, $uid = 0, $zcid = 0, $url = null) {
 function poco_load_worker($cid, $uid, $zcid, $url) {
        $a = get_app();
 
-       if($cid) {
-               if((! $url) || (! $uid)) {
+       if ($cid) {
+               if ((! $url) || (! $uid)) {
                        $r = q("select `poco`, `uid` from `contact` where `id` = %d limit 1",
                                intval($cid)
                        );
@@ -63,12 +63,14 @@ function poco_load_worker($cid, $uid, $zcid, $url) {
                                $uid = $r[0]['uid'];
                        }
                }
-               if(! $uid)
+               if (! $uid) {
                        return;
+               }
        }
 
-       if(! $url)
+       if (! $url) {
                return;
+       }
 
        $url = $url . (($uid) ? '/@me/@all?fields=displayName,urls,photos,updated,network,aboutMe,currentLocation,tags,gender,contactType,generation' : '?fields=displayName,urls,photos,updated,network,aboutMe,currentLocation,tags,gender,contactType,generation') ;
 
@@ -80,18 +82,20 @@ function poco_load_worker($cid, $uid, $zcid, $url) {
 
        logger('poco_load: return code: ' . $a->get_curl_code(), LOGGER_DEBUG);
 
-       if(($a->get_curl_code() > 299) || (! $s))
+       if (($a->get_curl_code() > 299) || (! $s)) {
                return;
+       }
 
        $j = json_decode($s);
 
        logger('poco_load: json: ' . print_r($j,true),LOGGER_DATA);
 
-       if(! isset($j->entry))
+       if (! isset($j->entry)) {
                return;
+       }
 
        $total = 0;
-       foreach($j->entry as $entry) {
+       foreach ($j->entry as $entry) {
 
                $total ++;
                $profile_url = '';
@@ -155,13 +159,14 @@ function poco_load_worker($cid, $uid, $zcid, $url) {
                }
 
                if (isset($entry->tags)) {
-                       foreach($entry->tags as $tag) {
+                       foreach ($entry->tags as $tag) {
                                $keywords = implode(", ", $tag);
                        }
                }
 
-               if (isset($entry->contactType) && ($entry->contactType >= 0))
+               if (isset($entry->contactType) && ($entry->contactType >= 0)) {
                        $contact_type = $entry->contactType;
+               }
 
                $gcontact = array("url" => $profile_url,
                                "name" => $name,
@@ -267,7 +272,7 @@ function sanitize_gcontact($gcontact) {
                dbesc(normalise_link($gcontact['url']))
        );
 
-       if (count($x)) {
+       if (dbm::is_result($x)) {
                if (!isset($gcontact['network']) && ($x[0]["network"] != NETWORK_STATUSNET)) {
                        $gcontact['network'] = $x[0]["network"];
                }
@@ -299,7 +304,7 @@ function sanitize_gcontact($gcontact) {
                if ($alternate && ($gcontact['network'] == NETWORK_OSTATUS)) {
                        // Delete the old entry - if it exists
                        $r = q("SELECT `id` FROM `gcontact` WHERE `nurl` = '%s'", dbesc(normalise_link($orig_profile)));
-                       if ($r) {
+                       if (dbm::is_result($r)) {
                                q("DELETE FROM `gcontact` WHERE `nurl` = '%s'", dbesc(normalise_link($orig_profile)));
                                q("DELETE FROM `glink` WHERE `gcid` = %d", intval($r[0]["id"]));
                        }
@@ -353,6 +358,7 @@ function link_gcontact($gcid, $uid = 0, $cid = 0, $zcid = 0) {
                intval($gcid),
                intval($zcid)
        );
+
        if (!dbm::is_result($r)) {
                q("INSERT INTO `glink` (`cid`, `uid`, `gcid`, `zcid`, `updated`) VALUES (%d, %d, %d, %d, '%s') ",
                        intval($cid),
@@ -374,11 +380,13 @@ function link_gcontact($gcid, $uid = 0, $cid = 0, $zcid = 0) {
 
 function poco_reachable($profile, $server = "", $network = "", $force = false) {
 
-       if ($server == "")
+       if ($server == "") {
                $server = poco_detect_server($profile);
+       }
 
-       if ($server == "")
+       if ($server == "") {
                return true;
+       }
 
        return poco_check_server($server, $network, $force);
 }
@@ -661,7 +669,7 @@ function poco_last_updated($profile, $force = false) {
 
        $last_updated = "";
 
-       foreach ($entries AS $entry) {
+       foreach ($entries as $entry) {
                $published = $xpath->query('atom:published/text()', $entry)->item(0)->nodeValue;
                $updated = $xpath->query('atom:updated/text()', $entry)->item(0)->nodeValue;
 
@@ -694,48 +702,55 @@ function poco_last_updated($profile, $force = false) {
 function poco_do_update($created, $updated, $last_failure,  $last_contact) {
        $now = strtotime(datetime_convert());
 
-       if ($updated > $last_contact)
+       if ($updated > $last_contact) {
                $contact_time = strtotime($updated);
-       else
+       } else {
                $contact_time = strtotime($last_contact);
+       }
 
        $failure_time = strtotime($last_failure);
        $created_time = strtotime($created);
 
        // If there is no "created" time then use the current time
-       if ($created_time <= 0)
+       if ($created_time <= 0) {
                $created_time = $now;
+       }
 
        // If the last contact was less than 24 hours then don't update
-       if (($now - $contact_time) < (60 * 60 * 24))
+       if (($now - $contact_time) < (60 * 60 * 24)) {
                return false;
+       }
 
        // If the last failure was less than 24 hours then don't update
-       if (($now - $failure_time) < (60 * 60 * 24))
+       if (($now - $failure_time) < (60 * 60 * 24)) {
                return false;
+       }
 
        // If the last contact was less than a week ago and the last failure is older than a week then don't update
        //if ((($now - $contact_time) < (60 * 60 * 24 * 7)) && ($contact_time > $failure_time))
        //      return false;
 
        // If the last contact time was more than a week ago and the contact was created more than a week ago, then only try once a week
-       if ((($now - $contact_time) > (60 * 60 * 24 * 7)) && (($now - $created_time) > (60 * 60 * 24 * 7)) && (($now - $failure_time) < (60 * 60 * 24 * 7)))
+       if ((($now - $contact_time) > (60 * 60 * 24 * 7)) && (($now - $created_time) > (60 * 60 * 24 * 7)) && (($now - $failure_time) < (60 * 60 * 24 * 7))) {
                return false;
+       }
 
        // If the last contact time was more than a month ago and the contact was created more than a month ago, then only try once a month
-       if ((($now - $contact_time) > (60 * 60 * 24 * 30)) && (($now - $created_time) > (60 * 60 * 24 * 30)) && (($now - $failure_time) < (60 * 60 * 24 * 30)))
+       if ((($now - $contact_time) > (60 * 60 * 24 * 30)) && (($now - $created_time) > (60 * 60 * 24 * 30)) && (($now - $failure_time) < (60 * 60 * 24 * 30))) {
                return false;
+       }
 
        return true;
 }
 
 function poco_to_boolean($val) {
-       if (($val == "true") || ($val == 1))
-               return(true);
-       if (($val == "false") || ($val == 0))
-               return(false);
+       if (($val == "true") || ($val == 1)) {
+               return true;
+       } elseif (($val == "false") || ($val == 0)) {
+               return false;
+       }
 
-       return ($val);
+       return $val;
 }
 
 /**
@@ -763,7 +778,7 @@ function poco_detect_poco_data($data) {
                return false;
        }
 
-       foreach ($data->entry[0]->urls AS $url) {
+       foreach ($data->entry[0]->urls as $url) {
                if ($url->type == 'zot') {
                        $server = array();
                        $server["platform"] = 'Hubzilla';
@@ -798,7 +813,7 @@ function poco_fetch_nodeinfo($server_url) {
 
        $nodeinfo_url = '';
 
-       foreach ($nodeinfo->links AS $link) {
+       foreach ($nodeinfo->links as $link) {
                if ($link->rel == 'http://nodeinfo.diaspora.software/ns/schema/1.0') {
                        $nodeinfo_url = $link->href;
                }
@@ -851,7 +866,7 @@ function poco_fetch_nodeinfo($server_url) {
        $gnusocial = false;
 
        if (is_array($nodeinfo->protocols->inbound)) {
-               foreach ($nodeinfo->protocols->inbound AS $inbound) {
+               foreach ($nodeinfo->protocols->inbound as $inbound) {
                        if ($inbound == 'diaspora') {
                                $diaspora = true;
                        }
@@ -926,13 +941,11 @@ function poco_detect_server_type($body) {
                                        $attr[$attribute->name] = $attribute->value;
                                }
                        }
-                       if ($attr['property'] == 'generator') {
-                               if (in_array($attr['content'], array("hubzilla", "BlaBlaNet"))) {
-                                       $server = array();
-                                       $server["platform"] = $attr['content'];
-                                       $server["version"] = "";
-                                       $server["network"] = NETWORK_DIASPORA;
-                               }
+                       if ($attr['property'] == 'generator' && in_array($attr['content'], array("hubzilla", "BlaBlaNet"))) {
+                               $server = array();
+                               $server["platform"] = $attr['content'];
+                               $server["version"] = "";
+                               $server["network"] = NETWORK_DIASPORA;
                        }
                }
        }
@@ -951,8 +964,9 @@ function poco_check_server($server_url, $network = "", $force = false) {
        $server_url = trim($server_url, "/");
        $server_url = str_replace("/index.php", "", $server_url);
 
-       if ($server_url == "")
+       if ($server_url == "") {
                return false;
+       }
 
        $servers = q("SELECT * FROM `gserver` WHERE `nurl` = '%s'", dbesc(normalise_link($server_url)));
        if (dbm::is_result($servers)) {
@@ -964,8 +978,9 @@ function poco_check_server($server_url, $network = "", $force = false) {
                $poco = $servers[0]["poco"];
                $noscrape = $servers[0]["noscrape"];
 
-               if ($network == "")
+               if ($network == "") {
                        $network = $servers[0]["network"];
+               }
 
                $last_contact = $servers[0]["last_contact"];
                $last_failure = $servers[0]["last_failure"];
@@ -1083,10 +1098,10 @@ function poco_check_server($server_url, $network = "", $force = false) {
                        }
 
                        $lines = explode("\n",$serverret["header"]);
-                       if(count($lines)) {
+                       if (count($lines)) {
                                foreach($lines as $line) {
                                        $line = trim($line);
-                                       if(stristr($line,'X-Diaspora-Version:')) {
+                                       if (stristr($line,'X-Diaspora-Version:')) {
                                                $platform = "Diaspora";
                                                $version = trim(str_replace("X-Diaspora-Version:", "", $line));
                                                $version = trim(str_replace("x-diaspora-version:", "", $version));
@@ -1095,7 +1110,7 @@ function poco_check_server($server_url, $network = "", $force = false) {
                                                $version = $versionparts[0];
                                        }
 
-                                       if(stristr($line,'Server: Mastodon')) {
+                                       if (stristr($line,'Server: Mastodon')) {
                                                $platform = "Mastodon";
                                                $network = NETWORK_OSTATUS;
                                        }
@@ -1165,10 +1180,11 @@ function poco_check_server($server_url, $network = "", $force = false) {
                                        $network = NETWORK_DIASPORA;
                                }
                                if (isset($data->site->redmatrix)) {
-                                       if (isset($data->site->redmatrix->PLATFORM_NAME))
+                                       if (isset($data->site->redmatrix->PLATFORM_NAME)) {
                                                $platform = $data->site->redmatrix->PLATFORM_NAME;
-                                       elseif (isset($data->site->redmatrix->RED_PLATFORM))
+                                       } elseif (isset($data->site->redmatrix->RED_PLATFORM)) {
                                                $platform = $data->site->redmatrix->RED_PLATFORM;
+                                       }
 
                                        $version = $data->site->redmatrix->RED_VERSION;
                                        $network = NETWORK_DIASPORA;
@@ -1185,12 +1201,13 @@ function poco_check_server($server_url, $network = "", $force = false) {
                                $data->site->private = poco_to_boolean($data->site->private);
                                $data->site->inviteonly = poco_to_boolean($data->site->inviteonly);
 
-                               if (!$data->site->closed && !$data->site->private and $data->site->inviteonly)
+                               if (!$data->site->closed && !$data->site->private and $data->site->inviteonly) {
                                        $register_policy = REGISTER_APPROVE;
-                               elseif (!$data->site->closed && !$data->site->private)
+                               } elseif (!$data->site->closed && !$data->site->private) {
                                        $register_policy = REGISTER_OPEN;
-                               else
+                               } else {
                                        $register_policy = REGISTER_CLOSED;
+                               }
                        }
                }
        }
@@ -1254,8 +1271,9 @@ function poco_check_server($server_url, $network = "", $force = false) {
        if (!$failure && in_array($network, array(NETWORK_DFRN, NETWORK_OSTATUS))) {
                $serverret = z_fetch_url($server_url."/friendica/json");
 
-               if (!$serverret["success"])
+               if (!$serverret["success"]) {
                        $serverret = z_fetch_url($server_url."/friendika/json");
+               }
 
                if ($serverret["success"]) {
                        $data = json_decode($serverret["body"]);
@@ -1299,7 +1317,7 @@ function poco_check_server($server_url, $network = "", $force = false) {
 
        if (($last_contact <= $last_failure) && !$failure) {
                logger("Server ".$server_url." seems to be alive, but last contact wasn't set - could be a bug", LOGGER_DEBUG);
-       } else if (($last_contact >= $last_failure) && $failure) {
+       } elseif (($last_contact >= $last_failure) && $failure) {
                logger("Server ".$server_url." seems to be dead, but last failure wasn't set - could be a bug", LOGGER_DEBUG);
        }
 
@@ -1346,12 +1364,12 @@ function poco_check_server($server_url, $network = "", $force = false) {
                                dbesc(datetime_convert())
                );
        }
-       logger("End discovery for server ".$server_url, LOGGER_DEBUG);
+       logger("End discovery for server " . $server_url, LOGGER_DEBUG);
 
        return !$failure;
 }
 
-function count_common_friends($uid,$cid) {
+function count_common_friends($uid, $cid) {
 
        $r = q("SELECT count(*) as `total`
                FROM `glink` INNER JOIN `gcontact` on `glink`.`gcid` = `gcontact`.`id`
@@ -1364,20 +1382,22 @@ function count_common_friends($uid,$cid) {
                intval($cid)
        );
 
-//     logger("count_common_friends: $uid $cid {$r[0]['total']}");
-       if (dbm::is_result($r))
+       // logger("count_common_friends: $uid $cid {$r[0]['total']}");
+       if (dbm::is_result($r)) {
                return $r[0]['total'];
+       }
        return 0;
 
 }
 
 
-function common_friends($uid,$cid,$start = 0,$limit=9999,$shuffle = false) {
+function common_friends($uid, $cid, $start = 0, $limit = 9999, $shuffle = false) {
 
-       if($shuffle)
+       if ($shuffle) {
                $sql_extra = " order by rand() ";
-       else
+       } else {
                $sql_extra = " order by `gcontact`.`name` asc ";
+       }
 
        $r = q("SELECT `gcontact`.*, `contact`.`id` AS `cid`
                FROM `glink`
@@ -1396,12 +1416,13 @@ function common_friends($uid,$cid,$start = 0,$limit=9999,$shuffle = false) {
                intval($limit)
        );
 
+       /// @TODO Check all calling-findings of this function if they properly use dbm::is_result()
        return $r;
 
 }
 
 
-function count_common_friends_zcid($uid,$zcid) {
+function count_common_friends_zcid($uid, $zcid) {
 
        $r = q("SELECT count(*) as `total`
                FROM `glink` INNER JOIN `gcontact` on `glink`.`gcid` = `gcontact`.`id`
@@ -1411,18 +1432,20 @@ function count_common_friends_zcid($uid,$zcid) {
                intval($uid)
        );
 
-       if (dbm::is_result($r))
+       if (dbm::is_result($r)) {
                return $r[0]['total'];
+       }
        return 0;
 
 }
 
-function common_friends_zcid($uid,$zcid,$start = 0, $limit = 9999,$shuffle = false) {
+function common_friends_zcid($uid, $zcid, $start = 0, $limit = 9999, $shuffle = false) {
 
-       if($shuffle)
+       if ($shuffle) {
                $sql_extra = " order by rand() ";
-       else
+       } else {
                $sql_extra = " order by `gcontact`.`name` asc ";
+       }
 
        $r = q("SELECT `gcontact`.*
                FROM `glink` INNER JOIN `gcontact` on `glink`.`gcid` = `gcontact`.`id`
@@ -1435,12 +1458,13 @@ function common_friends_zcid($uid,$zcid,$start = 0, $limit = 9999,$shuffle = fal
                intval($limit)
        );
 
+       /// @TODO Check all calling-findings of this function if they properly use dbm::is_result()
        return $r;
 
 }
 
 
-function count_all_friends($uid,$cid) {
+function count_all_friends($uid, $cid) {
 
        $r = q("SELECT count(*) as `total`
                FROM `glink` INNER JOIN `gcontact` on `glink`.`gcid` = `gcontact`.`id`
@@ -1450,14 +1474,15 @@ function count_all_friends($uid,$cid) {
                intval($uid)
        );
 
-       if (dbm::is_result($r))
+       if (dbm::is_result($r)) {
                return $r[0]['total'];
+       }
        return 0;
 
 }
 
 
-function all_friends($uid,$cid,$start = 0, $limit = 80) {
+function all_friends($uid, $cid, $start = 0, $limit = 80) {
 
        $r = q("SELECT `gcontact`.*, `contact`.`id` AS `cid`
                FROM `glink`
@@ -1473,6 +1498,7 @@ function all_friends($uid,$cid,$start = 0, $limit = 80) {
                intval($limit)
        );
 
+       /// @TODO Check all calling-findings of this function if they properly use dbm::is_result()
        return $r;
 }
 
@@ -1484,20 +1510,24 @@ function suggestion_query($uid, $start = 0, $limit = 80) {
                return array();
        }
 
-// Uncommented because the result of the queries are to big to store it in the cache.
-// We need to decide if we want to change the db column type or if we want to delete it.
-//     $list = Cache::get("suggestion_query:".$uid.":".$start.":".$limit);
-//     if (!is_null($list)) {
-//             return $list;
-//     }
+       /*
+        * Uncommented because the result of the queries are to big to store it in the cache.
+        * We need to decide if we want to change the db column type or if we want to delete it.
+        */
+       //$list = Cache::get("suggestion_query:".$uid.":".$start.":".$limit);
+       //if (!is_null($list)) {
+       //      return $list;
+       //}
 
        $network = array(NETWORK_DFRN);
 
-       if (get_config('system','diaspora_enabled'))
+       if (get_config('system','diaspora_enabled')) {
                $network[] = NETWORK_DIASPORA;
+       }
 
-       if (!get_config('system','ostatus_disabled'))
+       if (!get_config('system','ostatus_disabled')) {
                $network[] = NETWORK_OSTATUS;
+       }
 
        $sql_network = implode("', '", $network);
        $sql_network = "'".$sql_network."'";
@@ -1524,9 +1554,11 @@ function suggestion_query($uid, $start = 0, $limit = 80) {
        );
 
        if (dbm::is_result($r) && count($r) >= ($limit -1)) {
-// Uncommented because the result of the queries are to big to store it in the cache.
-// We need to decide if we want to change the db column type or if we want to delete it.
-//             Cache::set("suggestion_query:".$uid.":".$start.":".$limit, $r, CACHE_FIVE_MINUTES);
+               /*
+                * Uncommented because the result of the queries are to big to store it in the cache.
+                * We need to decide if we want to change the db column type or if we want to delete it.
+                */
+               //Cache::set("suggestion_query:".$uid.":".$start.":".$limit, $r, CACHE_FIVE_MINUTES);
 
                return $r;
        }
@@ -1550,18 +1582,23 @@ function suggestion_query($uid, $start = 0, $limit = 80) {
        );
 
        $list = array();
-       foreach ($r2 AS $suggestion)
+       foreach ($r2 as $suggestion) {
                $list[$suggestion["nurl"]] = $suggestion;
+       }
 
-       foreach ($r AS $suggestion)
+       foreach ($r as $suggestion) {
                $list[$suggestion["nurl"]] = $suggestion;
+       }
 
-       while (sizeof($list) > ($limit))
+       while (sizeof($list) > ($limit)) {
                array_pop($list);
+       }
 
-// Uncommented because the result of the queries are to big to store it in the cache.
-// We need to decide if we want to change the db column type or if we want to delete it.
-//     Cache::set("suggestion_query:".$uid.":".$start.":".$limit, $list, CACHE_FIVE_MINUTES);
+       /*
+        * Uncommented because the result of the queries are to big to store it in the cache.
+        * We need to decide if we want to change the db column type or if we want to delete it.
+        */
+       //Cache::set("suggestion_query:".$uid.":".$start.":".$limit, $list, CACHE_FIVE_MINUTES);
        return $list;
 }
 
@@ -1572,7 +1609,7 @@ function update_suggestions() {
        $done = array();
 
        /// @TODO Check if it is really neccessary to poll the own server
-       poco_load(0,0,0,App::get_baseurl() . '/poco');
+       poco_load(0, 0, 0, App::get_baseurl() . '/poco');
 
        $done[] = App::get_baseurl() . '/poco';
 
@@ -1602,8 +1639,9 @@ function update_suggestions() {
        if (dbm::is_result($r)) {
                foreach ($r as $rr) {
                        $base = substr($rr['poco'],0,strrpos($rr['poco'],'/'));
-                       if(! in_array($base,$done))
+                       if (! in_array($base,$done)) {
                                poco_load(0,0,0,$base);
+                       }
                }
        }
 }
@@ -1624,7 +1662,7 @@ function poco_fetch_serverlist($poco) {
                return;
        }
 
-       foreach ($serverlist AS $server) {
+       foreach ($serverlist as $server) {
                $server_url = str_replace("/index.php", "", $server->url);
 
                $r = q("SELECT `nurl` FROM `gserver` WHERE `nurl` = '%s'", dbesc(normalise_link($server_url)));
@@ -1640,8 +1678,9 @@ function poco_discover_federation() {
 
        if ($last) {
                $next = $last + (24 * 60 * 60);
-               if($next > time())
+               if ($next > time()) {
                        return;
+               }
        }
 
        // Discover Friendica, Hubzilla and Diaspora servers
@@ -1650,7 +1689,7 @@ function poco_discover_federation() {
        if ($serverdata) {
                $servers = json_decode($serverdata);
 
-               foreach ($servers->pods AS $server) {
+               foreach ($servers->pods as $server) {
                        proc_run(PRIORITY_LOW, "include/discover_poco.php", "server", base64_encode("https://".$server->host));
                }
        }
@@ -1662,7 +1701,7 @@ function poco_discover_federation() {
                if ($serverdata) {
                        $servers = json_decode($serverdata);
 
-                       foreach ($servers AS $server) {
+                       foreach ($servers as $server) {
                                $url = (is_null($server->https_score) ? 'http' : 'https').'://'.$server->name;
                                proc_run(PRIORITY_LOW, "include/discover_poco.php", "server", base64_encode($url));
                        }
@@ -1679,7 +1718,7 @@ function poco_discover_federation() {
        //      if ($result["success"]) {
        //              $servers = json_decode($result["body"]);
 
-       //              foreach($servers->data AS $server)
+       //              foreach($servers->data as $server)
        //                      poco_check_server($server->instance_address);
        //      }
        //}
@@ -1765,7 +1804,7 @@ function poco_discover($complete = false) {
 
        $r = q("SELECT `id`, `url`, `network` FROM `gserver` WHERE `last_contact` >= `last_failure` AND `poco` != '' AND `last_poco_query` < '%s' ORDER BY RAND()", dbesc($last_update));
        if (dbm::is_result($r)) {
-               foreach ($r AS $server) {
+               foreach ($r as $server) {
 
                        if (!poco_check_server($server["url"], $server["network"])) {
                                // The server is not reachable? Okay, then we will try it later
@@ -1785,18 +1824,20 @@ function poco_discover($complete = false) {
 
 function poco_discover_server_users($data, $server) {
 
-       if (!isset($data->entry))
+       if (!isset($data->entry)) {
                return;
+       }
 
-       foreach ($data->entry AS $entry) {
+       foreach ($data->entry as $entry) {
                $username = "";
                if (isset($entry->urls)) {
-                       foreach($entry->urls as $url)
+                       foreach ($entry->urls as $url) {
                                if ($url->type == 'profile') {
                                        $profile_url = $url->value;
                                        $urlparts = parse_url($profile_url);
                                        $username = end(explode("/", $urlparts["path"]));
                                }
+                       }
                }
                if ($username != "") {
                        logger("Fetch contacts for the user ".$username." from the server ".$server["nurl"], LOGGER_DEBUG);
@@ -1805,20 +1846,22 @@ function poco_discover_server_users($data, $server) {
                        $url = $server["poco"]."/".$username."/?fields=displayName,urls,photos,updated,network,aboutMe,currentLocation,tags,gender,contactType,generation";
 
                        $retdata = z_fetch_url($url);
-                       if ($retdata["success"])
+                       if ($retdata["success"]) {
                                poco_discover_server(json_decode($retdata["body"]), 3);
+                       }
                }
        }
 }
 
 function poco_discover_server($data, $default_generation = 0) {
 
-       if (!isset($data->entry) || !count($data->entry))
+       if (!isset($data->entry) || !count($data->entry)) {
                return false;
+       }
 
        $success = false;
 
-       foreach ($data->entry AS $entry) {
+       foreach ($data->entry as $entry) {
                $profile_url = '';
                $profile_photo = '';
                $connect_url = '';
@@ -1835,7 +1878,7 @@ function poco_discover_server($data, $default_generation = 0) {
                $name = $entry->displayName;
 
                if (isset($entry->urls)) {
-                       foreach($entry->urls as $url) {
+                       foreach ($entry->urls as $url) {
                                if ($url->type == 'profile') {
                                        $profile_url = $url->value;
                                        continue;
@@ -1860,19 +1903,19 @@ function poco_discover_server($data, $default_generation = 0) {
                        $updated = date("Y-m-d H:i:s", strtotime($entry->updated));
                }
 
-               if(isset($entry->network)) {
+               if (isset($entry->network)) {
                        $network = $entry->network;
                }
 
-               if(isset($entry->currentLocation)) {
+               if (isset($entry->currentLocation)) {
                        $location = $entry->currentLocation;
                }
 
-               if(isset($entry->aboutMe)) {
+               if (isset($entry->aboutMe)) {
                        $about = html2bbcode($entry->aboutMe);
                }
 
-               if(isset($entry->gender)) {
+               if (isset($entry->gender)) {
                        $gender = $entry->gender;
                }
 
@@ -1884,7 +1927,7 @@ function poco_discover_server($data, $default_generation = 0) {
                        $contact_type = $entry->contactType;
                }
 
-               if(isset($entry->tags)) {
+               if (isset($entry->tags)) {
                        foreach ($entry->tags as $tag) {
                                $keywords = implode(", ", $tag);
                        }
@@ -1930,19 +1973,23 @@ function poco_discover_server($data, $default_generation = 0) {
 function clean_contact_url($url) {
        $parts = parse_url($url);
 
-       if (!isset($parts["scheme"]) || !isset($parts["host"]))
+       if (!isset($parts["scheme"]) || !isset($parts["host"])) {
                return $url;
+       }
 
        $new_url = $parts["scheme"]."://".$parts["host"];
 
-       if (isset($parts["port"]))
+       if (isset($parts["port"])) {
                $new_url .= ":".$parts["port"];
+       }
 
-       if (isset($parts["path"]))
+       if (isset($parts["path"])) {
                $new_url .= $parts["path"];
+       }
 
-       if ($new_url != $url)
+       if ($new_url != $url) {
                logger("Cleaned contact url ".$url." to ".$new_url." - Called by: ".App::callstack(), LOGGER_DEBUG);
+       }
 
        return $new_url;
 }
@@ -1981,19 +2028,22 @@ function get_gcontact_id($contact) {
                return false;
        }
 
-       if ($contact["network"] == NETWORK_STATUSNET)
+       if ($contact["network"] == NETWORK_STATUSNET) {
                $contact["network"] = NETWORK_OSTATUS;
+       }
 
        // All new contacts are hidden by default
-       if (!isset($contact["hide"]))
+       if (!isset($contact["hide"])) {
                $contact["hide"] = true;
+       }
 
        // Replace alternate OStatus user format with the primary one
        fix_alternate_contact_address($contact);
 
        // Remove unwanted parts from the contact url (e.g. "?zrl=...")
-       if (in_array($contact["network"], array(NETWORK_DFRN, NETWORK_DIASPORA, NETWORK_OSTATUS)))
+       if (in_array($contact["network"], array(NETWORK_DFRN, NETWORK_DIASPORA, NETWORK_OSTATUS))) {
                $contact["url"] = clean_contact_url($contact["url"]);
+       }
 
        dba::lock('gcontact');
        $r = q("SELECT `id`, `last_contact`, `last_failure`, `network` FROM `gcontact` WHERE `nurl` = '%s' LIMIT 1",
@@ -2031,7 +2081,7 @@ function get_gcontact_id($contact) {
                $r = q("SELECT `id`, `network` FROM `gcontact` WHERE `nurl` = '%s' ORDER BY `id` LIMIT 2",
                        dbesc(normalise_link($contact["url"])));
 
-               if ($r) {
+               if (dbm::is_result($r)) {
                        $gcontact_id = $r[0]["id"];
 
                        $doprobing = in_array($r[0]["network"], array(NETWORK_DFRN, NETWORK_DIASPORA, NETWORK_OSTATUS, ""));
@@ -2064,8 +2114,9 @@ function update_gcontact($contact) {
 
        $gcontact_id = get_gcontact_id($contact);
 
-       if (!$gcontact_id)
+       if (!$gcontact_id) {
                return false;
+       }
 
        $r = q("SELECT `name`, `nick`, `photo`, `location`, `about`, `addr`, `generation`, `birthday`, `gender`, `keywords`,
                        `contact-type`, `hide`, `nsfw`, `network`, `alias`, `notify`, `server_url`, `connect`, `updated`, `url`
@@ -2074,8 +2125,9 @@ function update_gcontact($contact) {
 
        // Get all field names
        $fields = array();
-       foreach ($r[0] AS $field => $data)
+       foreach ($r[0] as $field => $data) {
                $fields[$field] = $data;
+       }
 
        unset($fields["url"]);
        unset($fields["updated"]);
@@ -2083,47 +2135,58 @@ function update_gcontact($contact) {
 
        // Bugfix: We had an error in the storing of keywords which lead to the "0"
        // This value is still transmitted via poco.
-       if ($contact["keywords"] == "0")
+       if ($contact["keywords"] == "0") {
                unset($contact["keywords"]);
+       }
 
-       if ($r[0]["keywords"] == "0")
+       if ($r[0]["keywords"] == "0") {
                $r[0]["keywords"] = "";
+       }
 
        // assign all unassigned fields from the database entry
-       foreach ($fields AS $field => $data)
-               if (!isset($contact[$field]) || ($contact[$field] == ""))
+       foreach ($fields as $field => $data) {
+               if (!isset($contact[$field]) || ($contact[$field] == "")) {
                        $contact[$field] = $r[0][$field];
+               }
+       }
 
-       if (!isset($contact["hide"]))
+       if (!isset($contact["hide"])) {
                $contact["hide"] = $r[0]["hide"];
+       }
 
        $fields["hide"] = $r[0]["hide"];
 
-       if ($contact["network"] == NETWORK_STATUSNET)
+       if ($contact["network"] == NETWORK_STATUSNET) {
                $contact["network"] = NETWORK_OSTATUS;
+       }
 
        // Replace alternate OStatus user format with the primary one
        fix_alternate_contact_address($contact);
 
-       if (!isset($contact["updated"]))
+       if (!isset($contact["updated"])) {
                $contact["updated"] = dbm::date();
+       }
 
        if ($contact["server_url"] == "") {
                $server_url = $contact["url"];
 
                $server_url = matching_url($server_url, $contact["alias"]);
-               if ($server_url != "")
+               if ($server_url != "") {
                        $contact["server_url"] = $server_url;
+               }
 
                $server_url = matching_url($server_url, $contact["photo"]);
-               if ($server_url != "")
+               if ($server_url != "") {
                        $contact["server_url"] = $server_url;
+               }
 
                $server_url = matching_url($server_url, $contact["notify"]);
-               if ($server_url != "")
+               if ($server_url != "") {
                        $contact["server_url"] = $server_url;
-       } else
+               }
+       } else {
                $contact["server_url"] = normalise_link($contact["server_url"]);
+       }
 
        if (($contact["addr"] == "") && ($contact["server_url"] != "") && ($contact["nick"] != "")) {
                $hostname = str_replace("http://", "", $contact["server_url"]);
@@ -2135,11 +2198,12 @@ function update_gcontact($contact) {
        unset($fields["generation"]);
 
        if ((($contact["generation"] > 0) && ($contact["generation"] <= $r[0]["generation"])) || ($r[0]["generation"] == 0)) {
-               foreach ($fields AS $field => $data)
+               foreach ($fields as $field => $data) {
                        if ($contact[$field] != $r[0][$field]) {
                                logger("Difference for contact ".$contact["url"]." in field '".$field."'. New value: '".$contact[$field]."', old value '".$r[0][$field]."'", LOGGER_DEBUG);
                                $update = true;
                        }
+               }
 
                if ($contact["generation"] < $r[0]["generation"]) {
                        logger("Difference for contact ".$contact["url"]." in field 'generation'. new value: '".$contact["generation"]."', old value '".$r[0]["generation"]."'", LOGGER_DEBUG);
@@ -2171,7 +2235,7 @@ function update_gcontact($contact) {
                $r = q("SELECT `id` FROM `contact` WHERE `nurl` = '%s' AND `uid` = 0 ORDER BY `id` LIMIT 1",
                        dbesc(normalise_link($contact["url"])));
 
-               if ($r) {
+               if (dbm::is_result($r)) {
                        logger("Update shadow contact ".$r[0]["id"], LOGGER_DEBUG);
 
                        update_contact_avatar($contact["photo"], 0, $r[0]["id"]);
@@ -2231,10 +2295,11 @@ function update_gcontact_for_user($uid) {
                                                "country-name" => $r[0]["country-name"]));
 
        // The "addr" field was added in 3.4.3 so it can be empty for older users
-       if ($r[0]["addr"] != "")
+       if ($r[0]["addr"] != "") {
                $addr = $r[0]["nickname"].'@'.str_replace(array("http://", "https://"), "", App::get_baseurl());
-       else
+       } else {
                $addr = $r[0]["addr"];
+       }
 
        $gcontact = array("name" => $r[0]["name"], "location" => $location, "about" => $r[0]["about"],
                        "gender" => $r[0]["gender"], "keywords" => $r[0]["pub_keywords"],
@@ -2262,33 +2327,37 @@ function gs_fetch_users($server) {
        $url = $server."/main/statistics";
 
        $result = z_fetch_url($url);
-       if (!$result["success"])
+       if (!$result["success"]) {
                return false;
+       }
 
        $statistics = json_decode($result["body"]);
 
        if (is_object($statistics->config)) {
-               if ($statistics->config->instance_with_ssl)
+               if ($statistics->config->instance_with_ssl) {
                        $server = "https://";
-               else
+               } else {
                        $server = "http://";
+               }
 
                $server .= $statistics->config->instance_address;
 
                $hostname = $statistics->config->instance_address;
        } else {
-               if ($statistics->instance_with_ssl)
+               /// @TODO is_object() above means here no object, still $statistics is being used as object
+               if ($statistics->instance_with_ssl) {
                        $server = "https://";
-               else
+               } else {
                        $server = "http://";
+               }
 
                $server .= $statistics->instance_address;
 
                $hostname = $statistics->instance_address;
        }
 
-       if (is_object($statistics->users))
-               foreach ($statistics->users AS $nick => $user) {
+       if (is_object($statistics->users)) {
+               foreach ($statistics->users as $nick => $user) {
                        $profile_url = $server."/".$user->nickname;
 
                        $contact = array("url" => $profile_url,
@@ -2300,6 +2369,7 @@ function gs_fetch_users($server) {
                                        "photo" => App::get_baseurl()."/images/person-175.jpg");
                        get_gcontact_id($contact);
                }
+       }
 }
 
 /**
@@ -2315,10 +2385,11 @@ function gs_discover() {
        $r = q("SELECT `nurl`, `url` FROM `gserver` WHERE `last_contact` >= `last_failure` AND `network` = '%s' AND `last_poco_query` < '%s' ORDER BY RAND() LIMIT 5",
                dbesc(NETWORK_OSTATUS), dbesc($last_update));
 
-       if (!$r)
+       if (!dbm::is_result($r)) {
                return;
+       }
 
-       foreach ($r AS $server) {
+       foreach ($r as $server) {
                gs_fetch_users($server["url"]);
                q("UPDATE `gserver` SET `last_poco_query` = '%s' WHERE `nurl` = '%s'", dbesc(datetime_convert()), dbesc($server["nurl"]));
        }
@@ -2337,5 +2408,6 @@ function poco_serverlist() {
        if (!dbm::is_result($r)) {
                return false;
        }
+
        return $r;
 }
index ad66b0272721656ef13d24f9a7d23a1099d4cdce..6c45a4aee21c4fe63ae07c5660036848892741d4 100644 (file)
@@ -58,10 +58,10 @@ function create_tags_from_item($itemid) {
 
                if (substr(trim($tag), 0, 1) == "#") {
                        // try to ignore #039 or #1 or anything like that
-                       if(ctype_digit(substr(trim($tag),1)))
+                       if (ctype_digit(substr(trim($tag),1)))
                                continue;
                        // try to ignore html hex escapes, e.g. #x2317
-                       if((substr(trim($tag),1,1) == 'x' || substr(trim($tag),1,1) == 'X') && ctype_digit(substr(trim($tag),2)))
+                       if ((substr(trim($tag),1,1) == 'x' || substr(trim($tag),1,1) == 'X') && ctype_digit(substr(trim($tag),2)))
                                continue;
                        $type = TERM_HASHTAG;
                        $term = substr($tag, 1);
@@ -107,9 +107,10 @@ function create_tags_from_item($itemid) {
 function create_tags_from_itemuri($itemuri, $uid) {
        $messages = q("SELECT `id` FROM `item` WHERE uri ='%s' AND uid=%d", dbesc($itemuri), intval($uid));
 
-       if(count($messages)) {
-               foreach ($messages as $message)
+       if (count($messages)) {
+               foreach ($messages as $message) {
                        create_tags_from_item($message["id"]);
+               }
        }
 }
 
index 27271e2edbded66d9166af2b92203de46e72a95d..252375a0605270a934236d9cb9a2cc5c7b09ee6f 100644 (file)
@@ -69,7 +69,7 @@ class Template implements ITemplateEngine {
         * {{ if <$var>==<val|$var> }}...[{{ else }} ...]{{ endif }}
         * {{ if <$var>!=<val|$var> }}...[{{ else }} ...]{{ endif }}
         */
-       private function _replcb_if($args) {
+       private function _replcb_if ($args) {
                if (strpos($args[2], "==") > 0) {
                        list($a, $b) = array_map("trim", explode("==", $args[2]));
                        $a = $this->_get_var($a);
@@ -95,7 +95,7 @@ class Template implements ITemplateEngine {
         * {{ for <$var> as $name }}...{{ endfor }}
         * {{ for <$var> as $key=>$name }}...{{ endfor }}
         */
-       private function _replcb_for($args) {
+       private function _replcb_for ($args) {
                $m = array_map('trim', explode(" as ", $args[2]));
                $x = explode("=>", $m[1]);
                if (count($x) == 1) {
@@ -109,14 +109,16 @@ class Template implements ITemplateEngine {
                //$vals = $this->r[$m[0]];
                $vals = $this->_get_var($m[0]);
                $ret = "";
-               if (!is_array($vals))
+               if (!is_array($vals)) {
                        return $ret;
+               }
                foreach ($vals as $k => $v) {
                        $this->_push_stack();
                        $r = $this->r;
                        $r[$varname] = $v;
-                       if ($keyname != '')
+                       if ($keyname != '') {
                                $r[$keyname] = (($k === 0) ? '0' : $k);
+                       }
                        $ret .= $this->replace($args[3], $r);
                        $this->_pop_stack();
                }
index 80c0d87e2e9b0b2e7ca2d115790ce548cfbbe982..ea5deb4c1442a7c43ebb8929dbac66f64209290a 100644 (file)
@@ -2,13 +2,13 @@
 
 use Friendica\App;
 
-require_once("include/template_processor.php");
-require_once("include/friendica_smarty.php");
-require_once("include/Smilies.php");
-require_once("include/map.php");
-require_once("mod/proxy.php");
+require_once "include/template_processor.php";
+require_once "include/friendica_smarty.php";
+require_once "include/Smilies.php";
+require_once "include/map.php";
+require_once "mod/proxy.php";
 
-if(! function_exists('replace_macros')) {
+if (! function_exists('replace_macros')) {
 /**
  * This is our template processor
  *
@@ -17,7 +17,7 @@ if(! function_exists('replace_macros')) {
  * @param array $r key value pairs (search => replace)
  * @return string substituted string
  */
-function replace_macros($s,$r) {
+function replace_macros($s, $r) {
 
        $stamp1 = microtime(true);
 
@@ -26,12 +26,12 @@ function replace_macros($s,$r) {
        // pass $baseurl to all templates
        $r['$baseurl'] = App::get_baseurl();
 
-
        $t = $a->template_engine();
        try {
-               $output = $t->replace_macros($s,$r);
+               $output = $t->replace_macros($s, $r);
        } catch (Exception $e) {
-               echo "<pre><b>".__function__."</b>: ".$e->getMessage()."</pre>"; killme();
+               echo "<pre><b>" . __FUNCTION__ . "</b>: " . $e->getMessage() . "</pre>";
+               killme();
        }
 
        $a->save_timestamp($stamp1, "rendering");
@@ -46,15 +46,15 @@ function replace_macros($s,$r) {
 define('RANDOM_STRING_HEX',  0x00 );
 define('RANDOM_STRING_TEXT', 0x01 );
 
-if(! function_exists('random_string')) {
-function random_string($size = 64,$type = RANDOM_STRING_HEX) {
+if (! function_exists('random_string')) {
+function random_string($size = 64, $type = RANDOM_STRING_HEX) {
        // generate a bit of entropy and run it through the whirlpool
-       $s = hash('whirlpool', (string) rand() . uniqid(rand(),true) . (string) rand(),(($type == RANDOM_STRING_TEXT) ? true : false));
-       $s = (($type == RANDOM_STRING_TEXT) ? str_replace("\n","",base64url_encode($s,true)) : $s);
+       $s = hash('whirlpool', (string) rand() . uniqid(rand(),true) . (string) rand(), (($type == RANDOM_STRING_TEXT) ? true : false));
+       $s = (($type == RANDOM_STRING_TEXT) ? str_replace("\n", "", base64url_encode($s,true)) : $s);
        return(substr($s,0,$size));
 }}
 
-if(! function_exists('notags')) {
+if (! function_exists('notags')) {
 /**
  * This is our primary input filter.
  *
@@ -73,8 +73,7 @@ if(! function_exists('notags')) {
  * @return string Filtered string
  */
 function notags($string) {
-
-       return(str_replace(array("<",">"), array('[',']'), $string));
+       return str_replace(array("<", ">"), array('[', ']'), $string);
 
 //  High-bit filter no longer used
 //     return(str_replace(array("<",">","\xBA","\xBC","\xBE"), array('[',']','','',''), $string));
@@ -82,7 +81,7 @@ function notags($string) {
 
 
 
-if(! function_exists('escape_tags')) {
+if (! function_exists('escape_tags')) {
 /**
  * use this on "body" or "content" input where angle chars shouldn't be removed,
  * and allow them to be safely displayed.
@@ -90,15 +89,14 @@ if(! function_exists('escape_tags')) {
  * @return string
  */
 function escape_tags($string) {
-
-       return(htmlspecialchars($string, ENT_COMPAT, 'UTF-8', false));
+       return htmlspecialchars($string, ENT_COMPAT, 'UTF-8', false);
 }}
 
 
 // generate a string that's random, but usually pronounceable.
 // used to generate initial passwords
 
-if(! function_exists('autoname')) {
+if (! function_exists('autoname')) {
 /**
  * generate a string that's random, but usually pronounceable.
  * used to generate initial passwords
@@ -107,12 +105,14 @@ if(! function_exists('autoname')) {
  */
 function autoname($len) {
 
-       if($len <= 0)
+       if ($len <= 0) {
                return '';
+       }
 
        $vowels = array('a','a','ai','au','e','e','e','ee','ea','i','ie','o','ou','u');
-       if(mt_rand(0,5) == 4)
+       if (mt_rand(0, 5) == 4) {
                $vowels[] = 'y';
+       }
 
        $cons = array(
                        'b','bl','br',
@@ -144,10 +144,11 @@ function autoname($len) {
                                'kh', 'kl','kr','mn','pl','pr','rh','tr','qu','wh');
 
        $start = mt_rand(0,2);
-       if($start == 0)
+       if ($start == 0) {
                $table = $vowels;
-       else
+       } else {
                $table = $cons;
+       }
 
        $word = '';
 
@@ -155,23 +156,25 @@ function autoname($len) {
                $r = mt_rand(0,count($table) - 1);
                $word .= $table[$r];
 
-               if($table == $vowels)
+               if ($table == $vowels) {
                        $table = array_merge($cons,$midcons);
-               else
+               } else {
                        $table = $vowels;
+               }
 
        }
 
        $word = substr($word,0,$len);
 
-       foreach($noend as $noe) {
-               if((strlen($word) > 2) && (substr($word,-2) == $noe)) {
-                       $word = substr($word,0,-1);
+       foreach ($noend as $noe) {
+               if ((strlen($word) > 2) && (substr($word, -2) == $noe)) {
+                       $word = substr($word, 0, -1);
                        break;
                }
        }
-       if(substr($word,-1) == 'q')
-               $word = substr($word,0,-1);
+       if (substr($word, -1) == 'q') {
+               $word = substr($word, 0, -1);
+       }
        return $word;
 }}
 
@@ -179,17 +182,18 @@ function autoname($len) {
 // escape text ($str) for XML transport
 // returns escaped text.
 
-if(! function_exists('xmlify')) {
+if (! function_exists('xmlify')) {
 /**
  * escape text ($str) for XML transport
  * @param string $str
  * @return string Escaped text.
  */
 function xmlify($str) {
+       /// @TODO deprecated code found?
 /*     $buffer = '';
 
        $len = mb_strlen($str);
-       for($x = 0; $x < $len; $x ++) {
+       for ($x = 0; $x < $len; $x ++) {
                $char = mb_substr($str,$x,1);
 
                switch( $char ) {
@@ -232,13 +236,14 @@ function xmlify($str) {
        return($buffer);
 }}
 
-if(! function_exists('unxmlify')) {
+if (! function_exists('unxmlify')) {
 /**
  * undo an xmlify
  * @param string $s xml escaped text
  * @return string unescaped text
  */
 function unxmlify($s) {
+       /// @TODO deprecated code found?
 //     $ret = str_replace('&amp;','&', $s);
 //     $ret = str_replace(array('&lt;','&gt;','&quot;','&apos;'),array('<','>','"',"'"),$ret);
        /*$ret = mb_ereg_replace('&amp;', '&', $s);
@@ -251,21 +256,22 @@ function unxmlify($s) {
        return $ret;
 }}
 
-if(! function_exists('hex2bin')) {
+if (! function_exists('hex2bin')) {
 /**
  * convenience wrapper, reverse the operation "bin2hex"
  * @param string $s
  * @return number
  */
 function hex2bin($s) {
-       if(! (is_string($s) && strlen($s)))
+       if (! (is_string($s) && strlen($s))) {
                return '';
+       }
 
-       if(! ctype_xdigit($s)) {
-               return($s);
+       if (! ctype_xdigit($s)) {
+               return $s;
        }
 
-       return(pack("H*",$s));
+       return pack("H*",$s);
 }}
 
 
@@ -354,7 +360,7 @@ function paginate_data(App $a, $count = null) {
        return $data;
 }
 
-if(! function_exists('paginate')) {
+if (! function_exists('paginate')) {
 /**
  * Automatic pagination.
  *
@@ -378,7 +384,7 @@ function paginate(App $a) {
 
 }}
 
-if(! function_exists('alt_pager')) {
+if (! function_exists('alt_pager')) {
 /**
  * Alternative pager
  * @param App $a App instance
@@ -393,7 +399,7 @@ function alt_pager(App $a, $i) {
 
 }}
 
-if(! function_exists('scroll_loader')) {
+if (! function_exists('scroll_loader')) {
 /**
  * Loader for infinite scrolling
  * @return string html for loader
@@ -406,7 +412,7 @@ function scroll_loader() {
        ));
 }}
 
-if(! function_exists('expand_acl')) {
+if (! function_exists('expand_acl')) {
 /**
  * Turn user/group ACLs stored as angle bracketed text into arrays
  *
@@ -418,31 +424,33 @@ function expand_acl($s) {
        // e.g. "<1><2><3>" => array(1,2,3);
        $ret = array();
 
-       if(strlen($s)) {
-               $t = str_replace('<','',$s);
-               $a = explode('>',$t);
-               foreach($a as $aa) {
-                       if(intval($aa))
+       if (strlen($s)) {
+               $t = str_replace('<', '', $s);
+               $a = explode('>', $t);
+               foreach ($a as $aa) {
+                       if (intval($aa)) {
                                $ret[] = intval($aa);
+                       }
                }
        }
        return $ret;
 }}
 
-if(! function_exists('sanitise_acl')) {
+if (! function_exists('sanitise_acl')) {
 /**
  * Wrap ACL elements in angle brackets for storage
  * @param string $item
  */
 function sanitise_acl(&$item) {
-       if(intval($item))
+       if (intval($item)) {
                $item = '<' . intval(notags(trim($item))) . '>';
-       else
+       } else {
                unset($item);
+       }
 }}
 
 
-if(! function_exists('perms2str')) {
+if (! function_exists('perms2str')) {
 /**
  * Convert an ACL array to a storable string
  *
@@ -454,20 +462,21 @@ if(! function_exists('perms2str')) {
  */
 function perms2str($p) {
        $ret = '';
-       if(is_array($p))
+       if (is_array($p)) {
                $tmp = $p;
-       else
+       } else {
                $tmp = explode(',',$p);
+       }
 
-       if(is_array($tmp)) {
-               array_walk($tmp,'sanitise_acl');
-               $ret = implode('',$tmp);
+       if (is_array($tmp)) {
+               array_walk($tmp, 'sanitise_acl');
+               $ret = implode('', $tmp);
        }
        return $ret;
 }}
 
 
-if(! function_exists('item_new_uri')) {
+if (! function_exists('item_new_uri')) {
 /**
  * generate a guaranteed unique (for this domain) item ID for ATOM
  * safe from birthday paradox
@@ -476,14 +485,14 @@ if(! function_exists('item_new_uri')) {
  * @param int $uid
  * @return string
  */
-function item_new_uri($hostname,$uid, $guid = "") {
+function item_new_uri($hostname, $uid, $guid = "") {
 
        do {
                $dups = false;
 
-               if ($guid == "")
+               if ($guid == "") {
                        $hash = get_guid(32);
-               else {
+               else {
                        $hash = $guid;
                        $guid = "";
                }
@@ -492,16 +501,18 @@ function item_new_uri($hostname,$uid, $guid = "") {
 
                $r = q("SELECT `id` FROM `item` WHERE `uri` = '%s' LIMIT 1",
                        dbesc($uri));
-               if (dbm::is_result($r))
+               if (dbm::is_result($r)) {
                        $dups = true;
-       } while($dups == true);
+               }
+       } while ($dups == true);
+
        return $uri;
 }}
 
 // Generate a guaranteed unique photo ID.
 // safe from birthday paradox
 
-if(! function_exists('photo_new_resource')) {
+if (! function_exists('photo_new_resource')) {
 /**
  * Generate a guaranteed unique photo ID.
  * safe from birthday paradox
@@ -516,14 +527,17 @@ function photo_new_resource() {
                $r = q("SELECT `id` FROM `photo` WHERE `resource-id` = '%s' LIMIT 1",
                        dbesc($resource)
                );
-               if (dbm::is_result($r))
+
+               if (dbm::is_result($r)) {
                        $found = true;
-       } while($found == true);
+               }
+       } while ($found == true);
+
        return $resource;
 }}
 
 
-if(! function_exists('load_view_file')) {
+if (! function_exists('load_view_file')) {
 /**
  * @deprecated
  * wrapper to load a view template, checking for alternate
@@ -536,11 +550,12 @@ if(! function_exists('load_view_file')) {
  */
 function load_view_file($s) {
        global $lang, $a;
-       if(! isset($lang))
+       if (! isset($lang)) {
                $lang = 'en';
+       }
        $b = basename($s);
        $d = dirname($s);
-       if(file_exists("$d/$lang/$b")) {
+       if (file_exists("$d/$lang/$b")) {
                $stamp1 = microtime(true);
                $content = file_get_contents("$d/$lang/$b");
                $a->save_timestamp($stamp1, "file");
@@ -549,7 +564,7 @@ function load_view_file($s) {
 
        $theme = current_theme();
 
-       if(file_exists("$d/theme/$theme/$b")) {
+       if (file_exists("$d/theme/$theme/$b")) {
                $stamp1 = microtime(true);
                $content = file_get_contents("$d/theme/$theme/$b");
                $a->save_timestamp($stamp1, "file");
@@ -562,7 +577,7 @@ function load_view_file($s) {
        return $content;
 }}
 
-if(! function_exists('get_intltext_template')) {
+if (! function_exists('get_intltext_template')) {
 /**
  * load a view template, checking for alternate
  * languages before falling back to the default
@@ -576,18 +591,20 @@ function get_intltext_template($s) {
 
        $a = get_app();
        $engine = '';
-       if($a->theme['template_engine'] === 'smarty3')
+       if ($a->theme['template_engine'] === 'smarty3') {
                $engine = "/smarty3";
+       }
 
-       if(! isset($lang))
+       if (! isset($lang)) {
                $lang = 'en';
+       }
 
-       if(file_exists("view/lang/$lang$engine/$s")) {
+       if (file_exists("view/lang/$lang$engine/$s")) {
                $stamp1 = microtime(true);
                $content = file_get_contents("view/lang/$lang$engine/$s");
                $a->save_timestamp($stamp1, "file");
                return $content;
-       } elseif(file_exists("view/lang/en$engine/$s")) {
+       } elseif (file_exists("view/lang/en$engine/$s")) {
                $stamp1 = microtime(true);
                $content = file_get_contents("view/lang/en$engine/$s");
                $a->save_timestamp($stamp1, "file");
@@ -600,7 +617,7 @@ function get_intltext_template($s) {
        }
 }}
 
-if(! function_exists('get_markup_template')) {
+if (! function_exists('get_markup_template')) {
 /**
  * load template $s
  *
@@ -616,7 +633,8 @@ function get_markup_template($s, $root = '') {
        try {
                $template = $t->get_template_file($s, $root);
        } catch (Exception $e) {
-               echo "<pre><b>".__function__."</b>: ".$e->getMessage()."</pre>"; killme();
+               echo "<pre><b>" . __FUNCTION__ . "</b>: " . $e->getMessage() . "</pre>";
+               killme();
        }
 
        $a->save_timestamp($stamp1, "file");
@@ -624,7 +642,7 @@ function get_markup_template($s, $root = '') {
        return $template;
 }}
 
-if(! function_exists("get_template_file")) {
+if (! function_exists("get_template_file")) {
 /**
  *
  * @param App $a
@@ -636,28 +654,25 @@ function get_template_file($a, $filename, $root = '') {
        $theme = current_theme();
 
        // Make sure $root ends with a slash /
-       if($root !== '' && $root[strlen($root)-1] !== '/')
+       if ($root !== '' && substr($root, -1, 1) !== '/') {
                $root = $root . '/';
+       }
 
-       if(file_exists("{$root}view/theme/$theme/$filename"))
+       if (file_exists("{$root}view/theme/$theme/$filename")) {
                $template_file = "{$root}view/theme/$theme/$filename";
-       elseif (x($a->theme_info,"extends") && file_exists("{$root}view/theme/{$a->theme_info["extends"]}/$filename"))
-               $template_file = "{$root}view/theme/{$a->theme_info["extends"]}/$filename";
-       elseif (file_exists("{$root}/$filename"))
+       } elseif (x($a->theme_info, "extends") && file_exists(sprintf('%sview/theme/%s}/%s', $root, $a->theme_info["extends"], $filename))) {
+               $template_file = sprintf('%sview/theme/%s}/%s', $root, $a->theme_info["extends"], $filename);
+       } elseif (file_exists("{$root}/$filename")) {
                $template_file = "{$root}/$filename";
-       else
+       } else {
                $template_file = "{$root}view/$filename";
+       }
 
        return $template_file;
 }}
 
 
-
-
-
-
-
-if(! function_exists('attribute_contains')) {
+if (! function_exists('attribute_contains')) {
 /**
  *  for html,xml parsing - let's say you've got
  *  an attribute foobar="class1 class2 class3"
@@ -672,11 +687,9 @@ if(! function_exists('attribute_contains')) {
  * @param string $s string to search
  * @return boolean True if found, False otherwise
  */
-function attribute_contains($attr,$s) {
+function attribute_contains($attr, $s) {
        $a = explode(' ', $attr);
-       if(count($a) && in_array($s,$a))
-               return true;
-       return false;
+       return (count($a) && in_array($s,$a));
 }}
 
 if (! function_exists('logger')) {
@@ -821,7 +834,7 @@ function dlogger($msg, $level = 0) {
        $a->save_timestamp($stamp1, "file");
 }
 
-if(! function_exists('activity_match')) {
+if (! function_exists('activity_match')) {
 /**
  * Compare activity uri. Knows about activity namespace.
  *
@@ -830,9 +843,7 @@ if(! function_exists('activity_match')) {
  * @return boolean
  */
 function activity_match($haystack,$needle) {
-       if(($haystack === $needle) || ((basename($needle) === $haystack) && strstr($needle,NAMESPACE_ACTIVITY_SCHEMA)))
-               return true;
-       return false;
+       return (($haystack === $needle) || ((basename($needle) === $haystack) && strstr($needle, NAMESPACE_ACTIVITY_SCHEMA)));
 }}
 
 
@@ -884,7 +895,7 @@ function get_tags($string) {
        // and #hash tags.
 
        if (preg_match_all('/([!#@][^\^ \x0D\x0A,;:?]+)([ \x0D\x0A,;:?]|$)/', $string, $matches)) {
-               foreach($matches[1] as $match) {
+               foreach ($matches[1] as $match) {
                        if (strstr($match, ']')) {
                                // we might be inside a bbcode color tag - leave it alone
                                continue;
@@ -909,7 +920,7 @@ function get_tags($string) {
 
 //
 
-if(! function_exists('qp')) {
+if (! function_exists('qp')) {
 /**
  * quick and dirty quoted_printable encoding
  *
@@ -917,10 +928,10 @@ if(! function_exists('qp')) {
  * @return string
  */
 function qp($s) {
-return str_replace ("%","=",rawurlencode($s));
+       return str_replace("%", "=", rawurlencode($s));
 }}
 
-if(! function_exists('contact_block')) {
+if (! function_exists('contact_block')) {
 /**
  * Get html for contact block.
  *
@@ -933,13 +944,16 @@ function contact_block() {
        $a = get_app();
 
        $shown = get_pconfig($a->profile['uid'],'system','display_friend_count');
-       if($shown === false)
+       if ($shown === false) {
                $shown = 24;
-       if($shown == 0)
+       }
+       if ($shown == 0) {
                return;
+       }
 
-       if((! is_array($a->profile)) || ($a->profile['hide-friends']))
+       if ((! is_array($a->profile)) || ($a->profile['hide-friends'])) {
                return $o;
+       }
        $r = q("SELECT COUNT(*) AS `total` FROM `contact`
                        WHERE `uid` = %d AND NOT `self` AND NOT `blocked`
                                AND NOT `pending` AND NOT `hidden` AND NOT `archive`
@@ -952,10 +966,9 @@ function contact_block() {
        if (dbm::is_result($r)) {
                $total = intval($r[0]['total']);
        }
-       if(! $total) {
+       if (! $total) {
                $contacts = t('No contacts');
-               $micropro = Null;
-
+               $micropro = null;
        } else {
                // Splitting the query in two parts makes it much faster
                $r = q("SELECT `id` FROM `contact`
@@ -1024,28 +1037,30 @@ function contact_block() {
 function micropro($contact, $redirect = false, $class = '', $textmode = false) {
 
        // Use the contact URL if no address is available
-       if ($contact["addr"] == "")
+       if ($contact["addr"] == "") {
                $contact["addr"] = $contact["url"];
+       }
 
        $url = $contact['url'];
        $sparkle = '';
        $redir = false;
 
-       if($redirect) {
+       if ($redirect) {
                $a = get_app();
                $redirect_url = 'redir/' . $contact['id'];
-               if(local_user() && ($contact['uid'] == local_user()) && ($contact['network'] === NETWORK_DFRN)) {
+               if (local_user() && ($contact['uid'] == local_user()) && ($contact['network'] === NETWORK_DFRN)) {
                        $redir = true;
                        $url = $redirect_url;
                        $sparkle = ' sparkle';
-               }
-               else
+               } else {
                        $url = zrl($url);
+               }
        }
 
        // If there is some js available we don't need the url
-       if(x($contact,'click'))
+       if (x($contact, 'click')) {
                $url = '';
+       }
 
        return replace_macros(get_markup_template(($textmode)?'micropro_txt.tpl':'micropro_img.tpl'),array(
                '$click' => (($contact['click']) ? $contact['click'] : ''),
@@ -1062,7 +1077,7 @@ function micropro($contact, $redirect = false, $class = '', $textmode = false) {
 
 
 
-if(! function_exists('search')) {
+if (! function_exists('search')) {
 /**
  * search box
  *
@@ -1071,7 +1086,7 @@ if(! function_exists('search')) {
  * @param string $url search url
  * @param boolean $savedsearch show save search button
  */
-function search($s,$id='search-box',$url='search',$save = false, $aside = true) {
+function search($s, $id = 'search-box', $url = 'search', $save = false, $aside = true) {
        $a = get_app();
 
        $values = array(
@@ -1090,14 +1105,15 @@ function search($s,$id='search-box',$url='search',$save = false, $aside = true)
                                        t("Tags"),
                                        t("Contacts"));
 
-               if (get_config('system','poco_local_search'))
+               if (get_config('system','poco_local_search')) {
                        $values['$searchoption'][] = t("Forums");
+               }
        }
 
        return replace_macros(get_markup_template('searchbox.tpl'), $values);
 }}
 
-if(! function_exists('valid_email')) {
+if (! function_exists('valid_email')) {
 /**
  * Check if $x is a valid email string
  *
@@ -1106,17 +1122,14 @@ if(! function_exists('valid_email')) {
  */
 function valid_email($x){
 
-       // Removed because Fabio told me so.
-       //if(get_config('system','disable_email_validation'))
+       /// @TODO Removed because Fabio told me so.
+       //if (get_config('system','disable_email_validation'))
        //      return true;
-
-       if(preg_match('/^[_a-zA-Z0-9\-\+]+(\.[_a-zA-Z0-9\-\+]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)+$/',$x))
-               return true;
-       return false;
+       return preg_match('/^[_a-zA-Z0-9\-\+]+(\.[_a-zA-Z0-9\-\+]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)+$/', $x);
 }}
 
 
-if(! function_exists('linkify')) {
+if (! function_exists('linkify')) {
 /**
  * Replace naked text hyperlink with HTML formatted hyperlink
  *
@@ -1125,7 +1138,7 @@ if(! function_exists('linkify')) {
 function linkify($s) {
        $s = preg_replace("/(https?\:\/\/[a-zA-Z0-9\:\/\-\?\&\;\.\=\_\~\#\'\%\$\!\+]*)/", ' <a href="$1" target="_blank">$1</a>', $s);
        $s = preg_replace("/\<(.*?)(src|href)=(.*?)\&amp\;(.*?)\>/ism",'<$1$2=$3&$4>',$s);
-       return($s);
+       return $s;
 }}
 
 
@@ -1187,7 +1200,7 @@ function get_mood_verbs() {
        return $arr;
 }
 
-if(! function_exists('day_translate')) {
+if (! function_exists('day_translate')) {
 /**
  * Translate days and months names
  *
@@ -1207,7 +1220,7 @@ function day_translate($s) {
 }}
 
 
-if(! function_exists('normalise_link')) {
+if (! function_exists('normalise_link')) {
 /**
  * Normalize url
  *
@@ -1215,13 +1228,13 @@ if(! function_exists('normalise_link')) {
  * @return string
  */
 function normalise_link($url) {
-       $ret = str_replace(array('https:','//www.'), array('http:','//'), $url);
-       return(rtrim($ret,'/'));
+       $ret = str_replace(array('https:', '//www.'), array('http:', '//'), $url);
+       return rtrim($ret,'/');
 }}
 
 
 
-if(! function_exists('link_compare')) {
+if (! function_exists('link_compare')) {
 /**
  * Compare two URLs to see if they are the same, but ignore
  * slight but hopefully insignificant differences such as if one
@@ -1233,10 +1246,8 @@ if(! function_exists('link_compare')) {
  * @return boolean True if the URLs match, otherwise False
  *
  */
-function link_compare($a,$b) {
-       if(strcasecmp(normalise_link($a),normalise_link($b)) === 0)
-               return true;
-       return false;
+function link_compare($a, $b) {
+       return (strcasecmp(normalise_link($a), normalise_link($b)) === 0);
 }}
 
 /**
@@ -1289,7 +1300,7 @@ function put_item_in_cache(&$item, $update = false) {
 // Given an item array, convert the body element from bbcode to html and add smilie icons.
 // If attach is true, also add icons for item attachments
 
-if(! function_exists('prepare_body')) {
+if (! function_exists('prepare_body')) {
 /**
  * Given an item array, convert the body element from bbcode to html and add smilie icons.
  * If attach is true, also add icons for item attachments
@@ -1301,14 +1312,14 @@ if(! function_exists('prepare_body')) {
  * @hook prepare_body ('item'=>item array, 'html'=>body string) after first bbcode to html
  * @hook prepare_body_final ('item'=>item array, 'html'=>body string) after attach icons and blockquote special case handling (spoiler, author)
  */
-function prepare_body(&$item,$attach = false, $preview = false) {
+function prepare_body(&$item, $attach = false, $preview = false) {
 
        $a = get_app();
        call_hooks('prepare_body_init', $item);
 
-       $searchpath = z_root()."/search?tag=";
+       $searchpath = z_root() . "/search?tag=";
 
-       $tags=array();
+       $tags = array();
        $hashtags = array();
        $mentions = array();
 
@@ -1316,10 +1327,11 @@ function prepare_body(&$item,$attach = false, $preview = false) {
                $taglist = q("SELECT `type`, `term`, `url` FROM `term` WHERE `otype` = %d AND `oid` = %d AND `type` IN (%d, %d) ORDER BY `tid`",
                                intval(TERM_OBJ_POST), intval($item['id']), intval(TERM_HASHTAG), intval(TERM_MENTION));
 
-               foreach($taglist as $tag) {
+               foreach ($taglist as $tag) {
 
-                       if ($tag["url"] == "")
+                       if ($tag["url"] == "") {
                                $tag["url"] = $searchpath.strtolower($tag["term"]);
+                       }
 
                        if ($tag["type"] == TERM_HASHTAG) {
                                $hashtags[] = "#<a href=\"".$tag["url"]."\" target=\"_blank\">".$tag["term"]."</a>";
@@ -1340,8 +1352,9 @@ function prepare_body(&$item,$attach = false, $preview = false) {
        $update = (!local_user() and !remote_user() and ($item["uid"] == 0));
 
        // Or update it if the current viewer is the intented viewer
-       if (($item["uid"] == local_user()) && ($item["uid"] != 0))
+       if (($item["uid"] == local_user()) && ($item["uid"] != 0)) {
                $update = true;
+       }
 
        put_item_in_cache($item, $update);
        $s = $item["rendered-html"];
@@ -1350,7 +1363,7 @@ function prepare_body(&$item,$attach = false, $preview = false) {
        call_hooks('prepare_body', $prep_arr);
        $s = $prep_arr['html'];
 
-       if(! $attach) {
+       if (! $attach) {
                // Replace the blockquotes with quotes that are used in mails
                $mailquote = '<blockquote type="cite" class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">';
                $s = str_replace(array('<blockquote>', '<blockquote class="spoiler">', '<blockquote class="author">'), array($mailquote, $mailquote, $mailquote), $s);
@@ -1359,24 +1372,25 @@ function prepare_body(&$item,$attach = false, $preview = false) {
 
        $as = '';
        $vhead = false;
-       $arr = explode('[/attach],',$item['attach']);
-       if(count($arr)) {
+       $arr = explode('[/attach],', $item['attach']);
+       if (count($arr)) {
                $as .= '<div class="body-attach">';
-               foreach($arr as $r) {
+               foreach ($arr as $r) {
                        $matches = false;
                        $icon = '';
                        $cnt = preg_match_all('|\[attach\]href=\"(.*?)\" length=\"(.*?)\" type=\"(.*?)\" title=\"(.*?)\"|',$r,$matches, PREG_SET_ORDER);
-                       if($cnt) {
-                               foreach($matches as $mtch) {
+                       if ($cnt) {
+                               foreach ($matches as $mtch) {
                                        $mime = $mtch[3];
 
-                                       if((local_user() == $item['uid']) && ($item['contact-id'] != $a->contact['id']) && ($item['network'] == NETWORK_DFRN))
+                                       if ((local_user() == $item['uid']) && ($item['contact-id'] != $a->contact['id']) && ($item['network'] == NETWORK_DFRN)) {
                                                $the_url = 'redir/' . $item['contact-id'] . '?f=1&url=' . $mtch[1];
-                                       else
+                                       } else {
                                                $the_url = $mtch[1];
+                                       }
 
-                                       if(strpos($mime, 'video') !== false) {
-                                               if(!$vhead) {
+                                       if (strpos($mime, 'video') !== false) {
+                                               if (!$vhead) {
                                                        $vhead = true;
                                                        $a->page['htmlhead'] .= replace_macros(get_markup_template('videos_head.tpl'), array(
                                                                '$baseurl' => z_root(),
@@ -1388,21 +1402,20 @@ function prepare_body(&$item,$attach = false, $preview = false) {
 
                                                $id = end(explode('/', $the_url));
                                                $as .= replace_macros(get_markup_template('video_top.tpl'), array(
-                                                       '$video'        => array(
-                                                               'id'       => $id,
-                                                               'title'         => t('View Video'),
-                                                               'src'           => $the_url,
-                                                               'mime'          => $mime,
+                                                       '$video' => array(
+                                                               'id'     => $id,
+                                                               'title'  => t('View Video'),
+                                                               'src'    => $the_url,
+                                                               'mime'   => $mime,
                                                        ),
                                                ));
                                        }
 
                                        $filetype = strtolower(substr( $mime, 0, strpos($mime,'/') ));
-                                       if($filetype) {
+                                       if ($filetype) {
                                                $filesubtype = strtolower(substr( $mime, strpos($mime,'/') + 1 ));
                                                $filesubtype = str_replace('.', '-', $filesubtype);
-                                       }
-                                       else {
+                                       } else {
                                                $filetype = 'unkn';
                                                $filesubtype = 'unkn';
                                        }
@@ -1433,7 +1446,7 @@ function prepare_body(&$item,$attach = false, $preview = false) {
        $s = $s . $as;
 
        // map
-       if(strpos($s,'<div class="map">') !== false && $item['coord']) {
+       if (strpos($s, '<div class="map">') !== false && x($item, 'coord')) {
                $x = generate_map(trim($item['coord']));
                if ($x) {
                        $s = preg_replace('/\<div class\=\"map\"\>/','$0' . $x,$s);
@@ -1445,37 +1458,36 @@ function prepare_body(&$item,$attach = false, $preview = false) {
        $spoilersearch = '<blockquote class="spoiler">';
 
        // Remove line breaks before the spoiler
-       while ((strpos($s, "\n".$spoilersearch) !== false))
-               $s = str_replace("\n".$spoilersearch, $spoilersearch, $s);
-       while ((strpos($s, "<br />".$spoilersearch) !== false))
-               $s = str_replace("<br />".$spoilersearch, $spoilersearch, $s);
+       while ((strpos($s, "\n" . $spoilersearch) !== false)) {
+               $s = str_replace("\n" . $spoilersearch, $spoilersearch, $s);
+       }
+       while ((strpos($s, "<br />" . $spoilersearch) !== false)) {
+               $s = str_replace("<br />" . $spoilersearch, $spoilersearch, $s);
+       }
 
        while ((strpos($s, $spoilersearch) !== false)) {
-
                $pos = strpos($s, $spoilersearch);
                $rnd = random_string(8);
-               $spoilerreplace = '<br /> <span id="spoiler-wrap-'.$rnd.'" class="spoiler-wrap fakelink" onclick="openClose(\'spoiler-'.$rnd.'\');">'.sprintf(t('Click to open/close')).'</span>'.
-                                       '<blockquote class="spoiler" id="spoiler-'.$rnd.'" style="display: none;">';
-               $s = substr($s, 0, $pos).$spoilerreplace.substr($s, $pos+strlen($spoilersearch));
+               $spoilerreplace = '<br /> <span id="spoiler-wrap-' . $rnd . '" class="spoiler-wrap fakelink" onclick="openClose(\'spoiler-' . $rnd . '\');">' . sprintf(t('Click to open/close')) . '</span>'.
+                                       '<blockquote class="spoiler" id="spoiler-' . $rnd . '" style="display: none;">';
+               $s = substr($s, 0, $pos) . $spoilerreplace . substr($s, $pos + strlen($spoilersearch));
        }
 
        // Look for quote with author
        $authorsearch = '<blockquote class="author">';
 
        while ((strpos($s, $authorsearch) !== false)) {
-
                $pos = strpos($s, $authorsearch);
                $rnd = random_string(8);
-               $authorreplace = '<br /> <span id="author-wrap-'.$rnd.'" class="author-wrap fakelink" onclick="openClose(\'author-'.$rnd.'\');">'.sprintf(t('Click to open/close')).'</span>'.
-                                       '<blockquote class="author" id="author-'.$rnd.'" style="display: block;">';
-               $s = substr($s, 0, $pos).$authorreplace.substr($s, $pos+strlen($authorsearch));
+               $authorreplace = '<br /> <span id="author-wrap-' . $rnd . '" class="author-wrap fakelink" onclick="openClose(\'author-' . $rnd . '\');">' . sprintf(t('Click to open/close')) . '</span>'.
+                                       '<blockquote class="author" id="author-' . $rnd . '" style="display: block;">';
+               $s = substr($s, 0, $pos) . $authorreplace . substr($s, $pos + strlen($authorsearch));
        }
 
        // replace friendica image url size with theme preference
-       if (x($a->theme_info,'item_image_size')){
-           $ps = $a->theme_info['item_image_size'];
-
-           $s = preg_replace('|(<img[^>]+src="[^"]+/photo/[0-9a-f]+)-[0-9]|',"$1-".$ps, $s);
+       if (x($a->theme_info, 'item_image_size')){
+               $ps = $a->theme_info['item_image_size'];
+               $s = preg_replace('|(<img[^>]+src="[^"]+/photo/[0-9a-f]+)-[0-9]|', "$1-" . $ps, $s);
        }
 
        $prep_arr = array('item' => $item, 'html' => $s);
@@ -1485,7 +1497,7 @@ function prepare_body(&$item,$attach = false, $preview = false) {
 }}
 
 
-if(! function_exists('prepare_text')) {
+if (! function_exists('prepare_text')) {
 /**
  * Given a text string, convert from bbcode to html and add smilie icons.
  *
@@ -1494,12 +1506,13 @@ if(! function_exists('prepare_text')) {
  */
 function prepare_text($text) {
 
-       require_once('include/bbcode.php');
+       require_once 'include/bbcode.php';
 
-       if(stristr($text,'[nosmile]'))
+       if (stristr($text, '[nosmile]')) {
                $s = bbcode($text);
-       else
+       } else {
                $s = Smilies::replace(bbcode($text));
+       }
 
        return trim($s);
 }}
@@ -1539,10 +1552,11 @@ function get_cats_and_terms($item) {
        $categories = array();
        $folders = array();
 
-       $matches = false; $first = true;
-       $cnt = preg_match_all('/<(.*?)>/',$item['file'],$matches,PREG_SET_ORDER);
-       if($cnt) {
-               foreach($matches as $mtch) {
+       $matches = false;
+       $first = true;
+       $cnt = preg_match_all('/<(.*?)>/', $item['file'], $matches, PREG_SET_ORDER);
+       if ($cnt) {
+               foreach ($matches as $mtch) {
                        $categories[] = array(
                                'name' => xmlify(file_tag_decode($mtch[1])),
                                'url' =>  "#",
@@ -1553,18 +1567,21 @@ function get_cats_and_terms($item) {
                        $first = false;
                }
        }
-       if (count($categories)) $categories[count($categories)-1]['last'] = true;
 
+       if (count($categories)) {
+               $categories[count($categories) - 1]['last'] = true;
+       }
 
-       if(local_user() == $item['uid']) {
-               $matches = false; $first = true;
-               $cnt = preg_match_all('/\[(.*?)\]/',$item['file'],$matches,PREG_SET_ORDER);
-               if($cnt) {
-                       foreach($matches as $mtch) {
+       if (local_user() == $item['uid']) {
+               $matches = false;
+               $first = true;
+               $cnt = preg_match_all('/\[(.*?)\]/', $item['file'], $matches, PREG_SET_ORDER);
+               if ($cnt) {
+                       foreach ($matches as $mtch) {
                                $folders[] = array(
                                        'name' => xmlify(file_tag_decode($mtch[1])),
                                        'url' =>  "#",
-                                       'removeurl' => ((local_user() == $item['uid'])?'filerm/' . $item['id'] . '?f=&term=' . xmlify(file_tag_decode($mtch[1])):""),
+                                       'removeurl' => ((local_user() == $item['uid']) ? 'filerm/' . $item['id'] . '?f=&term=' . xmlify(file_tag_decode($mtch[1])) : ""),
                                        'first' => $first,
                                        'last' => false
                                );
@@ -1573,12 +1590,14 @@ function get_cats_and_terms($item) {
                }
        }
 
-       if (count($folders)) $folders[count($folders)-1]['last'] = true;
+       if (count($folders)) {
+               $folders[count($folders) - 1]['last'] = true;
+       }
 
        return array($categories, $folders);
 }
 
-if(! function_exists('get_plink')) {
+if (! function_exists('get_plink')) {
 /**
  * get private link for item
  * @param array $item
@@ -1589,33 +1608,32 @@ function get_plink($item) {
 
        if ($a->user['nickname'] != "") {
                $ret = array(
-                               //'href' => "display/".$a->user['nickname']."/".$item['id'],
-                               'href' => "display/".$item['guid'],
-                               'orig' => "display/".$item['guid'],
+                               //'href' => "display/" . $a->user['nickname'] . "/" . $item['id'],
+                               'href' => "display/" . $item['guid'],
+                               'orig' => "display/" . $item['guid'],
                                'title' => t('View on separate page'),
                                'orig_title' => t('view on separate page'),
                        );
 
-               if (x($item,'plink')) {
+               if (x($item, 'plink')) {
                        $ret["href"] = $a->remove_baseurl($item['plink']);
                        $ret["title"] = t('link to source');
                }
 
-       } elseif (x($item,'plink') && ($item['private'] != 1))
+       } elseif (x($item, 'plink') && ($item['private'] != 1)) {
                $ret = array(
                                'href' => $item['plink'],
                                'orig' => $item['plink'],
                                'title' => t('link to source'),
                        );
-       else
+       } else {
                $ret = array();
+       }
 
-       //if (x($item,'plink') && ($item['private'] != 1))
-
-       return($ret);
+       return $ret;
 }}
 
-if(! function_exists('unamp')) {
+if (! function_exists('unamp')) {
 /**
  * replace html amp entity with amp char
  * @param string $s
@@ -1626,7 +1644,7 @@ function unamp($s) {
 }}
 
 
-if(! function_exists('return_bytes')) {
+if (! function_exists('return_bytes')) {
 /**
  * return number of bytes in size (K, M, G)
  * @param string $size_str
@@ -1651,9 +1669,11 @@ function generate_user_guid() {
                $x = q("SELECT `uid` FROM `user` WHERE `guid` = '%s' LIMIT 1",
                        dbesc($guid)
                );
-               if(! count($x))
+               if (! dbm::is_result($x)) {
                        $found = false;
+               }
        } while ($found == true );
+
        return $guid;
 }
 
@@ -1665,10 +1685,11 @@ function generate_user_guid() {
  */
 function base64url_encode($s, $strip_padding = false) {
 
-       $s = strtr(base64_encode($s),'+/','-_');
+       $s = strtr(base64_encode($s), '+/', '-_');
 
-       if($strip_padding)
+       if ($strip_padding) {
                $s = str_replace('=','',$s);
+       }
 
        return $s;
 }
@@ -1679,7 +1700,7 @@ function base64url_encode($s, $strip_padding = false) {
  */
 function base64url_decode($s) {
 
-       if(is_array($s)) {
+       if (is_array($s)) {
                logger('base64url_decode: illegal input: ' . print_r(debug_backtrace(), true));
                return $s;
        }
@@ -1690,11 +1711,11 @@ function base64url_decode($s) {
  *  // Uncomment if you find you need it.
  *
  *     $l = strlen($s);
- *     if(! strpos($s,'=')) {
+ *     if (! strpos($s,'=')) {
  *             $m = $l % 4;
- *             if($m == 2)
+ *             if ($m == 2)
  *                     $s .= '==';
- *             if($m == 3)
+ *             if ($m == 3)
  *                     $s .= '=';
  *     }
  *
@@ -1786,10 +1807,10 @@ function bb_translate_video($s) {
        $matches = null;
        $r = preg_match_all("/\[video\](.*?)\[\/video\]/ism",$s,$matches,PREG_SET_ORDER);
        if ($r) {
-               foreach($matches as $mtch) {
-                       if((stristr($mtch[1],'youtube')) || (stristr($mtch[1],'youtu.be')))
+               foreach ($matches as $mtch) {
+                       if ((stristr($mtch[1],'youtube')) || (stristr($mtch[1],'youtu.be')))
                                $s = str_replace($mtch[0],'[youtube]' . $mtch[1] . '[/youtube]',$s);
-                       elseif(stristr($mtch[1],'vimeo'))
+                       elseif (stristr($mtch[1],'vimeo'))
                                $s = str_replace($mtch[0],'[vimeo]' . $mtch[1] . '[/vimeo]',$s);
                }
        }
@@ -1816,8 +1837,11 @@ function html2bb_video($s) {
  * @return array
  */
 function array_xmlify($val){
-       if (is_bool($val)) return $val?"true":"false";
-       if (is_array($val)) return array_map('array_xmlify', $val);
+       if (is_bool($val)) {
+               return $val?"true":"false";
+       } elseif (is_array($val)) {
+               return array_map('array_xmlify', $val);
+       }
        return xmlify((string) $val);
 }
 
@@ -1830,8 +1854,9 @@ function array_xmlify($val){
  * @return string
  */
 function reltoabs($text, $base) {
-       if (empty($base))
-           return $text;
+       if (empty($base)) {
+               return $text;
+       }
 
        $base = rtrim($base,'/');
 
@@ -1867,14 +1892,16 @@ function reltoabs($text, $base) {
  * @return string
  */
 function item_post_type($item) {
-       if(intval($item['event-id']))
+       if (intval($item['event-id'])) {
                return t('event');
-       if(strlen($item['resource-id']))
+       } elseif (strlen($item['resource-id'])) {
                return t('photo');
-       if(strlen($item['verb']) && $item['verb'] !== ACTIVITY_POST)
+       } elseif (strlen($item['verb']) && $item['verb'] !== ACTIVITY_POST) {
                return t('activity');
-       if($item['id'] != $item['parent'])
+       } elseif ($item['id'] != $item['parent']) {
                return t('comment');
+       }
+
        return t('post');
 }
 
@@ -1888,34 +1915,34 @@ function file_tag_encode($s) {
 }
 
 function file_tag_decode($s) {
-       return str_replace(array('%3c','%3e','%5b','%5d'),array('<','>','[',']'),$s);
+       return str_replace(array('%3c', '%3e', '%5b', '%5d'), array('<', '>', '[', ']'), $s);
 }
 
 function file_tag_file_query($table,$s,$type = 'file') {
 
-       if($type == 'file')
-               $str = preg_quote( '[' . str_replace('%','%%',file_tag_encode($s)) . ']' );
-       else
-               $str = preg_quote( '<' . str_replace('%','%%',file_tag_encode($s)) . '>' );
+       if ($type == 'file') {
+               $str = preg_quote( '[' . str_replace('%', '%%', file_tag_encode($s)) . ']' );
+       } else {
+               $str = preg_quote( '<' . str_replace('%', '%%', file_tag_encode($s)) . '>' );
+       }
        return " AND " . (($table) ? dbesc($table) . '.' : '') . "file regexp '" . dbesc($str) . "' ";
 }
 
 // ex. given music,video return <music><video> or [music][video]
 function file_tag_list_to_file($list,$type = 'file') {
        $tag_list = '';
-       if(strlen($list)) {
+       if (strlen($list)) {
                $list_array = explode(",",$list);
-               if($type == 'file') {
+               if ($type == 'file') {
                        $lbracket = '[';
                        $rbracket = ']';
-               }
-               else {
+               } else {
                        $lbracket = '<';
                        $rbracket = '>';
                }
 
-               foreach($list_array as $item) {
-                 if(strlen($item)) {
+               foreach ($list_array as $item) {
+                       if (strlen($item)) {
                                $tag_list .= $lbracket . file_tag_encode(trim($item))  . $rbracket;
                        }
                }
@@ -1927,16 +1954,16 @@ function file_tag_list_to_file($list,$type = 'file') {
 function file_tag_file_to_list($file,$type = 'file') {
        $matches = false;
        $list = '';
-       if($type == 'file') {
-               $cnt = preg_match_all('/\[(.*?)\]/',$file,$matches,PREG_SET_ORDER);
-       }
-       else {
-               $cnt = preg_match_all('/<(.*?)>/',$file,$matches,PREG_SET_ORDER);
+       if ($type == 'file') {
+               $cnt = preg_match_all('/\[(.*?)\]/', $file, $matches, PREG_SET_ORDER);
+       } else {
+               $cnt = preg_match_all('/<(.*?)>/', $file, $matches, PREG_SET_ORDER);
        }
-       if($cnt) {
-               foreach($matches as $mtch) {
-                       if(strlen($list))
+       if ($cnt) {
+               foreach ($matches as $mtch) {
+                       if (strlen($list)) {
                                $list .= ',';
+                       }
                        $list .= file_tag_decode($mtch[1]);
                }
        }
@@ -1944,19 +1971,19 @@ function file_tag_file_to_list($file,$type = 'file') {
        return $list;
 }
 
-function file_tag_update_pconfig($uid,$file_old,$file_new,$type = 'file') {
+function file_tag_update_pconfig($uid, $file_old, $file_new, $type = 'file') {
        // $file_old - categories previously associated with an item
        // $file_new - new list of categories for an item
 
-       if(! intval($uid))
+       if (! intval($uid))
                return false;
 
-       if($file_old == $file_new)
+       if ($file_old == $file_new)
                return true;
 
        $saved = get_pconfig($uid,'system','filetags');
-       if(strlen($saved)) {
-               if($type == 'file') {
+       if (strlen($saved)) {
+               if ($type == 'file') {
                        $lbracket = '[';
                        $rbracket = ']';
                        $termtype = TERM_FILE;
@@ -1973,8 +2000,8 @@ function file_tag_update_pconfig($uid,$file_old,$file_new,$type = 'file') {
                $new_tags = array();
                $check_new_tags = explode(",",file_tag_file_to_list($file_new,$type));
 
-               foreach($check_new_tags as $tag) {
-                       if(! stristr($saved,$lbracket . file_tag_encode($tag) . $rbracket))
+               foreach ($check_new_tags as $tag) {
+                       if (! stristr($saved,$lbracket . file_tag_encode($tag) . $rbracket))
                                $new_tags[] = $tag;
                }
 
@@ -1984,22 +2011,18 @@ function file_tag_update_pconfig($uid,$file_old,$file_new,$type = 'file') {
                $deleted_tags = array();
                $check_deleted_tags = explode(",",file_tag_file_to_list($file_old,$type));
 
-               foreach($check_deleted_tags as $tag) {
-                       if(! stristr($file_new,$lbracket . file_tag_encode($tag) . $rbracket))
+               foreach ($check_deleted_tags as $tag) {
+                       if (! stristr($file_new,$lbracket . file_tag_encode($tag) . $rbracket))
                                $deleted_tags[] = $tag;
                }
 
-               foreach($deleted_tags as $key => $tag) {
+               foreach ($deleted_tags as $key => $tag) {
                        $r = q("SELECT `oid` FROM `term` WHERE `term` = '%s' AND `otype` = %d AND `type` = %d AND `uid` = %d",
                                dbesc($tag),
                                intval(TERM_OBJ_POST),
                                intval($termtype),
                                intval($uid));
 
-                       //$r = q("select file from item where uid = %d " . file_tag_file_query('item',$tag,$type),
-                       //      intval($uid)
-                       //);
-
                        if (dbm::is_result($r)) {
                                unset($deleted_tags[$key]);
                        }
@@ -2008,54 +2031,56 @@ function file_tag_update_pconfig($uid,$file_old,$file_new,$type = 'file') {
                        }
                }
 
-               if($saved != $filetags_updated) {
-                       set_pconfig($uid,'system','filetags', $filetags_updated);
+               if ($saved != $filetags_updated) {
+                       set_pconfig($uid, 'system', 'filetags', $filetags_updated);
                }
                return true;
        }
        else
-               if(strlen($file_new)) {
-                       set_pconfig($uid,'system','filetags', $file_new);
+               if (strlen($file_new)) {
+                       set_pconfig($uid, 'system', 'filetags', $file_new);
                }
                return true;
 }
 
-function file_tag_save_file($uid,$item,$file) {
-       require_once("include/files.php");
+function file_tag_save_file($uid, $item, $file) {
+       require_once "include/files.php";
 
        $result = false;
-       if(! intval($uid))
+       if (! intval($uid))
                return false;
        $r = q("SELECT `file` FROM `item` WHERE `id` = %d AND `uid` = %d LIMIT 1",
                intval($item),
                intval($uid)
        );
        if (dbm::is_result($r)) {
-               if(! stristr($r[0]['file'],'[' . file_tag_encode($file) . ']'))
+               if (! stristr($r[0]['file'],'[' . file_tag_encode($file) . ']')) {
                        q("UPDATE `item` SET `file` = '%s' WHERE `id` = %d AND `uid` = %d",
                                dbesc($r[0]['file'] . '[' . file_tag_encode($file) . ']'),
                                intval($item),
                                intval($uid)
                        );
+               }
 
                create_files_from_item($item);
 
                $saved = get_pconfig($uid,'system','filetags');
-               if((! strlen($saved)) || (! stristr($saved,'[' . file_tag_encode($file) . ']')))
-                       set_pconfig($uid,'system','filetags',$saved . '[' . file_tag_encode($file) . ']');
+               if ((! strlen($saved)) || (! stristr($saved, '[' . file_tag_encode($file) . ']'))) {
+                       set_pconfig($uid, 'system', 'filetags', $saved . '[' . file_tag_encode($file) . ']');
+               }
                info( t('Item filed') );
        }
        return true;
 }
 
-function file_tag_unsave_file($uid,$item,$file,$cat = false) {
-       require_once("include/files.php");
+function file_tag_unsave_file($uid, $item, $file, $cat = false) {
+       require_once "include/files.php";
 
        $result = false;
-       if(! intval($uid))
+       if (! intval($uid))
                return false;
 
-       if($cat == true) {
+       if ($cat == true) {
                $pattern = '<' . file_tag_encode($file) . '>' ;
                $termtype = TERM_CATEGORY;
        } else {
@@ -2086,27 +2111,24 @@ function file_tag_unsave_file($uid,$item,$file,$cat = false) {
                intval($termtype),
                intval($uid));
 
-       //$r = q("select file from item where uid = %d and deleted = 0 " . file_tag_file_query('item',$file,(($cat) ? 'category' : 'file')),
-       //);
-
        if (! dbm::is_result($r)) {
                $saved = get_pconfig($uid,'system','filetags');
-               set_pconfig($uid,'system','filetags',str_replace($pattern,'',$saved));
+               set_pconfig($uid, 'system', 'filetags', str_replace($pattern, '', $saved));
        }
 
        return true;
 }
 
 function normalise_openid($s) {
-       return trim(str_replace(array('http://','https://'),array('',''),$s),'/');
+       return trim(str_replace(array('http://', 'https://'), array('', ''), $s), '/');
 }
 
 
 function undo_post_tagging($s) {
        $matches = null;
-       $cnt = preg_match_all('/([!#@])\[url=(.*?)\](.*?)\[\/url\]/ism',$s,$matches,PREG_SET_ORDER);
-       if($cnt) {
-               foreach($matches as $mtch) {
+       $cnt = preg_match_all('/([!#@])\[url=(.*?)\](.*?)\[\/url\]/ism', $s, $matches, PREG_SET_ORDER);
+       if ($cnt) {
+               foreach ($matches as $mtch) {
                        $s = str_replace($mtch[0], $mtch[1] . $mtch[3],$s);
                }
        }
@@ -2114,17 +2136,17 @@ function undo_post_tagging($s) {
 }
 
 function protect_sprintf($s) {
-       return(str_replace('%','%%',$s));
+       return str_replace('%', '%%', $s);
 }
 
 
 function is_a_date_arg($s) {
        $i = intval($s);
-       if($i > 1900) {
+       if ($i > 1900) {
                $y = date('Y');
-               if($i <= $y+1 && strpos($s,'-') == 4) {
+               if ($i <= $y + 1 && strpos($s, '-') == 4) {
                        $m = intval(substr($s,5));
-                       if($m > 0 && $m <= 12)
+                       if ($m > 0 && $m <= 12)
                                return true;
                }
        }
@@ -2145,7 +2167,7 @@ function deindent($text, $chr = "[\t ]", $count = NULL) {
                preg_match("|^" . $chr . "*|", $lines[$k], $m);
                $count = strlen($m[0]);
        }
-       for ($k=0; $k < count($lines); $k++) {
+       for ($k = 0; $k < count($lines); $k++) {
                $lines[$k] = preg_replace("|^" . $chr . "{" . $count . "}|", "", $lines[$k]);
        }
 
@@ -2175,11 +2197,12 @@ function formatBytes($bytes, $precision = 2) {
  */
 function format_network_name($network, $url = 0) {
        if ($network != "") {
-               require_once('include/contact_selectors.php');
-               if ($url != "")
+               require_once 'include/contact_selectors.php';
+               if ($url != "") {
                        $network_name = '<a href="'.$url.'">'.network_to_name($network, $url)."</a>";
-               else
+               } else {
                        $network_name = network_to_name($network);
+               }
 
                return $network_name;
        }
@@ -2211,15 +2234,14 @@ function text_highlight($s, $lang) {
        $s = trim(html_entity_decode($s, ENT_COMPAT));
        $s = str_replace('    ', "\t", $s);
 
-       // The highlighter library insists on an opening php tag for php code blocks. If
-       // it isn't present, nothing is highlighted. So we're going to see if it's present.
-       // If not, we'll add it, and then quietly remove it after we get the processed output back.
-
-       if ($lang === 'php') {
-               if (strpos($s, '<?php') !== 0) {
-                       $s = '<?php' . "\n" . $s;
-                       $tag_added = true;
-               }
+       /*
+        * The highlighter library insists on an opening php tag for php code blocks. If
+        * it isn't present, nothing is highlighted. So we're going to see if it's present.
+        * If not, we'll add it, and then quietly remove it after we get the processed output back.
+        */
+       if ($lang === 'php' && strpos($s, '<?php') !== 0) {
+               $s = '<?php' . "\n" . $s;
+               $tag_added = true;
        }
 
        $renderer = new Text_Highlighter_Renderer_Html($options);
@@ -2228,7 +2250,6 @@ function text_highlight($s, $lang) {
        $o = $hl->highlight($s);
        $o = str_replace("\n", '', $o);
 
-
        if ($tag_added) {
                $b = substr($o, 0, strpos($o, '<li>'));
                $e = substr($o, strpos($o, '</li>'));
index 7a6305f85b02f2ffc14ab40e4edeb81e846092a9..bb978bc77428f05a962e9d3c355daa149043b20d 100644 (file)
@@ -177,29 +177,34 @@ function add_shadow_entry($itemid) {
 function update_thread_uri($itemuri, $uid) {
        $messages = q("SELECT `id` FROM `item` WHERE uri ='%s' AND uid=%d", dbesc($itemuri), intval($uid));
 
-       if (dbm::is_result($messages))
-               foreach ($messages as $message)
+       if (dbm::is_result($messages)) {
+               foreach ($messages as $message) {
                        update_thread($message["id"]);
+               }
+       }
 }
 
 function update_thread($itemid, $setmention = false) {
        $items = q("SELECT `uid`, `guid`, `title`, `body`, `created`, `edited`, `commented`, `received`, `changed`, `wall`, `private`, `pubmail`, `moderated`, `visible`, `spam`, `starred`, `bookmark`, `contact-id`, `gcontact-id`,
                        `deleted`, `origin`, `forum_mode`, `network`, `rendered-html`, `rendered-hash` FROM `item` WHERE `id` = %d AND (`parent` = %d OR `parent` = 0) LIMIT 1", intval($itemid), intval($itemid));
 
-       if (!dbm::is_result($items))
+       if (!dbm::is_result($items)) {
                return;
+       }
 
        $item = $items[0];
 
-       if ($setmention)
+       if ($setmention) {
                $item["mention"] = 1;
+       }
 
        $sql = "";
 
        foreach ($item AS $field => $data)
                if (!in_array($field, array("guid", "title", "body", "rendered-html", "rendered-hash"))) {
-                       if ($sql != "")
+                       if ($sql != "") {
                                $sql .= ", ";
+                       }
 
                        $sql .= "`".$field."` = '".dbesc($data)."'";
                }
@@ -211,8 +216,9 @@ function update_thread($itemid, $setmention = false) {
        // Updating a shadow item entry
        $items = q("SELECT `id` FROM `item` WHERE `guid` = '%s' AND `uid` = 0 LIMIT 1", dbesc($item["guid"]));
 
-       if (!$items)
+       if (!dbm::is_result($items)) {
                return;
+       }
 
        $result = q("UPDATE `item` SET `title` = '%s', `body` = '%s', `rendered-html` = '%s', `rendered-hash` = '%s' WHERE `id` = %d",
                        dbesc($item["title"]),
@@ -227,9 +233,11 @@ function update_thread($itemid, $setmention = false) {
 function delete_thread_uri($itemuri, $uid) {
        $messages = q("SELECT `id` FROM `item` WHERE uri ='%s' AND uid=%d", dbesc($itemuri), intval($uid));
 
-       if(count($messages))
-               foreach ($messages as $message)
+       if (dbm::is_result($messages)) {
+               foreach ($messages as $message) {
                        delete_thread($message["id"], $itemuri);
+               }
+       }
 }
 
 function delete_thread($itemid, $itemuri = "") {
index e1994dcd3333dae0984aabc50ff5e833cf2f3953..6bf75bd8181c33e48de1efbb939cd188feea3ee6 100644 (file)
@@ -56,7 +56,7 @@ server {
   #Traditional SSL
   ssl_certificate /etc/nginx/ssl/friendica.example.net.chain.pem;
   ssl_certificate_key /etc/nginx/ssl/example.net.key;
-  
+
   # If you have used letsencrypt as your SSL provider, remove the previous two lines, and uncomment the following two (adjusting the path) instead.
   # ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
   # ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
index f38e76b21e31df8bb7a08dc45250b6b7730555c9..dd57915e5ef8fc9ec0356266eb1134336b61f78d 100644 (file)
@@ -5,6 +5,7 @@
 # Translators:
 # Andreas H., 2015
 # Andreas H., 2015-2017
+# Andy H3 <andy@hubup.pro>, 2017
 # Tobias Diekershoff <tobias.diekershoff@gmx.net>, 2011
 # David Rabel <david.rabel@noresoft.com>, 2016
 # Erkan Yilmaz <erkan77@gmail.com>, 2011
@@ -35,9 +36,9 @@ msgid ""
 msgstr ""
 "Project-Id-Version: friendica\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2017-05-28 11:09+0200\n"
-"PO-Revision-Date: 2017-05-29 05:11+0000\n"
-"Last-Translator: Tobias Diekershoff <tobias.diekershoff@gmx.net>\n"
+"POT-Creation-Date: 2017-06-09 16:42+0700\n"
+"PO-Revision-Date: 2017-06-18 04:37+0000\n"
+"Last-Translator: Andy H3 <andy@hubup.pro>\n"
 "Language-Team: German (http://www.transifex.com/Friendica/friendica/language/de/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -410,95 +411,20 @@ msgid "add"
 msgstr "hinzufügen"
 
 #: include/ForumManager.php:116 include/text.php:1094 include/nav.php:133
-#: view/theme/vier/theme.php:256
+#: view/theme/vier/theme.php:248
 msgid "Forums"
 msgstr "Foren"
 
-#: include/ForumManager.php:118 view/theme/vier/theme.php:258
+#: include/ForumManager.php:118 view/theme/vier/theme.php:250
 msgid "External link to forum"
 msgstr "Externer Link zum Forum"
 
 #: include/ForumManager.php:121 include/contact_widgets.php:271
 #: include/items.php:2432 mod/content.php:625 object/Item.php:417
-#: view/theme/vier/theme.php:261 src/App.php:506
+#: view/theme/vier/theme.php:253 src/App.php:506
 msgid "show more"
 msgstr "mehr anzeigen"
 
-#: include/NotificationsManager.php:153
-msgid "System"
-msgstr "System"
-
-#: include/NotificationsManager.php:160 include/nav.php:160 mod/admin.php:518
-#: view/theme/frio/theme.php:255
-msgid "Network"
-msgstr "Netzwerk"
-
-#: include/NotificationsManager.php:167 mod/network.php:835
-#: mod/profiles.php:699
-msgid "Personal"
-msgstr "Persönlich"
-
-#: include/NotificationsManager.php:174 include/nav.php:107
-#: include/nav.php:163
-msgid "Home"
-msgstr "Pinnwand"
-
-#: include/NotificationsManager.php:181 include/nav.php:168
-msgid "Introductions"
-msgstr "Kontaktanfragen"
-
-#: include/NotificationsManager.php:239 include/NotificationsManager.php:251
-#, php-format
-msgid "%s commented on %s's post"
-msgstr "%s hat %ss Beitrag kommentiert"
-
-#: include/NotificationsManager.php:250
-#, php-format
-msgid "%s created a new post"
-msgstr "%s hat einen neuen Beitrag erstellt"
-
-#: include/NotificationsManager.php:265
-#, php-format
-msgid "%s liked %s's post"
-msgstr "%s mag %ss Beitrag"
-
-#: include/NotificationsManager.php:278
-#, php-format
-msgid "%s disliked %s's post"
-msgstr "%s mag %ss Beitrag nicht"
-
-#: include/NotificationsManager.php:291
-#, php-format
-msgid "%s is attending %s's event"
-msgstr "%s nimmt an %s's Event teil"
-
-#: include/NotificationsManager.php:304
-#, php-format
-msgid "%s is not attending %s's event"
-msgstr "%s nimmt nicht an %s's Event teil"
-
-#: include/NotificationsManager.php:317
-#, php-format
-msgid "%s may attend %s's event"
-msgstr "%s nimmt eventuell an %s's Event teil"
-
-#: include/NotificationsManager.php:334
-#, php-format
-msgid "%s is now friends with %s"
-msgstr "%s ist jetzt mit %s befreundet"
-
-#: include/NotificationsManager.php:770
-msgid "Friend Suggestion"
-msgstr "Kontaktvorschlag"
-
-#: include/NotificationsManager.php:803
-msgid "Friend/Connect Request"
-msgstr "Kontakt-/Freundschaftsanfrage"
-
-#: include/NotificationsManager.php:803
-msgid "New Follower"
-msgstr "Neuer Bewunderer"
-
 #: include/acl_selectors.php:355
 msgid "Post to Email"
 msgstr "An E-Mail senden"
@@ -627,11 +553,11 @@ msgid "Find"
 msgstr "Finde"
 
 #: include/contact_widgets.php:37 mod/suggest.php:116
-#: view/theme/vier/theme.php:203
+#: view/theme/vier/theme.php:195
 msgid "Friend Suggestions"
 msgstr "Kontaktvorschläge"
 
-#: include/contact_widgets.php:38 view/theme/vier/theme.php:202
+#: include/contact_widgets.php:38 view/theme/vier/theme.php:194
 msgid "Similar Interests"
 msgstr "Ähnliche Interessen"
 
@@ -639,7 +565,7 @@ msgstr "Ähnliche Interessen"
 msgid "Random Profile"
 msgstr "Zufälliges Profil"
 
-#: include/contact_widgets.php:40 view/theme/vier/theme.php:204
+#: include/contact_widgets.php:40 view/theme/vier/theme.php:196
 msgid "Invite Friends"
 msgstr "Freunde einladen"
 
@@ -769,8 +695,8 @@ msgid "Select"
 msgstr "Auswählen"
 
 #: include/conversation.php:749 mod/content.php:455 mod/content.php:761
-#: mod/photos.php:1731 mod/admin.php:1514 mod/contacts.php:819
-#: mod/contacts.php:1018 mod/settings.php:745 object/Item.php:138
+#: mod/photos.php:1731 mod/contacts.php:819 mod/contacts.php:1018
+#: mod/admin.php:1514 mod/settings.php:745 object/Item.php:138
 msgid "Delete"
 msgstr "Löschen"
 
@@ -1752,22 +1678,6 @@ msgstr "Beitrag"
 msgid "Item filed"
 msgstr "Beitrag abgelegt"
 
-#: include/Contact.php:437
-msgid "Drop Contact"
-msgstr "Kontakt löschen"
-
-#: include/Contact.php:819
-msgid "Organisation"
-msgstr "Organisation"
-
-#: include/Contact.php:822
-msgid "News"
-msgstr "Nachrichten"
-
-#: include/Contact.php:825
-msgid "Forum"
-msgstr "Forum"
-
 #: include/bbcode.php:419 include/bbcode.php:1178 include/bbcode.php:1179
 msgid "Image/photo"
 msgstr "Bild/Foto"
@@ -1793,6 +1703,22 @@ msgstr "Ungültiges Quell-Protokoll"
 msgid "Invalid link protocol"
 msgstr "Ungültiges Link-Protokoll"
 
+#: include/Contact.php:437
+msgid "Drop Contact"
+msgstr "Kontakt löschen"
+
+#: include/Contact.php:819
+msgid "Organisation"
+msgstr "Organisation"
+
+#: include/Contact.php:822
+msgid "News"
+msgstr "Nachrichten"
+
+#: include/Contact.php:825
+msgid "Forum"
+msgstr "Forum"
+
 #: include/enotify.php:27
 msgid "Friendica Notification"
 msgstr "Friendica-Benachrichtigung"
@@ -2104,7 +2030,7 @@ msgstr "Keine Neuigkeiten"
 msgid "Clear notifications"
 msgstr "Bereinige Benachrichtigungen"
 
-#: include/nav.php:80 view/theme/frio/theme.php:245 boot.php:862
+#: include/nav.php:80 view/theme/frio/theme.php:245 boot.php:869
 msgid "Logout"
 msgstr "Abmelden"
 
@@ -2167,7 +2093,7 @@ msgstr "Persönliche Notizen"
 msgid "Your personal notes"
 msgstr "Deine persönlichen Notizen"
 
-#: include/nav.php:97 mod/bookmarklet.php:14 boot.php:863
+#: include/nav.php:97 mod/bookmarklet.php:14 boot.php:870
 msgid "Login"
 msgstr "Anmeldung"
 
@@ -2175,11 +2101,16 @@ msgstr "Anmeldung"
 msgid "Sign in"
 msgstr "Anmelden"
 
+#: include/nav.php:107 include/nav.php:163
+#: include/NotificationsManager.php:176
+msgid "Home"
+msgstr "Pinnwand"
+
 #: include/nav.php:107
 msgid "Home Page"
 msgstr "Homepage"
 
-#: include/nav.php:111 mod/register.php:291 boot.php:839
+#: include/nav.php:111 mod/register.php:291 boot.php:846
 msgid "Register"
 msgstr "Registrieren"
 
@@ -2187,7 +2118,7 @@ msgstr "Registrieren"
 msgid "Create an account"
 msgstr "Nutzerkonto erstellen"
 
-#: include/nav.php:117 mod/help.php:50 view/theme/vier/theme.php:299
+#: include/nav.php:117 mod/help.php:50 view/theme/vier/theme.php:291
 msgid "Help"
 msgstr "Hilfe"
 
@@ -2240,6 +2171,11 @@ msgstr "Information"
 msgid "Information about this friendica instance"
 msgstr "Informationen zu dieser Friendica Instanz"
 
+#: include/nav.php:160 include/NotificationsManager.php:162 mod/admin.php:518
+#: view/theme/frio/theme.php:255
+msgid "Network"
+msgstr "Netzwerk"
+
 #: include/nav.php:160 view/theme/frio/theme.php:255
 msgid "Conversations from your friends"
 msgstr "Unterhaltungen Deiner Kontakte"
@@ -2252,6 +2188,10 @@ msgstr "Netzwerk zurücksetzen"
 msgid "Load Network page with no filters"
 msgstr "Netzwerk-Seite ohne Filter laden"
 
+#: include/nav.php:168 include/NotificationsManager.php:183
+msgid "Introductions"
+msgstr "Kontaktanfragen"
+
 #: include/nav.php:168
 msgid "Friend Requests"
 msgstr "Kontaktanfragen"
@@ -2472,7 +2412,7 @@ msgid "Friends"
 msgstr "Kontakte"
 
 #: include/user.php:306 include/user.php:314 include/user.php:322
-#: include/api.php:3697 mod/photos.php:73 mod/photos.php:189
+#: include/api.php:3702 mod/photos.php:73 mod/photos.php:189
 #: mod/photos.php:776 mod/photos.php:1258 mod/photos.php:1279
 #: mod/photos.php:1865 mod/profile_photo.php:74 mod/profile_photo.php:82
 #: mod/profile_photo.php:90 mod/profile_photo.php:214
@@ -2538,647 +2478,708 @@ msgstr "\nDie Anmelde-Details sind die folgenden:\n\tAdresse der Seite:\t%3$s\n\
 msgid "Registration details for %s"
 msgstr "Details der Registration von %s"
 
-#: include/api.php:1102
-#, php-format
-msgid "Daily posting limit of %d posts reached. The post was rejected."
-msgstr "Das tägliche Nachrichtenlimit von %d Nachrichten wurde erreicht. Die Nachtricht wurde verworfen."
-
-#: include/api.php:1123
-#, php-format
-msgid "Weekly posting limit of %d posts reached. The post was rejected."
-msgstr "Das wöchentliche Nachrichtenlimit von %d Nachrichten wurde erreicht. Die Nachtricht wurde verworfen."
-
-#: include/api.php:1144
-#, php-format
-msgid "Monthly posting limit of %d posts reached. The post was rejected."
-msgstr "Das monatliche Nachrichtenlimit von %d Nachrichten wurde erreicht. Die Nachtricht wurde verworfen."
-
-#: include/dba.php:57 include/dba_pdo.php:75
+#: include/dba_pdo.php:76 include/dba.php:57
 #, php-format
 msgid "Cannot locate DNS info for database server '%s'"
 msgstr "Kann die DNS Informationen für den Datenbankserver '%s' nicht ermitteln."
 
-#: include/dbstructure.php:25
-msgid "There are no tables on MyISAM."
-msgstr "Es gibt keine MyISAM Tabellen."
+#: include/plugin.php:532 include/plugin.php:534
+msgid "Click here to upgrade."
+msgstr "Zum Upgraden hier klicken."
 
-#: include/dbstructure.php:66
-#, php-format
-msgid ""
-"\n"
-"\t\t\tThe friendica developers released update %s recently,\n"
-"\t\t\tbut when I tried to install it, something went terribly wrong.\n"
-"\t\t\tThis needs to be fixed soon and I can't do it alone. Please contact a\n"
-"\t\t\tfriendica developer if you can not help me on your own. My database might be invalid."
-msgstr "\nDie Friendica-Entwickler haben vor kurzem das Update %s veröffentlicht, aber bei der Installation ging etwas schrecklich schief.\n\nDas Problem sollte so schnell wie möglich gelöst werden, aber ich schaffe es nicht alleine. Bitte kontaktiere einen Friendica-Entwickler falls Du mir nicht alleine helfen kannst. Meine Datenbank könnte ungültig sein."
+#: include/plugin.php:541
+msgid "This action exceeds the limits set by your subscription plan."
+msgstr "Diese Aktion überschreitet die Obergrenze Deines Abonnements."
 
-#: include/dbstructure.php:71
-#, php-format
-msgid ""
-"The error message is\n"
-"[pre]%s[/pre]"
-msgstr "Die Fehlermeldung lautet\n[pre]%s[/pre]"
+#: include/plugin.php:546
+msgid "This action is not available under your subscription plan."
+msgstr "Diese Aktion ist in Deinem Abonnement nicht verfügbar."
 
-#: include/dbstructure.php:195
-#, php-format
-msgid ""
-"\n"
-"Error %d occurred during database update:\n"
-"%s\n"
-msgstr "\nFehler %d beim Update der Datenbank aufgetreten\n%s\n"
+#: include/profile_selectors.php:6
+msgid "Male"
+msgstr "Männlich"
 
-#: include/dbstructure.php:198
-msgid "Errors encountered performing database changes: "
-msgstr "Fehler beim Ändern der Datenbank aufgetreten"
+#: include/profile_selectors.php:6
+msgid "Female"
+msgstr "Weiblich"
 
-#: include/dbstructure.php:206
-msgid ": Database update"
-msgstr ": Datenbank Update"
+#: include/profile_selectors.php:6
+msgid "Currently Male"
+msgstr "Momentan männlich"
 
-#: include/dbstructure.php:438
-#, php-format
-msgid "%s: updating %s table."
-msgstr "%s: aktualisiere Tabelle %s"
+#: include/profile_selectors.php:6
+msgid "Currently Female"
+msgstr "Momentan weiblich"
 
-#: include/diaspora.php:2214
-msgid "Sharing notification from Diaspora network"
-msgstr "Freigabe-Benachrichtigung von Diaspora"
+#: include/profile_selectors.php:6
+msgid "Mostly Male"
+msgstr "Hauptsächlich männlich"
 
-#: include/diaspora.php:3234
-msgid "Attachments:"
-msgstr "Anhänge:"
+#: include/profile_selectors.php:6
+msgid "Mostly Female"
+msgstr "Hauptsächlich weiblich"
 
-#: include/identity.php:45
-msgid "Requested account is not available."
-msgstr "Das angefragte Profil ist nicht vorhanden."
+#: include/profile_selectors.php:6
+msgid "Transgender"
+msgstr "Transgender"
 
-#: include/identity.php:54 mod/profile.php:22
-msgid "Requested profile is not available."
-msgstr "Das angefragte Profil ist nicht vorhanden."
+#: include/profile_selectors.php:6
+msgid "Intersex"
+msgstr "Intersex"
 
-#: include/identity.php:98 include/identity.php:325 include/identity.php:755
-msgid "Edit profile"
-msgstr "Profil bearbeiten"
+#: include/profile_selectors.php:6
+msgid "Transsexual"
+msgstr "Transsexuell"
 
-#: include/identity.php:265
-msgid "Atom feed"
-msgstr "Atom-Feed"
+#: include/profile_selectors.php:6
+msgid "Hermaphrodite"
+msgstr "Hermaphrodit"
 
-#: include/identity.php:296
-msgid "Manage/edit profiles"
-msgstr "Profile verwalten/editieren"
+#: include/profile_selectors.php:6
+msgid "Neuter"
+msgstr "Neuter"
 
-#: include/identity.php:301 include/identity.php:327 mod/profiles.php:790
-msgid "Change profile photo"
-msgstr "Profilbild ändern"
+#: include/profile_selectors.php:6
+msgid "Non-specific"
+msgstr "Nicht spezifiziert"
 
-#: include/identity.php:302 mod/profiles.php:791
-msgid "Create New Profile"
-msgstr "Neues Profil anlegen"
+#: include/profile_selectors.php:6
+msgid "Other"
+msgstr "Andere"
 
-#: include/identity.php:312 mod/profiles.php:780
-msgid "Profile Image"
-msgstr "Profilbild"
+#: include/profile_selectors.php:23
+msgid "Males"
+msgstr "Männer"
 
-#: include/identity.php:315 mod/profiles.php:782
-msgid "visible to everybody"
-msgstr "sichtbar für jeden"
+#: include/profile_selectors.php:23
+msgid "Females"
+msgstr "Frauen"
 
-#: include/identity.php:316 mod/profiles.php:687 mod/profiles.php:783
-msgid "Edit visibility"
-msgstr "Sichtbarkeit bearbeiten"
+#: include/profile_selectors.php:23
+msgid "Gay"
+msgstr "Schwul"
 
-#: include/identity.php:344 include/identity.php:644 mod/directory.php:137
-#: mod/notifications.php:252
-msgid "Gender:"
-msgstr "Geschlecht:"
+#: include/profile_selectors.php:23
+msgid "Lesbian"
+msgstr "Lesbisch"
 
-#: include/identity.php:347 include/identity.php:665 mod/directory.php:139
-msgid "Status:"
-msgstr "Status:"
+#: include/profile_selectors.php:23
+msgid "No Preference"
+msgstr "Keine Vorlieben"
 
-#: include/identity.php:349 include/identity.php:682 mod/directory.php:141
-msgid "Homepage:"
-msgstr "Homepage:"
+#: include/profile_selectors.php:23
+msgid "Bisexual"
+msgstr "Bisexuell"
 
-#: include/identity.php:351 include/identity.php:702 mod/directory.php:143
-#: mod/notifications.php:248 mod/contacts.php:643
-msgid "About:"
-msgstr "Über:"
+#: include/profile_selectors.php:23
+msgid "Autosexual"
+msgstr "Autosexual"
 
-#: include/identity.php:353 mod/contacts.php:641
-msgid "XMPP:"
-msgstr "XMPP:"
+#: include/profile_selectors.php:23
+msgid "Abstinent"
+msgstr "Abstinent"
 
-#: include/identity.php:439 mod/notifications.php:260 mod/contacts.php:58
-msgid "Network:"
-msgstr "Netzwerk:"
+#: include/profile_selectors.php:23
+msgid "Virgin"
+msgstr "Jungfrauen"
 
-#: include/identity.php:468 include/identity.php:558
-msgid "g A l F d"
-msgstr "l, d. F G \\U\\h\\r"
+#: include/profile_selectors.php:23
+msgid "Deviant"
+msgstr "Deviant"
 
-#: include/identity.php:469 include/identity.php:559
-msgid "F d"
-msgstr "d. F"
+#: include/profile_selectors.php:23
+msgid "Fetish"
+msgstr "Fetish"
 
-#: include/identity.php:520 include/identity.php:609
-msgid "[today]"
-msgstr "[heute]"
+#: include/profile_selectors.php:23
+msgid "Oodles"
+msgstr "Oodles"
 
-#: include/identity.php:532
-msgid "Birthday Reminders"
-msgstr "Geburtstagserinnerungen"
+#: include/profile_selectors.php:23
+msgid "Nonsexual"
+msgstr "Nonsexual"
 
-#: include/identity.php:533
-msgid "Birthdays this week:"
-msgstr "Geburtstage diese Woche:"
+#: include/profile_selectors.php:42
+msgid "Single"
+msgstr "Single"
 
-#: include/identity.php:595
-msgid "[No description]"
-msgstr "[keine Beschreibung]"
+#: include/profile_selectors.php:42
+msgid "Lonely"
+msgstr "Einsam"
 
-#: include/identity.php:620
-msgid "Event Reminders"
-msgstr "Veranstaltungserinnerungen"
+#: include/profile_selectors.php:42
+msgid "Available"
+msgstr "Verfügbar"
 
-#: include/identity.php:621
-msgid "Events this week:"
-msgstr "Veranstaltungen diese Woche"
+#: include/profile_selectors.php:42
+msgid "Unavailable"
+msgstr "Nicht verfügbar"
 
-#: include/identity.php:641 mod/settings.php:1287
-msgid "Full Name:"
-msgstr "Kompletter Name:"
+#: include/profile_selectors.php:42
+msgid "Has crush"
+msgstr "verknallt"
 
-#: include/identity.php:648
-msgid "j F, Y"
-msgstr "j F, Y"
+#: include/profile_selectors.php:42
+msgid "Infatuated"
+msgstr "verliebt"
 
-#: include/identity.php:649
-msgid "j F"
-msgstr "j F"
+#: include/profile_selectors.php:42
+msgid "Dating"
+msgstr "Dating"
 
-#: include/identity.php:661
-msgid "Age:"
-msgstr "Alter:"
+#: include/profile_selectors.php:42
+msgid "Unfaithful"
+msgstr "Untreu"
 
-#: include/identity.php:674
-#, php-format
-msgid "for %1$d %2$s"
-msgstr "für %1$d %2$s"
+#: include/profile_selectors.php:42
+msgid "Sex Addict"
+msgstr "Sexbesessen"
 
-#: include/identity.php:678 mod/profiles.php:706
-msgid "Sexual Preference:"
-msgstr "Sexuelle Vorlieben:"
+#: include/profile_selectors.php:42
+msgid "Friends/Benefits"
+msgstr "Freunde/Zuwendungen"
 
-#: include/identity.php:686 mod/profiles.php:733
-msgid "Hometown:"
-msgstr "Heimatort:"
+#: include/profile_selectors.php:42
+msgid "Casual"
+msgstr "Casual"
 
-#: include/identity.php:690 mod/follow.php:139 mod/notifications.php:250
-#: mod/contacts.php:645
-msgid "Tags:"
-msgstr "Tags:"
+#: include/profile_selectors.php:42
+msgid "Engaged"
+msgstr "Verlobt"
 
-#: include/identity.php:694 mod/profiles.php:734
-msgid "Political Views:"
-msgstr "Politische Ansichten:"
+#: include/profile_selectors.php:42
+msgid "Married"
+msgstr "Verheiratet"
 
-#: include/identity.php:698
-msgid "Religion:"
-msgstr "Religion:"
+#: include/profile_selectors.php:42
+msgid "Imaginarily married"
+msgstr "imaginär verheiratet"
 
-#: include/identity.php:706
-msgid "Hobbies/Interests:"
-msgstr "Hobbies/Interessen:"
+#: include/profile_selectors.php:42
+msgid "Partners"
+msgstr "Partner"
 
-#: include/identity.php:710 mod/profiles.php:738
-msgid "Likes:"
-msgstr "Likes:"
+#: include/profile_selectors.php:42
+msgid "Cohabiting"
+msgstr "zusammenlebend"
 
-#: include/identity.php:714 mod/profiles.php:739
-msgid "Dislikes:"
-msgstr "Dislikes:"
+#: include/profile_selectors.php:42
+msgid "Common law"
+msgstr "wilde Ehe"
 
-#: include/identity.php:718
-msgid "Contact information and Social Networks:"
-msgstr "Kontaktinformationen und Soziale Netzwerke:"
+#: include/profile_selectors.php:42
+msgid "Happy"
+msgstr "Glücklich"
 
-#: include/identity.php:722
-msgid "Musical interests:"
-msgstr "Musikalische Interessen:"
+#: include/profile_selectors.php:42
+msgid "Not looking"
+msgstr "Nicht auf der Suche"
 
-#: include/identity.php:726
-msgid "Books, literature:"
-msgstr "Literatur/Bücher:"
+#: include/profile_selectors.php:42
+msgid "Swinger"
+msgstr "Swinger"
 
-#: include/identity.php:730
-msgid "Television:"
-msgstr "Fernsehen:"
+#: include/profile_selectors.php:42
+msgid "Betrayed"
+msgstr "Betrogen"
 
-#: include/identity.php:734
-msgid "Film/dance/culture/entertainment:"
-msgstr "Filme/Tänze/Kultur/Unterhaltung:"
+#: include/profile_selectors.php:42
+msgid "Separated"
+msgstr "Getrennt"
 
-#: include/identity.php:738
-msgid "Love/Romance:"
-msgstr "Liebesleben:"
+#: include/profile_selectors.php:42
+msgid "Unstable"
+msgstr "Unstabil"
 
-#: include/identity.php:742
-msgid "Work/employment:"
-msgstr "Arbeit/Beschäftigung:"
+#: include/profile_selectors.php:42
+msgid "Divorced"
+msgstr "Geschieden"
 
-#: include/identity.php:746
-msgid "School/education:"
-msgstr "Schule/Ausbildung:"
+#: include/profile_selectors.php:42
+msgid "Imaginarily divorced"
+msgstr "imaginär geschieden"
 
-#: include/identity.php:751
-msgid "Forums:"
-msgstr "Foren:"
+#: include/profile_selectors.php:42
+msgid "Widowed"
+msgstr "Verwitwet"
 
-#: include/identity.php:760 mod/events.php:509
-msgid "Basic"
-msgstr "Allgemein"
+#: include/profile_selectors.php:42
+msgid "Uncertain"
+msgstr "Unsicher"
 
-#: include/identity.php:761 mod/events.php:510 mod/admin.php:1065
-#: mod/contacts.php:881
-msgid "Advanced"
-msgstr "Erweitert"
+#: include/profile_selectors.php:42
+msgid "It's complicated"
+msgstr "Ist kompliziert"
 
-#: include/identity.php:787 mod/follow.php:147 mod/contacts.php:847
-msgid "Status Messages and Posts"
-msgstr "Statusnachrichten und Beiträge"
+#: include/profile_selectors.php:42
+msgid "Don't care"
+msgstr "Ist mir nicht wichtig"
 
-#: include/identity.php:795 mod/contacts.php:855
-msgid "Profile Details"
-msgstr "Profildetails"
+#: include/profile_selectors.php:42
+msgid "Ask me"
+msgstr "Frag mich"
 
-#: include/identity.php:803 mod/photos.php:95
-msgid "Photo Albums"
-msgstr "Fotoalben"
+#: include/NotificationsManager.php:155
+msgid "System"
+msgstr "System"
 
-#: include/identity.php:842 mod/notes.php:49
-msgid "Personal Notes"
-msgstr "Persönliche Notizen"
+#: include/NotificationsManager.php:169 mod/network.php:835
+#: mod/profiles.php:699
+msgid "Personal"
+msgstr "Persönlich"
 
-#: include/identity.php:845
-msgid "Only You Can See This"
-msgstr "Nur Du kannst das sehen"
+#: include/NotificationsManager.php:241 include/NotificationsManager.php:253
+#, php-format
+msgid "%s commented on %s's post"
+msgstr "%s hat %ss Beitrag kommentiert"
 
-#: include/items.php:1736 mod/dfrn_confirm.php:738 mod/dfrn_request.php:759
-msgid "[Name Withheld]"
-msgstr "[Name unterdrückt]"
+#: include/NotificationsManager.php:252
+#, php-format
+msgid "%s created a new post"
+msgstr "%s hat einen neuen Beitrag erstellt"
 
-#: include/items.php:2121 mod/display.php:105 mod/display.php:280
-#: mod/display.php:485 mod/notice.php:17 mod/viewsrc.php:16 mod/admin.php:248
-#: mod/admin.php:1571 mod/admin.php:1822
-msgid "Item not found."
-msgstr "Beitrag nicht gefunden."
-
-#: include/items.php:2160
-msgid "Do you really want to delete this item?"
-msgstr "Möchtest Du wirklich dieses Item löschen?"
-
-#: include/items.php:2162 mod/api.php:107 mod/follow.php:115
-#: mod/message.php:208 mod/register.php:247 mod/suggest.php:31
-#: mod/dfrn_request.php:880 mod/contacts.php:455 mod/profiles.php:643
-#: mod/profiles.php:646 mod/profiles.php:673 mod/settings.php:1172
-#: mod/settings.php:1178 mod/settings.php:1185 mod/settings.php:1189
-#: mod/settings.php:1194 mod/settings.php:1199 mod/settings.php:1204
-#: mod/settings.php:1209 mod/settings.php:1235 mod/settings.php:1236
-#: mod/settings.php:1237 mod/settings.php:1238 mod/settings.php:1239
-msgid "Yes"
-msgstr "Ja"
+#: include/NotificationsManager.php:267
+#, php-format
+msgid "%s liked %s's post"
+msgstr "%s mag %ss Beitrag"
 
-#: include/items.php:2309 mod/allfriends.php:14 mod/api.php:28 mod/api.php:33
-#: mod/attach.php:35 mod/cal.php:301 mod/common.php:20 mod/crepair.php:105
-#: mod/delegate.php:14 mod/dfrn_confirm.php:63 mod/dirfind.php:15
-#: mod/display.php:482 mod/editpost.php:12 mod/events.php:188
-#: mod/follow.php:13 mod/follow.php:76 mod/follow.php:160 mod/fsuggest.php:80
-#: mod/group.php:20 mod/invite.php:17 mod/invite.php:105 mod/manage.php:103
-#: mod/message.php:48 mod/message.php:173 mod/mood.php:116 mod/network.php:7
-#: mod/nogroup.php:29 mod/notes.php:25 mod/notifications.php:73
-#: mod/ostatus_subscribe.php:11 mod/photos.php:168 mod/photos.php:1111
-#: mod/poke.php:155 mod/register.php:44 mod/repair_ostatus.php:11
-#: mod/suggest.php:60 mod/viewcontacts.php:49 mod/wall_attach.php:69
-#: mod/wall_attach.php:72 mod/wall_upload.php:101 mod/wall_upload.php:104
-#: mod/wallmessage.php:11 mod/wallmessage.php:35 mod/wallmessage.php:75
-#: mod/wallmessage.php:99 mod/item.php:197 mod/item.php:209 mod/regmod.php:106
-#: mod/uimport.php:26 mod/contacts.php:363 mod/profile_photo.php:19
-#: mod/profile_photo.php:179 mod/profile_photo.php:190
-#: mod/profile_photo.php:203 mod/profiles.php:172 mod/profiles.php:610
-#: mod/settings.php:24 mod/settings.php:132 mod/settings.php:669 index.php:410
-msgid "Permission denied."
-msgstr "Zugriff verweigert."
+#: include/NotificationsManager.php:280
+#, php-format
+msgid "%s disliked %s's post"
+msgstr "%s mag %ss Beitrag nicht"
 
-#: include/items.php:2426
-msgid "Archives"
-msgstr "Archiv"
+#: include/NotificationsManager.php:293
+#, php-format
+msgid "%s is attending %s's event"
+msgstr "%s nimmt an %s's Event teil"
 
-#: include/ostatus.php:1962
+#: include/NotificationsManager.php:306
 #, php-format
-msgid "%s is now following %s."
-msgstr "%s folgt nun %s"
+msgid "%s is not attending %s's event"
+msgstr "%s nimmt nicht an %s's Event teil"
 
-#: include/ostatus.php:1963
-msgid "following"
-msgstr "folgen"
+#: include/NotificationsManager.php:319
+#, php-format
+msgid "%s may attend %s's event"
+msgstr "%s nimmt eventuell an %s's Event teil"
 
-#: include/ostatus.php:1966
+#: include/NotificationsManager.php:336
 #, php-format
-msgid "%s stopped following %s."
-msgstr "%s hat aufgehört %s zu folgen"
+msgid "%s is now friends with %s"
+msgstr "%s ist jetzt mit %s befreundet"
 
-#: include/ostatus.php:1967
-msgid "stopped following"
-msgstr "wird nicht mehr gefolgt"
+#: include/NotificationsManager.php:774
+msgid "Friend Suggestion"
+msgstr "Kontaktvorschlag"
 
-#: include/plugin.php:531 include/plugin.php:533
-msgid "Click here to upgrade."
-msgstr "Zum Upgraden hier klicken."
+#: include/NotificationsManager.php:803
+msgid "Friend/Connect Request"
+msgstr "Kontakt-/Freundschaftsanfrage"
 
-#: include/plugin.php:539
-msgid "This action exceeds the limits set by your subscription plan."
-msgstr "Diese Aktion überschreitet die Obergrenze Deines Abonnements."
+#: include/NotificationsManager.php:803
+msgid "New Follower"
+msgstr "Neuer Bewunderer"
 
-#: include/plugin.php:544
-msgid "This action is not available under your subscription plan."
-msgstr "Diese Aktion ist in Deinem Abonnement nicht verfügbar."
+#: include/api.php:1102
+#, php-format
+msgid "Daily posting limit of %d posts reached. The post was rejected."
+msgstr "Das tägliche Nachrichtenlimit von %d Nachrichten wurde erreicht. Die Nachtricht wurde verworfen."
 
-#: include/profile_selectors.php:6
-msgid "Male"
-msgstr "Männlich"
+#: include/api.php:1123
+#, php-format
+msgid "Weekly posting limit of %d posts reached. The post was rejected."
+msgstr "Das wöchentliche Nachrichtenlimit von %d Nachrichten wurde erreicht. Die Nachtricht wurde verworfen."
 
-#: include/profile_selectors.php:6
-msgid "Female"
-msgstr "Weiblich"
+#: include/api.php:1144
+#, php-format
+msgid "Monthly posting limit of %d posts reached. The post was rejected."
+msgstr "Das monatliche Nachrichtenlimit von %d Nachrichten wurde erreicht. Die Nachtricht wurde verworfen."
 
-#: include/profile_selectors.php:6
-msgid "Currently Male"
-msgstr "Momentan männlich"
+#: include/dbstructure.php:25
+msgid "There are no tables on MyISAM."
+msgstr "Es gibt keine MyISAM Tabellen."
 
-#: include/profile_selectors.php:6
-msgid "Currently Female"
-msgstr "Momentan weiblich"
+#: include/dbstructure.php:66
+#, php-format
+msgid ""
+"\n"
+"\t\t\tThe friendica developers released update %s recently,\n"
+"\t\t\tbut when I tried to install it, something went terribly wrong.\n"
+"\t\t\tThis needs to be fixed soon and I can't do it alone. Please contact a\n"
+"\t\t\tfriendica developer if you can not help me on your own. My database might be invalid."
+msgstr "\nDie Friendica-Entwickler haben vor kurzem das Update %s veröffentlicht, aber bei der Installation ging etwas schrecklich schief.\n\nDas Problem sollte so schnell wie möglich gelöst werden, aber ich schaffe es nicht alleine. Bitte kontaktiere einen Friendica-Entwickler falls Du mir nicht alleine helfen kannst. Meine Datenbank könnte ungültig sein."
 
-#: include/profile_selectors.php:6
-msgid "Mostly Male"
-msgstr "Hauptsächlich männlich"
+#: include/dbstructure.php:71
+#, php-format
+msgid ""
+"The error message is\n"
+"[pre]%s[/pre]"
+msgstr "Die Fehlermeldung lautet\n[pre]%s[/pre]"
 
-#: include/profile_selectors.php:6
-msgid "Mostly Female"
-msgstr "Hauptsächlich weiblich"
+#: include/dbstructure.php:195
+#, php-format
+msgid ""
+"\n"
+"Error %d occurred during database update:\n"
+"%s\n"
+msgstr "\nFehler %d beim Update der Datenbank aufgetreten\n%s\n"
 
-#: include/profile_selectors.php:6
-msgid "Transgender"
-msgstr "Transgender"
+#: include/dbstructure.php:198
+msgid "Errors encountered performing database changes: "
+msgstr "Fehler beim Ändern der Datenbank aufgetreten"
 
-#: include/profile_selectors.php:6
-msgid "Intersex"
-msgstr "Intersex"
+#: include/dbstructure.php:206
+msgid ": Database update"
+msgstr ": Datenbank Update"
 
-#: include/profile_selectors.php:6
-msgid "Transsexual"
-msgstr "Transsexuell"
+#: include/dbstructure.php:438
+#, php-format
+msgid "%s: updating %s table."
+msgstr "%s: aktualisiere Tabelle %s"
 
-#: include/profile_selectors.php:6
-msgid "Hermaphrodite"
-msgstr "Hermaphrodit"
+#: include/diaspora.php:2214
+msgid "Sharing notification from Diaspora network"
+msgstr "Freigabe-Benachrichtigung von Diaspora"
 
-#: include/profile_selectors.php:6
-msgid "Neuter"
-msgstr "Neuter"
+#: include/diaspora.php:3234
+msgid "Attachments:"
+msgstr "Anhänge:"
 
-#: include/profile_selectors.php:6
-msgid "Non-specific"
-msgstr "Nicht spezifiziert"
+#: include/identity.php:45
+msgid "Requested account is not available."
+msgstr "Das angefragte Profil ist nicht vorhanden."
 
-#: include/profile_selectors.php:6
-msgid "Other"
-msgstr "Andere"
+#: include/identity.php:54 mod/profile.php:22
+msgid "Requested profile is not available."
+msgstr "Das angefragte Profil ist nicht vorhanden."
 
-#: include/profile_selectors.php:23
-msgid "Males"
-msgstr "Männer"
+#: include/identity.php:98 include/identity.php:325 include/identity.php:755
+msgid "Edit profile"
+msgstr "Profil bearbeiten"
 
-#: include/profile_selectors.php:23
-msgid "Females"
-msgstr "Frauen"
+#: include/identity.php:265
+msgid "Atom feed"
+msgstr "Atom-Feed"
 
-#: include/profile_selectors.php:23
-msgid "Gay"
-msgstr "Schwul"
+#: include/identity.php:296
+msgid "Manage/edit profiles"
+msgstr "Profile verwalten/editieren"
 
-#: include/profile_selectors.php:23
-msgid "Lesbian"
-msgstr "Lesbisch"
+#: include/identity.php:301 include/identity.php:327 mod/profiles.php:790
+msgid "Change profile photo"
+msgstr "Profilbild ändern"
 
-#: include/profile_selectors.php:23
-msgid "No Preference"
-msgstr "Keine Vorlieben"
+#: include/identity.php:302 mod/profiles.php:791
+msgid "Create New Profile"
+msgstr "Neues Profil anlegen"
 
-#: include/profile_selectors.php:23
-msgid "Bisexual"
-msgstr "Bisexuell"
+#: include/identity.php:312 mod/profiles.php:780
+msgid "Profile Image"
+msgstr "Profilbild"
 
-#: include/profile_selectors.php:23
-msgid "Autosexual"
-msgstr "Autosexual"
+#: include/identity.php:315 mod/profiles.php:782
+msgid "visible to everybody"
+msgstr "sichtbar für jeden"
 
-#: include/profile_selectors.php:23
-msgid "Abstinent"
-msgstr "Abstinent"
+#: include/identity.php:316 mod/profiles.php:687 mod/profiles.php:783
+msgid "Edit visibility"
+msgstr "Sichtbarkeit bearbeiten"
 
-#: include/profile_selectors.php:23
-msgid "Virgin"
-msgstr "Jungfrauen"
+#: include/identity.php:344 include/identity.php:644 mod/directory.php:137
+#: mod/notifications.php:252
+msgid "Gender:"
+msgstr "Geschlecht:"
 
-#: include/profile_selectors.php:23
-msgid "Deviant"
-msgstr "Deviant"
+#: include/identity.php:347 include/identity.php:665 mod/directory.php:139
+msgid "Status:"
+msgstr "Status:"
 
-#: include/profile_selectors.php:23
-msgid "Fetish"
-msgstr "Fetish"
+#: include/identity.php:349 include/identity.php:682 mod/directory.php:141
+msgid "Homepage:"
+msgstr "Homepage:"
 
-#: include/profile_selectors.php:23
-msgid "Oodles"
-msgstr "Oodles"
+#: include/identity.php:351 include/identity.php:702 mod/directory.php:143
+#: mod/notifications.php:248 mod/contacts.php:643
+msgid "About:"
+msgstr "Über:"
 
-#: include/profile_selectors.php:23
-msgid "Nonsexual"
-msgstr "Nonsexual"
+#: include/identity.php:353 mod/contacts.php:641
+msgid "XMPP:"
+msgstr "XMPP:"
 
-#: include/profile_selectors.php:42
-msgid "Single"
-msgstr "Single"
+#: include/identity.php:439 mod/notifications.php:260 mod/contacts.php:58
+msgid "Network:"
+msgstr "Netzwerk:"
 
-#: include/profile_selectors.php:42
-msgid "Lonely"
-msgstr "Einsam"
+#: include/identity.php:468 include/identity.php:558
+msgid "g A l F d"
+msgstr "l, d. F G \\U\\h\\r"
 
-#: include/profile_selectors.php:42
-msgid "Available"
-msgstr "Verfügbar"
+#: include/identity.php:469 include/identity.php:559
+msgid "F d"
+msgstr "d. F"
 
-#: include/profile_selectors.php:42
-msgid "Unavailable"
-msgstr "Nicht verfügbar"
+#: include/identity.php:520 include/identity.php:609
+msgid "[today]"
+msgstr "[heute]"
 
-#: include/profile_selectors.php:42
-msgid "Has crush"
-msgstr "verknallt"
+#: include/identity.php:532
+msgid "Birthday Reminders"
+msgstr "Geburtstagserinnerungen"
 
-#: include/profile_selectors.php:42
-msgid "Infatuated"
-msgstr "verliebt"
+#: include/identity.php:533
+msgid "Birthdays this week:"
+msgstr "Geburtstage diese Woche:"
 
-#: include/profile_selectors.php:42
-msgid "Dating"
-msgstr "Dating"
+#: include/identity.php:595
+msgid "[No description]"
+msgstr "[keine Beschreibung]"
 
-#: include/profile_selectors.php:42
-msgid "Unfaithful"
-msgstr "Untreu"
+#: include/identity.php:620
+msgid "Event Reminders"
+msgstr "Veranstaltungserinnerungen"
 
-#: include/profile_selectors.php:42
-msgid "Sex Addict"
-msgstr "Sexbesessen"
+#: include/identity.php:621
+msgid "Events this week:"
+msgstr "Veranstaltungen diese Woche"
 
-#: include/profile_selectors.php:42
-msgid "Friends/Benefits"
-msgstr "Freunde/Zuwendungen"
+#: include/identity.php:641 mod/settings.php:1287
+msgid "Full Name:"
+msgstr "Kompletter Name:"
 
-#: include/profile_selectors.php:42
-msgid "Casual"
-msgstr "Casual"
+#: include/identity.php:648
+msgid "j F, Y"
+msgstr "j F, Y"
 
-#: include/profile_selectors.php:42
-msgid "Engaged"
-msgstr "Verlobt"
+#: include/identity.php:649
+msgid "j F"
+msgstr "j F"
 
-#: include/profile_selectors.php:42
-msgid "Married"
-msgstr "Verheiratet"
+#: include/identity.php:661
+msgid "Age:"
+msgstr "Alter:"
 
-#: include/profile_selectors.php:42
-msgid "Imaginarily married"
-msgstr "imaginär verheiratet"
+#: include/identity.php:674
+#, php-format
+msgid "for %1$d %2$s"
+msgstr "für %1$d %2$s"
 
-#: include/profile_selectors.php:42
-msgid "Partners"
-msgstr "Partner"
+#: include/identity.php:678 mod/profiles.php:706
+msgid "Sexual Preference:"
+msgstr "Sexuelle Vorlieben:"
 
-#: include/profile_selectors.php:42
-msgid "Cohabiting"
-msgstr "zusammenlebend"
+#: include/identity.php:686 mod/profiles.php:733
+msgid "Hometown:"
+msgstr "Heimatort:"
 
-#: include/profile_selectors.php:42
-msgid "Common law"
-msgstr "wilde Ehe"
+#: include/identity.php:690 mod/follow.php:139 mod/notifications.php:250
+#: mod/contacts.php:645
+msgid "Tags:"
+msgstr "Tags:"
 
-#: include/profile_selectors.php:42
-msgid "Happy"
-msgstr "Glücklich"
+#: include/identity.php:694 mod/profiles.php:734
+msgid "Political Views:"
+msgstr "Politische Ansichten:"
 
-#: include/profile_selectors.php:42
-msgid "Not looking"
-msgstr "Nicht auf der Suche"
+#: include/identity.php:698
+msgid "Religion:"
+msgstr "Religion:"
 
-#: include/profile_selectors.php:42
-msgid "Swinger"
-msgstr "Swinger"
+#: include/identity.php:706
+msgid "Hobbies/Interests:"
+msgstr "Hobbies/Interessen:"
 
-#: include/profile_selectors.php:42
-msgid "Betrayed"
-msgstr "Betrogen"
+#: include/identity.php:710 mod/profiles.php:738
+msgid "Likes:"
+msgstr "Likes:"
 
-#: include/profile_selectors.php:42
-msgid "Separated"
-msgstr "Getrennt"
+#: include/identity.php:714 mod/profiles.php:739
+msgid "Dislikes:"
+msgstr "Dislikes:"
 
-#: include/profile_selectors.php:42
-msgid "Unstable"
-msgstr "Unstabil"
+#: include/identity.php:718
+msgid "Contact information and Social Networks:"
+msgstr "Kontaktinformationen und Soziale Netzwerke:"
 
-#: include/profile_selectors.php:42
-msgid "Divorced"
-msgstr "Geschieden"
+#: include/identity.php:722
+msgid "Musical interests:"
+msgstr "Musikalische Interessen:"
 
-#: include/profile_selectors.php:42
-msgid "Imaginarily divorced"
-msgstr "imaginär geschieden"
+#: include/identity.php:726
+msgid "Books, literature:"
+msgstr "Literatur/Bücher:"
 
-#: include/profile_selectors.php:42
-msgid "Widowed"
-msgstr "Verwitwet"
+#: include/identity.php:730
+msgid "Television:"
+msgstr "Fernsehen:"
 
-#: include/profile_selectors.php:42
-msgid "Uncertain"
-msgstr "Unsicher"
+#: include/identity.php:734
+msgid "Film/dance/culture/entertainment:"
+msgstr "Filme/Tänze/Kultur/Unterhaltung:"
 
-#: include/profile_selectors.php:42
-msgid "It's complicated"
-msgstr "Ist kompliziert"
+#: include/identity.php:738
+msgid "Love/Romance:"
+msgstr "Liebesleben:"
 
-#: include/profile_selectors.php:42
-msgid "Don't care"
-msgstr "Ist mir nicht wichtig"
+#: include/identity.php:742
+msgid "Work/employment:"
+msgstr "Arbeit/Beschäftigung:"
 
-#: include/profile_selectors.php:42
-msgid "Ask me"
-msgstr "Frag mich"
+#: include/identity.php:746
+msgid "School/education:"
+msgstr "Schule/Ausbildung:"
 
-#: mod/allfriends.php:48
-msgid "No friends to display."
-msgstr "Keine Kontakte zum Anzeigen."
+#: include/identity.php:751
+msgid "Forums:"
+msgstr "Foren:"
 
-#: mod/api.php:78 mod/api.php:104
-msgid "Authorize application connection"
-msgstr "Verbindung der Applikation autorisieren"
+#: include/identity.php:760 mod/events.php:509
+msgid "Basic"
+msgstr "Allgemein"
 
-#: mod/api.php:79
-msgid "Return to your app and insert this Securty Code:"
-msgstr "Gehe zu Deiner Anwendung zurück und trage dort folgenden Sicherheitscode ein:"
+#: include/identity.php:761 mod/events.php:510 mod/contacts.php:881
+#: mod/admin.php:1065
+msgid "Advanced"
+msgstr "Erweitert"
 
-#: mod/api.php:91
-msgid "Please login to continue."
-msgstr "Bitte melde Dich an um fortzufahren."
+#: include/identity.php:787 mod/follow.php:147 mod/contacts.php:847
+msgid "Status Messages and Posts"
+msgstr "Statusnachrichten und Beiträge"
 
-#: mod/api.php:106
-msgid ""
-"Do you want to authorize this application to access your posts and contacts,"
-" and/or create new posts for you?"
-msgstr "Möchtest Du dieser Anwendung den Zugriff auf Deine Beiträge und Kontakte, sowie das Erstellen neuer Beiträge in Deinem Namen gestatten?"
+#: include/identity.php:795 mod/contacts.php:855
+msgid "Profile Details"
+msgstr "Profildetails"
 
-#: mod/api.php:108 mod/follow.php:115 mod/register.php:248
-#: mod/dfrn_request.php:880 mod/profiles.php:643 mod/profiles.php:647
-#: mod/profiles.php:673 mod/settings.php:1172 mod/settings.php:1178
-#: mod/settings.php:1185 mod/settings.php:1189 mod/settings.php:1194
-#: mod/settings.php:1199 mod/settings.php:1204 mod/settings.php:1209
-#: mod/settings.php:1235 mod/settings.php:1236 mod/settings.php:1237
-#: mod/settings.php:1238 mod/settings.php:1239
-msgid "No"
-msgstr "Nein"
+#: include/identity.php:803 mod/photos.php:95
+msgid "Photo Albums"
+msgstr "Fotoalben"
 
-#: mod/apps.php:9 index.php:257
-msgid "You must be logged in to use addons. "
-msgstr "Sie müssen angemeldet sein um Addons benutzen zu können."
+#: include/identity.php:842 mod/notes.php:49
+msgid "Personal Notes"
+msgstr "Persönliche Notizen"
 
-#: mod/apps.php:14
-msgid "Applications"
-msgstr "Anwendungen"
+#: include/identity.php:845
+msgid "Only You Can See This"
+msgstr "Nur Du kannst das sehen"
 
-#: mod/apps.php:17
-msgid "No installed applications."
-msgstr "Keine Applikationen installiert."
+#: include/items.php:1736 mod/dfrn_confirm.php:738 mod/dfrn_request.php:759
+msgid "[Name Withheld]"
+msgstr "[Name unterdrückt]"
 
-#: mod/attach.php:10
-msgid "Item not available."
-msgstr "Beitrag nicht verfügbar."
+#: include/items.php:2121 mod/display.php:105 mod/display.php:280
+#: mod/display.php:485 mod/notice.php:17 mod/viewsrc.php:16 mod/admin.php:248
+#: mod/admin.php:1571 mod/admin.php:1822
+msgid "Item not found."
+msgstr "Beitrag nicht gefunden."
 
-#: mod/attach.php:22
-msgid "Item was not found."
+#: include/items.php:2160
+msgid "Do you really want to delete this item?"
+msgstr "Möchtest Du wirklich dieses Item löschen?"
+
+#: include/items.php:2162 mod/api.php:107 mod/follow.php:115
+#: mod/message.php:208 mod/register.php:247 mod/suggest.php:31
+#: mod/dfrn_request.php:880 mod/contacts.php:455 mod/profiles.php:643
+#: mod/profiles.php:646 mod/profiles.php:673 mod/settings.php:1172
+#: mod/settings.php:1178 mod/settings.php:1185 mod/settings.php:1189
+#: mod/settings.php:1194 mod/settings.php:1199 mod/settings.php:1204
+#: mod/settings.php:1209 mod/settings.php:1235 mod/settings.php:1236
+#: mod/settings.php:1237 mod/settings.php:1238 mod/settings.php:1239
+msgid "Yes"
+msgstr "Ja"
+
+#: include/items.php:2309 mod/allfriends.php:14 mod/api.php:28 mod/api.php:33
+#: mod/attach.php:35 mod/cal.php:301 mod/common.php:20 mod/crepair.php:105
+#: mod/delegate.php:14 mod/dfrn_confirm.php:63 mod/dirfind.php:15
+#: mod/display.php:482 mod/editpost.php:12 mod/events.php:188
+#: mod/follow.php:13 mod/follow.php:76 mod/follow.php:160 mod/fsuggest.php:80
+#: mod/group.php:20 mod/invite.php:17 mod/invite.php:105 mod/manage.php:103
+#: mod/message.php:48 mod/message.php:173 mod/mood.php:116 mod/network.php:7
+#: mod/nogroup.php:29 mod/notes.php:25 mod/notifications.php:73
+#: mod/ostatus_subscribe.php:11 mod/photos.php:168 mod/photos.php:1111
+#: mod/poke.php:155 mod/register.php:44 mod/repair_ostatus.php:11
+#: mod/suggest.php:60 mod/viewcontacts.php:49 mod/wall_attach.php:69
+#: mod/wall_attach.php:72 mod/wall_upload.php:101 mod/wall_upload.php:104
+#: mod/wallmessage.php:11 mod/wallmessage.php:35 mod/wallmessage.php:75
+#: mod/wallmessage.php:99 mod/item.php:197 mod/item.php:209 mod/regmod.php:106
+#: mod/uimport.php:26 mod/contacts.php:363 mod/profile_photo.php:19
+#: mod/profile_photo.php:179 mod/profile_photo.php:190
+#: mod/profile_photo.php:203 mod/profiles.php:172 mod/profiles.php:610
+#: mod/settings.php:24 mod/settings.php:132 mod/settings.php:669 index.php:410
+msgid "Permission denied."
+msgstr "Zugriff verweigert."
+
+#: include/items.php:2426
+msgid "Archives"
+msgstr "Archiv"
+
+#: include/ostatus.php:1962
+#, php-format
+msgid "%s is now following %s."
+msgstr "%s folgt nun %s"
+
+#: include/ostatus.php:1963
+msgid "following"
+msgstr "folgen"
+
+#: include/ostatus.php:1966
+#, php-format
+msgid "%s stopped following %s."
+msgstr "%s hat aufgehört %s zu folgen"
+
+#: include/ostatus.php:1967
+msgid "stopped following"
+msgstr "wird nicht mehr gefolgt"
+
+#: mod/allfriends.php:48
+msgid "No friends to display."
+msgstr "Keine Kontakte zum Anzeigen."
+
+#: mod/api.php:78 mod/api.php:104
+msgid "Authorize application connection"
+msgstr "Verbindung der Applikation autorisieren"
+
+#: mod/api.php:79
+msgid "Return to your app and insert this Securty Code:"
+msgstr "Gehe zu Deiner Anwendung zurück und trage dort folgenden Sicherheitscode ein:"
+
+#: mod/api.php:91
+msgid "Please login to continue."
+msgstr "Bitte melde Dich an um fortzufahren."
+
+#: mod/api.php:106
+msgid ""
+"Do you want to authorize this application to access your posts and contacts,"
+" and/or create new posts for you?"
+msgstr "Möchtest Du dieser Anwendung den Zugriff auf Deine Beiträge und Kontakte, sowie das Erstellen neuer Beiträge in Deinem Namen gestatten?"
+
+#: mod/api.php:108 mod/follow.php:115 mod/register.php:248
+#: mod/dfrn_request.php:880 mod/profiles.php:643 mod/profiles.php:647
+#: mod/profiles.php:673 mod/settings.php:1172 mod/settings.php:1178
+#: mod/settings.php:1185 mod/settings.php:1189 mod/settings.php:1194
+#: mod/settings.php:1199 mod/settings.php:1204 mod/settings.php:1209
+#: mod/settings.php:1235 mod/settings.php:1236 mod/settings.php:1237
+#: mod/settings.php:1238 mod/settings.php:1239
+msgid "No"
+msgstr "Nein"
+
+#: mod/apps.php:9 index.php:257
+msgid "You must be logged in to use addons. "
+msgstr "Sie müssen angemeldet sein um Addons benutzen zu können."
+
+#: mod/apps.php:14
+msgid "Applications"
+msgstr "Anwendungen"
+
+#: mod/apps.php:17
+msgid "No installed applications."
+msgstr "Keine Applikationen installiert."
+
+#: mod/attach.php:10
+msgid "Item not available."
+msgstr "Beitrag nicht verfügbar."
+
+#: mod/attach.php:22
+msgid "Item was not found."
 msgstr "Beitrag konnte nicht gefunden werden."
 
 #: mod/babel.php:18
@@ -3697,7 +3698,7 @@ msgstr "%1$s ist %2$s beigetreten"
 msgid "%1$s welcomes %2$s"
 msgstr "%1$s heißt %2$s herzlich willkommen"
 
-#: mod/directory.php:195 view/theme/vier/theme.php:201
+#: mod/directory.php:195 view/theme/vier/theme.php:193
 msgid "Global Directory"
 msgstr "Weltweites Verzeichnis"
 
@@ -4530,7 +4531,7 @@ msgid ""
 "Password reset failed."
 msgstr "Anfrage konnte nicht verifiziert werden. (Eventuell hast Du bereits eine ähnliche Anfrage gestellt.) Zurücksetzen des Passworts gescheitert."
 
-#: mod/lostpass.php:112 boot.php:877
+#: mod/lostpass.php:112 boot.php:884
 msgid "Password Reset"
 msgstr "Passwort zurücksetzen"
 
@@ -4596,7 +4597,7 @@ msgid ""
 "your email for further instructions."
 msgstr "Gib Deine E-Mail-Adresse an und fordere ein neues Passwort an. Es werden Dir dann weitere Informationen per Mail zugesendet."
 
-#: mod/lostpass.php:163 boot.php:865
+#: mod/lostpass.php:163 boot.php:872
 msgid "Nickname or Email: "
 msgstr "Spitzname oder E-Mail:"
 
@@ -5380,18 +5381,6 @@ msgstr "Karte"
 msgid "View Album"
 msgstr "Album betrachten"
 
-#: mod/ping.php:273
-msgid "{0} wants to be your friend"
-msgstr "{0} möchte mit Dir in Kontakt treten"
-
-#: mod/ping.php:288
-msgid "{0} sent you a message"
-msgstr "{0} schickte Dir eine Nachricht"
-
-#: mod/ping.php:303
-msgid "{0} requested registration"
-msgstr "{0} möchte sich registrieren"
-
 #: mod/poke.php:197
 msgid "Poke/Prod"
 msgstr "Anstupsen"
@@ -5945,2087 +5934,2099 @@ msgid ""
 "select \"Export account\""
 msgstr "Um Deinen Account zu exportieren, rufe \"Einstellungen -> Persönliche Daten exportieren\" auf und wähle \"Account exportieren\""
 
-#: mod/admin.php:97
-msgid "Theme settings updated."
-msgstr "Themeneinstellungen aktualisiert."
-
-#: mod/admin.php:166 mod/admin.php:1060
-msgid "Site"
-msgstr "Seite"
+#: mod/contacts.php:137
+#, php-format
+msgid "%d contact edited."
+msgid_plural "%d contacts edited."
+msgstr[0] "%d Kontakt bearbeitet."
+msgstr[1] "%d Kontakte bearbeitet."
 
-#: mod/admin.php:167 mod/admin.php:994 mod/admin.php:1504 mod/admin.php:1520
-msgid "Users"
-msgstr "Nutzer"
+#: mod/contacts.php:172 mod/contacts.php:381
+msgid "Could not access contact record."
+msgstr "Konnte nicht auf die Kontaktdaten zugreifen."
 
-#: mod/admin.php:168 mod/admin.php:1622 mod/admin.php:1685 mod/settings.php:76
-msgid "Plugins"
-msgstr "Plugins"
+#: mod/contacts.php:186
+msgid "Could not locate selected profile."
+msgstr "Konnte das ausgewählte Profil nicht finden."
 
-#: mod/admin.php:169 mod/admin.php:1898 mod/admin.php:1948
-msgid "Themes"
-msgstr "Themen"
+#: mod/contacts.php:219
+msgid "Contact updated."
+msgstr "Kontakt aktualisiert."
 
-#: mod/admin.php:170 mod/settings.php:54
-msgid "Additional features"
-msgstr "Zusätzliche Features"
+#: mod/contacts.php:402
+msgid "Contact has been blocked"
+msgstr "Kontakt wurde blockiert"
 
-#: mod/admin.php:171
-msgid "DB updates"
-msgstr "DB Updates"
+#: mod/contacts.php:402
+msgid "Contact has been unblocked"
+msgstr "Kontakt wurde wieder freigegeben"
 
-#: mod/admin.php:172 mod/admin.php:513
-msgid "Inspect Queue"
-msgstr "Warteschlange Inspizieren"
+#: mod/contacts.php:413
+msgid "Contact has been ignored"
+msgstr "Kontakt wurde ignoriert"
 
-#: mod/admin.php:173 mod/admin.php:289
-msgid "Server Blocklist"
-msgstr "Server Blockliste"
+#: mod/contacts.php:413
+msgid "Contact has been unignored"
+msgstr "Kontakt wird nicht mehr ignoriert"
 
-#: mod/admin.php:174 mod/admin.php:479
-msgid "Federation Statistics"
-msgstr "Federation Statistik"
+#: mod/contacts.php:425
+msgid "Contact has been archived"
+msgstr "Kontakt wurde archiviert"
 
-#: mod/admin.php:188 mod/admin.php:199 mod/admin.php:2022
-msgid "Logs"
-msgstr "Protokolle"
+#: mod/contacts.php:425
+msgid "Contact has been unarchived"
+msgstr "Kontakt wurde aus dem Archiv geholt"
 
-#: mod/admin.php:189 mod/admin.php:2090
-msgid "View Logs"
-msgstr "Protokolle anzeigen"
+#: mod/contacts.php:450
+msgid "Drop contact"
+msgstr "Kontakt löschen"
 
-#: mod/admin.php:190
-msgid "probe address"
-msgstr "Adresse untersuchen"
+#: mod/contacts.php:453 mod/contacts.php:812
+msgid "Do you really want to delete this contact?"
+msgstr "Möchtest Du wirklich diesen Kontakt löschen?"
 
-#: mod/admin.php:191
-msgid "check webfinger"
-msgstr "Webfinger überprüfen"
+#: mod/contacts.php:472
+msgid "Contact has been removed."
+msgstr "Kontakt wurde entfernt."
 
-#: mod/admin.php:198
-msgid "Plugin Features"
-msgstr "Plugin Features"
+#: mod/contacts.php:509
+#, php-format
+msgid "You are mutual friends with %s"
+msgstr "Du hast mit %s eine beidseitige Freundschaft"
 
-#: mod/admin.php:200
-msgid "diagnostics"
-msgstr "Diagnose"
+#: mod/contacts.php:513
+#, php-format
+msgid "You are sharing with %s"
+msgstr "Du teilst mit %s"
 
-#: mod/admin.php:201
-msgid "User registrations waiting for confirmation"
-msgstr "Nutzeranmeldungen die auf Bestätigung warten"
+#: mod/contacts.php:518
+#, php-format
+msgid "%s is sharing with you"
+msgstr "%s teilt mit Dir"
 
-#: mod/admin.php:280
-msgid "The blocked domain"
-msgstr "Die blockierte Domain"
+#: mod/contacts.php:538
+msgid "Private communications are not available for this contact."
+msgstr "Private Kommunikation ist für diesen Kontakt nicht verfügbar."
 
-#: mod/admin.php:281 mod/admin.php:294
-msgid "The reason why you blocked this domain."
-msgstr "Die Begründung warum du diese Domain blockiert hast."
+#: mod/contacts.php:541 mod/admin.php:984
+msgid "Never"
+msgstr "Niemals"
 
-#: mod/admin.php:282
-msgid "Delete domain"
-msgstr "Domain löschen"
+#: mod/contacts.php:545
+msgid "(Update was successful)"
+msgstr "(Aktualisierung war erfolgreich)"
 
-#: mod/admin.php:282
-msgid "Check to delete this entry from the blocklist"
-msgstr "Markieren, um diesen Eintrag von der Blocklist zu entfernen"
+#: mod/contacts.php:545
+msgid "(Update was not successful)"
+msgstr "(Aktualisierung war nicht erfolgreich)"
 
-#: mod/admin.php:288 mod/admin.php:478 mod/admin.php:512 mod/admin.php:592
-#: mod/admin.php:1059 mod/admin.php:1503 mod/admin.php:1621 mod/admin.php:1684
-#: mod/admin.php:1897 mod/admin.php:1947 mod/admin.php:2021 mod/admin.php:2089
-msgid "Administration"
-msgstr "Administration"
+#: mod/contacts.php:547 mod/contacts.php:975
+msgid "Suggest friends"
+msgstr "Kontakte vorschlagen"
 
-#: mod/admin.php:290
-msgid ""
-"This page can be used to define a black list of servers from the federated "
-"network that are not allowed to interact with your node. For all entered "
-"domains you should also give a reason why you have blocked the remote "
-"server."
-msgstr "Auf dieser Seite kannst du die Liste der blockierten Domains aus dem föderalen Netzwerk verwalten, denen es untersagt ist mit deinem Knoten zu interagieren. Für jede der blockierten Domains musst du außerdem einen Grund für die Sperrung angeben."
+#: mod/contacts.php:551
+#, php-format
+msgid "Network type: %s"
+msgstr "Netzwerktyp: %s"
 
-#: mod/admin.php:291
-msgid ""
-"The list of blocked servers will be made publically available on the "
-"/friendica page so that your users and people investigating communication "
-"problems can find the reason easily."
-msgstr "Die Liste der blockierten Domains wird auf der /friendica Seite öffentlich einsehbar gemacht, damit deine Nutzer und Personen die Kommunikationsprobleme erkunden, die Ursachen einfach finden können."
+#: mod/contacts.php:564
+msgid "Communications lost with this contact!"
+msgstr "Verbindungen mit diesem Kontakt verloren!"
 
-#: mod/admin.php:292
-msgid "Add new entry to block list"
-msgstr "Neuen Eintrag in die Blockliste"
+#: mod/contacts.php:567
+msgid "Fetch further information for feeds"
+msgstr "Weitere Informationen zu Feeds holen"
 
-#: mod/admin.php:293
-msgid "Server Domain"
-msgstr "Domain des Servers"
+#: mod/contacts.php:568 mod/admin.php:993
+msgid "Disabled"
+msgstr "Deaktiviert"
 
-#: mod/admin.php:293
-msgid ""
-"The domain of the new server to add to the block list. Do not include the "
-"protocol."
-msgstr "Der Domain-Name des Servers der geblockt werden soll. Gib das Protokoll nicht mit an!"
+#: mod/contacts.php:568
+msgid "Fetch information"
+msgstr "Beziehe Information"
 
-#: mod/admin.php:294
-msgid "Block reason"
-msgstr "Begründung der Blockierung"
+#: mod/contacts.php:568
+msgid "Fetch information and keywords"
+msgstr "Beziehe Information und Schlüsselworte"
 
-#: mod/admin.php:295
-msgid "Add Entry"
-msgstr "Eintrag hinzufügen"
+#: mod/contacts.php:586
+msgid "Contact"
+msgstr "Kontakt"
 
-#: mod/admin.php:296
-msgid "Save changes to the blocklist"
-msgstr "Änderungen der Blockliste speichern"
+#: mod/contacts.php:589
+msgid "Profile Visibility"
+msgstr "Profil-Sichtbarkeit"
 
-#: mod/admin.php:297
-msgid "Current Entries in the Blocklist"
-msgstr "Aktuelle Einträge der Blockliste"
+#: mod/contacts.php:590
+#, php-format
+msgid ""
+"Please choose the profile you would like to display to %s when viewing your "
+"profile securely."
+msgstr "Bitte wähle eines Deiner Profile das angezeigt werden soll, wenn %s Dein Profil aufruft."
 
-#: mod/admin.php:300
-msgid "Delete entry from blocklist"
-msgstr "Eintrag von der Blockliste entfernen"
+#: mod/contacts.php:591
+msgid "Contact Information / Notes"
+msgstr "Kontakt Informationen / Notizen"
 
-#: mod/admin.php:303
-msgid "Delete entry from blocklist?"
-msgstr "Eintrag von der Blockliste entfernen?"
+#: mod/contacts.php:592
+msgid "Edit contact notes"
+msgstr "Notizen zum Kontakt bearbeiten"
 
-#: mod/admin.php:328
-msgid "Server added to blocklist."
-msgstr "Server zur Blockliste hinzugefügt."
+#: mod/contacts.php:598
+msgid "Block/Unblock contact"
+msgstr "Kontakt blockieren/freischalten"
 
-#: mod/admin.php:344
-msgid "Site blocklist updated."
-msgstr "Blockliste aktualisiert."
+#: mod/contacts.php:599
+msgid "Ignore contact"
+msgstr "Ignoriere den Kontakt"
 
-#: mod/admin.php:409
-msgid "unknown"
-msgstr "Unbekannt"
+#: mod/contacts.php:600
+msgid "Repair URL settings"
+msgstr "URL Einstellungen reparieren"
 
-#: mod/admin.php:472
-msgid ""
-"This page offers you some numbers to the known part of the federated social "
-"network your Friendica node is part of. These numbers are not complete but "
-"only reflect the part of the network your node is aware of."
-msgstr "Diese Seite präsentiert einige Zahlen zu dem bekannten Teil des föderalen sozialen Netzwerks, von dem deine Friendica Installation ein Teil ist. Diese Zahlen sind nicht absolut und reflektieren nur den Teil des Netzwerks, den dein Knoten kennt."
+#: mod/contacts.php:601
+msgid "View conversations"
+msgstr "Unterhaltungen anzeigen"
 
-#: mod/admin.php:473
-msgid ""
-"The <em>Auto Discovered Contact Directory</em> feature is not enabled, it "
-"will improve the data displayed here."
-msgstr "Die Funktion um <em>Automatisch ein Kontaktverzeichnis erstellen</em> ist nicht aktiv. Es wird die hier angezeigten Daten verbessern."
+#: mod/contacts.php:607
+msgid "Last update:"
+msgstr "Letzte Aktualisierung: "
 
-#: mod/admin.php:485
-#, php-format
-msgid "Currently this node is aware of %d nodes from the following platforms:"
-msgstr "Momentan kennt dieser Knoten %d andere Knoten der folgenden Plattformen:"
+#: mod/contacts.php:609
+msgid "Update public posts"
+msgstr "Öffentliche Beiträge aktualisieren"
 
-#: mod/admin.php:515
-msgid "ID"
-msgstr "ID"
+#: mod/contacts.php:611 mod/contacts.php:985
+msgid "Update now"
+msgstr "Jetzt aktualisieren"
 
-#: mod/admin.php:516
-msgid "Recipient Name"
-msgstr "Empfänger Name"
+#: mod/contacts.php:616 mod/contacts.php:816 mod/contacts.php:994
+#: mod/admin.php:1516
+msgid "Unblock"
+msgstr "Entsperren"
 
-#: mod/admin.php:517
-msgid "Recipient Profile"
-msgstr "Empfänger Profil"
+#: mod/contacts.php:616 mod/contacts.php:816 mod/contacts.php:994
+#: mod/admin.php:1515
+msgid "Block"
+msgstr "Sperren"
 
-#: mod/admin.php:519
-msgid "Created"
-msgstr "Erstellt"
+#: mod/contacts.php:617 mod/contacts.php:817 mod/contacts.php:1002
+msgid "Unignore"
+msgstr "Ignorieren aufheben"
 
-#: mod/admin.php:520
-msgid "Last Tried"
-msgstr "Zuletzt versucht"
+#: mod/contacts.php:621
+msgid "Currently blocked"
+msgstr "Derzeit geblockt"
 
-#: mod/admin.php:521
-msgid ""
-"This page lists the content of the queue for outgoing postings. These are "
-"postings the initial delivery failed for. They will be resend later and "
-"eventually deleted if the delivery fails permanently."
-msgstr "Auf dieser Seite werden die in der Warteschlange eingereihten Beiträge aufgelistet. Bei diesen Beiträgen schlug die erste Zustellung fehl. Es wird später wiederholt versucht die Beiträge zuzustellen, bis sie schließlich gelöscht werden."
+#: mod/contacts.php:622
+msgid "Currently ignored"
+msgstr "Derzeit ignoriert"
 
-#: mod/admin.php:546
-#, php-format
-msgid ""
-"Your DB still runs with MyISAM tables. You should change the engine type to "
-"InnoDB. As Friendica will use InnoDB only features in the future, you should"
-" change this! See <a href=\"%s\">here</a> for a guide that may be helpful "
-"converting the table engines. You may also use the command <tt>php "
-"include/dbstructure.php toinnodb</tt> of your Friendica installation for an "
-"automatic conversion.<br />"
-msgstr "Deine DB verwendet derzeit noch MyISAM Tabellen. Du solltest die Datenbank Engine auf InnoDB umstellen, da Friendica in Zukunft InnoDB Features verwenden wird. Eine Anleitung zur Umstellung der Datenbank kannst du  <a href=\"%s\">hier</a>  finden. Du kannst außerdem mit dem Befehl <tt>php include/dbstructure.php toinnodb</tt> auf der Kommandozeile die Umstellung automatisch vornehmen lassen."
+#: mod/contacts.php:623
+msgid "Currently archived"
+msgstr "Momentan archiviert"
 
-#: mod/admin.php:555
+#: mod/contacts.php:624
 msgid ""
-"The database update failed. Please run \"php include/dbstructure.php "
-"update\" from the command line and have a look at the errors that might "
-"appear."
-msgstr "Das Update der Datenbank ist fehlgeschlagen. Bitte führe 'php include/dbstructure.php update' in der Kommandozeile aus und achte auf eventuell auftretende Fehlermeldungen."
+"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/admin.php:560 mod/admin.php:1453
-msgid "Normal Account"
-msgstr "Normales Konto"
+#: mod/contacts.php:625
+msgid "Notification for new posts"
+msgstr "Benachrichtigung bei neuen Beiträgen"
 
-#: mod/admin.php:561 mod/admin.php:1454
-msgid "Soapbox Account"
-msgstr "Marktschreier-Konto"
+#: mod/contacts.php:625
+msgid "Send a notification of every new post of this contact"
+msgstr "Sende eine Benachrichtigung, wann immer dieser Kontakt einen neuen Beitrag schreibt."
 
-#: mod/admin.php:562 mod/admin.php:1455
-msgid "Community/Celebrity Account"
-msgstr "Forum/Promi-Konto"
+#: mod/contacts.php:628
+msgid "Blacklisted keywords"
+msgstr "Blacklistete Schlüsselworte "
 
-#: mod/admin.php:563 mod/admin.php:1456
-msgid "Automatic Friend Account"
-msgstr "Automatisches Freundekonto"
+#: mod/contacts.php:628
+msgid ""
+"Comma separated list of keywords that should not be converted to hashtags, "
+"when \"Fetch information and keywords\" is selected"
+msgstr "Komma-Separierte Liste mit Schlüsselworten, die nicht in Hashtags konvertiert werden, wenn \"Beziehe Information und Schlüsselworte\" aktiviert wurde"
 
-#: mod/admin.php:564
-msgid "Blog Account"
-msgstr "Blog-Konto"
+#: mod/contacts.php:646
+msgid "Actions"
+msgstr "Aktionen"
 
-#: mod/admin.php:565
-msgid "Private Forum"
-msgstr "Privates Forum"
+#: mod/contacts.php:649
+msgid "Contact Settings"
+msgstr "Kontakteinstellungen"
 
-#: mod/admin.php:587
-msgid "Message queues"
-msgstr "Nachrichten-Warteschlangen"
+#: mod/contacts.php:695
+msgid "Suggestions"
+msgstr "Kontaktvorschläge"
 
-#: mod/admin.php:593
-msgid "Summary"
-msgstr "Zusammenfassung"
+#: mod/contacts.php:698
+msgid "Suggest potential friends"
+msgstr "Kontakte vorschlagen"
 
-#: mod/admin.php:595
-msgid "Registered users"
-msgstr "Registrierte Nutzer"
+#: mod/contacts.php:706
+msgid "Show all contacts"
+msgstr "Alle Kontakte anzeigen"
 
-#: mod/admin.php:597
-msgid "Pending registrations"
-msgstr "Anstehende Anmeldungen"
+#: mod/contacts.php:711
+msgid "Unblocked"
+msgstr "Ungeblockt"
 
-#: mod/admin.php:598
-msgid "Version"
-msgstr "Version"
+#: mod/contacts.php:714
+msgid "Only show unblocked contacts"
+msgstr "Nur nicht-blockierte Kontakte anzeigen"
 
-#: mod/admin.php:603
-msgid "Active plugins"
-msgstr "Aktive Plugins"
+#: mod/contacts.php:720
+msgid "Blocked"
+msgstr "Geblockt"
 
-#: mod/admin.php:628
-msgid "Can not parse base url. Must have at least <scheme>://<domain>"
-msgstr "Die Basis-URL konnte nicht analysiert werden. Sie muss mindestens aus <protokoll>://<domain> bestehen"
+#: mod/contacts.php:723
+msgid "Only show blocked contacts"
+msgstr "Nur blockierte Kontakte anzeigen"
 
-#: mod/admin.php:920
-msgid "Site settings updated."
-msgstr "Seiteneinstellungen aktualisiert."
-
-#: mod/admin.php:948 mod/settings.php:944
-msgid "No special theme for mobile devices"
-msgstr "Kein spezielles Theme für mobile Geräte verwenden."
+#: mod/contacts.php:729
+msgid "Ignored"
+msgstr "Ignoriert"
 
-#: mod/admin.php:977
-msgid "No community page"
-msgstr "Keine Gemeinschaftsseite"
+#: mod/contacts.php:732
+msgid "Only show ignored contacts"
+msgstr "Nur ignorierte Kontakte anzeigen"
 
-#: mod/admin.php:978
-msgid "Public postings from users of this site"
-msgstr "Öffentliche Beiträge von Nutzer_innen dieser Seite"
+#: mod/contacts.php:738
+msgid "Archived"
+msgstr "Archiviert"
 
-#: mod/admin.php:979
-msgid "Global community page"
-msgstr "Globale Gemeinschaftsseite"
+#: mod/contacts.php:741
+msgid "Only show archived contacts"
+msgstr "Nur archivierte Kontakte anzeigen"
 
-#: mod/admin.php:984 mod/contacts.php:541
-msgid "Never"
-msgstr "Niemals"
+#: mod/contacts.php:747
+msgid "Hidden"
+msgstr "Verborgen"
 
-#: mod/admin.php:985
-msgid "At post arrival"
-msgstr "Beim Empfang von Nachrichten"
+#: mod/contacts.php:750
+msgid "Only show hidden contacts"
+msgstr "Nur verborgene Kontakte anzeigen"
 
-#: mod/admin.php:993 mod/contacts.php:568
-msgid "Disabled"
-msgstr "Deaktiviert"
+#: mod/contacts.php:807
+msgid "Search your contacts"
+msgstr "Suche in deinen Kontakten"
 
-#: mod/admin.php:995
-msgid "Users, Global Contacts"
-msgstr "Nutzer, globale Kontakte"
+#: mod/contacts.php:815 mod/settings.php:162 mod/settings.php:708
+msgid "Update"
+msgstr "Aktualisierungen"
 
-#: mod/admin.php:996
-msgid "Users, Global Contacts/fallback"
-msgstr "Nutzer, globale Kontakte / Fallback"
+#: mod/contacts.php:818 mod/contacts.php:1010
+msgid "Archive"
+msgstr "Archivieren"
 
-#: mod/admin.php:1000
-msgid "One month"
-msgstr "ein Monat"
+#: mod/contacts.php:818 mod/contacts.php:1010
+msgid "Unarchive"
+msgstr "Aus Archiv zurückholen"
 
-#: mod/admin.php:1001
-msgid "Three months"
-msgstr "drei Monate"
+#: mod/contacts.php:821
+msgid "Batch Actions"
+msgstr "Stapelverarbeitung"
 
-#: mod/admin.php:1002
-msgid "Half a year"
-msgstr "ein halbes Jahr"
+#: mod/contacts.php:867
+msgid "View all contacts"
+msgstr "Alle Kontakte anzeigen"
 
-#: mod/admin.php:1003
-msgid "One year"
-msgstr "ein Jahr"
+#: mod/contacts.php:877
+msgid "View all common friends"
+msgstr "Alle Kontakte anzeigen"
 
-#: mod/admin.php:1008
-msgid "Multi user instance"
-msgstr "Mehrbenutzer Instanz"
+#: mod/contacts.php:884
+msgid "Advanced Contact Settings"
+msgstr "Fortgeschrittene Kontakteinstellungen"
 
-#: mod/admin.php:1031
-msgid "Closed"
-msgstr "Geschlossen"
+#: mod/contacts.php:918
+msgid "Mutual Friendship"
+msgstr "Beidseitige Freundschaft"
 
-#: mod/admin.php:1032
-msgid "Requires approval"
-msgstr "Bedarf der Zustimmung"
+#: mod/contacts.php:922
+msgid "is a fan of yours"
+msgstr "ist ein Fan von dir"
 
-#: mod/admin.php:1033
-msgid "Open"
-msgstr "Offen"
+#: mod/contacts.php:926
+msgid "you are a fan of"
+msgstr "Du bist Fan von"
 
-#: mod/admin.php:1037
-msgid "No SSL policy, links will track page SSL state"
-msgstr "Keine SSL Richtlinie, Links werden das verwendete Protokoll beibehalten"
+#: mod/contacts.php:996
+msgid "Toggle Blocked status"
+msgstr "Geblockt-Status ein-/ausschalten"
 
-#: mod/admin.php:1038
-msgid "Force all links to use SSL"
-msgstr "SSL für alle Links erzwingen"
+#: mod/contacts.php:1004
+msgid "Toggle Ignored status"
+msgstr "Ignoriert-Status ein-/ausschalten"
 
-#: mod/admin.php:1039
-msgid "Self-signed certificate, use SSL for local links only (discouraged)"
-msgstr "Selbst-unterzeichnetes Zertifikat, SSL nur für lokale Links verwenden (nicht empfohlen)"
+#: mod/contacts.php:1012
+msgid "Toggle Archive status"
+msgstr "Archiviert-Status ein-/ausschalten"
 
-#: mod/admin.php:1061 mod/admin.php:1686 mod/admin.php:1949 mod/admin.php:2023
-#: mod/admin.php:2176 mod/settings.php:682 mod/settings.php:793
-#: mod/settings.php:842 mod/settings.php:909 mod/settings.php:1006
-#: mod/settings.php:1272
-msgid "Save Settings"
-msgstr "Einstellungen speichern"
+#: mod/contacts.php:1020
+msgid "Delete contact"
+msgstr "Lösche den Kontakt"
 
-#: mod/admin.php:1063
-msgid "File upload"
-msgstr "Datei hochladen"
+#: mod/ping.php:274
+msgid "{0} wants to be your friend"
+msgstr "{0} möchte mit Dir in Kontakt treten"
 
-#: mod/admin.php:1064
-msgid "Policies"
-msgstr "Regeln"
+#: mod/ping.php:289
+msgid "{0} sent you a message"
+msgstr "{0} schickte Dir eine Nachricht"
 
-#: mod/admin.php:1066
-msgid "Auto Discovered Contact Directory"
-msgstr "Automatisch ein Kontaktverzeichnis erstellen"
+#: mod/ping.php:304
+msgid "{0} requested registration"
+msgstr "{0} möchte sich registrieren"
 
-#: mod/admin.php:1067
-msgid "Performance"
-msgstr "Performance"
+#: mod/profile_photo.php:44
+msgid "Image uploaded but image cropping failed."
+msgstr "Bild hochgeladen, aber das Zuschneiden schlug fehl."
 
-#: mod/admin.php:1068
-msgid "Worker"
-msgstr "Worker"
+#: mod/profile_photo.php:77 mod/profile_photo.php:85 mod/profile_photo.php:93
+#: mod/profile_photo.php:322
+#, php-format
+msgid "Image size reduction [%s] failed."
+msgstr "Verkleinern der Bildgröße von [%s] scheiterte."
 
-#: mod/admin.php:1069
+#: mod/profile_photo.php:127
 msgid ""
-"Relocate - WARNING: advanced function. Could make this server unreachable."
-msgstr "Umsiedeln - WARNUNG: Könnte diesen Server unerreichbar machen."
-
-#: mod/admin.php:1072
-msgid "Site name"
-msgstr "Seitenname"
+"Shift-reload the page or clear browser cache if the new photo does not "
+"display immediately."
+msgstr "Drücke Umschalt+Neu Laden oder leere den Browser-Cache, falls das neue Foto nicht gleich angezeigt wird."
 
-#: mod/admin.php:1073
-msgid "Host name"
-msgstr "Host Name"
+#: mod/profile_photo.php:136
+msgid "Unable to process image"
+msgstr "Bild konnte nicht verarbeitet werden"
 
-#: mod/admin.php:1074
-msgid "Sender Email"
-msgstr "Absender für Emails"
+#: mod/profile_photo.php:253
+msgid "Upload File:"
+msgstr "Datei hochladen:"
 
-#: mod/admin.php:1074
-msgid ""
-"The email address your server shall use to send notification emails from."
-msgstr "Die E-Mail Adresse die dein Server zum Versenden von Benachrichtigungen verwenden soll."
+#: mod/profile_photo.php:254
+msgid "Select a profile:"
+msgstr "Profil auswählen:"
 
-#: mod/admin.php:1075
-msgid "Banner/Logo"
-msgstr "Banner/Logo"
+#: mod/profile_photo.php:256
+msgid "Upload"
+msgstr "Hochladen"
 
-#: mod/admin.php:1076
-msgid "Shortcut icon"
-msgstr "Shortcut Icon"
+#: mod/profile_photo.php:259
+msgid "or"
+msgstr "oder"
 
-#: mod/admin.php:1076
-msgid "Link to an icon that will be used for browsers."
-msgstr "Link zu einem Icon, das Browser verwenden werden."
+#: mod/profile_photo.php:259
+msgid "skip this step"
+msgstr "diesen Schritt überspringen"
 
-#: mod/admin.php:1077
-msgid "Touch icon"
-msgstr "Touch Icon"
+#: mod/profile_photo.php:259
+msgid "select a photo from your photo albums"
+msgstr "wähle ein Foto aus deinen Fotoalben"
 
-#: mod/admin.php:1077
-msgid "Link to an icon that will be used for tablets and mobiles."
-msgstr "Link zu einem Icon das Tablets und Handies verwenden sollen."
+#: mod/profile_photo.php:273
+msgid "Crop Image"
+msgstr "Bild zurechtschneiden"
 
-#: mod/admin.php:1078
-msgid "Additional Info"
-msgstr "Zusätzliche Informationen"
+#: mod/profile_photo.php:274
+msgid "Please adjust the image cropping for optimum viewing."
+msgstr "Passe bitte den Bildausschnitt an, damit das Bild optimal dargestellt werden kann."
 
-#: mod/admin.php:1078
-#, php-format
-msgid ""
-"For public servers: you can add additional information here that will be "
-"listed at %s/siteinfo."
-msgstr "Für öffentliche Server kannst Du hier zusätzliche Informationen angeben, die dann auf %s/siteinfo angezeigt werden."
+#: mod/profile_photo.php:276
+msgid "Done Editing"
+msgstr "Bearbeitung abgeschlossen"
 
-#: mod/admin.php:1079
-msgid "System language"
-msgstr "Systemsprache"
+#: mod/profile_photo.php:312
+msgid "Image uploaded successfully."
+msgstr "Bild erfolgreich hochgeladen."
 
-#: mod/admin.php:1080
-msgid "System theme"
-msgstr "Systemweites Theme"
+#: mod/profiles.php:42
+msgid "Profile deleted."
+msgstr "Profil gelöscht."
 
-#: mod/admin.php:1080
-msgid ""
-"Default system theme - may be over-ridden by user profiles - <a href='#' "
-"id='cnftheme'>change theme settings</a>"
-msgstr "Vorgabe für das System-Theme - kann von Benutzerprofilen überschrieben werden - <a href='#' id='cnftheme'>Theme-Einstellungen ändern</a>"
+#: mod/profiles.php:58 mod/profiles.php:94
+msgid "Profile-"
+msgstr "Profil-"
 
-#: mod/admin.php:1081
-msgid "Mobile system theme"
-msgstr "Systemweites mobiles Theme"
-
-#: mod/admin.php:1081
-msgid "Theme for mobile devices"
-msgstr "Thema für mobile Geräte"
+#: mod/profiles.php:77 mod/profiles.php:122
+msgid "New profile created."
+msgstr "Neues Profil angelegt."
 
-#: mod/admin.php:1082
-msgid "SSL link policy"
-msgstr "Regeln für SSL Links"
+#: mod/profiles.php:100
+msgid "Profile unavailable to clone."
+msgstr "Profil nicht zum Duplizieren verfügbar."
 
-#: mod/admin.php:1082
-msgid "Determines whether generated links should be forced to use SSL"
-msgstr "Bestimmt, ob generierte Links SSL verwenden müssen"
+#: mod/profiles.php:196
+msgid "Profile Name is required."
+msgstr "Profilname ist erforderlich."
 
-#: mod/admin.php:1083
-msgid "Force SSL"
-msgstr "Erzwinge SSL"
+#: mod/profiles.php:336
+msgid "Marital Status"
+msgstr "Familienstand"
 
-#: mod/admin.php:1083
-msgid ""
-"Force all Non-SSL requests to SSL - Attention: on some systems it could lead"
-" to endless loops."
-msgstr "Erzinge alle Nicht-SSL Anfragen auf SSL - Achtung: auf manchen Systemen verursacht dies eine Endlosschleife."
+#: mod/profiles.php:340
+msgid "Romantic Partner"
+msgstr "Romanze"
 
-#: mod/admin.php:1084
-msgid "Hide help entry from navigation menu"
-msgstr "Verberge den Menüeintrag für die Hilfe im Navigationsmenü"
+#: mod/profiles.php:352
+msgid "Work/Employment"
+msgstr "Arbeit / Beschäftigung"
 
-#: mod/admin.php:1084
-msgid ""
-"Hides the menu entry for the Help pages from the navigation menu. You can "
-"still access it calling /help directly."
-msgstr "Verbirgt den Menüeintrag für die Hilfe-Seiten im Navigationsmenü. Die Seiten können weiterhin über /help aufgerufen werden."
+#: mod/profiles.php:355
+msgid "Religion"
+msgstr "Religion"
 
-#: mod/admin.php:1085
-msgid "Single user instance"
-msgstr "Ein-Nutzer Instanz"
+#: mod/profiles.php:359
+msgid "Political Views"
+msgstr "Politische Ansichten"
 
-#: mod/admin.php:1085
-msgid "Make this instance multi-user or single-user for the named user"
-msgstr "Regelt ob es sich bei dieser Instanz um eine ein Personen Installation oder eine Installation mit mehr als einem Nutzer handelt."
+#: mod/profiles.php:363
+msgid "Gender"
+msgstr "Geschlecht"
 
-#: mod/admin.php:1086
-msgid "Maximum image size"
-msgstr "Maximale Bildgröße"
+#: mod/profiles.php:367
+msgid "Sexual Preference"
+msgstr "Sexuelle Vorlieben"
 
-#: mod/admin.php:1086
-msgid ""
-"Maximum size in bytes of uploaded images. Default is 0, which means no "
-"limits."
-msgstr "Maximale Uploadgröße von Bildern in Bytes. Standard ist 0, d.h. ohne Limit."
+#: mod/profiles.php:371
+msgid "XMPP"
+msgstr "XMPP"
 
-#: mod/admin.php:1087
-msgid "Maximum image length"
-msgstr "Maximale Bildlänge"
+#: mod/profiles.php:375
+msgid "Homepage"
+msgstr "Webseite"
 
-#: mod/admin.php:1087
-msgid ""
-"Maximum length in pixels of the longest side of uploaded images. Default is "
-"-1, which means no limits."
-msgstr "Maximale Länge in Pixeln der längsten Seite eines hoch geladenen Bildes. Grundeinstellung ist -1 was keine Einschränkung bedeutet."
+#: mod/profiles.php:379 mod/profiles.php:698
+msgid "Interests"
+msgstr "Interessen"
 
-#: mod/admin.php:1088
-msgid "JPEG image quality"
-msgstr "Qualität des JPEG Bildes"
+#: mod/profiles.php:383
+msgid "Address"
+msgstr "Adresse"
 
-#: mod/admin.php:1088
-msgid ""
-"Uploaded JPEGS will be saved at this quality setting [0-100]. Default is "
-"100, which is full quality."
-msgstr "Hoch geladene JPEG Bilder werden mit dieser Qualität [0-100] gespeichert. Grundeinstellung ist 100, kein Qualitätsverlust."
+#: mod/profiles.php:390 mod/profiles.php:694
+msgid "Location"
+msgstr "Wohnort"
 
-#: mod/admin.php:1090
-msgid "Register policy"
-msgstr "Registrierungsmethode"
+#: mod/profiles.php:475
+msgid "Profile updated."
+msgstr "Profil aktualisiert."
 
-#: mod/admin.php:1091
-msgid "Maximum Daily Registrations"
-msgstr "Maximum täglicher Registrierungen"
+#: mod/profiles.php:567
+msgid " and "
+msgstr " und "
 
-#: mod/admin.php:1091
-msgid ""
-"If registration is permitted above, this sets the maximum number of new user"
-" registrations to accept per day.  If register is set to closed, this "
-"setting has no effect."
-msgstr "Wenn die Registrierung weiter oben erlaubt ist, regelt dies die maximale Anzahl von Neuanmeldungen pro Tag. Wenn die Registrierung geschlossen ist, hat diese Einstellung keinen Effekt."
+#: mod/profiles.php:576
+msgid "public profile"
+msgstr "öffentliches Profil"
 
-#: mod/admin.php:1092
-msgid "Register text"
-msgstr "Registrierungstext"
+#: mod/profiles.php:579
+#, php-format
+msgid "%1$s changed %2$s to &ldquo;%3$s&rdquo;"
+msgstr "%1$s hat %2$s geändert auf &ldquo;%3$s&rdquo;"
 
-#: mod/admin.php:1092
-msgid "Will be displayed prominently on the registration page."
-msgstr "Wird gut sichtbar auf der Registrierungsseite angezeigt."
+#: mod/profiles.php:580
+#, php-format
+msgid " - Visit %1$s's %2$s"
+msgstr " – %1$ss %2$s besuchen"
 
-#: mod/admin.php:1093
-msgid "Accounts abandoned after x days"
-msgstr "Nutzerkonten gelten nach x Tagen als unbenutzt"
+#: mod/profiles.php:582
+#, php-format
+msgid "%1$s has an updated %2$s, changing %3$s."
+msgstr "%1$s hat folgendes aktualisiert %2$s, verändert wurde %3$s."
 
-#: mod/admin.php:1093
-msgid ""
-"Will not waste system resources polling external sites for abandonded "
-"accounts. Enter 0 for no time limit."
-msgstr "Verschwende keine System-Ressourcen auf das Pollen externer Seiten, wenn Konten nicht mehr benutzt werden. 0 eingeben für kein Limit."
+#: mod/profiles.php:640
+msgid "Hide contacts and friends:"
+msgstr "Kontakte und Freunde verbergen"
 
-#: mod/admin.php:1094
-msgid "Allowed friend domains"
-msgstr "Erlaubte Domains für Kontakte"
+#: mod/profiles.php:645
+msgid "Hide your contact/friend list from viewers of this profile?"
+msgstr "Liste der Kontakte vor Betrachtern dieses Profils verbergen?"
 
-#: mod/admin.php:1094
-msgid ""
-"Comma separated list of domains which are allowed to establish friendships "
-"with this site. Wildcards are accepted. Empty to allow any domains"
-msgstr "Liste der Domains, die für Kontakte erlaubt sind, durch Kommas getrennt. Platzhalter werden akzeptiert. Leer lassen, um alle Domains zu erlauben."
+#: mod/profiles.php:670
+msgid "Show more profile fields:"
+msgstr "Zeige mehr Profil-Felder:"
 
-#: mod/admin.php:1095
-msgid "Allowed email domains"
-msgstr "Erlaubte Domains für E-Mails"
+#: mod/profiles.php:682
+msgid "Profile Actions"
+msgstr "Profilaktionen"
 
-#: mod/admin.php:1095
-msgid ""
-"Comma separated list of domains which are allowed in email addresses for "
-"registrations to this site. Wildcards are accepted. Empty to allow any "
-"domains"
-msgstr "Liste der Domains, die für E-Mail-Adressen bei der Registrierung erlaubt sind, durch Kommas getrennt. Platzhalter werden akzeptiert. Leer lassen, um alle Domains zu erlauben."
+#: mod/profiles.php:683
+msgid "Edit Profile Details"
+msgstr "Profil bearbeiten"
 
-#: mod/admin.php:1096
-msgid "Block public"
-msgstr "Öffentlichen Zugriff blockieren"
+#: mod/profiles.php:685
+msgid "Change Profile Photo"
+msgstr "Profilbild ändern"
 
-#: mod/admin.php:1096
-msgid ""
-"Check to block public access to all otherwise public personal pages on this "
-"site unless you are currently logged in."
-msgstr "Klicken, um öffentlichen Zugriff auf sonst öffentliche Profile zu blockieren, wenn man nicht eingeloggt ist."
+#: mod/profiles.php:686
+msgid "View this profile"
+msgstr "Dieses Profil anzeigen"
 
-#: mod/admin.php:1097
-msgid "Force publish"
-msgstr "Erzwinge Veröffentlichung"
+#: mod/profiles.php:688
+msgid "Create a new profile using these settings"
+msgstr "Neues Profil anlegen und diese Einstellungen verwenden"
 
-#: mod/admin.php:1097
-msgid ""
-"Check to force all profiles on this site to be listed in the site directory."
-msgstr "Klicken, um Anzeige aller Profile dieses Servers im Verzeichnis zu erzwingen."
+#: mod/profiles.php:689
+msgid "Clone this profile"
+msgstr "Dieses Profil duplizieren"
 
-#: mod/admin.php:1098
-msgid "Global directory URL"
-msgstr "URL des weltweiten Verzeichnisses"
+#: mod/profiles.php:690
+msgid "Delete this profile"
+msgstr "Dieses Profil löschen"
 
-#: mod/admin.php:1098
-msgid ""
-"URL to the global directory. If this is not set, the global directory is "
-"completely unavailable to the application."
-msgstr "URL des weltweiten Verzeichnisses. Wenn diese nicht gesetzt ist, ist das Verzeichnis für die Applikation nicht erreichbar."
+#: mod/profiles.php:692
+msgid "Basic information"
+msgstr "Grundinformationen"
 
-#: mod/admin.php:1099
-msgid "Allow threaded items"
-msgstr "Erlaube Threads in Diskussionen"
+#: mod/profiles.php:693
+msgid "Profile picture"
+msgstr "Profilbild"
 
-#: mod/admin.php:1099
-msgid "Allow infinite level threading for items on this site."
-msgstr "Erlaube ein unendliches Level für Threads auf dieser Seite."
+#: mod/profiles.php:695
+msgid "Preferences"
+msgstr "Vorlieben"
 
-#: mod/admin.php:1100
-msgid "Private posts by default for new users"
-msgstr "Private Beiträge als Standard für neue Nutzer"
+#: mod/profiles.php:696
+msgid "Status information"
+msgstr "Status Informationen"
 
-#: mod/admin.php:1100
-msgid ""
-"Set default post permissions for all new members to the default privacy "
-"group rather than public."
-msgstr "Die Standard-Zugriffsrechte für neue Nutzer werden so gesetzt, dass als Voreinstellung in die private Gruppe gepostet wird anstelle von öffentlichen Beiträgen."
+#: mod/profiles.php:697
+msgid "Additional information"
+msgstr "Zusätzliche Informationen"
 
-#: mod/admin.php:1101
-msgid "Don't include post content in email notifications"
-msgstr "Inhalte von Beiträgen nicht in E-Mail-Benachrichtigungen versenden"
+#: mod/profiles.php:700
+msgid "Relation"
+msgstr "Beziehung"
 
-#: mod/admin.php:1101
-msgid ""
-"Don't include the content of a post/comment/private message/etc. in the "
-"email notifications that are sent out from this site, as a privacy measure."
-msgstr "Inhalte von Beiträgen/Kommentaren/privaten Nachrichten/usw., zum Datenschutz nicht in E-Mail-Benachrichtigungen einbinden."
+#: mod/profiles.php:704
+msgid "Your Gender:"
+msgstr "Dein Geschlecht:"
 
-#: mod/admin.php:1102
-msgid "Disallow public access to addons listed in the apps menu."
-msgstr "Öffentlichen Zugriff auf Addons im Apps Menü verbieten."
+#: mod/profiles.php:705
+msgid "<span class=\"heart\">&hearts;</span> Marital Status:"
+msgstr "<span class=\"heart\">&hearts;</span> Beziehungsstatus:"
 
-#: mod/admin.php:1102
-msgid ""
-"Checking this box will restrict addons listed in the apps menu to members "
-"only."
-msgstr "Wenn ausgewählt werden die im Apps Menü aufgeführten Addons nur angemeldeten Nutzern der Seite zur Verfügung gestellt."
+#: mod/profiles.php:707
+msgid "Example: fishing photography software"
+msgstr "Beispiel: Fischen Fotografie Software"
 
-#: mod/admin.php:1103
-msgid "Don't embed private images in posts"
-msgstr "Private Bilder nicht in Beiträgen einbetten."
+#: mod/profiles.php:712
+msgid "Profile Name:"
+msgstr "Profilname:"
 
-#: mod/admin.php:1103
+#: mod/profiles.php:714
 msgid ""
-"Don't replace locally-hosted private photos in posts with an embedded copy "
-"of the image. This means that contacts who receive posts containing private "
-"photos will have to authenticate and load each image, which may take a "
-"while."
-msgstr "Ersetze lokal gehostete private Fotos in Beiträgen nicht mit einer eingebetteten Kopie des Bildes. Dies bedeutet, dass Kontakte, die Beiträge mit privaten Fotos erhalten sich zunächst auf den jeweiligen Servern authentifizieren müssen bevor die Bilder geladen und angezeigt werden, was eine gewisse Zeit dauert."
-
-#: mod/admin.php:1104
-msgid "Allow Users to set remote_self"
-msgstr "Nutzern erlauben das remote_self Flag zu setzen"
+"This is your <strong>public</strong> profile.<br />It <strong>may</strong> "
+"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/admin.php:1104
-msgid ""
-"With checking this, every user is allowed to mark every contact as a "
-"remote_self in the repair contact dialog. Setting this flag on a contact "
-"causes mirroring every posting of that contact in the users stream."
-msgstr "Ist dies ausgewählt kann jeder Nutzer jeden seiner Kontakte als remote_self (entferntes Konto) im Kontakt reparieren Dialog markieren. Nach dem setzten dieses Flags werden alle Top-Level Beiträge dieser Kontakte automatisch in den Stream dieses Nutzers gepostet."
+#: mod/profiles.php:715
+msgid "Your Full Name:"
+msgstr "Dein kompletter Name:"
 
-#: mod/admin.php:1105
-msgid "Block multiple registrations"
-msgstr "Unterbinde Mehrfachregistrierung"
+#: mod/profiles.php:716
+msgid "Title/Description:"
+msgstr "Titel/Beschreibung:"
 
-#: mod/admin.php:1105
-msgid "Disallow users to register additional accounts for use as pages."
-msgstr "Benutzern nicht erlauben, weitere Konten als zusätzliche Profile anzulegen."
+#: mod/profiles.php:719
+msgid "Street Address:"
+msgstr "Adresse:"
 
-#: mod/admin.php:1106
-msgid "OpenID support"
-msgstr "OpenID Unterstützung"
+#: mod/profiles.php:720
+msgid "Locality/City:"
+msgstr "Wohnort:"
 
-#: mod/admin.php:1106
-msgid "OpenID support for registration and logins."
-msgstr "OpenID-Unterstützung für Registrierung und Login."
+#: mod/profiles.php:721
+msgid "Region/State:"
+msgstr "Region/Bundesstaat:"
 
-#: mod/admin.php:1107
-msgid "Fullname check"
-msgstr "Namen auf Vollständigkeit überprüfen"
+#: mod/profiles.php:722
+msgid "Postal/Zip Code:"
+msgstr "Postleitzahl:"
 
-#: mod/admin.php:1107
-msgid ""
-"Force users to register with a space between firstname and lastname in Full "
-"name, as an antispam measure"
-msgstr "Leerzeichen zwischen Vor- und Nachname im vollständigen Namen erzwingen, um SPAM zu vermeiden."
+#: mod/profiles.php:723
+msgid "Country:"
+msgstr "Land:"
 
-#: mod/admin.php:1108
-msgid "Community Page Style"
-msgstr "Art der Gemeinschaftsseite"
+#: mod/profiles.php:727
+msgid "Who: (if applicable)"
+msgstr "Wer: (falls anwendbar)"
 
-#: mod/admin.php:1108
-msgid ""
-"Type of community page to show. 'Global community' shows every public "
-"posting from an open distributed network that arrived on this server."
-msgstr "Welche Art der Gemeinschaftsseite soll verwendet werden? Globale Gemeinschaftsseite zeigt alle öffentlichen Beiträge eines offenen dezentralen Netzwerks an die auf diesem Server eintreffen."
+#: mod/profiles.php:727
+msgid "Examples: cathy123, Cathy Williams, cathy@example.com"
+msgstr "Beispiele: cathy123, Cathy Williams, cathy@example.com"
 
-#: mod/admin.php:1109
-msgid "Posts per user on community page"
-msgstr "Anzahl der Beiträge pro Benutzer auf der Gemeinschaftsseite"
+#: mod/profiles.php:728
+msgid "Since [date]:"
+msgstr "Seit [Datum]:"
 
-#: mod/admin.php:1109
-msgid ""
-"The maximum number of posts per user on the community page. (Not valid for "
-"'Global Community')"
-msgstr "Die Anzahl der Beiträge die von jedem Nutzer maximal auf der Gemeinschaftsseite angezeigt werden sollen. Dieser Parameter wird nicht für die Globale Gemeinschaftsseite genutzt."
+#: mod/profiles.php:730
+msgid "Tell us about yourself..."
+msgstr "Erzähle uns ein bisschen von Dir …"
 
-#: mod/admin.php:1110
-msgid "Enable OStatus support"
-msgstr "OStatus Unterstützung aktivieren"
+#: mod/profiles.php:731
+msgid "XMPP (Jabber) address:"
+msgstr "XMPP (Jabber) Adresse"
 
-#: mod/admin.php:1110
+#: mod/profiles.php:731
 msgid ""
-"Provide built-in OStatus (StatusNet, GNU Social etc.) compatibility. All "
-"communications in OStatus are public, so privacy warnings will be "
-"occasionally displayed."
-msgstr "Biete die eingebaute OStatus (iStatusNet, GNU Social, etc.) Unterstützung an. Jede Kommunikation in OStatus ist öffentlich, Privatsphäre Warnungen werden nur bei Bedarf angezeigt."
-
-#: mod/admin.php:1111
-msgid "OStatus conversation completion interval"
-msgstr "Intervall zum Vervollständigen von OStatus Unterhaltungen"
+"The XMPP address will be propagated to your contacts so that they can follow"
+" you."
+msgstr "Die XMPP Adresse wird an deine Kontakte verteilt werden, so dass sie auch über XMPP mit dir in Kontakt treten können."
 
-#: mod/admin.php:1111
-msgid ""
-"How often shall the poller check for new entries in OStatus conversations? "
-"This can be a very ressource task."
-msgstr "Wie oft soll der Poller checken ob es neue Nachrichten in OStatus Unterhaltungen gibt die geladen werden müssen. Je nach Anzahl der OStatus Kontakte könnte dies ein sehr Ressourcen lastiger Job sein."
+#: mod/profiles.php:732
+msgid "Homepage URL:"
+msgstr "Adresse der Homepage:"
 
-#: mod/admin.php:1112
-msgid "Only import OStatus threads from our contacts"
-msgstr "Nur OStatus Konversationen unserer Kontakte importieren"
+#: mod/profiles.php:735
+msgid "Religious Views:"
+msgstr "Religiöse Ansichten:"
 
-#: mod/admin.php:1112
-msgid ""
-"Normally we import every content from our OStatus contacts. With this option"
-" we only store threads that are started by a contact that is known on our "
-"system."
-msgstr "Normalerweise werden alle Inhalte von OStatus Kontakten importiert. Mit dieser Option werden nur solche Konversationen gespeichert, die von Kontakten der Nutzer dieses Knotens gestartet wurden."
+#: mod/profiles.php:736
+msgid "Public Keywords:"
+msgstr "Öffentliche Schlüsselwörter:"
 
-#: mod/admin.php:1113
-msgid "OStatus support can only be enabled if threading is enabled."
-msgstr "OStatus Unterstützung kann nur aktiviert werden wenn \"Threading\" aktiviert ist. "
+#: mod/profiles.php:736
+msgid "(Used for suggesting potential friends, can be seen by others)"
+msgstr "(Wird verwendet, um potentielle Kontakte zu finden, kann von Kontakten eingesehen werden)"
 
-#: mod/admin.php:1115
-msgid ""
-"Diaspora support can't be enabled because Friendica was installed into a sub"
-" directory."
-msgstr "Diaspora Unterstützung kann nicht aktiviert werden da Friendica in ein Unterverzeichnis installiert ist."
+#: mod/profiles.php:737
+msgid "Private Keywords:"
+msgstr "Private Schlüsselwörter:"
 
-#: mod/admin.php:1116
-msgid "Enable Diaspora support"
-msgstr "Diaspora Unterstützung aktivieren"
+#: mod/profiles.php:737
+msgid "(Used for searching profiles, never shown to others)"
+msgstr "(Wird für die Suche nach Profilen verwendet und niemals veröffentlicht)"
 
-#: mod/admin.php:1116
-msgid "Provide built-in Diaspora network compatibility."
-msgstr "Verwende die eingebaute Diaspora-Verknüpfung."
+#: mod/profiles.php:740
+msgid "Musical interests"
+msgstr "Musikalische Interessen"
 
-#: mod/admin.php:1117
-msgid "Only allow Friendica contacts"
-msgstr "Nur Friendica-Kontakte erlauben"
+#: mod/profiles.php:741
+msgid "Books, literature"
+msgstr "Bücher, Literatur"
 
-#: mod/admin.php:1117
-msgid ""
-"All contacts must use Friendica protocols. All other built-in communication "
-"protocols disabled."
-msgstr "Alle Kontakte müssen das Friendica Protokoll nutzen. Alle anderen Kommunikationsprotokolle werden deaktiviert."
+#: mod/profiles.php:742
+msgid "Television"
+msgstr "Fernsehen"
 
-#: mod/admin.php:1118
-msgid "Verify SSL"
-msgstr "SSL Überprüfen"
+#: mod/profiles.php:743
+msgid "Film/dance/culture/entertainment"
+msgstr "Filme/Tänze/Kultur/Unterhaltung"
 
-#: mod/admin.php:1118
-msgid ""
-"If you wish, you can turn on strict certificate checking. This will mean you"
-" cannot connect (at all) to self-signed SSL sites."
-msgstr "Wenn gewollt, kann man hier eine strenge Zertifikatkontrolle einstellen. Das bedeutet, dass man zu keinen Seiten mit selbst unterzeichnetem SSL eine Verbindung herstellen kann."
+#: mod/profiles.php:744
+msgid "Hobbies/Interests"
+msgstr "Hobbies/Interessen"
 
-#: mod/admin.php:1119
-msgid "Proxy user"
-msgstr "Proxy Nutzer"
+#: mod/profiles.php:745
+msgid "Love/romance"
+msgstr "Liebe/Romantik"
 
-#: mod/admin.php:1120
-msgid "Proxy URL"
-msgstr "Proxy URL"
+#: mod/profiles.php:746
+msgid "Work/employment"
+msgstr "Arbeit/Anstellung"
 
-#: mod/admin.php:1121
-msgid "Network timeout"
-msgstr "Netzwerk Wartezeit"
+#: mod/profiles.php:747
+msgid "School/education"
+msgstr "Schule/Ausbildung"
 
-#: mod/admin.php:1121
-msgid "Value is in seconds. Set to 0 for unlimited (not recommended)."
-msgstr "Der Wert ist in Sekunden. Setze 0 für unbegrenzt (nicht empfohlen)."
+#: mod/profiles.php:748
+msgid "Contact information and Social Networks"
+msgstr "Kontaktinformationen und Soziale Netzwerke"
 
-#: mod/admin.php:1122
-msgid "Maximum Load Average"
-msgstr "Maximum Load Average"
+#: mod/profiles.php:789
+msgid "Edit/Manage Profiles"
+msgstr "Bearbeite/Verwalte Profile"
 
-#: mod/admin.php:1122
-msgid ""
-"Maximum system load before delivery and poll processes are deferred - "
-"default 50."
-msgstr "Maximale Systemlast bevor Verteil- und Empfangsprozesse verschoben werden - Standard 50"
+#: mod/admin.php:97
+msgid "Theme settings updated."
+msgstr "Themeneinstellungen aktualisiert."
 
-#: mod/admin.php:1123
-msgid "Maximum Load Average (Frontend)"
-msgstr "Maximum Load Average (Frontend)"
+#: mod/admin.php:166 mod/admin.php:1060
+msgid "Site"
+msgstr "Seite"
 
-#: mod/admin.php:1123
-msgid "Maximum system load before the frontend quits service - default 50."
-msgstr "Maximale Systemlast bevor Vordergrundprozesse pausiert werden - Standard 50."
+#: mod/admin.php:167 mod/admin.php:994 mod/admin.php:1504 mod/admin.php:1520
+msgid "Users"
+msgstr "Nutzer"
 
-#: mod/admin.php:1124
-msgid "Minimal Memory"
-msgstr "Minimaler Speicher"
+#: mod/admin.php:168 mod/admin.php:1622 mod/admin.php:1685 mod/settings.php:76
+msgid "Plugins"
+msgstr "Plugins"
 
-#: mod/admin.php:1124
-msgid ""
-"Minimal free memory in MB for the poller. Needs access to /proc/meminfo - "
-"default 0 (deactivated)."
-msgstr "Minimal freier Speicher in MB für den Poller. Benötigt Zugriff auf /proc/meminfo - Standard 0 (Deaktiviert)."
+#: mod/admin.php:169 mod/admin.php:1898 mod/admin.php:1948
+msgid "Themes"
+msgstr "Themen"
 
-#: mod/admin.php:1125
-msgid "Maximum table size for optimization"
-msgstr "Maximale Tabellengröße zur Optimierung"
+#: mod/admin.php:170 mod/settings.php:54
+msgid "Additional features"
+msgstr "Zusätzliche Features"
 
-#: mod/admin.php:1125
-msgid ""
-"Maximum table size (in MB) for the automatic optimization - default 100 MB. "
-"Enter -1 to disable it."
-msgstr "Maximale Tabellengröße (in MB) für die automatische Optimierung - Standard 100 MB. Gib -1 für Deaktivierung ein."
+#: mod/admin.php:171
+msgid "DB updates"
+msgstr "DB Updates"
 
-#: mod/admin.php:1126
-msgid "Minimum level of fragmentation"
-msgstr "Minimaler Fragmentationsgrad"
+#: mod/admin.php:172 mod/admin.php:513
+msgid "Inspect Queue"
+msgstr "Warteschlange Inspizieren"
 
-#: mod/admin.php:1126
-msgid ""
-"Minimum fragmenation level to start the automatic optimization - default "
-"value is 30%."
-msgstr "Minimales Fragmentationsgrad von Datenbanktabellen um die automatische Optimierung einzuleiten - Standardwert ist 30%"
+#: mod/admin.php:173 mod/admin.php:289
+msgid "Server Blocklist"
+msgstr "Server Blockliste"
 
-#: mod/admin.php:1128
-msgid "Periodical check of global contacts"
-msgstr "Regelmäßig globale Kontakte überprüfen"
+#: mod/admin.php:174 mod/admin.php:479
+msgid "Federation Statistics"
+msgstr "Federation Statistik"
 
-#: mod/admin.php:1128
-msgid ""
-"If enabled, the global contacts are checked periodically for missing or "
-"outdated data and the vitality of the contacts and servers."
-msgstr "Wenn diese Option aktiviert ist, werden die globalen Kontakte regelmäßig auf fehlende oder veraltete Daten sowie auf Erreichbarkeit des Kontakts und des Servers überprüft."
+#: mod/admin.php:188 mod/admin.php:199 mod/admin.php:2022
+msgid "Logs"
+msgstr "Protokolle"
 
-#: mod/admin.php:1129
-msgid "Days between requery"
-msgstr "Tage zwischen erneuten Abfragen"
+#: mod/admin.php:189 mod/admin.php:2090
+msgid "View Logs"
+msgstr "Protokolle anzeigen"
 
-#: mod/admin.php:1129
-msgid "Number of days after which a server is requeried for his contacts."
-msgstr "Legt das Abfrageintervall fest, nachdem ein Server erneut nach Kontakten abgefragt werden soll."
+#: mod/admin.php:190
+msgid "probe address"
+msgstr "Adresse untersuchen"
 
-#: mod/admin.php:1130
-msgid "Discover contacts from other servers"
-msgstr "Neue Kontakte auf anderen Servern entdecken"
+#: mod/admin.php:191
+msgid "check webfinger"
+msgstr "Webfinger überprüfen"
 
-#: mod/admin.php:1130
-msgid ""
-"Periodically query other servers for contacts. You can choose between "
-"'users': the users on the remote system, 'Global Contacts': active contacts "
-"that are known on the system. The fallback is meant for Redmatrix servers "
-"and older friendica servers, where global contacts weren't available. The "
-"fallback increases the server load, so the recommened setting is 'Users, "
-"Global Contacts'."
-msgstr "Regelmäßig andere Server nach potentiellen Kontakten absuchen. Du kannst zwischen 'Nutzern', den tatsächlichen Nutzern des anderen Systems und 'globalen Kontakten', aktiven Kontakten die auf dem System bekannt sind, wählen. Der Fallback-Mechanismus ist für ältere Friendica und Redmatrix Server gedacht, bei denen globale Kontakte noch nicht verfügbar sind. Durch den Fallbackmodus entsteht auf deinem Server eine wesentlich höhere Last, empfohlen wird der Modus 'Nutzer, globale Kontakte'."
+#: mod/admin.php:198
+msgid "Plugin Features"
+msgstr "Plugin Features"
 
-#: mod/admin.php:1131
-msgid "Timeframe for fetching global contacts"
-msgstr "Zeitfenster für globale Kontakte"
+#: mod/admin.php:200
+msgid "diagnostics"
+msgstr "Diagnose"
 
-#: mod/admin.php:1131
-msgid ""
-"When the discovery is activated, this value defines the timeframe for the "
-"activity of the global contacts that are fetched from other servers."
-msgstr "Wenn die Entdeckung neuer Kontakte aktiv ist, definiert dieses Zeitfenster den Zeitraum in dem globale Kontakte als aktiv gelten und von anderen Servern importiert werden."
+#: mod/admin.php:201
+msgid "User registrations waiting for confirmation"
+msgstr "Nutzeranmeldungen die auf Bestätigung warten"
 
-#: mod/admin.php:1132
-msgid "Search the local directory"
-msgstr "Lokales Verzeichnis durchsuchen"
+#: mod/admin.php:280
+msgid "The blocked domain"
+msgstr "Die blockierte Domain"
 
-#: mod/admin.php:1132
-msgid ""
-"Search the local directory instead of the global directory. When searching "
-"locally, every search will be executed on the global directory in the "
-"background. This improves the search results when the search is repeated."
-msgstr "Suche im lokalen Verzeichnis anstelle des globalen Verzeichnisses durchführen. Jede Suche wird im Hintergrund auch im globalen Verzeichnis durchgeführt umd die Suchresultate zu verbessern, wenn diese Suche wiederholt wird."
+#: mod/admin.php:281 mod/admin.php:294
+msgid "The reason why you blocked this domain."
+msgstr "Die Begründung warum du diese Domain blockiert hast."
 
-#: mod/admin.php:1134
-msgid "Publish server information"
-msgstr "Server Informationen veröffentlichen"
+#: mod/admin.php:282
+msgid "Delete domain"
+msgstr "Domain löschen"
 
-#: mod/admin.php:1134
-msgid ""
-"If enabled, general server and usage data will be published. The data "
-"contains the name and version of the server, number of users with public "
-"profiles, number of posts and the activated protocols and connectors. See <a"
-" href='http://the-federation.info/'>the-federation.info</a> for details."
-msgstr "Wenn aktiviert, werden allgemeine Informationen über den Server und Nutzungsdaten veröffentlicht. Die Daten beinhalten den Namen sowie die Version des Servers, die Anzahl der Nutzer_innen mit öffentlichen Profilen, die Anzahl der Beiträge sowie aktivierte Protokolle und Connectoren. Für Details bitte <a href='http://the-federation.info/'>the-federation.info</a> aufrufen."
+#: mod/admin.php:282
+msgid "Check to delete this entry from the blocklist"
+msgstr "Markieren, um diesen Eintrag von der Blocklist zu entfernen"
 
-#: mod/admin.php:1136
-msgid "Suppress Tags"
-msgstr "Tags Unterdrücken"
+#: mod/admin.php:288 mod/admin.php:478 mod/admin.php:512 mod/admin.php:592
+#: mod/admin.php:1059 mod/admin.php:1503 mod/admin.php:1621 mod/admin.php:1684
+#: mod/admin.php:1897 mod/admin.php:1947 mod/admin.php:2021 mod/admin.php:2089
+msgid "Administration"
+msgstr "Administration"
 
-#: mod/admin.php:1136
-msgid "Suppress showing a list of hashtags at the end of the posting."
-msgstr "Unterdrückt die Anzeige von Tags am Ende eines Beitrags."
+#: mod/admin.php:290
+msgid ""
+"This page can be used to define a black list of servers from the federated "
+"network that are not allowed to interact with your node. For all entered "
+"domains you should also give a reason why you have blocked the remote "
+"server."
+msgstr "Auf dieser Seite kannst du die Liste der blockierten Domains aus dem föderalen Netzwerk verwalten, denen es untersagt ist mit deinem Knoten zu interagieren. Für jede der blockierten Domains musst du außerdem einen Grund für die Sperrung angeben."
 
-#: mod/admin.php:1137
-msgid "Path to item cache"
-msgstr "Pfad zum Eintrag Cache"
+#: mod/admin.php:291
+msgid ""
+"The list of blocked servers will be made publically available on the "
+"/friendica page so that your users and people investigating communication "
+"problems can find the reason easily."
+msgstr "Die Liste der blockierten Domains wird auf der /friendica Seite öffentlich einsehbar gemacht, damit deine Nutzer und Personen die Kommunikationsprobleme erkunden, die Ursachen einfach finden können."
 
-#: mod/admin.php:1137
-msgid "The item caches buffers generated bbcode and external images."
-msgstr "Im Item-Cache werden externe Bilder und geparster BBCode zwischen gespeichert."
+#: mod/admin.php:292
+msgid "Add new entry to block list"
+msgstr "Neuen Eintrag in die Blockliste"
 
-#: mod/admin.php:1138
-msgid "Cache duration in seconds"
-msgstr "Cache-Dauer in Sekunden"
+#: mod/admin.php:293
+msgid "Server Domain"
+msgstr "Domain des Servers"
 
-#: mod/admin.php:1138
+#: mod/admin.php:293
 msgid ""
-"How long should the cache files be hold? Default value is 86400 seconds (One"
-" day). To disable the item cache, set the value to -1."
-msgstr "Wie lange sollen die gecachedten Dateien vorgehalten werden? Grundeinstellung sind 86400 Sekunden (ein Tag). Um den Item Cache zu deaktivieren, setze diesen Wert auf -1."
-
-#: mod/admin.php:1139
-msgid "Maximum numbers of comments per post"
-msgstr "Maximale Anzahl von Kommentaren pro Beitrag"
-
-#: mod/admin.php:1139
-msgid "How much comments should be shown for each post? Default value is 100."
-msgstr "Wie viele Kommentare sollen pro Beitrag angezeigt werden? Standardwert sind 100."
+"The domain of the new server to add to the block list. Do not include the "
+"protocol."
+msgstr "Der Domain-Name des Servers der geblockt werden soll. Gib das Protokoll nicht mit an!"
 
-#: mod/admin.php:1140
-msgid "Temp path"
-msgstr "Temp Pfad"
+#: mod/admin.php:294
+msgid "Block reason"
+msgstr "Begründung der Blockierung"
 
-#: mod/admin.php:1140
-msgid ""
-"If you have a restricted system where the webserver can't access the system "
-"temp path, enter another path here."
-msgstr "Solltest du ein eingeschränktes System haben, auf dem der Webserver nicht auf das temp Verzeichnis des Systems zugreifen kann, setze hier einen anderen Pfad."
+#: mod/admin.php:295
+msgid "Add Entry"
+msgstr "Eintrag hinzufügen"
 
-#: mod/admin.php:1141
-msgid "Base path to installation"
-msgstr "Basis-Pfad zur Installation"
+#: mod/admin.php:296
+msgid "Save changes to the blocklist"
+msgstr "Änderungen der Blockliste speichern"
 
-#: mod/admin.php:1141
-msgid ""
-"If the system cannot detect the correct path to your installation, enter the"
-" correct path here. This setting should only be set if you are using a "
-"restricted system and symbolic links to your webroot."
-msgstr "Falls das System nicht den korrekten Pfad zu deiner Installation gefunden hat, gib den richtigen Pfad bitte hier ein. Du solltest hier den Pfad nur auf einem eingeschränkten System angeben müssen, bei dem du mit symbolischen Links auf dein Webverzeichnis verweist."
+#: mod/admin.php:297
+msgid "Current Entries in the Blocklist"
+msgstr "Aktuelle Einträge der Blockliste"
 
-#: mod/admin.php:1142
-msgid "Disable picture proxy"
-msgstr "Bilder Proxy deaktivieren"
+#: mod/admin.php:300
+msgid "Delete entry from blocklist"
+msgstr "Eintrag von der Blockliste entfernen"
 
-#: mod/admin.php:1142
-msgid ""
-"The picture proxy increases performance and privacy. It shouldn't be used on"
-" systems with very low bandwith."
-msgstr "Der Proxy für Bilder verbessert die Leistung und Privatsphäre der Nutzer. Er sollte nicht auf Systemen verwendet werden, die nur über begrenzte Bandbreite verfügen."
+#: mod/admin.php:303
+msgid "Delete entry from blocklist?"
+msgstr "Eintrag von der Blockliste entfernen?"
 
-#: mod/admin.php:1143
-msgid "Only search in tags"
-msgstr "Nur in Tags suchen"
+#: mod/admin.php:328
+msgid "Server added to blocklist."
+msgstr "Server zur Blockliste hinzugefügt."
 
-#: mod/admin.php:1143
-msgid "On large systems the text search can slow down the system extremely."
-msgstr "Auf großen Knoten kann die Volltext-Suche das System ausbremsen."
+#: mod/admin.php:344
+msgid "Site blocklist updated."
+msgstr "Blockliste aktualisiert."
 
-#: mod/admin.php:1145
-msgid "New base url"
-msgstr "Neue Basis-URL"
+#: mod/admin.php:409
+msgid "unknown"
+msgstr "Unbekannt"
 
-#: mod/admin.php:1145
+#: mod/admin.php:472
 msgid ""
-"Change base url for this server. Sends relocate message to all DFRN contacts"
-" of all users."
-msgstr "Ändert die Basis-URL dieses Servers und sendet eine Umzugsmitteilung an alle DFRN Kontakte deiner Nutzer_innen."
+"This page offers you some numbers to the known part of the federated social "
+"network your Friendica node is part of. These numbers are not complete but "
+"only reflect the part of the network your node is aware of."
+msgstr "Diese Seite präsentiert einige Zahlen zu dem bekannten Teil des föderalen sozialen Netzwerks, von dem deine Friendica Installation ein Teil ist. Diese Zahlen sind nicht absolut und reflektieren nur den Teil des Netzwerks, den dein Knoten kennt."
 
-#: mod/admin.php:1147
-msgid "RINO Encryption"
-msgstr "RINO Verschlüsselung"
+#: mod/admin.php:473
+msgid ""
+"The <em>Auto Discovered Contact Directory</em> feature is not enabled, it "
+"will improve the data displayed here."
+msgstr "Die Funktion um <em>Automatisch ein Kontaktverzeichnis erstellen</em> ist nicht aktiv. Es wird die hier angezeigten Daten verbessern."
 
-#: mod/admin.php:1147
-msgid "Encryption layer between nodes."
-msgstr "Verschlüsselung zwischen Friendica Instanzen"
+#: mod/admin.php:485
+#, php-format
+msgid "Currently this node is aware of %d nodes from the following platforms:"
+msgstr "Momentan kennt dieser Knoten %d andere Knoten der folgenden Plattformen:"
 
-#: mod/admin.php:1149
-msgid "Maximum number of parallel workers"
-msgstr "Maximale Anzahl parallel laufender Worker"
+#: mod/admin.php:515
+msgid "ID"
+msgstr "ID"
 
-#: mod/admin.php:1149
-msgid ""
-"On shared hosters set this to 2. On larger systems, values of 10 are great. "
-"Default value is 4."
-msgstr "Wenn dein Knoten bei einem Shared Hoster ist, setzte diesen Wert auf 2. Auf größeren Systemen funktioniert ein Wert von 10 recht gut. Standardeinstellung sind 4."
+#: mod/admin.php:516
+msgid "Recipient Name"
+msgstr "Empfänger Name"
 
-#: mod/admin.php:1150
-msgid "Don't use 'proc_open' with the worker"
-msgstr "'proc_open' nicht mit den Workern verwenden"
+#: mod/admin.php:517
+msgid "Recipient Profile"
+msgstr "Empfänger Profil"
 
-#: mod/admin.php:1150
-msgid ""
-"Enable this if your system doesn't allow the use of 'proc_open'. This can "
-"happen on shared hosters. If this is enabled you should increase the "
-"frequency of poller calls in your crontab."
-msgstr "Aktiviere diese Option, wenn dein System die Verwendung von 'proc_open' verhindert. Dies könnte auf Shared Hostern der Fall sein. Wenn du diese Option aktivierst, solltest du die Frequenz der poller Aufrufe in deiner crontab erhöhen."
+#: mod/admin.php:519
+msgid "Created"
+msgstr "Erstellt"
 
-#: mod/admin.php:1151
-msgid "Enable fastlane"
-msgstr "Aktiviere Fastlane"
+#: mod/admin.php:520
+msgid "Last Tried"
+msgstr "Zuletzt versucht"
 
-#: mod/admin.php:1151
+#: mod/admin.php:521
 msgid ""
-"When enabed, the fastlane mechanism starts an additional worker if processes"
-" with higher priority are blocked by processes of lower priority."
-msgstr "Wenn aktiviert, wird der Fastlane-Mechanismus einen weiteren Worker-Prozeß starten wenn Prozesse mit höherer Priorität von Prozessen mit niedrigerer Priorität blockiert werden."
+"This page lists the content of the queue for outgoing postings. These are "
+"postings the initial delivery failed for. They will be resend later and "
+"eventually deleted if the delivery fails permanently."
+msgstr "Auf dieser Seite werden die in der Warteschlange eingereihten Beiträge aufgelistet. Bei diesen Beiträgen schlug die erste Zustellung fehl. Es wird später wiederholt versucht die Beiträge zuzustellen, bis sie schließlich gelöscht werden."
 
-#: mod/admin.php:1152
-msgid "Enable frontend worker"
-msgstr "Aktiviere den Frontend Worker"
+#: mod/admin.php:546
+#, php-format
+msgid ""
+"Your DB still runs with MyISAM tables. You should change the engine type to "
+"InnoDB. As Friendica will use InnoDB only features in the future, you should"
+" change this! See <a href=\"%s\">here</a> for a guide that may be helpful "
+"converting the table engines. You may also use the command <tt>php "
+"include/dbstructure.php toinnodb</tt> of your Friendica installation for an "
+"automatic conversion.<br />"
+msgstr "Deine DB verwendet derzeit noch MyISAM Tabellen. Du solltest die Datenbank Engine auf InnoDB umstellen, da Friendica in Zukunft InnoDB Features verwenden wird. Eine Anleitung zur Umstellung der Datenbank kannst du  <a href=\"%s\">hier</a>  finden. Du kannst außerdem mit dem Befehl <tt>php include/dbstructure.php toinnodb</tt> auf der Kommandozeile die Umstellung automatisch vornehmen lassen."
 
-#: mod/admin.php:1152
+#: mod/admin.php:555
 msgid ""
-"When enabled the Worker process is triggered when backend access is "
-"performed (e.g. messages being delivered). On smaller sites you might want "
-"to call yourdomain.tld/worker on a regular basis via an external cron job. "
-"You should only enable this option if you cannot utilize cron/scheduled jobs"
-" on your server. The worker background process needs to be activated for "
-"this."
-msgstr "Ist diese Option aktiv, wird der Worker Prozess durch Aktionen am Frontend gestartet (z.B. wenn Nachrichten zugestellt werden). Auf kleineren Seiten sollte yourdomain.tld/worker regelmäßig, beispielsweise durch einen externen Cron Anbieter, aufgerufen werden. Du solltest dies Option nur dann aktivieren, wenn du keinen Cron Job auf deinem eigenen Server starten kannst. Damit diese Option einen Effekt hat, muss der Worker Prozess aktiviert sein."
+"The database update failed. Please run \"php include/dbstructure.php "
+"update\" from the command line and have a look at the errors that might "
+"appear."
+msgstr "Das Update der Datenbank ist fehlgeschlagen. Bitte führe 'php include/dbstructure.php update' in der Kommandozeile aus und achte auf eventuell auftretende Fehlermeldungen."
 
-#: mod/admin.php:1182
-msgid "Update has been marked successful"
-msgstr "Update wurde als erfolgreich markiert"
+#: mod/admin.php:560 mod/admin.php:1453
+msgid "Normal Account"
+msgstr "Normales Konto"
 
-#: mod/admin.php:1190
-#, php-format
-msgid "Database structure update %s was successfully applied."
-msgstr "Das Update %s der Struktur der Datenbank wurde erfolgreich angewandt."
+#: mod/admin.php:561 mod/admin.php:1454
+msgid "Soapbox Account"
+msgstr "Marktschreier-Konto"
 
-#: mod/admin.php:1193
-#, php-format
-msgid "Executing of database structure update %s failed with error: %s"
-msgstr "Das Update %s der Struktur der Datenbank schlug mit folgender Fehlermeldung fehl: %s"
+#: mod/admin.php:562 mod/admin.php:1455
+msgid "Community/Celebrity Account"
+msgstr "Forum/Promi-Konto"
 
-#: mod/admin.php:1207
-#, php-format
-msgid "Executing %s failed with error: %s"
-msgstr "Die Ausführung von %s schlug fehl. Fehlermeldung: %s"
+#: mod/admin.php:563 mod/admin.php:1456
+msgid "Automatic Friend Account"
+msgstr "Automatisches Freundekonto"
 
-#: mod/admin.php:1210
-#, php-format
-msgid "Update %s was successfully applied."
-msgstr "Update %s war erfolgreich."
+#: mod/admin.php:564
+msgid "Blog Account"
+msgstr "Blog-Konto"
 
-#: mod/admin.php:1213
-#, php-format
-msgid "Update %s did not return a status. Unknown if it succeeded."
-msgstr "Update %s hat keinen Status zurückgegeben. Unbekannter Status."
+#: mod/admin.php:565
+msgid "Private Forum"
+msgstr "Privates Forum"
 
-#: mod/admin.php:1216
-#, php-format
-msgid "There was no additional update function %s that needed to be called."
-msgstr "Es gab keine weitere Update-Funktion, die von %s ausgeführt werden musste."
+#: mod/admin.php:587
+msgid "Message queues"
+msgstr "Nachrichten-Warteschlangen"
 
-#: mod/admin.php:1236
-msgid "No failed updates."
-msgstr "Keine fehlgeschlagenen Updates."
+#: mod/admin.php:593
+msgid "Summary"
+msgstr "Zusammenfassung"
 
-#: mod/admin.php:1237
-msgid "Check database structure"
-msgstr "Datenbank Struktur überprüfen"
+#: mod/admin.php:595
+msgid "Registered users"
+msgstr "Registrierte Nutzer"
 
-#: mod/admin.php:1242
-msgid "Failed Updates"
-msgstr "Fehlgeschlagene Updates"
+#: mod/admin.php:597
+msgid "Pending registrations"
+msgstr "Anstehende Anmeldungen"
 
-#: mod/admin.php:1243
-msgid ""
-"This does not include updates prior to 1139, which did not return a status."
-msgstr "Ohne Updates vor 1139, da diese keinen Status zurückgegeben haben."
+#: mod/admin.php:598
+msgid "Version"
+msgstr "Version"
 
-#: mod/admin.php:1244
-msgid "Mark success (if update was manually applied)"
-msgstr "Als erfolgreich markieren (falls das Update manuell installiert wurde)"
+#: mod/admin.php:603
+msgid "Active plugins"
+msgstr "Aktive Plugins"
 
-#: mod/admin.php:1245
-msgid "Attempt to execute this update step automatically"
-msgstr "Versuchen, diesen Schritt automatisch auszuführen"
+#: mod/admin.php:628
+msgid "Can not parse base url. Must have at least <scheme>://<domain>"
+msgstr "Die Basis-URL konnte nicht analysiert werden. Sie muss mindestens aus <protokoll>://<domain> bestehen"
 
-#: mod/admin.php:1279
-#, php-format
-msgid ""
-"\n"
-"\t\t\tDear %1$s,\n"
-"\t\t\t\tthe administrator of %2$s has set up an account for you."
-msgstr "\nHallo %1$s,\n\nauf %2$s wurde ein Account für Dich angelegt."
+#: mod/admin.php:920
+msgid "Site settings updated."
+msgstr "Seiteneinstellungen aktualisiert."
 
-#: mod/admin.php:1282
-#, php-format
-msgid ""
-"\n"
-"\t\t\tThe login details are as follows:\n"
-"\n"
-"\t\t\tSite Location:\t%1$s\n"
-"\t\t\tLogin Name:\t\t%2$s\n"
-"\t\t\tPassword:\t\t%3$s\n"
-"\n"
-"\t\t\tYou may change your password from your account \"Settings\" page after logging\n"
-"\t\t\tin.\n"
-"\n"
-"\t\t\tPlease take a few moments to review the other account settings on that page.\n"
-"\n"
-"\t\t\tYou may also wish to add some basic information to your default profile\n"
-"\t\t\t(on the \"Profiles\" page) so that other people can easily find you.\n"
-"\n"
-"\t\t\tWe recommend setting your full name, adding a profile photo,\n"
-"\t\t\tadding some profile \"keywords\" (very useful in making new friends) - and\n"
-"\t\t\tperhaps what country you live in; if you do not wish to be more specific\n"
-"\t\t\tthan that.\n"
-"\n"
-"\t\t\tWe fully respect your right to privacy, and none of these items are necessary.\n"
-"\t\t\tIf you are new and do not know anybody here, they may help\n"
-"\t\t\tyou to make some new and interesting friends.\n"
-"\n"
-"\t\t\tThank you and welcome to %4$s."
-msgstr "\nNachfolgend die Anmelde-Details:\n\tAdresse der Seite:\t%1$s\n\tBenutzername:\t%2$s\n\tPasswort:\t%3$s\n\nDu kannst Dein Passwort unter \"Einstellungen\" ändern, sobald Du Dich\nangemeldet hast.\n\nBitte nimm Dir ein paar Minuten um die anderen Einstellungen auf dieser\nSeite zu kontrollieren.\n\nEventuell magst Du ja auch einige Informationen über Dich in Deinem\nProfil veröffentlichen, damit andere Leute Dich einfacher finden können.\nBearbeite hierfür einfach Dein Standard-Profil (über die Profil-Seite).\n\nWir empfehlen Dir, Deinen kompletten Namen anzugeben und ein zu Dir\npassendes Profilbild zu wählen, damit Dich alte Bekannte wieder finden.\nAußerdem ist es nützlich, wenn Du auf Deinem Profil Schlüsselwörter\nangibst. Das erleichtert es, Leute zu finden, die Deine Interessen teilen.\n\nWir respektieren Deine Privatsphäre - keine dieser Angaben ist nötig.\nWenn Du neu im Netzwerk bist und noch niemanden kennst, dann können sie\nallerdings dabei helfen, neue und interessante Kontakte zu knüpfen.\n\nNun viel Spaß, gute Begegnungen und willkommen auf %4$s."
+#: mod/admin.php:948 mod/settings.php:944
+msgid "No special theme for mobile devices"
+msgstr "Kein spezielles Theme für mobile Geräte verwenden."
 
-#: mod/admin.php:1326
-#, php-format
-msgid "%s user blocked/unblocked"
-msgid_plural "%s users blocked/unblocked"
-msgstr[0] "%s Benutzer geblockt/freigegeben"
-msgstr[1] "%s Benutzer geblockt/freigegeben"
+#: mod/admin.php:977
+msgid "No community page"
+msgstr "Keine Gemeinschaftsseite"
 
-#: mod/admin.php:1333
-#, 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:978
+msgid "Public postings from users of this site"
+msgstr "Öffentliche Beiträge von Nutzer_innen dieser Seite"
 
-#: mod/admin.php:1380
-#, php-format
-msgid "User '%s' deleted"
-msgstr "Nutzer '%s' gelöscht"
+#: mod/admin.php:979
+msgid "Global community page"
+msgstr "Globale Gemeinschaftsseite"
 
-#: mod/admin.php:1388
-#, php-format
-msgid "User '%s' unblocked"
-msgstr "Nutzer '%s' entsperrt"
+#: mod/admin.php:985
+msgid "At post arrival"
+msgstr "Beim Empfang von Nachrichten"
 
-#: mod/admin.php:1388
-#, php-format
-msgid "User '%s' blocked"
-msgstr "Nutzer '%s' gesperrt"
+#: mod/admin.php:995
+msgid "Users, Global Contacts"
+msgstr "Nutzer, globale Kontakte"
 
-#: mod/admin.php:1496 mod/admin.php:1522
-msgid "Register date"
-msgstr "Anmeldedatum"
+#: mod/admin.php:996
+msgid "Users, Global Contacts/fallback"
+msgstr "Nutzer, globale Kontakte / Fallback"
 
-#: mod/admin.php:1496 mod/admin.php:1522
-msgid "Last login"
-msgstr "Letzte Anmeldung"
+#: mod/admin.php:1000
+msgid "One month"
+msgstr "ein Monat"
 
-#: mod/admin.php:1496 mod/admin.php:1522
-msgid "Last item"
-msgstr "Letzter Beitrag"
+#: mod/admin.php:1001
+msgid "Three months"
+msgstr "drei Monate"
 
-#: mod/admin.php:1496 mod/settings.php:45
-msgid "Account"
-msgstr "Nutzerkonto"
+#: mod/admin.php:1002
+msgid "Half a year"
+msgstr "ein halbes Jahr"
 
-#: mod/admin.php:1505
-msgid "Add User"
-msgstr "Nutzer hinzufügen"
+#: mod/admin.php:1003
+msgid "One year"
+msgstr "ein Jahr"
 
-#: mod/admin.php:1506
-msgid "select all"
-msgstr "Alle auswählen"
+#: mod/admin.php:1008
+msgid "Multi user instance"
+msgstr "Mehrbenutzer Instanz"
 
-#: mod/admin.php:1507
-msgid "User registrations waiting for confirm"
-msgstr "Neuanmeldungen, die auf Deine Bestätigung warten"
+#: mod/admin.php:1031
+msgid "Closed"
+msgstr "Geschlossen"
 
-#: mod/admin.php:1508
-msgid "User waiting for permanent deletion"
-msgstr "Nutzer wartet auf permanente Löschung"
+#: mod/admin.php:1032
+msgid "Requires approval"
+msgstr "Bedarf der Zustimmung"
 
-#: mod/admin.php:1509
-msgid "Request date"
-msgstr "Anfragedatum"
+#: mod/admin.php:1033
+msgid "Open"
+msgstr "Offen"
 
-#: mod/admin.php:1510
-msgid "No registrations."
-msgstr "Keine Neuanmeldungen."
+#: mod/admin.php:1037
+msgid "No SSL policy, links will track page SSL state"
+msgstr "Keine SSL Richtlinie, Links werden das verwendete Protokoll beibehalten"
 
-#: mod/admin.php:1511
-msgid "Note from the user"
-msgstr "Hinweis vom Nutzer"
+#: mod/admin.php:1038
+msgid "Force all links to use SSL"
+msgstr "SSL für alle Links erzwingen"
 
-#: mod/admin.php:1513
-msgid "Deny"
-msgstr "Verwehren"
+#: mod/admin.php:1039
+msgid "Self-signed certificate, use SSL for local links only (discouraged)"
+msgstr "Selbst-unterzeichnetes Zertifikat, SSL nur für lokale Links verwenden (nicht empfohlen)"
 
-#: mod/admin.php:1515 mod/contacts.php:616 mod/contacts.php:816
-#: mod/contacts.php:994
-msgid "Block"
-msgstr "Sperren"
+#: mod/admin.php:1061 mod/admin.php:1686 mod/admin.php:1949 mod/admin.php:2023
+#: mod/admin.php:2176 mod/settings.php:682 mod/settings.php:793
+#: mod/settings.php:842 mod/settings.php:909 mod/settings.php:1006
+#: mod/settings.php:1272
+msgid "Save Settings"
+msgstr "Einstellungen speichern"
 
-#: mod/admin.php:1516 mod/contacts.php:616 mod/contacts.php:816
-#: mod/contacts.php:994
-msgid "Unblock"
-msgstr "Entsperren"
+#: mod/admin.php:1063
+msgid "File upload"
+msgstr "Datei hochladen"
 
-#: mod/admin.php:1517
-msgid "Site admin"
-msgstr "Seitenadministrator"
+#: mod/admin.php:1064
+msgid "Policies"
+msgstr "Regeln"
 
-#: mod/admin.php:1518
-msgid "Account expired"
-msgstr "Account ist abgelaufen"
+#: mod/admin.php:1066
+msgid "Auto Discovered Contact Directory"
+msgstr "Automatisch ein Kontaktverzeichnis erstellen"
 
-#: mod/admin.php:1521
-msgid "New User"
-msgstr "Neuer Nutzer"
+#: mod/admin.php:1067
+msgid "Performance"
+msgstr "Performance"
 
-#: mod/admin.php:1522
-msgid "Deleted since"
-msgstr "Gelöscht seit"
+#: mod/admin.php:1068
+msgid "Worker"
+msgstr "Worker"
 
-#: mod/admin.php:1527
+#: mod/admin.php:1069
 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?"
+"Relocate - WARNING: advanced function. Could make this server unreachable."
+msgstr "Umsiedeln - WARNUNG: Könnte diesen Server unerreichbar machen."
 
-#: mod/admin.php:1528
-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:1072
+msgid "Site name"
+msgstr "Seitenname"
 
-#: mod/admin.php:1538
-msgid "Name of the new user."
-msgstr "Name des neuen Nutzers"
+#: mod/admin.php:1073
+msgid "Host name"
+msgstr "Host Name"
 
-#: mod/admin.php:1539
-msgid "Nickname"
-msgstr "Spitzname"
+#: mod/admin.php:1074
+msgid "Sender Email"
+msgstr "Absender für Emails"
 
-#: mod/admin.php:1539
-msgid "Nickname of the new user."
-msgstr "Spitznamen für den neuen Nutzer"
+#: mod/admin.php:1074
+msgid ""
+"The email address your server shall use to send notification emails from."
+msgstr "Die E-Mail Adresse die dein Server zum Versenden von Benachrichtigungen verwenden soll."
 
-#: mod/admin.php:1540
-msgid "Email address of the new user."
-msgstr "Email Adresse des neuen Nutzers"
+#: mod/admin.php:1075
+msgid "Banner/Logo"
+msgstr "Banner/Logo"
 
-#: mod/admin.php:1583
-#, php-format
-msgid "Plugin %s disabled."
-msgstr "Plugin %s deaktiviert."
+#: mod/admin.php:1076
+msgid "Shortcut icon"
+msgstr "Shortcut Icon"
 
-#: mod/admin.php:1587
-#, php-format
-msgid "Plugin %s enabled."
-msgstr "Plugin %s aktiviert."
+#: mod/admin.php:1076
+msgid "Link to an icon that will be used for browsers."
+msgstr "Link zu einem Icon, das Browser verwenden werden."
 
-#: mod/admin.php:1598 mod/admin.php:1850
-msgid "Disable"
-msgstr "Ausschalten"
+#: mod/admin.php:1077
+msgid "Touch icon"
+msgstr "Touch Icon"
 
-#: mod/admin.php:1600 mod/admin.php:1852
-msgid "Enable"
-msgstr "Einschalten"
+#: mod/admin.php:1077
+msgid "Link to an icon that will be used for tablets and mobiles."
+msgstr "Link zu einem Icon das Tablets und Handies verwenden sollen."
 
-#: mod/admin.php:1623 mod/admin.php:1899
-msgid "Toggle"
-msgstr "Umschalten"
+#: mod/admin.php:1078
+msgid "Additional Info"
+msgstr "Zusätzliche Informationen"
 
-#: mod/admin.php:1631 mod/admin.php:1908
-msgid "Author: "
-msgstr "Autor:"
+#: mod/admin.php:1078
+#, php-format
+msgid ""
+"For public servers: you can add additional information here that will be "
+"listed at %s/siteinfo."
+msgstr "Für öffentliche Server kannst Du hier zusätzliche Informationen angeben, die dann auf %s/siteinfo angezeigt werden."
 
-#: mod/admin.php:1632 mod/admin.php:1909
-msgid "Maintainer: "
-msgstr "Betreuer:"
+#: mod/admin.php:1079
+msgid "System language"
+msgstr "Systemsprache"
 
-#: mod/admin.php:1687
-msgid "Reload active plugins"
-msgstr "Aktive Plugins neu laden"
+#: mod/admin.php:1080
+msgid "System theme"
+msgstr "Systemweites Theme"
 
-#: mod/admin.php:1692
-#, php-format
+#: mod/admin.php:1080
 msgid ""
-"There are currently no plugins available on your node. You can find the "
-"official plugin repository at %1$s and might find other interesting plugins "
-"in the open plugin registry at %2$s"
-msgstr "Es sind derzeit keine Plugins auf diesem Knoten verfügbar. Du findest das offizielle Plugin-Repository unter %1$s und weitere eventuell interessante Plugins im offenen Plugins-Verzeichnis auf %2$s."
+"Default system theme - may be over-ridden by user profiles - <a href='#' "
+"id='cnftheme'>change theme settings</a>"
+msgstr "Vorgabe für das System-Theme - kann von Benutzerprofilen überschrieben werden - <a href='#' id='cnftheme'>Theme-Einstellungen ändern</a>"
 
-#: mod/admin.php:1811
-msgid "No themes found."
-msgstr "Keine Themen gefunden."
+#: mod/admin.php:1081
+msgid "Mobile system theme"
+msgstr "Systemweites mobiles Theme"
 
-#: mod/admin.php:1890
-msgid "Screenshot"
-msgstr "Bildschirmfoto"
+#: mod/admin.php:1081
+msgid "Theme for mobile devices"
+msgstr "Thema für mobile Geräte"
 
-#: mod/admin.php:1950
-msgid "Reload active themes"
-msgstr "Aktives Theme neu laden"
+#: mod/admin.php:1082
+msgid "SSL link policy"
+msgstr "Regeln für SSL Links"
 
-#: mod/admin.php:1955
-#, php-format
-msgid "No themes found on the system. They should be paced in %1$s"
-msgstr "Es wurden keine Themes auf dem System gefunden. Diese sollten in %1$s patziert werden."
+#: mod/admin.php:1082
+msgid "Determines whether generated links should be forced to use SSL"
+msgstr "Bestimmt, ob generierte Links SSL verwenden müssen"
 
-#: mod/admin.php:1956
-msgid "[Experimental]"
-msgstr "[Experimentell]"
+#: mod/admin.php:1083
+msgid "Force SSL"
+msgstr "Erzwinge SSL"
 
-#: mod/admin.php:1957
-msgid "[Unsupported]"
-msgstr "[Nicht unterstützt]"
+#: mod/admin.php:1083
+msgid ""
+"Force all Non-SSL requests to SSL - Attention: on some systems it could lead"
+" to endless loops."
+msgstr "Erzinge alle Nicht-SSL Anfragen auf SSL - Achtung: auf manchen Systemen verursacht dies eine Endlosschleife."
 
-#: mod/admin.php:1981
-msgid "Log settings updated."
-msgstr "Protokolleinstellungen aktualisiert."
+#: mod/admin.php:1084
+msgid "Hide help entry from navigation menu"
+msgstr "Verberge den Menüeintrag für die Hilfe im Navigationsmenü"
+
+#: mod/admin.php:1084
+msgid ""
+"Hides the menu entry for the Help pages from the navigation menu. You can "
+"still access it calling /help directly."
+msgstr "Verbirgt den Menüeintrag für die Hilfe-Seiten im Navigationsmenü. Die Seiten können weiterhin über /help aufgerufen werden."
+
+#: mod/admin.php:1085
+msgid "Single user instance"
+msgstr "Ein-Nutzer Instanz"
 
-#: mod/admin.php:2013
-msgid "PHP log currently enabled."
-msgstr "PHP Protokollierung ist derzeit aktiviert."
+#: mod/admin.php:1085
+msgid "Make this instance multi-user or single-user for the named user"
+msgstr "Regelt ob es sich bei dieser Instanz um eine ein Personen Installation oder eine Installation mit mehr als einem Nutzer handelt."
 
-#: mod/admin.php:2015
-msgid "PHP log currently disabled."
-msgstr "PHP Protokollierung ist derzeit nicht aktiviert."
+#: mod/admin.php:1086
+msgid "Maximum image size"
+msgstr "Maximale Bildgröße"
 
-#: mod/admin.php:2024
-msgid "Clear"
-msgstr "löschen"
+#: mod/admin.php:1086
+msgid ""
+"Maximum size in bytes of uploaded images. Default is 0, which means no "
+"limits."
+msgstr "Maximale Uploadgröße von Bildern in Bytes. Standard ist 0, d.h. ohne Limit."
 
-#: mod/admin.php:2029
-msgid "Enable Debugging"
-msgstr "Protokoll führen"
+#: mod/admin.php:1087
+msgid "Maximum image length"
+msgstr "Maximale Bildlänge"
 
-#: mod/admin.php:2030
-msgid "Log file"
-msgstr "Protokolldatei"
+#: mod/admin.php:1087
+msgid ""
+"Maximum length in pixels of the longest side of uploaded images. Default is "
+"-1, which means no limits."
+msgstr "Maximale Länge in Pixeln der längsten Seite eines hoch geladenen Bildes. Grundeinstellung ist -1 was keine Einschränkung bedeutet."
 
-#: mod/admin.php:2030
+#: mod/admin.php:1088
+msgid "JPEG image quality"
+msgstr "Qualität des JPEG Bildes"
+
+#: mod/admin.php:1088
 msgid ""
-"Must be writable by web server. Relative to your Friendica top-level "
-"directory."
-msgstr "Webserver muss Schreibrechte besitzen. Abhängig vom Friendica-Installationsverzeichnis."
+"Uploaded JPEGS will be saved at this quality setting [0-100]. Default is "
+"100, which is full quality."
+msgstr "Hoch geladene JPEG Bilder werden mit dieser Qualität [0-100] gespeichert. Grundeinstellung ist 100, kein Qualitätsverlust."
 
-#: mod/admin.php:2031
-msgid "Log level"
-msgstr "Protokoll-Level"
+#: mod/admin.php:1090
+msgid "Register policy"
+msgstr "Registrierungsmethode"
 
-#: mod/admin.php:2034
-msgid "PHP logging"
-msgstr "PHP Protokollieren"
+#: mod/admin.php:1091
+msgid "Maximum Daily Registrations"
+msgstr "Maximum täglicher Registrierungen"
 
-#: mod/admin.php:2035
+#: mod/admin.php:1091
 msgid ""
-"To enable logging of PHP errors and warnings you can add the following to "
-"the .htconfig.php file of your installation. The filename set in the "
-"'error_log' line is relative to the friendica top-level directory and must "
-"be writeable by the web server. The option '1' for 'log_errors' and "
-"'display_errors' is to enable these options, set to '0' to disable them."
-msgstr "Um PHP Warnungen und Fehler zu protokollieren, kannst du die folgenden Zeilen zur .htconfig.php Datei deiner Installation hinzufügen. Den Dateinamen der Log-Datei legst du in der Zeile mit dem 'error_log' fest,  Er ist relativ zum Friendica-Stammverzeichnis und muss schreibbar durch den Webserver sein. Eine \"1\" als Option für die Punkte 'log_errors' und 'display_errors' aktiviert die Funktionen zum Protokollieren bzw. Anzeigen der Fehler, eine \"0\" deaktiviert sie."
+"If registration is permitted above, this sets the maximum number of new user"
+" registrations to accept per day.  If register is set to closed, this "
+"setting has no effect."
+msgstr "Wenn die Registrierung weiter oben erlaubt ist, regelt dies die maximale Anzahl von Neuanmeldungen pro Tag. Wenn die Registrierung geschlossen ist, hat diese Einstellung keinen Effekt."
 
-#: mod/admin.php:2165 mod/admin.php:2166 mod/settings.php:783
-msgid "Off"
-msgstr "Aus"
+#: mod/admin.php:1092
+msgid "Register text"
+msgstr "Registrierungstext"
 
-#: mod/admin.php:2165 mod/admin.php:2166 mod/settings.php:783
-msgid "On"
-msgstr "An"
+#: mod/admin.php:1092
+msgid "Will be displayed prominently on the registration page."
+msgstr "Wird gut sichtbar auf der Registrierungsseite angezeigt."
 
-#: mod/admin.php:2166
-#, php-format
-msgid "Lock feature %s"
-msgstr "Feature festlegen: %s"
+#: mod/admin.php:1093
+msgid "Accounts abandoned after x days"
+msgstr "Nutzerkonten gelten nach x Tagen als unbenutzt"
 
-#: mod/admin.php:2174
-msgid "Manage Additional Features"
-msgstr "Zusätzliche Features Verwalten"
+#: mod/admin.php:1093
+msgid ""
+"Will not waste system resources polling external sites for abandonded "
+"accounts. Enter 0 for no time limit."
+msgstr "Verschwende keine System-Ressourcen auf das Pollen externer Seiten, wenn Konten nicht mehr benutzt werden. 0 eingeben für kein Limit."
 
-#: mod/contacts.php:137
-#, php-format
-msgid "%d contact edited."
-msgid_plural "%d contacts edited."
-msgstr[0] "%d Kontakt bearbeitet."
-msgstr[1] "%d Kontakte bearbeitet."
+#: mod/admin.php:1094
+msgid "Allowed friend domains"
+msgstr "Erlaubte Domains für Kontakte"
 
-#: mod/contacts.php:172 mod/contacts.php:381
-msgid "Could not access contact record."
-msgstr "Konnte nicht auf die Kontaktdaten zugreifen."
+#: mod/admin.php:1094
+msgid ""
+"Comma separated list of domains which are allowed to establish friendships "
+"with this site. Wildcards are accepted. Empty to allow any domains"
+msgstr "Liste der Domains, die für Kontakte erlaubt sind, durch Kommas getrennt. Platzhalter werden akzeptiert. Leer lassen, um alle Domains zu erlauben."
 
-#: mod/contacts.php:186
-msgid "Could not locate selected profile."
-msgstr "Konnte das ausgewählte Profil nicht finden."
+#: mod/admin.php:1095
+msgid "Allowed email domains"
+msgstr "Erlaubte Domains für E-Mails"
 
-#: mod/contacts.php:219
-msgid "Contact updated."
-msgstr "Kontakt aktualisiert."
+#: mod/admin.php:1095
+msgid ""
+"Comma separated list of domains which are allowed in email addresses for "
+"registrations to this site. Wildcards are accepted. Empty to allow any "
+"domains"
+msgstr "Liste der Domains, die für E-Mail-Adressen bei der Registrierung erlaubt sind, durch Kommas getrennt. Platzhalter werden akzeptiert. Leer lassen, um alle Domains zu erlauben."
 
-#: mod/contacts.php:402
-msgid "Contact has been blocked"
-msgstr "Kontakt wurde blockiert"
+#: mod/admin.php:1096
+msgid "Block public"
+msgstr "Öffentlichen Zugriff blockieren"
 
-#: mod/contacts.php:402
-msgid "Contact has been unblocked"
-msgstr "Kontakt wurde wieder freigegeben"
+#: mod/admin.php:1096
+msgid ""
+"Check to block public access to all otherwise public personal pages on this "
+"site unless you are currently logged in."
+msgstr "Klicken, um öffentlichen Zugriff auf sonst öffentliche Profile zu blockieren, wenn man nicht eingeloggt ist."
 
-#: mod/contacts.php:413
-msgid "Contact has been ignored"
-msgstr "Kontakt wurde ignoriert"
+#: mod/admin.php:1097
+msgid "Force publish"
+msgstr "Erzwinge Veröffentlichung"
 
-#: mod/contacts.php:413
-msgid "Contact has been unignored"
-msgstr "Kontakt wird nicht mehr ignoriert"
+#: mod/admin.php:1097
+msgid ""
+"Check to force all profiles on this site to be listed in the site directory."
+msgstr "Klicken, um Anzeige aller Profile dieses Servers im Verzeichnis zu erzwingen."
 
-#: mod/contacts.php:425
-msgid "Contact has been archived"
-msgstr "Kontakt wurde archiviert"
+#: mod/admin.php:1098
+msgid "Global directory URL"
+msgstr "URL des weltweiten Verzeichnisses"
 
-#: mod/contacts.php:425
-msgid "Contact has been unarchived"
-msgstr "Kontakt wurde aus dem Archiv geholt"
+#: mod/admin.php:1098
+msgid ""
+"URL to the global directory. If this is not set, the global directory is "
+"completely unavailable to the application."
+msgstr "URL des weltweiten Verzeichnisses. Wenn diese nicht gesetzt ist, ist das Verzeichnis für die Applikation nicht erreichbar."
 
-#: mod/contacts.php:450
-msgid "Drop contact"
-msgstr "Kontakt löschen"
+#: mod/admin.php:1099
+msgid "Allow threaded items"
+msgstr "Erlaube Threads in Diskussionen"
 
-#: mod/contacts.php:453 mod/contacts.php:812
-msgid "Do you really want to delete this contact?"
-msgstr "Möchtest Du wirklich diesen Kontakt löschen?"
+#: mod/admin.php:1099
+msgid "Allow infinite level threading for items on this site."
+msgstr "Erlaube ein unendliches Level für Threads auf dieser Seite."
 
-#: mod/contacts.php:472
-msgid "Contact has been removed."
-msgstr "Kontakt wurde entfernt."
+#: mod/admin.php:1100
+msgid "Private posts by default for new users"
+msgstr "Private Beiträge als Standard für neue Nutzer"
 
-#: mod/contacts.php:509
-#, php-format
-msgid "You are mutual friends with %s"
-msgstr "Du hast mit %s eine beidseitige Freundschaft"
+#: mod/admin.php:1100
+msgid ""
+"Set default post permissions for all new members to the default privacy "
+"group rather than public."
+msgstr "Die Standard-Zugriffsrechte für neue Nutzer werden so gesetzt, dass als Voreinstellung in die private Gruppe gepostet wird anstelle von öffentlichen Beiträgen."
 
-#: mod/contacts.php:513
-#, php-format
-msgid "You are sharing with %s"
-msgstr "Du teilst mit %s"
+#: mod/admin.php:1101
+msgid "Don't include post content in email notifications"
+msgstr "Inhalte von Beiträgen nicht in E-Mail-Benachrichtigungen versenden"
 
-#: mod/contacts.php:518
-#, php-format
-msgid "%s is sharing with you"
-msgstr "%s teilt mit Dir"
+#: mod/admin.php:1101
+msgid ""
+"Don't include the content of a post/comment/private message/etc. in the "
+"email notifications that are sent out from this site, as a privacy measure."
+msgstr "Inhalte von Beiträgen/Kommentaren/privaten Nachrichten/usw., zum Datenschutz nicht in E-Mail-Benachrichtigungen einbinden."
 
-#: mod/contacts.php:538
-msgid "Private communications are not available for this contact."
-msgstr "Private Kommunikation ist für diesen Kontakt nicht verfügbar."
+#: mod/admin.php:1102
+msgid "Disallow public access to addons listed in the apps menu."
+msgstr "Öffentlichen Zugriff auf Addons im Apps Menü verbieten."
 
-#: mod/contacts.php:545
-msgid "(Update was successful)"
-msgstr "(Aktualisierung war erfolgreich)"
+#: mod/admin.php:1102
+msgid ""
+"Checking this box will restrict addons listed in the apps menu to members "
+"only."
+msgstr "Wenn ausgewählt werden die im Apps Menü aufgeführten Addons nur angemeldeten Nutzern der Seite zur Verfügung gestellt."
 
-#: mod/contacts.php:545
-msgid "(Update was not successful)"
-msgstr "(Aktualisierung war nicht erfolgreich)"
+#: mod/admin.php:1103
+msgid "Don't embed private images in posts"
+msgstr "Private Bilder nicht in Beiträgen einbetten."
 
-#: mod/contacts.php:547 mod/contacts.php:975
-msgid "Suggest friends"
-msgstr "Kontakte vorschlagen"
+#: mod/admin.php:1103
+msgid ""
+"Don't replace locally-hosted private photos in posts with an embedded copy "
+"of the image. This means that contacts who receive posts containing private "
+"photos will have to authenticate and load each image, which may take a "
+"while."
+msgstr "Ersetze lokal gehostete private Fotos in Beiträgen nicht mit einer eingebetteten Kopie des Bildes. Dies bedeutet, dass Kontakte, die Beiträge mit privaten Fotos erhalten sich zunächst auf den jeweiligen Servern authentifizieren müssen bevor die Bilder geladen und angezeigt werden, was eine gewisse Zeit dauert."
 
-#: mod/contacts.php:551
-#, php-format
-msgid "Network type: %s"
-msgstr "Netzwerktyp: %s"
+#: mod/admin.php:1104
+msgid "Allow Users to set remote_self"
+msgstr "Nutzern erlauben das remote_self Flag zu setzen"
+
+#: mod/admin.php:1104
+msgid ""
+"With checking this, every user is allowed to mark every contact as a "
+"remote_self in the repair contact dialog. Setting this flag on a contact "
+"causes mirroring every posting of that contact in the users stream."
+msgstr "Ist dies ausgewählt kann jeder Nutzer jeden seiner Kontakte als remote_self (entferntes Konto) im Kontakt reparieren Dialog markieren. Nach dem setzten dieses Flags werden alle Top-Level Beiträge dieser Kontakte automatisch in den Stream dieses Nutzers gepostet."
 
-#: mod/contacts.php:564
-msgid "Communications lost with this contact!"
-msgstr "Verbindungen mit diesem Kontakt verloren!"
+#: mod/admin.php:1105
+msgid "Block multiple registrations"
+msgstr "Unterbinde Mehrfachregistrierung"
 
-#: mod/contacts.php:567
-msgid "Fetch further information for feeds"
-msgstr "Weitere Informationen zu Feeds holen"
+#: mod/admin.php:1105
+msgid "Disallow users to register additional accounts for use as pages."
+msgstr "Benutzern nicht erlauben, weitere Konten als zusätzliche Profile anzulegen."
 
-#: mod/contacts.php:568
-msgid "Fetch information"
-msgstr "Beziehe Information"
+#: mod/admin.php:1106
+msgid "OpenID support"
+msgstr "OpenID Unterstützung"
 
-#: mod/contacts.php:568
-msgid "Fetch information and keywords"
-msgstr "Beziehe Information und Schlüsselworte"
+#: mod/admin.php:1106
+msgid "OpenID support for registration and logins."
+msgstr "OpenID-Unterstützung für Registrierung und Login."
 
-#: mod/contacts.php:586
-msgid "Contact"
-msgstr "Kontakt"
+#: mod/admin.php:1107
+msgid "Fullname check"
+msgstr "Namen auf Vollständigkeit überprüfen"
 
-#: mod/contacts.php:589
-msgid "Profile Visibility"
-msgstr "Profil-Sichtbarkeit"
+#: mod/admin.php:1107
+msgid ""
+"Force users to register with a space between firstname and lastname in Full "
+"name, as an antispam measure"
+msgstr "Leerzeichen zwischen Vor- und Nachname im vollständigen Namen erzwingen, um SPAM zu vermeiden."
 
-#: mod/contacts.php:590
-#, php-format
+#: mod/admin.php:1108
+msgid "Community Page Style"
+msgstr "Art der Gemeinschaftsseite"
+
+#: mod/admin.php:1108
 msgid ""
-"Please choose the profile you would like to display to %s when viewing your "
-"profile securely."
-msgstr "Bitte wähle eines Deiner Profile das angezeigt werden soll, wenn %s Dein Profil aufruft."
+"Type of community page to show. 'Global community' shows every public "
+"posting from an open distributed network that arrived on this server."
+msgstr "Welche Art der Gemeinschaftsseite soll verwendet werden? Globale Gemeinschaftsseite zeigt alle öffentlichen Beiträge eines offenen dezentralen Netzwerks an die auf diesem Server eintreffen."
 
-#: mod/contacts.php:591
-msgid "Contact Information / Notes"
-msgstr "Kontakt Informationen / Notizen"
+#: mod/admin.php:1109
+msgid "Posts per user on community page"
+msgstr "Anzahl der Beiträge pro Benutzer auf der Gemeinschaftsseite"
 
-#: mod/contacts.php:592
-msgid "Edit contact notes"
-msgstr "Notizen zum Kontakt bearbeiten"
+#: mod/admin.php:1109
+msgid ""
+"The maximum number of posts per user on the community page. (Not valid for "
+"'Global Community')"
+msgstr "Die Anzahl der Beiträge die von jedem Nutzer maximal auf der Gemeinschaftsseite angezeigt werden sollen. Dieser Parameter wird nicht für die Globale Gemeinschaftsseite genutzt."
 
-#: mod/contacts.php:598
-msgid "Block/Unblock contact"
-msgstr "Kontakt blockieren/freischalten"
+#: mod/admin.php:1110
+msgid "Enable OStatus support"
+msgstr "OStatus Unterstützung aktivieren"
 
-#: mod/contacts.php:599
-msgid "Ignore contact"
-msgstr "Ignoriere den Kontakt"
+#: mod/admin.php:1110
+msgid ""
+"Provide built-in OStatus (StatusNet, GNU Social etc.) compatibility. All "
+"communications in OStatus are public, so privacy warnings will be "
+"occasionally displayed."
+msgstr "Biete die eingebaute OStatus (iStatusNet, GNU Social, etc.) Unterstützung an. Jede Kommunikation in OStatus ist öffentlich, Privatsphäre Warnungen werden nur bei Bedarf angezeigt."
 
-#: mod/contacts.php:600
-msgid "Repair URL settings"
-msgstr "URL Einstellungen reparieren"
+#: mod/admin.php:1111
+msgid "OStatus conversation completion interval"
+msgstr "Intervall zum Vervollständigen von OStatus Unterhaltungen"
 
-#: mod/contacts.php:601
-msgid "View conversations"
-msgstr "Unterhaltungen anzeigen"
+#: mod/admin.php:1111
+msgid ""
+"How often shall the poller check for new entries in OStatus conversations? "
+"This can be a very ressource task."
+msgstr "Wie oft soll der Poller checken ob es neue Nachrichten in OStatus Unterhaltungen gibt die geladen werden müssen. Je nach Anzahl der OStatus Kontakte könnte dies ein sehr Ressourcen lastiger Job sein."
 
-#: mod/contacts.php:607
-msgid "Last update:"
-msgstr "Letzte Aktualisierung: "
+#: mod/admin.php:1112
+msgid "Only import OStatus threads from our contacts"
+msgstr "Nur OStatus Konversationen unserer Kontakte importieren"
 
-#: mod/contacts.php:609
-msgid "Update public posts"
-msgstr "Öffentliche Beiträge aktualisieren"
+#: mod/admin.php:1112
+msgid ""
+"Normally we import every content from our OStatus contacts. With this option"
+" we only store threads that are started by a contact that is known on our "
+"system."
+msgstr "Normalerweise werden alle Inhalte von OStatus Kontakten importiert. Mit dieser Option werden nur solche Konversationen gespeichert, die von Kontakten der Nutzer dieses Knotens gestartet wurden."
 
-#: mod/contacts.php:611 mod/contacts.php:985
-msgid "Update now"
-msgstr "Jetzt aktualisieren"
+#: mod/admin.php:1113
+msgid "OStatus support can only be enabled if threading is enabled."
+msgstr "OStatus Unterstützung kann nur aktiviert werden wenn \"Threading\" aktiviert ist. "
 
-#: mod/contacts.php:617 mod/contacts.php:817 mod/contacts.php:1002
-msgid "Unignore"
-msgstr "Ignorieren aufheben"
+#: mod/admin.php:1115
+msgid ""
+"Diaspora support can't be enabled because Friendica was installed into a sub"
+" directory."
+msgstr "Diaspora Unterstützung kann nicht aktiviert werden da Friendica in ein Unterverzeichnis installiert ist."
 
-#: mod/contacts.php:621
-msgid "Currently blocked"
-msgstr "Derzeit geblockt"
+#: mod/admin.php:1116
+msgid "Enable Diaspora support"
+msgstr "Diaspora Unterstützung aktivieren"
 
-#: mod/contacts.php:622
-msgid "Currently ignored"
-msgstr "Derzeit ignoriert"
+#: mod/admin.php:1116
+msgid "Provide built-in Diaspora network compatibility."
+msgstr "Verwende die eingebaute Diaspora-Verknüpfung."
 
-#: mod/contacts.php:623
-msgid "Currently archived"
-msgstr "Momentan archiviert"
+#: mod/admin.php:1117
+msgid "Only allow Friendica contacts"
+msgstr "Nur Friendica-Kontakte erlauben"
 
-#: mod/contacts.php:624
+#: mod/admin.php:1117
 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"
+"All contacts must use Friendica protocols. All other built-in communication "
+"protocols disabled."
+msgstr "Alle Kontakte müssen das Friendica Protokoll nutzen. Alle anderen Kommunikationsprotokolle werden deaktiviert."
 
-#: mod/contacts.php:625
-msgid "Notification for new posts"
-msgstr "Benachrichtigung bei neuen Beiträgen"
+#: mod/admin.php:1118
+msgid "Verify SSL"
+msgstr "SSL Überprüfen"
 
-#: mod/contacts.php:625
-msgid "Send a notification of every new post of this contact"
-msgstr "Sende eine Benachrichtigung, wann immer dieser Kontakt einen neuen Beitrag schreibt."
+#: mod/admin.php:1118
+msgid ""
+"If you wish, you can turn on strict certificate checking. This will mean you"
+" cannot connect (at all) to self-signed SSL sites."
+msgstr "Wenn gewollt, kann man hier eine strenge Zertifikatkontrolle einstellen. Das bedeutet, dass man zu keinen Seiten mit selbst unterzeichnetem SSL eine Verbindung herstellen kann."
 
-#: mod/contacts.php:628
-msgid "Blacklisted keywords"
-msgstr "Blacklistete Schlüsselworte "
+#: mod/admin.php:1119
+msgid "Proxy user"
+msgstr "Proxy Nutzer"
 
-#: mod/contacts.php:628
-msgid ""
-"Comma separated list of keywords that should not be converted to hashtags, "
-"when \"Fetch information and keywords\" is selected"
-msgstr "Komma-Separierte Liste mit Schlüsselworten, die nicht in Hashtags konvertiert werden, wenn \"Beziehe Information und Schlüsselworte\" aktiviert wurde"
+#: mod/admin.php:1120
+msgid "Proxy URL"
+msgstr "Proxy URL"
 
-#: mod/contacts.php:646
-msgid "Actions"
-msgstr "Aktionen"
+#: mod/admin.php:1121
+msgid "Network timeout"
+msgstr "Netzwerk Wartezeit"
 
-#: mod/contacts.php:649
-msgid "Contact Settings"
-msgstr "Kontakteinstellungen"
+#: mod/admin.php:1121
+msgid "Value is in seconds. Set to 0 for unlimited (not recommended)."
+msgstr "Der Wert ist in Sekunden. Setze 0 für unbegrenzt (nicht empfohlen)."
 
-#: mod/contacts.php:695
-msgid "Suggestions"
-msgstr "Kontaktvorschläge"
+#: mod/admin.php:1122
+msgid "Maximum Load Average"
+msgstr "Maximum Load Average"
 
-#: mod/contacts.php:698
-msgid "Suggest potential friends"
-msgstr "Kontakte vorschlagen"
+#: mod/admin.php:1122
+msgid ""
+"Maximum system load before delivery and poll processes are deferred - "
+"default 50."
+msgstr "Maximale Systemlast bevor Verteil- und Empfangsprozesse verschoben werden - Standard 50"
 
-#: mod/contacts.php:706
-msgid "Show all contacts"
-msgstr "Alle Kontakte anzeigen"
+#: mod/admin.php:1123
+msgid "Maximum Load Average (Frontend)"
+msgstr "Maximum Load Average (Frontend)"
 
-#: mod/contacts.php:711
-msgid "Unblocked"
-msgstr "Ungeblockt"
+#: mod/admin.php:1123
+msgid "Maximum system load before the frontend quits service - default 50."
+msgstr "Maximale Systemlast bevor Vordergrundprozesse pausiert werden - Standard 50."
 
-#: mod/contacts.php:714
-msgid "Only show unblocked contacts"
-msgstr "Nur nicht-blockierte Kontakte anzeigen"
+#: mod/admin.php:1124
+msgid "Minimal Memory"
+msgstr "Minimaler Speicher"
 
-#: mod/contacts.php:720
-msgid "Blocked"
-msgstr "Geblockt"
+#: mod/admin.php:1124
+msgid ""
+"Minimal free memory in MB for the poller. Needs access to /proc/meminfo - "
+"default 0 (deactivated)."
+msgstr "Minimal freier Speicher in MB für den Poller. Benötigt Zugriff auf /proc/meminfo - Standard 0 (Deaktiviert)."
 
-#: mod/contacts.php:723
-msgid "Only show blocked contacts"
-msgstr "Nur blockierte Kontakte anzeigen"
+#: mod/admin.php:1125
+msgid "Maximum table size for optimization"
+msgstr "Maximale Tabellengröße zur Optimierung"
 
-#: mod/contacts.php:729
-msgid "Ignored"
-msgstr "Ignoriert"
+#: mod/admin.php:1125
+msgid ""
+"Maximum table size (in MB) for the automatic optimization - default 100 MB. "
+"Enter -1 to disable it."
+msgstr "Maximale Tabellengröße (in MB) für die automatische Optimierung - Standard 100 MB. Gib -1 für Deaktivierung ein."
 
-#: mod/contacts.php:732
-msgid "Only show ignored contacts"
-msgstr "Nur ignorierte Kontakte anzeigen"
+#: mod/admin.php:1126
+msgid "Minimum level of fragmentation"
+msgstr "Minimaler Fragmentationsgrad"
 
-#: mod/contacts.php:738
-msgid "Archived"
-msgstr "Archiviert"
+#: mod/admin.php:1126
+msgid ""
+"Minimum fragmenation level to start the automatic optimization - default "
+"value is 30%."
+msgstr "Minimales Fragmentationsgrad von Datenbanktabellen um die automatische Optimierung einzuleiten - Standardwert ist 30%"
 
-#: mod/contacts.php:741
-msgid "Only show archived contacts"
-msgstr "Nur archivierte Kontakte anzeigen"
+#: mod/admin.php:1128
+msgid "Periodical check of global contacts"
+msgstr "Regelmäßig globale Kontakte überprüfen"
 
-#: mod/contacts.php:747
-msgid "Hidden"
-msgstr "Verborgen"
+#: mod/admin.php:1128
+msgid ""
+"If enabled, the global contacts are checked periodically for missing or "
+"outdated data and the vitality of the contacts and servers."
+msgstr "Wenn diese Option aktiviert ist, werden die globalen Kontakte regelmäßig auf fehlende oder veraltete Daten sowie auf Erreichbarkeit des Kontakts und des Servers überprüft."
 
-#: mod/contacts.php:750
-msgid "Only show hidden contacts"
-msgstr "Nur verborgene Kontakte anzeigen"
+#: mod/admin.php:1129
+msgid "Days between requery"
+msgstr "Tage zwischen erneuten Abfragen"
 
-#: mod/contacts.php:807
-msgid "Search your contacts"
-msgstr "Suche in deinen Kontakten"
+#: mod/admin.php:1129
+msgid "Number of days after which a server is requeried for his contacts."
+msgstr "Legt das Abfrageintervall fest, nachdem ein Server erneut nach Kontakten abgefragt werden soll."
 
-#: mod/contacts.php:815 mod/settings.php:162 mod/settings.php:708
-msgid "Update"
-msgstr "Aktualisierungen"
+#: mod/admin.php:1130
+msgid "Discover contacts from other servers"
+msgstr "Neue Kontakte auf anderen Servern entdecken"
 
-#: mod/contacts.php:818 mod/contacts.php:1010
-msgid "Archive"
-msgstr "Archivieren"
+#: mod/admin.php:1130
+msgid ""
+"Periodically query other servers for contacts. You can choose between "
+"'users': the users on the remote system, 'Global Contacts': active contacts "
+"that are known on the system. The fallback is meant for Redmatrix servers "
+"and older friendica servers, where global contacts weren't available. The "
+"fallback increases the server load, so the recommened setting is 'Users, "
+"Global Contacts'."
+msgstr "Regelmäßig andere Server nach potentiellen Kontakten absuchen. Du kannst zwischen 'Nutzern', den tatsächlichen Nutzern des anderen Systems und 'globalen Kontakten', aktiven Kontakten die auf dem System bekannt sind, wählen. Der Fallback-Mechanismus ist für ältere Friendica und Redmatrix Server gedacht, bei denen globale Kontakte noch nicht verfügbar sind. Durch den Fallbackmodus entsteht auf deinem Server eine wesentlich höhere Last, empfohlen wird der Modus 'Nutzer, globale Kontakte'."
 
-#: mod/contacts.php:818 mod/contacts.php:1010
-msgid "Unarchive"
-msgstr "Aus Archiv zurückholen"
+#: mod/admin.php:1131
+msgid "Timeframe for fetching global contacts"
+msgstr "Zeitfenster für globale Kontakte"
 
-#: mod/contacts.php:821
-msgid "Batch Actions"
-msgstr "Stapelverarbeitung"
+#: mod/admin.php:1131
+msgid ""
+"When the discovery is activated, this value defines the timeframe for the "
+"activity of the global contacts that are fetched from other servers."
+msgstr "Wenn die Entdeckung neuer Kontakte aktiv ist, definiert dieses Zeitfenster den Zeitraum in dem globale Kontakte als aktiv gelten und von anderen Servern importiert werden."
 
-#: mod/contacts.php:867
-msgid "View all contacts"
-msgstr "Alle Kontakte anzeigen"
+#: mod/admin.php:1132
+msgid "Search the local directory"
+msgstr "Lokales Verzeichnis durchsuchen"
 
-#: mod/contacts.php:877
-msgid "View all common friends"
-msgstr "Alle Kontakte anzeigen"
+#: mod/admin.php:1132
+msgid ""
+"Search the local directory instead of the global directory. When searching "
+"locally, every search will be executed on the global directory in the "
+"background. This improves the search results when the search is repeated."
+msgstr "Suche im lokalen Verzeichnis anstelle des globalen Verzeichnisses durchführen. Jede Suche wird im Hintergrund auch im globalen Verzeichnis durchgeführt umd die Suchresultate zu verbessern, wenn diese Suche wiederholt wird."
 
-#: mod/contacts.php:884
-msgid "Advanced Contact Settings"
-msgstr "Fortgeschrittene Kontakteinstellungen"
+#: mod/admin.php:1134
+msgid "Publish server information"
+msgstr "Server Informationen veröffentlichen"
 
-#: mod/contacts.php:918
-msgid "Mutual Friendship"
-msgstr "Beidseitige Freundschaft"
+#: mod/admin.php:1134
+msgid ""
+"If enabled, general server and usage data will be published. The data "
+"contains the name and version of the server, number of users with public "
+"profiles, number of posts and the activated protocols and connectors. See <a"
+" href='http://the-federation.info/'>the-federation.info</a> for details."
+msgstr "Wenn aktiviert, werden allgemeine Informationen über den Server und Nutzungsdaten veröffentlicht. Die Daten beinhalten den Namen sowie die Version des Servers, die Anzahl der Nutzer_innen mit öffentlichen Profilen, die Anzahl der Beiträge sowie aktivierte Protokolle und Connectoren. Für Details bitte <a href='http://the-federation.info/'>the-federation.info</a> aufrufen."
 
-#: mod/contacts.php:922
-msgid "is a fan of yours"
-msgstr "ist ein Fan von dir"
+#: mod/admin.php:1136
+msgid "Suppress Tags"
+msgstr "Tags Unterdrücken"
 
-#: mod/contacts.php:926
-msgid "you are a fan of"
-msgstr "Du bist Fan von"
+#: mod/admin.php:1136
+msgid "Suppress showing a list of hashtags at the end of the posting."
+msgstr "Unterdrückt die Anzeige von Tags am Ende eines Beitrags."
 
-#: mod/contacts.php:996
-msgid "Toggle Blocked status"
-msgstr "Geblockt-Status ein-/ausschalten"
+#: mod/admin.php:1137
+msgid "Path to item cache"
+msgstr "Pfad zum Eintrag Cache"
 
-#: mod/contacts.php:1004
-msgid "Toggle Ignored status"
-msgstr "Ignoriert-Status ein-/ausschalten"
+#: mod/admin.php:1137
+msgid "The item caches buffers generated bbcode and external images."
+msgstr "Im Item-Cache werden externe Bilder und geparster BBCode zwischen gespeichert."
 
-#: mod/contacts.php:1012
-msgid "Toggle Archive status"
-msgstr "Archiviert-Status ein-/ausschalten"
+#: mod/admin.php:1138
+msgid "Cache duration in seconds"
+msgstr "Cache-Dauer in Sekunden"
 
-#: mod/contacts.php:1020
-msgid "Delete contact"
-msgstr "Lösche den Kontakt"
+#: mod/admin.php:1138
+msgid ""
+"How long should the cache files be hold? Default value is 86400 seconds (One"
+" day). To disable the item cache, set the value to -1."
+msgstr "Wie lange sollen die gecachedten Dateien vorgehalten werden? Grundeinstellung sind 86400 Sekunden (ein Tag). Um den Item Cache zu deaktivieren, setze diesen Wert auf -1."
 
-#: mod/profile_photo.php:44
-msgid "Image uploaded but image cropping failed."
-msgstr "Bild hochgeladen, aber das Zuschneiden schlug fehl."
+#: mod/admin.php:1139
+msgid "Maximum numbers of comments per post"
+msgstr "Maximale Anzahl von Kommentaren pro Beitrag"
 
-#: mod/profile_photo.php:77 mod/profile_photo.php:85 mod/profile_photo.php:93
-#: mod/profile_photo.php:322
-#, php-format
-msgid "Image size reduction [%s] failed."
-msgstr "Verkleinern der Bildgröße von [%s] scheiterte."
+#: mod/admin.php:1139
+msgid "How much comments should be shown for each post? Default value is 100."
+msgstr "Wie viele Kommentare sollen pro Beitrag angezeigt werden? Standardwert sind 100."
 
-#: mod/profile_photo.php:127
+#: mod/admin.php:1140
+msgid "Temp path"
+msgstr "Temp Pfad"
+
+#: mod/admin.php:1140
 msgid ""
-"Shift-reload the page or clear browser cache if the new photo does not "
-"display immediately."
-msgstr "Drücke Umschalt+Neu Laden oder leere den Browser-Cache, falls das neue Foto nicht gleich angezeigt wird."
+"If you have a restricted system where the webserver can't access the system "
+"temp path, enter another path here."
+msgstr "Solltest du ein eingeschränktes System haben, auf dem der Webserver nicht auf das temp Verzeichnis des Systems zugreifen kann, setze hier einen anderen Pfad."
 
-#: mod/profile_photo.php:136
-msgid "Unable to process image"
-msgstr "Bild konnte nicht verarbeitet werden"
+#: mod/admin.php:1141
+msgid "Base path to installation"
+msgstr "Basis-Pfad zur Installation"
 
-#: mod/profile_photo.php:253
-msgid "Upload File:"
-msgstr "Datei hochladen:"
+#: mod/admin.php:1141
+msgid ""
+"If the system cannot detect the correct path to your installation, enter the"
+" correct path here. This setting should only be set if you are using a "
+"restricted system and symbolic links to your webroot."
+msgstr "Falls das System nicht den korrekten Pfad zu deiner Installation gefunden hat, gib den richtigen Pfad bitte hier ein. Du solltest hier den Pfad nur auf einem eingeschränkten System angeben müssen, bei dem du mit symbolischen Links auf dein Webverzeichnis verweist."
 
-#: mod/profile_photo.php:254
-msgid "Select a profile:"
-msgstr "Profil auswählen:"
+#: mod/admin.php:1142
+msgid "Disable picture proxy"
+msgstr "Bilder Proxy deaktivieren"
 
-#: mod/profile_photo.php:256
-msgid "Upload"
-msgstr "Hochladen"
+#: mod/admin.php:1142
+msgid ""
+"The picture proxy increases performance and privacy. It shouldn't be used on"
+" systems with very low bandwith."
+msgstr "Der Proxy für Bilder verbessert die Leistung und Privatsphäre der Nutzer. Er sollte nicht auf Systemen verwendet werden, die nur über begrenzte Bandbreite verfügen."
 
-#: mod/profile_photo.php:259
-msgid "or"
-msgstr "oder"
+#: mod/admin.php:1143
+msgid "Only search in tags"
+msgstr "Nur in Tags suchen"
 
-#: mod/profile_photo.php:259
-msgid "skip this step"
-msgstr "diesen Schritt überspringen"
+#: mod/admin.php:1143
+msgid "On large systems the text search can slow down the system extremely."
+msgstr "Auf großen Knoten kann die Volltext-Suche das System ausbremsen."
 
-#: mod/profile_photo.php:259
-msgid "select a photo from your photo albums"
-msgstr "wähle ein Foto aus deinen Fotoalben"
+#: mod/admin.php:1145
+msgid "New base url"
+msgstr "Neue Basis-URL"
 
-#: mod/profile_photo.php:273
-msgid "Crop Image"
-msgstr "Bild zurechtschneiden"
+#: mod/admin.php:1145
+msgid ""
+"Change base url for this server. Sends relocate message to all DFRN contacts"
+" of all users."
+msgstr "Ändert die Basis-URL dieses Servers und sendet eine Umzugsmitteilung an alle DFRN Kontakte deiner Nutzer_innen."
 
-#: mod/profile_photo.php:274
-msgid "Please adjust the image cropping for optimum viewing."
-msgstr "Passe bitte den Bildausschnitt an, damit das Bild optimal dargestellt werden kann."
+#: mod/admin.php:1147
+msgid "RINO Encryption"
+msgstr "RINO Verschlüsselung"
 
-#: mod/profile_photo.php:276
-msgid "Done Editing"
-msgstr "Bearbeitung abgeschlossen"
+#: mod/admin.php:1147
+msgid "Encryption layer between nodes."
+msgstr "Verschlüsselung zwischen Friendica Instanzen"
 
-#: mod/profile_photo.php:312
-msgid "Image uploaded successfully."
-msgstr "Bild erfolgreich hochgeladen."
+#: mod/admin.php:1149
+msgid "Maximum number of parallel workers"
+msgstr "Maximale Anzahl parallel laufender Worker"
 
-#: mod/profiles.php:42
-msgid "Profile deleted."
-msgstr "Profil gelöscht."
+#: mod/admin.php:1149
+msgid ""
+"On shared hosters set this to 2. On larger systems, values of 10 are great. "
+"Default value is 4."
+msgstr "Wenn dein Knoten bei einem Shared Hoster ist, setzte diesen Wert auf 2. Auf größeren Systemen funktioniert ein Wert von 10 recht gut. Standardeinstellung sind 4."
 
-#: mod/profiles.php:58 mod/profiles.php:94
-msgid "Profile-"
-msgstr "Profil-"
+#: mod/admin.php:1150
+msgid "Don't use 'proc_open' with the worker"
+msgstr "'proc_open' nicht mit den Workern verwenden"
 
-#: mod/profiles.php:77 mod/profiles.php:122
-msgid "New profile created."
-msgstr "Neues Profil angelegt."
+#: mod/admin.php:1150
+msgid ""
+"Enable this if your system doesn't allow the use of 'proc_open'. This can "
+"happen on shared hosters. If this is enabled you should increase the "
+"frequency of poller calls in your crontab."
+msgstr "Aktiviere diese Option, wenn dein System die Verwendung von 'proc_open' verhindert. Dies könnte auf Shared Hostern der Fall sein. Wenn du diese Option aktivierst, solltest du die Frequenz der poller Aufrufe in deiner crontab erhöhen."
 
-#: mod/profiles.php:100
-msgid "Profile unavailable to clone."
-msgstr "Profil nicht zum Duplizieren verfügbar."
+#: mod/admin.php:1151
+msgid "Enable fastlane"
+msgstr "Aktiviere Fastlane"
 
-#: mod/profiles.php:196
-msgid "Profile Name is required."
-msgstr "Profilname ist erforderlich."
+#: mod/admin.php:1151
+msgid ""
+"When enabed, the fastlane mechanism starts an additional worker if processes"
+" with higher priority are blocked by processes of lower priority."
+msgstr "Wenn aktiviert, wird der Fastlane-Mechanismus einen weiteren Worker-Prozeß starten wenn Prozesse mit höherer Priorität von Prozessen mit niedrigerer Priorität blockiert werden."
 
-#: mod/profiles.php:336
-msgid "Marital Status"
-msgstr "Familienstand"
+#: mod/admin.php:1152
+msgid "Enable frontend worker"
+msgstr "Aktiviere den Frontend Worker"
 
-#: mod/profiles.php:340
-msgid "Romantic Partner"
-msgstr "Romanze"
+#: mod/admin.php:1152
+msgid ""
+"When enabled the Worker process is triggered when backend access is "
+"performed (e.g. messages being delivered). On smaller sites you might want "
+"to call yourdomain.tld/worker on a regular basis via an external cron job. "
+"You should only enable this option if you cannot utilize cron/scheduled jobs"
+" on your server. The worker background process needs to be activated for "
+"this."
+msgstr "Ist diese Option aktiv, wird der Worker Prozess durch Aktionen am Frontend gestartet (z.B. wenn Nachrichten zugestellt werden). Auf kleineren Seiten sollte yourdomain.tld/worker regelmäßig, beispielsweise durch einen externen Cron Anbieter, aufgerufen werden. Du solltest dies Option nur dann aktivieren, wenn du keinen Cron Job auf deinem eigenen Server starten kannst. Damit diese Option einen Effekt hat, muss der Worker Prozess aktiviert sein."
 
-#: mod/profiles.php:352
-msgid "Work/Employment"
-msgstr "Arbeit / Beschäftigung"
+#: mod/admin.php:1182
+msgid "Update has been marked successful"
+msgstr "Update wurde als erfolgreich markiert"
 
-#: mod/profiles.php:355
-msgid "Religion"
-msgstr "Religion"
+#: mod/admin.php:1190
+#, php-format
+msgid "Database structure update %s was successfully applied."
+msgstr "Das Update %s der Struktur der Datenbank wurde erfolgreich angewandt."
 
-#: mod/profiles.php:359
-msgid "Political Views"
-msgstr "Politische Ansichten"
+#: mod/admin.php:1193
+#, php-format
+msgid "Executing of database structure update %s failed with error: %s"
+msgstr "Das Update %s der Struktur der Datenbank schlug mit folgender Fehlermeldung fehl: %s"
 
-#: mod/profiles.php:363
-msgid "Gender"
-msgstr "Geschlecht"
+#: mod/admin.php:1207
+#, php-format
+msgid "Executing %s failed with error: %s"
+msgstr "Die Ausführung von %s schlug fehl. Fehlermeldung: %s"
 
-#: mod/profiles.php:367
-msgid "Sexual Preference"
-msgstr "Sexuelle Vorlieben"
+#: mod/admin.php:1210
+#, php-format
+msgid "Update %s was successfully applied."
+msgstr "Update %s war erfolgreich."
 
-#: mod/profiles.php:371
-msgid "XMPP"
-msgstr "XMPP"
+#: mod/admin.php:1213
+#, php-format
+msgid "Update %s did not return a status. Unknown if it succeeded."
+msgstr "Update %s hat keinen Status zurückgegeben. Unbekannter Status."
 
-#: mod/profiles.php:375
-msgid "Homepage"
-msgstr "Webseite"
+#: mod/admin.php:1216
+#, php-format
+msgid "There was no additional update function %s that needed to be called."
+msgstr "Es gab keine weitere Update-Funktion, die von %s ausgeführt werden musste."
 
-#: mod/profiles.php:379 mod/profiles.php:698
-msgid "Interests"
-msgstr "Interessen"
+#: mod/admin.php:1236
+msgid "No failed updates."
+msgstr "Keine fehlgeschlagenen Updates."
 
-#: mod/profiles.php:383
-msgid "Address"
-msgstr "Adresse"
+#: mod/admin.php:1237
+msgid "Check database structure"
+msgstr "Datenbank Struktur überprüfen"
 
-#: mod/profiles.php:390 mod/profiles.php:694
-msgid "Location"
-msgstr "Wohnort"
+#: mod/admin.php:1242
+msgid "Failed Updates"
+msgstr "Fehlgeschlagene Updates"
 
-#: mod/profiles.php:475
-msgid "Profile updated."
-msgstr "Profil aktualisiert."
+#: mod/admin.php:1243
+msgid ""
+"This does not include updates prior to 1139, which did not return a status."
+msgstr "Ohne Updates vor 1139, da diese keinen Status zurückgegeben haben."
 
-#: mod/profiles.php:567
-msgid " and "
-msgstr " und "
+#: mod/admin.php:1244
+msgid "Mark success (if update was manually applied)"
+msgstr "Als erfolgreich markieren (falls das Update manuell installiert wurde)"
 
-#: mod/profiles.php:576
-msgid "public profile"
-msgstr "öffentliches Profil"
+#: mod/admin.php:1245
+msgid "Attempt to execute this update step automatically"
+msgstr "Versuchen, diesen Schritt automatisch auszuführen"
 
-#: mod/profiles.php:579
+#: mod/admin.php:1279
 #, php-format
-msgid "%1$s changed %2$s to &ldquo;%3$s&rdquo;"
-msgstr "%1$s hat %2$s geändert auf &ldquo;%3$s&rdquo;"
+msgid ""
+"\n"
+"\t\t\tDear %1$s,\n"
+"\t\t\t\tthe administrator of %2$s has set up an account for you."
+msgstr "\nHallo %1$s,\n\nauf %2$s wurde ein Account für Dich angelegt."
 
-#: mod/profiles.php:580
+#: mod/admin.php:1282
 #, php-format
-msgid " - Visit %1$s's %2$s"
-msgstr " – %1$ss %2$s besuchen"
+msgid ""
+"\n"
+"\t\t\tThe login details are as follows:\n"
+"\n"
+"\t\t\tSite Location:\t%1$s\n"
+"\t\t\tLogin Name:\t\t%2$s\n"
+"\t\t\tPassword:\t\t%3$s\n"
+"\n"
+"\t\t\tYou may change your password from your account \"Settings\" page after logging\n"
+"\t\t\tin.\n"
+"\n"
+"\t\t\tPlease take a few moments to review the other account settings on that page.\n"
+"\n"
+"\t\t\tYou may also wish to add some basic information to your default profile\n"
+"\t\t\t(on the \"Profiles\" page) so that other people can easily find you.\n"
+"\n"
+"\t\t\tWe recommend setting your full name, adding a profile photo,\n"
+"\t\t\tadding some profile \"keywords\" (very useful in making new friends) - and\n"
+"\t\t\tperhaps what country you live in; if you do not wish to be more specific\n"
+"\t\t\tthan that.\n"
+"\n"
+"\t\t\tWe fully respect your right to privacy, and none of these items are necessary.\n"
+"\t\t\tIf you are new and do not know anybody here, they may help\n"
+"\t\t\tyou to make some new and interesting friends.\n"
+"\n"
+"\t\t\tThank you and welcome to %4$s."
+msgstr "\nNachfolgend die Anmelde-Details:\n\tAdresse der Seite:\t%1$s\n\tBenutzername:\t%2$s\n\tPasswort:\t%3$s\n\nDu kannst Dein Passwort unter \"Einstellungen\" ändern, sobald Du Dich\nangemeldet hast.\n\nBitte nimm Dir ein paar Minuten um die anderen Einstellungen auf dieser\nSeite zu kontrollieren.\n\nEventuell magst Du ja auch einige Informationen über Dich in Deinem\nProfil veröffentlichen, damit andere Leute Dich einfacher finden können.\nBearbeite hierfür einfach Dein Standard-Profil (über die Profil-Seite).\n\nWir empfehlen Dir, Deinen kompletten Namen anzugeben und ein zu Dir\npassendes Profilbild zu wählen, damit Dich alte Bekannte wieder finden.\nAußerdem ist es nützlich, wenn Du auf Deinem Profil Schlüsselwörter\nangibst. Das erleichtert es, Leute zu finden, die Deine Interessen teilen.\n\nWir respektieren Deine Privatsphäre - keine dieser Angaben ist nötig.\nWenn Du neu im Netzwerk bist und noch niemanden kennst, dann können sie\nallerdings dabei helfen, neue und interessante Kontakte zu knüpfen.\n\nNun viel Spaß, gute Begegnungen und willkommen auf %4$s."
 
-#: mod/profiles.php:582
+#: mod/admin.php:1326
 #, php-format
-msgid "%1$s has an updated %2$s, changing %3$s."
-msgstr "%1$s hat folgendes aktualisiert %2$s, verändert wurde %3$s."
+msgid "%s user blocked/unblocked"
+msgid_plural "%s users blocked/unblocked"
+msgstr[0] "%s Benutzer geblockt/freigegeben"
+msgstr[1] "%s Benutzer geblockt/freigegeben"
 
-#: mod/profiles.php:640
-msgid "Hide contacts and friends:"
-msgstr "Kontakte und Freunde verbergen"
+#: mod/admin.php:1333
+#, php-format
+msgid "%s user deleted"
+msgid_plural "%s users deleted"
+msgstr[0] "%s Nutzer gelöscht"
+msgstr[1] "%s Nutzer gelöscht"
 
-#: mod/profiles.php:645
-msgid "Hide your contact/friend list from viewers of this profile?"
-msgstr "Liste der Kontakte vor Betrachtern dieses Profils verbergen?"
+#: mod/admin.php:1380
+#, php-format
+msgid "User '%s' deleted"
+msgstr "Nutzer '%s' gelöscht"
 
-#: mod/profiles.php:670
-msgid "Show more profile fields:"
-msgstr "Zeige mehr Profil-Felder:"
+#: mod/admin.php:1388
+#, php-format
+msgid "User '%s' unblocked"
+msgstr "Nutzer '%s' entsperrt"
 
-#: mod/profiles.php:682
-msgid "Profile Actions"
-msgstr "Profilaktionen"
+#: mod/admin.php:1388
+#, php-format
+msgid "User '%s' blocked"
+msgstr "Nutzer '%s' gesperrt"
 
-#: mod/profiles.php:683
-msgid "Edit Profile Details"
-msgstr "Profil bearbeiten"
+#: mod/admin.php:1496 mod/admin.php:1522
+msgid "Register date"
+msgstr "Anmeldedatum"
 
-#: mod/profiles.php:685
-msgid "Change Profile Photo"
-msgstr "Profilbild ändern"
+#: mod/admin.php:1496 mod/admin.php:1522
+msgid "Last login"
+msgstr "Letzte Anmeldung"
 
-#: mod/profiles.php:686
-msgid "View this profile"
-msgstr "Dieses Profil anzeigen"
+#: mod/admin.php:1496 mod/admin.php:1522
+msgid "Last item"
+msgstr "Letzter Beitrag"
 
-#: mod/profiles.php:688
-msgid "Create a new profile using these settings"
-msgstr "Neues Profil anlegen und diese Einstellungen verwenden"
+#: mod/admin.php:1496 mod/settings.php:45
+msgid "Account"
+msgstr "Nutzerkonto"
 
-#: mod/profiles.php:689
-msgid "Clone this profile"
-msgstr "Dieses Profil duplizieren"
+#: mod/admin.php:1505
+msgid "Add User"
+msgstr "Nutzer hinzufügen"
 
-#: mod/profiles.php:690
-msgid "Delete this profile"
-msgstr "Dieses Profil löschen"
+#: mod/admin.php:1506
+msgid "select all"
+msgstr "Alle auswählen"
 
-#: mod/profiles.php:692
-msgid "Basic information"
-msgstr "Grundinformationen"
+#: mod/admin.php:1507
+msgid "User registrations waiting for confirm"
+msgstr "Neuanmeldungen, die auf Deine Bestätigung warten"
 
-#: mod/profiles.php:693
-msgid "Profile picture"
-msgstr "Profilbild"
+#: mod/admin.php:1508
+msgid "User waiting for permanent deletion"
+msgstr "Nutzer wartet auf permanente Löschung"
 
-#: mod/profiles.php:695
-msgid "Preferences"
-msgstr "Vorlieben"
+#: mod/admin.php:1509
+msgid "Request date"
+msgstr "Anfragedatum"
 
-#: mod/profiles.php:696
-msgid "Status information"
-msgstr "Status Informationen"
+#: mod/admin.php:1510
+msgid "No registrations."
+msgstr "Keine Neuanmeldungen."
 
-#: mod/profiles.php:697
-msgid "Additional information"
-msgstr "Zusätzliche Informationen"
+#: mod/admin.php:1511
+msgid "Note from the user"
+msgstr "Hinweis vom Nutzer"
+
+#: mod/admin.php:1513
+msgid "Deny"
+msgstr "Verwehren"
 
-#: mod/profiles.php:700
-msgid "Relation"
-msgstr "Beziehung"
+#: mod/admin.php:1517
+msgid "Site admin"
+msgstr "Seitenadministrator"
 
-#: mod/profiles.php:704
-msgid "Your Gender:"
-msgstr "Dein Geschlecht:"
+#: mod/admin.php:1518
+msgid "Account expired"
+msgstr "Account ist abgelaufen"
 
-#: mod/profiles.php:705
-msgid "<span class=\"heart\">&hearts;</span> Marital Status:"
-msgstr "<span class=\"heart\">&hearts;</span> Beziehungsstatus:"
+#: mod/admin.php:1521
+msgid "New User"
+msgstr "Neuer Nutzer"
 
-#: mod/profiles.php:707
-msgid "Example: fishing photography software"
-msgstr "Beispiel: Fischen Fotografie Software"
+#: mod/admin.php:1522
+msgid "Deleted since"
+msgstr "Gelöscht seit"
 
-#: mod/profiles.php:712
-msgid "Profile Name:"
-msgstr "Profilname:"
+#: mod/admin.php:1527
+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/profiles.php:714
+#: mod/admin.php:1528
 msgid ""
-"This is your <strong>public</strong> profile.<br />It <strong>may</strong> "
-"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."
+"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/profiles.php:715
-msgid "Your Full Name:"
-msgstr "Dein kompletter Name:"
+#: mod/admin.php:1538
+msgid "Name of the new user."
+msgstr "Name des neuen Nutzers"
 
-#: mod/profiles.php:716
-msgid "Title/Description:"
-msgstr "Titel/Beschreibung:"
+#: mod/admin.php:1539
+msgid "Nickname"
+msgstr "Spitzname"
 
-#: mod/profiles.php:719
-msgid "Street Address:"
-msgstr "Adresse:"
+#: mod/admin.php:1539
+msgid "Nickname of the new user."
+msgstr "Spitznamen für den neuen Nutzer"
 
-#: mod/profiles.php:720
-msgid "Locality/City:"
-msgstr "Wohnort:"
+#: mod/admin.php:1540
+msgid "Email address of the new user."
+msgstr "Email Adresse des neuen Nutzers"
 
-#: mod/profiles.php:721
-msgid "Region/State:"
-msgstr "Region/Bundesstaat:"
+#: mod/admin.php:1583
+#, php-format
+msgid "Plugin %s disabled."
+msgstr "Plugin %s deaktiviert."
 
-#: mod/profiles.php:722
-msgid "Postal/Zip Code:"
-msgstr "Postleitzahl:"
+#: mod/admin.php:1587
+#, php-format
+msgid "Plugin %s enabled."
+msgstr "Plugin %s aktiviert."
 
-#: mod/profiles.php:723
-msgid "Country:"
-msgstr "Land:"
+#: mod/admin.php:1598 mod/admin.php:1850
+msgid "Disable"
+msgstr "Ausschalten"
 
-#: mod/profiles.php:727
-msgid "Who: (if applicable)"
-msgstr "Wer: (falls anwendbar)"
+#: mod/admin.php:1600 mod/admin.php:1852
+msgid "Enable"
+msgstr "Einschalten"
 
-#: mod/profiles.php:727
-msgid "Examples: cathy123, Cathy Williams, cathy@example.com"
-msgstr "Beispiele: cathy123, Cathy Williams, cathy@example.com"
+#: mod/admin.php:1623 mod/admin.php:1899
+msgid "Toggle"
+msgstr "Umschalten"
 
-#: mod/profiles.php:728
-msgid "Since [date]:"
-msgstr "Seit [Datum]:"
+#: mod/admin.php:1631 mod/admin.php:1908
+msgid "Author: "
+msgstr "Autor:"
 
-#: mod/profiles.php:730
-msgid "Tell us about yourself..."
-msgstr "Erzähle uns ein bisschen von Dir …"
+#: mod/admin.php:1632 mod/admin.php:1909
+msgid "Maintainer: "
+msgstr "Betreuer:"
 
-#: mod/profiles.php:731
-msgid "XMPP (Jabber) address:"
-msgstr "XMPP (Jabber) Adresse"
+#: mod/admin.php:1687
+msgid "Reload active plugins"
+msgstr "Aktive Plugins neu laden"
 
-#: mod/profiles.php:731
+#: mod/admin.php:1692
+#, php-format
 msgid ""
-"The XMPP address will be propagated to your contacts so that they can follow"
-" you."
-msgstr "Die XMPP Adresse wird an deine Kontakte verteilt werden, so dass sie auch über XMPP mit dir in Kontakt treten können."
+"There are currently no plugins available on your node. You can find the "
+"official plugin repository at %1$s and might find other interesting plugins "
+"in the open plugin registry at %2$s"
+msgstr "Es sind derzeit keine Plugins auf diesem Knoten verfügbar. Du findest das offizielle Plugin-Repository unter %1$s und weitere eventuell interessante Plugins im offenen Plugins-Verzeichnis auf %2$s."
 
-#: mod/profiles.php:732
-msgid "Homepage URL:"
-msgstr "Adresse der Homepage:"
+#: mod/admin.php:1811
+msgid "No themes found."
+msgstr "Keine Themen gefunden."
 
-#: mod/profiles.php:735
-msgid "Religious Views:"
-msgstr "Religiöse Ansichten:"
+#: mod/admin.php:1890
+msgid "Screenshot"
+msgstr "Bildschirmfoto"
 
-#: mod/profiles.php:736
-msgid "Public Keywords:"
-msgstr "Öffentliche Schlüsselwörter:"
+#: mod/admin.php:1950
+msgid "Reload active themes"
+msgstr "Aktives Theme neu laden"
 
-#: mod/profiles.php:736
-msgid "(Used for suggesting potential friends, can be seen by others)"
-msgstr "(Wird verwendet, um potentielle Kontakte zu finden, kann von Kontakten eingesehen werden)"
+#: mod/admin.php:1955
+#, php-format
+msgid "No themes found on the system. They should be paced in %1$s"
+msgstr "Es wurden keine Themes auf dem System gefunden. Diese sollten in %1$s patziert werden."
 
-#: mod/profiles.php:737
-msgid "Private Keywords:"
-msgstr "Private Schlüsselwörter:"
+#: mod/admin.php:1956
+msgid "[Experimental]"
+msgstr "[Experimentell]"
 
-#: mod/profiles.php:737
-msgid "(Used for searching profiles, never shown to others)"
-msgstr "(Wird für die Suche nach Profilen verwendet und niemals veröffentlicht)"
+#: mod/admin.php:1957
+msgid "[Unsupported]"
+msgstr "[Nicht unterstützt]"
 
-#: mod/profiles.php:740
-msgid "Musical interests"
-msgstr "Musikalische Interessen"
+#: mod/admin.php:1981
+msgid "Log settings updated."
+msgstr "Protokolleinstellungen aktualisiert."
 
-#: mod/profiles.php:741
-msgid "Books, literature"
-msgstr "Bücher, Literatur"
+#: mod/admin.php:2013
+msgid "PHP log currently enabled."
+msgstr "PHP Protokollierung ist derzeit aktiviert."
 
-#: mod/profiles.php:742
-msgid "Television"
-msgstr "Fernsehen"
+#: mod/admin.php:2015
+msgid "PHP log currently disabled."
+msgstr "PHP Protokollierung ist derzeit nicht aktiviert."
 
-#: mod/profiles.php:743
-msgid "Film/dance/culture/entertainment"
-msgstr "Filme/Tänze/Kultur/Unterhaltung"
+#: mod/admin.php:2024
+msgid "Clear"
+msgstr "löschen"
 
-#: mod/profiles.php:744
-msgid "Hobbies/Interests"
-msgstr "Hobbies/Interessen"
+#: mod/admin.php:2029
+msgid "Enable Debugging"
+msgstr "Protokoll führen"
 
-#: mod/profiles.php:745
-msgid "Love/romance"
-msgstr "Liebe/Romantik"
+#: mod/admin.php:2030
+msgid "Log file"
+msgstr "Protokolldatei"
 
-#: mod/profiles.php:746
-msgid "Work/employment"
-msgstr "Arbeit/Anstellung"
+#: mod/admin.php:2030
+msgid ""
+"Must be writable by web server. Relative to your Friendica top-level "
+"directory."
+msgstr "Webserver muss Schreibrechte besitzen. Abhängig vom Friendica-Installationsverzeichnis."
 
-#: mod/profiles.php:747
-msgid "School/education"
-msgstr "Schule/Ausbildung"
+#: mod/admin.php:2031
+msgid "Log level"
+msgstr "Protokoll-Level"
 
-#: mod/profiles.php:748
-msgid "Contact information and Social Networks"
-msgstr "Kontaktinformationen und Soziale Netzwerke"
+#: mod/admin.php:2034
+msgid "PHP logging"
+msgstr "PHP Protokollieren"
 
-#: mod/profiles.php:789
-msgid "Edit/Manage Profiles"
-msgstr "Bearbeite/Verwalte Profile"
+#: mod/admin.php:2035
+msgid ""
+"To enable logging of PHP errors and warnings you can add the following to "
+"the .htconfig.php file of your installation. The filename set in the "
+"'error_log' line is relative to the friendica top-level directory and must "
+"be writeable by the web server. The option '1' for 'log_errors' and "
+"'display_errors' is to enable these options, set to '0' to disable them."
+msgstr "Um PHP Warnungen und Fehler zu protokollieren, kannst du die folgenden Zeilen zur .htconfig.php Datei deiner Installation hinzufügen. Den Dateinamen der Log-Datei legst du in der Zeile mit dem 'error_log' fest,  Er ist relativ zum Friendica-Stammverzeichnis und muss schreibbar durch den Webserver sein. Eine \"1\" als Option für die Punkte 'log_errors' und 'display_errors' aktiviert die Funktionen zum Protokollieren bzw. Anzeigen der Fehler, eine \"0\" deaktiviert sie."
+
+#: mod/admin.php:2165 mod/admin.php:2166 mod/settings.php:783
+msgid "Off"
+msgstr "Aus"
+
+#: mod/admin.php:2165 mod/admin.php:2166 mod/settings.php:783
+msgid "On"
+msgstr "An"
+
+#: mod/admin.php:2166
+#, php-format
+msgid "Lock feature %s"
+msgstr "Feature festlegen: %s"
+
+#: mod/admin.php:2174
+msgid "Manage Additional Features"
+msgstr "Zusätzliche Features Verwalten"
 
 #: mod/settings.php:62
 msgid "Display"
@@ -8398,73 +8399,82 @@ msgid "Personal Page"
 msgstr "Persönliche Seite"
 
 #: mod/settings.php:1121
-msgid "This account is a regular personal profile"
-msgstr "Dieses Konto ist ein normales persönliches Profil"
+msgid "Account for a personal profile."
+msgstr "Konto für ein persönliches Profil."
 
 #: mod/settings.php:1124
 msgid "Organisation Page"
 msgstr "Organisationsseite"
 
 #: mod/settings.php:1125
-msgid "This account is a profile for an organisation"
-msgstr "Diese Konto ist ein Profil für eine Organisation"
+msgid ""
+"Account for an organisation that automatically approves contact requests as "
+"\"Followers\"."
+msgstr "Konto für eine Organisation, das Kontaktanfragen automatisch als \"Follower\" annimmt."
 
 #: mod/settings.php:1128
 msgid "News Page"
 msgstr "Nachrichtenseite"
 
 #: mod/settings.php:1129
-msgid "This account is a news account/reflector"
-msgstr "Dieses Konto ist ein News-Konto bzw. -Spiegel"
+msgid ""
+"Account for a news reflector that automatically approves contact requests as"
+" \"Followers\"."
+msgstr "Konto für einen Feedspiegel, das Kontaktanfragen automatisch als \"Follower\" annimmt."
 
 #: mod/settings.php:1132
 msgid "Community Forum"
 msgstr "Gemeinschaftsforum"
 
 #: mod/settings.php:1133
-msgid ""
-"This account is a community forum where people can discuss with each other"
-msgstr "Dieses Konto ist ein Gemeinschaftskonto wo sich Leute untereinander austauschen können"
+msgid "Account for community discussions."
+msgstr "Konto für Diskussionsforen. "
 
 #: mod/settings.php:1136
 msgid "Normal Account Page"
 msgstr "Normales Konto"
 
 #: mod/settings.php:1137
-msgid "This account is a normal personal profile"
-msgstr "Dieses Konto ist ein normales persönliches Profil"
+msgid ""
+"Account for a regular personal profile that requires manual approval of "
+"\"Friends\" and \"Followers\"."
+msgstr "Konto für ein normales persönliches Profil. Kontaktanfragen müssen manuell als \"Friend\" oder \"Follower\" bestätigt werden."
 
 #: mod/settings.php:1140
 msgid "Soapbox Page"
 msgstr "Marktschreier-Konto"
 
 #: mod/settings.php:1141
-msgid "Automatically approve all connection/friend requests as read-only fans"
-msgstr "Kontaktanfragen werden automatisch als Nurlese-Fans akzeptiert"
+msgid ""
+"Account for a public profile that automatically approves contact requests as"
+" \"Followers\"."
+msgstr "Konto für ein öffentliches Profil, das Kontaktanfragen automatisch als \"Follower\" annimmt."
 
 #: mod/settings.php:1144
 msgid "Public Forum"
 msgstr "Öffentliches Forum"
 
 #: mod/settings.php:1145
-msgid "Automatically approve all contact requests"
-msgstr "Bestätige alle Kontaktanfragen automatisch"
+msgid "Automatically approves all contact requests."
+msgstr "Akzeptiert automatisch alle Kontaktanfragen."
 
 #: mod/settings.php:1148
 msgid "Automatic Friend Page"
 msgstr "Automatische Freunde Seite"
 
 #: mod/settings.php:1149
-msgid "Automatically approve all connection/friend requests as friends"
-msgstr "Kontaktanfragen werden automatisch als Freund akzeptiert"
+msgid ""
+"Account for a popular profile that automatically approves contact requests "
+"as \"Friends\"."
+msgstr "Konto für ein gefragtes Profil, das Kontaktanfragen automatisch als \"Friend\" annimmt."
 
 #: mod/settings.php:1152
 msgid "Private Forum [Experimental]"
 msgstr "Privates Forum [Versuchsstadium]"
 
 #: mod/settings.php:1153
-msgid "Private forum - approved members only"
-msgstr "Privates Forum, nur für Mitglieder"
+msgid "Requires manual approval of contact requests."
+msgstr "Kontaktanfragen müssen manuell bestätigt werden."
 
 #: mod/settings.php:1164
 msgid "OpenID:"
@@ -8889,7 +8899,7 @@ msgstr "Stil auswählen"
 msgid "Community Pages"
 msgstr "Foren"
 
-#: view/theme/vier/config.php:118 view/theme/vier/theme.php:151
+#: view/theme/vier/config.php:118 view/theme/vier/theme.php:143
 msgid "Community Profiles"
 msgstr "Community-Profile"
 
@@ -8897,23 +8907,23 @@ msgstr "Community-Profile"
 msgid "Help or @NewHere ?"
 msgstr "Hilfe oder @NewHere"
 
-#: view/theme/vier/config.php:120 view/theme/vier/theme.php:392
+#: view/theme/vier/config.php:120 view/theme/vier/theme.php:384
 msgid "Connect Services"
 msgstr "Verbinde Dienste"
 
-#: view/theme/vier/config.php:121 view/theme/vier/theme.php:199
+#: view/theme/vier/config.php:121 view/theme/vier/theme.php:191
 msgid "Find Friends"
 msgstr "Kontakte finden"
 
-#: view/theme/vier/config.php:122 view/theme/vier/theme.php:181
+#: view/theme/vier/config.php:122 view/theme/vier/theme.php:173
 msgid "Last users"
 msgstr "Letzte Nutzer"
 
-#: view/theme/vier/theme.php:200
+#: view/theme/vier/theme.php:192
 msgid "Local Directory"
 msgstr "Lokales Verzeichnis"
 
-#: view/theme/vier/theme.php:292
+#: view/theme/vier/theme.php:284
 msgid "Quick Start"
 msgstr "Schnell-Start"
 
@@ -8929,43 +8939,43 @@ msgstr "weniger anzeigen"
 msgid "toggle mobile"
 msgstr "auf/von Mobile Ansicht wechseln"
 
-#: boot.php:726
+#: boot.php:733
 #, php-format
 msgid "Update %s failed. See error logs."
 msgstr "Update %s fehlgeschlagen. Bitte Fehlerprotokoll überprüfen."
 
-#: boot.php:838
+#: boot.php:845
 msgid "Create a New Account"
 msgstr "Neues Konto erstellen"
 
-#: boot.php:866
+#: boot.php:873
 msgid "Password: "
 msgstr "Passwort: "
 
-#: boot.php:867
+#: boot.php:874
 msgid "Remember me"
 msgstr "Anmeldedaten merken"
 
-#: boot.php:870
+#: boot.php:877
 msgid "Or login using OpenID: "
 msgstr "Oder melde Dich mit Deiner OpenID an: "
 
-#: boot.php:876
+#: boot.php:883
 msgid "Forgot your password?"
 msgstr "Passwort vergessen?"
 
-#: boot.php:879
+#: boot.php:886
 msgid "Website Terms of Service"
 msgstr "Website Nutzungsbedingungen"
 
-#: boot.php:880
+#: boot.php:887
 msgid "terms of service"
 msgstr "Nutzungsbedingungen"
 
-#: boot.php:882
+#: boot.php:889
 msgid "Website Privacy Policy"
 msgstr "Website Datenschutzerklärung"
 
-#: boot.php:883
+#: boot.php:890
 msgid "privacy policy"
 msgstr "Datenschutzerklärung"
index dfd177703582ef343c5b1ffb47fe62d8a6669d1d..eef03ce72a10ad82a776149064185766a33377ea 100644 (file)
@@ -97,22 +97,6 @@ $a->strings["add"] = "hinzufügen";
 $a->strings["Forums"] = "Foren";
 $a->strings["External link to forum"] = "Externer Link zum Forum";
 $a->strings["show more"] = "mehr anzeigen";
-$a->strings["System"] = "System";
-$a->strings["Network"] = "Netzwerk";
-$a->strings["Personal"] = "Persönlich";
-$a->strings["Home"] = "Pinnwand";
-$a->strings["Introductions"] = "Kontaktanfragen";
-$a->strings["%s commented on %s's post"] = "%s hat %ss Beitrag kommentiert";
-$a->strings["%s created a new post"] = "%s hat einen neuen Beitrag erstellt";
-$a->strings["%s liked %s's post"] = "%s mag %ss Beitrag";
-$a->strings["%s disliked %s's post"] = "%s mag %ss Beitrag nicht";
-$a->strings["%s is attending %s's event"] = "%s nimmt an %s's Event teil";
-$a->strings["%s is not attending %s's event"] = "%s nimmt nicht an %s's Event teil";
-$a->strings["%s may attend %s's event"] = "%s nimmt eventuell an %s's Event teil";
-$a->strings["%s is now friends with %s"] = "%s ist jetzt mit %s befreundet";
-$a->strings["Friend Suggestion"] = "Kontaktvorschlag";
-$a->strings["Friend/Connect Request"] = "Kontakt-/Freundschaftsanfrage";
-$a->strings["New Follower"] = "Neuer Bewunderer";
 $a->strings["Post to Email"] = "An E-Mail senden";
 $a->strings["Connectors disabled, since \"%s\" is enabled."] = "Konnektoren sind nicht verfügbar, da \"%s\" aktiv ist.";
 $a->strings["Hide your profile details from unknown viewers?"] = "Profil-Details vor unbekannten Betrachtern verbergen?";
@@ -423,16 +407,16 @@ $a->strings["comment"] = array(
 );
 $a->strings["post"] = "Beitrag";
 $a->strings["Item filed"] = "Beitrag abgelegt";
-$a->strings["Drop Contact"] = "Kontakt löschen";
-$a->strings["Organisation"] = "Organisation";
-$a->strings["News"] = "Nachrichten";
-$a->strings["Forum"] = "Forum";
 $a->strings["Image/photo"] = "Bild/Foto";
 $a->strings["<a href=\"%1\$s\" target=\"_blank\">%2\$s</a> %3\$s"] = "<a href=\"%1\$s\" target=\"_blank\">%2\$s</a> %3\$s";
 $a->strings["$1 wrote:"] = "$1 hat geschrieben:";
 $a->strings["Encrypted content"] = "Verschlüsselter Inhalt";
 $a->strings["Invalid source protocol"] = "Ungültiges Quell-Protokoll";
 $a->strings["Invalid link protocol"] = "Ungültiges Link-Protokoll";
+$a->strings["Drop Contact"] = "Kontakt löschen";
+$a->strings["Organisation"] = "Organisation";
+$a->strings["News"] = "Nachrichten";
+$a->strings["Forum"] = "Forum";
 $a->strings["Friendica Notification"] = "Friendica-Benachrichtigung";
 $a->strings["Thank You,"] = "Danke,";
 $a->strings["%s Administrator"] = "der Administrator von %s";
@@ -512,6 +496,7 @@ $a->strings["Personal notes"] = "Persönliche Notizen";
 $a->strings["Your personal notes"] = "Deine persönlichen Notizen";
 $a->strings["Login"] = "Anmeldung";
 $a->strings["Sign in"] = "Anmelden";
+$a->strings["Home"] = "Pinnwand";
 $a->strings["Home Page"] = "Homepage";
 $a->strings["Register"] = "Registrieren";
 $a->strings["Create an account"] = "Nutzerkonto erstellen";
@@ -528,9 +513,11 @@ $a->strings["Directory"] = "Verzeichnis";
 $a->strings["People directory"] = "Nutzerverzeichnis";
 $a->strings["Information"] = "Information";
 $a->strings["Information about this friendica instance"] = "Informationen zu dieser Friendica Instanz";
+$a->strings["Network"] = "Netzwerk";
 $a->strings["Conversations from your friends"] = "Unterhaltungen Deiner Kontakte";
 $a->strings["Network Reset"] = "Netzwerk zurücksetzen";
 $a->strings["Load Network page with no filters"] = "Netzwerk-Seite ohne Filter laden";
+$a->strings["Introductions"] = "Kontaktanfragen";
 $a->strings["Friend Requests"] = "Kontaktanfragen";
 $a->strings["Notifications"] = "Benachrichtigungen";
 $a->strings["See all notifications"] = "Alle Benachrichtigungen anzeigen";
@@ -593,10 +580,82 @@ $a->strings["Registration at %s"] = "Registrierung als %s";
 $a->strings["\n\t\tDear %1\$s,\n\t\t\tThank you for registering at %2\$s. Your account has been created.\n\t"] = "\nHallo %1\$s,\n\ndanke für Deine Registrierung auf %2\$s. Dein Account wurde eingerichtet.";
 $a->strings["\n\t\tThe login details are as follows:\n\t\t\tSite Location:\t%3\$s\n\t\t\tLogin Name:\t%1\$s\n\t\t\tPassword:\t%5\$s\n\n\t\tYou may change your password from your account \"Settings\" page after logging\n\t\tin.\n\n\t\tPlease take a few moments to review the other account settings on that page.\n\n\t\tYou may also wish to add some basic information to your default profile\n\t\t(on the \"Profiles\" page) so that other people can easily find you.\n\n\t\tWe recommend setting your full name, adding a profile photo,\n\t\tadding some profile \"keywords\" (very useful in making new friends) - and\n\t\tperhaps what country you live in; if you do not wish to be more specific\n\t\tthan that.\n\n\t\tWe fully respect your right to privacy, and none of these items are necessary.\n\t\tIf you are new and do not know anybody here, they may help\n\t\tyou to make some new and interesting friends.\n\n\n\t\tThank you and welcome to %2\$s."] = "\nDie Anmelde-Details sind die folgenden:\n\tAdresse der Seite:\t%3\$s\n\tBenutzernamename:\t%1\$s\n\tPasswort:\t%5\$s\n\nDu kannst Dein Passwort unter \"Einstellungen\" ändern, sobald Du Dich\nangemeldet hast.\n\nBitte nimm Dir ein paar Minuten um die anderen Einstellungen auf dieser\nSeite zu kontrollieren.\n\nEventuell magst Du ja auch einige Informationen über Dich in Deinem\nProfil veröffentlichen, damit andere Leute Dich einfacher finden können.\nBearbeite hierfür einfach Dein Standard-Profil (über die Profil-Seite).\n\nWir empfehlen Dir, Deinen kompletten Namen anzugeben und ein zu Dir\npassendes Profilbild zu wählen, damit Dich alte Bekannte wieder finden.\nAußerdem ist es nützlich, wenn Du auf Deinem Profil Schlüsselwörter\nangibst. Das erleichtert es, Leute zu finden, die Deine Interessen teilen.\n\nWir respektieren Deine Privatsphäre - keine dieser Angaben ist nötig.\nWenn Du neu im Netzwerk bist und noch niemanden kennst, dann können sie\nallerdings dabei helfen, neue und interessante Kontakte zu knüpfen.\n\nDanke für Deine Aufmerksamkeit und willkommen auf %2\$s.";
 $a->strings["Registration details for %s"] = "Details der Registration von %s";
+$a->strings["Cannot locate DNS info for database server '%s'"] = "Kann die DNS Informationen für den Datenbankserver '%s' nicht ermitteln.";
+$a->strings["Click here to upgrade."] = "Zum Upgraden hier klicken.";
+$a->strings["This action exceeds the limits set by your subscription plan."] = "Diese Aktion überschreitet die Obergrenze Deines Abonnements.";
+$a->strings["This action is not available under your subscription plan."] = "Diese Aktion ist in Deinem Abonnement nicht verfügbar.";
+$a->strings["Male"] = "Männlich";
+$a->strings["Female"] = "Weiblich";
+$a->strings["Currently Male"] = "Momentan männlich";
+$a->strings["Currently Female"] = "Momentan weiblich";
+$a->strings["Mostly Male"] = "Hauptsächlich männlich";
+$a->strings["Mostly Female"] = "Hauptsächlich weiblich";
+$a->strings["Transgender"] = "Transgender";
+$a->strings["Intersex"] = "Intersex";
+$a->strings["Transsexual"] = "Transsexuell";
+$a->strings["Hermaphrodite"] = "Hermaphrodit";
+$a->strings["Neuter"] = "Neuter";
+$a->strings["Non-specific"] = "Nicht spezifiziert";
+$a->strings["Other"] = "Andere";
+$a->strings["Males"] = "Männer";
+$a->strings["Females"] = "Frauen";
+$a->strings["Gay"] = "Schwul";
+$a->strings["Lesbian"] = "Lesbisch";
+$a->strings["No Preference"] = "Keine Vorlieben";
+$a->strings["Bisexual"] = "Bisexuell";
+$a->strings["Autosexual"] = "Autosexual";
+$a->strings["Abstinent"] = "Abstinent";
+$a->strings["Virgin"] = "Jungfrauen";
+$a->strings["Deviant"] = "Deviant";
+$a->strings["Fetish"] = "Fetish";
+$a->strings["Oodles"] = "Oodles";
+$a->strings["Nonsexual"] = "Nonsexual";
+$a->strings["Single"] = "Single";
+$a->strings["Lonely"] = "Einsam";
+$a->strings["Available"] = "Verfügbar";
+$a->strings["Unavailable"] = "Nicht verfügbar";
+$a->strings["Has crush"] = "verknallt";
+$a->strings["Infatuated"] = "verliebt";
+$a->strings["Dating"] = "Dating";
+$a->strings["Unfaithful"] = "Untreu";
+$a->strings["Sex Addict"] = "Sexbesessen";
+$a->strings["Friends/Benefits"] = "Freunde/Zuwendungen";
+$a->strings["Casual"] = "Casual";
+$a->strings["Engaged"] = "Verlobt";
+$a->strings["Married"] = "Verheiratet";
+$a->strings["Imaginarily married"] = "imaginär verheiratet";
+$a->strings["Partners"] = "Partner";
+$a->strings["Cohabiting"] = "zusammenlebend";
+$a->strings["Common law"] = "wilde Ehe";
+$a->strings["Happy"] = "Glücklich";
+$a->strings["Not looking"] = "Nicht auf der Suche";
+$a->strings["Swinger"] = "Swinger";
+$a->strings["Betrayed"] = "Betrogen";
+$a->strings["Separated"] = "Getrennt";
+$a->strings["Unstable"] = "Unstabil";
+$a->strings["Divorced"] = "Geschieden";
+$a->strings["Imaginarily divorced"] = "imaginär geschieden";
+$a->strings["Widowed"] = "Verwitwet";
+$a->strings["Uncertain"] = "Unsicher";
+$a->strings["It's complicated"] = "Ist kompliziert";
+$a->strings["Don't care"] = "Ist mir nicht wichtig";
+$a->strings["Ask me"] = "Frag mich";
+$a->strings["System"] = "System";
+$a->strings["Personal"] = "Persönlich";
+$a->strings["%s commented on %s's post"] = "%s hat %ss Beitrag kommentiert";
+$a->strings["%s created a new post"] = "%s hat einen neuen Beitrag erstellt";
+$a->strings["%s liked %s's post"] = "%s mag %ss Beitrag";
+$a->strings["%s disliked %s's post"] = "%s mag %ss Beitrag nicht";
+$a->strings["%s is attending %s's event"] = "%s nimmt an %s's Event teil";
+$a->strings["%s is not attending %s's event"] = "%s nimmt nicht an %s's Event teil";
+$a->strings["%s may attend %s's event"] = "%s nimmt eventuell an %s's Event teil";
+$a->strings["%s is now friends with %s"] = "%s ist jetzt mit %s befreundet";
+$a->strings["Friend Suggestion"] = "Kontaktvorschlag";
+$a->strings["Friend/Connect Request"] = "Kontakt-/Freundschaftsanfrage";
+$a->strings["New Follower"] = "Neuer Bewunderer";
 $a->strings["Daily posting limit of %d posts reached. The post was rejected."] = "Das tägliche Nachrichtenlimit von %d Nachrichten wurde erreicht. Die Nachtricht wurde verworfen.";
 $a->strings["Weekly posting limit of %d posts reached. The post was rejected."] = "Das wöchentliche Nachrichtenlimit von %d Nachrichten wurde erreicht. Die Nachtricht wurde verworfen.";
 $a->strings["Monthly posting limit of %d posts reached. The post was rejected."] = "Das monatliche Nachrichtenlimit von %d Nachrichten wurde erreicht. Die Nachtricht wurde verworfen.";
-$a->strings["Cannot locate DNS info for database server '%s'"] = "Kann die DNS Informationen für den Datenbankserver '%s' nicht ermitteln.";
 $a->strings["There are no tables on MyISAM."] = "Es gibt keine MyISAM Tabellen.";
 $a->strings["\n\t\t\tThe friendica developers released update %s recently,\n\t\t\tbut when I tried to install it, something went terribly wrong.\n\t\t\tThis needs to be fixed soon and I can't do it alone. Please contact a\n\t\t\tfriendica developer if you can not help me on your own. My database might be invalid."] = "\nDie Friendica-Entwickler haben vor kurzem das Update %s veröffentlicht, aber bei der Installation ging etwas schrecklich schief.\n\nDas Problem sollte so schnell wie möglich gelöst werden, aber ich schaffe es nicht alleine. Bitte kontaktiere einen Friendica-Entwickler falls Du mir nicht alleine helfen kannst. Meine Datenbank könnte ungültig sein.";
 $a->strings["The error message is\n[pre]%s[/pre]"] = "Die Fehlermeldung lautet\n[pre]%s[/pre]";
@@ -669,65 +728,6 @@ $a->strings["%s is now following %s."] = "%s folgt nun %s";
 $a->strings["following"] = "folgen";
 $a->strings["%s stopped following %s."] = "%s hat aufgehört %s zu folgen";
 $a->strings["stopped following"] = "wird nicht mehr gefolgt";
-$a->strings["Click here to upgrade."] = "Zum Upgraden hier klicken.";
-$a->strings["This action exceeds the limits set by your subscription plan."] = "Diese Aktion überschreitet die Obergrenze Deines Abonnements.";
-$a->strings["This action is not available under your subscription plan."] = "Diese Aktion ist in Deinem Abonnement nicht verfügbar.";
-$a->strings["Male"] = "Männlich";
-$a->strings["Female"] = "Weiblich";
-$a->strings["Currently Male"] = "Momentan männlich";
-$a->strings["Currently Female"] = "Momentan weiblich";
-$a->strings["Mostly Male"] = "Hauptsächlich männlich";
-$a->strings["Mostly Female"] = "Hauptsächlich weiblich";
-$a->strings["Transgender"] = "Transgender";
-$a->strings["Intersex"] = "Intersex";
-$a->strings["Transsexual"] = "Transsexuell";
-$a->strings["Hermaphrodite"] = "Hermaphrodit";
-$a->strings["Neuter"] = "Neuter";
-$a->strings["Non-specific"] = "Nicht spezifiziert";
-$a->strings["Other"] = "Andere";
-$a->strings["Males"] = "Männer";
-$a->strings["Females"] = "Frauen";
-$a->strings["Gay"] = "Schwul";
-$a->strings["Lesbian"] = "Lesbisch";
-$a->strings["No Preference"] = "Keine Vorlieben";
-$a->strings["Bisexual"] = "Bisexuell";
-$a->strings["Autosexual"] = "Autosexual";
-$a->strings["Abstinent"] = "Abstinent";
-$a->strings["Virgin"] = "Jungfrauen";
-$a->strings["Deviant"] = "Deviant";
-$a->strings["Fetish"] = "Fetish";
-$a->strings["Oodles"] = "Oodles";
-$a->strings["Nonsexual"] = "Nonsexual";
-$a->strings["Single"] = "Single";
-$a->strings["Lonely"] = "Einsam";
-$a->strings["Available"] = "Verfügbar";
-$a->strings["Unavailable"] = "Nicht verfügbar";
-$a->strings["Has crush"] = "verknallt";
-$a->strings["Infatuated"] = "verliebt";
-$a->strings["Dating"] = "Dating";
-$a->strings["Unfaithful"] = "Untreu";
-$a->strings["Sex Addict"] = "Sexbesessen";
-$a->strings["Friends/Benefits"] = "Freunde/Zuwendungen";
-$a->strings["Casual"] = "Casual";
-$a->strings["Engaged"] = "Verlobt";
-$a->strings["Married"] = "Verheiratet";
-$a->strings["Imaginarily married"] = "imaginär verheiratet";
-$a->strings["Partners"] = "Partner";
-$a->strings["Cohabiting"] = "zusammenlebend";
-$a->strings["Common law"] = "wilde Ehe";
-$a->strings["Happy"] = "Glücklich";
-$a->strings["Not looking"] = "Nicht auf der Suche";
-$a->strings["Swinger"] = "Swinger";
-$a->strings["Betrayed"] = "Betrogen";
-$a->strings["Separated"] = "Getrennt";
-$a->strings["Unstable"] = "Unstabil";
-$a->strings["Divorced"] = "Geschieden";
-$a->strings["Imaginarily divorced"] = "imaginär geschieden";
-$a->strings["Widowed"] = "Verwitwet";
-$a->strings["Uncertain"] = "Unsicher";
-$a->strings["It's complicated"] = "Ist kompliziert";
-$a->strings["Don't care"] = "Ist mir nicht wichtig";
-$a->strings["Ask me"] = "Frag mich";
 $a->strings["No friends to display."] = "Keine Kontakte zum Anzeigen.";
 $a->strings["Authorize application connection"] = "Verbindung der Applikation autorisieren";
 $a->strings["Return to your app and insert this Securty Code:"] = "Gehe zu Deiner Anwendung zurück und trage dort folgenden Sicherheitscode ein:";
@@ -1234,9 +1234,6 @@ $a->strings["Private photo"] = "Privates Foto";
 $a->strings["Public photo"] = "Öffentliches Foto";
 $a->strings["Map"] = "Karte";
 $a->strings["View Album"] = "Album betrachten";
-$a->strings["{0} wants to be your friend"] = "{0} möchte mit Dir in Kontakt treten";
-$a->strings["{0} sent you a message"] = "{0} schickte Dir eine Nachricht";
-$a->strings["{0} requested registration"] = "{0} möchte sich registrieren";
 $a->strings["Poke/Prod"] = "Anstupsen";
 $a->strings["poke, prod or do other things to somebody"] = "Stupse Leute an oder mache anderes mit ihnen";
 $a->strings["Recipient"] = "Empfänger";
@@ -1361,6 +1358,179 @@ $a->strings["You need to export your account from the old server and upload it h
 $a->strings["This feature is experimental. We can't import contacts from the OStatus network (GNU Social/Statusnet) or from Diaspora"] = "Dieses Feature ist experimentell. Wir können keine Kontakte vom OStatus Netzwerk (GNU Social/Statusnet) oder von Diaspora importieren";
 $a->strings["Account file"] = "Account Datei";
 $a->strings["To export your account, go to \"Settings->Export your personal data\" and select \"Export account\""] = "Um Deinen Account zu exportieren, rufe \"Einstellungen -> Persönliche Daten exportieren\" auf und wähle \"Account exportieren\"";
+$a->strings["%d contact edited."] = array(
+       0 => "%d Kontakt bearbeitet.",
+       1 => "%d Kontakte bearbeitet.",
+);
+$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"] = "Kontakt wurde ignoriert";
+$a->strings["Contact has been unignored"] = "Kontakt wird nicht mehr ignoriert";
+$a->strings["Contact has been archived"] = "Kontakt wurde archiviert";
+$a->strings["Contact has been unarchived"] = "Kontakt wurde aus dem Archiv geholt";
+$a->strings["Drop contact"] = "Kontakt löschen";
+$a->strings["Do you really want to delete this contact?"] = "Möchtest Du wirklich diesen Kontakt löschen?";
+$a->strings["Contact has been removed."] = "Kontakt wurde entfernt.";
+$a->strings["You are mutual friends with %s"] = "Du hast mit %s eine beidseitige Freundschaft";
+$a->strings["You are sharing with %s"] = "Du teilst mit %s";
+$a->strings["%s is sharing with you"] = "%s teilt mit Dir";
+$a->strings["Private communications are not available for this contact."] = "Private Kommunikation ist für diesen Kontakt nicht verfügbar.";
+$a->strings["Never"] = "Niemals";
+$a->strings["(Update was successful)"] = "(Aktualisierung war erfolgreich)";
+$a->strings["(Update was not successful)"] = "(Aktualisierung war nicht erfolgreich)";
+$a->strings["Suggest friends"] = "Kontakte vorschlagen";
+$a->strings["Network type: %s"] = "Netzwerktyp: %s";
+$a->strings["Communications lost with this contact!"] = "Verbindungen mit diesem Kontakt verloren!";
+$a->strings["Fetch further information for feeds"] = "Weitere Informationen zu Feeds holen";
+$a->strings["Disabled"] = "Deaktiviert";
+$a->strings["Fetch information"] = "Beziehe Information";
+$a->strings["Fetch information and keywords"] = "Beziehe Information und Schlüsselworte";
+$a->strings["Contact"] = "Kontakt";
+$a->strings["Profile Visibility"] = "Profil-Sichtbarkeit";
+$a->strings["Please choose the profile you would like to display to %s when viewing your profile securely."] = "Bitte wähle eines Deiner Profile das angezeigt werden soll, wenn %s Dein Profil aufruft.";
+$a->strings["Contact Information / Notes"] = "Kontakt Informationen / Notizen";
+$a->strings["Edit contact notes"] = "Notizen zum Kontakt bearbeiten";
+$a->strings["Block/Unblock contact"] = "Kontakt blockieren/freischalten";
+$a->strings["Ignore contact"] = "Ignoriere den Kontakt";
+$a->strings["Repair URL settings"] = "URL Einstellungen reparieren";
+$a->strings["View conversations"] = "Unterhaltungen anzeigen";
+$a->strings["Last update:"] = "Letzte Aktualisierung: ";
+$a->strings["Update public posts"] = "Öffentliche Beiträge aktualisieren";
+$a->strings["Update now"] = "Jetzt aktualisieren";
+$a->strings["Unblock"] = "Entsperren";
+$a->strings["Block"] = "Sperren";
+$a->strings["Unignore"] = "Ignorieren aufheben";
+$a->strings["Currently blocked"] = "Derzeit geblockt";
+$a->strings["Currently ignored"] = "Derzeit ignoriert";
+$a->strings["Currently archived"] = "Momentan archiviert";
+$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["Notification for new posts"] = "Benachrichtigung bei neuen Beiträgen";
+$a->strings["Send a notification of every new post of this contact"] = "Sende eine Benachrichtigung, wann immer dieser Kontakt einen neuen Beitrag schreibt.";
+$a->strings["Blacklisted keywords"] = "Blacklistete Schlüsselworte ";
+$a->strings["Comma separated list of keywords that should not be converted to hashtags, when \"Fetch information and keywords\" is selected"] = "Komma-Separierte Liste mit Schlüsselworten, die nicht in Hashtags konvertiert werden, wenn \"Beziehe Information und Schlüsselworte\" aktiviert wurde";
+$a->strings["Actions"] = "Aktionen";
+$a->strings["Contact Settings"] = "Kontakteinstellungen";
+$a->strings["Suggestions"] = "Kontaktvorschläge";
+$a->strings["Suggest potential friends"] = "Kontakte vorschlagen";
+$a->strings["Show all contacts"] = "Alle Kontakte anzeigen";
+$a->strings["Unblocked"] = "Ungeblockt";
+$a->strings["Only show unblocked contacts"] = "Nur nicht-blockierte Kontakte anzeigen";
+$a->strings["Blocked"] = "Geblockt";
+$a->strings["Only show blocked contacts"] = "Nur blockierte Kontakte anzeigen";
+$a->strings["Ignored"] = "Ignoriert";
+$a->strings["Only show ignored contacts"] = "Nur ignorierte Kontakte anzeigen";
+$a->strings["Archived"] = "Archiviert";
+$a->strings["Only show archived contacts"] = "Nur archivierte Kontakte anzeigen";
+$a->strings["Hidden"] = "Verborgen";
+$a->strings["Only show hidden contacts"] = "Nur verborgene Kontakte anzeigen";
+$a->strings["Search your contacts"] = "Suche in deinen Kontakten";
+$a->strings["Update"] = "Aktualisierungen";
+$a->strings["Archive"] = "Archivieren";
+$a->strings["Unarchive"] = "Aus Archiv zurückholen";
+$a->strings["Batch Actions"] = "Stapelverarbeitung";
+$a->strings["View all contacts"] = "Alle Kontakte anzeigen";
+$a->strings["View all common friends"] = "Alle Kontakte anzeigen";
+$a->strings["Advanced Contact Settings"] = "Fortgeschrittene Kontakteinstellungen";
+$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["Toggle Blocked status"] = "Geblockt-Status ein-/ausschalten";
+$a->strings["Toggle Ignored status"] = "Ignoriert-Status ein-/ausschalten";
+$a->strings["Toggle Archive status"] = "Archiviert-Status ein-/ausschalten";
+$a->strings["Delete contact"] = "Lösche den Kontakt";
+$a->strings["{0} wants to be your friend"] = "{0} möchte mit Dir in Kontakt treten";
+$a->strings["{0} sent you a message"] = "{0} schickte Dir eine Nachricht";
+$a->strings["{0} requested registration"] = "{0} möchte sich registrieren";
+$a->strings["Image uploaded but image cropping failed."] = "Bild hochgeladen, aber das Zuschneiden schlug fehl.";
+$a->strings["Image size reduction [%s] failed."] = "Verkleinern der Bildgröße von [%s] scheiterte.";
+$a->strings["Shift-reload the page or clear browser cache if the new photo does not display immediately."] = "Drücke Umschalt+Neu Laden oder leere den Browser-Cache, falls das neue Foto nicht gleich angezeigt wird.";
+$a->strings["Unable to process image"] = "Bild konnte nicht verarbeitet werden";
+$a->strings["Upload File:"] = "Datei hochladen:";
+$a->strings["Select a profile:"] = "Profil auswählen:";
+$a->strings["Upload"] = "Hochladen";
+$a->strings["or"] = "oder";
+$a->strings["skip this step"] = "diesen Schritt überspringen";
+$a->strings["select a photo from your photo albums"] = "wähle ein Foto aus deinen Fotoalben";
+$a->strings["Crop Image"] = "Bild zurechtschneiden";
+$a->strings["Please adjust the image cropping for optimum viewing."] = "Passe bitte den Bildausschnitt an, damit das Bild optimal dargestellt werden kann.";
+$a->strings["Done Editing"] = "Bearbeitung abgeschlossen";
+$a->strings["Image uploaded successfully."] = "Bild erfolgreich hochgeladen.";
+$a->strings["Profile deleted."] = "Profil gelöscht.";
+$a->strings["Profile-"] = "Profil-";
+$a->strings["New profile created."] = "Neues Profil angelegt.";
+$a->strings["Profile unavailable to clone."] = "Profil nicht zum Duplizieren verfügbar.";
+$a->strings["Profile Name is required."] = "Profilname ist erforderlich.";
+$a->strings["Marital Status"] = "Familienstand";
+$a->strings["Romantic Partner"] = "Romanze";
+$a->strings["Work/Employment"] = "Arbeit / Beschäftigung";
+$a->strings["Religion"] = "Religion";
+$a->strings["Political Views"] = "Politische Ansichten";
+$a->strings["Gender"] = "Geschlecht";
+$a->strings["Sexual Preference"] = "Sexuelle Vorlieben";
+$a->strings["XMPP"] = "XMPP";
+$a->strings["Homepage"] = "Webseite";
+$a->strings["Interests"] = "Interessen";
+$a->strings["Address"] = "Adresse";
+$a->strings["Location"] = "Wohnort";
+$a->strings["Profile updated."] = "Profil aktualisiert.";
+$a->strings[" and "] = " und ";
+$a->strings["public profile"] = "öffentliches Profil";
+$a->strings["%1\$s changed %2\$s to &ldquo;%3\$s&rdquo;"] = "%1\$s hat %2\$s geändert auf &ldquo;%3\$s&rdquo;";
+$a->strings[" - Visit %1\$s's %2\$s"] = " – %1\$ss %2\$s besuchen";
+$a->strings["%1\$s has an updated %2\$s, changing %3\$s."] = "%1\$s hat folgendes aktualisiert %2\$s, verändert wurde %3\$s.";
+$a->strings["Hide contacts and friends:"] = "Kontakte und Freunde verbergen";
+$a->strings["Hide your contact/friend list from viewers of this profile?"] = "Liste der Kontakte vor Betrachtern dieses Profils verbergen?";
+$a->strings["Show more profile fields:"] = "Zeige mehr Profil-Felder:";
+$a->strings["Profile Actions"] = "Profilaktionen";
+$a->strings["Edit Profile Details"] = "Profil bearbeiten";
+$a->strings["Change Profile Photo"] = "Profilbild ändern";
+$a->strings["View this profile"] = "Dieses Profil anzeigen";
+$a->strings["Create a new profile using these settings"] = "Neues Profil anlegen und diese Einstellungen verwenden";
+$a->strings["Clone this profile"] = "Dieses Profil duplizieren";
+$a->strings["Delete this profile"] = "Dieses Profil löschen";
+$a->strings["Basic information"] = "Grundinformationen";
+$a->strings["Profile picture"] = "Profilbild";
+$a->strings["Preferences"] = "Vorlieben";
+$a->strings["Status information"] = "Status Informationen";
+$a->strings["Additional information"] = "Zusätzliche Informationen";
+$a->strings["Relation"] = "Beziehung";
+$a->strings["Your Gender:"] = "Dein Geschlecht:";
+$a->strings["<span class=\"heart\">&hearts;</span> Marital Status:"] = "<span class=\"heart\">&hearts;</span> Beziehungsstatus:";
+$a->strings["Example: fishing photography software"] = "Beispiel: Fischen Fotografie Software";
+$a->strings["Profile Name:"] = "Profilname:";
+$a->strings["This is your <strong>public</strong> profile.<br />It <strong>may</strong> be visible to anybody using the internet."] = "Dies ist Dein <strong>öffentliches</strong> Profil.<br />Es <strong>könnte</strong> für jeden Nutzer des Internets sichtbar sein.";
+$a->strings["Your Full Name:"] = "Dein kompletter Name:";
+$a->strings["Title/Description:"] = "Titel/Beschreibung:";
+$a->strings["Street Address:"] = "Adresse:";
+$a->strings["Locality/City:"] = "Wohnort:";
+$a->strings["Region/State:"] = "Region/Bundesstaat:";
+$a->strings["Postal/Zip Code:"] = "Postleitzahl:";
+$a->strings["Country:"] = "Land:";
+$a->strings["Who: (if applicable)"] = "Wer: (falls anwendbar)";
+$a->strings["Examples: cathy123, Cathy Williams, cathy@example.com"] = "Beispiele: cathy123, Cathy Williams, cathy@example.com";
+$a->strings["Since [date]:"] = "Seit [Datum]:";
+$a->strings["Tell us about yourself..."] = "Erzähle uns ein bisschen von Dir …";
+$a->strings["XMPP (Jabber) address:"] = "XMPP (Jabber) Adresse";
+$a->strings["The XMPP address will be propagated to your contacts so that they can follow you."] = "Die XMPP Adresse wird an deine Kontakte verteilt werden, so dass sie auch über XMPP mit dir in Kontakt treten können.";
+$a->strings["Homepage URL:"] = "Adresse der Homepage:";
+$a->strings["Religious Views:"] = "Religiöse Ansichten:";
+$a->strings["Public Keywords:"] = "Öffentliche Schlüsselwörter:";
+$a->strings["(Used for suggesting potential friends, can be seen by others)"] = "(Wird verwendet, um potentielle Kontakte zu finden, kann von Kontakten eingesehen werden)";
+$a->strings["Private Keywords:"] = "Private Schlüsselwörter:";
+$a->strings["(Used for searching profiles, never shown to others)"] = "(Wird für die Suche nach Profilen verwendet und niemals veröffentlicht)";
+$a->strings["Musical interests"] = "Musikalische Interessen";
+$a->strings["Books, literature"] = "Bücher, Literatur";
+$a->strings["Television"] = "Fernsehen";
+$a->strings["Film/dance/culture/entertainment"] = "Filme/Tänze/Kultur/Unterhaltung";
+$a->strings["Hobbies/Interests"] = "Hobbies/Interessen";
+$a->strings["Love/romance"] = "Liebe/Romantik";
+$a->strings["Work/employment"] = "Arbeit/Anstellung";
+$a->strings["School/education"] = "Schule/Ausbildung";
+$a->strings["Contact information and Social Networks"] = "Kontaktinformationen und Soziale Netzwerke";
+$a->strings["Edit/Manage Profiles"] = "Bearbeite/Verwalte Profile";
 $a->strings["Theme settings updated."] = "Themeneinstellungen aktualisiert.";
 $a->strings["Site"] = "Seite";
 $a->strings["Users"] = "Nutzer";
@@ -1426,9 +1596,7 @@ $a->strings["No special theme for mobile devices"] = "Kein spezielles Theme für
 $a->strings["No community page"] = "Keine Gemeinschaftsseite";
 $a->strings["Public postings from users of this site"] = "Öffentliche Beiträge von Nutzer_innen dieser Seite";
 $a->strings["Global community page"] = "Globale Gemeinschaftsseite";
-$a->strings["Never"] = "Niemals";
 $a->strings["At post arrival"] = "Beim Empfang von Nachrichten";
-$a->strings["Disabled"] = "Deaktiviert";
 $a->strings["Users, Global Contacts"] = "Nutzer, globale Kontakte";
 $a->strings["Users, Global Contacts/fallback"] = "Nutzer, globale Kontakte / Fallback";
 $a->strings["One month"] = "ein Monat";
@@ -1624,8 +1792,6 @@ $a->strings["Request date"] = "Anfragedatum";
 $a->strings["No registrations."] = "Keine Neuanmeldungen.";
 $a->strings["Note from the user"] = "Hinweis vom Nutzer";
 $a->strings["Deny"] = "Verwehren";
-$a->strings["Block"] = "Sperren";
-$a->strings["Unblock"] = "Entsperren";
 $a->strings["Site admin"] = "Seitenadministrator";
 $a->strings["Account expired"] = "Account ist abgelaufen";
 $a->strings["New User"] = "Neuer Nutzer";
@@ -1665,172 +1831,6 @@ $a->strings["Off"] = "Aus";
 $a->strings["On"] = "An";
 $a->strings["Lock feature %s"] = "Feature festlegen: %s";
 $a->strings["Manage Additional Features"] = "Zusätzliche Features Verwalten";
-$a->strings["%d contact edited."] = array(
-       0 => "%d Kontakt bearbeitet.",
-       1 => "%d Kontakte bearbeitet.",
-);
-$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"] = "Kontakt wurde ignoriert";
-$a->strings["Contact has been unignored"] = "Kontakt wird nicht mehr ignoriert";
-$a->strings["Contact has been archived"] = "Kontakt wurde archiviert";
-$a->strings["Contact has been unarchived"] = "Kontakt wurde aus dem Archiv geholt";
-$a->strings["Drop contact"] = "Kontakt löschen";
-$a->strings["Do you really want to delete this contact?"] = "Möchtest Du wirklich diesen Kontakt löschen?";
-$a->strings["Contact has been removed."] = "Kontakt wurde entfernt.";
-$a->strings["You are mutual friends with %s"] = "Du hast mit %s eine beidseitige Freundschaft";
-$a->strings["You are sharing with %s"] = "Du teilst mit %s";
-$a->strings["%s is sharing with you"] = "%s teilt mit Dir";
-$a->strings["Private communications are not available for this contact."] = "Private Kommunikation ist für diesen Kontakt nicht verfügbar.";
-$a->strings["(Update was successful)"] = "(Aktualisierung war erfolgreich)";
-$a->strings["(Update was not successful)"] = "(Aktualisierung war nicht erfolgreich)";
-$a->strings["Suggest friends"] = "Kontakte vorschlagen";
-$a->strings["Network type: %s"] = "Netzwerktyp: %s";
-$a->strings["Communications lost with this contact!"] = "Verbindungen mit diesem Kontakt verloren!";
-$a->strings["Fetch further information for feeds"] = "Weitere Informationen zu Feeds holen";
-$a->strings["Fetch information"] = "Beziehe Information";
-$a->strings["Fetch information and keywords"] = "Beziehe Information und Schlüsselworte";
-$a->strings["Contact"] = "Kontakt";
-$a->strings["Profile Visibility"] = "Profil-Sichtbarkeit";
-$a->strings["Please choose the profile you would like to display to %s when viewing your profile securely."] = "Bitte wähle eines Deiner Profile das angezeigt werden soll, wenn %s Dein Profil aufruft.";
-$a->strings["Contact Information / Notes"] = "Kontakt Informationen / Notizen";
-$a->strings["Edit contact notes"] = "Notizen zum Kontakt bearbeiten";
-$a->strings["Block/Unblock contact"] = "Kontakt blockieren/freischalten";
-$a->strings["Ignore contact"] = "Ignoriere den Kontakt";
-$a->strings["Repair URL settings"] = "URL Einstellungen reparieren";
-$a->strings["View conversations"] = "Unterhaltungen anzeigen";
-$a->strings["Last update:"] = "Letzte Aktualisierung: ";
-$a->strings["Update public posts"] = "Öffentliche Beiträge aktualisieren";
-$a->strings["Update now"] = "Jetzt aktualisieren";
-$a->strings["Unignore"] = "Ignorieren aufheben";
-$a->strings["Currently blocked"] = "Derzeit geblockt";
-$a->strings["Currently ignored"] = "Derzeit ignoriert";
-$a->strings["Currently archived"] = "Momentan archiviert";
-$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["Notification for new posts"] = "Benachrichtigung bei neuen Beiträgen";
-$a->strings["Send a notification of every new post of this contact"] = "Sende eine Benachrichtigung, wann immer dieser Kontakt einen neuen Beitrag schreibt.";
-$a->strings["Blacklisted keywords"] = "Blacklistete Schlüsselworte ";
-$a->strings["Comma separated list of keywords that should not be converted to hashtags, when \"Fetch information and keywords\" is selected"] = "Komma-Separierte Liste mit Schlüsselworten, die nicht in Hashtags konvertiert werden, wenn \"Beziehe Information und Schlüsselworte\" aktiviert wurde";
-$a->strings["Actions"] = "Aktionen";
-$a->strings["Contact Settings"] = "Kontakteinstellungen";
-$a->strings["Suggestions"] = "Kontaktvorschläge";
-$a->strings["Suggest potential friends"] = "Kontakte vorschlagen";
-$a->strings["Show all contacts"] = "Alle Kontakte anzeigen";
-$a->strings["Unblocked"] = "Ungeblockt";
-$a->strings["Only show unblocked contacts"] = "Nur nicht-blockierte Kontakte anzeigen";
-$a->strings["Blocked"] = "Geblockt";
-$a->strings["Only show blocked contacts"] = "Nur blockierte Kontakte anzeigen";
-$a->strings["Ignored"] = "Ignoriert";
-$a->strings["Only show ignored contacts"] = "Nur ignorierte Kontakte anzeigen";
-$a->strings["Archived"] = "Archiviert";
-$a->strings["Only show archived contacts"] = "Nur archivierte Kontakte anzeigen";
-$a->strings["Hidden"] = "Verborgen";
-$a->strings["Only show hidden contacts"] = "Nur verborgene Kontakte anzeigen";
-$a->strings["Search your contacts"] = "Suche in deinen Kontakten";
-$a->strings["Update"] = "Aktualisierungen";
-$a->strings["Archive"] = "Archivieren";
-$a->strings["Unarchive"] = "Aus Archiv zurückholen";
-$a->strings["Batch Actions"] = "Stapelverarbeitung";
-$a->strings["View all contacts"] = "Alle Kontakte anzeigen";
-$a->strings["View all common friends"] = "Alle Kontakte anzeigen";
-$a->strings["Advanced Contact Settings"] = "Fortgeschrittene Kontakteinstellungen";
-$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["Toggle Blocked status"] = "Geblockt-Status ein-/ausschalten";
-$a->strings["Toggle Ignored status"] = "Ignoriert-Status ein-/ausschalten";
-$a->strings["Toggle Archive status"] = "Archiviert-Status ein-/ausschalten";
-$a->strings["Delete contact"] = "Lösche den Kontakt";
-$a->strings["Image uploaded but image cropping failed."] = "Bild hochgeladen, aber das Zuschneiden schlug fehl.";
-$a->strings["Image size reduction [%s] failed."] = "Verkleinern der Bildgröße von [%s] scheiterte.";
-$a->strings["Shift-reload the page or clear browser cache if the new photo does not display immediately."] = "Drücke Umschalt+Neu Laden oder leere den Browser-Cache, falls das neue Foto nicht gleich angezeigt wird.";
-$a->strings["Unable to process image"] = "Bild konnte nicht verarbeitet werden";
-$a->strings["Upload File:"] = "Datei hochladen:";
-$a->strings["Select a profile:"] = "Profil auswählen:";
-$a->strings["Upload"] = "Hochladen";
-$a->strings["or"] = "oder";
-$a->strings["skip this step"] = "diesen Schritt überspringen";
-$a->strings["select a photo from your photo albums"] = "wähle ein Foto aus deinen Fotoalben";
-$a->strings["Crop Image"] = "Bild zurechtschneiden";
-$a->strings["Please adjust the image cropping for optimum viewing."] = "Passe bitte den Bildausschnitt an, damit das Bild optimal dargestellt werden kann.";
-$a->strings["Done Editing"] = "Bearbeitung abgeschlossen";
-$a->strings["Image uploaded successfully."] = "Bild erfolgreich hochgeladen.";
-$a->strings["Profile deleted."] = "Profil gelöscht.";
-$a->strings["Profile-"] = "Profil-";
-$a->strings["New profile created."] = "Neues Profil angelegt.";
-$a->strings["Profile unavailable to clone."] = "Profil nicht zum Duplizieren verfügbar.";
-$a->strings["Profile Name is required."] = "Profilname ist erforderlich.";
-$a->strings["Marital Status"] = "Familienstand";
-$a->strings["Romantic Partner"] = "Romanze";
-$a->strings["Work/Employment"] = "Arbeit / Beschäftigung";
-$a->strings["Religion"] = "Religion";
-$a->strings["Political Views"] = "Politische Ansichten";
-$a->strings["Gender"] = "Geschlecht";
-$a->strings["Sexual Preference"] = "Sexuelle Vorlieben";
-$a->strings["XMPP"] = "XMPP";
-$a->strings["Homepage"] = "Webseite";
-$a->strings["Interests"] = "Interessen";
-$a->strings["Address"] = "Adresse";
-$a->strings["Location"] = "Wohnort";
-$a->strings["Profile updated."] = "Profil aktualisiert.";
-$a->strings[" and "] = " und ";
-$a->strings["public profile"] = "öffentliches Profil";
-$a->strings["%1\$s changed %2\$s to &ldquo;%3\$s&rdquo;"] = "%1\$s hat %2\$s geändert auf &ldquo;%3\$s&rdquo;";
-$a->strings[" - Visit %1\$s's %2\$s"] = " – %1\$ss %2\$s besuchen";
-$a->strings["%1\$s has an updated %2\$s, changing %3\$s."] = "%1\$s hat folgendes aktualisiert %2\$s, verändert wurde %3\$s.";
-$a->strings["Hide contacts and friends:"] = "Kontakte und Freunde verbergen";
-$a->strings["Hide your contact/friend list from viewers of this profile?"] = "Liste der Kontakte vor Betrachtern dieses Profils verbergen?";
-$a->strings["Show more profile fields:"] = "Zeige mehr Profil-Felder:";
-$a->strings["Profile Actions"] = "Profilaktionen";
-$a->strings["Edit Profile Details"] = "Profil bearbeiten";
-$a->strings["Change Profile Photo"] = "Profilbild ändern";
-$a->strings["View this profile"] = "Dieses Profil anzeigen";
-$a->strings["Create a new profile using these settings"] = "Neues Profil anlegen und diese Einstellungen verwenden";
-$a->strings["Clone this profile"] = "Dieses Profil duplizieren";
-$a->strings["Delete this profile"] = "Dieses Profil löschen";
-$a->strings["Basic information"] = "Grundinformationen";
-$a->strings["Profile picture"] = "Profilbild";
-$a->strings["Preferences"] = "Vorlieben";
-$a->strings["Status information"] = "Status Informationen";
-$a->strings["Additional information"] = "Zusätzliche Informationen";
-$a->strings["Relation"] = "Beziehung";
-$a->strings["Your Gender:"] = "Dein Geschlecht:";
-$a->strings["<span class=\"heart\">&hearts;</span> Marital Status:"] = "<span class=\"heart\">&hearts;</span> Beziehungsstatus:";
-$a->strings["Example: fishing photography software"] = "Beispiel: Fischen Fotografie Software";
-$a->strings["Profile Name:"] = "Profilname:";
-$a->strings["This is your <strong>public</strong> profile.<br />It <strong>may</strong> be visible to anybody using the internet."] = "Dies ist Dein <strong>öffentliches</strong> Profil.<br />Es <strong>könnte</strong> für jeden Nutzer des Internets sichtbar sein.";
-$a->strings["Your Full Name:"] = "Dein kompletter Name:";
-$a->strings["Title/Description:"] = "Titel/Beschreibung:";
-$a->strings["Street Address:"] = "Adresse:";
-$a->strings["Locality/City:"] = "Wohnort:";
-$a->strings["Region/State:"] = "Region/Bundesstaat:";
-$a->strings["Postal/Zip Code:"] = "Postleitzahl:";
-$a->strings["Country:"] = "Land:";
-$a->strings["Who: (if applicable)"] = "Wer: (falls anwendbar)";
-$a->strings["Examples: cathy123, Cathy Williams, cathy@example.com"] = "Beispiele: cathy123, Cathy Williams, cathy@example.com";
-$a->strings["Since [date]:"] = "Seit [Datum]:";
-$a->strings["Tell us about yourself..."] = "Erzähle uns ein bisschen von Dir …";
-$a->strings["XMPP (Jabber) address:"] = "XMPP (Jabber) Adresse";
-$a->strings["The XMPP address will be propagated to your contacts so that they can follow you."] = "Die XMPP Adresse wird an deine Kontakte verteilt werden, so dass sie auch über XMPP mit dir in Kontakt treten können.";
-$a->strings["Homepage URL:"] = "Adresse der Homepage:";
-$a->strings["Religious Views:"] = "Religiöse Ansichten:";
-$a->strings["Public Keywords:"] = "Öffentliche Schlüsselwörter:";
-$a->strings["(Used for suggesting potential friends, can be seen by others)"] = "(Wird verwendet, um potentielle Kontakte zu finden, kann von Kontakten eingesehen werden)";
-$a->strings["Private Keywords:"] = "Private Schlüsselwörter:";
-$a->strings["(Used for searching profiles, never shown to others)"] = "(Wird für die Suche nach Profilen verwendet und niemals veröffentlicht)";
-$a->strings["Musical interests"] = "Musikalische Interessen";
-$a->strings["Books, literature"] = "Bücher, Literatur";
-$a->strings["Television"] = "Fernsehen";
-$a->strings["Film/dance/culture/entertainment"] = "Filme/Tänze/Kultur/Unterhaltung";
-$a->strings["Hobbies/Interests"] = "Hobbies/Interessen";
-$a->strings["Love/romance"] = "Liebe/Romantik";
-$a->strings["Work/employment"] = "Arbeit/Anstellung";
-$a->strings["School/education"] = "Schule/Ausbildung";
-$a->strings["Contact information and Social Networks"] = "Kontaktinformationen und Soziale Netzwerke";
-$a->strings["Edit/Manage Profiles"] = "Bearbeite/Verwalte Profile";
 $a->strings["Display"] = "Anzeige";
 $a->strings["Social Networks"] = "Soziale Netzwerke";
 $a->strings["Connected apps"] = "Verbundene Programme";
@@ -1919,23 +1919,23 @@ $a->strings["Account Types"] = "Kontenarten";
 $a->strings["Personal Page Subtypes"] = "Unterarten der persönlichen Seite";
 $a->strings["Community Forum Subtypes"] = "Unterarten des Gemeinschaftsforums";
 $a->strings["Personal Page"] = "Persönliche Seite";
-$a->strings["This account is a regular personal profile"] = "Dieses Konto ist ein normales persönliches Profil";
+$a->strings["Account for a personal profile."] = "Konto für ein persönliches Profil.";
 $a->strings["Organisation Page"] = "Organisationsseite";
-$a->strings["This account is a profile for an organisation"] = "Diese Konto ist ein Profil für eine Organisation";
+$a->strings["Account for an organisation that automatically approves contact requests as \"Followers\"."] = "Konto für eine Organisation, das Kontaktanfragen automatisch als \"Follower\" annimmt.";
 $a->strings["News Page"] = "Nachrichtenseite";
-$a->strings["This account is a news account/reflector"] = "Dieses Konto ist ein News-Konto bzw. -Spiegel";
+$a->strings["Account for a news reflector that automatically approves contact requests as \"Followers\"."] = "Konto für einen Feedspiegel, das Kontaktanfragen automatisch als \"Follower\" annimmt.";
 $a->strings["Community Forum"] = "Gemeinschaftsforum";
-$a->strings["This account is a community forum where people can discuss with each other"] = "Dieses Konto ist ein Gemeinschaftskonto wo sich Leute untereinander austauschen können";
+$a->strings["Account for community discussions."] = "Konto für Diskussionsforen. ";
 $a->strings["Normal Account Page"] = "Normales Konto";
-$a->strings["This account is a normal personal profile"] = "Dieses Konto ist ein normales persönliches Profil";
+$a->strings["Account for a regular personal profile that requires manual approval of \"Friends\" and \"Followers\"."] = "Konto für ein normales persönliches Profil. Kontaktanfragen müssen manuell als \"Friend\" oder \"Follower\" bestätigt werden.";
 $a->strings["Soapbox Page"] = "Marktschreier-Konto";
-$a->strings["Automatically approve all connection/friend requests as read-only fans"] = "Kontaktanfragen werden automatisch als Nurlese-Fans akzeptiert";
+$a->strings["Account for a public profile that automatically approves contact requests as \"Followers\"."] = "Konto für ein öffentliches Profil, das Kontaktanfragen automatisch als \"Follower\" annimmt.";
 $a->strings["Public Forum"] = "Öffentliches Forum";
-$a->strings["Automatically approve all contact requests"] = "Bestätige alle Kontaktanfragen automatisch";
+$a->strings["Automatically approves all contact requests."] = "Akzeptiert automatisch alle Kontaktanfragen.";
 $a->strings["Automatic Friend Page"] = "Automatische Freunde Seite";
-$a->strings["Automatically approve all connection/friend requests as friends"] = "Kontaktanfragen werden automatisch als Freund akzeptiert";
+$a->strings["Account for a popular profile that automatically approves contact requests as \"Friends\"."] = "Konto für ein gefragtes Profil, das Kontaktanfragen automatisch als \"Friend\" annimmt.";
 $a->strings["Private Forum [Experimental]"] = "Privates Forum [Versuchsstadium]";
-$a->strings["Private forum - approved members only"] = "Privates Forum, nur für Mitglieder";
+$a->strings["Requires manual approval of contact requests."] = "Kontaktanfragen müssen manuell bestätigt werden.";
 $a->strings["OpenID:"] = "OpenID:";
 $a->strings["(Optional) Allow this OpenID to login to this account."] = "(Optional) Erlaube die Anmeldung für dieses Konto mit dieser OpenID.";
 $a->strings["Publish your default profile in your local site directory?"] = "Darf Dein Standardprofil im Verzeichnis dieses Servers veröffentlicht werden?";
index 706d90a7d2ab983fe03ffd686388a9288bad554f..0483f1afd588fa8a0f0e197ed3a391abee33ae68 100644 (file)
@@ -1,7 +1,7 @@
 # FRIENDICA Distributed Social Network
 # Copyright (C) 2010, 2011, 2012, 2013 the Friendica Project
 # This file is distributed under the same license as the Friendica package.
-# 
+#
 # Translators:
 # Andy H3 <andy@hubup.pro>, 2017
 msgid ""
index 8c1b1ddd573c1a270753bbb8a941efa12211d95d..2d5a0b419628153f471fc56198f22e0511ee1a63 100644 (file)
@@ -1,7 +1,7 @@
 # FRIENDICA Distributed Social Network
 # Copyright (C) 2010, 2011, 2012, 2013 the Friendica Project
 # This file is distributed under the same license as the Friendica package.
-# 
+#
 # Translators:
 msgid ""
 msgstr ""