From 6fbeafc8433abc0212dff3af1cab9ea51381625f Mon Sep 17 00:00:00 2001 From: Tobias Diekershoff Date: Sun, 3 Jun 2012 17:16:29 +0200 Subject: [PATCH 01/13] prv messages: make submit translateable --- mod/message.php | 3 ++- view/prv_message.tpl | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/mod/message.php b/mod/message.php index 71f83b47a2..fb22419857 100644 --- a/mod/message.php +++ b/mod/message.php @@ -211,7 +211,8 @@ function message_content(&$a) { '$parent' => '', '$upload' => t('Upload photo'), '$insert' => t('Insert web link'), - '$wait' => t('Please wait') + '$wait' => t('Please wait'), + '$submit' => t('Submit') )); return $o; diff --git a/view/prv_message.tpl b/view/prv_message.tpl index 2ce07ce6fd..ecfef95d6b 100644 --- a/view/prv_message.tpl +++ b/view/prv_message.tpl @@ -17,7 +17,7 @@ $select
- +
From 283524d990a5c8a3aa6118149bbd4cde78d74d15 Mon Sep 17 00:00:00 2001 From: Tobias Diekershoff Date: Sun, 3 Jun 2012 17:33:28 +0200 Subject: [PATCH 02/13] DE: update to the strings --- view/de/messages.po | 1655 ++++++++++++++++++++++--------------------- view/de/strings.php | 99 +-- 2 files changed, 909 insertions(+), 845 deletions(-) diff --git a/view/de/messages.po b/view/de/messages.po index ae78afc292..5bc0602377 100644 --- a/view/de/messages.po +++ b/view/de/messages.po @@ -19,8 +19,8 @@ msgid "" msgstr "" "Project-Id-Version: friendica\n" "Report-Msgid-Bugs-To: http://bugs.friendica.com/\n" -"POT-Creation-Date: 2012-05-23 10:00-0700\n" -"PO-Revision-Date: 2012-05-24 08:21+0000\n" +"POT-Creation-Date: 2012-06-02 10:00-0700\n" +"PO-Revision-Date: 2012-06-03 15:30+0000\n" "Last-Translator: bavatar \n" "Language-Team: German (http://www.transifex.net/projects/p/friendica/language/de/)\n" "MIME-Version: 1.0\n" @@ -49,10 +49,10 @@ msgstr "Konnte den Kontakt nicht aktualisieren." #: ../../mod/crepair.php:115 ../../mod/wall_attach.php:44 #: ../../mod/fsuggest.php:78 ../../mod/events.php:138 ../../mod/api.php:26 #: ../../mod/api.php:31 ../../mod/photos.php:130 ../../mod/photos.php:920 -#: ../../mod/editpost.php:10 ../../mod/install.php:171 +#: ../../mod/editpost.php:10 ../../mod/install.php:151 #: ../../mod/notifications.php:66 ../../mod/contacts.php:125 -#: ../../mod/settings.php:104 ../../mod/settings.php:535 -#: ../../mod/settings.php:540 ../../mod/manage.php:86 ../../mod/network.php:6 +#: ../../mod/settings.php:106 ../../mod/settings.php:537 +#: ../../mod/settings.php:542 ../../mod/manage.php:86 ../../mod/network.php:6 #: ../../mod/notes.php:20 ../../mod/wallmessage.php:9 #: ../../mod/wallmessage.php:33 ../../mod/wallmessage.php:79 #: ../../mod/wallmessage.php:103 ../../mod/attach.php:33 @@ -64,10 +64,10 @@ msgstr "Konnte den Kontakt nicht aktualisieren." #: ../../mod/message.php:96 ../../mod/allfriends.php:9 #: ../../mod/nogroup.php:25 ../../mod/wall_upload.php:53 #: ../../mod/follow.php:8 ../../mod/display.php:138 ../../mod/profiles.php:7 -#: ../../mod/profiles.php:365 ../../mod/delegate.php:6 +#: ../../mod/profiles.php:382 ../../mod/delegate.php:6 #: ../../mod/suggest.php:28 ../../mod/invite.php:13 ../../mod/invite.php:81 #: ../../mod/dfrn_confirm.php:53 ../../addon/facebook/facebook.php:503 -#: ../../include/items.php:3214 ../../index.php:306 +#: ../../include/items.php:3297 ../../index.php:306 msgid "Permission denied." msgstr "Zugriff verweigert." @@ -96,8 +96,8 @@ msgstr "Bitte nutze den Zurück-Button deines Browsers jetzt, w msgid "Return to contact editor" msgstr "Zurück zum Kontakteditor" -#: ../../mod/crepair.php:148 ../../mod/settings.php:555 -#: ../../mod/settings.php:581 ../../mod/admin.php:656 ../../mod/admin.php:665 +#: ../../mod/crepair.php:148 ../../mod/settings.php:557 +#: ../../mod/settings.php:583 ../../mod/admin.php:656 ../../mod/admin.php:665 msgid "Name" msgstr "Name" @@ -137,13 +137,13 @@ msgstr "Neues Foto von dieser URL" #: ../../mod/events.php:428 ../../mod/photos.php:955 ../../mod/photos.php:1013 #: ../../mod/photos.php:1256 ../../mod/photos.php:1296 #: ../../mod/photos.php:1336 ../../mod/photos.php:1367 -#: ../../mod/install.php:251 ../../mod/install.php:289 +#: ../../mod/install.php:246 ../../mod/install.php:284 #: ../../mod/localtime.php:45 ../../mod/contacts.php:322 -#: ../../mod/settings.php:553 ../../mod/settings.php:699 -#: ../../mod/settings.php:760 ../../mod/settings.php:964 +#: ../../mod/settings.php:555 ../../mod/settings.php:701 +#: ../../mod/settings.php:762 ../../mod/settings.php:969 #: ../../mod/manage.php:109 ../../mod/group.php:85 ../../mod/admin.php:417 #: ../../mod/admin.php:653 ../../mod/admin.php:789 ../../mod/admin.php:988 -#: ../../mod/admin.php:1075 ../../mod/profiles.php:534 +#: ../../mod/admin.php:1075 ../../mod/profiles.php:551 #: ../../mod/invite.php:119 ../../addon/facebook/facebook.php:605 #: ../../addon/yourls/yourls.php:76 ../../addon/ljpost/ljpost.php:93 #: ../../addon/nsfw/nsfw.php:57 ../../addon/planets/planets.php:158 @@ -171,10 +171,10 @@ msgstr "Neues Foto von dieser URL" #: ../../addon/irc/irc.php:55 ../../addon/blogger/blogger.php:102 #: ../../addon/posterous/posterous.php:103 #: ../../view/theme/cleanzero/config.php:80 -#: ../../view/theme/diabook/theme.php:752 +#: ../../view/theme/diabook/theme.php:757 #: ../../view/theme/diabook/config.php:190 #: ../../view/theme/quattro/config.php:52 ../../view/theme/dispy/config.php:70 -#: ../../include/conversation.php:559 +#: ../../include/conversation.php:574 msgid "Submit" msgstr "Senden" @@ -228,12 +228,12 @@ msgstr "l, F j" msgid "Edit event" msgstr "Veranstaltung bearbeiten" -#: ../../mod/events.php:300 ../../include/text.php:1060 +#: ../../mod/events.php:300 ../../include/text.php:1064 msgid "link to source" msgstr "Link zum Originalbeitrag" -#: ../../mod/events.php:324 ../../view/theme/diabook/theme.php:126 -#: ../../include/nav.php:52 ../../boot.php:1523 +#: ../../mod/events.php:324 ../../view/theme/diabook/theme.php:131 +#: ../../include/nav.php:52 ../../boot.php:1520 msgid "Events" msgstr "Veranstaltungen" @@ -245,7 +245,7 @@ msgstr "Neue Veranstaltung erstellen" msgid "Previous" msgstr "Vorherige" -#: ../../mod/events.php:327 ../../mod/install.php:210 +#: ../../mod/events.php:327 ../../mod/install.php:205 msgid "Next" msgstr "Nächste" @@ -283,7 +283,7 @@ msgid "Description:" msgstr "Beschreibung" #: ../../mod/events.php:423 ../../include/event.php:37 -#: ../../include/bb2diaspora.php:260 ../../boot.php:1103 +#: ../../include/bb2diaspora.php:265 ../../boot.php:1100 msgid "Location:" msgstr "Ort:" @@ -292,8 +292,8 @@ msgid "Share this event" msgstr "Veranstaltung teilen" #: ../../mod/tagrm.php:11 ../../mod/tagrm.php:94 -#: ../../mod/dfrn_request.php:826 ../../mod/settings.php:554 -#: ../../mod/settings.php:580 ../../addon/js_upload/js_upload.php:45 +#: ../../mod/dfrn_request.php:830 ../../mod/settings.php:556 +#: ../../mod/settings.php:582 ../../addon/js_upload/js_upload.php:45 msgid "Cancel" msgstr "Abbrechen" @@ -336,29 +336,31 @@ msgid "" " 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:105 ../../mod/dfrn_request.php:814 -#: ../../mod/settings.php:875 ../../mod/settings.php:881 -#: ../../mod/settings.php:889 ../../mod/settings.php:893 -#: ../../mod/settings.php:898 ../../mod/settings.php:904 -#: ../../mod/settings.php:910 ../../mod/settings.php:916 -#: ../../mod/settings.php:952 ../../mod/settings.php:953 -#: ../../mod/settings.php:954 ../../mod/settings.php:955 -#: ../../mod/register.php:511 ../../mod/profiles.php:511 +#: ../../mod/api.php:105 ../../mod/dfrn_request.php:818 +#: ../../mod/settings.php:879 ../../mod/settings.php:885 +#: ../../mod/settings.php:893 ../../mod/settings.php:897 +#: ../../mod/settings.php:902 ../../mod/settings.php:908 +#: ../../mod/settings.php:914 ../../mod/settings.php:920 +#: ../../mod/settings.php:956 ../../mod/settings.php:957 +#: ../../mod/settings.php:958 ../../mod/settings.php:959 +#: ../../mod/settings.php:960 ../../mod/register.php:234 +#: ../../mod/profiles.php:528 msgid "Yes" msgstr "Ja" -#: ../../mod/api.php:106 ../../mod/dfrn_request.php:815 -#: ../../mod/settings.php:875 ../../mod/settings.php:881 -#: ../../mod/settings.php:889 ../../mod/settings.php:893 -#: ../../mod/settings.php:898 ../../mod/settings.php:904 -#: ../../mod/settings.php:910 ../../mod/settings.php:916 -#: ../../mod/settings.php:952 ../../mod/settings.php:953 -#: ../../mod/settings.php:954 ../../mod/settings.php:955 -#: ../../mod/register.php:512 ../../mod/profiles.php:512 +#: ../../mod/api.php:106 ../../mod/dfrn_request.php:819 +#: ../../mod/settings.php:879 ../../mod/settings.php:885 +#: ../../mod/settings.php:893 ../../mod/settings.php:897 +#: ../../mod/settings.php:902 ../../mod/settings.php:908 +#: ../../mod/settings.php:914 ../../mod/settings.php:920 +#: ../../mod/settings.php:956 ../../mod/settings.php:957 +#: ../../mod/settings.php:958 ../../mod/settings.php:959 +#: ../../mod/settings.php:960 ../../mod/register.php:235 +#: ../../mod/profiles.php:529 msgid "No" msgstr "Nein" -#: ../../mod/photos.php:43 ../../boot.php:1517 +#: ../../mod/photos.php:43 ../../boot.php:1514 msgid "Photo Albums" msgstr "Fotoalben" @@ -366,7 +368,7 @@ msgstr "Fotoalben" #: ../../mod/photos.php:1005 ../../mod/photos.php:1020 #: ../../mod/photos.php:1445 ../../mod/photos.php:1457 #: ../../addon/communityhome/communityhome.php:110 -#: ../../view/theme/diabook/theme.php:593 +#: ../../view/theme/diabook/theme.php:598 msgid "Contact Photos" msgstr "Kontaktbilder" @@ -374,7 +376,7 @@ msgstr "Kontaktbilder" msgid "Upload New Photos" msgstr "Weitere Fotos hochladen" -#: ../../mod/photos.php:69 ../../mod/settings.php:20 +#: ../../mod/photos.php:69 ../../mod/settings.php:21 msgid "everybody" msgstr "jeder" @@ -383,13 +385,13 @@ msgid "Contact information unavailable" msgstr "Kontaktinformationen nicht verfügbar" #: ../../mod/photos.php:151 ../../mod/photos.php:652 ../../mod/photos.php:1005 -#: ../../mod/photos.php:1020 ../../mod/register.php:314 -#: ../../mod/register.php:321 ../../mod/register.php:328 -#: ../../mod/profile_photo.php:60 ../../mod/profile_photo.php:67 -#: ../../mod/profile_photo.php:74 ../../mod/profile_photo.php:174 -#: ../../mod/profile_photo.php:252 ../../mod/profile_photo.php:261 +#: ../../mod/photos.php:1020 ../../mod/profile_photo.php:60 +#: ../../mod/profile_photo.php:67 ../../mod/profile_photo.php:74 +#: ../../mod/profile_photo.php:174 ../../mod/profile_photo.php:252 +#: ../../mod/profile_photo.php:261 #: ../../addon/communityhome/communityhome.php:111 -#: ../../view/theme/diabook/theme.php:594 +#: ../../view/theme/diabook/theme.php:599 ../../include/user.php:294 +#: ../../include/user.php:301 ../../include/user.php:308 msgid "Profile Photos" msgstr "Profilbilder" @@ -411,7 +413,7 @@ msgstr "wurde getaggt in einem" #: ../../mod/photos.php:583 ../../mod/like.php:127 ../../mod/tagger.php:70 #: ../../addon/communityhome/communityhome.php:163 -#: ../../view/theme/diabook/theme.php:565 ../../include/text.php:1311 +#: ../../view/theme/diabook/theme.php:570 ../../include/text.php:1315 #: ../../include/diaspora.php:1662 ../../include/conversation.php:53 #: ../../include/conversation.php:126 msgid "photo" @@ -440,7 +442,7 @@ msgid "Image upload failed." msgstr "Hochladen des Bildes gescheitert." #: ../../mod/photos.php:814 ../../mod/community.php:16 -#: ../../mod/dfrn_request.php:740 ../../mod/viewcontacts.php:17 +#: ../../mod/dfrn_request.php:744 ../../mod/viewcontacts.php:17 #: ../../mod/display.php:7 ../../mod/search.php:71 ../../mod/directory.php:29 msgid "Public access denied." msgstr "Öffentlicher Zugriff verweigert." @@ -519,7 +521,7 @@ msgstr "[Tag entfernen]" #: ../../mod/photos.php:1243 msgid "Rotate CW" -msgstr "" +msgstr "Im Uhrzeigersinn rotieren" #: ../../mod/photos.php:1245 msgid "New album name" @@ -538,44 +540,44 @@ msgid "" "Example: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping" msgstr "Beispiel: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping" -#: ../../mod/photos.php:1274 ../../include/conversation.php:533 +#: ../../mod/photos.php:1274 ../../include/conversation.php:548 msgid "I like this (toggle)" msgstr "Ich mag das (toggle)" -#: ../../mod/photos.php:1275 ../../include/conversation.php:534 +#: ../../mod/photos.php:1275 ../../include/conversation.php:549 msgid "I don't like this (toggle)" msgstr "Ich mag das nicht (toggle)" -#: ../../mod/photos.php:1276 ../../include/conversation.php:968 +#: ../../mod/photos.php:1276 ../../include/conversation.php:983 msgid "Share" msgstr "Teilen" #: ../../mod/photos.php:1277 ../../mod/editpost.php:104 #: ../../mod/wallmessage.php:145 ../../mod/message.php:214 #: ../../mod/message.php:408 ../../include/conversation.php:365 -#: ../../include/conversation.php:710 ../../include/conversation.php:987 +#: ../../include/conversation.php:725 ../../include/conversation.php:1002 msgid "Please wait" msgstr "Bitte warten" #: ../../mod/photos.php:1293 ../../mod/photos.php:1333 -#: ../../mod/photos.php:1364 ../../include/conversation.php:556 +#: ../../mod/photos.php:1364 ../../include/conversation.php:571 msgid "This is you" msgstr "Das bist du" #: ../../mod/photos.php:1295 ../../mod/photos.php:1335 -#: ../../mod/photos.php:1366 ../../include/conversation.php:558 -#: ../../boot.php:517 +#: ../../mod/photos.php:1366 ../../include/conversation.php:573 +#: ../../boot.php:514 msgid "Comment" msgstr "Kommentar" #: ../../mod/photos.php:1297 ../../mod/editpost.php:125 -#: ../../include/conversation.php:568 ../../include/conversation.php:1005 +#: ../../include/conversation.php:583 ../../include/conversation.php:1020 msgid "Preview" msgstr "Vorschau" -#: ../../mod/photos.php:1394 ../../mod/settings.php:616 -#: ../../mod/settings.php:697 ../../mod/group.php:168 ../../mod/admin.php:660 -#: ../../include/conversation.php:322 ../../include/conversation.php:588 +#: ../../mod/photos.php:1394 ../../mod/settings.php:618 +#: ../../mod/settings.php:699 ../../mod/group.php:168 ../../mod/admin.php:660 +#: ../../include/conversation.php:322 ../../include/conversation.php:603 msgid "Delete" msgstr "Löschen" @@ -591,12 +593,12 @@ msgstr "Neueste Fotos" msgid "Not available." msgstr "Nicht verfügbar." -#: ../../mod/community.php:30 ../../view/theme/diabook/theme.php:128 +#: ../../mod/community.php:30 ../../view/theme/diabook/theme.php:133 #: ../../include/nav.php:101 msgid "Community" msgstr "Gemeinschaft" -#: ../../mod/community.php:61 ../../mod/search.php:138 +#: ../../mod/community.php:61 ../../mod/search.php:144 msgid "No results." msgstr "Keine Ergebnisse." @@ -640,28 +642,28 @@ msgstr "Beitrag nicht gefunden" msgid "Edit post" msgstr "Beitrag bearbeiten" -#: ../../mod/editpost.php:80 ../../include/conversation.php:954 +#: ../../mod/editpost.php:80 ../../include/conversation.php:969 msgid "Post to Email" msgstr "An E-Mail senden" -#: ../../mod/editpost.php:95 ../../mod/settings.php:615 -#: ../../include/conversation.php:575 +#: ../../mod/editpost.php:95 ../../mod/settings.php:617 +#: ../../include/conversation.php:590 msgid "Edit" msgstr "Bearbeiten" #: ../../mod/editpost.php:96 ../../mod/wallmessage.php:143 #: ../../mod/message.php:212 ../../mod/message.php:406 -#: ../../include/conversation.php:969 +#: ../../include/conversation.php:984 msgid "Upload photo" msgstr "Foto hochladen" -#: ../../mod/editpost.php:97 ../../include/conversation.php:971 +#: ../../mod/editpost.php:97 ../../include/conversation.php:986 msgid "Attach file" msgstr "Datei anhängen" #: ../../mod/editpost.php:98 ../../mod/wallmessage.php:144 #: ../../mod/message.php:213 ../../mod/message.php:407 -#: ../../include/conversation.php:973 +#: ../../include/conversation.php:988 msgid "Insert web link" msgstr "einen Link einfügen" @@ -677,35 +679,35 @@ msgstr "Vorbis [.ogg] Video einfügen" msgid "Insert Vorbis [.ogg] audio" msgstr "Vorbis [.ogg] Audio einfügen" -#: ../../mod/editpost.php:102 ../../include/conversation.php:979 +#: ../../mod/editpost.php:102 ../../include/conversation.php:994 msgid "Set your location" msgstr "Deinen Standort festlegen" -#: ../../mod/editpost.php:103 ../../include/conversation.php:981 +#: ../../mod/editpost.php:103 ../../include/conversation.php:996 msgid "Clear browser location" msgstr "Browser-Standort leeren" -#: ../../mod/editpost.php:105 ../../include/conversation.php:988 +#: ../../mod/editpost.php:105 ../../include/conversation.php:1003 msgid "Permission settings" msgstr "Berechtigungseinstellungen" -#: ../../mod/editpost.php:113 ../../include/conversation.php:997 +#: ../../mod/editpost.php:113 ../../include/conversation.php:1012 msgid "CC: email addresses" msgstr "Cc:-E-Mail-Addressen" -#: ../../mod/editpost.php:114 ../../include/conversation.php:998 +#: ../../mod/editpost.php:114 ../../include/conversation.php:1013 msgid "Public post" msgstr "Öffentlicher Beitrag" -#: ../../mod/editpost.php:117 ../../include/conversation.php:984 +#: ../../mod/editpost.php:117 ../../include/conversation.php:999 msgid "Set title" msgstr "Titel setzen" -#: ../../mod/editpost.php:119 ../../include/conversation.php:986 +#: ../../mod/editpost.php:119 ../../include/conversation.php:1001 msgid "Categories (comma-separated list)" msgstr "Kategorien (kommasepariert)" -#: ../../mod/editpost.php:120 ../../include/conversation.php:1000 +#: ../../mod/editpost.php:120 ../../include/conversation.php:1015 msgid "Example: bob@example.com, mary@example.com" msgstr "Z.B.: bob@example.com, mary@example.com" @@ -713,201 +715,200 @@ msgstr "Z.B.: bob@example.com, mary@example.com" msgid "This introduction has already been accepted." msgstr "Diese Kontaktanfrage wurde bereits akzeptiert." -#: ../../mod/dfrn_request.php:117 ../../mod/dfrn_request.php:495 +#: ../../mod/dfrn_request.php:118 ../../mod/dfrn_request.php:497 msgid "Profile location is not valid or does not contain profile information." msgstr "Profiladresse ist ungültig oder stellt einige Profildaten nicht zur Verfügung." -#: ../../mod/dfrn_request.php:122 ../../mod/dfrn_request.php:500 +#: ../../mod/dfrn_request.php:123 ../../mod/dfrn_request.php:502 msgid "Warning: profile location has no identifiable owner name." msgstr "Warnung: Es konnte kein Name des Besitzers von der angegebenen Profiladresse gefunden werden." -#: ../../mod/dfrn_request.php:124 ../../mod/dfrn_request.php:502 +#: ../../mod/dfrn_request.php:125 ../../mod/dfrn_request.php:504 msgid "Warning: profile location has no profile photo." msgstr "Warnung: Es konnte kein Profilbild bei der angegebenen Profiladresse gefunden werden." -#: ../../mod/dfrn_request.php:127 ../../mod/dfrn_request.php:505 +#: ../../mod/dfrn_request.php:128 ../../mod/dfrn_request.php:507 #, php-format msgid "%d required parameter was not found at the given location" msgid_plural "%d required parameters were not found at the given location" msgstr[0] "%d benötigter Parameter wurde an der angegebenen Stelle nicht gefunden" msgstr[1] "%d benötigte Parameter wurden an der angegebenen Stelle nicht gefunden" -#: ../../mod/dfrn_request.php:168 +#: ../../mod/dfrn_request.php:170 msgid "Introduction complete." msgstr "Kontaktanfrage abgeschlossen." -#: ../../mod/dfrn_request.php:192 +#: ../../mod/dfrn_request.php:194 msgid "Unrecoverable protocol error." msgstr "Nicht behebbarer Protokollfehler." -#: ../../mod/dfrn_request.php:220 +#: ../../mod/dfrn_request.php:222 msgid "Profile unavailable." msgstr "Profil nicht verfügbar." -#: ../../mod/dfrn_request.php:245 +#: ../../mod/dfrn_request.php:247 #, php-format msgid "%s has received too many connection requests today." msgstr "%s hat heute zu viele Freundschaftsanfragen erhalten." -#: ../../mod/dfrn_request.php:246 +#: ../../mod/dfrn_request.php:248 msgid "Spam protection measures have been invoked." msgstr "Maßnahmen zum Spamschutz wurden ergriffen." -#: ../../mod/dfrn_request.php:247 +#: ../../mod/dfrn_request.php:249 msgid "Friends are advised to please try again in 24 hours." msgstr "Freunde sind angehalten, es in 24 Stunden erneut zu versuchen." -#: ../../mod/dfrn_request.php:309 +#: ../../mod/dfrn_request.php:311 msgid "Invalid locator" msgstr "Ungültiger Locator" -#: ../../mod/dfrn_request.php:318 +#: ../../mod/dfrn_request.php:320 msgid "Invalid email address." msgstr "Ungültige E-Mail Adresse." -#: ../../mod/dfrn_request.php:344 +#: ../../mod/dfrn_request.php:346 msgid "This account has not been configured for email. Request failed." msgstr "Dieses Konto ist nicht für Email konfiguriert. Anfrage fehlgeschlagen." -#: ../../mod/dfrn_request.php:440 +#: ../../mod/dfrn_request.php:442 msgid "Unable to resolve your name at the provided location." msgstr "Konnte deinen Namen an der angegebenen Stelle nicht finden." -#: ../../mod/dfrn_request.php:453 +#: ../../mod/dfrn_request.php:455 msgid "You have already introduced yourself here." msgstr "Du hast dich hier bereits vorgestellt." -#: ../../mod/dfrn_request.php:457 +#: ../../mod/dfrn_request.php:459 #, php-format msgid "Apparently you are already friends with %s." msgstr "Es scheint so, als ob du bereits mit %s befreundet bist." -#: ../../mod/dfrn_request.php:478 +#: ../../mod/dfrn_request.php:480 msgid "Invalid profile URL." msgstr "Ungültige Profil-URL." -#: ../../mod/dfrn_request.php:484 ../../mod/follow.php:23 +#: ../../mod/dfrn_request.php:486 ../../mod/follow.php:23 msgid "Disallowed profile URL." msgstr "Nicht erlaubte Profil-URL." -#: ../../mod/dfrn_request.php:553 ../../mod/contacts.php:102 +#: ../../mod/dfrn_request.php:555 ../../mod/contacts.php:102 msgid "Failed to update contact record." msgstr "Aktualisierung der Kontaktdaten fehlgeschlagen." -#: ../../mod/dfrn_request.php:574 +#: ../../mod/dfrn_request.php:576 msgid "Your introduction has been sent." msgstr "Deine Kontaktanfrage wurde gesendet." -#: ../../mod/dfrn_request.php:627 +#: ../../mod/dfrn_request.php:629 msgid "Please login to confirm introduction." msgstr "Bitte melde dich an, um die Kontaktanfrage zu bestätigen." -#: ../../mod/dfrn_request.php:641 +#: ../../mod/dfrn_request.php:643 msgid "" "Incorrect identity currently logged in. Please login to " "this profile." msgstr "Momentan bist du mit einer anderen Identität angemeldet. Bitte melde Dich mit diesem Profil an." -#: ../../mod/dfrn_request.php:653 +#: ../../mod/dfrn_request.php:654 +msgid "Hide this contact" +msgstr "Verberge diese Kontakt" + +#: ../../mod/dfrn_request.php:657 #, php-format msgid "Welcome home %s." msgstr "Willkommen zurück %s." -#: ../../mod/dfrn_request.php:654 +#: ../../mod/dfrn_request.php:658 #, php-format msgid "Please confirm your introduction/connection request to %s." msgstr "Bitte bestätige deine Kontaktanfrage bei %s." -#: ../../mod/dfrn_request.php:655 +#: ../../mod/dfrn_request.php:659 msgid "Confirm" msgstr "Bestätigen" -#: ../../mod/dfrn_request.php:696 ../../include/items.php:2729 +#: ../../mod/dfrn_request.php:700 ../../include/items.php:2733 msgid "[Name Withheld]" msgstr "[Name unterdrückt]" -#: ../../mod/dfrn_request.php:789 +#: ../../mod/dfrn_request.php:793 msgid "" "Please enter your 'Identity Address' from one of the following supported " "communications networks:" msgstr "Bitte gib die Adresse deines Profils in einem der unterstützten sozialen Netzwerke an:" -#: ../../mod/dfrn_request.php:805 +#: ../../mod/dfrn_request.php:809 msgid "Connect as an email follower (Coming soon)" msgstr "Als E-Mail-Kontakt verbinden (In Kürze verfügbar)" -#: ../../mod/dfrn_request.php:807 +#: ../../mod/dfrn_request.php:811 msgid "" "If you are not yet a member of the free social web, follow this link to find a public" " Friendica site and join us today." msgstr "Wenn du noch kein Mitglied dieses freien sozialen Netzwerks bist, folge diesem Link um einen öffentlichen Friendica-Server zu finden und beizutreten." -#: ../../mod/dfrn_request.php:810 +#: ../../mod/dfrn_request.php:814 msgid "Friend/Connection Request" msgstr "Freundschafts-/Kontaktanfrage" -#: ../../mod/dfrn_request.php:811 +#: ../../mod/dfrn_request.php:815 msgid "" "Examples: jojo@demo.friendica.com, http://demo.friendica.com/profile/jojo, " "testuser@identi.ca" msgstr "Beispiele: jojo@demo.friendica.com, http://demo.friendica.com/profile/jojo, testuser@identi.ca" -#: ../../mod/dfrn_request.php:812 +#: ../../mod/dfrn_request.php:816 msgid "Please answer the following:" msgstr "Bitte beantworte Folgendes:" -#: ../../mod/dfrn_request.php:813 +#: ../../mod/dfrn_request.php:817 #, php-format msgid "Does %s know you?" msgstr "Kennt %s dich?" -#: ../../mod/dfrn_request.php:816 +#: ../../mod/dfrn_request.php:820 msgid "Add a personal note:" msgstr "Eine persönliche Notiz beifügen:" -#: ../../mod/dfrn_request.php:818 ../../include/contact_selectors.php:76 +#: ../../mod/dfrn_request.php:822 ../../include/contact_selectors.php:76 msgid "Friendica" msgstr "Friendica" -#: ../../mod/dfrn_request.php:819 +#: ../../mod/dfrn_request.php:823 msgid "StatusNet/Federated Social Web" msgstr "StatusNet/Federated Social Web" -#: ../../mod/dfrn_request.php:820 ../../mod/settings.php:650 +#: ../../mod/dfrn_request.php:824 ../../mod/settings.php:652 #: ../../include/contact_selectors.php:80 msgid "Diaspora" msgstr "Diaspora" -#: ../../mod/dfrn_request.php:821 +#: ../../mod/dfrn_request.php:825 #, php-format msgid "" " - please do not use this form. Instead, enter %s into your Diaspora search" " bar." msgstr " - bitte verwende dieses Formular nicht. Stattdessen suche nach %s in deiner Diaspora Suchleiste." -#: ../../mod/dfrn_request.php:822 +#: ../../mod/dfrn_request.php:826 msgid "Your Identity Address:" msgstr "Adresse deines Profils:" -#: ../../mod/dfrn_request.php:825 +#: ../../mod/dfrn_request.php:829 msgid "Submit Request" msgstr "Anfrage abschicken" -#: ../../mod/install.php:111 +#: ../../mod/install.php:117 msgid "Friendica Social Communications Server - Setup" msgstr "Friendica-Server für soziale Netzwerke – Setup" -#: ../../mod/install.php:117 ../../mod/install.php:157 -#: ../../mod/install.php:230 -msgid "Database connection" -msgstr "Datenbankverbindung" - -#: ../../mod/install.php:124 +#: ../../mod/install.php:123 msgid "Could not connect to database." msgstr "Verbindung zur Datenbank gescheitert" -#: ../../mod/install.php:128 +#: ../../mod/install.php:127 msgid "Could not create table." msgstr "Konnte Tabelle nicht erstellen." @@ -915,232 +916,246 @@ msgstr "Konnte Tabelle nicht erstellen." msgid "Your Friendica site database has been installed." msgstr "Die Datenbank deiner Friendica Seite wurde installiert." -#: ../../mod/install.php:134 -msgid "" -"IMPORTANT: You will need to [manually] setup a scheduled task for the " -"poller." -msgstr "WICHTIG: Du musst [manuell] einen Cronjob (o.ä.) für den Poller einrichten." - -#: ../../mod/install.php:135 ../../mod/install.php:151 -#: ../../mod/install.php:209 -msgid "Please see the file \"INSTALL.txt\"." -msgstr "Lies bitte die \"INSTALL.txt\"." - -#: ../../mod/install.php:137 -msgid "Proceed to registration" -msgstr "Mit der Registrierung fortfahren" - -#: ../../mod/install.php:143 -msgid "Proceed with Installation" -msgstr "Mit der Installation fortfahren" - -#: ../../mod/install.php:150 +#: ../../mod/install.php:138 msgid "" "You may need to import the file \"database.sql\" manually using phpmyadmin " "or mysql." msgstr "Möglicherweise musst du die Datei \"database.sql\" manuell mit phpmyadmin oder mysql importieren." -#: ../../mod/install.php:158 -msgid "Database import failed." -msgstr "Import der Datenbank schlug fehl." +#: ../../mod/install.php:139 ../../mod/install.php:204 +#: ../../mod/install.php:489 +msgid "Please see the file \"INSTALL.txt\"." +msgstr "Lies bitte die \"INSTALL.txt\"." -#: ../../mod/install.php:206 +#: ../../mod/install.php:201 msgid "System check" msgstr "Systemtest" -#: ../../mod/install.php:211 +#: ../../mod/install.php:206 msgid "Check again" msgstr "Noch einmal testen" -#: ../../mod/install.php:231 +#: ../../mod/install.php:225 +msgid "Database connection" +msgstr "Datenbankverbindung" + +#: ../../mod/install.php:226 msgid "" "In order to install Friendica we need to know how to connect to your " "database." msgstr "Um Friendica installieren zu können, müssen wir wissen, wie wir zu deiner Datenbank Kontakt aufnehmen können." -#: ../../mod/install.php:232 +#: ../../mod/install.php:227 msgid "" "Please contact your hosting provider or site administrator if you have " "questions about these settings." msgstr "Bitte kontaktiere den Hosting Provider oder den Administrator der Seite, falls du Fragen zu diesen Einstellungen haben solltest." -#: ../../mod/install.php:233 +#: ../../mod/install.php:228 msgid "" "The database you specify below should already exist. If it does not, please " "create it before continuing." msgstr "Die Datenbank, die du unten angibst, sollte bereits existieren. Ist dies noch nicht der Fall, erzeuge sie bitte bevor du mit der Installation fortfährst." -#: ../../mod/install.php:237 +#: ../../mod/install.php:232 msgid "Database Server Name" msgstr "Datenbank-Server" -#: ../../mod/install.php:238 +#: ../../mod/install.php:233 msgid "Database Login Name" msgstr "Datenbank-Nutzer" -#: ../../mod/install.php:239 +#: ../../mod/install.php:234 msgid "Database Login Password" msgstr "Datenbank-Passwort" -#: ../../mod/install.php:240 +#: ../../mod/install.php:235 msgid "Database Name" msgstr "Datenbank-Name" -#: ../../mod/install.php:241 ../../mod/install.php:280 +#: ../../mod/install.php:236 ../../mod/install.php:275 msgid "Site administrator email address" msgstr "E-Mail-Adresse des Administrators" -#: ../../mod/install.php:241 ../../mod/install.php:280 +#: ../../mod/install.php:236 ../../mod/install.php:275 msgid "" "Your account email address must match this in order to use the web admin " "panel." msgstr "Die E-Mail-Adresse, die in deinem Friendica-Account eingetragen ist, muss mit dieser Adresse übereinstimmen, damit du das Admin-Panel benutzen kannst." -#: ../../mod/install.php:245 ../../mod/install.php:283 +#: ../../mod/install.php:240 ../../mod/install.php:278 msgid "Please select a default timezone for your website" msgstr "Bitte wähle die Standardzeitzone deiner Webseite" -#: ../../mod/install.php:270 +#: ../../mod/install.php:265 msgid "Site settings" msgstr "Server-Einstellungen" -#: ../../mod/install.php:323 +#: ../../mod/install.php:318 msgid "Could not find a command line version of PHP in the web server PATH." msgstr "Konnte keine Kommandozeilenversion von PHP im PATH des Servers finden." -#: ../../mod/install.php:326 +#: ../../mod/install.php:319 +msgid "" +"If you don't have a command line version of PHP installed on server, you " +"will not be able to run background polling via cron. See 'Activating scheduled tasks'" +msgstr "Wenn du keine Kommandozeilen Version von PHP auf deinem Server installiert hast, kannst du keine Hintergrundprozesse via cron starten. Siehe 'Activating scheduled tasks'" + +#: ../../mod/install.php:323 msgid "PHP executable path" msgstr "Pfad zu PHP" -#: ../../mod/install.php:326 -msgid "Enter full path to php executable" -msgstr "Kompletter Pfad zum PHP-Executable" +#: ../../mod/install.php:323 +msgid "" +"Enter full path to php executable. You can leave this blank to continue the " +"installation." +msgstr "Gib den kompletten Pfad zur ausführbaren Datei von PHP an. Du kannst diesen Feld auch frei lassen und mit der Installation fortfahren." -#: ../../mod/install.php:331 +#: ../../mod/install.php:328 msgid "Command line PHP" msgstr "Kommandozeilen-PHP" -#: ../../mod/install.php:340 +#: ../../mod/install.php:337 msgid "" "The command line version of PHP on your system does not have " "\"register_argc_argv\" enabled." msgstr "Die Kommandozeilenversion von PHP auf deinem System hat \"register_argc_argv\" nicht aktiviert." -#: ../../mod/install.php:341 +#: ../../mod/install.php:338 msgid "This is required for message delivery to work." msgstr "Dies wird für die Auslieferung von Nachrichten benötigt." -#: ../../mod/install.php:343 +#: ../../mod/install.php:340 msgid "PHP register_argc_argv" msgstr "PHP register_argc_argv" -#: ../../mod/install.php:364 +#: ../../mod/install.php:361 msgid "" "Error: the \"openssl_pkey_new\" function on this system is not able to " "generate encryption keys" msgstr "Fehler: Die Funktion \"openssl_pkey_new\" auf diesem System ist nicht in der Lage, Verschlüsselungsschlüssel zu erzeugen" -#: ../../mod/install.php:365 +#: ../../mod/install.php:362 msgid "" "If running under Windows, please see " "\"http://www.php.net/manual/en/openssl.installation.php\"." msgstr "Wenn der Server unter Windows läuft, schau dir bitte \"http://www.php.net/manual/en/openssl.installation.php\" an." -#: ../../mod/install.php:367 +#: ../../mod/install.php:364 msgid "Generate encryption keys" msgstr "Schlüssel erzeugen" -#: ../../mod/install.php:374 +#: ../../mod/install.php:371 msgid "libCurl PHP module" msgstr "PHP: libCurl-Modul" -#: ../../mod/install.php:375 +#: ../../mod/install.php:372 msgid "GD graphics PHP module" msgstr "PHP: GD-Grafikmodul" -#: ../../mod/install.php:376 +#: ../../mod/install.php:373 msgid "OpenSSL PHP module" msgstr "PHP: OpenSSL-Modul" -#: ../../mod/install.php:377 +#: ../../mod/install.php:374 msgid "mysqli PHP module" msgstr "PHP: mysqli-Modul" -#: ../../mod/install.php:378 +#: ../../mod/install.php:375 msgid "mb_string PHP module" msgstr "PHP: mb_string-Modul" -#: ../../mod/install.php:383 ../../mod/install.php:385 +#: ../../mod/install.php:380 ../../mod/install.php:382 msgid "Apache mod_rewrite module" msgstr "Apache mod_rewrite module" -#: ../../mod/install.php:383 +#: ../../mod/install.php:380 msgid "" "Error: Apache webserver mod-rewrite module is required but not installed." msgstr "Fehler: Das Apache-Modul mod-rewrite wird benötigt, es ist allerdings nicht installiert." -#: ../../mod/install.php:390 +#: ../../mod/install.php:388 msgid "Error: libCURL PHP module required but not installed." msgstr "Fehler: Das libCURL PHP Modul wird benötigt ist aber nicht installiert." -#: ../../mod/install.php:394 +#: ../../mod/install.php:392 msgid "" "Error: GD graphics PHP module with JPEG support required but not installed." msgstr "Fehler: Das GD-Graphikmodul für PHP mit JPEG-Unterstützung ist nicht installiert." -#: ../../mod/install.php:398 +#: ../../mod/install.php:396 msgid "Error: openssl PHP module required but not installed." msgstr "Fehler: Das openssl-Modul von PHP ist nicht installiert." -#: ../../mod/install.php:402 +#: ../../mod/install.php:400 msgid "Error: mysqli PHP module required but not installed." msgstr "Fehler: Das mysqli-Modul von PHP ist nicht installiert." -#: ../../mod/install.php:406 +#: ../../mod/install.php:404 msgid "Error: mb_string PHP module required but not installed." msgstr "Fehler: mb_string PHP Module wird benötigt ist aber nicht installiert." -#: ../../mod/install.php:423 +#: ../../mod/install.php:421 msgid "" "The web installer needs to be able to create a file called \".htconfig.php\"" " in the top folder of your web server and it is unable to do so." msgstr "Der Installationswizard muss in der Lage sein, eine Datei im Stammverzeichnis deines Webservers anzulegen, ist allerdings derzeit nicht in der Lage, dies zu tun." -#: ../../mod/install.php:424 +#: ../../mod/install.php:422 msgid "" "This is most often a permission setting, as the web server may not be able " "to write files in your folder - even if you can." msgstr "In den meisten Fällen ist dies ein Problem mit den Schreibrechten, der Webserver könnte keine Schreiberlaubnis haben, selbst wenn du sie hast." -#: ../../mod/install.php:425 +#: ../../mod/install.php:423 msgid "" -"Please check with your site documentation or support people to see if this " -"situation can be corrected." -msgstr "Bitte überprüfe die Einstellungen und frage im Zweifelsfall dein Support Team, um diese Situation zu beheben." +"At the end of this procedure, we will give you a text to save in a file " +"named .htconfig.php in your Friendica top folder." +msgstr "Nachdem du alles ausgefüllt hast, erhältst du einen Text, den du in eine Datei namens .htconfig.php in deinem Friendica-Wurzelverzeichnis kopieren musst." -#: ../../mod/install.php:426 +#: ../../mod/install.php:424 msgid "" -"If not, you may be required to perform a manual installation. Please see the" -" file \"INSTALL.txt\" for instructions." -msgstr "Sollte dies nicht möglich sein, musst du die Installation manuell durchführen. Lies dazu bitte in der Datei \"INSTALL.txt\"." +"You can alternatively skip this procedure and perform a manual installation." +" Please see the file \"INSTALL.txt\" for instructions." +msgstr "Alternativ kannst du diesen Schritt aber auch überspringen und die Installation manuell durchführen. Eine Anleitung dazu (Englisch) findest du in der Datei INSTALL.txt." -#: ../../mod/install.php:429 +#: ../../mod/install.php:427 msgid ".htconfig.php is writable" msgstr "Schreibrechte auf .htconfig.php" -#: ../../mod/install.php:436 +#: ../../mod/install.php:439 +msgid "" +"Url rewrite in .htaccess is not working. Check your server configuration." +msgstr "Umschreiben der URLs in der .htaccess funktioniert nicht. Überprüfe die Konfiguration des Servers." + +#: ../../mod/install.php:441 +msgid "Url rewrite is working" +msgstr "URL rewrite funktioniert" + +#: ../../mod/install.php:451 msgid "" "The database configuration file \".htconfig.php\" could not be written. " "Please use the enclosed text to create a configuration file in your web " "server root." msgstr "Die Konfigurationsdatei \".htconfig.php\" konnte nicht angelegt werden. Bitte verwende den angefügten Text, um die Datei im Stammverzeichnis deiner Friendica-Installation zu erzeugen." -#: ../../mod/install.php:461 +#: ../../mod/install.php:476 msgid "Errors encountered creating database tables." msgstr "Fehler aufgetreten während der Erzeugung der Datenbanktabellen." +#: ../../mod/install.php:487 +msgid "

What next

" +msgstr "

Wie geht es weiter?

" + +#: ../../mod/install.php:488 +msgid "" +"IMPORTANT: You will need to [manually] setup a scheduled task for the " +"poller." +msgstr "WICHTIG: Du musst [manuell] einen Cronjob (o.ä.) für den Poller einrichten." + #: ../../mod/localtime.php:12 ../../include/event.php:11 -#: ../../include/bb2diaspora.php:238 +#: ../../include/bb2diaspora.php:243 msgid "l F d, Y \\@ g:i A" msgstr "l F d, Y \\@ g:i A" @@ -1186,7 +1201,7 @@ msgid "is interested in:" msgstr "ist interessiert an:" #: ../../mod/match.php:58 ../../mod/suggest.php:59 -#: ../../include/contact_widgets.php:9 ../../boot.php:1047 +#: ../../include/contact_widgets.php:9 ../../boot.php:1044 msgid "Connect" msgstr "Verbinden" @@ -1234,7 +1249,7 @@ msgstr "Netzwerk" msgid "Personal" msgstr "Persönlich" -#: ../../mod/notifications.php:90 ../../view/theme/diabook/theme.php:122 +#: ../../mod/notifications.php:90 ../../view/theme/diabook/theme.php:127 #: ../../include/nav.php:77 ../../include/nav.php:115 msgid "Home" msgstr "Pinnwand" @@ -1675,7 +1690,7 @@ msgstr "du bist Fan von" msgid "Edit contact" msgstr "Kontakt bearbeiten" -#: ../../mod/contacts.php:544 ../../view/theme/diabook/theme.php:124 +#: ../../mod/contacts.php:544 ../../view/theme/diabook/theme.php:129 #: ../../include/nav.php:139 msgid "Contacts" msgstr "Kontakte" @@ -1707,13 +1722,13 @@ msgid "Password reset requested at %s" msgstr "Anfrage zum Zurücksetzen des Passworts auf %s erhalten" #: ../../mod/lostpass.php:45 ../../mod/lostpass.php:107 -#: ../../mod/register.php:367 ../../mod/register.php:421 -#: ../../mod/regmod.php:54 ../../mod/dfrn_confirm.php:745 +#: ../../mod/register.php:90 ../../mod/register.php:144 +#: ../../mod/regmod.php:54 ../../mod/dfrn_confirm.php:752 #: ../../addon/facebook/facebook.php:688 #: ../../addon/facebook/facebook.php:1178 #: ../../addon/public_server/public_server.php:62 -#: ../../addon/testdrive/testdrive.php:67 ../../include/items.php:2738 -#: ../../boot.php:697 +#: ../../addon/testdrive/testdrive.php:67 ../../include/items.php:2742 +#: ../../boot.php:694 msgid "Administrator" msgstr "Administrator" @@ -1723,7 +1738,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:83 ../../boot.php:829 +#: ../../mod/lostpass.php:83 ../../boot.php:826 msgid "Password Reset" msgstr "Passwort zurücksetzen" @@ -1767,97 +1782,97 @@ msgstr "Spitzname oder Email:" msgid "Reset" msgstr "Zurücksetzen" -#: ../../mod/settings.php:49 ../../include/nav.php:137 +#: ../../mod/settings.php:50 ../../include/nav.php:137 msgid "Account settings" msgstr "Account-Einstellungen" -#: ../../mod/settings.php:54 +#: ../../mod/settings.php:55 msgid "Display settings" msgstr "Anzeige-Einstellungen" -#: ../../mod/settings.php:60 +#: ../../mod/settings.php:61 msgid "Connector settings" msgstr "Connector-Einstellungen" -#: ../../mod/settings.php:65 +#: ../../mod/settings.php:66 msgid "Plugin settings" msgstr "Plugin-Einstellungen" -#: ../../mod/settings.php:70 +#: ../../mod/settings.php:71 msgid "Connected apps" msgstr "Verbundene Programme" -#: ../../mod/settings.php:75 +#: ../../mod/settings.php:76 msgid "Export personal data" msgstr "Persönliche Daten exportieren" -#: ../../mod/settings.php:80 +#: ../../mod/settings.php:81 msgid "Remove account" msgstr "Account entfernen" -#: ../../mod/settings.php:88 ../../mod/admin.php:748 ../../mod/admin.php:953 -#: ../../addon/mathjax/mathjax.php:36 ../../view/theme/diabook/theme.php:638 -#: ../../view/theme/diabook/theme.php:768 ../../include/nav.php:137 +#: ../../mod/settings.php:89 ../../mod/admin.php:748 ../../mod/admin.php:953 +#: ../../addon/mathjax/mathjax.php:36 ../../view/theme/diabook/theme.php:643 +#: ../../view/theme/diabook/theme.php:773 ../../include/nav.php:137 msgid "Settings" msgstr "Einstellungen" -#: ../../mod/settings.php:131 +#: ../../mod/settings.php:133 msgid "Missing some important data!" msgstr "Wichtige Daten fehlen!" -#: ../../mod/settings.php:134 ../../mod/settings.php:579 +#: ../../mod/settings.php:136 ../../mod/settings.php:581 msgid "Update" msgstr "Aktualisierungen" -#: ../../mod/settings.php:239 +#: ../../mod/settings.php:241 msgid "Failed to connect with email account using the settings provided." msgstr "Konnte das Email Konto mit den angegebenen Einstellungen nicht erreichen." -#: ../../mod/settings.php:244 +#: ../../mod/settings.php:246 msgid "Email settings updated." msgstr "EMail Einstellungen bearbeitet." -#: ../../mod/settings.php:303 +#: ../../mod/settings.php:305 msgid "Passwords do not match. Password unchanged." msgstr "Die Passwörter stimmen nicht überein. Das Passwort bleibt unverändert." -#: ../../mod/settings.php:308 +#: ../../mod/settings.php:310 msgid "Empty passwords are not allowed. Password unchanged." msgstr "Leere Passwörter sind nicht erlaubt. Passwort bleibt unverändert." -#: ../../mod/settings.php:319 +#: ../../mod/settings.php:321 msgid "Password changed." msgstr "Passwort ändern." -#: ../../mod/settings.php:321 +#: ../../mod/settings.php:323 msgid "Password update failed. Please try again." msgstr "Aktualisierung des Passworts gescheitert, bitte versuche es noch einmal." -#: ../../mod/settings.php:385 +#: ../../mod/settings.php:386 msgid " Please use a shorter name." msgstr " Bitte verwende einen kürzeren Namen." -#: ../../mod/settings.php:387 +#: ../../mod/settings.php:388 msgid " Name too short." msgstr " Name ist zu kurz." -#: ../../mod/settings.php:393 +#: ../../mod/settings.php:394 msgid " Not valid email." msgstr " Keine gültige E-Mail." -#: ../../mod/settings.php:395 +#: ../../mod/settings.php:396 msgid " Cannot change to that email." msgstr "Ändern der E-Mail nicht möglich. " -#: ../../mod/settings.php:448 +#: ../../mod/settings.php:450 msgid "Private forum has no privacy permissions. Using default privacy group." -msgstr "" +msgstr "Für das private Forum sind keine Zugriffsrechte eingestellt. Die voreingestellte Gruppe für neue Kontakte wird benutzt." -#: ../../mod/settings.php:452 +#: ../../mod/settings.php:454 msgid "Private forum has no privacy permissions and no default privacy group." -msgstr "" +msgstr "Für das private Forum sind keine Zugriffsrechte eingestellt, und es gibt keine voreingestellte Gruppe für neue Kontakte." -#: ../../mod/settings.php:482 ../../addon/facebook/facebook.php:488 +#: ../../mod/settings.php:484 ../../addon/facebook/facebook.php:488 #: ../../addon/impressum/impressum.php:77 #: ../../addon/openstreetmap/openstreetmap.php:80 #: ../../addon/mathjax/mathjax.php:66 ../../addon/piwik/piwik.php:105 @@ -1865,420 +1880,428 @@ msgstr "" msgid "Settings updated." msgstr "Einstellungen aktualisiert." -#: ../../mod/settings.php:552 ../../mod/settings.php:578 -#: ../../mod/settings.php:614 +#: ../../mod/settings.php:554 ../../mod/settings.php:580 +#: ../../mod/settings.php:616 msgid "Add application" msgstr "Programm hinzufügen" -#: ../../mod/settings.php:556 ../../mod/settings.php:582 +#: ../../mod/settings.php:558 ../../mod/settings.php:584 #: ../../addon/statusnet/statusnet.php:555 msgid "Consumer Key" msgstr "Consumer Key" -#: ../../mod/settings.php:557 ../../mod/settings.php:583 +#: ../../mod/settings.php:559 ../../mod/settings.php:585 #: ../../addon/statusnet/statusnet.php:554 msgid "Consumer Secret" msgstr "Consumer Secret" -#: ../../mod/settings.php:558 ../../mod/settings.php:584 +#: ../../mod/settings.php:560 ../../mod/settings.php:586 msgid "Redirect" msgstr "Umleiten" -#: ../../mod/settings.php:559 ../../mod/settings.php:585 +#: ../../mod/settings.php:561 ../../mod/settings.php:587 msgid "Icon url" msgstr "Icon URL" -#: ../../mod/settings.php:570 +#: ../../mod/settings.php:572 msgid "You can't edit this application." msgstr "Du kannst dieses Programm nicht bearbeiten." -#: ../../mod/settings.php:613 +#: ../../mod/settings.php:615 msgid "Connected Apps" msgstr "Verbundene Programme" -#: ../../mod/settings.php:617 +#: ../../mod/settings.php:619 msgid "Client key starts with" msgstr "Anwenderschlüssel beginnt mit" -#: ../../mod/settings.php:618 +#: ../../mod/settings.php:620 msgid "No name" msgstr "Kein Name" -#: ../../mod/settings.php:619 +#: ../../mod/settings.php:621 msgid "Remove authorization" msgstr "Autorisierung entziehen" -#: ../../mod/settings.php:630 +#: ../../mod/settings.php:632 msgid "No Plugin settings configured" msgstr "Keine Plugin-Einstellungen konfiguriert" -#: ../../mod/settings.php:638 ../../addon/widgets/widgets.php:123 +#: ../../mod/settings.php:640 ../../addon/widgets/widgets.php:123 msgid "Plugin Settings" msgstr "Plugin-Einstellungen" -#: ../../mod/settings.php:650 ../../mod/settings.php:651 +#: ../../mod/settings.php:652 ../../mod/settings.php:653 #, php-format msgid "Built-in support for %s connectivity is %s" msgstr "Eingebaute Unterstützung für Verbindungen zu %s ist %s" -#: ../../mod/settings.php:650 ../../mod/settings.php:651 +#: ../../mod/settings.php:652 ../../mod/settings.php:653 msgid "enabled" msgstr "eingeschaltet" -#: ../../mod/settings.php:650 ../../mod/settings.php:651 +#: ../../mod/settings.php:652 ../../mod/settings.php:653 msgid "disabled" msgstr "ausgeschaltet" -#: ../../mod/settings.php:651 +#: ../../mod/settings.php:653 msgid "StatusNet" msgstr "StatusNet" -#: ../../mod/settings.php:681 +#: ../../mod/settings.php:683 msgid "Connector Settings" msgstr "Verbindungs-Einstellungen" -#: ../../mod/settings.php:686 +#: ../../mod/settings.php:688 msgid "Email/Mailbox Setup" msgstr "E-Mail/Postfach-Einstellungen" -#: ../../mod/settings.php:687 +#: ../../mod/settings.php:689 msgid "" "If you wish to communicate with email contacts using this service " "(optional), please specify how to connect to your mailbox." msgstr "Wenn du mit E-Mail-Kontakten über diesen Service kommunizieren möchtest (optional), gib bitte die Einstellungen für dein Postfach an." -#: ../../mod/settings.php:688 +#: ../../mod/settings.php:690 msgid "Last successful email check:" msgstr "Letzter erfolgreicher Email Check" -#: ../../mod/settings.php:689 +#: ../../mod/settings.php:691 msgid "Email access is disabled on this site." msgstr "Zugriff auf E-Mails für diese Seite deaktiviert." -#: ../../mod/settings.php:690 +#: ../../mod/settings.php:692 msgid "IMAP server name:" msgstr "IMAP-Server-Name:" -#: ../../mod/settings.php:691 +#: ../../mod/settings.php:693 msgid "IMAP port:" msgstr "IMAP-Port:" -#: ../../mod/settings.php:692 +#: ../../mod/settings.php:694 msgid "Security:" msgstr "Sicherheit:" -#: ../../mod/settings.php:692 ../../mod/settings.php:697 +#: ../../mod/settings.php:694 ../../mod/settings.php:699 msgid "None" msgstr "Keine" -#: ../../mod/settings.php:693 +#: ../../mod/settings.php:695 msgid "Email login name:" msgstr "E-Mail-Login-Name:" -#: ../../mod/settings.php:694 +#: ../../mod/settings.php:696 msgid "Email password:" msgstr "E-Mail-Passwort:" -#: ../../mod/settings.php:695 +#: ../../mod/settings.php:697 msgid "Reply-to address:" msgstr "Reply-to Adresse:" -#: ../../mod/settings.php:696 +#: ../../mod/settings.php:698 msgid "Send public posts to all email contacts:" msgstr "Sende öffentliche Beiträge an alle E-Mail-Kontakte:" -#: ../../mod/settings.php:697 +#: ../../mod/settings.php:699 msgid "Action after import:" msgstr "Aktion nach Import:" -#: ../../mod/settings.php:697 +#: ../../mod/settings.php:699 msgid "Mark as seen" msgstr "Als gelesen markieren" -#: ../../mod/settings.php:697 +#: ../../mod/settings.php:699 msgid "Move to folder" msgstr "In einen Ordner verschieben" -#: ../../mod/settings.php:698 +#: ../../mod/settings.php:700 msgid "Move to folder:" msgstr "In diesen Ordner verschieben:" -#: ../../mod/settings.php:758 +#: ../../mod/settings.php:760 msgid "Display Settings" msgstr "Anzeige-Einstellungen" -#: ../../mod/settings.php:764 +#: ../../mod/settings.php:766 msgid "Display Theme:" msgstr "Theme:" -#: ../../mod/settings.php:765 +#: ../../mod/settings.php:767 msgid "Update browser every xx seconds" msgstr "Browser alle xx Sekunden aktualisieren" -#: ../../mod/settings.php:765 +#: ../../mod/settings.php:767 msgid "Minimum of 10 seconds, no maximum" msgstr "Minimal 10 Sekunden, kein Maximum" -#: ../../mod/settings.php:766 +#: ../../mod/settings.php:768 msgid "Number of items to display on the network page:" msgstr "Zahl der Beiträge, die pro Netzwerkseite angezeigt werden sollen: " -#: ../../mod/settings.php:766 +#: ../../mod/settings.php:768 msgid "Maximum of 100 items" msgstr "Maximal 100 Beiträge" -#: ../../mod/settings.php:767 +#: ../../mod/settings.php:769 msgid "Don't show emoticons" msgstr "Keine Smilies anzeigen" -#: ../../mod/settings.php:835 ../../mod/admin.php:180 ../../mod/admin.php:634 -msgid "Normal Account" -msgstr "Normaler Account" +#: ../../mod/settings.php:840 +msgid "Normal Account Page" +msgstr "Normale Account Seite" -#: ../../mod/settings.php:836 +#: ../../mod/settings.php:841 msgid "This account is a normal personal profile" msgstr "Dieser Account ist ein normales persönliches Profil" -#: ../../mod/settings.php:839 ../../mod/admin.php:181 ../../mod/admin.php:635 -msgid "Soapbox Account" -msgstr "Sandkasten-Account" +#: ../../mod/settings.php:844 +msgid "Soapbox Page" +msgstr "Sandkasten Seite" -#: ../../mod/settings.php:840 +#: ../../mod/settings.php:845 msgid "Automatically approve all connection/friend requests as read-only fans" msgstr "Kontaktanfragen werden automatisch als Nurlese-Fans akzeptiert" -#: ../../mod/settings.php:843 ../../mod/admin.php:182 ../../mod/admin.php:636 -msgid "Community/Celebrity Account" -msgstr "Gemeinschafts-/Promi-Account" +#: ../../mod/settings.php:848 +msgid "Community Forum/Celebrity Account" +msgstr "Gemeinschafts Forum / Promi Konto" -#: ../../mod/settings.php:844 +#: ../../mod/settings.php:849 msgid "" "Automatically approve all connection/friend requests as read-write fans" msgstr "Kontaktanfragen werden automatisch als Lese-und-Schreib-Fans akzeptiert" -#: ../../mod/settings.php:847 ../../mod/admin.php:183 ../../mod/admin.php:637 -msgid "Automatic Friend Account" -msgstr "Automatischer Freundesaccount" +#: ../../mod/settings.php:852 +msgid "Automatic Friend Page" +msgstr "Automatische Freunde Seite" -#: ../../mod/settings.php:848 +#: ../../mod/settings.php:853 msgid "Automatically approve all connection/friend requests as friends" msgstr "Kontaktanfragen werden automatisch als Freund akzeptiert" -#: ../../mod/settings.php:851 -msgid "Private Forum" -msgstr "" +#: ../../mod/settings.php:856 +msgid "Private Forum [Experimental]" +msgstr "Privates Forum [Versuchsstadium]" -#: ../../mod/settings.php:852 -msgid "Private forum - approved members only [Experimental]" -msgstr "" +#: ../../mod/settings.php:857 +msgid "Private forum - approved members only" +msgstr "Privates Forum - Ausschließlich für Mitglieder" -#: ../../mod/settings.php:865 +#: ../../mod/settings.php:869 msgid "OpenID:" msgstr "OpenID:" -#: ../../mod/settings.php:865 +#: ../../mod/settings.php:869 msgid "(Optional) Allow this OpenID to login to this account." msgstr "(Optional) Erlaube die Anmeldung für diesen Account mit dieser OpenID." -#: ../../mod/settings.php:875 +#: ../../mod/settings.php:879 msgid "Publish your default profile in your local site directory?" msgstr "Veröffentliche dein Standardprofil im Verzeichnis der lokalen Seite?" -#: ../../mod/settings.php:881 +#: ../../mod/settings.php:885 msgid "Publish your default profile in the global social directory?" msgstr "Veröffentliche dein Standardprofil im weltweiten Verzeichnis?" -#: ../../mod/settings.php:889 +#: ../../mod/settings.php:893 msgid "Hide your contact/friend list from viewers of your default profile?" msgstr "Liste der Kontakte vor Betrachtern des Standardprofils verbergen?" -#: ../../mod/settings.php:893 +#: ../../mod/settings.php:897 msgid "Hide your profile details from unknown viewers?" msgstr "Profil-Details vor unbekannten Betrachtern verbergen?" -#: ../../mod/settings.php:898 +#: ../../mod/settings.php:902 msgid "Allow friends to post to your profile page?" msgstr "Deinen Kontakten erlauben, auf deine Pinnwand zu schreiben?" -#: ../../mod/settings.php:904 +#: ../../mod/settings.php:908 msgid "Allow friends to tag your posts?" msgstr "Deinen Kontakten erlauben, deine Beiträge mit Schlagwörtern zu versehen?" -#: ../../mod/settings.php:910 +#: ../../mod/settings.php:914 msgid "Allow us to suggest you as a potential friend to new members?" msgstr "Erlaube uns dich als potentiellen Kontakt für neue Mitglieder vorzuschlagen?" -#: ../../mod/settings.php:916 +#: ../../mod/settings.php:920 msgid "Permit unknown people to send you private mail?" msgstr "Erlaube es Unbekannten dir private Nachrichten zu schicken?" -#: ../../mod/settings.php:927 +#: ../../mod/settings.php:931 msgid "Profile is not published." msgstr "Profil ist nicht veröffentlicht." -#: ../../mod/settings.php:933 ../../mod/profile_photo.php:211 +#: ../../mod/settings.php:937 ../../mod/profile_photo.php:211 msgid "or" msgstr "oder" -#: ../../mod/settings.php:938 +#: ../../mod/settings.php:942 msgid "Your Identity Address is" msgstr "Die Adresse deines Profils lautet:" -#: ../../mod/settings.php:949 +#: ../../mod/settings.php:953 msgid "Automatically expire posts after this many days:" msgstr "Beiträge verfallen automatisch nach dieser Anzahl von Tagen" -#: ../../mod/settings.php:949 +#: ../../mod/settings.php:953 msgid "If empty, posts will not expire. Expired posts will be deleted" msgstr "Wenn leer verfallen Beiträge nie automatisch. Verfallene Beiträge werden gelöscht." -#: ../../mod/settings.php:950 +#: ../../mod/settings.php:954 msgid "Advanced expiration settings" msgstr "Erweiterte Verfallseinstellungen" -#: ../../mod/settings.php:951 +#: ../../mod/settings.php:955 msgid "Advanced Expiration" msgstr "Erweitertes Verfallen" -#: ../../mod/settings.php:952 +#: ../../mod/settings.php:956 msgid "Expire posts:" msgstr "Beiträge verfallen lassen:" -#: ../../mod/settings.php:953 +#: ../../mod/settings.php:957 msgid "Expire personal notes:" msgstr "Persönliche Notizen verfallen lassen:" -#: ../../mod/settings.php:954 +#: ../../mod/settings.php:958 msgid "Expire starred posts:" msgstr "Markierte Beiträge verfallen lassen:" -#: ../../mod/settings.php:955 +#: ../../mod/settings.php:959 msgid "Expire photos:" msgstr "Fotos verfallen lassen:" -#: ../../mod/settings.php:962 +#: ../../mod/settings.php:960 +msgid "Only expire posts by others:" +msgstr "Nur Beiträge anderer verfallen" + +#: ../../mod/settings.php:967 msgid "Account Settings" msgstr "Account-Einstellungen" -#: ../../mod/settings.php:970 +#: ../../mod/settings.php:975 msgid "Password Settings" msgstr "Passwort-Einstellungen" -#: ../../mod/settings.php:971 +#: ../../mod/settings.php:976 msgid "New Password:" msgstr "Neues Passwort:" -#: ../../mod/settings.php:972 +#: ../../mod/settings.php:977 msgid "Confirm:" msgstr "Bestätigen:" -#: ../../mod/settings.php:972 +#: ../../mod/settings.php:977 msgid "Leave password fields blank unless changing" msgstr "Lass die Passwort-Felder leer, außer du willst das Passwort ändern" -#: ../../mod/settings.php:976 +#: ../../mod/settings.php:981 msgid "Basic Settings" msgstr "Grundeinstellungen" -#: ../../mod/settings.php:977 ../../include/profile_advanced.php:15 +#: ../../mod/settings.php:982 ../../include/profile_advanced.php:15 msgid "Full Name:" msgstr "Kompletter Name:" -#: ../../mod/settings.php:978 +#: ../../mod/settings.php:983 msgid "Email Address:" msgstr "Emailadresse:" -#: ../../mod/settings.php:979 +#: ../../mod/settings.php:984 msgid "Your Timezone:" msgstr "Deine Zeitzone:" -#: ../../mod/settings.php:980 +#: ../../mod/settings.php:985 msgid "Default Post Location:" msgstr "Standardstandort:" -#: ../../mod/settings.php:981 +#: ../../mod/settings.php:986 msgid "Use Browser Location:" msgstr "Verwende den Standort des Browsers:" -#: ../../mod/settings.php:984 +#: ../../mod/settings.php:989 msgid "Security and Privacy Settings" msgstr "Sicherheits- und Privatsphäre-Einstellungen" -#: ../../mod/settings.php:986 +#: ../../mod/settings.php:991 msgid "Maximum Friend Requests/Day:" msgstr "Maximale Anzahl von Freundschaftsanfragen/Tag:" -#: ../../mod/settings.php:986 ../../mod/settings.php:1005 +#: ../../mod/settings.php:991 ../../mod/settings.php:1010 msgid "(to prevent spam abuse)" msgstr "(um SPAM zu vermeiden)" -#: ../../mod/settings.php:987 +#: ../../mod/settings.php:992 msgid "Default Post Permissions" msgstr "Standard-Zugriffsrechte für Beiträge" -#: ../../mod/settings.php:988 +#: ../../mod/settings.php:993 msgid "(click to open/close)" msgstr "(klicke zum öffnen/schließen)" -#: ../../mod/settings.php:1005 +#: ../../mod/settings.php:1010 msgid "Maximum private messages per day from unknown people:" msgstr "Maximale Anzahl von privaten Nachrichten, die dir unbekannte Personen pro Tag senden dürfen:" -#: ../../mod/settings.php:1008 +#: ../../mod/settings.php:1013 msgid "Notification Settings" msgstr "Benachrichtigungseinstellungen" -#: ../../mod/settings.php:1009 +#: ../../mod/settings.php:1014 msgid "By default post a status message when:" msgstr "Standardmäßig eine Statusnachricht posten, wenn:" -#: ../../mod/settings.php:1010 +#: ../../mod/settings.php:1015 msgid "accepting a friend request" msgstr "– du eine Kontaktanfrage akzeptierst" -#: ../../mod/settings.php:1011 +#: ../../mod/settings.php:1016 msgid "joining a forum/community" msgstr "– du einem Forum/einer Gemeinschaftsseite beitrittst" -#: ../../mod/settings.php:1012 +#: ../../mod/settings.php:1017 msgid "making an interesting profile change" msgstr "– du eine interessante Änderung an deinem Profil durchführst" -#: ../../mod/settings.php:1013 +#: ../../mod/settings.php:1018 msgid "Send a notification email when:" msgstr "Benachrichtigungs-E-Mail senden wenn:" -#: ../../mod/settings.php:1014 +#: ../../mod/settings.php:1019 msgid "You receive an introduction" msgstr "– du eine Kontaktanfrage erhältst" -#: ../../mod/settings.php:1015 +#: ../../mod/settings.php:1020 msgid "Your introductions are confirmed" msgstr "– eine deiner Kontaktanfragen akzeptiert wurde" -#: ../../mod/settings.php:1016 +#: ../../mod/settings.php:1021 msgid "Someone writes on your profile wall" msgstr "– jemand etwas auf deine Pinnwand schreibt" -#: ../../mod/settings.php:1017 +#: ../../mod/settings.php:1022 msgid "Someone writes a followup comment" msgstr "– jemand auch einen Kommentar verfasst" -#: ../../mod/settings.php:1018 +#: ../../mod/settings.php:1023 msgid "You receive a private message" msgstr "– du eine private Nachricht erhältst" -#: ../../mod/settings.php:1019 +#: ../../mod/settings.php:1024 msgid "You receive a friend suggestion" msgstr "- du eine Empfehlung erhältst" -#: ../../mod/settings.php:1020 +#: ../../mod/settings.php:1025 msgid "You are tagged in a post" msgstr "- du in einem Beitrag erwähnt wurdest" -#: ../../mod/settings.php:1023 -msgid "Advanced Page Settings" -msgstr "Erweiterte Seiten-Einstellungen" +#: ../../mod/settings.php:1028 +msgid "Advanced Account/Page Type Settings" +msgstr "" + +#: ../../mod/settings.php:1029 +msgid "Change the behaviour of this account for special situations" +msgstr "Ändere das Verhalten deines Accounts für spezielle Situationen." #: ../../mod/manage.php:90 msgid "Manage Identities and/or Pages" @@ -2390,13 +2413,13 @@ msgstr "Private Nachrichten an diese Person könnten an die Öffentlichkeit gela msgid "Invalid contact." msgstr "Ungültiger Kontakt." -#: ../../mod/notes.php:44 ../../boot.php:1529 +#: ../../mod/notes.php:44 ../../boot.php:1526 msgid "Personal Notes" msgstr "Persönliche Notizen" #: ../../mod/notes.php:63 ../../mod/filer.php:30 #: ../../addon/facebook/facebook.php:756 -#: ../../addon/privacy_image_cache/privacy_image_cache.php:148 +#: ../../addon/privacy_image_cache/privacy_image_cache.php:150 #: ../../include/text.php:652 msgid "Save" msgstr "Speichern" @@ -2431,7 +2454,7 @@ msgid "No recipient." msgstr "Kein Empfänger." #: ../../mod/wallmessage.php:124 ../../mod/message.php:171 -#: ../../include/conversation.php:922 +#: ../../include/conversation.php:937 msgid "Please enter a link URL:" msgstr "Bitte gib die URL des Links ein:" @@ -2639,9 +2662,9 @@ msgstr "Ungültiger Profil-Bezeichner" msgid "Profile Visibility Editor" msgstr "Editor für die Profil-Sichtbarkeit" -#: ../../mod/profperm.php:103 ../../view/theme/diabook/theme.php:123 -#: ../../include/profile_advanced.php:7 ../../include/profile_advanced.php:74 -#: ../../include/nav.php:50 ../../boot.php:1508 +#: ../../mod/profperm.php:103 ../../view/theme/diabook/theme.php:128 +#: ../../include/profile_advanced.php:7 ../../include/profile_advanced.php:77 +#: ../../include/nav.php:50 ../../boot.php:1505 msgid "Profile" msgstr "Profil" @@ -2661,159 +2684,91 @@ msgstr "Keine Kontakte." msgid "View Contacts" msgstr "Kontakte anzeigen" -#: ../../mod/register.php:64 -msgid "An invitation is required." -msgstr "Du benötigst eine Einladung." - -#: ../../mod/register.php:69 -msgid "Invitation could not be verified." -msgstr "Die Einladung konnte nicht überprüft werden." - -#: ../../mod/register.php:77 -msgid "Invalid OpenID url" -msgstr "Ungültige OpenID URL" - -#: ../../mod/register.php:92 -msgid "Please enter the required information." -msgstr "Bitte trage die erforderlichen Informationen ein." - -#: ../../mod/register.php:106 -msgid "Please use a shorter name." -msgstr "Bitte verwende einen kürzeren Namen." - -#: ../../mod/register.php:108 -msgid "Name too short." -msgstr "Der Name ist zu kurz." - -#: ../../mod/register.php:123 -msgid "That doesn't appear to be your full (First Last) name." -msgstr "Das scheint nicht dein kompletter Name (Vor- und Nachname) zu sein." - -#: ../../mod/register.php:128 -msgid "Your email domain is not among those allowed on this site." -msgstr "Die Domain deiner E-Mail Adresse ist auf dieser Seite nicht erlaubt." - -#: ../../mod/register.php:131 -msgid "Not a valid email address." -msgstr "Keine gültige E-Mail-Adresse." - -#: ../../mod/register.php:141 -msgid "Cannot use that email." -msgstr "Konnte diese E-Mail-Adresse nicht verwenden." - -#: ../../mod/register.php:147 -msgid "" -"Your \"nickname\" can only contain \"a-z\", \"0-9\", \"-\", and \"_\", and " -"must also begin with a letter." -msgstr "Dein Spitzname darf nur aus Buchstaben und Zahlen (\"a-z\",\"0-9\", \"_\" und \"-\") bestehen, außerdem muss er mit einem Buchstaben beginnen." - -#: ../../mod/register.php:153 ../../mod/register.php:243 -msgid "Nickname is already registered. Please choose another." -msgstr "Dieser Spitzname ist bereits vergeben. Bitte wähle einen anderen." - -#: ../../mod/register.php:163 -msgid "" -"Nickname was once registered here and may not be re-used. Please choose " -"another." -msgstr "Dieser Spitzname ist bereits vergeben. Bitte wähle einen anderen." - -#: ../../mod/register.php:179 -msgid "SERIOUS ERROR: Generation of security keys failed." -msgstr "FATALER FEHLER: Sicherheitsschlüssel konnten nicht erzeugt werden." - -#: ../../mod/register.php:229 -msgid "An error occurred during registration. Please try again." -msgstr "Wärend der Anmeldung ist ein Fehler aufgetreten. Bitte versuche es noch einmal." - -#: ../../mod/register.php:265 -msgid "An error occurred creating your default profile. Please try again." -msgstr "Bei der Erstellung des Standardprofils ist ein Fehler aufgetreten. Bitte versuche es noch einmal." - -#: ../../mod/register.php:365 ../../mod/regmod.php:52 +#: ../../mod/register.php:88 ../../mod/regmod.php:52 #, php-format msgid "Registration details for %s" msgstr "Details der Registration von %s" -#: ../../mod/register.php:373 +#: ../../mod/register.php:96 msgid "" "Registration successful. Please check your email for further instructions." msgstr "Registrierung erfolgreich. Eine E-Mail mit weiteren Anweisungen wurde an dich gesendet." -#: ../../mod/register.php:377 +#: ../../mod/register.php:100 msgid "Failed to send email message. Here is the message that failed." msgstr "Konnte die E-Mail nicht versenden. Hier ist die Nachricht, die nicht gesendet werden konnte." -#: ../../mod/register.php:382 +#: ../../mod/register.php:105 msgid "Your registration can not be processed." msgstr "Deine Registrierung konnte nicht verarbeitet werden." -#: ../../mod/register.php:419 +#: ../../mod/register.php:142 #, php-format msgid "Registration request at %s" msgstr "Registrierungsanfrage auf %s" -#: ../../mod/register.php:428 +#: ../../mod/register.php:151 msgid "Your registration is pending approval by the site owner." msgstr "Deine Registrierung muss noch vom Betreiber der Seite freigegeben werden." -#: ../../mod/register.php:466 +#: ../../mod/register.php:189 msgid "" "This site has exceeded the number of allowed daily account registrations. " "Please try again tomorrow." msgstr "Die maximale Anzahl täglicher Registrierungen auf dieser Seite wurde überschritten. Bitte versuche es morgen noch einmal." -#: ../../mod/register.php:492 +#: ../../mod/register.php:215 msgid "" "You may (optionally) fill in this form via OpenID by supplying your OpenID " "and clicking 'Register'." msgstr "Du kannst dieses Formular auch (optional) mit deiner OpenID ausfüllen, indem du deine OpenID angibst und 'Registrieren' klickst." -#: ../../mod/register.php:493 +#: ../../mod/register.php:216 msgid "" "If you are not familiar with OpenID, please leave that field blank and fill " "in the rest of the items." msgstr "Wenn du nicht mit OpenID vertraut bist, lass dieses Feld bitte leer und fülle die restlichen Felder aus." -#: ../../mod/register.php:494 +#: ../../mod/register.php:217 msgid "Your OpenID (optional): " msgstr "Deine OpenID (optional): " -#: ../../mod/register.php:508 +#: ../../mod/register.php:231 msgid "Include your profile in member directory?" msgstr "Soll dein Profil im Nutzerverzeichnis angezeigt werden?" -#: ../../mod/register.php:528 +#: ../../mod/register.php:251 msgid "Membership on this site is by invitation only." msgstr "Mitgliedschaft auf dieser Seite ist nur nach vorheriger Einladung möglich." -#: ../../mod/register.php:529 +#: ../../mod/register.php:252 msgid "Your invitation ID: " msgstr "ID deiner Einladung: " -#: ../../mod/register.php:532 ../../mod/admin.php:418 +#: ../../mod/register.php:255 ../../mod/admin.php:418 msgid "Registration" msgstr "Registrierung" -#: ../../mod/register.php:540 +#: ../../mod/register.php:263 msgid "Your Full Name (e.g. Joe Smith): " msgstr "Vollständiger Name (z.B. Max Mustermann): " -#: ../../mod/register.php:541 +#: ../../mod/register.php:264 msgid "Your Email Address: " msgstr "Deine E-Mail-Adresse: " -#: ../../mod/register.php:542 +#: ../../mod/register.php:265 msgid "" "Choose a profile nickname. This must begin with a text character. Your " "profile address on this site will then be " "'nickname@$sitename'." msgstr "Wähle einen Spitznamen für dein Profil. Dieser muss mit einem Buchstaben beginnen. Die Adresse deines Profils auf dieser Seite wird 'spitzname@$sitename' sein." -#: ../../mod/register.php:543 +#: ../../mod/register.php:266 msgid "Choose a nickname: " msgstr "Spitznamen wählen: " -#: ../../mod/register.php:546 ../../include/nav.php:81 ../../boot.php:795 +#: ../../mod/register.php:269 ../../include/nav.php:81 ../../boot.php:792 msgid "Register" msgstr "Registrieren" @@ -2825,8 +2780,8 @@ msgstr "Personen Suche" #: ../../addon/facebook/facebook.php:1572 #: ../../addon/communityhome/communityhome.php:158 #: ../../addon/communityhome/communityhome.php:167 -#: ../../view/theme/diabook/theme.php:560 -#: ../../view/theme/diabook/theme.php:569 ../../include/diaspora.php:1662 +#: ../../view/theme/diabook/theme.php:565 +#: ../../view/theme/diabook/theme.php:574 ../../include/diaspora.php:1662 #: ../../include/conversation.php:48 ../../include/conversation.php:57 #: ../../include/conversation.php:121 ../../include/conversation.php:130 msgid "status" @@ -2834,7 +2789,7 @@ msgstr "Status" #: ../../mod/like.php:144 ../../addon/facebook/facebook.php:1576 #: ../../addon/communityhome/communityhome.php:172 -#: ../../view/theme/diabook/theme.php:574 ../../include/diaspora.php:1678 +#: ../../view/theme/diabook/theme.php:579 ../../include/diaspora.php:1678 #: ../../include/conversation.php:65 #, php-format msgid "%1$s likes %2$s's %3$s" @@ -2847,7 +2802,7 @@ msgstr "%1$s mag %2$ss %3$s nicht" #: ../../mod/notice.php:15 ../../mod/viewsrc.php:15 ../../mod/admin.php:156 #: ../../mod/admin.php:697 ../../mod/admin.php:896 ../../mod/display.php:37 -#: ../../mod/display.php:142 ../../include/items.php:3096 +#: ../../mod/display.php:142 ../../include/items.php:3179 msgid "Item not found." msgstr "Beitrag nicht gefunden." @@ -2855,8 +2810,8 @@ msgstr "Beitrag nicht gefunden." msgid "Access denied." msgstr "Zugriff verweigert." -#: ../../mod/fbrowser.php:23 ../../view/theme/diabook/theme.php:125 -#: ../../include/nav.php:51 ../../boot.php:1514 +#: ../../mod/fbrowser.php:23 ../../view/theme/diabook/theme.php:130 +#: ../../include/nav.php:51 ../../boot.php:1511 msgid "Photos" msgstr "Bilder" @@ -2885,35 +2840,35 @@ msgstr "Konnte den Originalbeitrag nicht finden." msgid "Empty post discarded." msgstr "Leerer Beitrag wurde verworfen." -#: ../../mod/item.php:377 ../../mod/wall_upload.php:99 +#: ../../mod/item.php:379 ../../mod/wall_upload.php:99 #: ../../mod/wall_upload.php:108 ../../mod/wall_upload.php:115 #: ../../include/message.php:144 msgid "Wall Photos" msgstr "Pinnwand-Bilder" -#: ../../mod/item.php:786 +#: ../../mod/item.php:800 msgid "System error. Post not saved." msgstr "Systemfehler. Beitrag konnte nicht gespeichert werden." -#: ../../mod/item.php:811 +#: ../../mod/item.php:825 #, php-format msgid "" "This message was sent to you by %s, a member of the Friendica social " "network." msgstr "Diese Nachricht wurde dir von %s geschickt, einem Mitglied des Sozialen Netzwerks Friendica." -#: ../../mod/item.php:813 +#: ../../mod/item.php:827 #, php-format msgid "You may visit them online at %s" msgstr "Du kannst sie online unter %s besuchen" -#: ../../mod/item.php:814 +#: ../../mod/item.php:828 msgid "" "Please contact the sender by replying to this post if you do not wish to " "receive these messages." msgstr "Falls du diese Beiträge nicht erhalten möchtest, kontaktiere bitte den Autor, indem du auf diese Nachricht antwortest." -#: ../../mod/item.php:816 +#: ../../mod/item.php:830 #, php-format msgid "%s posted an update." msgstr "%s hat ein Update veröffentlicht." @@ -3098,10 +3053,6 @@ msgstr "Themen" msgid "DB updates" msgstr "DB Updates" -#: ../../mod/admin.php:101 -msgid "Software Update" -msgstr "Software Update" - #: ../../mod/admin.php:115 ../../mod/admin.php:1074 msgid "Logs" msgstr "Protokolle" @@ -3110,9 +3061,25 @@ msgstr "Protokolle" msgid "User registrations waiting for confirmation" msgstr "Nutzeranmeldungen die auf Bestätigung warten" +#: ../../mod/admin.php:180 ../../mod/admin.php:634 +msgid "Normal Account" +msgstr "Normaler Account" + +#: ../../mod/admin.php:181 ../../mod/admin.php:635 +msgid "Soapbox Account" +msgstr "Sandkasten-Account" + +#: ../../mod/admin.php:182 ../../mod/admin.php:636 +msgid "Community/Celebrity Account" +msgstr "Gemeinschafts-/Promi-Account" + +#: ../../mod/admin.php:183 ../../mod/admin.php:637 +msgid "Automatic Friend Account" +msgstr "Automatischer Freundesaccount" + #: ../../mod/admin.php:202 msgid "Message queues" -msgstr "" +msgstr "Nachrichten-Warteschlangen" #: ../../mod/admin.php:207 ../../mod/admin.php:415 ../../mod/admin.php:651 #: ../../mod/admin.php:745 ../../mod/admin.php:787 ../../mod/admin.php:950 @@ -3640,7 +3607,7 @@ msgstr "FTP Nutzername" msgid "FTP Password" msgstr "FTP Passwort" -#: ../../mod/profile.php:21 ../../boot.php:960 +#: ../../mod/profile.php:21 ../../boot.php:957 msgid "Requested profile is not available." msgstr "Das angefragte Profil ist nicht vorhanden." @@ -3710,10 +3677,10 @@ msgid "" "Account not found and OpenID registration is not permitted on this site." msgstr "Account wurde nicht gefunden und OpenID Registrierung auf diesem Server nicht gestattet." -#: ../../mod/openid.php:93 ../../include/auth.php:97 -#: ../../include/auth.php:160 +#: ../../mod/openid.php:93 ../../include/auth.php:99 +#: ../../include/auth.php:162 msgid "Login failed." -msgstr "Annmeldung fehlgeschlagen." +msgstr "Anmeldung fehlgeschlagen." #: ../../mod/follow.php:30 msgid "Connect URL missing." @@ -3790,12 +3757,13 @@ msgstr "Anwendungen" msgid "No installed applications." msgstr "Keine Applikationen installiert." -#: ../../mod/search.php:83 ../../include/text.php:650 ../../include/nav.php:91 +#: ../../mod/search.php:83 ../../include/text.php:649 +#: ../../include/text.php:650 ../../include/nav.php:91 msgid "Search" msgstr "Suche" -#: ../../mod/profiles.php:21 ../../mod/profiles.php:375 -#: ../../mod/profiles.php:489 ../../mod/dfrn_confirm.php:62 +#: ../../mod/profiles.php:21 ../../mod/profiles.php:392 +#: ../../mod/profiles.php:506 ../../mod/dfrn_confirm.php:62 msgid "Profile not found." msgstr "Profil nicht gefunden." @@ -3803,277 +3771,285 @@ msgstr "Profil nicht gefunden." msgid "Profile Name is required." msgstr "Profilname ist erforderlich." -#: ../../mod/profiles.php:145 +#: ../../mod/profiles.php:151 msgid "Marital Status" msgstr "Familienstand" -#: ../../mod/profiles.php:149 +#: ../../mod/profiles.php:155 msgid "Romantic Partner" msgstr "Romanze" -#: ../../mod/profiles.php:153 +#: ../../mod/profiles.php:159 msgid "Work/Employment" msgstr "Arbeit / Beschäftigung" -#: ../../mod/profiles.php:156 +#: ../../mod/profiles.php:162 msgid "Religion" msgstr "Religion" -#: ../../mod/profiles.php:160 +#: ../../mod/profiles.php:166 msgid "Political Views" msgstr "Politische Ansichten" -#: ../../mod/profiles.php:164 +#: ../../mod/profiles.php:170 msgid "Gender" msgstr "Geschlecht" -#: ../../mod/profiles.php:168 +#: ../../mod/profiles.php:174 msgid "Sexual Preference" msgstr "Sexuelle Vorlieben" -#: ../../mod/profiles.php:172 +#: ../../mod/profiles.php:178 msgid "Homepage" msgstr "Webseite" -#: ../../mod/profiles.php:176 +#: ../../mod/profiles.php:182 msgid "Interests" msgstr "Interessen" -#: ../../mod/profiles.php:181 +#: ../../mod/profiles.php:186 +msgid "Address" +msgstr "Adresse" + +#: ../../mod/profiles.php:193 msgid "Location" msgstr "Wohnort" -#: ../../mod/profiles.php:253 +#: ../../mod/profiles.php:270 msgid "Profile updated." msgstr "Profil aktualisiert." -#: ../../mod/profiles.php:320 +#: ../../mod/profiles.php:337 msgid " and " msgstr " und " -#: ../../mod/profiles.php:328 +#: ../../mod/profiles.php:345 msgid "public profile" msgstr "öffentliches Profil" -#: ../../mod/profiles.php:331 +#: ../../mod/profiles.php:348 #, php-format msgid "%1$s changed %2$s to “%3$s”" msgstr "%1$s hat %2$s geändert auf “%3$s”" -#: ../../mod/profiles.php:332 +#: ../../mod/profiles.php:349 #, php-format msgid " - Visit %1$s's %2$s" -msgstr "" +msgstr " – %1$ss %2$s besuchen" -#: ../../mod/profiles.php:335 +#: ../../mod/profiles.php:352 #, 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/profiles.php:394 +#: ../../mod/profiles.php:411 msgid "Profile deleted." msgstr "Profil gelöscht." -#: ../../mod/profiles.php:412 ../../mod/profiles.php:446 +#: ../../mod/profiles.php:429 ../../mod/profiles.php:463 msgid "Profile-" msgstr "Profil-" -#: ../../mod/profiles.php:431 ../../mod/profiles.php:473 +#: ../../mod/profiles.php:448 ../../mod/profiles.php:490 msgid "New profile created." msgstr "Neues Profil angelegt." -#: ../../mod/profiles.php:452 +#: ../../mod/profiles.php:469 msgid "Profile unavailable to clone." msgstr "Profil nicht zum Duplizieren verfügbar." -#: ../../mod/profiles.php:510 +#: ../../mod/profiles.php:527 msgid "Hide your contact/friend list from viewers of this profile?" msgstr "Liste der Kontakte vor Betrachtern dieses Profils verbergen?" -#: ../../mod/profiles.php:533 +#: ../../mod/profiles.php:550 msgid "Edit Profile Details" msgstr "Profil bearbeiten" -#: ../../mod/profiles.php:535 +#: ../../mod/profiles.php:552 msgid "View this profile" msgstr "Dieses Profil anzeigen" -#: ../../mod/profiles.php:536 +#: ../../mod/profiles.php:553 msgid "Create a new profile using these settings" msgstr "Neues Profil anlegen und diese Einstellungen verwenden" -#: ../../mod/profiles.php:537 +#: ../../mod/profiles.php:554 msgid "Clone this profile" msgstr "Dieses Profil duplizieren" -#: ../../mod/profiles.php:538 +#: ../../mod/profiles.php:555 msgid "Delete this profile" msgstr "Dieses Profil löschen" -#: ../../mod/profiles.php:539 +#: ../../mod/profiles.php:556 msgid "Profile Name:" msgstr "Profilname:" -#: ../../mod/profiles.php:540 +#: ../../mod/profiles.php:557 msgid "Your Full Name:" msgstr "Dein kompletter Name:" -#: ../../mod/profiles.php:541 +#: ../../mod/profiles.php:558 msgid "Title/Description:" msgstr "Titel/Beschreibung:" -#: ../../mod/profiles.php:542 +#: ../../mod/profiles.php:559 msgid "Your Gender:" msgstr "Dein Geschlecht:" -#: ../../mod/profiles.php:543 +#: ../../mod/profiles.php:560 #, php-format msgid "Birthday (%s):" msgstr "Geburtstag (%s):" -#: ../../mod/profiles.php:544 +#: ../../mod/profiles.php:561 msgid "Street Address:" msgstr "Adresse:" -#: ../../mod/profiles.php:545 +#: ../../mod/profiles.php:562 msgid "Locality/City:" msgstr "Wohnort/Stadt:" -#: ../../mod/profiles.php:546 +#: ../../mod/profiles.php:563 msgid "Postal/Zip Code:" msgstr "Postleitzahl:" -#: ../../mod/profiles.php:547 +#: ../../mod/profiles.php:564 msgid "Country:" msgstr "Land:" -#: ../../mod/profiles.php:548 +#: ../../mod/profiles.php:565 msgid "Region/State:" msgstr "Region/Bundesstaat:" -#: ../../mod/profiles.php:549 +#: ../../mod/profiles.php:566 msgid " Marital Status:" msgstr " Beziehungsstatus:" -#: ../../mod/profiles.php:550 +#: ../../mod/profiles.php:567 msgid "Who: (if applicable)" msgstr "Wer: (falls anwendbar)" -#: ../../mod/profiles.php:551 +#: ../../mod/profiles.php:568 msgid "Examples: cathy123, Cathy Williams, cathy@example.com" msgstr "Beispiele: cathy123, Cathy Williams, cathy@example.com" -#: ../../mod/profiles.php:552 ../../include/profile_advanced.php:43 +#: ../../mod/profiles.php:569 +msgid "Since [date]:" +msgstr "Seit [Datum]:" + +#: ../../mod/profiles.php:570 ../../include/profile_advanced.php:46 msgid "Sexual Preference:" msgstr "Sexuelle Vorlieben:" -#: ../../mod/profiles.php:553 +#: ../../mod/profiles.php:571 msgid "Homepage URL:" msgstr "Adresse der Homepage:" -#: ../../mod/profiles.php:554 ../../include/profile_advanced.php:49 +#: ../../mod/profiles.php:572 ../../include/profile_advanced.php:52 msgid "Political Views:" msgstr "Politische Ansichten:" -#: ../../mod/profiles.php:555 +#: ../../mod/profiles.php:573 msgid "Religious Views:" msgstr "Religiöse Ansichten:" -#: ../../mod/profiles.php:556 +#: ../../mod/profiles.php:574 msgid "Public Keywords:" msgstr "Öffentliche Schlüsselwörter:" -#: ../../mod/profiles.php:557 +#: ../../mod/profiles.php:575 msgid "Private Keywords:" msgstr "Private Schlüsselwörter:" -#: ../../mod/profiles.php:558 +#: ../../mod/profiles.php:576 msgid "Example: fishing photography software" msgstr "Beispiel: Fischen Fotografie Software" -#: ../../mod/profiles.php:559 +#: ../../mod/profiles.php:577 msgid "(Used for suggesting potential friends, can be seen by others)" msgstr "(Wird verwendet, um potentielle Freunde zu finden, könnte von Fremden eingesehen werden)" -#: ../../mod/profiles.php:560 +#: ../../mod/profiles.php:578 msgid "(Used for searching profiles, never shown to others)" msgstr "(Wird für die Suche nach Profilen verwendet und niemals veröffentlicht)" -#: ../../mod/profiles.php:561 +#: ../../mod/profiles.php:579 msgid "Tell us about yourself..." msgstr "Erzähle uns ein bisschen von dir …" -#: ../../mod/profiles.php:562 +#: ../../mod/profiles.php:580 msgid "Hobbies/Interests" msgstr "Hobbies/Interessen" -#: ../../mod/profiles.php:563 +#: ../../mod/profiles.php:581 msgid "Contact information and Social Networks" msgstr "Kontaktinformationen und Soziale Netzwerke" -#: ../../mod/profiles.php:564 +#: ../../mod/profiles.php:582 msgid "Musical interests" msgstr "Musikalische Interessen" -#: ../../mod/profiles.php:565 +#: ../../mod/profiles.php:583 msgid "Books, literature" msgstr "Literatur/Bücher" -#: ../../mod/profiles.php:566 +#: ../../mod/profiles.php:584 msgid "Television" msgstr "Fernsehen" -#: ../../mod/profiles.php:567 +#: ../../mod/profiles.php:585 msgid "Film/dance/culture/entertainment" msgstr "Filme/Tänze/Kultur/Unterhaltung" -#: ../../mod/profiles.php:568 +#: ../../mod/profiles.php:586 msgid "Love/romance" msgstr "Liebesleben" -#: ../../mod/profiles.php:569 +#: ../../mod/profiles.php:587 msgid "Work/employment" msgstr "Arbeit/Beschäftigung" -#: ../../mod/profiles.php:570 +#: ../../mod/profiles.php:588 msgid "School/education" msgstr "Schule/Ausbildung" -#: ../../mod/profiles.php:575 +#: ../../mod/profiles.php:593 msgid "" "This is your public profile.
It may " "be visible to anybody using the internet." msgstr "Dies ist dein öffentliches Profil.
Es könnte für jeden Nutzer des Internets sichtbar sein." -#: ../../mod/profiles.php:585 ../../mod/directory.php:111 +#: ../../mod/profiles.php:603 ../../mod/directory.php:111 msgid "Age: " msgstr "Alter: " -#: ../../mod/profiles.php:620 +#: ../../mod/profiles.php:639 msgid "Edit/Manage Profiles" msgstr "Verwalte/Editiere Profile" -#: ../../mod/profiles.php:621 ../../boot.php:1069 +#: ../../mod/profiles.php:640 ../../boot.php:1066 msgid "Change profile photo" msgstr "Profilbild ändern" -#: ../../mod/profiles.php:622 ../../boot.php:1070 +#: ../../mod/profiles.php:641 ../../boot.php:1067 msgid "Create New Profile" msgstr "Neues Profil anlegen" -#: ../../mod/profiles.php:633 ../../boot.php:1080 +#: ../../mod/profiles.php:652 ../../boot.php:1077 msgid "Profile Image" msgstr "Profilbild" -#: ../../mod/profiles.php:635 ../../boot.php:1083 +#: ../../mod/profiles.php:654 ../../boot.php:1080 msgid "visible to everybody" msgstr "sichtbar für jeden" -#: ../../mod/profiles.php:636 ../../boot.php:1084 +#: ../../mod/profiles.php:655 ../../boot.php:1081 msgid "Edit visibility" msgstr "Sichtbarkeit bearbeiten" -#: ../../mod/filer.php:29 ../../include/conversation.php:926 +#: ../../mod/filer.php:29 ../../include/conversation.php:941 msgid "Save to Folder:" msgstr "In diesen Ordner verschieben:" @@ -4121,7 +4097,7 @@ msgstr "Hinzufügen" msgid "No entries." msgstr "Keine Einträge" -#: ../../mod/suggest.php:38 ../../view/theme/diabook/theme.php:621 +#: ../../mod/suggest.php:38 ../../view/theme/diabook/theme.php:626 #: ../../include/contact_widgets.php:34 msgid "Friend Suggestions" msgstr "Kontaktvorschläge" @@ -4136,7 +4112,7 @@ msgstr "Keine Vorschläge. Falls der Server frisch aufgesetzt wurde, versuche es msgid "Ignore/Hide" msgstr "Ignorieren/Verbergen" -#: ../../mod/directory.php:47 ../../view/theme/diabook/theme.php:619 +#: ../../mod/directory.php:47 ../../view/theme/diabook/theme.php:624 msgid "Global Directory" msgstr "Weltweites Verzeichnis" @@ -4246,83 +4222,83 @@ msgid "" " has already been approved." msgstr "Das kann passieren, wenn sich zwei Kontakte gegenseitig eingeladen haben und bereits einer angenommen wurde." -#: ../../mod/dfrn_confirm.php:235 +#: ../../mod/dfrn_confirm.php:237 msgid "Response from remote site was not understood." msgstr "Antwort der Gegenstelle unverständlich." -#: ../../mod/dfrn_confirm.php:244 +#: ../../mod/dfrn_confirm.php:246 msgid "Unexpected response from remote site: " msgstr "Unerwartete Antwort der Gegenstelle: " -#: ../../mod/dfrn_confirm.php:252 +#: ../../mod/dfrn_confirm.php:254 msgid "Confirmation completed successfully." msgstr "Bestätigung erfolgreich abgeschlossen." -#: ../../mod/dfrn_confirm.php:254 ../../mod/dfrn_confirm.php:268 -#: ../../mod/dfrn_confirm.php:275 +#: ../../mod/dfrn_confirm.php:256 ../../mod/dfrn_confirm.php:270 +#: ../../mod/dfrn_confirm.php:277 msgid "Remote site reported: " msgstr "Gegenstelle meldet: " -#: ../../mod/dfrn_confirm.php:266 +#: ../../mod/dfrn_confirm.php:268 msgid "Temporary failure. Please wait and try again." msgstr "Zeitweiser Fehler. Bitte warte einige Momente und versuche es dann noch einmal." -#: ../../mod/dfrn_confirm.php:273 +#: ../../mod/dfrn_confirm.php:275 msgid "Introduction failed or was revoked." msgstr "Kontaktanfrage schlug fehl oder wurde zurück gezogen." -#: ../../mod/dfrn_confirm.php:418 +#: ../../mod/dfrn_confirm.php:420 msgid "Unable to set contact photo." msgstr "Konnte das Bild des Kontakts nicht speichern." -#: ../../mod/dfrn_confirm.php:475 ../../include/diaspora.php:507 +#: ../../mod/dfrn_confirm.php:477 ../../include/diaspora.php:507 #: ../../include/conversation.php:101 #, php-format msgid "%1$s is now friends with %2$s" msgstr "%1$s ist nun mit %2$s befreundet" -#: ../../mod/dfrn_confirm.php:557 +#: ../../mod/dfrn_confirm.php:562 #, php-format msgid "No user record found for '%s' " msgstr "Für '%s' wurde kein Nutzer gefunden" -#: ../../mod/dfrn_confirm.php:567 +#: ../../mod/dfrn_confirm.php:572 msgid "Our site encryption key is apparently messed up." msgstr "Der Verschlüsselungsschlüssel unserer Seite ist anscheinend im Arsch." -#: ../../mod/dfrn_confirm.php:578 +#: ../../mod/dfrn_confirm.php:583 msgid "Empty site URL was provided or URL could not be decrypted by us." msgstr "Leere URL für die Seite erhalten oder die URL konnte nicht entschlüsselt werden." -#: ../../mod/dfrn_confirm.php:599 +#: ../../mod/dfrn_confirm.php:604 msgid "Contact record was not found for you on our site." msgstr "Für diesen Kontakt wurde auf unserer Seite kein Eintrag gefunden." -#: ../../mod/dfrn_confirm.php:613 +#: ../../mod/dfrn_confirm.php:618 #, php-format msgid "Site public key not available in contact record for URL %s." msgstr "Die Kontaktdaten für URL %s enthalten keinen Public Key für den Server." -#: ../../mod/dfrn_confirm.php:633 +#: ../../mod/dfrn_confirm.php:638 msgid "" "The ID provided by your system is a duplicate on our system. It should work " "if you try again." msgstr "Die ID, die uns dein System angeboten hat, ist hier bereits vergeben. Bitte versuche es noch einmal." -#: ../../mod/dfrn_confirm.php:644 +#: ../../mod/dfrn_confirm.php:649 msgid "Unable to set your contact credentials on our system." msgstr "Deine Kontaktreferenzen konnten nicht in unserem System gespeichert werden." -#: ../../mod/dfrn_confirm.php:709 +#: ../../mod/dfrn_confirm.php:716 msgid "Unable to update your contact profile details on our system" msgstr "Die Updates für dein Profil konnten nicht gespeichert werden" -#: ../../mod/dfrn_confirm.php:743 +#: ../../mod/dfrn_confirm.php:750 #, php-format msgid "Connection accepted at %s" msgstr "Auf %s wurde die Verbindung akzeptiert" -#: ../../mod/dfrn_confirm.php:792 +#: ../../mod/dfrn_confirm.php:799 #, php-format msgid "%1$s has joined %2$s" msgstr "%1$s ist %2$s beigetreten" @@ -4532,23 +4508,23 @@ msgid "" "The connection between your accounts on %2$s and Facebook became invalid. This usually happens after you change your Facebook-password. To enable the connection again, you have to %3$sre-authenticate the Facebook-connector%4$s." msgstr "Hi %1$s,\n\ndie Verbindung von deinem Account auf %2$s und Facebook funktioniert derzeit nicht. Dies ist im Allgemeinen das Ergebnis einer Passwortänderung bei Facebook. Um die Verbindung wieder zu aktivieren musst du %3$sden Facebook-Connector neu Authentifizieren%4$s." -#: ../../addon/privacy_image_cache/privacy_image_cache.php:145 +#: ../../addon/privacy_image_cache/privacy_image_cache.php:147 msgid "Lifetime of the cache (in hours)" msgstr "Lebenszeit des Caches (in Stunden)" -#: ../../addon/privacy_image_cache/privacy_image_cache.php:150 +#: ../../addon/privacy_image_cache/privacy_image_cache.php:152 msgid "Cache Statistics" msgstr "Cache Statistik" -#: ../../addon/privacy_image_cache/privacy_image_cache.php:153 +#: ../../addon/privacy_image_cache/privacy_image_cache.php:155 msgid "Number of items" msgstr "Anzahl der Einträge" -#: ../../addon/privacy_image_cache/privacy_image_cache.php:155 +#: ../../addon/privacy_image_cache/privacy_image_cache.php:157 msgid "Size of the cache" msgstr "Größe des Caches" -#: ../../addon/privacy_image_cache/privacy_image_cache.php:157 +#: ../../addon/privacy_image_cache/privacy_image_cache.php:159 msgid "Delete the whole cache" msgstr "Cache leeren" @@ -4675,7 +4651,7 @@ msgstr "Foren" #: ../../addon/page/page.php:63 ../../addon/showmore/showmore.php:87 #: ../../include/contact_widgets.php:188 ../../include/conversation.php:470 -#: ../../boot.php:518 +#: ../../boot.php:515 msgid "show more" msgstr "mehr anzeigen" @@ -4691,7 +4667,7 @@ msgstr "Aktiviere Planeten Plugin" #: ../../addon/communityhome/communityhome.php:34 #: ../../addon/communityhome/twillingham/communityhome.php:28 #: ../../addon/communityhome/twillingham/communityhome.php:34 -#: ../../include/nav.php:64 ../../boot.php:816 +#: ../../include/nav.php:64 ../../boot.php:813 msgid "Login" msgstr "Anmeldung" @@ -4719,7 +4695,7 @@ msgid "Latest likes" msgstr "Neueste Favoriten" #: ../../addon/communityhome/communityhome.php:155 -#: ../../view/theme/diabook/theme.php:557 ../../include/text.php:1309 +#: ../../view/theme/diabook/theme.php:562 ../../include/text.php:1313 #: ../../include/conversation.php:45 ../../include/conversation.php:118 msgid "event" msgstr "Veranstaltung" @@ -4878,15 +4854,15 @@ msgstr "Beitrag via Friendica" #: ../../addon/startpage/startpage.php:83 msgid "Startpage Settings" -msgstr "" +msgstr "Startseiten-Einstellungen" #: ../../addon/startpage/startpage.php:85 msgid "Home page to load after login - leave blank for profile wall" -msgstr "" +msgstr "Seite, die nach dem Anmelden geladen werden soll. Leer = Pinnwand" #: ../../addon/startpage/startpage.php:88 msgid "Examples: "network" or "notifications/system"" -msgstr "" +msgstr "Beispiele: network, notifications/system" #: ../../addon/geonames/geonames.php:143 msgid "Geonames settings updated." @@ -4908,7 +4884,7 @@ msgstr "Dein Konto auf %s wird in ein paar Tagen verfallen." #: ../../addon/public_server/public_server.php:127 msgid "Your Friendica account is about to expire." -msgstr "" +msgstr "Dein Friendica-Account wird in Kürze auslaufen." #: ../../addon/public_server/public_server.php:128 #, php-format @@ -4916,7 +4892,7 @@ msgid "" "Hi %1$s,\n" "\n" "Your account on %2$s will expire in less than five days. You may keep your account by logging in at least once every 30 days" -msgstr "" +msgstr "Hallo %1$s,\n\ndein Account auf %2$s wird in weniger als fünf Tagen auslaufen. Du kannst das verhindern, indem du dich mindestens einmal alle 30 Tage anmeldest." #: ../../addon/js_upload/js_upload.php:43 msgid "Upload a file" @@ -5439,11 +5415,11 @@ msgstr "Standardmäßig auf WordPress veröffentlichen" #: ../../addon/wppost/wppost.php:102 msgid "Provide a backlink to the Friendica post" -msgstr "" +msgstr "Einen zurück zum Friendica-Beitrag hinzufügen" #: ../../addon/wppost/wppost.php:204 msgid "Read the original post and comment stream on Friendica" -msgstr "" +msgstr "Den Original-Beitrag samt Kommentaren bei Friendica lesen" #: ../../addon/showmore/showmore.php:38 msgid "\"Show more\" Settings" @@ -5676,153 +5652,153 @@ msgstr "Theme Breite festlegen" msgid "Color scheme" msgstr "Farbschema" -#: ../../view/theme/diabook/theme.php:122 ../../include/nav.php:49 +#: ../../view/theme/diabook/theme.php:127 ../../include/nav.php:49 #: ../../include/nav.php:115 msgid "Your posts and conversations" msgstr "Deine Beiträge und Unterhaltungen" -#: ../../view/theme/diabook/theme.php:123 ../../include/nav.php:50 +#: ../../view/theme/diabook/theme.php:128 ../../include/nav.php:50 msgid "Your profile page" msgstr "Deine Profilseite" -#: ../../view/theme/diabook/theme.php:124 +#: ../../view/theme/diabook/theme.php:129 msgid "Your contacts" msgstr "Deine Kontakte" -#: ../../view/theme/diabook/theme.php:125 ../../include/nav.php:51 +#: ../../view/theme/diabook/theme.php:130 ../../include/nav.php:51 msgid "Your photos" msgstr "Deine Fotos" -#: ../../view/theme/diabook/theme.php:126 ../../include/nav.php:52 +#: ../../view/theme/diabook/theme.php:131 ../../include/nav.php:52 msgid "Your events" msgstr "Deine Ereignisse" -#: ../../view/theme/diabook/theme.php:127 ../../include/nav.php:53 +#: ../../view/theme/diabook/theme.php:132 ../../include/nav.php:53 msgid "Personal notes" msgstr "Persönliche Notizen" -#: ../../view/theme/diabook/theme.php:127 ../../include/nav.php:53 +#: ../../view/theme/diabook/theme.php:132 ../../include/nav.php:53 msgid "Your personal photos" msgstr "Deine privaten Fotos" -#: ../../view/theme/diabook/theme.php:129 -#: ../../view/theme/diabook/theme.php:638 -#: ../../view/theme/diabook/theme.php:742 +#: ../../view/theme/diabook/theme.php:134 +#: ../../view/theme/diabook/theme.php:643 +#: ../../view/theme/diabook/theme.php:747 #: ../../view/theme/diabook/config.php:201 msgid "Community Pages" msgstr "Foren" -#: ../../view/theme/diabook/theme.php:485 -#: ../../view/theme/diabook/theme.php:744 +#: ../../view/theme/diabook/theme.php:490 +#: ../../view/theme/diabook/theme.php:749 #: ../../view/theme/diabook/config.php:203 msgid "Community Profiles" msgstr "Community-Profile" -#: ../../view/theme/diabook/theme.php:506 -#: ../../view/theme/diabook/theme.php:749 +#: ../../view/theme/diabook/theme.php:511 +#: ../../view/theme/diabook/theme.php:754 #: ../../view/theme/diabook/config.php:208 msgid "Last users" msgstr "Letzte Nutzer" -#: ../../view/theme/diabook/theme.php:535 -#: ../../view/theme/diabook/theme.php:751 +#: ../../view/theme/diabook/theme.php:540 +#: ../../view/theme/diabook/theme.php:756 #: ../../view/theme/diabook/config.php:210 msgid "Last likes" msgstr "Zuletzt gemocht" -#: ../../view/theme/diabook/theme.php:580 -#: ../../view/theme/diabook/theme.php:750 +#: ../../view/theme/diabook/theme.php:585 +#: ../../view/theme/diabook/theme.php:755 #: ../../view/theme/diabook/config.php:209 msgid "Last photos" msgstr "Letzte Fotos" -#: ../../view/theme/diabook/theme.php:617 -#: ../../view/theme/diabook/theme.php:747 +#: ../../view/theme/diabook/theme.php:622 +#: ../../view/theme/diabook/theme.php:752 #: ../../view/theme/diabook/config.php:206 msgid "Find Friends" msgstr "Freunde finden" -#: ../../view/theme/diabook/theme.php:618 +#: ../../view/theme/diabook/theme.php:623 msgid "Local Directory" msgstr "Lokales Verzeichnis" -#: ../../view/theme/diabook/theme.php:620 ../../include/contact_widgets.php:35 +#: ../../view/theme/diabook/theme.php:625 ../../include/contact_widgets.php:35 msgid "Similar Interests" msgstr "Ähnliche Interessen" -#: ../../view/theme/diabook/theme.php:622 ../../include/contact_widgets.php:37 +#: ../../view/theme/diabook/theme.php:627 ../../include/contact_widgets.php:37 msgid "Invite Friends" msgstr "Freunde einladen" -#: ../../view/theme/diabook/theme.php:673 -#: ../../view/theme/diabook/theme.php:743 +#: ../../view/theme/diabook/theme.php:678 +#: ../../view/theme/diabook/theme.php:748 #: ../../view/theme/diabook/config.php:202 msgid "Earth Layers" msgstr "Earth Layers" -#: ../../view/theme/diabook/theme.php:678 +#: ../../view/theme/diabook/theme.php:683 msgid "Set zoomfactor for Earth Layers" msgstr "Zoomfaktor der Earth Layer" -#: ../../view/theme/diabook/theme.php:679 +#: ../../view/theme/diabook/theme.php:684 #: ../../view/theme/diabook/config.php:199 msgid "Set longitude (X) for Earth Layers" msgstr "Longitude (X) der Earth Layer" -#: ../../view/theme/diabook/theme.php:680 +#: ../../view/theme/diabook/theme.php:685 #: ../../view/theme/diabook/config.php:200 msgid "Set latitude (Y) for Earth Layers" msgstr "Latitude (Y) der Earth Layer" -#: ../../view/theme/diabook/theme.php:693 -#: ../../view/theme/diabook/theme.php:745 +#: ../../view/theme/diabook/theme.php:698 +#: ../../view/theme/diabook/theme.php:750 #: ../../view/theme/diabook/config.php:204 msgid "Help or @NewHere ?" msgstr "Hilfe oder @NewHere" -#: ../../view/theme/diabook/theme.php:700 -#: ../../view/theme/diabook/theme.php:746 +#: ../../view/theme/diabook/theme.php:705 +#: ../../view/theme/diabook/theme.php:751 #: ../../view/theme/diabook/config.php:205 msgid "Connect Services" msgstr "Verbinde Dienste" -#: ../../view/theme/diabook/theme.php:707 -#: ../../view/theme/diabook/theme.php:748 +#: ../../view/theme/diabook/theme.php:712 +#: ../../view/theme/diabook/theme.php:753 msgid "Last Tweets" msgstr "Neueste Tweets" -#: ../../view/theme/diabook/theme.php:710 +#: ../../view/theme/diabook/theme.php:715 #: ../../view/theme/diabook/config.php:197 msgid "Set twitter search term" msgstr "Twitter Suchbegriff" -#: ../../view/theme/diabook/theme.php:730 -#: ../../view/theme/diabook/theme.php:731 -#: ../../view/theme/diabook/theme.php:732 -#: ../../view/theme/diabook/theme.php:733 -#: ../../view/theme/diabook/theme.php:734 #: ../../view/theme/diabook/theme.php:735 #: ../../view/theme/diabook/theme.php:736 #: ../../view/theme/diabook/theme.php:737 #: ../../view/theme/diabook/theme.php:738 -#: ../../view/theme/diabook/theme.php:739 ../../include/acl_selectors.php:288 +#: ../../view/theme/diabook/theme.php:739 +#: ../../view/theme/diabook/theme.php:740 +#: ../../view/theme/diabook/theme.php:741 +#: ../../view/theme/diabook/theme.php:742 +#: ../../view/theme/diabook/theme.php:743 +#: ../../view/theme/diabook/theme.php:744 ../../include/acl_selectors.php:288 msgid "don't show" msgstr "nicht zeigen" -#: ../../view/theme/diabook/theme.php:730 -#: ../../view/theme/diabook/theme.php:731 -#: ../../view/theme/diabook/theme.php:732 -#: ../../view/theme/diabook/theme.php:733 -#: ../../view/theme/diabook/theme.php:734 #: ../../view/theme/diabook/theme.php:735 #: ../../view/theme/diabook/theme.php:736 #: ../../view/theme/diabook/theme.php:737 #: ../../view/theme/diabook/theme.php:738 -#: ../../view/theme/diabook/theme.php:739 ../../include/acl_selectors.php:287 +#: ../../view/theme/diabook/theme.php:739 +#: ../../view/theme/diabook/theme.php:740 +#: ../../view/theme/diabook/theme.php:741 +#: ../../view/theme/diabook/theme.php:742 +#: ../../view/theme/diabook/theme.php:743 +#: ../../view/theme/diabook/theme.php:744 ../../include/acl_selectors.php:287 msgid "show" msgstr "zeigen" -#: ../../view/theme/diabook/theme.php:740 +#: ../../view/theme/diabook/theme.php:745 msgid "Show/hide boxes at right-hand column:" msgstr "Rahmen auf der rechten Seite anzeigen/verbergen" @@ -5863,7 +5839,7 @@ msgstr "Mitte" msgid "Set colour scheme" msgstr "Farbschema wählen" -#: ../../include/profile_advanced.php:17 ../../boot.php:1105 +#: ../../include/profile_advanced.php:17 ../../boot.php:1102 msgid "Gender:" msgstr "Geschlecht:" @@ -5875,8 +5851,8 @@ msgstr "j F, Y" msgid "j F" msgstr "j F" -#: ../../include/profile_advanced.php:30 ../../include/datetime.php:448 -#: ../../include/items.php:1419 +#: ../../include/profile_advanced.php:30 ../../include/datetime.php:450 +#: ../../include/items.php:1423 msgid "Birthday:" msgstr "Geburtstag:" @@ -5884,59 +5860,64 @@ msgstr "Geburtstag:" msgid "Age:" msgstr "Alter:" -#: ../../include/profile_advanced.php:37 ../../boot.php:1108 +#: ../../include/profile_advanced.php:37 ../../boot.php:1105 msgid "Status:" msgstr "Status:" -#: ../../include/profile_advanced.php:45 ../../boot.php:1110 +#: ../../include/profile_advanced.php:43 +#, php-format +msgid "for %1$d %2$s" +msgstr "für %1$d %2$s" + +#: ../../include/profile_advanced.php:48 ../../boot.php:1107 msgid "Homepage:" msgstr "Homepage:" -#: ../../include/profile_advanced.php:47 +#: ../../include/profile_advanced.php:50 msgid "Tags:" msgstr "Tags" -#: ../../include/profile_advanced.php:51 +#: ../../include/profile_advanced.php:54 msgid "Religion:" msgstr "Religion:" -#: ../../include/profile_advanced.php:53 +#: ../../include/profile_advanced.php:56 msgid "About:" msgstr "Über:" -#: ../../include/profile_advanced.php:55 +#: ../../include/profile_advanced.php:58 msgid "Hobbies/Interests:" msgstr "Hobbies/Interessen:" -#: ../../include/profile_advanced.php:57 +#: ../../include/profile_advanced.php:60 msgid "Contact information and Social Networks:" msgstr "Kontaktinformationen und Soziale Netzwerke:" -#: ../../include/profile_advanced.php:59 +#: ../../include/profile_advanced.php:62 msgid "Musical interests:" msgstr "Musikalische Interessen:" -#: ../../include/profile_advanced.php:61 +#: ../../include/profile_advanced.php:64 msgid "Books, literature:" msgstr "Literatur/Bücher:" -#: ../../include/profile_advanced.php:63 +#: ../../include/profile_advanced.php:66 msgid "Television:" msgstr "Fernsehen:" -#: ../../include/profile_advanced.php:65 +#: ../../include/profile_advanced.php:68 msgid "Film/dance/culture/entertainment:" msgstr "Filme/Tänze/Kultur/Unterhaltung:" -#: ../../include/profile_advanced.php:67 +#: ../../include/profile_advanced.php:70 msgid "Love/Romance:" msgstr "Liebesleben:" -#: ../../include/profile_advanced.php:69 +#: ../../include/profile_advanced.php:72 msgid "Work/employment:" msgstr "Arbeit/Beschäftigung:" -#: ../../include/profile_advanced.php:71 +#: ../../include/profile_advanced.php:74 msgid "School/education:" msgstr "Schule/Ausbildung:" @@ -6068,187 +6049,187 @@ msgstr "Andere" msgid "Undecided" msgstr "Unentschieden" -#: ../../include/profile_selectors.php:21 +#: ../../include/profile_selectors.php:23 msgid "Males" msgstr "Männer" -#: ../../include/profile_selectors.php:21 +#: ../../include/profile_selectors.php:23 msgid "Females" msgstr "Frauen" -#: ../../include/profile_selectors.php:21 +#: ../../include/profile_selectors.php:23 msgid "Gay" msgstr "Schwul" -#: ../../include/profile_selectors.php:21 +#: ../../include/profile_selectors.php:23 msgid "Lesbian" msgstr "Lesbisch" -#: ../../include/profile_selectors.php:21 +#: ../../include/profile_selectors.php:23 msgid "No Preference" msgstr "Keine Vorlieben" -#: ../../include/profile_selectors.php:21 +#: ../../include/profile_selectors.php:23 msgid "Bisexual" msgstr "Bisexuell" -#: ../../include/profile_selectors.php:21 +#: ../../include/profile_selectors.php:23 msgid "Autosexual" msgstr "Autosexual" -#: ../../include/profile_selectors.php:21 +#: ../../include/profile_selectors.php:23 msgid "Abstinent" msgstr "Abstinent" -#: ../../include/profile_selectors.php:21 +#: ../../include/profile_selectors.php:23 msgid "Virgin" msgstr "Jungfrauen" -#: ../../include/profile_selectors.php:21 +#: ../../include/profile_selectors.php:23 msgid "Deviant" msgstr "Deviant" -#: ../../include/profile_selectors.php:21 +#: ../../include/profile_selectors.php:23 msgid "Fetish" msgstr "Fetish" -#: ../../include/profile_selectors.php:21 +#: ../../include/profile_selectors.php:23 msgid "Oodles" msgstr "Oodles" -#: ../../include/profile_selectors.php:21 +#: ../../include/profile_selectors.php:23 msgid "Nonsexual" msgstr "Nonsexual" -#: ../../include/profile_selectors.php:37 +#: ../../include/profile_selectors.php:42 msgid "Single" msgstr "Single" -#: ../../include/profile_selectors.php:37 +#: ../../include/profile_selectors.php:42 msgid "Lonely" msgstr "Einsam" -#: ../../include/profile_selectors.php:37 +#: ../../include/profile_selectors.php:42 msgid "Available" msgstr "Verfügbar" -#: ../../include/profile_selectors.php:37 +#: ../../include/profile_selectors.php:42 msgid "Unavailable" msgstr "Nicht verfügbar" -#: ../../include/profile_selectors.php:37 +#: ../../include/profile_selectors.php:42 msgid "Has crush" msgstr "verknallt" -#: ../../include/profile_selectors.php:37 +#: ../../include/profile_selectors.php:42 msgid "Infatuated" msgstr "verliebt" -#: ../../include/profile_selectors.php:37 +#: ../../include/profile_selectors.php:42 msgid "Dating" msgstr "Dating" -#: ../../include/profile_selectors.php:37 +#: ../../include/profile_selectors.php:42 msgid "Unfaithful" msgstr "Untreu" -#: ../../include/profile_selectors.php:37 +#: ../../include/profile_selectors.php:42 msgid "Sex Addict" msgstr "Sexbesessen" -#: ../../include/profile_selectors.php:37 +#: ../../include/profile_selectors.php:42 ../../include/user.php:272 msgid "Friends" msgstr "Freunde" -#: ../../include/profile_selectors.php:37 +#: ../../include/profile_selectors.php:42 msgid "Friends/Benefits" msgstr "Freunde/Zuwendungen" -#: ../../include/profile_selectors.php:37 +#: ../../include/profile_selectors.php:42 msgid "Casual" msgstr "Casual" -#: ../../include/profile_selectors.php:37 +#: ../../include/profile_selectors.php:42 msgid "Engaged" msgstr "Verlobt" -#: ../../include/profile_selectors.php:37 +#: ../../include/profile_selectors.php:42 msgid "Married" msgstr "Verheiratet" -#: ../../include/profile_selectors.php:37 +#: ../../include/profile_selectors.php:42 msgid "Imaginarily married" msgstr "imaginär verheiratet" -#: ../../include/profile_selectors.php:37 +#: ../../include/profile_selectors.php:42 msgid "Partners" msgstr "Partner" -#: ../../include/profile_selectors.php:37 +#: ../../include/profile_selectors.php:42 msgid "Cohabiting" msgstr "zusammenlebend" -#: ../../include/profile_selectors.php:37 +#: ../../include/profile_selectors.php:42 msgid "Common law" msgstr "wilde Ehe" -#: ../../include/profile_selectors.php:37 +#: ../../include/profile_selectors.php:42 msgid "Happy" msgstr "Glücklich" -#: ../../include/profile_selectors.php:37 +#: ../../include/profile_selectors.php:42 msgid "Not looking" msgstr "Nicht auf der Suche" -#: ../../include/profile_selectors.php:37 +#: ../../include/profile_selectors.php:42 msgid "Swinger" msgstr "Swinger" -#: ../../include/profile_selectors.php:37 +#: ../../include/profile_selectors.php:42 msgid "Betrayed" msgstr "Betrogen" -#: ../../include/profile_selectors.php:37 +#: ../../include/profile_selectors.php:42 msgid "Separated" msgstr "Getrennt" -#: ../../include/profile_selectors.php:37 +#: ../../include/profile_selectors.php:42 msgid "Unstable" msgstr "Unstabil" -#: ../../include/profile_selectors.php:37 +#: ../../include/profile_selectors.php:42 msgid "Divorced" msgstr "Geschieden" -#: ../../include/profile_selectors.php:37 +#: ../../include/profile_selectors.php:42 msgid "Imaginarily divorced" msgstr "imaginär geschieden" -#: ../../include/profile_selectors.php:37 +#: ../../include/profile_selectors.php:42 msgid "Widowed" msgstr "Verwitwet" -#: ../../include/profile_selectors.php:37 +#: ../../include/profile_selectors.php:42 msgid "Uncertain" msgstr "Unsicher" -#: ../../include/profile_selectors.php:37 +#: ../../include/profile_selectors.php:42 msgid "It's complicated" msgstr "Ist kompliziert" -#: ../../include/profile_selectors.php:37 +#: ../../include/profile_selectors.php:42 msgid "Don't care" msgstr "Ist mir nicht wichtig" -#: ../../include/profile_selectors.php:37 +#: ../../include/profile_selectors.php:42 msgid "Ask me" msgstr "Frag mich" -#: ../../include/event.php:17 ../../include/bb2diaspora.php:244 +#: ../../include/event.php:17 ../../include/bb2diaspora.php:249 msgid "Starts:" msgstr "Beginnt:" -#: ../../include/event.php:27 ../../include/bb2diaspora.php:252 +#: ../../include/event.php:27 ../../include/bb2diaspora.php:257 msgid "Finishes:" msgstr "Endet:" @@ -6288,127 +6269,127 @@ msgid_plural "%d Contacts" msgstr[0] "%d Kontakt" msgstr[1] "%d Kontakte" -#: ../../include/text.php:831 +#: ../../include/text.php:835 msgid "Monday" msgstr "Montag" -#: ../../include/text.php:831 +#: ../../include/text.php:835 msgid "Tuesday" msgstr "Dienstag" -#: ../../include/text.php:831 +#: ../../include/text.php:835 msgid "Wednesday" msgstr "Mittwoch" -#: ../../include/text.php:831 +#: ../../include/text.php:835 msgid "Thursday" msgstr "Donnerstag" -#: ../../include/text.php:831 +#: ../../include/text.php:835 msgid "Friday" msgstr "Freitag" -#: ../../include/text.php:831 +#: ../../include/text.php:835 msgid "Saturday" msgstr "Samstag" -#: ../../include/text.php:831 +#: ../../include/text.php:835 msgid "Sunday" msgstr "Sonntag" -#: ../../include/text.php:835 +#: ../../include/text.php:839 msgid "January" msgstr "Januar" -#: ../../include/text.php:835 +#: ../../include/text.php:839 msgid "February" msgstr "Februar" -#: ../../include/text.php:835 +#: ../../include/text.php:839 msgid "March" msgstr "März" -#: ../../include/text.php:835 +#: ../../include/text.php:839 msgid "April" msgstr "April" -#: ../../include/text.php:835 +#: ../../include/text.php:839 msgid "May" msgstr "Mai" -#: ../../include/text.php:835 +#: ../../include/text.php:839 msgid "June" msgstr "Juni" -#: ../../include/text.php:835 +#: ../../include/text.php:839 msgid "July" msgstr "Juli" -#: ../../include/text.php:835 +#: ../../include/text.php:839 msgid "August" msgstr "August" -#: ../../include/text.php:835 +#: ../../include/text.php:839 msgid "September" msgstr "September" -#: ../../include/text.php:835 +#: ../../include/text.php:839 msgid "October" msgstr "Oktober" -#: ../../include/text.php:835 +#: ../../include/text.php:839 msgid "November" msgstr "November" -#: ../../include/text.php:835 +#: ../../include/text.php:839 msgid "December" msgstr "Dezember" -#: ../../include/text.php:920 +#: ../../include/text.php:924 msgid "bytes" msgstr "Byte" -#: ../../include/text.php:940 ../../include/text.php:955 +#: ../../include/text.php:944 ../../include/text.php:959 msgid "remove" msgstr "löschen" -#: ../../include/text.php:940 ../../include/text.php:955 +#: ../../include/text.php:944 ../../include/text.php:959 msgid "[remove]" msgstr "[löschen]" -#: ../../include/text.php:943 +#: ../../include/text.php:947 msgid "Categories:" msgstr "Kategorien:" -#: ../../include/text.php:958 +#: ../../include/text.php:962 msgid "Filed under:" msgstr "Abgelegt unter:" -#: ../../include/text.php:974 ../../include/text.php:986 +#: ../../include/text.php:978 ../../include/text.php:990 msgid "Click to open/close" msgstr "Zum öffnen/schließen klicken" -#: ../../include/text.php:1091 +#: ../../include/text.php:1095 ../../include/user.php:230 msgid "default" msgstr "standard" -#: ../../include/text.php:1103 +#: ../../include/text.php:1107 msgid "Select an alternate language" msgstr "Alternative Sprache auswählen" -#: ../../include/text.php:1313 +#: ../../include/text.php:1317 msgid "activity" msgstr "Aktivität" -#: ../../include/text.php:1315 +#: ../../include/text.php:1319 msgid "comment" msgstr "Kommentar" -#: ../../include/text.php:1316 +#: ../../include/text.php:1320 msgid "post" msgstr "Beitrag" -#: ../../include/text.php:1471 +#: ../../include/text.php:1475 msgid "Item filed" msgstr "Beitrag abgelegt" @@ -6420,7 +6401,7 @@ msgstr "Freigabe-Benachrichtigung von Diaspora" msgid "Attachments:" msgstr "Anhänge:" -#: ../../include/diaspora.php:2160 +#: ../../include/diaspora.php:2168 #, php-format msgid "[Relayed] Comment authored by %s from network %s" msgstr "[Weitergeleitet] Kommentar von %s aus dem %s Netzwerk" @@ -6446,7 +6427,7 @@ msgstr "Eine gelöschte Gruppe mit diesem Namen wurde wiederbelebt. Bestehende B #: ../../include/group.php:176 msgid "Default privacy group for new contacts" -msgstr "" +msgstr "Voreingestellte Gruppe für neue Kontakte" #: ../../include/group.php:195 msgid "Everybody" @@ -6472,7 +6453,7 @@ msgstr "Neue Gruppe erstellen" msgid "Contacts not in any group" msgstr "Kontakte in keiner Gruppe" -#: ../../include/nav.php:46 ../../boot.php:815 +#: ../../include/nav.php:46 ../../boot.php:812 msgid "Logout" msgstr "Abmelden" @@ -6480,7 +6461,7 @@ msgstr "Abmelden" msgid "End this session" msgstr "Diese Sitzung beenden" -#: ../../include/nav.php:49 ../../boot.php:1502 +#: ../../include/nav.php:49 ../../boot.php:1499 msgid "Status" msgstr "Status" @@ -6560,11 +6541,11 @@ msgstr "Verwalten" msgid "Manage other pages" msgstr "Andere Seiten verwalten" -#: ../../include/nav.php:138 ../../boot.php:1063 +#: ../../include/nav.php:138 ../../boot.php:1060 msgid "Profiles" msgstr "Profile" -#: ../../include/nav.php:138 ../../boot.php:1063 +#: ../../include/nav.php:138 ../../boot.php:1060 msgid "Manage/edit profiles" msgstr "Profile verwalten/editieren" @@ -6647,13 +6628,13 @@ msgstr "Kategorien" msgid "Logged out." msgstr "Abgemeldet." -#: ../../include/auth.php:113 +#: ../../include/auth.php:115 msgid "" "We encountered a problem while logging in with the OpenID you provided. " "Please check the correct spelling of the ID." msgstr "Beim Versuch dich mit der von dir angegebenen OpenID anzumelden trat ein Problem auf. Bitte überprüfe, dass du die OpenID richtig geschrieben hast." -#: ../../include/auth.php:113 +#: ../../include/auth.php:115 msgid "The error message was:" msgstr "Die Fehlermeldung lautete:" @@ -6725,7 +6706,7 @@ msgstr "Sekunde" msgid "seconds" msgstr "Sekunden" -#: ../../include/datetime.php:277 +#: ../../include/datetime.php:278 #, php-format msgid "%1$d %2$s ago" msgstr "%1$d %2$s her" @@ -6943,11 +6924,11 @@ msgstr "Foto:" msgid "Please visit %s to approve or reject the suggestion." msgstr "Bitte besuche %s, um den Vorschlag zu akzeptieren oder abzulehnen." -#: ../../include/items.php:2736 +#: ../../include/items.php:2740 msgid "A new person is sharing with you at " msgstr "Eine neue Person teilt mit dir auf " -#: ../../include/items.php:2736 +#: ../../include/items.php:2740 msgid "You have a new follower at " msgstr "Du hast einen neuen Kontakt auf " @@ -6960,6 +6941,74 @@ msgstr "Bild/Foto" msgid "link" msgstr "Verweis" +#: ../../include/user.php:38 +msgid "An invitation is required." +msgstr "Du benötigst eine Einladung." + +#: ../../include/user.php:43 +msgid "Invitation could not be verified." +msgstr "Die Einladung konnte nicht überprüft werden." + +#: ../../include/user.php:51 +msgid "Invalid OpenID url" +msgstr "Ungültige OpenID URL" + +#: ../../include/user.php:66 +msgid "Please enter the required information." +msgstr "Bitte trage die erforderlichen Informationen ein." + +#: ../../include/user.php:80 +msgid "Please use a shorter name." +msgstr "Bitte verwende einen kürzeren Namen." + +#: ../../include/user.php:82 +msgid "Name too short." +msgstr "Der Name ist zu kurz." + +#: ../../include/user.php:97 +msgid "That doesn't appear to be your full (First Last) name." +msgstr "Das scheint nicht dein kompletter Name (Vor- und Nachname) zu sein." + +#: ../../include/user.php:102 +msgid "Your email domain is not among those allowed on this site." +msgstr "Die Domain deiner E-Mail Adresse ist auf dieser Seite nicht erlaubt." + +#: ../../include/user.php:105 +msgid "Not a valid email address." +msgstr "Keine gültige E-Mail-Adresse." + +#: ../../include/user.php:115 +msgid "Cannot use that email." +msgstr "Konnte diese E-Mail-Adresse nicht verwenden." + +#: ../../include/user.php:121 +msgid "" +"Your \"nickname\" can only contain \"a-z\", \"0-9\", \"-\", and \"_\", and " +"must also begin with a letter." +msgstr "Dein Spitzname darf nur aus Buchstaben und Zahlen (\"a-z\",\"0-9\", \"_\" und \"-\") bestehen, außerdem muss er mit einem Buchstaben beginnen." + +#: ../../include/user.php:127 ../../include/user.php:219 +msgid "Nickname is already registered. Please choose another." +msgstr "Dieser Spitzname ist bereits vergeben. Bitte wähle einen anderen." + +#: ../../include/user.php:137 +msgid "" +"Nickname was once registered here and may not be re-used. Please choose " +"another." +msgstr "Dieser Spitzname ist bereits vergeben. Bitte wähle einen anderen." + +#: ../../include/user.php:153 +msgid "SERIOUS ERROR: Generation of security keys failed." +msgstr "FATALER FEHLER: Sicherheitsschlüssel konnten nicht erzeugt werden." + +#: ../../include/user.php:205 +msgid "An error occurred during registration. Please try again." +msgstr "Wärend der Anmeldung ist ein Fehler aufgetreten. Bitte versuche es noch einmal." + +#: ../../include/user.php:240 +msgid "An error occurred creating your default profile. Please try again." +msgstr "Bei der Erstellung des Standardprofils ist ein Fehler aufgetreten. Bitte versuche es noch einmal." + #: ../../include/security.php:21 msgid "Welcome " msgstr "Willkommen " @@ -6982,30 +7031,30 @@ msgstr "Das Sicherheitsmerkmal war nicht korrekt. Das passiert meistens wenn das msgid "stopped following" msgstr "wird nicht mehr gefolgt" -#: ../../include/Contact.php:203 ../../include/conversation.php:821 +#: ../../include/Contact.php:203 ../../include/conversation.php:836 msgid "View Status" msgstr "Pinnwand anschauen" -#: ../../include/Contact.php:204 ../../include/conversation.php:822 +#: ../../include/Contact.php:204 ../../include/conversation.php:837 msgid "View Profile" msgstr "Profil anschauen" -#: ../../include/Contact.php:205 ../../include/conversation.php:823 +#: ../../include/Contact.php:205 ../../include/conversation.php:838 msgid "View Photos" msgstr "Bilder anschauen" #: ../../include/Contact.php:206 ../../include/Contact.php:219 -#: ../../include/conversation.php:824 +#: ../../include/conversation.php:839 msgid "Network Posts" msgstr "Netzwerkbeiträge" #: ../../include/Contact.php:207 ../../include/Contact.php:219 -#: ../../include/conversation.php:825 +#: ../../include/conversation.php:840 msgid "Edit Contact" msgstr "Kontakt bearbeiten" #: ../../include/Contact.php:208 ../../include/Contact.php:219 -#: ../../include/conversation.php:826 +#: ../../include/conversation.php:841 msgid "Send PM" msgstr "Private Nachricht senden" @@ -7018,17 +7067,17 @@ msgstr "Nachricht/Beitrag" msgid "%1$s marked %2$s's %3$s as favorite" msgstr "%1$s hat %2$s\\s %3$s als Favorit markiert" -#: ../../include/conversation.php:321 ../../include/conversation.php:587 +#: ../../include/conversation.php:321 ../../include/conversation.php:602 msgid "Select" msgstr "Auswählen" -#: ../../include/conversation.php:338 ../../include/conversation.php:680 -#: ../../include/conversation.php:681 +#: ../../include/conversation.php:338 ../../include/conversation.php:695 +#: ../../include/conversation.php:696 #, php-format msgid "View %s's profile @ %s" msgstr "Das Profil von %s auf %s betrachten." -#: ../../include/conversation.php:348 ../../include/conversation.php:692 +#: ../../include/conversation.php:348 ../../include/conversation.php:707 #, php-format msgid "%s from %s" msgstr "%s von %s" @@ -7044,283 +7093,283 @@ msgid_plural "%d comments" msgstr[0] "%d Kommentar" msgstr[1] "%d Kommentare" -#: ../../include/conversation.php:533 +#: ../../include/conversation.php:548 msgid "like" msgstr "mag ich" -#: ../../include/conversation.php:534 +#: ../../include/conversation.php:549 msgid "dislike" msgstr "mag ich nicht" -#: ../../include/conversation.php:536 +#: ../../include/conversation.php:551 msgid "Share this" msgstr "Teile dieses" -#: ../../include/conversation.php:536 +#: ../../include/conversation.php:551 msgid "share" msgstr "Teilen" -#: ../../include/conversation.php:560 +#: ../../include/conversation.php:575 msgid "Bold" msgstr "Fett" -#: ../../include/conversation.php:561 +#: ../../include/conversation.php:576 msgid "Italic" msgstr "Kursiv" -#: ../../include/conversation.php:562 +#: ../../include/conversation.php:577 msgid "Underline" msgstr "Unterstrichen" -#: ../../include/conversation.php:563 +#: ../../include/conversation.php:578 msgid "Quote" msgstr "Zitat" -#: ../../include/conversation.php:564 +#: ../../include/conversation.php:579 msgid "Code" msgstr "Code" -#: ../../include/conversation.php:565 +#: ../../include/conversation.php:580 msgid "Image" msgstr "Bild" -#: ../../include/conversation.php:566 +#: ../../include/conversation.php:581 msgid "Link" msgstr "Verweis" -#: ../../include/conversation.php:567 +#: ../../include/conversation.php:582 msgid "Video" msgstr "Video" -#: ../../include/conversation.php:600 +#: ../../include/conversation.php:615 msgid "add star" msgstr "markieren" -#: ../../include/conversation.php:601 +#: ../../include/conversation.php:616 msgid "remove star" msgstr "Markierung entfernen" -#: ../../include/conversation.php:602 +#: ../../include/conversation.php:617 msgid "toggle star status" msgstr "Markierung umschalten" -#: ../../include/conversation.php:605 +#: ../../include/conversation.php:620 msgid "starred" msgstr "markiert" -#: ../../include/conversation.php:606 +#: ../../include/conversation.php:621 msgid "add tag" msgstr "Tag hinzufügen" -#: ../../include/conversation.php:610 +#: ../../include/conversation.php:625 msgid "save to folder" msgstr "In Ordner speichern" -#: ../../include/conversation.php:682 +#: ../../include/conversation.php:697 msgid "to" msgstr "zu" -#: ../../include/conversation.php:683 +#: ../../include/conversation.php:698 msgid "Wall-to-Wall" msgstr "Wall-to-Wall" -#: ../../include/conversation.php:684 +#: ../../include/conversation.php:699 msgid "via Wall-To-Wall:" msgstr "via Wall-To-Wall:" -#: ../../include/conversation.php:729 +#: ../../include/conversation.php:744 msgid "Delete Selected Items" msgstr "Lösche die markierten Beiträge" -#: ../../include/conversation.php:880 +#: ../../include/conversation.php:895 #, php-format msgid "%s likes this." msgstr "%s mag das." -#: ../../include/conversation.php:880 +#: ../../include/conversation.php:895 #, php-format msgid "%s doesn't like this." msgstr "%s mag das nicht." -#: ../../include/conversation.php:884 +#: ../../include/conversation.php:899 #, php-format msgid "%2$d people like this." msgstr "%2$d Leute mögen das." -#: ../../include/conversation.php:886 +#: ../../include/conversation.php:901 #, php-format msgid "%2$d people don't like this." msgstr "%2$d Leute mögen das nicht." -#: ../../include/conversation.php:892 +#: ../../include/conversation.php:907 msgid "and" msgstr "und" -#: ../../include/conversation.php:895 +#: ../../include/conversation.php:910 #, php-format msgid ", and %d other people" msgstr " und %d andere" -#: ../../include/conversation.php:896 +#: ../../include/conversation.php:911 #, php-format msgid "%s like this." msgstr "%s mögen das." -#: ../../include/conversation.php:896 +#: ../../include/conversation.php:911 #, php-format msgid "%s don't like this." msgstr "%s mögen das nicht." -#: ../../include/conversation.php:921 +#: ../../include/conversation.php:936 msgid "Visible to everybody" msgstr "Für jedermann sichtbar" -#: ../../include/conversation.php:923 +#: ../../include/conversation.php:938 msgid "Please enter a video link/URL:" msgstr "Bitte Link/URL zum Video einfügen:" -#: ../../include/conversation.php:924 +#: ../../include/conversation.php:939 msgid "Please enter an audio link/URL:" msgstr "Bitte Link/URL zum Audio einfügen:" -#: ../../include/conversation.php:925 +#: ../../include/conversation.php:940 msgid "Tag term:" msgstr "Tag:" -#: ../../include/conversation.php:927 +#: ../../include/conversation.php:942 msgid "Where are you right now?" msgstr "Wo hältst du dich jetzt gerade auf?" -#: ../../include/conversation.php:970 +#: ../../include/conversation.php:985 msgid "upload photo" msgstr "Bild hochladen" -#: ../../include/conversation.php:972 +#: ../../include/conversation.php:987 msgid "attach file" msgstr "Datei anhängen" -#: ../../include/conversation.php:974 +#: ../../include/conversation.php:989 msgid "web link" msgstr "Weblink" -#: ../../include/conversation.php:975 +#: ../../include/conversation.php:990 msgid "Insert video link" msgstr "Video-Adresse einfügen" -#: ../../include/conversation.php:976 +#: ../../include/conversation.php:991 msgid "video link" msgstr "Video-Link" -#: ../../include/conversation.php:977 +#: ../../include/conversation.php:992 msgid "Insert audio link" msgstr "Audio-Adresse einfügen" -#: ../../include/conversation.php:978 +#: ../../include/conversation.php:993 msgid "audio link" msgstr "Audio-Link" -#: ../../include/conversation.php:980 +#: ../../include/conversation.php:995 msgid "set location" msgstr "Ort setzen" -#: ../../include/conversation.php:982 +#: ../../include/conversation.php:997 msgid "clear location" msgstr "Ort löschen" -#: ../../include/conversation.php:989 +#: ../../include/conversation.php:1004 msgid "permissions" msgstr "Zugriffsrechte" -#: ../../boot.php:516 +#: ../../boot.php:513 msgid "Delete this item?" msgstr "Diesen Beitrag löschen?" -#: ../../boot.php:519 +#: ../../boot.php:516 msgid "show fewer" msgstr "weniger anzeigen" -#: ../../boot.php:692 +#: ../../boot.php:689 #, php-format msgid "Update %s failed. See error logs." msgstr "Update %s fehlgeschlagen. Bitte Fehlerprotokoll überprüfen." -#: ../../boot.php:694 +#: ../../boot.php:691 #, php-format msgid "Update Error at %s" msgstr "Updatefehler bei %s" -#: ../../boot.php:794 +#: ../../boot.php:791 msgid "Create a New Account" msgstr "Neuen Account erstellen" -#: ../../boot.php:818 +#: ../../boot.php:815 msgid "Nickname or Email address: " msgstr "Spitzname oder Email-Adresse: " -#: ../../boot.php:819 +#: ../../boot.php:816 msgid "Password: " msgstr "Passwort: " -#: ../../boot.php:822 +#: ../../boot.php:819 msgid "Or login using OpenID: " msgstr "Oder melde dich mit deiner OpenID an: " -#: ../../boot.php:828 +#: ../../boot.php:825 msgid "Forgot your password?" msgstr "Passwort vergessen?" -#: ../../boot.php:995 +#: ../../boot.php:992 msgid "Edit profile" msgstr "Profil bearbeiten" -#: ../../boot.php:1055 +#: ../../boot.php:1052 msgid "Message" msgstr "Nachricht" -#: ../../boot.php:1171 ../../boot.php:1247 +#: ../../boot.php:1168 ../../boot.php:1244 msgid "g A l F d" msgstr "l, d. F G \\U\\h\\r" -#: ../../boot.php:1172 ../../boot.php:1248 +#: ../../boot.php:1169 ../../boot.php:1245 msgid "F d" msgstr "d. F" -#: ../../boot.php:1217 ../../boot.php:1288 +#: ../../boot.php:1214 ../../boot.php:1285 msgid "[today]" msgstr "[heute]" -#: ../../boot.php:1229 +#: ../../boot.php:1226 msgid "Birthday Reminders" msgstr "Geburtstagserinnerungen" -#: ../../boot.php:1230 +#: ../../boot.php:1227 msgid "Birthdays this week:" msgstr "Geburtstage diese Woche:" -#: ../../boot.php:1281 +#: ../../boot.php:1278 msgid "[No description]" msgstr "[keine Beschreibung]" -#: ../../boot.php:1299 +#: ../../boot.php:1296 msgid "Event Reminders" msgstr "Veranstaltungserinnerungen" -#: ../../boot.php:1300 +#: ../../boot.php:1297 msgid "Events this week:" msgstr "Veranstaltungen diese Woche" -#: ../../boot.php:1505 +#: ../../boot.php:1502 msgid "Status Messages and Posts" msgstr "Statusnachrichten und Beiträge" -#: ../../boot.php:1511 +#: ../../boot.php:1508 msgid "Profile Details" msgstr "Profildetails" -#: ../../boot.php:1526 +#: ../../boot.php:1523 msgid "Events and Calendar" msgstr "Ereignisse und Kalender" -#: ../../boot.php:1532 +#: ../../boot.php:1529 msgid "Only You Can See This" msgstr "Nur Du Kannst Das Sehen" diff --git a/view/de/strings.php b/view/de/strings.php index 7c127894aa..1b0ef4b894 100644 --- a/view/de/strings.php +++ b/view/de/strings.php @@ -98,6 +98,7 @@ $a->strings["Private Message"] = "Private Nachricht"; $a->strings["View Full Size"] = "Betrachte Originalgröße"; $a->strings["Tags: "] = "Tags: "; $a->strings["[Remove any tag]"] = "[Tag entfernen]"; +$a->strings["Rotate CW"] = "Im Uhrzeigersinn rotieren"; $a->strings["New album name"] = "Name des neuen Albums"; $a->strings["Caption"] = "Bildunterschrift"; $a->strings["Add a Tag"] = "Tag hinzufügen"; @@ -166,6 +167,7 @@ $a->strings["Failed to update contact record."] = "Aktualisierung der Kontaktdat $a->strings["Your introduction has been sent."] = "Deine Kontaktanfrage wurde gesendet."; $a->strings["Please login to confirm introduction."] = "Bitte melde dich an, um die Kontaktanfrage zu bestätigen."; $a->strings["Incorrect identity currently logged in. Please login to this profile."] = "Momentan bist du mit einer anderen Identität angemeldet. Bitte melde Dich mit diesem Profil an."; +$a->strings["Hide this contact"] = "Verberge diese Kontakt"; $a->strings["Welcome home %s."] = "Willkommen zurück %s."; $a->strings["Please confirm your introduction/connection request to %s."] = "Bitte bestätige deine Kontaktanfrage bei %s."; $a->strings["Confirm"] = "Bestätigen"; @@ -185,18 +187,14 @@ $a->strings[" - please do not use this form. Instead, enter %s into your Diaspo $a->strings["Your Identity Address:"] = "Adresse deines Profils:"; $a->strings["Submit Request"] = "Anfrage abschicken"; $a->strings["Friendica Social Communications Server - Setup"] = "Friendica-Server für soziale Netzwerke – Setup"; -$a->strings["Database connection"] = "Datenbankverbindung"; $a->strings["Could not connect to database."] = "Verbindung zur Datenbank gescheitert"; $a->strings["Could not create table."] = "Konnte Tabelle nicht erstellen."; $a->strings["Your Friendica site database has been installed."] = "Die Datenbank deiner Friendica Seite wurde installiert."; -$a->strings["IMPORTANT: You will need to [manually] setup a scheduled task for the poller."] = "WICHTIG: Du musst [manuell] einen Cronjob (o.ä.) für den Poller einrichten."; -$a->strings["Please see the file \"INSTALL.txt\"."] = "Lies bitte die \"INSTALL.txt\"."; -$a->strings["Proceed to registration"] = "Mit der Registrierung fortfahren"; -$a->strings["Proceed with Installation"] = "Mit der Installation fortfahren"; $a->strings["You may need to import the file \"database.sql\" manually using phpmyadmin or mysql."] = "Möglicherweise musst du die Datei \"database.sql\" manuell mit phpmyadmin oder mysql importieren."; -$a->strings["Database import failed."] = "Import der Datenbank schlug fehl."; +$a->strings["Please see the file \"INSTALL.txt\"."] = "Lies bitte die \"INSTALL.txt\"."; $a->strings["System check"] = "Systemtest"; $a->strings["Check again"] = "Noch einmal testen"; +$a->strings["Database connection"] = "Datenbankverbindung"; $a->strings["In order to install Friendica we need to know how to connect to your database."] = "Um Friendica installieren zu können, müssen wir wissen, wie wir zu deiner Datenbank Kontakt aufnehmen können."; $a->strings["Please contact your hosting provider or site administrator if you have questions about these settings."] = "Bitte kontaktiere den Hosting Provider oder den Administrator der Seite, falls du Fragen zu diesen Einstellungen haben solltest."; $a->strings["The database you specify below should already exist. If it does not, please create it before continuing."] = "Die Datenbank, die du unten angibst, sollte bereits existieren. Ist dies noch nicht der Fall, erzeuge sie bitte bevor du mit der Installation fortfährst."; @@ -209,8 +207,9 @@ $a->strings["Your account email address must match this in order to use the web $a->strings["Please select a default timezone for your website"] = "Bitte wähle die Standardzeitzone deiner Webseite"; $a->strings["Site settings"] = "Server-Einstellungen"; $a->strings["Could not find a command line version of PHP in the web server PATH."] = "Konnte keine Kommandozeilenversion von PHP im PATH des Servers finden."; +$a->strings["If you don't have a command line version of PHP installed on server, you will not be able to run background polling via cron. See 'Activating scheduled tasks'"] = "Wenn du keine Kommandozeilen Version von PHP auf deinem Server installiert hast, kannst du keine Hintergrundprozesse via cron starten. Siehe 'Activating scheduled tasks'"; $a->strings["PHP executable path"] = "Pfad zu PHP"; -$a->strings["Enter full path to php executable"] = "Kompletter Pfad zum PHP-Executable"; +$a->strings["Enter full path to php executable. You can leave this blank to continue the installation."] = "Gib den kompletten Pfad zur ausführbaren Datei von PHP an. Du kannst diesen Feld auch frei lassen und mit der Installation fortfahren."; $a->strings["Command line PHP"] = "Kommandozeilen-PHP"; $a->strings["The command line version of PHP on your system does not have \"register_argc_argv\" enabled."] = "Die Kommandozeilenversion von PHP auf deinem System hat \"register_argc_argv\" nicht aktiviert."; $a->strings["This is required for message delivery to work."] = "Dies wird für die Auslieferung von Nachrichten benötigt."; @@ -232,11 +231,15 @@ $a->strings["Error: mysqli PHP module required but not installed."] = "Fehler: D $a->strings["Error: mb_string PHP module required but not installed."] = "Fehler: mb_string PHP Module wird benötigt ist aber nicht installiert."; $a->strings["The web installer needs to be able to create a file called \".htconfig.php\ in the top folder of your web server and it is unable to do so."] = "Der Installationswizard muss in der Lage sein, eine Datei im Stammverzeichnis deines Webservers anzulegen, ist allerdings derzeit nicht in der Lage, dies zu tun."; $a->strings["This is most often a permission setting, as the web server may not be able to write files in your folder - even if you can."] = "In den meisten Fällen ist dies ein Problem mit den Schreibrechten, der Webserver könnte keine Schreiberlaubnis haben, selbst wenn du sie hast."; -$a->strings["Please check with your site documentation or support people to see if this situation can be corrected."] = "Bitte überprüfe die Einstellungen und frage im Zweifelsfall dein Support Team, um diese Situation zu beheben."; -$a->strings["If not, you may be required to perform a manual installation. Please see the file \"INSTALL.txt\" for instructions."] = "Sollte dies nicht möglich sein, musst du die Installation manuell durchführen. Lies dazu bitte in der Datei \"INSTALL.txt\"."; +$a->strings["At the end of this procedure, we will give you a text to save in a file named .htconfig.php in your Friendica top folder."] = "Nachdem du alles ausgefüllt hast, erhältst du einen Text, den du in eine Datei namens .htconfig.php in deinem Friendica-Wurzelverzeichnis kopieren musst."; +$a->strings["You can alternatively skip this procedure and perform a manual installation. Please see the file \"INSTALL.txt\" for instructions."] = "Alternativ kannst du diesen Schritt aber auch überspringen und die Installation manuell durchführen. Eine Anleitung dazu (Englisch) findest du in der Datei INSTALL.txt."; $a->strings[".htconfig.php is writable"] = "Schreibrechte auf .htconfig.php"; +$a->strings["Url rewrite in .htaccess is not working. Check your server configuration."] = "Umschreiben der URLs in der .htaccess funktioniert nicht. Überprüfe die Konfiguration des Servers."; +$a->strings["Url rewrite is working"] = "URL rewrite funktioniert"; $a->strings["The database configuration file \".htconfig.php\" could not be written. Please use the enclosed text to create a configuration file in your web server root."] = "Die Konfigurationsdatei \".htconfig.php\" konnte nicht angelegt werden. Bitte verwende den angefügten Text, um die Datei im Stammverzeichnis deiner Friendica-Installation zu erzeugen."; $a->strings["Errors encountered creating database tables."] = "Fehler aufgetreten während der Erzeugung der Datenbanktabellen."; +$a->strings["

