***************************************** * MASTER LIST OF TEMPLATE VARIABLES * * for * *. FRIENDICA THEMES * ***************************************** Friendica uses Smarty3 for all of its templates. However it does NOT use "assign" for the template variables! Normally in Smarty3 you would "assign" variables something like this within a template: {assign var="name" value="Bob"} (or shorthand: {assign "name" "Bob"} ) or it is done as a class object like this: $smarty->assign('name', 'Bob'); Friendica, however, assigns template variables as regular PHP variables. First within some function it gets the relevante template: $tpl = Renderer::getMarkupTemplate('name_of_template.tpl'); Then it does sort of a find & replace on all the variable names as key => value pairs of an array: $return = Renderer::replaceMacros( $tpl, [ '$name' => 'Bob', '$l10n' => [ 'pagetitle' => $l10n->t('Page Title'), ], '$things' => $things, ]); Then that PHP variable name that is the key is what you put in the .tpl file:
Name: {{$name}}
If the value is an array you can put it in the .tpl file using dot notation:upload_max_filesize
in your PHP.ini
needs be set to at least the desired limit.
Currently upload_max_filesize
is set to %s (%s byte)', Strings::formatBytes(Strings::getBytesFromShorthand(ini_get('upload_max_filesize'))), Strings::getBytesFromShorthand(ini_get('upload_max_filesize'))),
'', 'pattern="\d+(?:\s*[kmg])?"'],
'$maximagelength' => ['maximagelength', DI::l10n()->t('Maximum image length'), DI::config()->get('system', 'max_image_length'), DI::l10n()->t('Maximum length in pixels of the longest side of uploaded images. Default is -1, which means no limits.')],
'$jpegimagequality' => ['jpegimagequality', DI::l10n()->t('JPEG image quality'), DI::config()->get('system', 'jpeg_quality'), DI::l10n()->t('Uploaded JPEGS will be saved at this quality setting [0-100]. Default is 100, which is full quality.')],
'$maxfilesize' => ['maxfilesize', DI::l10n()->t('Maximum media file size'), DI::config()->get('system', 'maxfilesize'), DI::l10n()->t('Maximum size in bytes of uploaded media files. Default is 0, which means no limits. You can put k, m, or g behind the desired value for KiB, MiB, GiB, respectively.
The value of upload_max_filesize
in your PHP.ini
needs be set to at least the desired limit.
Currently upload_max_filesize
is set to %s (%s byte)', Strings::formatBytes(Strings::getBytesFromShorthand(ini_get('upload_max_filesize'))), Strings::getBytesFromShorthand(ini_get('upload_max_filesize'))),
'', 'pattern="\d+(?:\s*[kmg])?"'],
'$register_policy' => ['register_policy', DI::l10n()->t('Register policy'), DI::config()->get('config', 'register_policy'), '', $register_choices],
'$max_registered_users' => ['max_registered_users', DI::l10n()->t('Maximum Users'), DI::config()->get('config', 'max_registered_users'), DI::l10n()->t('If defined, the register policy is automatically closed when the given number of users is reached and reopens the registry when the number drops below the limit. It only works when the policy is set to open or close, but not when the policy is set to approval.')],
'$daily_registrations' => ['max_daily_registrations', DI::l10n()->t('Maximum Daily Registrations'), DI::config()->get('system', 'max_daily_registrations'), DI::l10n()->t('If registration is permitted above, this sets the maximum number of new user registrations to accept per day. If register is set to closed, this setting has no effect.')],
'$register_text' => ['register_text', DI::l10n()->t('Register text'), DI::config()->get('config', 'register_text'), DI::l10n()->t('Will be displayed prominently on the registration page. You can use BBCode here.')],
'$forbidden_nicknames' => ['forbidden_nicknames', DI::l10n()->t('Forbidden Nicknames'), DI::config()->get('system', 'forbidden_nicknames'), DI::l10n()->t('Comma separated list of nicknames that are forbidden from registration. Preset is a list of role names according RFC 2142.')],
'$abandon_days' => ['abandon_days', DI::l10n()->t('Accounts abandoned after x days'), DI::config()->get('system', 'account_abandon_days'), DI::l10n()->t('Will not waste system resources polling external sites for abandonded accounts. Enter 0 for no time limit.')],
'$allowed_sites' => ['allowed_sites', DI::l10n()->t('Allowed friend domains'), DI::config()->get('system', 'allowed_sites'), DI::l10n()->t('Comma separated list of domains which are allowed to establish friendships with this site. Wildcards are accepted. Empty to allow any domains')],
'$allowed_email' => ['allowed_email', DI::l10n()->t('Allowed email domains'), DI::config()->get('system', 'allowed_email'), DI::l10n()->t('Comma separated list of domains which are allowed in email addresses for registrations to this site. Wildcards are accepted. Empty to allow any domains')],
'$disallowed_email' => ['disallowed_email', DI::l10n()->t('Disallowed email domains'), DI::config()->get('system', 'disallowed_email'), DI::l10n()->t('Comma separated list of domains which are rejected as email addresses for registrations to this site. Wildcards are accepted.')],
'$no_oembed_rich_content' => ['no_oembed_rich_content', DI::l10n()->t('No OEmbed rich content'), DI::config()->get('system', 'no_oembed_rich_content'), DI::l10n()->t('Don\'t show the rich content (e.g. embedded PDF), except from the domains listed below.')],
'$allowed_oembed' => ['allowed_oembed', DI::l10n()->t('Trusted third-party domains'), DI::config()->get('system', 'allowed_oembed'), DI::l10n()->t('Comma separated list of domains from which content is allowed to be embedded in posts like with OEmbed. All sub-domains of the listed domains are allowed as well.')],
'$block_public' => ['block_public', DI::l10n()->t('Block public'), DI::config()->get('system', 'block_public'), DI::l10n()->t('Check to block public access to all otherwise public personal pages on this site unless you are currently logged in.')],
'$force_publish' => ['publish_all', DI::l10n()->t('Force publish'), DI::config()->get('system', 'publish_all'), DI::l10n()->t('Check to force all profiles on this site to be listed in the site directory.') . '' . DI::l10n()->t('Enabling this may violate privacy laws like the GDPR') . ''],
'$global_directory' => ['directory', DI::l10n()->t('Global directory URL'), DI::config()->get('system', 'directory'), DI::l10n()->t('URL to the global directory. If this is not set, the global directory is completely unavailable to the application.')],
'$newuser_private' => ['newuser_private', DI::l10n()->t('Private posts by default for new users'), DI::config()->get('system', 'newuser_private'), DI::l10n()->t('Set default post permissions for all new members to the default privacy circle rather than public.')],
'$enotify_no_content' => ['enotify_no_content', DI::l10n()->t('Don\'t include post content in email notifications'), DI::config()->get('system', 'enotify_no_content'), DI::l10n()->t('Don\'t include the content of a post/comment/private message/etc. in the email notifications that are sent out from this site, as a privacy measure.')],
'$private_addons' => ['private_addons', DI::l10n()->t('Disallow public access to addons listed in the apps menu.'), DI::config()->get('config', 'private_addons'), DI::l10n()->t('Checking this box will restrict addons listed in the apps menu to members only.')],
'$disable_embedded' => ['disable_embedded', DI::l10n()->t('Don\'t embed private images in posts'), DI::config()->get('system', 'disable_embedded'), DI::l10n()->t('Don\'t replace locally-hosted private photos in posts with an embedded copy of the image. This means that contacts who receive posts containing private photos will have to authenticate and load each image, which may take a while.')],
'$explicit_content' => ['explicit_content', DI::l10n()->t('Explicit Content'), DI::config()->get('system', 'explicit_content'), DI::l10n()->t('Set this to announce that your node is used mostly for explicit content that might not be suited for minors. This information will be published in the node information and might be used, e.g. by the global directory, to filter your node from listings of nodes to join. Additionally a note about this will be shown at the user registration page.')],
'$local_search' => ['local_search', DI::l10n()->t('Only local search'), DI::config()->get('system', 'local_search'), DI::l10n()->t('Blocks search for users who are not logged in to prevent crawlers from blocking your system.')],
'$blocked_tags' => ['blocked_tags', DI::l10n()->t('Blocked tags for trending tags'), DI::config()->get('system', 'blocked_tags'), DI::l10n()->t("Comma separated list of hashtags that shouldn't be displayed in the trending tags.")],
'$cache_contact_avatar' => ['cache_contact_avatar', DI::l10n()->t('Cache contact avatars'), DI::config()->get('system', 'cache_contact_avatar'), DI::l10n()->t('Locally store the avatar pictures of the contacts. This uses a lot of storage space but it increases the performance.')],
'$allow_users_remote_self'=> ['allow_users_remote_self', DI::l10n()->t('Allow Users to set remote_self'), DI::config()->get('system', 'allow_users_remote_self'), DI::l10n()->t('With checking this, every user is allowed to mark every contact as a remote_self in the repair contact dialog. Setting this flag on a contact causes mirroring every posting of that contact in the users stream.')],
'$allow_relay_channels' => ['allow_relay_channels', DI::l10n()->t('Allow Users to set up relay channels'), DI::config()->get('system', 'allow_relay_channels'), DI::l10n()->t('If enabled, it is possible to create relay users that are used to reshare content based on user defined channels.')],
'$adjust_poll_frequency' => ['adjust_poll_frequency', DI::l10n()->t('Adjust the feed poll frequency'), DI::config()->get('system', 'adjust_poll_frequency'), DI::l10n()->t('Automatically detect and set the best feed poll frequency.')],
'$min_poll_interval' => ['min_poll_interval', DI::l10n()->t('Minimum poll interval'), DI::config()->get('system', 'min_poll_interval'), DI::l10n()->t('Minimal distance in minutes between two polls for mail and feed contacts. Reasonable values are between 1 and 59.')],
'$enable_multi_reg' => ['enable_multi_reg', DI::l10n()->t('Enable multiple registrations'), !DI::config()->get('system', 'block_extended_register'), DI::l10n()->t('Enable users to register additional accounts for use as pages.')],
'$enable_openid' => ['enable_openid', DI::l10n()->t('Enable OpenID'), !DI::config()->get('system', 'no_openid'), DI::l10n()->t('Enable OpenID support for registration and logins.')],
'$enable_regfullname' => ['enable_regfullname', DI::l10n()->t('Enable full name check'), !DI::config()->get('system', 'no_regfullname'), DI::l10n()->t('Prevents users from registering with a display name with fewer than two parts separated by spaces.')],
'$register_notification' => ['register_notification', DI::l10n()->t('Email administrators on new registration'), DI::config()->get('system', 'register_notification'), DI::l10n()->t('If enabled and the system is set to an open registration, an email for each new registration is sent to the administrators.')],
'$community_page_style' => ['community_page_style', DI::l10n()->t('Community pages for visitors'), DI::config()->get('system', 'community_page_style'), DI::l10n()->t('Which community pages should be available for visitors. Local users always see both pages.'), $community_page_style_choices],
'$max_author_posts_community_page' => ['max_author_posts_community_page', DI::l10n()->t('Posts per user on community page'), DI::config()->get('system', 'max_author_posts_community_page'), DI::l10n()->t('The maximum number of posts per user on the local community page. This is useful, when a single user floods the local community page.')],
'$max_server_posts_community_page' => ['max_server_posts_community_page', DI::l10n()->t('Posts per server on community page'), DI::config()->get('system', 'max_server_posts_community_page'), DI::l10n()->t('The maximum number of posts per server on the global community page. This is useful, when posts from a single server flood the global community page.')],
'$mail_able' => function_exists('imap_open'),
'$mail_enabled' => ['mail_enabled', DI::l10n()->t('Enable Mail support'), !DI::config()->get('system', 'imap_disabled', !function_exists('imap_open')), DI::l10n()->t('Enable built-in mail support to poll IMAP folders and to reply via mail.')],
'$mail_not_able' => DI::l10n()->t('Mail support can\'t be enabled because the PHP IMAP module is not installed.'),
'$diaspora_able' => $diaspora_able,
'$diaspora_not_able' => DI::l10n()->t('Diaspora support can\'t be enabled because Friendica was installed into a sub directory.'),
'$diaspora_enabled' => ['diaspora_enabled', DI::l10n()->t('Enable Diaspora support'), DI::config()->get('system', 'diaspora_enabled', $diaspora_able), DI::l10n()->t('Enable built-in Diaspora network compatibility for communicating with diaspora servers.')],
'$verifyssl' => ['verifyssl', DI::l10n()->t('Verify SSL'), DI::config()->get('system', 'verifyssl'), DI::l10n()->t('If you wish, you can turn on strict certificate checking. This will mean you cannot connect (at all) to self-signed SSL sites.')],
'$proxyuser' => ['proxyuser', DI::l10n()->t('Proxy user'), DI::config()->get('system', 'proxyuser'), DI::l10n()->t('User name for the proxy server.')],
'$proxy' => ['proxy', DI::l10n()->t('Proxy URL'), DI::config()->get('system', 'proxy'), DI::l10n()->t('If you want to use a proxy server that Friendica should use to connect to the network, put the URL of the proxy here.')],
'$timeout' => ['timeout', DI::l10n()->t('Network timeout'), DI::config()->get('system', 'curl_timeout'), DI::l10n()->t('Value is in seconds. Set to 0 for unlimited (not recommended).')],
'$maxloadavg' => ['maxloadavg', DI::l10n()->t('Maximum Load Average'), DI::config()->get('system', 'maxloadavg'), DI::l10n()->t('Maximum system load before delivery and poll processes are deferred - default %d.', 20)],
'$min_memory' => ['min_memory', DI::l10n()->t('Minimal Memory'), DI::config()->get('system', 'min_memory'), DI::l10n()->t('Minimal free memory in MB for the worker. Needs access to /proc/meminfo - default 0 (deactivated).')],
'$optimize_tables' => ['optimize_tables', DI::l10n()->t('Periodically optimize tables'), DI::config()->get('system', 'optimize_tables'), DI::l10n()->t('Periodically optimize tables like the cache and the workerqueue')],
'$contact_discovery' => ['contact_discovery', DI::l10n()->t('Discover followers/followings from contacts'), DI::config()->get('system', 'contact_discovery'), DI::l10n()->t('If enabled, contacts are checked for their followers and following contacts.') . '/view/themes
'),
'$experimental' => DI::l10n()->t('[Experimental]'),
'$unsupported' => DI::l10n()->t('[Unsupported]'),
'$form_security_token' => self::getFormSecurityToken('admin_themes'),
admin/tos.tpl
==============
found in /src/Module/Admin/Tos.php
----------------------------------
'$title' => $this->t('Administration'),
'$page' => $this->t('Terms of Service'),
'$displaytos' => ['displaytos', $this->t('Display Terms of Service'), $this->config->get('system', 'tosdisplay'), $this->t('Enable the Terms of Service page. If this is enabled a link to the terms will be added to the registration form and the general information page.')],
'$displayprivstatement' => ['displayprivstatement', $this->t('Display Privacy Statement'), $this->config->get('system', 'tosprivstatement'), $this->t('Show some informations regarding the needed information to operate the node according e.g. to EU-GDPR.', 'https://en.wikipedia.org/wiki/General_Data_Protection_Regulation')],
'$preview' => $this->t('Privacy Statement Preview'),
'$privtext' => $this->tos->privacy_complete,
'$tostext' => ['tostext', $this->t('The Terms of Service'), $this->config->get('system', 'tostext'), $this->t('Enter the Terms of Service for your node here. You can use BBCode. Headers of sections should be [h2] and below.')],
'$tosrules' => ['tosrules', $this->t('The rules'), $this->config->get('system', 'tosrules'), $this->t('Enter your system rules here. Each line represents one rule.')],
'$form_security_token' => self::getFormSecurityToken('admin_tos'),
'$submit' => $this->t('Save Settings'),
admin/aside.tpl
========================
found in /src/Module/BaseAdmin.php
-----------------------------------
'$admin' => ['addons_admin' => Addon::getAdminList()],
'$subpages' => [
'information' => [DI::l10n()->t('Information'), [
'overview' => ['admin' , DI::l10n()->t('Overview') , 'overview'],
'federation' => ['admin/federation' , DI::l10n()->t('Federation Statistics') , 'federation']
]],
'configuration' => [DI::l10n()->t('Configuration'), [
'site' => ['admin/site' , DI::l10n()->t('Site') , 'site'],
'storage' => ['admin/storage' , DI::l10n()->t('Storage') , 'storage'],
'addons' => ['admin/addons' , DI::l10n()->t('Addons') , 'addons'],
'themes' => ['admin/themes' , DI::l10n()->t('Themes') , 'themes'],
'features' => ['admin/features' , DI::l10n()->t('Additional features') , 'features'],
'tos' => ['admin/tos' , DI::l10n()->t('Terms of Service') , 'tos'],
]],
'database' => [DI::l10n()->t('Database'), [
'dbsync' => ['admin/dbsync' , DI::l10n()->t('DB updates') , 'dbsync'],
'deferred' => ['admin/queue/deferred', DI::l10n()->t('Inspect Deferred Workers'), 'deferred'],
'workerqueue' => ['admin/queue' , DI::l10n()->t('Inspect worker Queue') , 'workerqueue'],
]],
'logs' => [DI::l10n()->t('Logs'), [
'logsconfig' => ['admin/logs/', DI::l10n()->t('Logs') , 'logs'],
'logsview' => ['admin/logs/view' , DI::l10n()->t('View Logs') , 'viewlogs'],
]],
'diagnostics' => [DI::l10n()->t('Diagnostics'), [
'phpinfo' => ['admin/phpinfo?t=' . self::getFormSecurityToken('phpinfo'), DI::l10n()->t('PHP Info') , 'phpinfo'],
'probe' => ['probe' , DI::l10n()->t('probe address') , 'probe'],
'webfinger' => ['webfinger' , DI::l10n()->t('check webfinger') , 'webfinger'],
'babel' => ['babel' , DI::l10n()->t('Babel') , 'babel'],
'debug/ap' => ['debug/ap' , DI::l10n()->t('ActivityPub Conversion') , 'debug/ap'],
]],
],
'$admtxt' => DI::l10n()->t('Admin'),
'$plugadmtxt' => DI::l10n()->t('Addon Features'),
'$h_pending' => DI::l10n()->t('User registrations waiting for confirmation'),
'$admurl' => 'admin/'
apps.tpl
=========
found in /src/Module/Apps.php
-------------------------------
'$title' => $this->t('Applications'),
'$apps' => $apps,
moderation/settings_head.tpl
==============================
found in /src/Module/BaseModeration.php
'information' => [$this->t('Information'), [
'overview' => ['moderation', $this->t('Overview'), 'overview'],
'reports' => ['moderation/reports', $this->t('Reports'), 'overview'],
]],
'configuration' => [$this->t('Configuration'), [
'users' => ['moderation/users', $this->t('Users'), 'users'],
]],
'tools' => [$this->t('Tools'), [
'contactblock' => ['moderation/blocklist/contact', $this->t('Contact Blocklist'), 'contactblock'],
'blocklist' => ['moderation/blocklist/server', $this->t('Server Blocklist'), 'blocklist'],
'deleteitem' => ['moderation/item/delete', $this->t('Delete Item'), 'deleteitem'],
]],
'diagnostics' => [$this->t('Diagnostics'), [
'itemsource' => ['moderation/item/source', $this->t('Item Source'), 'itemsource'],
]],
moderation/aside.tpl
======================
found in /src/Module/BaseModeration.php
-----------------------------------------
'$subpages' => [
'information' => [$this->t('Information'), [
'overview' => ['moderation', $this->t('Overview'), 'overview'],
'reports' => ['moderation/reports', $this->t('Reports'), 'overview'],
]],
'configuration' => [$this->t('Configuration'), [
'users' => ['moderation/users', $this->t('Users'), 'users'],
]],
'tools' => [$this->t('Tools'), [
'contactblock' => ['moderation/blocklist/contact', $this->t('Contact Blocklist'), 'contactblock'],
'blocklist' => ['moderation/blocklist/server', $this->t('Server Blocklist'), 'blocklist'],
'deleteitem' => ['moderation/item/delete', $this->t('Delete Item'), 'deleteitem'],
]],
'diagnostics' => [$this->t('Diagnostics'), [
'itemsource' => ['moderation/item/source', $this->t('Item Source'), 'itemsource'],
]],
],
'$admtxt' => $this->t('Moderation'),
'$h_pending' => $this->t('User registrations waiting for confirmation'),
'$modurl' => 'moderation/'
notifications/notifications.tpl
================================
found in /src/Module/BaseNotifications.php
--------------------------------------------
'$header' => $header ?? $this->t('Notifications'),
'$tabs' => $tabs,
'$notifications' => $notifications,
'$noContent' => $noContent,
'$showLink' => $showLink,
'$paginate' => $pager->renderMinimal(count($notifications))
common_tabs.tpl
=================
found in /src/Module/BaseProfile.php
found in /src/Module/BaseUsers.php
found in /src/Module/Contact.php
found in /src/Module/Conversation/Channel.php
found in /src/Module/Conversation/Community.php
found in /src/Module/Conversation/Network.php
-----------------------------------------------
'$tabs' => [
[
'label' => DI::l10n()->t('Profile'),
'url' => $baseProfileUrl . '/profile',
'sel' => $current == 'profile' ? 'active' : '',
'title' => DI::l10n()->t('Profile Details'),
'id' => 'profile-tab',
'accesskey' => 'r',
],
[
'label' => DI::l10n()->t('Conversations'),
'url' => $baseProfileUrl . '/conversations',
'sel' => $current == 'status' ? 'active' : '',
'title' => DI::l10n()->t('Conversations started'),
'id' => 'status-tab',
'accesskey' => 'm',
],
[
'label' => DI::l10n()->t('Photos'),
'url' => $baseProfileUrl . '/photos',
'sel' => $current == 'photos' ? 'active' : '',
'title' => DI::l10n()->t('Photo Albums'),
'id' => 'photo-tab',
'accesskey' => 'h',
],
[
'label' => DI::l10n()->t('Media'),
'url' => $baseProfileUrl . '/media',
'sel' => $current == 'media' ? 'active' : '',
'title' => DI::l10n()->t('Media'),
'id' => 'media-tab',
'accesskey' => 'd',
],
[
'label' => DI::l10n()->t('Calendar'),
'url' => DI::baseUrl() . '/calendar' || DI::baseUrl() . '/calendar/show/' . $nickname,
'sel' => $current == 'calendar' ? 'active' : '',
'title' => DI::l10n()->t('Calendar'),
'id' => 'calendar-tab',
'accesskey' => 'c',
],
[
'label' => DI::l10n()->t('Personal Notes'),
'url' => DI::baseUrl() . '/notes',
'sel' => $current == 'notes' ? 'active' : '',
'title' => DI::l10n()->t('Only You Can See This'),
'id' => 'notes-tab',
'accesskey' => 't',
],
[
'label' => DI::l10n()->t('Scheduled Posts'),
'url' => $baseProfileUrl . '/schedule',
'sel' => $current == 'schedule' ? 'active' : '',
'title' => DI::l10n()->t('Posts that are scheduled for publishing'),
'id' => 'schedule-tab',
'accesskey' => 'o',
],
[
'label' => DI::l10n()->t('Contacts'),
'url' => $baseProfileUrl . '/contacts',
'sel' => $current == 'contacts' ? 'active' : '',
'title' => DI::l10n()->t('Contacts'),
'id' => 'viewcontacts-tab',
'accesskey' => 'k',
],
[
'label' => DI::l10n()->t('Tips for New Members'),
'url' => DI::baseUrl() . '/newmember',
'sel' => false,
'title' => DI::l10n()->t('Tips for New Members'),
'id' => 'newmember-tab',
],
]
contact/list.tpl
================
found in /src/Module/BaseSearch.php
found in /src/Module/Contact/Matchinterests.php
found in /src/Module/Contact/Suggestions.php
------------------------------------------------
'$title' => $header,
'$filtered' => $filtered ? DI::l10n()->tt(
'%d result was filtered out because your node blocks the domain it is registered on. You can review the list of domains your node is currently blocking in the About page.',
'%d results were filtered out because your node blocks the domain they are registered on. You can review the list of domains your node is currently blocking in the About page.',
$filtered) : '',
'$contacts' => $entries,
'$paginate' => $pager->renderFull($results->getTotal()),
generic_links_widget.tpl
==========================
'$title' => $this->t('Settings'),
'$class' => 'settings-widget',
'$items' => [
[
'label' => $this->t('Account'),
'url' => 'settings',
'selected' => static::class == Settings\Account::class ? 'active' : '',
'accesskey' => 'o',
],
[
'label' => $this->t('Two-factor authentication'),
'url' => 'settings/2fa',
'selected' => in_array(static::class, [
Settings\TwoFactor\AppSpecific::class,
Settings\TwoFactor\Index::class,
Settings\TwoFactor\Recovery::class,
Settings\TwoFactor\Trusted::class,
Settings\TwoFactor\Verify::class
]) ? 'active' : '',
'accesskey' => '2',
],
[
'label' => $this->t('Profile'),
'url' => 'settings/profile',
'selected' => in_array(static::class, [
Settings\Profile\Index::class,
Settings\Profile\Photo\Crop::class,
Settings\Profile\Photo\Index::class,
]) ? 'active' : '',
'accesskey' => 'p',
],
[
'label' => $this->t('Additional features'),
'url' => 'settings/features',
'selected' => static::class == Settings\Features::class ? 'active' : '',
'accesskey' => 't',
],
[
'label' => $this->t('Display'),
'url' => 'settings/display',
'selected' => static::class == Settings\Display::class ? 'active' : '',
'accesskey' => 'i',
],
[
'label' => $this->t('Channels'),
'url' => 'settings/channels',
'selected' => static::class == Settings\Channels::class ? 'active' : '',
'accesskey' => '',
],
[
'label' => $this->t('Social Networks'),
'url' => 'settings/connectors',
'selected' => static::class == Settings\Connectors::class ? 'active' : '',
'accesskey' => 'w',
],
[
'label' => $this->t('Addons'),
'url' => 'settings/addons',
'selected' => static::class == Settings\Addons::class ? 'active' : '',
'accesskey' => 'l',
],
[
'label' => $this->t('Manage Accounts'),
'url' => 'settings/delegation',
'selected' => static::class == Settings\Delegation::class ? 'active' : '',
'accesskey' => 'd',
],
[
'label' => $this->t('Connected apps'),
'url' => 'settings/oauth',
'selected' => static::class == Settings\OAuth::class ? 'active' : '',
'accesskey' => 'b',
],
[
'label' => $this->t('Remote servers'),
'url' => 'settings/server',
'selected' => static::class == Settings\Server\Index::class ? 'active' : '',
'accesskey' => 's',
],
[
'label' => $this->t('Import Contacts'),
'url' => 'settings/importcontacts',
'selected' => static::class == Settings\UserExport::class ? 'active' : '',
'accesskey' => '',
],
[
'label' => $this->t('Export personal data'),
'url' => 'settings/userexport',
'selected' => static::class == Settings\UserExport::class ? 'active' : '',
'accesskey' => 'e',
],
[
'label' => $this->t('Remove account'),
'url' => 'settings/removeme',
'selected' => static::class === Settings\RemoveMe::class ? 'active' : '',
'accesskey' => 'r',
],
],
calendar/calendar_head.tpl
============================
found in /src/Module/Calendar/Event/Form.php
found in /src/Module/Calendar/Show.php
----------------------------------------------
'$calendar_api' => $this->baseUrl . '/calendar/api/get',
'$event_api' => $this->baseUrl . '/calendar/event/show',
'$modparams' => 2,
'$i18n' => EventModel::getStrings(),
calendar/event_form.tpl
========================
found in /src/Module/Calendar/Event/Form.php
----------------------------------------------
'$post' => 'calendar/api/create',
'$eid' => $eid,
'$cid' => $cid,
'$uri' => $uri,
'$title' => $this->t('Event details'),
'$desc' => $this->t('Starting date and Title are required.'),
'$s_text' => $this->t('Event Starts:') . ' *',
'$s_dsel' => Temporal::getDateTimeField(
new \DateTime(),
\DateTime::createFromFormat('Y', intval($syear) + 5),
\DateTime::createFromFormat('Y-m-d H:i', "$syear-$smonth-$sday $shour:$sminute"),
$this->t('Event Starts:'),
'start_text',
true,
true,
'',
'',
true
),
'$n_text' => $this->t('Finish date/time is not known or not relevant'),
'$n_checked' => $n_checked,
'$f_text' => $this->t('Event Finishes:'),
'$f_dsel' => Temporal::getDateTimeField(
new \DateTime(),
\DateTime::createFromFormat('Y', intval($fyear) + 5),
\DateTime::createFromFormat('Y-m-d H:i', "$fyear-$fmonth-$fday $fhour:$fminute"),
$this->t('Event Finishes:'),
'finish_text',
true,
true,
'start_text'
),
'$t_text' => $this->t('Title (BBCode not allowed)') . ' *',
'$t_orig' => $t_orig,
'$d_text' => $this->t('Description (BBCode allowed)'),
'$d_orig' => $d_orig,
'$l_text' => $this->t('Location (BBCode not allowed)'),
'$l_orig' => $l_orig,
'$summary' => ['summary', $this->t('Title (BBCode not allowed)'), $t_orig, '', '*'],
'$sh_text' => $this->t('Share this event'),
'$share' => ['share', $this->t('Share this event'), $share_checked, '', $share_disabled],
'$sh_checked' => $share_checked,
'$nofinish' => ['nofinish', $this->t('Finish date/time is not known or not relevant'), $n_checked],
'$preview' => $this->t('Preview'),
'$acl' => $acl,
'$submit' => $this->t('Submit'),
'$basic' => $this->t('Basic'),
'$advanced' => $this->t('Advanced'),
'$permissions' => $this->t('Permissions'),
calendar/event.tpl
====================
found in /src/Module/Calendar/Event/Show.php
---------------------------------------------
'$event' => $tplEven
calendar/calendar.tpl
=======================
found in /src/Module/Calendar/Show.php
---------------------------------------
'$tabs' => $tabs,
'$title' => $this->t('Events'),
'$view' => $this->t('View'),
'$new_event' => ['calendar/event/new', $this->t('Create New Event'), '', ''],
'$today' => $this->t('today'),
'$month' => $this->t('month'),
'$week' => $this->t('week'),
'$day' => $this->t('day'),
'$list' => $this->t('list'),
circle_edit.tpl
================
found in /src/Module/Circle.php
--------------------------------
'$title' => DI::l10n()->t('Create a circle of contacts/friends.'),
'$gname' => ['circle_name', DI::l10n()->t('Circle Name: '), '', ''],
'$gid' => 'new',
'$form_security_token' => BaseModule::getFormSecurityToken('circle_edit'),
circle_drop.tpl
================
found in /src/Module/Circle.php
--------------------------------
'$title' => $circle['name'],
'$gname' => ['circle_name', DI::l10n()->t('Circle Name: '), $circle['name'], ''],
'$gid' => $circle['id'],
'$drop' => [
'$id' => $circle['id'],
'$delete' => DI::l10n()->t('Delete Circle'),
'$form_security_token' => BaseModule::getFormSecurityToken('circle_drop'),
],
'$form_security_token' => BaseModule::getFormSecurityToken('circle_edit'),
'$edit_name' => DI::l10n()->t('Edit Circle Name'),
'$editable' => 1,
circle_editor.tpl
==================
found in /src/Module/Circle.php
---------------------------------
'switchtotext' => true,
contact/advanced.tpl
=====================
found in /src/Module/Contact/Advanced.php
------------------------------------------
'$tab_str' => $tab_str,
'$returnaddr' => $returnaddr,
'$return' => $this->t('Return to contact editor'),
'$contact_id' => $contact['id'],
'$lbl_submit' => $this->t('Submit'),
'$name' => ['name', $this->t('Name'), $contact['name'], '', '', $readonly],
'$nick' => ['nick', $this->t('Account Nickname'), $contact['nick'], '', '', 'readonly'],
'$url' => ['url', $this->t('Account URL'), $contact['url'], '', '', 'readonly'],
'poll' => ['poll', $this->t('Poll/Feed URL'), $contact['poll'], '', '', ($contact['network'] == Protocol::FEED) ? '' : 'readonly'],
'photo' => ['photo', $this->t('New photo from this URL'), '', '', '', $readonly],
profile/contacts.tpl
=====================
found in /src/Module/Contact/Contacts.php
found in /src/Module/Profile/Contacts.php
found in /src/Module/Profile/Common.php
------------------------------------------
'$title' => $title,
'$desc' => $desc,
'$tabs' => $tabs,
'$noresult_label' => $noresult_label,
'$contacts' => $contacts,
'$paginate' => $pager->renderFull($total),
auto_request.tpl
=================================
found in /src/Module/Contact/Follow.php
found in /src/Module/Contact/Unfollow.php
found in /src/Module/Profile/RemoteFollow.php
------------------------------------------------
'$header' => $this->t('Connect/Follow'),
'$pls_answer' => $this->t('Please answer the following:'),
'$your_address' => $this->t('Your Identity Address:'),
'$url_label' => $this->t('Profile URL'),
'$keywords_label' => $this->t('Tags:'),
'$submit' => $submit,
'$cancel' => $this->t('Cancel'),
'$action' => $requestUrl,
'$name' => $contact['name'],
'$url' => $contact['url'],
'$zrl' => OpenWebAuth::getZrlUrl($contact['url']),
'$myaddr' => $myaddr,
'$keywords' => $contact['keywords'],
'$does_know_you' => ['knowyou', $this->t('%s knows you', $contact['name'])],
'$addnote_field' => ['dfrn-request-message', $this->t('Add a personal note:')],
section_title.tpl
==================
found in /src/Module/Post/Edit.php
found in /src/Module/Contact/Follow.php
found in /src/Module/Contact/Unfollow.php
found in /src/Module/Search/Index.php
found in /src/Module/Conversation/Network.php
----------------------------------------------
'$title' => $this->t('Posts and Replies'),
contact/list.tpl
==================
'$title' => $this->t('Profile Match'),
'$contacts' => array_slice($entries, 0, $limit),
contact_head.tpl
==================
found in /src/Module/Contact/Profile.php
------------------------------------------
(nothing apparently)
contact_edit.tpl
=================
found in /src/Module/Contact/Profile.php
----------------------------------------
'$header' => $this->t('Contact'),
'$tab_str' => $tab_str,
'$submit' => $this->t('Submit'),
'$lbl_info1' => $lbl_info1,
'$lbl_info2' => $this->t('Their personal note'),
'$reason' => trim($contact['reason'] ?? ''),
'$infedit' => $this->t('Edit contact notes'),
'$common_link' => 'contact/' . $contact['id'] . '/contacts/common',
'$relation_text' => $relation_text,
'$visit' => $this->t('Visit %s\'s profile [%s]', $contact['name'], $contact['url']),
'$blockunblock' => $this->t('Block/Unblock contact'),
'$ignorecont' => $this->t('Ignore contact'),
'$lblrecent' => $this->t('View conversations'),
'$lblsuggest' => $lblsuggest,
'$nettype' => $nettype,
'$poll_interval' => $poll_interval,
'$poll_enabled' => $poll_enabled,
'$lastupdtext' => $this->t('Last update:'),
'$lost_contact' => $lost_contact,
'$updpub' => $this->t('Update public posts'),
'$last_update' => $last_update,
'$udnow' => $this->t('Update now'),
'$contact_id' => $contact['id'],
'$pending' => $localRelationship->pending ? $this->t('Awaiting connection acknowledge') : '',
'$blocked' => $localRelationship->blocked ? $this->t('Currently blocked') : '',
'$ignored' => $localRelationship->ignored ? $this->t('Currently ignored') : '',
'$collapsed' => $localRelationship->collapsed ? $this->t('Currently collapsed') : '',
'$archived' => ($contact['archive'] ? $this->t('Currently archived') : ''),
'$insecure' => (in_array($contact['network'], [Protocol::ACTIVITYPUB, Protocol::DFRN, Protocol::MAIL, Protocol::DIASPORA]) ? '' : $insecure),
'$serverIgnored' => $serverIgnored,
'$manageServers' => $this->t('Manage remote servers'),
'$cinfo' => ['info', '', $localRelationship->info, ''],
'$hidden' => ['hidden', $this->t('Hide this contact from others'), $localRelationship->hidden, $this->t('Replies/likes to your public posts may still be visible')],
'$notify_new_posts' => ['notify_new_posts', $this->t('Notification for new posts'), ($localRelationship->notifyNewPosts), $this->t('Send a notification of every new post of this contact')],
'$fetch_further_information' => $fetch_further_information,
'$ffi_keyword_denylist' => ['ffi_keyword_denylist', $this->t('Keyword Deny List'), $localRelationship->ffiKeywordDenylist, $this->t('Comma separated list of keywords that should not be converted to hashtags, when "Fetch information and keywords" is selected')],
'$photo' => Contact::getPhoto($contact),
'$name' => $contact['name'],
'$sparkle' => $sparkle,
'$url' => $url,
'$profileurllabel' => $this->t('Profile URL'),
'$profileurl' => $contact['url'],
'$account_type' => Contact::getAccountType($contact['contact-type']),
'$location' => BBCode::convertForUriId($contact['uri-id'] ?? 0, $contact['location']),
'$location_label' => $this->t('Location:'),
'$xmpp' => BBCode::convertForUriId($contact['uri-id'] ?? 0, $contact['xmpp']),
'$xmpp_label' => $this->t('XMPP:'),
'$matrix' => BBCode::convertForUriId($contact['uri-id'] ?? 0, $contact['matrix']),
'$matrix_label' => $this->t('Matrix:'),
'$about' => BBCode::convertForUriId($contact['uri-id'] ?? 0, $contact['about'], BBCode::EXTERNAL),
'$about_label' => $this->t('About:'),
'$keywords' => $contact['keywords'],
'$keywords_label' => $this->t('Tags:'),
'$contact_action_button' => $this->t('Actions'),
'$contact_actions' => $contact_actions,
'$contact_status' => $this->t('Status'),
'$contact_settings_label' => $contact_settings_label,
'$contact_profile_label' => $this->t('Profile'),
'$allow_remote_self' => $allow_remote_self,
'$remote_self' => [
'remote_self',
$this->t('Mirror postings from this contact'),
$localRelationship->remoteSelf,
$this->t('Mark this contact as remote_self, this will cause friendica to repost new entries from this contact.'),
$remote_self_options
],
'$channel_settings_label' => $this->t('Channel Settings'),
'$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_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_always' => ['channel_frequency', $this->t('Display all posts of this contact'), Contact\User::FREQUENCY_ALWAYS, $this->t('All posts from this contact will appear on the "for you" channel'), $channel_frequency == Contact\User::FREQUENCY_ALWAYS],
'$frequency_reduced' => ['channel_frequency', $this->t('Display only few posts'), Contact\User::FREQUENCY_REDUCED, $this->t('When a contact creates a lot of posts in a short period, this setting reduces the number of displayed posts in every channel.'), $channel_frequency == Contact\User::FREQUENCY_REDUCED],
'$frequency_never' => ['channel_frequency', $this->t('Never display posts'), Contact\User::FREQUENCY_NEVER, $this->t('Posts from this contact will never be displayed in any channel'), $channel_frequency == Contact\User::FREQUENCY_NEVER],
'$channel_only' => ['channel_only', $this->t('Channel Only'), $channel_only, $this->t('If enabled, posts from this contact will only appear in channels and network streams in circles, but not in the general network stream.')],
contact_drop_confirm.tpl
==========================
found in /src/Module/Contact/Revoke.php
----------------------------------------
'$l10n' => [
'header' => $this->t('Revoke Follow'),
'message' => $this->t('Do you really want to revoke this contact\'s follow? This cannot be undone and they will have to manually follow you back again.'),
'confirm' => $this->t('Yes'),
'cancel' => $this->t('Cancel'),
],
'$contact' => Contact::getContactTemplateVars($this->contact),
'$method' => 'post',
'$confirm_url' => $this->args->getCommand(),
'$confirm_name' => 'form_security_token',
'$confirm_value' => BaseModule::getFormSecurityToken('contact_revoke'),
contact/list.tpl
=================
'$title' => $this->t('Friend Suggestions'),
'$contacts' => $entries,
contacts-template.tpl
=====================
found in /src/Module/Contact.php
---------------------------------
'$header' => $header,
'$tabs' => $tabs_html,
'$total' => $total,
'$search' => $search_hdr,
'$desc' => DI::l10n()->t('Search your contacts'),
'$finding' => $searching ? DI::l10n()->t('Results for: %s', $search) : '',
'$submit' => DI::l10n()->t('Find'),
'$cmd' => DI::args()->getCommand(),
'$parameter' => http_build_query($request),
'$contacts' => $contacts,
'$form_security_token' => BaseModule::getFormSecurityToken('contact_batch_actions'),
'multiselect' => 1,
'$batch_actions' => [
'contacts_batch_update' => DI::l10n()->t('Update'),
'contacts_batch_block' => DI::l10n()->t('Block') . '/' . DI::l10n()->t('Unblock'),
'contacts_batch_ignore' => DI::l10n()->t('Ignore') . '/' . DI::l10n()->t('Unignore'),
'contacts_batch_collapse' => DI::l10n()->t('Collapse') . '/' . DI::l10n()->t('Uncollapse'),
],
'$h_batch_actions' => DI::l10n()->t('Batch Actions'),
'$paginate' => $pager->renderFull($total),
community.tpl
==============
found in /src/Module/Conversation/Channel.php
found in /src/Module/Conversation/Community.php
----------------------------------------------
'$content' => '',
'$header' => '',
widget/community_sharer.tpl
============================
found in /src/Module/Conversation/Timeline.php
-----------------------------------------------
'$title' => $this->l10n->t('Own Contacts'),
'$path_all' => $path_all,
'$path_no_sharer' => $path_no_sharer,
'$no_sharer' => $this->noSharer,
'$all' => $this->l10n->t('Include'),
'$no_sharer_label' => $this->l10n->t('Hide'),
'$base' => $base,
credits.tpl
============
found in /src/Module/Credits.php
---------------------------------
'$title' => DI::l10n()->t('Credits'),
'$thanks' => DI::l10n()->t('Friendica is a community project, that would not be possible without the help of many people. Here is a list of those who have contributed to the code or the translation of Friendica. Thank you all!'),
'$names' => $names,
debug/activitypubconversion.tpl
================================
found in /src/Module/Debug/ActivityPubConversation.php
-------------------------------------------------------
'$title' => DI::l10n()->t('ActivityPub Conversion'),
'$source' => ['source', DI::l10n()->t('Source activity'), $_REQUEST['source'] ?? '', ''],
'$results' => $results,
'$submit' => DI::l10n()->t('Submit'),
babel.tpl
==========
found in /src/Module/Debug/Babel.php
--------------------------------------
'$title' => DI::l10n()->t('Babel Diagnostic'),
'$form_security_token' => self::getFormSecurityToken('babel'),
'$text' => ['text', DI::l10n()->t('Source text'), $request['text'] ?? '', ''],
'$type_bbcode' => ['type', DI::l10n()->t('BBCode'), 'bbcode', '', (($request['type'] ?? '') ?: 'bbcode') == 'bbcode'],
'$type_diaspora' => ['type', DI::l10n()->t('Diaspora'), 'diaspora', '', (($request['type'] ?? '') ?: 'bbcode') == 'diaspora'],
'$type_markdown' => ['type', DI::l10n()->t('Markdown'), 'markdown', '', (($request['type'] ?? '') ?: 'bbcode') == 'markdown'],
'$type_html' => ['type', DI::l10n()->t('HTML'), 'html', '', (($request['type'] ?? '') ?: 'bbcode') == 'html'],
'$flag_twitter' => file_exists('addon/twitter/twitter.php'),
'$type_twitter' => ['type', DI::l10n()->t('Twitter Source / Tweet URL (requires API key)'), 'twitter', '', (($request['type'] ?? '') ?: 'bbcode') == 'twitter'],
'$results' => $results,
'$submit' => DI::l10n()->t('Submit'),
feedtest.tpl
==============
found in /src/Module/Debug/Feed.php
------------------------------------
'$url' => ['url', $this->t('Source URL'), $_REQUEST['url'] ?? '', ''],
'$result' => $result
probe.tpl
=========
found in /src/Module/Debug/Probe.php
-----------------------------------------
'$title' => DI::l10n()->t('Probe Diagnostic'),
'$output' => DI::l10n()->t('Output'),
'$submit' => DI::l10n()->t('Submit'),
'$addr' => ['addr',
DI::l10n()->t('Lookup address'),
$addr,
'',
DI::l10n()->t('Required')
],
'$res' => $res,
webfinger.tpl
================
found in /src/Module/Debug/WebFinger.php
-----------------------------------------
'$title' => DI::l10n()->t('Webfinger Diagnostic'),
'$submit' => DI::l10n()->t('Submit'),
'$lookup' => DI::l10n()->t('Lookup address:'),
'$addr' => $addr,
'$res' => $res,
directory_header.tpl
======================
found in /src/Module/Directory.php
------------------------------------
'$search' => $search,
'$globaldir' => DI::l10n()->t('Global Directory'),
'$gDirPath' => $gDirPath,
'$desc' => DI::l10n()->t('Find on this site'),
'$contacts' => $entries,
'$finding' => DI::l10n()->t('Results for:'),
'$findterm' => (strlen($search) ? $search : ""),
'$title' => DI::l10n()->t('Site Directory'),
'$search_mod' => 'directory',
'$submit' => DI::l10n()->t('Find'),
'$paginate' => $pager->renderFull($profiles['total']),
friendica.tpl
==============
found in /src/Module/Friendica.php
------------------------------------
'about' => $this->t('This is Friendica, version %s that is running at the web location %s. The database version is %s, the post update version is %s.',
'' . App::VERSION . '',
$this->baseUrl,
'' . $this->config->get('system', 'build') . '/' . DB_UPDATE_VERSION . '',
'' . $this->keyValue->get('post_update_version') . '/' . PostUpdate::VERSION . ''),
'friendica' => $this->t('Please visit Friendi.ca to learn more about the Friendica project.'),
'bugs' => $this->t('Bug reports and issues: please visit') . ' ' . '' . $this->t('the bugtracker at github') . '',
'info' => $this->t('Suggestions, praise, etc. - please email "info" at "friendi - dot - ca'),
'visible_addons' => $addon,
'tos' => $tos,
'block_list' => $blocked,
'hooked' => $hooked,
fsuggest.tpl
==============
found in /src/Module/FriendSuggest.php
---------------------------------------
'$contact_id' => $cid,
'$fsuggest_title' => $this->t('Suggest Friends'),
'$fsuggest_select' => [
'suggest',
$this->t('Suggest a friend for %s', $contact['name']),
'',
'',
$formattedContacts,
],
'$submit' => $this->t('Submit'),
home.tpl
==========
found in /src/Module/Home.php
------------------------------
'$defaultheader' => $defaultHeader,
'$customhome' => $customHome,
'$login' => $login,
'$content' => $content,
install/01_checks.tpl
======================
found in /src/Module/Install.php
---------------------------------
'$title' => $install_title,
'$pass' => $this->t('System check'),
'$required' => $this->t('Required'),
'$requirement_not_satisfied' => $this->t('Requirement not satisfied'),
'$optional_requirement_not_satisfied' => $this->t('Optional requirement not satisfied'),
'$ok' => $this->t('OK'),
'$checks' => $this->installer->getChecks(),
'$passed' => $status,
'$see_install' => $this->t('Please see the file "doc/INSTALL.md".'),
'$next' => $this->t('Next'),
'$reload' => $this->t('Check again'),
'$php_path' => $php_path,
install/02_base_config.tpl
===========================
found in /src/Module/Install.php
----------------------------------
'$title' => $install_title,
'$pass' => $this->t('Base settings'),
'$basepath' => ['system-basepath',
$this->t("Base path to installation"),
$configCache->get('system', 'basepath'),
$this->t("If the system cannot detect the correct path to your installation, enter the correct path here. This setting should only be set if you are using a restricted system and symbolic links to your webroot."),
$this->t('Required')],
'$system_url' => ['system-url',
$this->t('The Friendica system URL'),
(string)$baseUrl,
$this->t("Overwrite this field in case the system URL determination isn't right, otherwise leave it as is."),
$this->t('Required')],
'$php_path' => $configCache->get('config', 'php_path'),
'$submit' => $this->t('Submit'),
install/03_database_config.tpl
===============================
found in /src/Module/Install.php
--------------------------------
'$title' => $install_title,
'$pass' => $this->t('Database connection'),
'$info_01' => $this->t('In order to install Friendica we need to know how to connect to your database.'),
'$info_02' => $this->t('Please contact your hosting provider or site administrator if you have questions about these settings.'),
'$info_03' => $this->t('The database you specify below should already exist. If it does not, please create it before continuing.'),
'$required' => $this->t('Required'),
'$requirement_not_satisfied' => $this->t('Requirement not satisfied'),
'$checks' => $this->installer->getChecks(),
'$basepath' => $configCache->get('system', 'basepath'),
'$system_url' => $configCache->get('system', 'url'),
'$dbhost' => ['database-hostname',
$this->t('Database Server Name'),
$configCache->get('database', 'hostname'),
'',
$this->t('Required')],
'$dbuser' => ['database-username',
$this->t('Database Login Name'),
$configCache->get('database', 'username'),
'',
$this->t('Required'),
'autofocus'],
'$dbpass' => ['database-password',
$this->t('Database Login Password'),
$configCache->get('database', 'password'),
$this->t("For security reasons the password must not be empty"),
$this->t('Required')],
'$dbdata' => ['database-database',
$this->t('Database Name'),
$configCache->get('database', 'database'),
'',
$this->t('Required')],
'$lbl_10' => $this->t('Please select a default timezone for your website'),
'$php_path' => $configCache->get('config', 'php_path'),
'$submit' => $this->t('Submit')
install/04_site_settings.tpl
============================
found in /src/Module/Install.php
-----------------------------------
'$title' => $install_title,
'$required' => $this->t('Required'),
'$checks' => $this->installer->getChecks(),
'$pass' => $this->t('Site settings'),
'$basepath' => $configCache->get('system', 'basepath'),
'$system_url' => $configCache->get('system', 'url'),
'$dbhost' => $configCache->get('database', 'hostname'),
'$dbuser' => $configCache->get('database', 'username'),
'$dbpass' => $configCache->get('database', 'password'),
'$dbdata' => $configCache->get('database', 'database'),
'$adminmail' => ['config-admin_email',
$this->t('Site administrator email address'),
$configCache->get('config', 'admin_email'),
$this->t('Your account email address must match this in order to use the web admin panel.'),
$this->t('Required'), 'autofocus', 'email'],
'$timezone' => Temporal::getTimezoneField('system-default_timezone',
$this->t('Please select a default timezone for your website'),
$configCache->get('system', 'default_timezone'),
''),
'$language' => ['system-language',
$this->t('System Language:'),
$configCache->get('system', 'language'),
$this->t('Set the default language for your Friendica installation interface and to send emails.'),
$lang_choices],
'$php_path' => $configCache->get('config', 'php_path'),
'$submit' => $this->t('Submit')
install/05_finished.tpl
=======================
found in /src/Module/Install.php
----------------------------------
'$title' => $install_title,
'$required' => $this->t('Required'),
'$requirement_not_satisfied' => $this->t('Requirement not satisfied'),
'$checks' => $this->installer->getChecks(),
'$pass' => $this->t('Installation finished'),
'$text' => $db_return_text . $this->whatNext(),
invite.tpl
===========
found in /src/Module/Invite.php
--------------------------------
'$form_security_token' => self::getFormSecurityToken('send_invite'),
'$title' => DI::l10n()->t('Send invitations'),
'$recipients' => ['recipients', DI::l10n()->t('Enter email addresses, one per line:')],
'$message' => [
'message',
DI::l10n()->t('Your message:'),
DI::l10n()->t('You are cordially invited to join me and other close friends on Friendica - and help us to create a better social web.') . "\r\n" . "\r\n"
. $linkTxt
. "\r\n" . "\r\n" . (($inviteOnly) ? DI::l10n()->t('You will need to supply this invitation code: $invite_code') . "\r\n" . "\r\n" : '') . DI::l10n()->t('Once you have registered, please connect with me via my profile page at:')
. "\r\n" . "\r\n" . DI::baseUrl() . '/profile/' . DI::userSession()->getLocalUserNickname()
. "\r\n" . "\r\n" . DI::l10n()->t('For more information about the Friendica project and why we feel it is important, please visit http://friendi.ca') . "\r\n" . "\r\n",
],
'$submit' => DI::l10n()->t('Submit')
item/compose.tpl
==================
found in /src/Module/Item/Compose.php
---------------------------------------
'$l10n' => [
'compose_title' => $compose_title,
'default' => '',
'visibility_title' => $this->l10n->t('Visibility'),
'mytitle' => $this->l10n->t('This is you'),
'submit' => $this->l10n->t('Submit'),
'edbold' => $this->l10n->t('Bold'),
'editalic' => $this->l10n->t('Italic'),
'eduline' => $this->l10n->t('Underline'),
'edquote' => $this->l10n->t('Quote'),
'edemojis' => $this->l10n->t('Add emojis'),
'contentwarn' => $this->l10n->t('Content Warning'),
'edcode' => $this->l10n->t('Code'),
'edimg' => $this->l10n->t('Image'),
'edurl' => $this->l10n->t('Link'),
'edattach' => $this->l10n->t('Link or Media'),
'prompttext' => $this->l10n->t('Please enter a image/video/audio/webpage URL:'),
'preview' => $this->l10n->t('Preview'),
'location_set' => $this->l10n->t('Set your location'),
'location_clear' => $this->l10n->t('Clear the location'),
'location_unavailable' => $this->l10n->t('Location services are unavailable on your device'),
'location_disabled' => $this->l10n->t('Location services are disabled. Please check the website\'s permissions on your device'),
'wait' => $this->l10n->t('Please wait'),
'placeholdertitle' => $this->l10n->t('Set title'),
'placeholdercategory' => Feature::isEnabled($this->session->getLocalUserId(), Feature::CATEGORIES) ? $this->l10n->t('Categories (comma-separated list)') : '',
'always_open_compose' => $this->pConfig->get($this->session->getLocalUserId(), 'frio', 'always_open_compose',
$this->config->get('frio', 'always_open_compose', false)) ? '' :
$this->l10n->t('You can make this page always open when you use the New Post button in the Theme Customization settings.'),
],
'$id' => 0,
'$posttype' => $posttype,
'$type' => $type,
'$wall' => $wall,
'$mylink' => $this->baseUrl->remove($contact['url']),
'$myphoto' => $this->baseUrl->remove($contact['thumb']),
'$scheduled_at' => Temporal::getDateTimeField(
new DateTime(),
new DateTime('now + 6 months'),
null,
$this->l10n->t('Scheduled at'),
'scheduled_at'
),
'$created_at' => $created_at,
'$title' => $title,
'$category' => $category,
'$body' => $body,
'$location' => $location,
'$contact_allow' => implode(',', $contact_allow_list),
'$circle_allow' => implode(',', $circle_allow_list),
'$contact_deny' => implode(',', $contact_deny_list),
'$circle_deny' => implode(',', $circle_deny_list),
'$jotplugins' => $jotplugins,
'$rand_num' => Crypto::randomDigits(12),
'$acl_selector' => ACL::getFullSelectorHTML($this->page, $this->session->getLocalUserId(), $doesFederate, [
'allow_cid' => $contact_allow_list,
'allow_gid' => $circle_allow_list,
'deny_cid' => $contact_deny_list,
'deny_gid' => $circle_deny_list,
]),
display-head.tpl
=================
found in /src/Module/Item/Display.php
---------------------------------------
'$alternate' => sprintf('display/feed-item/%s.atom', $uriId),
'$conversation' => sprintf('display/feed-item/%s/conversation.atom', $parentUriId)
exception.tpl
==============
found in /src/Module/Special/HTTPException.php
found in /src/Module/Maintenance.php
------------------------------------------------
'$title' => DI::l10n()->t('System down for maintenance'),
'$message' => DI::l10n()->t('This Friendica node is currently in maintenance mode, either automatically because it is self-updating or manually by the node administrator. This condition should be temporary, please come back in a few minutes.'),
'$thrown' => $reason,
'$stack_trace' => '',
'$trace' => '',
media/browser.tpl
==================
found in /src/Module/Media/Photo/Browser.php
--------------------------------------------
'$type' => 'attachment',
'$path' => ['' => $this->t('Files')],
'$folders' => false,
'$files' => $fileArray,
'$cancel' => $this->t('Cancel'),
'$nickname' => $this->session->getLocalUserNickname(),
'$upload' => $this->t('Upload'),
moderation/blocklist/contact.tpl
================================
found in /src/Module/Moderation/Blocklist/Contact.php
-------------------------------------------------------
'$title' => $this->t('Moderation'),
'$page' => $this->t('Remote Contact Blocklist'),
'$description' => $this->t('This page allows you to prevent any message from a remote contact to reach your node.'),
'$submit' => $this->t('Block Remote Contact'),
'$select_all' => $this->t('select all'),
'$select_none' => $this->t('select none'),
'$block' => $this->t('Block'),
'$unblock' => $this->t('Unblock'),
'$no_data' => $this->t('No remote contact is blocked from this node.'),
'$h_contacts' => $this->t('Blocked Remote Contacts'),
'$h_newblock' => $this->t('Block New Remote Contact'),
'$th_contacts' => [$this->t('Photo'), $this->t('Name'), $this->t('Reason')],
'$form_security_token' => self::getFormSecurityToken('moderation_contactblock'),
// values //
'$contacts' => $contacts,
'$total_contacts' => $this->tt('%s total blocked contact', '%s total blocked contacts', $total),
'$paginate' => $pager->renderFull($total),
'$contacturl' => ['contact_url', $this->t('Profile URL'), '', $this->t('URL of the remote contact to block.')],
'$contact_block_purge' => ['contact_block_purge', $this->t('Also purge contact'), false, $this->t('Removes all content related to this contact from the node. Keeps the contact record. This action cannot be undone.')],
'$contact_block_reason' => ['contact_block_reason', $this->t('Block Reason')],
moderation/blocklist/server/add.tpl
====================================
found in /src/Module/Moderation/Blocklist/Server/Add.php
--------------------------------------------------------
'$l10n' => [
'return_list' => $this->t('← Return to the list'),
'title' => $this->t('Moderation'),
'page' => $this->t('Block A New Server Domain Pattern'),
'syntax' => $this->t('The server domain pattern syntax is case-insensitive shell wildcard, comprising the following special characters:
*
: Any number of characters?
: Any single characterThis file can be downloaded from the /friendica
path of any Friendica server.
The server domain pattern syntax is case-insensitive shell wildcard, comprising the following special characters:
*
: Any number of characters?
: Any single characterdebug.store_source
config key is set in config/local.config.php
for future items to have sources.') : '',
],
'$guid_field' => ['guid', $this->t('Item Guid'), $guid, ''],
'$guid' => $guid,
'$item_uri' => $item_uri,
'$item_id' => $item_id,
'$terms' => $terms,
'$source' => $source,
moderation/report/create/pick_contact.tpl
=========================================
found in /src/Module/Moderation/Report/Create.php
--------------------------------------------------
'$l10n' => [
'title' => $this->t('Create Moderation Report'),
'page' => $this->t('Pick Contact'),
'description' => $this->t('Please enter below the contact address or profile URL you would like to create a moderation report about.'),
'submit' => $this->t('Submit'),
],
'$url' => ['url', $this->t('Contact address/URL'), $request['url'] ?? ''],
moderation/report/create/pick_category.tpl
===========================================
found in /src/Module/Moderation/Report/Create.php
---------------------------------------------------
'$l10n' => [
'title' => $this->t('Create Moderation Report'),
'page' => $this->t('Pick Category'),
'description' => $this->t('Please pick below the category of your report.'),
'submit' => $this->t('Submit'),
],
moderation/report/create/pick_rules.tpl
=========================================
found in /src/Module/Moderation/Report/Create.php
-------------------------------------------------
'$l10n' => [
'title' => $this->t('Create Moderation Report'),
'page' => $this->t('Pick Rules'),
'description' => $this->t('Please pick below the node rules you believe this contact violated.'),
'submit' => $this->t('Submit'),
],
'$rules' => $rules,
moderation/report/create/pick_posts.tpl
========================================
found in /src/Module/Moderation/Report/Create.php
---------------------------------------------------
'$l10n' => [
'title' => $this->t('Create Moderation Report'),
'page' => $this->t('Pick Posts'),
'description' => $this->t('Please optionally pick posts to attach to your report.'),
'submit' => $this->t('Submit'),
],
'$threads' => $threads,
moderation/report/create/summary.tpl
=====================================
found in /src/Module/Moderation/Report/Create.php
--------------------------------------------------
'$l10n' => [
'title' => $this->t('Create Moderation Report'),
'page' => $this->t('Summary'),
'submit' => $this->t('Submit Report'),
'contact_action_title' => $this->t('Further Action'),
'contact_action_desc' => $this->t('You can also perform one of the following action on the contact you reported:'),
],
'$cid' => $request['cid'],
'$category' => $request['category'],
'$ruleIds' => implode(',', $request['rule-ids'] ?? []),
'$uriIds' => implode(',', $request['uri-ids'] ?? []),
'$nothing' => ['contact_action', $this->t('Nothing'), self::CONTACT_ACTION_NONE, '', true],
'$collapse' => ['contact_action', $this->t('Collapse contact'), self::CONTACT_ACTION_COLLAPSE, $this->t('Their posts and replies will keep appearing in your Network page but their content will be collapsed by default.')],
'$ignore' => ['contact_action', $this->t('Ignore contact'), self::CONTACT_ACTION_IGNORE, $this->t("Their posts won't appear in your Network page anymore, but their replies can appear in forum threads. They still can follow you.")],
'$block' => ['contact_action', $this->t('Block contact'), self::CONTACT_ACTION_BLOCK, $this->t("Their posts won't appear in your Network page anymore, but their replies can appear in forum threads, with their content collapsed by default. They cannot follow you but still can have access to your public posts by other means.")],
'$display_forward' => !$this->baseUrl->isLocalUrl($contact['url']),
'$forward' => ['report_forward', $this->t('Forward report'), self::CONTACT_ACTION_BLOCK, $this->t('Would you ike to forward this report to the remote server?')],
'$summary' => $this->getAside($request),
moderation/report/create/aside.tpl
====================================
found in /src/Module/Moderation/Report/Create.php
--------------------------------------------------
'$l10n' => [
'contact_title' => $this->t('1. Pick a contact'),
'category_title' => $this->t('2. Pick a category'),
'rules_title' => $this->t('2a. Pick rules'),
'comment_title' => $this->t('2b. Add comment'),
'posts_title' => $this->t('3. Pick posts'),
],
'$contact' => $contact,
'$category' => $category,
'$rules' => $rules ?? [],
'$comment' => BBCode::convertForUriId($contact['uri-id'] ?? 0, $this->session->get('report_comment') ?? '', BBCode::EXTERNAL),
'$posts' => count($request['uri-ids'] ?? []),
moderation/report/overview.tpl
===============================
found in /src/Module/Moderation/Reports.php
--------------------------------------------
'$title' => $this->t('Moderation'),
'$page' => $this->t('List of reports'),
'$description' => $this->t('This page display reports created by our or remote users.'),
'$no_data' => $this->t('No report exists at this node.'),
'$h_reports' => $this->t('Reports'),
'$th_reports' => [$this->t('Created'), $this->t('Photo'), $this->t('Name'), $this->t('Comment'), $this->t('Category')],
// values //
'$reports' => $reports,
'$total_reports' => $this->tt('%s total report', '%s total reports', $total),
'$paginate' => $pager->renderFull($total),
'$contacturl' => ['contact_url', $this->t('Profile URL'), '', $this->t('URL of the reported contact.')],
moderation/summary.tpl
=======================
found in /src/Module/Moderation/Summary.php
--------------------------------------------
'$title' => $this->t('Moderation'),
'$page' => $this->t('Summary'),
'$users' => [$this->t('Registered users'), $users],
'$accounts' => $accounts,
'$pending' => [$this->t('Pending registrations'), $pending],
'$warningtext' => [],
moderation/users/active.tpl
============================
found in /src/Module/Moderation/Users/Active.php
-------------------------------------------------
'$title' => $this->t('Moderation'),
'$page' => $this->t('Active Accounts'),
'$select_all' => $this->t('select all'),
'$delete' => $this->t('Delete'),
'$block' => $this->t('Block'),
'$blocked' => $this->t('User blocked'),
'$siteadmin' => $this->t('Site admin'),
'$accountexpired' => $this->t('Account expired'),
'$h_newuser' => $this->t('Create a new user'),
'$th_users' => $th_users,
'$order_users' => $order,
'$order_direction_users' => $order_direction,
'$confirm_delete_multi' => $this->t('Selected users will be deleted!\n\nEverything these users had posted on this site will be permanently deleted!\n\nAre you sure?'),
'$confirm_delete' => $this->t('The user {0} will be deleted!\n\nEverything this user has posted on this site will be permanently deleted!\n\nAre you sure?'),
'$form_security_token' => self::getFormSecurityToken('moderation_users_active'),
// values //
'$query_string' => $this->args->getQueryString(),
'$users' => $users,
'$count' => $count,
'$pager' => $pager->renderFull($count),
moderation/users/blocked.tpl
=============================
found in /src/Module/Moderation/Users/Blocked.php
--------------------------------------------------
'$title' => $this->t('Moderation'),
'$page' => $this->t('Blocked Users'),
'$select_all' => $this->t('select all'),
'$delete' => $this->t('Delete'),
'$blocked' => $this->t('User blocked'),
'$unblock' => $this->t('Unblock'),
'$siteadmin' => $this->t('Site admin'),
'$accountexpired' => $this->t('Account expired'),
'$th_users' => $th_users,
'$order_users' => $order,
'$order_direction_users' => $order_direction,
'$confirm_delete_multi' => $this->t('Selected users will be deleted!\n\nEverything these users had posted on this site will be permanently deleted!\n\nAre you sure?'),
'$confirm_delete' => $this->t('The user {0} will be deleted!\n\nEverything this user has posted on this site will be permanently deleted!\n\nAre you sure?'),
'$form_security_token' => self::getFormSecurityToken('moderation_users_blocked'),
// values //
'$query_string' => $this->args->getQueryString(),
'$users' => $users,
'$count' => $count,
'$pager' => $pager->renderFull($count)
moderation/users/create.tpl
============================
found in /src/Module/Moderation/Users/Create.php
-------------------------------------------------
'$title' => $this->t('Administration'),
'$page' => $this->t('New User'),
'$submit' => $this->t('Add User'),
'$form_security_token' => self::getFormSecurityToken('admin_users_create'),
// values //
'$query_string' => $this->args->getQueryString(),
'$newusername' => ['new_user_name', $this->t('Name'), '', $this->t('Name of the new user.')],
'$newusernickname' => ['new_user_nickname', $this->t('Nickname'), '', $this->t('Nickname of the new user.')],
'$newuseremail' => ['new_user_email', $this->t('Email'), '', $this->t('Email address of the new user.'), '', '', 'email'],
moderation/users/deleted.tpl
=============================
found in /src/Module/Moderation/Users/Deleted.php
--------------------------------------------------
'$title' => $this->t('Moderation'),
'$page' => $this->t('Users awaiting permanent deletion'),
'$th_deleted' => [$this->t('Name'), $this->t('Email'), $this->t('Register date'), $this->t('Last login'), $this->t('Last public item'), $this->t('Permanent deletion')],
'$form_security_token' => self::getFormSecurityToken('moderation_users_deleted'),
// values //
'$query_string' => $this->args->getQueryString(),
'$users' => $users,
'$count' => $count,
'$pager' => $pager->renderFull($count),
moderation/users/index.tpl
===========================
found in /src/Module/Moderation/Users/Index.php
------------------------------------------------
'$title' => $this->t('Moderation'),
'$page' => $this->t('Users'),
'$select_all' => $this->t('select all'),
'$h_deleted' => $this->t('User waiting for permanent deletion'),
'$delete' => $this->t('Delete'),
'$block' => $this->t('Block'),
'$blocked' => $this->t('User blocked'),
'$unblock' => $this->t('Unblock'),
'$siteadmin' => $this->t('Site admin'),
'$accountexpired' => $this->t('Account expired'),
'$h_users' => $this->t('Users'),
'$h_newuser' => $this->t('Create a new user'),
'$th_deleted' => [$this->t('Name'), $this->t('Email'), $this->t('Register date'), $this->t('Last login'), $this->t('Last public item'), $this->t('Permanent deletion')],
'$th_users' => $th_users,
'$order_users' => $order,
'$order_direction_users' => $order_direction,
'$confirm_delete_multi' => $this->t('Selected users will be deleted!\n\nEverything these users had posted on this site will be permanently deleted!\n\nAre you sure?'),
'$confirm_delete' => $this->t('The user {0} will be deleted!\n\nEverything this user has posted on this site will be permanently deleted!\n\nAre you sure?'),
'$form_security_token' => self::getFormSecurityToken('moderation_users'),
// values //
'$query_string' => $this->args->getQueryString(),
'$users' => $users,
'$count' => $count,
'$pager' => $pager->renderFull($count),
moderation/users/pending.tpl
===========================
found in /src/Module/Moderation/Users/Pending.php
--------------------------------------------------
'$title' => $this->t('Administration'),
'$page' => $this->t('User registrations awaiting review'),
'$select_all' => $this->t('select all'),
'$th_pending' => [$this->t('Request date'), $this->t('Name'), $this->t('Email')],
'$no_pending' => $this->t('No registrations.'),
'$pendingnotetext' => $this->t('Note from the user'),
'$approve' => $this->t('Approve'),
'$deny' => $this->t('Deny'),
'$form_security_token' => self::getFormSecurityToken('admin_users_pending'),
// values //
'$query_string' => $this->args->getQueryString(),
'$pending' => $pending,
'$count' => $count,
'$pager' => $pager->renderFull($count),
notifications/suggestions.tpl
==============================
found in /src/Module/Notifications/Introductions.php
------------------------------------------------------
'$type' => $Introduction->getLabel(),
'$str_notification_type' => $this->t('Notification type:'),
'$str_type' => $Introduction->getType(),
'$intro_id' => $Introduction->getIntroId(),
'$lbl_madeby' => $this->t('Suggested by:'),
'$madeby' => $Introduction->getMadeBy(),
'$madeby_url' => $Introduction->getMadeByUrl(),
'$madeby_zrl' => $Introduction->getMadeByZrl(),
'$madeby_addr' => $Introduction->getMadeByAddr(),
'$contact_id' => $Introduction->getContactId(),
'$photo' => $Introduction->getPhoto(),
'$fullname' => $Introduction->getName(),
'$dfrn_url' => $owner['url'],
'$url' => $Introduction->getUrl(),
'$zrl' => $Introduction->getZrl(),
'$lbl_url' => $this->t('Profile URL'),
'$addr' => $Introduction->getAddr(),
'$action' => 'contact/follow',
'$approve' => $this->t('Approve'),
'$note' => $Introduction->getNote(),
'$ignore' => $this->t('Ignore'),
'$discard' => $this->t('Discard'),
'$is_mobile' => $this->mode->isMobile(),
notifications/intros.tpl
=========================
'$type' => $Introduction->getLabel(),
'$header' => $header,
'$str_notification_type' => $this->t('Notification type:'),
'$str_type' => $Introduction->getType(),
'$dfrn_id' => $Introduction->getDfrnId(),
'$uid' => $Introduction->getUid(),
'$intro_id' => $Introduction->getIntroId(),
'$contact_id' => $Introduction->getContactId(),
'$photo' => $Introduction->getPhoto(),
'$fullname' => $Introduction->getName(),
'$location' => $Introduction->getLocation(),
'$lbl_location' => $this->t('Location:'),
'$about' => $Introduction->getAbout(),
'$lbl_about' => $this->t('About:'),
'$keywords' => $Introduction->getKeywords(),
'$lbl_keywords' => $this->t('Tags:'),
'$hidden' => ['hidden', $this->t('Hide this contact from others'), $Introduction->isHidden(), ''],
'$lbl_connection_type' => $helptext,
'$friend' => $friend,
'$follower' => $follower,
'$url' => $Introduction->getUrl(),
'$zrl' => $Introduction->getZrl(),
'$lbl_url' => $this->t('Profile URL'),
'$addr' => $Introduction->getAddr(),
'$lbl_knowyou' => $lbl_knowyou,
'$lbl_network' => $this->t('Network:'),
'$network' => ContactSelector::networkToName($Introduction->getNetwork(), '', $gsid),
'$knowyou' => $knowyou,
'$approve' => $this->t('Approve'),
'$note' => $Introduction->getNote(),
'$ignore' => $this->t('Ignore'),
'$discard' => $discard,
'$action' => $action,
'$is_mobile' => $this->mode->isMobile(),
oauth_authorize.tpl
=====================
found in /src/Module/OAuth/Acknowledge.php
------------------------------------------
'$title' => DI::l10n()->t('Authorize application connection'),
'$app' => ['name' => $_REQUEST['application'] ?? ''],
'$authorize' => DI::l10n()->t('Do you want to authorize this application to access your posts and contacts, and/or create new posts for you?'),
'$yes' => DI::l10n()->t('Yes'),
'$no' => DI::l10n()->t('No'),
post/tag/remove.tpl
====================
found in /src/Module/Post/Tag/Remove.php
-----------------------------------------
'$l10n' => [
'header' => $this->t('Remove Item Tag'),
'desc' => $this->t('Select a tag to remove: '),
'remove' => $this->t('Remove'),
'cancel' => $this->t('Cancel'),
],
'$item_id' => $item_id,
'$return' => $returnUrl,
'$tag_checkboxes' => $tag_checkboxes,
privacy/permission_tooltip.tpl
===============================
found in /src/Module/Privacy/PermissionTooltip.php
---------------------------------------------------
'$l10n' => [
'visible_to' => $this->t('Visible to:'),
'to' => $this->t('To:'),
'cc' => $this->t('CC:'),
'bcc' => $this->t('BCC:'),
'audience' => $this->t('Audience:'),
'attributed' => $this->t('Attributed To:'),
],
'$aclReceivers' => $aclReceivers,
'$addressedReceivers' => $addressedReceivers,
'$privacy' => $privacy,
photos_head.tpl
=================
found in /src/Module/Profile/Photos.php
-----------------------------------------
'$ispublic' => $this->t('everybody')
photo_albums.tpl
=================
found in /src/Module/Profile/Photos.php
----------------------------------------
'$nick' => $this->owner['nickname'],
'$title' => $this->t('Photo Albums'),
'$recent' => $this->t('Recent Photos'),
'$albums' => [
'text' => $album['album'],
'total' => $album['total'],
'url' => 'photos/' . $this->owner['nickname'] . '/album/' . bin2hex($album['album']),
'urlencode' => urlencode($album['album']),
'bin2hex' => bin2hex($album['album'])
],
'$upload' => [$this->t('Upload New Photos'), 'photos/' . $this->owner['nickname'] . '/upload'],
'$can_post' => $this->session->getLocalUserId() && $this->owner['uid'] == $this->session->getLocalUserId(),
photos_recent.tpl
===================
found in /src/Moduel/Profile/Photos.php
---------------------------------------
'$title' => $this->t('Recent Photos'),
'$can_post' => $is_owner,
'$upload' => [$this->t('Upload New Photos'), 'photos/' . $this->owner['nickname'] . '/upload'],
'$photos' => $photos,
'$paginate' => $pager->renderFull($total),
profile/profile.tpl
====================
found in /src/Module/Profile/Profile.php
-----------------------------------------
'$title' => $this->t('Profile'),
'$yourself' => $this->t('Yourself'),
'$view_as_contacts' => $view_as_contacts,
'$view_as_contact_id' => $view_as_contact_id,
'$view_as_contact_alert' => $view_as_contact_alert,
'$view_as' => $this->t('View profile as:'),
'$submit' => $this->t('Submit'),
'$basic' => $this->t('Basic'),
'$advanced' => $this->t('Advanced'),
'$is_owner' => $profile['uid'] == $this->session->getLocalUserId(),
'$query_string' => $this->args->getQueryString(),
'$basic_fields' => $basic_fields,
'$custom_fields' => $custom_fields,
'$profile' => [
'uid' =>
'register_date' =>
'dob' =>
'hidewall' =>
'page-flags' =>
'nickname' =>
'about' =>
'xmpp' =>
'matrix' =>
'homepage' =>
'address' =>
'locality' =>
'postal-code' =>
'region' =>
'country-name' =>
'pub_keywords' =>
],
'$edit_link' => [
'url' => 'settings/profile', $this->t('Edit profile'),
'title' => '',
'label' => $this->t('Edit profile')
],
'$viewas_link' => [
'url' => $this->args->getQueryString() . '#viewas',
'title' => '',
'label' => $this->t('View as')
],
auto_request.tpl
=================
'$header' => $this->t('Friend/Connection Request'),
'$page_desc' => $this->t('Enter your Webfinger address (user@domain.tld) or profile URL here. If this isn\'t supported by your system, you have to subscribe to %s or %s directly on your system.', $target_addr, $target_url),
'$invite_desc' => $this->t('If you are not yet a member of the free social web, follow this link to find a public Friendica node and join us today.', Search::getGlobalDirectory() . '/servers'),
'$your_address' => $this->t('Your Webfinger address or profile URL:'),
'$pls_answer' => $this->t('Please answer the following:'),
'$submit' => $this->t('Submit Request'),
'$cancel' => $this->t('Cancel'),
'$action' => 'profile/' . $this->parameters['nickname'] . '/remote_follow',
'$name' => $this->owner['name'],
'$myaddr' => $this->userSession->getMyUrl(),
exception.tpl
===============
found in /src/Module/Profile/Restricted.php
---------------------------------------------
'$title' => $this->t('Restricted profile'),
'$message' => $this->t('This profile has been restricted which prevents access to their public content from anonymous visitors.'),
profile/schedule.tpl
=====================
found in /src/Module/Profile/Schedule.php
------------------------------------------
'$form_security_token' => BaseModule::getFormSecurityToken("profile_schedule"),
'$title' => DI::l10n()->t('Scheduled Posts'),
'$nickname' => $this->parameters['nickname'] ?? '',
'$scheduled_at' => DI::l10n()->t('Scheduled'),
'$content' => DI::l10n()->t('Content'),
'$delete' => DI::l10n()->t('Remove post'),
'$schedule' => $schedule,
profile/publish.tpl
====================
found in /src/Module/Register.php
-----------------------------------
'$instance' => 'reg',
'$pubdesc' => DI::l10n()->t('Include your profile in member directory?'),
'$yes_selected' => '',
'$no_selected' => ' checked="checked"',
'$str_yes' => DI::l10n()->t('Yes'),
'$str_no' => DI::l10n()->t('No'),
profile/vcard.tpl
=================
found in /src/Model/Profile.php
--------------------------------
'$profile' => $p,
'$xmpp' => $xmpp,
'$matrix' => $matrix,
'$follow' => DI::l10n()->t('Follow'),
'$follow_link' => $follow_link,
'$unfollow' => DI::l10n()->t('Unfollow'),
'$unfollow_link' => $unfollow_link,
'$subscribe_feed' => DI::l10n()->t('Atom feed'),
'$subscribe_feed_link' => $profile['hidewall'] ?? 0 ? '' : $profile['poll'],
'$wallmessage' => DI::l10n()->t('Message'),
'$wallmessage_link' => $wallmessage_link,
'$account_type' => $account_type,
'$location' => $location,
'$homepage' => $homepage,
'$homepage_verified' => DI::l10n()->t('This website has been verified to belong to the same person.'),
'$about' => $about,
'$network' => DI::l10n()->t('Network:'),
'$contacts' => $contact_count,
'$updated' => $updated,
'$diaspora' => $diaspora,
'$contact_block' => $contact_block,
'$mention_label' => $mention_label,
'$mention_url' => $mention_url,
'$network_label' => $network_label,
'$network_url' => $network_url,
register.tpl
==============
found in /src/Module/Register.php
------------------------------------
'$invitations' => DI::config()->get('system', 'invitation_only'),
'$permonly' => self::getPolicy() === self::APPROVE,
'$permonlybox' => ['permonlybox', DI::l10n()->t('Note for the admin'), '', DI::l10n()->t('Leave a message for the admin, why you want to join this node'), DI::l10n()->t('Required')],
'$invite_desc' => DI::l10n()->t('Membership on this site is by invitation only.'),
'$invite_label' => DI::l10n()->t('Your invitation code: '),
'$invite_id' => $invite_id,
'$regtitle' => DI::l10n()->t('Registration'),
'$registertext' => BBCode::convertForUriId(User::getSystemUriId(), DI::config()->get('config', 'register_text', '')),
'$fillwith' => $fillwith,
'$fillext' => $fillext,
'$oidlabel' => $oidlabel,
'$openid' => $openid_url,
'$namelabel' => DI::l10n()->t('Your Display Name (as you would like it to be displayed on this system'),
'$addrlabel' => DI::l10n()->t('Your Email Address: (Initial information will be send there, so this has to be an existing address.)'),
'$addrlabel2' => DI::l10n()->t('Please repeat your e-mail address:'),
'$ask_password' => $ask_password,
'$password1' => ['password1', DI::l10n()->t('New Password:'), '', DI::l10n()->t('Leave empty for an auto generated password.')],
'$password2' => ['confirm', DI::l10n()->t('Confirm:'), '', ''],
'$nickdesc' => DI::l10n()->t('Choose a profile nickname. This must begin with a text character. Your profile address on this site will then be "nickname@%s".', DI::baseUrl()->getHost()),
'$nicklabel' => DI::l10n()->t('Choose a nickname: '),
'$photo' => $photo,
'$publish' => $profile_publish,
'$regbutt' => DI::l10n()->t('Register'),
'$username' => $username,
'$email' => $email,
'$nickname' => $nickname,
'$sitename' => DI::baseUrl()->getHost(),
'$importh' => DI::l10n()->t('Import'),
'$importt' => DI::l10n()->t('Import your profile to this friendica instance'),
'$showtoslink' => DI::config()->get('system', 'tosdisplay'),
'$tostext' => DI::l10n()->t('Terms of Service'),
'$showprivstatement' => DI::config()->get('system', 'tosprivstatement'),
'$privstatement'=> $this->tos->privacy_complete,
'$form_security_token' => BaseModule::getFormSecurityToken('register'),
'$explicit_content' => DI::config()->get('system', 'explicit_content', false),
'$explicit_content_note' => DI::l10n()->t('Note: This node explicitly contains adult content'),
'$additional' => !empty(DI::userSession()->getLocalUserId()),
'$parent_password' => ['parent_password', DI::l10n()->t('Parent Password:'), '', DI::l10n()->t('Please enter the password of the parent account to legitimize your request.')]
content_wrapper.tpl
====================
found in /src/Module/Search/Index.php
--------------------------------------
'name' => 'search-header',
'$title' => DI::l10n()->t('Search'),
'$title_size' => 3,
'$content' => HTML::search($search, 'search-box', false)
logout.tpl || login.tpl
========================
found in /src/Module/Security/Login.php
-----------------------------------------
'$dest_url' => DI::baseUrl() . '/login',
'$logout' => DI::l10n()->t('Logout'),
'$login' => DI::l10n()->t('Login'),
'$lname' => ['username', DI::l10n()->t('Nickname or Email: '), '', $username_desc],
'$lpassword' => ['password', DI::l10n()->t('Password: '), '', ''],
'$lremember' => ['remember', DI::l10n()->t('Remember me'), 0, ''],
'$openid' => !$noid,
'$lopenid' => ['openid_url', $openid_title, $identity, '', $openid_readonly],
'$hiddens' => ['return_path' => $return_path ?? DI::args()->getQueryString()],
'$register' => $reg,
'$lostpass' => DI::l10n()->t('Forgot your password?'),
'$lostlink' => DI::l10n()->t('Password Reset'),
'$tostitle' => DI::l10n()->t('Website Terms of Service'),
'$toslink' => DI::l10n()->t('terms of service'),
'$privacytitle' => DI::l10n()->t('Website Privacy Policy'),
'$privacylink' => DI::l10n()->t('privacy policy'),
security/password_too_long.tpl
================================
found in /src/Module/Security/PasswordTooLong.php
--------------------------------------------------
'$l10n' => [
'ptitle' => $this->l10n->t('Password Too Long'),
'desc' => $this->l10n->t('Since version 2022.09, we\'ve realized that any password longer than 72 characters is truncated during hashing. To prevent any confusion about this behavior, please update your password to be fewer or equal to 72 characters.'),
'submit' => $this->l10n->t('Update Password'),
],
'$form_security_token' => self::getFormSecurityToken('security/password_too_long'),
'$return_url' => $request['return_url'] ?? '',
'$password_current' => ['password_current', $this->l10n->t('Current Password:'), '', $this->l10n->t('Your current password to confirm the changes'), 'required', 'autocomplete="off"'],
'$password' => ['password', $this->l10n->t('New Password:'), '', $this->l10n->t('Allowed characters are a-z, A-Z, 0-9 and special characters except white spaces and accentuated letters.') . ' ' . $this->l10n->t('Password length is limited to 72 characters.'), 'required', 'autocomplete="off"', User::getPasswordRegExp()],
'$password_confirm' => ['password_confirm', $this->l10n->t('Confirm:'), '', '', 'required', 'autocomplete="off"'],
twofactor/recovery.tpl
=======================
found in /src/Module/Security/TwoFactor/Recover.php
-----------------------------------------------------
'$form_security_token' => self::getFormSecurityToken('twofactor_recovery'),
'$title' => $this->t('Two-factor recovery'),
'$message' => $this->t('You can enter one of your one-time recovery codes in case you lost access to your mobile device.
'), '$recovery_message' => $this->t('Don’t have your phone? Enter a two-factor recovery code', '2fa/recovery'), '$recovery_code' => ['recovery_code', $this->t('Please enter a recovery code'), '', '', '', 'placeholder="000000-000000"'], '$recovery_label' => $this->t('Submit recovery code and complete login'), twofactor/signout.tpl ====================== found in /src/Module/Security/TwoFactor/SignOut.php ---------------------------------------------------- '$form_security_token' => self::getFormSecurityToken('twofactor_signout'), '$title' => $this->t('Sign out of this browser?'), '$message' => $this->t('If you trust this browser, you will not be asked for verification code the next time you sign in.
'), '$sign_out_label' => $this->t('Sign out'), '$cancel_label' => $this->t('Cancel'), '$trust_and_sign_out_label' => $this->t('Trust and sign out'), twofactor/trust.tpl ==================== found in /src/Module/Security/TwoFactor/Trust.php ------------------------------------------------- '$form_security_token' => self::getFormSecurityToken('twofactor_trust'), '$title' => $this->t('Trust this browser?'), '$message' => $this->t('If you choose to trust this browser, you will not be asked for a verification code the next time you sign in.
'), '$not_now_label' => $this->t('Not now'), '$dont_trust_label' => $this->t('Don\'t trust'), '$trust_label' => $this->t('Trust'), twofactor/verify.tpl ====================== found in /src/Module/Security/TwoFactor/Verify.php --------------------------------------------------- '$form_security_token' => self::getFormSecurityToken('twofactor_verify'), '$title' => $this->t('Two-factor authentication'), '$message' => $this->t('Open the two-factor authentication app on your device to get an authentication code and verify your identity.
'), '$errors_label' => $this->tt('Error', 'Errors', count($this->errors)), '$errors' => $this->errors, '$recovery_message' => $this->t('If you do not have access to your authentication code you can use a two-factor recovery code.', '2fa/recovery'), '$verify_code' => ['verify_code', $this->t('Please enter a code from your authentication app'), '', '', $this->t('Required'), 'autofocus autocomplete="one-time-code" placeholder="000000" inputmode="numeric" pattern="[0-9]*"'], '$verify_label' => $this->t('Verify code and complete login'), generic_links_widget.tpl ========================= found in /src/Module/BaseSettings.php ------------------------------------- '$title' => $this->t('Settings'), '$class' => 'settings-widget', '$items' => $tabs, settings/head.tpl ================== found in /src/Module/BaseSettings.php -------------------------------------- '$ispublic' => $this->t('everybody') settings/pagetypes.tpl ======================== found in /src/Module/Settings/Accounts.php ------------------------------------------- '$account_types' => DI::l10n()->t("Account Types"), '$user' => DI::l10n()->t("Personal Page Subtypes"), '$community' => DI::l10n()->t("Community Group Subtypes"), '$account_type' => $user['account-type'], '$type_person' => User::ACCOUNT_TYPE_PERSON, '$type_organisation' => User::ACCOUNT_TYPE_ORGANISATION, '$type_news' => User::ACCOUNT_TYPE_NEWS, '$type_community' => User::ACCOUNT_TYPE_COMMUNITY, '$type_relay' => User::ACCOUNT_TYPE_RELAY, '$account_person' => [ 'account-type', DI::l10n()->t('Personal Page'), User::ACCOUNT_TYPE_PERSON, DI::l10n()->t('Account for a personal profile.'), $user['account-type'] == User::ACCOUNT_TYPE_PERSON ], '$account_organisation' => [ 'account-type', DI::l10n()->t('Organisation Page'), User::ACCOUNT_TYPE_ORGANISATION, DI::l10n()->t('Account for an organisation that automatically approves contact requests as "Followers".'), $user['account-type'] == User::ACCOUNT_TYPE_ORGANISATION ], '$account_news' => [ 'account-type', DI::l10n()->t('News Page'), User::ACCOUNT_TYPE_NEWS, DI::l10n()->t('Account for a news reflector that automatically approves contact requests as "Followers".'), $user['account-type'] == User::ACCOUNT_TYPE_NEWS ], '$account_community' => [ 'account-type', DI::l10n()->t('Community Group'), User::ACCOUNT_TYPE_COMMUNITY, DI::l10n()->t('Account for community discussions.'), $user['account-type'] == User::ACCOUNT_TYPE_COMMUNITY ], '$account_relay' => $account_relay, '$page_normal' => [ 'page-flags', DI::l10n()->t('Normal Account Page'), User::PAGE_FLAGS_NORMAL, DI::l10n()->t('Account for a regular personal profile that requires manual approval of "Friends" and "Followers".'), $user['page-flags'] == User::PAGE_FLAGS_NORMAL ], '$page_soapbox' => [ 'page-flags', DI::l10n()->t('Soapbox Page'), User::PAGE_FLAGS_SOAPBOX, DI::l10n()->t('Account for a public profile that automatically approves contact requests as "Followers".'), $user['page-flags'] == User::PAGE_FLAGS_SOAPBOX ], '$page_community' => [ 'page-flags', DI::l10n()->t('Public Group'), User::PAGE_FLAGS_COMMUNITY, DI::l10n()->t('Automatically approves all contact requests.'), $user['page-flags'] == User::PAGE_FLAGS_COMMUNITY ], '$page_community_manually' => [ 'page-flags', DI::l10n()->t('Public Group - Restricted'), User::PAGE_FLAGS_COMM_MAN, DI::l10n()->t('Contact requests have to be manually approved.'), $user['page-flags'] == User::PAGE_FLAGS_COMM_MAN ], '$page_freelove' => [ 'page-flags', DI::l10n()->t('Automatic Friend Page'), User::PAGE_FLAGS_FREELOVE, DI::l10n()->t('Account for a popular profile that automatically approves contact requests as "Friends".'), $user['page-flags'] == User::PAGE_FLAGS_FREELOVE ], '$page_prvgroup' => [ 'page-flags', DI::l10n()->t('Private Group [Experimental]'), User::PAGE_FLAGS_PRVGROUP, DI::l10n()->t('Requires manual approval of contact requests.'), $user['page-flags'] == User::PAGE_FLAGS_PRVGROUP ], field_checkbox.tpl ==================== found in /src/Module/Settings/Accounts.php ------------------------------------------- '$field' => ['profile_in_directory', DI::l10n()->t('Publish your profile in your local site directory?'), $profile['publish'], DI::l10n()->t('Your profile will be published in this node\'s local directory. Your profile details may be publicly visible depending on the system settings.', DI::baseUrl() . '/directory')] settings/account.tpl ===================== found in /src/Module/Settings/Accounts.php -------------------------------------------- '$ptitle' => DI::l10n()->t('Account Settings'), '$desc' => DI::l10n()->t("Your Identity Address is '%s' or '%s'.", $nickname . '@' . DI::baseUrl()->getHost() . DI::baseUrl()->getPath(), DI::baseUrl() . '/profile/' . $nickname), '$submit' => DI::l10n()->t('Save Settings'), '$uid' => DI::userSession()->getLocalUserId(), '$form_security_token' => self::getFormSecurityToken('settings'), '$open' => $this->parameters['open'] ?? 'password', '$h_pass' => DI::l10n()->t('Password Settings'), '$password1' => ['password', DI::l10n()->t('New Password:'), '', $passwordRules, false, 'autocomplete="off"', User::getPasswordRegExp()], '$password2' => ['confirm', DI::l10n()->t('Confirm:'), '', DI::l10n()->t('Leave password fields blank unless changing'), false, 'autocomplete="off"'], '$password3' => ['opassword', DI::l10n()->t('Current Password:'), '', DI::l10n()->t('Your current password to confirm the changes'), false, 'autocomplete="off"'], '$password4' => ['mpassword', DI::l10n()->t('Password:'), '', DI::l10n()->t('Your current password to confirm the changes of the email address'), false, 'autocomplete="off"'], '$oid_enable' => (!DI::config()->get('system', 'no_openid')), '$openid' => $openid_field, '$delete_openid' => ['delete_openid', DI::l10n()->t('Delete OpenID URL'), false, ''], '$h_basic' => DI::l10n()->t('Basic Settings'), '$username' => ['username', DI::l10n()->t('Display name:'), $username, '', false, 'autocomplete="off"'], '$email' => ['email', DI::l10n()->t('Email Address:'), $email, '', '', 'autocomplete="off"', 'email'], '$timezone' => ['timezone_select', DI::l10n()->t('Your Timezone:'), Temporal::getTimezoneSelect($timezone), ''], '$language' => ['language', DI::l10n()->t('Your Language:'), $language, DI::l10n()->t('Set the language we use to show you friendica interface and to send you emails'), $lang_choices], '$default_location' => ['default_location', DI::l10n()->t('Default Post Location:'), $default_location, ''], '$allow_location' => ['allow_location', DI::l10n()->t('Use Browser Location:'), ($user['allow_location'] == 1), ''], '$h_prv' => DI::l10n()->t('Security and Privacy Settings'), '$is_community' => ($user['account-type'] == User::ACCOUNT_TYPE_COMMUNITY), '$maxreq' => ['maxreq', DI::l10n()->t('Maximum Friend Requests/Day:'), $maxreq, DI::l10n()->t("(to prevent spam abuse)")], '$profile_in_dir' => $profile_in_dir, '$profile_in_net_dir' => ['profile_in_netdirectory', DI::l10n()->t('Allow your profile to be searchable globally?'), $profile['net-publish'], DI::l10n()->t("Activate this setting if you want others to easily find and follow you. Your profile will be searchable on remote systems. This setting also determines whether Friendica will inform search engines that your profile should be indexed or not.") . $net_pub_desc], '$hide_friends' => ['hide-friends', DI::l10n()->t('Hide your contact/friend list from viewers of your profile?'), $profile['hide-friends'], DI::l10n()->t('A list of your contacts is displayed on your profile page. Activate this option to disable the display of your contact list.')], '$hide_wall' => ['hidewall', $this->t('Hide your public content from anonymous viewers'), $user['hidewall'], $this->t('Anonymous visitors will only see your basic profile details. Your public posts and replies will still be freely accessible on the remote servers of your followers and through relays.')], '$unlisted' => ['unlisted', DI::l10n()->t('Make public posts unlisted'), DI::pConfig()->get(DI::userSession()->getLocalUserId(), 'system', 'unlisted'), DI::l10n()->t('Your public posts will not appear on the community pages or in search results, nor be sent to relay servers. However they can still appear on public feeds on remote servers.')], '$accessiblephotos' => ['accessible-photos', DI::l10n()->t('Make all posted pictures accessible'), DI::pConfig()->get(DI::userSession()->getLocalUserId(), 'system', 'accessible-photos'), DI::l10n()->t("This option makes every posted picture accessible via the direct link. This is a workaround for the problem that most other networks can't handle permissions on pictures. Non public pictures still won't be visible for the public on your photo albums though.")], '$blockwall' => ['blockwall', DI::l10n()->t('Allow friends to post to your profile page?'), (intval($user['blockwall']) ? '0' : '1'), DI::l10n()->t('Your contacts may write posts on your profile wall. These posts will be distributed to your contacts')], '$blocktags' => ['blocktags', DI::l10n()->t('Allow friends to tag your posts?'), (intval($user['blocktags']) ? '0' : '1'), DI::l10n()->t('Your contacts can add additional tags to your posts.')], '$circle_select' => Circle::getSelectorHTML(DI::userSession()->getLocalUserId(), $user['def_gid'], 'circle-selection', DI::l10n()->t('Default privacy circle for new contacts')), '$circle_select_group' => Circle::getSelectorHTML(DI::userSession()->getLocalUserId(), DI::pConfig()->get(DI::userSession()->getLocalUserId(), 'system', 'default-group-gid', $user['def_gid']), 'circle-selection-group', DI::l10n()->t('Default privacy circle for new group contacts')), '$permissions' => DI::l10n()->t('Default Post Permissions'), '$aclselect' => ACL::getFullSelectorHTML(DI::page(), $this->session->getLocalUserId()), '$expire' => [ 'label' => DI::l10n()->t('Expiration settings'), 'days' => ['expire', DI::l10n()->t("Automatically expire posts after this many days:"), $expire, DI::l10n()->t('If empty, posts will not expire. Expired posts will be deleted')], 'items' => ['expire_items', DI::l10n()->t('Expire posts'), $expire_items, DI::l10n()->t('When activated, posts and comments will be expired.')], 'notes' => ['expire_notes', DI::l10n()->t('Expire personal notes'), $expire_notes, DI::l10n()->t('When activated, the personal notes on your profile page will be expired.')], 'starred' => ['expire_starred', DI::l10n()->t('Expire starred posts'), $expire_starred, DI::l10n()->t('Starring posts keeps them from being expired. That behaviour is overwritten by this setting.')], 'network_only' => ['expire_network_only', DI::l10n()->t('Only expire posts by others'), $expire_network_only, DI::l10n()->t('When activated, your own posts never expire. Then the settings above are only valid for posts you received.')], ], '$h_not' => DI::l10n()->t('Notification Settings'), '$lbl_not' => DI::l10n()->t('Send a notification email when:'), '$notify1' => ['notify1', DI::l10n()->t('You receive an introduction'), ($notify & Notification\Type::INTRO), Notification\Type::INTRO, ''], '$notify2' => ['notify2', DI::l10n()->t('Your introductions are confirmed'), ($notify & Notification\Type::CONFIRM), Notification\Type::CONFIRM, ''], '$notify3' => ['notify3', DI::l10n()->t('Someone writes on your profile wall'), ($notify & Notification\Type::WALL), Notification\Type::WALL, ''], '$notify4' => ['notify4', DI::l10n()->t('Someone writes a followup comment'), ($notify & Notification\Type::COMMENT), Notification\Type::COMMENT, ''], '$notify5' => ['notify5', DI::l10n()->t('You receive a private message'), ($notify & Notification\Type::MAIL), Notification\Type::MAIL, ''], '$notify6' => ['notify6', DI::l10n()->t('You receive a friend suggestion'), ($notify & Notification\Type::SUGGEST), Notification\Type::SUGGEST, ''], '$notify7' => ['notify7', DI::l10n()->t('You are tagged in a post'), ($notify & Notification\Type::TAG_SELF), Notification\Type::TAG_SELF, ''], '$lbl_notify' => DI::l10n()->t('Create a desktop notification when:'), '$notify_tagged' => ['notify_tagged', DI::l10n()->t('Someone tagged you'), is_null($notify_type) || $notify_type & UserNotification::TYPE_EXPLICIT_TAGGED, ''], '$notify_direct_comment' => ['notify_direct_comment', DI::l10n()->t('Someone directly commented on your post'), is_null($notify_type) || $notify_type & (UserNotification::TYPE_IMPLICIT_TAGGED + UserNotification::TYPE_DIRECT_COMMENT + UserNotification::TYPE_DIRECT_THREAD_COMMENT), ''], '$notify_like' => ['notify_like', DI::l10n()->t('Someone liked your content'), DI::pConfig()->get(DI::userSession()->getLocalUserId(), 'system', 'notify_like'), DI::l10n()->t('Can only be enabled, when the direct comment notification is enabled.')], '$notify_announce' => ['notify_announce', DI::l10n()->t('Someone shared your content'), DI::pConfig()->get(DI::userSession()->getLocalUserId(), 'system', 'notify_announce'), DI::l10n()->t('Can only be enabled, when the direct comment notification is enabled.')], '$notify_thread_comment' => ['notify_thread_comment', DI::l10n()->t('Someone commented in your thread'), is_null($notify_type) || $notify_type & UserNotification::TYPE_THREAD_COMMENT, ''], '$notify_comment_participation' => ['notify_comment_participation', DI::l10n()->t('Someone commented in a thread where you commented'), is_null($notify_type) || $notify_type & UserNotification::TYPE_COMMENT_PARTICIPATION, ''], '$notify_activity_participation' => ['notify_activity_participation', DI::l10n()->t('Someone commented in a thread where you interacted'), is_null($notify_type) || $notify_type & UserNotification::TYPE_ACTIVITY_PARTICIPATION, ''], '$desktop_notifications' => ['desktop_notifications', DI::l10n()->t('Activate desktop notifications'), false, DI::l10n()->t('Show desktop popup on new notifications')], '$email_textonly' => [ 'email_textonly', DI::l10n()->t('Text-only notification emails'), DI::pConfig()->get(DI::userSession()->getLocalUserId(), 'system', 'email_textonly'), DI::l10n()->t('Send text only notification emails, without the html part') ], '$detailed_notif' => [ 'detailed_notif', DI::l10n()->t('Show detailled notifications'), DI::pConfig()->get(DI::userSession()->getLocalUserId(), 'system', 'detailed_notif'), DI::l10n()->t('Per default, notifications are condensed to a single notification per item. When enabled every notification is displayed.') ], '$notify_ignored' => [ 'notify_ignored', DI::l10n()->t('Show notifications of ignored contacts'), DI::pConfig()->get(DI::userSession()->getLocalUserId(), 'system', 'notify_ignored', true), DI::l10n()->t("You don't see posts from ignored contacts. But you still see their comments. This setting controls if you want to still receive regular notifications that are caused by ignored contacts or not.") ], '$h_advn' => DI::l10n()->t('Advanced Account/Page Type Settings'), '$h_descadvn' => DI::l10n()->t('Change the behaviour of this account for special situations'), '$pagetype' => $pagetype, '$relocate' => DI::l10n()->t('Relocate'), '$relocate_text' => DI::l10n()->t("If you have moved this profile from another server, and some of your contacts don't receive your updates, try pushing this button."), '$relocate_button' => DI::l10n()->t("Resend relocate message to contacts"), settings/addons/link.tpl =========================== found in /src/Module/Settings/Addons.php ----------------------------------------- '$addon' => $data['addon'], '$title' => $data['title'], '$href' => $data['href'], settings/addons/panel.tpl =========================== found in /src/Module/Settings/Addons.php ---------------------------------------- '$addon' => $data['addon'], '$title' => $data['title'], '$open' => ($this->parameters['addon'] ?? '') === $data['addon'], '$html' => $data['html'] ?? '', '$submit' => $data['submit'] ?? $this->t('Save Settings'), settings/addons.tpl ===================== found in /src/Module/Settings/Addons.php ------------------------------------------ '$form_security_token' => BaseSettings::getFormSecurityToken('settings_addon'), '$title' => $this->t('Addon Settings'), '$no_addons_settings_configured' => $this->t('No Addon settings configured'), '$addon_settings_forms' => $addon_settings_forms, settings/channels.tpl ======================= found in /src/Module/Settings/Channels.php ------------------------------------------ 'open' => count($channels) == 0, 'label' => ["new_label", $this->t('Label'), '', $this->t('Short name for the channel. It is displayed on the channels widget.'), $this->t('Required')], 'description' => ["new_description", $this->t("Description"), '', $this->t('This should describe the content of the channel in a few word.')], 'access_key' => ["new_access_key", $this->t("Access Key"), '', $this->t('When you want to access this channel via an access key, you can define it here. Pay attention to not use an already used one.')], 'circle' => ['new_circle', $this->t('Circle/Channel'), 0, $this->t('Select a circle or channel, that your channel should be based on.'), $circles], 'include_tags' => ["new_include_tags", $this->t("Include Tags"), '', $this->t('Comma separated list of tags. A post will be used when it contains any of the listed tags.')], 'exclude_tags' => ["new_exclude_tags", $this->t("Exclude Tags"), '', $this->t('Comma separated list of tags. If a post contain any of these tags, then it will not be part of nthis channel.')], 'min_size' => ["new_min_size", $this->t("Minimum Size"), '', $this->t('Minimum post size. Leave empty for no minimum size. The size is calculated without links, attached posts, mentions or hashtags.')], 'max_size' => ["new_max_size", $this->t("Maximum Size"), '', $this->t('Maximum post size. Leave empty for no maximum size. The size is calculated without links, attached posts, mentions or hashtags.')], 'text_search' => ["new_text_search", $this->t("Full Text Search"), '', $this->t('Search terms for the body, supports the "boolean mode" operators from MariaDB. See the help for a complete list of operators and additional keywords: %s', 'help/Channels')], 'image' => ['new_image', $this->t("Images"), false, $this->t("Check to display images in the channel.")], 'video' => ["new_video", $this->t("Videos"), false, $this->t("Check to display videos in the channel.")], 'audio' => ["new_audio", $this->t("Audio"), false, $this->t("Check to display audio in the channel.")], 'languages' => ["new_languages[]", $this->t('Languages'), $channel_languages, $this->t('Select all languages that you want to see in this channel.'), $languages, 'multiple'], '$l10n' => [ 'title' => $this->t('Channels'), 'intro' => $intro, 'addtitle' => $this->t('Add new entry to the channel list'), 'addsubmit' => $this->t('Add'), 'savechanges' => $this->t('Save'), 'currenttitle' => $this->t('Current Entries in the channel list'), 'thurl' => $this->t('Blocked server domain pattern'), 'threason' => $this->t('Reason for the block'), 'delentry' => $this->t('Delete entry from the channel list'), 'confirm_delete' => $this->t('Delete entry from the channel list?'), ], '$entries' => [ 'id' => $channel->code, 'open' => $open, 'label' => ["label[$channel->code]", $this->t('Label'), $channel->label, '', $this->t('Required')], 'description' => ["description[$channel->code]", $this->t("Description"), $channel->description], 'access_key' => ["access_key[$channel->code]", $this->t("Access Key"), $channel->accessKey], 'circle' => ["circle[$channel->code]", $this->t('Circle/Channel'), $channel->circle, '', $circles], 'include_tags' => ["include_tags[$channel->code]", $this->t("Include Tags"), str_replace(',', ', ', $channel->includeTags)], 'exclude_tags' => ["exclude_tags[$channel->code]", $this->t("Exclude Tags"), str_replace(',', ', ', $channel->excludeTags)], 'min_size' => ["min_size[$channel->code]", $this->t("Minimum Size"), $channel->minSize], 'max_size' => ["max_size[$channel->code]", $this->t("Maximum Size"), $channel->maxSize], 'text_search' => ["text_search[$channel->code]", $this->t("Full Text Search"), $channel->fullTextSearch], 'image' => ["image[$channel->code]", $this->t("Images"), $channel->mediaType & 1], 'video' => ["video[$channel->code]", $this->t("Videos"), $channel->mediaType & 2], 'audio' => ["audio[$channel->code]", $this->t("Audio"), $channel->mediaType & 4], 'languages' => ["languages[$channel->code][]", $this->t('Languages'), $channel->languages ?? $channel_languages, $this->t('Select all languages that you want to see in this channel.'), $languages, 'multiple'], 'publish' => $publish, 'delete' => ["delete[$channel->code]", $this->t("Delete channel") . ' (' . $channel->label . ')', false, $this->t("Check to delete this entry from the channel list")] ], '$form_security_token' => self::getFormSecurityToken('settings_channels'), settings/addons/connector.tpl =============================== found in /src/Module/Settings/Connector.php -------------------------------------------- '$connector' => $data['connector'], '$title' => $data['title'], '$image' => $data['image'] ?? '', '$enabled' => $data['enabled'] ?? true, '$open' => ($this->parameters['connector'] ?? '') === $data['connector'], '$html' => $data['html'] ?? '', '$submit' => $data['submit'] ?? $this->t('Save Settings'), settings/connectors.tpl ======================== found in /src/Module/Settings/Connector.php -------------------------------------------- '$form_security_token' => BaseSettings::getFormSecurityToken("settings_connectors"), '$title' => $this->t('Social Networks'), '$diasp_enabled' => $diasp_enabled, '$general_settings' => $this->t('General Social Media Settings'), '$accept_only_sharer' => [ 'accept_only_sharer', $this->t('Followed content scope'), $accept_only_sharer, $this->t('By default, conversations in which your follows participated but didn\'t start will be shown in your timeline. You can turn this behavior off, or expand it to the conversations in which your follows liked a post.'), [ Item::COMPLETION_NONE => $this->t('Only conversations my follows started'), Item::COMPLETION_COMMENT => $this->t('Conversations my follows started or commented on (default)'), Item::COMPLETION_LIKE => $this->t('Any conversation my follows interacted with, including likes'), ] ], '$enable_cw' => ['enable_cw', $this->t("Collapse sensitive posts"), $enable_cw, $this->t('If a post is marked as "sensitive", it will be displayed in a collapsed state, if this option is enabled.')], '$enable_smart_shortening' => ['enable_smart_shortening', $this->t('Enable intelligent shortening'), $enable_smart_shortening, $this->t('Normally the system tries to find the best link to add to shortened posts. If disabled, every shortened post will always point to the original friendica post.')], '$simple_shortening' => ['simple_shortening', $this->t('Enable simple text shortening'), $simple_shortening, $this->t('Normally the system shortens posts at the next line feed. If this option is enabled then the system will shorten the text at the maximum character limit.')], '$attach_link_title' => ['attach_link_title', $this->t('Attach the link title'), $attach_link_title, $this->t('When activated, the title of the attached link will be added as a title on posts to Diaspora. This is mostly helpful with "remote-self" contacts that share feed content.')], '$api_spoiler_title' => ['api_spoiler_title', $this->t('API: Use spoiler field as title'), $api_spoiler_title, $this->t('When activated, the "spoiler_text" field in the API will be used for the title on standalone posts. When deactivated it will be used for spoiler text. For comments it will always be used for spoiler text.')], '$api_auto_attach' => ['api_auto_attach', $this->t('API: Automatically links at the end of the post as attached posts'), $api_auto_attach, $this->t('When activated, added links at the end of the post react the same way as added links in the web interface.')], '$article_mode' => ['article_mode', $this->t('Article Mode'), $article_mode, $this->t("Controls how posts with titles are transmitted. Mastodon and its forks don't display the content of these posts if the post is created in the correct (default) way."), $article_modes], '$connector_settings_forms' => $connector_settings_forms, '$h_mail' => $this->t('Email/Mailbox Setup'), '$mail_desc' => $this->t("If you wish to communicate with email contacts using this service \x28optional\x29, please specify how to connect to your mailbox."), '$mail_lastcheck' => ['mail_lastcheck', $this->t('Last successful email check:'), $mail_chk, ''], '$mail_disabled' => $mail_disabled, '$mail_server' => ['mail_server', $this->t('IMAP server name:'), $mail_server, ''], '$mail_port' => ['mail_port', $this->t('IMAP port:'), $mail_port, ''], '$mail_ssl' => ['mail_ssl', $this->t('Security:'), strtoupper($mail_ssl), '', $ssl_options], '$mail_user' => ['mail_user', $this->t('Email login name:'), $mail_user, ''], '$mail_pass' => ['mail_pass', $this->t('Email password:'), '', ''], '$mail_replyto' => ['mail_replyto', $this->t('Reply-to address:'), $mail_replyto, 'Optional'], '$mail_pubmail' => ['mail_pubmail', $this->t('Send public posts to all email contacts:'), $mail_pubmail, ''], '$mail_action' => ['mail_action', $this->t('Action after import:'), $mail_action, '', [0 => $this->t('None'), 1 => $this->t('Delete'), 2 => $this->t('Mark as seen'), 3 => $this->t('Move to folder')]], '$mail_movetofolder' => ['mail_movetofolder', $this->t('Move to folder:'), $mail_movetofolder, ''], '$submit' => $this->t('Save Settings'), settings/contactimport.tpl =========================== found in /src/Module/Settings/ContactImport.php ------------------------------------------------- '$title' => $this->l10n->t('Import Contacts'), '$submit' => $this->l10n->t('Save Settings'), '$form_security_token' => self::getFormSecurityToken('contactimport'), '$importcontact_text' => $this->l10n->t('Upload a CSV file that contains the handle of your followed accounts in the first column you exported from the old account.'), '$importcontact_button' => $this->l10n->t('Upload File'), '$importcontact_maxsize' => $this->config->get('system', 'max_csv_file_size', 30720), '$legacy_contact' => ['legacy_contact', $this->t('Your legacy ActivityPub/GNU Social account'), $legacy_contact, $this->t('If you enter your old account name from an ActivityPub based system or your GNU Social/Statusnet account name here (in the format user@domain.tld), your contacts will be added automatically. The field will be emptied when done.')], settings/delegation.tpl ========================= found in /src/Module/User/Delegation.php ----------------------------------------- '$l10n' => [ 'account_header' => $this->t('Additional Accounts'), 'account_desc' => $this->t('Register additional accounts that are automatically connected to your existing account so you can manage them from this account.'), 'add_account' => $this->t('Register an additional account'), 'parent_header' => $this->t('Parent User'), 'parent_desc' => $this->t('Parent users have total control about this account, including the account settings. Please double check whom you give this access.'), 'submit' => $this->t('Save Settings'), 'header' => $this->t('Manage Accounts'), 'delegates_header' => $this->t('Delegates'), 'desc' => $this->t('Delegates are able to manage all aspects of this account/page except for basic account settings. Please do not delegate your personal account to anybody that you do not trust completely.'), 'head_delegates' => $this->t('Existing Page Delegates'), 'head_potentials' => $this->t('Potential Delegates'), 'none' => $this->t('No entries.'), ], '$form_security_token' => BaseModule::getFormSecurityToken('delegate'), '$parent_user' => $parent_user, '$parent_password' => $parent_password, '$is_child_user' => $is_child_user, '$delegates' => $delegates, '$potentials' => $potentials, settings/display.tpl ======================= found in /src/Module/Settings/Display.php ------------------------------------------ '$ptitle' => $this->t('Display Settings'), '$submit' => $this->t('Save Settings'), '$d_tset' => $this->t('General Theme Settings'), '$d_ctset' => $this->t('Custom Theme Settings'), '$d_cset' => $this->t('Content Settings'), '$stitle' => $this->t('Theme settings'), '$timeline_title' => $this->t('Timelines'), '$channel_title' => $this->t('Channels'), '$calendar_title' => $this->t('Calendar'), '$form_security_token' => self::getFormSecurityToken('settings_display'), '$uid' => $uid, '$theme' => ['theme', $this->t('Display Theme:'), $theme_selected, '', $themes, true], '$mobile_theme' => ['mobile_theme', $this->t('Mobile Theme:'), $mobile_theme_selected, '', $mobile_themes, false], '$theme_config' => $theme_config, '$itemspage_network' => ['itemspage_network', $this->t('Number of items to display per page:'), $itemspage_network, $this->t('Maximum of 100 items')], '$itemspage_mobile_network' => ['itemspage_mobile_network', $this->t('Number of items to display per page when viewed from mobile device:'), $itemspage_mobile_network, $this->t('Maximum of 100 items')], '$ajaxint' => ['browser_update', $this->t('Update browser every xx seconds'), $browser_update, $this->t('Minimum of 10 seconds. Enter -1 to disable it.')], '$enable_smile' => ['enable_smile', $this->t('Display emoticons'), $enable_smile, $this->t('When enabled, emoticons are replaced with matching symbols.')], '$infinite_scroll' => ['infinite_scroll', $this->t('Infinite scroll'), $infinite_scroll, $this->t('Automatic fetch new items when reaching the page end.')], '$enable_smart_threading' => ['enable_smart_threading', $this->t('Enable Smart Threading'), $enable_smart_threading, $this->t('Enable the automatic suppression of extraneous thread indentation.')], '$enable_dislike' => ['enable_dislike', $this->t('Display the Dislike feature'), $enable_dislike, $this->t('Display the Dislike button and dislike reactions on posts and comments.')], '$display_resharer' => ['display_resharer', $this->t('Display the resharer'), $display_resharer, $this->t('Display the first resharer as icon and text on a reshared item.')], '$stay_local' => ['stay_local', $this->t('Stay local'), $stay_local, $this->t("Don't go to a remote system when following a contact link.")], '$show_page_drop' => ['show_page_drop', $this->t('Show the post deletion checkbox'), $show_page_drop, $this->t("Display the checkbox for the post deletion on the network page.")], '$display_eventlist' => ['display_eventlist', $this->t('DIsplay the event list'), $display_eventlist, $this->t("Display the birthday reminder and event list on the network page.")], '$preview_mode' => ['preview_mode', $this->t('Link preview mode'), $preview_mode, $this->t('Appearance of the link preview that is added to each post with a link.'), $preview_modes, false], '$hide_empty_descriptions' => ['hide_empty_descriptions', $this->t('Hide pictures with empty alternative text'), $hide_empty_descriptions, $this->t("Don't display pictures that are missing the alternative text.")], '$hide_custom_emojis' => ['hide_custom_emojis', $this->t('Hide custom emojis'), $hide_custom_emojis, $this->t("Don't display custom emojis.")], '$platform_icon_style' => ['platform_icon_style', $this->t('Platform icons style'), $platform_icon_style, $this->t('Style of the platform icons'), $platform_icon_styles, false], '$timeline_label' => $this->t('Label'), '$timeline_descriptiom' => $this->t('Description'), '$timeline_enable' => $this->t('Enable'), '$timeline_bookmark' => $this->t('Bookmark'), '$timelines' => $timelines, '$timeline_explanation' => $this->t('Enable timelines that you want to see in the channels widget. Bookmark timelines that you want to see in the top menu.'), '$channel_languages' => ['channel_languages[]', $this->t('Channel languages:'), $channel_languages, $this->t('Select all languages that you want to see in your channels.'), $languages, 'multiple'], '$first_day_of_week' => ['first_day_of_week', $this->t('Beginning of week:'), $first_day_of_week, '', $weekdays, false], '$calendar_default_view' => ['calendar_default_view', $this->t('Default calendar view:'), $calendar_default_view, '', $calendarViews, false], settings/features.tpl ===================== found in /src/Module/Settings/Features.php ------------------------------------------- '$form_security_token' => BaseSettings::getFormSecurityToken('settings_features'), '$title' => $this->t('Additional Features'), '$features' => $arr, '$submit' => $this->t('Save Settings'), settings/oauth.tpl ==================== found in /src/Module/Settings/OAuth.php ---------------------------------------- '$form_security_token' => BaseSettings::getFormSecurityToken('settings_oauth'), '$title' => $this->t('Connected Apps'), '$name' => $this->t('Name'), '$website' => $this->t('Home Page'), '$created_at' => $this->t('Created'), '$delete' => $this->t('Remove authorization'), '$apps' => $applications, settings/profile/index.tpl =========================== found in /src/Module/Settings/Profile/Index.php ------------------------------------------------ '$l10n' => [ 'profile_action' => $this->t('Profile Actions'), 'banner' => $this->t('Edit Profile Details'), 'submit' => $this->t('Submit'), 'profpic' => $this->t('Change Profile Photo'), 'viewprof' => $this->t('View Profile'), 'personal_section' => $this->t('Personal'), 'picture_section' => $this->t('Profile picture'), 'location_section' => $this->t('Location'), 'miscellaneous_section' => $this->t('Miscellaneous'), 'custom_fields_section' => $this->t('Custom Profile Fields'), 'profile_photo' => $this->t('Upload Profile Photo'), 'custom_fields_description' => $this->t('Custom fields appear on your profile page.
You can use BBCodes in the field values.
Reorder by dragging the field title.
Empty the label field to remove a custom field.
Non-public fields can only be seen by the selected Friendica contacts or the Friendica contacts in the selected circles.
', 'profile/' . $owner['nickname'] . '/profile' settings/profile/photo/crop.tpl ================================= found in /src/Module/Settings/Profile/Photo/Crop.php ------------------------------------------------------ '$filename' => $filename, '$resource' => $imagecrop['resource-id'] . '-' . $imagecrop['scale'], '$image_url' => DI::baseUrl() . '/photo/' . $filename, '$title' => DI::l10n()->t('Crop Image'), '$desc' => DI::l10n()->t('Please adjust the image cropping for optimum viewing.'), '$form_security_token' => self::getFormSecurityToken('settings_profile_photo_crop'), '$skip' => $isSquare ? DI::l10n()->t('Use Image As Is') : '', '$crop' => DI::l10n()->t('Crop Image'), settings/profile/photo/index.tpl ================================= found in /src/Module/Settings/Profile/Photo/Index.php ----------------------------------------------------- '$title' => DI::l10n()->t('Profile Picture Settings'), '$current_picture' => DI::l10n()->t('Current Profile Picture'), '$upload_picture' => DI::l10n()->t('Upload Profile Picture'), '$lbl_upfile' => DI::l10n()->t('Upload Picture:'), '$submit' => DI::l10n()->t('Upload'), '$avatar' => $contact['avatar'], '$form_security_token' => self::getFormSecurityToken('settings_profile_photo'), '$select' => sprintf('%s %s', DI::l10n()->t('or'), ($newuser) ? '' . DI::l10n()->t('skip this step') . '' : '' . DI::l10n()->t('select a photo from your photo albums') . '' ), settings/removeme.tpl ======================= found in /src/Module/Settings/RemoveMe.php ------------------------------------------- '$l10n' => [ 'title' => DI::l10n()->t('Remove My Account'), 'desc' => DI::l10n()->t('This will completely remove your account. Once this has been done it is not recoverable.'), ], '$hovercard' => Widget\Hovercard::getHTML(User::getOwnerDataById($this->session->getLocalUserId())), '$password' => [$hash, $this->t('Please enter your password for verification:'), null, null, true], settings/server/action.tpl ============================ found in /src/Module/Settings/Server/Action.php ------------------------------------------------- '$l10n' => [ 'title' => $this->t('Remote server settings'), 'action' => $action, 'siteName' => $this->t('Server Name'), 'siteUrl' => $this->t('Server URL'), 'desc' => $desc, 'submit' => $this->t('Submit'), ], '$action' => $this->args->getQueryString(), '$GServer' => $GServer, '$form_security_token' => self::getFormSecurityToken('settings-server'), settings/server/index.tpl =========================== found in /src/Module/Settings/Server/Index.php ----------------------------------------------- '$l10n' => [ 'title' => $this->t('Remote server settings'), 'desc' => $this->t('Here you can find all the remote servers you have taken individual moderation actions against. For a list of servers your node has blocked, please check out the Information page.'), 'siteName' => $this->t('Server Name'), 'ignored' => $this->t('Ignored'), 'ignored_title' => $this->t("You won't see any content from this server including reshares in your Network page, the community pages and individual conversations."), 'delete' => $this->t('Delete'), 'delete_title' => $this->t('Delete all your settings for the remote server'), 'submit' => $this->t('Save changes'), ], '$count' => $total, '$servers' => $servers, '$form_security_token' => self::getFormSecurityToken('settings-server'), '$ignoredCheckboxes' => $ignoredCheckboxes, '$deleteCheckboxes' => $deleteCheckboxes, '$paginate' => $pager->renderFull($total), settings/twofactor/app_specific.tpl ==================================== found in /src/Module/Settings/TwoFactor/AppSpecific.php -------------------------------------------------------- '$form_security_token' => self::getFormSecurityToken('settings_2fa_app_specific'), '$password_security_token' => self::getFormSecurityToken('settings_2fa_password'), '$title' => $this->t('Two-factor app-specific passwords'), '$help_label' => $this->t('Help'), '$message' => $this->t('App-specific passwords are randomly generated passwords used instead your regular password to authenticate your account on third-party applications that don\'t support two-factor authentication.
'), '$generated_message' => $this->t('Make sure to copy your new app-specific password now. You won’t be able to see it again!'), '$generated_app_specific_password' => $this->appSpecificPassword, '$description_label' => $this->t('Description'), '$last_used_label' => $this->t('Last Used'), '$revoke_label' => $this->t('Revoke'), '$revoke_all_label' => $this->t('Revoke All'), '$app_specific_passwords' => $appSpecificPasswords, '$generate_message' => $this->t('When you generate a new app-specific password, you must use it right away, it will be shown to you once after you generate it.'), '$generate_title' => $this->t('Generate new app-specific password'), '$description_placeholder_label' => $this->t('Friendiqa on my Fairphone 2...'), '$generate_label' => $this->t('Generate'), settings/twofactor/index.tpl ============================= found in /src/Module/Settings/TwoFactor/Index.php -------------------------------------------------- '$form_security_token' => self::getFormSecurityToken('settings_2fa'), '$title' => $this->t('Two-factor authentication'), '$help_label' => $this->t('Help'), '$status_title' => $this->t('Status'), '$message' => $this->t('Use an application on a mobile device to get two-factor authentication codes when prompted on login.
'), '$has_secret' => $has_secret, '$verified' => $verified, '$auth_app_label' => $this->t('Authenticator app'), '$app_status' => $has_secret ? $verified ? $this->t('Configured') : $this->t('Not Configured') : $this->t('Disabled'), '$not_configured_message' => $this->t('You haven\'t finished configuring your authenticator app.
'), '$configured_message' => $this->t('Your authenticator app is correctly configured.
'), '$recovery_codes_title' => $this->t('Recovery codes'), '$recovery_codes_remaining' => $this->t('Remaining valid codes'), '$recovery_codes_count' => RecoveryCode::countValidForUser($this->session->getLocalUserId()), '$recovery_codes_message' => $this->t('These one-use codes can replace an authenticator app code in case you have lost access to it.
'), '$app_specific_passwords_title' => $this->t('App-specific passwords'), '$app_specific_passwords_remaining' => $this->t('Generated app-specific passwords'), '$app_specific_passwords_count' => AppSpecificPassword::countForUser($this->session->getLocalUserId()), '$app_specific_passwords_message' => $this->t('These randomly generated passwords allow you to authenticate on apps not supporting two-factor authentication.
'), '$action_title' => $this->t('Actions'), '$password' => ['password', $this->t('Current password:'), '', $this->t('You need to provide your current password to change two-factor authentication settings.'), $this->t('Required'), 'autofocus'], '$enable_label' => $this->t('Enable two-factor authentication'), '$disable_label' => $this->t('Disable two-factor authentication'), '$recovery_codes_label' => $this->t('Show recovery codes'), '$app_specific_passwords_label' => $this->t('Manage app-specific passwords'), '$trusted_browsers_label' => $this->t('Manage trusted browsers'), '$configure_label' => $this->t('Finish app configuration'), settings/twofactor/recovery.tpl ================================= found in /src/Module/Settings/TwoFactor/Recovery.php ----------------------------------------------------- '$form_security_token' => self::getFormSecurityToken('settings_2fa_recovery'), '$password_security_token' => self::getFormSecurityToken('settings_2fa_password'), '$title' => $this->t('Two-factor recovery codes'), '$help_label' => $this->t('Help'), '$message' => $this->t('Recovery codes can be used to access your account in the event you lose access to your device and cannot receive two-factor authentication codes.
Put these in a safe spot! If you lose your device and don’t have the recovery codes you will lose access to your account.
'), '$recovery_codes' => $recoveryCodes, '$regenerate_message' => $this->t('When you generate new recovery codes, you must copy the new codes. Your old codes won’t work anymore.'), '$regenerate_label' => $this->t('Generate new recovery codes'), '$verified' => $verified, '$verify_label' => $this->t('Next: Verification'), settings/twofactor/trusted_browsers.tpl ======================================== found in /src/Module/Settings/TwoFactor/Trusted.php --------------------------------------------------- '$form_security_token' => self::getFormSecurityToken('settings_2fa_trusted'), '$password_security_token' => self::getFormSecurityToken('settings_2fa_password'), '$title' => $this->t('Two-factor Trusted Browsers'), '$message' => $this->t('Trusted browsers are individual browsers you chose to skip two-factor authentication to access Friendica. Please use this feature sparingly, as it can negate the benefit of two-factor authentication.'), '$device_label' => $this->t('Device'), '$os_label' => $this->t('OS'), '$browser_label' => $this->t('Browser'), '$trusted_label' => $this->t('Trusted'), '$created_label' => $this->t('Created At'), '$last_used_label' => $this->t('Last Use'), '$remove_label' => $this->t('Remove'), '$remove_all_label' => $this->t('Remove All'), '$trusted_browsers' => $trustedBrowserDisplay, settings/twofactor/verify.tpl =============================== found in /src/Module/Settings/TwoFactor/Verify.php -------------------------------------------------- '$form_security_token' => self::getFormSecurityToken('settings_2fa_verify'), '$password_security_token' => self::getFormSecurityToken('settings_2fa_password'), '$title' => $this->t('Two-factor code verification'), '$help_label' => $this->t('Help'), '$message' => $this->t('Please scan this QR Code with your authenticator app and submit the provided code.
'), '$qrcode_image' => $qrcode_image, '$qrcode_url_message' => $this->t('Or you can open the following URL in your mobile device:
', $otpauthUrl, $shortOtpauthUrl), '$manual_message' => $manual_message, '$company' => $company, '$holder' => $holder, '$secret' => $secret, '$verify_code' => ['verify_code', $this->t('Please enter a code from your authentication app'), '', '', $this->t('Required'), 'autofocus autocomplete="off" placeholder="000000"'], '$verify_label' => $this->t('Verify code and enable two-factor authentication'), settings/userexport.tpl ========================== found in /src/Module/Settings/UserExport.php -------------------------------------------- '$title' => $this->l10n->t('Export personal data'), '$options' => [ ['settings/userexport/account?t=' . $t, $this->l10n->t('Export account'), $this->l10n->t('Export your account info and contacts. Use this to make a backup of your account and/or to move it to another server.')], ['settings/userexport/backup?t=' . $t, $this->l10n->t('Export all'), $this->l10n->t('Export your account info, contacts and all your items as json. Could be a very big file, and could take a lot of time. Use this to make a full backup of your account (photos are not exported)')], ['settings/userexport/contact?t=' . $t, $this->l10n->t('Export Contacts to CSV'), $this->l10n->t('Export the list of the accounts you are following as CSV file. Compatible to e.g. Mastodon.')], ], smilies.tpl ============= found in /src/Modules/Smilies.php ---------------------------------- ( $smilies = Content\Smilies::getList(); $count = count($smilies['texts'] ?? []); ) '$count' => $count, '$smilies' => $smilies, special/displaynotfound.tpl ============================= found in /src/Module/Special/DisplayNotFound.php -------------------------------------------------- '$l10n' => [ 'title' => $this->t('Conversation Not Found'), 'desc1' => $this->t("Unfortunately, the requested conversation isn't available to you."), 'desc2' => $this->t('Possible reasons include:'), 'reasons' => $reasons, tos.tpl ======== found in /src/Module/Tos.php ---------------------------- '$title' => $this->t('Terms of Service'), '$tostext' => BBCode::convertForUriId(User::getSystemUriId(), $this->config->get('system', 'tostext')), '$rulestitle' => $this->t('Rules'), '$rules' => BBCode::convertForUriId(User::getSystemUriId(), $rules), '$displayprivstatement' => $this->config->get('system', 'tosprivstatement'), '$privstatementtitle' => $this->t('Privacy Statement'), '$privacy_operate' => $this->t('At the time of registration, and for providing communications between the user account and their contacts, the user has to provide a display name (pen name), an username (nickname) and a working email address. The names will be accessible on the profile page of the account by any visitor of the page, even if other profile details are not displayed. The email address will only be used to send the user notifications about interactions, but wont be visibly displayed. The listing of an account in the node\'s user directory or the global user directory is optional and can be controlled in the user settings, it is not necessary for communication.'), '$privacy_distribute' => $this->t('This data is required for communication and is passed on to the nodes of the communication partners and is stored there. Users can enter additional private data that may be transmitted to the communication partners accounts.'), '$privacy_delete' => $this->t('At any point in time a logged in user can export their account data from the account settings. If the user wants to delete their account they can do so at %1$s/settings/removeme. The deletion of the account will be permanent. Deletion of the data will also be requested from the nodes of the communication partners.', $this->baseUrl) delegation.tpl ================ '$l10n' => [ 'title' => $this->t('Switch between your accounts'), 'settings_label' => $this->t('Manage your accounts'), 'desc' => $this->t('Toggle between different identities or community/group pages which share your account details or which you have been granted "manage" permissions'), 'choose' => $this->t('Select an identity to manage: '), 'submit' => $this->t('Submit'), ], '$identities' => $identities, user/import.tpl ================= found in /src/Module/User/Import.php ---------------------------------------- '$regbutt' => $this->t('Import'), '$import' => [ 'title' => $this->t('Move account'), 'intro' => $this->t('You can import an account from another Friendica server.'), 'instruct' => $this->t('You need to export your account from the old server and upload it here. We will recreate your old account here with all your contacts. We will try also to inform your friends that you moved here.'), 'warn' => $this->t("This feature is experimental. We can't import contacts from the OStatus network (GNU Social/Statusnet) or from Diaspora"), 'field' => ['accountfile', $this->t('Account file'), '', $this->t('To export your account, go to "Settings->Export your personal data" and select "Export account"')], ], welcome.tpl ============ found in /src/Module/Welcome.php -------------------------------- '$welcome' => DI::l10n()->t('Welcome to Friendica'), '$checklist' => DI::l10n()->t('New Member Checklist'), '$description' => DI::l10n()->t('We would like to offer some tips and links to help make your experience enjoyable. Click any item to visit the relevant page. A link to this page will be visible from your home page for two weeks after your initial registration and then will quietly disappear.'), '$started' => DI::l10n()->t('Getting Started'), '$quickstart_link' => DI::l10n()->t('Friendica Walk-Through'), '$quickstart_txt' => DI::l10n()->t('On your Quick Start page - find a brief introduction to your profile and network tabs, make some new connections, and find some groups to join.'), '$settings' => DI::l10n()->t('Settings'), '$settings_link' => DI::l10n()->t('Go to Your Settings'), '$settings_txt' => DI::l10n()->t('On your Settings page - change your initial password. Also make a note of your Identity Address. This looks just like an email address - and will be useful in making friends on the free social web.'), '$settings_other' => DI::l10n()->t('Review the other settings, particularly the privacy settings. An unpublished directory listing is like having an unlisted phone number. In general, you should probably publish your listing - unless all of your friends and potential friends know exactly how to find you.'), '$profile' => DI::l10n()->t('Profile'), '$profile_photo_link' => DI::l10n()->t('Upload Profile Photo'), '$profile_photo_txt' => DI::l10n()->t('Upload a profile photo if you have not done so already. Studies have shown that people with real photos of themselves are ten times more likely to make friends than people who do not.'), '$profiles_link' => DI::l10n()->t('Edit Your Profile'), '$profiles_txt' => DI::l10n()->t('Edit your default profile to your liking. Review the settings for hiding your list of friends and hiding the profile from unknown visitors.'), '$profiles_keywords_link' => DI::l10n()->t('Profile Keywords'), '$profiles_keywords_txt' => DI::l10n()->t('Set some public keywords for your profile which describe your interests. We may be able to find other people with similar interests and suggest friendships.'), '$connecting' => DI::l10n()->t('Connecting'), '$mail_disabled' => $mail_disabled, '$import_mail_link' => DI::l10n()->t('Importing Emails'), '$import_mail_txt' => DI::l10n()->t('Enter your email access information on your Connector Settings page if you wish to import and interact with friends or mailing lists from your email INBOX'), '$contact_link' => DI::l10n()->t('Go to Your Contacts Page'), '$contact_txt' => DI::l10n()->t('Your Contacts page is your gateway to managing friendships and connecting with friends on other networks. Typically you enter their address or site URL in the Add New Contact dialog.'), '$directory_link' => DI::l10n()->t('Go to Your Site\'s Directory'), '$directory_txt' => DI::l10n()->t('The Directory page lets you find other people in this network or other federated sites. Look for a Connect or Follow link on their profile page. Provide your own Identity Address if requested.'), '$finding_link' => DI::l10n()->t('Finding New People'), '$finding_txt' => DI::l10n()->t('On the side panel of the Contacts page are several tools to find new friends. We can match people by interest, look up people by name or interest, and provide suggestions based on network relationships. On a brand new site, friend suggestions will usually begin to be populated within 24 hours.'), '$circles' => DI::l10n()->t('Circles'), '$circle_contact_link' => DI::l10n()->t('Add Your Contacts To Circle'), '$circle_contact_txt' => DI::l10n()->t('Once you have made some friends, organize them into private conversation circles from the sidebar of your Contacts page and then you can interact with each circle privately on your Network page.'), '$newuser_private' => $newuser_private, '$private_link' => DI::l10n()->t('Why Aren\'t My Posts Public?'), '$private_txt' => DI::l10n()->t('Friendica respects your privacy. By default, your posts will only show up to people you\'ve added as friends. For more information, see the help section from the link above.'), '$help' => DI::l10n()->t('Getting Help'), '$help_link' => DI::l10n()->t('Go to the Help Section'), '$help_txt' => DI::l10n()->t('Our help pages may be consulted for detail on other program features and resources.'), email/html.tpl =============== found in /src/Util/EMailer/MailBuilder.php ------------------------------------------- '$title' => $this->l10n->t('Friendica Notification'), '$product' => App::PLATFORM, '$htmlversion' => $msgHtml, '$sitename' => $this->config->get('config', 'sitename'), '$banner' => $this->config->get('system', 'email_banner', $this->baseUrl . DIRECTORY_SEPARATOR . self::DEFAULT_EMAIL_BANNER), email/notify/html.tpl ======================= found in /src/Util/EMailer/NotifyMailBuilder.php -------------------------------------------------- '$preamble' => str_replace("\n", "