Configuration for widgets

This commit is contained in:
Michael 2024-03-24 20:00:19 +00:00
parent f78b0e7c51
commit 200cf29a8d
7 changed files with 275 additions and 205 deletions

View file

@ -26,13 +26,22 @@ use Friendica\DI;
class Feature class Feature
{ {
const ACCOUNTS = 'accounts';
const ADD_ABSTRACT = 'add_abstract'; const ADD_ABSTRACT = 'add_abstract';
const ARCHIVE = 'archive';
const CATEGORIES = 'categories'; const CATEGORIES = 'categories';
const CHANNELS = 'channels';
const CIRCLES = 'circles';
const COMMUNITY = 'community';
const EXPLICIT_MENTIONS = 'explicit_mentions'; const EXPLICIT_MENTIONS = 'explicit_mentions';
const FOLDERS = 'folders';
const GROUPS = 'forumlist_profile'; const GROUPS = 'forumlist_profile';
const MEMBER_SINCE = 'profile_membersince'; const MEMBER_SINCE = 'profile_membersince';
const NETWORKS = 'networks';
const NOSHARER = 'nosharer';
const PHOTO_LOCATION = 'photo_location'; const PHOTO_LOCATION = 'photo_location';
const PUBLIC_CALENDAR = 'public_calendar'; const PUBLIC_CALENDAR = 'public_calendar';
const SEARCHES = 'searches';
const TAGCLOUD = 'tagadelic'; const TAGCLOUD = 'tagadelic';
const TRENDING_TAGS = 'trending_tags'; const TRENDING_TAGS = 'trending_tags';
@ -46,21 +55,14 @@ class Feature
*/ */
public static function isEnabled(int $uid, $feature): bool public static function isEnabled(int $uid, $feature): bool
{ {
$x = DI::config()->get('feature_lock', $feature, false); if (!DI::config()->get('feature_lock', $feature, false)) {
$enabled = DI::config()->get('feature', $feature) ?? self::getDefault($feature);
if ($x === false) { $enabled = DI::pConfig()->get($uid, 'feature', $feature) ?? $enabled;
$x = DI::pConfig()->get($uid, 'feature', $feature, false); } else {
$enabled = true;
} }
if ($x === false) { $arr = ['uid' => $uid, 'feature' => $feature, 'enabled' => $enabled];
$x = DI::config()->get('feature', $feature, false);
}
if ($x === false) {
$x = self::getDefault($feature);
}
$arr = ['uid' => $uid, 'feature' => $feature, 'enabled' => $x];
Hook::callAll('isEnabled', $arr); Hook::callAll('isEnabled', $arr);
return (bool)$arr['enabled']; return (bool)$arr['enabled'];
} }
@ -74,8 +76,7 @@ class Feature
*/ */
private static function getDefault($feature) private static function getDefault($feature)
{ {
$f = self::get(); foreach (self::get() as $cat) {
foreach ($f as $cat) {
foreach ($cat as $feat) { foreach ($cat as $feat) {
if (is_array($feat) && $feat[0] === $feature) { if (is_array($feat) && $feat[0] === $feature) {
return $feat[3]; return $feat[3];
@ -105,8 +106,8 @@ class Feature
'general' => [ 'general' => [
DI::l10n()->t('General Features'), DI::l10n()->t('General Features'),
//array('expire', DI::l10n()->t('Content Expiration'), DI::l10n()->t('Remove old posts/comments after a period of time')), //array('expire', DI::l10n()->t('Content Expiration'), DI::l10n()->t('Remove old posts/comments after a period of time')),
[self::PHOTO_LOCATION, DI::l10n()->t('Photo Location'), DI::l10n()->t("Photo metadata is normally stripped. This extracts the location \x28if present\x29 prior to stripping metadata and links it to a map."), false, DI::config()->get('feature_lock', self::PHOTO_LOCATION, false)], [self::PHOTO_LOCATION, DI::l10n()->t('Photo Location'), DI::l10n()->t("Photo metadata is normally stripped. This extracts the location \x28if present\x29 prior to stripping metadata and links it to a map."), false, DI::config()->get('feature_lock', self::PHOTO_LOCATION, false)],
[self::TRENDING_TAGS, DI::l10n()->t('Trending Tags'), DI::l10n()->t('Show a community page widget with a list of the most popular tags in recent public posts.'), false, DI::config()->get('feature_lock', self::TRENDING_TAGS, false)], [self::COMMUNITY, DI::l10n()->t('Display the community in the navigation'), DI::l10n()->t('If enabled, the community can be accessed via the navigation menu. Independant from this setting, the community timelines can always be accessed via the channels.'), true, DI::config()->get('feature_lock', self::COMMUNITY, false)],
], ],
// Post composition // Post composition
@ -122,10 +123,24 @@ class Feature
[self::CATEGORIES, DI::l10n()->t('Post Categories'), DI::l10n()->t('Add categories to your posts'), false, DI::config()->get('feature_lock', self::CATEGORIES, false)], [self::CATEGORIES, DI::l10n()->t('Post Categories'), DI::l10n()->t('Add categories to your posts'), false, DI::config()->get('feature_lock', self::CATEGORIES, false)],
], ],
// Widget visibility on the network stream
'network' => [
DI::l10n()->t('Network Widgets'),
[self::CIRCLES, DI::l10n()->t('Circles'), DI::l10n()->t('Display posts that have been created by accounts of the selected circle.'), true, false, true],
[self::GROUPS, DI::l10n()->t('Groups'), DI::l10n()->t('Display posts that have been distributed by the selected group.'), true, false, true],
[self::ARCHIVE, DI::l10n()->t('Archives'), DI::l10n()->t('Display an archive where posts can be selected by month and year.'), true, false, true],
[self::NETWORKS, DI::l10n()->t('Protocols'), DI::l10n()->t('Display posts with the selected protocols.'), true, false, true],
[self::ACCOUNTS, DI::l10n()->t('Account Types'), DI::l10n()->t('Display posts done by accounts with the selected account type.'), true, false, true],
[self::CHANNELS, DI::l10n()->t('Channels'), DI::l10n()->t('Display posts in the system channels and user defined channels.'), true, false, true],
[self::SEARCHES, DI::l10n()->t('Saved Searches'), DI::l10n()->t('Display posts that contain subscribed hashtags.'), true, false, true],
[self::FOLDERS, DI::l10n()->t('Saved Folders'), DI::l10n()->t('Display a list of folders in which posts are stored.'), true, false, true],
[self::NOSHARER, DI::l10n()->t('Own Contacts'), DI::l10n()->t('Include or exclude posts from subscribed accounts. This widget is not visible on all channels.'), true, false, true],
[self::TRENDING_TAGS, DI::l10n()->t('Trending Tags'), DI::l10n()->t('Display a list of the most popular tags in recent public posts.'), false, false, true],
],
// Advanced Profile Settings // Advanced Profile Settings
'advanced_profile' => [ 'advanced_profile' => [
DI::l10n()->t('Advanced Profile Settings'), DI::l10n()->t('Advanced Profile Settings'),
[self::GROUPS, DI::l10n()->t('List Groups'), DI::l10n()->t('Show visitors public groups at the Advanced Profile Page'), false, DI::config()->get('feature_lock', 'forumlist_profile', false)],
[self::TAGCLOUD, DI::l10n()->t('Tag Cloud'), DI::l10n()->t('Provide a personal tag cloud on your profile page'), false, DI::config()->get('feature_lock', self::TAGCLOUD, false)], [self::TAGCLOUD, DI::l10n()->t('Tag Cloud'), DI::l10n()->t('Provide a personal tag cloud on your profile page'), false, DI::config()->get('feature_lock', self::TAGCLOUD, false)],
[self::MEMBER_SINCE, DI::l10n()->t('Display Membership Date'), DI::l10n()->t('Display membership date in profile'), false, DI::config()->get('feature_lock', self::MEMBER_SINCE, false)], [self::MEMBER_SINCE, DI::l10n()->t('Display Membership Date'), DI::l10n()->t('Display membership date in profile'), false, DI::config()->get('feature_lock', self::MEMBER_SINCE, false)],
], ],

View file

@ -284,8 +284,8 @@ class Nav
$gdirpath = Profile::zrl($this->config->get('system', 'directory'), true); $gdirpath = Profile::zrl($this->config->get('system', 'directory'), true);
} }
if (($this->session->getLocalUserId() || $this->config->get('system', 'community_page_style') != Community::DISABLED_VISITOR) && if (Feature::isEnabled($this->session->getLocalUserId(), Feature::COMMUNITY) && (($this->session->getLocalUserId() || $this->config->get('system', 'community_page_style') != Community::DISABLED_VISITOR) &&
!($this->config->get('system', 'community_page_style') == Community::DISABLED)) { !($this->config->get('system', 'community_page_style') == Community::DISABLED))) {
$nav['community'] = ['community', $this->l10n->t('Community'), '', $this->l10n->t('Conversations on this and other servers')]; $nav['community'] = ['community', $this->l10n->t('Community'), '', $this->l10n->t('Conversations on this and other servers')];
} }

View file

@ -34,23 +34,16 @@ class Features extends BaseAdmin
self::checkFormSecurityTokenRedirectOnError('/admin/features', 'admin_manage_features'); self::checkFormSecurityTokenRedirectOnError('/admin/features', 'admin_manage_features');
$features = Feature::get(false); foreach (Feature::get(false) as $fdata) {
foreach ($features as $fname => $fdata) {
foreach (array_slice($fdata, 1) as $f) { foreach (array_slice($fdata, 1) as $f) {
$feature = $f[0]; $feature = $f[0];
$feature_state = 'feature_' . $feature; $feature_state = 'feature_' . $feature;
$featurelock = 'featurelock_' . $feature; $featurelock = 'featurelock_' . $feature;
if (!empty($_POST[$feature_state])) { DI::config()->set('feature', $feature, !empty($_POST[$feature_state]));
$val = intval($_POST[$feature_state]);
} else {
$val = 0;
}
DI::config()->set('feature', $feature, $val);
if (!empty($_POST[$featurelock])) { if (!empty($_POST[$featurelock])) {
DI::config()->set('feature_lock', $feature, 1); DI::config()->set('feature_lock', $feature, true);
} else { } else {
DI::config()->delete('feature_lock', $feature); DI::config()->delete('feature_lock', $feature);
} }
@ -71,10 +64,11 @@ class Features extends BaseAdmin
$features[$fname][0] = $fdata[0]; $features[$fname][0] = $fdata[0];
foreach (array_slice($fdata, 1) as $f) { foreach (array_slice($fdata, 1) as $f) {
$set = DI::config()->get('feature', $f[0], $f[3]); $set = DI::config()->get('feature', $f[0], $f[3]);
$features[$fname][1][] = [ $feature = [['feature_' . $f[0], $f[1], $set, $f[2]]];
['feature_' . $f[0], $f[1], $set, $f[2]], if (empty($f[5])) {
['featurelock_' . $f[0], DI::l10n()->t('Lock feature %s', $f[1]), $f[4], ''] $feature[] = ['featurelock_' . $f[0], DI::l10n()->t('Lock feature %s', $f[1]), $f[4], ''];
]; }
$features[$fname][1][] = $feature;
} }
} }

View file

@ -130,20 +130,34 @@ class Network extends Timeline
$o = ''; $o = '';
$this->page['aside'] .= Circle::sidebarWidget($module, $module . '/circle', 'standard', $this->circleId); if (Feature::isEnabled($this->session->getLocalUserId(), Feature::CIRCLES)) {
$this->page['aside'] .= GroupManager::widget($this->session->getLocalUserId()); $this->page['aside'] .= Circle::sidebarWidget($module, $module . '/circle', 'standard', $this->circleId);
$this->page['aside'] .= Widget::postedByYear($module . '/archive', $this->session->getLocalUserId(), false); }
$this->page['aside'] .= Widget::networks($module, $this->network); if (Feature::isEnabled($this->session->getLocalUserId(), Feature::GROUPS)) {
$this->page['aside'] .= Widget::accountTypes($module, $this->accountTypeString); $this->page['aside'] .= GroupManager::widget($this->session->getLocalUserId());
$this->page['aside'] .= Widget::channels($module, $this->selectedTab, $this->session->getLocalUserId()); }
$this->page['aside'] .= Widget\SavedSearches::getHTML($this->args->getQueryString()); if (Feature::isEnabled($this->session->getLocalUserId(), Feature::ARCHIVE)) {
$this->page['aside'] .= Widget::fileAs('filed', ''); $this->page['aside'] .= Widget::postedByYear($module . '/archive', $this->session->getLocalUserId(), false);
}
if (Feature::isEnabled($this->session->getLocalUserId(), Feature::NETWORKS)) {
$this->page['aside'] .= Widget::networks($module, $this->network);
}
if (Feature::isEnabled($this->session->getLocalUserId(), Feature::ACCOUNTS)) {
$this->page['aside'] .= Widget::accountTypes($module, $this->accountTypeString);
}
if (Feature::isEnabled($this->session->getLocalUserId(), Feature::CHANNELS)) {
$this->page['aside'] .= Widget::channels($module, $this->selectedTab, $this->session->getLocalUserId());
}
if (Feature::isEnabled($this->session->getLocalUserId(), Feature::SEARCHES)) {
$this->page['aside'] .= Widget\SavedSearches::getHTML($this->args->getQueryString());
}
if (Feature::isEnabled($this->session->getLocalUserId(), Feature::FOLDERS)) {
$this->page['aside'] .= Widget::fileAs('filed', '');
}
if (($this->channel->isTimeline($this->selectedTab) || $this->userDefinedChannel->isTimeline($this->selectedTab, $this->session->getLocalUserId())) && if (($this->channel->isTimeline($this->selectedTab) || $this->userDefinedChannel->isTimeline($this->selectedTab, $this->session->getLocalUserId())) &&
!in_array($this->selectedTab, [Channel::FOLLOWERS, Channel::FORYOU, Channel::DISCOVER])) { !in_array($this->selectedTab, [Channel::FOLLOWERS, Channel::FORYOU, Channel::DISCOVER]) && Feature::isEnabled($this->session->getLocalUserId(), Feature::NOSHARER)) {
$this->page['aside'] .= $this->getNoSharerWidget('network'); $this->page['aside'] .= $this->getNoSharerWidget('network');
} }
if (Feature::isEnabled($this->session->getLocalUserId(), Feature::TRENDING_TAGS)) { if (Feature::isEnabled($this->session->getLocalUserId(), Feature::TRENDING_TAGS)) {
$this->page['aside'] .= TrendingTags::getHTML($this->selectedTab); $this->page['aside'] .= TrendingTags::getHTML($this->selectedTab);
} }

View file

@ -49,7 +49,7 @@ class Features extends BaseSettings
BaseSettings::checkFormSecurityTokenRedirectOnError('/settings/features', 'settings_features'); BaseSettings::checkFormSecurityTokenRedirectOnError('/settings/features', 'settings_features');
foreach ($request as $k => $v) { foreach ($request as $k => $v) {
if (strpos($k, 'feature_') === 0) { if (strpos($k, 'feature_') === 0) {
$this->pConfig->set($this->session->getLocalUserId(), 'feature', substr($k, 8), ((intval($v)) ? 1 : 0)); $this->pConfig->set($this->session->getLocalUserId(), 'feature', substr($k, 8), (bool)$v);
} }
} }
} }
@ -58,9 +58,8 @@ class Features extends BaseSettings
{ {
parent::content($request); parent::content($request);
$arr = []; $arr = [];
$features = Feature::get(); foreach (Feature::get() as $name => $feature) {
foreach ($features as $name => $feature) {
$arr[$name] = []; $arr[$name] = [];
$arr[$name][0] = $feature[0]; $arr[$name][0] = $feature[0];
foreach (array_slice($feature, 1) as $f) { foreach (array_slice($feature, 1) as $f) {

View file

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: 2024.06-dev\n" "Project-Id-Version: 2024.06-dev\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-03-24 13:55+0000\n" "POT-Creation-Date: 2024-03-25 07:19+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"
@ -280,7 +280,7 @@ msgstr ""
msgid "Your message:" msgid "Your message:"
msgstr "" msgstr ""
#: mod/message.php:199 mod/message.php:354 src/Content/Conversation.php:370 #: mod/message.php:199 mod/message.php:354 src/Content/Conversation.php:369
#: src/Module/Post/Edit.php:131 #: src/Module/Post/Edit.php:131
msgid "Upload photo" msgid "Upload photo"
msgstr "" msgstr ""
@ -290,7 +290,7 @@ msgid "Insert web link"
msgstr "" msgstr ""
#: mod/message.php:201 mod/message.php:357 mod/photos.php:1297 #: mod/message.php:201 mod/message.php:357 mod/photos.php:1297
#: src/Content/Conversation.php:401 src/Content/Conversation.php:1586 #: src/Content/Conversation.php:400 src/Content/Conversation.php:1583
#: src/Module/Item/Compose.php:206 src/Module/Post/Edit.php:145 #: src/Module/Item/Compose.php:206 src/Module/Post/Edit.php:145
#: src/Object/Post.php:624 #: src/Object/Post.php:624
msgid "Please wait" msgid "Please wait"
@ -478,7 +478,7 @@ msgstr ""
msgid "Do not show a status post for this upload" msgid "Do not show a status post for this upload"
msgstr "" msgstr ""
#: mod/photos.php:732 mod/photos.php:1093 src/Content/Conversation.php:403 #: mod/photos.php:732 mod/photos.php:1093 src/Content/Conversation.php:402
#: src/Module/Calendar/Event/Form.php:253 src/Module/Post/Edit.php:183 #: src/Module/Calendar/Event/Form.php:253 src/Module/Post/Edit.php:183
msgid "Permissions" msgid "Permissions"
msgstr "" msgstr ""
@ -491,7 +491,7 @@ msgstr ""
msgid "Delete Album" msgid "Delete Album"
msgstr "" msgstr ""
#: mod/photos.php:799 mod/photos.php:899 src/Content/Conversation.php:419 #: mod/photos.php:799 mod/photos.php:899 src/Content/Conversation.php:417
#: src/Module/Contact/Follow.php:173 src/Module/Contact/Revoke.php:109 #: src/Module/Contact/Follow.php:173 src/Module/Contact/Revoke.php:109
#: src/Module/Contact/Unfollow.php:126 #: src/Module/Contact/Unfollow.php:126
#: src/Module/Media/Attachment/Browser.php:77 #: src/Module/Media/Attachment/Browser.php:77
@ -610,23 +610,23 @@ msgid "Comment"
msgstr "" msgstr ""
#: mod/photos.php:1139 mod/photos.php:1195 mod/photos.php:1275 #: mod/photos.php:1139 mod/photos.php:1195 mod/photos.php:1275
#: src/Content/Conversation.php:416 src/Module/Calendar/Event/Form.php:248 #: src/Content/Conversation.php:414 src/Module/Calendar/Event/Form.php:248
#: src/Module/Item/Compose.php:201 src/Module/Post/Edit.php:165 #: src/Module/Item/Compose.php:201 src/Module/Post/Edit.php:165
#: src/Object/Post.php:1182 #: src/Object/Post.php:1182
msgid "Preview" msgid "Preview"
msgstr "" msgstr ""
#: mod/photos.php:1140 src/Content/Conversation.php:369 #: mod/photos.php:1140 src/Content/Conversation.php:368
#: src/Module/Post/Edit.php:130 src/Object/Post.php:1170 #: src/Module/Post/Edit.php:130 src/Object/Post.php:1170
msgid "Loading..." msgid "Loading..."
msgstr "" msgstr ""
#: mod/photos.php:1232 src/Content/Conversation.php:1501 #: mod/photos.php:1232 src/Content/Conversation.php:1498
#: src/Object/Post.php:274 #: src/Object/Post.php:274
msgid "Select" msgid "Select"
msgstr "" msgstr ""
#: mod/photos.php:1233 src/Content/Conversation.php:1502 #: mod/photos.php:1233 src/Content/Conversation.php:1499
#: src/Module/Moderation/Users/Active.php:136 #: src/Module/Moderation/Users/Active.php:136
#: src/Module/Moderation/Users/Blocked.php:136 #: src/Module/Moderation/Users/Blocked.php:136
#: src/Module/Moderation/Users/Index.php:151 #: src/Module/Moderation/Users/Index.php:151
@ -1239,281 +1239,281 @@ msgid_plural "<button type=\"button\" %2$s>%1$d people</button> reshared this"
msgstr[0] "" msgstr[0] ""
msgstr[1] "" msgstr[1] ""
#: src/Content/Conversation.php:338 #: src/Content/Conversation.php:337
msgid "Visible to <strong>everybody</strong>" msgid "Visible to <strong>everybody</strong>"
msgstr "" msgstr ""
#: src/Content/Conversation.php:339 src/Module/Item/Compose.php:200 #: src/Content/Conversation.php:338 src/Module/Item/Compose.php:200
#: src/Object/Post.php:1181 #: src/Object/Post.php:1181
msgid "Please enter a image/video/audio/webpage URL:" msgid "Please enter a image/video/audio/webpage URL:"
msgstr "" msgstr ""
#: src/Content/Conversation.php:340 #: src/Content/Conversation.php:339
msgid "Tag term:" msgid "Tag term:"
msgstr "" msgstr ""
#: src/Content/Conversation.php:341 src/Module/Filer/SaveTag.php:73 #: src/Content/Conversation.php:340 src/Module/Filer/SaveTag.php:73
msgid "Save to Folder:" msgid "Save to Folder:"
msgstr "" msgstr ""
#: src/Content/Conversation.php:342 #: src/Content/Conversation.php:341
msgid "Where are you right now?" msgid "Where are you right now?"
msgstr "" msgstr ""
#: src/Content/Conversation.php:343 #: src/Content/Conversation.php:342
msgid "Delete item(s)?" msgid "Delete item(s)?"
msgstr "" msgstr ""
#: src/Content/Conversation.php:355 src/Module/Item/Compose.php:175 #: src/Content/Conversation.php:354 src/Module/Item/Compose.php:175
msgid "Created at" msgid "Created at"
msgstr "" msgstr ""
#: src/Content/Conversation.php:365 #: src/Content/Conversation.php:364
msgid "New Post" msgid "New Post"
msgstr "" msgstr ""
#: src/Content/Conversation.php:368 #: src/Content/Conversation.php:367
msgid "Share" msgid "Share"
msgstr "" msgstr ""
#: src/Content/Conversation.php:371 src/Module/Post/Edit.php:132 #: src/Content/Conversation.php:370 src/Module/Post/Edit.php:132
msgid "upload photo" msgid "upload photo"
msgstr "" msgstr ""
#: src/Content/Conversation.php:372 src/Module/Post/Edit.php:133 #: src/Content/Conversation.php:371 src/Module/Post/Edit.php:133
msgid "Attach file" msgid "Attach file"
msgstr "" msgstr ""
#: src/Content/Conversation.php:373 src/Module/Post/Edit.php:134 #: src/Content/Conversation.php:372 src/Module/Post/Edit.php:134
msgid "attach file" msgid "attach file"
msgstr "" msgstr ""
#: src/Content/Conversation.php:374 src/Module/Item/Compose.php:190 #: src/Content/Conversation.php:373 src/Module/Item/Compose.php:190
#: src/Module/Post/Edit.php:171 src/Object/Post.php:1171 #: src/Module/Post/Edit.php:171 src/Object/Post.php:1171
msgid "Bold" msgid "Bold"
msgstr "" msgstr ""
#: src/Content/Conversation.php:375 src/Module/Item/Compose.php:191 #: src/Content/Conversation.php:374 src/Module/Item/Compose.php:191
#: src/Module/Post/Edit.php:172 src/Object/Post.php:1172 #: src/Module/Post/Edit.php:172 src/Object/Post.php:1172
msgid "Italic" msgid "Italic"
msgstr "" msgstr ""
#: src/Content/Conversation.php:376 src/Module/Item/Compose.php:192 #: src/Content/Conversation.php:375 src/Module/Item/Compose.php:192
#: src/Module/Post/Edit.php:173 src/Object/Post.php:1173 #: src/Module/Post/Edit.php:173 src/Object/Post.php:1173
msgid "Underline" msgid "Underline"
msgstr "" msgstr ""
#: src/Content/Conversation.php:377 src/Module/Item/Compose.php:193 #: src/Content/Conversation.php:376 src/Module/Item/Compose.php:193
#: src/Module/Post/Edit.php:174 src/Object/Post.php:1175 #: src/Module/Post/Edit.php:174 src/Object/Post.php:1175
msgid "Quote" msgid "Quote"
msgstr "" msgstr ""
#: src/Content/Conversation.php:378 src/Module/Item/Compose.php:194 #: src/Content/Conversation.php:377 src/Module/Item/Compose.php:194
#: src/Module/Post/Edit.php:175 src/Object/Post.php:1176 #: src/Module/Post/Edit.php:175 src/Object/Post.php:1176
msgid "Add emojis" msgid "Add emojis"
msgstr "" msgstr ""
#: src/Content/Conversation.php:379 src/Module/Item/Compose.php:195 #: src/Content/Conversation.php:378 src/Module/Item/Compose.php:195
#: src/Object/Post.php:1174 #: src/Object/Post.php:1174
msgid "Content Warning" msgid "Content Warning"
msgstr "" msgstr ""
#: src/Content/Conversation.php:380 src/Module/Item/Compose.php:196 #: src/Content/Conversation.php:379 src/Module/Item/Compose.php:196
#: src/Module/Post/Edit.php:176 src/Object/Post.php:1177 #: src/Module/Post/Edit.php:176 src/Object/Post.php:1177
msgid "Code" msgid "Code"
msgstr "" msgstr ""
#: src/Content/Conversation.php:381 src/Module/Item/Compose.php:197 #: src/Content/Conversation.php:380 src/Module/Item/Compose.php:197
#: src/Object/Post.php:1178 #: src/Object/Post.php:1178
msgid "Image" msgid "Image"
msgstr "" msgstr ""
#: src/Content/Conversation.php:382 src/Module/Item/Compose.php:198 #: src/Content/Conversation.php:381 src/Module/Item/Compose.php:198
#: src/Module/Post/Edit.php:177 src/Object/Post.php:1179 #: src/Module/Post/Edit.php:177 src/Object/Post.php:1179
msgid "Link" msgid "Link"
msgstr "" msgstr ""
#: src/Content/Conversation.php:383 src/Module/Item/Compose.php:199 #: src/Content/Conversation.php:382 src/Module/Item/Compose.php:199
#: src/Module/Post/Edit.php:178 src/Object/Post.php:1180 #: src/Module/Post/Edit.php:178 src/Object/Post.php:1180
msgid "Link or Media" msgid "Link or Media"
msgstr "" msgstr ""
#: src/Content/Conversation.php:384 #: src/Content/Conversation.php:383
msgid "Video" msgid "Video"
msgstr "" msgstr ""
#: src/Content/Conversation.php:385 src/Module/Item/Compose.php:202 #: src/Content/Conversation.php:384 src/Module/Item/Compose.php:202
#: src/Module/Post/Edit.php:141 #: src/Module/Post/Edit.php:141
msgid "Set your location" msgid "Set your location"
msgstr "" msgstr ""
#: src/Content/Conversation.php:386 src/Module/Post/Edit.php:142 #: src/Content/Conversation.php:385 src/Module/Post/Edit.php:142
msgid "set location" msgid "set location"
msgstr "" msgstr ""
#: src/Content/Conversation.php:387 src/Module/Post/Edit.php:143 #: src/Content/Conversation.php:386 src/Module/Post/Edit.php:143
msgid "Clear browser location" msgid "Clear browser location"
msgstr "" msgstr ""
#: src/Content/Conversation.php:388 src/Module/Post/Edit.php:144 #: src/Content/Conversation.php:387 src/Module/Post/Edit.php:144
msgid "clear location" msgid "clear location"
msgstr "" msgstr ""
#: src/Content/Conversation.php:390 src/Module/Item/Compose.php:207 #: src/Content/Conversation.php:389 src/Module/Item/Compose.php:207
#: src/Module/Post/Edit.php:157 #: src/Module/Post/Edit.php:157
msgid "Set title" msgid "Set title"
msgstr "" msgstr ""
#: src/Content/Conversation.php:392 src/Module/Item/Compose.php:208 #: src/Content/Conversation.php:391 src/Module/Item/Compose.php:208
#: src/Module/Post/Edit.php:159 #: src/Module/Post/Edit.php:159
msgid "Categories (comma-separated list)" msgid "Categories (comma-separated list)"
msgstr "" msgstr ""
#: src/Content/Conversation.php:397 src/Module/Item/Compose.php:224 #: src/Content/Conversation.php:396 src/Module/Item/Compose.php:224
msgid "Scheduled at" msgid "Scheduled at"
msgstr "" msgstr ""
#: src/Content/Conversation.php:402 src/Module/Post/Edit.php:146 #: src/Content/Conversation.php:401 src/Module/Post/Edit.php:146
msgid "Permission settings" msgid "Permission settings"
msgstr "" msgstr ""
#: src/Content/Conversation.php:412 src/Module/Post/Edit.php:155 #: src/Content/Conversation.php:410 src/Module/Post/Edit.php:155
msgid "Public post" msgid "Public post"
msgstr "" msgstr ""
#: src/Content/Conversation.php:426 src/Content/Widget/VCard.php:130 #: src/Content/Conversation.php:424 src/Content/Widget/VCard.php:130
#: src/Model/Profile.php:482 src/Module/Admin/Logs/View.php:92 #: src/Model/Profile.php:482 src/Module/Admin/Logs/View.php:92
#: src/Module/Post/Edit.php:181 #: src/Module/Post/Edit.php:181
msgid "Message" msgid "Message"
msgstr "" msgstr ""
#: src/Content/Conversation.php:427 src/Module/Post/Edit.php:182 #: src/Content/Conversation.php:425 src/Module/Post/Edit.php:182
#: src/Module/Settings/TwoFactor/Trusted.php:143 #: src/Module/Settings/TwoFactor/Trusted.php:143
msgid "Browser" msgid "Browser"
msgstr "" msgstr ""
#: src/Content/Conversation.php:429 src/Module/Post/Edit.php:185 #: src/Content/Conversation.php:427 src/Module/Post/Edit.php:185
msgid "Open Compose page" msgid "Open Compose page"
msgstr "" msgstr ""
#: src/Content/Conversation.php:597 #: src/Content/Conversation.php:594
msgid "remove" msgid "remove"
msgstr "" msgstr ""
#: src/Content/Conversation.php:601 #: src/Content/Conversation.php:598
msgid "Delete Selected Items" msgid "Delete Selected Items"
msgstr "" msgstr ""
#: src/Content/Conversation.php:729 src/Content/Conversation.php:732 #: src/Content/Conversation.php:726 src/Content/Conversation.php:729
#: src/Content/Conversation.php:735 src/Content/Conversation.php:738 #: src/Content/Conversation.php:732 src/Content/Conversation.php:735
#: src/Content/Conversation.php:741 #: src/Content/Conversation.php:738
#, php-format #, php-format
msgid "You had been addressed (%s)." msgid "You had been addressed (%s)."
msgstr "" msgstr ""
#: src/Content/Conversation.php:744 #: src/Content/Conversation.php:741
#, php-format #, php-format
msgid "You are following %s." msgid "You are following %s."
msgstr "" msgstr ""
#: src/Content/Conversation.php:749 #: src/Content/Conversation.php:746
#, php-format #, php-format
msgid "You subscribed to %s." msgid "You subscribed to %s."
msgstr "" msgstr ""
#: src/Content/Conversation.php:751 #: src/Content/Conversation.php:748
msgid "You subscribed to one or more tags in this post." msgid "You subscribed to one or more tags in this post."
msgstr "" msgstr ""
#: src/Content/Conversation.php:771 #: src/Content/Conversation.php:768
#, php-format #, php-format
msgid "%s reshared this." msgid "%s reshared this."
msgstr "" msgstr ""
#: src/Content/Conversation.php:773 #: src/Content/Conversation.php:770
msgid "Reshared" msgid "Reshared"
msgstr "" msgstr ""
#: src/Content/Conversation.php:773 #: src/Content/Conversation.php:770
#, php-format #, php-format
msgid "Reshared by %s <%s>" msgid "Reshared by %s <%s>"
msgstr "" msgstr ""
#: src/Content/Conversation.php:776 #: src/Content/Conversation.php:773
#, php-format #, php-format
msgid "%s is participating in this thread." msgid "%s is participating in this thread."
msgstr "" msgstr ""
#: src/Content/Conversation.php:779 #: src/Content/Conversation.php:776
msgid "Stored for general reasons" msgid "Stored for general reasons"
msgstr "" msgstr ""
#: src/Content/Conversation.php:782 #: src/Content/Conversation.php:779
msgid "Global post" msgid "Global post"
msgstr "" msgstr ""
#: src/Content/Conversation.php:785 #: src/Content/Conversation.php:782
msgid "Sent via an relay server" msgid "Sent via an relay server"
msgstr "" msgstr ""
#: src/Content/Conversation.php:785 #: src/Content/Conversation.php:782
#, php-format #, php-format
msgid "Sent via the relay server %s <%s>" msgid "Sent via the relay server %s <%s>"
msgstr "" msgstr ""
#: src/Content/Conversation.php:788 #: src/Content/Conversation.php:785
msgid "Fetched" msgid "Fetched"
msgstr "" msgstr ""
#: src/Content/Conversation.php:788 #: src/Content/Conversation.php:785
#, php-format #, php-format
msgid "Fetched because of %s <%s>" msgid "Fetched because of %s <%s>"
msgstr "" msgstr ""
#: src/Content/Conversation.php:791 #: src/Content/Conversation.php:788
msgid "Stored because of a child post to complete this thread." msgid "Stored because of a child post to complete this thread."
msgstr "" msgstr ""
#: src/Content/Conversation.php:794 #: src/Content/Conversation.php:791
msgid "Local delivery" msgid "Local delivery"
msgstr "" msgstr ""
#: src/Content/Conversation.php:797 #: src/Content/Conversation.php:794
msgid "Stored because of your activity (like, comment, star, ...)" msgid "Stored because of your activity (like, comment, star, ...)"
msgstr "" msgstr ""
#: src/Content/Conversation.php:800 #: src/Content/Conversation.php:797
msgid "Distributed" msgid "Distributed"
msgstr "" msgstr ""
#: src/Content/Conversation.php:803 #: src/Content/Conversation.php:800
msgid "Pushed to us" msgid "Pushed to us"
msgstr "" msgstr ""
#: src/Content/Conversation.php:1529 src/Object/Post.php:261 #: src/Content/Conversation.php:1526 src/Object/Post.php:261
msgid "Pinned item" msgid "Pinned item"
msgstr "" msgstr ""
#: src/Content/Conversation.php:1546 src/Object/Post.php:563 #: src/Content/Conversation.php:1543 src/Object/Post.php:563
#: src/Object/Post.php:564 #: src/Object/Post.php:564
#, php-format #, php-format
msgid "View %s's profile @ %s" msgid "View %s's profile @ %s"
msgstr "" msgstr ""
#: src/Content/Conversation.php:1559 src/Object/Post.php:551 #: src/Content/Conversation.php:1556 src/Object/Post.php:551
msgid "Categories:" msgid "Categories:"
msgstr "" msgstr ""
#: src/Content/Conversation.php:1560 src/Object/Post.php:552 #: src/Content/Conversation.php:1557 src/Object/Post.php:552
msgid "Filed under:" msgid "Filed under:"
msgstr "" msgstr ""
#: src/Content/Conversation.php:1568 src/Object/Post.php:577 #: src/Content/Conversation.php:1565 src/Object/Post.php:577
#, php-format #, php-format
msgid "%s from %s" msgid "%s from %s"
msgstr "" msgstr ""
#: src/Content/Conversation.php:1584 #: src/Content/Conversation.php:1581
msgid "View in context" msgid "View in context"
msgstr "" msgstr ""
@ -1669,13 +1669,14 @@ msgid ""
msgstr "" msgstr ""
#: src/Content/Feature.php:109 #: src/Content/Feature.php:109
msgid "Trending Tags" msgid "Display the community in the navigation"
msgstr "" msgstr ""
#: src/Content/Feature.php:109 #: src/Content/Feature.php:109
msgid "" msgid ""
"Show a community page widget with a list of the most popular tags in recent " "If enabled, the community can be accessed via the navigation menu. "
"public posts." "Independant from this setting, the community timelines can always be "
"accessed via the channels."
msgstr "" msgstr ""
#: src/Content/Feature.php:114 #: src/Content/Feature.php:114
@ -1716,51 +1717,131 @@ msgid "Add categories to your posts"
msgstr "" msgstr ""
#: src/Content/Feature.php:127 #: src/Content/Feature.php:127
msgid "Advanced Profile Settings" msgid "Network Widgets"
msgstr ""
#: src/Content/Feature.php:128 src/Content/Widget.php:216
#: src/Model/Circle.php:601 src/Module/Contact.php:400
#: src/Module/Welcome.php:76
msgid "Circles"
msgstr "" msgstr ""
#: src/Content/Feature.php:128 #: src/Content/Feature.php:128
msgid "List Groups" msgid ""
"Display posts that have been created by accounts of the selected circle."
msgstr "" msgstr ""
#: src/Content/Feature.php:128 #: src/Content/Feature.php:129 src/Content/GroupManager.php:147
msgid "Show visitors public groups at the Advanced Profile Page" #: src/Content/Nav.php:278 src/Content/Text/HTML.php:881
#: src/Content/Widget.php:538 src/Model/User.php:1385
msgid "Groups"
msgstr "" msgstr ""
#: src/Content/Feature.php:129 #: src/Content/Feature.php:129
msgid "Tag Cloud" msgid "Display posts that have been distributed by the selected group."
msgstr "" msgstr ""
#: src/Content/Feature.php:129 #: src/Content/Feature.php:130 src/Content/Widget.php:507
msgid "Provide a personal tag cloud on your profile page" msgid "Archives"
msgstr "" msgstr ""
#: src/Content/Feature.php:130 #: src/Content/Feature.php:130
msgid "Display Membership Date" msgid "Display an archive where posts can be selected by month and year."
msgstr "" msgstr ""
#: src/Content/Feature.php:130 #: src/Content/Feature.php:131 src/Content/Widget.php:289
msgid "Display membership date in profile" msgid "Protocols"
msgstr ""
#: src/Content/Feature.php:131
msgid "Display posts with the selected protocols."
msgstr ""
#: src/Content/Feature.php:132 src/Content/Widget.php:544
#: src/Module/Settings/Account.php:442
msgid "Account Types"
msgstr ""
#: src/Content/Feature.php:132
msgid "Display posts done by accounts with the selected account type."
msgstr ""
#: src/Content/Feature.php:133 src/Content/Widget.php:593
#: src/Module/Admin/Site.php:474 src/Module/BaseSettings.php:125
#: src/Module/Settings/Channels.php:219 src/Module/Settings/Display.php:318
msgid "Channels"
msgstr ""
#: src/Content/Feature.php:133
msgid "Display posts in the system channels and user defined channels."
msgstr ""
#: src/Content/Feature.php:134 src/Content/Widget/SavedSearches.php:60
msgid "Saved Searches"
msgstr ""
#: src/Content/Feature.php:134
msgid "Display posts that contain subscribed hashtags."
msgstr ""
#: src/Content/Feature.php:135 src/Content/Widget.php:319
msgid "Saved Folders"
msgstr "" msgstr ""
#: src/Content/Feature.php:135 #: src/Content/Feature.php:135
msgid "Advanced Calendar Settings" msgid "Display a list of folders in which posts are stored."
msgstr "" msgstr ""
#: src/Content/Feature.php:136 #: src/Content/Feature.php:136 src/Module/Conversation/Timeline.php:196
msgid "Allow anonymous access to your calendar" msgid "Own Contacts"
msgstr "" msgstr ""
#: src/Content/Feature.php:136 #: src/Content/Feature.php:136
msgid "" msgid ""
"Allows anonymous visitors to consult your calendar and your public events. " "Include or exclude posts from subscribed accounts. This widget is not "
"Contact birthday events are private to you." "visible on all channels."
msgstr "" msgstr ""
#: src/Content/GroupManager.php:147 src/Content/Nav.php:278 #: src/Content/Feature.php:137
#: src/Content/Text/HTML.php:881 src/Content/Widget.php:538 msgid "Trending Tags"
#: src/Model/User.php:1385 msgstr ""
msgid "Groups"
#: src/Content/Feature.php:137
msgid "Display a list of the most popular tags in recent public posts."
msgstr ""
#: src/Content/Feature.php:142
msgid "Advanced Profile Settings"
msgstr ""
#: src/Content/Feature.php:143
msgid "Tag Cloud"
msgstr ""
#: src/Content/Feature.php:143
msgid "Provide a personal tag cloud on your profile page"
msgstr ""
#: src/Content/Feature.php:144
msgid "Display Membership Date"
msgstr ""
#: src/Content/Feature.php:144
msgid "Display membership date in profile"
msgstr ""
#: src/Content/Feature.php:149
msgid "Advanced Calendar Settings"
msgstr ""
#: src/Content/Feature.php:150
msgid "Allow anonymous access to your calendar"
msgstr ""
#: src/Content/Feature.php:150
msgid ""
"Allows anonymous visitors to consult your calendar and your public events. "
"Contact birthday events are private to you."
msgstr "" msgstr ""
#: src/Content/GroupManager.php:149 #: src/Content/GroupManager.php:149
@ -2296,11 +2377,6 @@ msgstr ""
msgid "Local Directory" msgid "Local Directory"
msgstr "" msgstr ""
#: src/Content/Widget.php:216 src/Model/Circle.php:601
#: src/Module/Contact.php:400 src/Module/Welcome.php:76
msgid "Circles"
msgstr ""
#: src/Content/Widget.php:218 #: src/Content/Widget.php:218
msgid "Everyone" msgid "Everyone"
msgstr "" msgstr ""
@ -2318,18 +2394,10 @@ msgstr ""
msgid "All Contacts" msgid "All Contacts"
msgstr "" msgstr ""
#: src/Content/Widget.php:289
msgid "Protocols"
msgstr ""
#: src/Content/Widget.php:291 #: src/Content/Widget.php:291
msgid "All Protocols" msgid "All Protocols"
msgstr "" msgstr ""
#: src/Content/Widget.php:319
msgid "Saved Folders"
msgstr ""
#: src/Content/Widget.php:321 src/Content/Widget.php:352 #: src/Content/Widget.php:321 src/Content/Widget.php:352
msgid "Everything" msgid "Everything"
msgstr "" msgstr ""
@ -2345,10 +2413,6 @@ msgid_plural "%d contacts in common"
msgstr[0] "" msgstr[0] ""
msgstr[1] "" msgstr[1] ""
#: src/Content/Widget.php:507
msgid "Archives"
msgstr ""
#: src/Content/Widget.php:515 #: src/Content/Widget.php:515
msgid "On this date" msgid "On this date"
msgstr "" msgstr ""
@ -2369,20 +2433,10 @@ msgstr ""
msgid "Relays" msgid "Relays"
msgstr "" msgstr ""
#: src/Content/Widget.php:544 src/Module/Settings/Account.php:442
msgid "Account Types"
msgstr ""
#: src/Content/Widget.php:546 src/Module/Moderation/BaseUsers.php:69 #: src/Content/Widget.php:546 src/Module/Moderation/BaseUsers.php:69
msgid "All" msgid "All"
msgstr "" msgstr ""
#: src/Content/Widget.php:593 src/Module/Admin/Site.php:474
#: src/Module/BaseSettings.php:125 src/Module/Settings/Channels.php:219
#: src/Module/Settings/Display.php:318
msgid "Channels"
msgstr ""
#: src/Content/Widget/CalendarExport.php:56 #: src/Content/Widget/CalendarExport.php:56
msgid "Export" msgid "Export"
msgstr "" msgstr ""
@ -2414,10 +2468,6 @@ msgstr ""
msgid "Remove term" msgid "Remove term"
msgstr "" msgstr ""
#: src/Content/Widget/SavedSearches.php:60
msgid "Saved Searches"
msgstr ""
#: src/Content/Widget/TrendingTags.php:52 #: src/Content/Widget/TrendingTags.php:52
#, php-format #, php-format
msgid "Trending Tags (last %d hour)" msgid "Trending Tags (last %d hour)"
@ -3030,18 +3080,18 @@ msgstr ""
msgid "The debug logfile '%s' is not usable. No logging possible (error: '%s')" msgid "The debug logfile '%s' is not usable. No logging possible (error: '%s')"
msgstr "" msgstr ""
#: src/Core/Renderer.php:89 src/Core/Renderer.php:118 src/Core/Renderer.php:147 #: src/Core/Renderer.php:92 src/Core/Renderer.php:121 src/Core/Renderer.php:150
#: src/Core/Renderer.php:181 src/Render/FriendicaSmartyEngine.php:60 #: src/Core/Renderer.php:184 src/Render/FriendicaSmartyEngine.php:60
msgid "" msgid ""
"Friendica can't display this page at the moment, please contact the " "Friendica can't display this page at the moment, please contact the "
"administrator." "administrator."
msgstr "" msgstr ""
#: src/Core/Renderer.php:143 #: src/Core/Renderer.php:146
msgid "template engine cannot be registered without a name." msgid "template engine cannot be registered without a name."
msgstr "" msgstr ""
#: src/Core/Renderer.php:177 #: src/Core/Renderer.php:180
msgid "template engine is not registered!" msgid "template engine is not registered!"
msgstr "" msgstr ""
@ -3988,14 +4038,14 @@ msgstr ""
msgid "Addon %s failed to install." msgid "Addon %s failed to install."
msgstr "" msgstr ""
#: src/Module/Admin/Addons/Index.php:69 src/Module/Admin/Features.php:86 #: src/Module/Admin/Addons/Index.php:69 src/Module/Admin/Features.php:80
#: src/Module/Admin/Logs/Settings.php:87 src/Module/Admin/Site.php:460 #: src/Module/Admin/Logs/Settings.php:87 src/Module/Admin/Site.php:460
#: src/Module/Admin/Themes/Index.php:113 src/Module/Admin/Tos.php:86 #: src/Module/Admin/Themes/Index.php:113 src/Module/Admin/Tos.php:86
#: src/Module/Settings/Account.php:551 src/Module/Settings/Addons.php:78 #: src/Module/Settings/Account.php:551 src/Module/Settings/Addons.php:78
#: src/Module/Settings/Connectors.php:160 #: src/Module/Settings/Connectors.php:160
#: src/Module/Settings/Connectors.php:246 #: src/Module/Settings/Connectors.php:246
#: src/Module/Settings/Delegation.php:193 src/Module/Settings/Display.php:312 #: src/Module/Settings/Delegation.php:193 src/Module/Settings/Display.php:312
#: src/Module/Settings/Features.php:76 #: src/Module/Settings/Features.php:75
msgid "Save Settings" msgid "Save Settings"
msgstr "" msgstr ""
@ -4070,12 +4120,12 @@ msgstr ""
msgid "Attempt to execute this update step automatically" msgid "Attempt to execute this update step automatically"
msgstr "" msgstr ""
#: src/Module/Admin/Features.php:76 #: src/Module/Admin/Features.php:69
#, php-format #, php-format
msgid "Lock feature %s" msgid "Lock feature %s"
msgstr "" msgstr ""
#: src/Module/Admin/Features.php:84 #: src/Module/Admin/Features.php:78
msgid "Manage Additional Features" msgid "Manage Additional Features"
msgstr "" msgstr ""
@ -4085,7 +4135,7 @@ msgstr ""
msgid "Other" msgid "Other"
msgstr "" msgstr ""
#: src/Module/Admin/Federation.php:160 src/Module/Admin/Federation.php:409 #: src/Module/Admin/Federation.php:160 src/Module/Admin/Federation.php:408
msgid "unknown" msgid "unknown"
msgstr "" msgstr ""
@ -4149,7 +4199,7 @@ msgstr ""
msgid "Federation Statistics" msgid "Federation Statistics"
msgstr "" msgstr ""
#: src/Module/Admin/Federation.php:225 #: src/Module/Admin/Federation.php:224
#, php-format #, php-format
msgid "" msgid ""
"Currently this node is aware of %2$s node (%3$s active users last month, " "Currently this node is aware of %2$s node (%3$s active users last month, "
@ -5848,7 +5898,7 @@ msgstr ""
msgid "Missing parameters" msgid "Missing parameters"
msgstr "" msgstr ""
#: src/Module/Api/Mastodon/Statuses/Bookmark.php:51 #: src/Module/Api/Mastodon/Statuses/Bookmark.php:50
msgid "Only starting posts can be bookmarked" msgid "Only starting posts can be bookmarked"
msgstr "" msgstr ""
@ -6621,8 +6671,8 @@ msgstr ""
#: src/Module/Contact/Follow.php:170 src/Module/Contact/Profile.php:407 #: src/Module/Contact/Follow.php:170 src/Module/Contact/Profile.php:407
#: 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:131
#: src/Module/Moderation/Reports.php:104 #: src/Module/Moderation/Reports.php:102
#: src/Module/Notifications/Introductions.php:129 #: src/Module/Notifications/Introductions.php:129
#: src/Module/Notifications/Introductions.php:198 #: src/Module/Notifications/Introductions.php:198
msgid "Profile URL" msgid "Profile URL"
@ -7065,28 +7115,24 @@ msgstr ""
msgid "Not available." msgid "Not available."
msgstr "" msgstr ""
#: src/Module/Conversation/Network.php:200 #: src/Module/Conversation/Network.php:214
msgid "No such circle" msgid "No such circle"
msgstr "" msgstr ""
#: src/Module/Conversation/Network.php:204 #: src/Module/Conversation/Network.php:218
#, php-format #, php-format
msgid "Circle: %s" msgid "Circle: %s"
msgstr "" msgstr ""
#: src/Module/Conversation/Network.php:223 #: src/Module/Conversation/Network.php:237
#, php-format #, php-format
msgid "Error %d (%s) while fetching the timeline." msgid "Error %d (%s) while fetching the timeline."
msgstr "" msgstr ""
#: src/Module/Conversation/Network.php:300 #: src/Module/Conversation/Network.php:314
msgid "Network feed not available." msgid "Network feed not available."
msgstr "" msgstr ""
#: src/Module/Conversation/Timeline.php:196
msgid "Own Contacts"
msgstr ""
#: src/Module/Conversation/Timeline.php:200 #: src/Module/Conversation/Timeline.php:200
msgid "Include" msgid "Include"
msgstr "" msgstr ""
@ -7973,28 +8019,28 @@ msgstr ""
msgid "Reason" msgid "Reason"
msgstr "" msgstr ""
#: src/Module/Moderation/Blocklist/Contact.php:130 #: src/Module/Moderation/Blocklist/Contact.php:128
#, php-format #, php-format
msgid "%s total blocked contact" msgid "%s total blocked contact"
msgid_plural "%s total blocked contacts" msgid_plural "%s total blocked contacts"
msgstr[0] "" msgstr[0] ""
msgstr[1] "" msgstr[1] ""
#: src/Module/Moderation/Blocklist/Contact.php:133 #: src/Module/Moderation/Blocklist/Contact.php:131
msgid "URL of the remote contact to block." msgid "URL of the remote contact to block."
msgstr "" msgstr ""
#: src/Module/Moderation/Blocklist/Contact.php:134 #: src/Module/Moderation/Blocklist/Contact.php:132
msgid "Also purge contact" msgid "Also purge contact"
msgstr "" msgstr ""
#: src/Module/Moderation/Blocklist/Contact.php:134 #: src/Module/Moderation/Blocklist/Contact.php:132
msgid "" msgid ""
"Removes all content related to this contact from the node. Keeps the contact " "Removes all content related to this contact from the node. Keeps the contact "
"record. This action cannot be undone." "record. This action cannot be undone."
msgstr "" msgstr ""
#: src/Module/Moderation/Blocklist/Contact.php:135 #: src/Module/Moderation/Blocklist/Contact.php:133
#: src/Module/Moderation/Blocklist/Server/Import.php:124 #: src/Module/Moderation/Blocklist/Server/Import.php:124
msgid "Block Reason" msgid "Block Reason"
msgstr "" msgstr ""
@ -8540,14 +8586,14 @@ msgstr ""
msgid "Category" msgid "Category"
msgstr "" msgstr ""
#: src/Module/Moderation/Reports.php:101 #: src/Module/Moderation/Reports.php:99
#, php-format #, php-format
msgid "%s total report" msgid "%s total report"
msgid_plural "%s total reports" msgid_plural "%s total reports"
msgstr[0] "" msgstr[0] ""
msgstr[1] "" msgstr[1] ""
#: src/Module/Moderation/Reports.php:104 #: src/Module/Moderation/Reports.php:102
msgid "URL of the reported contact." msgid "URL of the reported contact."
msgstr "" msgstr ""
@ -10775,7 +10821,7 @@ msgstr ""
msgid "Default calendar view:" msgid "Default calendar view:"
msgstr "" msgstr ""
#: src/Module/Settings/Features.php:74 #: src/Module/Settings/Features.php:73
msgid "Additional Features" msgid "Additional Features"
msgstr "" msgstr ""

View file

@ -18,7 +18,9 @@
{{foreach $f.1 as $fcat}} {{foreach $f.1 as $fcat}}
<div class="settings-block"> <div class="settings-block">
{{include file="field_checkbox.tpl" field=$fcat.0}} {{include file="field_checkbox.tpl" field=$fcat.0}}
{{include file="field_checkbox.tpl" field=$fcat.1}} {{if $fcat.1}}
{{include file="field_checkbox.tpl" field=$fcat.1}}
{{/if}}
</div> </div>
{{/foreach}} {{/foreach}}
</div> </div>