Merge pull request #13446 from annando/restricted
Use channels for non public content
This commit is contained in:
commit
9ed97caf7b
10 changed files with 177 additions and 168 deletions
|
@ -1,6 +1,6 @@
|
||||||
-- ------------------------------------------
|
-- ------------------------------------------
|
||||||
-- Friendica 2023.09-dev (Giant Rhubarb)
|
-- Friendica 2023.09-dev (Giant Rhubarb)
|
||||||
-- DB_UPDATE_VERSION 1533
|
-- DB_UPDATE_VERSION 1534
|
||||||
-- ------------------------------------------
|
-- ------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
@ -1310,6 +1310,7 @@ CREATE TABLE IF NOT EXISTS `post-engagement` (
|
||||||
`media-type` tinyint NOT NULL DEFAULT 0 COMMENT 'Type of media in a bit array (1 = image, 2 = video, 4 = audio',
|
`media-type` tinyint NOT NULL DEFAULT 0 COMMENT 'Type of media in a bit array (1 = image, 2 = video, 4 = audio',
|
||||||
`language` varbinary(128) COMMENT 'Language information about this post',
|
`language` varbinary(128) COMMENT 'Language information about this post',
|
||||||
`created` datetime COMMENT '',
|
`created` datetime COMMENT '',
|
||||||
|
`restricted` boolean NOT NULL DEFAULT '0' COMMENT 'If true, this post is either unlisted or not from a federated network',
|
||||||
`comments` mediumint unsigned COMMENT 'Number of comments',
|
`comments` mediumint unsigned COMMENT 'Number of comments',
|
||||||
`activities` mediumint unsigned COMMENT 'Number of activities (like, dislike, ...)',
|
`activities` mediumint unsigned COMMENT 'Number of activities (like, dislike, ...)',
|
||||||
PRIMARY KEY(`uri-id`),
|
PRIMARY KEY(`uri-id`),
|
||||||
|
|
|
@ -6,16 +6,17 @@ Engagement data per post
|
||||||
Fields
|
Fields
|
||||||
------
|
------
|
||||||
|
|
||||||
| Field | Description | Type | Null | Key | Default | Extra |
|
| Field | Description | Type | Null | Key | Default | Extra |
|
||||||
| ------------ | ------------------------------------------------------------- | ------------------ | ---- | --- | ------- | ----- |
|
| ------------ | --------------------------------------------------------------------- | ------------------ | ---- | --- | ------- | ----- |
|
||||||
| uri-id | Id of the item-uri table entry that contains the item uri | int unsigned | NO | PRI | NULL | |
|
| uri-id | Id of the item-uri table entry that contains the item uri | int unsigned | NO | PRI | NULL | |
|
||||||
| owner-id | Item owner | int unsigned | NO | | 0 | |
|
| owner-id | Item owner | int unsigned | NO | | 0 | |
|
||||||
| contact-type | Person, organisation, news, community, relay | tinyint | NO | | 0 | |
|
| contact-type | Person, organisation, news, community, relay | tinyint | NO | | 0 | |
|
||||||
| media-type | Type of media in a bit array (1 = image, 2 = video, 4 = audio | tinyint | NO | | 0 | |
|
| media-type | Type of media in a bit array (1 = image, 2 = video, 4 = audio | tinyint | NO | | 0 | |
|
||||||
| language | Language information about this post | varbinary(128) | YES | | NULL | |
|
| language | Language information about this post | varbinary(128) | YES | | NULL | |
|
||||||
| created | | datetime | YES | | NULL | |
|
| created | | datetime | YES | | NULL | |
|
||||||
| comments | Number of comments | mediumint unsigned | YES | | NULL | |
|
| restricted | If true, this post is either unlisted or not from a federated network | boolean | NO | | 0 | |
|
||||||
| activities | Number of activities (like, dislike, ...) | mediumint unsigned | YES | | NULL | |
|
| comments | Number of comments | mediumint unsigned | YES | | NULL | |
|
||||||
|
| activities | Number of activities (like, dislike, ...) | mediumint unsigned | YES | | NULL | |
|
||||||
|
|
||||||
Indexes
|
Indexes
|
||||||
------------
|
------------
|
||||||
|
|
|
@ -1250,7 +1250,7 @@ class Item
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Post::insert($item['uri-id'], $item);
|
$inserted = Post::insert($item['uri-id'], $item);
|
||||||
|
|
||||||
if ($item['gravity'] == self::GRAVITY_PARENT) {
|
if ($item['gravity'] == self::GRAVITY_PARENT) {
|
||||||
Post\Thread::insert($item['uri-id'], $item);
|
Post\Thread::insert($item['uri-id'], $item);
|
||||||
|
@ -1405,7 +1405,9 @@ class Item
|
||||||
self::updateDisplayCache($posted_item['uri-id']);
|
self::updateDisplayCache($posted_item['uri-id']);
|
||||||
}
|
}
|
||||||
|
|
||||||
Post\Engagement::storeFromItem($posted_item);
|
if ($inserted) {
|
||||||
|
Post\Engagement::storeFromItem($posted_item);
|
||||||
|
}
|
||||||
|
|
||||||
return $post_user_id;
|
return $post_user_id;
|
||||||
}
|
}
|
||||||
|
|
|
@ -36,10 +36,10 @@ class Post
|
||||||
*
|
*
|
||||||
* @param integer $uri_id
|
* @param integer $uri_id
|
||||||
* @param array $fields
|
* @param array $fields
|
||||||
* @return int ID of inserted post
|
* @return bool Success of the insert process
|
||||||
* @throws \Exception
|
* @throws \Exception
|
||||||
*/
|
*/
|
||||||
public static function insert(int $uri_id, array $data = []): int
|
public static function insert(int $uri_id, array $data = []): bool
|
||||||
{
|
{
|
||||||
if (empty($uri_id)) {
|
if (empty($uri_id)) {
|
||||||
throw new BadMethodCallException('Empty URI_id');
|
throw new BadMethodCallException('Empty URI_id');
|
||||||
|
@ -50,11 +50,7 @@ class Post
|
||||||
// Additionally assign the key fields
|
// Additionally assign the key fields
|
||||||
$fields['uri-id'] = $uri_id;
|
$fields['uri-id'] = $uri_id;
|
||||||
|
|
||||||
if (!DBA::insert('post', $fields, Database::INSERT_IGNORE)) {
|
return DBA::insert('post', $fields, Database::INSERT_IGNORE);
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
return DBA::lastInsertId();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -29,8 +29,10 @@ use Friendica\DI;
|
||||||
use Friendica\Model\Contact;
|
use Friendica\Model\Contact;
|
||||||
use Friendica\Model\Item;
|
use Friendica\Model\Item;
|
||||||
use Friendica\Model\Post;
|
use Friendica\Model\Post;
|
||||||
|
use Friendica\Model\Tag;
|
||||||
use Friendica\Model\Verb;
|
use Friendica\Model\Verb;
|
||||||
use Friendica\Protocol\Activity;
|
use Friendica\Protocol\Activity;
|
||||||
|
use Friendica\Protocol\Relay;
|
||||||
use Friendica\Util\DateTimeFormat;
|
use Friendica\Util\DateTimeFormat;
|
||||||
|
|
||||||
// Channel
|
// Channel
|
||||||
|
@ -45,26 +47,12 @@ class Engagement
|
||||||
*/
|
*/
|
||||||
public static function storeFromItem(array $item)
|
public static function storeFromItem(array $item)
|
||||||
{
|
{
|
||||||
if (!in_array($item['network'], Protocol::FEDERATED)) {
|
|
||||||
Logger::debug('No federated network', ['uri-id' => $item['uri-id'], 'parent-uri-id' => $item['parent-uri-id'], 'network' => $item['network']]);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (($item['uid'] != 0) && ($item['gravity'] == Item::GRAVITY_COMMENT)) {
|
|
||||||
Logger::debug('Non public comments are not stored', ['uri-id' => $item['uri-id'], 'parent-uri-id' => $item['parent-uri-id'], 'uid' => $item['uid']]);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (in_array($item['verb'], [Activity::FOLLOW, Activity::VIEW, Activity::READ])) {
|
if (in_array($item['verb'], [Activity::FOLLOW, Activity::VIEW, Activity::READ])) {
|
||||||
Logger::debug('Technical activities are not stored', ['uri-id' => $item['uri-id'], 'parent-uri-id' => $item['parent-uri-id'], 'verb' => $item['verb']]);
|
Logger::debug('Technical activities are not stored', ['uri-id' => $item['uri-id'], 'parent-uri-id' => $item['parent-uri-id'], 'verb' => $item['verb']]);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
$parent = Post::selectFirst(['created', 'owner-id', 'uid', 'private', 'contact-contact-type', 'language'], ['uri-id' => $item['parent-uri-id']]);
|
$parent = Post::selectFirst(['created', 'owner-id', 'uid', 'private', 'contact-contact-type', 'language'], ['uri-id' => $item['parent-uri-id']]);
|
||||||
if ($parent['private'] != Item::PUBLIC) {
|
|
||||||
Logger::debug('Non public posts are not stored', ['uri-id' => $item['uri-id'], 'parent-uri-id' => $item['parent-uri-id'], 'uid' => $parent['uid'], 'private' => $parent['private']]);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($parent['created'] < DateTimeFormat::utc('now - ' . DI::config()->get('channel', 'engagement_hours') . ' hour')) {
|
if ($parent['created'] < DateTimeFormat::utc('now - ' . DI::config()->get('channel', 'engagement_hours') . ' hour')) {
|
||||||
Logger::debug('Post is too old', ['uri-id' => $item['uri-id'], 'parent-uri-id' => $item['parent-uri-id'], 'created' => $parent['created']]);
|
Logger::debug('Post is too old', ['uri-id' => $item['uri-id'], 'parent-uri-id' => $item['parent-uri-id'], 'created' => $parent['created']]);
|
||||||
|
@ -77,6 +65,16 @@ class Engagement
|
||||||
$store = Contact::hasFollowers($parent['owner-id']);
|
$store = Contact::hasFollowers($parent['owner-id']);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!$store) {
|
||||||
|
$tagList = Relay::getSubscribedTags();
|
||||||
|
foreach (array_column(Tag::getByURIId($item['parent-uri-id'], [Tag::HASHTAG]), 'name') as $tag) {
|
||||||
|
if (in_array($tag, $tagList)) {
|
||||||
|
$store = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
$mediatype = self::getMediaType($item['parent-uri-id']);
|
$mediatype = self::getMediaType($item['parent-uri-id']);
|
||||||
|
|
||||||
if (!$store) {
|
if (!$store) {
|
||||||
|
@ -90,6 +88,7 @@ class Engagement
|
||||||
'media-type' => $mediatype,
|
'media-type' => $mediatype,
|
||||||
'language' => $parent['language'],
|
'language' => $parent['language'],
|
||||||
'created' => $parent['created'],
|
'created' => $parent['created'],
|
||||||
|
'restricted' => !in_array($item['network'], Protocol::FEDERATED) || ($parent['private'] != Item::PUBLIC),
|
||||||
'comments' => DBA::count('post', ['parent-uri-id' => $item['parent-uri-id'], 'gravity' => Item::GRAVITY_COMMENT]),
|
'comments' => DBA::count('post', ['parent-uri-id' => $item['parent-uri-id'], 'gravity' => Item::GRAVITY_COMMENT]),
|
||||||
'activities' => DBA::count('post', [
|
'activities' => DBA::count('post', [
|
||||||
"`parent-uri-id` = ? AND `gravity` = ? AND NOT `vid` IN (?, ?, ?)",
|
"`parent-uri-id` = ? AND `gravity` = ? AND NOT `vid` IN (?, ?, ?)",
|
||||||
|
@ -98,7 +97,7 @@ class Engagement
|
||||||
])
|
])
|
||||||
];
|
];
|
||||||
if (!$store && ($engagement['comments'] == 0) && ($engagement['activities'] == 0)) {
|
if (!$store && ($engagement['comments'] == 0) && ($engagement['activities'] == 0)) {
|
||||||
Logger::debug('No media, follower, comments or activities. Engagement not stored', ['fields' => $engagement]);
|
Logger::debug('No media, follower, subscribed tags, comments or activities. Engagement not stored', ['fields' => $engagement]);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
$ret = DBA::insert('post-engagement', $engagement, Database::INSERT_UPDATE);
|
$ret = DBA::insert('post-engagement', $engagement, Database::INSERT_UPDATE);
|
||||||
|
|
|
@ -340,13 +340,7 @@ class Profile extends BaseModule
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
if (in_array($contact['network'], Protocol::FEDERATED)) {
|
$channel_frequency = Contact\User::getChannelFrequency($contact['id'], $this->session->getLocalUserId());
|
||||||
$channel_settings_label = $this->t('Channel Settings');
|
|
||||||
$channel_frequency = Contact\User::getChannelFrequency($contact['id'], $this->session->getLocalUserId());
|
|
||||||
} else {
|
|
||||||
$channel_settings_label = null;
|
|
||||||
$channel_frequency = null;
|
|
||||||
}
|
|
||||||
|
|
||||||
$poll_interval = null;
|
$poll_interval = null;
|
||||||
if ((($contact['network'] == Protocol::FEED) && !$this->config->get('system', 'adjust_poll_frequency')) || ($contact['network'] == Protocol::MAIL)) {
|
if ((($contact['network'] == Protocol::FEED) && !$this->config->get('system', 'adjust_poll_frequency')) || ($contact['network'] == Protocol::MAIL)) {
|
||||||
|
@ -431,7 +425,7 @@ class Profile extends BaseModule
|
||||||
$this->t('Mark this contact as remote_self, this will cause friendica to repost new entries from this contact.'),
|
$this->t('Mark this contact as remote_self, this will cause friendica to repost new entries from this contact.'),
|
||||||
$remote_self_options
|
$remote_self_options
|
||||||
],
|
],
|
||||||
'$channel_settings_label' => $channel_settings_label,
|
'$channel_settings_label' => $this->t('Channel Settings'),
|
||||||
'$frequency_label' => $this->t('Frequency of this contact in relevant channels'),
|
'$frequency_label' => $this->t('Frequency of this contact in relevant channels'),
|
||||||
'$frequency_description' => $this->t("Depending on the type of the channel not all posts from this contact are displayed. By default, posts need to have a minimum amount of interactions (comments, likes) to show in your channels. On the other hand there can be contacts who flood the channel, so you might want to see only some of their posts. Or you don't want to see their content at all, but you don't want to block or hide the contact completely."),
|
'$frequency_description' => $this->t("Depending on the type of the channel not all posts from this contact are displayed. By default, posts need to have a minimum amount of interactions (comments, likes) to show in your channels. On the other hand there can be contacts who flood the channel, so you might want to see only some of their posts. Or you don't want to see their content at all, but you don't want to block or hide the contact completely."),
|
||||||
'$frequency_default' => ['channel_frequency', $this->t('Default frequency'), Contact\User::FREQUENCY_DEFAULT, $this->t('Posts by this contact are displayed in the "for you" channel if you interact often with this contact or if a post reached some level of interaction.'), $channel_frequency == Contact\User::FREQUENCY_DEFAULT],
|
'$frequency_default' => ['channel_frequency', $this->t('Default frequency'), Contact\User::FREQUENCY_DEFAULT, $this->t('Posts by this contact are displayed in the "for you" channel if you interact often with this contact or if a post reached some level of interaction.'), $channel_frequency == Contact\User::FREQUENCY_DEFAULT],
|
||||||
|
|
|
@ -306,6 +306,8 @@ class Timeline extends BaseModule
|
||||||
$condition = $this->addLanguageCondition($uid, $condition);
|
$condition = $this->addLanguageCondition($uid, $condition);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$condition = DBA::mergeConditions($condition, ["(NOT `restricted` OR EXISTS(SELECT `id` FROM `post-user` WHERE `uid` = ? AND `uri-id` = `post-engagement`.`uri-id`))", $uid]);
|
||||||
|
|
||||||
$condition = DBA::mergeConditions($condition, ["NOT EXISTS(SELECT `cid` FROM `user-contact` WHERE `uid` = ? AND `cid` = `post-engagement`.`owner-id` AND (`ignored` OR `blocked` OR `collapsed` OR `is-blocked` OR `channel-frequency` = ?))", $uid, Contact\User::FREQUENCY_NEVER]);
|
$condition = DBA::mergeConditions($condition, ["NOT EXISTS(SELECT `cid` FROM `user-contact` WHERE `uid` = ? AND `cid` = `post-engagement`.`owner-id` AND (`ignored` OR `blocked` OR `collapsed` OR `is-blocked` OR `channel-frequency` = ?))", $uid, Contact\User::FREQUENCY_NEVER]);
|
||||||
|
|
||||||
if (($this->selectedTab != TimelineEntity::WHATSHOT) && !is_null($this->accountType)) {
|
if (($this->selectedTab != TimelineEntity::WHATSHOT) && !is_null($this->accountType)) {
|
||||||
|
@ -381,7 +383,7 @@ class Timeline extends BaseModule
|
||||||
return $comments;
|
return $comments;
|
||||||
}
|
}
|
||||||
|
|
||||||
$condition = ["`contact-type` != ? AND `comments` > ?", Contact::TYPE_COMMUNITY, 0];
|
$condition = ["`contact-type` != ? AND `comments` > ? AND NOT `restricted`", Contact::TYPE_COMMUNITY, 0];
|
||||||
$condition = $this->addLanguageCondition($uid, $condition);
|
$condition = $this->addLanguageCondition($uid, $condition);
|
||||||
|
|
||||||
$limit = $this->database->count('post-engagement', $condition) / $divider;
|
$limit = $this->database->count('post-engagement', $condition) / $divider;
|
||||||
|
@ -405,7 +407,7 @@ class Timeline extends BaseModule
|
||||||
return $activities;
|
return $activities;
|
||||||
}
|
}
|
||||||
|
|
||||||
$condition = ["`contact-type` != ? AND `activities` > ?", Contact::TYPE_COMMUNITY, 0];
|
$condition = ["`contact-type` != ? AND `activities` > ? AND NOT `restricted`", Contact::TYPE_COMMUNITY, 0];
|
||||||
$condition = $this->addLanguageCondition($uid, $condition);
|
$condition = $this->addLanguageCondition($uid, $condition);
|
||||||
|
|
||||||
$limit = $this->database->count('post-engagement', $condition) / $divider;
|
$limit = $this->database->count('post-engagement', $condition) / $divider;
|
||||||
|
|
|
@ -86,24 +86,14 @@ class Relay
|
||||||
|
|
||||||
$body = ActivityPub\Processor::normalizeMentionLinks($body);
|
$body = ActivityPub\Processor::normalizeMentionLinks($body);
|
||||||
|
|
||||||
$systemTags = [];
|
|
||||||
$userTags = [];
|
|
||||||
$denyTags = [];
|
$denyTags = [];
|
||||||
|
|
||||||
if ($scope == self::SCOPE_TAGS) {
|
if ($scope == self::SCOPE_TAGS) {
|
||||||
$server_tags = $config->get('system', 'relay_server_tags');
|
$tagList = self::getSubscribedTags();
|
||||||
$tagitems = explode(',', mb_strtolower($server_tags));
|
} else {
|
||||||
foreach ($tagitems as $tag) {
|
$tagList = [];
|
||||||
$systemTags[] = trim($tag, '# ');
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($config->get('system', 'relay_user_tags')) {
|
|
||||||
$userTags = Search::getUserTags();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$tagList = array_unique(array_merge($systemTags, $userTags));
|
|
||||||
|
|
||||||
$deny_tags = $config->get('system', 'relay_deny_tags');
|
$deny_tags = $config->get('system', 'relay_deny_tags');
|
||||||
$tagitems = explode(',', mb_strtolower($deny_tags));
|
$tagitems = explode(',', mb_strtolower($deny_tags));
|
||||||
foreach ($tagitems as $tag) {
|
foreach ($tagitems as $tag) {
|
||||||
|
@ -149,6 +139,29 @@ class Relay
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get a list of subscribed tags by both the users and the tags that are defined by the admin
|
||||||
|
*
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public static function getSubscribedTags(): array
|
||||||
|
{
|
||||||
|
$systemTags = [];
|
||||||
|
$server_tags = DI::config()->get('system', 'relay_server_tags');
|
||||||
|
|
||||||
|
foreach (explode(',', mb_strtolower($server_tags)) as $tag) {
|
||||||
|
$systemTags[] = trim($tag, '# ');
|
||||||
|
}
|
||||||
|
|
||||||
|
if (DI::config()->get('system', 'relay_user_tags')) {
|
||||||
|
$userTags = Search::getUserTags();
|
||||||
|
} else {
|
||||||
|
$userTags = [];
|
||||||
|
}
|
||||||
|
|
||||||
|
return array_unique(array_merge($systemTags, $userTags));
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Detect the language of a post and decide if the post should be accepted
|
* Detect the language of a post and decide if the post should be accepted
|
||||||
*
|
*
|
||||||
|
|
|
@ -56,7 +56,7 @@ use Friendica\Database\DBA;
|
||||||
|
|
||||||
// This file is required several times during the test in DbaDefinition which justifies this condition
|
// This file is required several times during the test in DbaDefinition which justifies this condition
|
||||||
if (!defined('DB_UPDATE_VERSION')) {
|
if (!defined('DB_UPDATE_VERSION')) {
|
||||||
define('DB_UPDATE_VERSION', 1533);
|
define('DB_UPDATE_VERSION', 1534);
|
||||||
}
|
}
|
||||||
|
|
||||||
return [
|
return [
|
||||||
|
@ -1333,6 +1333,7 @@ return [
|
||||||
"media-type" => ["type" => "tinyint", "not null" => "1", "default" => "0", "comment" => "Type of media in a bit array (1 = image, 2 = video, 4 = audio"],
|
"media-type" => ["type" => "tinyint", "not null" => "1", "default" => "0", "comment" => "Type of media in a bit array (1 = image, 2 = video, 4 = audio"],
|
||||||
"language" => ["type" => "varbinary(128)", "comment" => "Language information about this post"],
|
"language" => ["type" => "varbinary(128)", "comment" => "Language information about this post"],
|
||||||
"created" => ["type" => "datetime", "comment" => ""],
|
"created" => ["type" => "datetime", "comment" => ""],
|
||||||
|
"restricted" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "If true, this post is either unlisted or not from a federated network"],
|
||||||
"comments" => ["type" => "mediumint unsigned", "comment" => "Number of comments"],
|
"comments" => ["type" => "mediumint unsigned", "comment" => "Number of comments"],
|
||||||
"activities" => ["type" => "mediumint unsigned", "comment" => "Number of activities (like, dislike, ...)"],
|
"activities" => ["type" => "mediumint unsigned", "comment" => "Number of activities (like, dislike, ...)"],
|
||||||
],
|
],
|
||||||
|
|
|
@ -8,7 +8,7 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: 2023.09-dev\n"
|
"Project-Id-Version: 2023.09-dev\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2023-09-16 04:28+0000\n"
|
"POT-Creation-Date: 2023-09-18 05:30+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"
|
||||||
|
@ -302,7 +302,7 @@ msgstr ""
|
||||||
#: mod/photos.php:824 mod/photos.php:1101 mod/photos.php:1142
|
#: mod/photos.php:824 mod/photos.php:1101 mod/photos.php:1142
|
||||||
#: mod/photos.php:1198 mod/photos.php:1278
|
#: mod/photos.php:1198 mod/photos.php:1278
|
||||||
#: src/Module/Calendar/Event/Form.php:250 src/Module/Contact/Advanced.php:132
|
#: src/Module/Calendar/Event/Form.php:250 src/Module/Contact/Advanced.php:132
|
||||||
#: src/Module/Contact/Profile.php:370
|
#: src/Module/Contact/Profile.php:364
|
||||||
#: src/Module/Debug/ActivityPubConversion.php:140
|
#: src/Module/Debug/ActivityPubConversion.php:140
|
||||||
#: src/Module/Debug/Babel.php:313 src/Module/Debug/Localtime.php:64
|
#: src/Module/Debug/Babel.php:313 src/Module/Debug/Localtime.php:64
|
||||||
#: src/Module/Debug/Probe.php:54 src/Module/Debug/WebFinger.php:51
|
#: src/Module/Debug/Probe.php:54 src/Module/Debug/WebFinger.php:51
|
||||||
|
@ -1570,60 +1570,60 @@ msgstr ""
|
||||||
msgid "Posts with videos"
|
msgid "Posts with videos"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Content/Conversation/Factory/Timeline.php:84
|
#: src/Content/Conversation/Factory/Timeline.php:85
|
||||||
msgid "Local Community"
|
msgid "Local Community"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Content/Conversation/Factory/Timeline.php:84
|
#: src/Content/Conversation/Factory/Timeline.php:85
|
||||||
msgid "Posts from local users on this server"
|
msgid "Posts from local users on this server"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Content/Conversation/Factory/Timeline.php:88
|
#: src/Content/Conversation/Factory/Timeline.php:89
|
||||||
msgid "Global Community"
|
msgid "Global Community"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Content/Conversation/Factory/Timeline.php:88
|
#: src/Content/Conversation/Factory/Timeline.php:89
|
||||||
msgid "Posts from users of the whole federated network"
|
msgid "Posts from users of the whole federated network"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Content/Conversation/Factory/Timeline.php:102
|
#: src/Content/Conversation/Factory/Timeline.php:103
|
||||||
msgid "Latest Activity"
|
msgid "Latest Activity"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Content/Conversation/Factory/Timeline.php:102
|
#: src/Content/Conversation/Factory/Timeline.php:103
|
||||||
msgid "Sort by latest activity"
|
msgid "Sort by latest activity"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Content/Conversation/Factory/Timeline.php:103
|
#: src/Content/Conversation/Factory/Timeline.php:104
|
||||||
msgid "Latest Posts"
|
msgid "Latest Posts"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Content/Conversation/Factory/Timeline.php:103
|
#: src/Content/Conversation/Factory/Timeline.php:104
|
||||||
msgid "Sort by post received date"
|
msgid "Sort by post received date"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Content/Conversation/Factory/Timeline.php:104
|
#: src/Content/Conversation/Factory/Timeline.php:105
|
||||||
msgid "Latest Creation"
|
msgid "Latest Creation"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Content/Conversation/Factory/Timeline.php:104
|
#: src/Content/Conversation/Factory/Timeline.php:105
|
||||||
msgid "Sort by post creation date"
|
msgid "Sort by post creation date"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Content/Conversation/Factory/Timeline.php:105
|
#: src/Content/Conversation/Factory/Timeline.php:106
|
||||||
#: src/Module/Settings/Profile/Index.php:260
|
#: src/Module/Settings/Profile/Index.php:260
|
||||||
msgid "Personal"
|
msgid "Personal"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Content/Conversation/Factory/Timeline.php:105
|
#: src/Content/Conversation/Factory/Timeline.php:106
|
||||||
msgid "Posts that mention or involve you"
|
msgid "Posts that mention or involve you"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Content/Conversation/Factory/Timeline.php:106 src/Object/Post.php:380
|
#: src/Content/Conversation/Factory/Timeline.php:107 src/Object/Post.php:380
|
||||||
msgid "Starred"
|
msgid "Starred"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Content/Conversation/Factory/Timeline.php:106
|
#: src/Content/Conversation/Factory/Timeline.php:107
|
||||||
msgid "Favourite Posts"
|
msgid "Favourite Posts"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -1762,7 +1762,7 @@ msgstr ""
|
||||||
msgid "Create new group"
|
msgid "Create new group"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Content/Item.php:331 src/Model/Item.php:3001
|
#: src/Content/Item.php:331 src/Model/Item.php:3003
|
||||||
msgid "event"
|
msgid "event"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -1770,7 +1770,7 @@ msgstr ""
|
||||||
msgid "status"
|
msgid "status"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Content/Item.php:340 src/Model/Item.php:3003
|
#: src/Content/Item.php:340 src/Model/Item.php:3005
|
||||||
#: src/Module/Post/Tag/Add.php:123
|
#: src/Module/Post/Tag/Add.php:123
|
||||||
msgid "photo"
|
msgid "photo"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -1813,7 +1813,7 @@ msgid "Send PM"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Content/Item.php:435 src/Module/Contact.php:468
|
#: src/Content/Item.php:435 src/Module/Contact.php:468
|
||||||
#: src/Module/Contact/Profile.php:517
|
#: src/Module/Contact/Profile.php:511
|
||||||
#: src/Module/Moderation/Blocklist/Contact.php:116
|
#: src/Module/Moderation/Blocklist/Contact.php:116
|
||||||
#: src/Module/Moderation/Users/Active.php:137
|
#: src/Module/Moderation/Users/Active.php:137
|
||||||
#: src/Module/Moderation/Users/Index.php:152
|
#: src/Module/Moderation/Users/Index.php:152
|
||||||
|
@ -1821,7 +1821,7 @@ msgid "Block"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Content/Item.php:436 src/Module/Contact.php:469
|
#: src/Content/Item.php:436 src/Module/Contact.php:469
|
||||||
#: src/Module/Contact/Profile.php:525
|
#: src/Module/Contact/Profile.php:519
|
||||||
#: src/Module/Notifications/Introductions.php:134
|
#: src/Module/Notifications/Introductions.php:134
|
||||||
#: src/Module/Notifications/Introductions.php:206
|
#: src/Module/Notifications/Introductions.php:206
|
||||||
#: src/Module/Notifications/Notification.php:89
|
#: src/Module/Notifications/Notification.php:89
|
||||||
|
@ -1829,7 +1829,7 @@ msgid "Ignore"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Content/Item.php:437 src/Module/Contact.php:470
|
#: src/Content/Item.php:437 src/Module/Contact.php:470
|
||||||
#: src/Module/Contact/Profile.php:533
|
#: src/Module/Contact/Profile.php:527
|
||||||
msgid "Collapse"
|
msgid "Collapse"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -1896,7 +1896,7 @@ msgstr ""
|
||||||
|
|
||||||
#: src/Content/Nav.php:230 src/Module/BaseProfile.php:49
|
#: src/Content/Nav.php:230 src/Module/BaseProfile.php:49
|
||||||
#: src/Module/BaseSettings.php:98 src/Module/Contact.php:504
|
#: src/Module/BaseSettings.php:98 src/Module/Contact.php:504
|
||||||
#: src/Module/Contact/Profile.php:425 src/Module/Profile/Profile.php:268
|
#: src/Module/Contact/Profile.php:419 src/Module/Profile/Profile.php:268
|
||||||
#: src/Module/Welcome.php:57 view/theme/frio/theme.php:230
|
#: src/Module/Welcome.php:57 view/theme/frio/theme.php:230
|
||||||
msgid "Profile"
|
msgid "Profile"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -2181,8 +2181,8 @@ msgid ""
|
||||||
"<a href=\"%1$s\" target=\"_blank\" rel=\"noopener noreferrer\">%2$s</a> %3$s"
|
"<a href=\"%1$s\" target=\"_blank\" rel=\"noopener noreferrer\">%2$s</a> %3$s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Content/Text/BBCode.php:939 src/Model/Item.php:3743
|
#: src/Content/Text/BBCode.php:939 src/Model/Item.php:3745
|
||||||
#: src/Model/Item.php:3749 src/Model/Item.php:3750
|
#: src/Model/Item.php:3751 src/Model/Item.php:3752
|
||||||
msgid "Link to source"
|
msgid "Link to source"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -2215,7 +2215,7 @@ msgid "The end"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Content/Text/HTML.php:859 src/Content/Widget/VCard.php:116
|
#: src/Content/Text/HTML.php:859 src/Content/Widget/VCard.php:116
|
||||||
#: src/Model/Profile.php:461 src/Module/Contact/Profile.php:477
|
#: src/Model/Profile.php:461 src/Module/Contact/Profile.php:471
|
||||||
msgid "Follow"
|
msgid "Follow"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -2413,18 +2413,18 @@ msgid "More Trending Tags"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Content/Widget/VCard.php:109 src/Model/Profile.php:376
|
#: src/Content/Widget/VCard.php:109 src/Model/Profile.php:376
|
||||||
#: src/Module/Contact/Profile.php:414 src/Module/Profile/Profile.php:199
|
#: src/Module/Contact/Profile.php:408 src/Module/Profile/Profile.php:199
|
||||||
msgid "XMPP:"
|
msgid "XMPP:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Content/Widget/VCard.php:110 src/Model/Profile.php:377
|
#: src/Content/Widget/VCard.php:110 src/Model/Profile.php:377
|
||||||
#: src/Module/Contact/Profile.php:416 src/Module/Profile/Profile.php:203
|
#: src/Module/Contact/Profile.php:410 src/Module/Profile/Profile.php:203
|
||||||
msgid "Matrix:"
|
msgid "Matrix:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Content/Widget/VCard.php:111 src/Model/Event.php:82
|
#: src/Content/Widget/VCard.php:111 src/Model/Event.php:82
|
||||||
#: src/Model/Event.php:109 src/Model/Event.php:471 src/Model/Event.php:963
|
#: src/Model/Event.php:109 src/Model/Event.php:471 src/Model/Event.php:963
|
||||||
#: src/Model/Profile.php:371 src/Module/Contact/Profile.php:412
|
#: src/Model/Profile.php:371 src/Module/Contact/Profile.php:406
|
||||||
#: src/Module/Directory.php:147 src/Module/Notifications/Introductions.php:187
|
#: src/Module/Directory.php:147 src/Module/Notifications/Introductions.php:187
|
||||||
#: src/Module/Profile/Profile.php:221
|
#: src/Module/Profile/Profile.php:221
|
||||||
msgid "Location:"
|
msgid "Location:"
|
||||||
|
@ -2437,7 +2437,7 @@ msgstr ""
|
||||||
|
|
||||||
#: src/Content/Widget/VCard.php:118 src/Model/Contact.php:1223
|
#: src/Content/Widget/VCard.php:118 src/Model/Contact.php:1223
|
||||||
#: src/Model/Contact.php:1234 src/Model/Profile.php:463
|
#: src/Model/Contact.php:1234 src/Model/Profile.php:463
|
||||||
#: src/Module/Contact/Profile.php:469
|
#: src/Module/Contact/Profile.php:463
|
||||||
msgid "Unfollow"
|
msgid "Unfollow"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -3369,81 +3369,81 @@ msgstr ""
|
||||||
msgid "Happy Birthday %s"
|
msgid "Happy Birthday %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Model/Item.php:2060
|
#: src/Model/Item.php:2062
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "Detected languages in this post:\\n%s"
|
msgid "Detected languages in this post:\\n%s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Model/Item.php:3005
|
#: src/Model/Item.php:3007
|
||||||
msgid "activity"
|
msgid "activity"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Model/Item.php:3007
|
#: src/Model/Item.php:3009
|
||||||
msgid "comment"
|
msgid "comment"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Model/Item.php:3010 src/Module/Post/Tag/Add.php:123
|
#: src/Model/Item.php:3012 src/Module/Post/Tag/Add.php:123
|
||||||
msgid "post"
|
msgid "post"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Model/Item.php:3180
|
|
||||||
#, php-format
|
|
||||||
msgid "%s is blocked"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/Model/Item.php:3182
|
#: src/Model/Item.php:3182
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "%s is ignored"
|
msgid "%s is blocked"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Model/Item.php:3184
|
#: src/Model/Item.php:3184
|
||||||
#, php-format
|
#, php-format
|
||||||
|
msgid "%s is ignored"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/Model/Item.php:3186
|
||||||
|
#, php-format
|
||||||
msgid "Content from %s is collapsed"
|
msgid "Content from %s is collapsed"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Model/Item.php:3188
|
#: src/Model/Item.php:3190
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "Content warning: %s"
|
msgid "Content warning: %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Model/Item.php:3650
|
#: src/Model/Item.php:3652
|
||||||
msgid "bytes"
|
msgid "bytes"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Model/Item.php:3681
|
#: src/Model/Item.php:3683
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "%2$s (%3$d%%, %1$d vote)"
|
msgid "%2$s (%3$d%%, %1$d vote)"
|
||||||
msgid_plural "%2$s (%3$d%%, %1$d votes)"
|
msgid_plural "%2$s (%3$d%%, %1$d votes)"
|
||||||
msgstr[0] ""
|
msgstr[0] ""
|
||||||
msgstr[1] ""
|
msgstr[1] ""
|
||||||
|
|
||||||
#: src/Model/Item.php:3683
|
#: src/Model/Item.php:3685
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "%2$s (%1$d vote)"
|
msgid "%2$s (%1$d vote)"
|
||||||
msgid_plural "%2$s (%1$d votes)"
|
msgid_plural "%2$s (%1$d votes)"
|
||||||
msgstr[0] ""
|
msgstr[0] ""
|
||||||
msgstr[1] ""
|
msgstr[1] ""
|
||||||
|
|
||||||
#: src/Model/Item.php:3688
|
#: src/Model/Item.php:3690
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "%d voter. Poll end: %s"
|
msgid "%d voter. Poll end: %s"
|
||||||
msgid_plural "%d voters. Poll end: %s"
|
msgid_plural "%d voters. Poll end: %s"
|
||||||
msgstr[0] ""
|
msgstr[0] ""
|
||||||
msgstr[1] ""
|
msgstr[1] ""
|
||||||
|
|
||||||
#: src/Model/Item.php:3690
|
#: src/Model/Item.php:3692
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "%d voter."
|
msgid "%d voter."
|
||||||
msgid_plural "%d voters."
|
msgid_plural "%d voters."
|
||||||
msgstr[0] ""
|
msgstr[0] ""
|
||||||
msgstr[1] ""
|
msgstr[1] ""
|
||||||
|
|
||||||
#: src/Model/Item.php:3692
|
#: src/Model/Item.php:3694
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "Poll end: %s"
|
msgid "Poll end: %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Model/Item.php:3726 src/Model/Item.php:3727
|
#: src/Model/Item.php:3728 src/Model/Item.php:3729
|
||||||
msgid "View on separate page"
|
msgid "View on separate page"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -3469,7 +3469,7 @@ msgstr ""
|
||||||
msgid "Homepage:"
|
msgid "Homepage:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Model/Profile.php:375 src/Module/Contact/Profile.php:418
|
#: src/Model/Profile.php:375 src/Module/Contact/Profile.php:412
|
||||||
#: src/Module/Notifications/Introductions.php:189
|
#: src/Module/Notifications/Introductions.php:189
|
||||||
msgid "About:"
|
msgid "About:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -5937,7 +5937,7 @@ msgid "Contact not found."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Circle.php:102 src/Module/Contact/Contacts.php:66
|
#: src/Module/Circle.php:102 src/Module/Contact/Contacts.php:66
|
||||||
#: src/Module/Conversation/Network.php:236
|
#: src/Module/Conversation/Network.php:232
|
||||||
msgid "Invalid contact."
|
msgid "Invalid contact."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -6088,18 +6088,18 @@ msgstr ""
|
||||||
msgid "Update"
|
msgid "Update"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Contact.php:468 src/Module/Contact/Profile.php:517
|
#: src/Module/Contact.php:468 src/Module/Contact/Profile.php:511
|
||||||
#: src/Module/Moderation/Blocklist/Contact.php:117
|
#: src/Module/Moderation/Blocklist/Contact.php:117
|
||||||
#: src/Module/Moderation/Users/Blocked.php:138
|
#: src/Module/Moderation/Users/Blocked.php:138
|
||||||
#: src/Module/Moderation/Users/Index.php:154
|
#: src/Module/Moderation/Users/Index.php:154
|
||||||
msgid "Unblock"
|
msgid "Unblock"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Contact.php:469 src/Module/Contact/Profile.php:525
|
#: src/Module/Contact.php:469 src/Module/Contact/Profile.php:519
|
||||||
msgid "Unignore"
|
msgid "Unignore"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Contact.php:470 src/Module/Contact/Profile.php:533
|
#: src/Module/Contact.php:470 src/Module/Contact/Profile.php:527
|
||||||
msgid "Uncollapse"
|
msgid "Uncollapse"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -6151,7 +6151,7 @@ msgstr ""
|
||||||
msgid "Pending incoming contact request"
|
msgid "Pending incoming contact request"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Contact.php:627 src/Module/Contact/Profile.php:377
|
#: src/Module/Contact.php:627 src/Module/Contact/Profile.php:371
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "Visit %s's profile [%s]"
|
msgid "Visit %s's profile [%s]"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -6287,7 +6287,7 @@ msgstr ""
|
||||||
msgid "Your Identity Address:"
|
msgid "Your Identity Address:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Contact/Follow.php:170 src/Module/Contact/Profile.php:408
|
#: src/Module/Contact/Follow.php:170 src/Module/Contact/Profile.php:402
|
||||||
#: src/Module/Contact/Unfollow.php:129
|
#: src/Module/Contact/Unfollow.php:129
|
||||||
#: src/Module/Moderation/Blocklist/Contact.php:133
|
#: src/Module/Moderation/Blocklist/Contact.php:133
|
||||||
#: src/Module/Moderation/Reports.php:104
|
#: src/Module/Moderation/Reports.php:104
|
||||||
|
@ -6296,7 +6296,7 @@ msgstr ""
|
||||||
msgid "Profile URL"
|
msgid "Profile URL"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Contact/Follow.php:171 src/Module/Contact/Profile.php:420
|
#: src/Module/Contact/Follow.php:171 src/Module/Contact/Profile.php:414
|
||||||
#: src/Module/Notifications/Introductions.php:191
|
#: src/Module/Notifications/Introductions.php:191
|
||||||
#: src/Module/Profile/Profile.php:234
|
#: src/Module/Profile/Profile.php:234
|
||||||
msgid "Tags:"
|
msgid "Tags:"
|
||||||
|
@ -6398,7 +6398,7 @@ msgstr ""
|
||||||
msgid "(Update was successful)"
|
msgid "(Update was successful)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Contact/Profile.php:290 src/Module/Contact/Profile.php:488
|
#: src/Module/Contact/Profile.php:290 src/Module/Contact/Profile.php:482
|
||||||
msgid "Suggest friends"
|
msgid "Suggest friends"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -6448,132 +6448,132 @@ msgstr ""
|
||||||
msgid "Native reshare"
|
msgid "Native reshare"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Contact/Profile.php:344
|
#: src/Module/Contact/Profile.php:353
|
||||||
msgid "Channel Settings"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/Module/Contact/Profile.php:359
|
|
||||||
msgid "Contact Information / Notes"
|
msgid "Contact Information / Notes"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Contact/Profile.php:360
|
#: src/Module/Contact/Profile.php:354
|
||||||
msgid "Contact Settings"
|
msgid "Contact Settings"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Contact/Profile.php:368
|
#: src/Module/Contact/Profile.php:362
|
||||||
msgid "Contact"
|
msgid "Contact"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Contact/Profile.php:372
|
#: src/Module/Contact/Profile.php:366
|
||||||
msgid "Their personal note"
|
msgid "Their personal note"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Contact/Profile.php:374
|
#: src/Module/Contact/Profile.php:368
|
||||||
msgid "Edit contact notes"
|
msgid "Edit contact notes"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Contact/Profile.php:378
|
#: src/Module/Contact/Profile.php:372
|
||||||
msgid "Block/Unblock contact"
|
msgid "Block/Unblock contact"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Contact/Profile.php:379
|
#: src/Module/Contact/Profile.php:373
|
||||||
#: src/Module/Moderation/Report/Create.php:293
|
#: src/Module/Moderation/Report/Create.php:293
|
||||||
msgid "Ignore contact"
|
msgid "Ignore contact"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Contact/Profile.php:380
|
#: src/Module/Contact/Profile.php:374
|
||||||
msgid "View conversations"
|
msgid "View conversations"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Contact/Profile.php:385
|
#: src/Module/Contact/Profile.php:379
|
||||||
msgid "Last update:"
|
msgid "Last update:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Contact/Profile.php:387
|
#: src/Module/Contact/Profile.php:381
|
||||||
msgid "Update public posts"
|
msgid "Update public posts"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Contact/Profile.php:389 src/Module/Contact/Profile.php:498
|
#: src/Module/Contact/Profile.php:383 src/Module/Contact/Profile.php:492
|
||||||
msgid "Update now"
|
msgid "Update now"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Contact/Profile.php:391
|
#: src/Module/Contact/Profile.php:385
|
||||||
msgid "Awaiting connection acknowledge"
|
msgid "Awaiting connection acknowledge"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Contact/Profile.php:392
|
#: src/Module/Contact/Profile.php:386
|
||||||
msgid "Currently blocked"
|
msgid "Currently blocked"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Contact/Profile.php:393
|
#: src/Module/Contact/Profile.php:387
|
||||||
msgid "Currently ignored"
|
msgid "Currently ignored"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Contact/Profile.php:394
|
#: src/Module/Contact/Profile.php:388
|
||||||
msgid "Currently collapsed"
|
msgid "Currently collapsed"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Contact/Profile.php:395
|
#: src/Module/Contact/Profile.php:389
|
||||||
msgid "Currently archived"
|
msgid "Currently archived"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Contact/Profile.php:398
|
#: src/Module/Contact/Profile.php:392
|
||||||
msgid "Manage remote servers"
|
msgid "Manage remote servers"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Contact/Profile.php:400
|
#: src/Module/Contact/Profile.php:394
|
||||||
#: src/Module/Notifications/Introductions.php:192
|
#: src/Module/Notifications/Introductions.php:192
|
||||||
msgid "Hide this contact from others"
|
msgid "Hide this contact from others"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Contact/Profile.php:400
|
#: src/Module/Contact/Profile.php:394
|
||||||
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/Profile.php:401
|
#: src/Module/Contact/Profile.php:395
|
||||||
msgid "Notification for new posts"
|
msgid "Notification for new posts"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Contact/Profile.php:401
|
#: src/Module/Contact/Profile.php:395
|
||||||
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/Profile.php:403
|
#: src/Module/Contact/Profile.php:397
|
||||||
msgid "Keyword Deny List"
|
msgid "Keyword Deny List"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Contact/Profile.php:403
|
#: src/Module/Contact/Profile.php:397
|
||||||
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/Profile.php:421
|
#: src/Module/Contact/Profile.php:415
|
||||||
#: src/Module/Settings/TwoFactor/Index.php:139
|
#: src/Module/Settings/TwoFactor/Index.php:139
|
||||||
msgid "Actions"
|
msgid "Actions"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Contact/Profile.php:423
|
#: src/Module/Contact/Profile.php:417
|
||||||
#: src/Module/Settings/TwoFactor/Index.php:119 view/theme/frio/theme.php:229
|
#: src/Module/Settings/TwoFactor/Index.php:119 view/theme/frio/theme.php:229
|
||||||
msgid "Status"
|
msgid "Status"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Contact/Profile.php:429
|
#: src/Module/Contact/Profile.php:423
|
||||||
msgid "Mirror postings from this contact"
|
msgid "Mirror postings from this contact"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Contact/Profile.php:431
|
#: src/Module/Contact/Profile.php:425
|
||||||
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/Profile.php:435
|
#: src/Module/Contact/Profile.php:428
|
||||||
|
msgid "Channel Settings"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/Module/Contact/Profile.php:429
|
||||||
msgid "Frequency of this contact in relevant channels"
|
msgid "Frequency of this contact in relevant channels"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Contact/Profile.php:436
|
#: src/Module/Contact/Profile.php:430
|
||||||
msgid ""
|
msgid ""
|
||||||
"Depending on the type of the channel not all posts from this contact are "
|
"Depending on the type of the channel not all posts from this contact are "
|
||||||
"displayed. By default, posts need to have a minimum amount of interactions "
|
"displayed. By default, posts need to have a minimum amount of interactions "
|
||||||
|
@ -6583,64 +6583,64 @@ msgid ""
|
||||||
"block or hide the contact completely."
|
"block or hide the contact completely."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Contact/Profile.php:437
|
#: src/Module/Contact/Profile.php:431
|
||||||
msgid "Default frequency"
|
msgid "Default frequency"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Contact/Profile.php:437
|
#: src/Module/Contact/Profile.php:431
|
||||||
msgid ""
|
msgid ""
|
||||||
"Posts by this contact are displayed in the \"for you\" channel if you "
|
"Posts by this contact are displayed in the \"for you\" channel if you "
|
||||||
"interact often with this contact or if a post reached some level of "
|
"interact often with this contact or if a post reached some level of "
|
||||||
"interaction."
|
"interaction."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Contact/Profile.php:438
|
#: src/Module/Contact/Profile.php:432
|
||||||
msgid "Display all posts of this contact"
|
msgid "Display all posts of this contact"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Contact/Profile.php:438
|
#: src/Module/Contact/Profile.php:432
|
||||||
msgid "All posts from this contact will appear on the \"for you\" channel"
|
msgid "All posts from this contact will appear on the \"for you\" channel"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Contact/Profile.php:439
|
#: src/Module/Contact/Profile.php:433
|
||||||
msgid "Display only few posts"
|
msgid "Display only few posts"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Contact/Profile.php:439
|
#: src/Module/Contact/Profile.php:433
|
||||||
msgid ""
|
msgid ""
|
||||||
"When a contact creates a lot of posts in a short period, this setting "
|
"When a contact creates a lot of posts in a short period, this setting "
|
||||||
"reduces the number of displayed posts in every channel."
|
"reduces the number of displayed posts in every channel."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Contact/Profile.php:440
|
#: src/Module/Contact/Profile.php:434
|
||||||
msgid "Never display posts"
|
msgid "Never display posts"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Contact/Profile.php:440
|
#: src/Module/Contact/Profile.php:434
|
||||||
msgid "Posts from this contact will never be displayed in any channel"
|
msgid "Posts from this contact will never be displayed in any channel"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Contact/Profile.php:508
|
#: src/Module/Contact/Profile.php:502
|
||||||
msgid "Refetch contact data"
|
msgid "Refetch contact data"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Contact/Profile.php:519
|
#: src/Module/Contact/Profile.php:513
|
||||||
msgid "Toggle Blocked status"
|
msgid "Toggle Blocked status"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Contact/Profile.php:527
|
#: src/Module/Contact/Profile.php:521
|
||||||
msgid "Toggle Ignored status"
|
msgid "Toggle Ignored status"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Contact/Profile.php:535
|
#: src/Module/Contact/Profile.php:529
|
||||||
msgid "Toggle Collapsed status"
|
msgid "Toggle Collapsed status"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Contact/Profile.php:542 src/Module/Contact/Revoke.php:106
|
#: src/Module/Contact/Profile.php:536 src/Module/Contact/Revoke.php:106
|
||||||
msgid "Revoke Follow"
|
msgid "Revoke Follow"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Contact/Profile.php:544
|
#: src/Module/Contact/Profile.php:538
|
||||||
msgid "Revoke the follow from this contact"
|
msgid "Revoke the follow from this contact"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -6723,28 +6723,28 @@ msgstr ""
|
||||||
msgid "Not available."
|
msgid "Not available."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Conversation/Network.php:222
|
#: src/Module/Conversation/Network.php:218
|
||||||
msgid "No such circle"
|
msgid "No such circle"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Conversation/Network.php:226
|
#: src/Module/Conversation/Network.php:222
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "Circle: %s"
|
msgid "Circle: %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Conversation/Network.php:321
|
#: src/Module/Conversation/Network.php:317
|
||||||
msgid "Network feed not available."
|
msgid "Network feed not available."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Conversation/Timeline.php:155
|
#: src/Module/Conversation/Timeline.php:158
|
||||||
msgid "Own Contacts"
|
msgid "Own Contacts"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Conversation/Timeline.php:159
|
#: src/Module/Conversation/Timeline.php:162
|
||||||
msgid "Include"
|
msgid "Include"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Conversation/Timeline.php:160
|
#: src/Module/Conversation/Timeline.php:163
|
||||||
msgid "Hide"
|
msgid "Hide"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue