Merge pull request #10795 from annando/contact-media

Contact-media
This commit is contained in:
Hypolite Petovan 2021-10-02 15:51:26 -04:00 committed by GitHub
commit 600c301bc1
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
9 changed files with 316 additions and 462 deletions

View file

@ -32,7 +32,7 @@ General
* m - Status Messages and Posts * m - Status Messages and Posts
* r - Profile Details * r - Profile Details
* h - Photo Albums * h - Photo Albums
* v - Videos * d - Media
* e - Events and Calendar * e - Events and Calendar
* t - Personal Notes * t - Personal Notes
* o - Scheduled Posts * o - Scheduled Posts
@ -49,12 +49,13 @@ General
* h - Only show hidden contacts * h - Only show hidden contacts
* e - Edit contact groups * e - Edit contact groups
../contacts (single contact view) ../contact (single contact view)
------------------------------- -------------------------------
* m - Status messages * m - Status messages
* p - Posts and Comments
* d - Media
* o - Profile * o - Profile
* t - Contacts * t - Contacts
* d - Common friends
* r - Advanced * r - Advanced
../message ../message

View file

@ -1,261 +0,0 @@
<?php
/**
* @copyright Copyright (C) 2010-2021, the Friendica project
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
*/
use Friendica\App;
use Friendica\Content\Nav;
use Friendica\Content\Pager;
use Friendica\Content\Widget;
use Friendica\Core\Renderer;
use Friendica\Core\Session;
use Friendica\Database\DBA;
use Friendica\DI;
use Friendica\Model\Attach;
use Friendica\Model\Item;
use Friendica\Model\Profile;
use Friendica\Model\User;
use Friendica\Module\BaseProfile;
use Friendica\Security\Security;
use Friendica\Network\HTTPException;
function videos_init(App $a)
{
if (DI::config()->get('system', 'block_public') && !Session::isAuthenticated()) {
return;
}
Nav::setSelected('home');
if (DI::args()->getArgc() > 1) {
$owner = User::getOwnerDataByNick(DI::args()->getArgv()[1]);
if (empty($owner)) {
throw new HTTPException\NotFoundException(DI::l10n()->t('User not found.'));
}
// If not there, create 'aside' empty
if (!isset(DI::page()['aside'])) {
DI::page()['aside'] = '';
}
DI::page()['aside'] .= Widget\VCard::getHTML($owner);
$tpl = Renderer::getMarkupTemplate("videos_head.tpl");
DI::page()['htmlhead'] .= Renderer::replaceMacros($tpl);
}
return;
}
function videos_post(App $a)
{
$user = User::getByNickname(DI::args()->getArgv()[1]);
if (!DBA::isResult($user)) {
throw new HTTPException\NotFoundException(DI::l10n()->t('User not found.'));
}
if (local_user() != $user['uid']) {
DI::baseUrl()->redirect('videos/' . $user['nickname']);
}
if ((DI::args()->getArgc() == 2) && !empty($_POST['delete']) && !empty($_POST['id'])) {
$video_id = $_POST['id'];
if (Attach::exists(['id' => $video_id, 'uid' => local_user()])) {
// delete the attachment
Attach::delete(['id' => $video_id, 'uid' => local_user()]);
// delete items where the attach is used
Item::deleteForUser(['`attach` LIKE ? AND `uid` = ?',
'%attach/' . $video_id . '%',
local_user()
], local_user());
}
DI::baseUrl()->redirect('videos/' . $user['nickname']);
return; // NOTREACHED
}
DI::baseUrl()->redirect('videos/' . $user['nickname']);
}
function videos_content(App $a)
{
// URLs (most aren't currently implemented):
// videos/name
// videos/name/upload
// videos/name/upload/xxxxx (xxxxx is album name)
// videos/name/album/xxxxx
// videos/name/album/xxxxx/edit
// videos/name/video/xxxxx
// videos/name/video/xxxxx/edit
$user = User::getByNickname(DI::args()->getArgv()[1]);
if (!DBA::isResult($user)) {
throw new HTTPException\NotFoundException(DI::l10n()->t('User not found.'));
}
if (DI::config()->get('system', 'block_public') && !Session::isAuthenticated()) {
notice(DI::l10n()->t('Public access denied.'));
return;
}
if (empty($user)) {
notice(DI::l10n()->t('No videos selected') . EOL );
return;
}
$profile = Profile::getByUID($user['uid']);
//$phototypes = Photo::supportedTypes();
$_SESSION['video_return'] = DI::args()->getCommand();
//
// Parse arguments
//
if (DI::args()->getArgc() > 3) {
$datatype = DI::args()->getArgv()[2];
} elseif((DI::args()->getArgc() > 2) && (DI::args()->getArgv()[2] === 'upload')) {
$datatype = 'upload';
} else {
$datatype = 'summary';
}
//
// Setup permissions structures
//
$can_post = false;
$visitor = 0;
$remote_contact = false;
$contact_id = 0;
$community_page = (($user['page-flags'] == User::PAGE_FLAGS_COMMUNITY) ? true : false);
if ((local_user()) && (local_user() == $user['uid'])) {
$can_post = true;
} elseif ($community_page && !empty(Session::getRemoteContactID($user['uid']))) {
$contact_id = Session::getRemoteContactID($user['uid']);
$can_post = true;
$remote_contact = true;
$visitor = $contact_id;
}
// perhaps they're visiting - but not a community page, so they wouldn't have write access
if (!empty(Session::getRemoteContactID($user['uid'])) && !$visitor) {
$contact_id = Session::getRemoteContactID($user['uid']);
$remote_contact = true;
}
if ($user['hidewall'] && (local_user() != $user['uid']) && !$remote_contact) {
notice(DI::l10n()->t('Access to this item is restricted.'));
return;
}
$sql_extra = Security::getPermissionsSQLByUserId($user['uid']);
$o = "";
// tabs
$_is_owner = (local_user() && (local_user() == $user['uid']));
$o .= BaseProfile::getTabsHTML($a, 'videos', $_is_owner, $user['nickname'], $profile['hide-friends']);
//
// dispatch request
//
if ($datatype === 'upload') {
return; // no uploading for now
// DELETED -- look at mod/photos.php if you want to implement
}
if ($datatype === 'album') {
return; // no albums for now
// DELETED -- look at mod/photos.php if you want to implement
}
if ($datatype === 'video') {
return; // no single video view for now
// DELETED -- look at mod/photos.php if you want to implement
}
// Default - show recent videos (no upload link for now)
//$o = '';
$total = 0;
$r = q("SELECT hash FROM `attach` WHERE `uid` = %d AND filetype LIKE '%%video%%'
$sql_extra GROUP BY hash",
intval($user['uid'])
);
if (DBA::isResult($r)) {
$total = count($r);
}
$pager = new Pager(DI::l10n(), DI::args()->getQueryString(), 20);
$r = q("SELECT hash, ANY_VALUE(`id`) AS `id`, ANY_VALUE(`created`) AS `created`,
ANY_VALUE(`filename`) AS `filename`, ANY_VALUE(`filetype`) as `filetype`
FROM `attach`
WHERE `uid` = %d AND filetype LIKE '%%video%%'
$sql_extra GROUP BY hash ORDER BY `created` DESC LIMIT %d , %d",
intval($user['uid']),
$pager->getStart(),
$pager->getItemsPerPage()
);
$videos = [];
if (DBA::isResult($r)) {
foreach ($r as $rr) {
$alt_e = $rr['filename'];
/// @todo The album isn't part of the above query. This seems to be some unfinished code that needs to be reworked completely.
$rr['album'] = '';
$name_e = $rr['album'];
$videos[] = [
'id' => $rr['id'],
'link' => DI::baseUrl() . '/videos/' . $user['nickname'] . '/video/' . $rr['hash'],
'title' => DI::l10n()->t('View Video'),
'src' => DI::baseUrl() . '/attach/' . $rr['id'] . '?attachment=0',
'alt' => $alt_e,
'mime' => $rr['filetype'],
'album' => [
'link' => DI::baseUrl() . '/videos/' . $user['nickname'] . '/album/' . bin2hex($rr['album']),
'name' => $name_e,
'alt' => DI::l10n()->t('View Album'),
],
];
}
}
$tpl = Renderer::getMarkupTemplate('videos_recent.tpl');
$o .= Renderer::replaceMacros($tpl, [
'$title' => DI::l10n()->t('Recent Videos'),
'$can_post' => $can_post,
'$upload' => [DI::l10n()->t('Upload New Videos'), DI::baseUrl() . '/videos/' . $user['nickname'] . '/upload'],
'$videos' => $videos,
'$delete_url' => (($can_post) ? DI::baseUrl() . '/videos/' . $user['nickname'] : false)
]);
$o .= $pager->renderFull($total);
return $o;
}

View file

@ -1370,12 +1370,13 @@ class Contact
* @param bool $thread_mode * @param bool $thread_mode
* @param int $update Update mode * @param int $update Update mode
* @param int $parent Item parent ID for the update mode * @param int $parent Item parent ID for the update mode
* @param bool $only_media Only display media content
* @return string posts in HTML * @return string posts in HTML
* @throws \Exception * @throws \Exception
*/ */
public static function getPostsFromUrl($contact_url, $thread_mode = false, $update = 0, $parent = 0) public static function getPostsFromUrl($contact_url, $thread_mode = false, $update = 0, $parent = 0, bool $only_media = false)
{ {
return self::getPostsFromId(self::getIdForURL($contact_url), $thread_mode, $update, $parent); return self::getPostsFromId(self::getIdForURL($contact_url), $thread_mode, $update, $parent, $only_media);
} }
/** /**
@ -1384,14 +1385,13 @@ class Contact
* @param int $cid Contact ID * @param int $cid Contact ID
* @param bool $thread_mode * @param bool $thread_mode
* @param int $update Update mode * @param int $update Update mode
* @param int $parent Item parent ID for the update mode * @param int $parent Item parent ID for the update mode
* @param bool $only_media Only display media content
* @return string posts in HTML * @return string posts in HTML
* @throws \Exception * @throws \Exception
*/ */
public static function getPostsFromId($cid, $thread_mode = false, $update = 0, $parent = 0) public static function getPostsFromId($cid, $thread_mode = false, $update = 0, $parent = 0, bool $only_media = false)
{ {
$a = DI::app();
$contact = DBA::selectFirst('contact', ['contact-type', 'network'], ['id' => $cid]); $contact = DBA::selectFirst('contact', ['contact-type', 'network'], ['id' => $cid]);
if (!DBA::isResult($contact)) { if (!DBA::isResult($contact)) {
return ''; return '';
@ -1422,6 +1422,11 @@ class Contact
} }
} }
if ($only_media) {
$condition = DBA::mergeConditions($condition, ["`uri-id` IN (SELECT `uri-id` FROM `post-media` WHERE `type` IN (?, ?, ?))",
Post\Media::AUDIO, Post\Media::IMAGE, Post\Media::VIDEO]);
}
if (DI::mode()->isMobile()) { if (DI::mode()->isMobile()) {
$itemsPerPage = DI::pConfig()->get(local_user(), 'system', 'itemspage_mobile_network', $itemsPerPage = DI::pConfig()->get(local_user(), 'system', 'itemspage_mobile_network',
DI::config()->get('system', 'itemspage_network_mobile')); DI::config()->get('system', 'itemspage_network_mobile'));

View file

@ -68,15 +68,14 @@ class BaseProfile extends BaseModule
'id' => 'photo-tab', 'id' => 'photo-tab',
'accesskey' => 'h', 'accesskey' => 'h',
], ],
// @todo Currently deactivated since it doesn't really work [
// [ 'label' => DI::l10n()->t('Media'),
// 'label' => DI::l10n()->t('Videos'), 'url' => $baseProfileUrl . '/media',
// 'url' => DI::baseUrl() . '/videos/' . $nickname, 'sel' => $current == 'media' ? 'active' : '',
// 'sel' => $current == 'videos' ? 'active' : '', 'title' => DI::l10n()->t('Media'),
// 'title' => DI::l10n()->t('Videos'), 'id' => 'media-tab',
// 'id' => 'video-tab', 'accesskey' => 'd',
// 'accesskey' => 'v', ],
// ],
]; ];
// the calendar link for the full featured events calendar // the calendar link for the full featured events calendar

View file

@ -52,6 +52,7 @@ class Contact extends BaseModule
const TAB_PROFILE = 3; const TAB_PROFILE = 3;
const TAB_CONTACTS = 4; const TAB_CONTACTS = 4;
const TAB_ADVANCED = 5; const TAB_ADVANCED = 5;
const TAB_MEDIA = 6;
private static function batchActions() private static function batchActions()
{ {
@ -372,7 +373,7 @@ class Contact extends BaseModule
} }
if ($cmd === 'posts') { if ($cmd === 'posts') {
return self::getPostsHTML($a, $contact_id); return self::getPostsHTML($contact_id);
} }
if ($cmd === 'conversations') { if ($cmd === 'conversations') {
@ -913,6 +914,14 @@ class Contact extends BaseModule
'id' => 'posts-tab', 'id' => 'posts-tab',
'accesskey' => 'p', 'accesskey' => 'p',
], ],
[
'label' => DI::l10n()->t('Media'),
'url' => 'contact/' . $pcid . '/media',
'sel' => (($active_tab == self::TAB_MEDIA) ? 'active' : ''),
'title' => DI::l10n()->t('Posts containing media objects'),
'id' => 'media-tab',
'accesskey' => 'd',
],
[ [
'label' => DI::l10n()->t('Profile'), 'label' => DI::l10n()->t('Profile'),
'url' => 'contact/' . $cid, 'url' => 'contact/' . $cid,
@ -981,7 +990,7 @@ class Contact extends BaseModule
return $o; return $o;
} }
private static function getPostsHTML($a, $contact_id) private static function getPostsHTML(int $contact_id)
{ {
$contact = DBA::selectFirst('contact', ['uid', 'url', 'id'], ['id' => $contact_id, 'deleted' => false]); $contact = DBA::selectFirst('contact', ['uid', 'url', 'id'], ['id' => $contact_id, 'deleted' => false]);

View file

@ -0,0 +1,54 @@
<?php
/**
* @copyright Copyright (C) 2010-2021, the Friendica project
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
*/
namespace Friendica\Module\Contact;
use Friendica\BaseModule;
use Friendica\Content\Widget;
use Friendica\DI;
use Friendica\Model;
use Friendica\Model\Contact as ModelContact;
use Friendica\Module\Contact;
use Friendica\Network\HTTPException\BadRequestException;
/**
* GUI for media posts of a contact
*/
class Media extends BaseModule
{
public static function content(array $parameters = [])
{
$cid = $parameters['id'];
$contact = Model\Contact::selectFirst([], ['id' => $cid]);
if (empty($contact)) {
throw new BadRequestException(DI::l10n()->t('Contact not found.'));
}
DI::page()['aside'] = Widget\VCard::getHTML($contact);
$o = Contact::getTabsHTML($contact, Contact::TAB_MEDIA);
$o .= ModelContact::getPostsFromUrl($contact['url'], false, 0, 0, true);
return $o;
}
}

View file

@ -0,0 +1,53 @@
<?php
/**
* @copyright Copyright (C) 2010-2021, the Friendica project
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
*/
namespace Friendica\Module\Profile;
use Friendica\DI;
use Friendica\Model\Contact;
use Friendica\Model\Profile as ProfileModel;
use Friendica\Module\BaseProfile;
use Friendica\Network\HTTPException;
class Media extends BaseProfile
{
public static function content(array $parameters = [])
{
$a = DI::app();
$profile = ProfileModel::load($a, $parameters['nickname']);
if (empty($profile)) {
throw new HTTPException\NotFoundException(DI::l10n()->t('User not found.'));
}
if (!$profile['net-publish']) {
DI::page()['htmlhead'] .= '<meta content="noindex, noarchive" name="robots" />' . "\n";
}
$is_owner = local_user() == $profile['uid'];
$o = self::getTabsHTML($a, 'media', $is_owner, $profile['nickname'], $profile['hide-friends']);
$o .= Contact::getPostsFromUrl($profile['url'], false, 0, 0, true);
return $o;
}
}

View file

@ -37,6 +37,7 @@ $profileRoutes = [
'/contacts/common' => [Module\Profile\Common::class, [R::GET]], '/contacts/common' => [Module\Profile\Common::class, [R::GET]],
'/contacts[/{type}]' => [Module\Profile\Contacts::class, [R::GET]], '/contacts[/{type}]' => [Module\Profile\Contacts::class, [R::GET]],
'/status[/{category}[/{date1}[/{date2}]]]' => [Module\Profile\Status::class, [R::GET]], '/status[/{category}[/{date1}[/{date2}]]]' => [Module\Profile\Status::class, [R::GET]],
'/media' => [Module\Profile\Media::class, [R::GET]],
]; ];
return [ return [
@ -237,6 +238,7 @@ return [
'/{id:\d+}/contacts[/{type}]' => [Module\Contact\Contacts::class, [R::GET]], '/{id:\d+}/contacts[/{type}]' => [Module\Contact\Contacts::class, [R::GET]],
'/{id:\d+}/drop' => [Module\Contact::class, [R::GET]], '/{id:\d+}/drop' => [Module\Contact::class, [R::GET]],
'/{id:\d+}/ignore' => [Module\Contact::class, [R::GET]], '/{id:\d+}/ignore' => [Module\Contact::class, [R::GET]],
'/{id:\d+}/media' => [Module\Contact\Media::class, [R::GET]],
'/{id:\d+}/poke' => [Module\Contact\Poke::class, [R::GET, R::POST]], '/{id:\d+}/poke' => [Module\Contact\Poke::class, [R::GET, R::POST]],
'/{id:\d+}/posts' => [Module\Contact::class, [R::GET]], '/{id:\d+}/posts' => [Module\Contact::class, [R::GET]],
'/{id:\d+}/revoke' => [Module\Contact\Revoke::class, [R::GET, R::POST]], '/{id:\d+}/revoke' => [Module\Contact\Revoke::class, [R::GET, R::POST]],

View file

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: 2021.12-dev\n" "Project-Id-Version: 2021.12-dev\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-10-02 13:56-0400\n" "POT-Creation-Date: 2021-10-02 19:18+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -311,7 +311,7 @@ msgstr ""
#: mod/wallmessage.php:96 mod/wallmessage.php:120 src/Module/Attach.php:55 #: mod/wallmessage.php:96 mod/wallmessage.php:120 src/Module/Attach.php:55
#: src/Module/BaseApi.php:79 src/Module/BaseApi.php:88 #: src/Module/BaseApi.php:79 src/Module/BaseApi.php:88
#: src/Module/BaseApi.php:97 src/Module/BaseApi.php:106 #: src/Module/BaseApi.php:97 src/Module/BaseApi.php:106
#: src/Module/BaseNotifications.php:88 src/Module/Contact.php:356 #: src/Module/BaseNotifications.php:88 src/Module/Contact.php:357
#: src/Module/Contact/Advanced.php:44 src/Module/Delegation.php:118 #: src/Module/Contact/Advanced.php:44 src/Module/Delegation.php:118
#: src/Module/FollowConfirm.php:16 src/Module/FriendSuggest.php:44 #: src/Module/FollowConfirm.php:16 src/Module/FriendSuggest.php:44
#: src/Module/Group.php:45 src/Module/Group.php:90 src/Module/Invite.php:41 #: src/Module/Group.php:45 src/Module/Group.php:90 src/Module/Invite.php:41
@ -343,12 +343,11 @@ msgid "Access denied."
msgstr "" msgstr ""
#: mod/cal.php:61 mod/cal.php:78 mod/photos.php:69 mod/photos.php:143 #: mod/cal.php:61 mod/cal.php:78 mod/photos.php:69 mod/photos.php:143
#: mod/photos.php:824 mod/videos.php:49 mod/videos.php:70 mod/videos.php:111 #: mod/photos.php:824 src/Model/Profile.php:228 src/Module/HCard.php:52
#: src/Model/Profile.php:228 src/Module/HCard.php:52
#: src/Module/Profile/Common.php:41 src/Module/Profile/Common.php:52 #: src/Module/Profile/Common.php:41 src/Module/Profile/Common.php:52
#: src/Module/Profile/Contacts.php:40 src/Module/Profile/Contacts.php:50 #: src/Module/Profile/Contacts.php:40 src/Module/Profile/Contacts.php:50
#: src/Module/Profile/Status.php:58 src/Module/Register.php:256 #: src/Module/Profile/Media.php:38 src/Module/Profile/Status.php:58
#: src/Module/RemoteFollow.php:49 #: src/Module/Register.php:256 src/Module/RemoteFollow.php:49
msgid "User not found." msgid "User not found."
msgstr "" msgstr ""
@ -359,8 +358,8 @@ msgid "Access to this profile has been restricted."
msgstr "" msgstr ""
#: mod/cal.php:251 mod/events.php:422 src/Content/Nav.php:194 #: mod/cal.php:251 mod/events.php:422 src/Content/Nav.php:194
#: src/Content/Nav.php:258 src/Module/BaseProfile.php:85 #: src/Content/Nav.php:258 src/Module/BaseProfile.php:84
#: src/Module/BaseProfile.php:96 view/theme/frio/theme.php:230 #: src/Module/BaseProfile.php:95 view/theme/frio/theme.php:230
#: view/theme/frio/theme.php:234 #: view/theme/frio/theme.php:234
msgid "Events" msgid "Events"
msgstr "" msgstr ""
@ -419,7 +418,7 @@ msgstr ""
msgid "calendar" msgid "calendar"
msgstr "" msgstr ""
#: mod/display.php:165 mod/photos.php:828 mod/videos.php:115 #: mod/display.php:165 mod/photos.php:828
#: src/Module/Conversation/Community.php:176 src/Module/Debug/Probe.php:39 #: src/Module/Conversation/Community.php:176 src/Module/Debug/Probe.php:39
#: src/Module/Debug/WebFinger.php:38 src/Module/Directory.php:49 #: src/Module/Debug/WebFinger.php:38 src/Module/Directory.php:49
#: src/Module/Search/Index.php:50 src/Module/Search/Index.php:55 #: src/Module/Search/Index.php:50 src/Module/Search/Index.php:55
@ -553,7 +552,7 @@ msgstr ""
#: mod/editpost.php:130 mod/fbrowser.php:105 mod/fbrowser.php:134 #: mod/editpost.php:130 mod/fbrowser.php:105 mod/fbrowser.php:134
#: mod/follow.php:144 mod/photos.php:1026 mod/photos.php:1135 mod/tagrm.php:37 #: mod/follow.php:144 mod/photos.php:1026 mod/photos.php:1135 mod/tagrm.php:37
#: mod/tagrm.php:129 mod/unfollow.php:97 src/Content/Conversation.php:373 #: mod/tagrm.php:129 mod/unfollow.php:97 src/Content/Conversation.php:373
#: src/Module/Contact.php:439 src/Module/Contact/Revoke.php:99 #: src/Module/Contact.php:440 src/Module/Contact/Revoke.php:99
#: src/Module/RemoteFollow.php:116 #: src/Module/RemoteFollow.php:116
msgid "Cancel" msgid "Cancel"
msgstr "" msgstr ""
@ -639,7 +638,7 @@ msgstr ""
#: mod/events.php:568 src/Content/Widget/VCard.php:98 src/Model/Event.php:86 #: mod/events.php:568 src/Content/Widget/VCard.php:98 src/Model/Event.php:86
#: src/Model/Event.php:113 src/Model/Event.php:483 src/Model/Event.php:969 #: src/Model/Event.php:113 src/Model/Event.php:483 src/Model/Event.php:969
#: src/Model/Profile.php:367 src/Module/Contact.php:625 #: src/Model/Profile.php:367 src/Module/Contact.php:626
#: src/Module/Directory.php:150 src/Module/Notifications/Introductions.php:166 #: src/Module/Directory.php:150 src/Module/Notifications/Introductions.php:166
#: src/Module/Profile/Profile.php:194 #: src/Module/Profile/Profile.php:194
msgid "Location:" msgid "Location:"
@ -656,7 +655,7 @@ msgstr ""
#: mod/events.php:580 mod/message.php:204 mod/message.php:367 #: mod/events.php:580 mod/message.php:204 mod/message.php:367
#: mod/photos.php:947 mod/photos.php:1048 mod/photos.php:1336 #: mod/photos.php:947 mod/photos.php:1048 mod/photos.php:1336
#: mod/photos.php:1377 mod/photos.php:1433 mod/photos.php:1507 #: mod/photos.php:1377 mod/photos.php:1433 mod/photos.php:1507
#: src/Module/Admin/Item/Source.php:65 src/Module/Contact.php:583 #: src/Module/Admin/Item/Source.php:65 src/Module/Contact.php:584
#: src/Module/Contact/Advanced.php:133 src/Module/Contact/Poke.php:158 #: src/Module/Contact/Advanced.php:133 src/Module/Contact/Poke.php:158
#: src/Module/Debug/ActivityPubConversion.php:141 #: src/Module/Debug/ActivityPubConversion.php:141
#: src/Module/Debug/Babel.php:313 src/Module/Debug/Localtime.php:64 #: src/Module/Debug/Babel.php:313 src/Module/Debug/Localtime.php:64
@ -675,7 +674,7 @@ msgstr ""
msgid "Basic" msgid "Basic"
msgstr "" msgstr ""
#: mod/events.php:582 src/Module/Admin/Site.php:505 src/Module/Contact.php:934 #: mod/events.php:582 src/Module/Admin/Site.php:505 src/Module/Contact.php:943
#: src/Module/Profile/Profile.php:249 #: src/Module/Profile/Profile.php:249
msgid "Advanced" msgid "Advanced"
msgstr "" msgstr ""
@ -733,13 +732,13 @@ msgid "Your Identity Address:"
msgstr "" msgstr ""
#: mod/follow.php:141 mod/unfollow.php:100 #: mod/follow.php:141 mod/unfollow.php:100
#: src/Module/Admin/Blocklist/Contact.php:100 src/Module/Contact.php:621 #: src/Module/Admin/Blocklist/Contact.php:100 src/Module/Contact.php:622
#: src/Module/Notifications/Introductions.php:108 #: src/Module/Notifications/Introductions.php:108
#: src/Module/Notifications/Introductions.php:177 #: src/Module/Notifications/Introductions.php:177
msgid "Profile URL" msgid "Profile URL"
msgstr "" msgstr ""
#: mod/follow.php:142 src/Module/Contact.php:633 #: mod/follow.php:142 src/Module/Contact.php:634
#: src/Module/Notifications/Introductions.php:170 #: src/Module/Notifications/Introductions.php:170
#: src/Module/Profile/Profile.php:207 #: src/Module/Profile/Profile.php:207
msgid "Tags:" msgid "Tags:"
@ -755,7 +754,7 @@ msgid "Add a personal note:"
msgstr "" msgstr ""
#: mod/follow.php:163 mod/unfollow.php:109 src/Module/BaseProfile.php:59 #: mod/follow.php:163 mod/unfollow.php:109 src/Module/BaseProfile.php:59
#: src/Module/Contact.php:912 #: src/Module/Contact.php:913
msgid "Status Messages and Posts" msgid "Status Messages and Posts"
msgstr "" msgstr ""
@ -1054,7 +1053,7 @@ msgid_plural "%d messages"
msgstr[0] "" msgstr[0] ""
msgstr[1] "" msgstr[1] ""
#: mod/notes.php:51 src/Module/BaseProfile.php:107 #: mod/notes.php:51 src/Module/BaseProfile.php:106
msgid "Personal Notes" msgid "Personal Notes"
msgstr "" msgstr ""
@ -1193,7 +1192,7 @@ msgstr ""
msgid "No photos selected" msgid "No photos selected"
msgstr "" msgstr ""
#: mod/photos.php:902 mod/videos.php:166 #: mod/photos.php:902
msgid "Access to this item is restricted." msgid "Access to this item is restricted."
msgstr "" msgstr ""
@ -1318,7 +1317,7 @@ msgid "Rotate CCW (left)"
msgstr "" msgstr ""
#: mod/photos.php:1374 mod/photos.php:1430 mod/photos.php:1504 #: mod/photos.php:1374 mod/photos.php:1430 mod/photos.php:1504
#: src/Module/Contact.php:1064 src/Module/Item/Compose.php:148 #: src/Module/Contact.php:1073 src/Module/Item/Compose.php:148
#: src/Object/Post.php:960 #: src/Object/Post.php:960
msgid "This is you" msgid "This is you"
msgstr "" msgstr ""
@ -1334,8 +1333,8 @@ msgstr ""
#: mod/photos.php:1466 mod/settings.php:573 src/Content/Conversation.php:616 #: mod/photos.php:1466 mod/settings.php:573 src/Content/Conversation.php:616
#: src/Module/Admin/Users/Active.php:139 src/Module/Admin/Users/Blocked.php:140 #: src/Module/Admin/Users/Active.php:139 src/Module/Admin/Users/Blocked.php:140
#: src/Module/Admin/Users/Index.php:153 src/Module/Contact.php:867 #: src/Module/Admin/Users/Index.php:153 src/Module/Contact.php:868
#: src/Module/Contact.php:1162 #: src/Module/Contact.php:1171
msgid "Delete" msgid "Delete"
msgstr "" msgstr ""
@ -1359,7 +1358,7 @@ msgstr ""
msgid "Map" msgid "Map"
msgstr "" msgstr ""
#: mod/photos.php:1623 mod/videos.php:243 #: mod/photos.php:1623
msgid "View Album" msgid "View Album"
msgstr "" msgstr ""
@ -1382,8 +1381,8 @@ msgstr ""
#: mod/redir.php:55 mod/redir.php:129 src/Module/Contact/Advanced.php:54 #: mod/redir.php:55 mod/redir.php:129 src/Module/Contact/Advanced.php:54
#: src/Module/Contact/Advanced.php:105 src/Module/Contact/Contacts.php:36 #: src/Module/Contact/Advanced.php:105 src/Module/Contact/Contacts.php:36
#: src/Module/FriendSuggest.php:54 src/Module/FriendSuggest.php:93 #: src/Module/Contact/Media.php:43 src/Module/FriendSuggest.php:54
#: src/Module/Group.php:105 #: src/Module/FriendSuggest.php:93 src/Module/Group.php:105
msgid "Contact not found." msgid "Contact not found."
msgstr "" msgstr ""
@ -2309,22 +2308,6 @@ msgstr ""
msgid "Unable to unfollow this contact, please contact your administrator" msgid "Unable to unfollow this contact, please contact your administrator"
msgstr "" msgstr ""
#: mod/videos.php:120
msgid "No videos selected"
msgstr ""
#: mod/videos.php:236
msgid "View Video"
msgstr ""
#: mod/videos.php:251
msgid "Recent Videos"
msgstr ""
#: mod/videos.php:253
msgid "Upload New Videos"
msgstr ""
#: mod/wall_attach.php:42 mod/wall_attach.php:49 mod/wall_attach.php:87 #: mod/wall_attach.php:42 mod/wall_attach.php:49 mod/wall_attach.php:87
#: mod/wall_upload.php:52 mod/wall_upload.php:63 mod/wall_upload.php:108 #: mod/wall_upload.php:52 mod/wall_upload.php:63 mod/wall_upload.php:108
#: mod/wall_upload.php:159 mod/wall_upload.php:162 #: mod/wall_upload.php:159 mod/wall_upload.php:162
@ -2414,16 +2397,16 @@ msgid "All contacts"
msgstr "" msgstr ""
#: src/BaseModule.php:212 src/Content/Widget.php:238 src/Core/ACL.php:195 #: src/BaseModule.php:212 src/Content/Widget.php:238 src/Core/ACL.php:195
#: src/Module/Contact.php:833 src/Module/PermissionTooltip.php:77 #: src/Module/Contact.php:834 src/Module/PermissionTooltip.php:77
#: src/Module/PermissionTooltip.php:99 #: src/Module/PermissionTooltip.php:99
msgid "Followers" msgid "Followers"
msgstr "" msgstr ""
#: src/BaseModule.php:217 src/Content/Widget.php:239 src/Module/Contact.php:834 #: src/BaseModule.php:217 src/Content/Widget.php:239 src/Module/Contact.php:835
msgid "Following" msgid "Following"
msgstr "" msgstr ""
#: src/BaseModule.php:222 src/Content/Widget.php:240 src/Module/Contact.php:835 #: src/BaseModule.php:222 src/Content/Widget.php:240 src/Module/Contact.php:836
msgid "Mutual friends" msgid "Mutual friends"
msgstr "" msgstr ""
@ -3051,13 +3034,13 @@ msgstr ""
#: src/Content/Item.php:449 src/Module/Admin/Blocklist/Contact.php:84 #: src/Content/Item.php:449 src/Module/Admin/Blocklist/Contact.php:84
#: src/Module/Admin/Users/Active.php:140 src/Module/Admin/Users/Index.php:154 #: src/Module/Admin/Users/Active.php:140 src/Module/Admin/Users/Index.php:154
#: src/Module/Contact.php:604 src/Module/Contact.php:865 #: src/Module/Contact.php:605 src/Module/Contact.php:866
#: src/Module/Contact.php:1135 #: src/Module/Contact.php:1144
msgid "Block" msgid "Block"
msgstr "" msgstr ""
#: src/Content/Item.php:450 src/Module/Contact.php:605 #: src/Content/Item.php:450 src/Module/Contact.php:606
#: src/Module/Contact.php:866 src/Module/Contact.php:1143 #: src/Module/Contact.php:867 src/Module/Contact.php:1152
#: src/Module/Notifications/Introductions.php:113 #: src/Module/Notifications/Introductions.php:113
#: src/Module/Notifications/Introductions.php:185 #: src/Module/Notifications/Introductions.php:185
#: src/Module/Notifications/Notification.php:59 #: src/Module/Notifications/Notification.php:59
@ -3106,7 +3089,7 @@ msgid "Sign in"
msgstr "" msgstr ""
#: src/Content/Nav.php:190 src/Module/BaseProfile.php:56 #: src/Content/Nav.php:190 src/Module/BaseProfile.php:56
#: src/Module/Contact.php:636 src/Module/Contact.php:901 #: src/Module/Contact.php:637 src/Module/Contact.php:902
#: src/Module/Settings/TwoFactor/Index.php:112 view/theme/frio/theme.php:226 #: src/Module/Settings/TwoFactor/Index.php:112 view/theme/frio/theme.php:226
msgid "Status" msgid "Status"
msgstr "" msgstr ""
@ -3117,8 +3100,8 @@ msgid "Your posts and conversations"
msgstr "" msgstr ""
#: src/Content/Nav.php:191 src/Module/BaseProfile.php:48 #: src/Content/Nav.php:191 src/Module/BaseProfile.php:48
#: src/Module/BaseSettings.php:57 src/Module/Contact.php:638 #: src/Module/BaseSettings.php:57 src/Module/Contact.php:639
#: src/Module/Contact.php:917 src/Module/Profile/Profile.php:241 #: src/Module/Contact.php:926 src/Module/Profile/Profile.php:241
#: src/Module/Welcome.php:57 view/theme/frio/theme.php:227 #: src/Module/Welcome.php:57 view/theme/frio/theme.php:227
msgid "Profile" msgid "Profile"
msgstr "" msgstr ""
@ -3203,9 +3186,9 @@ msgid "Tags"
msgstr "" msgstr ""
#: src/Content/Nav.php:235 src/Content/Nav.php:294 #: src/Content/Nav.php:235 src/Content/Nav.php:294
#: src/Content/Text/HTML.php:902 src/Module/BaseProfile.php:126 #: src/Content/Text/HTML.php:902 src/Module/BaseProfile.php:125
#: src/Module/BaseProfile.php:129 src/Module/Contact.php:836 #: src/Module/BaseProfile.php:128 src/Module/Contact.php:837
#: src/Module/Contact.php:924 view/theme/frio/theme.php:237 #: src/Module/Contact.php:933 view/theme/frio/theme.php:237
msgid "Contacts" msgid "Contacts"
msgstr "" msgstr ""
@ -3217,8 +3200,8 @@ msgstr ""
msgid "Conversations on this and other servers" msgid "Conversations on this and other servers"
msgstr "" msgstr ""
#: src/Content/Nav.php:258 src/Module/BaseProfile.php:88 #: src/Content/Nav.php:258 src/Module/BaseProfile.php:87
#: src/Module/BaseProfile.php:99 view/theme/frio/theme.php:234 #: src/Module/BaseProfile.php:98 view/theme/frio/theme.php:234
msgid "Events and Calendar" msgid "Events and Calendar"
msgstr "" msgstr ""
@ -3435,7 +3418,7 @@ msgstr ""
msgid "Examples: Robert Morgenstein, Fishing" msgid "Examples: Robert Morgenstein, Fishing"
msgstr "" msgstr ""
#: src/Content/Widget.php:78 src/Module/Contact.php:857 #: src/Content/Widget.php:78 src/Module/Contact.php:858
#: src/Module/Directory.php:99 view/theme/vier/theme.php:174 #: src/Module/Directory.php:99 view/theme/vier/theme.php:174
msgid "Find" msgid "Find"
msgstr "" msgstr ""
@ -3462,7 +3445,7 @@ msgid "Local Directory"
msgstr "" msgstr ""
#: src/Content/Widget.php:214 src/Model/Group.php:535 #: src/Content/Widget.php:214 src/Model/Group.php:535
#: src/Module/Contact.php:820 src/Module/Welcome.php:76 #: src/Module/Contact.php:821 src/Module/Welcome.php:76
msgid "Groups" msgid "Groups"
msgstr "" msgstr ""
@ -3474,7 +3457,7 @@ msgstr ""
msgid "Relationships" msgid "Relationships"
msgstr "" msgstr ""
#: src/Content/Widget.php:247 src/Module/Contact.php:772 #: src/Content/Widget.php:247 src/Module/Contact.php:773
#: src/Module/Group.php:292 #: src/Module/Group.php:292
msgid "All Contacts" msgid "All Contacts"
msgstr "" msgstr ""
@ -3518,7 +3501,7 @@ msgstr ""
msgid "Organisations" msgid "Organisations"
msgstr "" msgstr ""
#: src/Content/Widget.php:529 src/Model/Contact.php:1504 #: src/Content/Widget.php:529 src/Model/Contact.php:1509
msgid "News" msgid "News"
msgstr "" msgstr ""
@ -3573,12 +3556,12 @@ msgid "More Trending Tags"
msgstr "" msgstr ""
#: src/Content/Widget/VCard.php:96 src/Model/Profile.php:372 #: src/Content/Widget/VCard.php:96 src/Model/Profile.php:372
#: src/Module/Contact.php:627 src/Module/Profile/Profile.php:176 #: src/Module/Contact.php:628 src/Module/Profile/Profile.php:176
msgid "XMPP:" msgid "XMPP:"
msgstr "" msgstr ""
#: src/Content/Widget/VCard.php:97 src/Model/Profile.php:373 #: src/Content/Widget/VCard.php:97 src/Model/Profile.php:373
#: src/Module/Contact.php:629 src/Module/Profile/Profile.php:180 #: src/Module/Contact.php:630 src/Module/Profile/Profile.php:180
msgid "Matrix:" msgid "Matrix:"
msgstr "" msgstr ""
@ -4396,71 +4379,71 @@ msgstr ""
msgid "Approve" msgid "Approve"
msgstr "" msgstr ""
#: src/Model/Contact.php:1500 #: src/Model/Contact.php:1505
msgid "Organisation" msgid "Organisation"
msgstr "" msgstr ""
#: src/Model/Contact.php:1508 #: src/Model/Contact.php:1513
msgid "Forum" msgid "Forum"
msgstr "" msgstr ""
#: src/Model/Contact.php:2364 #: src/Model/Contact.php:2369
msgid "Disallowed profile URL." msgid "Disallowed profile URL."
msgstr "" msgstr ""
#: src/Model/Contact.php:2369 src/Module/Friendica.php:81 #: src/Model/Contact.php:2374 src/Module/Friendica.php:81
msgid "Blocked domain" msgid "Blocked domain"
msgstr "" msgstr ""
#: src/Model/Contact.php:2374 #: src/Model/Contact.php:2379
msgid "Connect URL missing." msgid "Connect URL missing."
msgstr "" msgstr ""
#: src/Model/Contact.php:2383 #: src/Model/Contact.php:2388
msgid "" msgid ""
"The contact could not be added. Please check the relevant network " "The contact could not be added. Please check the relevant network "
"credentials in your Settings -> Social Networks page." "credentials in your Settings -> Social Networks page."
msgstr "" msgstr ""
#: src/Model/Contact.php:2420 #: src/Model/Contact.php:2425
msgid "The profile address specified does not provide adequate information." msgid "The profile address specified does not provide adequate information."
msgstr "" msgstr ""
#: src/Model/Contact.php:2422 #: src/Model/Contact.php:2427
msgid "No compatible communication protocols or feeds were discovered." msgid "No compatible communication protocols or feeds were discovered."
msgstr "" msgstr ""
#: src/Model/Contact.php:2425 #: src/Model/Contact.php:2430
msgid "An author or name was not found." msgid "An author or name was not found."
msgstr "" msgstr ""
#: src/Model/Contact.php:2428 #: src/Model/Contact.php:2433
msgid "No browser URL could be matched to this address." msgid "No browser URL could be matched to this address."
msgstr "" msgstr ""
#: src/Model/Contact.php:2431 #: src/Model/Contact.php:2436
msgid "" msgid ""
"Unable to match @-style Identity Address with a known protocol or email " "Unable to match @-style Identity Address with a known protocol or email "
"contact." "contact."
msgstr "" msgstr ""
#: src/Model/Contact.php:2432 #: src/Model/Contact.php:2437
msgid "Use mailto: in front of address to force email check." msgid "Use mailto: in front of address to force email check."
msgstr "" msgstr ""
#: src/Model/Contact.php:2438 #: src/Model/Contact.php:2443
msgid "" msgid ""
"The profile address specified belongs to a network which has been disabled " "The profile address specified belongs to a network which has been disabled "
"on this site." "on this site."
msgstr "" msgstr ""
#: src/Model/Contact.php:2443 #: src/Model/Contact.php:2448
msgid "" msgid ""
"Limited profile. This person will be unable to receive direct/personal " "Limited profile. This person will be unable to receive direct/personal "
"notifications from you." "notifications from you."
msgstr "" msgstr ""
#: src/Model/Contact.php:2502 #: src/Model/Contact.php:2507
msgid "Unable to retrieve contact information." msgid "Unable to retrieve contact information."
msgstr "" msgstr ""
@ -4730,7 +4713,7 @@ msgstr ""
msgid "Homepage:" msgid "Homepage:"
msgstr "" msgstr ""
#: src/Model/Profile.php:371 src/Module/Contact.php:631 #: src/Model/Profile.php:371 src/Module/Contact.php:632
#: src/Module/Notifications/Introductions.php:168 #: src/Module/Notifications/Introductions.php:168
msgid "About:" msgid "About:"
msgstr "" msgstr ""
@ -5131,8 +5114,8 @@ msgstr ""
msgid "List of active accounts" msgid "List of active accounts"
msgstr "" msgstr ""
#: src/Module/Admin/BaseUsers.php:66 src/Module/Contact.php:780 #: src/Module/Admin/BaseUsers.php:66 src/Module/Contact.php:781
#: src/Module/Contact.php:840 #: src/Module/Contact.php:841
msgid "Pending" msgid "Pending"
msgstr "" msgstr ""
@ -5140,8 +5123,8 @@ msgstr ""
msgid "List of pending registrations" msgid "List of pending registrations"
msgstr "" msgstr ""
#: src/Module/Admin/BaseUsers.php:74 src/Module/Contact.php:788 #: src/Module/Admin/BaseUsers.php:74 src/Module/Contact.php:789
#: src/Module/Contact.php:841 #: src/Module/Contact.php:842
msgid "Blocked" msgid "Blocked"
msgstr "" msgstr ""
@ -5198,8 +5181,8 @@ msgstr ""
#: src/Module/Admin/Blocklist/Contact.php:85 #: src/Module/Admin/Blocklist/Contact.php:85
#: src/Module/Admin/Users/Blocked.php:142 src/Module/Admin/Users/Index.php:156 #: src/Module/Admin/Users/Blocked.php:142 src/Module/Admin/Users/Index.php:156
#: src/Module/Contact.php:604 src/Module/Contact.php:865 #: src/Module/Contact.php:605 src/Module/Contact.php:866
#: src/Module/Contact.php:1135 #: src/Module/Contact.php:1144
msgid "Unblock" msgid "Unblock"
msgstr "" msgstr ""
@ -6545,7 +6528,7 @@ msgid ""
"received." "received."
msgstr "" msgstr ""
#: src/Module/Admin/Site.php:609 src/Module/Contact.php:533 #: src/Module/Admin/Site.php:609 src/Module/Contact.php:534
#: src/Module/Settings/TwoFactor/Index.php:118 #: src/Module/Settings/TwoFactor/Index.php:118
msgid "Disabled" msgid "Disabled"
msgstr "" msgstr ""
@ -7116,8 +7099,8 @@ msgstr ""
msgid "Posts from %s can't be unshared" msgid "Posts from %s can't be unshared"
msgstr "" msgstr ""
#: src/Module/Api/Twitter/ContactEndpoint.php:63 src/Module/Contact.php:371 #: src/Module/Api/Twitter/ContactEndpoint.php:63 src/Module/Contact.php:372
#: src/Module/Contact.php:386 #: src/Module/Contact.php:387
msgid "Contact not found" msgid "Contact not found"
msgstr "" msgstr ""
@ -7238,23 +7221,28 @@ msgstr ""
msgid "Too Many Requests" msgid "Too Many Requests"
msgstr "" msgstr ""
#: src/Module/BaseProfile.php:51 src/Module/Contact.php:920 #: src/Module/BaseProfile.php:51 src/Module/Contact.php:929
msgid "Profile Details" msgid "Profile Details"
msgstr "" msgstr ""
#: src/Module/BaseProfile.php:110 #: src/Module/BaseProfile.php:72 src/Module/BaseProfile.php:75
#: src/Module/Contact.php:918
msgid "Media"
msgstr ""
#: src/Module/BaseProfile.php:109
msgid "Only You Can See This" msgid "Only You Can See This"
msgstr "" msgstr ""
#: src/Module/BaseProfile.php:115 src/Module/Profile/Schedule.php:82 #: src/Module/BaseProfile.php:114 src/Module/Profile/Schedule.php:82
msgid "Scheduled Posts" msgid "Scheduled Posts"
msgstr "" msgstr ""
#: src/Module/BaseProfile.php:118 #: src/Module/BaseProfile.php:117
msgid "Posts that are scheduled for publishing" msgid "Posts that are scheduled for publishing"
msgstr "" msgstr ""
#: src/Module/BaseProfile.php:137 src/Module/BaseProfile.php:140 #: src/Module/BaseProfile.php:136 src/Module/BaseProfile.php:139
msgid "Tips for New Members" msgid "Tips for New Members"
msgstr "" msgstr ""
@ -7305,374 +7293,378 @@ msgstr ""
msgid "The post was created" msgid "The post was created"
msgstr "" msgstr ""
#: src/Module/Contact.php:97 #: src/Module/Contact.php:98
#, php-format #, php-format
msgid "%d contact edited." msgid "%d contact edited."
msgid_plural "%d contacts edited." msgid_plural "%d contacts edited."
msgstr[0] "" msgstr[0] ""
msgstr[1] "" msgstr[1] ""
#: src/Module/Contact.php:122 #: src/Module/Contact.php:123
msgid "Could not access contact record." msgid "Could not access contact record."
msgstr "" msgstr ""
#: src/Module/Contact.php:158 #: src/Module/Contact.php:159
msgid "Failed to update contact record." msgid "Failed to update contact record."
msgstr "" msgstr ""
#: src/Module/Contact.php:403 #: src/Module/Contact.php:404
msgid "You can't block yourself" msgid "You can't block yourself"
msgstr "" msgstr ""
#: src/Module/Contact.php:409 #: src/Module/Contact.php:410
msgid "Contact has been blocked" msgid "Contact has been blocked"
msgstr "" msgstr ""
#: src/Module/Contact.php:409 #: src/Module/Contact.php:410
msgid "Contact has been unblocked" msgid "Contact has been unblocked"
msgstr "" msgstr ""
#: src/Module/Contact.php:417 #: src/Module/Contact.php:418
msgid "You can't ignore yourself" msgid "You can't ignore yourself"
msgstr "" msgstr ""
#: src/Module/Contact.php:423 #: src/Module/Contact.php:424
msgid "Contact has been ignored" msgid "Contact has been ignored"
msgstr "" msgstr ""
#: src/Module/Contact.php:423 #: src/Module/Contact.php:424
msgid "Contact has been unignored" msgid "Contact has been unignored"
msgstr "" msgstr ""
#: src/Module/Contact.php:436 #: src/Module/Contact.php:437
msgid "Drop contact" msgid "Drop contact"
msgstr "" msgstr ""
#: src/Module/Contact.php:437 src/Module/Contact.php:861 #: src/Module/Contact.php:438 src/Module/Contact.php:862
msgid "Do you really want to delete this contact?" msgid "Do you really want to delete this contact?"
msgstr "" msgstr ""
#: src/Module/Contact.php:438 src/Module/Contact/Revoke.php:98 #: src/Module/Contact.php:439 src/Module/Contact/Revoke.php:98
#: src/Module/Notifications/Introductions.php:123 #: src/Module/Notifications/Introductions.php:123
#: src/Module/OAuth/Acknowledge.php:47 src/Module/Register.php:117 #: src/Module/OAuth/Acknowledge.php:47 src/Module/Register.php:117
msgid "Yes" msgid "Yes"
msgstr "" msgstr ""
#: src/Module/Contact.php:454 #: src/Module/Contact.php:455
msgid "Contact has been removed." msgid "Contact has been removed."
msgstr "" msgstr ""
#: src/Module/Contact.php:475 #: src/Module/Contact.php:476
#, php-format #, php-format
msgid "You are mutual friends with %s" msgid "You are mutual friends with %s"
msgstr "" msgstr ""
#: src/Module/Contact.php:479 #: src/Module/Contact.php:480
#, php-format #, php-format
msgid "You are sharing with %s" msgid "You are sharing with %s"
msgstr "" msgstr ""
#: src/Module/Contact.php:483 #: src/Module/Contact.php:484
#, php-format #, php-format
msgid "%s is sharing with you" msgid "%s is sharing with you"
msgstr "" msgstr ""
#: src/Module/Contact.php:507 #: src/Module/Contact.php:508
msgid "Private communications are not available for this contact." msgid "Private communications are not available for this contact."
msgstr "" msgstr ""
#: src/Module/Contact.php:509 #: src/Module/Contact.php:510
msgid "Never" msgid "Never"
msgstr "" msgstr ""
#: src/Module/Contact.php:512 #: src/Module/Contact.php:513
msgid "(Update was not successful)" msgid "(Update was not successful)"
msgstr "" msgstr ""
#: src/Module/Contact.php:512 #: src/Module/Contact.php:513
msgid "(Update was successful)" msgid "(Update was successful)"
msgstr "" msgstr ""
#: src/Module/Contact.php:514 src/Module/Contact.php:1106 #: src/Module/Contact.php:515 src/Module/Contact.php:1115
msgid "Suggest friends" msgid "Suggest friends"
msgstr "" msgstr ""
#: src/Module/Contact.php:518 #: src/Module/Contact.php:519
#, php-format #, php-format
msgid "Network type: %s" msgid "Network type: %s"
msgstr "" msgstr ""
#: src/Module/Contact.php:523 #: src/Module/Contact.php:524
msgid "Communications lost with this contact!" msgid "Communications lost with this contact!"
msgstr "" msgstr ""
#: src/Module/Contact.php:529 #: src/Module/Contact.php:530
msgid "Fetch further information for feeds" msgid "Fetch further information for feeds"
msgstr "" msgstr ""
#: src/Module/Contact.php:531 #: src/Module/Contact.php:532
msgid "" msgid ""
"Fetch information like preview pictures, title and teaser from the feed " "Fetch information like preview pictures, title and teaser from the feed "
"item. You can activate this if the feed doesn't contain much text. Keywords " "item. You can activate this if the feed doesn't contain much text. Keywords "
"are taken from the meta header in the feed item and are posted as hash tags." "are taken from the meta header in the feed item and are posted as hash tags."
msgstr "" msgstr ""
#: src/Module/Contact.php:534 #: src/Module/Contact.php:535
msgid "Fetch information" msgid "Fetch information"
msgstr "" msgstr ""
#: src/Module/Contact.php:535 #: src/Module/Contact.php:536
msgid "Fetch keywords" msgid "Fetch keywords"
msgstr "" msgstr ""
#: src/Module/Contact.php:536 #: src/Module/Contact.php:537
msgid "Fetch information and keywords" msgid "Fetch information and keywords"
msgstr "" msgstr ""
#: src/Module/Contact.php:548 src/Module/Contact.php:552 #: src/Module/Contact.php:549 src/Module/Contact.php:553
#: src/Module/Contact.php:555 src/Module/Contact.php:559 #: src/Module/Contact.php:556 src/Module/Contact.php:560
msgid "No mirroring" msgid "No mirroring"
msgstr "" msgstr ""
#: src/Module/Contact.php:549 #: src/Module/Contact.php:550
msgid "Mirror as forwarded posting" msgid "Mirror as forwarded posting"
msgstr "" msgstr ""
#: src/Module/Contact.php:550 src/Module/Contact.php:556 #: src/Module/Contact.php:551 src/Module/Contact.php:557
#: src/Module/Contact.php:560 #: src/Module/Contact.php:561
msgid "Mirror as my own posting" msgid "Mirror as my own posting"
msgstr "" msgstr ""
#: src/Module/Contact.php:553 src/Module/Contact.php:557 #: src/Module/Contact.php:554 src/Module/Contact.php:558
msgid "Native reshare" msgid "Native reshare"
msgstr "" msgstr ""
#: src/Module/Contact.php:572 #: src/Module/Contact.php:573
msgid "Contact Information / Notes" msgid "Contact Information / Notes"
msgstr "" msgstr ""
#: src/Module/Contact.php:573 #: src/Module/Contact.php:574
msgid "Contact Settings" msgid "Contact Settings"
msgstr "" msgstr ""
#: src/Module/Contact.php:581 #: src/Module/Contact.php:582
msgid "Contact" msgid "Contact"
msgstr "" msgstr ""
#: src/Module/Contact.php:585 #: src/Module/Contact.php:586
msgid "Their personal note" msgid "Their personal note"
msgstr "" msgstr ""
#: src/Module/Contact.php:587 #: src/Module/Contact.php:588
msgid "Edit contact notes" msgid "Edit contact notes"
msgstr "" msgstr ""
#: src/Module/Contact.php:590 src/Module/Contact.php:1072 #: src/Module/Contact.php:591 src/Module/Contact.php:1081
#, php-format #, php-format
msgid "Visit %s's profile [%s]" msgid "Visit %s's profile [%s]"
msgstr "" msgstr ""
#: src/Module/Contact.php:591 #: src/Module/Contact.php:592
msgid "Block/Unblock contact" msgid "Block/Unblock contact"
msgstr "" msgstr ""
#: src/Module/Contact.php:592 #: src/Module/Contact.php:593
msgid "Ignore contact" msgid "Ignore contact"
msgstr "" msgstr ""
#: src/Module/Contact.php:593 #: src/Module/Contact.php:594
msgid "View conversations" msgid "View conversations"
msgstr "" msgstr ""
#: src/Module/Contact.php:598 #: src/Module/Contact.php:599
msgid "Last update:" msgid "Last update:"
msgstr "" msgstr ""
#: src/Module/Contact.php:600 #: src/Module/Contact.php:601
msgid "Update public posts" msgid "Update public posts"
msgstr "" msgstr ""
#: src/Module/Contact.php:602 src/Module/Contact.php:1116 #: src/Module/Contact.php:603 src/Module/Contact.php:1125
msgid "Update now" msgid "Update now"
msgstr "" msgstr ""
#: src/Module/Contact.php:605 src/Module/Contact.php:866 #: src/Module/Contact.php:606 src/Module/Contact.php:867
#: src/Module/Contact.php:1143 #: src/Module/Contact.php:1152
msgid "Unignore" msgid "Unignore"
msgstr "" msgstr ""
#: src/Module/Contact.php:609 #: src/Module/Contact.php:610
msgid "Currently blocked" msgid "Currently blocked"
msgstr "" msgstr ""
#: src/Module/Contact.php:610 #: src/Module/Contact.php:611
msgid "Currently ignored" msgid "Currently ignored"
msgstr "" msgstr ""
#: src/Module/Contact.php:611 #: src/Module/Contact.php:612
msgid "Currently archived" msgid "Currently archived"
msgstr "" msgstr ""
#: src/Module/Contact.php:612 #: src/Module/Contact.php:613
msgid "Awaiting connection acknowledge" msgid "Awaiting connection acknowledge"
msgstr "" msgstr ""
#: src/Module/Contact.php:613 src/Module/Notifications/Introductions.php:171 #: src/Module/Contact.php:614 src/Module/Notifications/Introductions.php:171
msgid "Hide this contact from others" msgid "Hide this contact from others"
msgstr "" msgstr ""
#: src/Module/Contact.php:613 #: src/Module/Contact.php:614
msgid "" msgid ""
"Replies/likes to your public posts <strong>may</strong> still be visible" "Replies/likes to your public posts <strong>may</strong> still be visible"
msgstr "" msgstr ""
#: src/Module/Contact.php:614 #: src/Module/Contact.php:615
msgid "Notification for new posts" msgid "Notification for new posts"
msgstr "" msgstr ""
#: src/Module/Contact.php:614 #: src/Module/Contact.php:615
msgid "Send a notification of every new post of this contact" msgid "Send a notification of every new post of this contact"
msgstr "" msgstr ""
#: src/Module/Contact.php:616 #: src/Module/Contact.php:617
msgid "Keyword Deny List" msgid "Keyword Deny List"
msgstr "" msgstr ""
#: src/Module/Contact.php:616 #: src/Module/Contact.php:617
msgid "" msgid ""
"Comma separated list of keywords that should not be converted to hashtags, " "Comma separated list of keywords that should not be converted to hashtags, "
"when \"Fetch information and keywords\" is selected" "when \"Fetch information and keywords\" is selected"
msgstr "" msgstr ""
#: src/Module/Contact.php:634 src/Module/Settings/TwoFactor/Index.php:132 #: src/Module/Contact.php:635 src/Module/Settings/TwoFactor/Index.php:132
msgid "Actions" msgid "Actions"
msgstr "" msgstr ""
#: src/Module/Contact.php:641 #: src/Module/Contact.php:642
msgid "Mirror postings from this contact" msgid "Mirror postings from this contact"
msgstr "" msgstr ""
#: src/Module/Contact.php:643 #: src/Module/Contact.php:644
msgid "" msgid ""
"Mark this contact as remote_self, this will cause friendica to repost new " "Mark this contact as remote_self, this will cause friendica to repost new "
"entries from this contact." "entries from this contact."
msgstr "" msgstr ""
#: src/Module/Contact.php:775 #: src/Module/Contact.php:776
msgid "Show all contacts" msgid "Show all contacts"
msgstr "" msgstr ""
#: src/Module/Contact.php:783 #: src/Module/Contact.php:784
msgid "Only show pending contacts" msgid "Only show pending contacts"
msgstr "" msgstr ""
#: src/Module/Contact.php:791 #: src/Module/Contact.php:792
msgid "Only show blocked contacts" msgid "Only show blocked contacts"
msgstr "" msgstr ""
#: src/Module/Contact.php:796 src/Module/Contact.php:843 #: src/Module/Contact.php:797 src/Module/Contact.php:844
#: src/Object/Post.php:309 #: src/Object/Post.php:309
msgid "Ignored" msgid "Ignored"
msgstr "" msgstr ""
#: src/Module/Contact.php:799 #: src/Module/Contact.php:800
msgid "Only show ignored contacts" msgid "Only show ignored contacts"
msgstr "" msgstr ""
#: src/Module/Contact.php:804 src/Module/Contact.php:844 #: src/Module/Contact.php:805 src/Module/Contact.php:845
msgid "Archived" msgid "Archived"
msgstr "" msgstr ""
#: src/Module/Contact.php:807 #: src/Module/Contact.php:808
msgid "Only show archived contacts" msgid "Only show archived contacts"
msgstr "" msgstr ""
#: src/Module/Contact.php:812 src/Module/Contact.php:842 #: src/Module/Contact.php:813 src/Module/Contact.php:843
msgid "Hidden" msgid "Hidden"
msgstr "" msgstr ""
#: src/Module/Contact.php:815 #: src/Module/Contact.php:816
msgid "Only show hidden contacts" msgid "Only show hidden contacts"
msgstr "" msgstr ""
#: src/Module/Contact.php:823 #: src/Module/Contact.php:824
msgid "Organize your contact groups" msgid "Organize your contact groups"
msgstr "" msgstr ""
#: src/Module/Contact.php:855 #: src/Module/Contact.php:856
msgid "Search your contacts" msgid "Search your contacts"
msgstr "" msgstr ""
#: src/Module/Contact.php:856 src/Module/Search/Index.php:194 #: src/Module/Contact.php:857 src/Module/Search/Index.php:194
#, php-format #, php-format
msgid "Results for: %s" msgid "Results for: %s"
msgstr "" msgstr ""
#: src/Module/Contact.php:864 #: src/Module/Contact.php:865
msgid "Update" msgid "Update"
msgstr "" msgstr ""
#: src/Module/Contact.php:869 #: src/Module/Contact.php:870
msgid "Batch Actions" msgid "Batch Actions"
msgstr "" msgstr ""
#: src/Module/Contact.php:904 #: src/Module/Contact.php:905
msgid "Conversations started by this contact" msgid "Conversations started by this contact"
msgstr "" msgstr ""
#: src/Module/Contact.php:909 #: src/Module/Contact.php:910
msgid "Posts and Comments" msgid "Posts and Comments"
msgstr "" msgstr ""
#: src/Module/Contact.php:927 #: src/Module/Contact.php:921
msgid "Posts containing media objects"
msgstr ""
#: src/Module/Contact.php:936
msgid "View all known contacts" msgid "View all known contacts"
msgstr "" msgstr ""
#: src/Module/Contact.php:937 #: src/Module/Contact.php:946
msgid "Advanced Contact Settings" msgid "Advanced Contact Settings"
msgstr "" msgstr ""
#: src/Module/Contact.php:1031 #: src/Module/Contact.php:1040
msgid "Mutual Friendship" msgid "Mutual Friendship"
msgstr "" msgstr ""
#: src/Module/Contact.php:1035 #: src/Module/Contact.php:1044
msgid "is a fan of yours" msgid "is a fan of yours"
msgstr "" msgstr ""
#: src/Module/Contact.php:1039 #: src/Module/Contact.php:1048
msgid "you are a fan of" msgid "you are a fan of"
msgstr "" msgstr ""
#: src/Module/Contact.php:1057 #: src/Module/Contact.php:1066
msgid "Pending outgoing contact request" msgid "Pending outgoing contact request"
msgstr "" msgstr ""
#: src/Module/Contact.php:1059 #: src/Module/Contact.php:1068
msgid "Pending incoming contact request" msgid "Pending incoming contact request"
msgstr "" msgstr ""
#: src/Module/Contact.php:1126 #: src/Module/Contact.php:1135
msgid "Refetch contact data" msgid "Refetch contact data"
msgstr "" msgstr ""
#: src/Module/Contact.php:1137 #: src/Module/Contact.php:1146
msgid "Toggle Blocked status" msgid "Toggle Blocked status"
msgstr "" msgstr ""
#: src/Module/Contact.php:1145 #: src/Module/Contact.php:1154
msgid "Toggle Ignored status" msgid "Toggle Ignored status"
msgstr "" msgstr ""
#: src/Module/Contact.php:1153 src/Module/Contact/Revoke.php:96 #: src/Module/Contact.php:1162 src/Module/Contact/Revoke.php:96
msgid "Revoke Follow" msgid "Revoke Follow"
msgstr "" msgstr ""
#: src/Module/Contact.php:1155 #: src/Module/Contact.php:1164
msgid "Revoke the follow from this contact" msgid "Revoke the follow from this contact"
msgstr "" msgstr ""
#: src/Module/Contact.php:1164 #: src/Module/Contact.php:1173
msgid "Delete contact" msgid "Delete contact"
msgstr "" msgstr ""