From 8cc368966dcc41879189830ef03bdfe30108efef Mon Sep 17 00:00:00 2001 From: fabrixxm Date: Wed, 17 Aug 2011 19:52:10 +0200 Subject: [PATCH 01/52] Update IT strings --- view/it/messages.po | 2922 ++++++++++++++++++++++++++++--------------- view/it/strings.php | 380 ++++-- 2 files changed, 2189 insertions(+), 1113 deletions(-) diff --git a/view/it/messages.po b/view/it/messages.po index 59fbc0ee79..6b28ba782d 100644 --- a/view/it/messages.po +++ b/view/it/messages.po @@ -2,14 +2,14 @@ # Copyright (C) 2010, 2011 Mike Macgirvin # This file is distributed under the same license as the Friendika package. # -# , 2011 -# fabrixxm , 2011 +# , 2011. +# fabrixxm , 2011. msgid "" msgstr "" "Project-Id-Version: friendika\n" "Report-Msgid-Bugs-To: http://bugs.friendika.com/\n" -"POT-Creation-Date: 2011-05-26 06:46-0700\n" -"PO-Revision-Date: 2011-06-07 09:37+0000\n" +"POT-Creation-Date: 2011-08-14 21:17-0700\n" +"PO-Revision-Date: 2011-08-17 17:49+0000\n" "Last-Translator: fabrixxm \n" "Language-Team: Italian (http://www.transifex.net/projects/p/friendika/team/it/)\n" "MIME-Version: 1.0\n" @@ -31,26 +31,27 @@ msgid "Contact update failed." msgstr "Aggiornamento del contatto non riuscito." #: ../../mod/crepair.php:54 ../../mod/wall_attach.php:43 -#: ../../mod/photos.php:89 ../../mod/photos.php:802 ../../mod/editpost.php:10 -#: ../../mod/install.php:93 ../../mod/notifications.php:56 -#: ../../mod/contacts.php:106 ../../mod/settings.php:15 -#: ../../mod/settings.php:20 ../../mod/settings.php:251 -#: ../../mod/manage.php:75 ../../mod/network.php:6 ../../mod/notes.php:20 -#: ../../mod/attach.php:64 ../../mod/group.php:19 +#: ../../mod/fsuggest.php:78 ../../mod/events.php:102 ../../mod/photos.php:122 +#: ../../mod/photos.php:849 ../../mod/editpost.php:10 ../../mod/install.php:96 +#: ../../mod/notifications.php:62 ../../mod/contacts.php:132 +#: ../../mod/settings.php:41 ../../mod/settings.php:46 +#: ../../mod/settings.php:305 ../../mod/manage.php:75 ../../mod/network.php:6 +#: ../../mod/notes.php:20 ../../mod/attach.php:33 ../../mod/group.php:19 #: ../../mod/viewcontacts.php:21 ../../mod/register.php:27 -#: ../../mod/regmod.php:18 ../../mod/item.php:57 ../../mod/item.php:801 +#: ../../mod/regmod.php:111 ../../mod/item.php:110 #: ../../mod/profile_photo.php:19 ../../mod/profile_photo.php:133 #: ../../mod/profile_photo.php:144 ../../mod/profile_photo.php:155 -#: ../../mod/message.php:8 ../../mod/message.php:116 +#: ../../mod/message.php:8 ../../mod/message.php:116 ../../mod/admin.php:10 #: ../../mod/wall_upload.php:42 ../../mod/follow.php:8 -#: ../../mod/display.php:138 ../../mod/profiles.php:7 -#: ../../mod/profiles.php:230 ../../mod/invite.php:13 ../../mod/invite.php:54 -#: ../../mod/dfrn_confirm.php:53 ../../addon/facebook/facebook.php:242 -#: ../../index.php:256 +#: ../../mod/display.php:108 ../../mod/profiles.php:7 +#: ../../mod/profiles.php:226 ../../mod/invite.php:13 ../../mod/invite.php:81 +#: ../../mod/dfrn_confirm.php:53 ../../addon/facebook/facebook.php:308 +#: ../../include/items.php:1930 ../../index.php:266 msgid "Permission denied." msgstr "Permesso negato." -#: ../../mod/crepair.php:68 ../../mod/contacts.php:214 +#: ../../mod/crepair.php:68 ../../mod/fsuggest.php:20 +#: ../../mod/fsuggest.php:92 ../../mod/contacts.php:240 #: ../../mod/dfrn_confirm.php:114 msgid "Contact not found." msgstr "Contatto non trovato." @@ -76,7 +77,7 @@ msgstr "" "Usa ora il tasto 'Indietro' del tuo browser se non sei " "sicuro di cosa fare in questa pagina." -#: ../../mod/crepair.php:85 +#: ../../mod/crepair.php:85 ../../mod/admin.php:464 ../../mod/admin.php:473 msgid "Name" msgstr "Nome" @@ -104,20 +105,25 @@ msgstr "URL Notifiche" msgid "Poll/Feed URL" msgstr "URL Feed" -#: ../../mod/crepair.php:100 ../../mod/photos.php:830 ../../mod/photos.php:887 -#: ../../mod/photos.php:1095 ../../mod/photos.php:1135 -#: ../../mod/photos.php:1174 ../../mod/photos.php:1205 -#: ../../mod/install.php:133 ../../mod/contacts.php:264 -#: ../../mod/settings.php:426 ../../mod/manage.php:106 ../../mod/group.php:76 -#: ../../mod/group.php:159 ../../mod/profiles.php:383 ../../mod/invite.php:68 -#: ../../addon/facebook/facebook.php:289 -#: ../../addon/randplace/randplace.php:179 ../../addon/oembed/oembed.php:49 -#: ../../addon/statusnet/statusnet.php:216 -#: ../../addon/statusnet/statusnet.php:230 -#: ../../addon/statusnet/statusnet.php:256 -#: ../../addon/statusnet/statusnet.php:263 -#: ../../addon/statusnet/statusnet.php:285 ../../addon/twitter/twitter.php:156 -#: ../../addon/twitter/twitter.php:175 ../../include/conversation.php:383 +#: ../../mod/crepair.php:100 ../../mod/fsuggest.php:107 +#: ../../mod/events.php:333 ../../mod/photos.php:877 ../../mod/photos.php:934 +#: ../../mod/photos.php:1144 ../../mod/photos.php:1184 +#: ../../mod/photos.php:1223 ../../mod/photos.php:1254 +#: ../../mod/install.php:137 ../../mod/contacts.php:296 +#: ../../mod/settings.php:482 ../../mod/manage.php:106 ../../mod/group.php:84 +#: ../../mod/group.php:167 ../../mod/admin.php:298 ../../mod/admin.php:461 +#: ../../mod/admin.php:587 ../../mod/admin.php:652 ../../mod/profiles.php:372 +#: ../../mod/invite.php:106 ../../addon/facebook/facebook.php:366 +#: ../../addon/randplace/randplace.php:178 +#: ../../addon/impressum/impressum.php:69 ../../addon/oembed/oembed.php:41 +#: ../../addon/statusnet/statusnet.php:274 +#: ../../addon/statusnet/statusnet.php:288 +#: ../../addon/statusnet/statusnet.php:314 +#: ../../addon/statusnet/statusnet.php:321 +#: ../../addon/statusnet/statusnet.php:343 +#: ../../addon/statusnet/statusnet.php:468 ../../addon/piwik/piwik.php:76 +#: ../../addon/twitter/twitter.php:171 ../../addon/twitter/twitter.php:194 +#: ../../addon/twitter/twitter.php:280 ../../include/conversation.php:409 msgid "Submit" msgstr "Invia" @@ -138,8 +144,113 @@ msgstr "Il file supera il limite di dimensione di %d" msgid "File upload failed." msgstr "Caricamento del file non riuscito." +#: ../../mod/fsuggest.php:63 +msgid "Friend suggestion sent." +msgstr "Suggerimento di amicizia inviato." + +#: ../../mod/fsuggest.php:97 +msgid "Suggest Friends" +msgstr "Suggerisci Amici" + +#: ../../mod/fsuggest.php:99 +#, php-format +msgid "Suggest a friend for %s" +msgstr "Suggerisci un amico a %s" + +#: ../../mod/events.php:112 ../../mod/photos.php:834 ../../mod/notes.php:46 +#: ../../mod/profile.php:116 +msgid "Status" +msgstr "Stato" + +#: ../../mod/events.php:113 ../../mod/photos.php:835 ../../mod/notes.php:47 +#: ../../mod/profperm.php:103 ../../mod/profile.php:117 +#: ../../include/profile_advanced.php:7 +msgid "Profile" +msgstr "Profilo" + +#: ../../mod/events.php:114 ../../mod/photos.php:836 ../../mod/notes.php:48 +#: ../../mod/profile.php:118 +msgid "Photos" +msgstr "Foto" + +#: ../../mod/events.php:115 ../../mod/events.php:120 ../../mod/photos.php:837 +#: ../../mod/notes.php:49 ../../mod/profile.php:119 +msgid "Events" +msgstr "Eventi" + +#: ../../mod/events.php:116 ../../mod/photos.php:838 ../../mod/notes.php:50 +#: ../../mod/notes.php:55 ../../mod/profile.php:120 +msgid "Personal Notes" +msgstr "Note personali" + +#: ../../mod/events.php:210 +msgid "Create New Event" +msgstr "Crea un nuovo Evento" + +#: ../../mod/events.php:213 +msgid "Previous" +msgstr "Precendente" + +#: ../../mod/events.php:216 +msgid "Next" +msgstr "Successivo" + +#: ../../mod/events.php:223 +msgid "l, F j" +msgstr "l j F" + +#: ../../mod/events.php:235 +msgid "Edit event" +msgstr "Modifca Evento" + +#: ../../mod/events.php:237 ../../include/text.php:846 +msgid "link to source" +msgstr "Collegamento all'originale" + +#: ../../mod/events.php:305 +msgid "hour:minute" +msgstr "ora:minuti" + +#: ../../mod/events.php:314 +msgid "Event details" +msgstr "Dettagli dell'Evento" + +#: ../../mod/events.php:315 +#, php-format +msgid "Format is %s %s. Starting date and Description are required." +msgstr "" +"Il formato è %s %s. La data di inizio e la descrizione sono obbligatori." + +#: ../../mod/events.php:316 +msgid "Event Starts:" +msgstr "L'Evento inizia:" + +#: ../../mod/events.php:319 +msgid "Finish date/time is not known or not relevant" +msgstr "La data/l'ora di fine è sconosciuta o non importante" + +#: ../../mod/events.php:321 +msgid "Event Finishes:" +msgstr "L'Evento finisce:" + +#: ../../mod/events.php:324 +msgid "Adjust for viewer timezone" +msgstr "Regola nel fuso orario di chi legge" + +#: ../../mod/events.php:326 +msgid "Description:" +msgstr "Descrizione" + +#: ../../mod/events.php:328 ../../include/event.php:37 ../../boot.php:868 +msgid "Location:" +msgstr "Posizione:" + +#: ../../mod/events.php:330 +msgid "Share this event" +msgstr "Condividi questo Evento" + #: ../../mod/tagrm.php:11 ../../mod/tagrm.php:94 -#: ../../mod/dfrn_request.php:644 ../../addon/js_upload/js_upload.php:41 +#: ../../mod/dfrn_request.php:644 ../../addon/js_upload/js_upload.php:45 msgid "Cancel" msgstr "Annulla" @@ -164,206 +275,231 @@ msgstr "Rimuovi" msgid "%s welcomes %s" msgstr "%s da il benvenuto a %s" -#: ../../mod/photos.php:34 +#: ../../mod/photos.php:37 msgid "Photo Albums" msgstr "Album Foto" -#: ../../mod/photos.php:38 ../../mod/photos.php:110 ../../mod/photos.php:810 -#: ../../mod/photos.php:879 ../../mod/photos.php:894 ../../mod/photos.php:1282 -#: ../../mod/photos.php:1293 ../../include/Photo.php:233 -#: ../../include/Photo.php:240 ../../include/Photo.php:247 -#: ../../include/items.php:1041 ../../include/items.php:1044 -#: ../../include/items.php:1047 +#: ../../mod/photos.php:45 ../../mod/photos.php:143 ../../mod/photos.php:857 +#: ../../mod/photos.php:926 ../../mod/photos.php:941 ../../mod/photos.php:1332 +#: ../../mod/photos.php:1344 msgid "Contact Photos" msgstr "Foto dei contatti" -#: ../../mod/photos.php:99 +#: ../../mod/photos.php:57 ../../mod/settings.php:9 +msgid "everybody" +msgstr "tutti" + +#: ../../mod/photos.php:132 msgid "Contact information unavailable" msgstr "Informazione sul contatto non disponibile" -#: ../../mod/photos.php:110 ../../mod/photos.php:535 ../../mod/photos.php:879 -#: ../../mod/photos.php:894 ../../mod/register.php:290 -#: ../../mod/register.php:297 ../../mod/register.php:304 +#: ../../mod/photos.php:143 ../../mod/photos.php:577 ../../mod/photos.php:926 +#: ../../mod/photos.php:941 ../../mod/register.php:316 +#: ../../mod/register.php:323 ../../mod/register.php:330 #: ../../mod/profile_photo.php:58 ../../mod/profile_photo.php:65 #: ../../mod/profile_photo.php:72 ../../mod/profile_photo.php:160 #: ../../mod/profile_photo.php:236 ../../mod/profile_photo.php:245 msgid "Profile Photos" msgstr "Foto del profilo" -#: ../../mod/photos.php:120 +#: ../../mod/photos.php:153 msgid "Album not found." msgstr "Album non trovato." -#: ../../mod/photos.php:138 ../../mod/photos.php:888 +#: ../../mod/photos.php:171 ../../mod/photos.php:935 msgid "Delete Album" msgstr "Elimina album" -#: ../../mod/photos.php:201 ../../mod/photos.php:1096 +#: ../../mod/photos.php:234 ../../mod/photos.php:1145 msgid "Delete Photo" msgstr "Elimina foto" -#: ../../mod/photos.php:473 +#: ../../mod/photos.php:508 msgid "was tagged in a" msgstr "è stato taggato in" -#: ../../mod/photos.php:473 ../../mod/like.php:110 -#: ../../include/conversation.php:20 +#: ../../mod/photos.php:508 ../../mod/like.php:110 +#: ../../include/diaspora.php:446 ../../include/conversation.php:31 msgid "photo" msgstr "foto" -#: ../../mod/photos.php:473 +#: ../../mod/photos.php:508 msgid "by" msgstr "da" -#: ../../mod/photos.php:563 ../../addon/js_upload/js_upload.php:306 +#: ../../mod/photos.php:608 ../../addon/js_upload/js_upload.php:310 msgid "Image exceeds size limit of " msgstr "L'immagine supera il limite di dimensione di " -#: ../../mod/photos.php:577 ../../mod/profile_photo.php:118 +#: ../../mod/photos.php:616 +msgid "Image file is empty." +msgstr "Il file dell'immagine è vuoto." + +#: ../../mod/photos.php:630 ../../mod/profile_photo.php:118 #: ../../mod/wall_upload.php:65 msgid "Unable to process image." msgstr "Impossibile elaborare l'immagine." -#: ../../mod/photos.php:597 ../../mod/profile_photo.php:241 -#: ../../mod/wall_upload.php:82 +#: ../../mod/photos.php:650 ../../mod/profile_photo.php:241 +#: ../../mod/wall_upload.php:84 msgid "Image upload failed." msgstr "Caricamento immagine fallito." -#: ../../mod/photos.php:680 ../../mod/dfrn_request.php:591 -#: ../../mod/viewcontacts.php:16 ../../mod/display.php:7 -#: ../../mod/search.php:13 ../../mod/directory.php:20 +#: ../../mod/photos.php:733 ../../mod/community.php:9 +#: ../../mod/dfrn_request.php:591 ../../mod/viewcontacts.php:16 +#: ../../mod/display.php:7 ../../mod/search.php:13 ../../mod/directory.php:20 msgid "Public access denied." msgstr "Accesso pubblico non consentito." -#: ../../mod/photos.php:690 +#: ../../mod/photos.php:743 msgid "No photos selected" msgstr "Nessuna foto selezionata" -#: ../../mod/photos.php:837 +#: ../../mod/photos.php:820 +msgid "Access to this item is restricted." +msgstr "L'accesso a questo elemento è limitato." + +#: ../../mod/photos.php:884 msgid "Upload Photos" msgstr "Carica foto" -#: ../../mod/photos.php:840 ../../mod/photos.php:883 +#: ../../mod/photos.php:887 ../../mod/photos.php:930 msgid "New album name: " msgstr "Nome nuovo album: " -#: ../../mod/photos.php:841 +#: ../../mod/photos.php:888 msgid "or existing album name: " msgstr "o nome di un album esistente: " -#: ../../mod/photos.php:843 ../../mod/photos.php:1091 +#: ../../mod/photos.php:890 ../../mod/photos.php:1140 msgid "Permissions" msgstr "Permessi" -#: ../../mod/photos.php:898 +#: ../../mod/photos.php:945 msgid "Edit Album" msgstr "Modifica album" -#: ../../mod/photos.php:908 ../../mod/photos.php:1311 +#: ../../mod/photos.php:955 ../../mod/photos.php:1362 msgid "View Photo" msgstr "Vedi foto" -#: ../../mod/photos.php:937 +#: ../../mod/photos.php:984 msgid "Photo not available" msgstr "Foto non disponibile" -#: ../../mod/photos.php:986 +#: ../../mod/photos.php:1033 msgid "Edit photo" msgstr "Modifica foto" -#: ../../mod/photos.php:987 +#: ../../mod/photos.php:1034 msgid "Use as profile photo" msgstr "Usa come foto del profilo" -#: ../../mod/photos.php:993 ../../include/conversation.php:316 +#: ../../mod/photos.php:1040 ../../include/conversation.php:342 msgid "Private Message" msgstr "Messaggio privato" -#: ../../mod/photos.php:1000 -msgid "<< Prev" -msgstr "<< Prec" - -#: ../../mod/photos.php:1004 +#: ../../mod/photos.php:1051 msgid "View Full Size" msgstr "Vedi dimensione intera" -#: ../../mod/photos.php:1009 -msgid "Next >>" -msgstr "Succ >>" - -#: ../../mod/photos.php:1071 +#: ../../mod/photos.php:1119 msgid "Tags: " msgstr "Tag: " -#: ../../mod/photos.php:1074 +#: ../../mod/photos.php:1122 msgid "[Remove any tag]" msgstr "[Rimuovi tutti i tag]" -#: ../../mod/photos.php:1084 +#: ../../mod/photos.php:1133 msgid "New album name" msgstr "Nuovo nome album" -#: ../../mod/photos.php:1087 +#: ../../mod/photos.php:1136 msgid "Caption" msgstr "Didascalia" -#: ../../mod/photos.php:1089 +#: ../../mod/photos.php:1138 msgid "Add a Tag" msgstr "Aggiungi un tag" -#: ../../mod/photos.php:1093 +#: ../../mod/photos.php:1142 msgid "" "Example: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping" msgstr "" "Esempio: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping" -#: ../../mod/photos.php:1113 ../../include/conversation.php:364 +#: ../../mod/photos.php:1162 ../../include/conversation.php:390 msgid "I like this (toggle)" msgstr "Mi piace questo (metti/togli)" -#: ../../mod/photos.php:1114 ../../include/conversation.php:365 +#: ../../mod/photos.php:1163 ../../include/conversation.php:391 msgid "I don't like this (toggle)" msgstr "Non mi piace questo (metti/togli)" -#: ../../mod/photos.php:1115 ../../include/conversation.php:366 -#: ../../include/conversation.php:731 +#: ../../mod/photos.php:1164 ../../include/conversation.php:392 +#: ../../include/conversation.php:746 msgid "Share" msgstr "Condividi" -#: ../../mod/photos.php:1116 ../../mod/editpost.php:97 +#: ../../mod/photos.php:1165 ../../mod/editpost.php:99 #: ../../mod/message.php:190 ../../mod/message.php:324 -#: ../../include/conversation.php:367 ../../include/conversation.php:741 +#: ../../include/conversation.php:393 ../../include/conversation.php:756 msgid "Please wait" msgstr "Attendi" -#: ../../mod/photos.php:1132 ../../mod/photos.php:1171 -#: ../../mod/photos.php:1202 ../../include/conversation.php:380 +#: ../../mod/photos.php:1181 ../../mod/photos.php:1220 +#: ../../mod/photos.php:1251 ../../include/conversation.php:406 msgid "This is you" msgstr "Questo sei tu" -#: ../../mod/photos.php:1134 ../../mod/photos.php:1173 -#: ../../mod/photos.php:1204 ../../include/conversation.php:382 -#: ../../boot.php:386 +#: ../../mod/photos.php:1183 ../../mod/photos.php:1222 +#: ../../mod/photos.php:1253 ../../include/conversation.php:408 +#: ../../boot.php:411 msgid "Comment" msgstr "Commento" -#: ../../mod/photos.php:1232 ../../mod/group.php:146 -#: ../../include/conversation.php:179 ../../include/conversation.php:393 +#: ../../mod/photos.php:1281 ../../mod/group.php:154 ../../mod/admin.php:468 +#: ../../include/conversation.php:427 msgid "Delete" msgstr "Cancella" -#: ../../mod/photos.php:1298 +#: ../../mod/photos.php:1349 msgid "Recent Photos" msgstr "Foto recenti" -#: ../../mod/photos.php:1302 +#: ../../mod/photos.php:1353 msgid "Upload New Photos" msgstr "Carica nuova foto" -#: ../../mod/photos.php:1315 +#: ../../mod/photos.php:1366 msgid "View Album" msgstr "Vedi album" +#: ../../mod/community.php:14 +msgid "Not available." +msgstr "Non disponibile." + +#: ../../mod/community.php:26 ../../include/nav.php:79 +msgid "Community" +msgstr "Comunità" + +#: ../../mod/community.php:56 ../../mod/search.php:65 +msgid "No results." +msgstr "Nessun risultato." + +#: ../../mod/community.php:83 ../../mod/network.php:302 +#: ../../mod/register.php:504 ../../mod/profile.php:241 +#: ../../mod/display.php:117 +msgid "" +"Shared content is covered by the Creative Commons " +"Attribution 3.0 license." +msgstr "" +"Il contenuto in comune è coperto dalla licenza Creative Commons" +" Attribuzione 3.0." + #: ../../mod/editpost.php:17 ../../mod/editpost.php:27 msgid "Item not found" msgstr "Elemento non trovato" @@ -372,62 +508,62 @@ msgstr "Elemento non trovato" msgid "Edit post" msgstr "Modifica messaggio" -#: ../../mod/editpost.php:75 ../../include/conversation.php:717 +#: ../../mod/editpost.php:75 ../../include/conversation.php:732 msgid "Post to Email" msgstr "Invia a Email" -#: ../../mod/editpost.php:88 ../../include/group.php:169 -#: ../../include/conversation.php:391 +#: ../../mod/editpost.php:90 ../../include/group.php:171 +#: ../../include/group.php:172 ../../include/conversation.php:417 msgid "Edit" msgstr "Modifica" -#: ../../mod/editpost.php:89 ../../mod/message.php:188 -#: ../../mod/message.php:322 ../../include/conversation.php:732 +#: ../../mod/editpost.php:91 ../../mod/message.php:188 +#: ../../mod/message.php:322 ../../include/conversation.php:747 msgid "Upload photo" msgstr "Carica foto" -#: ../../mod/editpost.php:90 ../../include/conversation.php:733 +#: ../../mod/editpost.php:92 ../../include/conversation.php:748 msgid "Attach file" msgstr "Allega file" -#: ../../mod/editpost.php:91 ../../mod/message.php:189 -#: ../../mod/message.php:323 ../../include/conversation.php:734 +#: ../../mod/editpost.php:93 ../../mod/message.php:189 +#: ../../mod/message.php:323 ../../include/conversation.php:749 msgid "Insert web link" msgstr "Inserisci link" -#: ../../mod/editpost.php:92 ../../include/conversation.php:735 +#: ../../mod/editpost.php:94 ../../include/conversation.php:750 msgid "Insert YouTube video" msgstr "Inserisci video da YouTube" -#: ../../mod/editpost.php:93 ../../include/conversation.php:736 +#: ../../mod/editpost.php:95 ../../include/conversation.php:751 msgid "Insert Vorbis [.ogg] video" msgstr "Inserisci video Theora [.ogg]" -#: ../../mod/editpost.php:94 ../../include/conversation.php:737 +#: ../../mod/editpost.php:96 ../../include/conversation.php:752 msgid "Insert Vorbis [.ogg] audio" msgstr "Inserisci audio Vorbis [.ogg]" -#: ../../mod/editpost.php:95 ../../include/conversation.php:738 +#: ../../mod/editpost.php:97 ../../include/conversation.php:753 msgid "Set your location" msgstr "Imposta la tua posizione" -#: ../../mod/editpost.php:96 ../../include/conversation.php:739 +#: ../../mod/editpost.php:98 ../../include/conversation.php:754 msgid "Clear browser location" msgstr "Cancella la tua posizione data dal browser" -#: ../../mod/editpost.php:98 ../../include/conversation.php:742 +#: ../../mod/editpost.php:100 ../../include/conversation.php:757 msgid "Permission settings" msgstr "Impostazione permessi" -#: ../../mod/editpost.php:106 ../../include/conversation.php:750 +#: ../../mod/editpost.php:108 ../../include/conversation.php:765 msgid "CC: email addresses" msgstr "CC: indirizzi email" -#: ../../mod/editpost.php:107 ../../include/conversation.php:751 +#: ../../mod/editpost.php:109 ../../include/conversation.php:766 msgid "Public post" msgstr "Messaggio pubblico" -#: ../../mod/editpost.php:109 ../../include/conversation.php:753 +#: ../../mod/editpost.php:111 ../../include/conversation.php:768 msgid "Example: bob@example.com, mary@example.com" msgstr "Esempio: bob@example.com, mary@example.com" @@ -507,7 +643,7 @@ msgstr "Indirizzo profilo invalido." msgid "Disallowed profile URL." msgstr "Indirizzo profilo non permesso." -#: ../../mod/dfrn_request.php:406 ../../mod/contacts.php:90 +#: ../../mod/dfrn_request.php:406 ../../mod/contacts.php:116 msgid "Failed to update contact record." msgstr "Errore aggiornando il contatto." @@ -540,7 +676,7 @@ msgstr "Conferma la tua richiesta di connessione con %s." msgid "Confirm" msgstr "Conferma" -#: ../../mod/dfrn_request.php:542 ../../include/items.php:1440 +#: ../../mod/dfrn_request.php:542 ../../include/items.php:1519 msgid "[Name Withheld]" msgstr "[Nome Nascosto]" @@ -548,11 +684,11 @@ msgstr "[Nome Nascosto]" msgid "Introduction received at " msgstr "Introduzione ricevuta su " -#: ../../mod/dfrn_request.php:551 ../../mod/lostpass.php:40 -#: ../../mod/lostpass.php:102 ../../mod/register.php:335 -#: ../../mod/register.php:385 ../../mod/regmod.php:98 -#: ../../mod/dfrn_notify.php:191 ../../mod/dfrn_notify.php:443 -#: ../../mod/dfrn_confirm.php:658 ../../include/items.php:1449 +#: ../../mod/dfrn_request.php:551 ../../mod/lostpass.php:44 +#: ../../mod/lostpass.php:106 ../../mod/register.php:369 +#: ../../mod/register.php:423 ../../mod/regmod.php:54 +#: ../../mod/dfrn_notify.php:291 ../../mod/dfrn_notify.php:547 +#: ../../mod/dfrn_confirm.php:674 ../../include/items.php:1528 msgid "Administrator" msgstr "Amministratore" @@ -573,18 +709,21 @@ msgid "Please answer the following:" msgstr "Rispondi al seguente:" #: ../../mod/dfrn_request.php:633 -msgid "Does $name know you?" -msgstr "$name ti conosce?" +#, php-format +msgid "Does %s know you?" +msgstr "%s ti conosce?" -#: ../../mod/dfrn_request.php:634 ../../mod/settings.php:350 -#: ../../mod/settings.php:362 ../../mod/register.php:459 -#: ../../mod/profiles.php:358 ../../mod/profiles.php:367 +#: ../../mod/dfrn_request.php:634 ../../mod/settings.php:415 +#: ../../mod/settings.php:421 ../../mod/settings.php:429 +#: ../../mod/settings.php:433 ../../mod/register.php:498 +#: ../../mod/profiles.php:354 msgid "Yes" msgstr "Si" -#: ../../mod/dfrn_request.php:635 ../../mod/settings.php:351 -#: ../../mod/settings.php:363 ../../mod/register.php:460 -#: ../../mod/profiles.php:359 ../../mod/profiles.php:368 +#: ../../mod/dfrn_request.php:635 ../../mod/settings.php:415 +#: ../../mod/settings.php:421 ../../mod/settings.php:429 +#: ../../mod/settings.php:433 ../../mod/register.php:499 +#: ../../mod/profiles.php:355 msgid "No" msgstr "No" @@ -624,23 +763,23 @@ msgstr "Il tuo Indirizzo Identità:" msgid "Submit Request" msgstr "Invia richiesta" -#: ../../mod/install.php:33 +#: ../../mod/install.php:34 msgid "Could not create/connect to database." msgstr "Impossibile creare/collegarsi al database." -#: ../../mod/install.php:38 +#: ../../mod/install.php:39 msgid "Connected to database." msgstr "Collegato al database." -#: ../../mod/install.php:72 +#: ../../mod/install.php:75 msgid "Proceed with Installation" msgstr "Continua con l'installazione" -#: ../../mod/install.php:74 +#: ../../mod/install.php:77 msgid "Your Friendika site database has been installed." msgstr "Il database del tuo sito Friendika è stato installato." -#: ../../mod/install.php:75 +#: ../../mod/install.php:78 msgid "" "IMPORTANT: You will need to [manually] setup a scheduled task for the " "poller." @@ -648,19 +787,19 @@ msgstr "" "IMPORTANTE: Devi impostare manualmente un operazione pianificata per il " "poller" -#: ../../mod/install.php:76 ../../mod/install.php:86 ../../mod/install.php:199 +#: ../../mod/install.php:79 ../../mod/install.php:89 ../../mod/install.php:207 msgid "Please see the file \"INSTALL.txt\"." msgstr "Guarda il file \"INSTALL.txt\"." -#: ../../mod/install.php:78 +#: ../../mod/install.php:81 msgid "Proceed to registration" msgstr "Continua con la registrazione" -#: ../../mod/install.php:84 +#: ../../mod/install.php:87 msgid "Database import failed." msgstr "Importazione database fallita." -#: ../../mod/install.php:85 +#: ../../mod/install.php:88 msgid "" "You may need to import the file \"database.sql\" manually using phpmyadmin " "or mysql." @@ -668,25 +807,26 @@ msgstr "" "Potresti dover importare il file \"database.sql\" manualmente con phpmyadmin" " o mysql" -#: ../../mod/install.php:98 +#: ../../mod/install.php:101 msgid "Welcome to Friendika." msgstr "Benvenuto su Friendika." -#: ../../mod/install.php:121 +#: ../../mod/install.php:124 msgid "Friendika Social Network" msgstr "Friendika Social Network" -#: ../../mod/install.php:122 +#: ../../mod/install.php:125 msgid "Installation" msgstr "Installazione" -#: ../../mod/install.php:123 +#: ../../mod/install.php:126 msgid "" -"In order to install Friendika we need to know how to contact your database." +"In order to install Friendika we need to know how to connect to your " +"database." msgstr "" -"Per installare Friendika dobbiamo sapere come contattare il tuo database." +"Per instalare Friendika dobbiamo sapere come collegarci al tuo database." -#: ../../mod/install.php:124 +#: ../../mod/install.php:127 msgid "" "Please contact your hosting provider or site administrator if you have " "questions about these settings." @@ -694,47 +834,54 @@ msgstr "" "Contatta il tuo fornitore di hosting o l'amministratore del sito se hai " "domande su questi settaggi." -#: ../../mod/install.php:125 +#: ../../mod/install.php:128 msgid "" -"The database you specify below must already exist. If it does not, please " +"The database you specify below should already exist. If it does not, please " "create it before continuing." msgstr "" -"Il datatabase specificato qui sotto deve esistere. Se non è così, crealo " -"prima di continuare." +"Il database dovrà già esistere. Se non esiste, crealo prima di continuare." -#: ../../mod/install.php:126 +#: ../../mod/install.php:129 msgid "Database Server Name" msgstr "Nome Database Server" -#: ../../mod/install.php:127 +#: ../../mod/install.php:130 msgid "Database Login Name" msgstr "Nome utente Database" -#: ../../mod/install.php:128 +#: ../../mod/install.php:131 msgid "Database Login Password" msgstr "Password utente Database" -#: ../../mod/install.php:129 +#: ../../mod/install.php:132 msgid "Database Name" msgstr "Nome Database" -#: ../../mod/install.php:130 +#: ../../mod/install.php:133 msgid "Please select a default timezone for your website" msgstr "Seleziona un fuso orario di default per il tuo sito web" -#: ../../mod/install.php:148 +#: ../../mod/install.php:134 +msgid "" +"Site administrator email address. Your account email address must match this" +" in order to use the web admin panel." +msgstr "" +"Indirizzo email dell'amministratore del sito. L'email del tuo account deve " +"corrispodere a questa, per poter utilizzare il pannello di amministrazione" + +#: ../../mod/install.php:153 msgid "Could not find a command line version of PHP in the web server PATH." msgstr "" "Non riesco a trovare una versione da riga di comando di PHP nel PATH del " "server web" -#: ../../mod/install.php:149 +#: ../../mod/install.php:154 msgid "" "This is required. Please adjust the configuration file .htconfig.php " "accordingly." msgstr "E' richiesto. Aggiorna il file .htconfig.php di conseguenza." -#: ../../mod/install.php:156 +#: ../../mod/install.php:161 msgid "" "The command line version of PHP on your system does not have " "\"register_argc_argv\" enabled." @@ -742,11 +889,11 @@ msgstr "" "La versione da riga di comando di PHP nel sistema non ha abilitato " "\"register_argc_argv\"." -#: ../../mod/install.php:157 +#: ../../mod/install.php:162 msgid "This is required for message delivery to work." msgstr "Ciò è richiesto per far funzionare la consegna dei messaggi." -#: ../../mod/install.php:179 +#: ../../mod/install.php:184 msgid "" "Error: the \"openssl_pkey_new\" function on this system is not able to " "generate encryption keys" @@ -754,7 +901,7 @@ msgstr "" "Errore: la funzione \"openssl_pkey_new\" in questo sistema non è in grado di" " generare le chiavi di criptazione" -#: ../../mod/install.php:180 +#: ../../mod/install.php:185 msgid "" "If running under Windows, please see " "\"http://www.php.net/manual/en/openssl.installation.php\"." @@ -762,32 +909,36 @@ msgstr "" "Se stai eseguendo friendika su windows, guarda " "\"http://www.php.net/manual/en/openssl.installation.php\"." -#: ../../mod/install.php:189 +#: ../../mod/install.php:194 msgid "" "Error: Apache webserver mod-rewrite module is required but not installed." msgstr "" "Errore: il modulo mod-rewrite di Apache &egreve; richiesto ma non installato" -#: ../../mod/install.php:191 +#: ../../mod/install.php:196 msgid "Error: libCURL PHP module required but not installed." msgstr "Errore: il modulo libCURL di PHP è richiesto ma non installato." -#: ../../mod/install.php:193 +#: ../../mod/install.php:198 msgid "" "Error: GD graphics PHP module with JPEG support required but not installed." msgstr "" "Errore: Il modulo GD graphics di PHP con supporto a JPEG è richiesto ma non " "installato." -#: ../../mod/install.php:195 +#: ../../mod/install.php:200 msgid "Error: openssl PHP module required but not installed." msgstr "Errore: il modulo openssl di PHP è richiesto ma non installato." -#: ../../mod/install.php:197 +#: ../../mod/install.php:202 msgid "Error: mysqli PHP module required but not installed." msgstr "Errore: il modulo mysqli di PHP è richiesto ma non installato" -#: ../../mod/install.php:208 +#: ../../mod/install.php:204 +msgid "Error: mb_string PHP module required but not installed." +msgstr "Errore: il modulo PHP mb_string è richiesto ma non installato." + +#: ../../mod/install.php:216 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." @@ -795,7 +946,7 @@ msgstr "" "L'installazione web deve poter creare un file chiamato \".htconfig.php\" " "nella cartella principale del tuo web server ma non è in grado di farlo." -#: ../../mod/install.php:209 +#: ../../mod/install.php:217 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." @@ -803,7 +954,7 @@ msgstr "" "Ciò è dovuto spesso a impostazioni di permessi, dato che il web server puo' " "scrivere il file nella tua cartella, anche se tu puoi." -#: ../../mod/install.php:210 +#: ../../mod/install.php:218 msgid "" "Please check with your site documentation or support people to see if this " "situation can be corrected." @@ -811,7 +962,7 @@ msgstr "" "Controlla la documentazione del tuo sito o con il personale di suporto se la" " situazione puo' essere corretta." -#: ../../mod/install.php:211 +#: ../../mod/install.php:219 msgid "" "If not, you may be required to perform a manual installation. Please see the" " file \"INSTALL.txt\" for instructions." @@ -819,7 +970,7 @@ msgstr "" "Altrimenti dovrai procedere con l'installazione manuale. Guarda il file " "\"INSTALL.txt\" per istuzioni" -#: ../../mod/install.php:220 +#: ../../mod/install.php:228 msgid "" "The database configuration file \".htconfig.php\" could not be written. " "Please use the enclosed text to create a configuration file in your web " @@ -829,15 +980,26 @@ msgstr "" "scritto. Usa il testo qui di seguito per creare un file di configurazione " "nella cartella principale del tuo sito." -#: ../../mod/install.php:235 +#: ../../mod/install.php:243 msgid "Errors encountered creating database tables." msgstr "Errori creando le tabelle nel database." +#: ../../mod/update_community.php:18 ../../mod/update_network.php:22 +#: ../../mod/update_profile.php:41 +msgid "[Embedded content - reload page to view]" +msgstr "[Contenuto incorporato - ricarica la pagina per vederlo]" + #: ../../mod/match.php:10 msgid "Profile Match" msgstr "Profili combacianti" -#: ../../mod/match.php:50 +#: ../../mod/match.php:18 +msgid "No keywords to match. Please add keywords to your default profile." +msgstr "" +"Nessuna parola chiave per l'abbinamento. Aggiungi parole chiave al tuo " +"profilo predefinito." + +#: ../../mod/match.php:54 msgid "No matches" msgstr "Nessun risultato" @@ -854,183 +1016,194 @@ msgstr "Visibile a:" msgid "Welcome to %s" msgstr "Benvenuto su %s" -#: ../../mod/notifications.php:28 +#: ../../mod/notifications.php:26 msgid "Invalid request identifier." msgstr "Identificativo richiesta invalido." -#: ../../mod/notifications.php:31 ../../mod/notifications.php:133 +#: ../../mod/notifications.php:35 ../../mod/notifications.php:118 +#: ../../mod/notifications.php:162 msgid "Discard" msgstr "Scarta" -#: ../../mod/notifications.php:41 ../../mod/notifications.php:132 +#: ../../mod/notifications.php:47 ../../mod/notifications.php:117 +#: ../../mod/notifications.php:161 msgid "Ignore" msgstr "Ignora" -#: ../../mod/notifications.php:68 +#: ../../mod/notifications.php:74 msgid "Pending Friend/Connect Notifications" msgstr "Richieste di amicizia/connessione in attesa" -#: ../../mod/notifications.php:72 +#: ../../mod/notifications.php:78 msgid "Show Ignored Requests" msgstr "Mostra richieste ignorate" -#: ../../mod/notifications.php:72 +#: ../../mod/notifications.php:78 msgid "Hide Ignored Requests" msgstr "Nascondi richieste ignorate" -#: ../../mod/notifications.php:104 -msgid "Claims to be known to you: " -msgstr "Dice di conoscerti: " - -#: ../../mod/notifications.php:104 -msgid "yes" -msgstr "si" - -#: ../../mod/notifications.php:104 -msgid "no" -msgstr "no" - -#: ../../mod/notifications.php:110 -msgid "Approve as: " -msgstr "Approva come: " - -#: ../../mod/notifications.php:111 -msgid "Friend" -msgstr "Amico" - -#: ../../mod/notifications.php:112 -msgid "Fan/Admirer" -msgstr "Fan/Admiratore" - -#: ../../mod/notifications.php:119 +#: ../../mod/notifications.php:105 ../../mod/notifications.php:148 msgid "Notification type: " msgstr "Tipo di notifica: " -#: ../../mod/notifications.php:120 -msgid "Friend/Connect Request" -msgstr "Richiesta Amicizia/Connessione" +#: ../../mod/notifications.php:106 +msgid "Friend Suggestion" +msgstr "Amico suggerito" -#: ../../mod/notifications.php:120 -msgid "New Follower" -msgstr "Nuovo Seguace" +#: ../../mod/notifications.php:108 +#, php-format +msgid "suggested by %s" +msgstr "sugerito da %s" -#: ../../mod/notifications.php:130 ../../mod/notifications.php:153 +#: ../../mod/notifications.php:114 ../../mod/notifications.php:159 +#: ../../mod/admin.php:466 msgid "Approve" msgstr "Approva" +#: ../../mod/notifications.php:133 +msgid "Claims to be known to you: " +msgstr "Dice di conoscerti: " + +#: ../../mod/notifications.php:133 +msgid "yes" +msgstr "si" + +#: ../../mod/notifications.php:133 +msgid "no" +msgstr "no" + #: ../../mod/notifications.php:139 +msgid "Approve as: " +msgstr "Approva come: " + +#: ../../mod/notifications.php:140 +msgid "Friend" +msgstr "Amico" + +#: ../../mod/notifications.php:141 +msgid "Fan/Admirer" +msgstr "Fan/Admiratore" + +#: ../../mod/notifications.php:149 +msgid "Friend/Connect Request" +msgstr "Richiesta Amicizia/Connessione" + +#: ../../mod/notifications.php:149 +msgid "New Follower" +msgstr "Nuovo Seguace" + +#: ../../mod/notifications.php:168 msgid "No notifications." msgstr "Nessuna notifica." -#: ../../mod/notifications.php:143 -msgid "User registrations waiting for confirm" -msgstr "Richieste di registrazione in attesa di conferma" - -#: ../../mod/notifications.php:154 -msgid "Deny" -msgstr "Nega" - -#: ../../mod/notifications.php:159 -msgid "No registrations." -msgstr "Nessuna registrazione." - -#: ../../mod/contacts.php:12 +#: ../../mod/contacts.php:26 msgid "Invite Friends" msgstr "Invita Amici" -#: ../../mod/contacts.php:15 +#: ../../mod/contacts.php:32 +#, php-format +msgid "%d invitation available" +msgid_plural "%d invitations available" +msgstr[0] "%d invito disponibile" +msgstr[1] "%d inviti disponibili" + +#: ../../mod/contacts.php:41 msgid "Find People With Shared Interests" msgstr "Trova persone che condividono i tuoi interessi" -#: ../../mod/contacts.php:19 +#: ../../mod/contacts.php:45 msgid "Connect/Follow" msgstr "Connetti/Segui" -#: ../../mod/contacts.php:20 +#: ../../mod/contacts.php:46 msgid "Example: bob@example.com, http://example.com/barbara" msgstr "Esempio: bob@example.com, http://example.com/barbara" -#: ../../mod/contacts.php:21 +#: ../../mod/contacts.php:47 msgid "Follow" msgstr "Segui" -#: ../../mod/contacts.php:43 ../../mod/contacts.php:124 +#: ../../mod/contacts.php:69 ../../mod/contacts.php:150 msgid "Could not access contact record." msgstr "Non si puo' accedere al contatto." -#: ../../mod/contacts.php:57 +#: ../../mod/contacts.php:83 msgid "Could not locate selected profile." msgstr "Non riesco a trovare il profilo selezionato." -#: ../../mod/contacts.php:88 +#: ../../mod/contacts.php:114 msgid "Contact updated." msgstr "Contatto aggiornato." -#: ../../mod/contacts.php:146 +#: ../../mod/contacts.php:172 msgid "Contact has been blocked" msgstr "Il contatto è stato bloccato" -#: ../../mod/contacts.php:146 +#: ../../mod/contacts.php:172 msgid "Contact has been unblocked" msgstr "Il contatto è stato sbloccato" -#: ../../mod/contacts.php:160 +#: ../../mod/contacts.php:186 msgid "Contact has been ignored" msgstr "Il contatto è ignorato" -#: ../../mod/contacts.php:160 +#: ../../mod/contacts.php:186 msgid "Contact has been unignored" msgstr "Il conttatto è non ignorato" -#: ../../mod/contacts.php:181 +#: ../../mod/contacts.php:207 msgid "stopped following" msgstr "tolto dai seguiti" -#: ../../mod/contacts.php:200 +#: ../../mod/contacts.php:226 msgid "Contact has been removed." msgstr "Il contatto è stato rimosso." -#: ../../mod/contacts.php:228 ../../mod/contacts.php:363 +#: ../../mod/contacts.php:254 ../../mod/contacts.php:397 msgid "Mutual Friendship" msgstr "Reciproca amicizia" -#: ../../mod/contacts.php:232 ../../mod/contacts.php:367 +#: ../../mod/contacts.php:258 ../../mod/contacts.php:401 msgid "is a fan of yours" msgstr "è un tuo fan" -#: ../../mod/contacts.php:237 ../../mod/contacts.php:371 +#: ../../mod/contacts.php:263 ../../mod/contacts.php:405 msgid "you are a fan of" msgstr "sei un fan di" -#: ../../mod/contacts.php:252 +#: ../../mod/contacts.php:280 msgid "Privacy Unavailable" msgstr "Privacy non disponibile" -#: ../../mod/contacts.php:253 +#: ../../mod/contacts.php:281 msgid "Private communications are not available for this contact." msgstr "Le comunicazioni private non sono disponibili per questo contatto." -#: ../../mod/contacts.php:256 +#: ../../mod/contacts.php:284 msgid "Never" msgstr "Mai" -#: ../../mod/contacts.php:260 +#: ../../mod/contacts.php:288 msgid "(Update was successful)" msgstr "(L'aggiornamento è stato completato)" -#: ../../mod/contacts.php:260 +#: ../../mod/contacts.php:288 msgid "(Update was not successful)" msgstr "(L'aggiornamento non è stato completato)" -#: ../../mod/contacts.php:263 +#: ../../mod/contacts.php:291 +msgid "Suggest friends" +msgstr "Suggerisci amici" + +#: ../../mod/contacts.php:295 msgid "Contact Editor" msgstr "Editor dei Contatti" -#: ../../mod/contacts.php:265 +#: ../../mod/contacts.php:297 msgid "Profile Visibility" msgstr "Visibilità del profilo" -#: ../../mod/contacts.php:266 +#: ../../mod/contacts.php:298 #, php-format msgid "" "Please choose the profile you would like to display to %s when viewing your " @@ -1039,15 +1212,15 @@ msgstr "" "Seleziona il profilo che vuoi mostrare a %s quando visita il tuo profilo in " "modo sicuro." -#: ../../mod/contacts.php:267 +#: ../../mod/contacts.php:299 msgid "Contact Information / Notes" msgstr "Informazioni / Note sul contatto" -#: ../../mod/contacts.php:268 +#: ../../mod/contacts.php:300 msgid "Online Reputation" msgstr "Reputazione Online" -#: ../../mod/contacts.php:269 +#: ../../mod/contacts.php:301 msgid "" "Occasionally your friends may wish to inquire about this person's online " "legitimacy." @@ -1055,7 +1228,7 @@ msgstr "" "Puo' capitare che i tuoi amici vogliano sapere la legittimità online dei " "questa persona." -#: ../../mod/contacts.php:270 +#: ../../mod/contacts.php:302 msgid "" "You may help them choose whether or not to interact with this person by " "providing a reputation to guide them." @@ -1063,7 +1236,7 @@ msgstr "" "Puoi aiutarli a scegliere se interagire o no con questa persona fornendo una" " reputazione per guidarli." -#: ../../mod/contacts.php:271 +#: ../../mod/contacts.php:303 msgid "" "Please take a moment to elaborate on this selection if you feel it could be " "helpful to others." @@ -1071,109 +1244,110 @@ msgstr "" "Prenditi un momento per pensare su questa selezione se senti che puo' essere" " utile ad altri." -#: ../../mod/contacts.php:272 -msgid "Visit $name's profile" -msgstr "Visita il profilo di $name" +#: ../../mod/contacts.php:304 ../../mod/contacts.php:421 +#: ../../mod/viewcontacts.php:61 +#, php-format +msgid "Visit %s's profile [%s]" +msgstr "Visita il profilo di %s [%s]" -#: ../../mod/contacts.php:273 +#: ../../mod/contacts.php:305 msgid "Block/Unblock contact" msgstr "Blocca/Sblocca contatto" -#: ../../mod/contacts.php:274 +#: ../../mod/contacts.php:306 msgid "Ignore contact" msgstr "Ingnora il contatto" -#: ../../mod/contacts.php:275 +#: ../../mod/contacts.php:307 msgid "Repair contact URL settings" msgstr "Sistema impostazioni URL del contatto" -#: ../../mod/contacts.php:276 +#: ../../mod/contacts.php:308 msgid "Repair contact URL settings (WARNING: Advanced)" msgstr "Sistema impostazioni URL del contatto (ATTENZIONE: Avanzato)" -#: ../../mod/contacts.php:277 +#: ../../mod/contacts.php:309 msgid "View conversations" msgstr "Vedi conversazioni" -#: ../../mod/contacts.php:278 +#: ../../mod/contacts.php:312 msgid "Delete contact" msgstr "Rimuovi contatto" -#: ../../mod/contacts.php:280 +#: ../../mod/contacts.php:314 msgid "Last updated: " msgstr "Ultimo aggiornameto: " -#: ../../mod/contacts.php:281 +#: ../../mod/contacts.php:315 msgid "Update public posts: " msgstr "Aggiorna messaggi pubblici: " -#: ../../mod/contacts.php:283 +#: ../../mod/contacts.php:317 ../../mod/admin.php:701 msgid "Update now" msgstr "Aggiorna adesso" -#: ../../mod/contacts.php:286 +#: ../../mod/contacts.php:320 msgid "Unblock this contact" msgstr "Sblocca questo contatto" -#: ../../mod/contacts.php:286 +#: ../../mod/contacts.php:320 msgid "Block this contact" msgstr "Blocca questo contatto" -#: ../../mod/contacts.php:287 +#: ../../mod/contacts.php:321 msgid "Unignore this contact" msgstr "Rimuovi dai contatti ingorati" -#: ../../mod/contacts.php:287 +#: ../../mod/contacts.php:321 msgid "Ignore this contact" msgstr "Aggiungi ai contatti ignorati" -#: ../../mod/contacts.php:290 +#: ../../mod/contacts.php:324 msgid "Currently blocked" msgstr "Bloccato" -#: ../../mod/contacts.php:291 +#: ../../mod/contacts.php:325 msgid "Currently ignored" msgstr "Ignorato" -#: ../../mod/contacts.php:322 ../../include/nav.php:109 -#: ../../include/acl_selectors.php:141 ../../include/acl_selectors.php:156 +#: ../../mod/contacts.php:356 ../../include/nav.php:110 msgid "Contacts" msgstr "Contatti" -#: ../../mod/contacts.php:324 +#: ../../mod/contacts.php:358 msgid "Show Blocked Connections" msgstr "Mostra connessioni bloccate" -#: ../../mod/contacts.php:324 +#: ../../mod/contacts.php:358 msgid "Hide Blocked Connections" msgstr "Nascondi connessioni bloccate" -#: ../../mod/contacts.php:326 ../../mod/directory.php:55 +#: ../../mod/contacts.php:360 ../../mod/directory.php:55 msgid "Finding: " msgstr "Cerco: " -#: ../../mod/contacts.php:327 ../../mod/directory.php:57 +#: ../../mod/contacts.php:361 ../../mod/directory.php:57 msgid "Find" msgstr "Trova" -#: ../../mod/contacts.php:387 ../../mod/viewcontacts.php:52 -msgid "Visit $username's profile" -msgstr "Visita il profilo di $username" - -#: ../../mod/contacts.php:388 ../../include/conversation.php:597 +#: ../../mod/contacts.php:422 ../../include/conversation.php:612 msgid "Edit contact" msgstr "Modifca contatto" -#: ../../mod/lostpass.php:27 +#: ../../mod/lostpass.php:16 +msgid "No valid account found." +msgstr "Nessun account valido trovato." + +#: ../../mod/lostpass.php:31 msgid "Password reset request issued. Check your email." msgstr "Richiesta di reimpostazione pasword inviata. Controlla la tua email." -#: ../../mod/lostpass.php:38 +#: ../../mod/lostpass.php:42 #, php-format msgid "Password reset requested at %s" msgstr "Richiesta recupero password su %s" -#: ../../mod/lostpass.php:60 +#: ../../mod/lostpass.php:64 msgid "" "Request could not be verified. (You may have previously submitted it.) " "Password reset failed." @@ -1181,27 +1355,27 @@ msgstr "" "La richiesta non può essere verificata. (Puoi averla già richiesta " "precendentemente). Reimpostazione password fallita." -#: ../../mod/lostpass.php:78 ../../boot.php:852 +#: ../../mod/lostpass.php:82 ../../boot.php:654 msgid "Password Reset" msgstr "Resetta password" -#: ../../mod/lostpass.php:79 +#: ../../mod/lostpass.php:83 msgid "Your password has been reset as requested." msgstr "La tua password è stata reimpostata come richiesto." -#: ../../mod/lostpass.php:80 +#: ../../mod/lostpass.php:84 msgid "Your new password is" msgstr "La tua nuova password è" -#: ../../mod/lostpass.php:81 +#: ../../mod/lostpass.php:85 msgid "Save or copy your new password - and then" msgstr "Sava o copa la tua nuova password, quindi" -#: ../../mod/lostpass.php:82 +#: ../../mod/lostpass.php:86 msgid "click here to login" msgstr "clicca qui per entrare" -#: ../../mod/lostpass.php:83 +#: ../../mod/lostpass.php:87 msgid "" "Your password may be changed from the Settings page after " "successful login." @@ -1209,11 +1383,11 @@ msgstr "" "Puoi cambiare la tua password dalla pagina Impostazioni dopo essere" " entrato." -#: ../../mod/lostpass.php:114 +#: ../../mod/lostpass.php:118 msgid "Forgot your Password?" msgstr "Dimenticato la tua password?" -#: ../../mod/lostpass.php:115 +#: ../../mod/lostpass.php:119 msgid "" "Enter your email address and submit to have your password reset. Then check " "your email for further instructions." @@ -1221,248 +1395,268 @@ msgstr "" "Inserisci il tuo indirizzo email per richiedere di reimpostare la tua " "passwork." -#: ../../mod/lostpass.php:116 +#: ../../mod/lostpass.php:120 msgid "Nickname or Email: " msgstr "Nome utente o Email: " -#: ../../mod/lostpass.php:117 +#: ../../mod/lostpass.php:121 msgid "Reset" msgstr "Reimposta" -#: ../../mod/settings.php:38 +#: ../../mod/settings.php:64 msgid "Passwords do not match. Password unchanged." msgstr "Le password non corrispondono. Passoword non cambiata." -#: ../../mod/settings.php:43 +#: ../../mod/settings.php:69 msgid "Empty passwords are not allowed. Password unchanged." msgstr "Password vuote non sono consentite. Password non cambiata." -#: ../../mod/settings.php:54 +#: ../../mod/settings.php:80 msgid "Password changed." msgstr "Password cambiata." -#: ../../mod/settings.php:56 +#: ../../mod/settings.php:82 msgid "Password update failed. Please try again." msgstr "Aggiornamento password fallito. Prova ancora." -#: ../../mod/settings.php:138 +#: ../../mod/settings.php:161 +msgid "Failed to connect with email account using the settings provided." +msgstr "Impossibile collegarsi all'account email con i parametri forniti." + +#: ../../mod/settings.php:188 msgid " Please use a shorter name." msgstr " Usa un nome più corto." -#: ../../mod/settings.php:140 +#: ../../mod/settings.php:190 msgid " Name too short." msgstr " Nome troppo corto." -#: ../../mod/settings.php:146 +#: ../../mod/settings.php:196 msgid " Not valid email." msgstr " Email non valida." -#: ../../mod/settings.php:148 +#: ../../mod/settings.php:198 msgid " Cannot change to that email." msgstr "Non puoi usare quella email." -#: ../../mod/settings.php:206 +#: ../../mod/settings.php:257 ../../addon/facebook/facebook.php:297 +#: ../../addon/impressum/impressum.php:64 ../../addon/piwik/piwik.php:89 +#: ../../addon/twitter/twitter.php:275 msgid "Settings updated." msgstr "Impostazioni aggiornate." -#: ../../mod/settings.php:256 ../../mod/settings.php:418 -#: ../../addon/widgets/widgets.php:123 -msgid "Plugin Settings" -msgstr "Impostazioni Plugin" +#: ../../mod/settings.php:311 ../../include/nav.php:108 +msgid "Account settings" +msgstr "Parametri account" -#: ../../mod/settings.php:257 ../../mod/settings.php:417 -msgid "Account Settings" -msgstr "Impostazioni Account" +#: ../../mod/settings.php:312 +msgid "Plugin settings" +msgstr "Impostazioni plugin" -#: ../../mod/settings.php:263 +#: ../../mod/settings.php:322 msgid "No Plugin settings configured" msgstr "Nessun Plugin ha delle configurazioni che puoi modificare" -#: ../../mod/settings.php:323 +#: ../../mod/settings.php:329 ../../addon/widgets/widgets.php:122 +msgid "Plugin Settings" +msgstr "Impostazioni Plugin" + +#: ../../mod/settings.php:382 ../../mod/admin.php:133 ../../mod/admin.php:443 msgid "Normal Account" msgstr "Account normale" -#: ../../mod/settings.php:324 +#: ../../mod/settings.php:383 msgid "This account is a normal personal profile" msgstr "Questo account è un normale profilo personale" -#: ../../mod/settings.php:325 +#: ../../mod/settings.php:386 ../../mod/admin.php:134 ../../mod/admin.php:444 msgid "Soapbox Account" msgstr "Account Palco" -#: ../../mod/settings.php:326 +#: ../../mod/settings.php:387 msgid "Automatically approve all connection/friend requests as read-only fans" msgstr "" "Accetta automaticamente le richieste di connessione/amicizia come fan che " "possono solamente leggere" -#: ../../mod/settings.php:327 +#: ../../mod/settings.php:390 ../../mod/admin.php:135 ../../mod/admin.php:445 msgid "Community/Celebrity Account" msgstr "Account Celebrità/Comunità" -#: ../../mod/settings.php:328 +#: ../../mod/settings.php:391 msgid "" "Automatically approve all connection/friend requests as read-write fans" msgstr "" "Accetta automaticamente le richieste di connessione/amicizia come fan che " "possono scrivere in bacheca" -#: ../../mod/settings.php:329 +#: ../../mod/settings.php:394 ../../mod/admin.php:136 ../../mod/admin.php:446 msgid "Automatic Friend Account" msgstr "Account Amico Automatico" -#: ../../mod/settings.php:330 +#: ../../mod/settings.php:395 msgid "Automatically approve all connection/friend requests as friends" msgstr "" "Accetta automaticamente le richieste di connessione/amicizia come amici" -#: ../../mod/settings.php:339 -msgid "OpenID: " -msgstr "OpenID: " +#: ../../mod/settings.php:405 +msgid "OpenID:" +msgstr "OpenID:" -#: ../../mod/settings.php:339 -msgid " (Optional) Allow this OpenID to login to this account." +#: ../../mod/settings.php:405 +msgid "(Optional) Allow this OpenID to login to this account." +msgstr "(Opzionale) Consente di loggarti in questo account con questo OpenID" + +#: ../../mod/settings.php:415 +msgid "Publish your default profile in your local site directory?" +msgstr "Pubblica il tuo profilo predefinito nell'elenco locale del sito" + +#: ../../mod/settings.php:421 +msgid "Publish your default profile in the global social directory?" +msgstr "Pubblica il tuo profilo predefinito nell'elenco sociale globale" + +#: ../../mod/settings.php:429 +msgid "Hide your contact/friend list from viewers of your default profile?" msgstr "" -" (Opzionale) Permetti a questo OpenID di accedere a questo account." +"Nascondi la lista dei tuoi contatti/amici dai visitatori del tuo profilo " +"predefinito" -#: ../../mod/settings.php:349 -msgid "Publish your default profile in site directory?" -msgstr "Pubblicare il tuo profilo di default nell'elenco del sito?" +#: ../../mod/settings.php:433 +msgid "Hide profile details and all your messages from unknown viewers?" +msgstr "" +"Nascondi i dettagli del profilo e tutti i tuoi messaggi ai visitatori " +"sconosciuti?" -#: ../../mod/settings.php:361 -msgid "Publish your default profile in global social directory?" -msgstr "Pubblicare il tuo profilo di default nell'elenco sociale globale?" - -#: ../../mod/settings.php:377 +#: ../../mod/settings.php:442 msgid "Profile is not published." msgstr "Il profilo non è pubblicato." -#: ../../mod/settings.php:398 ../../mod/profile_photo.php:196 +#: ../../mod/settings.php:461 ../../mod/profile_photo.php:196 msgid "or" msgstr "o" -#: ../../mod/settings.php:403 +#: ../../mod/settings.php:466 msgid "Your Identity Address is" msgstr "Il tuo Indirizzo Identità è" -#: ../../mod/settings.php:413 +#: ../../mod/settings.php:480 +msgid "Account Settings" +msgstr "Impostazioni Account" + +#: ../../mod/settings.php:487 msgid "Export Personal Data" msgstr "Esporta i Dati Personali" -#: ../../mod/settings.php:419 -msgid "Basic Settings" -msgstr "Impostazioni base" - -#: ../../mod/settings.php:420 ../../include/profile_advanced.php:10 -msgid "Full Name:" -msgstr "Nome completo:" - -#: ../../mod/settings.php:421 -msgid "Email Address:" -msgstr "Indirizzo Email:" - -#: ../../mod/settings.php:422 -msgid "Your Timezone:" -msgstr "Il tuo fuso orario:" - -#: ../../mod/settings.php:423 -msgid "Default Post Location:" -msgstr "Località di default per l'invio:" - -#: ../../mod/settings.php:424 -msgid "Use Browser Location:" -msgstr "Usa la località rilevata dal browser:" - -#: ../../mod/settings.php:425 -msgid "Display Theme:" -msgstr "Tema:" - -#: ../../mod/settings.php:427 -msgid "Security and Privacy Settings" -msgstr "Impostazioni di Sicurezza e Privacy" - -#: ../../mod/settings.php:428 -msgid "Maximum Friend Requests/Day:" -msgstr "Numero massimo di richieste di amicizia per giorno:" - -#: ../../mod/settings.php:429 -msgid "(to prevent spam abuse)" -msgstr "(per prevenire lo spam)" - -#: ../../mod/settings.php:430 -msgid "Allow friends to post to your profile page:" -msgstr "Permetti agli amici di inviare messaggi sulla tua bacheca:" - -#: ../../mod/settings.php:431 -msgid "Automatically expire (delete) posts older than" -msgstr "Cancella automaticamente i messaggi più vecchi di" - -#: ../../mod/settings.php:432 ../../include/datetime.php:154 -msgid "days" -msgstr "giorni" - -#: ../../mod/settings.php:433 -msgid "Notification Settings" -msgstr "Impostazioni Notifiche" - -#: ../../mod/settings.php:434 -msgid "Send a notification email when:" -msgstr "Invia una mail di notifica quando:" - -#: ../../mod/settings.php:435 -msgid "You receive an introduction" -msgstr "Ricevi una presentazione" - -#: ../../mod/settings.php:436 -msgid "Your introductions are confirmed" -msgstr "Le tue presentazioni sono confermate" - -#: ../../mod/settings.php:437 -msgid "Someone writes on your profile wall" -msgstr "Qualcuno scrive sulla bacheca del tuo profilo" - -#: ../../mod/settings.php:438 -msgid "Someone writes a followup comment" -msgstr "Qualcuno scrive un commento a un tuo messaggio" - -#: ../../mod/settings.php:439 -msgid "You receive a private message" -msgstr "Ricevi un messaggio privato" - -#: ../../mod/settings.php:440 +#: ../../mod/settings.php:490 msgid "Password Settings" msgstr "Impostazioni Password" -#: ../../mod/settings.php:441 +#: ../../mod/settings.php:491 +msgid "New Password:" +msgstr "Nuova Password:" + +#: ../../mod/settings.php:492 +msgid "Confirm:" +msgstr "Conferma:" + +#: ../../mod/settings.php:492 msgid "Leave password fields blank unless changing" msgstr "" "Lascia questi campi in bianco per non effettuare variazioni alla password" -#: ../../mod/settings.php:442 -msgid "New Password:" -msgstr "Nuova Password:" +#: ../../mod/settings.php:496 +msgid "Basic Settings" +msgstr "Impostazioni base" -#: ../../mod/settings.php:443 -msgid "Confirm:" -msgstr "Conferma:" +#: ../../mod/settings.php:497 ../../include/profile_advanced.php:10 +msgid "Full Name:" +msgstr "Nome completo:" -#: ../../mod/settings.php:444 -msgid "Advanced Page Settings" -msgstr "Impostazioni Avanzate Account" +#: ../../mod/settings.php:498 +msgid "Email Address:" +msgstr "Indirizzo Email:" -#: ../../mod/settings.php:459 +#: ../../mod/settings.php:499 +msgid "Your Timezone:" +msgstr "Il tuo fuso orario:" + +#: ../../mod/settings.php:500 +msgid "Default Post Location:" +msgstr "Località di default per l'invio:" + +#: ../../mod/settings.php:501 +msgid "Use Browser Location:" +msgstr "Usa la località rilevata dal browser:" + +#: ../../mod/settings.php:502 +msgid "Display Theme:" +msgstr "Tema:" + +#: ../../mod/settings.php:506 +msgid "Security and Privacy Settings" +msgstr "Impostazioni di Sicurezza e Privacy" + +#: ../../mod/settings.php:508 +msgid "Maximum Friend Requests/Day:" +msgstr "Numero massimo di richieste di amicizia per giorno:" + +#: ../../mod/settings.php:508 +msgid "(to prevent spam abuse)" +msgstr "(per prevenire lo spam)" + +#: ../../mod/settings.php:509 msgid "Default Post Permissions" msgstr "Permessi di default per i messaggi" -#: ../../mod/settings.php:460 +#: ../../mod/settings.php:510 msgid "(click to open/close)" msgstr "(clicca per aprire/chiudere)" -#: ../../mod/settings.php:473 +#: ../../mod/settings.php:514 +msgid "Allow friends to post to your profile page:" +msgstr "Permetti agli amici di inviare messaggi sulla tua bacheca:" + +#: ../../mod/settings.php:515 +msgid "Automatically expire posts after days:" +msgstr "Cancella automaticamente i messaggi dopo giorni:" + +#: ../../mod/settings.php:515 +msgid "If empty, posts will not expire. Expired posts will be deleted" +msgstr "Se lasciato vuoto, i messaggi non verranno cancellati." + +#: ../../mod/settings.php:524 +msgid "Notification Settings" +msgstr "Impostazioni Notifiche" + +#: ../../mod/settings.php:525 +msgid "Send a notification email when:" +msgstr "Invia una mail di notifica quando:" + +#: ../../mod/settings.php:526 +msgid "You receive an introduction" +msgstr "Ricevi una presentazione" + +#: ../../mod/settings.php:527 +msgid "Your introductions are confirmed" +msgstr "Le tue presentazioni sono confermate" + +#: ../../mod/settings.php:528 +msgid "Someone writes on your profile wall" +msgstr "Qualcuno scrive sulla bacheca del tuo profilo" + +#: ../../mod/settings.php:529 +msgid "Someone writes a followup comment" +msgstr "Qualcuno scrive un commento a un tuo messaggio" + +#: ../../mod/settings.php:530 +msgid "You receive a private message" +msgstr "Ricevi un messaggio privato" + +#: ../../mod/settings.php:534 msgid "Email/Mailbox Setup" msgstr "Impostazioni Email" -#: ../../mod/settings.php:474 +#: ../../mod/settings.php:535 msgid "" "If you wish to communicate with email contacts using this service " "(optional), please specify how to connect to your mailbox." @@ -1470,37 +1664,49 @@ msgstr "" "Se vuoi comunicare con i contatti email usando questo servizio, specifica " "come collegarti alla tua casella di posta. (opzionale)" -#: ../../mod/settings.php:475 +#: ../../mod/settings.php:536 +msgid "Last successful email check:" +msgstr "Ultimo controllo email eseguito con successo:" + +#: ../../mod/settings.php:537 +msgid "Email access is disabled on this site." +msgstr "L'accesso Email è disabilitato su questo sito." + +#: ../../mod/settings.php:538 msgid "IMAP server name:" msgstr "Nome server IMAP:" -#: ../../mod/settings.php:477 +#: ../../mod/settings.php:539 msgid "IMAP port:" msgstr "Porta IMAP:" -#: ../../mod/settings.php:479 -msgid "Security (TLS or SSL):" -msgstr "Sicurezza (TLS o SSL):" +#: ../../mod/settings.php:540 +msgid "Security:" +msgstr "Sicurezza:" -#: ../../mod/settings.php:481 +#: ../../mod/settings.php:540 +msgid "None" +msgstr "Nessuna" + +#: ../../mod/settings.php:541 msgid "Email login name:" msgstr "Nome utente Email:" -#: ../../mod/settings.php:483 +#: ../../mod/settings.php:542 msgid "Email password:" msgstr "Password Email:" -#: ../../mod/settings.php:484 -msgid "Reply-to address (Optional):" -msgstr "Indirizzo risposte (opzionale):" +#: ../../mod/settings.php:543 +msgid "Reply-to address:" +msgstr "Indirizzo di risposta:" -#: ../../mod/settings.php:486 +#: ../../mod/settings.php:544 msgid "Send public posts to all email contacts:" msgstr "Invia i messaggi pubblici ai contatti email:" -#: ../../mod/settings.php:488 -msgid "Email access is disabled on this site." -msgstr "L'accesso Email è disabilitato su questo sito." +#: ../../mod/settings.php:549 +msgid "Advanced Page Settings" +msgstr "Impostazioni Avanzate Account" #: ../../mod/manage.php:37 #, php-format @@ -1523,15 +1729,23 @@ msgstr "" msgid "Select an identity to manage: " msgstr "Seleziona una identità da gestire:" -#: ../../mod/network.php:18 -msgid "Normal View" -msgstr "Vista normale" +#: ../../mod/network.php:27 +msgid "View Conversations" +msgstr "Vedi conversazioni" -#: ../../mod/network.php:20 -msgid "New Item View" -msgstr "Vista Nuovi Elementi" +#: ../../mod/network.php:29 +msgid "View New Items" +msgstr "Vedi nuovi elementi" -#: ../../mod/network.php:64 +#: ../../mod/network.php:35 +msgid "View Any Items" +msgstr "Vedi tutti gli elementi" + +#: ../../mod/network.php:43 +msgid "View Starred Items" +msgstr "Vedi elementi preferiti" + +#: ../../mod/network.php:94 #, php-format msgid "Warning: This group contains %s member from an insecure network." msgid_plural "" @@ -1539,62 +1753,171 @@ msgid_plural "" msgstr[0] "Attenzione: questo gruppo contiene %s membro da un network insicuro." msgstr[1] "Attenzione: questo gruppo contiene %s membri da un network insicuro." -#: ../../mod/network.php:67 +#: ../../mod/network.php:97 msgid "Private messages to this group are at risk of public disclosure." msgstr "" "I messaggi privati a questo gruppo sono a rischio di visualizzazione " "pubblica." -#: ../../mod/network.php:129 +#: ../../mod/network.php:164 msgid "No such group" msgstr "Nessun gruppo" -#: ../../mod/network.php:140 +#: ../../mod/network.php:175 msgid "Group is empty" msgstr "Il gruppo è vuoto" -#: ../../mod/network.php:144 +#: ../../mod/network.php:180 msgid "Group: " msgstr "Gruppo: " -#: ../../mod/network.php:154 +#: ../../mod/network.php:190 msgid "Contact: " msgstr "Contatto:" -#: ../../mod/network.php:156 +#: ../../mod/network.php:192 msgid "Private messages to this person are at risk of public disclosure." msgstr "" "I messaggi privati ​​a questa persona sono a rischio di divulgazione al " "pubblico." -#: ../../mod/network.php:161 +#: ../../mod/network.php:197 msgid "Invalid contact." msgstr "Contatto non valido." -#: ../../mod/network.php:262 ../../mod/register.php:465 -#: ../../mod/profile.php:265 ../../mod/display.php:147 -msgid "" -"Shared content is covered by the Creative Commons " -"Attribution 3.0 license." -msgstr "" -"Il contenuto in comune è coperto dalla licenza Creative Commons" -" Attribuzione 3.0." - -#: ../../mod/notes.php:41 ../../mod/apps.php:8 -msgid "Private Notes" -msgstr "Note Private" - -#: ../../mod/notes.php:60 +#: ../../mod/notes.php:74 msgid "Save" msgstr "Salva" -#: ../../mod/attach.php:6 +#: ../../mod/newmember.php:6 +msgid "Welcome to Friendika" +msgstr "Benvenuto in Friendika" + +#: ../../mod/newmember.php:8 +msgid "New Member Checklist" +msgstr "Cose da fare per i Nuovi Utenti" + +#: ../../mod/newmember.php:12 +msgid "" +"We would like to offer some tips and links to help make your experience " +"enjoyable. Click any item to visit the relevant page." +msgstr "" +"Vorremmo offrire alcuni suggerimenti e link per contribuire a rendere la tua" +" esperienza piacevole. Fai clic su un elemento per visitare la pagina " +"corrispondente." + +#: ../../mod/newmember.php:16 +msgid "" +"On your Settings page - change your initial password. Also make a " +"note of your Identity Address. This will be useful in making friends." +msgstr "" +"Nella tua pagina Impostazioni - cambia la tua password iniziale. " +"E prendi nota del tuo Indirizzo Identità. Questo tornerà utile nello " +"stringere amicizie." + +#: ../../mod/newmember.php:18 +msgid "" +"Review the other settings, particularly the privacy settings. An unpublished" +" directory listing is like having an unlisted phone number. In general, you " +"should probably publish your listing - unless all of your friends and " +"potential friends know exactly how to find you." +msgstr "" +"Guarda le altre impostazioni, in particolare le impostazioni della privacy. " +"Un profilo non pubblicato è come un numero di telefono non in elenco. In " +"genere, dovresti pubblicare il tuo profilo - a meno che tutti i tuoi amici e" +" potenziali tali sappiano esattamente come trovarti." + +#: ../../mod/newmember.php:20 +msgid "" +"Upload a profile photo if you have not done so already. Studies have shown " +"that people with real photos of themselves are ten times more likely to make" +" friends than people who do not." +msgstr "" +"Carica una foto del profilo se non l'hai ancora fatto. Studi hanno mostrato " +"che persone che hanno vere foto di se stessi hanno dieci volte più " +"probabilità di fare amicizie rispetto alle persone che non ce l'hanno." + +#: ../../mod/newmember.php:23 +msgid "" +"Authorise the Facebook Connector if you currently have a Facebook account " +"and we will (optionally) import all your Facebook friends and conversations." +msgstr "" +"Autorizza il Facebook Connector se hai un account Facebook, e noi " +"(opzionalmente) importeremo tuti i tuoi amici e le tue conversazioni da " +"Facebook." + +#: ../../mod/newmember.php:28 +msgid "" +"Enter your email access information on your Settings page if you wish to " +"import and interact with friends or mailing lists from your email INBOX" +msgstr "" +"Inserisci i dati per accedere alla tua email nella pagina Impostazioni se " +"vuoi importare e interagire con amici o mailing list dalla posta in arrivo " +"della tua email." + +#: ../../mod/newmember.php:30 +msgid "" +"Edit your default profile to your liking. Review the " +"settings for hiding your list of friends and hiding the profile from unknown" +" visitors." +msgstr "" +"Modifica il tuo profilo predefinito a piacimento. Rivedi le" +" impostazioni per nascondere la tua lista di amici e nascondere il profilo " +"ai visitatori sconosciuti." + +#: ../../mod/newmember.php:32 +msgid "" +"Set some public keywords for your default profile which describe your " +"interests. We may be able to find other people with similar interests and " +"suggest friendships." +msgstr "" +"Inserisci qualche parola chiave pubblica nel tuo profilo predefinito che " +"descriva i tuoi interessi. Potremmo essere in grado di trovare altre persone" +" con interessi similari e suggerirti delle amicizie." + +#: ../../mod/newmember.php:34 +msgid "" +"Your Contacts page is your gateway to managing friendships and connecting " +"with friends on other networks. Typically you enter their address or site " +"URL in the Connect dialog." +msgstr "" +"La pagina Contatti è il centro di controllo per la gestione delle amicizie e" +" per collegarti ad amici su altri network. Basta che inserisci il loro " +"indirizzo o l'URL del sito nel box Connetti." + +#: ../../mod/newmember.php:36 +msgid "" +"The Directory page lets you find other people in this network or other " +"federated sites. Look for a Connect or Follow link on " +"their profile page. Provide your own Identity Address if requested." +msgstr "" +"La pagina Elenco ti permette di trovare altre persone in questa rete o in " +"altri siti. Cerca un link Connetti o Segui nella loro " +"pagina del profilo. Inserisci il tuo Indirizzo Identità, se richiesto." + +#: ../../mod/newmember.php:38 +msgid "" +"Once you have made some friends, organize them into private conversation " +"groups from the sidebar of your Contacts page and then you can interact with" +" each group privately on your Network page." +msgstr "" +"Quando avrai alcuni amici, organizzali in gruppi di conversazioni private " +"dalla barra laterale della tua pagina Contatti. Potrai interagire " +"privatamente con ogni gruppo nella tua pagina Rete" + +#: ../../mod/newmember.php:40 +msgid "" +"Our help pages may be consulted for detail on other program" +" features and resources." +msgstr "" +"Le nostre pagine della guida possono essere consultate per " +"avere dettagli su altre caratteristiche del programma e altre risorse." + +#: ../../mod/attach.php:8 msgid "Item not available." msgstr "Elemento non disponibile." -#: ../../mod/attach.php:16 +#: ../../mod/attach.php:20 msgid "Item was not found." msgstr "Elemento non trovato." @@ -1606,7 +1929,7 @@ msgstr "Gruppo creato." msgid "Could not create group." msgstr "Impossibile creare il gruppo." -#: ../../mod/group.php:43 ../../mod/group.php:115 +#: ../../mod/group.php:43 ../../mod/group.php:123 msgid "Group not found." msgstr "Gruppo non trovato." @@ -1614,64 +1937,59 @@ msgstr "Gruppo non trovato." msgid "Group name changed." msgstr "Il nome del gruppo è cambiato." -#: ../../mod/group.php:67 ../../mod/profperm.php:19 ../../index.php:255 +#: ../../mod/group.php:67 ../../mod/profperm.php:19 ../../index.php:265 msgid "Permission denied" msgstr "Permesso negato" -#: ../../mod/group.php:74 +#: ../../mod/group.php:82 msgid "Create a group of contacts/friends." msgstr "Crea un gruppo di amici/contatti." -#: ../../mod/group.php:75 ../../mod/group.php:158 +#: ../../mod/group.php:83 ../../mod/group.php:166 msgid "Group Name: " msgstr "Nome del gruppo:" -#: ../../mod/group.php:90 +#: ../../mod/group.php:98 msgid "Group removed." msgstr "Gruppo rimosso." -#: ../../mod/group.php:92 +#: ../../mod/group.php:100 msgid "Unable to remove group." msgstr "Impossibile rimuovere il gruppo." -#: ../../mod/group.php:156 ../../mod/profperm.php:96 +#: ../../mod/group.php:164 ../../mod/profperm.php:105 msgid "Click on a contact to add or remove." msgstr "Clicca su un contatto per aggiungerlo o rimuoverlo." -#: ../../mod/group.php:157 +#: ../../mod/group.php:165 msgid "Group Editor" msgstr "Modifica gruppo" -#: ../../mod/group.php:172 +#: ../../mod/group.php:180 msgid "Members" msgstr "Membri" -#: ../../mod/group.php:186 +#: ../../mod/group.php:195 msgid "All Contacts" msgstr "Tutti i Contatti" -#: ../../mod/profperm.php:25 ../../mod/profperm.php:46 +#: ../../mod/profperm.php:25 ../../mod/profperm.php:55 msgid "Invalid profile identifier." msgstr "Indentificativo del profilo non valido." -#: ../../mod/profperm.php:92 +#: ../../mod/profperm.php:101 msgid "Profile Visibility Editor" msgstr "Modifica Visibilità del Profilo" -#: ../../mod/profperm.php:94 ../../mod/profile.php:116 -#: ../../include/profile_advanced.php:7 -msgid "Profile" -msgstr "Profilo" - -#: ../../mod/profperm.php:105 +#: ../../mod/profperm.php:114 msgid "Visible To" msgstr "Visibile A" -#: ../../mod/profperm.php:116 +#: ../../mod/profperm.php:128 msgid "All Contacts (with secure profile access)" msgstr "Tutti i Contatti (con profilo ad accesso sicuro)" -#: ../../mod/viewcontacts.php:25 ../../boot.php:2059 +#: ../../mod/viewcontacts.php:25 ../../include/text.php:555 msgid "View Contacts" msgstr "Guarda contatti" @@ -1679,40 +1997,48 @@ msgstr "Guarda contatti" msgid "No contacts." msgstr "Nessuno contatto." -#: ../../mod/register.php:49 +#: ../../mod/register.php:53 +msgid "An invitation is required." +msgstr "E' richiesto un invito." + +#: ../../mod/register.php:58 +msgid "Invitation could not be verified." +msgstr "L'invito non puo' essere verificato." + +#: ../../mod/register.php:66 msgid "Invalid OpenID url" msgstr "Url OpenID non valido" -#: ../../mod/register.php:64 +#: ../../mod/register.php:81 msgid "Please enter the required information." msgstr "Inserisci le informazioni richieste." -#: ../../mod/register.php:76 +#: ../../mod/register.php:95 msgid "Please use a shorter name." msgstr "Usa un nome più corto." -#: ../../mod/register.php:78 +#: ../../mod/register.php:97 msgid "Name too short." msgstr "Il Nome è troppo corto." -#: ../../mod/register.php:93 +#: ../../mod/register.php:112 msgid "That doesn't appear to be your full (First Last) name." msgstr "Questo non sembra essere il tuo nome completo (Nome Cognome)." -#: ../../mod/register.php:97 +#: ../../mod/register.php:117 msgid "Your email domain is not among those allowed on this site." msgstr "" "Il dominio della tua email non è tra quelli autorizzati su questo sito." -#: ../../mod/register.php:100 +#: ../../mod/register.php:120 msgid "Not a valid email address." msgstr "Indirizzo email invaildo." -#: ../../mod/register.php:106 +#: ../../mod/register.php:130 msgid "Cannot use that email." msgstr "Questa email non si puo' usare." -#: ../../mod/register.php:111 +#: ../../mod/register.php:136 msgid "" "Your \"nickname\" can only contain \"a-z\", \"0-9\", \"-\", and \"_\", and " "must also begin with a letter." @@ -1720,54 +2046,54 @@ msgstr "" "Il tuo \"soprannome\" puo' contenere solo \"a-z\", \"0-9\", \"-\", e \"_\", " "e deve cominciare con una lettera." -#: ../../mod/register.php:117 ../../mod/register.php:217 +#: ../../mod/register.php:142 ../../mod/register.php:243 msgid "Nickname is already registered. Please choose another." msgstr "Soprannome già registrato. Scegline un'altro." -#: ../../mod/register.php:136 +#: ../../mod/register.php:161 msgid "SERIOUS ERROR: Generation of security keys failed." msgstr "ERRORE GRAVE: Generazione delle chiavi di sicurezza fallito." -#: ../../mod/register.php:203 +#: ../../mod/register.php:229 msgid "An error occurred during registration. Please try again." msgstr "Si è verificato un errore durante la registrazione. Prova ancora." -#: ../../mod/register.php:239 +#: ../../mod/register.php:265 msgid "An error occurred creating your default profile. Please try again." msgstr "Si è verificato un errore creando il tuo profilo. Prova ancora." -#: ../../mod/register.php:333 ../../mod/regmod.php:96 +#: ../../mod/register.php:367 ../../mod/regmod.php:52 #, php-format msgid "Registration details for %s" msgstr "Dettagli registrazione per %s" -#: ../../mod/register.php:341 +#: ../../mod/register.php:375 msgid "" "Registration successful. Please check your email for further instructions." msgstr "" "Registrazione completata. Controlla la tua mail per ulteriori informazioni." -#: ../../mod/register.php:345 +#: ../../mod/register.php:379 msgid "Failed to send email message. Here is the message that failed." msgstr "" "Errore inviando il messaggio email. Questo è il messaggio non inviato." -#: ../../mod/register.php:350 +#: ../../mod/register.php:384 msgid "Your registration can not be processed." msgstr "La tua registrazione non puo' essere elaborata." -#: ../../mod/register.php:383 +#: ../../mod/register.php:421 #, php-format msgid "Registration request at %s" msgstr "Richiesta di registrazione su %s" -#: ../../mod/register.php:392 +#: ../../mod/register.php:430 msgid "Your registration is pending approval by the site owner." msgstr "" "La tua richiesta è in attesa di approvazione da parte del prorietario del " "sito." -#: ../../mod/register.php:440 +#: ../../mod/register.php:479 msgid "" "You may (optionally) fill in this form via OpenID by supplying your OpenID " "and clicking 'Register'." @@ -1775,7 +2101,7 @@ msgstr "" "Puoi (opzionalmento) riempire questa maschera via OpenID inserendo il tuo " "OpenID e cliccando 'Registra'." -#: ../../mod/register.php:441 +#: ../../mod/register.php:480 msgid "" "If you are not familiar with OpenID, please leave that field blank and fill " "in the rest of the items." @@ -1783,27 +2109,35 @@ msgstr "" "Se non hai familiarità con OpenID, lascia quel campo in bianco e riempi il " "resto della maschera." -#: ../../mod/register.php:442 +#: ../../mod/register.php:481 msgid "Your OpenID (optional): " msgstr "Il tuo OpenID (opzionale): " -#: ../../mod/register.php:456 +#: ../../mod/register.php:495 msgid "Include your profile in member directory?" msgstr "Includi il tuo profilo nell'elenco dei membir?" -#: ../../mod/register.php:472 +#: ../../mod/register.php:511 +msgid "Membership on this site is by invitation only." +msgstr "La registrazione su questo sito è solo su invito." + +#: ../../mod/register.php:512 +msgid "Your invitation ID: " +msgstr "L'ID del tuo invito:" + +#: ../../mod/register.php:515 ../../mod/admin.php:299 msgid "Registration" msgstr "Registrazione" -#: ../../mod/register.php:480 +#: ../../mod/register.php:523 msgid "Your Full Name (e.g. Joe Smith): " msgstr "Il tuo Nome Completo (p.e. Mario Rossi): " -#: ../../mod/register.php:481 +#: ../../mod/register.php:524 msgid "Your Email Address: " msgstr "Il tuo Indirizzo Email: " -#: ../../mod/register.php:482 +#: ../../mod/register.php:525 msgid "" "Choose a profile nickname. This must begin with a text character. Your " "profile address on this site will then be " @@ -1812,39 +2146,41 @@ msgstr "" "Scegli un soprannome. Deve cominciare con un carattere. L'indirizzo del tuo " "profilo sarà 'soprannome@$sitename'." -#: ../../mod/register.php:483 +#: ../../mod/register.php:526 msgid "Choose a nickname: " msgstr "Scegli un soprannome: " -#: ../../mod/register.php:486 ../../include/nav.php:59 ../../boot.php:835 +#: ../../mod/register.php:529 ../../include/nav.php:59 ../../boot.php:637 msgid "Register" msgstr "Regitrati" -#: ../../mod/like.php:110 ../../addon/facebook/facebook.php:774 -#: ../../include/conversation.php:20 +#: ../../mod/like.php:110 ../../addon/facebook/facebook.php:954 +#: ../../include/diaspora.php:446 ../../include/conversation.php:26 +#: ../../include/conversation.php:35 msgid "status" msgstr "stato" -#: ../../mod/like.php:127 ../../addon/facebook/facebook.php:778 -#: ../../include/conversation.php:25 +#: ../../mod/like.php:127 ../../addon/facebook/facebook.php:958 +#: ../../include/diaspora.php:463 ../../include/conversation.php:43 #, php-format msgid "%1$s likes %2$s's %3$s" msgstr "A %1$s piace %3$s di %2$s" -#: ../../mod/like.php:129 ../../include/conversation.php:28 +#: ../../mod/like.php:129 ../../include/diaspora.php:465 +#: ../../include/conversation.php:46 #, php-format msgid "%1$s doesn't like %2$s's %3$s" msgstr "A %1$s non piace %3$s di %2$s" -#: ../../mod/friendika.php:43 +#: ../../mod/friendika.php:42 msgid "This is Friendika version" msgstr "Questo è Friendika versione" -#: ../../mod/friendika.php:44 +#: ../../mod/friendika.php:43 msgid "running at web location" msgstr "in esecuzione all'indirizzo" -#: ../../mod/friendika.php:46 +#: ../../mod/friendika.php:45 msgid "" "Shared content within the Friendika network is provided under the Creative Commons " @@ -1854,7 +2190,7 @@ msgstr "" " href=\"http://creativecommons.org/licenses/by/3.0/\">Creative Commons " "Attribution 3.0 license" -#: ../../mod/friendika.php:48 +#: ../../mod/friendika.php:47 msgid "" "Please visit Project.Friendika.com to learn " @@ -1863,11 +2199,11 @@ msgstr "" "Visita Project.Friendika.com " "per saperne di più sul progetto Friendika." -#: ../../mod/friendika.php:50 +#: ../../mod/friendika.php:49 msgid "Bug reports and issues: please visit" msgstr "Segnalazioni di bug e problemi: visita" -#: ../../mod/friendika.php:51 +#: ../../mod/friendika.php:50 msgid "" "Suggestions, praise, donations, etc. - please email \"Info\" at Friendika - " "dot com" @@ -1875,72 +2211,68 @@ msgstr "" "Suggerimenti, preghiere, donazioni, etc - invia una email a \"Info\" at " "Friendika - dot.com" -#: ../../mod/friendika.php:56 +#: ../../mod/friendika.php:55 msgid "Installed plugins/addons/apps" msgstr "Plugin/Addon/Applicazioni installate" -#: ../../mod/friendika.php:64 +#: ../../mod/friendika.php:63 msgid "No installed plugins/addons/apps" msgstr "Nessuno plugin/addons/applicazione installata" -#: ../../mod/regmod.php:12 -msgid "Please login." -msgstr "Accedi." +#: ../../mod/regmod.php:61 +msgid "Account approved." +msgstr "Account approvato." -#: ../../mod/regmod.php:56 +#: ../../mod/regmod.php:93 #, php-format msgid "Registration revoked for %s" msgstr "Registrazione revocata per %s" #: ../../mod/regmod.php:105 -msgid "Account approved." -msgstr "Account approvato." +msgid "Please login." +msgstr "Accedi." -#: ../../mod/update_network.php:22 ../../mod/update_profile.php:41 -msgid "[Embedded content - reload page to view]" -msgstr "[Contenuto incorporato - ricarica la pagina per vederlo]" - -#: ../../mod/item.php:37 +#: ../../mod/item.php:81 msgid "Unable to locate original post." msgstr "Impossibile trovare il messaggio originale." -#: ../../mod/item.php:128 +#: ../../mod/item.php:196 msgid "Empty post discarded." msgstr "Messaggio vuoto scartato." -#: ../../mod/item.php:214 ../../mod/message.php:93 -#: ../../mod/wall_upload.php:79 ../../mod/wall_upload.php:88 -#: ../../mod/wall_upload.php:95 +#: ../../mod/item.php:296 ../../mod/message.php:93 +#: ../../mod/wall_upload.php:81 ../../mod/wall_upload.php:90 +#: ../../mod/wall_upload.php:97 msgid "Wall Photos" msgstr "Foto Bacheca" -#: ../../mod/item.php:517 ../../mod/item.php:560 ../../mod/item.php:583 -#: ../../mod/item.php:624 ../../mod/dfrn_notify.php:193 -#: ../../mod/dfrn_notify.php:401 ../../mod/dfrn_notify.php:444 -#: ../../mod/dfrn_notify.php:530 ../../mod/dfrn_notify.php:571 +#: ../../mod/item.php:623 ../../mod/item.php:668 ../../mod/item.php:691 +#: ../../mod/item.php:734 ../../mod/dfrn_notify.php:293 +#: ../../mod/dfrn_notify.php:503 ../../mod/dfrn_notify.php:548 +#: ../../mod/dfrn_notify.php:634 ../../mod/dfrn_notify.php:677 msgid "noreply" msgstr "nessuna risposta" -#: ../../mod/item.php:559 ../../mod/item.php:623 ../../mod/dfrn_notify.php:570 +#: ../../mod/item.php:667 ../../mod/item.php:733 ../../mod/dfrn_notify.php:676 msgid "Administrator@" msgstr "Amministratore@" -#: ../../mod/item.php:562 ../../mod/dfrn_notify.php:446 -#: ../../mod/dfrn_notify.php:573 +#: ../../mod/item.php:670 ../../mod/dfrn_notify.php:550 +#: ../../mod/dfrn_notify.php:679 #, php-format msgid "%s commented on an item at %s" msgstr "%s ha commentato un elemento su %s" -#: ../../mod/item.php:626 +#: ../../mod/item.php:736 #, php-format msgid "%s posted to your profile wall at %s" msgstr "%s ha scritto sulla tua bacheca su %s" -#: ../../mod/item.php:655 +#: ../../mod/item.php:765 msgid "System error. Post not saved." msgstr "Errore di sistema. Messaggio non salvato." -#: ../../mod/item.php:674 +#: ../../mod/item.php:784 #, php-format msgid "" "This message was sent to you by %s, a member of the Friendika social " @@ -1949,12 +2281,12 @@ msgstr "" "Questo messaggio ti è stato inviato da %s, un membro del social network " "Friendika." -#: ../../mod/item.php:676 +#: ../../mod/item.php:786 #, php-format msgid "You may visit them online at %s" msgstr "Puoi visitarli online presso %s" -#: ../../mod/item.php:677 +#: ../../mod/item.php:787 msgid "" "Please contact the sender by replying to this post if you do not wish to " "receive these messages." @@ -1962,15 +2294,11 @@ msgstr "" "Contatta il mittente rispondendo a questo post se non vuoi ricevere questi " "messaggi." -#: ../../mod/item.php:679 +#: ../../mod/item.php:789 #, php-format msgid "%s posted an update." msgstr "%s ha inviato un aggiornamento." -#: ../../mod/item.php:730 ../../mod/display.php:25 ../../mod/display.php:142 -msgid "Item not found." -msgstr "Elemento non trovato." - #: ../../mod/profile_photo.php:28 msgid "Image uploaded but image cropping failed." msgstr "L'immagine è stata caricata, ma il ritaglio è fallito." @@ -2026,6 +2354,10 @@ msgstr "Fatto" msgid "Image uploaded successfully." msgstr "Immagine caricata con successo." +#: ../../mod/hcard.php:11 ../../mod/profile.php:11 ../../boot.php:792 +msgid "No profile" +msgstr "Nessun profilo" + #: ../../mod/removeme.php:42 ../../mod/removeme.php:45 msgid "Remove My Account" msgstr "Rimuovi il mio Account" @@ -2062,7 +2394,7 @@ msgstr "Messaggio inviato." msgid "Message could not be sent." msgstr "Il messaggio non puo' essere inviato." -#: ../../mod/message.php:125 ../../include/nav.php:101 +#: ../../mod/message.php:125 ../../include/nav.php:102 msgid "Messages" msgstr "Messaggi" @@ -2086,7 +2418,7 @@ msgstr "Messaggio cancellato." msgid "Conversation removed." msgstr "Conversazione rimossa." -#: ../../mod/message.php:172 ../../include/conversation.php:684 +#: ../../mod/message.php:172 ../../include/conversation.php:699 msgid "Please enter a link URL:" msgstr "Inserisci l'indirizzo del link:" @@ -2102,7 +2434,8 @@ msgstr "A:" msgid "Subject:" msgstr "Oggetto:" -#: ../../mod/message.php:185 ../../mod/message.php:319 ../../mod/invite.php:63 +#: ../../mod/message.php:185 ../../mod/message.php:319 +#: ../../mod/invite.php:101 msgid "Your message:" msgstr "Il tuo messaggio:" @@ -2130,59 +2463,410 @@ msgstr "Cancella messaggio" msgid "Send Reply" msgstr "Invia risposta" -#: ../../mod/profile.php:11 ../../boot.php:2270 -msgid "No profile" -msgstr "Nessun profilo" +#: ../../mod/admin.php:66 ../../mod/admin.php:297 +msgid "Site" +msgstr "Sito" -#: ../../mod/profile.php:59 +#: ../../mod/admin.php:67 ../../mod/admin.php:460 ../../mod/admin.php:472 +msgid "Users" +msgstr "Utenti" + +#: ../../mod/admin.php:68 ../../mod/admin.php:549 ../../mod/admin.php:586 +msgid "Plugins" +msgstr "Plugin" + +#: ../../mod/admin.php:69 +msgid "Update" +msgstr "Aggiorna" + +#: ../../mod/admin.php:83 ../../mod/admin.php:651 +msgid "Logs" +msgstr "Log" + +#: ../../mod/admin.php:88 +msgid "User registrations waiting for confirmation" +msgstr "Utenti registrati in attesa di conferma" + +#: ../../mod/admin.php:118 ../../mod/admin.php:502 ../../mod/display.php:25 +#: ../../mod/display.php:112 ../../include/items.php:1842 +msgid "Item not found." +msgstr "Elemento non trovato." + +#: ../../mod/admin.php:151 ../../mod/admin.php:296 ../../mod/admin.php:459 +#: ../../mod/admin.php:548 ../../mod/admin.php:585 ../../mod/admin.php:650 +msgid "Administration" +msgstr "Amministrazione" + +#: ../../mod/admin.php:152 +msgid "Summary" +msgstr "Sommario" + +#: ../../mod/admin.php:153 +msgid "Registered users" +msgstr "Utenti registrati" + +#: ../../mod/admin.php:155 +msgid "Pending registrations" +msgstr "Registrazioni in attesa" + +#: ../../mod/admin.php:156 +msgid "Version" +msgstr "Versione" + +#: ../../mod/admin.php:158 +msgid "Active plugins" +msgstr "Plugin attivi" + +#: ../../mod/admin.php:245 +msgid "Site settings updated." +msgstr "Impostazioni del sito aggiornate." + +#: ../../mod/admin.php:289 +msgid "Closed" +msgstr "Chiusa" + +#: ../../mod/admin.php:290 +msgid "Requires approval" +msgstr "Richiede l'approvazione" + +#: ../../mod/admin.php:291 +msgid "Open" +msgstr "Aperta" + +#: ../../mod/admin.php:300 +msgid "File upload" +msgstr "Caricamento file" + +#: ../../mod/admin.php:301 +msgid "Policies" +msgstr "Politiche" + +#: ../../mod/admin.php:302 +msgid "Advanced" +msgstr "Avanzate" + +#: ../../mod/admin.php:306 ../../addon/statusnet/statusnet.php:459 +msgid "Site name" +msgstr "Nome del sito" + +#: ../../mod/admin.php:307 +msgid "Banner/Logo" +msgstr "Banner/Logo" + +#: ../../mod/admin.php:308 +msgid "System language" +msgstr "Lingua di sistema" + +#: ../../mod/admin.php:309 +msgid "System theme" +msgstr "Tema di sistema" + +#: ../../mod/admin.php:311 +msgid "Maximum image size" +msgstr "Massima dimensione immagini" + +#: ../../mod/admin.php:313 +msgid "Register policy" +msgstr "Politica di registrazione" + +#: ../../mod/admin.php:314 +msgid "Register text" +msgstr "Testo registrazione" + +#: ../../mod/admin.php:315 +msgid "Allowed friend domains" +msgstr "Domini amici consentiti" + +#: ../../mod/admin.php:316 +msgid "Allowed email domains" +msgstr "Domini email consentiti" + +#: ../../mod/admin.php:317 +msgid "Block public" +msgstr "Blocca pagine pubbliche" + +#: ../../mod/admin.php:318 +msgid "Force publish" +msgstr "Forza publicazione" + +#: ../../mod/admin.php:319 +msgid "Global directory update URL" +msgstr "URL aggiornamento Elenco Globale" + +#: ../../mod/admin.php:321 +msgid "Block multiple registrations" +msgstr "Blocca registrazioni multiple" + +#: ../../mod/admin.php:322 +msgid "OpenID support" +msgstr "Supporto OpenID" + +#: ../../mod/admin.php:323 +msgid "Gravatar support" +msgstr "Supporto Gravatar" + +#: ../../mod/admin.php:324 +msgid "Fullname check" +msgstr "Controllo nome completo" + +#: ../../mod/admin.php:325 +msgid "UTF-8 Regular expressions" +msgstr "Espressioni regolari UTF-8" + +#: ../../mod/admin.php:326 +msgid "Show Community Page" +msgstr "Mostra pagina Comunità" + +#: ../../mod/admin.php:327 +msgid "Enable OStatus support" +msgstr "Abilita supporto OStatus" + +#: ../../mod/admin.php:328 +msgid "Only allow Friendika contacts" +msgstr "Permetti solo contatti Friendika" + +#: ../../mod/admin.php:329 +msgid "Verify SSL" +msgstr "Verifica SSL" + +#: ../../mod/admin.php:330 +msgid "Proxy user" +msgstr "Utente Proxy" + +#: ../../mod/admin.php:331 +msgid "Proxy URL" +msgstr "URL Proxy" + +#: ../../mod/admin.php:332 +msgid "Network timeout" +msgstr "Timeout rete" + +#: ../../mod/admin.php:353 +#, php-format +msgid "%s user blocked" +msgid_plural "%s users blocked/unblocked" +msgstr[0] "%s utente bloccato" +msgstr[1] "%s utenti bloccati/sbloccati" + +#: ../../mod/admin.php:360 +#, php-format +msgid "%s user deleted" +msgid_plural "%s users deleted" +msgstr[0] "%s utente cancellato" +msgstr[1] "%s utenti cancellati" + +#: ../../mod/admin.php:394 +#, php-format +msgid "User '%s' deleted" +msgstr "Utente '%s' cancellato" + +#: ../../mod/admin.php:401 +#, php-format +msgid "User '%s' unblocked" +msgstr "Utente '%s' sbloccato" + +#: ../../mod/admin.php:401 +#, php-format +msgid "User '%s' blocked" +msgstr "Utente '%s' bloccato" + +#: ../../mod/admin.php:462 +msgid "select all" +msgstr "seleziona tutti" + +#: ../../mod/admin.php:463 +msgid "User registrations waiting for confirm" +msgstr "Richieste di registrazione in attesa di conferma" + +#: ../../mod/admin.php:464 +msgid "Request date" +msgstr "Data richiesta" + +#: ../../mod/admin.php:464 ../../mod/admin.php:473 +msgid "Email" +msgstr "Email" + +#: ../../mod/admin.php:465 +msgid "No registrations." +msgstr "Nessuna registrazione." + +#: ../../mod/admin.php:467 +msgid "Deny" +msgstr "Nega" + +#: ../../mod/admin.php:469 +msgid "Block" +msgstr "Blocca" + +#: ../../mod/admin.php:470 +msgid "Unblock" +msgstr "Sblocca" + +#: ../../mod/admin.php:473 +msgid "Register date" +msgstr "Data registrazione" + +#: ../../mod/admin.php:473 +msgid "Last login" +msgstr "Ultimo accesso" + +#: ../../mod/admin.php:473 +msgid "Last item" +msgstr "Ultimo elemento" + +#: ../../mod/admin.php:473 +msgid "Account" +msgstr "Account" + +#: ../../mod/admin.php:475 +msgid "" +"Selected users will be deleted!\\n\\nEverything these users had posted on " +"this site will be permanently deleted!\\n\\nAre you sure?" +msgstr "" +"Gli utenti selezionati saranno cancellati!\\n\\nTutto quello che gli utenti " +"hanno inviato su questo sito sarà permanentemente canellato!\\n\\nSei " +"sicuro?" + +#: ../../mod/admin.php:476 +msgid "" +"The user {0} will be deleted!\\n\\nEverything this user has posted on this " +"site will be permanently deleted!\\n\\nAre you sure?" +msgstr "" +"L'utente {0} sarà cancellato!\\n\\nTutto quello che ha inviato su questo " +"sito sarà permanentemente canellato!\\n\\nSei sicuro?" + +#: ../../mod/admin.php:512 +#, php-format +msgid "Plugin %s disabled." +msgstr "Plugin %s disabilitato." + +#: ../../mod/admin.php:516 +#, php-format +msgid "Plugin %s enabled." +msgstr "Plugin %s abilitato." + +#: ../../mod/admin.php:526 +msgid "Disable" +msgstr "Disabilita" + +#: ../../mod/admin.php:528 +msgid "Enable" +msgstr "Abilita" + +#: ../../mod/admin.php:550 +msgid "Toggle" +msgstr "Inverti" + +#: ../../mod/admin.php:551 ../../include/nav.php:108 +msgid "Settings" +msgstr "Impostazioni" + +#: ../../mod/admin.php:613 +msgid "Log settings updated." +msgstr "Impostazioni Log aggiornate." + +#: ../../mod/admin.php:653 +msgid "Clear" +msgstr "Pulisci" + +#: ../../mod/admin.php:659 +msgid "Debugging" +msgstr "Debugging" + +#: ../../mod/admin.php:660 +msgid "Log file" +msgstr "File di Log" + +#: ../../mod/admin.php:660 +msgid "Must be writable by web server. Relative to your Friendika index.php." +msgstr "" +"Deve essere scrivibile dal server web. Relativo al file index.php della tua " +"installazione Friendika." + +#: ../../mod/admin.php:661 +msgid "Log level" +msgstr "Livello di Log" + +#: ../../mod/admin.php:702 +msgid "Close" +msgstr "Chiudi" + +#: ../../mod/admin.php:708 +msgid "FTP Host" +msgstr "Indirizzo FTP" + +#: ../../mod/admin.php:709 +msgid "FTP Path" +msgstr "Percorso FTP" + +#: ../../mod/admin.php:710 +msgid "FTP User" +msgstr "Utente FTP" + +#: ../../mod/admin.php:711 +msgid "FTP Password" +msgstr "Pasword FTP" + +#: ../../mod/profile.php:102 ../../mod/display.php:63 msgid "Access to this profile has been restricted." msgstr "L'accesso a questo profilo è stato limitato." -#: ../../mod/profile.php:115 -msgid "Status" -msgstr "Stato" +#: ../../mod/profile.php:133 +msgid "Tips for New Members" +msgstr "Consigli per i Nuovi Utenti" -#: ../../mod/profile.php:117 -msgid "Photos" -msgstr "Foto" - -#: ../../mod/openid.php:62 ../../mod/openid.php:122 ../../include/auth.php:114 -#: ../../include/auth.php:139 ../../include/auth.php:192 +#: ../../mod/openid.php:62 ../../mod/openid.php:122 ../../include/auth.php:120 +#: ../../include/auth.php:145 ../../include/auth.php:198 msgid "Login failed." msgstr "Accesso fallito." -#: ../../mod/openid.php:78 ../../include/auth.php:208 +#: ../../mod/openid.php:78 ../../include/auth.php:214 msgid "Welcome " msgstr "Benvenuto" -#: ../../mod/openid.php:79 ../../include/auth.php:209 +#: ../../mod/openid.php:79 ../../include/auth.php:215 msgid "Please upload a profile photo." msgstr "Carica una foto per il profilo." -#: ../../mod/openid.php:82 ../../include/auth.php:212 +#: ../../mod/openid.php:82 ../../include/auth.php:218 msgid "Welcome back " msgstr "Bentornato " -#: ../../mod/follow.php:43 -msgid "The profile address specified does not provide adequate information." +#: ../../mod/follow.php:39 +msgid "" +"This site is not configured to allow communications with other networks." msgstr "" -"L'indirizzo del profilo specificato non fornisce adeguate informazioni." +"Questo sito non è configurato per permettere la comunicazione con altri " +"network." -#: ../../mod/follow.php:45 +#: ../../mod/follow.php:40 ../../mod/follow.php:50 msgid "No compatible communication protocols or feeds were discovered." msgstr "" "Non sono stati trovati nessun protocollo di comunicazione o feed " "compatibili." -#: ../../mod/follow.php:47 +#: ../../mod/follow.php:48 +msgid "The profile address specified does not provide adequate information." +msgstr "" +"L'indirizzo del profilo specificato non fornisce adeguate informazioni." + +#: ../../mod/follow.php:52 msgid "An author or name was not found." msgstr "Non è stato trovato un nome dell'autore" -#: ../../mod/follow.php:49 +#: ../../mod/follow.php:54 msgid "No browser URL could be matched to this address." msgstr "Nessun URL puo' essere associato a questo indirizzo." -#: ../../mod/follow.php:57 +#: ../../mod/follow.php:61 +msgid "" +"The profile address specified belongs to a network which has been disabled " +"on this site." +msgstr "" +"L'indirizzo del profilo specificato appartiene a un network che è stato " +"disabilitato su questo sito." + +#: ../../mod/follow.php:66 msgid "" "Limited profile. This person will be unable to receive direct/personal " "notifications from you." @@ -2190,19 +2874,19 @@ msgstr "" "Profilo limitato. Questa persona non sarà in grado di ricevere nofiche " "dirette/personali da te." -#: ../../mod/follow.php:112 +#: ../../mod/follow.php:122 msgid "Unable to retrieve contact information." msgstr "Impossibile recuperare informazioni sul contatto." -#: ../../mod/follow.php:158 +#: ../../mod/follow.php:168 msgid "following" msgstr "segue" -#: ../../mod/display.php:135 +#: ../../mod/display.php:105 msgid "Item has been removed." msgstr "L'elemento è stato rimosso." -#: ../../mod/dfrn_notify.php:251 +#: ../../mod/dfrn_notify.php:353 msgid "New mail received at " msgstr "Nuova mail ricevuta su " @@ -2210,16 +2894,16 @@ msgstr "Nuova mail ricevuta su " msgid "Applications" msgstr "Applicazioni" -#: ../../mod/search.php:26 ../../include/nav.php:70 ../../boot.php:2114 +#: ../../mod/apps.php:11 +msgid "No installed applications." +msgstr "Nessuna applicazione installata." + +#: ../../mod/search.php:26 ../../include/text.php:610 ../../include/nav.php:69 msgid "Search" msgstr "Cerca" -#: ../../mod/search.php:69 -msgid "No results." -msgstr "Nessun risultato." - -#: ../../mod/profiles.php:21 ../../mod/profiles.php:240 -#: ../../mod/profiles.php:345 ../../mod/dfrn_confirm.php:62 +#: ../../mod/profiles.php:21 ../../mod/profiles.php:236 +#: ../../mod/profiles.php:341 ../../mod/dfrn_confirm.php:62 msgid "Profile not found." msgstr "Profilo non trovato." @@ -2227,187 +2911,182 @@ msgstr "Profilo non trovato." msgid "Profile Name is required." msgstr "Il Nome Profilo è richiesto ." -#: ../../mod/profiles.php:202 +#: ../../mod/profiles.php:198 msgid "Profile updated." msgstr "Profilo aggiornato." -#: ../../mod/profiles.php:257 +#: ../../mod/profiles.php:253 msgid "Profile deleted." msgstr "Profilo elminato." -#: ../../mod/profiles.php:273 ../../mod/profiles.php:304 +#: ../../mod/profiles.php:269 ../../mod/profiles.php:300 msgid "Profile-" msgstr "Profilo-" -#: ../../mod/profiles.php:292 ../../mod/profiles.php:331 +#: ../../mod/profiles.php:288 ../../mod/profiles.php:327 msgid "New profile created." msgstr "Nuovo profilo creato." -#: ../../mod/profiles.php:310 +#: ../../mod/profiles.php:306 msgid "Profile unavailable to clone." msgstr "Impossibile duplicare il plrofilo." -#: ../../mod/profiles.php:357 +#: ../../mod/profiles.php:353 msgid "Hide your contact/friend list from viewers of this profile?" msgstr "" "Nascondi la tua lista di contatti/amici ai visitatori di questo profilo?" -#: ../../mod/profiles.php:366 -msgid "Hide profile details and all your messages from unknown viewers?" -msgstr "" -"Nascondi i dettagli del profilo e tutti i tuoi messaggi ai visitatori " -"sconosciuti?" - -#: ../../mod/profiles.php:382 +#: ../../mod/profiles.php:371 msgid "Edit Profile Details" msgstr "Modifica i Dettagli del Profilo" -#: ../../mod/profiles.php:384 +#: ../../mod/profiles.php:373 msgid "View this profile" msgstr "Visualizza questo profilo" -#: ../../mod/profiles.php:385 +#: ../../mod/profiles.php:374 msgid "Create a new profile using these settings" msgstr "Crea un nuovo profilo usando queste impostazioni" -#: ../../mod/profiles.php:386 +#: ../../mod/profiles.php:375 msgid "Clone this profile" msgstr "Clona questo profilo" -#: ../../mod/profiles.php:387 +#: ../../mod/profiles.php:376 msgid "Delete this profile" msgstr "Cancella questo profilo" -#: ../../mod/profiles.php:388 +#: ../../mod/profiles.php:377 msgid "Profile Name:" msgstr "Nome del profilo:" -#: ../../mod/profiles.php:389 +#: ../../mod/profiles.php:378 msgid "Your Full Name:" msgstr "Il tuo nome completo:" -#: ../../mod/profiles.php:390 +#: ../../mod/profiles.php:379 msgid "Title/Description:" msgstr "Breve descrizione (es. titolo, posizione, altro):" -#: ../../mod/profiles.php:391 +#: ../../mod/profiles.php:380 msgid "Your Gender:" msgstr "Il tuo sesso:" -#: ../../mod/profiles.php:392 -msgid "Birthday (y/m/d):" -msgstr "Data di nascita (a/m/g):" +#: ../../mod/profiles.php:381 +#, php-format +msgid "Birthday (%s):" +msgstr "Compleanno (%s)" -#: ../../mod/profiles.php:393 +#: ../../mod/profiles.php:382 msgid "Street Address:" msgstr "Indirizzo:" -#: ../../mod/profiles.php:394 +#: ../../mod/profiles.php:383 msgid "Locality/City:" msgstr "Località/Città:" -#: ../../mod/profiles.php:395 +#: ../../mod/profiles.php:384 msgid "Postal/Zip Code:" msgstr "CAP:" -#: ../../mod/profiles.php:396 +#: ../../mod/profiles.php:385 msgid "Country:" msgstr "Nazione:" -#: ../../mod/profiles.php:397 +#: ../../mod/profiles.php:386 msgid "Region/State:" msgstr "Regione/Stato:" -#: ../../mod/profiles.php:398 +#: ../../mod/profiles.php:387 msgid " Marital Status:" msgstr " Stato sentimentale:" -#: ../../mod/profiles.php:399 +#: ../../mod/profiles.php:388 msgid "Who: (if applicable)" msgstr "Con chi: (se possibile)" -#: ../../mod/profiles.php:400 +#: ../../mod/profiles.php:389 msgid "Examples: cathy123, Cathy Williams, cathy@example.com" msgstr "Esempio: cathy123, Cathy Williams, cathy@example.com" -#: ../../mod/profiles.php:401 ../../include/profile_advanced.php:90 +#: ../../mod/profiles.php:390 ../../include/profile_advanced.php:90 msgid "Sexual Preference:" msgstr "Preferenza sessuale:" -#: ../../mod/profiles.php:402 +#: ../../mod/profiles.php:391 msgid "Homepage URL:" msgstr "Indirizzo homepage:" -#: ../../mod/profiles.php:403 ../../include/profile_advanced.php:115 +#: ../../mod/profiles.php:392 ../../include/profile_advanced.php:115 msgid "Political Views:" msgstr "Orientamento politico:" -#: ../../mod/profiles.php:404 +#: ../../mod/profiles.php:393 msgid "Religious Views:" msgstr "Orientamento religioso:" -#: ../../mod/profiles.php:405 +#: ../../mod/profiles.php:394 msgid "Public Keywords:" msgstr "Parole chiave pubbliche:" -#: ../../mod/profiles.php:406 +#: ../../mod/profiles.php:395 msgid "Private Keywords:" msgstr "Parole chiave private:" -#: ../../mod/profiles.php:407 +#: ../../mod/profiles.php:396 msgid "Example: fishing photography software" msgstr "Esempio: pesca fotografia programmazione" -#: ../../mod/profiles.php:408 +#: ../../mod/profiles.php:397 msgid "(Used for suggesting potential friends, can be seen by others)" msgstr "" "(Utilizzato per suggerire potenziali amici, può essere visto da altri)" -#: ../../mod/profiles.php:409 +#: ../../mod/profiles.php:398 msgid "(Used for searching profiles, never shown to others)" msgstr "(Usato per cercare tra i profili, mai mostrato ad altri)" -#: ../../mod/profiles.php:410 +#: ../../mod/profiles.php:399 msgid "Tell us about yourself..." msgstr "Racconta di te..." -#: ../../mod/profiles.php:411 +#: ../../mod/profiles.php:400 msgid "Hobbies/Interests" msgstr "Hobbie/Interessi" -#: ../../mod/profiles.php:412 +#: ../../mod/profiles.php:401 msgid "Contact information and Social Networks" msgstr "Informazioni su contatti e Social network" -#: ../../mod/profiles.php:413 +#: ../../mod/profiles.php:402 msgid "Musical interests" msgstr "Interessi musicali" -#: ../../mod/profiles.php:414 +#: ../../mod/profiles.php:403 msgid "Books, literature" msgstr "Libri, letteratura" -#: ../../mod/profiles.php:415 +#: ../../mod/profiles.php:404 msgid "Television" msgstr "Televisione" -#: ../../mod/profiles.php:416 +#: ../../mod/profiles.php:405 msgid "Film/dance/culture/entertainment" msgstr "Film/danza/cultura/intrattenimento" -#: ../../mod/profiles.php:417 +#: ../../mod/profiles.php:406 msgid "Love/romance" msgstr "Amore/romanticismo" -#: ../../mod/profiles.php:418 +#: ../../mod/profiles.php:407 msgid "Work/employment" msgstr "Lavoro/impiego" -#: ../../mod/profiles.php:419 +#: ../../mod/profiles.php:408 msgid "School/education" msgstr "Scuola/educazione" -#: ../../mod/profiles.php:424 +#: ../../mod/profiles.php:413 msgid "" "This is your public profile.
It may " "be visible to anybody using the internet." @@ -2415,31 +3094,31 @@ msgstr "" "Questo è il tuo profilo publico.
Potrebbe essere visto da chiunque attraverso internet." -#: ../../mod/profiles.php:435 ../../mod/directory.php:112 +#: ../../mod/profiles.php:423 ../../mod/directory.php:112 msgid "Age: " msgstr "Età : " -#: ../../mod/profiles.php:470 ../../include/nav.php:108 +#: ../../mod/profiles.php:458 ../../include/nav.php:109 msgid "Profiles" msgstr "Profili" -#: ../../mod/profiles.php:471 +#: ../../mod/profiles.php:459 msgid "Change profile photo" msgstr "Cambia la foto del profilo" -#: ../../mod/profiles.php:472 +#: ../../mod/profiles.php:460 msgid "Create New Profile" msgstr "Crea un nuovo profilo" -#: ../../mod/profiles.php:482 +#: ../../mod/profiles.php:470 msgid "Profile Image" msgstr "Immagine del Profilo" -#: ../../mod/profiles.php:484 -msgid "Visible to everybody" -msgstr "Visibile a tutti" +#: ../../mod/profiles.php:472 +msgid "visible to everybody" +msgstr "visibile a tutti" -#: ../../mod/profiles.php:485 +#: ../../mod/profiles.php:473 msgid "Edit visibility" msgstr "Modifica visibilità" @@ -2467,103 +3146,111 @@ msgstr "Genere:" msgid "No entries (some entries may be hidden)." msgstr "Nessuna voce (qualche voce potrebbe essere nascosta)." -#: ../../mod/invite.php:28 +#: ../../mod/invite.php:35 #, php-format msgid "%s : Not a valid email address." msgstr "%s: Non è un indirizzo email valido." -#: ../../mod/invite.php:32 +#: ../../mod/invite.php:59 #, php-format msgid "Please join my network on %s" msgstr "Unisciti al mio social network su %s" -#: ../../mod/invite.php:42 +#: ../../mod/invite.php:69 #, php-format msgid "%s : Message delivery failed." msgstr "%s: Consegna del messaggio fallita." -#: ../../mod/invite.php:46 +#: ../../mod/invite.php:73 #, php-format msgid "%d message sent." msgid_plural "%d messages sent." msgstr[0] "%d messaggio inviato." msgstr[1] "%d messaggi inviati." -#: ../../mod/invite.php:61 +#: ../../mod/invite.php:92 +msgid "You have no more invitations available" +msgstr "Non hai altri inviti disponibili" + +#: ../../mod/invite.php:99 msgid "Send invitations" msgstr "Invia inviti" -#: ../../mod/invite.php:62 +#: ../../mod/invite.php:100 msgid "Enter email addresses, one per line:" msgstr "Inserisci gli indirizzi email, uno per riga:" -#: ../../mod/invite.php:64 +#: ../../mod/invite.php:102 #, php-format msgid "Please join my social network on %s" msgstr "Unisciti al mio social network su %s" -#: ../../mod/invite.php:65 +#: ../../mod/invite.php:103 msgid "To accept this invitation, please visit:" msgstr "Per accettare questo invito visita:" -#: ../../mod/invite.php:66 +#: ../../mod/invite.php:104 +msgid "You will need to supply this invitation code: $invite_code" +msgstr "Sarà necessario fornire questo codice invito: $ invite_code" + +#: ../../mod/invite.php:104 msgid "" "Once you have registered, please connect with me via my profile page at:" msgstr "Una volta registrato, connettiti con me sul mio profilo a:" -#: ../../mod/dfrn_confirm.php:231 +#: ../../mod/dfrn_confirm.php:233 msgid "Response from remote site was not understood." msgstr "La risposta dal sito remota non è stata capita." -#: ../../mod/dfrn_confirm.php:240 +#: ../../mod/dfrn_confirm.php:242 msgid "Unexpected response from remote site: " msgstr "Risposta dal sito remoto inaspettata: " -#: ../../mod/dfrn_confirm.php:248 +#: ../../mod/dfrn_confirm.php:250 msgid "Confirmation completed successfully." msgstr "Conferma completata con successo." -#: ../../mod/dfrn_confirm.php:250 ../../mod/dfrn_confirm.php:264 -#: ../../mod/dfrn_confirm.php:271 +#: ../../mod/dfrn_confirm.php:252 ../../mod/dfrn_confirm.php:266 +#: ../../mod/dfrn_confirm.php:273 msgid "Remote site reported: " msgstr "Il sito remoto riporta: " -#: ../../mod/dfrn_confirm.php:262 +#: ../../mod/dfrn_confirm.php:264 msgid "Temporary failure. Please wait and try again." msgstr "Errore temporaneo. Attendi e riprova." -#: ../../mod/dfrn_confirm.php:269 +#: ../../mod/dfrn_confirm.php:271 msgid "Introduction failed or was revoked." msgstr "La presentazione è fallita o è stata revocata." -#: ../../mod/dfrn_confirm.php:387 +#: ../../mod/dfrn_confirm.php:393 msgid "Unable to set contact photo." msgstr "Impossibile impostare la foto del contatto." -#: ../../mod/dfrn_confirm.php:430 ../../include/conversation.php:61 +#: ../../mod/dfrn_confirm.php:436 ../../include/conversation.php:79 #, php-format msgid "%1$s is now friends with %2$s" msgstr "%1$s è ora amico di %2$s" -#: ../../mod/dfrn_confirm.php:501 +#: ../../mod/dfrn_confirm.php:507 #, php-format msgid "No user record found for '%s' " msgstr "Nessun utente trovato per '%s'" -#: ../../mod/dfrn_confirm.php:511 +#: ../../mod/dfrn_confirm.php:517 msgid "Our site encryption key is apparently messed up." msgstr "La nostra chiave di criptazione del sito è apparentemente incasinata." -#: ../../mod/dfrn_confirm.php:522 +#: ../../mod/dfrn_confirm.php:528 msgid "Empty site URL was provided or URL could not be decrypted by us." msgstr "" "E' stato fornito un indirizzo vuoto o non possiamo decriptare l'indirizzo." -#: ../../mod/dfrn_confirm.php:534 +#: ../../mod/dfrn_confirm.php:549 msgid "Contact record was not found for you on our site." msgstr "Il contatto non è stato trovato sul nostro sito." -#: ../../mod/dfrn_confirm.php:562 +#: ../../mod/dfrn_confirm.php:578 msgid "" "The ID provided by your system is a duplicate on our system. It should work " "if you try again." @@ -2571,103 +3258,130 @@ msgstr "" "L'ID fornito dal tuo sistema è duplicato sul nostro sistema. Dovrebbe " "funzionare se provi ancora." -#: ../../mod/dfrn_confirm.php:573 +#: ../../mod/dfrn_confirm.php:589 msgid "Unable to set your contact credentials on our system." msgstr "" "Impossibile impostare le credenziali del tuo contatto sul nostro sistema." -#: ../../mod/dfrn_confirm.php:626 +#: ../../mod/dfrn_confirm.php:642 msgid "Unable to update your contact profile details on our system" msgstr "Impossibile aggiornare i dettagli del tuo contatto sul nostro sistema" -#: ../../mod/dfrn_confirm.php:656 +#: ../../mod/dfrn_confirm.php:672 #, php-format msgid "Connection accepted at %s" msgstr "Connession accettata su %s" -#: ../../addon/facebook/facebook.php:248 +#: ../../addon/facebook/facebook.php:314 msgid "Facebook disabled" msgstr "Facebook disabilitato" -#: ../../addon/facebook/facebook.php:253 +#: ../../addon/facebook/facebook.php:319 msgid "Updating contacts" msgstr "Aggiornamento contatti" -#: ../../addon/facebook/facebook.php:262 +#: ../../addon/facebook/facebook.php:328 msgid "Facebook API key is missing." msgstr "Chiave API Facebook mancante." -#: ../../addon/facebook/facebook.php:269 +#: ../../addon/facebook/facebook.php:335 msgid "Facebook Connect" msgstr "Facebook Connect" -#: ../../addon/facebook/facebook.php:275 +#: ../../addon/facebook/facebook.php:341 msgid "Install Facebook connector for this account." msgstr "Installa Facebook connector per questo account" -#: ../../addon/facebook/facebook.php:282 +#: ../../addon/facebook/facebook.php:348 msgid "Remove Facebook connector" msgstr "Rimuovi Facebook connector" -#: ../../addon/facebook/facebook.php:288 +#: ../../addon/facebook/facebook.php:354 msgid "Post to Facebook by default" msgstr "Invia su Facebook di default" -#: ../../addon/facebook/facebook.php:350 +#: ../../addon/facebook/facebook.php:358 +msgid "Link all your Facebook friends and conversations" +msgstr "Collega tutti i tuoi amici di Facebook e le conversazioni" + +#: ../../addon/facebook/facebook.php:363 +msgid "Warning: Your Facebook privacy settings can not be imported." +msgstr "" +"Attenzione: Le impostazioni di privacy di Facebook non possono essere " +"importate." + +#: ../../addon/facebook/facebook.php:364 +msgid "" +"Linked Facebook items may be publicly visible, depending on" +" your privacy settings for this website/account." +msgstr "" +"Gli elementi da Facebook possono essere visibili " +"pubblicamente, a seconda delle tue impostazioni di privacy per questo " +"sito/account" + +#: ../../addon/facebook/facebook.php:419 msgid "Facebook" msgstr "Facebook" -#: ../../addon/facebook/facebook.php:351 +#: ../../addon/facebook/facebook.php:420 msgid "Facebook Connector Settings" msgstr "Impostazioni Connettore Facebook" -#: ../../addon/facebook/facebook.php:365 +#: ../../addon/facebook/facebook.php:434 msgid "Post to Facebook" msgstr "Invia a Facebook" -#: ../../addon/facebook/facebook.php:434 +#: ../../addon/facebook/facebook.php:507 msgid "" "Post to Facebook cancelled because of multi-network access permission " "conflict." msgstr "Invio su Facebook annullato per un conflitto nei permessi di accesso." -#: ../../addon/facebook/facebook.php:500 +#: ../../addon/facebook/facebook.php:580 msgid "Image: " msgstr "Immagine: " -#: ../../addon/facebook/facebook.php:576 +#: ../../addon/facebook/facebook.php:656 msgid "View on Friendika" msgstr "Vedi su Friendika" -#: ../../addon/widgets/widgets.php:41 -msgid "Widgets key: " -msgstr "Chiave Widgets: " +#: ../../addon/facebook/facebook.php:687 +msgid "Facebook post failed. Queued for retry." +msgstr "Invio a Facebook fallito. In attesa di riprovare." -#: ../../addon/widgets/widgets.php:45 +#: ../../addon/widgets/widgets.php:53 msgid "Generate new key" msgstr "Genera una nuova chiave" +#: ../../addon/widgets/widgets.php:56 +msgid "Widgets key" +msgstr "Chiave Widget" + +#: ../../addon/widgets/widgets.php:58 +msgid "Widgets available" +msgstr "Widget disponibili" + #: ../../addon/widgets/widget_friends.php:30 msgid "Connect on Friendika!" msgstr "Connettiti su Friendika!" -#: ../../addon/tictac/tictac.php:14 +#: ../../addon/tictac/tictac.php:20 msgid "Three Dimensional Tic-Tac-Toe" msgstr "Tic-Tac-Toe tridimensionale" -#: ../../addon/tictac/tictac.php:47 +#: ../../addon/tictac/tictac.php:53 msgid "3D Tic-Tac-Toe" msgstr "3D Tic-Tac-Toe" -#: ../../addon/tictac/tictac.php:52 +#: ../../addon/tictac/tictac.php:58 msgid "New game" msgstr "Nuovo gioco" -#: ../../addon/tictac/tictac.php:53 +#: ../../addon/tictac/tictac.php:59 msgid "New game with handicap" msgstr "Nuovo gioco con l'handicap" -#: ../../addon/tictac/tictac.php:54 +#: ../../addon/tictac/tictac.php:60 msgid "" "Three dimensional tic-tac-toe is just like the traditional game except that " "it is played on multiple levels simultaneously. " @@ -2675,7 +3389,7 @@ msgstr "" "Tic-tac-toe tridimensionale è come il gioco tradizionale, solo che si gioca " "su livelli multipli contemporaneamente." -#: ../../addon/tictac/tictac.php:55 +#: ../../addon/tictac/tictac.php:61 msgid "" "In this case there are three levels. You win by getting three in a row on " "any level, as well as up, down, and diagonally across the different levels." @@ -2684,7 +3398,7 @@ msgstr "" " su ogni livello, anche verso l'alto, il basso e diagonalmente anche " "attraverso i diversi livelli." -#: ../../addon/tictac/tictac.php:57 +#: ../../addon/tictac/tictac.php:63 msgid "" "The handicap game disables the center position on the middle level because " "the player claiming this square often has an unfair advantage." @@ -2692,96 +3406,117 @@ msgstr "" "L'handicap disabilita la casella centrale sul livello di mezzo, perchè il " "giocatore che si prende quella casella spesso ha un deciso vantaggio." -#: ../../addon/tictac/tictac.php:176 +#: ../../addon/tictac/tictac.php:182 msgid "You go first..." msgstr "Cominci tu..." -#: ../../addon/tictac/tictac.php:181 +#: ../../addon/tictac/tictac.php:187 msgid "I'm going first this time..." msgstr "Comincio io questa volta..." -#: ../../addon/tictac/tictac.php:187 +#: ../../addon/tictac/tictac.php:193 msgid "You won!" msgstr "Hai vinto!" -#: ../../addon/tictac/tictac.php:193 ../../addon/tictac/tictac.php:218 +#: ../../addon/tictac/tictac.php:199 ../../addon/tictac/tictac.php:224 msgid "\"Cat\" game!" msgstr "Stallo!" -#: ../../addon/tictac/tictac.php:216 +#: ../../addon/tictac/tictac.php:222 msgid "I won!" msgstr "Ho vinto!" -#: ../../addon/randplace/randplace.php:171 +#: ../../addon/randplace/randplace.php:170 msgid "Randplace Settings" msgstr "Impostazioni Randplace" -#: ../../addon/randplace/randplace.php:173 +#: ../../addon/randplace/randplace.php:172 msgid "Enable Randplace Plugin" msgstr "Abilita il plugin Randplace" -#: ../../addon/java_upload/java_upload.php:33 -msgid "Select files to upload: " -msgstr "Seleziona i file da caricare: " - -#: ../../addon/java_upload/java_upload.php:35 -msgid "" -"Use the following controls only if the Java uploader [above] fails to " -"launch." -msgstr "" -"Usa il seguente controllo solo se il il caricatore Java (qui sopra) non " -"parte." - -#: ../../addon/js_upload/js_upload.php:39 +#: ../../addon/js_upload/js_upload.php:43 msgid "Upload a file" msgstr "Carica un file" -#: ../../addon/js_upload/js_upload.php:40 +#: ../../addon/js_upload/js_upload.php:44 msgid "Drop files here to upload" msgstr "Trascina un file qui per caricarlo" -#: ../../addon/js_upload/js_upload.php:42 +#: ../../addon/js_upload/js_upload.php:46 msgid "Failed" msgstr "Fallito" -#: ../../addon/js_upload/js_upload.php:288 +#: ../../addon/js_upload/js_upload.php:292 msgid "No files were uploaded." msgstr "Nessun file è stato caricato." -#: ../../addon/js_upload/js_upload.php:294 +#: ../../addon/js_upload/js_upload.php:298 msgid "Uploaded file is empty" msgstr "Il file caricato è vuoto" -#: ../../addon/js_upload/js_upload.php:299 -msgid "Uploaded file is too large" -msgstr "Il file caricato è troppo grande" - -#: ../../addon/js_upload/js_upload.php:317 +#: ../../addon/js_upload/js_upload.php:321 msgid "File has an invalid extension, it should be one of " msgstr "Il file ha una estensione non valida, dovrebbe essere una di " -#: ../../addon/js_upload/js_upload.php:328 +#: ../../addon/js_upload/js_upload.php:332 msgid "Upload was cancelled, or server error encountered" msgstr "" "Il caricamento è stato cancellato, o si è verificato un errore sul server" -#: ../../addon/oembed/oembed.php:29 +#: ../../addon/impressum/impressum.php:25 +msgid "Impressum" +msgstr "Impressum" + +#: ../../addon/impressum/impressum.php:38 +#: ../../addon/impressum/impressum.php:40 +#: ../../addon/impressum/impressum.php:70 +msgid "Site Owner" +msgstr "Proprietario del sito" + +#: ../../addon/impressum/impressum.php:38 +#: ../../addon/impressum/impressum.php:74 +msgid "Email Address" +msgstr "Indirizzo email" + +#: ../../addon/impressum/impressum.php:43 +#: ../../addon/impressum/impressum.php:72 +msgid "Postal Address" +msgstr "Indirizzo" + +#: ../../addon/impressum/impressum.php:49 +msgid "" +"The impressum addon needs to be configured!
Please add at least the " +"owner variable to your config file. For other variables please " +"refer to the README file of the addon." +msgstr "" +"Il plugin Impressum deve essere configurato!
Aggiungi almeno il " +"Proprietario del sito." + +#: ../../addon/impressum/impressum.php:71 +msgid "Site Owners Profile" +msgstr "Profilo del proprietario del sito" + +#: ../../addon/impressum/impressum.php:73 +msgid "Notes" +msgstr "Note" + +#: ../../addon/oembed/oembed.php:30 msgid "OEmbed settings updated" msgstr "Impostazioni OEmbed aggiornate" -#: ../../addon/oembed/oembed.php:42 -msgid "Use OEmbed for YouTube videos: " -msgstr "Usa OEmbed per i video da YouTube:" +#: ../../addon/oembed/oembed.php:43 +msgid "Use OEmbed for YouTube videos" +msgstr "Usa OEmbed per i video di YouTube" -#: ../../addon/oembed/oembed.php:76 +#: ../../addon/oembed/oembed.php:71 msgid "URL to embed:" msgstr "URL da incorporare:" -#: ../../addon/statusnet/statusnet.php:78 +#: ../../addon/statusnet/statusnet.php:133 msgid "Post to StatusNet" msgstr "Invia a StatusNet" -#: ../../addon/statusnet/statusnet.php:117 +#: ../../addon/statusnet/statusnet.php:175 msgid "" "Please contact your site administrator.
The provided API URL is not " "valid." @@ -2789,25 +3524,25 @@ msgstr "" "Contatta l'amministratore del sito.
L'URL delle API fornito non è " "valido." -#: ../../addon/statusnet/statusnet.php:145 +#: ../../addon/statusnet/statusnet.php:203 msgid "We could not contact the StatusNet API with the Path you entered." msgstr "" "Non possiamo conttattare le API di StatusNet con il percorso che hai " "inserito." -#: ../../addon/statusnet/statusnet.php:172 +#: ../../addon/statusnet/statusnet.php:230 msgid "StatusNet settings updated." msgstr "Impostazioni StatusNet aggiornate." -#: ../../addon/statusnet/statusnet.php:195 +#: ../../addon/statusnet/statusnet.php:253 msgid "StatusNet Posting Settings" msgstr "Impostazioni di invio a StatusNet" -#: ../../addon/statusnet/statusnet.php:209 +#: ../../addon/statusnet/statusnet.php:267 msgid "Globally Available StatusNet OAuthKeys" msgstr "Chiavi OAuth StatusNet disponibili sul sito" -#: ../../addon/statusnet/statusnet.php:210 +#: ../../addon/statusnet/statusnet.php:268 msgid "" "There are preconfigured OAuth key pairs for some StatusNet servers " "available. If you are useing one of them, please use these credentials. If " @@ -2818,11 +3553,11 @@ msgstr "" "credenziali. Altrimenti sei libero di collegarti a un'altra installazione di" " StatusNet (vedi sotto)." -#: ../../addon/statusnet/statusnet.php:218 +#: ../../addon/statusnet/statusnet.php:276 msgid "Provide your own OAuth Credentials" msgstr "Fornisci le tue credenziali OAuth" -#: ../../addon/statusnet/statusnet.php:219 +#: ../../addon/statusnet/statusnet.php:277 msgid "" "No consumer key pair for StatusNet found. Register your Friendika Account as" " an desktop client on your StatusNet account, copy the consumer key pair " @@ -2837,19 +3572,19 @@ msgstr "" "esiste già una coppia di chiavi per questa installazione di Friendika sulla " "installazione di StatusNet che ti interessa." -#: ../../addon/statusnet/statusnet.php:221 +#: ../../addon/statusnet/statusnet.php:279 msgid "OAuth Consumer Key" msgstr "OAuth Consumer Key" -#: ../../addon/statusnet/statusnet.php:224 +#: ../../addon/statusnet/statusnet.php:282 msgid "OAuth Consumer Secret" msgstr "OAuth Consumer Secret" -#: ../../addon/statusnet/statusnet.php:227 +#: ../../addon/statusnet/statusnet.php:285 msgid "Base API Path (remember the trailing /)" msgstr "Indirizzo di base per le API (ricorda la / alla fine)" -#: ../../addon/statusnet/statusnet.php:248 +#: ../../addon/statusnet/statusnet.php:306 msgid "" "To connect to your StatusNet account click the button below to get a " "security code from StatusNet which you have to copy into the input box below" @@ -2861,59 +3596,89 @@ msgstr "" " sotto per poi inviare la form. Solo i tuoi messaggi " "pubblci saranno inviati a StatusNet." -#: ../../addon/statusnet/statusnet.php:249 +#: ../../addon/statusnet/statusnet.php:307 msgid "Log in with StatusNet" msgstr "Login con StatuNet" -#: ../../addon/statusnet/statusnet.php:251 +#: ../../addon/statusnet/statusnet.php:309 msgid "Copy the security code from StatusNet here" msgstr "Copia il codice di sicurezza da StatusNet qui" -#: ../../addon/statusnet/statusnet.php:257 +#: ../../addon/statusnet/statusnet.php:315 msgid "Cancel Connection Process" msgstr "Annulla il processo di connessione" -#: ../../addon/statusnet/statusnet.php:259 +#: ../../addon/statusnet/statusnet.php:317 msgid "Current StatusNet API is" msgstr "Le API StatusNet correnti sono" -#: ../../addon/statusnet/statusnet.php:260 +#: ../../addon/statusnet/statusnet.php:318 msgid "Cancel StatusNet Connection" msgstr "Annulla la connessione a StatusNet" -#: ../../addon/statusnet/statusnet.php:271 ../../addon/twitter/twitter.php:165 +#: ../../addon/statusnet/statusnet.php:329 ../../addon/twitter/twitter.php:180 msgid "Currently connected to: " msgstr "Al momento collegato con:" -#: ../../addon/statusnet/statusnet.php:272 +#: ../../addon/statusnet/statusnet.php:330 msgid "" -"If enabled all your public postings will be posted to the " -"associated StatusNet account." +"If enabled all your public postings can be posted to the " +"associated StatusNet account. You can choose to do so by default (here) or " +"for every posting separately in the posting options when writing the entry." msgstr "" -"Se abilitato tutti i tuoi messaggi pubblici saranno inviati" -" all'account StatuNet associato." +"Se abilitato tutti i tuoi messaggi pubblici possono essere " +"inviati all'account StatusNet associato. Puoi scegliere di farlo sempre " +"(qui) o ogni volta che invii, nelle impostazioni di privacy del messaggio." -#: ../../addon/statusnet/statusnet.php:274 +#: ../../addon/statusnet/statusnet.php:332 msgid "Allow posting to StatusNet" msgstr "Permetti l'invio a StatusNet" -#: ../../addon/statusnet/statusnet.php:277 +#: ../../addon/statusnet/statusnet.php:335 msgid "Send public postings to StatusNet by default" msgstr "Di default invia i messaggi pubblici a StatusNet" -#: ../../addon/statusnet/statusnet.php:282 ../../addon/twitter/twitter.php:172 +#: ../../addon/statusnet/statusnet.php:340 ../../addon/twitter/twitter.php:191 msgid "Clear OAuth configuration" msgstr "Cancella la configurazione OAuth" -#: ../../addon/twitter/twitter.php:64 +#: ../../addon/statusnet/statusnet.php:460 +msgid "API URL" +msgstr "API URL" + +#: ../../addon/statusnet/statusnet.php:461 +msgid "Consumer Secret" +msgstr "Consumer Secret" + +#: ../../addon/statusnet/statusnet.php:462 +msgid "Consumer Key" +msgstr "Consumer Key" + +#: ../../addon/piwik/piwik.php:77 +msgid "Piwik Base URL" +msgstr "Piwik Base URL" + +#: ../../addon/piwik/piwik.php:78 +msgid "Site ID" +msgstr "Site ID" + +#: ../../addon/piwik/piwik.php:79 +msgid "Show opt-out cookie link?" +msgstr "Mostra il link per il cookie opt-out?" + +#: ../../addon/twitter/twitter.php:70 msgid "Post to Twitter" msgstr "Inva a Twitter" -#: ../../addon/twitter/twitter.php:122 +#: ../../addon/twitter/twitter.php:115 +msgid "Twitter settings updated." +msgstr "Impostazioni di Twitter aggiornate." + +#: ../../addon/twitter/twitter.php:137 msgid "Twitter Posting Settings" msgstr "Impostazioni Invio a Twitter" -#: ../../addon/twitter/twitter.php:129 +#: ../../addon/twitter/twitter.php:144 msgid "" "No consumer key pair for Twitter found. Please contact your site " "administrator." @@ -2921,7 +3686,7 @@ msgstr "" "Nessuna coopia di chiavi per Twitter trovata. Contatta il tuo amministratore" " del sito." -#: ../../addon/twitter/twitter.php:148 +#: ../../addon/twitter/twitter.php:163 msgid "" "At this Friendika instance the Twitter plugin was enabled but you have not " "yet connected your account to your Twitter account. To do so click the " @@ -2935,31 +3700,45 @@ msgstr "" "dovrai copiare nel box più sotto per poi inviare la form. Solo i tuoi " "messaggi pubblici verranno inviati anche su Twitter." -#: ../../addon/twitter/twitter.php:149 +#: ../../addon/twitter/twitter.php:164 msgid "Log in with Twitter" msgstr "Accedi con Twitter" -#: ../../addon/twitter/twitter.php:151 +#: ../../addon/twitter/twitter.php:166 msgid "Copy the PIN from Twitter here" msgstr "Copia il PIN da Twitter qui" -#: ../../addon/twitter/twitter.php:166 +#: ../../addon/twitter/twitter.php:181 msgid "" -"If enabled all your public postings will be posted to the " -"associated Twitter account as well." +"If enabled all your public postings can be posted to the " +"associated Twitter account. You can choose to do so by default (here) or for" +" every posting separately in the posting options when writing the entry." msgstr "" -"Se abilitato tutti i tuoi messaggi pubblici verranno " -"inviati anche sull'account Twitter associato." +"Se abilitato tutti i tuoi messaggi pubblici possono essere " +"inviati all'account Twitter associato. Puoi scegliere di farlo sempre (qui) " +"o ogni volta che invii, nelle impostazioni di privacy del messaggio." -#: ../../addon/twitter/twitter.php:168 -msgid "Send public postings to Twitter" -msgstr "Invia messaggi pubblici su Twitter" +#: ../../addon/twitter/twitter.php:183 +msgid "Allow posting to Twitter" +msgstr "Permetti l'invio a Twitter" -#: ../../include/profile_advanced.php:23 ../../boot.php:2356 +#: ../../addon/twitter/twitter.php:186 +msgid "Send public postings to Twitter by default" +msgstr "Invia sempre i messaggi pubblici a Twitter" + +#: ../../addon/twitter/twitter.php:282 +msgid "Consumer key" +msgstr "Consumer key" + +#: ../../addon/twitter/twitter.php:283 +msgid "Consumer secret" +msgstr "Consumer secret" + +#: ../../include/profile_advanced.php:23 ../../boot.php:880 msgid "Gender:" msgstr "Genere:" -#: ../../include/profile_advanced.php:36 ../../include/items.php:1086 +#: ../../include/profile_advanced.php:36 ../../include/items.php:1137 msgid "Birthday:" msgstr "Compleanno:" @@ -2979,7 +3758,7 @@ msgstr "Età:" msgid " Status:" msgstr " Stato sentimentale:" -#: ../../include/profile_advanced.php:103 ../../boot.php:2362 +#: ../../include/profile_advanced.php:103 ../../boot.php:886 msgid "Homepage:" msgstr "Homepage:" @@ -3287,6 +4066,133 @@ msgstr "Non interessa" msgid "Ask me" msgstr "Chiedimelo" +#: ../../include/event.php:11 +msgid "l F d, Y \\@ g:i A" +msgstr "l d F Y \\@ G:i" + +#: ../../include/event.php:17 +msgid "Starts:" +msgstr "Inizia:" + +#: ../../include/event.php:27 +msgid "Finishes:" +msgstr "Finisce:" + +#: ../../include/text.php:229 +msgid "prev" +msgstr "prec" + +#: ../../include/text.php:231 +msgid "first" +msgstr "primo" + +#: ../../include/text.php:260 +msgid "last" +msgstr "ultimo" + +#: ../../include/text.php:263 +msgid "next" +msgstr "succ" + +#: ../../include/text.php:542 +msgid "No contacts" +msgstr "Nessun contatto" + +#: ../../include/text.php:550 +#, php-format +msgid "%d Contact" +msgid_plural "%d Contacts" +msgstr[0] "%d Contatto" +msgstr[1] "%d Contatti" + +#: ../../include/text.php:711 +msgid "Monday" +msgstr "Lunedì" + +#: ../../include/text.php:711 +msgid "Tuesday" +msgstr "Martedì" + +#: ../../include/text.php:711 +msgid "Wednesday" +msgstr "Mercoledì" + +#: ../../include/text.php:711 +msgid "Thursday" +msgstr "Giovedì" + +#: ../../include/text.php:711 +msgid "Friday" +msgstr "Venerdì" + +#: ../../include/text.php:711 +msgid "Saturday" +msgstr "Sabato" + +#: ../../include/text.php:711 +msgid "Sunday" +msgstr "Domenica" + +#: ../../include/text.php:715 +msgid "January" +msgstr "Gennaio" + +#: ../../include/text.php:715 +msgid "February" +msgstr "Febbraio" + +#: ../../include/text.php:715 +msgid "March" +msgstr "Marzo" + +#: ../../include/text.php:715 +msgid "April" +msgstr "Aprile" + +#: ../../include/text.php:715 +msgid "May" +msgstr "Maggio" + +#: ../../include/text.php:715 +msgid "June" +msgstr "Giugno" + +#: ../../include/text.php:715 +msgid "July" +msgstr "Luglio" + +#: ../../include/text.php:715 +msgid "August" +msgstr "Agosto" + +#: ../../include/text.php:715 +msgid "September" +msgstr "Settembre" + +#: ../../include/text.php:715 +msgid "October" +msgstr "Ottobre" + +#: ../../include/text.php:715 +msgid "November" +msgstr "Novembre" + +#: ../../include/text.php:715 +msgid "December" +msgstr "Dicembre" + +#: ../../include/text.php:778 +msgid "bytes" +msgstr "bytes" + +#: ../../include/text.php:861 +msgid "Select an alternate language" +msgstr "Seleziona una diversa lingua" + +#: ../../include/diaspora.php:309 +msgid "Sharing notification from Diaspora network" +msgstr "Notifica di condivisione dal network Diaspora*" + #: ../../include/oembed.php:95 msgid "Embedding disabled" msgstr "Inclusione disabilitata" @@ -3299,41 +4205,109 @@ msgstr "Crea un nuovo gruppo" msgid "Everybody" msgstr "Tutti" -#: ../../include/nav.php:41 ../../boot.php:865 +#: ../../include/nav.php:41 ../../boot.php:667 msgid "Logout" msgstr "Esci" -#: ../../include/nav.php:44 ../../boot.php:843 ../../boot.php:849 +#: ../../include/nav.php:41 +msgid "End this session" +msgstr "Finisci questa sessione" + +#: ../../include/nav.php:44 ../../boot.php:645 ../../boot.php:651 msgid "Login" msgstr "Accedi" -#: ../../include/nav.php:55 ../../include/nav.php:92 +#: ../../include/nav.php:44 +msgid "Sign in" +msgstr "Entra" + +#: ../../include/nav.php:55 ../../include/nav.php:93 msgid "Home" msgstr "Home" -#: ../../include/nav.php:68 +#: ../../include/nav.php:55 +msgid "Home Page" +msgstr "Home Page" + +#: ../../include/nav.php:59 +msgid "Create an account" +msgstr "Crea un account" + +#: ../../include/nav.php:64 +msgid "Help and documentation" +msgstr "Guida e documentazione" + +#: ../../include/nav.php:67 msgid "Apps" msgstr "Applicazioni" -#: ../../include/nav.php:80 +#: ../../include/nav.php:67 +msgid "Addon applications, utilities, games" +msgstr "Applicazioni, utilità e giochi aggiuntivi" + +#: ../../include/nav.php:69 +msgid "Search site content" +msgstr "Cerca nel contenuto del sito" + +#: ../../include/nav.php:79 +msgid "Conversations on this site" +msgstr "Conversazioni su questo sito" + +#: ../../include/nav.php:81 msgid "Directory" msgstr "Elenco" -#: ../../include/nav.php:90 +#: ../../include/nav.php:81 +msgid "People directory" +msgstr "Elenco delle persone" + +#: ../../include/nav.php:91 msgid "Network" msgstr "Rete" -#: ../../include/nav.php:98 +#: ../../include/nav.php:91 +msgid "Conversations from your friends" +msgstr "Conversazioni dai tuoi amici" + +#: ../../include/nav.php:93 +msgid "Your posts and conversations" +msgstr "I tuoi messaggi e le tue conversazioni" + +#: ../../include/nav.php:99 msgid "Notifications" msgstr "Notifiche" -#: ../../include/nav.php:104 +#: ../../include/nav.php:99 +msgid "Friend requests" +msgstr "Richieste di amicizia" + +#: ../../include/nav.php:102 +msgid "Private mail" +msgstr "Posta privata" + +#: ../../include/nav.php:105 msgid "Manage" msgstr "Gestisci" -#: ../../include/nav.php:107 -msgid "Settings" -msgstr "Impostazioni" +#: ../../include/nav.php:105 +msgid "Manage other pages" +msgstr "Gestisci altre pagine" + +#: ../../include/nav.php:109 +msgid "Manage/edit profiles" +msgstr "Gestisci/modifica i profili" + +#: ../../include/nav.php:110 +msgid "Manage/edit friends and contacts" +msgstr "Gestisci/modifica amici e contatti" + +#: ../../include/nav.php:117 +msgid "Admin" +msgstr "Amministrazione" + +#: ../../include/nav.php:117 +msgid "Site setup and configuration" +msgstr "Configurazione del sito" #: ../../include/auth.php:27 msgid "Logged out." @@ -3343,71 +4317,79 @@ msgstr "Sei uscito." msgid "Miscellaneous" msgstr "Varie" -#: ../../include/datetime.php:148 -msgid "less than a second ago" -msgstr "meno di un secondo fa" - -#: ../../include/datetime.php:151 +#: ../../include/datetime.php:105 ../../include/datetime.php:237 msgid "year" msgstr "anno" -#: ../../include/datetime.php:151 -msgid "years" -msgstr "anni" - -#: ../../include/datetime.php:152 +#: ../../include/datetime.php:110 ../../include/datetime.php:238 msgid "month" msgstr "mese" -#: ../../include/datetime.php:152 -msgid "months" -msgstr "mesi" - -#: ../../include/datetime.php:153 -msgid "week" -msgstr "settimana" - -#: ../../include/datetime.php:153 -msgid "weeks" -msgstr "settimane" - -#: ../../include/datetime.php:154 +#: ../../include/datetime.php:115 ../../include/datetime.php:240 msgid "day" msgstr "giorno" -#: ../../include/datetime.php:155 +#: ../../include/datetime.php:228 +msgid "never" +msgstr "mai" + +#: ../../include/datetime.php:234 +msgid "less than a second ago" +msgstr "meno di un secondo fa" + +#: ../../include/datetime.php:237 +msgid "years" +msgstr "anni" + +#: ../../include/datetime.php:238 +msgid "months" +msgstr "mesi" + +#: ../../include/datetime.php:239 +msgid "week" +msgstr "settimana" + +#: ../../include/datetime.php:239 +msgid "weeks" +msgstr "settimane" + +#: ../../include/datetime.php:240 +msgid "days" +msgstr "giorni" + +#: ../../include/datetime.php:241 msgid "hour" msgstr "ora" -#: ../../include/datetime.php:155 +#: ../../include/datetime.php:241 msgid "hours" msgstr "ore" -#: ../../include/datetime.php:156 +#: ../../include/datetime.php:242 msgid "minute" msgstr "minuto" -#: ../../include/datetime.php:156 +#: ../../include/datetime.php:242 msgid "minutes" msgstr "minuti" -#: ../../include/datetime.php:157 +#: ../../include/datetime.php:243 msgid "second" msgstr "secondo" -#: ../../include/datetime.php:157 +#: ../../include/datetime.php:243 msgid "seconds" msgstr "secondi" -#: ../../include/datetime.php:164 +#: ../../include/datetime.php:250 msgid " ago" msgstr " fa" -#: ../../include/poller.php:380 +#: ../../include/poller.php:418 msgid "From: " msgstr "Da: " -#: ../../include/bbcode.php:83 +#: ../../include/bbcode.php:116 msgid "Image/photo" msgstr "Immagine/foto" @@ -3416,328 +4398,230 @@ msgstr "Immagine/foto" msgid "Cannot locate DNS info for database server '%s'" msgstr "Non trovo le informazioni DNS per il database server '%s'" -#: ../../include/acl_selectors.php:133 -msgid "Visible To:" -msgstr "Visibile a:" +#: ../../include/acl_selectors.php:279 +msgid "Visible to everybody" +msgstr "Visibile a tutti" -#: ../../include/acl_selectors.php:133 -msgid "everybody" -msgstr "tutti" +#: ../../include/acl_selectors.php:280 +msgid "show" +msgstr "mostra" -#: ../../include/acl_selectors.php:137 ../../include/acl_selectors.php:152 -msgid "Groups" -msgstr "Gruppi" +#: ../../include/acl_selectors.php:281 +msgid "don't show" +msgstr "non mostrare" -#: ../../include/acl_selectors.php:148 -msgid "Except For:" -msgstr "Eccetto per:" - -#: ../../include/notifier.php:414 +#: ../../include/notifier.php:465 msgid "(no subject)" msgstr "(nessun oggetto)" -#: ../../include/items.php:1447 +#: ../../include/items.php:1526 msgid "You have a new follower at " msgstr "Hai un nuovo seguace su " -#: ../../include/conversation.php:191 ../../include/conversation.php:451 -#: ../../include/conversation.php:452 +#: ../../include/conversation.php:23 +msgid "event" +msgstr "evento" + +#: ../../include/conversation.php:213 ../../include/conversation.php:488 +#: ../../include/conversation.php:489 #, php-format msgid "View %s's profile" msgstr "Vedi il profilo di %s" -#: ../../include/conversation.php:207 +#: ../../include/conversation.php:222 ../../include/conversation.php:501 +#, php-format +msgid "%s from %s" +msgstr "%s da %s" + +#: ../../include/conversation.php:230 msgid "View in context" msgstr "Vedi nel contesto" -#: ../../include/conversation.php:278 +#: ../../include/conversation.php:301 msgid "See more posts like this" msgstr "Vedi altri post come questo" -#: ../../include/conversation.php:303 +#: ../../include/conversation.php:329 #, php-format msgid "See all %d comments" msgstr "Vedi tutti i %d commenti" -#: ../../include/conversation.php:453 +#: ../../include/conversation.php:427 +msgid "Select" +msgstr "Seleziona" + +#: ../../include/conversation.php:429 +msgid "toggle star status" +msgstr "Inverti stato preferito" + +#: ../../include/conversation.php:490 msgid "to" msgstr "a" -#: ../../include/conversation.php:454 +#: ../../include/conversation.php:491 msgid "Wall-to-Wall" msgstr "Bacheca-A-Bacheca" -#: ../../include/conversation.php:455 +#: ../../include/conversation.php:492 msgid "via Wall-To-Wall:" msgstr "sulla sua Bacheca:" -#: ../../include/conversation.php:593 +#: ../../include/conversation.php:534 +msgid "Delete Selected Items" +msgstr "Cancella elementi selezionati" + +#: ../../include/conversation.php:608 msgid "View status" msgstr "Vedi stato" -#: ../../include/conversation.php:594 +#: ../../include/conversation.php:609 msgid "View profile" msgstr "Vedi profilo" -#: ../../include/conversation.php:595 +#: ../../include/conversation.php:610 msgid "View photos" msgstr "Vedi foto" -#: ../../include/conversation.php:596 +#: ../../include/conversation.php:611 msgid "View recent" msgstr "Visualizza recente" -#: ../../include/conversation.php:598 +#: ../../include/conversation.php:613 msgid "Send PM" msgstr "Invia messaggio privato" -#: ../../include/conversation.php:648 +#: ../../include/conversation.php:663 #, php-format msgid "%s likes this." msgstr "Piace a %s." -#: ../../include/conversation.php:648 +#: ../../include/conversation.php:663 #, php-format msgid "%s doesn't like this." msgstr "Non piace a %s." -#: ../../include/conversation.php:652 +#: ../../include/conversation.php:667 #, php-format msgid "%2$d people like this." msgstr "Piace a %2$d persone." -#: ../../include/conversation.php:654 +#: ../../include/conversation.php:669 #, php-format msgid "%2$d people don't like this." msgstr "Non piace a %2$d persone." -#: ../../include/conversation.php:660 +#: ../../include/conversation.php:675 msgid "and" msgstr "e" -#: ../../include/conversation.php:663 +#: ../../include/conversation.php:678 #, php-format msgid ", and %d other people" msgstr ", e altre %d persone" -#: ../../include/conversation.php:664 +#: ../../include/conversation.php:679 #, php-format msgid "%s like this." msgstr "Piace a %s." -#: ../../include/conversation.php:664 +#: ../../include/conversation.php:679 #, php-format msgid "%s don't like this." msgstr "Non piace a %s." -#: ../../include/conversation.php:683 +#: ../../include/conversation.php:698 msgid "Visible to everybody" msgstr "Vsibile a tutti" -#: ../../include/conversation.php:685 +#: ../../include/conversation.php:700 msgid "Please enter a YouTube link:" msgstr "Inserisci l'indirizzo di YouTube:" -#: ../../include/conversation.php:686 +#: ../../include/conversation.php:701 msgid "Please enter a video(.ogg) link/URL:" msgstr "Inserisci il link a un video (.ogg):" -#: ../../include/conversation.php:687 +#: ../../include/conversation.php:702 msgid "Please enter an audio(.ogg) link/URL:" msgstr "Inserisci il link a un audio (.ogg):" -#: ../../include/conversation.php:688 +#: ../../include/conversation.php:703 msgid "Where are you right now?" msgstr "Dove sei ora?" -#: ../../include/conversation.php:689 +#: ../../include/conversation.php:704 msgid "Enter a title for this item" msgstr "Inserisci un titolo per questo elemento" -#: ../../include/conversation.php:740 +#: ../../include/conversation.php:755 msgid "Set title" msgstr "Imposta il titolo" -#: ../../boot.php:385 +#: ../../boot.php:410 msgid "Delete this item?" msgstr "Cancellare questo elemento?" -#: ../../boot.php:834 +#: ../../boot.php:636 msgid "Create a New Account" msgstr "Crea un Nuovo Account" -#: ../../boot.php:841 +#: ../../boot.php:643 msgid "Nickname or Email address: " msgstr "Soprannome o indirizzo Email: " -#: ../../boot.php:842 +#: ../../boot.php:644 msgid "Password: " msgstr "Password: " -#: ../../boot.php:847 +#: ../../boot.php:649 msgid "Nickname/Email/OpenID: " msgstr "Soprannome/Email/OpenID: " -#: ../../boot.php:848 +#: ../../boot.php:650 msgid "Password (if not OpenID): " msgstr "Password (se non OpenID): " -#: ../../boot.php:851 +#: ../../boot.php:653 msgid "Forgot your password?" msgstr "Dimenticata la password?" -#: ../../boot.php:1113 -msgid "prev" -msgstr "prec" - -#: ../../boot.php:1115 -msgid "first" -msgstr "primo" - -#: ../../boot.php:1144 -msgid "last" -msgstr "ultimo" - -#: ../../boot.php:1147 -msgid "next" -msgstr "succ" - -#: ../../boot.php:2046 -msgid "No contacts" -msgstr "Nessun contatto" - -#: ../../boot.php:2054 -#, php-format -msgid "%d Contact" -msgid_plural "%d Contacts" -msgstr[0] "%d Contatto" -msgstr[1] "%d Contatti" - -#: ../../boot.php:2329 +#: ../../boot.php:853 msgid "Connect" msgstr "Connetti" -#: ../../boot.php:2344 -msgid "Location:" -msgstr "Posizione:" - -#: ../../boot.php:2348 +#: ../../boot.php:872 msgid ", " msgstr ", " -#: ../../boot.php:2360 +#: ../../boot.php:884 msgid "Status:" msgstr "Stato:" -#: ../../boot.php:2457 -msgid "Monday" -msgstr "Lunedì" - -#: ../../boot.php:2457 -msgid "Tuesday" -msgstr "Martedì" - -#: ../../boot.php:2457 -msgid "Wednesday" -msgstr "Mercoledì" - -#: ../../boot.php:2457 -msgid "Thursday" -msgstr "Giovedì" - -#: ../../boot.php:2457 -msgid "Friday" -msgstr "Venerdì" - -#: ../../boot.php:2457 -msgid "Saturday" -msgstr "Sabato" - -#: ../../boot.php:2457 -msgid "Sunday" -msgstr "Domenica" - -#: ../../boot.php:2461 -msgid "January" -msgstr "Gennaio" - -#: ../../boot.php:2461 -msgid "February" -msgstr "Febbraio" - -#: ../../boot.php:2461 -msgid "March" -msgstr "Marzo" - -#: ../../boot.php:2461 -msgid "April" -msgstr "Aprile" - -#: ../../boot.php:2461 -msgid "May" -msgstr "Maggio" - -#: ../../boot.php:2461 -msgid "June" -msgstr "Giugno" - -#: ../../boot.php:2461 -msgid "July" -msgstr "Luglio" - -#: ../../boot.php:2461 -msgid "August" -msgstr "Agosto" - -#: ../../boot.php:2461 -msgid "September" -msgstr "Settembre" - -#: ../../boot.php:2461 -msgid "October" -msgstr "Ottobre" - -#: ../../boot.php:2461 -msgid "November" -msgstr "Novembre" - -#: ../../boot.php:2461 -msgid "December" -msgstr "Dicembre" - -#: ../../boot.php:2476 +#: ../../boot.php:975 msgid "g A l F d" msgstr "g A l d F" -#: ../../boot.php:2494 +#: ../../boot.php:993 msgid "Birthday Reminders" msgstr "Promemoria Compleanni" -#: ../../boot.php:2495 +#: ../../boot.php:994 msgid "Birthdays this week:" msgstr "Compleanni questa settimana:" -#: ../../boot.php:2496 +#: ../../boot.php:995 msgid "(Adjusted for local time)" msgstr "(Convertiti all'ora locale)" -#: ../../boot.php:2507 +#: ../../boot.php:1006 msgid "[today]" msgstr "[oggi]" -#: ../../boot.php:2570 -msgid "bytes" -msgstr "bytes" - -#: ../../boot.php:2744 -msgid "link to source" -msgstr "Collegamento all'originale" - -#: ../../index.php:199 +#: ../../index.php:209 msgid "Not Found" msgstr "Non Trovato" -#: ../../index.php:200 +#: ../../index.php:210 msgid "Page not found." msgstr "Pagina non trovata." diff --git a/view/it/strings.php b/view/it/strings.php index 32092a3f19..9e3a2262f3 100644 --- a/view/it/strings.php +++ b/view/it/strings.php @@ -24,6 +24,30 @@ $a->strings["Help:"] = "Guida:"; $a->strings["Help"] = "Guida"; $a->strings["File exceeds size limit of %d"] = "Il file supera il limite di dimensione di %d"; $a->strings["File upload failed."] = "Caricamento del file non riuscito."; +$a->strings["Friend suggestion sent."] = "Suggerimento di amicizia inviato."; +$a->strings["Suggest Friends"] = "Suggerisci Amici"; +$a->strings["Suggest a friend for %s"] = "Suggerisci un amico a %s"; +$a->strings["Status"] = "Stato"; +$a->strings["Profile"] = "Profilo"; +$a->strings["Photos"] = "Foto"; +$a->strings["Events"] = "Eventi"; +$a->strings["Personal Notes"] = "Note personali"; +$a->strings["Create New Event"] = "Crea un nuovo Evento"; +$a->strings["Previous"] = "Precendente"; +$a->strings["Next"] = "Successivo"; +$a->strings["l, F j"] = "l j F"; +$a->strings["Edit event"] = "Modifca Evento"; +$a->strings["link to source"] = "Collegamento all'originale"; +$a->strings["hour:minute"] = "ora:minuti"; +$a->strings["Event details"] = "Dettagli dell'Evento"; +$a->strings["Format is %s %s. Starting date and Description are required."] = "Il formato è %s %s. La data di inizio e la descrizione sono obbligatori."; +$a->strings["Event Starts:"] = "L'Evento inizia:"; +$a->strings["Finish date/time is not known or not relevant"] = "La data/l'ora di fine è sconosciuta o non importante"; +$a->strings["Event Finishes:"] = "L'Evento finisce:"; +$a->strings["Adjust for viewer timezone"] = "Regola nel fuso orario di chi legge"; +$a->strings["Description:"] = "Descrizione"; +$a->strings["Location:"] = "Posizione:"; +$a->strings["Share this event"] = "Condividi questo Evento"; $a->strings["Cancel"] = "Annulla"; $a->strings["Tag removed"] = "TAg rimosso"; $a->strings["Remove Item Tag"] = "Rimuovi tag dall'elemento"; @@ -32,6 +56,7 @@ $a->strings["Remove"] = "Rimuovi"; $a->strings["%s welcomes %s"] = "%s da il benvenuto a %s"; $a->strings["Photo Albums"] = "Album Foto"; $a->strings["Contact Photos"] = "Foto dei contatti"; +$a->strings["everybody"] = "tutti"; $a->strings["Contact information unavailable"] = "Informazione sul contatto non disponibile"; $a->strings["Profile Photos"] = "Foto del profilo"; $a->strings["Album not found."] = "Album non trovato."; @@ -41,10 +66,12 @@ $a->strings["was tagged in a"] = "è stato taggato in"; $a->strings["photo"] = "foto"; $a->strings["by"] = "da"; $a->strings["Image exceeds size limit of "] = "L'immagine supera il limite di dimensione di "; +$a->strings["Image file is empty."] = "Il file dell'immagine è vuoto."; $a->strings["Unable to process image."] = "Impossibile elaborare l'immagine."; $a->strings["Image upload failed."] = "Caricamento immagine fallito."; $a->strings["Public access denied."] = "Accesso pubblico non consentito."; $a->strings["No photos selected"] = "Nessuna foto selezionata"; +$a->strings["Access to this item is restricted."] = "L'accesso a questo elemento è limitato."; $a->strings["Upload Photos"] = "Carica foto"; $a->strings["New album name: "] = "Nome nuovo album: "; $a->strings["or existing album name: "] = "o nome di un album esistente: "; @@ -55,9 +82,7 @@ $a->strings["Photo not available"] = "Foto non disponibile"; $a->strings["Edit photo"] = "Modifica foto"; $a->strings["Use as profile photo"] = "Usa come foto del profilo"; $a->strings["Private Message"] = "Messaggio privato"; -$a->strings["<< Prev"] = "<< Prec"; $a->strings["View Full Size"] = "Vedi dimensione intera"; -$a->strings["Next >>"] = "Succ >>"; $a->strings["Tags: "] = "Tag: "; $a->strings["[Remove any tag]"] = "[Rimuovi tutti i tag]"; $a->strings["New album name"] = "Nuovo nome album"; @@ -74,6 +99,10 @@ $a->strings["Delete"] = "Cancella"; $a->strings["Recent Photos"] = "Foto recenti"; $a->strings["Upload New Photos"] = "Carica nuova foto"; $a->strings["View Album"] = "Vedi album"; +$a->strings["Not available."] = "Non disponibile."; +$a->strings["Community"] = "Comunità"; +$a->strings["No results."] = "Nessun risultato."; +$a->strings["Shared content is covered by the Creative Commons Attribution 3.0 license."] = "Il contenuto in comune è coperto dalla licenza Creative Commons Attribuzione 3.0."; $a->strings["Item not found"] = "Elemento non trovato"; $a->strings["Edit post"] = "Modifica messaggio"; $a->strings["Post to Email"] = "Invia a Email"; @@ -123,7 +152,7 @@ $a->strings["Administrator"] = "Amministratore"; $a->strings["Friend/Connection Request"] = "Richieste di Amicizia/Connessione"; $a->strings["Examples: jojo@demo.friendika.com, http://demo.friendika.com/profile/jojo, testuser@identi.ca"] = "Esempi: jojo@demo.friendika.com, http://demo.friendika.com/profile/jojo, testuser@identi.ca"; $a->strings["Please answer the following:"] = "Rispondi al seguente:"; -$a->strings["Does \$name know you?"] = "\$name ti conosce?"; +$a->strings["Does %s know you?"] = "%s ti conosce?"; $a->strings["Yes"] = "Si"; $a->strings["No"] = "No"; $a->strings["Add a personal note:"] = "Aggiungi una nota personale:"; @@ -146,14 +175,15 @@ $a->strings["You may need to import the file \"database.sql\" manually using php $a->strings["Welcome to Friendika."] = "Benvenuto su Friendika."; $a->strings["Friendika Social Network"] = "Friendika Social Network"; $a->strings["Installation"] = "Installazione"; -$a->strings["In order to install Friendika we need to know how to contact your database."] = "Per installare Friendika dobbiamo sapere come contattare il tuo database."; +$a->strings["In order to install Friendika we need to know how to connect to your database."] = "Per instalare Friendika dobbiamo sapere come collegarci al tuo database."; $a->strings["Please contact your hosting provider or site administrator if you have questions about these settings."] = "Contatta il tuo fornitore di hosting o l'amministratore del sito se hai domande su questi settaggi."; -$a->strings["The database you specify below must already exist. If it does not, please create it before continuing."] = "Il datatabase specificato qui sotto deve esistere. Se non è così, crealo prima di continuare."; +$a->strings["The database you specify below should already exist. If it does not, please create it before continuing."] = "Il database dovrà già esistere. Se non esiste, crealo prima di continuare."; $a->strings["Database Server Name"] = "Nome Database Server"; $a->strings["Database Login Name"] = "Nome utente Database"; $a->strings["Database Login Password"] = "Password utente Database"; $a->strings["Database Name"] = "Nome Database"; $a->strings["Please select a default timezone for your website"] = "Seleziona un fuso orario di default per il tuo sito web"; +$a->strings["Site administrator email address. Your account email address must match this in order to use the web admin panel."] = "Indirizzo email dell'amministratore del sito. L'email del tuo account deve corrispodere a questa, per poter utilizzare il pannello di amministrazione"; $a->strings["Could not find a command line version of PHP in the web server PATH."] = "Non riesco a trovare una versione da riga di comando di PHP nel PATH del server web"; $a->strings["This is required. Please adjust the configuration file .htconfig.php accordingly."] = "E' richiesto. Aggiorna il file .htconfig.php di conseguenza."; $a->strings["The command line version of PHP on your system does not have \"register_argc_argv\" enabled."] = "La versione da riga di comando di PHP nel sistema non ha abilitato \"register_argc_argv\"."; @@ -165,13 +195,16 @@ $a->strings["Error: libCURL PHP module required but not installed."] = "Errore: $a->strings["Error: GD graphics PHP module with JPEG support required but not installed."] = "Errore: Il modulo GD graphics di PHP con supporto a JPEG è richiesto ma non installato."; $a->strings["Error: openssl PHP module required but not installed."] = "Errore: il modulo openssl di PHP è richiesto ma non installato."; $a->strings["Error: mysqli PHP module required but not installed."] = "Errore: il modulo mysqli di PHP è richiesto ma non installato"; +$a->strings["Error: mb_string PHP module required but not installed."] = "Errore: il modulo PHP mb_string è richiesto ma non installato."; $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."] = "L'installazione web deve poter creare un file chiamato \".htconfig.php\" nella cartella principale del tuo web server ma non è in grado di farlo."; $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."] = "Ciò è dovuto spesso a impostazioni di permessi, dato che il web server puo' scrivere il file nella tua cartella, anche se tu puoi."; $a->strings["Please check with your site documentation or support people to see if this situation can be corrected."] = "Controlla la documentazione del tuo sito o con il personale di suporto se la situazione puo' essere corretta."; $a->strings["If not, you may be required to perform a manual installation. Please see the file \"INSTALL.txt\" for instructions."] = "Altrimenti dovrai procedere con l'installazione manuale. Guarda il file \"INSTALL.txt\" per istuzioni"; $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."] = "Il file di configurazione del database \".htconfig.php\" non puo' essere scritto. Usa il testo qui di seguito per creare un file di configurazione nella cartella principale del tuo sito."; $a->strings["Errors encountered creating database tables."] = "Errori creando le tabelle nel database."; +$a->strings["[Embedded content - reload page to view]"] = "[Contenuto incorporato - ricarica la pagina per vederlo]"; $a->strings["Profile Match"] = "Profili combacianti"; +$a->strings["No keywords to match. Please add keywords to your default profile."] = "Nessuna parola chiave per l'abbinamento. Aggiungi parole chiave al tuo profilo predefinito."; $a->strings["No matches"] = "Nessun risultato"; $a->strings["Remote privacy information not available."] = "Informazioni remote sulla privacy non disponibili."; $a->strings["Visible to:"] = "Visibile a:"; @@ -182,21 +215,24 @@ $a->strings["Ignore"] = "Ignora"; $a->strings["Pending Friend/Connect Notifications"] = "Richieste di amicizia/connessione in attesa"; $a->strings["Show Ignored Requests"] = "Mostra richieste ignorate"; $a->strings["Hide Ignored Requests"] = "Nascondi richieste ignorate"; +$a->strings["Notification type: "] = "Tipo di notifica: "; +$a->strings["Friend Suggestion"] = "Amico suggerito"; +$a->strings["suggested by %s"] = "sugerito da %s"; +$a->strings["Approve"] = "Approva"; $a->strings["Claims to be known to you: "] = "Dice di conoscerti: "; $a->strings["yes"] = "si"; $a->strings["no"] = "no"; $a->strings["Approve as: "] = "Approva come: "; $a->strings["Friend"] = "Amico"; $a->strings["Fan/Admirer"] = "Fan/Admiratore"; -$a->strings["Notification type: "] = "Tipo di notifica: "; $a->strings["Friend/Connect Request"] = "Richiesta Amicizia/Connessione"; $a->strings["New Follower"] = "Nuovo Seguace"; -$a->strings["Approve"] = "Approva"; $a->strings["No notifications."] = "Nessuna notifica."; -$a->strings["User registrations waiting for confirm"] = "Richieste di registrazione in attesa di conferma"; -$a->strings["Deny"] = "Nega"; -$a->strings["No registrations."] = "Nessuna registrazione."; $a->strings["Invite Friends"] = "Invita Amici"; +$a->strings["%d invitation available"] = array( + 0 => "%d invito disponibile", + 1 => "%d inviti disponibili", +); $a->strings["Find People With Shared Interests"] = "Trova persone che condividono i tuoi interessi"; $a->strings["Connect/Follow"] = "Connetti/Segui"; $a->strings["Example: bob@example.com, http://example.com/barbara"] = "Esempio: bob@example.com, http://example.com/barbara"; @@ -218,6 +254,7 @@ $a->strings["Private communications are not available for this contact."] = "Le $a->strings["Never"] = "Mai"; $a->strings["(Update was successful)"] = "(L'aggiornamento è stato completato)"; $a->strings["(Update was not successful)"] = "(L'aggiornamento non è stato completato)"; +$a->strings["Suggest friends"] = "Suggerisci amici"; $a->strings["Contact Editor"] = "Editor dei Contatti"; $a->strings["Profile Visibility"] = "Visibilità del profilo"; $a->strings["Please choose the profile you would like to display to %s when viewing your profile securely."] = "Seleziona il profilo che vuoi mostrare a %s quando visita il tuo profilo in modo sicuro."; @@ -226,7 +263,7 @@ $a->strings["Online Reputation"] = "Reputazione Online"; $a->strings["Occasionally your friends may wish to inquire about this person's online legitimacy."] = "Puo' capitare che i tuoi amici vogliano sapere la legittimità online dei questa persona."; $a->strings["You may help them choose whether or not to interact with this person by providing a reputation to guide them."] = "Puoi aiutarli a scegliere se interagire o no con questa persona fornendo una reputazione per guidarli."; $a->strings["Please take a moment to elaborate on this selection if you feel it could be helpful to others."] = "Prenditi un momento per pensare su questa selezione se senti che puo' essere utile ad altri."; -$a->strings["Visit \$name's profile"] = "Visita il profilo di \$name"; +$a->strings["Visit %s's profile [%s]"] = "Visita il profilo di %s [%s]"; $a->strings["Block/Unblock contact"] = "Blocca/Sblocca contatto"; $a->strings["Ignore contact"] = "Ingnora il contatto"; $a->strings["Repair contact URL settings"] = "Sistema impostazioni URL del contatto"; @@ -247,8 +284,8 @@ $a->strings["Show Blocked Connections"] = "Mostra connessioni bloccate"; $a->strings["Hide Blocked Connections"] = "Nascondi connessioni bloccate"; $a->strings["Finding: "] = "Cerco: "; $a->strings["Find"] = "Trova"; -$a->strings["Visit \$username's profile"] = "Visita il profilo di \$username"; $a->strings["Edit contact"] = "Modifca contatto"; +$a->strings["No valid account found."] = "Nessun account valido trovato."; $a->strings["Password reset request issued. Check your email."] = "Richiesta di reimpostazione pasword inviata. Controlla la tua email."; $a->strings["Password reset requested at %s"] = "Richiesta recupero password su %s"; $a->strings["Request could not be verified. (You may have previously submitted it.) Password reset failed."] = "La richiesta non può essere verificata. (Puoi averla già richiesta precendentemente). Reimpostazione password fallita."; @@ -266,14 +303,16 @@ $a->strings["Passwords do not match. Password unchanged."] = "Le password non co $a->strings["Empty passwords are not allowed. Password unchanged."] = "Password vuote non sono consentite. Password non cambiata."; $a->strings["Password changed."] = "Password cambiata."; $a->strings["Password update failed. Please try again."] = "Aggiornamento password fallito. Prova ancora."; +$a->strings["Failed to connect with email account using the settings provided."] = "Impossibile collegarsi all'account email con i parametri forniti."; $a->strings[" Please use a shorter name."] = " Usa un nome più corto."; $a->strings[" Name too short."] = " Nome troppo corto."; $a->strings[" Not valid email."] = " Email non valida."; $a->strings[" Cannot change to that email."] = "Non puoi usare quella email."; $a->strings["Settings updated."] = "Impostazioni aggiornate."; -$a->strings["Plugin Settings"] = "Impostazioni Plugin"; -$a->strings["Account Settings"] = "Impostazioni Account"; +$a->strings["Account settings"] = "Parametri account"; +$a->strings["Plugin settings"] = "Impostazioni plugin"; $a->strings["No Plugin settings configured"] = "Nessun Plugin ha delle configurazioni che puoi modificare"; +$a->strings["Plugin Settings"] = "Impostazioni Plugin"; $a->strings["Normal Account"] = "Account normale"; $a->strings["This account is a normal personal profile"] = "Questo account è un normale profilo personale"; $a->strings["Soapbox Account"] = "Account Palco"; @@ -282,14 +321,21 @@ $a->strings["Community/Celebrity Account"] = "Account Celebrità/Comunità"; $a->strings["Automatically approve all connection/friend requests as read-write fans"] = "Accetta automaticamente le richieste di connessione/amicizia come fan che possono scrivere in bacheca"; $a->strings["Automatic Friend Account"] = "Account Amico Automatico"; $a->strings["Automatically approve all connection/friend requests as friends"] = "Accetta automaticamente le richieste di connessione/amicizia come amici"; -$a->strings["OpenID: "] = "OpenID: "; -$a->strings[" (Optional) Allow this OpenID to login to this account."] = " (Opzionale) Permetti a questo OpenID di accedere a questo account."; -$a->strings["Publish your default profile in site directory?"] = "Pubblicare il tuo profilo di default nell'elenco del sito?"; -$a->strings["Publish your default profile in global social directory?"] = "Pubblicare il tuo profilo di default nell'elenco sociale globale?"; +$a->strings["OpenID:"] = "OpenID:"; +$a->strings["(Optional) Allow this OpenID to login to this account."] = "(Opzionale) Consente di loggarti in questo account con questo OpenID"; +$a->strings["Publish your default profile in your local site directory?"] = "Pubblica il tuo profilo predefinito nell'elenco locale del sito"; +$a->strings["Publish your default profile in the global social directory?"] = "Pubblica il tuo profilo predefinito nell'elenco sociale globale"; +$a->strings["Hide your contact/friend list from viewers of your default profile?"] = "Nascondi la lista dei tuoi contatti/amici dai visitatori del tuo profilo predefinito"; +$a->strings["Hide profile details and all your messages from unknown viewers?"] = "Nascondi i dettagli del profilo e tutti i tuoi messaggi ai visitatori sconosciuti?"; $a->strings["Profile is not published."] = "Il profilo non è pubblicato."; $a->strings["or"] = "o"; $a->strings["Your Identity Address is"] = "Il tuo Indirizzo Identità è"; +$a->strings["Account Settings"] = "Impostazioni Account"; $a->strings["Export Personal Data"] = "Esporta i Dati Personali"; +$a->strings["Password Settings"] = "Impostazioni Password"; +$a->strings["New Password:"] = "Nuova Password:"; +$a->strings["Confirm:"] = "Conferma:"; +$a->strings["Leave password fields blank unless changing"] = "Lascia questi campi in bianco per non effettuare variazioni alla password"; $a->strings["Basic Settings"] = "Impostazioni base"; $a->strings["Full Name:"] = "Nome completo:"; $a->strings["Email Address:"] = "Indirizzo Email:"; @@ -300,9 +346,11 @@ $a->strings["Display Theme:"] = "Tema:"; $a->strings["Security and Privacy Settings"] = "Impostazioni di Sicurezza e Privacy"; $a->strings["Maximum Friend Requests/Day:"] = "Numero massimo di richieste di amicizia per giorno:"; $a->strings["(to prevent spam abuse)"] = "(per prevenire lo spam)"; +$a->strings["Default Post Permissions"] = "Permessi di default per i messaggi"; +$a->strings["(click to open/close)"] = "(clicca per aprire/chiudere)"; $a->strings["Allow friends to post to your profile page:"] = "Permetti agli amici di inviare messaggi sulla tua bacheca:"; -$a->strings["Automatically expire (delete) posts older than"] = "Cancella automaticamente i messaggi più vecchi di"; -$a->strings["days"] = "giorni"; +$a->strings["Automatically expire posts after days:"] = "Cancella automaticamente i messaggi dopo giorni:"; +$a->strings["If empty, posts will not expire. Expired posts will be deleted"] = "Se lasciato vuoto, i messaggi non verranno cancellati."; $a->strings["Notification Settings"] = "Impostazioni Notifiche"; $a->strings["Send a notification email when:"] = "Invia una mail di notifica quando:"; $a->strings["You receive an introduction"] = "Ricevi una presentazione"; @@ -310,29 +358,27 @@ $a->strings["Your introductions are confirmed"] = "Le tue presentazioni sono con $a->strings["Someone writes on your profile wall"] = "Qualcuno scrive sulla bacheca del tuo profilo"; $a->strings["Someone writes a followup comment"] = "Qualcuno scrive un commento a un tuo messaggio"; $a->strings["You receive a private message"] = "Ricevi un messaggio privato"; -$a->strings["Password Settings"] = "Impostazioni Password"; -$a->strings["Leave password fields blank unless changing"] = "Lascia questi campi in bianco per non effettuare variazioni alla password"; -$a->strings["New Password:"] = "Nuova Password:"; -$a->strings["Confirm:"] = "Conferma:"; -$a->strings["Advanced Page Settings"] = "Impostazioni Avanzate Account"; -$a->strings["Default Post Permissions"] = "Permessi di default per i messaggi"; -$a->strings["(click to open/close)"] = "(clicca per aprire/chiudere)"; $a->strings["Email/Mailbox Setup"] = "Impostazioni Email"; $a->strings["If you wish to communicate with email contacts using this service (optional), please specify how to connect to your mailbox."] = "Se vuoi comunicare con i contatti email usando questo servizio, specifica come collegarti alla tua casella di posta. (opzionale)"; +$a->strings["Last successful email check:"] = "Ultimo controllo email eseguito con successo:"; +$a->strings["Email access is disabled on this site."] = "L'accesso Email è disabilitato su questo sito."; $a->strings["IMAP server name:"] = "Nome server IMAP:"; $a->strings["IMAP port:"] = "Porta IMAP:"; -$a->strings["Security (TLS or SSL):"] = "Sicurezza (TLS o SSL):"; +$a->strings["Security:"] = "Sicurezza:"; +$a->strings["None"] = "Nessuna"; $a->strings["Email login name:"] = "Nome utente Email:"; $a->strings["Email password:"] = "Password Email:"; -$a->strings["Reply-to address (Optional):"] = "Indirizzo risposte (opzionale):"; +$a->strings["Reply-to address:"] = "Indirizzo di risposta:"; $a->strings["Send public posts to all email contacts:"] = "Invia i messaggi pubblici ai contatti email:"; -$a->strings["Email access is disabled on this site."] = "L'accesso Email è disabilitato su questo sito."; +$a->strings["Advanced Page Settings"] = "Impostazioni Avanzate Account"; $a->strings["Welcome back %s"] = "Bentornato %s"; $a->strings["Manage Identities and/or Pages"] = "Gestisci Indentità e/o Pagine"; $a->strings["(Toggle between different identities or community/group pages which share your account details.)"] = "(Passa tra diverse identità o pagine di comunità/gruppi che condividono i dettagli del tuo account.)"; $a->strings["Select an identity to manage: "] = "Seleziona una identità da gestire:"; -$a->strings["Normal View"] = "Vista normale"; -$a->strings["New Item View"] = "Vista Nuovi Elementi"; +$a->strings["View Conversations"] = "Vedi conversazioni"; +$a->strings["View New Items"] = "Vedi nuovi elementi"; +$a->strings["View Any Items"] = "Vedi tutti gli elementi"; +$a->strings["View Starred Items"] = "Vedi elementi preferiti"; $a->strings["Warning: This group contains %s member from an insecure network."] = array( 0 => "Attenzione: questo gruppo contiene %s membro da un network insicuro.", 1 => "Attenzione: questo gruppo contiene %s membri da un network insicuro.", @@ -344,9 +390,21 @@ $a->strings["Group: "] = "Gruppo: "; $a->strings["Contact: "] = "Contatto:"; $a->strings["Private messages to this person are at risk of public disclosure."] = "I messaggi privati ​​a questa persona sono a rischio di divulgazione al pubblico."; $a->strings["Invalid contact."] = "Contatto non valido."; -$a->strings["Shared content is covered by the Creative Commons Attribution 3.0 license."] = "Il contenuto in comune è coperto dalla licenza Creative Commons Attribuzione 3.0."; -$a->strings["Private Notes"] = "Note Private"; $a->strings["Save"] = "Salva"; +$a->strings["Welcome to Friendika"] = "Benvenuto in Friendika"; +$a->strings["New Member Checklist"] = "Cose da fare per i Nuovi Utenti"; +$a->strings["We would like to offer some tips and links to help make your experience enjoyable. Click any item to visit the relevant page."] = "Vorremmo offrire alcuni suggerimenti e link per contribuire a rendere la tua esperienza piacevole. Fai clic su un elemento per visitare la pagina corrispondente."; +$a->strings["On your Settings page - change your initial password. Also make a note of your Identity Address. This will be useful in making friends."] = "Nella tua pagina Impostazioni - cambia la tua password iniziale. E prendi nota del tuo Indirizzo Identità. Questo tornerà utile nello stringere amicizie."; +$a->strings["Review the other settings, particularly the privacy settings. An unpublished directory listing is like having an unlisted phone number. In general, you should probably publish your listing - unless all of your friends and potential friends know exactly how to find you."] = "Guarda le altre impostazioni, in particolare le impostazioni della privacy. Un profilo non pubblicato è come un numero di telefono non in elenco. In genere, dovresti pubblicare il tuo profilo - a meno che tutti i tuoi amici e potenziali tali sappiano esattamente come trovarti."; +$a->strings["Upload a profile photo if you have not done so already. Studies have shown that people with real photos of themselves are ten times more likely to make friends than people who do not."] = "Carica una foto del profilo se non l'hai ancora fatto. Studi hanno mostrato che persone che hanno vere foto di se stessi hanno dieci volte più probabilità di fare amicizie rispetto alle persone che non ce l'hanno."; +$a->strings["Authorise the Facebook Connector if you currently have a Facebook account and we will (optionally) import all your Facebook friends and conversations."] = "Autorizza il Facebook Connector se hai un account Facebook, e noi (opzionalmente) importeremo tuti i tuoi amici e le tue conversazioni da Facebook."; +$a->strings["Enter your email access information on your Settings page if you wish to import and interact with friends or mailing lists from your email INBOX"] = "Inserisci i dati per accedere alla tua email nella pagina Impostazioni se vuoi importare e interagire con amici o mailing list dalla posta in arrivo della tua email."; +$a->strings["Edit your default profile to your liking. Review the settings for hiding your list of friends and hiding the profile from unknown visitors."] = "Modifica il tuo profilo predefinito a piacimento. Rivedi le impostazioni per nascondere la tua lista di amici e nascondere il profilo ai visitatori sconosciuti."; +$a->strings["Set some public keywords for your default profile which describe your interests. We may be able to find other people with similar interests and suggest friendships."] = "Inserisci qualche parola chiave pubblica nel tuo profilo predefinito che descriva i tuoi interessi. Potremmo essere in grado di trovare altre persone con interessi similari e suggerirti delle amicizie."; +$a->strings["Your Contacts page is your gateway to managing friendships and connecting with friends on other networks. Typically you enter their address or site URL in the Connect dialog."] = "La pagina Contatti è il centro di controllo per la gestione delle amicizie e per collegarti ad amici su altri network. Basta che inserisci il loro indirizzo o l'URL del sito nel box Connetti."; +$a->strings["The Directory page lets you find other people in this network or other federated sites. Look for a Connect or Follow link on their profile page. Provide your own Identity Address if requested."] = "La pagina Elenco ti permette di trovare altre persone in questa rete o in altri siti. Cerca un link Connetti o Segui nella loro pagina del profilo. Inserisci il tuo Indirizzo Identità, se richiesto."; +$a->strings["Once you have made some friends, organize them into private conversation groups from the sidebar of your Contacts page and then you can interact with each group privately on your Network page."] = "Quando avrai alcuni amici, organizzali in gruppi di conversazioni private dalla barra laterale della tua pagina Contatti. Potrai interagire privatamente con ogni gruppo nella tua pagina Rete"; +$a->strings["Our help pages may be consulted for detail on other program features and resources."] = "Le nostre pagine della guida possono essere consultate per avere dettagli su altre caratteristiche del programma e altre risorse."; $a->strings["Item not available."] = "Elemento non disponibile."; $a->strings["Item was not found."] = "Elemento non trovato."; $a->strings["Group created."] = "Gruppo creato."; @@ -364,11 +422,12 @@ $a->strings["Members"] = "Membri"; $a->strings["All Contacts"] = "Tutti i Contatti"; $a->strings["Invalid profile identifier."] = "Indentificativo del profilo non valido."; $a->strings["Profile Visibility Editor"] = "Modifica Visibilità del Profilo"; -$a->strings["Profile"] = "Profilo"; $a->strings["Visible To"] = "Visibile A"; $a->strings["All Contacts (with secure profile access)"] = "Tutti i Contatti (con profilo ad accesso sicuro)"; $a->strings["View Contacts"] = "Guarda contatti"; $a->strings["No contacts."] = "Nessuno contatto."; +$a->strings["An invitation is required."] = "E' richiesto un invito."; +$a->strings["Invitation could not be verified."] = "L'invito non puo' essere verificato."; $a->strings["Invalid OpenID url"] = "Url OpenID non valido"; $a->strings["Please enter the required information."] = "Inserisci le informazioni richieste."; $a->strings["Please use a shorter name."] = "Usa un nome più corto."; @@ -392,6 +451,8 @@ $a->strings["You may (optionally) fill in this form via OpenID by supplying your $a->strings["If you are not familiar with OpenID, please leave that field blank and fill in the rest of the items."] = "Se non hai familiarità con OpenID, lascia quel campo in bianco e riempi il resto della maschera."; $a->strings["Your OpenID (optional): "] = "Il tuo OpenID (opzionale): "; $a->strings["Include your profile in member directory?"] = "Includi il tuo profilo nell'elenco dei membir?"; +$a->strings["Membership on this site is by invitation only."] = "La registrazione su questo sito è solo su invito."; +$a->strings["Your invitation ID: "] = "L'ID del tuo invito:"; $a->strings["Registration"] = "Registrazione"; $a->strings["Your Full Name (e.g. Joe Smith): "] = "Il tuo Nome Completo (p.e. Mario Rossi): "; $a->strings["Your Email Address: "] = "Il tuo Indirizzo Email: "; @@ -409,10 +470,9 @@ $a->strings["Bug reports and issues: please visit"] = "Segnalazioni di bug e pro $a->strings["Suggestions, praise, donations, etc. - please email \"Info\" at Friendika - dot com"] = "Suggerimenti, preghiere, donazioni, etc - invia una email a \"Info\" at Friendika - dot.com"; $a->strings["Installed plugins/addons/apps"] = "Plugin/Addon/Applicazioni installate"; $a->strings["No installed plugins/addons/apps"] = "Nessuno plugin/addons/applicazione installata"; -$a->strings["Please login."] = "Accedi."; -$a->strings["Registration revoked for %s"] = "Registrazione revocata per %s"; $a->strings["Account approved."] = "Account approvato."; -$a->strings["[Embedded content - reload page to view]"] = "[Contenuto incorporato - ricarica la pagina per vederlo]"; +$a->strings["Registration revoked for %s"] = "Registrazione revocata per %s"; +$a->strings["Please login."] = "Accedi."; $a->strings["Unable to locate original post."] = "Impossibile trovare il messaggio originale."; $a->strings["Empty post discarded."] = "Messaggio vuoto scartato."; $a->strings["Wall Photos"] = "Foto Bacheca"; @@ -425,7 +485,6 @@ $a->strings["This message was sent to you by %s, a member of the Friendika socia $a->strings["You may visit them online at %s"] = "Puoi visitarli online presso %s"; $a->strings["Please contact the sender by replying to this post if you do not wish to receive these messages."] = "Contatta il mittente rispondendo a questo post se non vuoi ricevere questi messaggi."; $a->strings["%s posted an update."] = "%s ha inviato un aggiornamento."; -$a->strings["Item not found."] = "Elemento non trovato."; $a->strings["Image uploaded but image cropping failed."] = "L'immagine è stata caricata, ma il ritaglio è fallito."; $a->strings["Image size reduction [%s] failed."] = "Riduzione della dimensione dell'immagine [%s] fallito."; $a->strings["Unable to process image"] = "Impossibile elaborare l'immagine"; @@ -439,6 +498,7 @@ $a->strings["Crop Image"] = "Ritaglia immagine"; $a->strings["Please adjust the image cropping for optimum viewing."] = "Sistema il ritaglio dell'imagine per una visualizzazione ottimale."; $a->strings["Done Editing"] = "Fatto"; $a->strings["Image uploaded successfully."] = "Immagine caricata con successo."; +$a->strings["No profile"] = "Nessun profilo"; $a->strings["Remove My Account"] = "Rimuovi il mio Account"; $a->strings["This will completely remove your account. Once this has been done it is not recoverable."] = "Questo rimuoverà completamente il tuo account. Una volta rimosso non si potrà recuperarlo."; $a->strings["Please enter your password for verification:"] = "Inserisci la tua password per verifica:"; @@ -464,26 +524,112 @@ $a->strings["D, d M Y - g:i A"] = "D d M Y - G:i"; $a->strings["Message not available."] = "Messaggio non disponibile."; $a->strings["Delete message"] = "Cancella messaggio"; $a->strings["Send Reply"] = "Invia risposta"; -$a->strings["No profile"] = "Nessun profilo"; +$a->strings["Site"] = "Sito"; +$a->strings["Users"] = "Utenti"; +$a->strings["Plugins"] = "Plugin"; +$a->strings["Update"] = "Aggiorna"; +$a->strings["Logs"] = "Log"; +$a->strings["User registrations waiting for confirmation"] = "Utenti registrati in attesa di conferma"; +$a->strings["Item not found."] = "Elemento non trovato."; +$a->strings["Administration"] = "Amministrazione"; +$a->strings["Summary"] = "Sommario"; +$a->strings["Registered users"] = "Utenti registrati"; +$a->strings["Pending registrations"] = "Registrazioni in attesa"; +$a->strings["Version"] = "Versione"; +$a->strings["Active plugins"] = "Plugin attivi"; +$a->strings["Site settings updated."] = "Impostazioni del sito aggiornate."; +$a->strings["Closed"] = "Chiusa"; +$a->strings["Requires approval"] = "Richiede l'approvazione"; +$a->strings["Open"] = "Aperta"; +$a->strings["File upload"] = "Caricamento file"; +$a->strings["Policies"] = "Politiche"; +$a->strings["Advanced"] = "Avanzate"; +$a->strings["Site name"] = "Nome del sito"; +$a->strings["Banner/Logo"] = "Banner/Logo"; +$a->strings["System language"] = "Lingua di sistema"; +$a->strings["System theme"] = "Tema di sistema"; +$a->strings["Maximum image size"] = "Massima dimensione immagini"; +$a->strings["Register policy"] = "Politica di registrazione"; +$a->strings["Register text"] = "Testo registrazione"; +$a->strings["Allowed friend domains"] = "Domini amici consentiti"; +$a->strings["Allowed email domains"] = "Domini email consentiti"; +$a->strings["Block public"] = "Blocca pagine pubbliche"; +$a->strings["Force publish"] = "Forza publicazione"; +$a->strings["Global directory update URL"] = "URL aggiornamento Elenco Globale"; +$a->strings["Block multiple registrations"] = "Blocca registrazioni multiple"; +$a->strings["OpenID support"] = "Supporto OpenID"; +$a->strings["Gravatar support"] = "Supporto Gravatar"; +$a->strings["Fullname check"] = "Controllo nome completo"; +$a->strings["UTF-8 Regular expressions"] = "Espressioni regolari UTF-8"; +$a->strings["Show Community Page"] = "Mostra pagina Comunità"; +$a->strings["Enable OStatus support"] = "Abilita supporto OStatus"; +$a->strings["Only allow Friendika contacts"] = "Permetti solo contatti Friendika"; +$a->strings["Verify SSL"] = "Verifica SSL"; +$a->strings["Proxy user"] = "Utente Proxy"; +$a->strings["Proxy URL"] = "URL Proxy"; +$a->strings["Network timeout"] = "Timeout rete"; +$a->strings["%s user blocked"] = array( + 0 => "%s utente bloccato", + 1 => "%s utenti bloccati/sbloccati", +); +$a->strings["%s user deleted"] = array( + 0 => "%s utente cancellato", + 1 => "%s utenti cancellati", +); +$a->strings["User '%s' deleted"] = "Utente '%s' cancellato"; +$a->strings["User '%s' unblocked"] = "Utente '%s' sbloccato"; +$a->strings["User '%s' blocked"] = "Utente '%s' bloccato"; +$a->strings["select all"] = "seleziona tutti"; +$a->strings["User registrations waiting for confirm"] = "Richieste di registrazione in attesa di conferma"; +$a->strings["Request date"] = "Data richiesta"; +$a->strings["Email"] = "Email"; +$a->strings["No registrations."] = "Nessuna registrazione."; +$a->strings["Deny"] = "Nega"; +$a->strings["Block"] = "Blocca"; +$a->strings["Unblock"] = "Sblocca"; +$a->strings["Register date"] = "Data registrazione"; +$a->strings["Last login"] = "Ultimo accesso"; +$a->strings["Last item"] = "Ultimo elemento"; +$a->strings["Account"] = "Account"; +$a->strings["Selected users will be deleted!\\n\\nEverything these users had posted on this site will be permanently deleted!\\n\\nAre you sure?"] = "Gli utenti selezionati saranno cancellati!\\n\\nTutto quello che gli utenti hanno inviato su questo sito sarà permanentemente canellato!\\n\\nSei sicuro?"; +$a->strings["The user {0} will be deleted!\\n\\nEverything this user has posted on this site will be permanently deleted!\\n\\nAre you sure?"] = "L'utente {0} sarà cancellato!\\n\\nTutto quello che ha inviato su questo sito sarà permanentemente canellato!\\n\\nSei sicuro?"; +$a->strings["Plugin %s disabled."] = "Plugin %s disabilitato."; +$a->strings["Plugin %s enabled."] = "Plugin %s abilitato."; +$a->strings["Disable"] = "Disabilita"; +$a->strings["Enable"] = "Abilita"; +$a->strings["Toggle"] = "Inverti"; +$a->strings["Settings"] = "Impostazioni"; +$a->strings["Log settings updated."] = "Impostazioni Log aggiornate."; +$a->strings["Clear"] = "Pulisci"; +$a->strings["Debugging"] = "Debugging"; +$a->strings["Log file"] = "File di Log"; +$a->strings["Must be writable by web server. Relative to your Friendika index.php."] = "Deve essere scrivibile dal server web. Relativo al file index.php della tua installazione Friendika."; +$a->strings["Log level"] = "Livello di Log"; +$a->strings["Close"] = "Chiudi"; +$a->strings["FTP Host"] = "Indirizzo FTP"; +$a->strings["FTP Path"] = "Percorso FTP"; +$a->strings["FTP User"] = "Utente FTP"; +$a->strings["FTP Password"] = "Pasword FTP"; $a->strings["Access to this profile has been restricted."] = "L'accesso a questo profilo è stato limitato."; -$a->strings["Status"] = "Stato"; -$a->strings["Photos"] = "Foto"; +$a->strings["Tips for New Members"] = "Consigli per i Nuovi Utenti"; $a->strings["Login failed."] = "Accesso fallito."; $a->strings["Welcome "] = "Benvenuto"; $a->strings["Please upload a profile photo."] = "Carica una foto per il profilo."; $a->strings["Welcome back "] = "Bentornato "; -$a->strings["The profile address specified does not provide adequate information."] = "L'indirizzo del profilo specificato non fornisce adeguate informazioni."; +$a->strings["This site is not configured to allow communications with other networks."] = "Questo sito non è configurato per permettere la comunicazione con altri network."; $a->strings["No compatible communication protocols or feeds were discovered."] = "Non sono stati trovati nessun protocollo di comunicazione o feed compatibili."; +$a->strings["The profile address specified does not provide adequate information."] = "L'indirizzo del profilo specificato non fornisce adeguate informazioni."; $a->strings["An author or name was not found."] = "Non è stato trovato un nome dell'autore"; $a->strings["No browser URL could be matched to this address."] = "Nessun URL puo' essere associato a questo indirizzo."; +$a->strings["The profile address specified belongs to a network which has been disabled on this site."] = "L'indirizzo del profilo specificato appartiene a un network che è stato disabilitato su questo sito."; $a->strings["Limited profile. This person will be unable to receive direct/personal notifications from you."] = "Profilo limitato. Questa persona non sarà in grado di ricevere nofiche dirette/personali da te."; $a->strings["Unable to retrieve contact information."] = "Impossibile recuperare informazioni sul contatto."; $a->strings["following"] = "segue"; $a->strings["Item has been removed."] = "L'elemento è stato rimosso."; $a->strings["New mail received at "] = "Nuova mail ricevuta su "; $a->strings["Applications"] = "Applicazioni"; +$a->strings["No installed applications."] = "Nessuna applicazione installata."; $a->strings["Search"] = "Cerca"; -$a->strings["No results."] = "Nessun risultato."; $a->strings["Profile not found."] = "Profilo non trovato."; $a->strings["Profile Name is required."] = "Il Nome Profilo è richiesto ."; $a->strings["Profile updated."] = "Profilo aggiornato."; @@ -492,7 +638,6 @@ $a->strings["Profile-"] = "Profilo-"; $a->strings["New profile created."] = "Nuovo profilo creato."; $a->strings["Profile unavailable to clone."] = "Impossibile duplicare il plrofilo."; $a->strings["Hide your contact/friend list from viewers of this profile?"] = "Nascondi la tua lista di contatti/amici ai visitatori di questo profilo?"; -$a->strings["Hide profile details and all your messages from unknown viewers?"] = "Nascondi i dettagli del profilo e tutti i tuoi messaggi ai visitatori sconosciuti?"; $a->strings["Edit Profile Details"] = "Modifica i Dettagli del Profilo"; $a->strings["View this profile"] = "Visualizza questo profilo"; $a->strings["Create a new profile using these settings"] = "Crea un nuovo profilo usando queste impostazioni"; @@ -502,7 +647,7 @@ $a->strings["Profile Name:"] = "Nome del profilo:"; $a->strings["Your Full Name:"] = "Il tuo nome completo:"; $a->strings["Title/Description:"] = "Breve descrizione (es. titolo, posizione, altro):"; $a->strings["Your Gender:"] = "Il tuo sesso:"; -$a->strings["Birthday (y/m/d):"] = "Data di nascita (a/m/g):"; +$a->strings["Birthday (%s):"] = "Compleanno (%s)"; $a->strings["Street Address:"] = "Indirizzo:"; $a->strings["Locality/City:"] = "Località/Città:"; $a->strings["Postal/Zip Code:"] = "CAP:"; @@ -536,7 +681,7 @@ $a->strings["Profiles"] = "Profili"; $a->strings["Change profile photo"] = "Cambia la foto del profilo"; $a->strings["Create New Profile"] = "Crea un nuovo profilo"; $a->strings["Profile Image"] = "Immagine del Profilo"; -$a->strings["Visible to everybody"] = "Visibile a tutti"; +$a->strings["visible to everybody"] = "visibile a tutti"; $a->strings["Edit visibility"] = "Modifica visibilità"; $a->strings["Global Directory"] = "Elenco Globale"; $a->strings["Normal site view"] = "Vista normale"; @@ -551,10 +696,12 @@ $a->strings["%d message sent."] = array( 0 => "%d messaggio inviato.", 1 => "%d messaggi inviati.", ); +$a->strings["You have no more invitations available"] = "Non hai altri inviti disponibili"; $a->strings["Send invitations"] = "Invia inviti"; $a->strings["Enter email addresses, one per line:"] = "Inserisci gli indirizzi email, uno per riga:"; $a->strings["Please join my social network on %s"] = "Unisciti al mio social network su %s"; $a->strings["To accept this invitation, please visit:"] = "Per accettare questo invito visita:"; +$a->strings["You will need to supply this invitation code: \$invite_code"] = "Sarà necessario fornire questo codice invito: $ invite_code"; $a->strings["Once you have registered, please connect with me via my profile page at:"] = "Una volta registrato, connettiti con me sul mio profilo a:"; $a->strings["Response from remote site was not understood."] = "La risposta dal sito remota non è stata capita."; $a->strings["Unexpected response from remote site: "] = "Risposta dal sito remoto inaspettata: "; @@ -579,14 +726,19 @@ $a->strings["Facebook Connect"] = "Facebook Connect"; $a->strings["Install Facebook connector for this account."] = "Installa Facebook connector per questo account"; $a->strings["Remove Facebook connector"] = "Rimuovi Facebook connector"; $a->strings["Post to Facebook by default"] = "Invia su Facebook di default"; +$a->strings["Link all your Facebook friends and conversations"] = "Collega tutti i tuoi amici di Facebook e le conversazioni"; +$a->strings["Warning: Your Facebook privacy settings can not be imported."] = "Attenzione: Le impostazioni di privacy di Facebook non possono essere importate."; +$a->strings["Linked Facebook items may be publicly visible, depending on your privacy settings for this website/account."] = "Gli elementi da Facebook possono essere visibili pubblicamente, a seconda delle tue impostazioni di privacy per questo sito/account"; $a->strings["Facebook"] = "Facebook"; $a->strings["Facebook Connector Settings"] = "Impostazioni Connettore Facebook"; $a->strings["Post to Facebook"] = "Invia a Facebook"; $a->strings["Post to Facebook cancelled because of multi-network access permission conflict."] = "Invio su Facebook annullato per un conflitto nei permessi di accesso."; $a->strings["Image: "] = "Immagine: "; $a->strings["View on Friendika"] = "Vedi su Friendika"; -$a->strings["Widgets key: "] = "Chiave Widgets: "; +$a->strings["Facebook post failed. Queued for retry."] = "Invio a Facebook fallito. In attesa di riprovare."; $a->strings["Generate new key"] = "Genera una nuova chiave"; +$a->strings["Widgets key"] = "Chiave Widget"; +$a->strings["Widgets available"] = "Widget disponibili"; $a->strings["Connect on Friendika!"] = "Connettiti su Friendika!"; $a->strings["Three Dimensional Tic-Tac-Toe"] = "Tic-Tac-Toe tridimensionale"; $a->strings["3D Tic-Tac-Toe"] = "3D Tic-Tac-Toe"; @@ -602,18 +754,22 @@ $a->strings["\"Cat\" game!"] = "Stallo!"; $a->strings["I won!"] = "Ho vinto!"; $a->strings["Randplace Settings"] = "Impostazioni Randplace"; $a->strings["Enable Randplace Plugin"] = "Abilita il plugin Randplace"; -$a->strings["Select files to upload: "] = "Seleziona i file da caricare: "; -$a->strings["Use the following controls only if the Java uploader [above] fails to launch."] = "Usa il seguente controllo solo se il il caricatore Java (qui sopra) non parte."; $a->strings["Upload a file"] = "Carica un file"; $a->strings["Drop files here to upload"] = "Trascina un file qui per caricarlo"; $a->strings["Failed"] = "Fallito"; $a->strings["No files were uploaded."] = "Nessun file è stato caricato."; $a->strings["Uploaded file is empty"] = "Il file caricato è vuoto"; -$a->strings["Uploaded file is too large"] = "Il file caricato è troppo grande"; $a->strings["File has an invalid extension, it should be one of "] = "Il file ha una estensione non valida, dovrebbe essere una di "; $a->strings["Upload was cancelled, or server error encountered"] = "Il caricamento è stato cancellato, o si è verificato un errore sul server"; +$a->strings["Impressum"] = "Impressum"; +$a->strings["Site Owner"] = "Proprietario del sito"; +$a->strings["Email Address"] = "Indirizzo email"; +$a->strings["Postal Address"] = "Indirizzo"; +$a->strings["The impressum addon needs to be configured!
Please add at least the owner variable to your config file. For other variables please refer to the README file of the addon."] = "Il plugin Impressum deve essere configurato!
Aggiungi almeno il Proprietario del sito."; +$a->strings["Site Owners Profile"] = "Profilo del proprietario del sito"; +$a->strings["Notes"] = "Note"; $a->strings["OEmbed settings updated"] = "Impostazioni OEmbed aggiornate"; -$a->strings["Use OEmbed for YouTube videos: "] = "Usa OEmbed per i video da YouTube:"; +$a->strings["Use OEmbed for YouTube videos"] = "Usa OEmbed per i video di YouTube"; $a->strings["URL to embed:"] = "URL da incorporare:"; $a->strings["Post to StatusNet"] = "Invia a StatusNet"; $a->strings["Please contact your site administrator.
The provided API URL is not valid."] = "Contatta l'amministratore del sito.
L'URL delle API fornito non è valido."; @@ -634,18 +790,28 @@ $a->strings["Cancel Connection Process"] = "Annulla il processo di connessione"; $a->strings["Current StatusNet API is"] = "Le API StatusNet correnti sono"; $a->strings["Cancel StatusNet Connection"] = "Annulla la connessione a StatusNet"; $a->strings["Currently connected to: "] = "Al momento collegato con:"; -$a->strings["If enabled all your public postings will be posted to the associated StatusNet account."] = "Se abilitato tutti i tuoi messaggi pubblici saranno inviati all'account StatuNet associato."; +$a->strings["If enabled all your public postings can be posted to the associated StatusNet account. You can choose to do so by default (here) or for every posting separately in the posting options when writing the entry."] = "Se abilitato tutti i tuoi messaggi pubblici possono essere inviati all'account StatusNet associato. Puoi scegliere di farlo sempre (qui) o ogni volta che invii, nelle impostazioni di privacy del messaggio."; $a->strings["Allow posting to StatusNet"] = "Permetti l'invio a StatusNet"; $a->strings["Send public postings to StatusNet by default"] = "Di default invia i messaggi pubblici a StatusNet"; $a->strings["Clear OAuth configuration"] = "Cancella la configurazione OAuth"; +$a->strings["API URL"] = "API URL"; +$a->strings["Consumer Secret"] = "Consumer Secret"; +$a->strings["Consumer Key"] = "Consumer Key"; +$a->strings["Piwik Base URL"] = "Piwik Base URL"; +$a->strings["Site ID"] = "Site ID"; +$a->strings["Show opt-out cookie link?"] = "Mostra il link per il cookie opt-out?"; $a->strings["Post to Twitter"] = "Inva a Twitter"; +$a->strings["Twitter settings updated."] = "Impostazioni di Twitter aggiornate."; $a->strings["Twitter Posting Settings"] = "Impostazioni Invio a Twitter"; $a->strings["No consumer key pair for Twitter found. Please contact your site administrator."] = "Nessuna coopia di chiavi per Twitter trovata. Contatta il tuo amministratore del sito."; $a->strings["At this Friendika instance the Twitter plugin was enabled but you have not yet connected your account to your Twitter account. To do so click the button below to get a PIN from Twitter which you have to copy into the input box below and submit the form. Only your public posts will be posted to Twitter."] = "Questa installazione di Friendika ha il plugin Twitter abilitato, ma non hai ancora collegato il tuo account locale con il tuo account su Twitter. Per farlo, clicca il bottone qui sotto per ottenere un PIN da Twitter, che dovrai copiare nel box più sotto per poi inviare la form. Solo i tuoi messaggi pubblici verranno inviati anche su Twitter."; $a->strings["Log in with Twitter"] = "Accedi con Twitter"; $a->strings["Copy the PIN from Twitter here"] = "Copia il PIN da Twitter qui"; -$a->strings["If enabled all your public postings will be posted to the associated Twitter account as well."] = "Se abilitato tutti i tuoi messaggi pubblici verranno inviati anche sull'account Twitter associato."; -$a->strings["Send public postings to Twitter"] = "Invia messaggi pubblici su Twitter"; +$a->strings["If enabled all your public postings can be posted to the associated Twitter account. You can choose to do so by default (here) or for every posting separately in the posting options when writing the entry."] = "Se abilitato tutti i tuoi messaggi pubblici possono essere inviati all'account Twitter associato. Puoi scegliere di farlo sempre (qui) o ogni volta che invii, nelle impostazioni di privacy del messaggio."; +$a->strings["Allow posting to Twitter"] = "Permetti l'invio a Twitter"; +$a->strings["Send public postings to Twitter by default"] = "Invia sempre i messaggi pubblici a Twitter"; +$a->strings["Consumer key"] = "Consumer key"; +$a->strings["Consumer secret"] = "Consumer secret"; $a->strings["Gender:"] = "Genere:"; $a->strings["Birthday:"] = "Compleanno:"; $a->strings["j F, Y"] = "j F Y"; @@ -729,28 +895,81 @@ $a->strings["Uncertain"] = "Incerto"; $a->strings["Complicated"] = "Complicato"; $a->strings["Don't care"] = "Non interessa"; $a->strings["Ask me"] = "Chiedimelo"; +$a->strings["l F d, Y \\@ g:i A"] = "l d F Y \\@ G:i"; +$a->strings["Starts:"] = "Inizia:"; +$a->strings["Finishes:"] = "Finisce:"; +$a->strings["prev"] = "prec"; +$a->strings["first"] = "primo"; +$a->strings["last"] = "ultimo"; +$a->strings["next"] = "succ"; +$a->strings["No contacts"] = "Nessun contatto"; +$a->strings["%d Contact"] = array( + 0 => "%d Contatto", + 1 => "%d Contatti", +); +$a->strings["Monday"] = "Lunedì"; +$a->strings["Tuesday"] = "Martedì"; +$a->strings["Wednesday"] = "Mercoledì"; +$a->strings["Thursday"] = "Giovedì"; +$a->strings["Friday"] = "Venerdì"; +$a->strings["Saturday"] = "Sabato"; +$a->strings["Sunday"] = "Domenica"; +$a->strings["January"] = "Gennaio"; +$a->strings["February"] = "Febbraio"; +$a->strings["March"] = "Marzo"; +$a->strings["April"] = "Aprile"; +$a->strings["May"] = "Maggio"; +$a->strings["June"] = "Giugno"; +$a->strings["July"] = "Luglio"; +$a->strings["August"] = "Agosto"; +$a->strings["September"] = "Settembre"; +$a->strings["October"] = "Ottobre"; +$a->strings["November"] = "Novembre"; +$a->strings["December"] = "Dicembre"; +$a->strings["bytes"] = "bytes"; +$a->strings["Select an alternate language"] = "Seleziona una diversa lingua"; +$a->strings["Sharing notification from Diaspora network"] = "Notifica di condivisione dal network Diaspora*"; $a->strings["Embedding disabled"] = "Inclusione disabilitata"; $a->strings["Create a new group"] = "Crea un nuovo gruppo"; $a->strings["Everybody"] = "Tutti"; $a->strings["Logout"] = "Esci"; +$a->strings["End this session"] = "Finisci questa sessione"; $a->strings["Login"] = "Accedi"; +$a->strings["Sign in"] = "Entra"; $a->strings["Home"] = "Home"; +$a->strings["Home Page"] = "Home Page"; +$a->strings["Create an account"] = "Crea un account"; +$a->strings["Help and documentation"] = "Guida e documentazione"; $a->strings["Apps"] = "Applicazioni"; +$a->strings["Addon applications, utilities, games"] = "Applicazioni, utilità e giochi aggiuntivi"; +$a->strings["Search site content"] = "Cerca nel contenuto del sito"; +$a->strings["Conversations on this site"] = "Conversazioni su questo sito"; $a->strings["Directory"] = "Elenco"; +$a->strings["People directory"] = "Elenco delle persone"; $a->strings["Network"] = "Rete"; +$a->strings["Conversations from your friends"] = "Conversazioni dai tuoi amici"; +$a->strings["Your posts and conversations"] = "I tuoi messaggi e le tue conversazioni"; $a->strings["Notifications"] = "Notifiche"; +$a->strings["Friend requests"] = "Richieste di amicizia"; +$a->strings["Private mail"] = "Posta privata"; $a->strings["Manage"] = "Gestisci"; -$a->strings["Settings"] = "Impostazioni"; +$a->strings["Manage other pages"] = "Gestisci altre pagine"; +$a->strings["Manage/edit profiles"] = "Gestisci/modifica i profili"; +$a->strings["Manage/edit friends and contacts"] = "Gestisci/modifica amici e contatti"; +$a->strings["Admin"] = "Amministrazione"; +$a->strings["Site setup and configuration"] = "Configurazione del sito"; $a->strings["Logged out."] = "Sei uscito."; $a->strings["Miscellaneous"] = "Varie"; -$a->strings["less than a second ago"] = "meno di un secondo fa"; $a->strings["year"] = "anno"; -$a->strings["years"] = "anni"; $a->strings["month"] = "mese"; +$a->strings["day"] = "giorno"; +$a->strings["never"] = "mai"; +$a->strings["less than a second ago"] = "meno di un secondo fa"; +$a->strings["years"] = "anni"; $a->strings["months"] = "mesi"; $a->strings["week"] = "settimana"; $a->strings["weeks"] = "settimane"; -$a->strings["day"] = "giorno"; +$a->strings["days"] = "giorni"; $a->strings["hour"] = "ora"; $a->strings["hours"] = "ore"; $a->strings["minute"] = "minuto"; @@ -761,19 +980,23 @@ $a->strings[" ago"] = " fa"; $a->strings["From: "] = "Da: "; $a->strings["Image/photo"] = "Immagine/foto"; $a->strings["Cannot locate DNS info for database server '%s'"] = "Non trovo le informazioni DNS per il database server '%s'"; -$a->strings["Visible To:"] = "Visibile a:"; -$a->strings["everybody"] = "tutti"; -$a->strings["Groups"] = "Gruppi"; -$a->strings["Except For:"] = "Eccetto per:"; +$a->strings["Visible to everybody"] = "Visibile a tutti"; +$a->strings["show"] = "mostra"; +$a->strings["don't show"] = "non mostrare"; $a->strings["(no subject)"] = "(nessun oggetto)"; $a->strings["You have a new follower at "] = "Hai un nuovo seguace su "; +$a->strings["event"] = "evento"; $a->strings["View %s's profile"] = "Vedi il profilo di %s"; +$a->strings["%s from %s"] = "%s da %s"; $a->strings["View in context"] = "Vedi nel contesto"; $a->strings["See more posts like this"] = "Vedi altri post come questo"; $a->strings["See all %d comments"] = "Vedi tutti i %d commenti"; +$a->strings["Select"] = "Seleziona"; +$a->strings["toggle star status"] = "Inverti stato preferito"; $a->strings["to"] = "a"; $a->strings["Wall-to-Wall"] = "Bacheca-A-Bacheca"; $a->strings["via Wall-To-Wall:"] = "sulla sua Bacheca:"; +$a->strings["Delete Selected Items"] = "Cancella elementi selezionati"; $a->strings["View status"] = "Vedi stato"; $a->strings["View profile"] = "Vedi profilo"; $a->strings["View photos"] = "Vedi foto"; @@ -801,44 +1024,13 @@ $a->strings["Password: "] = "Password: "; $a->strings["Nickname/Email/OpenID: "] = "Soprannome/Email/OpenID: "; $a->strings["Password (if not OpenID): "] = "Password (se non OpenID): "; $a->strings["Forgot your password?"] = "Dimenticata la password?"; -$a->strings["prev"] = "prec"; -$a->strings["first"] = "primo"; -$a->strings["last"] = "ultimo"; -$a->strings["next"] = "succ"; -$a->strings["No contacts"] = "Nessun contatto"; -$a->strings["%d Contact"] = array( - 0 => "%d Contatto", - 1 => "%d Contatti", -); $a->strings["Connect"] = "Connetti"; -$a->strings["Location:"] = "Posizione:"; $a->strings[", "] = ", "; $a->strings["Status:"] = "Stato:"; -$a->strings["Monday"] = "Lunedì"; -$a->strings["Tuesday"] = "Martedì"; -$a->strings["Wednesday"] = "Mercoledì"; -$a->strings["Thursday"] = "Giovedì"; -$a->strings["Friday"] = "Venerdì"; -$a->strings["Saturday"] = "Sabato"; -$a->strings["Sunday"] = "Domenica"; -$a->strings["January"] = "Gennaio"; -$a->strings["February"] = "Febbraio"; -$a->strings["March"] = "Marzo"; -$a->strings["April"] = "Aprile"; -$a->strings["May"] = "Maggio"; -$a->strings["June"] = "Giugno"; -$a->strings["July"] = "Luglio"; -$a->strings["August"] = "Agosto"; -$a->strings["September"] = "Settembre"; -$a->strings["October"] = "Ottobre"; -$a->strings["November"] = "Novembre"; -$a->strings["December"] = "Dicembre"; $a->strings["g A l F d"] = "g A l d F"; $a->strings["Birthday Reminders"] = "Promemoria Compleanni"; $a->strings["Birthdays this week:"] = "Compleanni questa settimana:"; $a->strings["(Adjusted for local time)"] = "(Convertiti all'ora locale)"; $a->strings["[today]"] = "[oggi]"; -$a->strings["bytes"] = "bytes"; -$a->strings["link to source"] = "Collegamento all'originale"; $a->strings["Not Found"] = "Non Trovato"; $a->strings["Page not found."] = "Pagina non trovata."; From 96bcaf4331153d911dff6d8c7265f1a8f3f01255 Mon Sep 17 00:00:00 2001 From: Friendika Date: Wed, 17 Aug 2011 18:43:17 -0700 Subject: [PATCH 02/52] poormancron - proc_run executing twice, once as function; once as commandline --- addon/poormancron/poormancron.php | 4 +++- boot.php | 9 ++++++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/addon/poormancron/poormancron.php b/addon/poormancron/poormancron.php index 7611c43bef..e09182f992 100644 --- a/addon/poormancron/poormancron.php +++ b/addon/poormancron/poormancron.php @@ -31,7 +31,9 @@ function poormancron_hook(&$a,&$b) { } } -function poormancron_procrun(&$a, $argv) { +function poormancron_procrun(&$a, &$arr) { + $argv = $arr['args']; + $arr['run_cmd'] = false; logger("poormancron procrun ".implode(", ",$argv)); array_shift($argv); $argc = count($argv); diff --git a/boot.php b/boot.php index 39bb6a9dac..158054884b 100644 --- a/boot.php +++ b/boot.php @@ -7,7 +7,7 @@ require_once('include/text.php'); require_once("include/pgettext.php"); -define ( 'FRIENDIKA_VERSION', '2.2.1074' ); +define ( 'FRIENDIKA_VERSION', '2.2.1075' ); define ( 'DFRN_PROTOCOL_VERSION', '2.21' ); define ( 'DB_UPDATE_VERSION', 1079 ); @@ -1033,11 +1033,14 @@ function proc_run($cmd){ $a = get_app(); $args = func_get_args(); - call_hooks("proc_run", $args); + $arr = array('args' => $args, 'run_cmd' => true); + + call_hooks("proc_run", $arr); + if(! $arr['run_cmd']) + return; if(count($args) && $args[0] === 'php') $args[0] = ((x($a->config,'php_path')) && (strlen($a->config['php_path'])) ? $a->config['php_path'] : 'php'); - foreach ($args as $arg){ $arg = escapeshellarg($arg); } From c30f523c6200ef84c506940b5f86b49ff2c7cf6e Mon Sep 17 00:00:00 2001 From: Friendika Date: Wed, 17 Aug 2011 20:52:18 -0700 Subject: [PATCH 03/52] more d* infrastructure for relaying signed messages and storing non-connected people details --- boot.php | 2 +- database.sql | 24 +++++++++++++++++++++++- mod/like.php | 6 +----- mod/wall_upload.php | 2 +- update.php | 27 ++++++++++++++++++++++++++- 5 files changed, 52 insertions(+), 9 deletions(-) diff --git a/boot.php b/boot.php index 158054884b..09d9f4ef87 100644 --- a/boot.php +++ b/boot.php @@ -9,7 +9,7 @@ require_once("include/pgettext.php"); define ( 'FRIENDIKA_VERSION', '2.2.1075' ); define ( 'DFRN_PROTOCOL_VERSION', '2.21' ); -define ( 'DB_UPDATE_VERSION', 1079 ); +define ( 'DB_UPDATE_VERSION', 1080 ); define ( 'EOL', "
\r\n" ); define ( 'ATOM_TIME', 'Y-m-d\TH:i:s\Z' ); diff --git a/database.sql b/database.sql index 89c4b4267c..ae036fc74a 100644 --- a/database.sql +++ b/database.sql @@ -521,7 +521,18 @@ CREATE TABLE IF NOT EXISTS `fcontact` ( `url` CHAR( 255 ) NOT NULL , `name` CHAR( 255 ) NOT NULL , `photo` CHAR( 255 ) NOT NULL , -`request` CHAR( 255 ) NOT NULL +`request` CHAR( 255 ) NOT NULL, +`nick` CHAR( 255 ) NOT NULL , +`addr` CHAR( 255 ) NOT NULL , +`notify` CHAR( 255 ) NOT NULL , +`poll` CHAR( 255 ) NOT NULL , +`confirm` CHAR( 255 ) NOT NULL , +`priority` TINYINT( 1 ) NOT NULL , +`network` CHAR( 32 ) NOT NULL , +`alias` CHAR( 255 ) NOT NULL , +`pubkey` TEXT NOT NULL , +INDEX ( `addr` ), +INDEX ( `network` ) ) ENGINE = MYISAM DEFAULT CHARSET=utf8; CREATE TABLE IF NOT EXISTS `ffinder` ( @@ -581,3 +592,14 @@ CREATE TABLE IF NOT EXISTS `guid` ( INDEX ( `guid` ) ) ENGINE = MYISAM DEFAULT CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `sign` ( +`id` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY , +`iid` INT UNSIGNED NOT NULL , +`signed_text` MEDIUMTEXT NOT NULL , +`signature` TEXT NOT NULL , +`signer` CHAR( 255 ) NOT NULL , +INDEX ( `iid` ) +) ENGINE = MYISAM DEFAULT CHARSET=utf8; + + diff --git a/mod/like.php b/mod/like.php index 966fe500b2..2876302122 100644 --- a/mod/like.php +++ b/mod/like.php @@ -19,14 +19,10 @@ function like_content(&$a) { switch($verb) { case 'like': - $activity = ACTIVITY_LIKE; - break; - case 'dislike': - $activity = ACTIVITY_DISLIKE; - break; case 'unlike': $activity = ACTIVITY_LIKE; break; + case 'dislike': case 'undislike': $activity = ACTIVITY_DISLIKE; break; diff --git a/mod/wall_upload.php b/mod/wall_upload.php index dd2197d7cd..b34f2cf6b0 100644 --- a/mod/wall_upload.php +++ b/mod/wall_upload.php @@ -55,7 +55,7 @@ function wall_upload_post(&$a) { if(($maximagesize) && ($filesize > $maximagesize)) { echo sprintf( t('Image exceeds size limit of %d'), $maximagesize) . EOL; @unlink($src); - return; + killme(); } $imagedata = @file_get_contents($src); diff --git a/update.php b/update.php index 256ab48e81..3586aa5fd2 100644 --- a/update.php +++ b/update.php @@ -1,6 +1,6 @@ Date: Wed, 17 Aug 2011 21:14:21 -0700 Subject: [PATCH 04/52] fix largest_photo mixup in probe_url --- include/Scrape.php | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/include/Scrape.php b/include/Scrape.php index bfe795e19d..dbd98c9ecc 100644 --- a/include/Scrape.php +++ b/include/Scrape.php @@ -498,10 +498,11 @@ function probe_url($url) { logger('probe_url: scrape_feed returns: ' . print_r($feedret,true), LOGGER_DATA); if(count($feedret) && ($feedret['feed_atom'] || $feedret['feed_rss'])) { $poll = ((x($feedret,'feed_atom')) ? unamp($feedret['feed_atom']) : unamp($feedret['feed_rss'])); - $vcard = array(); + if(! x($vcard)) + $vcard = array(); } - if(x($feedret,'photo')) + if(x($feedret,'photo') && (! x($vcard,'photo'))) $vcard['photo'] = $feedret['photo']; require_once('library/simplepie/simplepie.inc'); $feed = new SimplePie(); @@ -518,9 +519,11 @@ function probe_url($url) { if($feed->error()) logger('probe_url: scrape_feed: Error parsing XML: ' . $feed->error()); + if(! x($vcard,'photo')) $vcard['photo'] = $feed->get_image_url(); $author = $feed->get_author(); + if($author) { $vcard['fn'] = unxmlify(trim($author->get_name())); if(! $vcard['fn']) @@ -568,6 +571,7 @@ function probe_url($url) { } } } + if((! $vcard['photo']) && strlen($email)) $vcard['photo'] = gravatar_img($email); if($poll === $profile) From 96342878398e394173ba1a2dd825afbcb19e7199 Mon Sep 17 00:00:00 2001 From: Friendika Date: Wed, 17 Aug 2011 23:01:44 -0700 Subject: [PATCH 05/52] fix several probe related issues --- boot.php | 30 ++++++++----- include/Scrape.php | 95 ++++++++++++++++++++++++++---------------- include/diaspora.php | 7 ++++ mod/hcard.php | 13 +++--- mod/profile.php | 13 +++--- view/profile_vcard.tpl | 3 +- 6 files changed, 102 insertions(+), 59 deletions(-) diff --git a/boot.php b/boot.php index 09d9f4ef87..050cf10ce8 100644 --- a/boot.php +++ b/boot.php @@ -803,8 +803,12 @@ function profile_load(&$a, $nickname, $profile = 0) { if(! (x($a->page,'aside'))) $a->page['aside'] = ''; - $a->page['aside'] .= profile_sidebar($a->profile); - $a->page['aside'] .= contact_block(); + $block = (((get_config('system','block_public')) && (! local_user()) && (! remote_user())) ? true : false); + + $a->page['aside'] .= profile_sidebar($a->profile, $block); + + if(! $block) + $a->page['aside'] .= contact_block(); return; }} @@ -827,7 +831,7 @@ function profile_load(&$a, $nickname, $profile = 0) { if(! function_exists('profile_sidebar')) { -function profile_sidebar($profile) { +function profile_sidebar($profile, $block = 0) { $a = get_app(); @@ -846,10 +850,9 @@ function profile_sidebar($profile) { $tabs = ''; - $photo = '
' . $profile['name'] . '
'; + $photo = '
' . $profile['name'] . '
'; // don't show connect link to yourself - $connect = (($profile['uid'] != local_user()) ? '
  • ' . t('Connect') . '
  • ' : ''); // don't show connect link to authenticated visitors either @@ -877,6 +880,7 @@ function profile_sidebar($profile) { } + $gender = ((x($profile,'gender') == 1) ? '
    ' . t('Gender:') . ' ' . $profile['gender'] . '
    ' : ''); $pubkey = ((x($profile,'pubkey') == 1) ? '' : ''); @@ -885,13 +889,13 @@ function profile_sidebar($profile) { $homepage = ((x($profile,'homepage') == 1) ? '
    ' . t('Homepage:') . ' ' . linkify($profile['homepage']) . '
    ' : ''); - if($profile['hidewall'] && (! local_user()) && (! remote_user())) { - $location = $gender = $marital = $homepage = ''; + if(($profile['hidewall'] || $block) && (! local_user()) && (! remote_user())) { + $location = $pdesc = $connect = $gender = $marital = $homepage = ''; } $podloc = $a->get_baseurl(); $searchable = (($profile['publish'] && $profile['net-publish']) ? 'true' : 'false' ); - $nickname = $profile['nick']; + $nickname = $profile['nickname']; $photo300 = $a->get_baseurl() . '/photo/custom/300/' . $profile['uid'] . '.jpg'; $photo100 = $a->get_baseurl() . '/photo/custom/100/' . $profile['uid'] . '.jpg'; $photo50 = $a->get_baseurl() . '/photo/custom/50/' . $profile['uid'] . '.jpg'; @@ -902,13 +906,19 @@ function profile_sidebar($profile) {
    Nickname
    -$nickname +$nickname +
    +
    +
    +
    Full name
    +
    +$fullname
    URL
    -$podloc +$podloc/
    diff --git a/include/Scrape.php b/include/Scrape.php index dbd98c9ecc..1b319481ba 100644 --- a/include/Scrape.php +++ b/include/Scrape.php @@ -44,8 +44,9 @@ function scrape_dfrn($url) { $x = $item->getAttribute('rel'); if(($x === 'alternate') && ($item->getAttribute('type') === 'application/atom+xml')) $ret['feed_atom'] = $item->getAttribute('href'); - if(substr($x,0,5) == "dfrn-") + if(substr($x,0,5) == "dfrn-") { $ret[$x] = $item->getAttribute('href'); + } if($x === 'lrdd') { $decoded = urldecode($item->getAttribute('href')); if(preg_match('/acct:([^@]*)@/',$decoded,$matches)) @@ -55,17 +56,28 @@ function scrape_dfrn($url) { // Pull out hCard profile elements + $largest_photo = 0; + $items = $dom->getElementsByTagName('*'); foreach($items as $item) { if(attribute_contains($item->getAttribute('class'), 'vcard')) { $level2 = $item->getElementsByTagName('*'); foreach($level2 as $x) { - if(attribute_contains($x->getAttribute('class'),'fn')) + if(attribute_contains($x->getAttribute('class'),'fn')) { $ret['fn'] = $x->textContent; - if(attribute_contains($x->getAttribute('class'),'photo')) - $ret['photo'] = $x->getAttribute('src'); - if(attribute_contains($x->getAttribute('class'),'key')) + } + if((attribute_contains($x->getAttribute('class'),'photo')) + || (attribute_contains($x->getAttribute('class'),'avatar'))) { + $size = intval($x->getAttribute('width')); + // dfrn prefers 175, so if we find this, we set largest_size so it can't be topped. + if(($size > $largest_photo) || ($size == 175) || (! $largest_photo)) { + $ret['photo'] = $x->getAttribute('src'); + $largest_photo = (($size == 175) ? 9999 : $size); + } + } + if(attribute_contains($x->getAttribute('class'),'key')) { $ret['key'] = $x->textContent; + } } } } @@ -190,8 +202,9 @@ function scrape_vcard($url) { } } if((attribute_contains($x->getAttribute('class'),'nickname')) - || (attribute_contains($x->getAttribute('class'),'uid'))) + || (attribute_contains($x->getAttribute('class'),'uid'))) { $ret['nick'] = $x->textContent; + } } } } @@ -288,8 +301,10 @@ function scrape_feed($url) { return $ret; }} +define ( 'PROBE_NORMAL', 0); +define ( 'PROBE_DIASPORA', 1); -function probe_url($url) { +function probe_url($url, $mode = PROBE_NORMAL) { require_once('include/email.php'); $result = array(); @@ -366,7 +381,7 @@ function probe_url($url) { } } } - else { + elseif($mode == PROBE_NORMAL) { // Check email @@ -411,38 +426,46 @@ function probe_url($url) { } } - if(strlen($zot)) { - $s = fetch_url($zot); - if($s) { - $j = json_decode($s); - if($j) { - $network = NETWORK_ZOT; - $vcard = array( - 'fn' => $j->fullname, - 'nick' => $j->nickname, - 'photo' => $j->photo - ); - $profile = $j->url; - $notify = $j->post; - $pubkey = $j->pubkey; - $poll = 'N/A'; + if($mode == PROBE_NORMAL) { + if(strlen($zot)) { + $s = fetch_url($zot); + if($s) { + $j = json_decode($s); + if($j) { + $network = NETWORK_ZOT; + $vcard = array( + 'fn' => $j->fullname, + 'nick' => $j->nickname, + 'photo' => $j->photo + ); + $profile = $j->url; + $notify = $j->post; + $pubkey = $j->pubkey; + $poll = 'N/A'; + } + } + } + + if(strlen($dfrn)) { + $ret = scrape_dfrn($dfrn); + if(is_array($ret) && x($ret,'dfrn-request')) { + $network = NETWORK_DFRN; + $request = $ret['dfrn-request']; + $confirm = $ret['dfrn-confirm']; + $notify = $ret['dfrn-notify']; + $poll = $ret['dfrn-poll']; + + $vcard = array(); + $vcard['fn'] = $ret['fn']; + $vcard['nick'] = $ret['nick']; + $vcard['photo'] = $ret['photo']; } } } - if(strlen($dfrn)) { - $ret = scrape_dfrn($dfrn); - if(is_array($ret) && x($ret,'dfrn-request')) { - $network = NETWORK_DFRN; - $request = $ret['dfrn-request']; - $confirm = $ret['dfrn-confirm']; - $notify = $ret['dfrn-notify']; - $poll = $ret['dfrn-poll']; - } - } - if($diaspora && $diaspora_base && $diaspora_guid) { - $notify = $diaspora_base . 'receive/post/' . $diaspora_guid; + if($mode == PROBE_DIASPORA || ! $notify) + $notify = $diaspora_base . 'receive/post/' . $diaspora_guid; if(strpos($url,'@')) $addr = str_replace('acct:', '', $url); } @@ -454,7 +477,7 @@ function probe_url($url) { $network = NETWORK_OSTATUS; $priority = 0; - if($hcard) { + if($hcard && ! $vcard) { $vcard = scrape_vcard($hcard); // Google doesn't use absolute url in profile photos diff --git a/include/diaspora.php b/include/diaspora.php index e089e3f040..9987c21393 100644 --- a/include/diaspora.php +++ b/include/diaspora.php @@ -279,6 +279,13 @@ function diaspora_get_contact_by_handle($uid,$handle) { } function find_person_by_handle($handle) { + $r = q("select * from fcontact where network = '%s' and addr = '%s' limit 1", + dbesc(NETWORK_DIASPORA), + dbesc($handle) + ); + if(count($r)) + return $r[0]; + // we don't care about the uid, we just want to save an expensive webfinger probe $r = q("select * from contact where network = '%s' and addr = '%s' LIMIT 1", dbesc(NETWORK_DIASPORA), diff --git a/mod/hcard.php b/mod/hcard.php index 5505ca08e6..19e649dcb6 100644 --- a/mod/hcard.php +++ b/mod/hcard.php @@ -2,8 +2,7 @@ function hcard_init(&$a) { - if((get_config('system','block_public')) && (! local_user()) && (! remote_user())) - return; + $blocked = (((get_config('system','block_public')) && (! local_user()) && (! remote_user())) ? true : false); if($a->argc > 1) $which = $a->argv[1]; @@ -31,10 +30,12 @@ function hcard_init(&$a) { $a->page['htmlhead'] .= '' . "\r\n"; } - $keywords = ((x($a->profile,'pub_keywords')) ? $a->profile['pub_keywords'] : ''); - $keywords = str_replace(array(',',' ',',,'),array(' ',',',','),$keywords); - if(strlen($keywords)) - $a->page['htmlhead'] .= '' . "\r\n" ; + if(! $blocked) { + $keywords = ((x($a->profile,'pub_keywords')) ? $a->profile['pub_keywords'] : ''); + $keywords = str_replace(array(',',' ',',,'),array(' ',',',','),$keywords); + if(strlen($keywords)) + $a->page['htmlhead'] .= '' . "\r\n" ; + } $a->page['htmlhead'] .= '' . "\r\n" ; $a->page['htmlhead'] .= '' . "\r\n" ; diff --git a/mod/profile.php b/mod/profile.php index a4c6ea7107..2dd5df7585 100644 --- a/mod/profile.php +++ b/mod/profile.php @@ -2,8 +2,7 @@ function profile_init(&$a) { - if((get_config('system','block_public')) && (! local_user()) && (! remote_user())) - return; + $blocked = (((get_config('system','block_public')) && (! local_user()) && (! remote_user())) ? true : false); if($a->argc > 1) $which = $a->argv[1]; @@ -31,10 +30,12 @@ function profile_init(&$a) { $a->page['htmlhead'] .= '' . "\r\n"; } - $keywords = ((x($a->profile,'pub_keywords')) ? $a->profile['pub_keywords'] : ''); - $keywords = str_replace(array(',',' ',',,'),array(' ',',',','),$keywords); - if(strlen($keywords)) - $a->page['htmlhead'] .= '' . "\r\n" ; + if(! $blocked) { + $keywords = ((x($a->profile,'pub_keywords')) ? $a->profile['pub_keywords'] : ''); + $keywords = str_replace(array(',',' ',',,'),array(' ',',',','),$keywords); + if(strlen($keywords)) + $a->page['htmlhead'] .= '' . "\r\n" ; + } $a->page['htmlhead'] .= '' . "\r\n" ; $a->page['htmlhead'] .= '' . "\r\n" ; diff --git a/view/profile_vcard.tpl b/view/profile_vcard.tpl index 86655951de..34f265ee67 100644 --- a/view/profile_vcard.tpl +++ b/view/profile_vcard.tpl @@ -18,11 +18,12 @@ $pubkey +$diaspora + $marital $homepage -$diaspora From 69b7c2f0becdda1e331eef0069e163c2dad9df0e Mon Sep 17 00:00:00 2001 From: Friendika Date: Wed, 17 Aug 2011 23:10:55 -0700 Subject: [PATCH 06/52] documentation --- include/Scrape.php | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/include/Scrape.php b/include/Scrape.php index 1b319481ba..1c9fe7d454 100644 --- a/include/Scrape.php +++ b/include/Scrape.php @@ -301,6 +301,26 @@ function scrape_feed($url) { return $ret; }} + +/** + * + * Probe a network address to discover what kind of protocols we need to communicate with it. + * + * Warning: this function is a bit touchy and there are some subtle dependencies within the logic flow. + * Edit with care. + * + */ + +/** + * + * PROBE_DIASPORA has a bias towards returning Diaspora information + * while PROBE_NORMAL has a bias towards dfrn/zot - in the case where + * an address (such as a Friendika address) supports more than one type + * of network. + * + */ + + define ( 'PROBE_NORMAL', 0); define ( 'PROBE_DIASPORA', 1); From bea02876eb41c8ffdffbeb90083491be9c334a1a Mon Sep 17 00:00:00 2001 From: Tobias Diekershoff Date: Thu, 18 Aug 2011 10:05:33 +0200 Subject: [PATCH 07/52] update DE strings --- view/de/messages.po | 420 +++++++++++++++++++++++--------------------- view/de/strings.php | 9 +- 2 files changed, 225 insertions(+), 204 deletions(-) diff --git a/view/de/messages.po b/view/de/messages.po index 98e8e6f22c..aac565b217 100644 --- a/view/de/messages.po +++ b/view/de/messages.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: friendika\n" "Report-Msgid-Bugs-To: http://bugs.friendika.com/\n" -"POT-Creation-Date: 2011-08-07 04:50-0700\n" -"PO-Revision-Date: 2011-08-09 13:51+0000\n" +"POT-Creation-Date: 2011-08-14 21:17-0700\n" +"PO-Revision-Date: 2011-08-18 08:02+0000\n" "Last-Translator: bavatar \n" "Language-Team: German (http://www.transifex.net/projects/p/friendika/team/de/)\n" "MIME-Version: 1.0\n" @@ -46,7 +46,7 @@ msgstr "Konnte den Kontakt nicht aktualisieren." #: ../../mod/display.php:108 ../../mod/profiles.php:7 #: ../../mod/profiles.php:226 ../../mod/invite.php:13 ../../mod/invite.php:81 #: ../../mod/dfrn_confirm.php:53 ../../addon/facebook/facebook.php:308 -#: ../../include/items.php:1916 ../../index.php:266 +#: ../../include/items.php:1930 ../../index.php:266 msgid "Permission denied." msgstr "Zugriff verweigert." @@ -116,14 +116,14 @@ msgstr "Pull/Feed URL" #: ../../mod/invite.php:106 ../../addon/facebook/facebook.php:366 #: ../../addon/randplace/randplace.php:178 #: ../../addon/impressum/impressum.php:69 ../../addon/oembed/oembed.php:41 -#: ../../addon/statusnet/statusnet.php:223 -#: ../../addon/statusnet/statusnet.php:237 -#: ../../addon/statusnet/statusnet.php:263 -#: ../../addon/statusnet/statusnet.php:270 -#: ../../addon/statusnet/statusnet.php:292 -#: ../../addon/statusnet/statusnet.php:414 ../../addon/piwik/piwik.php:76 +#: ../../addon/statusnet/statusnet.php:274 +#: ../../addon/statusnet/statusnet.php:288 +#: ../../addon/statusnet/statusnet.php:314 +#: ../../addon/statusnet/statusnet.php:321 +#: ../../addon/statusnet/statusnet.php:343 +#: ../../addon/statusnet/statusnet.php:468 ../../addon/piwik/piwik.php:76 #: ../../addon/twitter/twitter.php:171 ../../addon/twitter/twitter.php:194 -#: ../../addon/twitter/twitter.php:276 ../../include/conversation.php:406 +#: ../../addon/twitter/twitter.php:280 ../../include/conversation.php:409 msgid "Submit" msgstr "Senden" @@ -203,7 +203,7 @@ msgstr "l, F j" msgid "Edit event" msgstr "Veranstaltung bearbeiten" -#: ../../mod/events.php:237 ../../include/text.php:835 +#: ../../mod/events.php:237 ../../include/text.php:846 msgid "link to source" msgstr "Link zum original Posting" @@ -240,7 +240,7 @@ msgstr "An Zeitzone des Betrachters anpassen" msgid "Description:" msgstr "Beschreibung" -#: ../../mod/events.php:328 ../../include/event.php:37 ../../boot.php:869 +#: ../../mod/events.php:328 ../../include/event.php:37 ../../boot.php:868 msgid "Location:" msgstr "Ort:" @@ -318,7 +318,7 @@ msgid "was tagged in a" msgstr "was tagged in a" #: ../../mod/photos.php:508 ../../mod/like.php:110 -#: ../../include/conversation.php:31 +#: ../../include/diaspora.php:446 ../../include/conversation.php:31 msgid "photo" msgstr "Foto" @@ -394,7 +394,7 @@ msgstr "Foto bearbeiten" msgid "Use as profile photo" msgstr "Als Profilbild verwenden" -#: ../../mod/photos.php:1040 ../../include/conversation.php:339 +#: ../../mod/photos.php:1040 ../../include/conversation.php:342 msgid "Private Message" msgstr "Private Nachricht" @@ -428,38 +428,38 @@ msgid "" msgstr "" "Beispiel: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping" -#: ../../mod/photos.php:1162 ../../include/conversation.php:387 +#: ../../mod/photos.php:1162 ../../include/conversation.php:390 msgid "I like this (toggle)" msgstr "Ich mag das (toggle)" -#: ../../mod/photos.php:1163 ../../include/conversation.php:388 +#: ../../mod/photos.php:1163 ../../include/conversation.php:391 msgid "I don't like this (toggle)" msgstr "Ich mag das nicht (toggle)" -#: ../../mod/photos.php:1164 ../../include/conversation.php:389 -#: ../../include/conversation.php:743 +#: ../../mod/photos.php:1164 ../../include/conversation.php:392 +#: ../../include/conversation.php:746 msgid "Share" msgstr "Teilen" #: ../../mod/photos.php:1165 ../../mod/editpost.php:99 #: ../../mod/message.php:190 ../../mod/message.php:324 -#: ../../include/conversation.php:390 ../../include/conversation.php:753 +#: ../../include/conversation.php:393 ../../include/conversation.php:756 msgid "Please wait" msgstr "Bitte warten" #: ../../mod/photos.php:1181 ../../mod/photos.php:1220 -#: ../../mod/photos.php:1251 ../../include/conversation.php:403 +#: ../../mod/photos.php:1251 ../../include/conversation.php:406 msgid "This is you" msgstr "Das bist du" #: ../../mod/photos.php:1183 ../../mod/photos.php:1222 -#: ../../mod/photos.php:1253 ../../include/conversation.php:405 -#: ../../boot.php:412 +#: ../../mod/photos.php:1253 ../../include/conversation.php:408 +#: ../../boot.php:411 msgid "Comment" msgstr "Kommentar" #: ../../mod/photos.php:1281 ../../mod/group.php:154 ../../mod/admin.php:468 -#: ../../include/conversation.php:424 +#: ../../include/conversation.php:427 msgid "Delete" msgstr "Löschen" @@ -507,62 +507,62 @@ msgstr "Beitrag nicht gefunden" msgid "Edit post" msgstr "Beitrag bearbeiten" -#: ../../mod/editpost.php:75 ../../include/conversation.php:729 +#: ../../mod/editpost.php:75 ../../include/conversation.php:732 msgid "Post to Email" msgstr "An Email senden" #: ../../mod/editpost.php:90 ../../include/group.php:171 -#: ../../include/group.php:172 ../../include/conversation.php:414 +#: ../../include/group.php:172 ../../include/conversation.php:417 msgid "Edit" msgstr "Bearbeiten" #: ../../mod/editpost.php:91 ../../mod/message.php:188 -#: ../../mod/message.php:322 ../../include/conversation.php:744 +#: ../../mod/message.php:322 ../../include/conversation.php:747 msgid "Upload photo" msgstr "Foto hochladen" -#: ../../mod/editpost.php:92 ../../include/conversation.php:745 +#: ../../mod/editpost.php:92 ../../include/conversation.php:748 msgid "Attach file" msgstr "Datei anhängen" #: ../../mod/editpost.php:93 ../../mod/message.php:189 -#: ../../mod/message.php:323 ../../include/conversation.php:746 +#: ../../mod/message.php:323 ../../include/conversation.php:749 msgid "Insert web link" msgstr "Weblink einfügen" -#: ../../mod/editpost.php:94 ../../include/conversation.php:747 +#: ../../mod/editpost.php:94 ../../include/conversation.php:750 msgid "Insert YouTube video" msgstr "YouTube Video einfügen" -#: ../../mod/editpost.php:95 ../../include/conversation.php:748 +#: ../../mod/editpost.php:95 ../../include/conversation.php:751 msgid "Insert Vorbis [.ogg] video" msgstr "Vorbis [.ogg] Video einfügen" -#: ../../mod/editpost.php:96 ../../include/conversation.php:749 +#: ../../mod/editpost.php:96 ../../include/conversation.php:752 msgid "Insert Vorbis [.ogg] audio" msgstr "Vorbis [.ogg] Audio einfügen" -#: ../../mod/editpost.php:97 ../../include/conversation.php:750 +#: ../../mod/editpost.php:97 ../../include/conversation.php:753 msgid "Set your location" msgstr "Deinen Standort festlegen" -#: ../../mod/editpost.php:98 ../../include/conversation.php:751 +#: ../../mod/editpost.php:98 ../../include/conversation.php:754 msgid "Clear browser location" msgstr "Browser Standort leeren" -#: ../../mod/editpost.php:100 ../../include/conversation.php:754 +#: ../../mod/editpost.php:100 ../../include/conversation.php:757 msgid "Permission settings" msgstr "Berechtigungseinstellungen" -#: ../../mod/editpost.php:108 ../../include/conversation.php:762 +#: ../../mod/editpost.php:108 ../../include/conversation.php:765 msgid "CC: email addresses" msgstr "CC: EMail Addresse" -#: ../../mod/editpost.php:109 ../../include/conversation.php:763 +#: ../../mod/editpost.php:109 ../../include/conversation.php:766 msgid "Public post" msgstr "Öffentlicher Beitrag" -#: ../../mod/editpost.php:111 ../../include/conversation.php:765 +#: ../../mod/editpost.php:111 ../../include/conversation.php:768 msgid "Example: bob@example.com, mary@example.com" msgstr "Z.B.: bob@example.com, mary@example.com" @@ -681,7 +681,7 @@ msgstr "Bitte bestätige deine Vorstellung/Verbindungs Anfrage bei %s." msgid "Confirm" msgstr "Bestätigen" -#: ../../mod/dfrn_request.php:542 ../../include/items.php:1505 +#: ../../mod/dfrn_request.php:542 ../../include/items.php:1519 msgid "[Name Withheld]" msgstr "[Name Zurückgehalten]" @@ -693,7 +693,7 @@ msgstr "Vorstellung erhalten auf" #: ../../mod/lostpass.php:106 ../../mod/register.php:369 #: ../../mod/register.php:423 ../../mod/regmod.php:54 #: ../../mod/dfrn_notify.php:291 ../../mod/dfrn_notify.php:547 -#: ../../mod/dfrn_confirm.php:658 ../../include/items.php:1514 +#: ../../mod/dfrn_confirm.php:674 ../../include/items.php:1528 msgid "Administrator" msgstr "Administrator" @@ -1345,7 +1345,7 @@ msgstr "Funde: " msgid "Find" msgstr "Finde" -#: ../../mod/contacts.php:422 ../../include/conversation.php:609 +#: ../../mod/contacts.php:422 ../../include/conversation.php:612 msgid "Edit contact" msgstr "Kontakt bearbeiten" @@ -1370,7 +1370,7 @@ msgstr "" "Anfrage konnte nicht verifiziert werden. (Eventuell hast du bereits ähnliche" " Anfrage gestellt.) Zurücksetzen des Passworts gescheitert." -#: ../../mod/lostpass.php:82 ../../boot.php:655 +#: ../../mod/lostpass.php:82 ../../boot.php:654 msgid "Password Reset" msgstr "Passwort zurücksetzen" @@ -1459,7 +1459,7 @@ msgstr " Cannot change to that email." #: ../../mod/settings.php:257 ../../addon/facebook/facebook.php:297 #: ../../addon/impressum/impressum.php:64 ../../addon/piwik/piwik.php:89 -#: ../../addon/twitter/twitter.php:271 +#: ../../addon/twitter/twitter.php:275 msgid "Settings updated." msgstr "Einstellungen aktualisiert." @@ -2006,7 +2006,7 @@ msgstr "Sichtbar für" msgid "All Contacts (with secure profile access)" msgstr "Alle Kontakte (mit gesichertem Profil zugriff)" -#: ../../mod/viewcontacts.php:25 ../../include/text.php:548 +#: ../../mod/viewcontacts.php:25 ../../include/text.php:555 msgid "View Contacts" msgstr "Kontakte anzeigen" @@ -2173,22 +2173,24 @@ msgstr "" msgid "Choose a nickname: " msgstr "Spitznamen wählen: " -#: ../../mod/register.php:529 ../../include/nav.php:59 ../../boot.php:638 +#: ../../mod/register.php:529 ../../include/nav.php:59 ../../boot.php:637 msgid "Register" msgstr "Registrieren" -#: ../../mod/like.php:110 ../../addon/facebook/facebook.php:947 -#: ../../include/conversation.php:26 ../../include/conversation.php:35 +#: ../../mod/like.php:110 ../../addon/facebook/facebook.php:954 +#: ../../include/diaspora.php:446 ../../include/conversation.php:26 +#: ../../include/conversation.php:35 msgid "status" msgstr "Status" -#: ../../mod/like.php:127 ../../addon/facebook/facebook.php:951 -#: ../../include/conversation.php:43 +#: ../../mod/like.php:127 ../../addon/facebook/facebook.php:958 +#: ../../include/diaspora.php:463 ../../include/conversation.php:43 #, php-format msgid "%1$s likes %2$s's %3$s" msgstr "%1$s mag %2$s's %3$s" -#: ../../mod/like.php:129 ../../include/conversation.php:46 +#: ../../mod/like.php:129 ../../include/diaspora.php:465 +#: ../../include/conversation.php:46 #, php-format msgid "%1$s doesn't like %2$s's %3$s" msgstr "%1$s mag %2$s's %3$s nicht" @@ -2258,43 +2260,43 @@ msgstr "Bitte melde dich an." msgid "Unable to locate original post." msgstr "Konnte das original Posting nicht finden." -#: ../../mod/item.php:182 +#: ../../mod/item.php:196 msgid "Empty post discarded." msgstr "Leere Nachricht wurde verworfen." -#: ../../mod/item.php:282 ../../mod/message.php:93 +#: ../../mod/item.php:296 ../../mod/message.php:93 #: ../../mod/wall_upload.php:81 ../../mod/wall_upload.php:90 #: ../../mod/wall_upload.php:97 msgid "Wall Photos" msgstr "Pinnwand Bilder" -#: ../../mod/item.php:605 ../../mod/item.php:650 ../../mod/item.php:673 -#: ../../mod/item.php:716 ../../mod/dfrn_notify.php:293 +#: ../../mod/item.php:623 ../../mod/item.php:668 ../../mod/item.php:691 +#: ../../mod/item.php:734 ../../mod/dfrn_notify.php:293 #: ../../mod/dfrn_notify.php:503 ../../mod/dfrn_notify.php:548 #: ../../mod/dfrn_notify.php:634 ../../mod/dfrn_notify.php:677 msgid "noreply" msgstr "noreply" -#: ../../mod/item.php:649 ../../mod/item.php:715 ../../mod/dfrn_notify.php:676 +#: ../../mod/item.php:667 ../../mod/item.php:733 ../../mod/dfrn_notify.php:676 msgid "Administrator@" msgstr "Administrator@" -#: ../../mod/item.php:652 ../../mod/dfrn_notify.php:550 +#: ../../mod/item.php:670 ../../mod/dfrn_notify.php:550 #: ../../mod/dfrn_notify.php:679 #, php-format msgid "%s commented on an item at %s" msgstr "%s kommentierte einen Beitrag auf %s" -#: ../../mod/item.php:718 +#: ../../mod/item.php:736 #, php-format msgid "%s posted to your profile wall at %s" msgstr "%s hat auf deine Profilwand bei %s gepostet" -#: ../../mod/item.php:747 +#: ../../mod/item.php:765 msgid "System error. Post not saved." msgstr "Systemfehler. Nachricht konnte nicht gespeichert werden." -#: ../../mod/item.php:766 +#: ../../mod/item.php:784 #, php-format msgid "" "This message was sent to you by %s, a member of the Friendika social " @@ -2303,12 +2305,12 @@ msgstr "" "Diese Nachricht wurde dir von %s gesendet, einem Mitglied des Sozialen " "Netzwerks Friendika" -#: ../../mod/item.php:768 +#: ../../mod/item.php:786 #, php-format msgid "You may visit them online at %s" msgstr "Du kannst sie online unter %s besuchen" -#: ../../mod/item.php:769 +#: ../../mod/item.php:787 msgid "" "Please contact the sender by replying to this post if you do not wish to " "receive these messages." @@ -2316,7 +2318,7 @@ msgstr "" "Please contact the sender by replying to this post if you do not wish to " "receive these messages." -#: ../../mod/item.php:771 +#: ../../mod/item.php:789 #, php-format msgid "%s posted an update." msgstr "%s hat ein Update gepostet." @@ -2378,6 +2380,10 @@ msgstr "Bearbeitung abgeschlossen" msgid "Image uploaded successfully." msgstr "Bild erfolgreich auf den Server geladen." +#: ../../mod/hcard.php:11 ../../mod/profile.php:11 ../../boot.php:792 +msgid "No profile" +msgstr "Kein Profil" + #: ../../mod/removeme.php:42 ../../mod/removeme.php:45 msgid "Remove My Account" msgstr "Account löschen" @@ -2438,7 +2444,7 @@ msgstr "Nachricht gelöscht." msgid "Conversation removed." msgstr "Unterhaltung gelöscht." -#: ../../mod/message.php:172 ../../include/conversation.php:696 +#: ../../mod/message.php:172 ../../include/conversation.php:699 msgid "Please enter a link URL:" msgstr "Bitte gib die URL des Links ein:" @@ -2508,7 +2514,7 @@ msgid "User registrations waiting for confirmation" msgstr "Nutzeranmeldungen die auf Bestätigung warten" #: ../../mod/admin.php:118 ../../mod/admin.php:502 ../../mod/display.php:25 -#: ../../mod/display.php:112 ../../include/items.php:1828 +#: ../../mod/display.php:112 ../../include/items.php:1842 msgid "Item not found." msgstr "Beitrag nicht gefunden." @@ -2565,7 +2571,7 @@ msgstr "Regeln" msgid "Advanced" msgstr "Erweitert" -#: ../../mod/admin.php:306 +#: ../../mod/admin.php:306 ../../addon/statusnet/statusnet.php:459 msgid "Site name" msgstr "Seiten Name" @@ -2827,10 +2833,6 @@ msgstr "FTP Nutzername" msgid "FTP Password" msgstr "FTP Passwort" -#: ../../mod/profile.php:11 ../../boot.php:793 -msgid "No profile" -msgstr "Kein Profil" - #: ../../mod/profile.php:102 ../../mod/display.php:63 msgid "Access to this profile has been restricted." msgstr "Der Zugriff zu diesem Profil wurde eingeschränkt." @@ -2881,8 +2883,12 @@ msgid "No browser URL could be matched to this address." msgstr "Zu dieser Adresse konnte keine passende Browser URL gefunden werden." #: ../../mod/follow.php:61 -msgid "Communication options with this network have been restricted." -msgstr "Kommunikations-Optionen mit diesem Netzwerk wurden eingeschränkt." +msgid "" +"The profile address specified belongs to a network which has been disabled " +"on this site." +msgstr "" +"Die Adresse dieses Profils gehört zu einem Netzwerk mit dem die " +"Kommunikation auf dieser Seite ausgeschaltet wurde." #: ../../mod/follow.php:66 msgid "" @@ -2892,11 +2898,11 @@ msgstr "" "Eingeschränktes Profil. Diese Person wird keine direkten/privaten " "Nachrichten von dir erhalten können." -#: ../../mod/follow.php:121 +#: ../../mod/follow.php:122 msgid "Unable to retrieve contact information." msgstr "Konnte die Kontaktinformationen nicht empfangen." -#: ../../mod/follow.php:167 +#: ../../mod/follow.php:168 msgid "following" msgstr "folgen" @@ -2916,7 +2922,7 @@ msgstr "Anwendungen" msgid "No installed applications." msgstr "Keine Applikationen installiert." -#: ../../mod/search.php:26 ../../include/text.php:603 ../../include/nav.php:69 +#: ../../mod/search.php:26 ../../include/text.php:610 ../../include/nav.php:69 msgid "Search" msgstr "Suche" @@ -3218,62 +3224,62 @@ msgid "" msgstr "" "Sobald du registriert bist kontaktiere mich bitte auf meiner Profilseite:" -#: ../../mod/dfrn_confirm.php:231 +#: ../../mod/dfrn_confirm.php:233 msgid "Response from remote site was not understood." msgstr "Antwort der entfernten Gegenstelle unverständlich." -#: ../../mod/dfrn_confirm.php:240 +#: ../../mod/dfrn_confirm.php:242 msgid "Unexpected response from remote site: " msgstr "Unerwartete Antwort der Gegenstelle: " -#: ../../mod/dfrn_confirm.php:248 +#: ../../mod/dfrn_confirm.php:250 msgid "Confirmation completed successfully." msgstr "Bestätigung erfolgreich abgeschlossen." -#: ../../mod/dfrn_confirm.php:250 ../../mod/dfrn_confirm.php:264 -#: ../../mod/dfrn_confirm.php:271 +#: ../../mod/dfrn_confirm.php:252 ../../mod/dfrn_confirm.php:266 +#: ../../mod/dfrn_confirm.php:273 msgid "Remote site reported: " msgstr "Entfernte Seite meldet: " -#: ../../mod/dfrn_confirm.php:262 +#: ../../mod/dfrn_confirm.php:264 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:269 +#: ../../mod/dfrn_confirm.php:271 msgid "Introduction failed or was revoked." msgstr "Vorstellung schlug fehl oder wurde zurück gezogen." -#: ../../mod/dfrn_confirm.php:387 +#: ../../mod/dfrn_confirm.php:393 msgid "Unable to set contact photo." msgstr "Konnte das Bild des Kontakts nicht speichern." -#: ../../mod/dfrn_confirm.php:430 ../../include/conversation.php:79 +#: ../../mod/dfrn_confirm.php:436 ../../include/conversation.php:79 #, php-format msgid "%1$s is now friends with %2$s" msgstr "%1$s ist nun mit %2$s befreundet" -#: ../../mod/dfrn_confirm.php:501 +#: ../../mod/dfrn_confirm.php:507 #, php-format msgid "No user record found for '%s' " msgstr "Für '%s' wurde kein Nutzer gefunden" -#: ../../mod/dfrn_confirm.php:511 +#: ../../mod/dfrn_confirm.php:517 msgid "Our site encryption key is apparently messed up." msgstr "Der Verschlüsslungsschlüssel unserer Seite ist anscheinend im Arsch." -#: ../../mod/dfrn_confirm.php:522 +#: ../../mod/dfrn_confirm.php:528 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:534 +#: ../../mod/dfrn_confirm.php:549 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:562 +#: ../../mod/dfrn_confirm.php:578 msgid "" "The ID provided by your system is a duplicate on our system. It should work " "if you try again." @@ -3281,16 +3287,16 @@ msgstr "" "Die ID die uns dein System angeboten hat ist hier bereits vergeben. Bitte " "versuche es noch einmal." -#: ../../mod/dfrn_confirm.php:573 +#: ../../mod/dfrn_confirm.php:589 msgid "Unable to set your contact credentials on our system." msgstr "" "Deine Kontaktreferenzen konnten nicht in unserm System gespeichert werden." -#: ../../mod/dfrn_confirm.php:626 +#: ../../mod/dfrn_confirm.php:642 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:656 +#: ../../mod/dfrn_confirm.php:672 #, php-format msgid "Connection accepted at %s" msgstr "Auf %s wurde die Verbindung akzeptiert" @@ -3362,15 +3368,15 @@ msgstr "" "Das Senden nach Facebook wurde zurückgezogen da Konflikte bei den Multi-" "Netzwerks-Rechten vorliegen." -#: ../../addon/facebook/facebook.php:573 +#: ../../addon/facebook/facebook.php:580 msgid "Image: " msgstr "Bild" -#: ../../addon/facebook/facebook.php:649 +#: ../../addon/facebook/facebook.php:656 msgid "View on Friendika" msgstr "Auf Friendika ansehen" -#: ../../addon/facebook/facebook.php:680 +#: ../../addon/facebook/facebook.php:687 msgid "Facebook post failed. Queued for retry." msgstr "Senden an Facebook gescheitert. Wir versuchen es später erneut." @@ -3479,10 +3485,6 @@ msgstr "Keine Dateien hochgeladen." msgid "Uploaded file is empty" msgstr "Hochgeladene Datei ist leer" -#: ../../addon/js_upload/js_upload.php:303 -msgid "Uploaded file is too large" -msgstr "Hochgeladene Datei ist zu groß" - #: ../../addon/js_upload/js_upload.php:321 msgid "File has an invalid extension, it should be one of " msgstr "" @@ -3542,11 +3544,11 @@ msgstr "OEmbed für Youtube Videos verwenden" msgid "URL to embed:" msgstr "URL zum Einbetten:" -#: ../../addon/statusnet/statusnet.php:82 +#: ../../addon/statusnet/statusnet.php:133 msgid "Post to StatusNet" msgstr "Nach StatusNet senden" -#: ../../addon/statusnet/statusnet.php:124 +#: ../../addon/statusnet/statusnet.php:175 msgid "" "Please contact your site administrator.
    The provided API URL is not " "valid." @@ -3554,24 +3556,24 @@ msgstr "" "Bitte kontaktiere den Administrator der Seite.
    Die gegebene API URL ist" " nicht gültig." -#: ../../addon/statusnet/statusnet.php:152 +#: ../../addon/statusnet/statusnet.php:203 msgid "We could not contact the StatusNet API with the Path you entered." msgstr "" "Die StatusNet API konnte mit dem angegebenen Pfad nicht erreicht werden." -#: ../../addon/statusnet/statusnet.php:179 +#: ../../addon/statusnet/statusnet.php:230 msgid "StatusNet settings updated." msgstr "StatusNet Einstellungen aktualisiert." -#: ../../addon/statusnet/statusnet.php:202 +#: ../../addon/statusnet/statusnet.php:253 msgid "StatusNet Posting Settings" msgstr "StatusNet Posting Einstellungen" -#: ../../addon/statusnet/statusnet.php:216 +#: ../../addon/statusnet/statusnet.php:267 msgid "Globally Available StatusNet OAuthKeys" msgstr "Verfügbare OAuth Schlüssel für StatusNet" -#: ../../addon/statusnet/statusnet.php:217 +#: ../../addon/statusnet/statusnet.php:268 msgid "" "There are preconfigured OAuth key pairs for some StatusNet servers " "available. If you are useing one of them, please use these credentials. If " @@ -3581,11 +3583,11 @@ msgstr "" " einen dieser Server benutzen, dann verwende doch bitte diese Schlüssel. " "Falls nicht kannst du weiter unten deine eigenen OAuth Schlüssel eintragen." -#: ../../addon/statusnet/statusnet.php:225 +#: ../../addon/statusnet/statusnet.php:276 msgid "Provide your own OAuth Credentials" msgstr "Eigene OAuth Schlüssel eintragen" -#: ../../addon/statusnet/statusnet.php:226 +#: ../../addon/statusnet/statusnet.php:277 msgid "" "No consumer key pair for StatusNet found. Register your Friendika Account as" " an desktop client on your StatusNet account, copy the consumer key pair " @@ -3600,19 +3602,19 @@ msgstr "" "deiner Friendika Seite fragen, ob es für deine bevorzugte StatusNet Instanz " "eventuell bereits ein OAuth Schlüsselpaar gibt." -#: ../../addon/statusnet/statusnet.php:228 +#: ../../addon/statusnet/statusnet.php:279 msgid "OAuth Consumer Key" msgstr "OAuth Consumer Schlüssel" -#: ../../addon/statusnet/statusnet.php:231 +#: ../../addon/statusnet/statusnet.php:282 msgid "OAuth Consumer Secret" msgstr "OAuth Consumer Geheimnis" -#: ../../addon/statusnet/statusnet.php:234 +#: ../../addon/statusnet/statusnet.php:285 msgid "Base API Path (remember the trailing /)" msgstr "Basis-URL der StatusNet API (vergiss den abschließenden / nicht)" -#: ../../addon/statusnet/statusnet.php:255 +#: ../../addon/statusnet/statusnet.php:306 msgid "" "To connect to your StatusNet account click the button below to get a " "security code from StatusNet which you have to copy into the input box below" @@ -3624,31 +3626,31 @@ msgstr "" "diesen in die Eingabebox weiter unten. Es werden ausschließlich deine " "öffentlichen Nachrichten bei StatusNet veröffentllicht." -#: ../../addon/statusnet/statusnet.php:256 +#: ../../addon/statusnet/statusnet.php:307 msgid "Log in with StatusNet" msgstr "Bei StatusNet anmelden" -#: ../../addon/statusnet/statusnet.php:258 +#: ../../addon/statusnet/statusnet.php:309 msgid "Copy the security code from StatusNet here" msgstr "Kopiere den Sicherheitscode von StatusNet hier her" -#: ../../addon/statusnet/statusnet.php:264 +#: ../../addon/statusnet/statusnet.php:315 msgid "Cancel Connection Process" msgstr "Verbindungsprozess abbrechen" -#: ../../addon/statusnet/statusnet.php:266 +#: ../../addon/statusnet/statusnet.php:317 msgid "Current StatusNet API is" msgstr "Derzeitige StatusNet API URL lautet" -#: ../../addon/statusnet/statusnet.php:267 +#: ../../addon/statusnet/statusnet.php:318 msgid "Cancel StatusNet Connection" msgstr "Verbindung zum StatusNet Server abbrechen" -#: ../../addon/statusnet/statusnet.php:278 ../../addon/twitter/twitter.php:180 +#: ../../addon/statusnet/statusnet.php:329 ../../addon/twitter/twitter.php:180 msgid "Currently connected to: " msgstr "Momentan verbunden mit: " -#: ../../addon/statusnet/statusnet.php:279 +#: ../../addon/statusnet/statusnet.php:330 msgid "" "If enabled all your public postings can be posted to the " "associated StatusNet account. You can choose to do so by default (here) or " @@ -3659,18 +3661,30 @@ msgstr "" " als Standartverhalten einstellen oder für jeden Eintrag separat in den " "Beitragsoptionen beim Schreiben des Eintrags festlegen." -#: ../../addon/statusnet/statusnet.php:281 +#: ../../addon/statusnet/statusnet.php:332 msgid "Allow posting to StatusNet" msgstr "Nach StatusNet senden erlauben" -#: ../../addon/statusnet/statusnet.php:284 +#: ../../addon/statusnet/statusnet.php:335 msgid "Send public postings to StatusNet by default" msgstr "Veröffentliche alle öffentlichen Beiträge auch bei StatusNet" -#: ../../addon/statusnet/statusnet.php:289 ../../addon/twitter/twitter.php:191 +#: ../../addon/statusnet/statusnet.php:340 ../../addon/twitter/twitter.php:191 msgid "Clear OAuth configuration" msgstr "OAuth Konfiguration löschen" +#: ../../addon/statusnet/statusnet.php:460 +msgid "API URL" +msgstr "API URL" + +#: ../../addon/statusnet/statusnet.php:461 +msgid "Consumer Secret" +msgstr "Benutzer Geheimnis" + +#: ../../addon/statusnet/statusnet.php:462 +msgid "Consumer Key" +msgstr "Benutzer Schlüssel" + #: ../../addon/piwik/piwik.php:77 msgid "Piwik Base URL" msgstr "Piwik Basis URL" @@ -3744,19 +3758,19 @@ msgstr "Nach Twitter senden erlauben" msgid "Send public postings to Twitter by default" msgstr "Veröffentliche alle öffentlichen Beiträge auch bei Twitter" -#: ../../addon/twitter/twitter.php:278 +#: ../../addon/twitter/twitter.php:282 msgid "Consumer key" msgstr "Anwender Schlüssel" -#: ../../addon/twitter/twitter.php:279 +#: ../../addon/twitter/twitter.php:283 msgid "Consumer secret" msgstr "Anwender Geheimnis" -#: ../../include/profile_advanced.php:23 ../../boot.php:881 +#: ../../include/profile_advanced.php:23 ../../boot.php:880 msgid "Gender:" msgstr "Geschlecht:" -#: ../../include/profile_advanced.php:36 ../../include/items.php:1123 +#: ../../include/profile_advanced.php:36 ../../include/items.php:1137 msgid "Birthday:" msgstr "Geburtstag:" @@ -3776,7 +3790,7 @@ msgstr "Alter:" msgid " Status:" msgstr " Bezieungsstatus:" -#: ../../include/profile_advanced.php:103 ../../boot.php:887 +#: ../../include/profile_advanced.php:103 ../../boot.php:886 msgid "Homepage:" msgstr "Homepage:" @@ -4096,117 +4110,121 @@ msgstr "Beginnt:" msgid "Finishes:" msgstr "Endet:" -#: ../../include/text.php:222 +#: ../../include/text.php:229 msgid "prev" msgstr "vorige" -#: ../../include/text.php:224 +#: ../../include/text.php:231 msgid "first" msgstr "erste" -#: ../../include/text.php:253 +#: ../../include/text.php:260 msgid "last" msgstr "letzte" -#: ../../include/text.php:256 +#: ../../include/text.php:263 msgid "next" msgstr "nächste" -#: ../../include/text.php:535 +#: ../../include/text.php:542 msgid "No contacts" msgstr "Keine Kontakte" -#: ../../include/text.php:543 +#: ../../include/text.php:550 #, php-format msgid "%d Contact" msgid_plural "%d Contacts" msgstr[0] "%d Kontakt" msgstr[1] "%d Kontakte" -#: ../../include/text.php:700 +#: ../../include/text.php:711 msgid "Monday" msgstr "Montag" -#: ../../include/text.php:700 +#: ../../include/text.php:711 msgid "Tuesday" msgstr "Dienstag" -#: ../../include/text.php:700 +#: ../../include/text.php:711 msgid "Wednesday" msgstr "Mittwoch" -#: ../../include/text.php:700 +#: ../../include/text.php:711 msgid "Thursday" msgstr "Donnerstag" -#: ../../include/text.php:700 +#: ../../include/text.php:711 msgid "Friday" msgstr "Freitag" -#: ../../include/text.php:700 +#: ../../include/text.php:711 msgid "Saturday" msgstr "Samstag" -#: ../../include/text.php:700 +#: ../../include/text.php:711 msgid "Sunday" msgstr "Sonntag" -#: ../../include/text.php:704 +#: ../../include/text.php:715 msgid "January" msgstr "Januar" -#: ../../include/text.php:704 +#: ../../include/text.php:715 msgid "February" msgstr "Februar" -#: ../../include/text.php:704 +#: ../../include/text.php:715 msgid "March" msgstr "März" -#: ../../include/text.php:704 +#: ../../include/text.php:715 msgid "April" msgstr "April" -#: ../../include/text.php:704 +#: ../../include/text.php:715 msgid "May" msgstr "Mai" -#: ../../include/text.php:704 +#: ../../include/text.php:715 msgid "June" msgstr "Juni" -#: ../../include/text.php:704 +#: ../../include/text.php:715 msgid "July" msgstr "Juli" -#: ../../include/text.php:704 +#: ../../include/text.php:715 msgid "August" msgstr "August" -#: ../../include/text.php:704 +#: ../../include/text.php:715 msgid "September" msgstr "September" -#: ../../include/text.php:704 +#: ../../include/text.php:715 msgid "October" msgstr "Oktober" -#: ../../include/text.php:704 +#: ../../include/text.php:715 msgid "November" msgstr "November" -#: ../../include/text.php:704 +#: ../../include/text.php:715 msgid "December" msgstr "Dezember" -#: ../../include/text.php:767 +#: ../../include/text.php:778 msgid "bytes" msgstr "Byte" -#: ../../include/text.php:850 +#: ../../include/text.php:861 msgid "Select an alternate language" msgstr "Alternative Sprache auswählen" +#: ../../include/diaspora.php:309 +msgid "Sharing notification from Diaspora network" +msgstr "Freigabe Benachrichtigung von Diaspora" + #: ../../include/oembed.php:95 msgid "Embedding disabled" msgstr "Einbettungen deaktiviert" @@ -4219,7 +4237,7 @@ msgstr "Neue Gruppe erstellen" msgid "Everybody" msgstr "Alle Kontakte" -#: ../../include/nav.php:41 ../../boot.php:668 +#: ../../include/nav.php:41 ../../boot.php:667 msgid "Logout" msgstr "Abmelden" @@ -4227,7 +4245,7 @@ msgstr "Abmelden" msgid "End this session" msgstr "Diese Sitzung beenden" -#: ../../include/nav.php:44 ../../boot.php:646 ../../boot.php:652 +#: ../../include/nav.php:44 ../../boot.php:645 ../../boot.php:651 msgid "Login" msgstr "Anmeldung" @@ -4425,11 +4443,11 @@ msgstr "anzeigen" msgid "don't show" msgstr "nicht anzeigen" -#: ../../include/notifier.php:459 +#: ../../include/notifier.php:465 msgid "(no subject)" msgstr "(kein Betreff)" -#: ../../include/items.php:1512 +#: ../../include/items.php:1526 msgid "You have a new follower at " msgstr "Du hast einen neuen Kontakt auf " @@ -4437,13 +4455,13 @@ msgstr "Du hast einen neuen Kontakt auf " msgid "event" msgstr "Veranstaltung" -#: ../../include/conversation.php:213 ../../include/conversation.php:485 -#: ../../include/conversation.php:486 +#: ../../include/conversation.php:213 ../../include/conversation.php:488 +#: ../../include/conversation.php:489 #, php-format msgid "View %s's profile" msgstr "Betrachte %s's Profil" -#: ../../include/conversation.php:222 ../../include/conversation.php:498 +#: ../../include/conversation.php:222 ../../include/conversation.php:501 #, php-format msgid "%s from %s" msgstr "%s von %s" @@ -4456,179 +4474,179 @@ msgstr "Im Zusammenhang betrachten" msgid "See more posts like this" msgstr "Mehr Beiträge wie diesen anzeigen" -#: ../../include/conversation.php:326 +#: ../../include/conversation.php:329 #, php-format msgid "See all %d comments" msgstr "Alle %d Kommentare anzeigen" -#: ../../include/conversation.php:424 +#: ../../include/conversation.php:427 msgid "Select" msgstr "Auswählen" -#: ../../include/conversation.php:426 +#: ../../include/conversation.php:429 msgid "toggle star status" msgstr "Stern Status umschalten" -#: ../../include/conversation.php:487 +#: ../../include/conversation.php:490 msgid "to" msgstr "to" -#: ../../include/conversation.php:488 +#: ../../include/conversation.php:491 msgid "Wall-to-Wall" msgstr "Wall-to-Wall" -#: ../../include/conversation.php:489 +#: ../../include/conversation.php:492 msgid "via Wall-To-Wall:" msgstr "via Wall-To-Wall:" -#: ../../include/conversation.php:531 +#: ../../include/conversation.php:534 msgid "Delete Selected Items" msgstr "Lösche die markierten Beiträge" -#: ../../include/conversation.php:605 +#: ../../include/conversation.php:608 msgid "View status" msgstr "Status anzeigen" -#: ../../include/conversation.php:606 +#: ../../include/conversation.php:609 msgid "View profile" msgstr "Profil anzeigen" -#: ../../include/conversation.php:607 +#: ../../include/conversation.php:610 msgid "View photos" msgstr "Fotos ansehen" -#: ../../include/conversation.php:608 +#: ../../include/conversation.php:611 msgid "View recent" msgstr "Jüngste anzeigen" -#: ../../include/conversation.php:610 +#: ../../include/conversation.php:613 msgid "Send PM" msgstr "Private Nachricht senden" -#: ../../include/conversation.php:660 +#: ../../include/conversation.php:663 #, php-format msgid "%s likes this." msgstr "%s mag dies." -#: ../../include/conversation.php:660 +#: ../../include/conversation.php:663 #, php-format msgid "%s doesn't like this." msgstr "%s mag dies nicht." -#: ../../include/conversation.php:664 +#: ../../include/conversation.php:667 #, php-format msgid "%2$d people like this." msgstr "%2$d Personen mögen dies." -#: ../../include/conversation.php:666 +#: ../../include/conversation.php:669 #, php-format msgid "%2$d people don't like this." msgstr "%2$d Personen mögen dies nicht." -#: ../../include/conversation.php:672 +#: ../../include/conversation.php:675 msgid "and" msgstr "und" -#: ../../include/conversation.php:675 +#: ../../include/conversation.php:678 #, php-format msgid ", and %d other people" msgstr " und %d andere" -#: ../../include/conversation.php:676 +#: ../../include/conversation.php:679 #, php-format msgid "%s like this." msgstr "%s mag dies." -#: ../../include/conversation.php:676 +#: ../../include/conversation.php:679 #, php-format msgid "%s don't like this." msgstr "%s mag dies nicht." -#: ../../include/conversation.php:695 +#: ../../include/conversation.php:698 msgid "Visible to everybody" msgstr "Für Jedermann sichtbar" -#: ../../include/conversation.php:697 +#: ../../include/conversation.php:700 msgid "Please enter a YouTube link:" msgstr "Bitte gebe den YouTube Link ein:" -#: ../../include/conversation.php:698 +#: ../../include/conversation.php:701 msgid "Please enter a video(.ogg) link/URL:" msgstr "Bitte gebe den Link zum Video(.ogg) an:" -#: ../../include/conversation.php:699 +#: ../../include/conversation.php:702 msgid "Please enter an audio(.ogg) link/URL:" msgstr "Bitte gebe den Link zum Audio(.ogg) an:" -#: ../../include/conversation.php:700 +#: ../../include/conversation.php:703 msgid "Where are you right now?" msgstr "Wo hälst du dich jetzt gerade auf?" -#: ../../include/conversation.php:701 +#: ../../include/conversation.php:704 msgid "Enter a title for this item" msgstr "Gib den Titel für diesen Beitrag ein" -#: ../../include/conversation.php:752 +#: ../../include/conversation.php:755 msgid "Set title" msgstr "Titel setzen" -#: ../../boot.php:411 +#: ../../boot.php:410 msgid "Delete this item?" msgstr "Diesen Beitrag löschen?" -#: ../../boot.php:637 +#: ../../boot.php:636 msgid "Create a New Account" msgstr "Neuen Account erstellen" -#: ../../boot.php:644 +#: ../../boot.php:643 msgid "Nickname or Email address: " msgstr "Spitzname oder Email-Adresse: " -#: ../../boot.php:645 +#: ../../boot.php:644 msgid "Password: " msgstr "Passwort: " -#: ../../boot.php:650 +#: ../../boot.php:649 msgid "Nickname/Email/OpenID: " msgstr "Spitzname/Email/OpenID: " -#: ../../boot.php:651 +#: ../../boot.php:650 msgid "Password (if not OpenID): " msgstr "Passwort (falls nicht OpenID): " -#: ../../boot.php:654 +#: ../../boot.php:653 msgid "Forgot your password?" msgstr "Passwort vergessen?" -#: ../../boot.php:854 +#: ../../boot.php:853 msgid "Connect" msgstr "Verbinden" -#: ../../boot.php:873 +#: ../../boot.php:872 msgid ", " msgstr ", " -#: ../../boot.php:885 +#: ../../boot.php:884 msgid "Status:" msgstr "Status:" -#: ../../boot.php:976 +#: ../../boot.php:975 msgid "g A l F d" msgstr "g A l F d" -#: ../../boot.php:994 +#: ../../boot.php:993 msgid "Birthday Reminders" msgstr "Geburtstagserinnerungen" -#: ../../boot.php:995 +#: ../../boot.php:994 msgid "Birthdays this week:" msgstr "Geburtstage diese Woche:" -#: ../../boot.php:996 +#: ../../boot.php:995 msgid "(Adjusted for local time)" msgstr "(an die lokale Zeit angepasst)" -#: ../../boot.php:1007 +#: ../../boot.php:1006 msgid "[today]" msgstr "[heute]" diff --git a/view/de/strings.php b/view/de/strings.php index 83dc2f2db6..db53b0784f 100644 --- a/view/de/strings.php +++ b/view/de/strings.php @@ -498,6 +498,7 @@ $a->strings["Crop Image"] = "Bild Zurechtschneiden"; $a->strings["Please adjust the image cropping for optimum viewing."] = "Passe bitte den Bildausschnitt an damit das Bild optimal dargestellt werden kann."; $a->strings["Done Editing"] = "Bearbeitung abgeschlossen"; $a->strings["Image uploaded successfully."] = "Bild erfolgreich auf den Server geladen."; +$a->strings["No profile"] = "Kein Profil"; $a->strings["Remove My Account"] = "Account löschen"; $a->strings["This will completely remove your account. Once this has been done it is not recoverable."] = "Dies wird deinen Account endgültig löschen. Es gibt keine Möglichkeit ihn wiederherzustellen."; $a->strings["Please enter your password for verification:"] = "Bitte gib dein Passwort zur Verifikation ein:"; @@ -609,7 +610,6 @@ $a->strings["FTP Host"] = "FTP Host"; $a->strings["FTP Path"] = "FTP Pfad"; $a->strings["FTP User"] = "FTP Nutzername"; $a->strings["FTP Password"] = "FTP Passwort"; -$a->strings["No profile"] = "Kein Profil"; $a->strings["Access to this profile has been restricted."] = "Der Zugriff zu diesem Profil wurde eingeschränkt."; $a->strings["Tips for New Members"] = "Tipps für neue Nutzer"; $a->strings["Login failed."] = "Annmeldung fehlgeschlagen."; @@ -621,7 +621,7 @@ $a->strings["No compatible communication protocols or feeds were discovered."] = $a->strings["The profile address specified does not provide adequate information."] = "Die angegebene Profiladresse liefert unzureichende Informationen."; $a->strings["An author or name was not found."] = "Es wurde kein Autor oder Name gefunden."; $a->strings["No browser URL could be matched to this address."] = "Zu dieser Adresse konnte keine passende Browser URL gefunden werden."; -$a->strings["Communication options with this network have been restricted."] = "Kommunikations-Optionen mit diesem Netzwerk wurden eingeschränkt."; +$a->strings["The profile address specified belongs to a network which has been disabled on this site."] = "Die Adresse dieses Profils gehört zu einem Netzwerk mit dem die Kommunikation auf dieser Seite ausgeschaltet wurde."; $a->strings["Limited profile. This person will be unable to receive direct/personal notifications from you."] = "Eingeschränktes Profil. Diese Person wird keine direkten/privaten Nachrichten von dir erhalten können."; $a->strings["Unable to retrieve contact information."] = "Konnte die Kontaktinformationen nicht empfangen."; $a->strings["following"] = "folgen"; @@ -759,7 +759,6 @@ $a->strings["Drop files here to upload"] = "Ziehe die Dateien hier her die du ho $a->strings["Failed"] = "Fehlgeschlagen"; $a->strings["No files were uploaded."] = "Keine Dateien hochgeladen."; $a->strings["Uploaded file is empty"] = "Hochgeladene Datei ist leer"; -$a->strings["Uploaded file is too large"] = "Hochgeladene Datei ist zu groß"; $a->strings["File has an invalid extension, it should be one of "] = "Die Dateiextension ist nicht erlaubt, sie muss eine der folgenden sein "; $a->strings["Upload was cancelled, or server error encountered"] = "Upload abgebrochen oder Serverfehler aufgetreten"; $a->strings["Impressum"] = "Impressum"; @@ -795,6 +794,9 @@ $a->strings["If enabled all your public postings can be posted $a->strings["Allow posting to StatusNet"] = "Nach StatusNet senden erlauben"; $a->strings["Send public postings to StatusNet by default"] = "Veröffentliche alle öffentlichen Beiträge auch bei StatusNet"; $a->strings["Clear OAuth configuration"] = "OAuth Konfiguration löschen"; +$a->strings["API URL"] = "API URL"; +$a->strings["Consumer Secret"] = "Benutzer Geheimnis"; +$a->strings["Consumer Key"] = "Benutzer Schlüssel"; $a->strings["Piwik Base URL"] = "Piwik Basis URL"; $a->strings["Site ID"] = "Seiten ID"; $a->strings["Show opt-out cookie link?"] = "Link zum Setzen des Opt-Out Cookies anzeigen?"; @@ -926,6 +928,7 @@ $a->strings["November"] = "November"; $a->strings["December"] = "Dezember"; $a->strings["bytes"] = "Byte"; $a->strings["Select an alternate language"] = "Alternative Sprache auswählen"; +$a->strings["Sharing notification from Diaspora network"] = "Freigabe Benachrichtigung von Diaspora"; $a->strings["Embedding disabled"] = "Einbettungen deaktiviert"; $a->strings["Create a new group"] = "Neue Gruppe erstellen"; $a->strings["Everybody"] = "Alle Kontakte"; From 78e1f86110f430d6ec997d1d0008e7fd1383eeaf Mon Sep 17 00:00:00 2001 From: Friendika Date: Thu, 18 Aug 2011 01:15:48 -0700 Subject: [PATCH 08/52] consistent quotes in vcard --- boot.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/boot.php b/boot.php index 050cf10ce8..38ebd1f67e 100644 --- a/boot.php +++ b/boot.php @@ -939,10 +939,10 @@ function profile_sidebar($profile, $block = 0) {
    -
    +
    Searchable
    -$searchable +$searchable
    From 6686d1441f9400709898f7a4be2fe8687613a194 Mon Sep 17 00:00:00 2001 From: fabrixxm Date: Thu, 18 Aug 2011 13:06:17 +0200 Subject: [PATCH 09/52] Issue 120: poormancron plugin uses php cli if available --- addon/poormancron/poormancron.php | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/addon/poormancron/poormancron.php b/addon/poormancron/poormancron.php index e09182f992..bbe023cd73 100644 --- a/addon/poormancron/poormancron.php +++ b/addon/poormancron/poormancron.php @@ -7,6 +7,21 @@ */ function poormancron_install() { + // check for command line php + $a = get_app(); + $ex = Array(); + $ex[0] = ((x($a->config,'php_path')) && (strlen($a->config['php_path'])) ? $a->config['php_path'] : 'php'); + $ex[1] = dirname(dirname(dirname(__file__)))."/testargs.php"; + $ex[2] = "test"; + $out = exec(implode(" ", $ex)); + if ($out==="test") { + set_config('poormancron','usecli',1); + logger("poormancron will use cli php"); + } else { + set_config('poormancron','usecli',0); + logger("poormancron will NOT use cli php"); + } + register_hook('page_end', 'addon/poormancron/poormancron.php', 'poormancron_hook'); register_hook('proc_run', 'addon/poormancron/poormancron.php','poormancron_procrun'); logger("installed poormancron"); @@ -32,6 +47,7 @@ function poormancron_hook(&$a,&$b) { } function poormancron_procrun(&$a, &$arr) { + if (get_config('poormancron','usecli')==1) return; $argv = $arr['args']; $arr['run_cmd'] = false; logger("poormancron procrun ".implode(", ",$argv)); From c534dd2969484625adda9cc82ad9d92664a96789 Mon Sep 17 00:00:00 2001 From: Friendika Date: Thu, 18 Aug 2011 04:20:30 -0700 Subject: [PATCH 10/52] fill and expire fcontact cache --- boot.php | 2 +- database.sql | 1 + include/diaspora.php | 69 +++++++++++++++++++------------------------- include/network.php | 21 ++++++++++++++ update.php | 5 +++- 5 files changed, 57 insertions(+), 41 deletions(-) diff --git a/boot.php b/boot.php index 38ebd1f67e..af99ed0708 100644 --- a/boot.php +++ b/boot.php @@ -9,7 +9,7 @@ require_once("include/pgettext.php"); define ( 'FRIENDIKA_VERSION', '2.2.1075' ); define ( 'DFRN_PROTOCOL_VERSION', '2.21' ); -define ( 'DB_UPDATE_VERSION', 1080 ); +define ( 'DB_UPDATE_VERSION', 1081 ); define ( 'EOL', "
    \r\n" ); define ( 'ATOM_TIME', 'Y-m-d\TH:i:s\Z' ); diff --git a/database.sql b/database.sql index ae036fc74a..605433e6e2 100644 --- a/database.sql +++ b/database.sql @@ -531,6 +531,7 @@ CREATE TABLE IF NOT EXISTS `fcontact` ( `network` CHAR( 32 ) NOT NULL , `alias` CHAR( 255 ) NOT NULL , `pubkey` TEXT NOT NULL , +`updated` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00', INDEX ( `addr` ), INDEX ( `network` ) ) ENGINE = MYISAM DEFAULT CHARSET=utf8; diff --git a/include/diaspora.php b/include/diaspora.php index 9987c21393..81e335dd43 100644 --- a/include/diaspora.php +++ b/include/diaspora.php @@ -4,25 +4,11 @@ require_once('include/crypto.php'); require_once('include/items.php'); function get_diaspora_key($uri) { - $key = ''; - logger('Fetching diaspora key for: ' . $uri); - $arr = lrdd($uri); - - if(is_array($arr)) { - foreach($arr as $a) { - if($a['@attributes']['rel'] === 'diaspora-public-key') { - $key = base64_decode($a['@attributes']['href']); - } - } - } - else { - return ''; - } - - if($key) - return rsatopem($key); + $r = find_diaspora_person_by_handle($uri); + if($r) + return $r['pubkey']; return ''; } @@ -218,7 +204,7 @@ function diaspora_decode($importer,$xml) { $encoding = $base->encoding; $alg = $base->alg; - // Diaspora devs: I can't even begin to tell you how sucky this is. Read the freaking spec. + // Diaspora devs: I can't even begin to tell you how sucky this is. Please read the spec. $signed_data = $data . (($data[-1] != "\n") ? "\n" : '') . '.' . base64url_encode($type) . "\n" . '.' . base64url_encode($encoding) . "\n" . '.' . base64url_encode($alg) . "\n"; @@ -278,28 +264,33 @@ function diaspora_get_contact_by_handle($uid,$handle) { return false; } -function find_person_by_handle($handle) { - $r = q("select * from fcontact where network = '%s' and addr = '%s' limit 1", - dbesc(NETWORK_DIASPORA), - dbesc($handle) - ); - if(count($r)) +function find_diaspora_person_by_handle($handle) { + $r = q("select * from fcontact where network = '%s' and addr = '%s' limit 1", + dbesc(NETWORK_DIASPORA), + dbesc($handle) + ); + if(count($r)) { + // update record occasionally so it doesn't get stale + $d = strtotime($r[0]['updated'] . ' +00:00'); + if($d < strtotime('now - 14 days')) { + q("delete from fcontact where id = %d limit 1", + intval($r[0]['id']) + ); + } + else return $r[0]; - - // we don't care about the uid, we just want to save an expensive webfinger probe - $r = q("select * from contact where network = '%s' and addr = '%s' LIMIT 1", - dbesc(NETWORK_DIASPORA), - dbesc($handle) - ); - if(count($r)) - return $r[0]; - $r = probe_url($handle); - // need to cached this, perhaps in fcontact - if(count($r)) - return ($r); - return false; + } + require_once('include/Scrape.php'); + $r = probe_url($handle, PROBE_DIASPORA); + if((count($r)) && ($r['network'] === NETWORK_DIASPORA)) { + add_fcontact($r); + return ($r); + } + return false; } + + function diaspora_request($importer,$xml) { $sender_handle = unxmlify($xml->sender_handle); @@ -504,7 +495,7 @@ function diaspora_comment($importer,$xml,$msg) { $key = $msg['key']; } else { - $person = find_person_by_handle($diaspora_handle); + $person = find_diaspora_person_by_handle($diaspora_handle); if(is_array($person) && x($person,'pubkey')) $key = $person['pubkey']; @@ -661,7 +652,7 @@ function diaspora_like($importer,$xml,$msg) { $key = $msg['key']; } else { - $person = find_person_by_handle($diaspora_handle); + $person = find_diaspora_person_by_handle($diaspora_handle); if(is_array($person) && x($person,'pubkey')) $key = $person['pubkey']; else { diff --git a/include/network.php b/include/network.php index bbf1d6a63e..ade8a40ac4 100644 --- a/include/network.php +++ b/include/network.php @@ -693,3 +693,24 @@ function parse_xml_string($s,$strict = true) { } return $x; }} + +function add_fcontact($arr) { + + $r = q("insert into fcontact ( `url`,`name`,`photo`,`request`,`nick`,`addr`, + `notify`,`poll`,`confirm`,`network`,`alias`,`pubkey` ) + values('%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s')", + dbesc($arr['url']), + dbesc($arr['name']), + dbesc($arr['photo']), + dbesc($arr['request']), + dbesc($arr['nick']), + dbesc($arr['addr']), + dbesc($arr['notify']), + dbesc($arr['poll']), + dbesc($arr['confirm']), + dbesc($arr['network']), + dbesc($arr['alias']), + dbesc($arr['pubkey']) + ); + return $r; +} diff --git a/update.php b/update.php index 3586aa5fd2..adfb5fe028 100644 --- a/update.php +++ b/update.php @@ -1,6 +1,6 @@ Date: Thu, 18 Aug 2011 05:08:39 -0700 Subject: [PATCH 11/52] store signature data if applicable for relaying --- include/diaspora.php | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/include/diaspora.php b/include/diaspora.php index 81e335dd43..6fe08dcd0e 100644 --- a/include/diaspora.php +++ b/include/diaspora.php @@ -510,6 +510,7 @@ function diaspora_comment($importer,$xml,$msg) { return; } + if($parent_author_signature) { $owner_signed_data = $guid . ';' . $parent_guid . ';' . $text . ';' . $msg['author']; @@ -576,8 +577,18 @@ function diaspora_comment($importer,$xml,$msg) { $datarray['author-avatar'] = ((x($person,'thumb')) ? $person['thumb'] : $person['photo']); $datarray['body'] = $body; - item_store($datarray); + $message_id = item_store($datarray); + if(! $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) + ); + } + + // notify others return; } @@ -734,12 +745,20 @@ EOT; $arr['unseen'] = 1; $arr['last-child'] = 0; - $post_id = item_store($arr); + $message_id = item_store($arr); + if(! $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) + ); + } // FIXME send notification - + return; } function diaspora_retraction($importer,$xml) { From cf64ae0e4bae6efd7fd6997f699bdf6c7401618b Mon Sep 17 00:00:00 2001 From: Tobias Diekershoff Date: Thu, 18 Aug 2011 18:04:16 +0200 Subject: [PATCH 12/52] piwik analytics opt-out note now translate able --- addon/piwik/piwik.php | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/addon/piwik/piwik.php b/addon/piwik/piwik.php index 8389416e98..890309d4fd 100644 --- a/addon/piwik/piwik.php +++ b/addon/piwik/piwik.php @@ -66,7 +66,12 @@ function piwik_analytics($a,&$b) { * otherwise just include the above code into the page. */ if ($optout) { - $b .= ""; + $b .= ""; } } From bc5935061b674a5503a1a82a458dfaf3317e4c70 Mon Sep 17 00:00:00 2001 From: Friendika Date: Thu, 18 Aug 2011 16:47:45 -0700 Subject: [PATCH 13/52] dfrn friendship issue --- boot.php | 2 +- include/security.php | 2 +- mod/dfrn_request.php | 30 ++++++++++++++---------------- 3 files changed, 16 insertions(+), 18 deletions(-) diff --git a/boot.php b/boot.php index af99ed0708..821e74672b 100644 --- a/boot.php +++ b/boot.php @@ -7,7 +7,7 @@ require_once('include/text.php'); require_once("include/pgettext.php"); -define ( 'FRIENDIKA_VERSION', '2.2.1075' ); +define ( 'FRIENDIKA_VERSION', '2.2.1076' ); define ( 'DFRN_PROTOCOL_VERSION', '2.21' ); define ( 'DB_UPDATE_VERSION', 1081 ); diff --git a/include/security.php b/include/security.php index 6fbdd697f7..684a88a516 100644 --- a/include/security.php +++ b/include/security.php @@ -28,7 +28,7 @@ function can_write_wall(&$a,$owner) { AND `user`.`blockwall` = 0 AND `readonly` = 0 AND ( `contact`.`rel` IN ( %d , %d ) OR `user`.`page-flags` = %d ) LIMIT 1", intval($owner), intval(remote_user()), - intval(CONTACT_IS_FOLLOWER), + intval(CONTACT_IS_SHARING), intval(CONTACT_IS_FRIEND), intval(PAGE_COMMUNITY) ); diff --git a/mod/dfrn_request.php b/mod/dfrn_request.php index 79070604b7..98901e9f56 100644 --- a/mod/dfrn_request.php +++ b/mod/dfrn_request.php @@ -12,10 +12,6 @@ if(! function_exists('dfrn_request_init')) { function dfrn_request_init(&$a) { - if((get_config('system','block_public')) && (! local_user()) && (! remote_user())) { - return; - } - if($a->argc > 1) $which = $a->argv[1]; @@ -147,8 +143,8 @@ function dfrn_request_post(&$a) { */ $r = q("INSERT INTO `contact` ( `uid`, `created`,`url`, `name`, `nick`, `photo`, `site-pubkey`, - `request`, `confirm`, `notify`, `poll`, `aes_allow`) - VALUES ( %d, '%s', '%s', '%s' , '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d)", + `request`, `confirm`, `notify`, `poll`, `network`, `aes_allow`) + VALUES ( %d, '%s', '%s', '%s' , '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d)", intval(local_user()), datetime_convert(), dbesc($dfrn_url), @@ -160,6 +156,7 @@ function dfrn_request_post(&$a) { $parms['dfrn-confirm'], $parms['dfrn-notify'], $parms['dfrn-poll'], + dbesc(NETWORK_DFRN), intval($aes_allow) ); } @@ -298,7 +295,7 @@ function dfrn_request_post(&$a) { } - if($network === 'dfrn') { + if($network === NETWORK_DFRN) { $ret = q("SELECT * FROM `contact` WHERE `uid` = %d AND `url` = '%s' AND `self` = 0 LIMIT 1", intval($uid), dbesc($url) @@ -373,8 +370,8 @@ function dfrn_request_post(&$a) { dbesc_array($parms); $r = q("INSERT INTO `contact` ( `uid`, `created`, `url`, `name`, `nick`, `issued-id`, `photo`, `site-pubkey`, - `request`, `confirm`, `notify`, `poll` ) - VALUES ( %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s' )", + `request`, `confirm`, `notify`, `poll`, `network` ) + VALUES ( %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s' )", intval($uid), datetime_convert(), $parms['url'], @@ -386,7 +383,8 @@ function dfrn_request_post(&$a) { $parms['dfrn-request'], $parms['dfrn-confirm'], $parms['dfrn-notify'], - $parms['dfrn-poll'] + $parms['dfrn-poll'], + dbesc(NETWORK_DFRN) ); // find the contact record we just created @@ -437,15 +435,16 @@ function dfrn_request_post(&$a) { . (($aes_allow) ? "&aes_allow=1" : "") ); // NOTREACHED - // END $network === 'dfrn' + // END $network === NETWORK_DFRN } - elseif($network === 'stat') { + elseif($network === NETWORK_OSTATUS) { /** * * OStatus network * Check contact existence - * Try and scrape together enough information to create a contact record, with us as CONTACT_IS_FOLLOWER + * Try and scrape together enough information to create a contact record, + * with us as CONTACT_IS_FOLLOWER * Substitute our user's feed URL into $url template * Send the subscriber home to subscribe * @@ -454,7 +453,7 @@ function dfrn_request_post(&$a) { $url = str_replace('{uri}', $a->get_baseurl() . '/dfrn_poll/' . $nickname, $url); goaway($url); // NOTREACHED - // END $network === 'stat' + // END $network === NETWORK_OSTATUS } } return; @@ -466,8 +465,6 @@ function dfrn_request_post(&$a) { if(! function_exists('dfrn_request_content')) { function dfrn_request_content(&$a) { - - if(($a->argc != 2) || (! count($a->profile))) return ""; @@ -578,6 +575,7 @@ function dfrn_request_content(&$a) { ); } } + killme(); return; // NOTREACHED } From 609741573c40ef11732d8ae59317e1378f31686b Mon Sep 17 00:00:00 2001 From: Friendika Date: Thu, 18 Aug 2011 17:11:57 -0700 Subject: [PATCH 14/52] darkzero - friend request - identity address invisible --- view/theme/darkzero/style.css | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/view/theme/darkzero/style.css b/view/theme/darkzero/style.css index 3459e74092..b85a9aadaf 100644 --- a/view/theme/darkzero/style.css +++ b/view/theme/darkzero/style.css @@ -62,3 +62,7 @@ footer { } +input#dfrn-url { + background-color: #222222; + color: #FFFFFF !important; +} From 2df7251b349fa3ef9650cf8adb1fb680f253930d Mon Sep 17 00:00:00 2001 From: Friendika Date: Thu, 18 Aug 2011 17:30:06 -0700 Subject: [PATCH 15/52] notifier issue --- include/network.php | 7 ++++--- include/notifier.php | 3 ++- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/include/network.php b/include/network.php index ade8a40ac4..10e3648a18 100644 --- a/include/network.php +++ b/include/network.php @@ -697,8 +697,8 @@ function parse_xml_string($s,$strict = true) { function add_fcontact($arr) { $r = q("insert into fcontact ( `url`,`name`,`photo`,`request`,`nick`,`addr`, - `notify`,`poll`,`confirm`,`network`,`alias`,`pubkey` ) - values('%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s')", + `notify`,`poll`,`confirm`,`network`,`alias`,`pubkey`,`updated` ) + values('%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s')", dbesc($arr['url']), dbesc($arr['name']), dbesc($arr['photo']), @@ -710,7 +710,8 @@ function add_fcontact($arr) { dbesc($arr['confirm']), dbesc($arr['network']), dbesc($arr['alias']), - dbesc($arr['pubkey']) + dbesc($arr['pubkey']), + dbesc(datetime_convert()) ); return $r; } diff --git a/include/notifier.php b/include/notifier.php index 15fb385346..89c36e4341 100644 --- a/include/notifier.php +++ b/include/notifier.php @@ -587,8 +587,9 @@ function notifier_run($argv, $argc){ */ $r = q("SELECT `id`, `name` FROM `contact` - WHERE `network` = NETWORK_DFRN AND `uid` = %d AND `blocked` = 0 AND `pending` = 0 + WHERE `network` = '%s' AND `uid` = %d AND `blocked` = 0 AND `pending` = 0 AND `rel` != %d ", + dbesc(NETWORK_DFRN), intval($owner['uid']), intval(CONTACT_IS_SHARING) ); From 457f8c3e957859972b6b0c8a235d38da0986bcbf Mon Sep 17 00:00:00 2001 From: Friendika Date: Thu, 18 Aug 2011 19:14:13 -0700 Subject: [PATCH 16/52] use mb_strlen when iterating utf8 --- include/items.php | 2 +- include/text.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/include/items.php b/include/items.php index ec519ad9bf..39a61c4ad0 100644 --- a/include/items.php +++ b/include/items.php @@ -1635,7 +1635,7 @@ function atom_entry($item,$type,$author,$owner,$comment = false) { $o .= '' . xmlify(datetime_convert('UTC','UTC',$item['created'] . '+00:00',ATOM_TIME)) . '' . "\r\n"; $o .= '' . xmlify(datetime_convert('UTC','UTC',$item['edited'] . '+00:00',ATOM_TIME)) . '' . "\r\n"; $o .= '' . base64url_encode($body, true) . '' . "\r\n"; - $o .= '' . xmlify(($type === 'html') ? bbcode($body) : $body) . '' . "\r\n"; + $o .= '' . xmlify((($type === 'html') ? bbcode($body) : $body)) . '' . "\r\n"; $o .= '' . "\r\n"; if($comment) $o .= '' . intval($item['last-child']) . '' . "\r\n"; diff --git a/include/text.php b/include/text.php index 803bf0e510..b13cf980f2 100644 --- a/include/text.php +++ b/include/text.php @@ -147,7 +147,7 @@ if(! function_exists('xmlify')) { function xmlify($str) { $buffer = ''; - for($x = 0; $x < strlen($str); $x ++) { + for($x = 0; $x < mb_strlen($str); $x ++) { $char = $str[$x]; switch( $char ) { From d2c6c21a88239e956b7e6a3c5a41a8a819502991 Mon Sep 17 00:00:00 2001 From: Friendika Date: Thu, 18 Aug 2011 21:09:44 -0700 Subject: [PATCH 17/52] lots more diaspora communications - can see light at the end --- include/diaspora.php | 140 ++++++++++++++++++++++++++++++++++++++++++- include/notifier.php | 20 ++++--- 2 files changed, 151 insertions(+), 9 deletions(-) diff --git a/include/diaspora.php b/include/diaspora.php index 6fe08dcd0e..422e7fc576 100644 --- a/include/diaspora.php +++ b/include/diaspora.php @@ -801,7 +801,7 @@ function diaspora_share($me,$contact) { function diaspora_send_status($item,$owner,$contact) { $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']; require_once('include/bbcode.php'); @@ -830,3 +830,141 @@ function diaspora_send_status($item,$owner,$contact) { return $return_code; } + +function diaspora_send_followup($item,$owner,$contact) { + + $a = get_app(); + $myaddr = $me['nickname'] . '@' . substr($a->get_baseurl(), strpos($a->get_baseurl(),'://') + 3); + $theiraddr = $contact['addr']; + + $p = q("select guid from item where parent = %d limit 1", + $item['parent'] + ); + if(count($p)) + $parent_guid = $p[0]['guid']; + else + return; + + if($item['verb'] === ACTIVITY_LIKE) { + $tpl = get_markup_template('diaspora_like.tpl'); + $like = true; + $target_type = 'Post'; + $positive = (($item['deleted']) ? 'false' : 'true'); + } + else { + $tpl = get_markup_template('diaspora_comment.tpl'); + $like = false; + } + + $text = bbcode($item['body']); + + // sign it + + if($like) + $signed_text = $item['guid'] . ';' . $target_type . ';' . $positive . ';' . $myaddr; + else + $signed_text = $item['guid'] . ';' . $parent_guid . ';' . $text . $myaddr; + + $authorsig = base64_encode(rsa_sign($signed_text,$owner['uprvkey'])); + + $msg = replace_macros($tpl,array( + '$guid' => xmlify($item['guid']), + '$parent_guid' => xmlify($parent_guid), + '$target_type' =>xmlify($target_type), + '$authorsig' => xmlify($authorsig), + '$text' => xmlify($text), + '$positive' => xmlify($positive), + '$diaspora_handle' => xmlify($myaddr) + )); + + logger('diaspora_followup: base message: ' . $msg, LOGGER_DATA); + + $slap = 'xml=' . urlencode(diaspora_msg_build($msg,$owner,$contact,$owner['uprvkey'],$contact['pubkey'])); + + post_url($contact['notify'],$slap); + $return_code = $a->get_curl_code(); + logger('diaspora_send_status: returns: ' . $return_code); + return $return_code; + +} + + +function diaspora_send_relay($item,$owner,$contact) { + + + $p = q("select guid from item where parent = %d limit 1", + $item['parent'] + ); + if(count($p)) + $parent_guid = $p[0]['guid']; + else + return; + + // fetch the original signature + $r = q("select * from sign where iid = %d limit 1", + intval($item['id']) + ); + if(! count($r)) + return; + $orig_sign = $r[0]; + + if($item['verb'] === ACTIVITY_LIKE) { + $tpl = get_markup_template('diaspora_like_relay.tpl'); + $like = true; + $target_type = 'Post'; + $positive = (($item['deleted']) ? 'false' : 'true'); + } + else { + $tpl = get_markup_template('diaspora_comment_relay.tpl'); + $like = false; + } + + $text = bbcode($item['body']); + + // sign it + + if($like) + $parent_signed_text = $orig_sign['signed_text']; + else + $parent_signed_text = $orig_sign['signed_text']; + + $parentauthorsig = base64_encode(rsa_sign($signed_text,$owner['uprvkey'])); + + $msg = replace_macros($tpl,array( + '$guid' => xmlify($item['guid']), + '$parent_guid' => xmlify($parent_guid), + '$target_type' =>xmlify($target_type), + '$authorsig' => xmlify($orig_sign['signature']), + '$parentsig' => xmlify($parentauthorsig), + '$text' => xmlify($text), + '$positive' => xmlify($positive), + '$diaspora_handle' => xmlify($myaddr) + )); + + // fetch the original signature + $r = q("select * from sign where iid = %d limit 1", + intval($item['id']) + ); + if(! count($r)) + return; + + logger('diaspora_relay_comment: base message: ' . $msg, LOGGER_DATA); + + $slap = 'xml=' . urlencode(diaspora_msg_build($msg,$owner,$contact,$owner['uprvkey'],$contact['pubkey'])); + + post_url($contact['notify'],$slap); + $return_code = $a->get_curl_code(); + logger('diaspora_send_status: returns: ' . $return_code); + return $return_code; + +} + + + +function diaspora_send_retraction($item,$owner,$contact) { + + + + + +} \ No newline at end of file diff --git a/include/notifier.php b/include/notifier.php index 89c36e4341..afb907f099 100644 --- a/include/notifier.php +++ b/include/notifier.php @@ -504,20 +504,24 @@ function notifier_run($argv, $argc){ case NETWORK_DIASPORA: if(get_config('system','dfrn_only') || (! get_config('diaspora_enabled')) || (! $normal_mode)) break; - - if($target_item['deleted']) { - // diaspora delete, (check for like) - + + if($target_item['verb'] === ACTIVITY_DISLIKE) { + // unsupported + break; + } + elseif($target_item['deleted'] && (! $parent_item['verb'] === ACTIVITY_LIKE)) { + // diaspora delete, + diaspora_send_retraction($target_item,$owner,$contact); break; } elseif($followup) { - // send to owner to relay - + // send comments, likes and retractions of likes to owner to relay + diaspora_send_followup($target_item,$owner,$contact); break; } elseif($target_item['parent'] != $target_item['id']) { - // we are the relay - + // we are the relay - send comments, likes and unlikes to our conversants + diaspora_send_relay($target_item,$owner,$contact); break; } elseif($top_level) { From c05c20aa56eaba3102e6c56a0160999352619b61 Mon Sep 17 00:00:00 2001 From: Friendika Date: Thu, 18 Aug 2011 21:31:34 -0700 Subject: [PATCH 18/52] set writable (e.g. writeable) flag for Diaspora contacts --- include/diaspora.php | 2 +- include/notifier.php | 2 +- mod/dfrn_confirm.php | 15 ++++++++++++--- 3 files changed, 14 insertions(+), 5 deletions(-) diff --git a/include/diaspora.php b/include/diaspora.php index 422e7fc576..5aadef884c 100644 --- a/include/diaspora.php +++ b/include/diaspora.php @@ -308,7 +308,7 @@ function diaspora_request($importer,$xml) { // That makes us friends. if($contact['rel'] == CONTACT_IS_FOLLOWER) { - q("UPDATE `contact` SET `rel` = %d WHERE `id` = %d AND `uid` = %d LIMIT 1", + q("UPDATE `contact` SET `rel` = %d, `writable` = 1 WHERE `id` = %d AND `uid` = %d LIMIT 1", intval(CONTACT_IS_FRIEND), intval($contact['id']), intval($importer['uid']) diff --git a/include/notifier.php b/include/notifier.php index afb907f099..8572b53dde 100644 --- a/include/notifier.php +++ b/include/notifier.php @@ -575,7 +575,7 @@ function notifier_run($argv, $argc){ /** * - * If you have less than 150 dfrn friends and it's a public message, + * If you have less than 999 dfrn friends and it's a public message, * we'll just go ahead and push them out securely with dfrn/rino. * If you've got more than that, you'll have to rely on PuSH delivery. * diff --git a/mod/dfrn_confirm.php b/mod/dfrn_confirm.php index 4088178c03..4dacb5d817 100644 --- a/mod/dfrn_confirm.php +++ b/mod/dfrn_confirm.php @@ -360,8 +360,14 @@ function dfrn_confirm_post(&$a,$handsfree = null) { } $new_relation = $contact['rel']; - if($network === NETWORK_DIASPORA && $duplex) - $new_relation = CONTACT_IS_FRIEND; + $writable = $contact['writable']; + + if($network === NETWORK_DIASPORA) { + if($duplex) + $new_relation = CONTACT_IS_FRIEND; + if($new_relation != CONTACT_IS_FOLLOWER) + $writable = 1; + } $r = q("DELETE FROM `intro` WHERE `id` = %d AND `uid` = %d LIMIT 1", intval($intro_id), @@ -380,6 +386,7 @@ function dfrn_confirm_post(&$a,$handsfree = null) { `blocked` = 0, `pending` = 0, `network` = '%s', + `writable` = %d, `rel` = %d WHERE `id` = %d LIMIT 1 ", @@ -392,6 +399,7 @@ function dfrn_confirm_post(&$a,$handsfree = null) { dbesc($notify), dbesc($poll), dbesc($network), + intval($writable), intval($new_relation), intval($contact_id) ); @@ -640,7 +648,7 @@ function dfrn_confirm_post(&$a,$handsfree = null) { `blocked` = 0, `pending` = 0, `duplex` = %d, - `network` = 'dfrn' WHERE `id` = %d LIMIT 1 + `network` = '%s' WHERE `id` = %d LIMIT 1 ", dbesc($photos[0]), dbesc($photos[1]), @@ -650,6 +658,7 @@ function dfrn_confirm_post(&$a,$handsfree = null) { dbesc(datetime_convert()), dbesc(datetime_convert()), intval($duplex), + dbesc(NETWORK_DFRN), intval($dfrn_record) ); if($r === false) { // indicates schema is messed up or total db failure From 9167b2057ba3dfb2840c5821de4a269ef93c9549 Mon Sep 17 00:00:00 2001 From: Friendika Date: Thu, 18 Aug 2011 21:50:41 -0700 Subject: [PATCH 19/52] diaspora share - blocked specified twice --- include/diaspora.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/diaspora.php b/include/diaspora.php index 5aadef884c..9e6e9eb602 100644 --- a/include/diaspora.php +++ b/include/diaspora.php @@ -350,8 +350,8 @@ function diaspora_request($importer,$xml) { $hash = random_string() . (string) time(); // Generate a confirm_key if($contact_record) { - $ret = q("INSERT INTO `intro` ( `uid`, `contact-id`, `blocked`, `knowyou`, `note`, `hash`, `datetime`,`blocked`) - VALUES ( %d, %d, 1, %d, '%s', '%s', '%s', 0 )", + $ret = q("INSERT INTO `intro` ( `uid`, `contact-id`, `blocked`, `knowyou`, `note`, `hash`, `datetime` ) + VALUES ( %d, %d, 1, %d, '%s', '%s', '%s' )", intval($importer['uid']), intval($contact_record['id']), 0, From 0a0c5013ce726f39bd25760518d15276418d8766 Mon Sep 17 00:00:00 2001 From: Friendika Date: Thu, 18 Aug 2011 22:01:35 -0700 Subject: [PATCH 20/52] debug --- include/diaspora.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/include/diaspora.php b/include/diaspora.php index 9e6e9eb602..b6f05be620 100644 --- a/include/diaspora.php +++ b/include/diaspora.php @@ -318,14 +318,14 @@ function diaspora_request($importer,$xml) { return; } - require_once('include/Scrape.php'); - $ret = probe_url($sender_handle); + $ret = find_diaspora_person_by_handle($sender_handle); + if((! count($ret)) || ($ret['network'] != NETWORK_DIASPORA)) { logger('diaspora_request: Cannot resolve diaspora handle ' . $sender_handle . ' for ' . $recipient_handle); return; } - +dbg(1); $r = q("INSERT INTO `contact` (`uid`, `network`,`addr`,`created`,`url`,`name`,`nick`,`photo`,`pubkey`,`notify`,`poll`,`blocked`,`priority`) VALUES ( %d, '%s', '%s', '%s','%s','%s','%s','%s','%s','%s','%s',%d,%d) ", intval($importer['uid']), @@ -360,7 +360,7 @@ function diaspora_request($importer,$xml) { dbesc(datetime_convert()) ); } - +dbg(0); return; } From 4cef4ec918db7d2f4f5902b4a731f4076a98084d Mon Sep 17 00:00:00 2001 From: Friendika Date: Thu, 18 Aug 2011 22:03:58 -0700 Subject: [PATCH 21/52] fix d* intros --- include/diaspora.php | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/include/diaspora.php b/include/diaspora.php index b6f05be620..44772d4316 100644 --- a/include/diaspora.php +++ b/include/diaspora.php @@ -325,7 +325,7 @@ function diaspora_request($importer,$xml) { logger('diaspora_request: Cannot resolve diaspora handle ' . $sender_handle . ' for ' . $recipient_handle); return; } -dbg(1); + $r = q("INSERT INTO `contact` (`uid`, `network`,`addr`,`created`,`url`,`name`,`nick`,`photo`,`pubkey`,`notify`,`poll`,`blocked`,`priority`) VALUES ( %d, '%s', '%s', '%s','%s','%s','%s','%s','%s','%s','%s',%d,%d) ", intval($importer['uid']), @@ -351,16 +351,17 @@ dbg(1); if($contact_record) { $ret = q("INSERT INTO `intro` ( `uid`, `contact-id`, `blocked`, `knowyou`, `note`, `hash`, `datetime` ) - VALUES ( %d, %d, 1, %d, '%s', '%s', '%s' )", + VALUES ( %d, %d, %d, %d, '%s', '%s', '%s' )", intval($importer['uid']), intval($contact_record['id']), 0, + 0, dbesc( t('Sharing notification from Diaspora network')), dbesc($hash), dbesc(datetime_convert()) ); } -dbg(0); + return; } From 395faae0b2eee4a134799f55b17784487088eb41 Mon Sep 17 00:00:00 2001 From: Friendika Date: Fri, 19 Aug 2011 02:24:30 -0700 Subject: [PATCH 22/52] double url encode diaspora communications --- include/diaspora.php | 21 +++++++++++++-------- include/notifier.php | 3 ++- mod/receive.php | 2 ++ 3 files changed, 17 insertions(+), 9 deletions(-) diff --git a/include/diaspora.php b/include/diaspora.php index 44772d4316..9b3969b73a 100644 --- a/include/diaspora.php +++ b/include/diaspora.php @@ -792,7 +792,7 @@ function diaspora_share($me,$contact) { '$recipient' => $theiraddr )); - $slap = 'xml=' . urlencode(diaspora_msg_build($msg,$me,$contact,$me['prvkey'],$contact['pubkey'])); + $slap = 'xml=' . urlencode(urlencode(diaspora_msg_build($msg,$me,$contact,$me['prvkey'],$contact['pubkey']))); post_url($contact['notify'],$slap); $return_code = $a->get_curl_code(); @@ -823,7 +823,7 @@ function diaspora_send_status($item,$owner,$contact) { logger('diaspora_send_status: base message: ' . $msg, LOGGER_DATA); - $slap = 'xml=' . urlencode(diaspora_msg_build($msg,$owner,$contact,$owner['uprvkey'],$contact['pubkey'])); + $slap = 'xml=' . urlencode(urlencode(diaspora_msg_build($msg,$owner,$contact,$owner['uprvkey'],$contact['pubkey']))); post_url($contact['notify'],$slap); $return_code = $a->get_curl_code(); @@ -835,7 +835,7 @@ function diaspora_send_status($item,$owner,$contact) { function diaspora_send_followup($item,$owner,$contact) { $a = get_app(); - $myaddr = $me['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']; $p = q("select guid from item where parent = %d limit 1", @@ -864,7 +864,7 @@ function diaspora_send_followup($item,$owner,$contact) { if($like) $signed_text = $item['guid'] . ';' . $target_type . ';' . $positive . ';' . $myaddr; else - $signed_text = $item['guid'] . ';' . $parent_guid . ';' . $text . $myaddr; + $signed_text = $item['guid'] . ';' . $parent_guid . ';' . $text . ';' . $myaddr; $authorsig = base64_encode(rsa_sign($signed_text,$owner['uprvkey'])); @@ -873,14 +873,14 @@ function diaspora_send_followup($item,$owner,$contact) { '$parent_guid' => xmlify($parent_guid), '$target_type' =>xmlify($target_type), '$authorsig' => xmlify($authorsig), - '$text' => xmlify($text), + '$body' => xmlify($text), '$positive' => xmlify($positive), - '$diaspora_handle' => xmlify($myaddr) + '$handle' => xmlify($myaddr) )); logger('diaspora_followup: base message: ' . $msg, LOGGER_DATA); - $slap = 'xml=' . urlencode(diaspora_msg_build($msg,$owner,$contact,$owner['uprvkey'],$contact['pubkey'])); + $slap = 'xml=' . urlencode(urlencode(diaspora_msg_build($msg,$owner,$contact,$owner['uprvkey'],$contact['pubkey']))); post_url($contact['notify'],$slap); $return_code = $a->get_curl_code(); @@ -893,6 +893,11 @@ function diaspora_send_followup($item,$owner,$contact) { function diaspora_send_relay($item,$owner,$contact) { + $a = get_app(); + $myaddr = $owner['nickname'] . '@' . substr($a->get_baseurl(), strpos($a->get_baseurl(),'://') + 3); + $theiraddr = $contact['addr']; + + $p = q("select guid from item where parent = %d limit 1", $item['parent'] ); @@ -951,7 +956,7 @@ function diaspora_send_relay($item,$owner,$contact) { logger('diaspora_relay_comment: base message: ' . $msg, LOGGER_DATA); - $slap = 'xml=' . urlencode(diaspora_msg_build($msg,$owner,$contact,$owner['uprvkey'],$contact['pubkey'])); + $slap = 'xml=' . urlencode(urlencode(diaspora_msg_build($msg,$owner,$contact,$owner['uprvkey'],$contact['pubkey']))); post_url($contact['notify'],$slap); $return_code = $a->get_curl_code(); diff --git a/include/notifier.php b/include/notifier.php index 8572b53dde..cf8871fb9d 100644 --- a/include/notifier.php +++ b/include/notifier.php @@ -502,7 +502,8 @@ function notifier_run($argv, $argc){ } break; case NETWORK_DIASPORA: - if(get_config('system','dfrn_only') || (! get_config('diaspora_enabled')) || (! $normal_mode)) + require_once('include/diaspora.php'); + if(get_config('system','dfrn_only') || (! get_config('system','diaspora_enabled')) || (! $normal_mode)) break; if($target_item['verb'] === ACTIVITY_DISLIKE) { diff --git a/mod/receive.php b/mod/receive.php index 19c1639671..c3738c1431 100644 --- a/mod/receive.php +++ b/mod/receive.php @@ -15,6 +15,8 @@ function receive_post(&$a) { if($a->argc != 3 || $a->argv[1] !== 'users') http_status_exit(500); + logger('receive: raw input: ' . file_get_contents('php://input'), LOGGER_DATA); + $guid = $a->argv[2]; $r = q("SELECT * FROM `user` WHERE `guid` = '%s' LIMIT 1", From 16129a4b8c689cfa4c8dcd793f39d91e026abc72 Mon Sep 17 00:00:00 2001 From: Friendika Date: Fri, 19 Aug 2011 02:53:44 -0700 Subject: [PATCH 23/52] better reporting when d* parent not found --- include/diaspora.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/diaspora.php b/include/diaspora.php index 9b3969b73a..aaae7a7178 100644 --- a/include/diaspora.php +++ b/include/diaspora.php @@ -482,7 +482,7 @@ function diaspora_comment($importer,$xml,$msg) { dbesc($parent_guid) ); if(! count($r)) { - logger('diaspora_comment: parent item not found: ' . $guid); + logger('diaspora_comment: parent item not found: parent: ' . $parent_guid . ' item: ' . $guid); return; } $parent_item = $r[0]; From 68c237f79f39dd5296770d872aa4a3f439448b28 Mon Sep 17 00:00:00 2001 From: Friendika Date: Fri, 19 Aug 2011 04:11:06 -0700 Subject: [PATCH 24/52] typo on d* path --- include/Scrape.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/Scrape.php b/include/Scrape.php index 1c9fe7d454..cc46af6445 100644 --- a/include/Scrape.php +++ b/include/Scrape.php @@ -485,7 +485,7 @@ function probe_url($url, $mode = PROBE_NORMAL) { if($diaspora && $diaspora_base && $diaspora_guid) { if($mode == PROBE_DIASPORA || ! $notify) - $notify = $diaspora_base . 'receive/post/' . $diaspora_guid; + $notify = $diaspora_base . 'receive/users/' . $diaspora_guid; if(strpos($url,'@')) $addr = str_replace('acct:', '', $url); } From 9b2d408d7391fe03ce7fef48115d4f24582c249e Mon Sep 17 00:00:00 2001 From: Friendika Date: Fri, 19 Aug 2011 04:37:11 -0700 Subject: [PATCH 25/52] facebook - don't fetch wall feeds if no linking is set --- addon/facebook/facebook.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/addon/facebook/facebook.php b/addon/facebook/facebook.php index 47e7691e46..ed59daff61 100644 --- a/addon/facebook/facebook.php +++ b/addon/facebook/facebook.php @@ -395,6 +395,8 @@ function facebook_cron($a,$b) { $r = q("SELECT * FROM `pconfig` WHERE `cat` = 'facebook' AND `k` = 'post' AND `v` = '1' ORDER BY RAND() "); if(count($r)) { foreach($r as $rr) { + if(get_pconfig($rr['uid'],'facebook','no_linking')) + continue; // check for new friends once a day $last_friend_check = get_pconfig($rr['uid'],'facebook','friend_check'); if($last_friend_check) From b49175ec5d81caec8e10a6a1bf17adb6a13661f4 Mon Sep 17 00:00:00 2001 From: Friendika Date: Fri, 19 Aug 2011 04:48:54 -0700 Subject: [PATCH 26/52] more logging --- include/diaspora.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/include/diaspora.php b/include/diaspora.php index aaae7a7178..0be2392d17 100644 --- a/include/diaspora.php +++ b/include/diaspora.php @@ -26,6 +26,8 @@ function diaspora_base_message($type,$data) { function diaspora_msg_build($msg,$user,$contact,$prvkey,$pubkey) { $a = get_app(); + logger('diaspora_msg_build: ' . $msg, LOGGER_DATA); + $inner_aes_key = random_string(32); $b_inner_aes_key = base64_encode($inner_aes_key); $inner_iv = random_string(32); @@ -96,6 +98,7 @@ $magic_env = <<< EOT EOT; + logger('diaspora_msg_build: magic_env: ' . $magic_env, LOGGER_DATA); return $magic_env; } From ef98c7e02097258916deb06039827f4898d4078a Mon Sep 17 00:00:00 2001 From: Friendika Date: Fri, 19 Aug 2011 04:52:40 -0700 Subject: [PATCH 27/52] on follow, land on new contact edit page --- mod/follow.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/mod/follow.php b/mod/follow.php index 14b2ea46c1..0323e76819 100644 --- a/mod/follow.php +++ b/mod/follow.php @@ -195,6 +195,7 @@ function follow_post(&$a) { } } - goaway($_SESSION['return_url']); + goaway($a->get_baseurl() . '/contacts/' . $r[0]['id']); +// goaway($_SESSION['return_url']); // NOTREACHED } From 9a52b152719e0e3e224fa19379f7f5e78dd986ce Mon Sep 17 00:00:00 2001 From: Friendika Date: Fri, 19 Aug 2011 05:20:30 -0700 Subject: [PATCH 28/52] don't allow removal of self contact --- include/diaspora.php | 3 ++- mod/contacts.php | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/include/diaspora.php b/include/diaspora.php index 0be2392d17..b14c38f1d3 100644 --- a/include/diaspora.php +++ b/include/diaspora.php @@ -789,9 +789,10 @@ function diaspora_share($me,$contact) { $myaddr = $me['nickname'] . '@' . substr($a->get_baseurl(), strpos($a->get_baseurl(),'://') + 3); $theiraddr = $contact['addr']; +logger('diaspora_share: contact: ' . print_r($contact,true), LOGGER_DATA); $tpl = get_markup_template('diaspora_share.tpl'); $msg = replace_macros($tpl, array( - '$sender' => myaddr, + '$sender' => $myaddr, '$recipient' => $theiraddr )); diff --git a/mod/contacts.php b/mod/contacts.php index f130b74c04..efb0dc75b2 100644 --- a/mod/contacts.php +++ b/mod/contacts.php @@ -141,7 +141,7 @@ function contacts_content(&$a) { $cmd = $a->argv[2]; - $orig_record = q("SELECT * FROM `contact` WHERE `id` = %d AND `uid` = %d LIMIT 1", + $orig_record = q("SELECT * FROM `contact` WHERE `id` = %d AND `uid` = %d AND `self` = 0 LIMIT 1", intval($contact_id), intval(local_user()) ); @@ -222,7 +222,7 @@ function contacts_content(&$a) { } - contact_remove($contact_id); + contact_remove($orig_record[0]['id']); info( t('Contact has been removed.') . EOL ); goaway($a->get_baseurl() . '/contacts'); return; // NOTREACHED From 2ef82cd34760565b6446a148770b3efbb49d3ad0 Mon Sep 17 00:00:00 2001 From: Friendika Date: Fri, 19 Aug 2011 05:24:07 -0700 Subject: [PATCH 29/52] redirect to added contact, not self --- mod/follow.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mod/follow.php b/mod/follow.php index 0323e76819..efcbdfd244 100644 --- a/mod/follow.php +++ b/mod/follow.php @@ -195,7 +195,7 @@ function follow_post(&$a) { } } - goaway($a->get_baseurl() . '/contacts/' . $r[0]['id']); + goaway($a->get_baseurl() . '/contacts/' . $contact_id); // goaway($_SESSION['return_url']); // NOTREACHED } From 18c8f4d8b57988ce5e22c261d7ab9d73aa2a3dd5 Mon Sep 17 00:00:00 2001 From: Friendika Date: Fri, 19 Aug 2011 05:29:07 -0700 Subject: [PATCH 30/52] wrong record --- mod/follow.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mod/follow.php b/mod/follow.php index efcbdfd244..009fe4e9a1 100644 --- a/mod/follow.php +++ b/mod/follow.php @@ -190,7 +190,7 @@ function follow_post(&$a) { } if($contact['network'] == NETWORK_DIASPORA) { require_once('include/diaspora.php'); - $ret = diaspora_share($a->user,$r[0]); + $ret = diaspora_share($a->user,$contact); logger('mod_follow: diaspora_share returns: ' . $ret); } } From 62e939de52acbfbfab1af143b9da2e48d6f4fc27 Mon Sep 17 00:00:00 2001 From: fabrixxm Date: Fri, 19 Aug 2011 14:57:54 +0200 Subject: [PATCH 31/52] API: add pagination in timelines and add statuses/friends and followers --- include/api.php | 67 ++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 63 insertions(+), 4 deletions(-) diff --git a/include/api.php b/include/api.php index 7a44cf0237..f2dc8aff18 100644 --- a/include/api.php +++ b/include/api.php @@ -332,7 +332,7 @@ 'notifications' => false, 'following' => '', #XXX: fix me 'verified' => true, #XXX: fix me - #'status' => null + 'status' => null ); return $ret; @@ -612,6 +612,13 @@ // get last newtork messages // $sql_extra = " AND `item`.`parent` IN ( SELECT `parent` FROM `item` WHERE `id` = `parent` ) "; + // params + $count = (x($_GET,'count')?$_GET['count']:20); + $page = (x($_GET,'page')?$_GET['page']:0); + + $start = $page*$count; + + $r = q("SELECT `item`.*, `item`.`id` AS `item_id`, `contact`.`name`, `contact`.`photo`, `contact`.`url`, `contact`.`rel`, `contact`.`network`, `contact`.`thumb`, `contact`.`dfrn-id`, `contact`.`self`, @@ -624,7 +631,7 @@ $sql_extra ORDER BY `item`.`received` DESC LIMIT %d ,%d ", intval($user_info['uid']), - 0,20 + $start, $count ); $ret = api_format_items($r,$user_info); @@ -651,6 +658,13 @@ // get last newtork messages // $sql_extra = " AND `item`.`parent` IN ( SELECT `parent` FROM `item` WHERE `id` = `parent` ) "; + // params + $count = (x($_GET,'count')?$_GET['count']:20); + $page = (x($_GET,'page')?$_GET['page']:0); + + $start = $page*$count; + + $r = q("SELECT `item`.*, `item`.`id` AS `item_id`, `contact`.`name`, `contact`.`photo`, `contact`.`url`, `contact`.`rel`, `contact`.`network`, `contact`.`thumb`, `contact`.`dfrn-id`, `contact`.`self`, @@ -664,7 +678,7 @@ $sql_extra ORDER BY `item`.`received` DESC LIMIT %d ,%d ", intval($user_info['uid']), - 0,20 + $start, $count ); $ret = api_format_items($r,$user_info); @@ -780,6 +794,51 @@ } api_register_func('api/account/rate_limit_status','api_account_rate_limit_status',true); + /** + * https://dev.twitter.com/docs/api/1/get/statuses/friends + * This function is deprecated by Twitter + **/ + function api_statuses_f(&$a, $type, $qtype) { + if (local_user()===false) return false; + $user_info = api_get_user($a); + + if($qtype == 'friends') + $sql_extra = sprintf(" AND ( `rel` = %d OR `rel` = %d ) ", intval(CONTACT_IS_SHARING), intval(CONTACT_IS_FRIEND)); + if($qtype == 'followers') + $sql_extra = sprintf(" AND ( `rel` = %d OR `rel` = %d ) ", intval(CONTACT_IS_FOLLOWER), intval(CONTACT_IS_FRIEND)); + + $r = q("SELECT id FROM `contact` WHERE `uid` = %d AND `self` = 0 AND `blocked` = 0 AND `pending` = 0 $sql_extra", + intval(local_user()) + ); + + $ret = array(); + foreach($r as $cid){ + $ret[] = api_get_user($a, $cid['id']); + } + + $data = array('$users' => $ret); + switch($type){ + case "atom": + case "rss": + $data = api_rss_extra($a, $data, $user_info); + } + + return api_apply_template("friends", $type, $data); + + } + function api_statuses_friends(&$a, $type){ + return api_statuses_f($a,$type,"friends"); + } + function api_statuses_followers(&$a, $type){ + return api_statuses_f($a,$type,"followers"); + } + api_register_func('api/statuses/friends','api_statuses_friends',true); + api_register_func('api/statuses/followers','api_statuses_followers',true); + + + + + function api_statusnet_config(&$a,$type) { $name = $a->config['sitename']; @@ -808,7 +867,6 @@ } api_register_func('api/statusnet/config','api_statusnet_config',false); - function api_statusnet_version(&$a,$type) { // liar @@ -869,3 +927,4 @@ api_register_func('api/friends/ids','api_friends_ids',true); api_register_func('api/followers/ids','api_followers_ids',true); + From fc9c73da492f97c47ffa15601c2411f58b24c0d3 Mon Sep 17 00:00:00 2001 From: fabrixxm Date: Fri, 19 Aug 2011 15:09:10 +0200 Subject: [PATCH 32/52] API: missing template and small fix for hotot --- include/api.php | 21 ++++++++++++++------- view/api_friends_xml.tpl | 5 +++++ 2 files changed, 19 insertions(+), 7 deletions(-) create mode 100644 view/api_friends_xml.tpl diff --git a/include/api.php b/include/api.php index f2dc8aff18..dd169f8336 100644 --- a/include/api.php +++ b/include/api.php @@ -796,12 +796,24 @@ /** * https://dev.twitter.com/docs/api/1/get/statuses/friends - * This function is deprecated by Twitter + * This function is deprecated by Twitter + * returns: json, xml **/ function api_statuses_f(&$a, $type, $qtype) { if (local_user()===false) return false; $user_info = api_get_user($a); + if (x($_GET,'cursor') && $_GET['cursor']=='undefined'){ + /* this is to stop Hotot to load friends multiple times + * I'm not sure if I'm missing return something or + * is a bug in hotot. Workaround, meantime + */ + + $ret=Array(); + $data = array('$users' => $ret); + return api_apply_template("friends", $type, $data); + } + if($qtype == 'friends') $sql_extra = sprintf(" AND ( `rel` = %d OR `rel` = %d ) ", intval(CONTACT_IS_SHARING), intval(CONTACT_IS_FRIEND)); if($qtype == 'followers') @@ -816,13 +828,8 @@ $ret[] = api_get_user($a, $cid['id']); } + $data = array('$users' => $ret); - switch($type){ - case "atom": - case "rss": - $data = api_rss_extra($a, $data, $user_info); - } - return api_apply_template("friends", $type, $data); } diff --git a/view/api_friends_xml.tpl b/view/api_friends_xml.tpl new file mode 100644 index 0000000000..0ea7eb13b7 --- /dev/null +++ b/view/api_friends_xml.tpl @@ -0,0 +1,5 @@ + + {{for $users as $user }} + {{inc api_user_xml.tpl }}{{endinc}} + {{endfor}} + From 43040faf22c44b2fc55f87cfcb24b56ed6624045 Mon Sep 17 00:00:00 2001 From: fabrixxm Date: Fri, 19 Aug 2011 16:54:41 +0200 Subject: [PATCH 33/52] move send private message code out of view code --- include/message.php | 96 ++++++++++++++++++++++++++++++++++++++++ mod/message.php | 104 +++++++------------------------------------- 2 files changed, 111 insertions(+), 89 deletions(-) create mode 100644 include/message.php diff --git a/include/message.php b/include/message.php new file mode 100644 index 0000000000..cca913b4ef --- /dev/null +++ b/include/message.php @@ -0,0 +1,96 @@ +get_baseurl() . ':' . local_user() . ':' . $hash ; + + if(! strlen($replyto)) + $replyto = $uri; + + $r = q("INSERT INTO `mail` ( `uid`, `from-name`, `from-photo`, `from-url`, + `contact-id`, `title`, `body`, `seen`, `replied`, `uri`, `parent-uri`, `created`) + VALUES ( %d, '%s', '%s', '%s', %d, '%s', '%s', %d, %d, '%s', '%s', '%s' )", + intval(local_user()), + dbesc($me[0]['name']), + dbesc($me[0]['thumb']), + dbesc($me[0]['url']), + intval($recipient), + dbesc($subject), + dbesc($body), + 1, + 0, + dbesc($uri), + dbesc($replyto), + datetime_convert() + ); + $r = q("SELECT * FROM `mail` WHERE `uri` = '%s' and `uid` = %d LIMIT 1", + dbesc($uri), + intval(local_user()) + ); + if(count($r)) + $post_id = $r[0]['id']; + + /** + * + * When a photo was uploaded into the message using the (profile wall) ajax + * uploader, The permissions are initially set to disallow anybody but the + * owner from seeing it. This is because the permissions may not yet have been + * set for the post. If it's private, the photo permissions should be set + * appropriately. But we didn't know the final permissions on the post until + * now. So now we'll look for links of uploaded messages that are in the + * post and set them to the same permissions as the post itself. + * + */ + + $match = null; + + if(preg_match_all("/\[img\](.*?)\[\/img\]/",$body,$match)) { + $images = $match[1]; + if(count($images)) { + foreach($images as $image) { + if(! stristr($image,$a->get_baseurl() . '/photo/')) + continue; + $image_uri = substr($image,strrpos($image,'/') + 1); + $image_uri = substr($image_uri,0, strpos($image_uri,'-')); + $r = q("UPDATE `photo` SET `allow_cid` = '%s' + WHERE `resource-id` = '%s' AND `album` = '%s' AND `uid` = %d ", + dbesc('<' . $recipient . '>'), + dbesc($image_uri), + dbesc( t('Wall Photos')), + intval(local_user()) + ); + } + } + } + + if($post_id) { + proc_run('php',"include/notifier.php","mail","$post_id"); + return intval($post_id); + } else { + return -3; + } + +} diff --git a/mod/message.php b/mod/message.php index ad598eb7d0..165d638141 100644 --- a/mod/message.php +++ b/mod/message.php @@ -1,6 +1,7 @@ get_baseurl() . ':' . local_user() . ':' . $hash ; - - if(! strlen($replyto)) - $replyto = $uri; - - $r = q("INSERT INTO `mail` ( `uid`, `from-name`, `from-photo`, `from-url`, - `contact-id`, `title`, `body`, `seen`, `replied`, `uri`, `parent-uri`, `created`) - VALUES ( %d, '%s', '%s', '%s', %d, '%s', '%s', %d, %d, '%s', '%s', '%s' )", - intval(local_user()), - dbesc($me[0]['name']), - dbesc($me[0]['thumb']), - dbesc($me[0]['url']), - intval($recipient), - dbesc($subject), - dbesc($body), - 1, - 0, - dbesc($uri), - dbesc($replyto), - datetime_convert() - ); - $r = q("SELECT * FROM `mail` WHERE `uri` = '%s' and `uid` = %d LIMIT 1", - dbesc($uri), - intval(local_user()) - ); - if(count($r)) - $post_id = $r[0]['id']; - - /** - * - * When a photo was uploaded into the message using the (profile wall) ajax - * uploader, The permissions are initially set to disallow anybody but the - * owner from seeing it. This is because the permissions may not yet have been - * set for the post. If it's private, the photo permissions should be set - * appropriately. But we didn't know the final permissions on the post until - * now. So now we'll look for links of uploaded messages that are in the - * post and set them to the same permissions as the post itself. - * - */ - - $match = null; - - if(preg_match_all("/\[img\](.*?)\[\/img\]/",$body,$match)) { - $images = $match[1]; - if(count($images)) { - foreach($images as $image) { - if(! stristr($image,$a->get_baseurl() . '/photo/')) - continue; - $image_uri = substr($image,strrpos($image,'/') + 1); - $image_uri = substr($image_uri,0, strpos($image_uri,'-')); - $r = q("UPDATE `photo` SET `allow_cid` = '%s' - WHERE `resource-id` = '%s' AND `album` = '%s' AND `uid` = %d ", - dbesc('<' . $recipient . '>'), - dbesc($image_uri), - dbesc( t('Wall Photos')), - intval(local_user()) - ); - } - } - } - if($post_id) { - proc_run('php',"include/notifier.php","mail","$post_id"); - info( t('Message sent.') . EOL ); + $ret = send_message($recipient, $body, $subject, $replyto); + + switch($ret){ + case -1: + notice( t('No recipient selected.') . EOL ); + break; + case -2: + notice( t('Unable to locate contact information.') . EOL ); + break; + case -3: + notice( t('Message could not be sent.') . EOL ); + default: + info( t('Message sent.') . EOL ); } - else { - notice( t('Message could not be sent.') . EOL ); - } - return; + } function message_content(&$a) { From 5c78872940bdc9973c777ff8a89b3bd6c9477868 Mon Sep 17 00:00:00 2001 From: fabrixxm Date: Fri, 19 Aug 2011 16:55:43 +0200 Subject: [PATCH 34/52] API: private messages (only json) --- include/api.php | 140 ++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 136 insertions(+), 4 deletions(-) diff --git a/include/api.php b/include/api.php index dd169f8336..a599f0d9b8 100644 --- a/include/api.php +++ b/include/api.php @@ -196,6 +196,7 @@ $user = null; $extra_query = ""; + if(!is_null($contact_id)){ $user=$contact_id; $extra_query = "AND `contact`.`id` = %d "; @@ -332,7 +333,7 @@ 'notifications' => false, 'following' => '', #XXX: fix me 'verified' => true, #XXX: fix me - 'status' => null + 'status' => array() ); return $ret; @@ -631,7 +632,7 @@ $sql_extra ORDER BY `item`.`received` DESC LIMIT %d ,%d ", intval($user_info['uid']), - $start, $count + intval($start), intval($count) ); $ret = api_format_items($r,$user_info); @@ -678,7 +679,7 @@ $sql_extra ORDER BY `item`.`received` DESC LIMIT %d ,%d ", intval($user_info['uid']), - $start, $count + intval($start), intval($count) ); $ret = api_format_items($r,$user_info); @@ -703,6 +704,11 @@ $user_info = api_get_user($a); // get last newtork messages // $sql_extra = " AND `item`.`parent` IN ( SELECT `parent` FROM `item` WHERE `id` = `parent` ) "; + // params + $count = (x($_GET,'count')?$_GET['count']:20); + $page = (x($_GET,'page')?$_GET['page']:0); + + $start = $page*$count; $r = q("SELECT `item`.*, `item`.`id` AS `item_id`, `contact`.`name`, `contact`.`photo`, `contact`.`url`, `contact`.`rel`, @@ -717,7 +723,7 @@ $sql_extra ORDER BY `item`.`received` DESC LIMIT %d ,%d ", intval($user_info['uid']), - 0,20 + intval($start), intval($count) ); $ret = api_format_items($r,$user_info); @@ -935,3 +941,129 @@ api_register_func('api/followers/ids','api_followers_ids',true); + function api_direct_messages_new(&$a, $type) { + if (local_user()===false) return false; + + if (!x($_POST, "text") || !x($_POST,"screen_name")) return; + + $sender = api_get_user($a); + + $r = q("SELECT `id` FROM `contact` WHERE `uid`=%d AND `nick`='%s'", + intval(local_user()), + dbesc($_POST['screen_name'])); + + $recipient = api_get_user($a, $r[0]['id']); + + + require_once("include/message.php"); + $sub = ( (strlen($_POST['text'])>10)?substr($_POST['text'],0,10)."...":$_POST['text']); + $id = send_message($recipient['id'], $_POST['text'], $sub); + + + if ($id>-1) { + $r = q("SELECT * FROM `mail` WHERE id=%d", intval($id)); + $item = $r[0]; + $ret=Array( + 'id' => $item['id'], + 'created_at'=> datetime_convert('UTC','UTC',$item['created'],ATOM_TIME), + 'sender_id'=> $sender['id'] , + 'sender_screen_name'=> $sender['screen_name'], + 'sender'=> $sender, + 'recipient_id'=> $recipient['id'], + 'recipient_screen_name'=> $recipient['screen_name'], + 'recipient'=> $recipient, + + 'text'=> $item['title']."\n".strip_tags(bbcode($item['body'])) , + + ); + + } else { + $ret = array("error"=>$id); + } + + $data = Array('$messages'=>$ret); + + switch($type){ + case "atom": + case "rss": + $data = api_rss_extra($a, $data, $user_info); + } + + return api_apply_template("direct_messages", $type, $data); + + } + api_register_func('api/direct_messages/new','api_direct_messages_new',true); + + function api_direct_messages_box(&$a, $type, $box) { + if (local_user()===false) return false; + + $user_info = api_get_user($a); + + // params + $count = (x($_GET,'count')?$_GET['count']:20); + $page = (x($_GET,'page')?$_GET['page']:0); + + $start = $page*$count; + + + if ($box=="sentbox") { + $sql_extra = "`from-url`='%s'"; + } else { + $sql_extra = "`from-url`!='%s'"; + } + + $r = q("SELECT * FROM `mail` WHERE uid=%d AND $sql_extra ORDER BY created DESC LIMIT %d,%d", + intval(local_user()), + dbesc( $a->get_baseurl() . '/profile/' . $a->user['nickname'] ), + intval($start), intval($count) + ); + + $ret = Array(); + foreach($r as $item){ + switch ($box){ + case "inbox": + $recipient = $user_info; + $sender = api_get_user($a,$item['contact-id']); + break; + case "sentbox": + $recipient = api_get_user($a,$item['contact-id']); + $sender = $user_info; + break; + } + + $ret[]=Array( + 'id' => $item['id'], + 'created_at'=> datetime_convert('UTC','UTC',$item['created'],ATOM_TIME), + 'sender_id'=> $sender['id'] , + 'sender_screen_name'=> $sender['screen_name'], + 'sender'=> $sender, + 'recipient_id'=> $recipient['id'], + 'recipient_screen_name'=> $recipient['screen_name'], + 'recipient'=> $recipient, + + 'text'=> $item['title']."\n".strip_tags(bbcode($item['body'])) , + + ); + + } + + + $data = array('$messages' => $ret); + switch($type){ + case "atom": + case "rss": + $data = api_rss_extra($a, $data, $user_info); + } + + return api_apply_template("direct_messages", $type, $data); + + } + + function api_direct_messages_sentbox(&$a, $type){ + return api_direct_messages_box($a, $type, "sentbox"); + } + function api_direct_messages_inbox(&$a, $type){ + return api_direct_messages_box($a, $type, "inbox"); + } + api_register_func('api/direct_messages/sent','api_direct_messages_sentbox',true); + api_register_func('api/direct_messages','api_direct_messages_inbox',true); From 46dd2535df9040e81717abf0241081f161f3a007 Mon Sep 17 00:00:00 2001 From: fabrixxm Date: Fri, 19 Aug 2011 20:33:34 +0200 Subject: [PATCH 35/52] API work. Identicurse compatiblity --- include/api.php | 47 +++++++++++++++++++++++++++++------------------ 1 file changed, 29 insertions(+), 18 deletions(-) diff --git a/include/api.php b/include/api.php index a599f0d9b8..aa42313b2a 100644 --- a/include/api.php +++ b/include/api.php @@ -353,11 +353,15 @@ return api_get_user($a,$a->contacts[$normalised]['id']); } // We don't know this person directly. + + list($nick, $name) = array_map("trim",explode("(",$item['author-name'])); + $name=str_replace(")","",$name); + $ret = array( 'uid' => 0, 'id' => 0, - 'name' => $item['author-name'], - 'screen_name' => $item['author_name'], + 'name' => $name, + 'screen_name' => $nick, 'location' => '', //$uinfo[0]['default-location'], 'profile_image_url' => $item['author-avatar'], 'url' => $item['author-link'], @@ -386,7 +390,7 @@ 'notifications' => false, 'verified' => true, #XXX: fix me 'followers' => '', #XXX: fix me - #'status' => null + 'status' => array() ); return $ret; @@ -608,18 +612,18 @@ */ function api_statuses_home_timeline(&$a, $type){ if (local_user()===false) return false; - + $user_info = api_get_user($a); // get last newtork messages -// $sql_extra = " AND `item`.`parent` IN ( SELECT `parent` FROM `item` WHERE `id` = `parent` ) "; // params - $count = (x($_GET,'count')?$_GET['count']:20); - $page = (x($_GET,'page')?$_GET['page']:0); + $count = (x($_REQUEST,'count')?$_REQUEST['count']:20); + $page = (x($_REQUEST,'page')?$_REQUEST['page']-1:0); + if ($page<0) $page=0; + $since_id = 0;//$since_id = (x($_REQUEST,'since_id')?$_REQUEST['since_id']:0); $start = $page*$count; - $r = q("SELECT `item`.*, `item`.`id` AS `item_id`, `contact`.`name`, `contact`.`photo`, `contact`.`url`, `contact`.`rel`, `contact`.`network`, `contact`.`thumb`, `contact`.`dfrn-id`, `contact`.`self`, @@ -630,8 +634,10 @@ AND `contact`.`id` = `item`.`contact-id` AND `contact`.`blocked` = 0 AND `contact`.`pending` = 0 $sql_extra + AND `item`.`id`>%d ORDER BY `item`.`received` DESC LIMIT %d ,%d ", intval($user_info['uid']), + intval($since_id), intval($start), intval($count) ); @@ -657,11 +663,12 @@ $user_info = api_get_user($a); // get last newtork messages -// $sql_extra = " AND `item`.`parent` IN ( SELECT `parent` FROM `item` WHERE `id` = `parent` ) "; // params - $count = (x($_GET,'count')?$_GET['count']:20); - $page = (x($_GET,'page')?$_GET['page']:0); + $count = (x($_REQUEST,'count')?$_REQUEST['count']:20); + $page = (x($_REQUEST,'page')?$_REQUEST['page']-1:0); + if ($page<0) $page=0; + $since_id = 0;//$since_id = (x($_REQUEST,'since_id')?$_REQUEST['since_id']:0); $start = $page*$count; @@ -677,8 +684,10 @@ AND `contact`.`id` = `item`.`contact-id` AND `contact`.`blocked` = 0 AND `contact`.`pending` = 0 $sql_extra + AND `item`.`id`>%d ORDER BY `item`.`received` DESC LIMIT %d ,%d ", intval($user_info['uid']), + intval($since_id), intval($start), intval($count) ); @@ -703,10 +712,11 @@ $user_info = api_get_user($a); // get last newtork messages -// $sql_extra = " AND `item`.`parent` IN ( SELECT `parent` FROM `item` WHERE `id` = `parent` ) "; + // params $count = (x($_GET,'count')?$_GET['count']:20); - $page = (x($_GET,'page')?$_GET['page']:0); + $page = (x($_REQUEST,'page')?$_REQUEST['page']-1:0); + if ($page<0) $page=0; $start = $page*$count; @@ -755,8 +765,8 @@ $status_user = (($item['cid']==$user_info['id'])?$user_info: api_item_get_user($a,$item)); $status = array( 'created_at'=> api_date($item['created']), - 'published' => datetime_convert('UTC','UTC',$item['created'],ATOM_TIME), - 'updated' => datetime_convert('UTC','UTC',$item['edited'],ATOM_TIME), + 'published' => api_date($item['created']), + 'updated' => api_date($item['edited']), 'id' => intval($item['id']), 'message_id' => $item['uri'], 'text' => strip_tags(bbcode($item['body'])), @@ -965,7 +975,7 @@ $item = $r[0]; $ret=Array( 'id' => $item['id'], - 'created_at'=> datetime_convert('UTC','UTC',$item['created'],ATOM_TIME), + 'created_at'=> api_date($item['created']), 'sender_id'=> $sender['id'] , 'sender_screen_name'=> $sender['screen_name'], 'sender'=> $sender, @@ -1001,7 +1011,8 @@ // params $count = (x($_GET,'count')?$_GET['count']:20); - $page = (x($_GET,'page')?$_GET['page']:0); + $page = (x($_REQUEST,'page')?$_REQUEST['page']-1:0); + if ($page<0) $page=0; $start = $page*$count; @@ -1033,7 +1044,7 @@ $ret[]=Array( 'id' => $item['id'], - 'created_at'=> datetime_convert('UTC','UTC',$item['created'],ATOM_TIME), + 'created_at'=> api_date($item['created']), 'sender_id'=> $sender['id'] , 'sender_screen_name'=> $sender['screen_name'], 'sender'=> $sender, From 8e24db3ef5c0bd15aba50aa48fd4745fe7191dbb Mon Sep 17 00:00:00 2001 From: Friendika Date: Fri, 19 Aug 2011 14:34:28 -0700 Subject: [PATCH 36/52] incorrect iv length for blocksize --- boot.php | 2 +- include/crypto.php | 2 ++ include/diaspora.php | 4 ++-- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/boot.php b/boot.php index 821e74672b..0992f6b538 100644 --- a/boot.php +++ b/boot.php @@ -7,7 +7,7 @@ require_once('include/text.php'); require_once("include/pgettext.php"); -define ( 'FRIENDIKA_VERSION', '2.2.1076' ); +define ( 'FRIENDIKA_VERSION', '2.2.1077' ); define ( 'DFRN_PROTOCOL_VERSION', '2.21' ); define ( 'DB_UPDATE_VERSION', 1081 ); diff --git a/include/crypto.php b/include/crypto.php index 1ab9e7b25f..6b27e832bd 100644 --- a/include/crypto.php +++ b/include/crypto.php @@ -182,3 +182,5 @@ function salmon_key($pubkey) { pemtome($pubkey,$m,$e); return 'RSA' . '.' . base64url_encode($m,true) . '.' . base64url_encode($e,true) ; } + + diff --git a/include/diaspora.php b/include/diaspora.php index b14c38f1d3..2e8ff6892c 100644 --- a/include/diaspora.php +++ b/include/diaspora.php @@ -30,12 +30,12 @@ function diaspora_msg_build($msg,$user,$contact,$prvkey,$pubkey) { $inner_aes_key = random_string(32); $b_inner_aes_key = base64_encode($inner_aes_key); - $inner_iv = random_string(32); + $inner_iv = random_string(16); $b_inner_iv = base64_encode($inner_iv); $outer_aes_key = random_string(32); $b_outer_aes_key = base64_encode($outer_aes_key); - $outer_iv = random_string(32); + $outer_iv = random_string(16); $b_outer_iv = base64_encode($outer_iv); $handle = 'acct:' . $user['nickname'] . '@' . substr($a->get_baseurl(), strpos($a->get_baseurl(),'://') + 3); From 0d9d576aa642e02eb8673aa20bdf4b6a18ae6bc3 Mon Sep 17 00:00:00 2001 From: Friendika Date: Sat, 20 Aug 2011 04:53:11 -0700 Subject: [PATCH 37/52] move encryption functions to crypto file --- include/crypto.php | 42 +++++++++++++++++++++++++++++++++++++++++- include/diaspora.php | 1 + include/items.php | 5 +++-- include/text.php | 40 ---------------------------------------- include/zotfns.php | 2 ++ 5 files changed, 47 insertions(+), 43 deletions(-) diff --git a/include/crypto.php b/include/crypto.php index 6b27e832bd..999b48be4d 100644 --- a/include/crypto.php +++ b/include/crypto.php @@ -74,7 +74,7 @@ function DerToRsa($Der) //Encode: $Der = base64_encode($Der); //Split lines: - $lines = str_split($Der, 65); + $lines = str_split($Der, 64); $body = implode("\n", $lines); //Get title: $title = 'RSA PUBLIC KEY'; @@ -184,3 +184,43 @@ function salmon_key($pubkey) { } + +if(! function_exists('aes_decrypt')) { +function aes_decrypt($val,$ky) +{ + $key="\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"; + for($a=0;$a=0 and ord(substr($dec, strlen($dec)-1,1))<=16)? chr(ord( substr($dec,strlen($dec)-1,1))):null)); +}} + + +if(! function_exists('aes_encrypt')) { +function aes_encrypt($val,$ky) +{ + $key="\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"; + for($a=0;$a strlen($text)) return false; + if (strspn($text, chr($pad), strlen($text) - $pad) != $pad) return false; + return substr($text, 0, -1 * $pad); +} diff --git a/include/diaspora.php b/include/diaspora.php index 2e8ff6892c..a52c82913d 100644 --- a/include/diaspora.php +++ b/include/diaspora.php @@ -141,6 +141,7 @@ function diaspora_decode($importer,$xml) { $decrypted = mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $outer_key, $ciphertext, MCRYPT_MODE_CBC, $outer_iv); + $decrypted = pkcs5_unpad($decrypted); /** diff --git a/include/items.php b/include/items.php index 39a61c4ad0..b84b71ba80 100644 --- a/include/items.php +++ b/include/items.php @@ -1,8 +1,9 @@ =0 and ord(substr($dec, strlen($dec)-1,1))<=16)? chr(ord( substr($dec,strlen($dec)-1,1))):null)); -}} - - -if(! function_exists('aes_encrypt')) { -function aes_encrypt($val,$ky) -{ - $key="\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"; - for($a=0;$a strlen($text)) return false; - if (strspn($text, chr($pad), strlen($text) - $pad) != $pad) return false; - return substr($text, 0, -1 * $pad); -} - function base64url_encode($s, $strip_padding = false) { diff --git a/include/zotfns.php b/include/zotfns.php index b695b6fcb6..b23fce82a5 100644 --- a/include/zotfns.php +++ b/include/zotfns.php @@ -2,6 +2,8 @@ require_once('include/salmon.php'); +require_once('include/crypto.php'); + function zot_get($url,$args) { $argstr = ''; From 8fa6f492420f830b4c9c06f2f391853e82285825 Mon Sep 17 00:00:00 2001 From: Friendika Date: Sat, 20 Aug 2011 15:09:09 -0700 Subject: [PATCH 38/52] until algorithm is sorted, ignore D* verification failures so we can debug the rest --- boot.php | 2 +- include/crypto.php | 17 +++++++++-------- include/diaspora.php | 32 +++++++++++++++----------------- 3 files changed, 25 insertions(+), 26 deletions(-) diff --git a/boot.php b/boot.php index 0992f6b538..302844f57f 100644 --- a/boot.php +++ b/boot.php @@ -7,7 +7,7 @@ require_once('include/text.php'); require_once("include/pgettext.php"); -define ( 'FRIENDIKA_VERSION', '2.2.1077' ); +define ( 'FRIENDIKA_VERSION', '2.2.1078' ); define ( 'DFRN_PROTOCOL_VERSION', '2.21' ); define ( 'DB_UPDATE_VERSION', 1081 ); diff --git a/include/crypto.php b/include/crypto.php index 999b48be4d..a75a9aa744 100644 --- a/include/crypto.php +++ b/include/crypto.php @@ -3,19 +3,20 @@ require_once('library/ASNValue.class.php'); require_once('library/asn1.php'); +// supported algorithms are 'sha256', 'sha1' -function rsa_sign($data,$key) { +function rsa_sign($data,$key,$alg = 'sha256') { $sig = ''; - if (version_compare(PHP_VERSION, '5.3.0', '>=')) { - openssl_sign($data,$sig,$key,'sha256'); + if (version_compare(PHP_VERSION, '5.3.0', '>=') || $alg === 'sha1') { + openssl_sign($data,$sig,$key,(($alg == 'sha1') ? OPENSSL_ALGO_SHA1 : 'sha256')); } else { if(strlen($key) < 1024 || extension_loaded('gmp')) { require_once('library/phpsec/Crypt/RSA.php'); $rsa = new CRYPT_RSA(); $rsa->signatureMode = CRYPT_RSA_SIGNATURE_PKCS1; - $rsa->setHash('sha256'); + $rsa->setHash($alg); $rsa->loadKey($key); $sig = $rsa->sign($data); } @@ -27,17 +28,17 @@ function rsa_sign($data,$key) { return $sig; } -function rsa_verify($data,$sig,$key) { +function rsa_verify($data,$sig,$key,$alg = 'sha256') { - if (version_compare(PHP_VERSION, '5.3.0', '>=')) { - $verify = openssl_verify($data,$sig,$key,'sha256'); + if (version_compare(PHP_VERSION, '5.3.0', '>=') || $alg === 'sha1') { + $verify = openssl_verify($data,$sig,$key,(($alg == 'sha1') ? OPENSSL_ALGO_SHA1 : 'sha256')); } else { if(strlen($key) <= 300 || extension_loaded('gmp')) { require_once('library/phpsec/Crypt/RSA.php'); $rsa = new CRYPT_RSA(); $rsa->signatureMode = CRYPT_RSA_SIGNATURE_PKCS1; - $rsa->setHash('sha256'); + $rsa->setHash($alg); $rsa->loadKey($key); $verify = $rsa->verify($data,$sig); } diff --git a/include/diaspora.php b/include/diaspora.php index a52c82913d..308e5777b1 100644 --- a/include/diaspora.php +++ b/include/diaspora.php @@ -192,7 +192,7 @@ function diaspora_decode($importer,$xml) { // Add back the 60 char linefeeds - // Diaspora devs: This completely violates the entire principle of salmon magic signatures, + // This completely violates the entire principle of salmon magic signatures, // which was to have a message signing format that was completely ambivalent to linefeeds // and transport whitespace mangling, and base64 wrapping rules. Guess what? PHP and Ruby // use different linelengths for base64 output. @@ -208,7 +208,7 @@ function diaspora_decode($importer,$xml) { $encoding = $base->encoding; $alg = $base->alg; - // Diaspora devs: I can't even begin to tell you how sucky this is. Please read the spec. + // I can't even begin to tell you how sucky this is. Please read the spec. $signed_data = $data . (($data[-1] != "\n") ? "\n" : '') . '.' . base64url_encode($type) . "\n" . '.' . base64url_encode($encoding) . "\n" . '.' . base64url_encode($alg) . "\n"; @@ -231,12 +231,10 @@ function diaspora_decode($importer,$xml) { } // Once we have the author URI, go to the web and try to find their public key - // *** or look it up locally *** + // (first this will look it up locally if it is in the fcontact cache) + // This will also convert diaspora public key from pkcs#1 to pkcs#8 logger('mod-diaspora: Fetching key for ' . $author_link ); - - // Get diaspora public key (pkcs#1) and convert to pkcs#8 - $key = get_diaspora_key($author_link); if(! $key) { @@ -510,9 +508,10 @@ function diaspora_comment($importer,$xml,$msg) { } } - if(! rsa_verify($author_signed_data,$author_signature,$key)) { + if(! rsa_verify($author_signed_data,$author_signature,$key,'sha1')) { logger('diaspora_comment: verification failed.'); - return; +// until we figure out what is different about their signing algorithm, accept it +// return; } @@ -523,9 +522,9 @@ function diaspora_comment($importer,$xml,$msg) { $key = $msg['key']; - if(! rsa_verify($owner_signed_data,$parent_author_signature,$key)) { + if(! rsa_verify($owner_signed_data,$parent_author_signature,$key,'sha1')) { logger('diaspora_comment: owner verification failed.'); - return; +// return; } } @@ -677,9 +676,9 @@ function diaspora_like($importer,$xml,$msg) { } } - if(! rsa_verify($author_signed_data,$author_signature,$key)) { + if(! rsa_verify($author_signed_data,$author_signature,$key,'sha1')) { logger('diaspora_like: verification failed.'); - return; +// return; } if($parent_author_signature) { @@ -689,9 +688,9 @@ function diaspora_like($importer,$xml,$msg) { $key = $msg['key']; - if(! rsa_verify($owner_signed_data,$parent_author_signature,$key)) { + if(! rsa_verify($owner_signed_data,$parent_author_signature,$key,'sha1')) { logger('diaspora_like: owner verification failed.'); - return; +// return; } } @@ -790,7 +789,6 @@ function diaspora_share($me,$contact) { $myaddr = $me['nickname'] . '@' . substr($a->get_baseurl(), strpos($a->get_baseurl(),'://') + 3); $theiraddr = $contact['addr']; -logger('diaspora_share: contact: ' . print_r($contact,true), LOGGER_DATA); $tpl = get_markup_template('diaspora_share.tpl'); $msg = replace_macros($tpl, array( '$sender' => $myaddr, @@ -871,7 +869,7 @@ function diaspora_send_followup($item,$owner,$contact) { else $signed_text = $item['guid'] . ';' . $parent_guid . ';' . $text . ';' . $myaddr; - $authorsig = base64_encode(rsa_sign($signed_text,$owner['uprvkey'])); + $authorsig = base64_encode(rsa_sign($signed_text,$owner['uprvkey']),'sha1'); $msg = replace_macros($tpl,array( '$guid' => xmlify($item['guid']), @@ -939,7 +937,7 @@ function diaspora_send_relay($item,$owner,$contact) { else $parent_signed_text = $orig_sign['signed_text']; - $parentauthorsig = base64_encode(rsa_sign($signed_text,$owner['uprvkey'])); + $parentauthorsig = base64_encode(rsa_sign($signed_text,$owner['uprvkey'],'sha1')); $msg = replace_macros($tpl,array( '$guid' => xmlify($item['guid']), From 349ea8d4758a78e668405d3c1c2b3e0f6dd9f25a Mon Sep 17 00:00:00 2001 From: Friendika Date: Sat, 20 Aug 2011 17:46:33 -0700 Subject: [PATCH 39/52] don't generate guid if one provided wirth msg --- include/items.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/items.php b/include/items.php index b84b71ba80..746e3b2944 100644 --- a/include/items.php +++ b/include/items.php @@ -695,6 +695,7 @@ function item_store($arr,$force_parent = false) { $arr['tag'] = ((x($arr,'tag')) ? notags(trim($arr['tag'])) : ''); $arr['attach'] = ((x($arr,'attach')) ? notags(trim($arr['attach'])) : ''); $arr['app'] = ((x($arr,'app')) ? notags(trim($arr['app'])) : ''); + $arr['guid'] = ((x($arr,'guid')) ? notags(trim($arr['guid'])) : get_guid()); if($arr['parent-uri'] === $arr['uri']) { $parent_id = 0; @@ -758,7 +759,6 @@ function item_store($arr,$force_parent = false) { } } - $arr['guid'] = get_guid(); call_hooks('post_remote',$arr); From c6a05443f7baa92f3e1716d0229fbb3f1f9aa556 Mon Sep 17 00:00:00 2001 From: Friendika Date: Sat, 20 Aug 2011 17:50:39 -0700 Subject: [PATCH 40/52] stricmp does not exist - strcasecmp does --- include/diaspora.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/diaspora.php b/include/diaspora.php index 308e5777b1..e943ea0860 100644 --- a/include/diaspora.php +++ b/include/diaspora.php @@ -493,7 +493,7 @@ function diaspora_comment($importer,$xml,$msg) { $author_signature = base64_decode($author_signature); - if(stricmp($diaspora_handle,$msg['author']) == 0) { + if(strcasecmp($diaspora_handle,$msg['author']) == 0) { $person = $contact; $key = $msg['key']; } @@ -662,7 +662,7 @@ function diaspora_like($importer,$xml,$msg) { $author_signature = base64_decode($author_signature); - if(stricmp($diaspora_handle,$msg['author']) == 0) { + if(strcasecmp($diaspora_handle,$msg['author']) == 0) { $person = $contact; $key = $msg['key']; } From f5c0443b91b7be1d75b19f72a30dc01041cf157c Mon Sep 17 00:00:00 2001 From: Friendika Date: Sat, 20 Aug 2011 18:05:05 -0700 Subject: [PATCH 41/52] sql syntax --- include/diaspora.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/diaspora.php b/include/diaspora.php index e943ea0860..44b97400b2 100644 --- a/include/diaspora.php +++ b/include/diaspora.php @@ -634,7 +634,7 @@ function diaspora_like($importer,$xml,$msg) { $parent_item = $r[0]; - $r = q("SELECT * FROM `item` WHERE `uid` = %d AND `guid` = '$s' LIMIT 1", + $r = q("SELECT * FROM `item` WHERE `uid` = %d AND `guid` = '%s' LIMIT 1", intval($importer['uid']), dbesc($guid) ); From c6cab2cfa855da8589f2a6714b0231085df710e5 Mon Sep 17 00:00:00 2001 From: Friendika Date: Sat, 20 Aug 2011 18:08:43 -0700 Subject: [PATCH 42/52] get_app for diaspora_like --- include/diaspora.php | 1 + 1 file changed, 1 insertion(+) diff --git a/include/diaspora.php b/include/diaspora.php index 44b97400b2..08dcee138b 100644 --- a/include/diaspora.php +++ b/include/diaspora.php @@ -599,6 +599,7 @@ function diaspora_comment($importer,$xml,$msg) { function diaspora_like($importer,$xml,$msg) { + $a = get_app(); $guid = notags(unxmlify($xml->guid)); $parent_guid = notags(unxmlify($xml->parent_guid)); $diaspora_handle = notags(unxmlify($xml->diaspora_handle)); From c6f0d997e6d1ef832edfc656462aee38b404f75b Mon Sep 17 00:00:00 2001 From: Friendika Date: Sat, 20 Aug 2011 18:14:19 -0700 Subject: [PATCH 43/52] set author/owner on likes --- include/diaspora.php | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/include/diaspora.php b/include/diaspora.php index 08dcee138b..d75a91b6d9 100644 --- a/include/diaspora.php +++ b/include/diaspora.php @@ -722,6 +722,7 @@ EOT; $arr['uri'] = $uri; $arr['uid'] = $importer['uid']; + $arr['guid'] = $guid; $arr['contact-id'] = $contact['id']; $arr['type'] = 'activity'; $arr['wall'] = $parent_item['wall']; @@ -729,13 +730,13 @@ EOT; $arr['parent'] = $parent_item['id']; $arr['parent-uri'] = $parent_item['uri']; - $datarray['owner-name'] = $contact['name']; - $datarray['owner-link'] = $contact['url']; - $datarray['owner-avatar'] = $contact['thumb']; + $arr['owner-name'] = $contact['name']; + $arr['owner-link'] = $contact['url']; + $arr['owner-avatar'] = $contact['thumb']; - $datarray['author-name'] = $person['name']; - $datarray['author-link'] = $person['url']; - $datarray['author-avatar'] = ((x($person,'thumb')) ? $person['thumb'] : $person['photo']); + $arr['author-name'] = $person['name']; + $arr['author-link'] = $person['url']; + $arr['author-avatar'] = ((x($person,'thumb')) ? $person['thumb'] : $person['photo']); $ulink = '[url=' . $contact['url'] . ']' . $contact['name'] . '[/url]'; $alink = '[url=' . $parent_item['author-link'] . ']' . $parent_item['author-name'] . '[/url]'; From c0be5bea1698d5e2db140a295731fdce12ba0382 Mon Sep 17 00:00:00 2001 From: Friendika Date: Sat, 20 Aug 2011 18:27:12 -0700 Subject: [PATCH 44/52] fix warning of self-signed cert for photos of our own contacts in comment notification emails --- mod/dfrn_notify.php | 34 +++++++++++++++++++++------------- 1 file changed, 21 insertions(+), 13 deletions(-) diff --git a/mod/dfrn_notify.php b/mod/dfrn_notify.php index f284b8b389..84cb2fc165 100644 --- a/mod/dfrn_notify.php +++ b/mod/dfrn_notify.php @@ -58,6 +58,9 @@ function dfrn_notify_post(&$a) { break; // NOTREACHED } + // be careful - $importer will contain both the contact information for the contact + // sending us the post, and also the user information for the person receiving it. + // since they are mixed together, it is easy to get them confused. $r = q("SELECT `contact`.*, `contact`.`uid` AS `importer_uid`, `contact`.`pubkey` AS `cpubkey`, @@ -512,17 +515,19 @@ function dfrn_notify_post(&$a) { $msg['htmlversion'] = html_entity_decode(bbcode(stripslashes(str_replace(array("\\r\\n", "\\r","\\n\\n" ,"\\n"), "
    \n",$datarray['body'])))); + $imgtouse = ((link_compare($datarray['author-link'],$importer['url'])) ? $importer['thumb'] : $datarray['author-avatar']); + // load the template for private message notifications $tpl = get_intltext_template('cmnt_received_html_body_eml.tpl'); $email_html_body_tpl = replace_macros($tpl,array( '$username' => $importer['username'], '$sitename' => $a->config['sitename'], // name of this site '$siteurl' => $a->get_baseurl(), // descriptive url of this site - '$thumb' => $datarray['author-avatar'], // thumbnail url for sender icon + '$thumb' => $imgtouse, // thumbnail url for sender icon '$email' => $importer['email'], // email address to send to - '$url' => $datarray['author-link'], // full url for the site - '$from' => $from, // name of the person sending the message - '$body' => $msg['htmlversion'], // html version of the message + '$url' => $datarray['author-link'], // full url for the site + '$from' => $from, // name of the person sending the message + '$body' => $msg['htmlversion'], // html version of the message '$display' => $a->get_baseurl() . '/display/' . $importer['nickname'] . '/' . $posted_id, )); @@ -532,10 +537,10 @@ function dfrn_notify_post(&$a) { '$username' => $importer['username'], '$sitename' => $a->config['sitename'], // name of this site '$siteurl' => $a->get_baseurl(), // descriptive url of this site - '$thumb' => $datarray['author-avatar'], // thumbnail url for sender icon + '$thumb' => $imgtouse, // thumbnail url for sender icon '$email' => $importer['email'], // email address to send to - '$url' => $datarray['author-link'], // full url for the site - '$from' => $from, // name of the person sending the message + '$url' => $datarray['author-link'], // full url for the site + '$from' => $from, // name of the person sending the message '$body' => $msg['textversion'], // text version of the message '$display' => $a->get_baseurl() . '/display/' . $importer['nickname'] . '/' . $posted_id, )); @@ -643,15 +648,18 @@ function dfrn_notify_post(&$a) { $msg['htmlversion'] = html_entity_decode(bbcode(stripslashes(str_replace(array("\\r\\n", "\\r","\\n\\n" ,"\\n"), "
    \n",$datarray['body'])))); + $imgtouse = ((link_compare($datarray['author-link'],$importer['url'])) ? $importer['thumb'] : $datarray['author-avatar']); + + // load the template for private message notifications $tpl = get_intltext_template('cmnt_received_html_body_eml.tpl'); $email_html_body_tpl = replace_macros($tpl,array( '$username' => $importer['username'], '$sitename' => $a->config['sitename'], // name of this site '$siteurl' => $a->get_baseurl(), // descriptive url of this site - '$thumb' => $datarray['author-avatar'], // thumbnail url for sender icon - '$url' => $datarray['author-link'], // full url for the site - '$from' => $from, // name of the person sending the message + '$thumb' => $imgtouse, // thumbnail url for sender icon + '$url' => $datarray['author-link'], // full url for the site + '$from' => $from, // name of the person sending the message '$body' => $msg['htmlversion'], // html version of the message '$display' => $a->get_baseurl() . '/display/' . $importer['nickname'] . '/' . $posted_id, )); @@ -662,9 +670,9 @@ function dfrn_notify_post(&$a) { '$username' => $importer['username'], '$sitename' => $a->config['sitename'], // name of this site '$siteurl' => $a->get_baseurl(), // descriptive url of this site - '$thumb' => $datarray['author-avatar'], // thumbnail url for sender icon - '$url' => $datarray['author-link'], // full url for the site - '$from' => $from, // name of the person sending the message + '$thumb' => $imgtouse, // thumbnail url for sender icon + '$url' => $datarray['author-link'], // full url for the site + '$from' => $from, // name of the person sending the message '$body' => $msg['textversion'], // text version of the message '$display' => $a->get_baseurl() . '/display/' . $importer['nickname'] . '/' . $posted_id, )); From a3eb73ed11fb9940755b2a3e6d996232609c0e7f Mon Sep 17 00:00:00 2001 From: Friendika Date: Sat, 20 Aug 2011 20:54:03 -0700 Subject: [PATCH 45/52] diaspora sign/verify requires SHA0 hash algorithm --- include/crypto.php | 4 ++-- include/diaspora.php | 21 ++++++++++----------- 2 files changed, 12 insertions(+), 13 deletions(-) diff --git a/include/crypto.php b/include/crypto.php index a75a9aa744..a20606db54 100644 --- a/include/crypto.php +++ b/include/crypto.php @@ -9,7 +9,7 @@ function rsa_sign($data,$key,$alg = 'sha256') { $sig = ''; if (version_compare(PHP_VERSION, '5.3.0', '>=') || $alg === 'sha1') { - openssl_sign($data,$sig,$key,(($alg == 'sha1') ? OPENSSL_ALGO_SHA1 : 'sha256')); + openssl_sign($data,$sig,$key,(($alg == 'sha1') ? OPENSSL_ALGO_SHA1 : $alg)); } else { if(strlen($key) < 1024 || extension_loaded('gmp')) { @@ -31,7 +31,7 @@ function rsa_sign($data,$key,$alg = 'sha256') { function rsa_verify($data,$sig,$key,$alg = 'sha256') { if (version_compare(PHP_VERSION, '5.3.0', '>=') || $alg === 'sha1') { - $verify = openssl_verify($data,$sig,$key,(($alg == 'sha1') ? OPENSSL_ALGO_SHA1 : 'sha256')); + $verify = openssl_verify($data,$sig,$key,(($alg == 'sha1') ? OPENSSL_ALGO_SHA1 : $alg)); } else { if(strlen($key) <= 300 || extension_loaded('gmp')) { diff --git a/include/diaspora.php b/include/diaspora.php index d75a91b6d9..5ee10901c6 100644 --- a/include/diaspora.php +++ b/include/diaspora.php @@ -508,10 +508,9 @@ function diaspora_comment($importer,$xml,$msg) { } } - if(! rsa_verify($author_signed_data,$author_signature,$key,'sha1')) { + if(! rsa_verify($author_signed_data,$author_signature,$key,'sha')) { logger('diaspora_comment: verification failed.'); -// until we figure out what is different about their signing algorithm, accept it -// return; + return; } @@ -522,9 +521,9 @@ function diaspora_comment($importer,$xml,$msg) { $key = $msg['key']; - if(! rsa_verify($owner_signed_data,$parent_author_signature,$key,'sha1')) { + if(! rsa_verify($owner_signed_data,$parent_author_signature,$key,'sha')) { logger('diaspora_comment: owner verification failed.'); -// return; + return; } } @@ -677,9 +676,9 @@ function diaspora_like($importer,$xml,$msg) { } } - if(! rsa_verify($author_signed_data,$author_signature,$key,'sha1')) { + if(! rsa_verify($author_signed_data,$author_signature,$key,'sha')) { logger('diaspora_like: verification failed.'); -// return; + return; } if($parent_author_signature) { @@ -689,9 +688,9 @@ function diaspora_like($importer,$xml,$msg) { $key = $msg['key']; - if(! rsa_verify($owner_signed_data,$parent_author_signature,$key,'sha1')) { + if(! rsa_verify($owner_signed_data,$parent_author_signature,$key,'sha')) { logger('diaspora_like: owner verification failed.'); -// return; + return; } } @@ -871,7 +870,7 @@ function diaspora_send_followup($item,$owner,$contact) { else $signed_text = $item['guid'] . ';' . $parent_guid . ';' . $text . ';' . $myaddr; - $authorsig = base64_encode(rsa_sign($signed_text,$owner['uprvkey']),'sha1'); + $authorsig = base64_encode(rsa_sign($signed_text,$owner['uprvkey']),'sha'); $msg = replace_macros($tpl,array( '$guid' => xmlify($item['guid']), @@ -939,7 +938,7 @@ function diaspora_send_relay($item,$owner,$contact) { else $parent_signed_text = $orig_sign['signed_text']; - $parentauthorsig = base64_encode(rsa_sign($signed_text,$owner['uprvkey'],'sha1')); + $parentauthorsig = base64_encode(rsa_sign($signed_text,$owner['uprvkey'],'sha')); $msg = replace_macros($tpl,array( '$guid' => xmlify($item['guid']), From c97652a044d009d7212f3fc4195e9aabd1c236c5 Mon Sep 17 00:00:00 2001 From: Friendika Date: Sun, 21 Aug 2011 00:13:44 -0700 Subject: [PATCH 46/52] php error when no aliases --- include/network.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/network.php b/include/network.php index 10e3648a18..d4f0d8aa76 100644 --- a/include/network.php +++ b/include/network.php @@ -536,7 +536,7 @@ function fetch_xrd_links($url) { $aliases = array($alias); else $aliases = $alias; - if(count($aliases)) { + if($aliases && count($aliases)) { foreach($aliases as $alias) { $links[]['@attributes'] = array('rel' => 'alias' , 'href' => $alias); } From e3eb4c131f7730151b8df865cb14f6767f2eface Mon Sep 17 00:00:00 2001 From: Friendika Date: Sun, 21 Aug 2011 04:18:39 -0700 Subject: [PATCH 47/52] D* likes not verifying, ignore result until we figure out the signable_string exactly --- include/diaspora.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/include/diaspora.php b/include/diaspora.php index 5ee10901c6..9b9d2cf8df 100644 --- a/include/diaspora.php +++ b/include/diaspora.php @@ -671,14 +671,14 @@ function diaspora_like($importer,$xml,$msg) { if(is_array($person) && x($person,'pubkey')) $key = $person['pubkey']; else { - logger('diaspora_comment: unable to find author details'); + logger('diaspora_like: unable to find author details'); return; } } if(! rsa_verify($author_signed_data,$author_signature,$key,'sha')) { logger('diaspora_like: verification failed.'); - return; +// return; } if($parent_author_signature) { @@ -690,7 +690,7 @@ function diaspora_like($importer,$xml,$msg) { if(! rsa_verify($owner_signed_data,$parent_author_signature,$key,'sha')) { logger('diaspora_like: owner verification failed.'); - return; +// return; } } From 213f832443944a8e3555ecf6b5951b71596fea6f Mon Sep 17 00:00:00 2001 From: Friendika Date: Sun, 21 Aug 2011 17:24:50 -0700 Subject: [PATCH 48/52] add trailing slash to diaspora notify url on send --- boot.php | 2 +- include/diaspora.php | 12 +++++++----- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/boot.php b/boot.php index 302844f57f..ae3c04b77c 100644 --- a/boot.php +++ b/boot.php @@ -7,7 +7,7 @@ require_once('include/text.php'); require_once("include/pgettext.php"); -define ( 'FRIENDIKA_VERSION', '2.2.1078' ); +define ( 'FRIENDIKA_VERSION', '2.2.1079' ); define ( 'DFRN_PROTOCOL_VERSION', '2.21' ); define ( 'DB_UPDATE_VERSION', 1081 ); diff --git a/include/diaspora.php b/include/diaspora.php index 9b9d2cf8df..5411729114 100644 --- a/include/diaspora.php +++ b/include/diaspora.php @@ -83,7 +83,9 @@ EOT; $b64_encrypted_outer_key_bundle = base64_encode($encrypted_outer_key_bundle); $encrypted_header_json_object = json_encode(array('aes_key' => base64_encode($encrypted_outer_key_bundle), 'ciphertext' => base64_encode($ciphertext))); - $encrypted_header = '' . base64_encode($encrypted_header_json_object) . ''; + $cipher_json = base64_encode($encrypted_header_json_object); + + $encrypted_header = '' . $cipher_json . ''; $magic_env = <<< EOT @@ -798,7 +800,7 @@ function diaspora_share($me,$contact) { $slap = 'xml=' . urlencode(urlencode(diaspora_msg_build($msg,$me,$contact,$me['prvkey'],$contact['pubkey']))); - post_url($contact['notify'],$slap); + post_url($contact['notify'] . '/',$slap); $return_code = $a->get_curl_code(); return $return_code; } @@ -829,7 +831,7 @@ function diaspora_send_status($item,$owner,$contact) { $slap = 'xml=' . urlencode(urlencode(diaspora_msg_build($msg,$owner,$contact,$owner['uprvkey'],$contact['pubkey']))); - post_url($contact['notify'],$slap); + post_url($contact['notify'] . '/',$slap); $return_code = $a->get_curl_code(); logger('diaspora_send_status: returns: ' . $return_code); return $return_code; @@ -886,7 +888,7 @@ function diaspora_send_followup($item,$owner,$contact) { $slap = 'xml=' . urlencode(urlencode(diaspora_msg_build($msg,$owner,$contact,$owner['uprvkey'],$contact['pubkey']))); - post_url($contact['notify'],$slap); + post_url($contact['notify'] . '/',$slap); $return_code = $a->get_curl_code(); logger('diaspora_send_status: returns: ' . $return_code); return $return_code; @@ -962,7 +964,7 @@ function diaspora_send_relay($item,$owner,$contact) { $slap = 'xml=' . urlencode(urlencode(diaspora_msg_build($msg,$owner,$contact,$owner['uprvkey'],$contact['pubkey']))); - post_url($contact['notify'],$slap); + post_url($contact['notify'] . '/',$slap); $return_code = $a->get_curl_code(); logger('diaspora_send_status: returns: ' . $return_code); return $return_code; From 4ec706cfc7f469c8e1313d125d0fe2611276fe7c Mon Sep 17 00:00:00 2001 From: Friendika Date: Sun, 21 Aug 2011 17:48:42 -0700 Subject: [PATCH 49/52] log the friend request - it's important --- include/diaspora.php | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/include/diaspora.php b/include/diaspora.php index 5411729114..faededa6a4 100644 --- a/include/diaspora.php +++ b/include/diaspora.php @@ -802,6 +802,7 @@ function diaspora_share($me,$contact) { post_url($contact['notify'] . '/',$slap); $return_code = $a->get_curl_code(); + logger('diaspora_send_share: returns: ' . $return_code); return $return_code; } @@ -890,7 +891,7 @@ function diaspora_send_followup($item,$owner,$contact) { post_url($contact['notify'] . '/',$slap); $return_code = $a->get_curl_code(); - logger('diaspora_send_status: returns: ' . $return_code); + logger('diaspora_send_followup: returns: ' . $return_code); return $return_code; } @@ -966,7 +967,7 @@ function diaspora_send_relay($item,$owner,$contact) { post_url($contact['notify'] . '/',$slap); $return_code = $a->get_curl_code(); - logger('diaspora_send_status: returns: ' . $return_code); + logger('diaspora_send_relay: returns: ' . $return_code); return $return_code; } From f3c5154f0c20069e7092e73d0e8f30502819aa06 Mon Sep 17 00:00:00 2001 From: Michal Supler Date: Sun, 21 Aug 2011 23:45:43 -0300 Subject: [PATCH 50/52] added Czech translation of mail messages --- view/cs/cmnt_received_eml.tpl | 14 +++++ view/cs/cmnt_received_html_body_eml.tpl | 25 +++++++++ view/cs/cmnt_received_text_body_eml.tpl | 14 +++++ view/cs/follow_notify_eml.tpl | 14 +++++ view/cs/friend_complete_eml.tpl | 17 ++++++ view/cs/htconfig.tpl | 74 +++++++++++++++++++++++++ view/cs/intro_complete_eml.tpl | 17 ++++++ view/cs/lostpass_eml.tpl | 23 ++++++++ view/cs/mail_received_html_body_eml.tpl | 25 +++++++++ view/cs/mail_received_text_body_eml.tpl | 10 ++++ view/cs/passchanged_eml.tpl | 14 +++++ view/cs/register_open_eml.tpl | 23 ++++++++ view/cs/register_verify_eml.tpl | 22 ++++++++ view/cs/request_notify_eml.tpl | 15 +++++ view/cs/wall_received_eml.tpl | 14 +++++ view/cs/wall_received_html_body_eml.tpl | 24 ++++++++ view/cs/wall_received_text_body_eml.tpl | 14 +++++ 17 files changed, 359 insertions(+) create mode 100644 view/cs/cmnt_received_eml.tpl create mode 100644 view/cs/cmnt_received_html_body_eml.tpl create mode 100644 view/cs/cmnt_received_text_body_eml.tpl create mode 100644 view/cs/follow_notify_eml.tpl create mode 100644 view/cs/friend_complete_eml.tpl create mode 100644 view/cs/htconfig.tpl create mode 100644 view/cs/intro_complete_eml.tpl create mode 100644 view/cs/lostpass_eml.tpl create mode 100644 view/cs/mail_received_html_body_eml.tpl create mode 100644 view/cs/mail_received_text_body_eml.tpl create mode 100644 view/cs/passchanged_eml.tpl create mode 100644 view/cs/register_open_eml.tpl create mode 100644 view/cs/register_verify_eml.tpl create mode 100644 view/cs/request_notify_eml.tpl create mode 100644 view/cs/wall_received_eml.tpl create mode 100644 view/cs/wall_received_html_body_eml.tpl create mode 100644 view/cs/wall_received_text_body_eml.tpl diff --git a/view/cs/cmnt_received_eml.tpl b/view/cs/cmnt_received_eml.tpl new file mode 100644 index 0000000000..ff44923222 --- /dev/null +++ b/view/cs/cmnt_received_eml.tpl @@ -0,0 +1,14 @@ +Milý/Milá $username, + + '$from' okommentoval položku/konverzaci, kterou následujete. + +----- +$body +----- + +Přihlaste se na $siteurl pro zobrazení kompletní konverzace: + +$display + +Díky, + $sitename administrátor diff --git a/view/cs/cmnt_received_html_body_eml.tpl b/view/cs/cmnt_received_html_body_eml.tpl new file mode 100644 index 0000000000..6b63187436 --- /dev/null +++ b/view/cs/cmnt_received_html_body_eml.tpl @@ -0,0 +1,25 @@ + + + + Friendika zpráva + + + + + + + + + + + + + + + + + + +
    Friendika
    $from okomentoval položku/konverzaci, kterou následujete.
    $from
    $body
    Přihlaste se na pro zobrazení kompletní konverzace.
    Díky,
    $sitename administrátor
    + + diff --git a/view/cs/cmnt_received_text_body_eml.tpl b/view/cs/cmnt_received_text_body_eml.tpl new file mode 100644 index 0000000000..ff44923222 --- /dev/null +++ b/view/cs/cmnt_received_text_body_eml.tpl @@ -0,0 +1,14 @@ +Milý/Milá $username, + + '$from' okommentoval položku/konverzaci, kterou následujete. + +----- +$body +----- + +Přihlaste se na $siteurl pro zobrazení kompletní konverzace: + +$display + +Díky, + $sitename administrátor diff --git a/view/cs/follow_notify_eml.tpl b/view/cs/follow_notify_eml.tpl new file mode 100644 index 0000000000..440ba9ca45 --- /dev/null +++ b/view/cs/follow_notify_eml.tpl @@ -0,0 +1,14 @@ + +Milý/Milá $username, + +Máte nového následovatele na $sitename - '$requestor'. + +Můžete si prohlédnout jeho/její profil na $url. + +Přihlaste se na váš server k odsouhlasení nebo ignorování/zrušení žádosti. + +$siteurl + +S pozdravem, + + $sitename administrátor diff --git a/view/cs/friend_complete_eml.tpl b/view/cs/friend_complete_eml.tpl new file mode 100644 index 0000000000..50bb7e105e --- /dev/null +++ b/view/cs/friend_complete_eml.tpl @@ -0,0 +1,17 @@ + +Milý/Milá $username, + + Skvělé zprávy... '$fn' na '$dfrn_url' odsouhlasil Váš požadavek na spojení na '$sitename'. + +Jste nyní přátelé a můžete si vyměňovat aktualizace statusu, fotek a e-mailů bez omezení. + +Pokud budete chtít tento vztah jakkoliv upravit, navštivte Vaši stránku "Kontakty" na $sitename. + +$siteurl + +(Nyní můžete například vytvořit separátní profil s informacemi, které nebudou viditelné veřejně, a nastavit právo pro zobrazení tohoto profilu pro '$fn'). + +S pozdravem, + + $sitename administrátor + diff --git a/view/cs/htconfig.tpl b/view/cs/htconfig.tpl new file mode 100644 index 0000000000..15fe8402b2 --- /dev/null +++ b/view/cs/htconfig.tpl @@ -0,0 +1,74 @@ +path na 'adresar/podadresar'. + +$a->path = '$urlpath'; + +// Vyberte platnou defaultní časovou zónu. Pokud si nejste jistí, použijte use "Europe/Prague". +// Toto nastavení lze změnit i později a používá se pouze pro časové značky anonymních čtenářů. + +$default_timezone = '$timezone'; + +// Jak se jmenuje Váš web? + +$a->config['sitename'] = "Moje síť přátel"; + +// Vaše možnosti jsou REGISTER_OPEN, REGISTER_APPROVE, or REGISTER_CLOSED. +// Ujistěte se, že jste si vytvořili Váš osobníúčet dříve, než nastavíte +// REGISTER_CLOSED. 'register_text' (pokud je nastaven) se bude zobrazovat jako první text na +// registrační stránce. REGISTER_APPROVE vyžaduje aby byl nastaven 'admin_email' +// na e-mailovou adresu již existující registrované osoby, která může autorizovat +// a/nebo schvalovat/odmítat žádosti o registraci. + +$a->config['register_policy'] = REGISTER_OPEN; +$a->config['register_text'] = ''; +$a->config['admin_email'] = '$adminmail'; + +// Maximální velikost importované zprávy, 0 je neomezeno + +$a->config['max_import_size'] = 200000; + +// maximální velikost nahrávaných fotografií + +$a->config['system']['maximagesize'] = 800000; + +// cesta k PHP command line processor + +$a->config['php_path'] = '$phpath'; + +// URL adresy globálního adresáře. + +$a->config['system']['directory_submit_url'] = 'http://dir.friendika.com/submit'; +$a->config['system']['directory_search_url'] = 'http://dir.friendika.com/directory?search='; + +// PuSH - také zvaný jako pubsubhubbub URL. Tímto zajistíte doručování veřejných přízpěvků stejně rychle jako těch soukromých + +$a->config['system']['huburl'] = 'http://pubsubhubbub.appspot.com'; + +// Server-to-server private message encryption (RINO) je defaultně povolen. +// Šifrování bude zajištěno pouze pokud je toto nastaveno na true a +// PHP mcrypt extension jsou nainstalována na obou systémech + +$a->config['system']['rino_encrypt'] = true; + +// defaultní systémové grafické téma + +$a->config['system']['theme'] = 'duepuntozero'; + +// Addony or pluginy se nastavují zde. +// Toto je list čárkou oddělených addonů, které jsou povoleny. Příklad: +// $a->config['system']['addon'] = 'js_upload,randplace,oembed'; + +$a->config['system']['addon'] = 'js_upload'; + diff --git a/view/cs/intro_complete_eml.tpl b/view/cs/intro_complete_eml.tpl new file mode 100644 index 0000000000..91753f35de --- /dev/null +++ b/view/cs/intro_complete_eml.tpl @@ -0,0 +1,17 @@ + +Milý/Milá $username, + + + '$fn' na '$dfrn_url' odsouhlasil Váš požadavek na spojení na '$sitename'. + + '$fn' Vás označil za svého "fanouška", což jistým způsobem omezuje komunikaci (například v oblasti soukromých zpráv a některých profilových interakcí. Pokud je toto celebritní nebo komunitní stránka, bylo toto nastavení byla přijato automaticky. + + '$fn' může v budoucnu rozšířit toto spojení na oboustranné nebo jinak méně restriktivní. + + Nyní začnete dostávat veřejné aktualizace statusu od '$fn', které se objeví ve Vaší stránce "Síť" na webu + +$siteurl + +S pozdravem, + + $sitename administrátor diff --git a/view/cs/lostpass_eml.tpl b/view/cs/lostpass_eml.tpl new file mode 100644 index 0000000000..b9ca68ba64 --- /dev/null +++ b/view/cs/lostpass_eml.tpl @@ -0,0 +1,23 @@ + +Milý/Milá $username, + Na webu $sitename byl zaregistrován požadavek na znovunastavení hesla k Vašemu účtu. Pro potvrzení této žádosti prosím klikněte na potvrzovací odkaz níže, nebo si tento odkaz zkopírujte do adresního řádku prohlížeče. +Pokud jste o znovunastavení hesla NEŽÁDALI, prosím NEKLIKEJTE na tento odkaz a ignorujte tento e-mail nebo ho rovnou smažte. + +Vaše heslo nebude změněno, dokud nebudeme mít potvrzení, že jste o tento požadavek zažádali právě Vy. + +Klikněte na tento odkaz pro prověření Vaší identity: + +$reset_link + +Poté obdržíte další zprávu obsahující nové heslo. + +Následně si toto heslo můžete změnit z vašeho účtu na stránce Nastavení. + +Přihlašovací údaje jsou tato: + +Adresa webu: $siteurl +Přihlašovací jméno: $email + +S pozdravem, + + $sitename administrátor diff --git a/view/cs/mail_received_html_body_eml.tpl b/view/cs/mail_received_html_body_eml.tpl new file mode 100644 index 0000000000..0909b450c2 --- /dev/null +++ b/view/cs/mail_received_html_body_eml.tpl @@ -0,0 +1,25 @@ + + + + Friendika Zpráva + + + + + + + + + + + + + + + + + + +
    Friendika
    $from Vám poslal(a) novou soukromou zprávu na $siteName.
    $from
    $title
    $htmlversion
    Přihlaste se na $siteurl$ pro čtení a zaslání odpovědí na Vaše soukromé zprávy.
    Díky,
    $siteName administrátor
    + + diff --git a/view/cs/mail_received_text_body_eml.tpl b/view/cs/mail_received_text_body_eml.tpl new file mode 100644 index 0000000000..c698723773 --- /dev/null +++ b/view/cs/mail_received_text_body_eml.tpl @@ -0,0 +1,10 @@ +$from Vám poslal(a) novou soukromou zprávu na $siteName. + +$title + +$textversion + +Přihlaste se na $siteurl pro čtení a zaslání odpovědí na Vaše soukromé zprávy. + +Díky, +$siteName administrátor diff --git a/view/cs/passchanged_eml.tpl b/view/cs/passchanged_eml.tpl new file mode 100644 index 0000000000..7d144dbd8e --- /dev/null +++ b/view/cs/passchanged_eml.tpl @@ -0,0 +1,14 @@ + +Milý/Milá $username, + Vaše heslo bylo na Vaši žádost změněno. Prosím zaznamenejte si tuto informaci (nebo si Vaše heslo změňte na nějaké, které si budete pamatovat). + +Vaše přihlašovací údaje jsou tato: + +Adresa webu: $siteurl +Přihlašovací jméno: $email +Heslo: $new_password + +Toto heslo si můžete změnit z vašeho účtu na stránce Nastavení poté, co se přihlásíte. + +S pozdravem, + $sitename administrátor diff --git a/view/cs/register_open_eml.tpl b/view/cs/register_open_eml.tpl new file mode 100644 index 0000000000..96235e572e --- /dev/null +++ b/view/cs/register_open_eml.tpl @@ -0,0 +1,23 @@ +Milý/milá $username, + Díky za registraci na $sitename. Váš účet byl vytvořen. +Vaše přihlašovací údaje jsou tato: + +Adresa webu: $siteurl +Přihlašovací jméno: $email +Heslo: $password + +Toto heslo si můžete změnit z vašeho účtu na stránce "Nastavení" poté, co se přihlásíte. + +Věnujte prosím chvíli revizi dalších nastavení Vašeho účtu na této stránce. + +Můžete také přidat některé základní informace do Vašeho defaultního profilu (na stránce "Profily"), čímž umožníte jiným lidem Vás snadněji nalézt. + +Doporučujeme nastavit celé jméno, přidat profilové foto, přidat nějaká profilová "klíčová slova" (což je velmi užitečné pro hledání nových přátel) a zemi, ve které žijete. Nemusíte zadávat víc informací. + +Plně respektujeme Vaše právo na soukromí a žádná z výše uvedených položek není povinná. +Pokud jste nový a neznáte na tomto webu nikoho jiného, zadáním těchto položek můžete získat nové a zajímavé přátele. + +Díky a vítejte na $sitename. + +S pozdravem, + $sitename administrátor diff --git a/view/cs/register_verify_eml.tpl b/view/cs/register_verify_eml.tpl new file mode 100644 index 0000000000..a843a857e3 --- /dev/null +++ b/view/cs/register_verify_eml.tpl @@ -0,0 +1,22 @@ + +Na webu $sitename byla vytvořena nová uživatelská registrace, která vyžaduje Vaše schválení. + +Přihlašovací údaje jsou tato: + +Celé jméno: $username +Adresa webu: $siteurl +Přihlašovací jméno: $email + +Pro odsouhlasení tohoto požadavku prosím klikněte na následující odkaz: + + +$siteurl/regmod/allow/$hash + + +Pro zamítnutí žádosti a odstranění účtu prosím klikněte na tento odkaz: + + +$siteurl/regmod/deny/$hash + + +Díky. diff --git a/view/cs/request_notify_eml.tpl b/view/cs/request_notify_eml.tpl new file mode 100644 index 0000000000..74010c79cf --- /dev/null +++ b/view/cs/request_notify_eml.tpl @@ -0,0 +1,15 @@ + +Milý/Milá $username, + +Právě jste obdržel/obdržela požadavek na spojení na webu $sitename + +od '$requestor'. + +Můžete navštívit jeho/její profil na následujícím odkazu $url. + +Přihlaste se na Váš web k zobrazení kompletní žádosti a odsouhlaste nebo ignorujte/zrušte tuto žádost. + +$siteurl + +S pozdravem, + $sitename administrátor diff --git a/view/cs/wall_received_eml.tpl b/view/cs/wall_received_eml.tpl new file mode 100644 index 0000000000..9fb27ddd8b --- /dev/null +++ b/view/cs/wall_received_eml.tpl @@ -0,0 +1,14 @@ +Milý/Milá $username, + + '$from' obohatil Vaši profilovou zeď. + +----- +$body +----- + +Přihlaste se na $siteurl k zobrazení nebo smazání této položky: + +$display + +Díky, + $sitename administrátor diff --git a/view/cs/wall_received_html_body_eml.tpl b/view/cs/wall_received_html_body_eml.tpl new file mode 100644 index 0000000000..893eec20ca --- /dev/null +++ b/view/cs/wall_received_html_body_eml.tpl @@ -0,0 +1,24 @@ + + + + Friendika zpráva + + + + + + + + + + + + + + + + + +
    Friendika
    $from obohatil Vaši profilovou zeď.
    $from
    $body
    Přihlaste se na $siteurl k zobrazení nebo smazání této položky.
    Díky,
    $sitename administrátor
    + + diff --git a/view/cs/wall_received_text_body_eml.tpl b/view/cs/wall_received_text_body_eml.tpl new file mode 100644 index 0000000000..088f7f9db5 --- /dev/null +++ b/view/cs/wall_received_text_body_eml.tpl @@ -0,0 +1,14 @@ +Milý/Milá $username, + + '$from' obohatil Vaši profilovou zeď. + +----- +$body +----- + +Přihlaste se na $siteurl k zobrazení nebo smazání této položky: + +$display + +Díky, + $sitename administrátor From 812222fb1757c046b80a7b8169d69626256098cf Mon Sep 17 00:00:00 2001 From: Friendika Date: Mon, 22 Aug 2011 01:57:52 -0700 Subject: [PATCH 51/52] correct the diaspora_like signable string format --- include/diaspora.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/include/diaspora.php b/include/diaspora.php index faededa6a4..4113e9ce10 100644 --- a/include/diaspora.php +++ b/include/diaspora.php @@ -660,7 +660,7 @@ function diaspora_like($importer,$xml,$msg) { return; } - $author_signed_data = $guid . ';' . $parent_guid . ';' . $target_type . ';' . $positive . ';' . $diaspora_handle; + $author_signed_data = $guid . ';' . $target_type . ';' . $parent_guid . ';' . $positive . ';' . $diaspora_handle; $author_signature = base64_decode($author_signature); @@ -680,7 +680,7 @@ function diaspora_like($importer,$xml,$msg) { if(! rsa_verify($author_signed_data,$author_signature,$key,'sha')) { logger('diaspora_like: verification failed.'); -// return; + return; } if($parent_author_signature) { @@ -692,7 +692,7 @@ function diaspora_like($importer,$xml,$msg) { if(! rsa_verify($owner_signed_data,$parent_author_signature,$key,'sha')) { logger('diaspora_like: owner verification failed.'); -// return; + return; } } From 564ade0685470158ac487d9a9f18a21079c729bb Mon Sep 17 00:00:00 2001 From: Friendika Date: Mon, 22 Aug 2011 04:55:09 -0700 Subject: [PATCH 52/52] store key with contact record --- include/diaspora.php | 7 ++++++- mod/follow.php | 5 +++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/include/diaspora.php b/include/diaspora.php index 4113e9ce10..f3adc608ea 100644 --- a/include/diaspora.php +++ b/include/diaspora.php @@ -77,10 +77,15 @@ EOT; $ciphertext = mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $outer_aes_key, $decrypted_header, MCRYPT_MODE_CBC, $outer_iv); $outer_json = json_encode(array('iv' => $b_outer_iv,'key' => $b_outer_aes_key)); + $encrypted_outer_key_bundle = ''; openssl_public_encrypt($outer_json,$encrypted_outer_key_bundle,$pubkey); - + + logger('outer_bundle_encrypt: ' . openssl_error_string()); $b64_encrypted_outer_key_bundle = base64_encode($encrypted_outer_key_bundle); + + logger('outer_bundle: ' . $b64_encrypted_outer_key_bundle . ' key: ' . $pubkey); + $encrypted_header_json_object = json_encode(array('aes_key' => base64_encode($encrypted_outer_key_bundle), 'ciphertext' => base64_encode($ciphertext))); $cipher_json = base64_encode($encrypted_header_json_object); diff --git a/mod/follow.php b/mod/follow.php index 009fe4e9a1..df4d2e630a 100644 --- a/mod/follow.php +++ b/mod/follow.php @@ -100,9 +100,9 @@ function follow_post(&$a) { $new_relation = CONTACT_IS_FOLLOWER; // create contact record - $r = q("INSERT INTO `contact` ( `uid`, `created`, `url`, `addr`, `alias`, `notify`, `poll`, `name`, `nick`, `photo`, `network`, `rel`, `priority`, + $r = q("INSERT INTO `contact` ( `uid`, `created`, `url`, `addr`, `alias`, `notify`, `poll`, `name`, `nick`, `photo`, `network`, `pubkey`, `rel`, `priority`, `writable`, `blocked`, `readonly`, `pending` ) - VALUES ( %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d, %d, %d, 0, 0, 0 ) ", + VALUES ( %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d, %d, %d, 0, 0, 0 ) ", intval(local_user()), dbesc(datetime_convert()), dbesc($ret['url']), @@ -114,6 +114,7 @@ function follow_post(&$a) { dbesc($ret['nick']), dbesc($ret['photo']), dbesc($ret['network']), + dbesc($ret['pubkey']), intval($new_relation), intval($ret['priority']), intval($writeable)