What next

"] = "

Wie geht es weiter?

"; +$a->strings["IMPORTANT: You will need to [manually] setup a scheduled task for the poller."] = "WICHTIG: Du musst [manuell] einen Cronjob (o.ä.) für den Poller einrichten."; $a->strings["l F d, Y \\@ g:i A"] = "l F d, Y \\@ g:i A"; $a->strings["Time Conversion"] = "Zeitumrechnung"; $a->strings["Friendika provides this service for sharing events with other networks and friends in unknown timezones."] = "Friendica bietet diese Funktion an, um das Teilen von Events mit den Kontakten zu vereinfachen, deren Zeitzone nicht ermittelt werden kann."; @@ -403,8 +406,8 @@ $a->strings[" Please use a shorter name."] = " Bitte verwende einen kürzeren Na $a->strings[" Name too short."] = " Name ist zu kurz."; $a->strings[" Not valid email."] = " Keine gültige E-Mail."; $a->strings[" Cannot change to that email."] = "Ändern der E-Mail nicht möglich. "; -$a->strings["Private forum has no privacy permissions. Using default privacy group."] = ""; -$a->strings["Private forum has no privacy permissions and no default privacy group."] = ""; +$a->strings["Private forum has no privacy permissions. Using default privacy group."] = "Für das private Forum sind keine Zugriffsrechte eingestellt. Die voreingestellte Gruppe für neue Kontakte wird benutzt."; +$a->strings["Private forum has no privacy permissions and no default privacy group."] = "Für das private Forum sind keine Zugriffsrechte eingestellt, und es gibt keine voreingestellte Gruppe für neue Kontakte."; $a->strings["Settings updated."] = "Einstellungen aktualisiert."; $a->strings["Add application"] = "Programm hinzufügen"; $a->strings["Consumer Key"] = "Consumer Key"; @@ -446,16 +449,16 @@ $a->strings["Minimum of 10 seconds, no maximum"] = "Minimal 10 Sekunden, kein Ma $a->strings["Number of items to display on the network page:"] = "Zahl der Beiträge, die pro Netzwerkseite angezeigt werden sollen: "; $a->strings["Maximum of 100 items"] = "Maximal 100 Beiträge"; $a->strings["Don't show emoticons"] = "Keine Smilies anzeigen"; -$a->strings["Normal Account"] = "Normaler Account"; +$a->strings["Normal Account Page"] = "Normale Account Seite"; $a->strings["This account is a normal personal profile"] = "Dieser Account ist ein normales persönliches Profil"; -$a->strings["Soapbox Account"] = "Sandkasten-Account"; +$a->strings["Soapbox Page"] = "Sandkasten Seite"; $a->strings["Automatically approve all connection/friend requests as read-only fans"] = "Kontaktanfragen werden automatisch als Nurlese-Fans akzeptiert"; -$a->strings["Community/Celebrity Account"] = "Gemeinschafts-/Promi-Account"; +$a->strings["Community Forum/Celebrity Account"] = "Gemeinschafts Forum / Promi Konto"; $a->strings["Automatically approve all connection/friend requests as read-write fans"] = "Kontaktanfragen werden automatisch als Lese-und-Schreib-Fans akzeptiert"; -$a->strings["Automatic Friend Account"] = "Automatischer Freundesaccount"; +$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["Private Forum"] = ""; -$a->strings["Private forum - approved members only [Experimental]"] = ""; +$a->strings["Private Forum [Experimental]"] = "Privates Forum [Versuchsstadium]"; +$a->strings["Private forum - approved members only"] = "Privates Forum - Ausschließlich für Mitglieder"; $a->strings["OpenID:"] = "OpenID:"; $a->strings["(Optional) Allow this OpenID to login to this account."] = "(Optional) Erlaube die Anmeldung für diesen Account mit dieser OpenID."; $a->strings["Publish your default profile in your local site directory?"] = "Veröffentliche dein Standardprofil im Verzeichnis der lokalen Seite?"; @@ -477,6 +480,7 @@ $a->strings["Expire posts:"] = "Beiträge verfallen lassen:"; $a->strings["Expire personal notes:"] = "Persönliche Notizen verfallen lassen:"; $a->strings["Expire starred posts:"] = "Markierte Beiträge verfallen lassen:"; $a->strings["Expire photos:"] = "Fotos verfallen lassen:"; +$a->strings["Only expire posts by others:"] = "Nur Beiträge anderer verfallen"; $a->strings["Account Settings"] = "Account-Einstellungen"; $a->strings["Password Settings"] = "Passwort-Einstellungen"; $a->strings["New Password:"] = "Neues Passwort:"; @@ -507,7 +511,8 @@ $a->strings["Someone writes a followup comment"] = "– jemand auch einen Kommen $a->strings["You receive a private message"] = "– du eine private Nachricht erhältst"; $a->strings["You receive a friend suggestion"] = "- du eine Empfehlung erhältst"; $a->strings["You are tagged in a post"] = "- du in einem Beitrag erwähnt wurdest"; -$a->strings["Advanced Page Settings"] = "Erweiterte Seiten-Einstellungen"; +$a->strings["Advanced Account/Page Type Settings"] = ""; +$a->strings["Change the behaviour of this account for special situations"] = "Ändere das Verhalten deines Accounts für spezielle Situationen."; $a->strings["Manage Identities and/or Pages"] = "Verwalte Identitäten und/oder Seiten"; $a->strings["Toggle between different identities or community/group pages which share your account details or which you have been granted \"manage\" permissions"] = "Wechsle zwischen verschiedenen Identitäten oder Gemeinschafts-/Gruppen-Seiten, die deine Zugangsdetails teilen oder zu denen du \"Manage\" Befugnisse bekommen hast."; $a->strings["Select an identity to manage: "] = "Wähle eine Identität zum Verwalten: "; @@ -590,22 +595,6 @@ $a->strings["Visible To"] = "Sichtbar für"; $a->strings["All Contacts (with secure profile access)"] = "Alle Kontakte (mit gesichertem Profilzugriff)"; $a->strings["No contacts."] = "Keine Kontakte."; $a->strings["View Contacts"] = "Kontakte anzeigen"; -$a->strings["An invitation is required."] = "Du benötigst eine Einladung."; -$a->strings["Invitation could not be verified."] = "Die Einladung konnte nicht überprüft werden."; -$a->strings["Invalid OpenID url"] = "Ungültige OpenID URL"; -$a->strings["Please enter the required information."] = "Bitte trage die erforderlichen Informationen ein."; -$a->strings["Please use a shorter name."] = "Bitte verwende einen kürzeren Namen."; -$a->strings["Name too short."] = "Der Name ist zu kurz."; -$a->strings["That doesn't appear to be your full (First Last) name."] = "Das scheint nicht dein kompletter Name (Vor- und Nachname) zu sein."; -$a->strings["Your email domain is not among those allowed on this site."] = "Die Domain deiner E-Mail Adresse ist auf dieser Seite nicht erlaubt."; -$a->strings["Not a valid email address."] = "Keine gültige E-Mail-Adresse."; -$a->strings["Cannot use that email."] = "Konnte diese E-Mail-Adresse nicht verwenden."; -$a->strings["Your \"nickname\" can only contain \"a-z\", \"0-9\", \"-\", and \"_\", and must also begin with a letter."] = "Dein Spitzname darf nur aus Buchstaben und Zahlen (\"a-z\",\"0-9\", \"_\" und \"-\") bestehen, außerdem muss er mit einem Buchstaben beginnen."; -$a->strings["Nickname is already registered. Please choose another."] = "Dieser Spitzname ist bereits vergeben. Bitte wähle einen anderen."; -$a->strings["Nickname was once registered here and may not be re-used. Please choose another."] = "Dieser Spitzname ist bereits vergeben. Bitte wähle einen anderen."; -$a->strings["SERIOUS ERROR: Generation of security keys failed."] = "FATALER FEHLER: Sicherheitsschlüssel konnten nicht erzeugt werden."; -$a->strings["An error occurred during registration. Please try again."] = "Wärend der Anmeldung ist ein Fehler aufgetreten. Bitte versuche es noch einmal."; -$a->strings["An error occurred creating your default profile. Please try again."] = "Bei der Erstellung des Standardprofils ist ein Fehler aufgetreten. Bitte versuche es noch einmal."; $a->strings["Registration details for %s"] = "Details der Registration von %s"; $a->strings["Registration successful. Please check your email for further instructions."] = "Registrierung erfolgreich. Eine E-Mail mit weiteren Anweisungen wurde an dich gesendet."; $a->strings["Failed to send email message. Here is the message that failed."] = "Konnte die E-Mail nicht versenden. Hier ist die Nachricht, die nicht gesendet werden konnte."; @@ -688,9 +677,13 @@ $a->strings["Users"] = "Nutzer"; $a->strings["Plugins"] = "Plugins"; $a->strings["Themes"] = "Themen"; $a->strings["DB updates"] = "DB Updates"; -$a->strings["Software Update"] = "Software Update"; $a->strings["Logs"] = "Protokolle"; $a->strings["User registrations waiting for confirmation"] = "Nutzeranmeldungen die auf Bestätigung warten"; +$a->strings["Normal Account"] = "Normaler Account"; +$a->strings["Soapbox Account"] = "Sandkasten-Account"; +$a->strings["Community/Celebrity Account"] = "Gemeinschafts-/Promi-Account"; +$a->strings["Automatic Friend Account"] = "Automatischer Freundesaccount"; +$a->strings["Message queues"] = "Nachrichten-Warteschlangen"; $a->strings["Administration"] = "Administration"; $a->strings["Summary"] = "Zusammenfassung"; $a->strings["Registered users"] = "Registrierte Nutzer"; @@ -830,7 +823,7 @@ $a->strings["{0} mentioned you in a post"] = "{0} hat dich in einem Beitrag erw $a->strings["Contacts who are not members of a group"] = "Kontakte, die keiner Gruppe zugewiesen sind"; $a->strings["OpenID protocol error. No ID returned."] = "OpenID Protokollfehler. Keine ID zurückgegeben."; $a->strings["Account not found and OpenID registration is not permitted on this site."] = "Account wurde nicht gefunden und OpenID Registrierung auf diesem Server nicht gestattet."; -$a->strings["Login failed."] = "Annmeldung fehlgeschlagen."; +$a->strings["Login failed."] = "Anmeldung fehlgeschlagen."; $a->strings["Connect URL missing."] = "Connect-URL fehlt"; $a->strings["This site is not configured to allow communications with other networks."] = "Diese Seite ist so konfiguriert, dass keine Kommunikation mit anderen Netzwerken erfolgen kann."; $a->strings["No compatible communication protocols or feeds were discovered."] = "Es wurden keine kompatiblen Kommunikationsprotokolle oder Feeds gefunden."; @@ -860,12 +853,13 @@ $a->strings["Gender"] = "Geschlecht"; $a->strings["Sexual Preference"] = "Sexuelle Vorlieben"; $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 “%3\$s”"] = "%1\$s hat %2\$s geändert auf “%3\$s”"; -$a->strings[" - Visit %1\$s's %2\$s"] = ""; +$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["Profile deleted."] = "Profil gelöscht."; $a->strings["Profile-"] = "Profil-"; @@ -890,6 +884,7 @@ $a->strings["Region/State:"] = "Region/Bundesstaat:"; $a->strings[" Marital Status:"] = " Beziehungsstatus:"; $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["Sexual Preference:"] = "Sexuelle Vorlieben:"; $a->strings["Homepage URL:"] = "Adresse der Homepage:"; $a->strings["Political Views:"] = "Politische Ansichten:"; @@ -1099,12 +1094,15 @@ $a->strings["Drupal site URL"] = "URL der Drupal Seite"; $a->strings["Drupal site uses clean URLS"] = "Drupal Seite verwendet bereinigte URLs"; $a->strings["Post to Drupal by default"] = "Veröffentliche öffentliche Beiträge standardmäßig bei Drupal"; $a->strings["Post from Friendica"] = "Beitrag via Friendica"; +$a->strings["Startpage Settings"] = "Startseiten-Einstellungen"; +$a->strings["Home page to load after login - leave blank for profile wall"] = "Seite, die nach dem Anmelden geladen werden soll. Leer = Pinnwand"; +$a->strings["Examples: "network" or "notifications/system""] = "Beispiele: network, notifications/system"; $a->strings["Geonames settings updated."] = "Geonames Einstellungen aktualisiert"; $a->strings["Geonames Settings"] = "Geonames Einstellungen"; $a->strings["Enable Geonames Plugin"] = "Geonames Plugin aktivieren"; $a->strings["Your account on %s will expire in a few days."] = "Dein Konto auf %s wird in ein paar Tagen verfallen."; -$a->strings["Your Friendica account is about to expire."] = ""; -$a->strings["Hi %1\$s,\n\nYour account on %2\$s will expire in less than five days. You may keep your account by logging in at least once every 30 days"] = ""; +$a->strings["Your Friendica account is about to expire."] = "Dein Friendica-Account wird in Kürze auslaufen."; +$a->strings["Hi %1\$s,\n\nYour account on %2\$s will expire in less than five days. You may keep your account by logging in at least once every 30 days"] = "Hallo %1\$s,\n\ndein Account auf %2\$s wird in weniger als fünf Tagen auslaufen. Du kannst das verhindern, indem du dich mindestens einmal alle 30 Tage anmeldest."; $a->strings["Upload a file"] = "Datei hochladen"; $a->strings["Drop files here to upload"] = "Ziehe Dateien hierher, um sie hochzuladen"; $a->strings["Failed"] = "Fehlgeschlagen"; @@ -1223,8 +1221,8 @@ $a->strings["WordPress username"] = "WordPress-Benutzername"; $a->strings["WordPress password"] = "WordPress-Passwort"; $a->strings["WordPress API URL"] = "WordPress-API-URL"; $a->strings["Post to WordPress by default"] = "Standardmäßig auf WordPress veröffentlichen"; -$a->strings["Provide a backlink to the Friendica post"] = ""; -$a->strings["Read the original post and comment stream on Friendica"] = ""; +$a->strings["Provide a backlink to the Friendica post"] = "Einen zurück zum Friendica-Beitrag hinzufügen"; +$a->strings["Read the original post and comment stream on Friendica"] = "Den Original-Beitrag samt Kommentaren bei Friendica lesen"; $a->strings["\"Show more\" Settings"] = "\"Mehr zeigen\" Einstellungen"; $a->strings["Enable Show More"] = "Aktiviere \"Mehr zeigen\""; $a->strings["Cutting posts after how much characters"] = "Begrenze Beiträge nach einer bestimmten Anzahl an Buchstaben"; @@ -1318,6 +1316,7 @@ $a->strings["j F"] = "j F"; $a->strings["Birthday:"] = "Geburtstag:"; $a->strings["Age:"] = "Alter:"; $a->strings["Status:"] = "Status:"; +$a->strings["for %1\$d %2\$s"] = "für %1\$d %2\$s"; $a->strings["Homepage:"] = "Homepage:"; $a->strings["Tags:"] = "Tags"; $a->strings["Religion:"] = "Religion:"; @@ -1458,7 +1457,7 @@ $a->strings["view full size"] = "Volle Größe anzeigen"; $a->strings["Embedded content"] = "Eingebetteter Inhalt"; $a->strings["Embedding disabled"] = "Einbettungen deaktiviert"; $a->strings["A deleted group with this name was revived. Existing item permissions may apply to this group and any future members. If this is not what you intended, please create another group with a different name."] = "Eine gelöschte Gruppe mit diesem Namen wurde wiederbelebt. Bestehende Berechtigungseinstellungen könnten auf diese Gruppe oder zukünftige Mitglieder angewandt werden. Falls du dies nicht möchtest, erstelle bitte eine andere Gruppe mit einem anderen Namen."; -$a->strings["Default privacy group for new contacts"] = ""; +$a->strings["Default privacy group for new contacts"] = "Voreingestellte Gruppe für neue Kontakte"; $a->strings["Everybody"] = "Alle Kontakte"; $a->strings["edit"] = "bearbeiten"; $a->strings["Groups"] = "Gruppen"; @@ -1581,6 +1580,22 @@ $a->strings["A new person is sharing with you at "] = "Eine neue Person teilt mi $a->strings["You have a new follower at "] = "Du hast einen neuen Kontakt auf "; $a->strings["image/photo"] = "Bild/Foto"; $a->strings["link"] = "Verweis"; +$a->strings["An invitation is required."] = "Du benötigst eine Einladung."; +$a->strings["Invitation could not be verified."] = "Die Einladung konnte nicht überprüft werden."; +$a->strings["Invalid OpenID url"] = "Ungültige OpenID URL"; +$a->strings["Please enter the required information."] = "Bitte trage die erforderlichen Informationen ein."; +$a->strings["Please use a shorter name."] = "Bitte verwende einen kürzeren Namen."; +$a->strings["Name too short."] = "Der Name ist zu kurz."; +$a->strings["That doesn't appear to be your full (First Last) name."] = "Das scheint nicht dein kompletter Name (Vor- und Nachname) zu sein."; +$a->strings["Your email domain is not among those allowed on this site."] = "Die Domain deiner E-Mail Adresse ist auf dieser Seite nicht erlaubt."; +$a->strings["Not a valid email address."] = "Keine gültige E-Mail-Adresse."; +$a->strings["Cannot use that email."] = "Konnte diese E-Mail-Adresse nicht verwenden."; +$a->strings["Your \"nickname\" can only contain \"a-z\", \"0-9\", \"-\", and \"_\", and must also begin with a letter."] = "Dein Spitzname darf nur aus Buchstaben und Zahlen (\"a-z\",\"0-9\", \"_\" und \"-\") bestehen, außerdem muss er mit einem Buchstaben beginnen."; +$a->strings["Nickname is already registered. Please choose another."] = "Dieser Spitzname ist bereits vergeben. Bitte wähle einen anderen."; +$a->strings["Nickname was once registered here and may not be re-used. Please choose another."] = "Dieser Spitzname ist bereits vergeben. Bitte wähle einen anderen."; +$a->strings["SERIOUS ERROR: Generation of security keys failed."] = "FATALER FEHLER: Sicherheitsschlüssel konnten nicht erzeugt werden."; +$a->strings["An error occurred during registration. Please try again."] = "Wärend der Anmeldung ist ein Fehler aufgetreten. Bitte versuche es noch einmal."; +$a->strings["An error occurred creating your default profile. Please try again."] = "Bei der Erstellung des Standardprofils ist ein Fehler aufgetreten. Bitte versuche es noch einmal."; $a->strings["Welcome "] = "Willkommen "; $a->strings["Please upload a profile photo."] = "Bitte lade ein Profilbild hoch."; $a->strings["Welcome back "] = "Willkommen zurück "; From 2741ce67f87f462e8b4f50d58937219223a8f3dd Mon Sep 17 00:00:00 2001 From: Tobias Diekershoff Date: Sun, 3 Jun 2012 17:38:05 +0200 Subject: [PATCH 03/13] privacy settings: make submit button translateable --- view/settings.tpl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/view/settings.tpl b/view/settings.tpl index d7ef212108..99ee9b51ef 100644 --- a/view/settings.tpl +++ b/view/settings.tpl @@ -98,7 +98,7 @@ $group_select
- +
From 959b264c440e0c39ec235defdec42cb485069f18 Mon Sep 17 00:00:00 2001 From: Tobias Diekershoff Date: Sun, 3 Jun 2012 22:32:42 +0200 Subject: [PATCH 04/13] quattro: admin panel styling and 1st buttons for addon/theme overview --- view/theme/quattro/dark/style.css | 135 +++++++++++++++++++------ view/theme/quattro/green/style.css | 135 +++++++++++++++++++------ view/theme/quattro/icons.less | 15 ++- view/theme/quattro/icons/addon_off.png | Bin 0 -> 438 bytes view/theme/quattro/icons/addon_on.png | Bin 0 -> 428 bytes view/theme/quattro/quattro.less | 61 +++++++++++ 6 files changed, 281 insertions(+), 65 deletions(-) create mode 100644 view/theme/quattro/icons/addon_off.png create mode 100644 view/theme/quattro/icons/addon_on.png diff --git a/view/theme/quattro/dark/style.css b/view/theme/quattro/dark/style.css index 1fa03b253c..d59ace8e3e 100644 --- a/view/theme/quattro/dark/style.css +++ b/view/theme/quattro/dark/style.css @@ -243,6 +243,18 @@ .icon.s48.language { background-image: url("icons/language.png"); } +.icon.on { + background-image: url("icons/addon_on.png"); + min-width: 16px; + height: 16px; + background-position: 0px 0px; +} +.icon.off { + background-image: url("icons/addon_off.png"); + width: 16px; + height: 16px; + background-position: 0px 0px; +} /* global */ body { font-family: Liberation Sans, helvetica, arial, clean, sans-serif; @@ -255,8 +267,7 @@ body { h4 { font-size: 1.1em; } -a, -a:link { +a, a:link { color: #005c94; text-decoration: none; } @@ -478,8 +489,7 @@ nav #nav-site-linkmenu .menu-popup { right: 0px; left: auto; } -nav #nav-notifications-linkmenu.on .icon.s22.notify, -nav #nav-notifications-linkmenu.selected .icon.s22.notify { +nav #nav-notifications-linkmenu.on .icon.s22.notify, nav #nav-notifications-linkmenu.selected .icon.s22.notify { background-image: url("../../../images/icons/22/notify_on.png"); } nav #nav-apps-link.selected { @@ -668,15 +678,11 @@ aside #profiles-menu { height: 48px; } /* group member */ -#contact-edit-drop-link, -.mail-list-delete-wrapper, -.group-delete-wrapper { +#contact-edit-drop-link, .mail-list-delete-wrapper, .group-delete-wrapper { float: right; margin-right: 50px; } -#contact-edit-drop-link .drophide, -.mail-list-delete-wrapper .drophide, -.group-delete-wrapper .drophide { +#contact-edit-drop-link .drophide, .mail-list-delete-wrapper .drophide, .group-delete-wrapper .drophide { background-image: url('../../../images/icons/22/delete.png'); display: block; width: 22px; @@ -685,9 +691,7 @@ aside #profiles-menu { position: relative; top: -50px; } -#contact-edit-drop-link .drop, -.mail-list-delete-wrapper .drop, -.group-delete-wrapper .drop { +#contact-edit-drop-link .drop, .mail-list-delete-wrapper .drop, .group-delete-wrapper .drop { background-image: url('../../../images/icons/22/delete.png'); display: block; width: 22px; @@ -817,8 +821,7 @@ section { display: table; width: 750px; } -.wall-item-container .wall-item-item, -.wall-item-container .wall-item-bottom { +.wall-item-container .wall-item-item, .wall-item-container .wall-item-bottom { display: table-row; } .wall-item-container .wall-item-bottom { @@ -856,13 +859,11 @@ section { .wall-item-container .wall-item-content img { max-width: 710px; } -.wall-item-container .wall-item-links, -.wall-item-container .wall-item-actions { +.wall-item-container .wall-item-links, .wall-item-container .wall-item-actions { display: table-cell; vertical-align: middle; } -.wall-item-container .wall-item-links .icon, -.wall-item-container .wall-item-actions .icon { +.wall-item-container .wall-item-links .icon, .wall-item-container .wall-item-actions .icon { opacity: 0.5; -webkit-transition: all 0.2s ease-in-out; -moz-transition: all 0.2s ease-in-out; @@ -870,8 +871,7 @@ section { -ms-transition: all 0.2s ease-in-out; transition: all 0.2s ease-in-out; } -.wall-item-container .wall-item-links .icon:hover, -.wall-item-container .wall-item-actions .icon:hover { +.wall-item-container .wall-item-links .icon:hover, .wall-item-container .wall-item-actions .icon:hover { opacity: 1; -webkit-transition: all 0.2s ease-in-out; -moz-transition: all 0.2s ease-in-out; @@ -1015,6 +1015,9 @@ section { opacity: 0.5; } .wwto { + position: absolute !important; + width: 25px; + height: 25px; background: #FFFFFF; border: 2px solid #364e59; height: 25px; @@ -1245,9 +1248,7 @@ section { height: 18px; }*/ /** acl **/ -#photo-edit-perms-select, -#photos-upload-permissions-wrapper, -#profile-jot-acl-wrapper { +#photo-edit-perms-select, #photos-upload-permissions-wrapper, #profile-jot-acl-wrapper { display: block!important; } #acl-wrapper { @@ -1406,12 +1407,10 @@ ul.tabs li .active { float: left; width: 200px; } -.field input, -.field textarea { +.field input, .field textarea { width: 400px; } -.field input[type="checkbox"], -.field input[type="radio"] { +.field input[type="checkbox"], .field input[type="radio"] { width: auto; } .field textarea { @@ -1642,15 +1641,13 @@ ul.tabs li .active { transition: all 0.2s ease-in-out; } /* theme screenshot */ -.screenshot, -#theme-preview { +.screenshot, #theme-preview { position: absolute; width: 202px; left: 70%; top: 50px; } -.screenshot img, -#theme-preview img { +.screenshot img, #theme-preview img { width: 200px; height: 150px; } @@ -1663,3 +1660,77 @@ footer { margin-top: 25px; clear: both; } +/** + * ADMIN + */ +#pending-update { + float: right; + color: #ffffff; + font-weight: bold; + background-color: #FF0000; + padding: 0em 0.3em; +} +#adminpage dl { + clear: left; + margin-bottom: 2px; + padding-bottom: 2px; + border-bottom: 1px solid black; +} +#adminpage dt { + width: 200px; + float: left; + font-weight: bold; +} +#adminpage dd { + margin-left: 200px; +} +#adminpage h3 { + border-bottom: 1px solid #cccccc; +} +#adminpage .field label { + font-weight: bold; +} +#adminpage .submit { + clear: left; + text-align: right; +} +#adminpage #pluginslist { + margin: 0px; + padding: 0px; +} +#adminpage .plugin { + list-style: none; + display: block; + border: 1px solid #888888; + padding: 1em; + margin-bottom: 5px; + clear: left; +} +#adminpage .plugin .desc { + margin-left: 2.5em; +} +#adminpage .toggleplugin { + float: left; + margin-right: 1em; +} +#adminpage table { + width: 100%; + border-bottom: 1px solid #000000; + margin: 5px 0px; +} +#adminpage table th { + text-align: left; +} +#adminpage td .icon { + float: left; +} +#adminpage table#users img { + width: 16px; + height: 16px; +} +#adminpage table tr:hover { + background-color: #bbc7d7; +} +#adminpage .selectall { + text-align: right; +} diff --git a/view/theme/quattro/green/style.css b/view/theme/quattro/green/style.css index 317112f6f8..d764886c1f 100644 --- a/view/theme/quattro/green/style.css +++ b/view/theme/quattro/green/style.css @@ -243,6 +243,18 @@ .icon.s48.language { background-image: url("icons/language.png"); } +.icon.on { + background-image: url("icons/addon_on.png"); + min-width: 16px; + height: 16px; + background-position: 0px 0px; +} +.icon.off { + background-image: url("icons/addon_off.png"); + width: 16px; + height: 16px; + background-position: 0px 0px; +} /* global */ body { font-family: Liberation Sans, helvetica, arial, clean, sans-serif; @@ -255,8 +267,7 @@ body { h4 { font-size: 1.1em; } -a, -a:link { +a, a:link { color: #009100; text-decoration: none; } @@ -478,8 +489,7 @@ nav #nav-site-linkmenu .menu-popup { right: 0px; left: auto; } -nav #nav-notifications-linkmenu.on .icon.s22.notify, -nav #nav-notifications-linkmenu.selected .icon.s22.notify { +nav #nav-notifications-linkmenu.on .icon.s22.notify, nav #nav-notifications-linkmenu.selected .icon.s22.notify { background-image: url("../../../images/icons/22/notify_on.png"); } nav #nav-apps-link.selected { @@ -668,15 +678,11 @@ aside #profiles-menu { height: 48px; } /* group member */ -#contact-edit-drop-link, -.mail-list-delete-wrapper, -.group-delete-wrapper { +#contact-edit-drop-link, .mail-list-delete-wrapper, .group-delete-wrapper { float: right; margin-right: 50px; } -#contact-edit-drop-link .drophide, -.mail-list-delete-wrapper .drophide, -.group-delete-wrapper .drophide { +#contact-edit-drop-link .drophide, .mail-list-delete-wrapper .drophide, .group-delete-wrapper .drophide { background-image: url('../../../images/icons/22/delete.png'); display: block; width: 22px; @@ -685,9 +691,7 @@ aside #profiles-menu { position: relative; top: -50px; } -#contact-edit-drop-link .drop, -.mail-list-delete-wrapper .drop, -.group-delete-wrapper .drop { +#contact-edit-drop-link .drop, .mail-list-delete-wrapper .drop, .group-delete-wrapper .drop { background-image: url('../../../images/icons/22/delete.png'); display: block; width: 22px; @@ -817,8 +821,7 @@ section { display: table; width: 750px; } -.wall-item-container .wall-item-item, -.wall-item-container .wall-item-bottom { +.wall-item-container .wall-item-item, .wall-item-container .wall-item-bottom { display: table-row; } .wall-item-container .wall-item-bottom { @@ -856,13 +859,11 @@ section { .wall-item-container .wall-item-content img { max-width: 710px; } -.wall-item-container .wall-item-links, -.wall-item-container .wall-item-actions { +.wall-item-container .wall-item-links, .wall-item-container .wall-item-actions { display: table-cell; vertical-align: middle; } -.wall-item-container .wall-item-links .icon, -.wall-item-container .wall-item-actions .icon { +.wall-item-container .wall-item-links .icon, .wall-item-container .wall-item-actions .icon { opacity: 0.5; -webkit-transition: all 0.2s ease-in-out; -moz-transition: all 0.2s ease-in-out; @@ -870,8 +871,7 @@ section { -ms-transition: all 0.2s ease-in-out; transition: all 0.2s ease-in-out; } -.wall-item-container .wall-item-links .icon:hover, -.wall-item-container .wall-item-actions .icon:hover { +.wall-item-container .wall-item-links .icon:hover, .wall-item-container .wall-item-actions .icon:hover { opacity: 1; -webkit-transition: all 0.2s ease-in-out; -moz-transition: all 0.2s ease-in-out; @@ -1015,6 +1015,9 @@ section { opacity: 0.5; } .wwto { + position: absolute !important; + width: 25px; + height: 25px; background: #FFFFFF; border: 2px solid #364e59; height: 25px; @@ -1245,9 +1248,7 @@ section { height: 18px; }*/ /** acl **/ -#photo-edit-perms-select, -#photos-upload-permissions-wrapper, -#profile-jot-acl-wrapper { +#photo-edit-perms-select, #photos-upload-permissions-wrapper, #profile-jot-acl-wrapper { display: block!important; } #acl-wrapper { @@ -1406,12 +1407,10 @@ ul.tabs li .active { float: left; width: 200px; } -.field input, -.field textarea { +.field input, .field textarea { width: 400px; } -.field input[type="checkbox"], -.field input[type="radio"] { +.field input[type="checkbox"], .field input[type="radio"] { width: auto; } .field textarea { @@ -1642,15 +1641,13 @@ ul.tabs li .active { transition: all 0.2s ease-in-out; } /* theme screenshot */ -.screenshot, -#theme-preview { +.screenshot, #theme-preview { position: absolute; width: 202px; left: 70%; top: 50px; } -.screenshot img, -#theme-preview img { +.screenshot img, #theme-preview img { width: 200px; height: 150px; } @@ -1663,3 +1660,77 @@ footer { margin-top: 25px; clear: both; } +/** + * ADMIN + */ +#pending-update { + float: right; + color: #ffffff; + font-weight: bold; + background-color: #FF0000; + padding: 0em 0.3em; +} +#adminpage dl { + clear: left; + margin-bottom: 2px; + padding-bottom: 2px; + border-bottom: 1px solid black; +} +#adminpage dt { + width: 200px; + float: left; + font-weight: bold; +} +#adminpage dd { + margin-left: 200px; +} +#adminpage h3 { + border-bottom: 1px solid #cccccc; +} +#adminpage .field label { + font-weight: bold; +} +#adminpage .submit { + clear: left; + text-align: right; +} +#adminpage #pluginslist { + margin: 0px; + padding: 0px; +} +#adminpage .plugin { + list-style: none; + display: block; + border: 1px solid #888888; + padding: 1em; + margin-bottom: 5px; + clear: left; +} +#adminpage .plugin .desc { + margin-left: 2.5em; +} +#adminpage .toggleplugin { + float: left; + margin-right: 1em; +} +#adminpage table { + width: 100%; + border-bottom: 1px solid #000000; + margin: 5px 0px; +} +#adminpage table th { + text-align: left; +} +#adminpage td .icon { + float: left; +} +#adminpage table#users img { + width: 16px; + height: 16px; +} +#adminpage table tr:hover { + background-color: #bbc7d7; +} +#adminpage .selectall { + text-align: right; +} diff --git a/view/theme/quattro/icons.less b/view/theme/quattro/icons.less index 24e96b5aa5..ae7459dfc6 100644 --- a/view/theme/quattro/icons.less +++ b/view/theme/quattro/icons.less @@ -21,7 +21,8 @@ &.type-text { background-image: url("../../../images/icons/@{size}/text.png"); } &.language { background-image: url("icons/language.png"); } - + + } @@ -59,5 +60,17 @@ .icons(48); } + &.on { + background-image: url("icons/addon_on.png"); + min-width:16px; + height: 16px; + background-position: 0px 0px; + } + &.off { + background-image: url("icons/addon_off.png"); + width: 16px; + height: 16px; + background-position: 0px 0px; + } } diff --git a/view/theme/quattro/icons/addon_off.png b/view/theme/quattro/icons/addon_off.png new file mode 100644 index 0000000000000000000000000000000000000000..40b53259a20a616c8b35e779cb1c086023a17125 GIT binary patch literal 438 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1Ig&jCImu4aCb zLjd_w(~;qe`r|-hQ4-`A%;50sMjD8d?NMQuIzW%m_@`T{iL`ZfI|A7E{-7*my;6?a7idK%?NMQuIzW%m_@|oPNuG31Qb&Bba4!kxSX7DfJ;J=p_f}cDaA$DQ9J=iF6?JWY)|~f cdUZQP!g+>6ff^V*UHx3vIVCg!04kt$cK`qY literal 0 HcmV?d00001 diff --git a/view/theme/quattro/quattro.less b/view/theme/quattro/quattro.less index 4c3279943d..ce03dd6da7 100644 --- a/view/theme/quattro/quattro.less +++ b/view/theme/quattro/quattro.less @@ -1152,3 +1152,64 @@ footer { height: 100px; display: table-row; } clear: both; } +/** + * ADMIN + */ +#pending-update { + float:right; + color: #ffffff; + font-weight: bold; + background-color: #FF0000; + padding: 0em 0.3em; + +} +#adminpage dl { + clear: left; + margin-bottom: 2px; + padding-bottom: 2px; + border-bottom: 1px solid black; +} +#adminpage dt { + width: 200px; + float: left; + font-weight: bold; +} +#adminpage dd { + margin-left: 200px; +} + +#adminpage h3 { + border-bottom: 1px solid #cccccc; +} +#adminpage .field label { + font-weight: bold; +} +#adminpage .submit { + clear:left; + text-align: right; +} + +#adminpage #pluginslist { + margin: 0px; padding: 0px; +} +#adminpage .plugin { + list-style: none; + display: block; + border: 1px solid #888888; + padding: 1em; + margin-bottom: 5px; + clear: left; +} +#adminpage .plugin .desc { margin-left: 2.5em;} +#adminpage .toggleplugin { + float:left; + margin-right: 1em; +} + +#adminpage table {width:100%; border-bottom: 1px solid #000000; margin: 5px 0px;} +#adminpage table th { text-align: left;} +#adminpage td .icon { float: left;} +#adminpage table#users img { width: 16px; height: 16px; } +#adminpage table tr:hover { background-color: #bbc7d7; } +#adminpage .selectall { text-align: right; } + From 1fe1ac022f0755d73c62bac86f1b54fdbd6b50f5 Mon Sep 17 00:00:00 2001 From: Zach Prezkuta Date: Fri, 25 May 2012 18:26:09 -0600 Subject: [PATCH 05/13] Support relayable_retractions that are relayed to us by the top-level post owner --- include/delivery.php | 1 + include/diaspora.php | 46 +++++++++++++++++++++++++++++++++++--------- include/notifier.php | 1 + 3 files changed, 39 insertions(+), 9 deletions(-) diff --git a/include/delivery.php b/include/delivery.php index 32943d5dab..0e40e3db72 100644 --- a/include/delivery.php +++ b/include/delivery.php @@ -113,6 +113,7 @@ function delivery_run($argv, $argc){ $uid = $r[0]['uid']; $updated = $r[0]['edited']; + // The following seems superfluous. We've already checked for "if (! intval($r[0]['parent']))" a few lines up if(! $parent_id) continue; diff --git a/include/diaspora.php b/include/diaspora.php index f7c2c5e8ec..8b8050a614 100644 --- a/include/diaspora.php +++ b/include/diaspora.php @@ -83,6 +83,9 @@ function diaspora_dispatch($importer,$msg) { elseif($xmlbase->signed_retraction) { $ret = diaspora_signed_retraction($importer,$xmlbase->signed_retraction,$msg); } + elseif($xmlbase->relayable_retraction) { + $ret = diaspora_signed_retraction($importer,$xmlbase->relayable_retraction,$msg); + } elseif($xmlbase->photo) { $ret = diaspora_photo($importer,$xmlbase->photo,$msg); } @@ -677,7 +680,7 @@ function diaspora_post($importer,$xml) { return; } - // allocate a guid on our system - we aren't fixing any collisions. + // allocate a guid on our system - we aren't fixing any collisions. // we're ignoring them $g = q("select * from guid where guid = '%s' limit 1", @@ -844,7 +847,7 @@ function diaspora_reshare($importer,$xml) { $prefix = '♲ ' . $details . "\n"; - // allocate a guid on our system - we aren't fixing any collisions. + // allocate a guid on our system - we aren't fixing any collisions. // we're ignoring them $g = q("select * from guid where guid = '%s' limit 1", @@ -948,7 +951,7 @@ function diaspora_asphoto($importer,$xml) { return; } - // allocate a guid on our system - we aren't fixing any collisions. + // allocate a guid on our system - we aren't fixing any collisions. // we're ignoring them $g = q("select * from guid where guid = '%s' limit 1", @@ -1783,28 +1786,53 @@ function diaspora_signed_retraction($importer,$xml,$msg) { $type = notags(unxmlify($xml->target_type)); $sig = notags(unxmlify($xml->target_author_signature)); + $parent_author_signature = (($xml->parent_author_signature) ? notags(unxmlify($xml->parent_author_signature)) : ''); + $contact = diaspora_get_contact_by_handle($importer['uid'],$diaspora_handle); if(! $contact) { logger('diaspora_signed_retraction: no contact'); return; } - // this may not yet work for comments. Need to see how the relaying works - // and figure out who signs it. - $signed_data = $guid . ';' . $type ; $sig = base64_decode($sig); - $key = $msg['key']; + if(strcasecmp($diaspora_handle,$msg['author']) == 0) { + $person = $contact; + $key = $msg['key']; + } + else { + $person = find_diaspora_person_by_handle($diaspora_handle); + + if(is_array($person) && x($person,'pubkey')) + $key = $person['pubkey']; + else { + logger('diaspora_signed_retraction: unable to find author details'); + return; + } + } if(! rsa_verify($signed_data,$sig,$key,'sha256')) { - logger('diaspora_signed_retraction: owner verification failed.' . print_r($msg,true)); + logger('diaspora_signed_retraction: retraction-owner verification failed.' . print_r($msg,true)); return; } - if($type === 'StatusMessage') { + if($parent_author_signature) { + $owner_signed_data = $guid . ';' . $type ; + + $parent_author_signature = base64_decode($parent_author_signature); + + $key = $msg['key']; + + if(! rsa_verify($owner_signed_data,$parent_author_signature,$key,'sha256')) { + logger('diaspora_signed_retraction: failed to verify person relaying the retraction (e.g. owner of a post relaying a retracted comment'); + return; + } + } + + if($type === 'StatusMessage' || $type === 'Comment') { $r = q("select * from item where guid = '%s' and uid = %d and not file like '%%[%%' limit 1", dbesc($guid), intval($importer['uid']) diff --git a/include/notifier.php b/include/notifier.php index 070e7a4361..47ad29310f 100644 --- a/include/notifier.php +++ b/include/notifier.php @@ -125,6 +125,7 @@ function notifier_run($argv, $argc){ $uid = $r[0]['uid']; $updated = $r[0]['edited']; + // The following seems superfluous. We've already checked for "if (! intval($r[0]['parent']))" a few lines up if(! $parent_id) return; From c0af6dbb1a5507dcf0fffaf13b42cfd71b0d0c50 Mon Sep 17 00:00:00 2001 From: Zach Prezkuta Date: Thu, 31 May 2012 19:40:12 -0600 Subject: [PATCH 06/13] Implement relaying of relayable_retractions Also: some whitespace cleanup, fix Diaspora parent DB query --- include/delivery.php | 4 +- include/diaspora.php | 151 ++++++++++++++++++++----- include/items.php | 31 ++++- include/notifier.php | 15 ++- mod/item.php | 10 +- update.php | 5 +- view/diaspora_relay_retraction.tpl | 10 ++ view/diaspora_relayable_retraction.tpl | 11 ++ 8 files changed, 194 insertions(+), 43 deletions(-) create mode 100644 view/diaspora_relay_retraction.tpl create mode 100644 view/diaspora_relayable_retraction.tpl diff --git a/include/delivery.php b/include/delivery.php index 0e40e3db72..62c9f92020 100644 --- a/include/delivery.php +++ b/include/delivery.php @@ -509,7 +509,7 @@ function delivery_run($argv, $argc){ // unsupported break; } - elseif(($target_item['deleted']) && ($target_item['verb'] !== ACTIVITY_LIKE)) { + elseif(($target_item['deleted']) && ($top_level) && ($target_item['verb'] !== ACTIVITY_LIKE)) { logger('delivery: diaspora retract: ' . $loc); // diaspora delete, diaspora_send_retraction($target_item,$owner,$contact,$public_message); @@ -519,7 +519,7 @@ function delivery_run($argv, $argc){ logger('delivery: diaspora relay: ' . $loc); - // we are the relay - send comments, likes and unlikes to our conversants + // we are the relay - send comments, likes, unlikes and relayable_retractions to our conversants diaspora_send_relay($target_item,$owner,$contact,$public_message); break; } diff --git a/include/diaspora.php b/include/diaspora.php index 8b8050a614..584be5ef26 100644 --- a/include/diaspora.php +++ b/include/diaspora.php @@ -680,7 +680,7 @@ function diaspora_post($importer,$xml) { return; } - // allocate a guid on our system - we aren't fixing any collisions. + // allocate a guid on our system - we aren't fixing any collisions. // we're ignoring them $g = q("select * from guid where guid = '%s' limit 1", @@ -847,7 +847,7 @@ function diaspora_reshare($importer,$xml) { $prefix = '♲ ' . $details . "\n"; - // allocate a guid on our system - we aren't fixing any collisions. + // allocate a guid on our system - we aren't fixing any collisions. // we're ignoring them $g = q("select * from guid where guid = '%s' limit 1", @@ -951,7 +951,7 @@ function diaspora_asphoto($importer,$xml) { return; } - // allocate a guid on our system - we aren't fixing any collisions. + // allocate a guid on our system - we aren't fixing any collisions. // we're ignoring them $g = q("select * from guid where guid = '%s' limit 1", @@ -1168,7 +1168,22 @@ function diaspora_comment($importer,$xml,$msg) { ); } - if(($parent_item['origin']) && (! $parent_author_signature)) { + if(($parent_item['origin']) && (! $parent_author_signature)) { if(($parent_item['origin']) && (! $parent_author_signature)) { + q("insert into sign (`iid`,`signed_text`,`signature`,`signer`) values (%d,'%s','%s','%s') ", + intval($message_id), + dbesc($author_signed_data), + dbesc(base64_encode($author_signature)), + dbesc($diaspora_handle) + ); + + // if the message isn't already being relayed, notify others + // the existence of parent_author_signature means the parent_author or owner + // is already relaying. + + proc_run('php','include/notifier.php','comment',$message_id); + } + + q("insert into sign (`iid`,`signed_text`,`signature`,`signer`) values (%d,'%s','%s','%s') ", intval($message_id), dbesc($author_signed_data), @@ -1797,7 +1812,7 @@ function diaspora_signed_retraction($importer,$xml,$msg) { $signed_data = $guid . ';' . $type ; - $sig = base64_decode($sig); + $sig_decode = base64_decode($sig); if(strcasecmp($diaspora_handle,$msg['author']) == 0) { $person = $contact; @@ -1814,22 +1829,21 @@ function diaspora_signed_retraction($importer,$xml,$msg) { } } - if(! rsa_verify($signed_data,$sig,$key,'sha256')) { + if(! rsa_verify($signed_data,$sig_decode,$key,'sha256')) { logger('diaspora_signed_retraction: retraction-owner verification failed.' . print_r($msg,true)); return; } if($parent_author_signature) { - $owner_signed_data = $guid . ';' . $type ; - $parent_author_signature = base64_decode($parent_author_signature); $key = $msg['key']; - if(! rsa_verify($owner_signed_data,$parent_author_signature,$key,'sha256')) { + if(! rsa_verify($signed_data,$parent_author_signature,$key,'sha256')) { logger('diaspora_signed_retraction: failed to verify person relaying the retraction (e.g. owner of a post relaying a retracted comment'); return; } + } if($type === 'StatusMessage' || $type === 'Comment') { @@ -1839,10 +1853,36 @@ function diaspora_signed_retraction($importer,$xml,$msg) { ); if(count($r)) { if(link_compare($r[0]['author-link'],$contact['url'])) { - q("update item set `deleted` = 1, `changed` = '%s' where `id` = %d limit 1", + q("update item set `deleted` = 1, `edited` = '%s', `changed` = '%s', `body` = '' , `title` = '' where `id` = %d limit 1", dbesc(datetime_convert()), intval($r[0]['id']) ); + + // Now check if the retraction needs to be relayed by us + // + // The first item in the `item` table with the parent id is the parent. However, MySQL doesn't always + // return the items ordered by `item`.`id`, in which case the wrong item is chosen as the parent. + // The only item with `parent` and `id` as the parent id is the parent item. + $p = q("select origin from item where parent = %d and id = %d limit 1", + $r[0]['parent'], + $r[0]['parent'] + ); + if(count($p)) { + if(($p[0]['origin']) && (! $parent_author_signature)) { + q("insert into sign (`retract_iid`,`signed_text`,`signature`,`signer`) values (%d,'%s','%s','%s') ", + $r[0]['id'], + dbesc($signed_data), + dbesc($sig), + dbesc($diaspora_handle) + ); + + // the existence of parent_author_signature would have meant the parent_author or owner + // is already relaying. + logger('diaspora_signed_retraction: relaying relayable_retraction'); + + proc_run('php','include/notifier.php','relayable_retraction',$r[0]['id']); + } + } } } } @@ -2136,10 +2176,28 @@ function diaspora_send_followup($item,$owner,$contact,$public_batch = false) { function diaspora_send_relay($item,$owner,$contact,$public_batch = false) { +// I think the first comment or like on a post whose home is our Friendica server is saved as an item +// as the top-level post owner's contact for writer of the comment or post. Thus, the "uid" +// on the item is `user`.`id` of the top-level post owner. That user is passed to this function +// as "$owner." +// +// I'm assuming for now that "$owner" will be the user of the top-level post for retractions too. Be +// aware that another reasonable possibility is that it's the "$owner" of the deleted comment. + +// TODO +// CHECK 1. If we receive a retraction from Diaspora to be relayed by us, we need to insert the signature +// into the DB and call notifier.php +// CHECK 2. diaspora_send_retraction() needs to be modified to send +// Diaspora a retraction for it to relay when appropriate +// CHECK 3. notifier.php (and delivery.php?) need to be modified to call the right functions for the right +// retraction situation +// 4. If possible, modify notifier.php (and delivery.php?) to remove the relayable retraction's signature +// from the DB after finishing with relaying retractions + $a = get_app(); - $myaddr = $owner['nickname'] . '@' . substr($a->get_baseurl(), strpos($a->get_baseurl(),'://') + 3); + $myaddr = $owner['nickname'] . '@' . substr($a->get_baseurl(), strpos($a->get_baseurl(),'://') + 3); $theiraddr = $contact['addr']; @@ -2155,29 +2213,42 @@ function diaspora_send_relay($item,$owner,$contact,$public_batch = false) { else return; + $like = false; + $relay_retract = false; + $sql_sign_id = 'iid'; if($item['verb'] === ACTIVITY_LIKE) { $tpl = get_markup_template('diaspora_like_relay.tpl'); $like = true; $target_type = 'Post'; $positive = (($item['deleted']) ? 'false' : 'true'); } - else { + elseif(! $item['deleted']) { $tpl = get_markup_template('diaspora_comment_relay.tpl'); - $like = false; + } + else { + $tpl = get_markup_template('diaspora_relayable_retraction.tpl'); + $relay_retract = true; + $sql_sign_id = 'retract_iid'; + $target_type = 'Comment'; } $body = $item['body']; $text = html_entity_decode(bb2diaspora($body)); + // fetch the original signature if somebody sent the post to us to relay + // // If we are relaying for a reply originating on our own account, there wasn't a 'send to relay' // action. It wasn't needed. In that case create the original signature and the // owner (parent author) signature + // Note that mod/item.php seems to take care of creating a signature for Diaspora for replies + // created on our own account + // // comments from other networks will be relayed under our name, with a brief // preamble to describe what's happening and noting the real author - $r = q("select * from sign where iid = %d limit 1", + $r = q("select * from sign where " . $sql_sign_id . " = %d limit 1", intval($item['id']) ); if(count($r)) { @@ -2196,29 +2267,39 @@ function diaspora_send_relay($item,$owner,$contact,$public_batch = false) { $prefix = sprintf( t('[Relayed] Comment authored by %s from network %s'), '['. $item['author-name'] . ']' . '(' . $item['author-link'] . ')', network_to_name($itemcontact['network'])) . "\n"; + // "$body" was assigned to "$text" above. It isn't used after that, so I don't think + // the following change will do anything $body = $prefix . $body; + + // I think this comment will fail upon reaching Diaspora, because "$signed_text" is not defined } } else { + // I'm confused about this "else." Since it sets "$handle = $myaddr," it seems like it should be for the case + // where the top-level post owner commented on his own post, i.e. "$itemcontact[0]['self']" is true. But it's + // positioned to be for the case where "count($itemcontact)" is 0. + + $handle = $myaddr; if($like) - $signed_text = $item['guid'] . ';' . $target_type . ';' . $parent_guid . ';' . $positive . ';' . $myaddr; + $signed_text = $item['guid'] . ';' . $target_type . ';' . $parent_guid . ';' . $positive . ';' . $handle; + elseif($relay_retract) + $signed_text = $item['guid'] . ';' . $target_type; else - $signed_text = $item['guid'] . ';' . $parent_guid . ';' . $text . ';' . $myaddr; + $signed_text = $item['guid'] . ';' . $parent_guid . ';' . $text . ';' . $handle; $authorsig = base64_encode(rsa_sign($signed_text,$owner['uprvkey'],'sha256')); - q("insert into sign (`iid`,`signed_text`,`signature`,`signer`) values (%d,'%s','%s','%s') ", + q("insert into sign (`" . $sql_sign_id . "`,`signed_text`,`signature`,`signer`) values (%d,'%s','%s','%s') ", intval($item['id']), dbesc($signed_text), - dbesc(base64_encode($authorsig)), - dbesc($myaddr) + dbesc($authorsig), + dbesc($handle) ); - $handle = $myaddr; } } - // sign it + // sign it with the top-level owner's signature $parentauthorsig = base64_encode(rsa_sign($signed_text,$owner['uprvkey'],'sha256')); @@ -2226,14 +2307,15 @@ function diaspora_send_relay($item,$owner,$contact,$public_batch = false) { '$guid' => xmlify($item['guid']), '$parent_guid' => xmlify($parent_guid), '$target_type' =>xmlify($target_type), - '$authorsig' => xmlify($orig_sign['signature']), + '$authorsig' => xmlify($authorsig), '$parentsig' => xmlify($parentauthorsig), '$body' => xmlify($text), '$positive' => xmlify($positive), '$handle' => xmlify($handle) )); - logger('diaspora_relay_comment: base message: ' . $msg, LOGGER_DATA); + logger('diaspora_send_relay: base message: ' . $msg, LOGGER_DATA); + $slap = 'xml=' . urlencode(urlencode(diaspora_msg_build($msg,$owner,$contact,$owner['uprvkey'],$contact['pubkey'],$public_batch))); @@ -2248,14 +2330,25 @@ function diaspora_send_retraction($item,$owner,$contact,$public_batch = false) { $a = get_app(); $myaddr = $owner['nickname'] . '@' . substr($a->get_baseurl(), strpos($a->get_baseurl(),'://') + 3); - $signed_text = $item['guid'] . ';' . 'StatusMessage'; + // Check if the retraction is for a top-level post, or whether it's for a comment + if( $item['id'] !== $item['parent'] ) { + + $tpl = get_markup_template('diaspora_relay_retraction.tpl'); + $target_type = 'Comment'; + } + else { + + $tpl = get_markup_template('diaspora_signed_retract.tpl'); + $target_type = 'StatusMessage'; + } + + $signed_text = $item['guid'] . ';' . $target_type; - $tpl = get_markup_template('diaspora_signed_retract.tpl'); $msg = replace_macros($tpl, array( - '$guid' => $item['guid'], - '$type' => 'StatusMessage', - '$handle' => $myaddr, - '$signature' => base64_encode(rsa_sign($signed_text,$owner['uprvkey'],'sha256')) + '$guid' => xmlify($item['guid']), + '$type' => xmlify($target_type), + '$handle' => xmlify($myaddr), + '$signature' => xmlify(base64_encode(rsa_sign($signed_text,$owner['uprvkey'],'sha256'))) )); $slap = 'xml=' . urlencode(urlencode(diaspora_msg_build($msg,$owner,$contact,$owner['uprvkey'],$contact['pubkey'],$public_batch))); diff --git a/include/items.php b/include/items.php index 0ed16217fa..8858ca64fa 100644 --- a/include/items.php +++ b/include/items.php @@ -3278,7 +3278,36 @@ function drop_item($id,$interactive = true) { q("UPDATE `item` SET `last-child` = 1 WHERE `id` = %d LIMIT 1", intval($r[0]['id']) ); - } + } + + // Add a relayable_retraction signature for Diaspora. Note that we can't add a target_author_signature + // if the comment was deleted by a remote user. That should be ok, because if a remote user is deleting + // the comment, that means we're the home of the post, and Diaspora will only + // check the parent_author_signature of retractions that it doesn't have to relay further + if( strcmp($item['type'], 'activity') != 0) { + $signed_text = $item['guid'] . ';' . 'Comment'; + + if(local_user() == $item['uid']) { + + $handle = $a->user['nickname'] . '@' . substr($a->get_baseurl(), strpos($a->get_baseurl(),'://') + 3); + $authorsig = base64_encode(rsa_sign($signed_text,$a->user['prvkey'],'sha256')); + } + else { + $r = q("SELECT `nick`, `url` FROM `contact` WHERE `id` = '%d' LIMIT 1", + $item['contact-id'] + ); + if(count($r)) + $handle = $r['nick'] . '@' . substr($r['url'], strpos($r['url'],'://') + 3, strpos($r['url'],'/profile') - 1); + } + + if(isset($handle) + q("insert into sign (`retract_iid`,`signed_text`,`signature`,`signer`) values (%d,'%s','%s','%s') ", + intval($item['id']), + dbesc($signed_text), + dbesc($authorsig), + dbesc($handle) + ); + } } $drop_id = intval($item['id']); diff --git a/include/notifier.php b/include/notifier.php index 47ad29310f..68f230a05f 100644 --- a/include/notifier.php +++ b/include/notifier.php @@ -597,7 +597,7 @@ function notifier_run($argv, $argc){ break; case NETWORK_OSTATUS: - // Do not send to otatus if we are not configured to send to public networks + // Do not send to ostatus if we are not configured to send to public networks if($owner['prvnets']) break; if(get_config('system','ostatus_disabled') || get_config('system','dfrn_only')) @@ -738,8 +738,8 @@ function notifier_run($argv, $argc){ // unsupported break; } - elseif(($target_item['deleted']) && ($target_item['verb'] !== ACTIVITY_LIKE)) { - // diaspora delete, + elseif(($target_item['deleted']) && ($top_level || $followup) && ($target_item['verb'] !== ACTIVITY_LIKE)) { + // diaspora delete, including relayable_retractions that need to be relayed diaspora_send_retraction($target_item,$owner,$contact); break; } @@ -749,7 +749,7 @@ function notifier_run($argv, $argc){ break; } elseif($target_item['parent'] != $target_item['id']) { - // we are the relay - send comments, likes and unlikes to our conversants + // we are the relay - send comments, likes, unlikes and relayable_retractions to our conversants diaspora_send_relay($target_item,$owner,$contact); break; } @@ -859,6 +859,13 @@ function notifier_run($argv, $argc){ } + // If the item was deleted, clean up the `sign` table + if($target_item['deleted']) { + $r = q("DELETE FROM sign where `retract_iid` = %d", + intval($target_item['id']) + ); + } + logger('notifier: calling hooks', LOGGER_DEBUG); if($normal_mode) diff --git a/mod/item.php b/mod/item.php index 497cf5daa2..c1c0b14ec6 100644 --- a/mod/item.php +++ b/mod/item.php @@ -737,16 +737,16 @@ function item_post(&$a) { if($datarray['verb'] === ACTIVITY_LIKE) $signed_text = $datarray['guid'] . ';' . 'Post' . ';' . $parent_item['guid'] . ';' . 'true' . ';' . $myaddr; else - $signed_text = $datarray['guid'] . ';' . $parent_item['guid'] . ';' . $signed_body . ';' . $myaddr; + $signed_text = $datarray['guid'] . ';' . $parent_item['guid'] . ';' . $signed_body . ';' . $myaddr; $authorsig = base64_encode(rsa_sign($signed_text,$a->user['prvkey'],'sha256')); q("insert into sign (`iid`,`signed_text`,`signature`,`signer`) values (%d,'%s','%s','%s') ", intval($post_id), - dbesc($signed_text), - dbesc(base64_encode($authorsig)), - dbesc($myaddr) - ); + dbesc($signed_text), + dbesc(base64_encode($authorsig)), + dbesc($myaddr) + ); } } else { diff --git a/update.php b/update.php index 1b2098e6eb..e1a554533c 100644 --- a/update.php +++ b/update.php @@ -1137,8 +1137,8 @@ INDEX ( `username` ) } function update_1133() { -q("ALTER TABLE `user` ADD `unkmail` TINYINT( 1 ) NOT NULL DEFAULT '0' AFTER `blocktags` , ADD INDEX ( `unkmail` ) "); -q("ALTER TABLE `user` ADD `cntunkmail` INT NOT NULL DEFAULT '10' AFTER `unkmail` , ADD INDEX ( `cntunkmail` ) "); +q("ALTER TABLE `user` ADD `unkmail` TINYINT( 1 ) NOT NULL DEFAULT '0' AFTER `blocktags` , ADD INDEX ( `unkmail` ) "); +q("ALTER TABLE `user` ADD `cntunkmail` INT NOT NULL DEFAULT '10' AFTER `unkmail` , ADD INDEX ( `cntunkmail` ) "); q("ALTER TABLE `mail` ADD `unknown` TINYINT( 1 ) NOT NULL DEFAULT '0' AFTER `replied` , ADD INDEX ( `unknown` ) "); } @@ -1274,4 +1274,5 @@ function update_1146() { return UPDATE_SUCCESS ; } +//ALTER TABLE `sign` MODIFY column int Default '10'; diff --git a/view/diaspora_relay_retraction.tpl b/view/diaspora_relay_retraction.tpl new file mode 100644 index 0000000000..e76c7c6c5e --- /dev/null +++ b/view/diaspora_relay_retraction.tpl @@ -0,0 +1,10 @@ + + + + $type + $guid + $signature + $handle + + + diff --git a/view/diaspora_relayable_retraction.tpl b/view/diaspora_relayable_retraction.tpl new file mode 100644 index 0000000000..27936f7f3b --- /dev/null +++ b/view/diaspora_relayable_retraction.tpl @@ -0,0 +1,11 @@ + + + + $target_type + $guid + $parentauthorsig + $authorsig + $handle + + + From b000088ded0d0f677114da0af1c5ea6436a97560 Mon Sep 17 00:00:00 2001 From: Zach Prezkuta Date: Fri, 1 Jun 2012 09:07:51 -0600 Subject: [PATCH 07/13] prepare to implement database update --- update.php | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/update.php b/update.php index e1a554533c..9d534a127a 100644 --- a/update.php +++ b/update.php @@ -1274,5 +1274,15 @@ function update_1146() { return UPDATE_SUCCESS ; } -//ALTER TABLE `sign` MODIFY column int Default '10'; +/* +function update_xxxx() { + $r1 = q("ALTER TABLE `sign` MODIFY `iid` SET DEFAULT '0'"); + $r2 = q("ALTER TABLE `sign` ADD `retract_iid` INT(10) UNSIGNED NOT NULL DEFAULT '0' AFTER `iid`"); + $r3 = q("ALTER TABLE `sign` ADD INDEX ( `retract_iid` )"); + if((! $r1) || (! $r2) || (! $r3)) + return UPDATE_FAILED ; + return UPDATE_SUCCESS ; +} +*/ +// dump DB schema: mysqldump -d -h localhost -u root -pmypassword databasename > dumpfile.sql From 77962aa79df5671e206635cc6980e4b1ac969bf9 Mon Sep 17 00:00:00 2001 From: Zach Prezkuta Date: Sat, 2 Jun 2012 16:11:31 -0600 Subject: [PATCH 08/13] Fix bugs in the retraction code Currently, the following seems to be the functional status: For a Diaspora top-level post: Friendica comments show up AND delete Diaspora comments show up AND delete for top-level owner Diaspora comments show up for non-owner Diaspora comments sometimes don't delete for non-owner -> Appears to be Diaspora's fault, as a "not a valid object" error shows up in the log Friendica likes show up, but can't unlike (Friendica doesn't even message Diaspora) Diaspora likes show up Diaspora non-owner can't unlike -> Same as comments, seems to be Diaspora's fault For a Friendica top-level post: Friendica comments show up AND delete Diaspora comments show up AND delete Friendica likes don't show up in Diaspora sometimes Friendica doesn't even message Diaspora for unlikes (sometimes?) Diaspora likes and unlikes work --- include/delivery.php | 4 +-- include/diaspora.php | 46 ++++++-------------------- include/items.php | 46 +++++++++++++------------- include/notifier.php | 4 +-- update.php | 2 +- view/diaspora_like_relay.tpl | 4 +-- view/diaspora_relayable_retraction.tpl | 2 +- 7 files changed, 42 insertions(+), 66 deletions(-) mode change 100644 => 100755 view/diaspora_like_relay.tpl mode change 100644 => 100755 view/diaspora_relayable_retraction.tpl diff --git a/include/delivery.php b/include/delivery.php index 62c9f92020..235b766c5f 100644 --- a/include/delivery.php +++ b/include/delivery.php @@ -509,13 +509,13 @@ function delivery_run($argv, $argc){ // unsupported break; } - elseif(($target_item['deleted']) && ($top_level) && ($target_item['verb'] !== ACTIVITY_LIKE)) { + elseif(($target_item['deleted']) && ($target_item['uri'] === $target_item['parent-uri']) && ($target_item['verb'] !== ACTIVITY_LIKE)) { logger('delivery: diaspora retract: ' . $loc); // diaspora delete, diaspora_send_retraction($target_item,$owner,$contact,$public_message); break; } - elseif($target_item['parent'] != $target_item['id']) { + elseif($target_item['uri'] !== $target_item['parent-uri']) { logger('delivery: diaspora relay: ' . $loc); diff --git a/include/diaspora.php b/include/diaspora.php index 584be5ef26..10c56564b7 100644 --- a/include/diaspora.php +++ b/include/diaspora.php @@ -1168,22 +1168,7 @@ function diaspora_comment($importer,$xml,$msg) { ); } - if(($parent_item['origin']) && (! $parent_author_signature)) { if(($parent_item['origin']) && (! $parent_author_signature)) { - q("insert into sign (`iid`,`signed_text`,`signature`,`signer`) values (%d,'%s','%s','%s') ", - intval($message_id), - dbesc($author_signed_data), - dbesc(base64_encode($author_signature)), - dbesc($diaspora_handle) - ); - - // if the message isn't already being relayed, notify others - // the existence of parent_author_signature means the parent_author or owner - // is already relaying. - - proc_run('php','include/notifier.php','comment',$message_id); - } - - + if(($parent_item['origin']) && (! $parent_author_signature)) { q("insert into sign (`iid`,`signed_text`,`signature`,`signer`) values (%d,'%s','%s','%s') ", intval($message_id), dbesc($author_signed_data), @@ -1846,7 +1831,7 @@ function diaspora_signed_retraction($importer,$xml,$msg) { } - if($type === 'StatusMessage' || $type === 'Comment') { + if($type === 'StatusMessage' || $type === 'Comment' || $type === 'Like') { $r = q("select * from item where guid = '%s' and uid = %d and not file like '%%[%%' limit 1", dbesc($guid), intval($importer['uid']) @@ -1854,6 +1839,7 @@ function diaspora_signed_retraction($importer,$xml,$msg) { if(count($r)) { if(link_compare($r[0]['author-link'],$contact['url'])) { q("update item set `deleted` = 1, `edited` = '%s', `changed` = '%s', `body` = '' , `title` = '' where `id` = %d limit 1", + dbesc(datetime_convert()), dbesc(datetime_convert()), intval($r[0]['id']) ); @@ -2184,16 +2170,6 @@ function diaspora_send_relay($item,$owner,$contact,$public_batch = false) { // I'm assuming for now that "$owner" will be the user of the top-level post for retractions too. Be // aware that another reasonable possibility is that it's the "$owner" of the deleted comment. -// TODO -// CHECK 1. If we receive a retraction from Diaspora to be relayed by us, we need to insert the signature -// into the DB and call notifier.php -// CHECK 2. diaspora_send_retraction() needs to be modified to send -// Diaspora a retraction for it to relay when appropriate -// CHECK 3. notifier.php (and delivery.php?) need to be modified to call the right functions for the right -// retraction situation -// 4. If possible, modify notifier.php (and delivery.php?) to remove the relayable retraction's signature -// from the DB after finishing with relaying retractions - $a = get_app(); @@ -2216,20 +2192,20 @@ function diaspora_send_relay($item,$owner,$contact,$public_batch = false) { $like = false; $relay_retract = false; $sql_sign_id = 'iid'; - if($item['verb'] === ACTIVITY_LIKE) { + if( $item['deleted']) { + $tpl = get_markup_template('diaspora_relayable_retraction.tpl'); + $relay_retract = true; + $sql_sign_id = 'retract_iid'; + $target_type = ( ($item['verb'] === ACTIVITY_LIKE) ? 'Like' : 'Comment'); + } + elseif($item['verb'] === ACTIVITY_LIKE) { $tpl = get_markup_template('diaspora_like_relay.tpl'); $like = true; $target_type = 'Post'; $positive = (($item['deleted']) ? 'false' : 'true'); } - elseif(! $item['deleted']) { - $tpl = get_markup_template('diaspora_comment_relay.tpl'); - } else { - $tpl = get_markup_template('diaspora_relayable_retraction.tpl'); - $relay_retract = true; - $sql_sign_id = 'retract_iid'; - $target_type = 'Comment'; + $tpl = get_markup_template('diaspora_comment_relay.tpl'); } $body = $item['body']; diff --git a/include/items.php b/include/items.php index 8858ca64fa..897036c26f 100644 --- a/include/items.php +++ b/include/items.php @@ -3281,33 +3281,33 @@ function drop_item($id,$interactive = true) { } // Add a relayable_retraction signature for Diaspora. Note that we can't add a target_author_signature - // if the comment was deleted by a remote user. That should be ok, because if a remote user is deleting - // the comment, that means we're the home of the post, and Diaspora will only + // if the comment/like was deleted by a remote user. That should be ok, because if a remote user is deleting + // the comment/like, that means we're the home of the post, and Diaspora will only // check the parent_author_signature of retractions that it doesn't have to relay further - if( strcmp($item['type'], 'activity') != 0) { - $signed_text = $item['guid'] . ';' . 'Comment'; + $signed_text = $item['guid'] . ';' . ( ($item['verb'] === ACTIVITY_LIKE) ? 'Like' : 'Comment'); - if(local_user() == $item['uid']) { + if(local_user() == $item['uid']) { - $handle = $a->user['nickname'] . '@' . substr($a->get_baseurl(), strpos($a->get_baseurl(),'://') + 3); - $authorsig = base64_encode(rsa_sign($signed_text,$a->user['prvkey'],'sha256')); - } - else { - $r = q("SELECT `nick`, `url` FROM `contact` WHERE `id` = '%d' LIMIT 1", - $item['contact-id'] - ); - if(count($r)) - $handle = $r['nick'] . '@' . substr($r['url'], strpos($r['url'],'://') + 3, strpos($r['url'],'/profile') - 1); - } - - if(isset($handle) - q("insert into sign (`retract_iid`,`signed_text`,`signature`,`signer`) values (%d,'%s','%s','%s') ", - intval($item['id']), - dbesc($signed_text), - dbesc($authorsig), - dbesc($handle) - ); + $handle = $a->user['nickname'] . '@' . substr($a->get_baseurl(), strpos($a->get_baseurl(),'://') + 3); + $authorsig = base64_encode(rsa_sign($signed_text,$a->user['prvkey'],'sha256')); } + else { + $r = q("SELECT `nick`, `url` FROM `contact` WHERE `id` = '%d' LIMIT 1", + $item['contact-id'] + ); + if(count($r)) { + $handle = $r['nick'] . '@' . substr($r['url'], strpos($r['url'],'://') + 3, strpos($r['url'],'/profile') - 1); + $authorsig = ''; + } + } + + if(isset($handle)) + q("insert into sign (`retract_iid`,`signed_text`,`signature`,`signer`) values (%d,'%s','%s','%s') ", + intval($item['id']), + dbesc($signed_text), + dbesc($authorsig), + dbesc($handle) + ); } $drop_id = intval($item['id']); diff --git a/include/notifier.php b/include/notifier.php index 68f230a05f..be50366d5c 100644 --- a/include/notifier.php +++ b/include/notifier.php @@ -738,7 +738,7 @@ function notifier_run($argv, $argc){ // unsupported break; } - elseif(($target_item['deleted']) && ($top_level || $followup) && ($target_item['verb'] !== ACTIVITY_LIKE)) { + elseif(($target_item['deleted']) && (($target_item['uri'] === $target_item['parent-uri']) || $followup) && ($target_item['verb'] !== ACTIVITY_LIKE)) { // diaspora delete, including relayable_retractions that need to be relayed diaspora_send_retraction($target_item,$owner,$contact); break; @@ -748,7 +748,7 @@ function notifier_run($argv, $argc){ diaspora_send_followup($target_item,$owner,$contact); break; } - elseif($target_item['parent'] != $target_item['id']) { + elseif($target_item['uri'] !== $target_item['parent-uri']) { // we are the relay - send comments, likes, unlikes and relayable_retractions to our conversants diaspora_send_relay($target_item,$owner,$contact); break; diff --git a/update.php b/update.php index 9d534a127a..b542d75ba5 100644 --- a/update.php +++ b/update.php @@ -1276,7 +1276,7 @@ function update_1146() { /* function update_xxxx() { - $r1 = q("ALTER TABLE `sign` MODIFY `iid` SET DEFAULT '0'"); + $r1 = q("ALTER TABLE `sign` ALTER `iid` SET DEFAULT '0'"); $r2 = q("ALTER TABLE `sign` ADD `retract_iid` INT(10) UNSIGNED NOT NULL DEFAULT '0' AFTER `iid`"); $r3 = q("ALTER TABLE `sign` ADD INDEX ( `retract_iid` )"); if((! $r1) || (! $r2) || (! $r3)) diff --git a/view/diaspora_like_relay.tpl b/view/diaspora_like_relay.tpl old mode 100644 new mode 100755 index 65559b05bf..8b67f4de33 --- a/view/diaspora_like_relay.tpl +++ b/view/diaspora_like_relay.tpl @@ -5,9 +5,9 @@ $target_type $parent_guid $parentsig - $authrosig + $authorsig $positive $handle - \ No newline at end of file + diff --git a/view/diaspora_relayable_retraction.tpl b/view/diaspora_relayable_retraction.tpl old mode 100644 new mode 100755 index 27936f7f3b..73cff8343a --- a/view/diaspora_relayable_retraction.tpl +++ b/view/diaspora_relayable_retraction.tpl @@ -3,7 +3,7 @@ $target_type $guid - $parentauthorsig + $parentsig $authorsig $handle From cde0de965f8f2fde2b289ebcb1c1814ffa303ca6 Mon Sep 17 00:00:00 2001 From: Zach Prezkuta Date: Sat, 2 Jun 2012 23:56:42 -0600 Subject: [PATCH 09/13] first shot at getting like/unlike functions to work consistently --- include/delivery.php | 12 ++--- include/diaspora.php | 22 ++++++--- include/items.php | 8 ++- include/notifier.php | 9 ++-- mod/like.php | 113 ++++++++++++++++++++++++++++++++++++++++++- 5 files changed, 142 insertions(+), 22 deletions(-) diff --git a/include/delivery.php b/include/delivery.php index 235b766c5f..e6cfc81554 100644 --- a/include/delivery.php +++ b/include/delivery.php @@ -509,17 +509,17 @@ function delivery_run($argv, $argc){ // unsupported break; } - elseif(($target_item['deleted']) && ($target_item['uri'] === $target_item['parent-uri']) && ($target_item['verb'] !== ACTIVITY_LIKE)) { - logger('delivery: diaspora retract: ' . $loc); - // diaspora delete, + elseif(($target_item['deleted']) && ($target_item['uri'] === $target_item['parent-uri'])) { + // top-level retraction + logger('delivery: diaspora retract: ' . $loc); + diaspora_send_retraction($target_item,$owner,$contact,$public_message); break; } elseif($target_item['uri'] !== $target_item['parent-uri']) { + // we are the relay - send comments, likes and relayable_retractions to our conversants + logger('delivery: diaspora relay: ' . $loc); - logger('delivery: diaspora relay: ' . $loc); - - // we are the relay - send comments, likes, unlikes and relayable_retractions to our conversants diaspora_send_relay($target_item,$owner,$contact,$public_message); break; } diff --git a/include/diaspora.php b/include/diaspora.php index 10c56564b7..3bf4a9cc61 100644 --- a/include/diaspora.php +++ b/include/diaspora.php @@ -2125,7 +2125,8 @@ function diaspora_send_followup($item,$owner,$contact,$public_batch = false) { $tpl = get_markup_template('diaspora_like.tpl'); $like = true; $target_type = 'Post'; - $positive = (($item['deleted']) ? 'false' : 'true'); +// $positive = (($item['deleted']) ? 'false' : 'true'); + $positive = 'true'; } else { $tpl = get_markup_template('diaspora_comment.tpl'); @@ -2202,7 +2203,8 @@ function diaspora_send_relay($item,$owner,$contact,$public_batch = false) { $tpl = get_markup_template('diaspora_like_relay.tpl'); $like = true; $target_type = 'Post'; - $positive = (($item['deleted']) ? 'false' : 'true'); +// $positive = (($item['deleted']) ? 'false' : 'true'); + $positive = 'true'; } else { $tpl = get_markup_template('diaspora_comment_relay.tpl'); @@ -2220,9 +2222,6 @@ function diaspora_send_relay($item,$owner,$contact,$public_batch = false) { // owner (parent author) signature // Note that mod/item.php seems to take care of creating a signature for Diaspora for replies // created on our own account - // - // comments from other networks will be relayed under our name, with a brief - // preamble to describe what's happening and noting the real author $r = q("select * from sign where " . $sql_sign_id . " = %d limit 1", intval($item['id']) @@ -2235,6 +2234,12 @@ function diaspora_send_relay($item,$owner,$contact,$public_batch = false) { } else { + // Author signature information (for likes, comments, and retractions of likes or comments, + // whether from Diaspora or Friendica) must be placed in the `sign` table before this + // function is called + logger('diaspora_send_relay: original author signature not found, cannot send relayable'); + return; +/* $itemcontact = q("select * from contact where `id` = %d limit 1", intval($item['contact-id']) ); @@ -2273,6 +2278,7 @@ function diaspora_send_relay($item,$owner,$contact,$public_batch = false) { dbesc($handle) ); } +*/ } // sign it with the top-level owner's signature @@ -2306,11 +2312,11 @@ function diaspora_send_retraction($item,$owner,$contact,$public_batch = false) { $a = get_app(); $myaddr = $owner['nickname'] . '@' . substr($a->get_baseurl(), strpos($a->get_baseurl(),'://') + 3); - // Check if the retraction is for a top-level post, or whether it's for a comment - if( $item['id'] !== $item['parent'] ) { + // Check whether the retraction is for a top-level post or whether it's a relayable + if( $item['uri'] !== $item['parent-uri'] ) { $tpl = get_markup_template('diaspora_relay_retraction.tpl'); - $target_type = 'Comment'; + $target_type = (($item['verb'] === ACTIVITY_LIKE) ? 'Like' : 'Comment'); } else { diff --git a/include/items.php b/include/items.php index 897036c26f..6b16810b22 100644 --- a/include/items.php +++ b/include/items.php @@ -3281,9 +3281,11 @@ function drop_item($id,$interactive = true) { } // Add a relayable_retraction signature for Diaspora. Note that we can't add a target_author_signature - // if the comment/like was deleted by a remote user. That should be ok, because if a remote user is deleting - // the comment/like, that means we're the home of the post, and Diaspora will only + // if the comment was deleted by a remote user. That should be ok, because if a remote user is deleting + // the comment, that means we're the home of the post, and Diaspora will only // check the parent_author_signature of retractions that it doesn't have to relay further + // + // I don't think this function gets called for an "unlike," but I'll check anyway $signed_text = $item['guid'] . ';' . ( ($item['verb'] === ACTIVITY_LIKE) ? 'Like' : 'Comment'); if(local_user() == $item['uid']) { @@ -3296,6 +3298,8 @@ function drop_item($id,$interactive = true) { $item['contact-id'] ); if(count($r)) { + // The below handle only works for NETWORK_DFRN. I think that's ok, because this function + // only handles DFRN deletes $handle = $r['nick'] . '@' . substr($r['url'], strpos($r['url'],'://') + 3, strpos($r['url'],'/profile') - 1); $authorsig = ''; } diff --git a/include/notifier.php b/include/notifier.php index be50366d5c..f0a1940d49 100644 --- a/include/notifier.php +++ b/include/notifier.php @@ -738,18 +738,19 @@ function notifier_run($argv, $argc){ // unsupported break; } - elseif(($target_item['deleted']) && (($target_item['uri'] === $target_item['parent-uri']) || $followup) && ($target_item['verb'] !== ACTIVITY_LIKE)) { - // diaspora delete, including relayable_retractions that need to be relayed + elseif(($target_item['deleted']) && (($target_item['uri'] === $target_item['parent-uri']) || $followup)) { + // send both top-level retractions and relayable retractions for owner to relay diaspora_send_retraction($target_item,$owner,$contact); break; } elseif($followup) { - // send comments, likes and retractions of likes to owner to relay + // send comments and likes to owner to relay diaspora_send_followup($target_item,$owner,$contact); break; } elseif($target_item['uri'] !== $target_item['parent-uri']) { - // we are the relay - send comments, likes, unlikes and relayable_retractions to our conversants + // we are the relay - send comments, likes and relayable_retractions + // (of comments and likes) to our conversants diaspora_send_relay($target_item,$owner,$contact); break; } diff --git a/mod/like.php b/mod/like.php index 6b97fafb56..06d27659bb 100644 --- a/mod/like.php +++ b/mod/like.php @@ -104,6 +104,7 @@ function like_content(&$a) { return; } + $r = q("SELECT `id` FROM `item` WHERE `verb` = '%s' AND `deleted` = 0 AND `contact-id` = %d AND ( `parent` = '%s' OR `parent-uri` = '%s') LIMIT 1", dbesc($activity), @@ -118,7 +119,58 @@ function like_content(&$a) { intval($r[0]['id']) ); - proc_run('php',"include/notifier.php","like","$post_id"); + // Clean up the `sign` table + $r2 = q("DELETE FROM `sign` WHERE `iid` = %d", + intval($r[0]['id']) + ); + + // Save the author information for the unlike in case we need to relay to Diaspora + // Note that we can only create a signature for a user of the local server. We don't have + // a key for remote users. That is ok, because if a remote user is "unlike"ing a post, it + // means we are the relay, and for relayable_retractions, Diaspora + // only checks the parent_author_signature if it doesn't have to relay further + // + // If $item['resource-id'] exists, it means the item is a photo. Diaspora doesn't support + // likes on photos, so don't bother. + + if(($activity === ACTIVITY_LIKE) && (! $item['resource-id'])) { + $signed_text = $r[0]['guid'] . ';' . 'Like'; + + if( contact['network'] === NETWORK_DIASPORA) + $diaspora_handle = $contact['addr']; + else { // Only works for NETWORK_DFRN + $contact_baseurl = substr($contact['url'], strpos($contact['url'],'://') + 3, strpos($contact['url'],'/profile') - 1); + $diaspora_handle = $contact['nick'] . '@' . $contact_baseurl; + + // Get contact's private key if he's a user of the local Friendica server + $r2 = q("SELECT `contact`.`uid` FROM `contact` WHERE `url` = '%s' AND `self` = 1 LIMIT 1", + dbesc(contact['url']) + ); + + if( $r2) { + $contact_uid = $r2['uid']; + $r2 = q("SELECT prvkey FROM user WHERE id = %d LIMIT 1", + intval($contact_uid) + ); + + if( $r2) + $authorsig = base64_encode(rsa_sign($signed_text,$r2['prvkey'],'sha256')); + } + } + + if(! isset($authorsig)) + $authorsig = ''; + + q("insert into sign (`retract_iid`,`signed_text`,`signature`,`signer`) values (%d,'%s','%s','%s') ", + intval($r[0]['id']), + dbesc($signed_text), + dbesc($authorsig), + dbesc($diaspora_handle) + ); + } + +// proc_run('php',"include/notifier.php","like","$post_id"); // $post_id isn't defined here! + proc_run('php',"include/notifier.php","like","$r[0]['id']"); return; } @@ -191,6 +243,63 @@ EOT; ); } + + // Save the author information for the like in case we need to relay to Diaspora + // Note that we can only create a signature for a user of the local server. We don't have + // a key for remote users. That is ok, because if a remote user is "unlike"ing a post, it + // means we are the relay, and for relayable_retractions, Diaspora + // only checks the parent_author_signature if it doesn't have to relay further + + if(($activity === ACTIVITY_LIKE) && ($post_type === t('status'))) { + if( contact['network'] === NETWORK_DIASPORA) + $diaspora_handle = $contact['addr']; + else { // Only works for NETWORK_DFRN + $contact_baseurl = substr($contact['url'], strpos($contact['url'],'://') + 3, strpos($contact['url'],'/profile') - 1); + $diaspora_handle = $contact['nick'] . '@' . $contact_baseurl; + + // Get contact's private key if he's a user of the local Friendica server + $r2 = q("SELECT `contact`.`uid` FROM `contact` WHERE `url` = '%s' AND `self` = 1 LIMIT 1", + dbesc(contact['url']) + ); + + if( $r2) { + $contact_uid = $r2['uid']; + $r2 = q("SELECT prvkey FROM user WHERE id = %d LIMIT 1", + intval($contact_uid) + ); + + if( $r2) + $contact_uprvkey = $r2['prvkey']; + } + } + + $r = q("SELECT guid, parent FROM `item` WHERE id = %d LIMIT 1", + intval($post_id) + ); + if( $r) { + $p = q("SELECT guid FROM `item` WHERE id = %d AND parent = %d LIMIT 1", + intval($r[0]['parent'), + intval($r[0]['parent') + ); + if( $p) { + $signed_text = $r[0]['guid'] . ';Post;' . $p[0]['guid'] . ';true;' . $diaspora_handle; + + if(isset($contact_uprvkey)) + $authorsig = base64_encode(rsa_sign($signed_text,$contact_uprvkey,'sha256')); + else + $authorsig = ''; + + q("insert into sign (`iid`,`signed_text`,`signature`,`signer`) values (%d,'%s','%s','%s') ", + intval($post_id), + dbesc($signed_text), + dbesc($authorsig), + dbesc($diaspora_handle) + ); + } + } + } + + $arr['id'] = $post_id; call_hooks('post_local_end', $arr); @@ -199,4 +308,4 @@ EOT; killme(); // return; // NOTREACHED -} \ No newline at end of file +} From 06263f72a8d37688f305b563543bca86d939653e Mon Sep 17 00:00:00 2001 From: Zach Prezkuta Date: Sun, 3 Jun 2012 11:12:16 -0600 Subject: [PATCH 10/13] cleanup and logging --- include/diaspora.php | 42 ++++++++++++++++++++---------------------- 1 file changed, 20 insertions(+), 22 deletions(-) diff --git a/include/diaspora.php b/include/diaspora.php index 3bf4a9cc61..1e6662f040 100644 --- a/include/diaspora.php +++ b/include/diaspora.php @@ -1605,22 +1605,28 @@ function diaspora_like($importer,$xml,$msg) { logger('diaspora_like: duplicate like: ' . $guid); return; } + // Note: I don't think "Like" objects with positive = "false" are ever actually used + // It looks like "RelayableRetractions" are used for "unlike" instead if($positive === 'false') { - q("UPDATE `item` SET `deleted` = 1 WHERE `id` = %d AND `uid` = %d LIMIT 1", + logger('diaspora_like: received a like with positive set to "false"...ignoring'); +/* q("UPDATE `item` SET `deleted` = 1 WHERE `id` = %d AND `uid` = %d LIMIT 1", intval($r[0]['id']), intval($importer['uid']) - ); + );*/ // FIXME // send notification via proc_run() return; } } + // Note: I don't think "Like" objects with positive = "false" are ever actually used + // It looks like "RelayableRetractions" are used for "unlike" instead if($positive === 'false') { - logger('diaspora_like: unlike received with no corresponding like'); + logger('diaspora_like: received a like with positive set to "false"'); + logger('diaspora_like: unlike received with no corresponding like...ignoring'); return; } - $author_signed_data = $guid . ';' . $target_type . ';' . $parent_guid . ';' . $positive . ';' . $diaspora_handle; + $signed_data = $guid . ';' . $target_type . ';' . $parent_guid . ';' . $positive . ';' . $diaspora_handle; $author_signature = base64_decode($author_signature); @@ -1638,20 +1644,20 @@ function diaspora_like($importer,$xml,$msg) { } } - if(! rsa_verify($author_signed_data,$author_signature,$key,'sha256')) { + if(! rsa_verify($signed_data,$author_signature,$key,'sha256')) { logger('diaspora_like: verification failed.'); return; } if($parent_author_signature) { - $owner_signed_data = $guid . ';' . $target_type . ';' . $parent_guid . ';' . $positive . ';' . $diaspora_handle; + //$owner_signed_data = $guid . ';' . $target_type . ';' . $parent_guid . ';' . $positive . ';' . $diaspora_handle; $parent_author_signature = base64_decode($parent_author_signature); $key = $msg['key']; - if(! rsa_verify($owner_signed_data,$parent_author_signature,$key,'sha256')) { + if(! rsa_verify($signed_data,$parent_author_signature,$key,'sha256')) { logger('diaspora_like: owner verification failed.'); return; } @@ -2127,6 +2133,9 @@ function diaspora_send_followup($item,$owner,$contact,$public_batch = false) { $target_type = 'Post'; // $positive = (($item['deleted']) ? 'false' : 'true'); $positive = 'true'; + + if(($item['deleted'])) + logger('diaspora_send_followup: received deleted "like". Those should go to diaspora_send_retraction'); } else { $tpl = get_markup_template('diaspora_comment.tpl'); @@ -2163,14 +2172,6 @@ function diaspora_send_followup($item,$owner,$contact,$public_batch = false) { function diaspora_send_relay($item,$owner,$contact,$public_batch = false) { -// I think the first comment or like on a post whose home is our Friendica server is saved as an item -// as the top-level post owner's contact for writer of the comment or post. Thus, the "uid" -// on the item is `user`.`id` of the top-level post owner. That user is passed to this function -// as "$owner." -// -// I'm assuming for now that "$owner" will be the user of the top-level post for retractions too. Be -// aware that another reasonable possibility is that it's the "$owner" of the deleted comment. - $a = get_app(); @@ -2215,13 +2216,8 @@ function diaspora_send_relay($item,$owner,$contact,$public_batch = false) { $text = html_entity_decode(bb2diaspora($body)); - // fetch the original signature if somebody sent the post to us to relay - // - // If we are relaying for a reply originating on our own account, there wasn't a 'send to relay' - // action. It wasn't needed. In that case create the original signature and the - // owner (parent author) signature - // Note that mod/item.php seems to take care of creating a signature for Diaspora for replies - // created on our own account + // fetch the original signature if the relayable was created by a Diaspora + // or DFRN user. Relayables for other networks are not supported. $r = q("select * from sign where " . $sql_sign_id . " = %d limit 1", intval($item['id']) @@ -2454,3 +2450,5 @@ function diaspora_transmit($owner,$contact,$slap,$public_batch) { return(($return_code) ? $return_code : (-1)); } + + From 9920fb39e566a10c44aa7ead9603ff3d1893a01a Mon Sep 17 00:00:00 2001 From: Zach Prezkuta Date: Sun, 3 Jun 2012 14:32:17 -0600 Subject: [PATCH 11/13] Debugged implementation of Diaspora relayable_retractions Diaspora "relayable_retraction" is now supported by Friendica. The following should now work: Friendica top-level post: Diaspora comment deleted, disappears in Friendica Friendica comment deleted, disappears in Diaspora Diaspora like retracted, disappears in Friendica Friendica like retracted, disappears in Diaspora Diaspora top-level post: Same There are still exceptions, however. First, Friendica and Diaspora seem to frequently reject comments with an "invalid signature" error. This can probably be fixed. Also, some comments/likes/retractions seem to just disappear on the Diaspora side. In the Diaspora log these seem to be accompanied by a "not a valid object" error, often preceeded by a "received a comment but no corresponding post" error. These seem to be purely internal, since sometimes it works for some Diaspora contacts but not others. --- include/diaspora.php | 0 include/items.php | 4 ++- mod/like.php | 62 +++++++++++++++++++++++++------------------- 3 files changed, 38 insertions(+), 28 deletions(-) mode change 100644 => 100755 include/diaspora.php mode change 100644 => 100755 include/items.php mode change 100644 => 100755 mod/like.php diff --git a/include/diaspora.php b/include/diaspora.php old mode 100644 new mode 100755 diff --git a/include/items.php b/include/items.php old mode 100644 new mode 100755 index 6b16810b22..4513db1dbb --- a/include/items.php +++ b/include/items.php @@ -3300,7 +3300,9 @@ function drop_item($id,$interactive = true) { if(count($r)) { // The below handle only works for NETWORK_DFRN. I think that's ok, because this function // only handles DFRN deletes - $handle = $r['nick'] . '@' . substr($r['url'], strpos($r['url'],'://') + 3, strpos($r['url'],'/profile') - 1); + $handle_baseurl_start = strpos($r['url'],'://') + 3; + $handle_baseurl_length = strpos($r['url'],'/profile') - $handle_baseurl_start; + $handle = $r['nick'] . '@' . substr($r['url'], $handle_baseurl_start, $handle_baseurl_length); $authorsig = ''; } } diff --git a/mod/like.php b/mod/like.php old mode 100644 new mode 100755 index 06d27659bb..942a04fe7f --- a/mod/like.php +++ b/mod/like.php @@ -105,7 +105,7 @@ function like_content(&$a) { } - $r = q("SELECT `id` FROM `item` WHERE `verb` = '%s' AND `deleted` = 0 + $r = q("SELECT * FROM `item` WHERE `verb` = '%s' AND `deleted` = 0 AND `contact-id` = %d AND ( `parent` = '%s' OR `parent-uri` = '%s') LIMIT 1", dbesc($activity), intval($contact['id']), @@ -113,15 +113,17 @@ function like_content(&$a) { dbesc($item_id) ); if(count($r)) { + $like_item = $r[0]; + // Already voted, undo it $r = q("UPDATE `item` SET `deleted` = 1, `changed` = '%s' WHERE `id` = %d LIMIT 1", dbesc(datetime_convert()), - intval($r[0]['id']) + intval($like_item['id']) ); // Clean up the `sign` table - $r2 = q("DELETE FROM `sign` WHERE `iid` = %d", - intval($r[0]['id']) + $r = q("DELETE FROM `sign` WHERE `iid` = %d", + intval($like_item['id']) ); // Save the author information for the unlike in case we need to relay to Diaspora @@ -134,27 +136,29 @@ function like_content(&$a) { // likes on photos, so don't bother. if(($activity === ACTIVITY_LIKE) && (! $item['resource-id'])) { - $signed_text = $r[0]['guid'] . ';' . 'Like'; + $signed_text = $like_item['guid'] . ';' . 'Like'; - if( contact['network'] === NETWORK_DIASPORA) + if( $contact['network'] === NETWORK_DIASPORA) $diaspora_handle = $contact['addr']; else { // Only works for NETWORK_DFRN - $contact_baseurl = substr($contact['url'], strpos($contact['url'],'://') + 3, strpos($contact['url'],'/profile') - 1); + $contact_baseurl_start = strpos($contact['url'],'://') + 3; + $contact_baseurl_length = strpos($contact['url'],'/profile') - $contact_baseurl_start; + $contact_baseurl = substr($contact['url'], $contact_baseurl_start, $contact_baseurl_length); $diaspora_handle = $contact['nick'] . '@' . $contact_baseurl; // Get contact's private key if he's a user of the local Friendica server - $r2 = q("SELECT `contact`.`uid` FROM `contact` WHERE `url` = '%s' AND `self` = 1 LIMIT 1", - dbesc(contact['url']) + $r = q("SELECT `contact`.`uid` FROM `contact` WHERE `url` = '%s' AND `self` = 1 LIMIT 1", + dbesc($contact['url']) ); - if( $r2) { - $contact_uid = $r2['uid']; - $r2 = q("SELECT prvkey FROM user WHERE id = %d LIMIT 1", + if( $r) { + $contact_uid = $r['uid']; + $r = q("SELECT prvkey FROM user WHERE uid = %d LIMIT 1", intval($contact_uid) ); - if( $r2) - $authorsig = base64_encode(rsa_sign($signed_text,$r2['prvkey'],'sha256')); + if( $r) + $authorsig = base64_encode(rsa_sign($signed_text,$r['prvkey'],'sha256')); } } @@ -162,15 +166,17 @@ function like_content(&$a) { $authorsig = ''; q("insert into sign (`retract_iid`,`signed_text`,`signature`,`signer`) values (%d,'%s','%s','%s') ", - intval($r[0]['id']), + intval($like_item['id']), dbesc($signed_text), dbesc($authorsig), dbesc($diaspora_handle) ); } + // proc_run('php',"include/notifier.php","like","$post_id"); // $post_id isn't defined here! - proc_run('php',"include/notifier.php","like","$r[0]['id']"); + $like_item_id = $like_item['id']; + proc_run('php',"include/notifier.php","like","$like_item_id"); return; } @@ -251,25 +257,27 @@ EOT; // only checks the parent_author_signature if it doesn't have to relay further if(($activity === ACTIVITY_LIKE) && ($post_type === t('status'))) { - if( contact['network'] === NETWORK_DIASPORA) + if( $contact['network'] === NETWORK_DIASPORA) $diaspora_handle = $contact['addr']; else { // Only works for NETWORK_DFRN - $contact_baseurl = substr($contact['url'], strpos($contact['url'],'://') + 3, strpos($contact['url'],'/profile') - 1); + $contact_baseurl_start = strpos($contact['url'],'://') + 3; + $contact_baseurl_length = strpos($contact['url'],'/profile') - $contact_baseurl_start; + $contact_baseurl = substr($contact['url'], $contact_baseurl_start, $contact_baseurl_length); $diaspora_handle = $contact['nick'] . '@' . $contact_baseurl; // Get contact's private key if he's a user of the local Friendica server - $r2 = q("SELECT `contact`.`uid` FROM `contact` WHERE `url` = '%s' AND `self` = 1 LIMIT 1", - dbesc(contact['url']) + $r = q("SELECT `contact`.`uid` FROM `contact` WHERE `url` = '%s' AND `self` = 1 LIMIT 1", + dbesc($contact['url']) ); - if( $r2) { - $contact_uid = $r2['uid']; - $r2 = q("SELECT prvkey FROM user WHERE id = %d LIMIT 1", + if( $r) { + $contact_uid = $r['uid']; + $r = q("SELECT prvkey FROM user WHERE uid = %d LIMIT 1", intval($contact_uid) ); - if( $r2) - $contact_uprvkey = $r2['prvkey']; + if( $r) + $contact_uprvkey = $r['prvkey']; } } @@ -278,8 +286,8 @@ EOT; ); if( $r) { $p = q("SELECT guid FROM `item` WHERE id = %d AND parent = %d LIMIT 1", - intval($r[0]['parent'), - intval($r[0]['parent') + intval($r[0]['parent']), + intval($r[0]['parent']) ); if( $p) { $signed_text = $r[0]['guid'] . ';Post;' . $p[0]['guid'] . ';true;' . $diaspora_handle; From 2a01ae8149e8a16ea0c0c5619a8dd0b682dba21c Mon Sep 17 00:00:00 2001 From: Zach Prezkuta Date: Sun, 3 Jun 2012 14:52:42 -0600 Subject: [PATCH 12/13] database updates --- boot.php | 2 +- database.sql | 6 ++++-- update.php | 7 ++----- 3 files changed, 7 insertions(+), 8 deletions(-) diff --git a/boot.php b/boot.php index 559cd8c327..742948f7bf 100644 --- a/boot.php +++ b/boot.php @@ -11,7 +11,7 @@ require_once('include/cache.php'); define ( 'FRIENDICA_PLATFORM', 'Friendica'); define ( 'FRIENDICA_VERSION', '3.0.1362' ); define ( 'DFRN_PROTOCOL_VERSION', '2.23' ); -define ( 'DB_UPDATE_VERSION', 1147 ); +define ( 'DB_UPDATE_VERSION', 1148 ); define ( 'EOL', "
\r\n" ); define ( 'ATOM_TIME', 'Y-m-d\TH:i:s\Z' ); diff --git a/database.sql b/database.sql index b20846bad5..c1d1b27e4e 100644 --- a/database.sql +++ b/database.sql @@ -944,12 +944,14 @@ CREATE TABLE IF NOT EXISTS `session` ( CREATE TABLE IF NOT EXISTS `sign` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, - `iid` int(10) unsigned NOT NULL, + `iid` int(10) unsigned NOT NULL DEFAULT '0', + `retract_iid` int(10) unsigned NOT NULL DEFAULT '0', `signed_text` mediumtext NOT NULL, `signature` text NOT NULL, `signer` char(255) NOT NULL, PRIMARY KEY (`id`), - KEY `iid` (`iid`) + KEY `iid` (`iid`), + KEY `retract_iid` (`retract_iid`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; -- -------------------------------------------------------- diff --git a/update.php b/update.php index b542d75ba5..35a6771b00 100644 --- a/update.php +++ b/update.php @@ -1,6 +1,6 @@ dumpfile.sql From 0b657aa2357bf8785302b55e2cafb397d67cb377 Mon Sep 17 00:00:00 2001 From: friendica Date: Sun, 3 Jun 2012 14:47:53 -0700 Subject: [PATCH 13/13] rev update --- boot.php | 2 +- util/messages.po | 598 ++++++++++++++++++++++++----------------------- 2 files changed, 304 insertions(+), 296 deletions(-) diff --git a/boot.php b/boot.php index 559cd8c327..6a4287819f 100644 --- a/boot.php +++ b/boot.php @@ -9,7 +9,7 @@ require_once('include/nav.php'); require_once('include/cache.php'); define ( 'FRIENDICA_PLATFORM', 'Friendica'); -define ( 'FRIENDICA_VERSION', '3.0.1362' ); +define ( 'FRIENDICA_VERSION', '3.0.1363' ); define ( 'DFRN_PROTOCOL_VERSION', '2.23' ); define ( 'DB_UPDATE_VERSION', 1147 ); diff --git a/util/messages.po b/util/messages.po index f0f51fb40b..43368ced0a 100644 --- a/util/messages.po +++ b/util/messages.po @@ -6,9 +6,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: 3.0.1362\n" +"Project-Id-Version: 3.0.1363\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-06-02 10:00-0700\n" +"POT-Creation-Date: 2012-06-03 10:00-0700\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -51,8 +51,8 @@ msgstr "" #: ../../mod/profile_photo.php:163 ../../mod/message.php:44 #: ../../mod/message.php:96 ../../mod/allfriends.php:9 #: ../../mod/nogroup.php:25 ../../mod/wall_upload.php:53 -#: ../../mod/follow.php:8 ../../mod/display.php:138 ../../mod/profiles.php:7 -#: ../../mod/profiles.php:382 ../../mod/delegate.php:6 +#: ../../mod/follow.php:9 ../../mod/display.php:138 ../../mod/profiles.php:7 +#: ../../mod/profiles.php:385 ../../mod/delegate.php:6 #: ../../mod/suggest.php:28 ../../mod/invite.php:13 ../../mod/invite.php:81 #: ../../mod/dfrn_confirm.php:53 ../../addon/facebook/facebook.php:503 #: ../../include/items.php:3297 ../../index.php:306 @@ -131,7 +131,7 @@ msgstr "" #: ../../mod/settings.php:762 ../../mod/settings.php:969 #: ../../mod/manage.php:109 ../../mod/group.php:85 ../../mod/admin.php:417 #: ../../mod/admin.php:653 ../../mod/admin.php:789 ../../mod/admin.php:988 -#: ../../mod/admin.php:1075 ../../mod/profiles.php:551 +#: ../../mod/admin.php:1075 ../../mod/profiles.php:554 #: ../../mod/invite.php:119 ../../addon/facebook/facebook.php:605 #: ../../addon/yourls/yourls.php:76 ../../addon/ljpost/ljpost.php:93 #: ../../addon/nsfw/nsfw.php:57 ../../addon/planets/planets.php:158 @@ -162,7 +162,7 @@ msgstr "" #: ../../view/theme/diabook/theme.php:757 #: ../../view/theme/diabook/config.php:190 #: ../../view/theme/quattro/config.php:52 ../../view/theme/dispy/config.php:70 -#: ../../include/conversation.php:574 +#: ../../include/conversation.php:580 msgid "Submit" msgstr "" @@ -216,7 +216,7 @@ msgstr "" msgid "Edit event" msgstr "" -#: ../../mod/events.php:300 ../../include/text.php:1064 +#: ../../mod/events.php:300 ../../include/text.php:1065 msgid "link to source" msgstr "" @@ -332,7 +332,7 @@ msgstr "" #: ../../mod/settings.php:956 ../../mod/settings.php:957 #: ../../mod/settings.php:958 ../../mod/settings.php:959 #: ../../mod/settings.php:960 ../../mod/register.php:234 -#: ../../mod/profiles.php:528 +#: ../../mod/profiles.php:531 msgid "Yes" msgstr "" @@ -344,7 +344,7 @@ msgstr "" #: ../../mod/settings.php:956 ../../mod/settings.php:957 #: ../../mod/settings.php:958 ../../mod/settings.php:959 #: ../../mod/settings.php:960 ../../mod/register.php:235 -#: ../../mod/profiles.php:529 +#: ../../mod/profiles.php:532 msgid "No" msgstr "" @@ -401,7 +401,7 @@ msgstr "" #: ../../mod/photos.php:583 ../../mod/like.php:127 ../../mod/tagger.php:70 #: ../../addon/communityhome/communityhome.php:163 -#: ../../view/theme/diabook/theme.php:570 ../../include/text.php:1315 +#: ../../view/theme/diabook/theme.php:570 ../../include/text.php:1316 #: ../../include/diaspora.php:1662 ../../include/conversation.php:53 #: ../../include/conversation.php:126 msgid "photo" @@ -491,7 +491,7 @@ msgstr "" msgid "Use as profile photo" msgstr "" -#: ../../mod/photos.php:1140 ../../include/conversation.php:484 +#: ../../mod/photos.php:1140 ../../include/conversation.php:490 msgid "Private Message" msgstr "" @@ -527,44 +527,44 @@ msgstr "" msgid "Example: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping" msgstr "" -#: ../../mod/photos.php:1274 ../../include/conversation.php:548 +#: ../../mod/photos.php:1274 ../../include/conversation.php:554 msgid "I like this (toggle)" msgstr "" -#: ../../mod/photos.php:1275 ../../include/conversation.php:549 +#: ../../mod/photos.php:1275 ../../include/conversation.php:555 msgid "I don't like this (toggle)" msgstr "" -#: ../../mod/photos.php:1276 ../../include/conversation.php:983 +#: ../../mod/photos.php:1276 ../../include/conversation.php:989 msgid "Share" msgstr "" #: ../../mod/photos.php:1277 ../../mod/editpost.php:104 #: ../../mod/wallmessage.php:145 ../../mod/message.php:214 -#: ../../mod/message.php:408 ../../include/conversation.php:365 -#: ../../include/conversation.php:725 ../../include/conversation.php:1002 +#: ../../mod/message.php:408 ../../include/conversation.php:371 +#: ../../include/conversation.php:731 ../../include/conversation.php:1008 msgid "Please wait" msgstr "" #: ../../mod/photos.php:1293 ../../mod/photos.php:1333 -#: ../../mod/photos.php:1364 ../../include/conversation.php:571 +#: ../../mod/photos.php:1364 ../../include/conversation.php:577 msgid "This is you" msgstr "" #: ../../mod/photos.php:1295 ../../mod/photos.php:1335 -#: ../../mod/photos.php:1366 ../../include/conversation.php:573 +#: ../../mod/photos.php:1366 ../../include/conversation.php:579 #: ../../boot.php:514 msgid "Comment" msgstr "" #: ../../mod/photos.php:1297 ../../mod/editpost.php:125 -#: ../../include/conversation.php:583 ../../include/conversation.php:1020 +#: ../../include/conversation.php:589 ../../include/conversation.php:1026 msgid "Preview" msgstr "" #: ../../mod/photos.php:1394 ../../mod/settings.php:618 #: ../../mod/settings.php:699 ../../mod/group.php:168 ../../mod/admin.php:660 -#: ../../include/conversation.php:322 ../../include/conversation.php:603 +#: ../../include/conversation.php:328 ../../include/conversation.php:609 msgid "Delete" msgstr "" @@ -629,28 +629,28 @@ msgstr "" msgid "Edit post" msgstr "" -#: ../../mod/editpost.php:80 ../../include/conversation.php:969 +#: ../../mod/editpost.php:80 ../../include/conversation.php:975 msgid "Post to Email" msgstr "" #: ../../mod/editpost.php:95 ../../mod/settings.php:617 -#: ../../include/conversation.php:590 +#: ../../include/conversation.php:596 msgid "Edit" msgstr "" #: ../../mod/editpost.php:96 ../../mod/wallmessage.php:143 #: ../../mod/message.php:212 ../../mod/message.php:406 -#: ../../include/conversation.php:984 +#: ../../include/conversation.php:990 msgid "Upload photo" msgstr "" -#: ../../mod/editpost.php:97 ../../include/conversation.php:986 +#: ../../mod/editpost.php:97 ../../include/conversation.php:992 msgid "Attach file" msgstr "" #: ../../mod/editpost.php:98 ../../mod/wallmessage.php:144 #: ../../mod/message.php:213 ../../mod/message.php:407 -#: ../../include/conversation.php:988 +#: ../../include/conversation.php:994 msgid "Insert web link" msgstr "" @@ -666,35 +666,35 @@ msgstr "" msgid "Insert Vorbis [.ogg] audio" msgstr "" -#: ../../mod/editpost.php:102 ../../include/conversation.php:994 +#: ../../mod/editpost.php:102 ../../include/conversation.php:1000 msgid "Set your location" msgstr "" -#: ../../mod/editpost.php:103 ../../include/conversation.php:996 +#: ../../mod/editpost.php:103 ../../include/conversation.php:1002 msgid "Clear browser location" msgstr "" -#: ../../mod/editpost.php:105 ../../include/conversation.php:1003 +#: ../../mod/editpost.php:105 ../../include/conversation.php:1009 msgid "Permission settings" msgstr "" -#: ../../mod/editpost.php:113 ../../include/conversation.php:1012 +#: ../../mod/editpost.php:113 ../../include/conversation.php:1018 msgid "CC: email addresses" msgstr "" -#: ../../mod/editpost.php:114 ../../include/conversation.php:1013 +#: ../../mod/editpost.php:114 ../../include/conversation.php:1019 msgid "Public post" msgstr "" -#: ../../mod/editpost.php:117 ../../include/conversation.php:999 +#: ../../mod/editpost.php:117 ../../include/conversation.php:1005 msgid "Set title" msgstr "" -#: ../../mod/editpost.php:119 ../../include/conversation.php:1001 +#: ../../mod/editpost.php:119 ../../include/conversation.php:1007 msgid "Categories (comma-separated list)" msgstr "" -#: ../../mod/editpost.php:120 ../../include/conversation.php:1015 +#: ../../mod/editpost.php:120 ../../include/conversation.php:1021 msgid "Example: bob@example.com, mary@example.com" msgstr "" @@ -775,7 +775,7 @@ msgstr "" msgid "Invalid profile URL." msgstr "" -#: ../../mod/dfrn_request.php:486 ../../mod/follow.php:23 +#: ../../mod/dfrn_request.php:486 ../../include/follow.php:27 msgid "Disallowed profile URL." msgstr "" @@ -2439,7 +2439,7 @@ msgid "No recipient." msgstr "" #: ../../mod/wallmessage.php:124 ../../mod/message.php:171 -#: ../../include/conversation.php:937 +#: ../../include/conversation.php:943 msgid "Please enter a link URL:" msgstr "" @@ -2648,7 +2648,7 @@ msgid "Profile Visibility Editor" msgstr "" #: ../../mod/profperm.php:103 ../../view/theme/diabook/theme.php:128 -#: ../../include/profile_advanced.php:7 ../../include/profile_advanced.php:77 +#: ../../include/profile_advanced.php:7 ../../include/profile_advanced.php:79 #: ../../include/nav.php:50 ../../boot.php:1505 msgid "Profile" msgstr "" @@ -3666,59 +3666,8 @@ msgstr "" msgid "Login failed." msgstr "" -#: ../../mod/follow.php:30 -msgid "Connect URL missing." -msgstr "" - -#: ../../mod/follow.php:56 -msgid "" -"This site is not configured to allow communications with other networks." -msgstr "" - -#: ../../mod/follow.php:57 ../../mod/follow.php:72 -msgid "No compatible communication protocols or feeds were discovered." -msgstr "" - -#: ../../mod/follow.php:70 -msgid "The profile address specified does not provide adequate information." -msgstr "" - -#: ../../mod/follow.php:74 -msgid "An author or name was not found." -msgstr "" - -#: ../../mod/follow.php:76 -msgid "No browser URL could be matched to this address." -msgstr "" - -#: ../../mod/follow.php:78 -msgid "" -"Unable to match @-style Identity Address with a known protocol or email " -"contact." -msgstr "" - -#: ../../mod/follow.php:79 -msgid "Use mailto: in front of address to force email check." -msgstr "" - -#: ../../mod/follow.php:85 -msgid "" -"The profile address specified belongs to a network which has been disabled " -"on this site." -msgstr "" - -#: ../../mod/follow.php:90 -msgid "" -"Limited profile. This person will be unable to receive direct/personal " -"notifications from you." -msgstr "" - -#: ../../mod/follow.php:161 -msgid "Unable to retrieve contact information." -msgstr "" - -#: ../../mod/follow.php:216 -msgid "following" +#: ../../mod/follow.php:27 +msgid "Contact added" msgstr "" #: ../../mod/common.php:42 @@ -3746,8 +3695,8 @@ msgstr "" msgid "Search" msgstr "" -#: ../../mod/profiles.php:21 ../../mod/profiles.php:392 -#: ../../mod/profiles.php:506 ../../mod/dfrn_confirm.php:62 +#: ../../mod/profiles.php:21 ../../mod/profiles.php:395 +#: ../../mod/profiles.php:509 ../../mod/dfrn_confirm.php:62 msgid "Profile not found." msgstr "" @@ -3755,285 +3704,289 @@ msgstr "" msgid "Profile Name is required." msgstr "" -#: ../../mod/profiles.php:151 +#: ../../mod/profiles.php:152 msgid "Marital Status" msgstr "" -#: ../../mod/profiles.php:155 +#: ../../mod/profiles.php:156 msgid "Romantic Partner" msgstr "" -#: ../../mod/profiles.php:159 +#: ../../mod/profiles.php:160 msgid "Work/Employment" msgstr "" -#: ../../mod/profiles.php:162 +#: ../../mod/profiles.php:163 msgid "Religion" msgstr "" -#: ../../mod/profiles.php:166 +#: ../../mod/profiles.php:167 msgid "Political Views" msgstr "" -#: ../../mod/profiles.php:170 +#: ../../mod/profiles.php:171 msgid "Gender" msgstr "" -#: ../../mod/profiles.php:174 +#: ../../mod/profiles.php:175 msgid "Sexual Preference" msgstr "" -#: ../../mod/profiles.php:178 +#: ../../mod/profiles.php:179 msgid "Homepage" msgstr "" -#: ../../mod/profiles.php:182 +#: ../../mod/profiles.php:183 msgid "Interests" msgstr "" -#: ../../mod/profiles.php:186 +#: ../../mod/profiles.php:187 msgid "Address" msgstr "" -#: ../../mod/profiles.php:193 +#: ../../mod/profiles.php:194 msgid "Location" msgstr "" -#: ../../mod/profiles.php:270 +#: ../../mod/profiles.php:273 msgid "Profile updated." msgstr "" -#: ../../mod/profiles.php:337 +#: ../../mod/profiles.php:340 msgid " and " msgstr "" -#: ../../mod/profiles.php:345 +#: ../../mod/profiles.php:348 msgid "public profile" msgstr "" -#: ../../mod/profiles.php:348 +#: ../../mod/profiles.php:351 #, php-format msgid "%1$s changed %2$s to “%3$s”" msgstr "" -#: ../../mod/profiles.php:349 +#: ../../mod/profiles.php:352 #, php-format msgid " - Visit %1$s's %2$s" msgstr "" -#: ../../mod/profiles.php:352 +#: ../../mod/profiles.php:355 #, php-format msgid "%1$s has an updated %2$s, changing %3$s." msgstr "" -#: ../../mod/profiles.php:411 +#: ../../mod/profiles.php:414 msgid "Profile deleted." msgstr "" -#: ../../mod/profiles.php:429 ../../mod/profiles.php:463 +#: ../../mod/profiles.php:432 ../../mod/profiles.php:466 msgid "Profile-" msgstr "" -#: ../../mod/profiles.php:448 ../../mod/profiles.php:490 +#: ../../mod/profiles.php:451 ../../mod/profiles.php:493 msgid "New profile created." msgstr "" -#: ../../mod/profiles.php:469 +#: ../../mod/profiles.php:472 msgid "Profile unavailable to clone." msgstr "" -#: ../../mod/profiles.php:527 +#: ../../mod/profiles.php:530 msgid "Hide your contact/friend list from viewers of this profile?" msgstr "" -#: ../../mod/profiles.php:550 +#: ../../mod/profiles.php:553 msgid "Edit Profile Details" msgstr "" -#: ../../mod/profiles.php:552 +#: ../../mod/profiles.php:555 msgid "View this profile" msgstr "" -#: ../../mod/profiles.php:553 +#: ../../mod/profiles.php:556 msgid "Create a new profile using these settings" msgstr "" -#: ../../mod/profiles.php:554 +#: ../../mod/profiles.php:557 msgid "Clone this profile" msgstr "" -#: ../../mod/profiles.php:555 +#: ../../mod/profiles.php:558 msgid "Delete this profile" msgstr "" -#: ../../mod/profiles.php:556 +#: ../../mod/profiles.php:559 msgid "Profile Name:" msgstr "" -#: ../../mod/profiles.php:557 +#: ../../mod/profiles.php:560 msgid "Your Full Name:" msgstr "" -#: ../../mod/profiles.php:558 +#: ../../mod/profiles.php:561 msgid "Title/Description:" msgstr "" -#: ../../mod/profiles.php:559 +#: ../../mod/profiles.php:562 msgid "Your Gender:" msgstr "" -#: ../../mod/profiles.php:560 +#: ../../mod/profiles.php:563 #, php-format msgid "Birthday (%s):" msgstr "" -#: ../../mod/profiles.php:561 +#: ../../mod/profiles.php:564 msgid "Street Address:" msgstr "" -#: ../../mod/profiles.php:562 +#: ../../mod/profiles.php:565 msgid "Locality/City:" msgstr "" -#: ../../mod/profiles.php:563 +#: ../../mod/profiles.php:566 msgid "Postal/Zip Code:" msgstr "" -#: ../../mod/profiles.php:564 +#: ../../mod/profiles.php:567 msgid "Country:" msgstr "" -#: ../../mod/profiles.php:565 +#: ../../mod/profiles.php:568 msgid "Region/State:" msgstr "" -#: ../../mod/profiles.php:566 +#: ../../mod/profiles.php:569 msgid " Marital Status:" msgstr "" -#: ../../mod/profiles.php:567 +#: ../../mod/profiles.php:570 msgid "Who: (if applicable)" msgstr "" -#: ../../mod/profiles.php:568 +#: ../../mod/profiles.php:571 msgid "Examples: cathy123, Cathy Williams, cathy@example.com" msgstr "" -#: ../../mod/profiles.php:569 +#: ../../mod/profiles.php:572 msgid "Since [date]:" msgstr "" -#: ../../mod/profiles.php:570 ../../include/profile_advanced.php:46 +#: ../../mod/profiles.php:573 ../../include/profile_advanced.php:46 msgid "Sexual Preference:" msgstr "" -#: ../../mod/profiles.php:571 +#: ../../mod/profiles.php:574 msgid "Homepage URL:" msgstr "" -#: ../../mod/profiles.php:572 ../../include/profile_advanced.php:52 +#: ../../mod/profiles.php:575 ../../include/profile_advanced.php:50 +msgid "Hometown:" +msgstr "" + +#: ../../mod/profiles.php:576 ../../include/profile_advanced.php:54 msgid "Political Views:" msgstr "" -#: ../../mod/profiles.php:573 +#: ../../mod/profiles.php:577 msgid "Religious Views:" msgstr "" -#: ../../mod/profiles.php:574 +#: ../../mod/profiles.php:578 msgid "Public Keywords:" msgstr "" -#: ../../mod/profiles.php:575 +#: ../../mod/profiles.php:579 msgid "Private Keywords:" msgstr "" -#: ../../mod/profiles.php:576 +#: ../../mod/profiles.php:580 msgid "Example: fishing photography software" msgstr "" -#: ../../mod/profiles.php:577 +#: ../../mod/profiles.php:581 msgid "(Used for suggesting potential friends, can be seen by others)" msgstr "" -#: ../../mod/profiles.php:578 +#: ../../mod/profiles.php:582 msgid "(Used for searching profiles, never shown to others)" msgstr "" -#: ../../mod/profiles.php:579 +#: ../../mod/profiles.php:583 msgid "Tell us about yourself..." msgstr "" -#: ../../mod/profiles.php:580 +#: ../../mod/profiles.php:584 msgid "Hobbies/Interests" msgstr "" -#: ../../mod/profiles.php:581 +#: ../../mod/profiles.php:585 msgid "Contact information and Social Networks" msgstr "" -#: ../../mod/profiles.php:582 +#: ../../mod/profiles.php:586 msgid "Musical interests" msgstr "" -#: ../../mod/profiles.php:583 +#: ../../mod/profiles.php:587 msgid "Books, literature" msgstr "" -#: ../../mod/profiles.php:584 +#: ../../mod/profiles.php:588 msgid "Television" msgstr "" -#: ../../mod/profiles.php:585 +#: ../../mod/profiles.php:589 msgid "Film/dance/culture/entertainment" msgstr "" -#: ../../mod/profiles.php:586 +#: ../../mod/profiles.php:590 msgid "Love/romance" msgstr "" -#: ../../mod/profiles.php:587 +#: ../../mod/profiles.php:591 msgid "Work/employment" msgstr "" -#: ../../mod/profiles.php:588 +#: ../../mod/profiles.php:592 msgid "School/education" msgstr "" -#: ../../mod/profiles.php:593 +#: ../../mod/profiles.php:597 msgid "" "This is your public profile.
It may " "be visible to anybody using the internet." msgstr "" -#: ../../mod/profiles.php:603 ../../mod/directory.php:111 +#: ../../mod/profiles.php:607 ../../mod/directory.php:111 msgid "Age: " msgstr "" -#: ../../mod/profiles.php:639 +#: ../../mod/profiles.php:644 msgid "Edit/Manage Profiles" msgstr "" -#: ../../mod/profiles.php:640 ../../boot.php:1066 +#: ../../mod/profiles.php:645 ../../boot.php:1066 msgid "Change profile photo" msgstr "" -#: ../../mod/profiles.php:641 ../../boot.php:1067 +#: ../../mod/profiles.php:646 ../../boot.php:1067 msgid "Create New Profile" msgstr "" -#: ../../mod/profiles.php:652 ../../boot.php:1077 +#: ../../mod/profiles.php:657 ../../boot.php:1077 msgid "Profile Image" msgstr "" -#: ../../mod/profiles.php:654 ../../boot.php:1080 +#: ../../mod/profiles.php:659 ../../boot.php:1080 msgid "visible to everybody" msgstr "" -#: ../../mod/profiles.php:655 ../../boot.php:1081 +#: ../../mod/profiles.php:660 ../../boot.php:1081 msgid "Edit visibility" msgstr "" -#: ../../mod/filer.php:29 ../../include/conversation.php:941 +#: ../../mod/filer.php:29 ../../include/conversation.php:947 msgid "Save to Folder:" msgstr "" @@ -4636,7 +4589,7 @@ msgid "Forums" msgstr "" #: ../../addon/page/page.php:63 ../../addon/showmore/showmore.php:87 -#: ../../include/contact_widgets.php:188 ../../include/conversation.php:470 +#: ../../include/contact_widgets.php:188 ../../include/conversation.php:476 #: ../../boot.php:515 msgid "show more" msgstr "" @@ -4681,7 +4634,7 @@ msgid "Latest likes" msgstr "" #: ../../addon/communityhome/communityhome.php:155 -#: ../../view/theme/diabook/theme.php:562 ../../include/text.php:1313 +#: ../../view/theme/diabook/theme.php:562 ../../include/text.php:1314 #: ../../include/conversation.php:45 ../../include/conversation.php:118 msgid "event" msgstr "" @@ -5864,51 +5817,51 @@ msgstr "" msgid "Homepage:" msgstr "" -#: ../../include/profile_advanced.php:50 +#: ../../include/profile_advanced.php:52 msgid "Tags:" msgstr "" -#: ../../include/profile_advanced.php:54 +#: ../../include/profile_advanced.php:56 msgid "Religion:" msgstr "" -#: ../../include/profile_advanced.php:56 +#: ../../include/profile_advanced.php:58 msgid "About:" msgstr "" -#: ../../include/profile_advanced.php:58 +#: ../../include/profile_advanced.php:60 msgid "Hobbies/Interests:" msgstr "" -#: ../../include/profile_advanced.php:60 +#: ../../include/profile_advanced.php:62 msgid "Contact information and Social Networks:" msgstr "" -#: ../../include/profile_advanced.php:62 +#: ../../include/profile_advanced.php:64 msgid "Musical interests:" msgstr "" -#: ../../include/profile_advanced.php:64 +#: ../../include/profile_advanced.php:66 msgid "Books, literature:" msgstr "" -#: ../../include/profile_advanced.php:66 +#: ../../include/profile_advanced.php:68 msgid "Television:" msgstr "" -#: ../../include/profile_advanced.php:68 +#: ../../include/profile_advanced.php:70 msgid "Film/dance/culture/entertainment:" msgstr "" -#: ../../include/profile_advanced.php:70 +#: ../../include/profile_advanced.php:72 msgid "Love/Romance:" msgstr "" -#: ../../include/profile_advanced.php:72 +#: ../../include/profile_advanced.php:74 msgid "Work/employment:" msgstr "" -#: ../../include/profile_advanced.php:74 +#: ../../include/profile_advanced.php:76 msgid "School/education:" msgstr "" @@ -6228,7 +6181,7 @@ msgstr "" msgid "(no subject)" msgstr "" -#: ../../include/delivery.php:462 ../../include/enotify.php:23 +#: ../../include/delivery.php:462 ../../include/enotify.php:26 #: ../../include/notifier.php:684 msgid "noreply" msgstr "" @@ -6336,51 +6289,51 @@ msgstr "" msgid "December" msgstr "" -#: ../../include/text.php:924 +#: ../../include/text.php:925 msgid "bytes" msgstr "" -#: ../../include/text.php:944 ../../include/text.php:959 +#: ../../include/text.php:945 ../../include/text.php:960 msgid "remove" msgstr "" -#: ../../include/text.php:944 ../../include/text.php:959 +#: ../../include/text.php:945 ../../include/text.php:960 msgid "[remove]" msgstr "" -#: ../../include/text.php:947 +#: ../../include/text.php:948 msgid "Categories:" msgstr "" -#: ../../include/text.php:962 +#: ../../include/text.php:963 msgid "Filed under:" msgstr "" -#: ../../include/text.php:978 ../../include/text.php:990 +#: ../../include/text.php:979 ../../include/text.php:991 msgid "Click to open/close" msgstr "" -#: ../../include/text.php:1095 ../../include/user.php:230 +#: ../../include/text.php:1096 ../../include/user.php:230 msgid "default" msgstr "" -#: ../../include/text.php:1107 +#: ../../include/text.php:1108 msgid "Select an alternate language" msgstr "" -#: ../../include/text.php:1317 +#: ../../include/text.php:1318 msgid "activity" msgstr "" -#: ../../include/text.php:1319 +#: ../../include/text.php:1320 msgid "comment" msgstr "" -#: ../../include/text.php:1320 +#: ../../include/text.php:1321 msgid "post" msgstr "" -#: ../../include/text.php:1475 +#: ../../include/text.php:1476 msgid "Item filed" msgstr "" @@ -6706,11 +6659,11 @@ msgstr "" msgid "From: " msgstr "" -#: ../../include/bbcode.php:203 ../../include/bbcode.php:223 +#: ../../include/bbcode.php:210 ../../include/bbcode.php:230 msgid "$1 wrote:" msgstr "" -#: ../../include/bbcode.php:238 ../../include/bbcode.php:307 +#: ../../include/bbcode.php:245 ../../include/bbcode.php:314 msgid "Image/photo" msgstr "" @@ -6740,181 +6693,236 @@ msgstr "" msgid "%s Administrator" msgstr "" -#: ../../include/enotify.php:35 +#: ../../include/enotify.php:38 #, php-format msgid "%s " msgstr "" -#: ../../include/enotify.php:39 +#: ../../include/enotify.php:42 #, php-format msgid "[Friendica:Notify] New mail received at %s" msgstr "" -#: ../../include/enotify.php:41 +#: ../../include/enotify.php:44 #, php-format msgid "%s sent you a new private message at %s." msgstr "" -#: ../../include/enotify.php:42 +#: ../../include/enotify.php:45 #, php-format msgid "%s sent you %s." msgstr "" -#: ../../include/enotify.php:42 +#: ../../include/enotify.php:45 msgid "a private message" msgstr "" -#: ../../include/enotify.php:43 +#: ../../include/enotify.php:46 #, php-format msgid "Please visit %s to view and/or reply to your private messages." msgstr "" -#: ../../include/enotify.php:73 +#: ../../include/enotify.php:76 #, php-format msgid "%s's" msgstr "" -#: ../../include/enotify.php:77 +#: ../../include/enotify.php:80 msgid "your" msgstr "" -#: ../../include/enotify.php:84 +#: ../../include/enotify.php:87 #, php-format msgid "[Friendica:Notify] Comment to conversation #%d by %s" msgstr "" -#: ../../include/enotify.php:85 +#: ../../include/enotify.php:88 #, php-format msgid "%s commented on an item/conversation you have been following." msgstr "" -#: ../../include/enotify.php:86 +#: ../../include/enotify.php:89 #, php-format msgid "%s commented on %s." msgstr "" -#: ../../include/enotify.php:88 ../../include/enotify.php:101 -#: ../../include/enotify.php:112 ../../include/enotify.php:123 +#: ../../include/enotify.php:91 ../../include/enotify.php:104 +#: ../../include/enotify.php:115 ../../include/enotify.php:126 #, php-format msgid "Please visit %s to view and/or reply to the conversation." msgstr "" -#: ../../include/enotify.php:95 +#: ../../include/enotify.php:98 #, php-format msgid "[Friendica:Notify] %s posted to your profile wall" msgstr "" -#: ../../include/enotify.php:97 +#: ../../include/enotify.php:100 #, php-format msgid "%s posted to your profile wall at %s" msgstr "" -#: ../../include/enotify.php:99 +#: ../../include/enotify.php:102 #, php-format msgid "%s posted to %s" msgstr "" -#: ../../include/enotify.php:99 +#: ../../include/enotify.php:102 msgid "your profile wall." msgstr "" -#: ../../include/enotify.php:108 +#: ../../include/enotify.php:111 #, php-format msgid "[Friendica:Notify] %s tagged you" msgstr "" -#: ../../include/enotify.php:109 +#: ../../include/enotify.php:112 #, php-format msgid "%s tagged you at %s" msgstr "" -#: ../../include/enotify.php:110 +#: ../../include/enotify.php:113 #, php-format msgid "%s %s." msgstr "" -#: ../../include/enotify.php:110 +#: ../../include/enotify.php:113 msgid "tagged you" msgstr "" -#: ../../include/enotify.php:119 +#: ../../include/enotify.php:122 #, php-format msgid "[Friendica:Notify] %s tagged your post" msgstr "" -#: ../../include/enotify.php:120 +#: ../../include/enotify.php:123 #, php-format msgid "%s tagged your post at %s" msgstr "" -#: ../../include/enotify.php:121 +#: ../../include/enotify.php:124 #, php-format msgid "%s tagged %s" msgstr "" -#: ../../include/enotify.php:121 +#: ../../include/enotify.php:124 msgid "your post" msgstr "" -#: ../../include/enotify.php:130 +#: ../../include/enotify.php:133 msgid "[Friendica:Notify] Introduction received" msgstr "" -#: ../../include/enotify.php:131 +#: ../../include/enotify.php:134 #, php-format msgid "You've received an introduction from '%s' at %s" msgstr "" -#: ../../include/enotify.php:132 +#: ../../include/enotify.php:135 #, php-format msgid "You've received %s from %s." msgstr "" -#: ../../include/enotify.php:132 +#: ../../include/enotify.php:135 msgid "an introduction" msgstr "" -#: ../../include/enotify.php:133 ../../include/enotify.php:150 +#: ../../include/enotify.php:136 ../../include/enotify.php:153 #, php-format msgid "You may visit their profile at %s" msgstr "" -#: ../../include/enotify.php:135 +#: ../../include/enotify.php:138 #, php-format msgid "Please visit %s to approve or reject the introduction." msgstr "" -#: ../../include/enotify.php:142 +#: ../../include/enotify.php:145 msgid "[Friendica:Notify] Friend suggestion received" msgstr "" -#: ../../include/enotify.php:143 +#: ../../include/enotify.php:146 #, php-format msgid "You've received a friend suggestion from '%s' at %s" msgstr "" -#: ../../include/enotify.php:144 +#: ../../include/enotify.php:147 #, php-format msgid "You've received %s for %s from %s." msgstr "" -#: ../../include/enotify.php:145 +#: ../../include/enotify.php:148 msgid "a friend suggestion" msgstr "" -#: ../../include/enotify.php:148 +#: ../../include/enotify.php:151 msgid "Name:" msgstr "" -#: ../../include/enotify.php:149 +#: ../../include/enotify.php:152 msgid "Photo:" msgstr "" -#: ../../include/enotify.php:152 +#: ../../include/enotify.php:155 #, php-format msgid "Please visit %s to approve or reject the suggestion." msgstr "" +#: ../../include/follow.php:32 +msgid "Connect URL missing." +msgstr "" + +#: ../../include/follow.php:59 +msgid "" +"This site is not configured to allow communications with other networks." +msgstr "" + +#: ../../include/follow.php:60 ../../include/follow.php:75 +msgid "No compatible communication protocols or feeds were discovered." +msgstr "" + +#: ../../include/follow.php:73 +msgid "The profile address specified does not provide adequate information." +msgstr "" + +#: ../../include/follow.php:77 +msgid "An author or name was not found." +msgstr "" + +#: ../../include/follow.php:79 +msgid "No browser URL could be matched to this address." +msgstr "" + +#: ../../include/follow.php:81 +msgid "" +"Unable to match @-style Identity Address with a known protocol or email " +"contact." +msgstr "" + +#: ../../include/follow.php:82 +msgid "Use mailto: in front of address to force email check." +msgstr "" + +#: ../../include/follow.php:88 +msgid "" +"The profile address specified belongs to a network which has been disabled " +"on this site." +msgstr "" + +#: ../../include/follow.php:93 +msgid "" +"Limited profile. This person will be unable to receive direct/personal " +"notifications from you." +msgstr "" + +#: ../../include/follow.php:164 +msgid "Unable to retrieve contact information." +msgstr "" + +#: ../../include/follow.php:218 +msgid "following" +msgstr "" + #: ../../include/items.php:2740 msgid "A new person is sharing with you at " msgstr "" @@ -7022,30 +7030,30 @@ msgstr "" msgid "stopped following" msgstr "" -#: ../../include/Contact.php:203 ../../include/conversation.php:836 +#: ../../include/Contact.php:203 ../../include/conversation.php:842 msgid "View Status" msgstr "" -#: ../../include/Contact.php:204 ../../include/conversation.php:837 +#: ../../include/Contact.php:204 ../../include/conversation.php:843 msgid "View Profile" msgstr "" -#: ../../include/Contact.php:205 ../../include/conversation.php:838 +#: ../../include/Contact.php:205 ../../include/conversation.php:844 msgid "View Photos" msgstr "" #: ../../include/Contact.php:206 ../../include/Contact.php:219 -#: ../../include/conversation.php:839 +#: ../../include/conversation.php:845 msgid "Network Posts" msgstr "" #: ../../include/Contact.php:207 ../../include/Contact.php:219 -#: ../../include/conversation.php:840 +#: ../../include/conversation.php:846 msgid "Edit Contact" msgstr "" #: ../../include/Contact.php:208 ../../include/Contact.php:219 -#: ../../include/conversation.php:841 +#: ../../include/conversation.php:847 msgid "Send PM" msgstr "" @@ -7058,216 +7066,216 @@ msgstr "" msgid "%1$s marked %2$s's %3$s as favorite" msgstr "" -#: ../../include/conversation.php:321 ../../include/conversation.php:602 +#: ../../include/conversation.php:327 ../../include/conversation.php:608 msgid "Select" msgstr "" -#: ../../include/conversation.php:338 ../../include/conversation.php:695 -#: ../../include/conversation.php:696 +#: ../../include/conversation.php:344 ../../include/conversation.php:701 +#: ../../include/conversation.php:702 #, php-format msgid "View %s's profile @ %s" msgstr "" -#: ../../include/conversation.php:348 ../../include/conversation.php:707 +#: ../../include/conversation.php:354 ../../include/conversation.php:713 #, php-format msgid "%s from %s" msgstr "" -#: ../../include/conversation.php:363 +#: ../../include/conversation.php:369 msgid "View in context" msgstr "" -#: ../../include/conversation.php:469 +#: ../../include/conversation.php:475 #, php-format msgid "%d comment" msgid_plural "%d comments" msgstr[0] "" msgstr[1] "" -#: ../../include/conversation.php:548 +#: ../../include/conversation.php:554 msgid "like" msgstr "" -#: ../../include/conversation.php:549 +#: ../../include/conversation.php:555 msgid "dislike" msgstr "" -#: ../../include/conversation.php:551 +#: ../../include/conversation.php:557 msgid "Share this" msgstr "" -#: ../../include/conversation.php:551 +#: ../../include/conversation.php:557 msgid "share" msgstr "" -#: ../../include/conversation.php:575 +#: ../../include/conversation.php:581 msgid "Bold" msgstr "" -#: ../../include/conversation.php:576 +#: ../../include/conversation.php:582 msgid "Italic" msgstr "" -#: ../../include/conversation.php:577 +#: ../../include/conversation.php:583 msgid "Underline" msgstr "" -#: ../../include/conversation.php:578 +#: ../../include/conversation.php:584 msgid "Quote" msgstr "" -#: ../../include/conversation.php:579 +#: ../../include/conversation.php:585 msgid "Code" msgstr "" -#: ../../include/conversation.php:580 +#: ../../include/conversation.php:586 msgid "Image" msgstr "" -#: ../../include/conversation.php:581 +#: ../../include/conversation.php:587 msgid "Link" msgstr "" -#: ../../include/conversation.php:582 +#: ../../include/conversation.php:588 msgid "Video" msgstr "" -#: ../../include/conversation.php:615 +#: ../../include/conversation.php:621 msgid "add star" msgstr "" -#: ../../include/conversation.php:616 +#: ../../include/conversation.php:622 msgid "remove star" msgstr "" -#: ../../include/conversation.php:617 +#: ../../include/conversation.php:623 msgid "toggle star status" msgstr "" -#: ../../include/conversation.php:620 +#: ../../include/conversation.php:626 msgid "starred" msgstr "" -#: ../../include/conversation.php:621 +#: ../../include/conversation.php:627 msgid "add tag" msgstr "" -#: ../../include/conversation.php:625 +#: ../../include/conversation.php:631 msgid "save to folder" msgstr "" -#: ../../include/conversation.php:697 +#: ../../include/conversation.php:703 msgid "to" msgstr "" -#: ../../include/conversation.php:698 +#: ../../include/conversation.php:704 msgid "Wall-to-Wall" msgstr "" -#: ../../include/conversation.php:699 +#: ../../include/conversation.php:705 msgid "via Wall-To-Wall:" msgstr "" -#: ../../include/conversation.php:744 +#: ../../include/conversation.php:750 msgid "Delete Selected Items" msgstr "" -#: ../../include/conversation.php:895 -#, php-format -msgid "%s likes this." -msgstr "" - -#: ../../include/conversation.php:895 -#, php-format -msgid "%s doesn't like this." -msgstr "" - -#: ../../include/conversation.php:899 -#, php-format -msgid "%2$d people like this." -msgstr "" - #: ../../include/conversation.php:901 #, php-format -msgid "%2$d people don't like this." +msgid "%s likes this." +msgstr "" + +#: ../../include/conversation.php:901 +#, php-format +msgid "%s doesn't like this." +msgstr "" + +#: ../../include/conversation.php:905 +#, php-format +msgid "%2$d people like this." msgstr "" #: ../../include/conversation.php:907 +#, php-format +msgid "%2$d people don't like this." +msgstr "" + +#: ../../include/conversation.php:913 msgid "and" msgstr "" -#: ../../include/conversation.php:910 +#: ../../include/conversation.php:916 #, php-format msgid ", and %d other people" msgstr "" -#: ../../include/conversation.php:911 +#: ../../include/conversation.php:917 #, php-format msgid "%s like this." msgstr "" -#: ../../include/conversation.php:911 +#: ../../include/conversation.php:917 #, php-format msgid "%s don't like this." msgstr "" -#: ../../include/conversation.php:936 +#: ../../include/conversation.php:942 msgid "Visible to everybody" msgstr "" -#: ../../include/conversation.php:938 +#: ../../include/conversation.php:944 msgid "Please enter a video link/URL:" msgstr "" -#: ../../include/conversation.php:939 +#: ../../include/conversation.php:945 msgid "Please enter an audio link/URL:" msgstr "" -#: ../../include/conversation.php:940 +#: ../../include/conversation.php:946 msgid "Tag term:" msgstr "" -#: ../../include/conversation.php:942 +#: ../../include/conversation.php:948 msgid "Where are you right now?" msgstr "" -#: ../../include/conversation.php:985 +#: ../../include/conversation.php:991 msgid "upload photo" msgstr "" -#: ../../include/conversation.php:987 +#: ../../include/conversation.php:993 msgid "attach file" msgstr "" -#: ../../include/conversation.php:989 +#: ../../include/conversation.php:995 msgid "web link" msgstr "" -#: ../../include/conversation.php:990 +#: ../../include/conversation.php:996 msgid "Insert video link" msgstr "" -#: ../../include/conversation.php:991 +#: ../../include/conversation.php:997 msgid "video link" msgstr "" -#: ../../include/conversation.php:992 +#: ../../include/conversation.php:998 msgid "Insert audio link" msgstr "" -#: ../../include/conversation.php:993 +#: ../../include/conversation.php:999 msgid "audio link" msgstr "" -#: ../../include/conversation.php:995 +#: ../../include/conversation.php:1001 msgid "set location" msgstr "" -#: ../../include/conversation.php:997 +#: ../../include/conversation.php:1003 msgid "clear location" msgstr "" -#: ../../include/conversation.php:1004 +#: ../../include/conversation.php:1010 msgid "permissions" msgstr ""