Merge remote-tracking branch 'upstream/develop' into user-contact
This commit is contained in:
commit
865006682a
54 changed files with 4237 additions and 4188 deletions
|
|
@ -33,6 +33,7 @@ return $config
|
|||
'operators' => [
|
||||
'=>' => 'align_single_space_minimal',
|
||||
'=' => 'align_single_space_minimal',
|
||||
'??' => 'align_single_space_minimal',
|
||||
],
|
||||
],
|
||||
'blank_line_after_namespace' => true,
|
||||
|
|
@ -65,6 +66,7 @@ return $config
|
|||
'single_import_per_statement' => true,
|
||||
'single_line_after_imports' => true,
|
||||
'switch_case_space' => true,
|
||||
'ternary_operator_spaces' => false,
|
||||
'visibility_required' => [
|
||||
'elements' => ['property', 'method']
|
||||
],
|
||||
|
|
|
|||
6
Vagrantfile
vendored
6
Vagrantfile
vendored
|
|
@ -6,8 +6,8 @@ server_timezone = "UTC"
|
|||
public_folder = "/vagrant"
|
||||
|
||||
Vagrant.configure(2) do |config|
|
||||
# Set server to Debian 10 / Buster 64bit
|
||||
config.vm.box = "debian/buster64"
|
||||
# Set server to Debian 11 / Bullseye 64bit
|
||||
config.vm.box = "debian/bullseye64"
|
||||
|
||||
# Disable automatic box update checking. If you disable this, then
|
||||
# boxes will only be checked for updates when the user runs
|
||||
|
|
@ -24,7 +24,7 @@ Vagrant.configure(2) do |config|
|
|||
|
||||
# Share a folder between host and guest
|
||||
# config.vm.synced_folder ".", "/vagrant", id: "vagrant-root", owner: "www-data", group: "vagrant"
|
||||
config.vm.synced_folder ".", "/vagrant", id: "vagrant-root", owner: "www-data", group: "www-data"
|
||||
config.vm.synced_folder ".", "/vagrant", id: "vagrant-root", owner: "www-data", group: "www-data", type: "virtualbox"
|
||||
|
||||
# Provider-specific configuration so you can fine-tune various
|
||||
# backing providers for Vagrant. These expose provider-specific options.
|
||||
|
|
|
|||
|
|
@ -82,7 +82,7 @@ echo ">>> Installing 'Local Only' postfix"
|
|||
debconf-set-selections <<< "postfix postfix/mailname string friendica.local"
|
||||
debconf-set-selections <<< "postfix postfix/main_mailer_type string 'Local Only'"
|
||||
apt-get install -qq postfix mailutils libmailutils-dev
|
||||
echo -e "friendica1: vagrant\nfriendica2: vagrant\nfriendica3: vagrant\nfriendica4: vagrant\nfriendica5: vagrant" >> /etc/aliases && newaliases
|
||||
echo -e "$ADMIN_NICK: vagrant\n$USER_NICK: vagrant" >> /etc/aliases && newaliases
|
||||
|
||||
# Friendica needs git for fetching some dependencies
|
||||
echo ">>> Installing git"
|
||||
|
|
@ -93,13 +93,8 @@ echo ">>> Symlink /var/www to /vagrant"
|
|||
rm -rf /var/www/
|
||||
ln -fs /vagrant /var/www
|
||||
|
||||
# install deps with composer
|
||||
echo ">>> Installing php requirements"
|
||||
apt install unzip
|
||||
# Setup Friendica
|
||||
cd /var/www
|
||||
php bin/composer.phar install
|
||||
|
||||
|
||||
echo ">>> Setup Friendica"
|
||||
|
||||
# copy the .htaccess-dist file to .htaccess so that rewrite rules work
|
||||
|
|
@ -120,10 +115,6 @@ bin/console user password "$ADMIN_NICK" "$ADMIN_PASSW"
|
|||
bin/console user add "$USER_NICK" "$USER_NICK" "$USER_NICK@friendica.local" en
|
||||
bin/console user password "$USER_NICK" "$USER_PASSW"
|
||||
|
||||
# set the admin
|
||||
bin/console config config admin_email ""$ADMIN_NICK@friendica.local""
|
||||
|
||||
|
||||
# create cronjob - activate if you have enough memory in you dev VM
|
||||
# cronjob runs as www-data user
|
||||
echo ">>> Installing cronjob"
|
||||
|
|
|
|||
|
|
@ -84,7 +84,6 @@
|
|||
"Friendica\\Addon\\": "addon/"
|
||||
},
|
||||
"files": [
|
||||
"include/conversation.php",
|
||||
"include/dba.php",
|
||||
"include/enotify.php",
|
||||
"boot.php"
|
||||
|
|
|
|||
|
|
@ -526,7 +526,7 @@ Here is a complete list of all hook callbacks with file locations (as of 24-Sep-
|
|||
Hook::callAll('enotify_mail', $datarray);
|
||||
Hook::callAll('check_item_notification', $notification_data);
|
||||
|
||||
### include/conversation.php
|
||||
### src/Content/Conversation.php
|
||||
|
||||
Hook::callAll('conversation_start', $cb);
|
||||
Hook::callAll('render_location', $locate);
|
||||
|
|
|
|||
|
|
@ -32,7 +32,8 @@ Due to the large variety of operating systems and PHP platforms in existence we
|
|||
* PHP *command line* access with register_argc_argv set to true in the php.ini file
|
||||
* Curl, GD, PDO, mbstrings, MySQLi, hash, xml, zip and OpenSSL extensions
|
||||
* The POSIX module of PHP needs to be activated (e.g. [RHEL, CentOS](http://www.bigsoft.co.uk/blog/index.php/2014/12/08/posix-php-commands-not-working-under-centos-7) have disabled it)
|
||||
* some form of email server or email gateway such that PHP mail() works
|
||||
* Some form of email server or email gateway such that PHP mail() works.
|
||||
If you cannot set up your own email server, you can use the [phpmailer](https://github.com/friendica/friendica-addons/tree/develop/phpmailer) addon and use a remote SMTP server.
|
||||
* MySQL 5.6+ or an equivalent alternative for MySQL (MariaDB, Percona Server etc.)
|
||||
* ability to schedule jobs with cron (Linux/Mac) or Scheduled Tasks (Windows)
|
||||
* installation into a top-level domain or sub-domain (without a directory/path component in the URL) is RECOMMENDED. Directory paths will not be as convenient to use and have not been thoroughly tested. This is REQUIRED if you wish to communicate with the Diaspora network.
|
||||
|
|
|
|||
|
|
@ -10,27 +10,27 @@ Getting started
|
|||
No need to setup up a webserver, database etc. before actually starting.
|
||||
Vagrant creates a virtual machine for you that you can just run inside VirtualBox and start to work directly on Friendica.
|
||||
|
||||
It brings an Ubuntu Xenial (16.04) with PHP 7.0 and MySQL 5.7.16
|
||||
It brings an Debian Bullseye with PHP 7.4 and MariaDB 10.5.11.
|
||||
|
||||
What you need to do:
|
||||
|
||||
1. Install VirtualBox and vagrant.
|
||||
Please use an up-to-date vagrant version from https://www.vagrantup.com/downloads.html.
|
||||
2. Git clone your Friendica repository.
|
||||
Inside, you'll find a "Vagrantfile" and some scripts in the utils folder.
|
||||
3. Run "vagrant up" from inside the friendica clone:
|
||||
$> vagrant up
|
||||
Be patient: When it runs for the first time, it downloads an Ubuntu Server image.
|
||||
4. Run "vagrant ssh" to log into the virtual machine to log in to the VM:
|
||||
$> vagrant ssh
|
||||
Inside, you'll find a `Vagrantfile` and some scripts in the `bin/dev` folder.
|
||||
Pull the PHP requirements with `bin/composer install`.
|
||||
3. Run `vagrant up` from inside the friendica clone.
|
||||
This will start the virtual machine.
|
||||
Be patient: When it runs for the first time, it downloads a Debian Server image and installs Friendica.
|
||||
4. Run `vagrant ssh` to log into the virtual machine to log in to the VM in case you need to debug something on the server.
|
||||
5. Open you test installation in a browser.
|
||||
Go to 192.168.22.10.
|
||||
Go to friendica.local (or 192.168.22.10).
|
||||
friendica.local is using a self-signed TLS certificate, so you will need to add an exception to trust the certificate the first time you are visiting the page.
|
||||
The mysql database is called "friendica", the mysql user and password both are "friendica".
|
||||
6. Work on Friendica's code in your git clone on your machine (not in the VM).
|
||||
Your local working directory is set up as a shared directory with the VM (/vagrant).
|
||||
7. Check the changes in your browser in the VM.
|
||||
Debug via the "vagrant ssh" login.
|
||||
Find the Friendica log file /vagrant/logfile.out.
|
||||
Find the Friendica log file `/vagrant/logfile.out` on the VM or in the `logfile.out` in you local Friendica directory.
|
||||
8. Commit and push your changes directly back to Github.
|
||||
|
||||
If you want to stop vagrant after finishing your work, run the following command
|
||||
|
|
@ -46,13 +46,24 @@ This will not delete the virtual machine.
|
|||
|
||||
to make sure that you can start from scratch with another "vagrant up".
|
||||
|
||||
The vagrant Friendica instance contains a test database.
|
||||
You will then have the following accounts to login:
|
||||
Default User Accounts
|
||||
---------------------
|
||||
|
||||
By default the provision script will setup two user accounts.
|
||||
|
||||
* admin, password admin
|
||||
* friendica1, password friendica1
|
||||
* friendica2, password friendica2 and so on until friendica5
|
||||
* friendica1 is connected to all others. friendica1 has two groups: group1 with friendica2 and friendica4, group2 with friendica3 and friendica5.
|
||||
* friendica2 and friendica3 are connected. friendica4 and friendica5 are connected.
|
||||
* friendica, password friendica
|
||||
|
||||
For further documentation of vagrant, please see [the vagrant*docs*](https://docs.vagrantup.com/v2/).
|
||||
Trouble Shooting
|
||||
----------------
|
||||
|
||||
If you see a version mis-match for the _VirtualBox Guest Additions_ between host and guest during the initial setup of the Vagrant VM, you will need to install an addon to Vagrant (ref. [Stack Overflow](https://stackoverflow.com/a/38010683)).
|
||||
Stop the Vagrant VM and run the following command:
|
||||
|
||||
$> vagrant plugin install vagrant-vbguest
|
||||
|
||||
On the next Vagrant up, the version problem should be fixed.
|
||||
|
||||
If `friendica.local` is not resolved, you may need to add an entry to the `/etc/hosts` file (or similar configuration depending on the OS you are using).
|
||||
|
||||
For further documentation of vagrant, please see [the vagrant*docs*](https://docs.vagrantup.com/v2/).
|
||||
|
|
@ -220,7 +220,7 @@ Eine komplette Liste aller Hook-Callbacks mit den zugehörigen Dateien (am 01-Ap
|
|||
Hook::callAll('enotify_mail', $datarray);
|
||||
Hook::callAll('check_item_notification', $notification_data);
|
||||
|
||||
### include/conversation.php
|
||||
### src/Content/Conversation.php
|
||||
|
||||
Hook::callAll('conversation_start', $cb);
|
||||
Hook::callAll('render_location', $locate);
|
||||
|
|
|
|||
|
|
@ -29,7 +29,8 @@ Requirements
|
|||
* PHP *Kommandozeilen*-Zugang mit register_argc_argv auf "true" gesetzt in der php.ini-Datei
|
||||
* Curl, GD, PDO, MySQLi, xml, zip und OpenSSL-Erweiterung
|
||||
* Das POSIX Modul muss aktiviert sein ([CentOS, RHEL](http://www.bigsoft.co.uk/blog/index.php/2014/12/08/posix-php-commands-not-working-under-centos-7http://www.bigsoft.co.uk/blog/index.php/2014/12/08/posix-php-commands-not-working-under-centos-7) haben dies z.B. deaktiviert)
|
||||
* etwas in der Art eines Email-Servers oder eines Gateways wie PHP mail()
|
||||
* Einen E-Mail Server, so dass PHP `mail()` funktioniert.
|
||||
Wenn kein eigener E-Mail Server zur Verfügung steht, kann alternativ das [phpmailer](https://github.com/friendica/friendica-addons/tree/develop/phpmailer) Addon mit einem externen SMTP Account verwendet werden.
|
||||
* Mysql 5.6+ (oder eine äquivalente Alternative: MariaDB, Percona Server etc.)
|
||||
* die Möglichkeit, wiederkehrende Aufgaben mit cron (Linux/Mac) oder "Scheduled Tasks" einzustellen (Windows) [Beachte: andere Optionen sind in Abschnitt 7 dieser Dokumentation zu finden]
|
||||
* Installation in einer Top-Level-Domain oder Subdomain (ohne eine Verzeichnis/Pfad-Komponente in der URL) wird bevorzugt. Verzeichnispfade sind für diesen Zweck nicht so günstig und wurden auch nicht ausführlich getestet.
|
||||
|
|
|
|||
|
|
@ -1188,7 +1188,7 @@ function api_statuses_update($type)
|
|||
|
||||
// We have to avoid that the post is rejected because of an empty body
|
||||
if (empty($_REQUEST['body'])) {
|
||||
$_REQUEST['body'] = '[hr]';
|
||||
$_REQUEST['body'] = '[hr]';
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -2997,7 +2997,7 @@ function api_format_item($item, $type = "json", $status_user = null, $author_use
|
|||
list($status_user, $author_user, $owner_user) = api_item_get_user($a, $item);
|
||||
}
|
||||
|
||||
localize_item($item);
|
||||
DI::contentItem()->localize($item);
|
||||
|
||||
$in_reply_to = api_in_reply_to($item);
|
||||
|
||||
|
|
@ -3053,15 +3053,6 @@ function api_format_item($item, $type = "json", $status_user = null, $author_use
|
|||
$retweeted_item = [];
|
||||
$quoted_item = [];
|
||||
|
||||
if ($item['gravity'] == GRAVITY_PARENT) {
|
||||
$body = $item['body'];
|
||||
$retweeted_item = api_share_as_retweet($item);
|
||||
if ($body != $item['body']) {
|
||||
$quoted_item = $retweeted_item;
|
||||
$retweeted_item = [];
|
||||
}
|
||||
}
|
||||
|
||||
if (empty($retweeted_item) && ($item['owner-id'] == $item['author-id'])) {
|
||||
$announce = api_get_announce($item);
|
||||
if (!empty($announce)) {
|
||||
|
|
@ -3119,6 +3110,7 @@ function api_format_item($item, $type = "json", $status_user = null, $author_use
|
|||
|
||||
$retweeted_status['text'] = $rt_converted["text"];
|
||||
$retweeted_status['statusnet_html'] = $rt_converted["html"];
|
||||
$retweeted_status['friendica_html'] = $rt_converted["html"];
|
||||
$retweeted_status['created_at'] = api_date($retweeted_item['created']);
|
||||
|
||||
if (!empty($quoted_status)) {
|
||||
|
|
@ -4920,76 +4912,6 @@ function api_get_announce($item)
|
|||
return array_merge($item, $announce);
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the item shared, if the item contains only the [share] tag
|
||||
*
|
||||
* @param array $item Sharer item
|
||||
* @return array|false Shared item or false if not a reshare
|
||||
* @throws ImagickException
|
||||
* @throws InternalServerErrorException
|
||||
*/
|
||||
function api_share_as_retweet(&$item)
|
||||
{
|
||||
$body = trim($item["body"]);
|
||||
|
||||
if (Diaspora::isReshare($body, false) === false) {
|
||||
if ($item['author-id'] == $item['owner-id']) {
|
||||
return false;
|
||||
} else {
|
||||
// Reshares from OStatus, ActivityPub and Twitter
|
||||
$reshared_item = $item;
|
||||
$reshared_item['owner-id'] = $reshared_item['author-id'];
|
||||
$reshared_item['owner-link'] = $reshared_item['author-link'];
|
||||
$reshared_item['owner-name'] = $reshared_item['author-name'];
|
||||
$reshared_item['owner-avatar'] = $reshared_item['author-avatar'];
|
||||
return $reshared_item;
|
||||
}
|
||||
}
|
||||
|
||||
$reshared = Item::getShareArray($item);
|
||||
if (empty($reshared)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$reshared_item = $item;
|
||||
|
||||
if (empty($reshared['shared']) || empty($reshared['profile']) || empty($reshared['author']) || empty($reshared['avatar']) || empty($reshared['posted'])) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!empty($reshared['comment'])) {
|
||||
$item['body'] = $reshared['comment'];
|
||||
}
|
||||
|
||||
$reshared_item["share-pre-body"] = $reshared['comment'];
|
||||
$reshared_item["body"] = $reshared['shared'];
|
||||
$reshared_item["author-id"] = Contact::getIdForURL($reshared['profile'], 0, false);
|
||||
$reshared_item["author-name"] = $reshared['author'];
|
||||
$reshared_item["author-link"] = $reshared['profile'];
|
||||
$reshared_item["author-avatar"] = $reshared['avatar'];
|
||||
$reshared_item["plink"] = $reshared['link'] ?? '';
|
||||
$reshared_item["created"] = $reshared['posted'];
|
||||
$reshared_item["edited"] = $reshared['posted'];
|
||||
|
||||
// Try to fetch the original item
|
||||
if (!empty($reshared['guid'])) {
|
||||
$condition = ['guid' => $reshared['guid'], 'uid' => [0, $item['uid']]];
|
||||
} elseif (!empty($reshared_item['plink']) && ($original_id = Item::searchByLink($reshared_item['plink']))) {
|
||||
$condition = ['id' => $original_id];
|
||||
} else {
|
||||
$condition = [];
|
||||
}
|
||||
|
||||
if (!empty($condition)) {
|
||||
$original_item = Post::selectFirst([], $condition);
|
||||
if (DBA::isResult($original_item)) {
|
||||
$reshared_item = array_merge($reshared_item, $original_item);
|
||||
}
|
||||
}
|
||||
|
||||
return $reshared_item;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param array $item
|
||||
|
|
|
|||
|
|
@ -1,1462 +0,0 @@
|
|||
<?php
|
||||
/**
|
||||
* @copyright Copyright (C) 2010-2021, the Friendica project
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as
|
||||
* published by the Free Software Foundation, either version 3 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
|
||||
use Friendica\App;
|
||||
use Friendica\BaseModule;
|
||||
use Friendica\Content\ContactSelector;
|
||||
use Friendica\Content\Feature;
|
||||
use Friendica\Core\ACL;
|
||||
use Friendica\Core\Hook;
|
||||
use Friendica\Core\Logger;
|
||||
use Friendica\Core\Protocol;
|
||||
use Friendica\Core\Renderer;
|
||||
use Friendica\Core\Session;
|
||||
use Friendica\Core\Theme;
|
||||
use Friendica\Database\DBA;
|
||||
use Friendica\DI;
|
||||
use Friendica\Model\Contact;
|
||||
use Friendica\Model\Item;
|
||||
use Friendica\Model\Post;
|
||||
use Friendica\Model\Tag;
|
||||
use Friendica\Model\User;
|
||||
use Friendica\Model\Verb;
|
||||
use Friendica\Object\Post as PostObject;
|
||||
use Friendica\Object\Thread;
|
||||
use Friendica\Protocol\Activity;
|
||||
use Friendica\Util\Crypto;
|
||||
use Friendica\Util\DateTimeFormat;
|
||||
use Friendica\Util\Proxy;
|
||||
use Friendica\Util\Strings;
|
||||
use Friendica\Util\Temporal;
|
||||
use Friendica\Util\XML;
|
||||
|
||||
/**
|
||||
* Render actions localized
|
||||
*
|
||||
* @param $item
|
||||
* @throws ImagickException
|
||||
* @throws \Friendica\Network\HTTPException\InternalServerErrorException
|
||||
*/
|
||||
function localize_item(&$item)
|
||||
{
|
||||
DI::profiler()->startRecording('rendering');
|
||||
/// @todo The following functionality needs to be cleaned up.
|
||||
if (!empty($item['verb'])) {
|
||||
$activity = DI::activity();
|
||||
|
||||
$xmlhead = "<" . "?xml version='1.0' encoding='UTF-8' ?" . ">";
|
||||
|
||||
if (stristr($item['verb'], Activity::POKE)) {
|
||||
$verb = urldecode(substr($item['verb'], strpos($item['verb'],'#') + 1));
|
||||
if (!$verb) {
|
||||
DI::profiler()->stopRecording();
|
||||
return;
|
||||
}
|
||||
if ($item['object-type'] == "" || $item['object-type'] !== Activity\ObjectType::PERSON) {
|
||||
DI::profiler()->stopRecording();
|
||||
return;
|
||||
}
|
||||
|
||||
$obj = XML::parseString($xmlhead . $item['object']);
|
||||
|
||||
$Bname = $obj->title;
|
||||
$Blink = $obj->id;
|
||||
$Bphoto = "";
|
||||
|
||||
foreach ($obj->link as $l) {
|
||||
$atts = $l->attributes();
|
||||
switch ($atts['rel']) {
|
||||
case "alternate": $Blink = $atts['href'];
|
||||
case "photo": $Bphoto = $atts['href'];
|
||||
}
|
||||
}
|
||||
|
||||
$author = ['uid' => 0, 'id' => $item['author-id'],
|
||||
'network' => $item['author-network'], 'url' => $item['author-link']];
|
||||
$A = '[url=' . Contact::magicLinkByContact($author) . ']' . $item['author-name'] . '[/url]';
|
||||
|
||||
if (!empty($Blink)) {
|
||||
$B = '[url=' . Contact::magicLink($Blink) . ']' . $Bname . '[/url]';
|
||||
} else {
|
||||
$B = '';
|
||||
}
|
||||
|
||||
if ($Bphoto != "" && !empty($Blink)) {
|
||||
$Bphoto = '[url=' . Contact::magicLink($Blink) . '][img=80x80]' . $Bphoto . '[/img][/url]';
|
||||
}
|
||||
|
||||
/*
|
||||
* we can't have a translation string with three positions but no distinguishable text
|
||||
* So here is the translate string.
|
||||
*/
|
||||
$txt = DI::l10n()->t('%1$s poked %2$s');
|
||||
|
||||
// now translate the verb
|
||||
$poked_t = trim(sprintf($txt, '', ''));
|
||||
$txt = str_replace($poked_t, DI::l10n()->t($verb), $txt);
|
||||
|
||||
// then do the sprintf on the translation string
|
||||
|
||||
$item['body'] = sprintf($txt, $A, $B) . "\n\n\n" . $Bphoto;
|
||||
|
||||
}
|
||||
|
||||
if ($activity->match($item['verb'], Activity::TAG)) {
|
||||
$fields = ['author-id', 'author-link', 'author-name', 'author-network',
|
||||
'verb', 'object-type', 'resource-id', 'body', 'plink'];
|
||||
$obj = Post::selectFirst($fields, ['uri' => $item['parent-uri']]);
|
||||
if (!DBA::isResult($obj)) {
|
||||
DI::profiler()->stopRecording();
|
||||
return;
|
||||
}
|
||||
|
||||
$author_arr = ['uid' => 0, 'id' => $item['author-id'],
|
||||
'network' => $item['author-network'], 'url' => $item['author-link']];
|
||||
$author = '[url=' . Contact::magicLinkByContact($author_arr) . ']' . $item['author-name'] . '[/url]';
|
||||
|
||||
$author_arr = ['uid' => 0, 'id' => $obj['author-id'],
|
||||
'network' => $obj['author-network'], 'url' => $obj['author-link']];
|
||||
$objauthor = '[url=' . Contact::magicLinkByContact($author_arr) . ']' . $obj['author-name'] . '[/url]';
|
||||
|
||||
switch ($obj['verb']) {
|
||||
case Activity::POST:
|
||||
switch ($obj['object-type']) {
|
||||
case Activity\ObjectType::EVENT:
|
||||
$post_type = DI::l10n()->t('event');
|
||||
break;
|
||||
default:
|
||||
$post_type = DI::l10n()->t('status');
|
||||
}
|
||||
break;
|
||||
default:
|
||||
if ($obj['resource-id']) {
|
||||
$post_type = DI::l10n()->t('photo');
|
||||
$m=[]; preg_match("/\[url=([^]]*)\]/", $obj['body'], $m);
|
||||
$rr['plink'] = $m[1];
|
||||
} else {
|
||||
$post_type = DI::l10n()->t('status');
|
||||
}
|
||||
// Let's break everthing ... ;-)
|
||||
break;
|
||||
}
|
||||
$plink = '[url=' . $obj['plink'] . ']' . $post_type . '[/url]';
|
||||
|
||||
$parsedobj = XML::parseString($xmlhead . $item['object']);
|
||||
|
||||
$tag = sprintf('#[url=%s]%s[/url]', $parsedobj->id, $parsedobj->content);
|
||||
$item['body'] = DI::l10n()->t('%1$s tagged %2$s\'s %3$s with %4$s', $author, $objauthor, $plink, $tag);
|
||||
}
|
||||
}
|
||||
|
||||
$matches = null;
|
||||
if (preg_match_all('/@\[url=(.*?)\]/is', $item['body'], $matches, PREG_SET_ORDER)) {
|
||||
foreach ($matches as $mtch) {
|
||||
if (!strpos($mtch[1], 'zrl=')) {
|
||||
$item['body'] = str_replace($mtch[0], '@[url=' . Contact::magicLink($mtch[1]) . ']', $item['body']);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// add sparkle links to appropriate permalinks
|
||||
// Only create a redirection to a magic link when logged in
|
||||
if (!empty($item['plink']) && Session::isAuthenticated()) {
|
||||
$author = ['uid' => 0, 'id' => $item['author-id'],
|
||||
'network' => $item['author-network'], 'url' => $item['author-link']];
|
||||
$item['plink'] = Contact::magicLinkByContact($author, $item['plink']);
|
||||
}
|
||||
DI::profiler()->stopRecording();
|
||||
}
|
||||
|
||||
/**
|
||||
* Count the total of comments on this item and its desendants
|
||||
* @TODO proper type-hint + doc-tag
|
||||
* @param $item
|
||||
* @return int
|
||||
*/
|
||||
function count_descendants($item) {
|
||||
$total = count($item['children']);
|
||||
|
||||
if ($total > 0) {
|
||||
foreach ($item['children'] as $child) {
|
||||
if (!visible_activity($child)) {
|
||||
$total --;
|
||||
}
|
||||
$total += count_descendants($child);
|
||||
}
|
||||
}
|
||||
|
||||
return $total;
|
||||
}
|
||||
|
||||
function visible_activity($item) {
|
||||
|
||||
$activity = DI::activity();
|
||||
|
||||
if (empty($item['verb']) || $activity->isHidden($item['verb'])) {
|
||||
return false;
|
||||
}
|
||||
|
||||
// @TODO below if() block can be rewritten to a single line: $isVisible = allConditionsHere;
|
||||
if ($activity->match($item['verb'], Activity::FOLLOW) &&
|
||||
$item['object-type'] === Activity\ObjectType::NOTE &&
|
||||
empty($item['self']) &&
|
||||
$item['uid'] == local_user()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
function conv_get_blocklist()
|
||||
{
|
||||
if (!local_user()) {
|
||||
return [];
|
||||
}
|
||||
|
||||
$str_blocked = str_replace(["\n", "\r"], ",", DI::pConfig()->get(local_user(), 'system', 'blocked'));
|
||||
if (empty($str_blocked)) {
|
||||
return [];
|
||||
}
|
||||
|
||||
$blocklist = [];
|
||||
|
||||
foreach (explode(',', $str_blocked) as $entry) {
|
||||
$cid = Contact::getIdForURL(trim($entry), 0, false);
|
||||
if (!empty($cid)) {
|
||||
$blocklist[] = $cid;
|
||||
}
|
||||
}
|
||||
|
||||
return $blocklist;
|
||||
}
|
||||
|
||||
/**
|
||||
* "Render" a conversation or list of items for HTML display.
|
||||
* There are two major forms of display:
|
||||
* - Sequential or unthreaded ("New Item View" or search results)
|
||||
* - conversation view
|
||||
* The $mode parameter decides between the various renderings and also
|
||||
* figures out how to determine page owner and other contextual items
|
||||
* that are based on unique features of the calling module.
|
||||
* @param App $a
|
||||
* @param array $items
|
||||
* @param $mode
|
||||
* @param $update
|
||||
* @param bool $preview
|
||||
* @param string $order
|
||||
* @param int $uid
|
||||
* @return string
|
||||
* @throws ImagickException
|
||||
* @throws \Friendica\Network\HTTPException\InternalServerErrorException
|
||||
*/
|
||||
function conversation(App $a, array $items, $mode, $update, $preview = false, $order = 'commented', $uid = 0)
|
||||
{
|
||||
DI::profiler()->startRecording('rendering');
|
||||
$page = DI::page();
|
||||
|
||||
$page->registerFooterScript(Theme::getPathForFile('asset/typeahead.js/dist/typeahead.bundle.js'));
|
||||
$page->registerFooterScript(Theme::getPathForFile('js/friendica-tagsinput/friendica-tagsinput.js'));
|
||||
$page->registerStylesheet(Theme::getPathForFile('js/friendica-tagsinput/friendica-tagsinput.css'));
|
||||
$page->registerStylesheet(Theme::getPathForFile('js/friendica-tagsinput/friendica-tagsinput-typeahead.css'));
|
||||
|
||||
$ssl_state = (local_user() ? true : false);
|
||||
|
||||
$live_update_div = '';
|
||||
|
||||
$blocklist = conv_get_blocklist();
|
||||
|
||||
$previewing = (($preview) ? ' preview ' : '');
|
||||
|
||||
if ($mode === 'network') {
|
||||
$items = conversation_add_children($items, false, $order, $uid);
|
||||
if (!$update) {
|
||||
/*
|
||||
* The special div is needed for liveUpdate to kick in for this page.
|
||||
* We only launch liveUpdate if you aren't filtering in some incompatible
|
||||
* way and also you aren't writing a comment (discovered in javascript).
|
||||
*/
|
||||
$live_update_div = '<div id="live-network"></div>' . "\r\n"
|
||||
. "<script> var profile_uid = " . $_SESSION['uid']
|
||||
. "; var netargs = '" . substr(DI::args()->getCommand(), 8)
|
||||
. '?f='
|
||||
. (!empty($_GET['contactid']) ? '&contactid=' . rawurlencode($_GET['contactid']) : '')
|
||||
. (!empty($_GET['search']) ? '&search=' . rawurlencode($_GET['search']) : '')
|
||||
. (!empty($_GET['star']) ? '&star=' . rawurlencode($_GET['star']) : '')
|
||||
. (!empty($_GET['order']) ? '&order=' . rawurlencode($_GET['order']) : '')
|
||||
. (!empty($_GET['bmark']) ? '&bmark=' . rawurlencode($_GET['bmark']) : '')
|
||||
. (!empty($_GET['liked']) ? '&liked=' . rawurlencode($_GET['liked']) : '')
|
||||
. (!empty($_GET['conv']) ? '&conv=' . rawurlencode($_GET['conv']) : '')
|
||||
. (!empty($_GET['nets']) ? '&nets=' . rawurlencode($_GET['nets']) : '')
|
||||
. (!empty($_GET['cmin']) ? '&cmin=' . rawurlencode($_GET['cmin']) : '')
|
||||
. (!empty($_GET['cmax']) ? '&cmax=' . rawurlencode($_GET['cmax']) : '')
|
||||
. (!empty($_GET['file']) ? '&file=' . rawurlencode($_GET['file']) : '')
|
||||
|
||||
. "'; </script>\r\n";
|
||||
}
|
||||
} elseif ($mode === 'profile') {
|
||||
$items = conversation_add_children($items, false, $order, local_user());
|
||||
|
||||
if (!$update) {
|
||||
$tab = 'posts';
|
||||
if (!empty($_GET['tab'])) {
|
||||
$tab = Strings::escapeTags(trim($_GET['tab']));
|
||||
}
|
||||
if ($tab === 'posts') {
|
||||
/*
|
||||
* This is ugly, but we can't pass the profile_uid through the session to the ajax updater,
|
||||
* because browser prefetching might change it on us. We have to deliver it with the page.
|
||||
*/
|
||||
|
||||
$live_update_div = '<div id="live-profile"></div>' . "\r\n"
|
||||
. "<script> var profile_uid = " . $uid
|
||||
. "; var netargs = '?f='; </script>\r\n";
|
||||
}
|
||||
}
|
||||
} elseif ($mode === 'notes') {
|
||||
$items = conversation_add_children($items, false, $order, local_user());
|
||||
|
||||
if (!$update) {
|
||||
$live_update_div = '<div id="live-notes"></div>' . "\r\n"
|
||||
. "<script> var profile_uid = " . local_user()
|
||||
. "; var netargs = '/?f='; </script>\r\n";
|
||||
}
|
||||
} elseif ($mode === 'display') {
|
||||
$items = conversation_add_children($items, false, $order, $uid);
|
||||
|
||||
if (!$update) {
|
||||
$live_update_div = '<div id="live-display"></div>' . "\r\n"
|
||||
. "<script> var profile_uid = " . Session::get('uid', 0) . ";"
|
||||
. "</script>";
|
||||
}
|
||||
} elseif ($mode === 'community') {
|
||||
$items = conversation_add_children($items, true, $order, $uid);
|
||||
|
||||
if (!$update) {
|
||||
$live_update_div = '<div id="live-community"></div>' . "\r\n"
|
||||
. "<script> var profile_uid = -1; var netargs = '" . substr(DI::args()->getCommand(), 10)
|
||||
. '?f='
|
||||
. (!empty($_GET['no_sharer']) ? '&no_sharer=' . rawurlencode($_GET['no_sharer']) : '')
|
||||
. "'; </script>\r\n";
|
||||
}
|
||||
} elseif ($mode === 'contacts') {
|
||||
$items = conversation_add_children($items, false, $order, $uid);
|
||||
|
||||
if (!$update) {
|
||||
$live_update_div = '<div id="live-contact"></div>' . "\r\n"
|
||||
. "<script> var profile_uid = -1; var netargs = '" . substr(DI::args()->getCommand(), 8)
|
||||
."/?f='; </script>\r\n";
|
||||
}
|
||||
} elseif ($mode === 'search') {
|
||||
$live_update_div = '<div id="live-search"></div>' . "\r\n";
|
||||
}
|
||||
|
||||
$page_dropping = ((local_user() && local_user() == $uid) ? true : false);
|
||||
|
||||
if (!$update) {
|
||||
$_SESSION['return_path'] = DI::args()->getQueryString();
|
||||
}
|
||||
|
||||
$cb = ['items' => $items, 'mode' => $mode, 'update' => $update, 'preview' => $preview];
|
||||
Hook::callAll('conversation_start', $cb);
|
||||
|
||||
$items = $cb['items'];
|
||||
|
||||
$conv_responses = [
|
||||
'like' => [],
|
||||
'dislike' => [],
|
||||
'attendyes' => [],
|
||||
'attendno' => [],
|
||||
'attendmaybe' => [],
|
||||
'announce' => [],
|
||||
];
|
||||
|
||||
if (DI::pConfig()->get(local_user(), 'system', 'hide_dislike')) {
|
||||
unset($conv_responses['dislike']);
|
||||
}
|
||||
|
||||
// array with html for each thread (parent+comments)
|
||||
$threads = [];
|
||||
$threadsid = -1;
|
||||
|
||||
$page_template = Renderer::getMarkupTemplate("conversation.tpl");
|
||||
$formSecurityToken = BaseModule::getFormSecurityToken('contact_action');
|
||||
|
||||
if (!empty($items)) {
|
||||
if (in_array($mode, ['community', 'contacts', 'profile'])) {
|
||||
$writable = true;
|
||||
} else {
|
||||
$writable = ($items[0]['uid'] == 0) && in_array($items[0]['network'], Protocol::FEDERATED);
|
||||
}
|
||||
|
||||
if (!local_user()) {
|
||||
$writable = false;
|
||||
}
|
||||
|
||||
if (in_array($mode, ['filed', 'search', 'contact-posts'])) {
|
||||
|
||||
/*
|
||||
* "New Item View" on network page or search page results
|
||||
* - just loop through the items and format them minimally for display
|
||||
*/
|
||||
|
||||
$tpl = 'search_item.tpl';
|
||||
|
||||
$uriids = [];
|
||||
|
||||
foreach ($items as $item) {
|
||||
if (in_array($item['uri-id'], $uriids)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$uriids[] = $item['uri-id'];
|
||||
|
||||
if (!visible_activity($item)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (in_array($item['author-id'], $blocklist)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$threadsid++;
|
||||
|
||||
// prevent private email from leaking.
|
||||
if ($item['network'] === Protocol::MAIL && local_user() != $item['uid']) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$profile_name = $item['author-name'];
|
||||
if (!empty($item['author-link']) && empty($item['author-name'])) {
|
||||
$profile_name = $item['author-link'];
|
||||
}
|
||||
|
||||
$tags = Tag::populateFromItem($item);
|
||||
|
||||
$author = ['uid' => 0, 'id' => $item['author-id'],
|
||||
'network' => $item['author-network'], 'url' => $item['author-link']];
|
||||
$profile_link = Contact::magicLinkByContact($author);
|
||||
|
||||
$sparkle = '';
|
||||
if (strpos($profile_link, 'redir/') === 0) {
|
||||
$sparkle = ' sparkle';
|
||||
}
|
||||
|
||||
$locate = ['location' => $item['location'], 'coord' => $item['coord'], 'html' => ''];
|
||||
Hook::callAll('render_location', $locate);
|
||||
$location_html = $locate['html'] ?: Strings::escapeHtml($locate['location'] ?: $locate['coord'] ?: '');
|
||||
|
||||
localize_item($item);
|
||||
if ($mode === 'filed') {
|
||||
$dropping = true;
|
||||
} else {
|
||||
$dropping = false;
|
||||
}
|
||||
|
||||
$drop = [
|
||||
'dropping' => $dropping,
|
||||
'pagedrop' => $page_dropping,
|
||||
'select' => DI::l10n()->t('Select'),
|
||||
'delete' => DI::l10n()->t('Delete'),
|
||||
];
|
||||
|
||||
$likebuttons = [
|
||||
'like' => null,
|
||||
'dislike' => null,
|
||||
'share' => null,
|
||||
'announce' => null,
|
||||
];
|
||||
|
||||
if (DI::pConfig()->get(local_user(), 'system', 'hide_dislike')) {
|
||||
unset($likebuttons['dislike']);
|
||||
}
|
||||
|
||||
$body_html = Item::prepareBody($item, true, $preview);
|
||||
|
||||
list($categories, $folders) = DI::contentItem()->determineCategoriesTerms($item, local_user());
|
||||
|
||||
if (!empty($item['content-warning']) && DI::pConfig()->get(local_user(), 'system', 'disable_cw', false)) {
|
||||
$title = ucfirst($item['content-warning']);
|
||||
} else {
|
||||
$title = $item['title'];
|
||||
}
|
||||
|
||||
$tmp_item = [
|
||||
'template' => $tpl,
|
||||
'id' => ($preview ? 'P0' : $item['id']),
|
||||
'guid' => ($preview ? 'Q0' : $item['guid']),
|
||||
'commented' => $item['commented'],
|
||||
'received' => $item['received'],
|
||||
'created_date' => $item['created'],
|
||||
'uriid' => $item['uri-id'],
|
||||
'network' => $item['network'],
|
||||
'network_name' => ContactSelector::networkToName($item['author-network'], $item['author-link'], $item['network']),
|
||||
'network_icon' => ContactSelector::networkToIcon($item['network'], $item['author-link']),
|
||||
'linktitle' => DI::l10n()->t('View %s\'s profile @ %s', $profile_name, $item['author-link']),
|
||||
'profile_url' => $profile_link,
|
||||
'item_photo_menu_html' => item_photo_menu($item, $formSecurityToken),
|
||||
'name' => $profile_name,
|
||||
'sparkle' => $sparkle,
|
||||
'lock' => false,
|
||||
'thumb' => DI::baseUrl()->remove(Contact::getAvatarUrlForUrl($item['author-link'], $item['uid'], Proxy::SIZE_THUMB)),
|
||||
'title' => $title,
|
||||
'body_html' => $body_html,
|
||||
'tags' => $tags['tags'],
|
||||
'hashtags' => $tags['hashtags'],
|
||||
'mentions' => $tags['mentions'],
|
||||
'implicit_mentions' => $tags['implicit_mentions'],
|
||||
'txt_cats' => DI::l10n()->t('Categories:'),
|
||||
'txt_folders' => DI::l10n()->t('Filed under:'),
|
||||
'has_cats' => ((count($categories)) ? 'true' : ''),
|
||||
'has_folders' => ((count($folders)) ? 'true' : ''),
|
||||
'categories' => $categories,
|
||||
'folders' => $folders,
|
||||
'text' => strip_tags($body_html),
|
||||
'localtime' => DateTimeFormat::local($item['created'], 'r'),
|
||||
'ago' => (($item['app']) ? DI::l10n()->t('%s from %s', Temporal::getRelativeDate($item['created']), $item['app']) : Temporal::getRelativeDate($item['created'])),
|
||||
'location_html' => $location_html,
|
||||
'indent' => '',
|
||||
'owner_name' => '',
|
||||
'owner_url' => '',
|
||||
'owner_photo' => DI::baseUrl()->remove(Contact::getAvatarUrlForUrl($item['owner-link'], $item['uid'], Proxy::SIZE_THUMB)),
|
||||
'plink' => Item::getPlink($item),
|
||||
'edpost' => false,
|
||||
'isstarred' => 'unstarred',
|
||||
'star' => false,
|
||||
'drop' => $drop,
|
||||
'vote' => $likebuttons,
|
||||
'like_html' => '',
|
||||
'dislike_html' => '',
|
||||
'comment_html' => '',
|
||||
'conv' => (($preview) ? '' : ['href'=> 'display/'.$item['guid'], 'title'=> DI::l10n()->t('View in context')]),
|
||||
'previewing' => $previewing,
|
||||
'wait' => DI::l10n()->t('Please wait'),
|
||||
'thread_level' => 1,
|
||||
];
|
||||
|
||||
$arr = ['item' => $item, 'output' => $tmp_item];
|
||||
Hook::callAll('display_item', $arr);
|
||||
|
||||
$threads[$threadsid]['id'] = $item['id'];
|
||||
$threads[$threadsid]['network'] = $item['network'];
|
||||
$threads[$threadsid]['items'] = [$arr['output']];
|
||||
|
||||
}
|
||||
} else {
|
||||
// Normal View
|
||||
$page_template = Renderer::getMarkupTemplate("threaded_conversation.tpl");
|
||||
|
||||
$conv = new Thread($mode, $preview, $writable);
|
||||
|
||||
/*
|
||||
* get all the topmost parents
|
||||
* this shouldn't be needed, as we should have only them in our array
|
||||
* But for now, this array respects the old style, just in case
|
||||
*/
|
||||
foreach ($items as $item) {
|
||||
if (in_array($item['author-id'], $blocklist)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
// Can we put this after the visibility check?
|
||||
builtin_activity_puller($item, $conv_responses);
|
||||
|
||||
// Only add what is visible
|
||||
if ($item['network'] === Protocol::MAIL && local_user() != $item['uid']) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!visible_activity($item)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
/// @todo Check if this call is needed or not
|
||||
$arr = ['item' => $item];
|
||||
Hook::callAll('display_item', $arr);
|
||||
|
||||
$item['pagedrop'] = $page_dropping;
|
||||
|
||||
if ($item['gravity'] == GRAVITY_PARENT) {
|
||||
$item_object = new PostObject($item);
|
||||
$conv->addParent($item_object);
|
||||
}
|
||||
}
|
||||
|
||||
$threads = $conv->getTemplateData($conv_responses, $formSecurityToken);
|
||||
if (!$threads) {
|
||||
Logger::log('[ERROR] conversation : Failed to get template data.', Logger::DEBUG);
|
||||
$threads = [];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$o = Renderer::replaceMacros($page_template, [
|
||||
'$baseurl' => DI::baseUrl()->get($ssl_state),
|
||||
'$return_path' => DI::args()->getQueryString(),
|
||||
'$live_update' => $live_update_div,
|
||||
'$remove' => DI::l10n()->t('remove'),
|
||||
'$mode' => $mode,
|
||||
'$update' => $update,
|
||||
'$threads' => $threads,
|
||||
'$dropping' => ($page_dropping ? DI::l10n()->t('Delete Selected Items') : False),
|
||||
]);
|
||||
|
||||
DI::profiler()->stopRecording();
|
||||
return $o;
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds some information (Causer, post reason, direction) to the fetched post row.
|
||||
*
|
||||
* @param array $row Post row
|
||||
* @param array $activity Contact data of the resharer
|
||||
*
|
||||
* @return array items with parents and comments
|
||||
*/
|
||||
function conversation_add_row_information(array $row, array $activity) {
|
||||
DI::profiler()->startRecording('rendering');
|
||||
|
||||
if ($row['uid'] == 0) {
|
||||
$row['writable'] = in_array($row['network'], Protocol::FEDERATED);
|
||||
}
|
||||
|
||||
if (!empty($activity)) {
|
||||
if (($row['gravity'] == GRAVITY_PARENT)) {
|
||||
$row['post-reason'] = Item::PR_ANNOUNCEMENT;
|
||||
$row = array_merge($row, $activity);
|
||||
$contact = Contact::getById($activity['causer-id'], ['url', 'name', 'thumb']);
|
||||
$row['causer-link'] = $contact['url'];
|
||||
$row['causer-avatar'] = $contact['thumb'];
|
||||
$row['causer-name'] = $contact['name'];
|
||||
} elseif (($row['gravity'] == GRAVITY_ACTIVITY) && ($row['verb'] == Activity::ANNOUNCE) &&
|
||||
($row['author-id'] == $activity['causer-id'])) {
|
||||
return $row;
|
||||
}
|
||||
}
|
||||
|
||||
switch ($row['post-reason']) {
|
||||
case Item::PR_TO:
|
||||
$row['direction'] = ['direction' => 7, 'title' => DI::l10n()->t('You had been addressed (%s).', 'to')];
|
||||
break;
|
||||
case Item::PR_CC:
|
||||
$row['direction'] = ['direction' => 7, 'title' => DI::l10n()->t('You had been addressed (%s).', 'cc')];
|
||||
break;
|
||||
case Item::PR_BTO:
|
||||
$row['direction'] = ['direction' => 7, 'title' => DI::l10n()->t('You had been addressed (%s).', 'bto')];
|
||||
break;
|
||||
case Item::PR_BCC:
|
||||
$row['direction'] = ['direction' => 7, 'title' => DI::l10n()->t('You had been addressed (%s).', 'bcc')];
|
||||
break;
|
||||
case Item::PR_FOLLOWER:
|
||||
$row['direction'] = ['direction' => 6, 'title' => DI::l10n()->t('You are following %s.', $row['author-name'])];
|
||||
break;
|
||||
case Item::PR_TAG:
|
||||
$row['direction'] = ['direction' => 4, 'title' => DI::l10n()->t('Tagged')];
|
||||
break;
|
||||
case Item::PR_ANNOUNCEMENT:
|
||||
if (!empty($row['causer-id']) && DI::pConfig()->get(local_user(), 'system', 'display_resharer')) {
|
||||
$row['owner-id'] = $row['causer-id'];
|
||||
$row['owner-link'] = $row['causer-link'];
|
||||
$row['owner-avatar'] = $row['causer-avatar'];
|
||||
$row['owner-name'] = $row['causer-name'];
|
||||
}
|
||||
|
||||
if (($row['gravity'] == GRAVITY_PARENT) && !empty($row['causer-id'])) {
|
||||
$causer = ['uid' => 0, 'id' => $row['causer-id'],
|
||||
'network' => $row['causer-network'], 'url' => $row['causer-link']];
|
||||
$row['reshared'] = DI::l10n()->t('%s reshared this.', '<a href="'. htmlentities(Contact::magicLinkByContact($causer)) .'">' . htmlentities($row['causer-name']) . '</a>');
|
||||
}
|
||||
$row['direction'] = ['direction' => 3, 'title' => (empty($row['causer-id']) ? DI::l10n()->t('Reshared') : DI::l10n()->t('Reshared by %s <%s>', $row['causer-name'], $row['causer-link']))];
|
||||
break;
|
||||
case Item::PR_COMMENT:
|
||||
$row['direction'] = ['direction' => 5, 'title' => DI::l10n()->t('%s is participating in this thread.', $row['author-name'])];
|
||||
break;
|
||||
case Item::PR_STORED:
|
||||
$row['direction'] = ['direction' => 8, 'title' => DI::l10n()->t('Stored')];
|
||||
break;
|
||||
case Item::PR_GLOBAL:
|
||||
$row['direction'] = ['direction' => 9, 'title' => DI::l10n()->t('Global')];
|
||||
break;
|
||||
case Item::PR_RELAY:
|
||||
$row['direction'] = ['direction' => 10, 'title' => (empty($row['causer-id']) ? DI::l10n()->t('Relayed') : DI::l10n()->t('Relayed by %s <%s>', $row['causer-name'], $row['causer-link']))];
|
||||
break;
|
||||
case Item::PR_FETCHED:
|
||||
$row['direction'] = ['direction' => 2, 'title' => (empty($row['causer-id']) ? DI::l10n()->t('Fetched') : DI::l10n()->t('Fetched because of %s <%s>', $row['causer-name'], $row['causer-link']))];
|
||||
break;
|
||||
}
|
||||
|
||||
DI::profiler()->stopRecording();
|
||||
return $row;
|
||||
}
|
||||
|
||||
/**
|
||||
* Add comments to top level entries that had been fetched before
|
||||
*
|
||||
* The system will fetch the comments for the local user whenever possible.
|
||||
* This behaviour is currently needed to allow commenting on Friendica posts.
|
||||
*
|
||||
* @param array $parents Parent items
|
||||
*
|
||||
* @param $block_authors
|
||||
* @param $order
|
||||
* @param $uid
|
||||
* @return array items with parents and comments
|
||||
* @throws \Friendica\Network\HTTPException\InternalServerErrorException
|
||||
*/
|
||||
function conversation_add_children(array $parents, $block_authors, $order, $uid) {
|
||||
DI::profiler()->startRecording('rendering');
|
||||
if (count($parents) > 1) {
|
||||
$max_comments = DI::config()->get('system', 'max_comments', 100);
|
||||
} else {
|
||||
$max_comments = DI::config()->get('system', 'max_display_comments', 1000);
|
||||
}
|
||||
|
||||
$params = ['order' => ['uri-id' => true, 'uid' => true]];
|
||||
|
||||
$activities = [];
|
||||
$uriids = [];
|
||||
$commentcounter = [];
|
||||
$activitycounter = [];
|
||||
|
||||
foreach ($parents AS $parent) {
|
||||
if (!empty($parent['thr-parent-id']) && !empty($parent['gravity']) && ($parent['gravity'] == GRAVITY_ACTIVITY)) {
|
||||
$uriid = $parent['thr-parent-id'];
|
||||
if (!empty($parent['author-id'])) {
|
||||
$activities[$uriid] = ['causer-id' => $parent['author-id']];
|
||||
foreach (['commented', 'received', 'created'] as $orderfields) {
|
||||
if (!empty($parent[$orderfields])) {
|
||||
$activities[$uriid][$orderfields] = $parent[$orderfields];
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
$uriid = $parent['uri-id'];
|
||||
}
|
||||
$uriids[] = $uriid;
|
||||
|
||||
$commentcounter[$uriid] = 0;
|
||||
$activitycounter[$uriid] = 0;
|
||||
}
|
||||
|
||||
$condition = ['parent-uri-id' => $uriids];
|
||||
if ($block_authors) {
|
||||
$condition['author-hidden'] = false;
|
||||
}
|
||||
|
||||
$condition = DBA::mergeConditions($condition,
|
||||
["`uid` IN (0, ?) AND (`vid` != ? OR `vid` IS NULL)", $uid, Verb::getID(Activity::FOLLOW)]);
|
||||
|
||||
$thread_items = Post::selectForUser(local_user(), array_merge(Item::DISPLAY_FIELDLIST, ['pinned', 'contact-uid', 'gravity', 'post-type', 'post-reason']), $condition, $params);
|
||||
|
||||
$items = [];
|
||||
|
||||
while ($row = Post::fetch($thread_items)) {
|
||||
if (!empty($items[$row['uri-id']]) && ($row['uid'] == 0)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if ($max_comments > 0) {
|
||||
if (($row['gravity'] == GRAVITY_COMMENT) && (++$commentcounter[$row['parent-uri-id']] > $max_comments)) {
|
||||
continue;
|
||||
}
|
||||
if (($row['gravity'] == GRAVITY_ACTIVITY) && (++$activitycounter[$row['parent-uri-id']] > $max_comments)) {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
$items[$row['uri-id']] = conversation_add_row_information($row, $activities[$row['uri-id']] ?? []);
|
||||
}
|
||||
|
||||
DBA::close($thread_items);
|
||||
|
||||
$items = conv_sort($items, $order);
|
||||
|
||||
DI::profiler()->stopRecording();
|
||||
return $items;
|
||||
}
|
||||
|
||||
function item_photo_menu($item, string $formSecurityToken)
|
||||
{
|
||||
DI::profiler()->startRecording('rendering');
|
||||
$sub_link = '';
|
||||
$poke_link = '';
|
||||
$contact_url = '';
|
||||
$pm_url = '';
|
||||
$status_link = '';
|
||||
$photos_link = '';
|
||||
$posts_link = '';
|
||||
$block_link = '';
|
||||
$ignore_link = '';
|
||||
|
||||
if (local_user() && local_user() == $item['uid'] && $item['gravity'] == GRAVITY_PARENT && !$item['self'] && !$item['mention']) {
|
||||
$sub_link = 'javascript:doFollowThread(' . $item['id'] . '); return false;';
|
||||
}
|
||||
|
||||
$author = ['uid' => 0, 'id' => $item['author-id'],
|
||||
'network' => $item['author-network'], 'url' => $item['author-link']];
|
||||
$profile_link = Contact::magicLinkByContact($author, $item['author-link']);
|
||||
$sparkle = (strpos($profile_link, 'redir/') === 0);
|
||||
|
||||
$cid = 0;
|
||||
$pcid = $item['author-id'];
|
||||
$network = '';
|
||||
$rel = 0;
|
||||
$condition = ['uid' => local_user(), 'nurl' => Strings::normaliseLink($item['author-link'])];
|
||||
$contact = DBA::selectFirst('contact', ['id', 'network', 'rel'], $condition);
|
||||
if (DBA::isResult($contact)) {
|
||||
$cid = $contact['id'];
|
||||
$network = $contact['network'];
|
||||
$rel = $contact['rel'];
|
||||
}
|
||||
|
||||
if ($sparkle) {
|
||||
$status_link = $profile_link . '/status';
|
||||
$photos_link = str_replace('/profile/', '/photos/', $profile_link);
|
||||
$profile_link = $profile_link . '/profile';
|
||||
}
|
||||
|
||||
if (!empty($pcid)) {
|
||||
$contact_url = 'contact/' . $pcid;
|
||||
$posts_link = $contact_url . '/posts';
|
||||
$block_link = $item['self'] ? '' : $contact_url . '/block?t=' . $formSecurityToken;
|
||||
$ignore_link = $item['self'] ? '' : $contact_url . '/ignore?t=' . $formSecurityToken;
|
||||
}
|
||||
|
||||
if ($cid && !$item['self']) {
|
||||
$contact_url = 'contact/' . $cid;
|
||||
$poke_link = $contact_url . '/poke';
|
||||
$posts_link = $contact_url . '/posts';
|
||||
|
||||
if (in_array($network, [Protocol::ACTIVITYPUB, Protocol::DFRN, Protocol::DIASPORA])) {
|
||||
$pm_url = 'message/new/' . $cid;
|
||||
}
|
||||
}
|
||||
|
||||
if (local_user()) {
|
||||
$menu = [
|
||||
DI::l10n()->t('Follow Thread') => $sub_link,
|
||||
DI::l10n()->t('View Status') => $status_link,
|
||||
DI::l10n()->t('View Profile') => $profile_link,
|
||||
DI::l10n()->t('View Photos') => $photos_link,
|
||||
DI::l10n()->t('Network Posts') => $posts_link,
|
||||
DI::l10n()->t('View Contact') => $contact_url,
|
||||
DI::l10n()->t('Send PM') => $pm_url,
|
||||
DI::l10n()->t('Block') => $block_link,
|
||||
DI::l10n()->t('Ignore') => $ignore_link
|
||||
];
|
||||
|
||||
if (!empty($item['language'])) {
|
||||
$menu[DI::l10n()->t('Languages')] = 'javascript:alert(\'' . Item::getLanguageMessage($item) . '\');';
|
||||
}
|
||||
|
||||
if ($network == Protocol::DFRN) {
|
||||
$menu[DI::l10n()->t("Poke")] = $poke_link;
|
||||
}
|
||||
|
||||
if ((($cid == 0) || ($rel == Contact::FOLLOWER)) &&
|
||||
in_array($item['network'], Protocol::FEDERATED)) {
|
||||
$menu[DI::l10n()->t('Connect/Follow')] = 'follow?url=' . urlencode($item['author-link']) . '&auto=1';
|
||||
}
|
||||
} else {
|
||||
$menu = [DI::l10n()->t('View Profile') => $item['author-link']];
|
||||
}
|
||||
|
||||
$args = ['item' => $item, 'menu' => $menu];
|
||||
|
||||
Hook::callAll('item_photo_menu', $args);
|
||||
|
||||
$menu = $args['menu'];
|
||||
|
||||
$o = '';
|
||||
foreach ($menu as $k => $v) {
|
||||
if (strpos($v, 'javascript:') === 0) {
|
||||
$v = substr($v, 11);
|
||||
$o .= '<li role="menuitem"><a onclick="' . $v . '">' . $k . '</a></li>' . PHP_EOL;
|
||||
} elseif ($v) {
|
||||
$o .= '<li role="menuitem"><a href="' . $v . '">' . $k . '</a></li>' . PHP_EOL;
|
||||
}
|
||||
}
|
||||
DI::profiler()->stopRecording();
|
||||
return $o;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks item to see if it is one of the builtin activities (like/dislike, event attendance, consensus items, etc.)
|
||||
*
|
||||
* Increments the count of each matching activity and adds a link to the author as needed.
|
||||
*
|
||||
* @param array $activity
|
||||
* @param array &$conv_responses (already created with builtin activity structure)
|
||||
* @return void
|
||||
* @throws ImagickException
|
||||
* @throws \Friendica\Network\HTTPException\InternalServerErrorException
|
||||
*/
|
||||
function builtin_activity_puller(array $activity, array &$conv_responses)
|
||||
{
|
||||
foreach ($conv_responses as $mode => $v) {
|
||||
$sparkle = '';
|
||||
|
||||
switch ($mode) {
|
||||
case 'like':
|
||||
$verb = Activity::LIKE;
|
||||
break;
|
||||
case 'dislike':
|
||||
$verb = Activity::DISLIKE;
|
||||
break;
|
||||
case 'attendyes':
|
||||
$verb = Activity::ATTEND;
|
||||
break;
|
||||
case 'attendno':
|
||||
$verb = Activity::ATTENDNO;
|
||||
break;
|
||||
case 'attendmaybe':
|
||||
$verb = Activity::ATTENDMAYBE;
|
||||
break;
|
||||
case 'announce':
|
||||
$verb = Activity::ANNOUNCE;
|
||||
break;
|
||||
default:
|
||||
return;
|
||||
}
|
||||
|
||||
if (!empty($activity['verb']) && DI::activity()->match($activity['verb'], $verb) && ($activity['gravity'] != GRAVITY_PARENT)) {
|
||||
$author = [
|
||||
'uid' => 0,
|
||||
'id' => $activity['author-id'],
|
||||
'network' => $activity['author-network'],
|
||||
'url' => $activity['author-link']
|
||||
];
|
||||
$url = Contact::magicLinkByContact($author);
|
||||
if (strpos($url, 'redir/') === 0) {
|
||||
$sparkle = ' class="sparkle" ';
|
||||
}
|
||||
|
||||
$link = '<a href="' . $url . '"' . $sparkle . '>' . htmlentities($activity['author-name']) . '</a>';
|
||||
|
||||
if (empty($activity['thr-parent-id'])) {
|
||||
$activity['thr-parent-id'] = $activity['parent-uri-id'];
|
||||
}
|
||||
|
||||
// Skip when the causer of the parent is the same than the author of the announce
|
||||
if (($verb == Activity::ANNOUNCE) && Post::exists(['uri-id' => $activity['thr-parent-id'],
|
||||
'uid' => $activity['uid'], 'causer-id' => $activity['author-id'], 'gravity' => GRAVITY_PARENT])) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!isset($conv_responses[$mode][$activity['thr-parent-id']])) {
|
||||
$conv_responses[$mode][$activity['thr-parent-id']] = [
|
||||
'links' => [],
|
||||
'self' => 0,
|
||||
];
|
||||
} elseif (in_array($link, $conv_responses[$mode][$activity['thr-parent-id']]['links'])) {
|
||||
// only list each unique author once
|
||||
continue;
|
||||
}
|
||||
|
||||
if (public_contact() == $activity['author-id']) {
|
||||
$conv_responses[$mode][$activity['thr-parent-id']]['self'] = 1;
|
||||
}
|
||||
|
||||
$conv_responses[$mode][$activity['thr-parent-id']]['links'][] = $link;
|
||||
|
||||
// there can only be one activity verb per item so if we found anything, we can stop looking
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Format the activity text for an item/photo/video
|
||||
*
|
||||
* @param array $links = array of pre-linked names of actors
|
||||
* @param string $verb = one of 'like, 'dislike', 'attendyes', 'attendno', 'attendmaybe'
|
||||
* @param int $id = item id
|
||||
* @return string formatted text
|
||||
* @throws \Friendica\Network\HTTPException\InternalServerErrorException
|
||||
*/
|
||||
function format_activity(array $links, $verb, $id) {
|
||||
DI::profiler()->startRecording('rendering');
|
||||
$o = '';
|
||||
$expanded = '';
|
||||
$phrase = '';
|
||||
|
||||
$total = count($links);
|
||||
if ($total == 1) {
|
||||
$likers = $links[0];
|
||||
|
||||
// Phrase if there is only one liker. In other cases it will be uses for the expanded
|
||||
// list which show all likers
|
||||
switch ($verb) {
|
||||
case 'like' :
|
||||
$phrase = DI::l10n()->t('%s likes this.', $likers);
|
||||
break;
|
||||
case 'dislike' :
|
||||
$phrase = DI::l10n()->t('%s doesn\'t like this.', $likers);
|
||||
break;
|
||||
case 'attendyes' :
|
||||
$phrase = DI::l10n()->t('%s attends.', $likers);
|
||||
break;
|
||||
case 'attendno' :
|
||||
$phrase = DI::l10n()->t('%s doesn\'t attend.', $likers);
|
||||
break;
|
||||
case 'attendmaybe' :
|
||||
$phrase = DI::l10n()->t('%s attends maybe.', $likers);
|
||||
break;
|
||||
case 'announce' :
|
||||
$phrase = DI::l10n()->t('%s reshared this.', $likers);
|
||||
break;
|
||||
}
|
||||
} elseif ($total > 1) {
|
||||
if ($total < MAX_LIKERS) {
|
||||
$likers = implode(', ', array_slice($links, 0, -1));
|
||||
$likers .= ' ' . DI::l10n()->t('and') . ' ' . $links[count($links)-1];
|
||||
} else {
|
||||
$likers = implode(', ', array_slice($links, 0, MAX_LIKERS - 1));
|
||||
$likers .= ' ' . DI::l10n()->t('and %d other people', $total - MAX_LIKERS);
|
||||
}
|
||||
|
||||
$spanatts = "class=\"fakelink\" onclick=\"openClose('{$verb}list-$id');\"";
|
||||
|
||||
$explikers = '';
|
||||
switch ($verb) {
|
||||
case 'like':
|
||||
$phrase = DI::l10n()->t('<span %1$s>%2$d people</span> like this', $spanatts, $total);
|
||||
$explikers = DI::l10n()->t('%s like this.', $likers);
|
||||
break;
|
||||
case 'dislike':
|
||||
$phrase = DI::l10n()->t('<span %1$s>%2$d people</span> don\'t like this', $spanatts, $total);
|
||||
$explikers = DI::l10n()->t('%s don\'t like this.', $likers);
|
||||
break;
|
||||
case 'attendyes':
|
||||
$phrase = DI::l10n()->t('<span %1$s>%2$d people</span> attend', $spanatts, $total);
|
||||
$explikers = DI::l10n()->t('%s attend.', $likers);
|
||||
break;
|
||||
case 'attendno':
|
||||
$phrase = DI::l10n()->t('<span %1$s>%2$d people</span> don\'t attend', $spanatts, $total);
|
||||
$explikers = DI::l10n()->t('%s don\'t attend.', $likers);
|
||||
break;
|
||||
case 'attendmaybe':
|
||||
$phrase = DI::l10n()->t('<span %1$s>%2$d people</span> attend maybe', $spanatts, $total);
|
||||
$explikers = DI::l10n()->t('%s attend maybe.', $likers);
|
||||
break;
|
||||
case 'announce':
|
||||
$phrase = DI::l10n()->t('<span %1$s>%2$d people</span> reshared this', $spanatts, $total);
|
||||
$explikers = DI::l10n()->t('%s reshared this.', $likers);
|
||||
break;
|
||||
}
|
||||
|
||||
$expanded .= "\t" . '<p class="wall-item-' . $verb . '-expanded" id="' . $verb . 'list-' . $id . '" style="display: none;" >' . $explikers . EOL . '</p>';
|
||||
}
|
||||
|
||||
$o .= Renderer::replaceMacros(Renderer::getMarkupTemplate('voting_fakelink.tpl'), [
|
||||
'$phrase' => $phrase,
|
||||
'$type' => $verb,
|
||||
'$id' => $id
|
||||
]);
|
||||
$o .= $expanded;
|
||||
|
||||
DI::profiler()->stopRecording();
|
||||
return $o;
|
||||
}
|
||||
|
||||
function status_editor(App $a, array $x = [], $notes_cid = 0, $popup = false)
|
||||
{
|
||||
$user = User::getById($a->getLoggedInUserId(), ['uid', 'nickname', 'allow_location', 'default-location']);
|
||||
if (empty($user['uid'])) {
|
||||
return '';
|
||||
}
|
||||
|
||||
DI::profiler()->startRecording('rendering');
|
||||
$o = '';
|
||||
|
||||
$x['allow_location'] = $x['allow_location'] ?? $user['allow_location'];
|
||||
$x['default_location'] = $x['default_location'] ?? $user['default-location'];
|
||||
$x['nickname'] = $x['nickname'] ?? $user['nickname'];
|
||||
$x['lockstate'] = $x['lockstate'] ?? ACL::getLockstateForUserId($user['uid']) ? 'lock' : 'unlock';
|
||||
$x['acl'] = $x['acl'] ?? ACL::getFullSelectorHTML(DI::page(), $user['uid'], true);
|
||||
$x['bang'] = $x['bang'] ?? '';
|
||||
$x['visitor'] = $x['visitor'] ?? 'block';
|
||||
$x['is_owner'] = $x['is_owner'] ?? true;
|
||||
$x['profile_uid'] = $x['profile_uid'] ?? local_user();
|
||||
|
||||
|
||||
$geotag = !empty($x['allow_location']) ? Renderer::replaceMacros(Renderer::getMarkupTemplate('jot_geotag.tpl'), []) : '';
|
||||
|
||||
$tpl = Renderer::getMarkupTemplate('jot-header.tpl');
|
||||
DI::page()['htmlhead'] .= Renderer::replaceMacros($tpl, [
|
||||
'$newpost' => 'true',
|
||||
'$baseurl' => DI::baseUrl()->get(true),
|
||||
'$geotag' => $geotag,
|
||||
'$nickname' => $x['nickname'],
|
||||
'$ispublic' => DI::l10n()->t('Visible to <strong>everybody</strong>'),
|
||||
'$linkurl' => DI::l10n()->t('Please enter a image/video/audio/webpage URL:'),
|
||||
'$term' => DI::l10n()->t('Tag term:'),
|
||||
'$fileas' => DI::l10n()->t('Save to Folder:'),
|
||||
'$whereareu' => DI::l10n()->t('Where are you right now?'),
|
||||
'$delitems' => DI::l10n()->t("Delete item\x28s\x29?"),
|
||||
'$is_mobile' => DI::mode()->isMobile(),
|
||||
]);
|
||||
|
||||
$jotplugins = '';
|
||||
Hook::callAll('jot_tool', $jotplugins);
|
||||
|
||||
$tpl = Renderer::getMarkupTemplate("jot.tpl");
|
||||
|
||||
$o .= Renderer::replaceMacros($tpl, [
|
||||
'$new_post' => DI::l10n()->t('New Post'),
|
||||
'$return_path' => DI::args()->getQueryString(),
|
||||
'$action' => 'item',
|
||||
'$share' => ($x['button'] ?? '') ?: DI::l10n()->t('Share'),
|
||||
'$loading' => DI::l10n()->t('Loading...'),
|
||||
'$upload' => DI::l10n()->t('Upload photo'),
|
||||
'$shortupload' => DI::l10n()->t('upload photo'),
|
||||
'$attach' => DI::l10n()->t('Attach file'),
|
||||
'$shortattach' => DI::l10n()->t('attach file'),
|
||||
'$edbold' => DI::l10n()->t('Bold'),
|
||||
'$editalic' => DI::l10n()->t('Italic'),
|
||||
'$eduline' => DI::l10n()->t('Underline'),
|
||||
'$edquote' => DI::l10n()->t('Quote'),
|
||||
'$edcode' => DI::l10n()->t('Code'),
|
||||
'$edimg' => DI::l10n()->t('Image'),
|
||||
'$edurl' => DI::l10n()->t('Link'),
|
||||
'$edattach' => DI::l10n()->t('Link or Media'),
|
||||
'$edvideo' => DI::l10n()->t('Video'),
|
||||
'$setloc' => DI::l10n()->t('Set your location'),
|
||||
'$shortsetloc' => DI::l10n()->t('set location'),
|
||||
'$noloc' => DI::l10n()->t('Clear browser location'),
|
||||
'$shortnoloc' => DI::l10n()->t('clear location'),
|
||||
'$title' => $x['title'] ?? '',
|
||||
'$placeholdertitle' => DI::l10n()->t('Set title'),
|
||||
'$category' => $x['category'] ?? '',
|
||||
'$placeholdercategory' => Feature::isEnabled(local_user(), 'categories') ? DI::l10n()->t("Categories \x28comma-separated list\x29") : '',
|
||||
'$scheduled_at' => Temporal::getDateTimeField(
|
||||
new DateTime(),
|
||||
new DateTime('now + 6 months'),
|
||||
null,
|
||||
DI::l10n()->t('Scheduled at'),
|
||||
'scheduled_at'
|
||||
),
|
||||
'$wait' => DI::l10n()->t('Please wait'),
|
||||
'$permset' => DI::l10n()->t('Permission settings'),
|
||||
'$shortpermset' => DI::l10n()->t('Permissions'),
|
||||
'$wall' => $notes_cid ? 0 : 1,
|
||||
'$posttype' => $notes_cid ? Item::PT_PERSONAL_NOTE : Item::PT_ARTICLE,
|
||||
'$content' => $x['content'] ?? '',
|
||||
'$post_id' => $x['post_id'] ?? '',
|
||||
'$baseurl' => DI::baseUrl()->get(true),
|
||||
'$defloc' => $x['default_location'],
|
||||
'$visitor' => $x['visitor'],
|
||||
'$pvisit' => $notes_cid ? 'none' : $x['visitor'],
|
||||
'$public' => DI::l10n()->t('Public post'),
|
||||
'$lockstate' => $x['lockstate'],
|
||||
'$bang' => $x['bang'],
|
||||
'$profile_uid' => $x['profile_uid'],
|
||||
'$preview' => DI::l10n()->t('Preview'),
|
||||
'$jotplugins' => $jotplugins,
|
||||
'$notes_cid' => $notes_cid,
|
||||
'$cancel' => DI::l10n()->t('Cancel'),
|
||||
'$rand_num' => Crypto::randomDigits(12),
|
||||
|
||||
// ACL permissions box
|
||||
'$acl' => $x['acl'],
|
||||
|
||||
//jot nav tab (used in some themes)
|
||||
'$message' => DI::l10n()->t('Message'),
|
||||
'$browser' => DI::l10n()->t('Browser'),
|
||||
|
||||
'$compose_link_title' => DI::l10n()->t('Open Compose page'),
|
||||
]);
|
||||
|
||||
|
||||
if ($popup == true) {
|
||||
$o = '<div id="jot-popup" style="display: none;">' . $o . '</div>';
|
||||
}
|
||||
|
||||
DI::profiler()->stopRecording();
|
||||
return $o;
|
||||
}
|
||||
|
||||
/**
|
||||
* Plucks the children of the given parent from a given item list.
|
||||
*
|
||||
* @param array $item_list
|
||||
* @param array $parent
|
||||
* @param bool $recursive
|
||||
* @return array
|
||||
*/
|
||||
function get_item_children(array &$item_list, array $parent, $recursive = true)
|
||||
{
|
||||
DI::profiler()->startRecording('rendering');
|
||||
$children = [];
|
||||
foreach ($item_list as $i => $item) {
|
||||
if ($item['gravity'] != GRAVITY_PARENT) {
|
||||
if ($recursive) {
|
||||
// Fallback to parent-uri if thr-parent is not set
|
||||
$thr_parent = $item['thr-parent-id'];
|
||||
if ($thr_parent == '') {
|
||||
$thr_parent = $item['parent-uri-id'];
|
||||
}
|
||||
|
||||
if ($thr_parent == $parent['uri-id']) {
|
||||
$item['children'] = get_item_children($item_list, $item);
|
||||
$children[] = $item;
|
||||
unset($item_list[$i]);
|
||||
}
|
||||
} elseif ($item['parent-uri-id'] == $parent['uri-id']) {
|
||||
$children[] = $item;
|
||||
unset($item_list[$i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
DI::profiler()->stopRecording();
|
||||
return $children;
|
||||
}
|
||||
|
||||
/**
|
||||
* Recursively sorts a tree-like item array
|
||||
*
|
||||
* @param array $items
|
||||
* @return array
|
||||
*/
|
||||
function sort_item_children(array $items)
|
||||
{
|
||||
DI::profiler()->startRecording('rendering');
|
||||
$result = $items;
|
||||
usort($result, 'sort_thr_received_rev');
|
||||
foreach ($result as $k => $i) {
|
||||
if (isset($result[$k]['children'])) {
|
||||
$result[$k]['children'] = sort_item_children($result[$k]['children']);
|
||||
}
|
||||
}
|
||||
DI::profiler()->stopRecording();
|
||||
return $result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Recursively add all children items at the top level of a list
|
||||
*
|
||||
* @param array $children List of items to append
|
||||
* @param array $item_list
|
||||
*/
|
||||
function add_children_to_list(array $children, array &$item_list)
|
||||
{
|
||||
foreach ($children as $child) {
|
||||
$item_list[] = $child;
|
||||
if (isset($child['children'])) {
|
||||
add_children_to_list($child['children'], $item_list);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Selectively flattens a tree-like item structure to prevent threading stairs
|
||||
*
|
||||
* This recursive function takes the item tree structure created by conv_sort() and
|
||||
* flatten the extraneous depth levels when people reply sequentially, removing the
|
||||
* stairs effect in threaded conversations limiting the available content width.
|
||||
*
|
||||
* The basic principle is the following: if a post item has only one reply and is
|
||||
* the last reply of its parent, then the reply is moved to the parent.
|
||||
*
|
||||
* This process is rendered somewhat more complicated because items can be either
|
||||
* replies or likes, and these don't factor at all in the reply count/last reply.
|
||||
*
|
||||
* @param array $parent A tree-like array of items
|
||||
* @return array
|
||||
*/
|
||||
function smart_flatten_conversation(array $parent)
|
||||
{
|
||||
DI::profiler()->startRecording('rendering');
|
||||
if (!isset($parent['children']) || count($parent['children']) == 0) {
|
||||
DI::profiler()->stopRecording();
|
||||
return $parent;
|
||||
}
|
||||
|
||||
// We use a for loop to ensure we process the newly-moved items
|
||||
for ($i = 0; $i < count($parent['children']); $i++) {
|
||||
$child = $parent['children'][$i];
|
||||
|
||||
if (isset($child['children']) && count($child['children'])) {
|
||||
// This helps counting only the regular posts
|
||||
$count_post_closure = function($var) {
|
||||
DI::profiler()->stopRecording();
|
||||
return $var['verb'] === Activity::POST;
|
||||
};
|
||||
|
||||
$child_post_count = count(array_filter($child['children'], $count_post_closure));
|
||||
|
||||
$remaining_post_count = count(array_filter(array_slice($parent['children'], $i), $count_post_closure));
|
||||
|
||||
// If there's only one child's children post and this is the last child post
|
||||
if ($child_post_count == 1 && $remaining_post_count == 1) {
|
||||
|
||||
// Searches the post item in the children
|
||||
$j = 0;
|
||||
while($child['children'][$j]['verb'] !== Activity::POST && $j < count($child['children'])) {
|
||||
$j ++;
|
||||
}
|
||||
|
||||
$moved_item = $child['children'][$j];
|
||||
unset($parent['children'][$i]['children'][$j]);
|
||||
$parent['children'][] = $moved_item;
|
||||
} else {
|
||||
$parent['children'][$i] = smart_flatten_conversation($child);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
DI::profiler()->stopRecording();
|
||||
return $parent;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Expands a flat list of items into corresponding tree-like conversation structures.
|
||||
*
|
||||
* sort the top-level posts either on "received" or "commented", and finally
|
||||
* append all the items at the top level (???)
|
||||
*
|
||||
* @param array $item_list A list of items belonging to one or more conversations
|
||||
* @param string $order Either on "received" or "commented"
|
||||
* @return array
|
||||
* @throws \Friendica\Network\HTTPException\InternalServerErrorException
|
||||
*/
|
||||
function conv_sort(array $item_list, $order)
|
||||
{
|
||||
DI::profiler()->startRecording('rendering');
|
||||
$parents = [];
|
||||
|
||||
if (!(is_array($item_list) && count($item_list))) {
|
||||
DI::profiler()->stopRecording();
|
||||
return $parents;
|
||||
}
|
||||
|
||||
$blocklist = conv_get_blocklist();
|
||||
|
||||
$item_array = [];
|
||||
|
||||
// Dedupes the item list on the uri to prevent infinite loops
|
||||
foreach ($item_list as $item) {
|
||||
if (in_array($item['author-id'], $blocklist)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$item_array[$item['uri-id']] = $item;
|
||||
}
|
||||
|
||||
// Extract the top level items
|
||||
foreach ($item_array as $item) {
|
||||
if ($item['gravity'] == GRAVITY_PARENT) {
|
||||
$parents[] = $item;
|
||||
}
|
||||
}
|
||||
|
||||
if (stristr($order, 'pinned_received')) {
|
||||
usort($parents, 'sort_thr_pinned_received');
|
||||
} elseif (stristr($order, 'received')) {
|
||||
usort($parents, 'sort_thr_received');
|
||||
} elseif (stristr($order, 'commented')) {
|
||||
usort($parents, 'sort_thr_commented');
|
||||
}
|
||||
|
||||
/*
|
||||
* Plucks children from the item_array, second pass collects eventual orphan
|
||||
* items and add them as children of their top-level post.
|
||||
*/
|
||||
foreach ($parents as $i => $parent) {
|
||||
$parents[$i]['children'] =
|
||||
array_merge(get_item_children($item_array, $parent, true),
|
||||
get_item_children($item_array, $parent, false));
|
||||
}
|
||||
|
||||
foreach ($parents as $i => $parent) {
|
||||
$parents[$i]['children'] = sort_item_children($parents[$i]['children']);
|
||||
}
|
||||
|
||||
if (!DI::pConfig()->get(local_user(), 'system', 'no_smart_threading', 0)) {
|
||||
foreach ($parents as $i => $parent) {
|
||||
$parents[$i] = smart_flatten_conversation($parent);
|
||||
}
|
||||
}
|
||||
|
||||
/// @TODO: Stop recusrsively adding all children back to the top level (!!!)
|
||||
/// However, this apparently ensures responses (likes, attendance) display (?!)
|
||||
foreach ($parents as $parent) {
|
||||
if (count($parent['children'])) {
|
||||
add_children_to_list($parent['children'], $parents);
|
||||
}
|
||||
}
|
||||
|
||||
DI::profiler()->stopRecording();
|
||||
return $parents;
|
||||
}
|
||||
|
||||
/**
|
||||
* usort() callback to sort item arrays by pinned and the received key
|
||||
*
|
||||
* @param array $a
|
||||
* @param array $b
|
||||
* @return int
|
||||
*/
|
||||
function sort_thr_pinned_received(array $a, array $b)
|
||||
{
|
||||
if ($b['pinned'] && !$a['pinned']) {
|
||||
return 1;
|
||||
} elseif (!$b['pinned'] && $a['pinned']) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
return strcmp($b['received'], $a['received']);
|
||||
}
|
||||
|
||||
/**
|
||||
* usort() callback to sort item arrays by the received key
|
||||
*
|
||||
* @param array $a
|
||||
* @param array $b
|
||||
* @return int
|
||||
*/
|
||||
function sort_thr_received(array $a, array $b)
|
||||
{
|
||||
return strcmp($b['received'], $a['received']);
|
||||
}
|
||||
|
||||
/**
|
||||
* usort() callback to reverse sort item arrays by the received key
|
||||
*
|
||||
* @param array $a
|
||||
* @param array $b
|
||||
* @return int
|
||||
*/
|
||||
function sort_thr_received_rev(array $a, array $b)
|
||||
{
|
||||
return strcmp($a['received'], $b['received']);
|
||||
}
|
||||
|
||||
/**
|
||||
* usort() callback to sort item arrays by the commented key
|
||||
*
|
||||
* @param array $a
|
||||
* @param array $b
|
||||
* @return int
|
||||
*/
|
||||
function sort_thr_commented(array $a, array $b)
|
||||
{
|
||||
return strcmp($b['commented'], $a['commented']);
|
||||
}
|
||||
|
|
@ -246,7 +246,7 @@ function display_content(App $a, $update = false, $update_uid = 0)
|
|||
$page_uid = 0;
|
||||
|
||||
$parent = null;
|
||||
if (!empty($parent_uri_id)) {
|
||||
if (!local_user() && !empty($parent_uri_id)) {
|
||||
$parent = Post::selectFirst(['uid'], ['uri-id' => $parent_uri_id, 'wall' => true]);
|
||||
}
|
||||
|
||||
|
|
@ -272,7 +272,7 @@ function display_content(App $a, $update = false, $update_uid = 0)
|
|||
|
||||
// We need the editor here to be able to reshare an item.
|
||||
if ($is_owner && !$update) {
|
||||
$o .= status_editor($a, [], 0, true);
|
||||
$o .= DI::conversation()->statusEditor([], 0, true);
|
||||
}
|
||||
$sql_extra = Item::getPermissionsSQLByUserId($page_uid);
|
||||
|
||||
|
|
@ -306,7 +306,7 @@ function display_content(App $a, $update = false, $update_uid = 0)
|
|||
$o .= "<script> var netargs = '?uri_id=" . $item['uri-id'] . "'; </script>";
|
||||
}
|
||||
|
||||
$o .= conversation($a, [$item], 'display', $update_uid, false, 'commented', $item_uid);
|
||||
$o .= DI::conversation()->create([$item], 'display', $update_uid, false, 'commented', $item_uid);
|
||||
|
||||
// Preparing the meta header
|
||||
$description = trim(BBCode::toPlaintext($item['body']));
|
||||
|
|
|
|||
|
|
@ -177,10 +177,11 @@ function item_post(App $a) {
|
|||
}
|
||||
|
||||
// Allow commenting if it is an answer to a public post
|
||||
$allow_comment = local_user() && ($profile_uid == 0) && $toplevel_item_id && in_array($toplevel_item['network'], Protocol::FEDERATED);
|
||||
$allow_comment = local_user() && $toplevel_item_id && in_array($toplevel_item['private'], [Item::PUBLIC, Item::UNLISTED]) && in_array($toplevel_item['network'], Protocol::FEDERATED);
|
||||
|
||||
// Now check that valid personal details have been provided
|
||||
if (!Security::canWriteToUserWall($profile_uid) && !$allow_comment) {
|
||||
Logger::notice('Permission denied.', ['local' => local_user(), 'profile_uid' => $profile_uid, 'toplevel_item_id' => $toplevel_item_id, 'network' => $toplevel_item['network']]);
|
||||
notice(DI::l10n()->t('Permission denied.'));
|
||||
if ($return_path) {
|
||||
DI::baseUrl()->redirect($return_path);
|
||||
|
|
@ -677,7 +678,7 @@ function item_post(App $a) {
|
|||
$datarray["uri-id"] = -1;
|
||||
$datarray["author-network"] = Protocol::DFRN;
|
||||
|
||||
$o = conversation($a, [array_merge($contact_record, $datarray)], 'search', false, true);
|
||||
$o = DI::conversation()->create([array_merge($contact_record, $datarray)], 'search', false, true);
|
||||
|
||||
System::jsonExit(['preview' => $o]);
|
||||
}
|
||||
|
|
@ -931,6 +932,7 @@ function drop_item(int $id, string $return = '')
|
|||
|
||||
item_redirect_after_action($item, $return);
|
||||
} else {
|
||||
Logger::notice('Permission denied.', ['local' => local_user(), 'uid' => $item['uid'], 'cid' => $contact_id]);
|
||||
notice(DI::l10n()->t('Permission denied.'));
|
||||
DI::baseUrl()->redirect('display/' . $item['guid']);
|
||||
//NOTREACHED
|
||||
|
|
|
|||
|
|
@ -57,7 +57,7 @@ function notes_content(App $a, $update = false)
|
|||
'acl_data' => '',
|
||||
];
|
||||
|
||||
$o .= status_editor($a, $x, $a->getContactId());
|
||||
$o .= DI::conversation()->statusEditor($x, $a->getContactId());
|
||||
}
|
||||
|
||||
$condition = ['uid' => local_user(), 'post-type' => Item::PT_PERSONAL_NOTE, 'gravity' => GRAVITY_PARENT,
|
||||
|
|
@ -84,7 +84,7 @@ function notes_content(App $a, $update = false)
|
|||
|
||||
$count = count($notes);
|
||||
|
||||
$o .= conversation($a, $notes, 'notes', $update);
|
||||
$o .= DI::conversation()->create($notes, 'notes', $update);
|
||||
}
|
||||
|
||||
$o .= $pager->renderMinimal($count);
|
||||
|
|
|
|||
|
|
@ -1394,15 +1394,15 @@ function photos_content(App $a)
|
|||
// display comments
|
||||
if (DBA::isResult($items)) {
|
||||
foreach ($items as $item) {
|
||||
builtin_activity_puller($item, $conv_responses);
|
||||
DI::conversation()->builtinActivityPuller($item, $conv_responses);
|
||||
}
|
||||
|
||||
if (!empty($conv_responses['like'][$link_item['uri']])) {
|
||||
$like = format_activity($conv_responses['like'][$link_item['uri']]['links'], 'like', $link_item['id']);
|
||||
$like = DI::conversation()->formatActivity($conv_responses['like'][$link_item['uri']]['links'], 'like', $link_item['id']);
|
||||
}
|
||||
|
||||
if (!empty($conv_responses['dislike'][$link_item['uri']])) {
|
||||
$dislike = format_activity($conv_responses['dislike'][$link_item['uri']]['links'], 'dislike', $link_item['id']);
|
||||
$dislike = DI::conversation()->formatActivity($conv_responses['dislike'][$link_item['uri']]['links'], 'dislike', $link_item['id']);
|
||||
}
|
||||
|
||||
if (($can_post || Security::canWriteToUserWall($owner_uid))) {
|
||||
|
|
|
|||
1226
src/Content/Conversation.php
Normal file
1226
src/Content/Conversation.php
Normal file
|
|
@ -0,0 +1,1226 @@
|
|||
<?php
|
||||
/**
|
||||
* @copyright Copyright (C) 2010-2021, the Friendica project
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as
|
||||
* published by the Free Software Foundation, either version 3 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
|
||||
namespace Friendica\Content;
|
||||
|
||||
use Friendica\App;
|
||||
use Friendica\App\Arguments;
|
||||
use Friendica\App\BaseURL;
|
||||
use Friendica\BaseModule;
|
||||
use Friendica\Core\ACL;
|
||||
use Friendica\Core\Config\IConfig;
|
||||
use Friendica\Core\Hook;
|
||||
use Friendica\Core\L10n;
|
||||
use Friendica\Core\PConfig\IPConfig;
|
||||
use Friendica\Core\Protocol;
|
||||
use Friendica\Core\Renderer;
|
||||
use Friendica\Core\Session;
|
||||
use Friendica\Core\Theme;
|
||||
use Friendica\Database\DBA;
|
||||
use Friendica\Model\Contact;
|
||||
use Friendica\Model\Item as ItemModel;
|
||||
use Friendica\Model\Post;
|
||||
use Friendica\Model\Tag;
|
||||
use Friendica\Model\User;
|
||||
use Friendica\Model\Verb;
|
||||
use Friendica\Object\Post as PostObject;
|
||||
use Friendica\Object\Thread;
|
||||
use Friendica\Protocol\Activity;
|
||||
use Friendica\Util\Crypto;
|
||||
use Friendica\Util\DateTimeFormat;
|
||||
use Friendica\Util\Profiler;
|
||||
use Friendica\Util\Proxy;
|
||||
use Friendica\Util\Strings;
|
||||
use Friendica\Util\Temporal;
|
||||
use Psr\Log\LoggerInterface;
|
||||
|
||||
class Conversation
|
||||
{
|
||||
/** @var Activity */
|
||||
private $activity;
|
||||
/** @var L10n */
|
||||
private $l10n;
|
||||
/** @var Profiler */
|
||||
private $profiler;
|
||||
/** @var LoggerInterface */
|
||||
private $logger;
|
||||
/** @var Item */
|
||||
private $item;
|
||||
/** @var App\Arguments */
|
||||
private $args;
|
||||
/** @var IPConfig */
|
||||
private $pConfig;
|
||||
/** @var BaseURL */
|
||||
private $baseURL;
|
||||
/** @var IConfig */
|
||||
private $config;
|
||||
/** @var App */
|
||||
private $app;
|
||||
/** @var App\Page */
|
||||
private $page;
|
||||
/** @var App\Mode */
|
||||
private $mode;
|
||||
|
||||
public function __construct(LoggerInterface $logger, Profiler $profiler, Activity $activity, L10n $l10n, Item $item, Arguments $args, BaseURL $baseURL, IConfig $config, IPConfig $pConfig, App\Page $page, App\Mode $mode, App $app)
|
||||
{
|
||||
$this->activity = $activity;
|
||||
$this->item = $item;
|
||||
$this->config = $config;
|
||||
$this->mode = $mode;
|
||||
$this->baseURL = $baseURL;
|
||||
$this->profiler = $profiler;
|
||||
$this->logger = $logger;
|
||||
$this->l10n = $l10n;
|
||||
$this->args = $args;
|
||||
$this->pConfig = $pConfig;
|
||||
$this->page = $page;
|
||||
$this->app = $app;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks item to see if it is one of the builtin activities (like/dislike, event attendance, consensus items, etc.)
|
||||
*
|
||||
* Increments the count of each matching activity and adds a link to the author as needed.
|
||||
*
|
||||
* @param array $activity
|
||||
* @param array &$conv_responses (already created with builtin activity structure)
|
||||
* @return void
|
||||
* @throws ImagickException
|
||||
* @throws \Friendica\Network\HTTPException\InternalServerErrorException
|
||||
*/
|
||||
public function builtinActivityPuller(array $activity, array &$conv_responses)
|
||||
{
|
||||
foreach ($conv_responses as $mode => $v) {
|
||||
$sparkle = '';
|
||||
|
||||
switch ($mode) {
|
||||
case 'like':
|
||||
$verb = Activity::LIKE;
|
||||
break;
|
||||
case 'dislike':
|
||||
$verb = Activity::DISLIKE;
|
||||
break;
|
||||
case 'attendyes':
|
||||
$verb = Activity::ATTEND;
|
||||
break;
|
||||
case 'attendno':
|
||||
$verb = Activity::ATTENDNO;
|
||||
break;
|
||||
case 'attendmaybe':
|
||||
$verb = Activity::ATTENDMAYBE;
|
||||
break;
|
||||
case 'announce':
|
||||
$verb = Activity::ANNOUNCE;
|
||||
break;
|
||||
default:
|
||||
return;
|
||||
}
|
||||
|
||||
if (!empty($activity['verb']) && $this->activity->match($activity['verb'], $verb) && ($activity['gravity'] != GRAVITY_PARENT)) {
|
||||
$author = [
|
||||
'uid' => 0,
|
||||
'id' => $activity['author-id'],
|
||||
'network' => $activity['author-network'],
|
||||
'url' => $activity['author-link']
|
||||
];
|
||||
$url = Contact::magicLinkByContact($author);
|
||||
if (strpos($url, 'redir/') === 0) {
|
||||
$sparkle = ' class="sparkle" ';
|
||||
}
|
||||
|
||||
$link = '<a href="' . $url . '"' . $sparkle . '>' . htmlentities($activity['author-name']) . '</a>';
|
||||
|
||||
if (empty($activity['thr-parent-id'])) {
|
||||
$activity['thr-parent-id'] = $activity['parent-uri-id'];
|
||||
}
|
||||
|
||||
// Skip when the causer of the parent is the same than the author of the announce
|
||||
if (($verb == Activity::ANNOUNCE) && Post::exists(['uri-id' => $activity['thr-parent-id'],
|
||||
'uid' => $activity['uid'], 'causer-id' => $activity['author-id'], 'gravity' => GRAVITY_PARENT])) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!isset($conv_responses[$mode][$activity['thr-parent-id']])) {
|
||||
$conv_responses[$mode][$activity['thr-parent-id']] = [
|
||||
'links' => [],
|
||||
'self' => 0,
|
||||
];
|
||||
} elseif (in_array($link, $conv_responses[$mode][$activity['thr-parent-id']]['links'])) {
|
||||
// only list each unique author once
|
||||
continue;
|
||||
}
|
||||
|
||||
if (public_contact() == $activity['author-id']) {
|
||||
$conv_responses[$mode][$activity['thr-parent-id']]['self'] = 1;
|
||||
}
|
||||
|
||||
$conv_responses[$mode][$activity['thr-parent-id']]['links'][] = $link;
|
||||
|
||||
// there can only be one activity verb per item so if we found anything, we can stop looking
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Format the activity text for an item/photo/video
|
||||
*
|
||||
* @param array $links = array of pre-linked names of actors
|
||||
* @param string $verb = one of 'like, 'dislike', 'attendyes', 'attendno', 'attendmaybe'
|
||||
* @param int $id = item id
|
||||
* @return string formatted text
|
||||
* @throws \Friendica\Network\HTTPException\InternalServerErrorException
|
||||
*/
|
||||
public function formatActivity(array $links, $verb, $id)
|
||||
{
|
||||
$this->profiler->startRecording('rendering');
|
||||
$o = '';
|
||||
$expanded = '';
|
||||
$phrase = '';
|
||||
|
||||
$total = count($links);
|
||||
if ($total == 1) {
|
||||
$likers = $links[0];
|
||||
|
||||
// Phrase if there is only one liker. In other cases it will be uses for the expanded
|
||||
// list which show all likers
|
||||
switch ($verb) {
|
||||
case 'like':
|
||||
$phrase = $this->l10n->t('%s likes this.', $likers);
|
||||
break;
|
||||
case 'dislike':
|
||||
$phrase = $this->l10n->t('%s doesn\'t like this.', $likers);
|
||||
break;
|
||||
case 'attendyes':
|
||||
$phrase = $this->l10n->t('%s attends.', $likers);
|
||||
break;
|
||||
case 'attendno':
|
||||
$phrase = $this->l10n->t('%s doesn\'t attend.', $likers);
|
||||
break;
|
||||
case 'attendmaybe':
|
||||
$phrase = $this->l10n->t('%s attends maybe.', $likers);
|
||||
break;
|
||||
case 'announce':
|
||||
$phrase = $this->l10n->t('%s reshared this.', $likers);
|
||||
break;
|
||||
}
|
||||
} elseif ($total > 1) {
|
||||
if ($total < MAX_LIKERS) {
|
||||
$likers = implode(', ', array_slice($links, 0, -1));
|
||||
$likers .= ' ' . $this->l10n->t('and') . ' ' . $links[count($links) - 1];
|
||||
} else {
|
||||
$likers = implode(', ', array_slice($links, 0, MAX_LIKERS - 1));
|
||||
$likers .= ' ' . $this->l10n->t('and %d other people', $total - MAX_LIKERS);
|
||||
}
|
||||
|
||||
$spanatts = "class=\"fakelink\" onclick=\"openClose('{$verb}list-$id');\"";
|
||||
|
||||
$explikers = '';
|
||||
switch ($verb) {
|
||||
case 'like':
|
||||
$phrase = $this->l10n->t('<span %1$s>%2$d people</span> like this', $spanatts, $total);
|
||||
$explikers = $this->l10n->t('%s like this.', $likers);
|
||||
break;
|
||||
case 'dislike':
|
||||
$phrase = $this->l10n->t('<span %1$s>%2$d people</span> don\'t like this', $spanatts, $total);
|
||||
$explikers = $this->l10n->t('%s don\'t like this.', $likers);
|
||||
break;
|
||||
case 'attendyes':
|
||||
$phrase = $this->l10n->t('<span %1$s>%2$d people</span> attend', $spanatts, $total);
|
||||
$explikers = $this->l10n->t('%s attend.', $likers);
|
||||
break;
|
||||
case 'attendno':
|
||||
$phrase = $this->l10n->t('<span %1$s>%2$d people</span> don\'t attend', $spanatts, $total);
|
||||
$explikers = $this->l10n->t('%s don\'t attend.', $likers);
|
||||
break;
|
||||
case 'attendmaybe':
|
||||
$phrase = $this->l10n->t('<span %1$s>%2$d people</span> attend maybe', $spanatts, $total);
|
||||
$explikers = $this->l10n->t('%s attend maybe.', $likers);
|
||||
break;
|
||||
case 'announce':
|
||||
$phrase = $this->l10n->t('<span %1$s>%2$d people</span> reshared this', $spanatts, $total);
|
||||
$explikers = $this->l10n->t('%s reshared this.', $likers);
|
||||
break;
|
||||
}
|
||||
|
||||
$expanded .= "\t" . '<p class="wall-item-' . $verb . '-expanded" id="' . $verb . 'list-' . $id . '" style="display: none;" >' . $explikers . EOL . '</p>';
|
||||
}
|
||||
|
||||
$o .= Renderer::replaceMacros(Renderer::getMarkupTemplate('voting_fakelink.tpl'), [
|
||||
'$phrase' => $phrase,
|
||||
'$type' => $verb,
|
||||
'$id' => $id
|
||||
]);
|
||||
$o .= $expanded;
|
||||
|
||||
$this->profiler->stopRecording();
|
||||
return $o;
|
||||
}
|
||||
|
||||
public function statusEditor(array $x = [], $notes_cid = 0, $popup = false)
|
||||
{
|
||||
$user = User::getById($this->app->getLoggedInUserId(), ['uid', 'nickname', 'allow_location', 'default-location']);
|
||||
if (empty($user['uid'])) {
|
||||
return '';
|
||||
}
|
||||
|
||||
$this->profiler->startRecording('rendering');
|
||||
$o = '';
|
||||
|
||||
$x['allow_location'] = $x['allow_location'] ?? $user['allow_location'];
|
||||
$x['default_location'] = $x['default_location'] ?? $user['default-location'];
|
||||
$x['nickname'] = $x['nickname'] ?? $user['nickname'];
|
||||
$x['lockstate'] = $x['lockstate'] ?? ACL::getLockstateForUserId($user['uid']) ? 'lock' : 'unlock';
|
||||
$x['acl'] = $x['acl'] ?? ACL::getFullSelectorHTML($this->page, $user['uid'], true);
|
||||
$x['bang'] = $x['bang'] ?? '';
|
||||
$x['visitor'] = $x['visitor'] ?? 'block';
|
||||
$x['is_owner'] = $x['is_owner'] ?? true;
|
||||
$x['profile_uid'] = $x['profile_uid'] ?? local_user();
|
||||
|
||||
|
||||
$geotag = !empty($x['allow_location']) ? Renderer::replaceMacros(Renderer::getMarkupTemplate('jot_geotag.tpl'), []) : '';
|
||||
|
||||
$tpl = Renderer::getMarkupTemplate('jot-header.tpl');
|
||||
$this->page['htmlhead'] .= Renderer::replaceMacros($tpl, [
|
||||
'$newpost' => 'true',
|
||||
'$baseurl' => $this->baseURL->get(true),
|
||||
'$geotag' => $geotag,
|
||||
'$nickname' => $x['nickname'],
|
||||
'$ispublic' => $this->l10n->t('Visible to <strong>everybody</strong>'),
|
||||
'$linkurl' => $this->l10n->t('Please enter a image/video/audio/webpage URL:'),
|
||||
'$term' => $this->l10n->t('Tag term:'),
|
||||
'$fileas' => $this->l10n->t('Save to Folder:'),
|
||||
'$whereareu' => $this->l10n->t('Where are you right now?'),
|
||||
'$delitems' => $this->l10n->t("Delete item\x28s\x29?"),
|
||||
'$is_mobile' => $this->mode->isMobile(),
|
||||
]);
|
||||
|
||||
$jotplugins = '';
|
||||
Hook::callAll('jot_tool', $jotplugins);
|
||||
|
||||
$tpl = Renderer::getMarkupTemplate("jot.tpl");
|
||||
|
||||
$o .= Renderer::replaceMacros($tpl, [
|
||||
'$new_post' => $this->l10n->t('New Post'),
|
||||
'$return_path' => $this->args->getQueryString(),
|
||||
'$action' => 'item',
|
||||
'$share' => ($x['button'] ?? '') ?: $this->l10n->t('Share'),
|
||||
'$loading' => $this->l10n->t('Loading...'),
|
||||
'$upload' => $this->l10n->t('Upload photo'),
|
||||
'$shortupload' => $this->l10n->t('upload photo'),
|
||||
'$attach' => $this->l10n->t('Attach file'),
|
||||
'$shortattach' => $this->l10n->t('attach file'),
|
||||
'$edbold' => $this->l10n->t('Bold'),
|
||||
'$editalic' => $this->l10n->t('Italic'),
|
||||
'$eduline' => $this->l10n->t('Underline'),
|
||||
'$edquote' => $this->l10n->t('Quote'),
|
||||
'$edcode' => $this->l10n->t('Code'),
|
||||
'$edimg' => $this->l10n->t('Image'),
|
||||
'$edurl' => $this->l10n->t('Link'),
|
||||
'$edattach' => $this->l10n->t('Link or Media'),
|
||||
'$edvideo' => $this->l10n->t('Video'),
|
||||
'$setloc' => $this->l10n->t('Set your location'),
|
||||
'$shortsetloc' => $this->l10n->t('set location'),
|
||||
'$noloc' => $this->l10n->t('Clear browser location'),
|
||||
'$shortnoloc' => $this->l10n->t('clear location'),
|
||||
'$title' => $x['title'] ?? '',
|
||||
'$placeholdertitle' => $this->l10n->t('Set title'),
|
||||
'$category' => $x['category'] ?? '',
|
||||
'$placeholdercategory' => Feature::isEnabled(local_user(), 'categories') ? $this->l10n->t("Categories \x28comma-separated list\x29") : '',
|
||||
'$scheduled_at' => Temporal::getDateTimeField(
|
||||
new \DateTime(),
|
||||
new \DateTime('now + 6 months'),
|
||||
null,
|
||||
$this->l10n->t('Scheduled at'),
|
||||
'scheduled_at'
|
||||
),
|
||||
'$wait' => $this->l10n->t('Please wait'),
|
||||
'$permset' => $this->l10n->t('Permission settings'),
|
||||
'$shortpermset' => $this->l10n->t('Permissions'),
|
||||
'$wall' => $notes_cid ? 0 : 1,
|
||||
'$posttype' => $notes_cid ? ItemModel::PT_PERSONAL_NOTE : ItemModel::PT_ARTICLE,
|
||||
'$content' => $x['content'] ?? '',
|
||||
'$post_id' => $x['post_id'] ?? '',
|
||||
'$baseurl' => $this->baseURL->get(true),
|
||||
'$defloc' => $x['default_location'],
|
||||
'$visitor' => $x['visitor'],
|
||||
'$pvisit' => $notes_cid ? 'none' : $x['visitor'],
|
||||
'$public' => $this->l10n->t('Public post'),
|
||||
'$lockstate' => $x['lockstate'],
|
||||
'$bang' => $x['bang'],
|
||||
'$profile_uid' => $x['profile_uid'],
|
||||
'$preview' => $this->l10n->t('Preview'),
|
||||
'$jotplugins' => $jotplugins,
|
||||
'$notes_cid' => $notes_cid,
|
||||
'$cancel' => $this->l10n->t('Cancel'),
|
||||
'$rand_num' => Crypto::randomDigits(12),
|
||||
|
||||
// ACL permissions box
|
||||
'$acl' => $x['acl'],
|
||||
|
||||
//jot nav tab (used in some themes)
|
||||
'$message' => $this->l10n->t('Message'),
|
||||
'$browser' => $this->l10n->t('Browser'),
|
||||
|
||||
'$compose_link_title' => $this->l10n->t('Open Compose page'),
|
||||
]);
|
||||
|
||||
|
||||
if ($popup == true) {
|
||||
$o = '<div id="jot-popup" style="display: none;">' . $o . '</div>';
|
||||
}
|
||||
|
||||
$this->profiler->stopRecording();
|
||||
return $o;
|
||||
}
|
||||
|
||||
/**
|
||||
* "Render" a conversation or list of items for HTML display.
|
||||
* There are two major forms of display:
|
||||
* - Sequential or unthreaded ("New Item View" or search results)
|
||||
* - conversation view
|
||||
* The $mode parameter decides between the various renderings and also
|
||||
* figures out how to determine page owner and other contextual items
|
||||
* that are based on unique features of the calling module.
|
||||
* @param array $items
|
||||
* @param $mode
|
||||
* @param $update
|
||||
* @param bool $preview
|
||||
* @param string $order
|
||||
* @param int $uid
|
||||
* @return string
|
||||
* @throws ImagickException
|
||||
* @throws \Friendica\Network\HTTPException\InternalServerErrorException
|
||||
*/
|
||||
public function create(array $items, $mode, $update, $preview = false, $order = 'commented', $uid = 0)
|
||||
{
|
||||
$this->profiler->startRecording('rendering');
|
||||
|
||||
$this->page->registerFooterScript(Theme::getPathForFile('asset/typeahead.js/dist/typeahead.bundle.js'));
|
||||
$this->page->registerFooterScript(Theme::getPathForFile('js/friendica-tagsinput/friendica-tagsinput.js'));
|
||||
$this->page->registerStylesheet(Theme::getPathForFile('js/friendica-tagsinput/friendica-tagsinput.css'));
|
||||
$this->page->registerStylesheet(Theme::getPathForFile('js/friendica-tagsinput/friendica-tagsinput-typeahead.css'));
|
||||
|
||||
$ssl_state = (local_user() ? true : false);
|
||||
|
||||
$live_update_div = '';
|
||||
|
||||
$blocklist = $this->getBlocklist();
|
||||
|
||||
$previewing = (($preview) ? ' preview ' : '');
|
||||
|
||||
if ($mode === 'network') {
|
||||
$items = $this->addChildren($items, false, $order, $uid);
|
||||
if (!$update) {
|
||||
/*
|
||||
* The special div is needed for liveUpdate to kick in for this page.
|
||||
* We only launch liveUpdate if you aren't filtering in some incompatible
|
||||
* way and also you aren't writing a comment (discovered in javascript).
|
||||
*/
|
||||
$live_update_div = '<div id="live-network"></div>' . "\r\n"
|
||||
. "<script> var profile_uid = " . $_SESSION['uid']
|
||||
. "; var netargs = '" . substr($this->args->getCommand(), 8)
|
||||
. '?f='
|
||||
. (!empty($_GET['contactid']) ? '&contactid=' . rawurlencode($_GET['contactid']) : '')
|
||||
. (!empty($_GET['search']) ? '&search=' . rawurlencode($_GET['search']) : '')
|
||||
. (!empty($_GET['star']) ? '&star=' . rawurlencode($_GET['star']) : '')
|
||||
. (!empty($_GET['order']) ? '&order=' . rawurlencode($_GET['order']) : '')
|
||||
. (!empty($_GET['bmark']) ? '&bmark=' . rawurlencode($_GET['bmark']) : '')
|
||||
. (!empty($_GET['liked']) ? '&liked=' . rawurlencode($_GET['liked']) : '')
|
||||
. (!empty($_GET['conv']) ? '&conv=' . rawurlencode($_GET['conv']) : '')
|
||||
. (!empty($_GET['nets']) ? '&nets=' . rawurlencode($_GET['nets']) : '')
|
||||
. (!empty($_GET['cmin']) ? '&cmin=' . rawurlencode($_GET['cmin']) : '')
|
||||
. (!empty($_GET['cmax']) ? '&cmax=' . rawurlencode($_GET['cmax']) : '')
|
||||
. (!empty($_GET['file']) ? '&file=' . rawurlencode($_GET['file']) : '')
|
||||
|
||||
. "'; </script>\r\n";
|
||||
}
|
||||
} elseif ($mode === 'profile') {
|
||||
$items = $this->addChildren($items, false, $order, local_user());
|
||||
|
||||
if (!$update) {
|
||||
$tab = !empty($_GET['tab']) ? trim($_GET['tab']) : 'posts';
|
||||
|
||||
if ($tab === 'posts') {
|
||||
/*
|
||||
* This is ugly, but we can't pass the profile_uid through the session to the ajax updater,
|
||||
* because browser prefetching might change it on us. We have to deliver it with the page.
|
||||
*/
|
||||
|
||||
$live_update_div = '<div id="live-profile"></div>' . "\r\n"
|
||||
. "<script> var profile_uid = " . $uid
|
||||
. "; var netargs = '?f='; </script>\r\n";
|
||||
}
|
||||
}
|
||||
} elseif ($mode === 'notes') {
|
||||
$items = $this->addChildren($items, false, $order, local_user());
|
||||
|
||||
if (!$update) {
|
||||
$live_update_div = '<div id="live-notes"></div>' . "\r\n"
|
||||
. "<script> var profile_uid = " . local_user()
|
||||
. "; var netargs = '/?f='; </script>\r\n";
|
||||
}
|
||||
} elseif ($mode === 'display') {
|
||||
$items = $this->addChildren($items, false, $order, $uid);
|
||||
|
||||
if (!$update) {
|
||||
$live_update_div = '<div id="live-display"></div>' . "\r\n"
|
||||
. "<script> var profile_uid = " . Session::get('uid', 0) . ";"
|
||||
. "</script>";
|
||||
}
|
||||
} elseif ($mode === 'community') {
|
||||
$items = $this->addChildren($items, true, $order, $uid);
|
||||
|
||||
if (!$update) {
|
||||
$live_update_div = '<div id="live-community"></div>' . "\r\n"
|
||||
. "<script> var profile_uid = -1; var netargs = '" . substr($this->args->getCommand(), 10)
|
||||
. '?f='
|
||||
. (!empty($_GET['no_sharer']) ? '&no_sharer=' . rawurlencode($_GET['no_sharer']) : '')
|
||||
. "'; </script>\r\n";
|
||||
}
|
||||
} elseif ($mode === 'contacts') {
|
||||
$items = $this->addChildren($items, false, $order, $uid);
|
||||
|
||||
if (!$update) {
|
||||
$live_update_div = '<div id="live-contact"></div>' . "\r\n"
|
||||
. "<script> var profile_uid = -1; var netargs = '" . substr($this->args->getCommand(), 8)
|
||||
."/?f='; </script>\r\n";
|
||||
}
|
||||
} elseif ($mode === 'search') {
|
||||
$live_update_div = '<div id="live-search"></div>' . "\r\n";
|
||||
}
|
||||
|
||||
$page_dropping = ((local_user() && local_user() == $uid) ? true : false);
|
||||
|
||||
if (!$update) {
|
||||
$_SESSION['return_path'] = $this->args->getQueryString();
|
||||
}
|
||||
|
||||
$cb = ['items' => $items, 'mode' => $mode, 'update' => $update, 'preview' => $preview];
|
||||
Hook::callAll('conversation_start', $cb);
|
||||
|
||||
$items = $cb['items'];
|
||||
|
||||
$conv_responses = [
|
||||
'like' => [],
|
||||
'dislike' => [],
|
||||
'attendyes' => [],
|
||||
'attendno' => [],
|
||||
'attendmaybe' => [],
|
||||
'announce' => [],
|
||||
];
|
||||
|
||||
if ($this->pConfig->get(local_user(), 'system', 'hide_dislike')) {
|
||||
unset($conv_responses['dislike']);
|
||||
}
|
||||
|
||||
// array with html for each thread (parent+comments)
|
||||
$threads = [];
|
||||
$threadsid = -1;
|
||||
|
||||
$page_template = Renderer::getMarkupTemplate("conversation.tpl");
|
||||
$formSecurityToken = BaseModule::getFormSecurityToken('contact_action');
|
||||
|
||||
if (!empty($items)) {
|
||||
if (in_array($mode, ['community', 'contacts', 'profile'])) {
|
||||
$writable = true;
|
||||
} else {
|
||||
$writable = ($items[0]['uid'] == 0) && in_array($items[0]['network'], Protocol::FEDERATED);
|
||||
}
|
||||
|
||||
if (!local_user()) {
|
||||
$writable = false;
|
||||
}
|
||||
|
||||
if (in_array($mode, ['filed', 'search', 'contact-posts'])) {
|
||||
|
||||
/*
|
||||
* "New Item View" on network page or search page results
|
||||
* - just loop through the items and format them minimally for display
|
||||
*/
|
||||
|
||||
$tpl = 'search_item.tpl';
|
||||
|
||||
$uriids = [];
|
||||
|
||||
foreach ($items as $item) {
|
||||
if (in_array($item['uri-id'], $uriids)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$uriids[] = $item['uri-id'];
|
||||
|
||||
if (!$this->item->visibleActivity($item)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (in_array($item['author-id'], $blocklist)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$threadsid++;
|
||||
|
||||
// prevent private email from leaking.
|
||||
if ($item['network'] === Protocol::MAIL && local_user() != $item['uid']) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$profile_name = $item['author-name'];
|
||||
if (!empty($item['author-link']) && empty($item['author-name'])) {
|
||||
$profile_name = $item['author-link'];
|
||||
}
|
||||
|
||||
$tags = Tag::populateFromItem($item);
|
||||
|
||||
$author = ['uid' => 0, 'id' => $item['author-id'], 'network' => $item['author-network'], 'url' => $item['author-link']];
|
||||
$profile_link = Contact::magicLinkByContact($author);
|
||||
|
||||
$sparkle = '';
|
||||
if (strpos($profile_link, 'redir/') === 0) {
|
||||
$sparkle = ' sparkle';
|
||||
}
|
||||
|
||||
$locate = ['location' => $item['location'], 'coord' => $item['coord'], 'html' => ''];
|
||||
Hook::callAll('render_location', $locate);
|
||||
$location_html = $locate['html'] ?: Strings::escapeHtml($locate['location'] ?: $locate['coord'] ?: '');
|
||||
|
||||
$this->item->localize($item);
|
||||
if ($mode === 'filed') {
|
||||
$dropping = true;
|
||||
} else {
|
||||
$dropping = false;
|
||||
}
|
||||
|
||||
$drop = [
|
||||
'dropping' => $dropping,
|
||||
'pagedrop' => $page_dropping,
|
||||
'select' => $this->l10n->t('Select'),
|
||||
'delete' => $this->l10n->t('Delete'),
|
||||
];
|
||||
|
||||
$likebuttons = [
|
||||
'like' => null,
|
||||
'dislike' => null,
|
||||
'share' => null,
|
||||
'announce' => null,
|
||||
];
|
||||
|
||||
if ($this->pConfig->get(local_user(), 'system', 'hide_dislike')) {
|
||||
unset($likebuttons['dislike']);
|
||||
}
|
||||
|
||||
$body_html = ItemModel::prepareBody($item, true, $preview);
|
||||
|
||||
list($categories, $folders) = $this->item->determineCategoriesTerms($item, local_user());
|
||||
|
||||
if (!empty($item['content-warning']) && $this->pConfig->get(local_user(), 'system', 'disable_cw', false)) {
|
||||
$title = ucfirst($item['content-warning']);
|
||||
} else {
|
||||
$title = $item['title'];
|
||||
}
|
||||
|
||||
$tmp_item = [
|
||||
'template' => $tpl,
|
||||
'id' => ($preview ? 'P0' : $item['id']),
|
||||
'guid' => ($preview ? 'Q0' : $item['guid']),
|
||||
'commented' => $item['commented'],
|
||||
'received' => $item['received'],
|
||||
'created_date' => $item['created'],
|
||||
'uriid' => $item['uri-id'],
|
||||
'network' => $item['network'],
|
||||
'network_name' => ContactSelector::networkToName($item['author-network'], $item['author-link'], $item['network']),
|
||||
'network_icon' => ContactSelector::networkToIcon($item['network'], $item['author-link']),
|
||||
'linktitle' => $this->l10n->t('View %s\'s profile @ %s', $profile_name, $item['author-link']),
|
||||
'profile_url' => $profile_link,
|
||||
'item_photo_menu_html' => $this->item->photoMenu($item, $formSecurityToken),
|
||||
'name' => $profile_name,
|
||||
'sparkle' => $sparkle,
|
||||
'lock' => false,
|
||||
'thumb' => $this->baseURL->remove(Contact::getAvatarUrlForUrl($item['author-link'], $item['uid'], Proxy::SIZE_THUMB)),
|
||||
'title' => $title,
|
||||
'body_html' => $body_html,
|
||||
'tags' => $tags['tags'],
|
||||
'hashtags' => $tags['hashtags'],
|
||||
'mentions' => $tags['mentions'],
|
||||
'implicit_mentions' => $tags['implicit_mentions'],
|
||||
'txt_cats' => $this->l10n->t('Categories:'),
|
||||
'txt_folders' => $this->l10n->t('Filed under:'),
|
||||
'has_cats' => ((count($categories)) ? 'true' : ''),
|
||||
'has_folders' => ((count($folders)) ? 'true' : ''),
|
||||
'categories' => $categories,
|
||||
'folders' => $folders,
|
||||
'text' => strip_tags($body_html),
|
||||
'localtime' => DateTimeFormat::local($item['created'], 'r'),
|
||||
'ago' => (($item['app']) ? $this->l10n->t('%s from %s', Temporal::getRelativeDate($item['created']), $item['app']) : Temporal::getRelativeDate($item['created'])),
|
||||
'location_html' => $location_html,
|
||||
'indent' => '',
|
||||
'owner_name' => '',
|
||||
'owner_url' => '',
|
||||
'owner_photo' => $this->baseURL->remove(Contact::getAvatarUrlForUrl($item['owner-link'], $item['uid'], Proxy::SIZE_THUMB)),
|
||||
'plink' => ItemModel::getPlink($item),
|
||||
'edpost' => false,
|
||||
'isstarred' => 'unstarred',
|
||||
'star' => false,
|
||||
'drop' => $drop,
|
||||
'vote' => $likebuttons,
|
||||
'like_html' => '',
|
||||
'dislike_html ' => '',
|
||||
'comment_html' => '',
|
||||
'conv' => ($preview ? '' : ['href' => 'display/' . $item['guid'], 'title' => $this->l10n->t('View in context')]),
|
||||
'previewing' => $previewing,
|
||||
'wait' => $this->l10n->t('Please wait'),
|
||||
'thread_level' => 1,
|
||||
];
|
||||
|
||||
$arr = ['item' => $item, 'output' => $tmp_item];
|
||||
Hook::callAll('display_item', $arr);
|
||||
|
||||
$threads[$threadsid]['id'] = $item['id'];
|
||||
$threads[$threadsid]['network'] = $item['network'];
|
||||
$threads[$threadsid]['items'] = [$arr['output']];
|
||||
}
|
||||
} else {
|
||||
// Normal View
|
||||
$page_template = Renderer::getMarkupTemplate("threaded_conversation.tpl");
|
||||
|
||||
$conv = new Thread($mode, $preview, $writable);
|
||||
|
||||
/*
|
||||
* get all the topmost parents
|
||||
* this shouldn't be needed, as we should have only them in our array
|
||||
* But for now, this array respects the old style, just in case
|
||||
*/
|
||||
foreach ($items as $item) {
|
||||
if (in_array($item['author-id'], $blocklist)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
// Can we put this after the visibility check?
|
||||
$this->builtinActivityPuller($item, $conv_responses);
|
||||
|
||||
// Only add what is visible
|
||||
if ($item['network'] === Protocol::MAIL && local_user() != $item['uid']) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!$this->item->visibleActivity($item)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
/// @todo Check if this call is needed or not
|
||||
$arr = ['item' => $item];
|
||||
Hook::callAll('display_item', $arr);
|
||||
|
||||
$item['pagedrop'] = $page_dropping;
|
||||
|
||||
if ($item['gravity'] == GRAVITY_PARENT) {
|
||||
$item_object = new PostObject($item);
|
||||
$conv->addParent($item_object);
|
||||
}
|
||||
}
|
||||
|
||||
$threads = $conv->getTemplateData($conv_responses, $formSecurityToken);
|
||||
if (!$threads) {
|
||||
$this->logger->info('[ERROR] conversation : Failed to get template data.');
|
||||
$threads = [];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$o = Renderer::replaceMacros($page_template, [
|
||||
'$baseurl' => $this->baseURL->get($ssl_state),
|
||||
'$return_path' => $this->args->getQueryString(),
|
||||
'$live_update' => $live_update_div,
|
||||
'$remove' => $this->l10n->t('remove'),
|
||||
'$mode' => $mode,
|
||||
'$update' => $update,
|
||||
'$threads' => $threads,
|
||||
'$dropping' => ($page_dropping ? $this->l10n->t('Delete Selected Items') : false),
|
||||
]);
|
||||
|
||||
$this->profiler->stopRecording();
|
||||
return $o;
|
||||
}
|
||||
|
||||
private function getBlocklist()
|
||||
{
|
||||
if (!local_user()) {
|
||||
return [];
|
||||
}
|
||||
|
||||
$str_blocked = str_replace(["\n", "\r"], ",", $this->pConfig->get(local_user(), 'system', 'blocked'));
|
||||
if (empty($str_blocked)) {
|
||||
return [];
|
||||
}
|
||||
|
||||
$blocklist = [];
|
||||
|
||||
foreach (explode(',', $str_blocked) as $entry) {
|
||||
$cid = Contact::getIdForURL(trim($entry), 0, false);
|
||||
if (!empty($cid)) {
|
||||
$blocklist[] = $cid;
|
||||
}
|
||||
}
|
||||
|
||||
return $blocklist;
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds some information (Causer, post reason, direction) to the fetched post row.
|
||||
*
|
||||
* @param array $row Post row
|
||||
* @param array $activity Contact data of the resharer
|
||||
*
|
||||
* @return array items with parents and comments
|
||||
*/
|
||||
private function addRowInformation(array $row, array $activity)
|
||||
{
|
||||
$this->profiler->startRecording('rendering');
|
||||
|
||||
if ($row['uid'] == 0) {
|
||||
$row['writable'] = in_array($row['network'], Protocol::FEDERATED);
|
||||
}
|
||||
|
||||
if (!empty($activity)) {
|
||||
if (($row['gravity'] == GRAVITY_PARENT)) {
|
||||
$row['post-reason'] = ItemModel::PR_ANNOUNCEMENT;
|
||||
|
||||
$row = array_merge($row, $activity);
|
||||
$contact = Contact::getById($activity['causer-id'], ['url', 'name', 'thumb']);
|
||||
|
||||
$row['causer-link'] = $contact['url'];
|
||||
$row['causer-avatar'] = $contact['thumb'];
|
||||
$row['causer-name'] = $contact['name'];
|
||||
} elseif (($row['gravity'] == GRAVITY_ACTIVITY) && ($row['verb'] == Activity::ANNOUNCE) &&
|
||||
($row['author-id'] == $activity['causer-id'])) {
|
||||
return $row;
|
||||
}
|
||||
}
|
||||
|
||||
switch ($row['post-reason']) {
|
||||
case ItemModel::PR_TO:
|
||||
$row['direction'] = ['direction' => 7, 'title' => $this->l10n->t('You had been addressed (%s).', 'to')];
|
||||
break;
|
||||
case ItemModel::PR_CC:
|
||||
$row['direction'] = ['direction' => 7, 'title' => $this->l10n->t('You had been addressed (%s).', 'cc')];
|
||||
break;
|
||||
case ItemModel::PR_BTO:
|
||||
$row['direction'] = ['direction' => 7, 'title' => $this->l10n->t('You had been addressed (%s).', 'bto')];
|
||||
break;
|
||||
case ItemModel::PR_BCC:
|
||||
$row['direction'] = ['direction' => 7, 'title' => $this->l10n->t('You had been addressed (%s).', 'bcc')];
|
||||
break;
|
||||
case ItemModel::PR_FOLLOWER:
|
||||
$row['direction'] = ['direction' => 6, 'title' => $this->l10n->t('You are following %s.', $row['author-name'])];
|
||||
break;
|
||||
case ItemModel::PR_TAG:
|
||||
$row['direction'] = ['direction' => 4, 'title' => $this->l10n->t('Tagged')];
|
||||
break;
|
||||
case ItemModel::PR_ANNOUNCEMENT:
|
||||
if (!empty($row['causer-id']) && $this->pConfig->get(local_user(), 'system', 'display_resharer')) {
|
||||
$row['owner-id'] = $row['causer-id'];
|
||||
$row['owner-link'] = $row['causer-link'];
|
||||
$row['owner-avatar'] = $row['causer-avatar'];
|
||||
$row['owner-name'] = $row['causer-name'];
|
||||
}
|
||||
|
||||
if (($row['gravity'] == GRAVITY_PARENT) && !empty($row['causer-id'])) {
|
||||
$causer = ['uid' => 0, 'id' => $row['causer-id'], 'network' => $row['causer-network'], 'url' => $row['causer-link']];
|
||||
|
||||
$row['reshared'] = $this->l10n->t('%s reshared this.', '<a href="'. htmlentities(Contact::magicLinkByContact($causer)) .'">' . htmlentities($row['causer-name']) . '</a>');
|
||||
}
|
||||
$row['direction'] = ['direction' => 3, 'title' => (empty($row['causer-id']) ? $this->l10n->t('Reshared') : $this->l10n->t('Reshared by %s <%s>', $row['causer-name'], $row['causer-link']))];
|
||||
break;
|
||||
case ItemModel::PR_COMMENT:
|
||||
$row['direction'] = ['direction' => 5, 'title' => $this->l10n->t('%s is participating in this thread.', $row['author-name'])];
|
||||
break;
|
||||
case ItemModel::PR_STORED:
|
||||
$row['direction'] = ['direction' => 8, 'title' => $this->l10n->t('Stored')];
|
||||
break;
|
||||
case ItemModel::PR_GLOBAL:
|
||||
$row['direction'] = ['direction' => 9, 'title' => $this->l10n->t('Global')];
|
||||
break;
|
||||
case ItemModel::PR_RELAY:
|
||||
$row['direction'] = ['direction' => 10, 'title' => (empty($row['causer-id']) ? $this->l10n->t('Relayed') : $this->l10n->t('Relayed by %s <%s>', $row['causer-name'], $row['causer-link']))];
|
||||
break;
|
||||
case ItemModel::PR_FETCHED:
|
||||
$row['direction'] = ['direction' => 2, 'title' => (empty($row['causer-id']) ? $this->l10n->t('Fetched') : $this->l10n->t('Fetched because of %s <%s>', $row['causer-name'], $row['causer-link']))];
|
||||
break;
|
||||
}
|
||||
|
||||
$this->profiler->stopRecording();
|
||||
return $row;
|
||||
}
|
||||
|
||||
/**
|
||||
* Add comments to top level entries that had been fetched before
|
||||
*
|
||||
* The system will fetch the comments for the local user whenever possible.
|
||||
* This behaviour is currently needed to allow commenting on Friendica posts.
|
||||
*
|
||||
* @param array $parents Parent items
|
||||
*
|
||||
* @param $block_authors
|
||||
* @param $order
|
||||
* @param $uid
|
||||
* @return array items with parents and comments
|
||||
* @throws \Friendica\Network\HTTPException\InternalServerErrorException
|
||||
*/
|
||||
private function addChildren(array $parents, $block_authors, $order, $uid)
|
||||
{
|
||||
$this->profiler->startRecording('rendering');
|
||||
if (count($parents) > 1) {
|
||||
$max_comments = $this->config->get('system', 'max_comments', 100);
|
||||
} else {
|
||||
$max_comments = $this->config->get('system', 'max_display_comments', 1000);
|
||||
}
|
||||
|
||||
$params = ['order' => ['uri-id' => true, 'uid' => true]];
|
||||
|
||||
$activities = [];
|
||||
$uriids = [];
|
||||
$commentcounter = [];
|
||||
$activitycounter = [];
|
||||
|
||||
foreach ($parents as $parent) {
|
||||
if (!empty($parent['thr-parent-id']) && !empty($parent['gravity']) && ($parent['gravity'] == GRAVITY_ACTIVITY)) {
|
||||
$uriid = $parent['thr-parent-id'];
|
||||
if (!empty($parent['author-id'])) {
|
||||
$activities[$uriid] = ['causer-id' => $parent['author-id']];
|
||||
foreach (['commented', 'received', 'created'] as $orderfields) {
|
||||
if (!empty($parent[$orderfields])) {
|
||||
$activities[$uriid][$orderfields] = $parent[$orderfields];
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
$uriid = $parent['uri-id'];
|
||||
}
|
||||
$uriids[] = $uriid;
|
||||
|
||||
$commentcounter[$uriid] = 0;
|
||||
$activitycounter[$uriid] = 0;
|
||||
}
|
||||
|
||||
$condition = ['parent-uri-id' => $uriids];
|
||||
if ($block_authors) {
|
||||
$condition['author-hidden'] = false;
|
||||
}
|
||||
|
||||
$condition = DBA::mergeConditions($condition,
|
||||
["`uid` IN (0, ?) AND (`vid` != ? OR `vid` IS NULL)", $uid, Verb::getID(Activity::FOLLOW)]);
|
||||
|
||||
$thread_items = Post::selectForUser(local_user(), array_merge(ItemModel::DISPLAY_FIELDLIST, ['pinned', 'contact-uid', 'gravity', 'post-type', 'post-reason']), $condition, $params);
|
||||
|
||||
$items = [];
|
||||
|
||||
while ($row = Post::fetch($thread_items)) {
|
||||
if (!empty($items[$row['uri-id']]) && ($row['uid'] == 0)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if ($max_comments > 0) {
|
||||
if (($row['gravity'] == GRAVITY_COMMENT) && (++$commentcounter[$row['parent-uri-id']] > $max_comments)) {
|
||||
continue;
|
||||
}
|
||||
if (($row['gravity'] == GRAVITY_ACTIVITY) && (++$activitycounter[$row['parent-uri-id']] > $max_comments)) {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
$items[$row['uri-id']] = $this->addRowInformation($row, $activities[$row['uri-id']] ?? []);
|
||||
}
|
||||
|
||||
DBA::close($thread_items);
|
||||
|
||||
$items = $this->convSort($items, $order);
|
||||
|
||||
$this->profiler->stopRecording();
|
||||
return $items;
|
||||
}
|
||||
|
||||
/**
|
||||
* Plucks the children of the given parent from a given item list.
|
||||
*
|
||||
* @param array $item_list
|
||||
* @param array $parent
|
||||
* @param bool $recursive
|
||||
* @return array
|
||||
*/
|
||||
private function getItemChildren(array &$item_list, array $parent, $recursive = true)
|
||||
{
|
||||
$this->profiler->startRecording('rendering');
|
||||
$children = [];
|
||||
foreach ($item_list as $i => $item) {
|
||||
if ($item['gravity'] != GRAVITY_PARENT) {
|
||||
if ($recursive) {
|
||||
// Fallback to parent-uri if thr-parent is not set
|
||||
$thr_parent = $item['thr-parent-id'];
|
||||
if ($thr_parent == '') {
|
||||
$thr_parent = $item['parent-uri-id'];
|
||||
}
|
||||
|
||||
if ($thr_parent == $parent['uri-id']) {
|
||||
$item['children'] = $this->getItemChildren($item_list, $item);
|
||||
|
||||
$children[] = $item;
|
||||
unset($item_list[$i]);
|
||||
}
|
||||
} elseif ($item['parent-uri-id'] == $parent['uri-id']) {
|
||||
$children[] = $item;
|
||||
unset($item_list[$i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
$this->profiler->stopRecording();
|
||||
return $children;
|
||||
}
|
||||
|
||||
/**
|
||||
* Recursively sorts a tree-like item array
|
||||
*
|
||||
* @param array $items
|
||||
* @return array
|
||||
*/
|
||||
private function sortItemChildren(array $items)
|
||||
{
|
||||
$this->profiler->startRecording('rendering');
|
||||
$result = $items;
|
||||
usort($result, [$this, 'sortThrReceivedRev']);
|
||||
foreach ($result as $k => $i) {
|
||||
if (isset($result[$k]['children'])) {
|
||||
$result[$k]['children'] = $this->sortItemChildren($result[$k]['children']);
|
||||
}
|
||||
}
|
||||
$this->profiler->stopRecording();
|
||||
return $result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Recursively add all children items at the top level of a list
|
||||
*
|
||||
* @param array $children List of items to append
|
||||
* @param array $item_list
|
||||
*/
|
||||
private function addChildrenToList(array $children, array &$item_list)
|
||||
{
|
||||
foreach ($children as $child) {
|
||||
$item_list[] = $child;
|
||||
if (isset($child['children'])) {
|
||||
$this->addChildrenToList($child['children'], $item_list);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Selectively flattens a tree-like item structure to prevent threading stairs
|
||||
*
|
||||
* This recursive function takes the item tree structure created by conv_sort() and
|
||||
* flatten the extraneous depth levels when people reply sequentially, removing the
|
||||
* stairs effect in threaded conversations limiting the available content width.
|
||||
*
|
||||
* The basic principle is the following: if a post item has only one reply and is
|
||||
* the last reply of its parent, then the reply is moved to the parent.
|
||||
*
|
||||
* This process is rendered somewhat more complicated because items can be either
|
||||
* replies or likes, and these don't factor at all in the reply count/last reply.
|
||||
*
|
||||
* @param array $parent A tree-like array of items
|
||||
* @return array
|
||||
*/
|
||||
private function smartFlattenConversation(array $parent)
|
||||
{
|
||||
$this->profiler->startRecording('rendering');
|
||||
if (!isset($parent['children']) || count($parent['children']) == 0) {
|
||||
$this->profiler->stopRecording();
|
||||
return $parent;
|
||||
}
|
||||
|
||||
// We use a for loop to ensure we process the newly-moved items
|
||||
for ($i = 0; $i < count($parent['children']); $i++) {
|
||||
$child = $parent['children'][$i];
|
||||
|
||||
if (isset($child['children']) && count($child['children'])) {
|
||||
// This helps counting only the regular posts
|
||||
$count_post_closure = function ($var) {
|
||||
$this->profiler->stopRecording();
|
||||
return $var['verb'] === Activity::POST;
|
||||
};
|
||||
|
||||
$child_post_count = count(array_filter($child['children'], $count_post_closure));
|
||||
|
||||
$remaining_post_count = count(array_filter(array_slice($parent['children'], $i), $count_post_closure));
|
||||
|
||||
// If there's only one child's children post and this is the last child post
|
||||
if ($child_post_count == 1 && $remaining_post_count == 1) {
|
||||
|
||||
// Searches the post item in the children
|
||||
$j = 0;
|
||||
while ($child['children'][$j]['verb'] !== Activity::POST && $j < count($child['children'])) {
|
||||
$j ++;
|
||||
}
|
||||
|
||||
$moved_item = $child['children'][$j];
|
||||
unset($parent['children'][$i]['children'][$j]);
|
||||
$parent['children'][] = $moved_item;
|
||||
} else {
|
||||
$parent['children'][$i] = $this->smartFlattenConversation($child);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$this->profiler->stopRecording();
|
||||
return $parent;
|
||||
}
|
||||
|
||||
/**
|
||||
* Expands a flat list of items into corresponding tree-like conversation structures.
|
||||
*
|
||||
* sort the top-level posts either on "received" or "commented", and finally
|
||||
* append all the items at the top level (???)
|
||||
*
|
||||
* @param array $item_list A list of items belonging to one or more conversations
|
||||
* @param string $order Either on "received" or "commented"
|
||||
* @return array
|
||||
* @throws \Friendica\Network\HTTPException\InternalServerErrorException
|
||||
*/
|
||||
private function convSort(array $item_list, $order)
|
||||
{
|
||||
$this->profiler->startRecording('rendering');
|
||||
$parents = [];
|
||||
|
||||
if (!(is_array($item_list) && count($item_list))) {
|
||||
$this->profiler->stopRecording();
|
||||
return $parents;
|
||||
}
|
||||
|
||||
$blocklist = $this->getBlocklist();
|
||||
|
||||
$item_array = [];
|
||||
|
||||
// Dedupes the item list on the uri to prevent infinite loops
|
||||
foreach ($item_list as $item) {
|
||||
if (in_array($item['author-id'], $blocklist)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$item_array[$item['uri-id']] = $item;
|
||||
}
|
||||
|
||||
// Extract the top level items
|
||||
foreach ($item_array as $item) {
|
||||
if ($item['gravity'] == GRAVITY_PARENT) {
|
||||
$parents[] = $item;
|
||||
}
|
||||
}
|
||||
|
||||
if (stristr($order, 'pinned_received')) {
|
||||
usort($parents, [$this, 'sortThrPinnedReceived']);
|
||||
} elseif (stristr($order, 'received')) {
|
||||
usort($parents, [$this, 'sortThrReceived']);
|
||||
} elseif (stristr($order, 'commented')) {
|
||||
usort($parents, [$this, 'sortThrCommented']);
|
||||
}
|
||||
|
||||
/*
|
||||
* Plucks children from the item_array, second pass collects eventual orphan
|
||||
* items and add them as children of their top-level post.
|
||||
*/
|
||||
foreach ($parents as $i => $parent) {
|
||||
$parents[$i]['children'] = array_merge($this->getItemChildren($item_array, $parent, true),
|
||||
$this->getItemChildren($item_array, $parent, false));
|
||||
}
|
||||
|
||||
foreach ($parents as $i => $parent) {
|
||||
$parents[$i]['children'] = $this->sortItemChildren($parents[$i]['children']);
|
||||
}
|
||||
|
||||
if (!$this->pConfig->get(local_user(), 'system', 'no_smart_threading', 0)) {
|
||||
foreach ($parents as $i => $parent) {
|
||||
$parents[$i] = $this->smartFlattenConversation($parent);
|
||||
}
|
||||
}
|
||||
|
||||
/// @TODO: Stop recusrsively adding all children back to the top level (!!!)
|
||||
/// However, this apparently ensures responses (likes, attendance) display (?!)
|
||||
foreach ($parents as $parent) {
|
||||
if (count($parent['children'])) {
|
||||
$this->addChildrenToList($parent['children'], $parents);
|
||||
}
|
||||
}
|
||||
|
||||
$this->profiler->stopRecording();
|
||||
return $parents;
|
||||
}
|
||||
|
||||
/**
|
||||
* usort() callback to sort item arrays by pinned and the received key
|
||||
*
|
||||
* @param array $a
|
||||
* @param array $b
|
||||
* @return int
|
||||
*/
|
||||
private function sortThrPinnedReceived(array $a, array $b)
|
||||
{
|
||||
if ($b['pinned'] && !$a['pinned']) {
|
||||
return 1;
|
||||
} elseif (!$b['pinned'] && $a['pinned']) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
return strcmp($b['received'], $a['received']);
|
||||
}
|
||||
|
||||
/**
|
||||
* usort() callback to sort item arrays by the received key
|
||||
*
|
||||
* @param array $a
|
||||
* @param array $b
|
||||
* @return int
|
||||
*/
|
||||
private function sortThrReceived(array $a, array $b)
|
||||
{
|
||||
return strcmp($b['received'], $a['received']);
|
||||
}
|
||||
|
||||
/**
|
||||
* usort() callback to reverse sort item arrays by the received key
|
||||
*
|
||||
* @param array $a
|
||||
* @param array $b
|
||||
* @return int
|
||||
*/
|
||||
private function sortThrReceivedRev(array $a, array $b)
|
||||
{
|
||||
return strcmp($a['received'], $b['received']);
|
||||
}
|
||||
|
||||
/**
|
||||
* usort() callback to sort item arrays by the commented key
|
||||
*
|
||||
* @param array $a
|
||||
* @param array $b
|
||||
* @return int
|
||||
*/
|
||||
private function sortThrCommented(array $a, array $b)
|
||||
{
|
||||
return strcmp($b['commented'], $a['commented']);
|
||||
}
|
||||
}
|
||||
|
|
@ -21,16 +21,39 @@
|
|||
|
||||
namespace Friendica\Content;
|
||||
|
||||
use Friendica\Core\Hook;
|
||||
use Friendica\Core\L10n;
|
||||
use Friendica\Core\Protocol;
|
||||
use Friendica\Core\Session;
|
||||
use Friendica\Database\DBA;
|
||||
use Friendica\Model\Contact;
|
||||
use Friendica\Model\Item as ModelItem;
|
||||
use Friendica\Model\Tag;
|
||||
use Friendica\Model\Post;
|
||||
use Friendica\Protocol\Activity;
|
||||
use Friendica\Util\Profiler;
|
||||
use Friendica\Util\Strings;
|
||||
use Friendica\Util\XML;
|
||||
|
||||
/**
|
||||
* A content helper class for displaying items
|
||||
*/
|
||||
class Item
|
||||
{
|
||||
/** @var Activity */
|
||||
private $activity;
|
||||
/** @var L10n */
|
||||
private $l10n;
|
||||
/** @var Profiler */
|
||||
private $profiler;
|
||||
|
||||
public function __construct(Profiler $profiler, Activity $activity, L10n $l10n)
|
||||
{
|
||||
$this->profiler = $profiler;
|
||||
$this->activity = $activity;
|
||||
$this->l10n = $l10n;
|
||||
}
|
||||
|
||||
/**
|
||||
* Return array with details for categories and folders for an item
|
||||
*
|
||||
|
|
@ -221,4 +244,261 @@ class Item
|
|||
|
||||
return ['replaced' => $replaced, 'contact' => $contact];
|
||||
}
|
||||
|
||||
/**
|
||||
* Render actions localized
|
||||
*
|
||||
* @param $item
|
||||
* @throws ImagickException
|
||||
* @throws \Friendica\Network\HTTPException\InternalServerErrorException
|
||||
*/
|
||||
public function localize(&$item)
|
||||
{
|
||||
$this->profiler->startRecording('rendering');
|
||||
/// @todo The following functionality needs to be cleaned up.
|
||||
if (!empty($item['verb'])) {
|
||||
$xmlhead = "<" . "?xml version='1.0' encoding='UTF-8' ?" . ">";
|
||||
|
||||
if (stristr($item['verb'], Activity::POKE)) {
|
||||
$verb = urldecode(substr($item['verb'], strpos($item['verb'],'#') + 1));
|
||||
if (!$verb) {
|
||||
$this->profiler->stopRecording();
|
||||
return;
|
||||
}
|
||||
if ($item['object-type'] == "" || $item['object-type'] !== Activity\ObjectType::PERSON) {
|
||||
$this->profiler->stopRecording();
|
||||
return;
|
||||
}
|
||||
|
||||
$obj = XML::parseString($xmlhead . $item['object']);
|
||||
|
||||
$Bname = $obj->title;
|
||||
$Blink = $obj->id;
|
||||
$Bphoto = "";
|
||||
|
||||
foreach ($obj->link as $l) {
|
||||
$atts = $l->attributes();
|
||||
switch ($atts['rel']) {
|
||||
case "alternate": $Blink = $atts['href'];
|
||||
case "photo": $Bphoto = $atts['href'];
|
||||
}
|
||||
}
|
||||
|
||||
$author = ['uid' => 0, 'id' => $item['author-id'],
|
||||
'network' => $item['author-network'], 'url' => $item['author-link']];
|
||||
$A = '[url=' . Contact::magicLinkByContact($author) . ']' . $item['author-name'] . '[/url]';
|
||||
|
||||
if (!empty($Blink)) {
|
||||
$B = '[url=' . Contact::magicLink($Blink) . ']' . $Bname . '[/url]';
|
||||
} else {
|
||||
$B = '';
|
||||
}
|
||||
|
||||
if ($Bphoto != "" && !empty($Blink)) {
|
||||
$Bphoto = '[url=' . Contact::magicLink($Blink) . '][img=80x80]' . $Bphoto . '[/img][/url]';
|
||||
}
|
||||
|
||||
/*
|
||||
* we can't have a translation string with three positions but no distinguishable text
|
||||
* So here is the translate string.
|
||||
*/
|
||||
$txt = $this->l10n->t('%1$s poked %2$s');
|
||||
|
||||
// now translate the verb
|
||||
$poked_t = trim(sprintf($txt, '', ''));
|
||||
$txt = str_replace($poked_t, $this->l10n->t($verb), $txt);
|
||||
|
||||
// then do the sprintf on the translation string
|
||||
|
||||
$item['body'] = sprintf($txt, $A, $B) . "\n\n\n" . $Bphoto;
|
||||
|
||||
}
|
||||
|
||||
if ($this->activity->match($item['verb'], Activity::TAG)) {
|
||||
$fields = ['author-id', 'author-link', 'author-name', 'author-network',
|
||||
'verb', 'object-type', 'resource-id', 'body', 'plink'];
|
||||
$obj = Post::selectFirst($fields, ['uri' => $item['parent-uri']]);
|
||||
if (!DBA::isResult($obj)) {
|
||||
$this->profiler->stopRecording();
|
||||
return;
|
||||
}
|
||||
|
||||
$author_arr = ['uid' => 0, 'id' => $item['author-id'],
|
||||
'network' => $item['author-network'], 'url' => $item['author-link']];
|
||||
$author = '[url=' . Contact::magicLinkByContact($author_arr) . ']' . $item['author-name'] . '[/url]';
|
||||
|
||||
$author_arr = ['uid' => 0, 'id' => $obj['author-id'],
|
||||
'network' => $obj['author-network'], 'url' => $obj['author-link']];
|
||||
$objauthor = '[url=' . Contact::magicLinkByContact($author_arr) . ']' . $obj['author-name'] . '[/url]';
|
||||
|
||||
switch ($obj['verb']) {
|
||||
case Activity::POST:
|
||||
switch ($obj['object-type']) {
|
||||
case Activity\ObjectType::EVENT:
|
||||
$post_type = $this->l10n->t('event');
|
||||
break;
|
||||
default:
|
||||
$post_type = $this->l10n->t('status');
|
||||
}
|
||||
break;
|
||||
default:
|
||||
if ($obj['resource-id']) {
|
||||
$post_type = $this->l10n->t('photo');
|
||||
$m=[]; preg_match("/\[url=([^]]*)\]/", $obj['body'], $m);
|
||||
$rr['plink'] = $m[1];
|
||||
} else {
|
||||
$post_type = $this->l10n->t('status');
|
||||
}
|
||||
// Let's break everthing ... ;-)
|
||||
break;
|
||||
}
|
||||
$plink = '[url=' . $obj['plink'] . ']' . $post_type . '[/url]';
|
||||
|
||||
$parsedobj = XML::parseString($xmlhead . $item['object']);
|
||||
|
||||
$tag = sprintf('#[url=%s]%s[/url]', $parsedobj->id, $parsedobj->content);
|
||||
$item['body'] = $this->l10n->t('%1$s tagged %2$s\'s %3$s with %4$s', $author, $objauthor, $plink, $tag);
|
||||
}
|
||||
}
|
||||
|
||||
$matches = null;
|
||||
if (preg_match_all('/@\[url=(.*?)\]/is', $item['body'], $matches, PREG_SET_ORDER)) {
|
||||
foreach ($matches as $mtch) {
|
||||
if (!strpos($mtch[1], 'zrl=')) {
|
||||
$item['body'] = str_replace($mtch[0], '@[url=' . Contact::magicLink($mtch[1]) . ']', $item['body']);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// add sparkle links to appropriate permalinks
|
||||
// Only create a redirection to a magic link when logged in
|
||||
if (!empty($item['plink']) && Session::isAuthenticated() && $item['private'] == ModelItem::PRIVATE) {
|
||||
$author = ['uid' => 0, 'id' => $item['author-id'],
|
||||
'network' => $item['author-network'], 'url' => $item['author-link']];
|
||||
$item['plink'] = Contact::magicLinkByContact($author, $item['plink']);
|
||||
}
|
||||
$this->profiler->stopRecording();
|
||||
}
|
||||
|
||||
public function photoMenu($item, string $formSecurityToken)
|
||||
{
|
||||
$this->profiler->startRecording('rendering');
|
||||
$sub_link = '';
|
||||
$poke_link = '';
|
||||
$contact_url = '';
|
||||
$pm_url = '';
|
||||
$status_link = '';
|
||||
$photos_link = '';
|
||||
$posts_link = '';
|
||||
$block_link = '';
|
||||
$ignore_link = '';
|
||||
|
||||
if (local_user() && local_user() == $item['uid'] && $item['gravity'] == GRAVITY_PARENT && !$item['self'] && !$item['mention']) {
|
||||
$sub_link = 'javascript:doFollowThread(' . $item['id'] . '); return false;';
|
||||
}
|
||||
|
||||
$author = ['uid' => 0, 'id' => $item['author-id'],
|
||||
'network' => $item['author-network'], 'url' => $item['author-link']];
|
||||
$profile_link = Contact::magicLinkByContact($author, $item['author-link']);
|
||||
$sparkle = (strpos($profile_link, 'redir/') === 0);
|
||||
|
||||
$cid = 0;
|
||||
$pcid = $item['author-id'];
|
||||
$network = '';
|
||||
$rel = 0;
|
||||
$condition = ['uid' => local_user(), 'nurl' => Strings::normaliseLink($item['author-link'])];
|
||||
$contact = DBA::selectFirst('contact', ['id', 'network', 'rel'], $condition);
|
||||
if (DBA::isResult($contact)) {
|
||||
$cid = $contact['id'];
|
||||
$network = $contact['network'];
|
||||
$rel = $contact['rel'];
|
||||
}
|
||||
|
||||
if ($sparkle) {
|
||||
$status_link = $profile_link . '/status';
|
||||
$photos_link = str_replace('/profile/', '/photos/', $profile_link);
|
||||
$profile_link = $profile_link . '/profile';
|
||||
}
|
||||
|
||||
if (!empty($pcid)) {
|
||||
$contact_url = 'contact/' . $pcid;
|
||||
$posts_link = $contact_url . '/posts';
|
||||
$block_link = $item['self'] ? '' : $contact_url . '/block?t=' . $formSecurityToken;
|
||||
$ignore_link = $item['self'] ? '' : $contact_url . '/ignore?t=' . $formSecurityToken;
|
||||
}
|
||||
|
||||
if ($cid && !$item['self']) {
|
||||
$contact_url = 'contact/' . $cid;
|
||||
$poke_link = $contact_url . '/poke';
|
||||
$posts_link = $contact_url . '/posts';
|
||||
|
||||
if (in_array($network, [Protocol::ACTIVITYPUB, Protocol::DFRN, Protocol::DIASPORA])) {
|
||||
$pm_url = 'message/new/' . $cid;
|
||||
}
|
||||
}
|
||||
|
||||
if (local_user()) {
|
||||
$menu = [
|
||||
$this->l10n->t('Follow Thread') => $sub_link,
|
||||
$this->l10n->t('View Status') => $status_link,
|
||||
$this->l10n->t('View Profile') => $profile_link,
|
||||
$this->l10n->t('View Photos') => $photos_link,
|
||||
$this->l10n->t('Network Posts') => $posts_link,
|
||||
$this->l10n->t('View Contact') => $contact_url,
|
||||
$this->l10n->t('Send PM') => $pm_url,
|
||||
$this->l10n->t('Block') => $block_link,
|
||||
$this->l10n->t('Ignore') => $ignore_link
|
||||
];
|
||||
|
||||
if (!empty($item['language'])) {
|
||||
$menu[$this->l10n->t('Languages')] = 'javascript:alert(\'' . ModelItem::getLanguageMessage($item) . '\');';
|
||||
}
|
||||
|
||||
if ($network == Protocol::DFRN) {
|
||||
$menu[$this->l10n->t("Poke")] = $poke_link;
|
||||
}
|
||||
|
||||
if ((($cid == 0) || ($rel == Contact::FOLLOWER)) &&
|
||||
in_array($item['network'], Protocol::FEDERATED)) {
|
||||
$menu[$this->l10n->t('Connect/Follow')] = 'follow?url=' . urlencode($item['author-link']) . '&auto=1';
|
||||
}
|
||||
} else {
|
||||
$menu = [$this->l10n->t('View Profile') => $item['author-link']];
|
||||
}
|
||||
|
||||
$args = ['item' => $item, 'menu' => $menu];
|
||||
|
||||
Hook::callAll('item_photo_menu', $args);
|
||||
|
||||
$menu = $args['menu'];
|
||||
|
||||
$o = '';
|
||||
foreach ($menu as $k => $v) {
|
||||
if (strpos($v, 'javascript:') === 0) {
|
||||
$v = substr($v, 11);
|
||||
$o .= '<li role="menuitem"><a onclick="' . $v . '">' . $k . '</a></li>' . PHP_EOL;
|
||||
} elseif ($v) {
|
||||
$o .= '<li role="menuitem"><a href="' . $v . '">' . $k . '</a></li>' . PHP_EOL;
|
||||
}
|
||||
}
|
||||
$this->profiler->stopRecording();
|
||||
return $o;
|
||||
}
|
||||
|
||||
public function visibleActivity($item) {
|
||||
|
||||
if (empty($item['verb']) || $this->activity->isHidden($item['verb'])) {
|
||||
return false;
|
||||
}
|
||||
|
||||
// @TODO below if() block can be rewritten to a single line: $isVisible = allConditionsHere;
|
||||
if ($this->activity->match($item['verb'], Activity::FOLLOW) &&
|
||||
$item['object-type'] === Activity\ObjectType::NOTE &&
|
||||
empty($item['self']) &&
|
||||
$item['uid'] == local_user()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -424,10 +424,12 @@ class BBCode
|
|||
public static function removeAttachment($body, $no_link_desc = false)
|
||||
{
|
||||
return preg_replace_callback("/\s*\[attachment (.*?)\](.*?)\[\/attachment\]\s*/ism",
|
||||
function ($match) use ($no_link_desc) {
|
||||
function ($match) use ($body, $no_link_desc) {
|
||||
$attach_data = self::getAttachmentData($match[0]);
|
||||
if (empty($attach_data['url'])) {
|
||||
return $match[0];
|
||||
} elseif (strpos(str_replace($match[0], '', $body), $attach_data['url']) !== false) {
|
||||
return '';
|
||||
} elseif (empty($attach_data['title']) || $no_link_desc) {
|
||||
return " \n[url]" . $attach_data['url'] . "[/url]\n";
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -23,6 +23,7 @@ namespace Friendica\Core;
|
|||
|
||||
use Friendica\Database\DBA;
|
||||
use Friendica\DI;
|
||||
use Friendica\Model\Contact;
|
||||
use Friendica\Util\Strings;
|
||||
|
||||
/**
|
||||
|
|
@ -257,6 +258,12 @@ class Addon
|
|||
if ($type == "author" || $type == "maintainer") {
|
||||
$r = preg_match("|([^<]+)<([^>]+)>|", $v, $m);
|
||||
if ($r) {
|
||||
if (!empty($m[2]) && empty(parse_url($m[2], PHP_URL_SCHEME))) {
|
||||
$contact = Contact::getByURL($m[2], false);
|
||||
if (!empty($contact['url'])) {
|
||||
$m[2] = $contact['url'];
|
||||
}
|
||||
}
|
||||
$info[$type][] = ['name' => $m[1], 'link' => $m[2]];
|
||||
} else {
|
||||
$info[$type][] = ['name' => $v];
|
||||
|
|
|
|||
|
|
@ -134,6 +134,14 @@ abstract class DI
|
|||
return self::$dice->create(Content\Item::class);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return Content\Conversation
|
||||
*/
|
||||
public static function conversation()
|
||||
{
|
||||
return self::$dice->create(Content\Conversation::class);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return Content\Text\BBCode\Video
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -593,10 +593,7 @@ class DBStructure
|
|||
// Compare it
|
||||
foreach ($definition AS $name => $structure) {
|
||||
$is_new_table = false;
|
||||
$group_by = "";
|
||||
$sql3 = "";
|
||||
$is_unique = false;
|
||||
$temp_name = $name;
|
||||
if (!isset($database[$name])) {
|
||||
$r = self::createTable($name, $structure, $verbose, $action);
|
||||
if (!DBA::isResult($r)) {
|
||||
|
|
@ -604,23 +601,6 @@ class DBStructure
|
|||
}
|
||||
$is_new_table = true;
|
||||
} else {
|
||||
foreach ($structure["indexes"] AS $indexname => $fieldnames) {
|
||||
if (isset($database[$name]["indexes"][$indexname])) {
|
||||
$current_index_definition = implode(",", $database[$name]["indexes"][$indexname]);
|
||||
} else {
|
||||
$current_index_definition = "__NOT_SET__";
|
||||
}
|
||||
$new_index_definition = implode(",", $fieldnames);
|
||||
if ($current_index_definition != $new_index_definition) {
|
||||
if ($fieldnames[0] == "UNIQUE") {
|
||||
$is_unique = true;
|
||||
if ($ignore == "") {
|
||||
$temp_name = "temp-" . $name;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Drop the index if it isn't present in the definition
|
||||
* or the definition differ from current status
|
||||
|
|
@ -636,7 +616,7 @@ class DBStructure
|
|||
if ($current_index_definition != $new_index_definition && substr($indexname, 0, 6) != 'local_') {
|
||||
$sql2 = self::dropIndex($indexname);
|
||||
if ($sql3 == "") {
|
||||
$sql3 = "ALTER" . $ignore . " TABLE `" . $temp_name . "` " . $sql2;
|
||||
$sql3 = "ALTER" . $ignore . " TABLE `" . $name . "` " . $sql2;
|
||||
} else {
|
||||
$sql3 .= ", " . $sql2;
|
||||
}
|
||||
|
|
@ -647,7 +627,7 @@ class DBStructure
|
|||
if (!isset($database[$name]["fields"][$fieldname])) {
|
||||
$sql2 = self::addTableField($fieldname, $parameters);
|
||||
if ($sql3 == "") {
|
||||
$sql3 = "ALTER" . $ignore . " TABLE `" . $temp_name . "` " . $sql2;
|
||||
$sql3 = "ALTER" . $ignore . " TABLE `" . $name . "` " . $sql2;
|
||||
} else {
|
||||
$sql3 .= ", " . $sql2;
|
||||
}
|
||||
|
|
@ -675,7 +655,7 @@ class DBStructure
|
|||
if ($current_field_definition != $new_field_definition) {
|
||||
$sql2 = self::modifyTableField($fieldname, $parameters);
|
||||
if ($sql3 == "") {
|
||||
$sql3 = "ALTER" . $ignore . " TABLE `" . $temp_name . "` " . $sql2;
|
||||
$sql3 = "ALTER" . $ignore . " TABLE `" . $name . "` " . $sql2;
|
||||
} else {
|
||||
$sql3 .= ", " . $sql2;
|
||||
}
|
||||
|
|
@ -700,11 +680,9 @@ class DBStructure
|
|||
if ($current_index_definition != $new_index_definition) {
|
||||
$sql2 = self::createIndex($indexname, $fieldnames);
|
||||
|
||||
// Fetch the "group by" fields for unique indexes
|
||||
$group_by = self::groupBy($fieldnames);
|
||||
if ($sql2 != "") {
|
||||
if ($sql3 == "") {
|
||||
$sql3 = "ALTER" . $ignore . " TABLE `" . $temp_name . "` " . $sql2;
|
||||
$sql3 = "ALTER" . $ignore . " TABLE `" . $name . "` " . $sql2;
|
||||
} else {
|
||||
$sql3 .= ", " . $sql2;
|
||||
}
|
||||
|
|
@ -729,7 +707,7 @@ class DBStructure
|
|||
$sql2 = self::addForeignKey($name, $fieldname, $parameters);
|
||||
|
||||
if ($sql3 == "") {
|
||||
$sql3 = "ALTER" . $ignore . " TABLE `" . $temp_name . "` " . $sql2;
|
||||
$sql3 = "ALTER" . $ignore . " TABLE `" . $name . "` " . $sql2;
|
||||
} else {
|
||||
$sql3 .= ", " . $sql2;
|
||||
}
|
||||
|
|
@ -740,7 +718,7 @@ class DBStructure
|
|||
$sql2 = self::dropForeignKey($param['CONSTRAINT_NAME']);
|
||||
|
||||
if ($sql3 == "") {
|
||||
$sql3 = "ALTER" . $ignore . " TABLE `" . $temp_name . "` " . $sql2;
|
||||
$sql3 = "ALTER" . $ignore . " TABLE `" . $name . "` " . $sql2;
|
||||
} else {
|
||||
$sql3 .= ", " . $sql2;
|
||||
}
|
||||
|
|
@ -752,7 +730,7 @@ class DBStructure
|
|||
$sql2 = "COMMENT = '" . DBA::escape($structurecomment) . "'";
|
||||
|
||||
if ($sql3 == "") {
|
||||
$sql3 = "ALTER" . $ignore . " TABLE `" . $temp_name . "` " . $sql2;
|
||||
$sql3 = "ALTER" . $ignore . " TABLE `" . $name . "` " . $sql2;
|
||||
} else {
|
||||
$sql3 .= ", " . $sql2;
|
||||
}
|
||||
|
|
@ -764,7 +742,7 @@ class DBStructure
|
|||
$sql2 = "ENGINE = '" . DBA::escape($structure['engine']) . "'";
|
||||
|
||||
if ($sql3 == "") {
|
||||
$sql3 = "ALTER" . $ignore . " TABLE `" . $temp_name . "` " . $sql2;
|
||||
$sql3 = "ALTER" . $ignore . " TABLE `" . $name . "` " . $sql2;
|
||||
} else {
|
||||
$sql3 .= ", " . $sql2;
|
||||
}
|
||||
|
|
@ -776,7 +754,7 @@ class DBStructure
|
|||
$sql2 = "DEFAULT COLLATE utf8mb4_general_ci";
|
||||
|
||||
if ($sql3 == "") {
|
||||
$sql3 = "ALTER" . $ignore . " TABLE `" . $temp_name . "` " . $sql2;
|
||||
$sql3 = "ALTER" . $ignore . " TABLE `" . $name . "` " . $sql2;
|
||||
} else {
|
||||
$sql3 .= ", " . $sql2;
|
||||
}
|
||||
|
|
@ -803,7 +781,7 @@ class DBStructure
|
|||
if ($field_definition['Collation'] != $parameters['Collation']) {
|
||||
$sql2 = self::modifyTableField($fieldname, $parameters);
|
||||
if (($sql3 == "") || (substr($sql3, -2, 2) == "; ")) {
|
||||
$sql3 .= "ALTER" . $ignore . " TABLE `" . $temp_name . "` " . $sql2;
|
||||
$sql3 .= "ALTER" . $ignore . " TABLE `" . $name . "` " . $sql2;
|
||||
} else {
|
||||
$sql3 .= ", " . $sql2;
|
||||
}
|
||||
|
|
@ -816,36 +794,8 @@ class DBStructure
|
|||
$sql3 .= ";";
|
||||
}
|
||||
|
||||
$field_list = '';
|
||||
if ($is_unique && $ignore == '') {
|
||||
foreach ($database[$name]["fields"] AS $fieldname => $parameters) {
|
||||
$field_list .= 'ANY_VALUE(`' . $fieldname . '`),';
|
||||
}
|
||||
$field_list = rtrim($field_list, ',');
|
||||
}
|
||||
|
||||
if ($verbose) {
|
||||
// Ensure index conversion to unique removes duplicates
|
||||
if ($is_unique && ($temp_name != $name)) {
|
||||
if ($ignore != "") {
|
||||
echo "SET session old_alter_table=1;\n";
|
||||
} else {
|
||||
echo "DROP TABLE IF EXISTS `" . $temp_name . "`;\n";
|
||||
echo "CREATE TABLE `" . $temp_name . "` LIKE `" . $name . "`;\n";
|
||||
}
|
||||
}
|
||||
|
||||
echo $sql3 . "\n";
|
||||
|
||||
if ($is_unique && ($temp_name != $name)) {
|
||||
if ($ignore != "") {
|
||||
echo "SET session old_alter_table=0;\n";
|
||||
} else {
|
||||
echo "INSERT INTO `" . $temp_name . "` SELECT " . DBA::anyValueFallback($field_list) . " FROM `" . $name . "`" . $group_by . ";\n";
|
||||
echo "DROP TABLE `" . $name . "`;\n";
|
||||
echo "RENAME TABLE `" . $temp_name . "` TO `" . $name . "`;\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ($action) {
|
||||
|
|
@ -853,50 +803,10 @@ class DBStructure
|
|||
DI::config()->set('system', 'maintenance_reason', DI::l10n()->t('%s: updating %s table.', DateTimeFormat::utcNow() . ' ' . date('e'), $name));
|
||||
}
|
||||
|
||||
// Ensure index conversion to unique removes duplicates
|
||||
if ($is_unique && ($temp_name != $name)) {
|
||||
if ($ignore != "") {
|
||||
DBA::e("SET session old_alter_table=1;");
|
||||
} else {
|
||||
$r = DBA::e("DROP TABLE IF EXISTS `" . $temp_name . "`;");
|
||||
if (!DBA::isResult($r)) {
|
||||
$errors .= self::printUpdateError($sql3);
|
||||
return $errors;
|
||||
}
|
||||
|
||||
$r = DBA::e("CREATE TABLE `" . $temp_name . "` LIKE `" . $name . "`;");
|
||||
if (!DBA::isResult($r)) {
|
||||
$errors .= self::printUpdateError($sql3);
|
||||
return $errors;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$r = DBA::e($sql3);
|
||||
if (!DBA::isResult($r)) {
|
||||
$errors .= self::printUpdateError($sql3);
|
||||
}
|
||||
if ($is_unique && ($temp_name != $name)) {
|
||||
if ($ignore != "") {
|
||||
DBA::e("SET session old_alter_table=0;");
|
||||
} else {
|
||||
$r = DBA::e("INSERT INTO `" . $temp_name . "` SELECT " . $field_list . " FROM `" . $name . "`" . $group_by . ";");
|
||||
if (!DBA::isResult($r)) {
|
||||
$errors .= self::printUpdateError($sql3);
|
||||
return $errors;
|
||||
}
|
||||
$r = DBA::e("DROP TABLE `" . $name . "`;");
|
||||
if (!DBA::isResult($r)) {
|
||||
$errors .= self::printUpdateError($sql3);
|
||||
return $errors;
|
||||
}
|
||||
$r = DBA::e("RENAME TABLE `" . $temp_name . "` TO `" . $name . "`;");
|
||||
if (!DBA::isResult($r)) {
|
||||
$errors .= self::printUpdateError($sql3);
|
||||
return $errors;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1060,37 +970,6 @@ class DBStructure
|
|||
return sprintf("DROP FOREIGN KEY `%s`", $constraint);
|
||||
}
|
||||
|
||||
/**
|
||||
* Constructs a GROUP BY clause from a UNIQUE index definition.
|
||||
*
|
||||
* @param array $fieldnames
|
||||
* @return string
|
||||
*/
|
||||
private static function groupBy(array $fieldnames)
|
||||
{
|
||||
if ($fieldnames[0] != "UNIQUE") {
|
||||
return "";
|
||||
}
|
||||
|
||||
array_shift($fieldnames);
|
||||
|
||||
$names = "";
|
||||
foreach ($fieldnames AS $fieldname) {
|
||||
if ($names != "") {
|
||||
$names .= ",";
|
||||
}
|
||||
|
||||
if (preg_match('|(.+)\((\d+)\)|', $fieldname, $matches)) {
|
||||
$names .= "`" . DBA::escape($matches[1]) . "`";
|
||||
} else {
|
||||
$names .= "`" . DBA::escape($fieldname) . "`";
|
||||
}
|
||||
}
|
||||
|
||||
$sql = sprintf(" GROUP BY %s", $names);
|
||||
return $sql;
|
||||
}
|
||||
|
||||
/**
|
||||
* Renames columns or the primary key of a table
|
||||
*
|
||||
|
|
|
|||
|
|
@ -119,7 +119,8 @@ class APContact
|
|||
*/
|
||||
public static function getByURL($url, $update = null)
|
||||
{
|
||||
if (empty($url)) {
|
||||
if (empty($url) || Network::isUrlBlocked($url)) {
|
||||
Logger::info('Domain is blocked', ['url' => $url]);
|
||||
return [];
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1445,11 +1445,11 @@ class Contact
|
|||
if ($thread_mode) {
|
||||
$items = Post::toArray(Post::selectForUser(local_user(), ['uri-id', 'gravity', 'parent-uri-id', 'thr-parent-id', 'author-id'], $condition, $params));
|
||||
|
||||
$o .= conversation($a, $items, 'contacts', $update, false, 'commented', local_user());
|
||||
$o .= DI::conversation()->create($items, 'contacts', $update, false, 'commented', local_user());
|
||||
} else {
|
||||
$items = Post::toArray(Post::selectForUser(local_user(), Item::DISPLAY_FIELDLIST, $condition, $params));
|
||||
|
||||
$o .= conversation($a, $items, 'contact-posts', $update);
|
||||
$o .= DI::conversation()->create($items, 'contact-posts', $update);
|
||||
}
|
||||
|
||||
if (!$update) {
|
||||
|
|
|
|||
|
|
@ -74,9 +74,7 @@ class Mail
|
|||
return false;
|
||||
}
|
||||
|
||||
if ($msg['reply']) {
|
||||
$reply = DBA::selectFirst('mail', ['uri', 'uri-id'], ['parent-uri' => $msg['parent-uri'], 'reply' => false]);
|
||||
|
||||
if ($msg['reply'] && DBA::isResult($reply = DBA::selectFirst('mail', ['uri', 'uri-id'], ['parent-uri' => $msg['parent-uri'], 'reply' => false]))) {
|
||||
$msg['thr-parent'] = $reply['uri'];
|
||||
$msg['thr-parent-id'] = $reply['uri-id'];
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -25,7 +25,6 @@ use Friendica\DI;
|
|||
use Friendica\Core\Renderer;
|
||||
use Friendica\Core\Theme;
|
||||
use Friendica\Module\BaseAdmin;
|
||||
use Friendica\Model\Log\ParsedLogIterator;
|
||||
use Psr\Log\LogLevel;
|
||||
|
||||
class View extends BaseAdmin
|
||||
|
|
@ -68,7 +67,7 @@ class View extends BaseAdmin
|
|||
}
|
||||
|
||||
if (!file_exists($f)) {
|
||||
$error = DI::l10n()->t('Error trying to open <strong>%1$s</strong> log file.\r\n<br/>Check to see if file %1$s exist and is readable.', $f);
|
||||
$error = DI::l10n()->t('Error trying to open <strong>%1$s</strong> log file.<br/>Check to see if file %1$s exist and is readable.', $f);
|
||||
} else {
|
||||
try {
|
||||
$data = DI::parsedLogIterator()
|
||||
|
|
@ -77,12 +76,33 @@ class View extends BaseAdmin
|
|||
->withFilters($filters)
|
||||
->withSearch($search);
|
||||
} catch (Exception $e) {
|
||||
$error = DI::l10n()->t('Couldn\'t open <strong>%1$s</strong> log file.\r\n<br/>Check to see if file %1$s is readable.', $f);
|
||||
$error = DI::l10n()->t('Couldn\'t open <strong>%1$s</strong> log file.<br/>Check to see if file %1$s is readable.', $f);
|
||||
}
|
||||
}
|
||||
return Renderer::replaceMacros($t, [
|
||||
'$title' => DI::l10n()->t('Administration'),
|
||||
'$page' => DI::l10n()->t('View Logs'),
|
||||
'$title' => DI::l10n()->t('Administration'),
|
||||
'$page' => DI::l10n()->t('View Logs'),
|
||||
'$l10n' => [
|
||||
'Search' => DI::l10n()->t('Search'),
|
||||
'Search_in_logs' => DI::l10n()->t('Search in logs'),
|
||||
'Show_all' => DI::l10n()->t('Show all'),
|
||||
'Date' => DI::l10n()->t('Date'),
|
||||
'Level' => DI::l10n()->t('Level'),
|
||||
'Context' => DI::l10n()->t('Context'),
|
||||
'Message' => DI::l10n()->t('Message'),
|
||||
'ALL' => DI::l10n()->t('ALL'),
|
||||
'View_details' => DI::l10n()->t('View details'),
|
||||
'Click_to_view_details' => DI::l10n()->t('Click to view details'),
|
||||
'Event_details' => DI::l10n()->t('Event details'),
|
||||
'Data' => DI::l10n()->t('Data'),
|
||||
'Source' => DI::l10n()->t('Source'),
|
||||
'File' => DI::l10n()->t('File'),
|
||||
'Line' => DI::l10n()->t('Line'),
|
||||
'Function' => DI::l10n()->t('Function'),
|
||||
'UID' => DI::l10n()->t('UID'),
|
||||
'Process_ID' => DI::l10n()->t('Process ID'),
|
||||
'Close' => DI::l10n()->t('Close'),
|
||||
],
|
||||
'$data' => $data,
|
||||
'$q' => $search,
|
||||
'$filters' => $filters,
|
||||
|
|
|
|||
|
|
@ -38,7 +38,6 @@ class Bookmarklet extends BaseModule
|
|||
{
|
||||
$_GET['mode'] = 'minimal';
|
||||
|
||||
$app = DI::app();
|
||||
$config = DI::config();
|
||||
|
||||
if (!local_user()) {
|
||||
|
|
@ -61,7 +60,7 @@ class Bookmarklet extends BaseModule
|
|||
'title' => trim($_REQUEST['title'] ?? '', '*'),
|
||||
'content' => $content
|
||||
];
|
||||
$output = status_editor($app, $x, 0, false);
|
||||
$output = DI::conversation()->statusEditor($x, 0, false);
|
||||
$output .= "<script>window.resizeTo(800,550);</script>";
|
||||
} else {
|
||||
$output = '<h2>' . DI::l10n()->t('The post was created') . '</h2>';
|
||||
|
|
|
|||
|
|
@ -951,7 +951,7 @@ class Contact extends BaseModule
|
|||
if (!$update) {
|
||||
// We need the editor here to be able to reshare an item.
|
||||
if (local_user()) {
|
||||
$o = status_editor($a, [], 0, true);
|
||||
$o = DI::conversation()->statusEditor([], 0, true);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -127,7 +127,7 @@ class Community extends BaseModule
|
|||
|
||||
// We need the editor here to be able to reshare an item.
|
||||
if (Session::isAuthenticated()) {
|
||||
$o .= status_editor(DI::app(), [], 0, true);
|
||||
$o .= DI::conversation()->statusEditor([], 0, true);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -138,7 +138,7 @@ class Community extends BaseModule
|
|||
return $o;
|
||||
}
|
||||
|
||||
$o .= conversation(DI::app(), $items, 'community', false, false, 'commented', local_user());
|
||||
$o .= DI::conversation()->create($items, 'community', false, false, 'commented', local_user());
|
||||
|
||||
$pager = new BoundariesPager(
|
||||
DI::l10n(),
|
||||
|
|
|
|||
|
|
@ -145,7 +145,7 @@ class Network extends BaseModule
|
|||
'content' => $content,
|
||||
];
|
||||
|
||||
$o .= status_editor($a, $x);
|
||||
$o .= DI::conversation()->statusEditor($x);
|
||||
}
|
||||
|
||||
if (self::$groupId) {
|
||||
|
|
@ -178,7 +178,7 @@ class Network extends BaseModule
|
|||
$ordering = '`commented`';
|
||||
}
|
||||
|
||||
$o .= conversation(DI::app(), $items, 'network', false, false, $ordering, local_user());
|
||||
$o .= DI::conversation()->create($items, 'network', false, false, $ordering, local_user());
|
||||
|
||||
if (DI::pConfig()->get(local_user(), 'system', 'infinite_scroll')) {
|
||||
$o .= HTML::scrollLoader();
|
||||
|
|
|
|||
|
|
@ -132,7 +132,7 @@ class Status extends BaseProfile
|
|||
'profile_uid' => $profile['uid'],
|
||||
];
|
||||
|
||||
$o .= status_editor($a, $x);
|
||||
$o .= DI::conversation()->statusEditor($x);
|
||||
}
|
||||
|
||||
// Get permissions SQL - if $remote_contact is true, our remote user has been pre-verified and we already have fetched his/her groups
|
||||
|
|
@ -224,7 +224,7 @@ class Status extends BaseProfile
|
|||
$items = array_merge($items, $pinned);
|
||||
}
|
||||
|
||||
$o .= conversation($a, $items, 'profile', false, false, 'pinned_received', $profile['uid']);
|
||||
$o .= DI::conversation()->create($items, 'profile', false, false, 'pinned_received', $profile['uid']);
|
||||
|
||||
$o .= $pager->renderMinimal(count($items));
|
||||
|
||||
|
|
|
|||
|
|
@ -79,7 +79,7 @@ class Filed extends BaseSearch
|
|||
|
||||
$items = Post::toArray(Post::selectForUser(local_user(), Item::DISPLAY_FIELDLIST, $item_condition, $item_params));
|
||||
|
||||
$o .= conversation(DI::app(), $items, 'filed', false, false, '', local_user());
|
||||
$o .= DI::conversation()->create($items, 'filed', false, false, '', local_user());
|
||||
|
||||
if (DI::pConfig()->get(local_user(), 'system', 'infinite_scroll')) {
|
||||
$o .= HTML::scrollLoader();
|
||||
|
|
|
|||
|
|
@ -200,7 +200,7 @@ class Index extends BaseSearch
|
|||
|
||||
Logger::info('Start Conversation.', ['q' => $search]);
|
||||
|
||||
$o .= conversation(DI::app(), $items, 'search', false, false, 'commented', local_user());
|
||||
$o .= DI::conversation()->create($items, 'search', false, false, 'commented', local_user());
|
||||
|
||||
if (DI::pConfig()->get(local_user(), 'system', 'infinite_scroll')) {
|
||||
$o .= HTML::scrollLoader();
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ class Community extends CommunityModule
|
|||
|
||||
$o = '';
|
||||
if (!empty($_GET['force']) || !DI::pConfig()->get(local_user(), 'system', 'no_auto_update')) {
|
||||
$o = conversation(DI::app(), self::getItems(), 'community', true, false, 'commented', local_user());
|
||||
$o = DI::conversation()->create(self::getItems(), 'community', true, false, 'commented', local_user());
|
||||
}
|
||||
|
||||
System::htmlUpdateExit($o);
|
||||
|
|
|
|||
|
|
@ -53,7 +53,7 @@ class Network extends NetworkModule
|
|||
$ordering = '`commented`';
|
||||
}
|
||||
|
||||
$o = conversation(DI::app(), $items, 'network', $profile_uid, false, $ordering, local_user());
|
||||
$o = DI::conversation()->create($items, 'network', $profile_uid, false, $ordering, local_user());
|
||||
}
|
||||
|
||||
System::htmlUpdateExit($o);
|
||||
|
|
|
|||
|
|
@ -115,7 +115,7 @@ class Profile extends BaseModule
|
|||
|
||||
$items = DBA::toArray($items_stmt);
|
||||
|
||||
$o .= conversation($a, $items, 'profile', $a->getProfileOwner(), false, 'received', $a->getProfileOwner());
|
||||
$o .= DI::conversation()->create($items, 'profile', $a->getProfileOwner(), false, 'received', $a->getProfileOwner());
|
||||
|
||||
System::htmlUpdateExit($o);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -231,6 +231,11 @@ class Probe
|
|||
}
|
||||
}
|
||||
|
||||
if (Network::isUrlBlocked($host_url)) {
|
||||
Logger::info('Domain is blocked', ['url' => $host]);
|
||||
return [];
|
||||
}
|
||||
|
||||
self::$baseurl = $host_url;
|
||||
|
||||
Logger::info('Probing successful', ['host' => $host]);
|
||||
|
|
@ -625,6 +630,11 @@ class Probe
|
|||
*/
|
||||
private static function getWebfinger(string $template, string $type, string $uri, string $addr)
|
||||
{
|
||||
if (Network::isUrlBlocked($template)) {
|
||||
Logger::info('Domain is blocked', ['url' => $template]);
|
||||
return [];
|
||||
}
|
||||
|
||||
// First try the address because this is the primary purpose of webfinger
|
||||
if (!empty($addr)) {
|
||||
$detected = $addr;
|
||||
|
|
|
|||
|
|
@ -105,7 +105,7 @@ class Post
|
|||
// Only add will be displayed
|
||||
if ($item['network'] === Protocol::MAIL && local_user() != $item['uid']) {
|
||||
continue;
|
||||
} elseif (!visible_activity($item)) {
|
||||
} elseif (!DI::contentItem()->visibleActivity($item)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
|
|
@ -279,7 +279,7 @@ class Post
|
|||
foreach ($response_verbs as $value => $verb) {
|
||||
$responses[$verb] = [
|
||||
'self' => $conv_responses[$verb][$item['uri-id']]['self'] ?? 0,
|
||||
'output' => !empty($conv_responses[$verb][$item['uri-id']]) ? format_activity($conv_responses[$verb][$item['uri-id']]['links'], $verb, $item['uri-id']) : '',
|
||||
'output' => !empty($conv_responses[$verb][$item['uri-id']]) ? DI::conversation()->formatActivity($conv_responses[$verb][$item['uri-id']]['links'], $verb, $item['uri-id']) : '',
|
||||
];
|
||||
}
|
||||
|
||||
|
|
@ -363,7 +363,7 @@ class Post
|
|||
$shiny = 'shiny';
|
||||
}
|
||||
|
||||
localize_item($item);
|
||||
DI::contentItem()->localize($item);
|
||||
|
||||
$body_html = Item::prepareBody($item, true);
|
||||
|
||||
|
|
@ -459,7 +459,7 @@ class Post
|
|||
'vwall' => DI::l10n()->t('via Wall-To-Wall:'),
|
||||
'profile_url' => $profile_link,
|
||||
'name' => $profile_name,
|
||||
'item_photo_menu_html' => item_photo_menu($item, $formSecurityToken),
|
||||
'item_photo_menu_html' => DI::contentItem()->photoMenu($item, $formSecurityToken),
|
||||
'thumb' => DI::baseUrl()->remove(Contact::getAvatarUrlForUrl($item['author-link'], $item['uid'], Proxy::SIZE_THUMB)),
|
||||
'osparkle' => $osparkle,
|
||||
'sparkle' => $sparkle,
|
||||
|
|
|
|||
|
|
@ -1146,27 +1146,31 @@ class Feed
|
|||
if ($item['gravity'] != GRAVITY_PARENT) {
|
||||
$parent = Post::selectFirst(['guid', 'author-link', 'owner-link'], ['id' => $item['parent']]);
|
||||
|
||||
$thrparent = Post::selectFirst(['guid', 'author-link', 'owner-link', 'plink'], ['uid' => $owner["uid"], 'uri' => $item['thr-parent']]);
|
||||
$thrparent = Post::selectFirst(['guid', 'author-link', 'owner-link', 'plink'], ['uid' => $owner['uid'], 'uri' => $item['thr-parent']]);
|
||||
|
||||
if (DBA::isResult($thrparent)) {
|
||||
$mentioned[$thrparent["author-link"]] = $thrparent["author-link"];
|
||||
$mentioned[$thrparent["owner-link"]] = $thrparent["owner-link"];
|
||||
$parent_plink = $thrparent["plink"];
|
||||
$mentioned[$thrparent['author-link']] = $thrparent['author-link'];
|
||||
$mentioned[$thrparent['owner-link']] = $thrparent['owner-link'];
|
||||
$parent_plink = $thrparent['plink'];
|
||||
} elseif (DBA::isResult($parent)) {
|
||||
$mentioned[$parent['author-link']] = $parent['author-link'];
|
||||
$mentioned[$parent['owner-link']] = $parent['owner-link'];
|
||||
$parent_plink = DI::baseUrl() . '/display/' . $parent['guid'];
|
||||
} else {
|
||||
$mentioned[$parent["author-link"]] = $parent["author-link"];
|
||||
$mentioned[$parent["owner-link"]] = $parent["owner-link"];
|
||||
$parent_plink = DI::baseUrl()."/display/".$parent["guid"];
|
||||
DI::logger()->notice('Missing parent and thr-parent for child item', ['item' => $item]);
|
||||
}
|
||||
|
||||
$attributes = [
|
||||
"ref" => $item['thr-parent'],
|
||||
"href" => $parent_plink];
|
||||
XML::addElement($doc, $entry, "thr:in-reply-to", "", $attributes);
|
||||
if (isset($parent_plink)) {
|
||||
$attributes = [
|
||||
'ref' => $item['thr-parent'],
|
||||
'href' => $parent_plink];
|
||||
XML::addElement($doc, $entry, 'thr:in-reply-to', '', $attributes);
|
||||
|
||||
$attributes = [
|
||||
"rel" => "related",
|
||||
"href" => $parent_plink];
|
||||
XML::addElement($doc, $entry, "link", "", $attributes);
|
||||
$attributes = [
|
||||
'rel' => 'related',
|
||||
'href' => $parent_plink];
|
||||
XML::addElement($doc, $entry, 'link', '', $attributes);
|
||||
}
|
||||
}
|
||||
|
||||
// uri-id isn't present for follow entry pseudo-items
|
||||
|
|
@ -1177,7 +1181,7 @@ class Feed
|
|||
|
||||
foreach ($tags as $tag) {
|
||||
if ($tag['type'] == Tag::HASHTAG) {
|
||||
XML::addElement($doc, $entry, "category", "", ["term" => $tag['name']]);
|
||||
XML::addElement($doc, $entry, 'category', '', ['term' => $tag['name']]);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1931,27 +1931,31 @@ class OStatus
|
|||
if ($item['gravity'] != GRAVITY_PARENT) {
|
||||
$parent = Post::selectFirst(['guid', 'author-link', 'owner-link'], ['id' => $item['parent']]);
|
||||
|
||||
$thrparent = Post::selectFirst(['guid', 'author-link', 'owner-link', 'plink'], ['uid' => $owner["uid"], 'uri' => $item['thr-parent']]);
|
||||
$thrparent = Post::selectFirst(['guid', 'author-link', 'owner-link', 'plink'], ['uid' => $owner['uid'], 'uri' => $item['thr-parent']]);
|
||||
|
||||
if (DBA::isResult($thrparent)) {
|
||||
$mentioned[$thrparent["author-link"]] = $thrparent["author-link"];
|
||||
$mentioned[$thrparent["owner-link"]] = $thrparent["owner-link"];
|
||||
$parent_plink = $thrparent["plink"];
|
||||
$mentioned[$thrparent['author-link']] = $thrparent['author-link'];
|
||||
$mentioned[$thrparent['owner-link']] = $thrparent['owner-link'];
|
||||
$parent_plink = $thrparent['plink'];
|
||||
} elseif (DBA::isResult($parent)) {
|
||||
$mentioned[$parent['author-link']] = $parent['author-link'];
|
||||
$mentioned[$parent['owner-link']] = $parent['owner-link'];
|
||||
$parent_plink = DI::baseUrl() . '/display/' . $parent['guid'];
|
||||
} else {
|
||||
$mentioned[$parent["author-link"]] = $parent["author-link"];
|
||||
$mentioned[$parent["owner-link"]] = $parent["owner-link"];
|
||||
$parent_plink = DI::baseUrl()."/display/".$parent["guid"];
|
||||
DI::logger()->notice('Missing parent and thr-parent for child item', ['item' => $item]);
|
||||
}
|
||||
|
||||
$attributes = [
|
||||
"ref" => $item['thr-parent'],
|
||||
"href" => $parent_plink];
|
||||
XML::addElement($doc, $entry, "thr:in-reply-to", "", $attributes);
|
||||
if (isset($parent_plink)) {
|
||||
$attributes = [
|
||||
'ref' => $item['thr-parent'],
|
||||
'href' => $parent_plink];
|
||||
XML::addElement($doc, $entry, 'thr:in-reply-to', '', $attributes);
|
||||
|
||||
$attributes = [
|
||||
"rel" => "related",
|
||||
"href" => $parent_plink];
|
||||
XML::addElement($doc, $entry, "link", "", $attributes);
|
||||
$attributes = [
|
||||
'rel' => 'related',
|
||||
'href' => $parent_plink];
|
||||
XML::addElement($doc, $entry, 'link', '', $attributes);
|
||||
}
|
||||
}
|
||||
|
||||
if (intval($item['parent']) > 0) {
|
||||
|
|
|
|||
|
|
@ -49,7 +49,7 @@ class Security
|
|||
return true;
|
||||
}
|
||||
|
||||
if (!empty(Session::getRemoteContactID($owner))) {
|
||||
if (!empty($cid = Session::getRemoteContactID($owner))) {
|
||||
// use remembered decision and avoid a DB lookup for each and every display item
|
||||
// DO NOT use this function if there are going to be multiple owners
|
||||
// We have a contact-id for an authenticated remote user, this block determines if the contact
|
||||
|
|
@ -60,22 +60,19 @@ class Security
|
|||
} elseif ($verified === 1) {
|
||||
return false;
|
||||
} else {
|
||||
$cid = Session::getRemoteContactID($owner);
|
||||
if (!$cid) {
|
||||
$user = User::getById($owner);
|
||||
if (!$user || $user['blockwall']) {
|
||||
$verified = 1;
|
||||
return false;
|
||||
}
|
||||
|
||||
$r = q("SELECT `contact`.*, `user`.`page-flags` FROM `contact` INNER JOIN `user` on `user`.`uid` = `contact`.`uid`
|
||||
WHERE `contact`.`uid` = %d AND `contact`.`id` = %d AND `contact`.`blocked` = 0 AND `contact`.`pending` = 0
|
||||
AND `user`.`blockwall` = 0 AND `readonly` = 0 AND (`contact`.`rel` IN (%d , %d) OR `user`.`page-flags` = %d) LIMIT 1",
|
||||
intval($owner),
|
||||
intval($cid),
|
||||
intval(Contact::SHARING),
|
||||
intval(Contact::FRIEND),
|
||||
intval(User::PAGE_FLAGS_COMMUNITY)
|
||||
);
|
||||
|
||||
if (DBA::isResult($r)) {
|
||||
$contact = Contact::getById($cid);
|
||||
if ($contact || $contact['blocked'] || $contact['readonly'] || $contact['pending']) {
|
||||
$verified = 1;
|
||||
return false;
|
||||
}
|
||||
|
||||
if (in_array($contact['rel'], [Contact::SHARING, Contact::FRIEND]) || ($user['page-flags'] == User::PAGE_FLAGS_COMMUNITY)) {
|
||||
$verified = 2;
|
||||
return true;
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -95,6 +95,9 @@ class ReversedFileReader implements \Iterator
|
|||
if ($this->pos == 0) {
|
||||
return array_pop($buffer);
|
||||
}
|
||||
if (is_null($buffer)) {
|
||||
return null;
|
||||
}
|
||||
if (count($buffer) > 1) {
|
||||
return array_pop($buffer);
|
||||
}
|
||||
|
|
|
|||
0
tests/datasets/log/empty.friendica.log.txt
Normal file
0
tests/datasets/log/empty.friendica.log.txt
Normal file
|
|
@ -3510,18 +3510,6 @@ class ApiTest extends FixtureTest
|
|||
$this->markTestIncomplete();
|
||||
}
|
||||
|
||||
/**
|
||||
* Test the api_share_as_retweet() function.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function testApiShareAsRetweet()
|
||||
{
|
||||
$item = ['body' => '', 'author-id' => 1, 'owner-id' => 1];
|
||||
$result = api_share_as_retweet($item);
|
||||
self::assertFalse($result);
|
||||
}
|
||||
|
||||
/**
|
||||
* Test the api_share_as_retweet() function with a valid item.
|
||||
*
|
||||
|
|
|
|||
|
|
@ -228,14 +228,14 @@ class BBCodeTest extends MockedTest
|
|||
'text' => '[size=xx-large]Test text[/size]',
|
||||
'try_oembed' => false,
|
||||
// Triggers the diaspora compatible output
|
||||
'simpleHtml' => 3,
|
||||
'simpleHtml' => BBCode::DIASPORA,
|
||||
],
|
||||
'bug-2199-diaspora-no-numeric-size' => [
|
||||
'expectedHtml' => 'Test text',
|
||||
'text' => '[size=24]Test text[/size]',
|
||||
'try_oembed' => false,
|
||||
// Triggers the diaspora compatible output
|
||||
'simpleHtml' => 3,
|
||||
'simpleHtml' => BBCode::DIASPORA,
|
||||
],
|
||||
'bug-7665-audio-tag' => [
|
||||
'expectedHtml' => '<audio src="http://www.cendrones.fr/colloque2017/jonathanbocquet.mp3" controls><a href="http://www.cendrones.fr/colloque2017/jonathanbocquet.mp3">http://www.cendrones.fr/colloque2017/jonathanbocquet.mp3</a></audio>',
|
||||
|
|
@ -282,6 +282,16 @@ class BBCodeTest extends MockedTest
|
|||
'expectedHTML' => '<span class="arbitrary classes">Test</span>',
|
||||
'text' => '[class=arbitrary classes]Test[/class]',
|
||||
],
|
||||
'bug-10772-duplicated-links' => [
|
||||
'expectedHTML' => 'Jetzt wird mir klar, warum Kapitalisten jedes Mal durchdrehen wenn Marx und das Kapital ins Gespräch kommt. Soziopathen.<br>Karl Marx - Die ursprüngliche Akkumulation<br><a href="https://wohlstandfueralle.podigee.io/107-urspruengliche-akkumulation" target="_blank" rel="noopener noreferrer">https://wohlstandfueralle.podigee.io/107-urspruengliche-akkumulation</a><br>#Podcast #Kapitalismus',
|
||||
'text' => "Jetzt wird mir klar, warum Kapitalisten jedes Mal durchdrehen wenn Marx und das Kapital ins Gespräch kommt. Soziopathen.
|
||||
Karl Marx - Die ursprüngliche Akkumulation
|
||||
[url=https://wohlstandfueralle.podigee.io/107-urspruengliche-akkumulation]https://wohlstandfueralle.podigee.io/107-urspruengliche-akkumulation[/url]
|
||||
#[url=https://horche.demkontinuum.de/search?tag=Podcast]Podcast[/url] #[url=https://horche.demkontinuum.de/search?tag=Kapitalismus]Kapitalismus[/url]
|
||||
[attachment type='link' url='https://wohlstandfueralle.podigee.io/107-urspruengliche-akkumulation' title='Ep. 107: Karl Marx #8 - Die ursprüngliche Akkumulation' publisher_name='Wohlstand für Alle' preview='https://images.podigee-cdn.net/0x,s6LXshYO7uhG23H431B30t4hxj1bQuzlTsUlze0F_-H8=/https://cdn.podigee.com/uploads/u8126/bd5fe4f4-38b7-4f3f-b269-6a0080144635.jpg']Wie der Kapitalismus funktioniert und inwieweit Menschen darin ausgebeutet werden, haben wir bereits besprochen. Immer wieder verweisen wir auch darauf, dass der Kapitalismus nicht immer schon existierte, sondern historisiert werden muss.[/attachment]",
|
||||
'try_oembed' => false,
|
||||
'simpleHtml' => BBCode::TWITTER,
|
||||
],
|
||||
];
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@
|
|||
*
|
||||
*/
|
||||
|
||||
namespace Friendica\Test\src\Object\Log;
|
||||
namespace Friendica\Test\src\Model\Log;
|
||||
|
||||
use Friendica\Util\ReversedFileReader;
|
||||
use Friendica\Model\Log\ParsedLogIterator;
|
||||
|
|
@ -145,4 +145,16 @@ class ParsedLogIteratorTest extends TestCase
|
|||
$pls = iterator_to_array($this->pli, false);
|
||||
self::assertCount(0, $pls);
|
||||
}
|
||||
|
||||
public function testEmptyLogFile()
|
||||
{
|
||||
$logfile = dirname(__DIR__) . '/../../datasets/log/empty.friendica.log.txt';
|
||||
|
||||
$reader = new ReversedFileReader();
|
||||
$pli = new ParsedLogIterator($reader);
|
||||
$pli->open($logfile);
|
||||
|
||||
$pls = iterator_to_array($pli, false);
|
||||
self::assertCount(0, $pls);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: 2021.12-dev\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-09-26 03:07+0000\n"
|
||||
"POT-Creation-Date: 2021-10-02 11:56+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
|
@ -37,7 +37,7 @@ msgstr[1] ""
|
|||
msgid "Monthly posting limit of %d post reached. The post was rejected."
|
||||
msgstr ""
|
||||
|
||||
#: include/api.php:4437 mod/photos.php:89 mod/photos.php:198 mod/photos.php:626
|
||||
#: include/api.php:4429 mod/photos.php:89 mod/photos.php:198 mod/photos.php:626
|
||||
#: mod/photos.php:1035 mod/photos.php:1052 mod/photos.php:1599
|
||||
#: src/Model/User.php:1169 src/Model/User.php:1177 src/Model/User.php:1185
|
||||
#: src/Module/Settings/Profile/Photo/Crop.php:101
|
||||
|
|
@ -49,458 +49,6 @@ msgstr ""
|
|||
msgid "Profile Photos"
|
||||
msgstr ""
|
||||
|
||||
#: include/conversation.php:110
|
||||
#, php-format
|
||||
msgid "%1$s poked %2$s"
|
||||
msgstr ""
|
||||
|
||||
#: include/conversation.php:143 src/Model/Item.php:2622
|
||||
msgid "event"
|
||||
msgstr ""
|
||||
|
||||
#: include/conversation.php:146 include/conversation.php:155 mod/tagger.php:90
|
||||
msgid "status"
|
||||
msgstr ""
|
||||
|
||||
#: include/conversation.php:151 mod/tagger.php:90 src/Model/Item.php:2624
|
||||
msgid "photo"
|
||||
msgstr ""
|
||||
|
||||
#: include/conversation.php:165 mod/tagger.php:123
|
||||
#, php-format
|
||||
msgid "%1$s tagged %2$s's %3$s with %4$s"
|
||||
msgstr ""
|
||||
|
||||
#: include/conversation.php:476 mod/photos.php:1461 src/Object/Post.php:227
|
||||
msgid "Select"
|
||||
msgstr ""
|
||||
|
||||
#: include/conversation.php:477 mod/photos.php:1462 mod/settings.php:573
|
||||
#: src/Module/Admin/Users/Active.php:139 src/Module/Admin/Users/Blocked.php:140
|
||||
#: src/Module/Admin/Users/Index.php:153 src/Module/Contact.php:865
|
||||
#: src/Module/Contact.php:1150
|
||||
msgid "Delete"
|
||||
msgstr ""
|
||||
|
||||
#: include/conversation.php:512 src/Object/Post.php:454 src/Object/Post.php:455
|
||||
#, php-format
|
||||
msgid "View %s's profile @ %s"
|
||||
msgstr ""
|
||||
|
||||
#: include/conversation.php:525 src/Object/Post.php:442
|
||||
msgid "Categories:"
|
||||
msgstr ""
|
||||
|
||||
#: include/conversation.php:526 src/Object/Post.php:443
|
||||
msgid "Filed under:"
|
||||
msgstr ""
|
||||
|
||||
#: include/conversation.php:533 src/Object/Post.php:468
|
||||
#, php-format
|
||||
msgid "%s from %s"
|
||||
msgstr ""
|
||||
|
||||
#: include/conversation.php:548
|
||||
msgid "View in context"
|
||||
msgstr ""
|
||||
|
||||
#: include/conversation.php:550 include/conversation.php:1155
|
||||
#: mod/editpost.php:107 mod/message.php:203 mod/message.php:368
|
||||
#: mod/photos.php:1526 mod/wallmessage.php:155 src/Module/Item/Compose.php:165
|
||||
#: src/Object/Post.php:502
|
||||
msgid "Please wait"
|
||||
msgstr ""
|
||||
|
||||
#: include/conversation.php:614
|
||||
msgid "remove"
|
||||
msgstr ""
|
||||
|
||||
#: include/conversation.php:618
|
||||
msgid "Delete Selected Items"
|
||||
msgstr ""
|
||||
|
||||
#: include/conversation.php:656 include/conversation.php:659
|
||||
#: include/conversation.php:662 include/conversation.php:665
|
||||
#, php-format
|
||||
msgid "You had been addressed (%s)."
|
||||
msgstr ""
|
||||
|
||||
#: include/conversation.php:668
|
||||
#, php-format
|
||||
msgid "You are following %s."
|
||||
msgstr ""
|
||||
|
||||
#: include/conversation.php:671
|
||||
msgid "Tagged"
|
||||
msgstr ""
|
||||
|
||||
#: include/conversation.php:684 include/conversation.php:1022
|
||||
#: include/conversation.php:1060
|
||||
#, php-format
|
||||
msgid "%s reshared this."
|
||||
msgstr ""
|
||||
|
||||
#: include/conversation.php:686
|
||||
msgid "Reshared"
|
||||
msgstr ""
|
||||
|
||||
#: include/conversation.php:686
|
||||
#, php-format
|
||||
msgid "Reshared by %s <%s>"
|
||||
msgstr ""
|
||||
|
||||
#: include/conversation.php:689
|
||||
#, php-format
|
||||
msgid "%s is participating in this thread."
|
||||
msgstr ""
|
||||
|
||||
#: include/conversation.php:692
|
||||
msgid "Stored"
|
||||
msgstr ""
|
||||
|
||||
#: include/conversation.php:695
|
||||
msgid "Global"
|
||||
msgstr ""
|
||||
|
||||
#: include/conversation.php:698
|
||||
msgid "Relayed"
|
||||
msgstr ""
|
||||
|
||||
#: include/conversation.php:698
|
||||
#, php-format
|
||||
msgid "Relayed by %s <%s>"
|
||||
msgstr ""
|
||||
|
||||
#: include/conversation.php:701
|
||||
msgid "Fetched"
|
||||
msgstr ""
|
||||
|
||||
#: include/conversation.php:701
|
||||
#, php-format
|
||||
msgid "Fetched because of %s <%s>"
|
||||
msgstr ""
|
||||
|
||||
#: include/conversation.php:853 view/theme/frio/theme.php:323
|
||||
msgid "Follow Thread"
|
||||
msgstr ""
|
||||
|
||||
#: include/conversation.php:854 src/Model/Contact.php:1082
|
||||
msgid "View Status"
|
||||
msgstr ""
|
||||
|
||||
#: include/conversation.php:855 include/conversation.php:877
|
||||
#: src/Model/Contact.php:1008 src/Model/Contact.php:1074
|
||||
#: src/Model/Contact.php:1083 src/Module/Directory.php:160
|
||||
#: src/Module/Settings/Profile/Index.php:223
|
||||
msgid "View Profile"
|
||||
msgstr ""
|
||||
|
||||
#: include/conversation.php:856 src/Model/Contact.php:1084
|
||||
msgid "View Photos"
|
||||
msgstr ""
|
||||
|
||||
#: include/conversation.php:857 src/Model/Contact.php:1075
|
||||
#: src/Model/Contact.php:1085
|
||||
msgid "Network Posts"
|
||||
msgstr ""
|
||||
|
||||
#: include/conversation.php:858 src/Model/Contact.php:1076
|
||||
#: src/Model/Contact.php:1086
|
||||
msgid "View Contact"
|
||||
msgstr ""
|
||||
|
||||
#: include/conversation.php:859 src/Model/Contact.php:1088
|
||||
msgid "Send PM"
|
||||
msgstr ""
|
||||
|
||||
#: include/conversation.php:860 src/Module/Admin/Blocklist/Contact.php:84
|
||||
#: src/Module/Admin/Users/Active.php:140 src/Module/Admin/Users/Index.php:154
|
||||
#: src/Module/Contact.php:602 src/Module/Contact.php:863
|
||||
#: src/Module/Contact.php:1133
|
||||
msgid "Block"
|
||||
msgstr ""
|
||||
|
||||
#: include/conversation.php:861 src/Module/Contact.php:603
|
||||
#: src/Module/Contact.php:864 src/Module/Contact.php:1141
|
||||
#: src/Module/Notifications/Introductions.php:113
|
||||
#: src/Module/Notifications/Introductions.php:185
|
||||
#: src/Module/Notifications/Notification.php:59
|
||||
msgid "Ignore"
|
||||
msgstr ""
|
||||
|
||||
#: include/conversation.php:865 src/Object/Post.php:429
|
||||
msgid "Languages"
|
||||
msgstr ""
|
||||
|
||||
#: include/conversation.php:869 src/Model/Contact.php:1089
|
||||
msgid "Poke"
|
||||
msgstr ""
|
||||
|
||||
#: include/conversation.php:874 mod/follow.php:138 src/Content/Widget.php:76
|
||||
#: src/Model/Contact.php:1077 src/Model/Contact.php:1090
|
||||
#: view/theme/vier/theme.php:172
|
||||
msgid "Connect/Follow"
|
||||
msgstr ""
|
||||
|
||||
#: include/conversation.php:1007
|
||||
#, php-format
|
||||
msgid "%s likes this."
|
||||
msgstr ""
|
||||
|
||||
#: include/conversation.php:1010
|
||||
#, php-format
|
||||
msgid "%s doesn't like this."
|
||||
msgstr ""
|
||||
|
||||
#: include/conversation.php:1013
|
||||
#, php-format
|
||||
msgid "%s attends."
|
||||
msgstr ""
|
||||
|
||||
#: include/conversation.php:1016
|
||||
#, php-format
|
||||
msgid "%s doesn't attend."
|
||||
msgstr ""
|
||||
|
||||
#: include/conversation.php:1019
|
||||
#, php-format
|
||||
msgid "%s attends maybe."
|
||||
msgstr ""
|
||||
|
||||
#: include/conversation.php:1028
|
||||
msgid "and"
|
||||
msgstr ""
|
||||
|
||||
#: include/conversation.php:1031
|
||||
#, php-format
|
||||
msgid "and %d other people"
|
||||
msgstr ""
|
||||
|
||||
#: include/conversation.php:1039
|
||||
#, php-format
|
||||
msgid "<span %1$s>%2$d people</span> like this"
|
||||
msgstr ""
|
||||
|
||||
#: include/conversation.php:1040
|
||||
#, php-format
|
||||
msgid "%s like this."
|
||||
msgstr ""
|
||||
|
||||
#: include/conversation.php:1043
|
||||
#, php-format
|
||||
msgid "<span %1$s>%2$d people</span> don't like this"
|
||||
msgstr ""
|
||||
|
||||
#: include/conversation.php:1044
|
||||
#, php-format
|
||||
msgid "%s don't like this."
|
||||
msgstr ""
|
||||
|
||||
#: include/conversation.php:1047
|
||||
#, php-format
|
||||
msgid "<span %1$s>%2$d people</span> attend"
|
||||
msgstr ""
|
||||
|
||||
#: include/conversation.php:1048
|
||||
#, php-format
|
||||
msgid "%s attend."
|
||||
msgstr ""
|
||||
|
||||
#: include/conversation.php:1051
|
||||
#, php-format
|
||||
msgid "<span %1$s>%2$d people</span> don't attend"
|
||||
msgstr ""
|
||||
|
||||
#: include/conversation.php:1052
|
||||
#, php-format
|
||||
msgid "%s don't attend."
|
||||
msgstr ""
|
||||
|
||||
#: include/conversation.php:1055
|
||||
#, php-format
|
||||
msgid "<span %1$s>%2$d people</span> attend maybe"
|
||||
msgstr ""
|
||||
|
||||
#: include/conversation.php:1056
|
||||
#, php-format
|
||||
msgid "%s attend maybe."
|
||||
msgstr ""
|
||||
|
||||
#: include/conversation.php:1059
|
||||
#, php-format
|
||||
msgid "<span %1$s>%2$d people</span> reshared this"
|
||||
msgstr ""
|
||||
|
||||
#: include/conversation.php:1107
|
||||
msgid "Visible to <strong>everybody</strong>"
|
||||
msgstr ""
|
||||
|
||||
#: include/conversation.php:1108 src/Module/Item/Compose.php:159
|
||||
#: src/Object/Post.php:973
|
||||
msgid "Please enter a image/video/audio/webpage URL:"
|
||||
msgstr ""
|
||||
|
||||
#: include/conversation.php:1109
|
||||
msgid "Tag term:"
|
||||
msgstr ""
|
||||
|
||||
#: include/conversation.php:1110 src/Module/Filer/SaveTag.php:68
|
||||
msgid "Save to Folder:"
|
||||
msgstr ""
|
||||
|
||||
#: include/conversation.php:1111
|
||||
msgid "Where are you right now?"
|
||||
msgstr ""
|
||||
|
||||
#: include/conversation.php:1112
|
||||
msgid "Delete item(s)?"
|
||||
msgstr ""
|
||||
|
||||
#: include/conversation.php:1122
|
||||
msgid "New Post"
|
||||
msgstr ""
|
||||
|
||||
#: include/conversation.php:1125
|
||||
msgid "Share"
|
||||
msgstr ""
|
||||
|
||||
#: include/conversation.php:1126 mod/editpost.php:92 mod/photos.php:1375
|
||||
#: src/Module/Contact/Poke.php:157 src/Object/Post.php:964
|
||||
msgid "Loading..."
|
||||
msgstr ""
|
||||
|
||||
#: include/conversation.php:1127 mod/editpost.php:93 mod/message.php:201
|
||||
#: mod/message.php:365 mod/wallmessage.php:153
|
||||
msgid "Upload photo"
|
||||
msgstr ""
|
||||
|
||||
#: include/conversation.php:1128 mod/editpost.php:94
|
||||
msgid "upload photo"
|
||||
msgstr ""
|
||||
|
||||
#: include/conversation.php:1129 mod/editpost.php:95
|
||||
msgid "Attach file"
|
||||
msgstr ""
|
||||
|
||||
#: include/conversation.php:1130 mod/editpost.php:96
|
||||
msgid "attach file"
|
||||
msgstr ""
|
||||
|
||||
#: include/conversation.php:1131 src/Module/Item/Compose.php:151
|
||||
#: src/Object/Post.php:965
|
||||
msgid "Bold"
|
||||
msgstr ""
|
||||
|
||||
#: include/conversation.php:1132 src/Module/Item/Compose.php:152
|
||||
#: src/Object/Post.php:966
|
||||
msgid "Italic"
|
||||
msgstr ""
|
||||
|
||||
#: include/conversation.php:1133 src/Module/Item/Compose.php:153
|
||||
#: src/Object/Post.php:967
|
||||
msgid "Underline"
|
||||
msgstr ""
|
||||
|
||||
#: include/conversation.php:1134 src/Module/Item/Compose.php:154
|
||||
#: src/Object/Post.php:968
|
||||
msgid "Quote"
|
||||
msgstr ""
|
||||
|
||||
#: include/conversation.php:1135 src/Module/Item/Compose.php:155
|
||||
#: src/Object/Post.php:969
|
||||
msgid "Code"
|
||||
msgstr ""
|
||||
|
||||
#: include/conversation.php:1136 src/Module/Item/Compose.php:156
|
||||
#: src/Object/Post.php:970
|
||||
msgid "Image"
|
||||
msgstr ""
|
||||
|
||||
#: include/conversation.php:1137 src/Module/Item/Compose.php:157
|
||||
#: src/Object/Post.php:971
|
||||
msgid "Link"
|
||||
msgstr ""
|
||||
|
||||
#: include/conversation.php:1138 src/Module/Item/Compose.php:158
|
||||
#: src/Object/Post.php:972
|
||||
msgid "Link or Media"
|
||||
msgstr ""
|
||||
|
||||
#: include/conversation.php:1139
|
||||
msgid "Video"
|
||||
msgstr ""
|
||||
|
||||
#: include/conversation.php:1140 mod/editpost.php:103
|
||||
#: src/Module/Item/Compose.php:161
|
||||
msgid "Set your location"
|
||||
msgstr ""
|
||||
|
||||
#: include/conversation.php:1141 mod/editpost.php:104
|
||||
msgid "set location"
|
||||
msgstr ""
|
||||
|
||||
#: include/conversation.php:1142 mod/editpost.php:105
|
||||
msgid "Clear browser location"
|
||||
msgstr ""
|
||||
|
||||
#: include/conversation.php:1143 mod/editpost.php:106
|
||||
msgid "clear location"
|
||||
msgstr ""
|
||||
|
||||
#: include/conversation.php:1145 mod/editpost.php:120
|
||||
#: src/Module/Item/Compose.php:166
|
||||
msgid "Set title"
|
||||
msgstr ""
|
||||
|
||||
#: include/conversation.php:1147 mod/editpost.php:122
|
||||
#: src/Module/Item/Compose.php:167
|
||||
msgid "Categories (comma-separated list)"
|
||||
msgstr ""
|
||||
|
||||
#: include/conversation.php:1152 src/Module/Item/Compose.php:172
|
||||
msgid "Scheduled at"
|
||||
msgstr ""
|
||||
|
||||
#: include/conversation.php:1156 mod/editpost.php:108
|
||||
msgid "Permission settings"
|
||||
msgstr ""
|
||||
|
||||
#: include/conversation.php:1157 mod/editpost.php:136 mod/events.php:583
|
||||
#: mod/photos.php:965 mod/photos.php:1328
|
||||
msgid "Permissions"
|
||||
msgstr ""
|
||||
|
||||
#: include/conversation.php:1166 mod/editpost.php:117
|
||||
msgid "Public post"
|
||||
msgstr ""
|
||||
|
||||
#: include/conversation.php:1170 mod/editpost.php:128 mod/events.php:578
|
||||
#: mod/photos.php:1374 mod/photos.php:1430 mod/photos.php:1504
|
||||
#: src/Module/Item/Compose.php:160 src/Object/Post.php:974
|
||||
msgid "Preview"
|
||||
msgstr ""
|
||||
|
||||
#: include/conversation.php:1173 mod/editpost.php:130 mod/fbrowser.php:105
|
||||
#: mod/fbrowser.php:134 mod/follow.php:144 mod/photos.php:1029
|
||||
#: mod/photos.php:1136 mod/tagrm.php:37 mod/tagrm.php:129 mod/unfollow.php:97
|
||||
#: src/Module/Contact.php:443 src/Module/RemoteFollow.php:116
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
#: include/conversation.php:1180 mod/editpost.php:134
|
||||
#: src/Content/Widget/VCard.php:107 src/Model/Profile.php:459
|
||||
msgid "Message"
|
||||
msgstr ""
|
||||
|
||||
#: include/conversation.php:1181 mod/editpost.php:135
|
||||
#: src/Module/Settings/TwoFactor/Trusted.php:101
|
||||
msgid "Browser"
|
||||
msgstr ""
|
||||
|
||||
#: include/conversation.php:1183 mod/editpost.php:138
|
||||
msgid "Open Compose page"
|
||||
msgstr ""
|
||||
|
||||
#: include/enotify.php:52 include/enotify.php:559
|
||||
msgid "[Friendica:Notify]"
|
||||
msgstr ""
|
||||
|
|
@ -752,7 +300,7 @@ msgid "%s %s shared a new post"
|
|||
msgstr ""
|
||||
|
||||
#: mod/api.php:30 mod/editpost.php:38 mod/events.php:236 mod/follow.php:56
|
||||
#: mod/follow.php:130 mod/item.php:184 mod/item.php:189 mod/item.php:934
|
||||
#: mod/follow.php:130 mod/item.php:185 mod/item.php:190 mod/item.php:936
|
||||
#: mod/message.php:69 mod/message.php:111 mod/notes.php:44
|
||||
#: mod/ostatus_subscribe.php:32 mod/photos.php:163 mod/photos.php:917
|
||||
#: mod/repair_ostatus.php:31 mod/settings.php:47 mod/settings.php:57
|
||||
|
|
@ -899,6 +447,28 @@ msgstr ""
|
|||
msgid "Save"
|
||||
msgstr ""
|
||||
|
||||
#: mod/editpost.php:92 mod/photos.php:1375 src/Content/Conversation.php:326
|
||||
#: src/Module/Contact/Poke.php:157 src/Object/Post.php:964
|
||||
msgid "Loading..."
|
||||
msgstr ""
|
||||
|
||||
#: mod/editpost.php:93 mod/message.php:201 mod/message.php:365
|
||||
#: mod/wallmessage.php:153 src/Content/Conversation.php:327
|
||||
msgid "Upload photo"
|
||||
msgstr ""
|
||||
|
||||
#: mod/editpost.php:94 src/Content/Conversation.php:328
|
||||
msgid "upload photo"
|
||||
msgstr ""
|
||||
|
||||
#: mod/editpost.php:95 src/Content/Conversation.php:329
|
||||
msgid "Attach file"
|
||||
msgstr ""
|
||||
|
||||
#: mod/editpost.php:96 src/Content/Conversation.php:330
|
||||
msgid "attach file"
|
||||
msgstr ""
|
||||
|
||||
#: mod/editpost.php:97 mod/message.php:202 mod/message.php:366
|
||||
#: mod/wallmessage.php:154
|
||||
msgid "Insert web link"
|
||||
|
|
@ -924,14 +494,89 @@ msgstr ""
|
|||
msgid "audio link"
|
||||
msgstr ""
|
||||
|
||||
#: mod/editpost.php:103 src/Content/Conversation.php:340
|
||||
#: src/Module/Item/Compose.php:161
|
||||
msgid "Set your location"
|
||||
msgstr ""
|
||||
|
||||
#: mod/editpost.php:104 src/Content/Conversation.php:341
|
||||
msgid "set location"
|
||||
msgstr ""
|
||||
|
||||
#: mod/editpost.php:105 src/Content/Conversation.php:342
|
||||
msgid "Clear browser location"
|
||||
msgstr ""
|
||||
|
||||
#: mod/editpost.php:106 src/Content/Conversation.php:343
|
||||
msgid "clear location"
|
||||
msgstr ""
|
||||
|
||||
#: mod/editpost.php:107 mod/message.php:203 mod/message.php:368
|
||||
#: mod/photos.php:1526 mod/wallmessage.php:155 src/Content/Conversation.php:355
|
||||
#: src/Content/Conversation.php:689 src/Module/Item/Compose.php:165
|
||||
#: src/Object/Post.php:502
|
||||
msgid "Please wait"
|
||||
msgstr ""
|
||||
|
||||
#: mod/editpost.php:108 src/Content/Conversation.php:356
|
||||
msgid "Permission settings"
|
||||
msgstr ""
|
||||
|
||||
#: mod/editpost.php:116 src/Core/ACL.php:327
|
||||
msgid "CC: email addresses"
|
||||
msgstr ""
|
||||
|
||||
#: mod/editpost.php:117 src/Content/Conversation.php:366
|
||||
msgid "Public post"
|
||||
msgstr ""
|
||||
|
||||
#: mod/editpost.php:120 src/Content/Conversation.php:345
|
||||
#: src/Module/Item/Compose.php:166
|
||||
msgid "Set title"
|
||||
msgstr ""
|
||||
|
||||
#: mod/editpost.php:122 src/Content/Conversation.php:347
|
||||
#: src/Module/Item/Compose.php:167
|
||||
msgid "Categories (comma-separated list)"
|
||||
msgstr ""
|
||||
|
||||
#: mod/editpost.php:123 src/Core/ACL.php:328
|
||||
msgid "Example: bob@example.com, mary@example.com"
|
||||
msgstr ""
|
||||
|
||||
#: mod/editpost.php:128 mod/events.php:578 mod/photos.php:1374
|
||||
#: mod/photos.php:1430 mod/photos.php:1504 src/Content/Conversation.php:370
|
||||
#: src/Module/Item/Compose.php:160 src/Object/Post.php:974
|
||||
msgid "Preview"
|
||||
msgstr ""
|
||||
|
||||
#: mod/editpost.php:130 mod/fbrowser.php:105 mod/fbrowser.php:134
|
||||
#: mod/follow.php:144 mod/photos.php:1029 mod/photos.php:1136 mod/tagrm.php:37
|
||||
#: mod/tagrm.php:129 mod/unfollow.php:97 src/Content/Conversation.php:373
|
||||
#: src/Module/Contact.php:443 src/Module/RemoteFollow.php:116
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
#: mod/editpost.php:134 src/Content/Conversation.php:380
|
||||
#: src/Content/Widget/VCard.php:107 src/Model/Profile.php:459
|
||||
#: src/Module/Admin/Logs/View.php:92
|
||||
msgid "Message"
|
||||
msgstr ""
|
||||
|
||||
#: mod/editpost.php:135 src/Content/Conversation.php:381
|
||||
#: src/Module/Settings/TwoFactor/Trusted.php:101
|
||||
msgid "Browser"
|
||||
msgstr ""
|
||||
|
||||
#: mod/editpost.php:136 mod/events.php:583 mod/photos.php:965
|
||||
#: mod/photos.php:1328 src/Content/Conversation.php:357
|
||||
msgid "Permissions"
|
||||
msgstr ""
|
||||
|
||||
#: mod/editpost.php:138 src/Content/Conversation.php:383
|
||||
msgid "Open Compose page"
|
||||
msgstr ""
|
||||
|
||||
#: mod/events.php:138 mod/events.php:140
|
||||
msgid "Event can not end before it has started."
|
||||
msgstr ""
|
||||
|
|
@ -944,7 +589,7 @@ msgstr ""
|
|||
msgid "Create New Event"
|
||||
msgstr ""
|
||||
|
||||
#: mod/events.php:536
|
||||
#: mod/events.php:536 src/Module/Admin/Logs/View.php:96
|
||||
msgid "Event details"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -1072,6 +717,12 @@ msgstr ""
|
|||
msgid "OStatus support is disabled. Contact can't be added."
|
||||
msgstr ""
|
||||
|
||||
#: mod/follow.php:138 src/Content/Item.php:463 src/Content/Widget.php:76
|
||||
#: src/Model/Contact.php:1077 src/Model/Contact.php:1090
|
||||
#: view/theme/vier/theme.php:172
|
||||
msgid "Connect/Follow"
|
||||
msgstr ""
|
||||
|
||||
#: mod/follow.php:139 src/Module/RemoteFollow.php:114
|
||||
msgid "Please answer the following:"
|
||||
msgstr ""
|
||||
|
|
@ -1115,23 +766,23 @@ msgstr ""
|
|||
msgid "Unable to locate original post."
|
||||
msgstr ""
|
||||
|
||||
#: mod/item.php:340 mod/item.php:345
|
||||
#: mod/item.php:341 mod/item.php:346
|
||||
msgid "Empty post discarded."
|
||||
msgstr ""
|
||||
|
||||
#: mod/item.php:741
|
||||
#: mod/item.php:742
|
||||
msgid "Post updated."
|
||||
msgstr ""
|
||||
|
||||
#: mod/item.php:751 mod/item.php:756
|
||||
#: mod/item.php:752 mod/item.php:757
|
||||
msgid "Item wasn't stored."
|
||||
msgstr ""
|
||||
|
||||
#: mod/item.php:767
|
||||
#: mod/item.php:768
|
||||
msgid "Item couldn't be fetched."
|
||||
msgstr ""
|
||||
|
||||
#: mod/item.php:913 src/Module/Admin/Themes/Details.php:39
|
||||
#: mod/item.php:914 src/Module/Admin/Themes/Details.php:39
|
||||
#: src/Module/Admin/Themes/Index.php:59 src/Module/Debug/ItemBody.php:41
|
||||
#: src/Module/Debug/ItemBody.php:56
|
||||
msgid "Item not found."
|
||||
|
|
@ -1676,6 +1327,17 @@ msgstr ""
|
|||
msgid "Comment"
|
||||
msgstr ""
|
||||
|
||||
#: mod/photos.php:1461 src/Content/Conversation.php:615 src/Object/Post.php:227
|
||||
msgid "Select"
|
||||
msgstr ""
|
||||
|
||||
#: mod/photos.php:1462 mod/settings.php:573 src/Content/Conversation.php:616
|
||||
#: src/Module/Admin/Users/Active.php:139 src/Module/Admin/Users/Blocked.php:140
|
||||
#: src/Module/Admin/Users/Index.php:153 src/Module/Contact.php:865
|
||||
#: src/Module/Contact.php:1150
|
||||
msgid "Delete"
|
||||
msgstr ""
|
||||
|
||||
#: mod/photos.php:1523 src/Object/Post.php:349
|
||||
msgid "Like"
|
||||
msgstr ""
|
||||
|
|
@ -2545,6 +2207,19 @@ msgstr ""
|
|||
msgid "Friend Suggestions"
|
||||
msgstr ""
|
||||
|
||||
#: mod/tagger.php:90 src/Content/Item.php:346 src/Model/Item.php:2624
|
||||
msgid "photo"
|
||||
msgstr ""
|
||||
|
||||
#: mod/tagger.php:90 src/Content/Item.php:341 src/Content/Item.php:350
|
||||
msgid "status"
|
||||
msgstr ""
|
||||
|
||||
#: mod/tagger.php:123 src/Content/Item.php:360
|
||||
#, php-format
|
||||
msgid "%1$s tagged %2$s's %3$s with %4$s"
|
||||
msgstr ""
|
||||
|
||||
#: mod/tagrm.php:115
|
||||
msgid "Remove Item Tag"
|
||||
msgstr ""
|
||||
|
|
@ -2947,6 +2622,268 @@ msgstr ""
|
|||
msgid "%s (via %s)"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Conversation.php:207
|
||||
#, php-format
|
||||
msgid "%s likes this."
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Conversation.php:210
|
||||
#, php-format
|
||||
msgid "%s doesn't like this."
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Conversation.php:213
|
||||
#, php-format
|
||||
msgid "%s attends."
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Conversation.php:216
|
||||
#, php-format
|
||||
msgid "%s doesn't attend."
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Conversation.php:219
|
||||
#, php-format
|
||||
msgid "%s attends maybe."
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Conversation.php:222 src/Content/Conversation.php:260
|
||||
#: src/Content/Conversation.php:848
|
||||
#, php-format
|
||||
msgid "%s reshared this."
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Conversation.php:228
|
||||
msgid "and"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Conversation.php:231
|
||||
#, php-format
|
||||
msgid "and %d other people"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Conversation.php:239
|
||||
#, php-format
|
||||
msgid "<span %1$s>%2$d people</span> like this"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Conversation.php:240
|
||||
#, php-format
|
||||
msgid "%s like this."
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Conversation.php:243
|
||||
#, php-format
|
||||
msgid "<span %1$s>%2$d people</span> don't like this"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Conversation.php:244
|
||||
#, php-format
|
||||
msgid "%s don't like this."
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Conversation.php:247
|
||||
#, php-format
|
||||
msgid "<span %1$s>%2$d people</span> attend"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Conversation.php:248
|
||||
#, php-format
|
||||
msgid "%s attend."
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Conversation.php:251
|
||||
#, php-format
|
||||
msgid "<span %1$s>%2$d people</span> don't attend"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Conversation.php:252
|
||||
#, php-format
|
||||
msgid "%s don't attend."
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Conversation.php:255
|
||||
#, php-format
|
||||
msgid "<span %1$s>%2$d people</span> attend maybe"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Conversation.php:256
|
||||
#, php-format
|
||||
msgid "%s attend maybe."
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Conversation.php:259
|
||||
#, php-format
|
||||
msgid "<span %1$s>%2$d people</span> reshared this"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Conversation.php:307
|
||||
msgid "Visible to <strong>everybody</strong>"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Conversation.php:308 src/Module/Item/Compose.php:159
|
||||
#: src/Object/Post.php:973
|
||||
msgid "Please enter a image/video/audio/webpage URL:"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Conversation.php:309
|
||||
msgid "Tag term:"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Conversation.php:310 src/Module/Filer/SaveTag.php:68
|
||||
msgid "Save to Folder:"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Conversation.php:311
|
||||
msgid "Where are you right now?"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Conversation.php:312
|
||||
msgid "Delete item(s)?"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Conversation.php:322
|
||||
msgid "New Post"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Conversation.php:325
|
||||
msgid "Share"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Conversation.php:331 src/Module/Item/Compose.php:151
|
||||
#: src/Object/Post.php:965
|
||||
msgid "Bold"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Conversation.php:332 src/Module/Item/Compose.php:152
|
||||
#: src/Object/Post.php:966
|
||||
msgid "Italic"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Conversation.php:333 src/Module/Item/Compose.php:153
|
||||
#: src/Object/Post.php:967
|
||||
msgid "Underline"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Conversation.php:334 src/Module/Item/Compose.php:154
|
||||
#: src/Object/Post.php:968
|
||||
msgid "Quote"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Conversation.php:335 src/Module/Item/Compose.php:155
|
||||
#: src/Object/Post.php:969
|
||||
msgid "Code"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Conversation.php:336 src/Module/Item/Compose.php:156
|
||||
#: src/Object/Post.php:970
|
||||
msgid "Image"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Conversation.php:337 src/Module/Item/Compose.php:157
|
||||
#: src/Object/Post.php:971
|
||||
msgid "Link"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Conversation.php:338 src/Module/Item/Compose.php:158
|
||||
#: src/Object/Post.php:972
|
||||
msgid "Link or Media"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Conversation.php:339
|
||||
msgid "Video"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Conversation.php:352 src/Module/Item/Compose.php:172
|
||||
msgid "Scheduled at"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Conversation.php:651 src/Object/Post.php:454
|
||||
#: src/Object/Post.php:455
|
||||
#, php-format
|
||||
msgid "View %s's profile @ %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Conversation.php:664 src/Object/Post.php:442
|
||||
msgid "Categories:"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Conversation.php:665 src/Object/Post.php:443
|
||||
msgid "Filed under:"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Conversation.php:672 src/Object/Post.php:468
|
||||
#, php-format
|
||||
msgid "%s from %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Conversation.php:687
|
||||
msgid "View in context"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Conversation.php:752
|
||||
msgid "remove"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Conversation.php:756
|
||||
msgid "Delete Selected Items"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Conversation.php:820 src/Content/Conversation.php:823
|
||||
#: src/Content/Conversation.php:826 src/Content/Conversation.php:829
|
||||
#, php-format
|
||||
msgid "You had been addressed (%s)."
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Conversation.php:832
|
||||
#, php-format
|
||||
msgid "You are following %s."
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Conversation.php:835
|
||||
msgid "Tagged"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Conversation.php:850
|
||||
msgid "Reshared"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Conversation.php:850
|
||||
#, php-format
|
||||
msgid "Reshared by %s <%s>"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Conversation.php:853
|
||||
#, php-format
|
||||
msgid "%s is participating in this thread."
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Conversation.php:856
|
||||
msgid "Stored"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Conversation.php:859
|
||||
msgid "Global"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Conversation.php:862
|
||||
msgid "Relayed"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Conversation.php:862
|
||||
#, php-format
|
||||
msgid "Relayed by %s <%s>"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Conversation.php:865
|
||||
msgid "Fetched"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Conversation.php:865
|
||||
#, php-format
|
||||
msgid "Fetched because of %s <%s>"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Feature.php:96
|
||||
msgid "General Features"
|
||||
msgstr ""
|
||||
|
|
@ -3052,6 +2989,70 @@ msgstr ""
|
|||
msgid "show more"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Item.php:305
|
||||
#, php-format
|
||||
msgid "%1$s poked %2$s"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Item.php:338 src/Model/Item.php:2622
|
||||
msgid "event"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Item.php:442 view/theme/frio/theme.php:323
|
||||
msgid "Follow Thread"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Item.php:443 src/Model/Contact.php:1082
|
||||
msgid "View Status"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Item.php:444 src/Content/Item.php:466 src/Model/Contact.php:1008
|
||||
#: src/Model/Contact.php:1074 src/Model/Contact.php:1083
|
||||
#: src/Module/Directory.php:160 src/Module/Settings/Profile/Index.php:223
|
||||
msgid "View Profile"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Item.php:445 src/Model/Contact.php:1084
|
||||
msgid "View Photos"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Item.php:446 src/Model/Contact.php:1075
|
||||
#: src/Model/Contact.php:1085
|
||||
msgid "Network Posts"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Item.php:447 src/Model/Contact.php:1076
|
||||
#: src/Model/Contact.php:1086
|
||||
msgid "View Contact"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Item.php:448 src/Model/Contact.php:1088
|
||||
msgid "Send PM"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Item.php:449 src/Module/Admin/Blocklist/Contact.php:84
|
||||
#: src/Module/Admin/Users/Active.php:140 src/Module/Admin/Users/Index.php:154
|
||||
#: src/Module/Contact.php:602 src/Module/Contact.php:863
|
||||
#: src/Module/Contact.php:1133
|
||||
msgid "Block"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Item.php:450 src/Module/Contact.php:603
|
||||
#: src/Module/Contact.php:864 src/Module/Contact.php:1141
|
||||
#: src/Module/Notifications/Introductions.php:113
|
||||
#: src/Module/Notifications/Introductions.php:185
|
||||
#: src/Module/Notifications/Notification.php:59
|
||||
msgid "Ignore"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Item.php:454 src/Object/Post.php:429
|
||||
msgid "Languages"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Item.php:458 src/Model/Contact.php:1089
|
||||
msgid "Poke"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Nav.php:90
|
||||
msgid "Nothing new here"
|
||||
msgstr ""
|
||||
|
|
@ -3076,7 +3077,7 @@ msgstr ""
|
|||
msgid "End this session"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Nav.php:185 src/Module/Bookmarklet.php:45
|
||||
#: src/Content/Nav.php:185 src/Module/Bookmarklet.php:44
|
||||
#: src/Module/Security/Login.php:146
|
||||
msgid "Login"
|
||||
msgstr ""
|
||||
|
|
@ -3165,7 +3166,7 @@ msgid "Addon applications, utilities, games"
|
|||
msgstr ""
|
||||
|
||||
#: src/Content/Nav.php:230 src/Content/Text/HTML.php:891
|
||||
#: src/Module/Search/Index.php:99
|
||||
#: src/Module/Admin/Logs/View.php:86 src/Module/Search/Index.php:99
|
||||
msgid "Search"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -3331,39 +3332,39 @@ msgstr ""
|
|||
msgid "last"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Text/BBCode.php:985 src/Content/Text/BBCode.php:1773
|
||||
#: src/Content/Text/BBCode.php:1774
|
||||
#: src/Content/Text/BBCode.php:987 src/Content/Text/BBCode.php:1775
|
||||
#: src/Content/Text/BBCode.php:1776
|
||||
msgid "Image/photo"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Text/BBCode.php:1158
|
||||
#: src/Content/Text/BBCode.php:1160
|
||||
#, php-format
|
||||
msgid ""
|
||||
"<a href=\"%1$s\" target=\"_blank\" rel=\"noopener noreferrer\">%2$s</a> %3$s"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Text/BBCode.php:1183 src/Model/Item.php:3152
|
||||
#: src/Content/Text/BBCode.php:1185 src/Model/Item.php:3152
|
||||
#: src/Model/Item.php:3158 src/Model/Item.php:3159
|
||||
msgid "Link to source"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Text/BBCode.php:1691 src/Content/Text/HTML.php:943
|
||||
#: src/Content/Text/BBCode.php:1693 src/Content/Text/HTML.php:943
|
||||
msgid "Click to open/close"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Text/BBCode.php:1722
|
||||
#: src/Content/Text/BBCode.php:1724
|
||||
msgid "$1 wrote:"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Text/BBCode.php:1778 src/Content/Text/BBCode.php:1779
|
||||
#: src/Content/Text/BBCode.php:1780 src/Content/Text/BBCode.php:1781
|
||||
msgid "Encrypted content"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Text/BBCode.php:1995
|
||||
#: src/Content/Text/BBCode.php:1997
|
||||
msgid "Invalid source protocol"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Text/BBCode.php:2010
|
||||
#: src/Content/Text/BBCode.php:2012
|
||||
msgid "Invalid link protocol"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -4276,7 +4277,7 @@ msgstr ""
|
|||
msgid "%s: Database update"
|
||||
msgstr ""
|
||||
|
||||
#: src/Database/DBStructure.php:853
|
||||
#: src/Database/DBStructure.php:803
|
||||
#, php-format
|
||||
msgid "%s: updating %s table."
|
||||
msgstr ""
|
||||
|
|
@ -4587,7 +4588,7 @@ msgstr ""
|
|||
msgid "View on separate page"
|
||||
msgstr ""
|
||||
|
||||
#: src/Model/Mail.php:136 src/Model/Mail.php:268
|
||||
#: src/Model/Mail.php:134 src/Model/Mail.php:266
|
||||
msgid "[no subject]"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -5048,7 +5049,7 @@ msgstr ""
|
|||
#: src/Module/Admin/Blocklist/Contact.php:78
|
||||
#: src/Module/Admin/Blocklist/Server.php:88 src/Module/Admin/Federation.php:159
|
||||
#: src/Module/Admin/Item/Delete.php:65 src/Module/Admin/Logs/Settings.php:80
|
||||
#: src/Module/Admin/Logs/View.php:84 src/Module/Admin/Queue.php:72
|
||||
#: src/Module/Admin/Logs/View.php:83 src/Module/Admin/Queue.php:72
|
||||
#: src/Module/Admin/Site.php:497 src/Module/Admin/Storage.php:131
|
||||
#: src/Module/Admin/Summary.php:233 src/Module/Admin/Themes/Details.php:90
|
||||
#: src/Module/Admin/Themes/Index.php:111 src/Module/Admin/Tos.php:58
|
||||
|
|
@ -5483,7 +5484,7 @@ msgstr ""
|
|||
msgid "Implicit Mention"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Item/Source.php:73
|
||||
#: src/Module/Admin/Item/Source.php:73 src/Module/Admin/Logs/View.php:98
|
||||
#: src/Module/Debug/ActivityPubConversion.php:62
|
||||
msgid "Source"
|
||||
msgstr ""
|
||||
|
|
@ -5541,24 +5542,85 @@ msgid ""
|
|||
"'display_errors' is to enable these options, set to '0' to disable them."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Logs/View.php:71
|
||||
#: src/Module/Admin/Logs/View.php:70
|
||||
#, php-format
|
||||
msgid ""
|
||||
"Error trying to open <strong>%1$s</strong> log file.\\r\\n<br/>Check to see "
|
||||
"if file %1$s exist and is readable."
|
||||
"Error trying to open <strong>%1$s</strong> log file.<br/>Check to see if "
|
||||
"file %1$s exist and is readable."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Logs/View.php:80
|
||||
#: src/Module/Admin/Logs/View.php:79
|
||||
#, php-format
|
||||
msgid ""
|
||||
"Couldn't open <strong>%1$s</strong> log file.\\r\\n<br/>Check to see if file "
|
||||
"%1$s is readable."
|
||||
"Couldn't open <strong>%1$s</strong> log file.<br/>Check to see if file %1$s "
|
||||
"is readable."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Logs/View.php:85 src/Module/BaseAdmin.php:110
|
||||
#: src/Module/Admin/Logs/View.php:84 src/Module/BaseAdmin.php:110
|
||||
msgid "View Logs"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Logs/View.php:87
|
||||
msgid "Search in logs"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Logs/View.php:88
|
||||
#: src/Module/Notifications/Notifications.php:138
|
||||
msgid "Show all"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Logs/View.php:89
|
||||
msgid "Date"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Logs/View.php:90
|
||||
msgid "Level"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Logs/View.php:91
|
||||
msgid "Context"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Logs/View.php:93
|
||||
msgid "ALL"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Logs/View.php:94
|
||||
msgid "View details"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Logs/View.php:95
|
||||
msgid "Click to view details"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Logs/View.php:97
|
||||
msgid "Data"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Logs/View.php:99
|
||||
msgid "File"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Logs/View.php:100
|
||||
msgid "Line"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Logs/View.php:101
|
||||
msgid "Function"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Logs/View.php:102
|
||||
msgid "UID"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Logs/View.php:103
|
||||
msgid "Process ID"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Logs/View.php:104
|
||||
msgid "Close"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Queue.php:50
|
||||
msgid "Inspect Deferred Worker Queue"
|
||||
msgstr ""
|
||||
|
|
@ -7216,11 +7278,11 @@ msgstr ""
|
|||
msgid "Remove account"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Bookmarklet.php:55
|
||||
#: src/Module/Bookmarklet.php:54
|
||||
msgid "This page is missing a url parameter."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Bookmarklet.php:67
|
||||
#: src/Module/Bookmarklet.php:66
|
||||
msgid "The post was created"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -8693,10 +8755,6 @@ msgstr ""
|
|||
msgid "Show unread"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Notifications/Notifications.php:138
|
||||
msgid "Show all"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/OAuth/Acknowledge.php:44
|
||||
msgid "Authorize application connection"
|
||||
msgstr ""
|
||||
|
|
|
|||
|
|
@ -49,8 +49,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: friendica\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-09-10 00:27+0000\n"
|
||||
"PO-Revision-Date: 2021-09-11 05:56+0000\n"
|
||||
"POT-Creation-Date: 2021-10-01 16:40+0200\n"
|
||||
"PO-Revision-Date: 2021-10-01 15:32+0000\n"
|
||||
"Last-Translator: Tobias Diekershoff <tobias.diekershoff@gmx.net>\n"
|
||||
"Language-Team: German (http://www.transifex.com/Friendica/friendica/language/de/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
|
|
@ -80,9 +80,9 @@ msgid "Monthly posting limit of %d post reached. The post was rejected."
|
|||
msgstr "Das monatliche Limit von %d Beiträgen wurde erreicht. Der Beitrag wurde verworfen."
|
||||
|
||||
#: include/api.php:4437 mod/photos.php:89 mod/photos.php:198
|
||||
#: mod/photos.php:626 mod/photos.php:1034 mod/photos.php:1051
|
||||
#: mod/photos.php:1597 src/Model/User.php:1118 src/Model/User.php:1126
|
||||
#: src/Model/User.php:1134 src/Module/Settings/Profile/Photo/Crop.php:101
|
||||
#: mod/photos.php:626 mod/photos.php:1035 mod/photos.php:1052
|
||||
#: mod/photos.php:1599 src/Model/User.php:1169 src/Model/User.php:1177
|
||||
#: src/Model/User.php:1185 src/Module/Settings/Profile/Photo/Crop.php:101
|
||||
#: src/Module/Settings/Profile/Photo/Crop.php:117
|
||||
#: src/Module/Settings/Profile/Photo/Crop.php:133
|
||||
#: src/Module/Settings/Profile/Photo/Crop.php:179
|
||||
|
|
@ -91,459 +91,6 @@ msgstr "Das monatliche Limit von %d Beiträgen wurde erreicht. Der Beitrag wurde
|
|||
msgid "Profile Photos"
|
||||
msgstr "Profilbilder"
|
||||
|
||||
#: include/conversation.php:109
|
||||
#, php-format
|
||||
msgid "%1$s poked %2$s"
|
||||
msgstr "%1$s stupste %2$s"
|
||||
|
||||
#: include/conversation.php:142 src/Model/Item.php:2609
|
||||
msgid "event"
|
||||
msgstr "Veranstaltung"
|
||||
|
||||
#: include/conversation.php:145 include/conversation.php:154 mod/tagger.php:90
|
||||
msgid "status"
|
||||
msgstr "Status"
|
||||
|
||||
#: include/conversation.php:150 mod/tagger.php:90 src/Model/Item.php:2611
|
||||
msgid "photo"
|
||||
msgstr "Foto"
|
||||
|
||||
#: include/conversation.php:164 mod/tagger.php:123
|
||||
#, php-format
|
||||
msgid "%1$s tagged %2$s's %3$s with %4$s"
|
||||
msgstr "%1$s hat %2$ss %3$s mit %4$s getaggt"
|
||||
|
||||
#: include/conversation.php:467 mod/photos.php:1459 src/Object/Post.php:226
|
||||
msgid "Select"
|
||||
msgstr "Auswählen"
|
||||
|
||||
#: include/conversation.php:468 mod/photos.php:1460 mod/settings.php:573
|
||||
#: src/Module/Admin/Users/Active.php:139
|
||||
#: src/Module/Admin/Users/Blocked.php:140 src/Module/Admin/Users/Index.php:153
|
||||
#: src/Module/Contact.php:849 src/Module/Contact.php:1132
|
||||
msgid "Delete"
|
||||
msgstr "Löschen"
|
||||
|
||||
#: include/conversation.php:503 src/Object/Post.php:453
|
||||
#: src/Object/Post.php:454
|
||||
#, php-format
|
||||
msgid "View %s's profile @ %s"
|
||||
msgstr "Das Profil von %s auf %s betrachten."
|
||||
|
||||
#: include/conversation.php:516 src/Object/Post.php:441
|
||||
msgid "Categories:"
|
||||
msgstr "Kategorien:"
|
||||
|
||||
#: include/conversation.php:517 src/Object/Post.php:442
|
||||
msgid "Filed under:"
|
||||
msgstr "Abgelegt unter:"
|
||||
|
||||
#: include/conversation.php:524 src/Object/Post.php:467
|
||||
#, php-format
|
||||
msgid "%s from %s"
|
||||
msgstr "%s von %s"
|
||||
|
||||
#: include/conversation.php:539
|
||||
msgid "View in context"
|
||||
msgstr "Im Zusammenhang betrachten"
|
||||
|
||||
#: include/conversation.php:541 include/conversation.php:1146
|
||||
#: mod/editpost.php:107 mod/message.php:203 mod/message.php:368
|
||||
#: mod/photos.php:1524 mod/wallmessage.php:155 src/Module/Item/Compose.php:165
|
||||
#: src/Object/Post.php:501
|
||||
msgid "Please wait"
|
||||
msgstr "Bitte warten"
|
||||
|
||||
#: include/conversation.php:605
|
||||
msgid "remove"
|
||||
msgstr "löschen"
|
||||
|
||||
#: include/conversation.php:609
|
||||
msgid "Delete Selected Items"
|
||||
msgstr "Lösche die markierten Beiträge"
|
||||
|
||||
#: include/conversation.php:647 include/conversation.php:650
|
||||
#: include/conversation.php:653 include/conversation.php:656
|
||||
#, php-format
|
||||
msgid "You had been addressed (%s)."
|
||||
msgstr "Du wurdest angeschrieben (%s)."
|
||||
|
||||
#: include/conversation.php:659
|
||||
#, php-format
|
||||
msgid "You are following %s."
|
||||
msgstr "Du folgst %s."
|
||||
|
||||
#: include/conversation.php:662
|
||||
msgid "Tagged"
|
||||
msgstr "Verschlagwortet"
|
||||
|
||||
#: include/conversation.php:675 include/conversation.php:1013
|
||||
#: include/conversation.php:1051
|
||||
#, php-format
|
||||
msgid "%s reshared this."
|
||||
msgstr "%s hat dies geteilt"
|
||||
|
||||
#: include/conversation.php:677
|
||||
msgid "Reshared"
|
||||
msgstr "Geteilt"
|
||||
|
||||
#: include/conversation.php:677
|
||||
#, php-format
|
||||
msgid "Reshared by %s <%s>"
|
||||
msgstr "Geteilt von %s <%s>"
|
||||
|
||||
#: include/conversation.php:680
|
||||
#, php-format
|
||||
msgid "%s is participating in this thread."
|
||||
msgstr "%s ist an der Unterhaltung beteiligt."
|
||||
|
||||
#: include/conversation.php:683
|
||||
msgid "Stored"
|
||||
msgstr "Gespeichert"
|
||||
|
||||
#: include/conversation.php:686
|
||||
msgid "Global"
|
||||
msgstr "Global"
|
||||
|
||||
#: include/conversation.php:689
|
||||
msgid "Relayed"
|
||||
msgstr "Übermittelt"
|
||||
|
||||
#: include/conversation.php:689
|
||||
#, php-format
|
||||
msgid "Relayed by %s <%s>"
|
||||
msgstr "Weitergeleitet von %s <%s>"
|
||||
|
||||
#: include/conversation.php:692
|
||||
msgid "Fetched"
|
||||
msgstr "Abgerufen"
|
||||
|
||||
#: include/conversation.php:692
|
||||
#, php-format
|
||||
msgid "Fetched because of %s <%s>"
|
||||
msgstr "Wegen %s <%s> abgerufen"
|
||||
|
||||
#: include/conversation.php:844 view/theme/frio/theme.php:323
|
||||
msgid "Follow Thread"
|
||||
msgstr "Folge der Unterhaltung"
|
||||
|
||||
#: include/conversation.php:845 src/Model/Contact.php:1050
|
||||
msgid "View Status"
|
||||
msgstr "Status anschauen"
|
||||
|
||||
#: include/conversation.php:846 include/conversation.php:868
|
||||
#: src/Model/Contact.php:976 src/Model/Contact.php:1042
|
||||
#: src/Model/Contact.php:1051 src/Module/Directory.php:160
|
||||
#: src/Module/Settings/Profile/Index.php:223
|
||||
msgid "View Profile"
|
||||
msgstr "Profil anschauen"
|
||||
|
||||
#: include/conversation.php:847 src/Model/Contact.php:1052
|
||||
msgid "View Photos"
|
||||
msgstr "Bilder anschauen"
|
||||
|
||||
#: include/conversation.php:848 src/Model/Contact.php:1043
|
||||
#: src/Model/Contact.php:1053
|
||||
msgid "Network Posts"
|
||||
msgstr "Netzwerkbeiträge"
|
||||
|
||||
#: include/conversation.php:849 src/Model/Contact.php:1044
|
||||
#: src/Model/Contact.php:1054
|
||||
msgid "View Contact"
|
||||
msgstr "Kontakt anzeigen"
|
||||
|
||||
#: include/conversation.php:850 src/Model/Contact.php:1056
|
||||
msgid "Send PM"
|
||||
msgstr "Private Nachricht senden"
|
||||
|
||||
#: include/conversation.php:851 src/Module/Admin/Blocklist/Contact.php:84
|
||||
#: src/Module/Admin/Users/Active.php:140 src/Module/Admin/Users/Index.php:154
|
||||
#: src/Module/Contact.php:587 src/Module/Contact.php:847
|
||||
#: src/Module/Contact.php:1115
|
||||
msgid "Block"
|
||||
msgstr "Sperren"
|
||||
|
||||
#: include/conversation.php:852 src/Module/Contact.php:588
|
||||
#: src/Module/Contact.php:848 src/Module/Contact.php:1123
|
||||
#: src/Module/Notifications/Introductions.php:113
|
||||
#: src/Module/Notifications/Introductions.php:185
|
||||
#: src/Module/Notifications/Notification.php:59
|
||||
msgid "Ignore"
|
||||
msgstr "Ignorieren"
|
||||
|
||||
#: include/conversation.php:856 src/Object/Post.php:428
|
||||
msgid "Languages"
|
||||
msgstr "Sprachen"
|
||||
|
||||
#: include/conversation.php:860 src/Model/Contact.php:1057
|
||||
msgid "Poke"
|
||||
msgstr "Anstupsen"
|
||||
|
||||
#: include/conversation.php:865 mod/follow.php:138 src/Content/Widget.php:76
|
||||
#: src/Model/Contact.php:1045 src/Model/Contact.php:1058
|
||||
#: view/theme/vier/theme.php:172
|
||||
msgid "Connect/Follow"
|
||||
msgstr "Verbinden/Folgen"
|
||||
|
||||
#: include/conversation.php:998
|
||||
#, php-format
|
||||
msgid "%s likes this."
|
||||
msgstr "%s mag das."
|
||||
|
||||
#: include/conversation.php:1001
|
||||
#, php-format
|
||||
msgid "%s doesn't like this."
|
||||
msgstr "%s mag das nicht."
|
||||
|
||||
#: include/conversation.php:1004
|
||||
#, php-format
|
||||
msgid "%s attends."
|
||||
msgstr "%s nimmt teil."
|
||||
|
||||
#: include/conversation.php:1007
|
||||
#, php-format
|
||||
msgid "%s doesn't attend."
|
||||
msgstr "%s nimmt nicht teil."
|
||||
|
||||
#: include/conversation.php:1010
|
||||
#, php-format
|
||||
msgid "%s attends maybe."
|
||||
msgstr "%s nimmt eventuell teil."
|
||||
|
||||
#: include/conversation.php:1019
|
||||
msgid "and"
|
||||
msgstr "und"
|
||||
|
||||
#: include/conversation.php:1022
|
||||
#, php-format
|
||||
msgid "and %d other people"
|
||||
msgstr "und %dandere"
|
||||
|
||||
#: include/conversation.php:1030
|
||||
#, php-format
|
||||
msgid "<span %1$s>%2$d people</span> like this"
|
||||
msgstr "<span %1$s>%2$d Personen</span> mögen das"
|
||||
|
||||
#: include/conversation.php:1031
|
||||
#, php-format
|
||||
msgid "%s like this."
|
||||
msgstr "%s mögen das."
|
||||
|
||||
#: include/conversation.php:1034
|
||||
#, php-format
|
||||
msgid "<span %1$s>%2$d people</span> don't like this"
|
||||
msgstr "<span %1$s>%2$d Personen</span> mögen das nicht"
|
||||
|
||||
#: include/conversation.php:1035
|
||||
#, php-format
|
||||
msgid "%s don't like this."
|
||||
msgstr "%s mögen dies nicht."
|
||||
|
||||
#: include/conversation.php:1038
|
||||
#, php-format
|
||||
msgid "<span %1$s>%2$d people</span> attend"
|
||||
msgstr "<span %1$s>%2$d Personen</span> nehmen teil"
|
||||
|
||||
#: include/conversation.php:1039
|
||||
#, php-format
|
||||
msgid "%s attend."
|
||||
msgstr "%s nehmen teil."
|
||||
|
||||
#: include/conversation.php:1042
|
||||
#, php-format
|
||||
msgid "<span %1$s>%2$d people</span> don't attend"
|
||||
msgstr "<span %1$s>%2$d Personen</span> nehmen nicht teil"
|
||||
|
||||
#: include/conversation.php:1043
|
||||
#, php-format
|
||||
msgid "%s don't attend."
|
||||
msgstr "%s nehmen nicht teil."
|
||||
|
||||
#: include/conversation.php:1046
|
||||
#, php-format
|
||||
msgid "<span %1$s>%2$d people</span> attend maybe"
|
||||
msgstr "<span %1$s>%2$d Personen</span> nehmen eventuell teil"
|
||||
|
||||
#: include/conversation.php:1047
|
||||
#, php-format
|
||||
msgid "%s attend maybe."
|
||||
msgstr "%s nimmt eventuell teil."
|
||||
|
||||
#: include/conversation.php:1050
|
||||
#, php-format
|
||||
msgid "<span %1$s>%2$d people</span> reshared this"
|
||||
msgstr "<span %1$s>%2$d Personen</span> haben dies geteilt"
|
||||
|
||||
#: include/conversation.php:1098
|
||||
msgid "Visible to <strong>everybody</strong>"
|
||||
msgstr "Für <strong>jedermann</strong> sichtbar"
|
||||
|
||||
#: include/conversation.php:1099 src/Module/Item/Compose.php:159
|
||||
#: src/Object/Post.php:972
|
||||
msgid "Please enter a image/video/audio/webpage URL:"
|
||||
msgstr "Bitte gib eine Bild/Video/Audio/Webseiten-URL ein:"
|
||||
|
||||
#: include/conversation.php:1100
|
||||
msgid "Tag term:"
|
||||
msgstr "Tag:"
|
||||
|
||||
#: include/conversation.php:1101 src/Module/Filer/SaveTag.php:68
|
||||
msgid "Save to Folder:"
|
||||
msgstr "In diesem Ordner speichern:"
|
||||
|
||||
#: include/conversation.php:1102
|
||||
msgid "Where are you right now?"
|
||||
msgstr "Wo hältst du dich jetzt gerade auf?"
|
||||
|
||||
#: include/conversation.php:1103
|
||||
msgid "Delete item(s)?"
|
||||
msgstr "Einträge löschen?"
|
||||
|
||||
#: include/conversation.php:1113
|
||||
msgid "New Post"
|
||||
msgstr "Neuer Beitrag"
|
||||
|
||||
#: include/conversation.php:1116
|
||||
msgid "Share"
|
||||
msgstr "Teilen"
|
||||
|
||||
#: include/conversation.php:1117 mod/editpost.php:92 mod/photos.php:1373
|
||||
#: src/Module/Contact/Poke.php:157 src/Object/Post.php:963
|
||||
msgid "Loading..."
|
||||
msgstr "lädt..."
|
||||
|
||||
#: include/conversation.php:1118 mod/editpost.php:93 mod/message.php:201
|
||||
#: mod/message.php:365 mod/wallmessage.php:153
|
||||
msgid "Upload photo"
|
||||
msgstr "Foto hochladen"
|
||||
|
||||
#: include/conversation.php:1119 mod/editpost.php:94
|
||||
msgid "upload photo"
|
||||
msgstr "Bild hochladen"
|
||||
|
||||
#: include/conversation.php:1120 mod/editpost.php:95
|
||||
msgid "Attach file"
|
||||
msgstr "Datei anhängen"
|
||||
|
||||
#: include/conversation.php:1121 mod/editpost.php:96
|
||||
msgid "attach file"
|
||||
msgstr "Datei anhängen"
|
||||
|
||||
#: include/conversation.php:1122 src/Module/Item/Compose.php:151
|
||||
#: src/Object/Post.php:964
|
||||
msgid "Bold"
|
||||
msgstr "Fett"
|
||||
|
||||
#: include/conversation.php:1123 src/Module/Item/Compose.php:152
|
||||
#: src/Object/Post.php:965
|
||||
msgid "Italic"
|
||||
msgstr "Kursiv"
|
||||
|
||||
#: include/conversation.php:1124 src/Module/Item/Compose.php:153
|
||||
#: src/Object/Post.php:966
|
||||
msgid "Underline"
|
||||
msgstr "Unterstrichen"
|
||||
|
||||
#: include/conversation.php:1125 src/Module/Item/Compose.php:154
|
||||
#: src/Object/Post.php:967
|
||||
msgid "Quote"
|
||||
msgstr "Zitat"
|
||||
|
||||
#: include/conversation.php:1126 src/Module/Item/Compose.php:155
|
||||
#: src/Object/Post.php:968
|
||||
msgid "Code"
|
||||
msgstr "Code"
|
||||
|
||||
#: include/conversation.php:1127 src/Module/Item/Compose.php:156
|
||||
#: src/Object/Post.php:969
|
||||
msgid "Image"
|
||||
msgstr "Bild"
|
||||
|
||||
#: include/conversation.php:1128 src/Module/Item/Compose.php:157
|
||||
#: src/Object/Post.php:970
|
||||
msgid "Link"
|
||||
msgstr "Link"
|
||||
|
||||
#: include/conversation.php:1129 src/Module/Item/Compose.php:158
|
||||
#: src/Object/Post.php:971
|
||||
msgid "Link or Media"
|
||||
msgstr "Link oder Mediendatei"
|
||||
|
||||
#: include/conversation.php:1130
|
||||
msgid "Video"
|
||||
msgstr "Video"
|
||||
|
||||
#: include/conversation.php:1131 mod/editpost.php:103
|
||||
#: src/Module/Item/Compose.php:161
|
||||
msgid "Set your location"
|
||||
msgstr "Deinen Standort festlegen"
|
||||
|
||||
#: include/conversation.php:1132 mod/editpost.php:104
|
||||
msgid "set location"
|
||||
msgstr "Ort setzen"
|
||||
|
||||
#: include/conversation.php:1133 mod/editpost.php:105
|
||||
msgid "Clear browser location"
|
||||
msgstr "Browser-Standort leeren"
|
||||
|
||||
#: include/conversation.php:1134 mod/editpost.php:106
|
||||
msgid "clear location"
|
||||
msgstr "Ort löschen"
|
||||
|
||||
#: include/conversation.php:1136 mod/editpost.php:120
|
||||
#: src/Module/Item/Compose.php:166
|
||||
msgid "Set title"
|
||||
msgstr "Titel setzen"
|
||||
|
||||
#: include/conversation.php:1138 mod/editpost.php:122
|
||||
#: src/Module/Item/Compose.php:167
|
||||
msgid "Categories (comma-separated list)"
|
||||
msgstr "Kategorien (kommasepariert)"
|
||||
|
||||
#: include/conversation.php:1143 src/Module/Item/Compose.php:172
|
||||
msgid "Scheduled at"
|
||||
msgstr "Geplant für"
|
||||
|
||||
#: include/conversation.php:1147 mod/editpost.php:108
|
||||
msgid "Permission settings"
|
||||
msgstr "Berechtigungseinstellungen"
|
||||
|
||||
#: include/conversation.php:1148 mod/editpost.php:136 mod/events.php:583
|
||||
#: mod/photos.php:965 mod/photos.php:1326
|
||||
msgid "Permissions"
|
||||
msgstr "Berechtigungen"
|
||||
|
||||
#: include/conversation.php:1157 mod/editpost.php:117
|
||||
msgid "Public post"
|
||||
msgstr "Öffentlicher Beitrag"
|
||||
|
||||
#: include/conversation.php:1161 mod/editpost.php:128 mod/events.php:578
|
||||
#: mod/photos.php:1372 mod/photos.php:1428 mod/photos.php:1502
|
||||
#: src/Module/Item/Compose.php:160 src/Object/Post.php:973
|
||||
msgid "Preview"
|
||||
msgstr "Vorschau"
|
||||
|
||||
#: include/conversation.php:1164 mod/editpost.php:130 mod/fbrowser.php:105
|
||||
#: mod/fbrowser.php:134 mod/follow.php:144 mod/photos.php:1028
|
||||
#: mod/photos.php:1134 mod/tagrm.php:37 mod/tagrm.php:129 mod/unfollow.php:97
|
||||
#: src/Module/Contact.php:422 src/Module/RemoteFollow.php:116
|
||||
msgid "Cancel"
|
||||
msgstr "Abbrechen"
|
||||
|
||||
#: include/conversation.php:1171 mod/editpost.php:134
|
||||
#: src/Content/Widget/VCard.php:107 src/Model/Profile.php:459
|
||||
msgid "Message"
|
||||
msgstr "Nachricht"
|
||||
|
||||
#: include/conversation.php:1172 mod/editpost.php:135
|
||||
#: src/Module/Settings/TwoFactor/Trusted.php:101
|
||||
msgid "Browser"
|
||||
msgstr "Browser"
|
||||
|
||||
#: include/conversation.php:1174 mod/editpost.php:138
|
||||
msgid "Open Compose page"
|
||||
msgstr "Composer Seite öffnen"
|
||||
|
||||
#: include/enotify.php:52 include/enotify.php:559
|
||||
msgid "[Friendica:Notify]"
|
||||
msgstr "[Friendica Meldung]"
|
||||
|
|
@ -796,7 +343,7 @@ msgid "%s %s shared a new post"
|
|||
msgstr "%s%shat einen Beitrag geteilt"
|
||||
|
||||
#: mod/api.php:30 mod/editpost.php:38 mod/events.php:236 mod/follow.php:56
|
||||
#: mod/follow.php:130 mod/item.php:184 mod/item.php:189 mod/item.php:934
|
||||
#: mod/follow.php:130 mod/item.php:185 mod/item.php:190 mod/item.php:936
|
||||
#: mod/message.php:69 mod/message.php:111 mod/notes.php:44
|
||||
#: mod/ostatus_subscribe.php:32 mod/photos.php:163 mod/photos.php:917
|
||||
#: mod/repair_ostatus.php:31 mod/settings.php:47 mod/settings.php:57
|
||||
|
|
@ -807,16 +354,16 @@ msgstr "%s%shat einen Beitrag geteilt"
|
|||
#: mod/wallmessage.php:96 mod/wallmessage.php:120 src/Module/Attach.php:55
|
||||
#: src/Module/BaseApi.php:79 src/Module/BaseApi.php:88
|
||||
#: src/Module/BaseApi.php:97 src/Module/BaseApi.php:106
|
||||
#: src/Module/BaseNotifications.php:88 src/Module/Contact.php:346
|
||||
#: src/Module/Contact/Advanced.php:44 src/Module/Delegation.php:119
|
||||
#: src/Module/BaseNotifications.php:88 src/Module/Contact.php:356
|
||||
#: src/Module/Contact/Advanced.php:44 src/Module/Delegation.php:118
|
||||
#: src/Module/FollowConfirm.php:16 src/Module/FriendSuggest.php:44
|
||||
#: src/Module/Group.php:45 src/Module/Group.php:90 src/Module/Invite.php:41
|
||||
#: src/Module/Invite.php:130 src/Module/Notifications/Notification.php:47
|
||||
#: src/Module/Notifications/Notification.php:76
|
||||
#: src/Module/Profile/Common.php:56 src/Module/Profile/Contacts.php:56
|
||||
#: src/Module/Profile/Schedule.php:39 src/Module/Profile/Schedule.php:56
|
||||
#: src/Module/Register.php:62 src/Module/Register.php:75
|
||||
#: src/Module/Register.php:193 src/Module/Register.php:232
|
||||
#: src/Module/Register.php:64 src/Module/Register.php:77
|
||||
#: src/Module/Register.php:195 src/Module/Register.php:234
|
||||
#: src/Module/Search/Directory.php:38 src/Module/Settings/Delegation.php:42
|
||||
#: src/Module/Settings/Delegation.php:70 src/Module/Settings/Display.php:43
|
||||
#: src/Module/Settings/Display.php:121
|
||||
|
|
@ -843,7 +390,7 @@ msgstr "Zugriff verweigert."
|
|||
#: src/Model/Profile.php:228 src/Module/HCard.php:52
|
||||
#: src/Module/Profile/Common.php:41 src/Module/Profile/Common.php:52
|
||||
#: src/Module/Profile/Contacts.php:40 src/Module/Profile/Contacts.php:50
|
||||
#: src/Module/Profile/Status.php:58 src/Module/Register.php:254
|
||||
#: src/Module/Profile/Status.php:58 src/Module/Register.php:256
|
||||
#: src/Module/RemoteFollow.php:49
|
||||
msgid "User not found."
|
||||
msgstr "Benutzer nicht gefunden."
|
||||
|
|
@ -943,6 +490,28 @@ msgstr "Beitrag bearbeiten"
|
|||
msgid "Save"
|
||||
msgstr "Speichern"
|
||||
|
||||
#: mod/editpost.php:92 mod/photos.php:1375 src/Content/Conversation.php:326
|
||||
#: src/Module/Contact/Poke.php:157 src/Object/Post.php:964
|
||||
msgid "Loading..."
|
||||
msgstr "lädt..."
|
||||
|
||||
#: mod/editpost.php:93 mod/message.php:201 mod/message.php:365
|
||||
#: mod/wallmessage.php:153 src/Content/Conversation.php:327
|
||||
msgid "Upload photo"
|
||||
msgstr "Foto hochladen"
|
||||
|
||||
#: mod/editpost.php:94 src/Content/Conversation.php:328
|
||||
msgid "upload photo"
|
||||
msgstr "Bild hochladen"
|
||||
|
||||
#: mod/editpost.php:95 src/Content/Conversation.php:329
|
||||
msgid "Attach file"
|
||||
msgstr "Datei anhängen"
|
||||
|
||||
#: mod/editpost.php:96 src/Content/Conversation.php:330
|
||||
msgid "attach file"
|
||||
msgstr "Datei anhängen"
|
||||
|
||||
#: mod/editpost.php:97 mod/message.php:202 mod/message.php:366
|
||||
#: mod/wallmessage.php:154
|
||||
msgid "Insert web link"
|
||||
|
|
@ -968,14 +537,89 @@ msgstr "Audio-Adresse einfügen"
|
|||
msgid "audio link"
|
||||
msgstr "Audio-Link"
|
||||
|
||||
#: mod/editpost.php:103 src/Content/Conversation.php:340
|
||||
#: src/Module/Item/Compose.php:161
|
||||
msgid "Set your location"
|
||||
msgstr "Deinen Standort festlegen"
|
||||
|
||||
#: mod/editpost.php:104 src/Content/Conversation.php:341
|
||||
msgid "set location"
|
||||
msgstr "Ort setzen"
|
||||
|
||||
#: mod/editpost.php:105 src/Content/Conversation.php:342
|
||||
msgid "Clear browser location"
|
||||
msgstr "Browser-Standort leeren"
|
||||
|
||||
#: mod/editpost.php:106 src/Content/Conversation.php:343
|
||||
msgid "clear location"
|
||||
msgstr "Ort löschen"
|
||||
|
||||
#: mod/editpost.php:107 mod/message.php:203 mod/message.php:368
|
||||
#: mod/photos.php:1526 mod/wallmessage.php:155
|
||||
#: src/Content/Conversation.php:355 src/Content/Conversation.php:689
|
||||
#: src/Module/Item/Compose.php:165 src/Object/Post.php:502
|
||||
msgid "Please wait"
|
||||
msgstr "Bitte warten"
|
||||
|
||||
#: mod/editpost.php:108 src/Content/Conversation.php:356
|
||||
msgid "Permission settings"
|
||||
msgstr "Berechtigungseinstellungen"
|
||||
|
||||
#: mod/editpost.php:116 src/Core/ACL.php:327
|
||||
msgid "CC: email addresses"
|
||||
msgstr "Cc: E-Mail-Addressen"
|
||||
|
||||
#: mod/editpost.php:117 src/Content/Conversation.php:366
|
||||
msgid "Public post"
|
||||
msgstr "Öffentlicher Beitrag"
|
||||
|
||||
#: mod/editpost.php:120 src/Content/Conversation.php:345
|
||||
#: src/Module/Item/Compose.php:166
|
||||
msgid "Set title"
|
||||
msgstr "Titel setzen"
|
||||
|
||||
#: mod/editpost.php:122 src/Content/Conversation.php:347
|
||||
#: src/Module/Item/Compose.php:167
|
||||
msgid "Categories (comma-separated list)"
|
||||
msgstr "Kategorien (kommasepariert)"
|
||||
|
||||
#: mod/editpost.php:123 src/Core/ACL.php:328
|
||||
msgid "Example: bob@example.com, mary@example.com"
|
||||
msgstr "Z.B.: bob@example.com, mary@example.com"
|
||||
|
||||
#: mod/editpost.php:128 mod/events.php:578 mod/photos.php:1374
|
||||
#: mod/photos.php:1430 mod/photos.php:1504 src/Content/Conversation.php:370
|
||||
#: src/Module/Item/Compose.php:160 src/Object/Post.php:974
|
||||
msgid "Preview"
|
||||
msgstr "Vorschau"
|
||||
|
||||
#: mod/editpost.php:130 mod/fbrowser.php:105 mod/fbrowser.php:134
|
||||
#: mod/follow.php:144 mod/photos.php:1029 mod/photos.php:1136 mod/tagrm.php:37
|
||||
#: mod/tagrm.php:129 mod/unfollow.php:97 src/Content/Conversation.php:373
|
||||
#: src/Module/Contact.php:443 src/Module/RemoteFollow.php:116
|
||||
msgid "Cancel"
|
||||
msgstr "Abbrechen"
|
||||
|
||||
#: mod/editpost.php:134 src/Content/Conversation.php:380
|
||||
#: src/Content/Widget/VCard.php:107 src/Model/Profile.php:459
|
||||
#: src/Module/Admin/Logs/View.php:93
|
||||
msgid "Message"
|
||||
msgstr "Nachricht"
|
||||
|
||||
#: mod/editpost.php:135 src/Content/Conversation.php:381
|
||||
#: src/Module/Settings/TwoFactor/Trusted.php:101
|
||||
msgid "Browser"
|
||||
msgstr "Browser"
|
||||
|
||||
#: mod/editpost.php:136 mod/events.php:583 mod/photos.php:965
|
||||
#: mod/photos.php:1328 src/Content/Conversation.php:357
|
||||
msgid "Permissions"
|
||||
msgstr "Berechtigungen"
|
||||
|
||||
#: mod/editpost.php:138 src/Content/Conversation.php:383
|
||||
msgid "Open Compose page"
|
||||
msgstr "Composer Seite öffnen"
|
||||
|
||||
#: mod/events.php:138 mod/events.php:140
|
||||
msgid "Event can not end before it has started."
|
||||
msgstr "Die Veranstaltung kann nicht enden, bevor sie beginnt."
|
||||
|
|
@ -988,7 +632,7 @@ msgstr "Der Veranstaltungstitel und die Anfangszeit müssen angegeben werden."
|
|||
msgid "Create New Event"
|
||||
msgstr "Neue Veranstaltung erstellen"
|
||||
|
||||
#: mod/events.php:536
|
||||
#: mod/events.php:536 src/Module/Admin/Logs/View.php:97
|
||||
msgid "Event details"
|
||||
msgstr "Veranstaltungsdetails"
|
||||
|
||||
|
|
@ -1011,7 +655,7 @@ msgstr "Veranstaltungsbeginn:"
|
|||
#: src/Module/Install.php:268 src/Module/Install.php:273
|
||||
#: src/Module/Install.php:279 src/Module/Install.php:284
|
||||
#: src/Module/Install.php:298 src/Module/Install.php:313
|
||||
#: src/Module/Install.php:340 src/Module/Register.php:135
|
||||
#: src/Module/Install.php:340 src/Module/Register.php:137
|
||||
#: src/Module/Security/TwoFactor/Verify.php:100
|
||||
#: src/Module/Settings/TwoFactor/Index.php:133
|
||||
#: src/Module/Settings/TwoFactor/Verify.php:141
|
||||
|
|
@ -1037,7 +681,7 @@ msgstr "Beschreibung"
|
|||
|
||||
#: mod/events.php:568 src/Content/Widget/VCard.php:98 src/Model/Event.php:86
|
||||
#: src/Model/Event.php:113 src/Model/Event.php:483 src/Model/Event.php:969
|
||||
#: src/Model/Profile.php:367 src/Module/Contact.php:608
|
||||
#: src/Model/Profile.php:367 src/Module/Contact.php:623
|
||||
#: src/Module/Directory.php:150 src/Module/Notifications/Introductions.php:166
|
||||
#: src/Module/Profile/Profile.php:194
|
||||
msgid "Location:"
|
||||
|
|
@ -1052,18 +696,18 @@ msgid "Share this event"
|
|||
msgstr "Veranstaltung teilen"
|
||||
|
||||
#: mod/events.php:580 mod/message.php:204 mod/message.php:367
|
||||
#: mod/photos.php:947 mod/photos.php:1045 mod/photos.php:1330
|
||||
#: mod/photos.php:1371 mod/photos.php:1427 mod/photos.php:1501
|
||||
#: src/Module/Admin/Item/Source.php:65 src/Module/Contact.php:566
|
||||
#: mod/photos.php:947 mod/photos.php:1046 mod/photos.php:1332
|
||||
#: mod/photos.php:1373 mod/photos.php:1429 mod/photos.php:1503
|
||||
#: src/Module/Admin/Item/Source.php:65 src/Module/Contact.php:581
|
||||
#: src/Module/Contact/Advanced.php:133 src/Module/Contact/Poke.php:158
|
||||
#: src/Module/Debug/ActivityPubConversion.php:141
|
||||
#: src/Module/Debug/Babel.php:313 src/Module/Debug/Localtime.php:64
|
||||
#: src/Module/Debug/Probe.php:56 src/Module/Debug/WebFinger.php:53
|
||||
#: src/Module/Delegation.php:153 src/Module/FriendSuggest.php:129
|
||||
#: src/Module/Delegation.php:147 src/Module/FriendSuggest.php:129
|
||||
#: src/Module/Install.php:245 src/Module/Install.php:287
|
||||
#: src/Module/Install.php:324 src/Module/Invite.php:177
|
||||
#: src/Module/Item/Compose.php:150 src/Module/Profile/Profile.php:247
|
||||
#: src/Module/Settings/Profile/Index.php:220 src/Object/Post.php:962
|
||||
#: src/Module/Settings/Profile/Index.php:220 src/Object/Post.php:963
|
||||
#: view/theme/duepuntozero/config.php:69 view/theme/frio/config.php:160
|
||||
#: view/theme/quattro/config.php:71 view/theme/vier/config.php:119
|
||||
msgid "Submit"
|
||||
|
|
@ -1073,7 +717,7 @@ msgstr "Senden"
|
|||
msgid "Basic"
|
||||
msgstr "Allgemein"
|
||||
|
||||
#: mod/events.php:582 src/Module/Admin/Site.php:505 src/Module/Contact.php:916
|
||||
#: mod/events.php:582 src/Module/Admin/Site.php:505 src/Module/Contact.php:932
|
||||
#: src/Module/Profile/Profile.php:249
|
||||
msgid "Advanced"
|
||||
msgstr "Erweitert"
|
||||
|
|
@ -1116,6 +760,12 @@ msgstr "Diaspora-Unterstützung ist nicht aktiviert. Der Kontakt kann nicht zuge
|
|||
msgid "OStatus support is disabled. Contact can't be added."
|
||||
msgstr "OStatus-Unterstützung ist nicht aktiviert. Der Kontakt kann nicht zugefügt werden."
|
||||
|
||||
#: mod/follow.php:138 src/Content/Item.php:463 src/Content/Widget.php:76
|
||||
#: src/Model/Contact.php:1051 src/Model/Contact.php:1064
|
||||
#: view/theme/vier/theme.php:172
|
||||
msgid "Connect/Follow"
|
||||
msgstr "Verbinden/Folgen"
|
||||
|
||||
#: mod/follow.php:139 src/Module/RemoteFollow.php:114
|
||||
msgid "Please answer the following:"
|
||||
msgstr "Bitte beantworte folgendes:"
|
||||
|
|
@ -1125,13 +775,13 @@ msgid "Your Identity Address:"
|
|||
msgstr "Adresse Deines Profils:"
|
||||
|
||||
#: mod/follow.php:141 mod/unfollow.php:100
|
||||
#: src/Module/Admin/Blocklist/Contact.php:100 src/Module/Contact.php:604
|
||||
#: src/Module/Admin/Blocklist/Contact.php:100 src/Module/Contact.php:619
|
||||
#: src/Module/Notifications/Introductions.php:108
|
||||
#: src/Module/Notifications/Introductions.php:177
|
||||
msgid "Profile URL"
|
||||
msgstr "Profil URL"
|
||||
|
||||
#: mod/follow.php:142 src/Module/Contact.php:616
|
||||
#: mod/follow.php:142 src/Module/Contact.php:631
|
||||
#: src/Module/Notifications/Introductions.php:170
|
||||
#: src/Module/Profile/Profile.php:207
|
||||
msgid "Tags:"
|
||||
|
|
@ -1147,7 +797,7 @@ msgid "Add a personal note:"
|
|||
msgstr "Eine persönliche Notiz beifügen:"
|
||||
|
||||
#: mod/follow.php:163 mod/unfollow.php:109 src/Module/BaseProfile.php:59
|
||||
#: src/Module/Contact.php:894
|
||||
#: src/Module/Contact.php:910
|
||||
msgid "Status Messages and Posts"
|
||||
msgstr "Statusnachrichten und Beiträge"
|
||||
|
||||
|
|
@ -1159,23 +809,23 @@ msgstr "Der Kontakt konnte nicht hinzugefügt werden."
|
|||
msgid "Unable to locate original post."
|
||||
msgstr "Konnte den Originalbeitrag nicht finden."
|
||||
|
||||
#: mod/item.php:340 mod/item.php:345
|
||||
#: mod/item.php:341 mod/item.php:346
|
||||
msgid "Empty post discarded."
|
||||
msgstr "Leerer Beitrag wurde verworfen."
|
||||
|
||||
#: mod/item.php:741
|
||||
#: mod/item.php:742
|
||||
msgid "Post updated."
|
||||
msgstr "Beitrag aktualisiert."
|
||||
|
||||
#: mod/item.php:751 mod/item.php:756
|
||||
#: mod/item.php:752 mod/item.php:757
|
||||
msgid "Item wasn't stored."
|
||||
msgstr "Eintrag wurde nicht gespeichert"
|
||||
|
||||
#: mod/item.php:767
|
||||
#: mod/item.php:768
|
||||
msgid "Item couldn't be fetched."
|
||||
msgstr "Eintrag konnte nicht geholt werden."
|
||||
|
||||
#: mod/item.php:913 src/Module/Admin/Themes/Details.php:39
|
||||
#: mod/item.php:914 src/Module/Admin/Themes/Details.php:39
|
||||
#: src/Module/Admin/Themes/Index.php:59 src/Module/Debug/ItemBody.php:41
|
||||
#: src/Module/Debug/ItemBody.php:56
|
||||
msgid "Item not found."
|
||||
|
|
@ -1502,11 +1152,11 @@ msgstr "Lasse dieses Fenster offen, bis der Vorgang abgeschlossen ist."
|
|||
msgid "Photo Albums"
|
||||
msgstr "Fotoalben"
|
||||
|
||||
#: mod/photos.php:112 mod/photos.php:1626
|
||||
#: mod/photos.php:112 mod/photos.php:1628
|
||||
msgid "Recent Photos"
|
||||
msgstr "Neueste Fotos"
|
||||
|
||||
#: mod/photos.php:114 mod/photos.php:1096 mod/photos.php:1628
|
||||
#: mod/photos.php:114 mod/photos.php:1097 mod/photos.php:1630
|
||||
msgid "Upload New Photos"
|
||||
msgstr "Neue Fotos hochladen"
|
||||
|
||||
|
|
@ -1589,7 +1239,7 @@ msgstr "Zugriff zu diesem Eintrag wurde eingeschränkt."
|
|||
msgid "Upload Photos"
|
||||
msgstr "Bilder hochladen"
|
||||
|
||||
#: mod/photos.php:961 mod/photos.php:1041
|
||||
#: mod/photos.php:961 mod/photos.php:1042
|
||||
msgid "New album name: "
|
||||
msgstr "Name des neuen Albums: "
|
||||
|
||||
|
|
@ -1605,139 +1255,151 @@ msgstr "Keine Status-Mitteilung für diesen Beitrag anzeigen"
|
|||
msgid "Do you really want to delete this photo album and all its photos?"
|
||||
msgstr "Möchtest du wirklich dieses Foto-Album und all seine Foto löschen?"
|
||||
|
||||
#: mod/photos.php:1025 mod/photos.php:1046
|
||||
#: mod/photos.php:1025 mod/photos.php:1047
|
||||
msgid "Delete Album"
|
||||
msgstr "Album löschen"
|
||||
|
||||
#: mod/photos.php:1052
|
||||
#: mod/photos.php:1053
|
||||
msgid "Edit Album"
|
||||
msgstr "Album bearbeiten"
|
||||
|
||||
#: mod/photos.php:1053
|
||||
#: mod/photos.php:1054
|
||||
msgid "Drop Album"
|
||||
msgstr "Album löschen"
|
||||
|
||||
#: mod/photos.php:1058
|
||||
#: mod/photos.php:1059
|
||||
msgid "Show Newest First"
|
||||
msgstr "Zeige neueste zuerst"
|
||||
|
||||
#: mod/photos.php:1060
|
||||
#: mod/photos.php:1061
|
||||
msgid "Show Oldest First"
|
||||
msgstr "Zeige älteste zuerst"
|
||||
|
||||
#: mod/photos.php:1081 mod/photos.php:1611
|
||||
#: mod/photos.php:1082 mod/photos.php:1613
|
||||
msgid "View Photo"
|
||||
msgstr "Foto betrachten"
|
||||
|
||||
#: mod/photos.php:1118
|
||||
#: mod/photos.php:1119
|
||||
msgid "Permission denied. Access to this item may be restricted."
|
||||
msgstr "Zugriff verweigert. Zugriff zu diesem Eintrag könnte eingeschränkt sein."
|
||||
|
||||
#: mod/photos.php:1120
|
||||
#: mod/photos.php:1121
|
||||
msgid "Photo not available"
|
||||
msgstr "Foto nicht verfügbar"
|
||||
|
||||
#: mod/photos.php:1130
|
||||
#: mod/photos.php:1131
|
||||
msgid "Do you really want to delete this photo?"
|
||||
msgstr "Möchtest du wirklich dieses Foto löschen?"
|
||||
|
||||
#: mod/photos.php:1131 mod/photos.php:1331
|
||||
#: mod/photos.php:1132 mod/photos.php:1333
|
||||
msgid "Delete Photo"
|
||||
msgstr "Foto löschen"
|
||||
|
||||
#: mod/photos.php:1222
|
||||
#: mod/photos.php:1224
|
||||
msgid "View photo"
|
||||
msgstr "Fotos ansehen"
|
||||
|
||||
#: mod/photos.php:1224
|
||||
#: mod/photos.php:1226
|
||||
msgid "Edit photo"
|
||||
msgstr "Foto bearbeiten"
|
||||
|
||||
#: mod/photos.php:1225
|
||||
#: mod/photos.php:1227
|
||||
msgid "Delete photo"
|
||||
msgstr "Foto löschen"
|
||||
|
||||
#: mod/photos.php:1226
|
||||
#: mod/photos.php:1228
|
||||
msgid "Use as profile photo"
|
||||
msgstr "Als Profilbild verwenden"
|
||||
|
||||
#: mod/photos.php:1233
|
||||
#: mod/photos.php:1235
|
||||
msgid "Private Photo"
|
||||
msgstr "Privates Foto"
|
||||
|
||||
#: mod/photos.php:1239
|
||||
#: mod/photos.php:1241
|
||||
msgid "View Full Size"
|
||||
msgstr "Betrachte Originalgröße"
|
||||
|
||||
#: mod/photos.php:1299
|
||||
#: mod/photos.php:1301
|
||||
msgid "Tags: "
|
||||
msgstr "Tags: "
|
||||
|
||||
#: mod/photos.php:1302
|
||||
#: mod/photos.php:1304
|
||||
msgid "[Select tags to remove]"
|
||||
msgstr "[Zu entfernende Tags auswählen]"
|
||||
|
||||
#: mod/photos.php:1317
|
||||
#: mod/photos.php:1319
|
||||
msgid "New album name"
|
||||
msgstr "Name des neuen Albums"
|
||||
|
||||
#: mod/photos.php:1318
|
||||
#: mod/photos.php:1320
|
||||
msgid "Caption"
|
||||
msgstr "Bildunterschrift"
|
||||
|
||||
#: mod/photos.php:1319
|
||||
#: mod/photos.php:1321
|
||||
msgid "Add a Tag"
|
||||
msgstr "Tag hinzufügen"
|
||||
|
||||
#: mod/photos.php:1319
|
||||
#: mod/photos.php:1321
|
||||
msgid ""
|
||||
"Example: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping"
|
||||
msgstr "Beispiel: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping"
|
||||
|
||||
#: mod/photos.php:1320
|
||||
#: mod/photos.php:1322
|
||||
msgid "Do not rotate"
|
||||
msgstr "Nicht rotieren"
|
||||
|
||||
#: mod/photos.php:1321
|
||||
#: mod/photos.php:1323
|
||||
msgid "Rotate CW (right)"
|
||||
msgstr "Drehen US (rechts)"
|
||||
|
||||
#: mod/photos.php:1322
|
||||
#: mod/photos.php:1324
|
||||
msgid "Rotate CCW (left)"
|
||||
msgstr "Drehen EUS (links)"
|
||||
|
||||
#: mod/photos.php:1368 mod/photos.php:1424 mod/photos.php:1498
|
||||
#: src/Module/Contact.php:1046 src/Module/Item/Compose.php:148
|
||||
#: src/Object/Post.php:959
|
||||
#: mod/photos.php:1370 mod/photos.php:1426 mod/photos.php:1500
|
||||
#: src/Module/Contact.php:1062 src/Module/Item/Compose.php:148
|
||||
#: src/Object/Post.php:960
|
||||
msgid "This is you"
|
||||
msgstr "Das bist du"
|
||||
|
||||
#: mod/photos.php:1370 mod/photos.php:1426 mod/photos.php:1500
|
||||
#: src/Object/Post.php:495 src/Object/Post.php:961
|
||||
#: mod/photos.php:1372 mod/photos.php:1428 mod/photos.php:1502
|
||||
#: src/Object/Post.php:496 src/Object/Post.php:962
|
||||
msgid "Comment"
|
||||
msgstr "Kommentar"
|
||||
|
||||
#: mod/photos.php:1521 src/Object/Post.php:348
|
||||
#: mod/photos.php:1461 src/Content/Conversation.php:615
|
||||
#: src/Object/Post.php:227
|
||||
msgid "Select"
|
||||
msgstr "Auswählen"
|
||||
|
||||
#: mod/photos.php:1462 mod/settings.php:573 src/Content/Conversation.php:616
|
||||
#: src/Module/Admin/Users/Active.php:139
|
||||
#: src/Module/Admin/Users/Blocked.php:140 src/Module/Admin/Users/Index.php:153
|
||||
#: src/Module/Contact.php:865 src/Module/Contact.php:1150
|
||||
msgid "Delete"
|
||||
msgstr "Löschen"
|
||||
|
||||
#: mod/photos.php:1523 src/Object/Post.php:349
|
||||
msgid "Like"
|
||||
msgstr "Mag ich"
|
||||
|
||||
#: mod/photos.php:1522 src/Object/Post.php:348
|
||||
#: mod/photos.php:1524 src/Object/Post.php:349
|
||||
msgid "I like this (toggle)"
|
||||
msgstr "Ich mag das (toggle)"
|
||||
|
||||
#: mod/photos.php:1523 src/Object/Post.php:349
|
||||
#: mod/photos.php:1525 src/Object/Post.php:350
|
||||
msgid "Dislike"
|
||||
msgstr "Mag ich nicht"
|
||||
|
||||
#: mod/photos.php:1525 src/Object/Post.php:349
|
||||
#: mod/photos.php:1527 src/Object/Post.php:350
|
||||
msgid "I don't like this (toggle)"
|
||||
msgstr "Ich mag das nicht (toggle)"
|
||||
|
||||
#: mod/photos.php:1547
|
||||
#: mod/photos.php:1549
|
||||
msgid "Map"
|
||||
msgstr "Karte"
|
||||
|
||||
#: mod/photos.php:1617 mod/videos.php:243
|
||||
#: mod/photos.php:1619 mod/videos.php:243
|
||||
msgid "View Album"
|
||||
msgstr "Album betrachten"
|
||||
|
||||
|
|
@ -2220,7 +1882,7 @@ msgstr "Kontoeinstellungen"
|
|||
msgid "Password Settings"
|
||||
msgstr "Passwort-Einstellungen"
|
||||
|
||||
#: mod/settings.php:719 src/Module/Register.php:149
|
||||
#: mod/settings.php:719 src/Module/Register.php:151
|
||||
msgid "New Password:"
|
||||
msgstr "Neues Passwort:"
|
||||
|
||||
|
|
@ -2230,7 +1892,7 @@ msgid ""
|
|||
"spaces, accentuated letters and colon (:)."
|
||||
msgstr "Erlaubte Zeichen sind a-z, A-Z, 0-9 und Sonderzeichen, abgesehen von Leerzeichen, Doppelpunkten (:) und akzentuierten Buchstaben."
|
||||
|
||||
#: mod/settings.php:720 src/Module/Register.php:150
|
||||
#: mod/settings.php:720 src/Module/Register.php:152
|
||||
msgid "Confirm:"
|
||||
msgstr "Bestätigen:"
|
||||
|
||||
|
|
@ -2588,6 +2250,19 @@ msgstr "Keine Vorschläge verfügbar. Falls der Server frisch aufgesetzt wurde,
|
|||
msgid "Friend Suggestions"
|
||||
msgstr "Kontaktvorschläge"
|
||||
|
||||
#: mod/tagger.php:90 src/Content/Item.php:346 src/Model/Item.php:2624
|
||||
msgid "photo"
|
||||
msgstr "Foto"
|
||||
|
||||
#: mod/tagger.php:90 src/Content/Item.php:341 src/Content/Item.php:350
|
||||
msgid "status"
|
||||
msgstr "Status"
|
||||
|
||||
#: mod/tagger.php:123 src/Content/Item.php:360
|
||||
#, php-format
|
||||
msgid "%1$s tagged %2$s's %3$s with %4$s"
|
||||
msgstr "%1$s hat %2$ss %3$s mit %4$s getaggt"
|
||||
|
||||
#: mod/tagrm.php:115
|
||||
msgid "Remove Item Tag"
|
||||
msgstr "Gegenstands-Tag entfernen"
|
||||
|
|
@ -2605,13 +2280,13 @@ msgstr "Entfernen"
|
|||
msgid "User imports on closed servers can only be done by an administrator."
|
||||
msgstr "Auf geschlossenen Servern können ausschließlich die Administratoren Benutzerkonten importieren."
|
||||
|
||||
#: mod/uimport.php:54 src/Module/Register.php:84
|
||||
#: mod/uimport.php:54 src/Module/Register.php:86
|
||||
msgid ""
|
||||
"This site has exceeded the number of allowed daily account registrations. "
|
||||
"Please try again tomorrow."
|
||||
msgstr "Die maximale Anzahl täglicher Registrierungen auf dieser Seite wurde überschritten. Bitte versuche es morgen noch einmal."
|
||||
|
||||
#: mod/uimport.php:61 src/Module/Register.php:160
|
||||
#: mod/uimport.php:61 src/Module/Register.php:162
|
||||
msgid "Import"
|
||||
msgstr "Import"
|
||||
|
||||
|
|
@ -2721,7 +2396,7 @@ msgid ""
|
|||
"your site allow private mail from unknown senders."
|
||||
msgstr "Wenn du möchtest, dass %s dir antworten kann, überprüfe deine Privatsphären-Einstellungen und erlaube private Nachrichten von unbekannten Absendern."
|
||||
|
||||
#: src/App.php:452
|
||||
#: src/App.php:453
|
||||
msgid "No system theme config value set."
|
||||
msgstr "Es wurde kein Konfigurationswert für das systemweite Theme gesetzt."
|
||||
|
||||
|
|
@ -2763,18 +2438,18 @@ msgid "All contacts"
|
|||
msgstr "Alle Kontakte"
|
||||
|
||||
#: src/BaseModule.php:212 src/Content/Widget.php:238 src/Core/ACL.php:195
|
||||
#: src/Module/Contact.php:816 src/Module/PermissionTooltip.php:77
|
||||
#: src/Module/Contact.php:831 src/Module/PermissionTooltip.php:77
|
||||
#: src/Module/PermissionTooltip.php:99
|
||||
msgid "Followers"
|
||||
msgstr "Folgende"
|
||||
|
||||
#: src/BaseModule.php:217 src/Content/Widget.php:239
|
||||
#: src/Module/Contact.php:817
|
||||
#: src/Module/Contact.php:832
|
||||
msgid "Following"
|
||||
msgstr "Gefolgte"
|
||||
|
||||
#: src/BaseModule.php:222 src/Content/Widget.php:240
|
||||
#: src/Module/Contact.php:818
|
||||
#: src/Module/Contact.php:833
|
||||
msgid "Mutual friends"
|
||||
msgstr "Beidseitige Freundschaft"
|
||||
|
||||
|
|
@ -2992,6 +2667,268 @@ msgstr "pnut"
|
|||
msgid "%s (via %s)"
|
||||
msgstr "%s (via %s)"
|
||||
|
||||
#: src/Content/Conversation.php:207
|
||||
#, php-format
|
||||
msgid "%s likes this."
|
||||
msgstr "%s mag das."
|
||||
|
||||
#: src/Content/Conversation.php:210
|
||||
#, php-format
|
||||
msgid "%s doesn't like this."
|
||||
msgstr "%s mag das nicht."
|
||||
|
||||
#: src/Content/Conversation.php:213
|
||||
#, php-format
|
||||
msgid "%s attends."
|
||||
msgstr "%s nimmt teil."
|
||||
|
||||
#: src/Content/Conversation.php:216
|
||||
#, php-format
|
||||
msgid "%s doesn't attend."
|
||||
msgstr "%s nimmt nicht teil."
|
||||
|
||||
#: src/Content/Conversation.php:219
|
||||
#, php-format
|
||||
msgid "%s attends maybe."
|
||||
msgstr "%s nimmt eventuell teil."
|
||||
|
||||
#: src/Content/Conversation.php:222 src/Content/Conversation.php:260
|
||||
#: src/Content/Conversation.php:848
|
||||
#, php-format
|
||||
msgid "%s reshared this."
|
||||
msgstr "%s hat dies geteilt"
|
||||
|
||||
#: src/Content/Conversation.php:228
|
||||
msgid "and"
|
||||
msgstr "und"
|
||||
|
||||
#: src/Content/Conversation.php:231
|
||||
#, php-format
|
||||
msgid "and %d other people"
|
||||
msgstr "und %dandere"
|
||||
|
||||
#: src/Content/Conversation.php:239
|
||||
#, php-format
|
||||
msgid "<span %1$s>%2$d people</span> like this"
|
||||
msgstr "<span %1$s>%2$d Personen</span> mögen das"
|
||||
|
||||
#: src/Content/Conversation.php:240
|
||||
#, php-format
|
||||
msgid "%s like this."
|
||||
msgstr "%s mögen das."
|
||||
|
||||
#: src/Content/Conversation.php:243
|
||||
#, php-format
|
||||
msgid "<span %1$s>%2$d people</span> don't like this"
|
||||
msgstr "<span %1$s>%2$d Personen</span> mögen das nicht"
|
||||
|
||||
#: src/Content/Conversation.php:244
|
||||
#, php-format
|
||||
msgid "%s don't like this."
|
||||
msgstr "%s mögen dies nicht."
|
||||
|
||||
#: src/Content/Conversation.php:247
|
||||
#, php-format
|
||||
msgid "<span %1$s>%2$d people</span> attend"
|
||||
msgstr "<span %1$s>%2$d Personen</span> nehmen teil"
|
||||
|
||||
#: src/Content/Conversation.php:248
|
||||
#, php-format
|
||||
msgid "%s attend."
|
||||
msgstr "%s nehmen teil."
|
||||
|
||||
#: src/Content/Conversation.php:251
|
||||
#, php-format
|
||||
msgid "<span %1$s>%2$d people</span> don't attend"
|
||||
msgstr "<span %1$s>%2$d Personen</span> nehmen nicht teil"
|
||||
|
||||
#: src/Content/Conversation.php:252
|
||||
#, php-format
|
||||
msgid "%s don't attend."
|
||||
msgstr "%s nehmen nicht teil."
|
||||
|
||||
#: src/Content/Conversation.php:255
|
||||
#, php-format
|
||||
msgid "<span %1$s>%2$d people</span> attend maybe"
|
||||
msgstr "<span %1$s>%2$d Personen</span> nehmen eventuell teil"
|
||||
|
||||
#: src/Content/Conversation.php:256
|
||||
#, php-format
|
||||
msgid "%s attend maybe."
|
||||
msgstr "%s nimmt eventuell teil."
|
||||
|
||||
#: src/Content/Conversation.php:259
|
||||
#, php-format
|
||||
msgid "<span %1$s>%2$d people</span> reshared this"
|
||||
msgstr "<span %1$s>%2$d Personen</span> haben dies geteilt"
|
||||
|
||||
#: src/Content/Conversation.php:307
|
||||
msgid "Visible to <strong>everybody</strong>"
|
||||
msgstr "Für <strong>jedermann</strong> sichtbar"
|
||||
|
||||
#: src/Content/Conversation.php:308 src/Module/Item/Compose.php:159
|
||||
#: src/Object/Post.php:973
|
||||
msgid "Please enter a image/video/audio/webpage URL:"
|
||||
msgstr "Bitte gib eine Bild/Video/Audio/Webseiten-URL ein:"
|
||||
|
||||
#: src/Content/Conversation.php:309
|
||||
msgid "Tag term:"
|
||||
msgstr "Tag:"
|
||||
|
||||
#: src/Content/Conversation.php:310 src/Module/Filer/SaveTag.php:68
|
||||
msgid "Save to Folder:"
|
||||
msgstr "In diesem Ordner speichern:"
|
||||
|
||||
#: src/Content/Conversation.php:311
|
||||
msgid "Where are you right now?"
|
||||
msgstr "Wo hältst du dich jetzt gerade auf?"
|
||||
|
||||
#: src/Content/Conversation.php:312
|
||||
msgid "Delete item(s)?"
|
||||
msgstr "Einträge löschen?"
|
||||
|
||||
#: src/Content/Conversation.php:322
|
||||
msgid "New Post"
|
||||
msgstr "Neuer Beitrag"
|
||||
|
||||
#: src/Content/Conversation.php:325
|
||||
msgid "Share"
|
||||
msgstr "Teilen"
|
||||
|
||||
#: src/Content/Conversation.php:331 src/Module/Item/Compose.php:151
|
||||
#: src/Object/Post.php:965
|
||||
msgid "Bold"
|
||||
msgstr "Fett"
|
||||
|
||||
#: src/Content/Conversation.php:332 src/Module/Item/Compose.php:152
|
||||
#: src/Object/Post.php:966
|
||||
msgid "Italic"
|
||||
msgstr "Kursiv"
|
||||
|
||||
#: src/Content/Conversation.php:333 src/Module/Item/Compose.php:153
|
||||
#: src/Object/Post.php:967
|
||||
msgid "Underline"
|
||||
msgstr "Unterstrichen"
|
||||
|
||||
#: src/Content/Conversation.php:334 src/Module/Item/Compose.php:154
|
||||
#: src/Object/Post.php:968
|
||||
msgid "Quote"
|
||||
msgstr "Zitat"
|
||||
|
||||
#: src/Content/Conversation.php:335 src/Module/Item/Compose.php:155
|
||||
#: src/Object/Post.php:969
|
||||
msgid "Code"
|
||||
msgstr "Code"
|
||||
|
||||
#: src/Content/Conversation.php:336 src/Module/Item/Compose.php:156
|
||||
#: src/Object/Post.php:970
|
||||
msgid "Image"
|
||||
msgstr "Bild"
|
||||
|
||||
#: src/Content/Conversation.php:337 src/Module/Item/Compose.php:157
|
||||
#: src/Object/Post.php:971
|
||||
msgid "Link"
|
||||
msgstr "Link"
|
||||
|
||||
#: src/Content/Conversation.php:338 src/Module/Item/Compose.php:158
|
||||
#: src/Object/Post.php:972
|
||||
msgid "Link or Media"
|
||||
msgstr "Link oder Mediendatei"
|
||||
|
||||
#: src/Content/Conversation.php:339
|
||||
msgid "Video"
|
||||
msgstr "Video"
|
||||
|
||||
#: src/Content/Conversation.php:352 src/Module/Item/Compose.php:172
|
||||
msgid "Scheduled at"
|
||||
msgstr "Geplant für"
|
||||
|
||||
#: src/Content/Conversation.php:651 src/Object/Post.php:454
|
||||
#: src/Object/Post.php:455
|
||||
#, php-format
|
||||
msgid "View %s's profile @ %s"
|
||||
msgstr "Das Profil von %s auf %s betrachten."
|
||||
|
||||
#: src/Content/Conversation.php:664 src/Object/Post.php:442
|
||||
msgid "Categories:"
|
||||
msgstr "Kategorien:"
|
||||
|
||||
#: src/Content/Conversation.php:665 src/Object/Post.php:443
|
||||
msgid "Filed under:"
|
||||
msgstr "Abgelegt unter:"
|
||||
|
||||
#: src/Content/Conversation.php:672 src/Object/Post.php:468
|
||||
#, php-format
|
||||
msgid "%s from %s"
|
||||
msgstr "%s von %s"
|
||||
|
||||
#: src/Content/Conversation.php:687
|
||||
msgid "View in context"
|
||||
msgstr "Im Zusammenhang betrachten"
|
||||
|
||||
#: src/Content/Conversation.php:752
|
||||
msgid "remove"
|
||||
msgstr "löschen"
|
||||
|
||||
#: src/Content/Conversation.php:756
|
||||
msgid "Delete Selected Items"
|
||||
msgstr "Lösche die markierten Beiträge"
|
||||
|
||||
#: src/Content/Conversation.php:820 src/Content/Conversation.php:823
|
||||
#: src/Content/Conversation.php:826 src/Content/Conversation.php:829
|
||||
#, php-format
|
||||
msgid "You had been addressed (%s)."
|
||||
msgstr "Du wurdest angeschrieben (%s)."
|
||||
|
||||
#: src/Content/Conversation.php:832
|
||||
#, php-format
|
||||
msgid "You are following %s."
|
||||
msgstr "Du folgst %s."
|
||||
|
||||
#: src/Content/Conversation.php:835
|
||||
msgid "Tagged"
|
||||
msgstr "Verschlagwortet"
|
||||
|
||||
#: src/Content/Conversation.php:850
|
||||
msgid "Reshared"
|
||||
msgstr "Geteilt"
|
||||
|
||||
#: src/Content/Conversation.php:850
|
||||
#, php-format
|
||||
msgid "Reshared by %s <%s>"
|
||||
msgstr "Geteilt von %s <%s>"
|
||||
|
||||
#: src/Content/Conversation.php:853
|
||||
#, php-format
|
||||
msgid "%s is participating in this thread."
|
||||
msgstr "%s ist an der Unterhaltung beteiligt."
|
||||
|
||||
#: src/Content/Conversation.php:856
|
||||
msgid "Stored"
|
||||
msgstr "Gespeichert"
|
||||
|
||||
#: src/Content/Conversation.php:859
|
||||
msgid "Global"
|
||||
msgstr "Global"
|
||||
|
||||
#: src/Content/Conversation.php:862
|
||||
msgid "Relayed"
|
||||
msgstr "Übermittelt"
|
||||
|
||||
#: src/Content/Conversation.php:862
|
||||
#, php-format
|
||||
msgid "Relayed by %s <%s>"
|
||||
msgstr "Weitergeleitet von %s <%s>"
|
||||
|
||||
#: src/Content/Conversation.php:865
|
||||
msgid "Fetched"
|
||||
msgstr "Abgerufen"
|
||||
|
||||
#: src/Content/Conversation.php:865
|
||||
#, php-format
|
||||
msgid "Fetched because of %s <%s>"
|
||||
msgstr "Wegen %s <%s> abgerufen"
|
||||
|
||||
#: src/Content/Feature.php:96
|
||||
msgid "General Features"
|
||||
msgstr "Allgemeine Features"
|
||||
|
|
@ -3097,6 +3034,70 @@ msgstr "weniger anzeigen"
|
|||
msgid "show more"
|
||||
msgstr "mehr anzeigen"
|
||||
|
||||
#: src/Content/Item.php:305
|
||||
#, php-format
|
||||
msgid "%1$s poked %2$s"
|
||||
msgstr "%1$s stupste %2$s"
|
||||
|
||||
#: src/Content/Item.php:338 src/Model/Item.php:2622
|
||||
msgid "event"
|
||||
msgstr "Veranstaltung"
|
||||
|
||||
#: src/Content/Item.php:442 view/theme/frio/theme.php:323
|
||||
msgid "Follow Thread"
|
||||
msgstr "Folge der Unterhaltung"
|
||||
|
||||
#: src/Content/Item.php:443 src/Model/Contact.php:1056
|
||||
msgid "View Status"
|
||||
msgstr "Status anschauen"
|
||||
|
||||
#: src/Content/Item.php:444 src/Content/Item.php:466 src/Model/Contact.php:982
|
||||
#: src/Model/Contact.php:1048 src/Model/Contact.php:1057
|
||||
#: src/Module/Directory.php:160 src/Module/Settings/Profile/Index.php:223
|
||||
msgid "View Profile"
|
||||
msgstr "Profil anschauen"
|
||||
|
||||
#: src/Content/Item.php:445 src/Model/Contact.php:1058
|
||||
msgid "View Photos"
|
||||
msgstr "Bilder anschauen"
|
||||
|
||||
#: src/Content/Item.php:446 src/Model/Contact.php:1049
|
||||
#: src/Model/Contact.php:1059
|
||||
msgid "Network Posts"
|
||||
msgstr "Netzwerkbeiträge"
|
||||
|
||||
#: src/Content/Item.php:447 src/Model/Contact.php:1050
|
||||
#: src/Model/Contact.php:1060
|
||||
msgid "View Contact"
|
||||
msgstr "Kontakt anzeigen"
|
||||
|
||||
#: src/Content/Item.php:448 src/Model/Contact.php:1062
|
||||
msgid "Send PM"
|
||||
msgstr "Private Nachricht senden"
|
||||
|
||||
#: src/Content/Item.php:449 src/Module/Admin/Blocklist/Contact.php:84
|
||||
#: src/Module/Admin/Users/Active.php:140 src/Module/Admin/Users/Index.php:154
|
||||
#: src/Module/Contact.php:602 src/Module/Contact.php:863
|
||||
#: src/Module/Contact.php:1133
|
||||
msgid "Block"
|
||||
msgstr "Sperren"
|
||||
|
||||
#: src/Content/Item.php:450 src/Module/Contact.php:603
|
||||
#: src/Module/Contact.php:864 src/Module/Contact.php:1141
|
||||
#: src/Module/Notifications/Introductions.php:113
|
||||
#: src/Module/Notifications/Introductions.php:185
|
||||
#: src/Module/Notifications/Notification.php:59
|
||||
msgid "Ignore"
|
||||
msgstr "Ignorieren"
|
||||
|
||||
#: src/Content/Item.php:454 src/Object/Post.php:429
|
||||
msgid "Languages"
|
||||
msgstr "Sprachen"
|
||||
|
||||
#: src/Content/Item.php:458 src/Model/Contact.php:1063
|
||||
msgid "Poke"
|
||||
msgstr "Anstupsen"
|
||||
|
||||
#: src/Content/Nav.php:90
|
||||
msgid "Nothing new here"
|
||||
msgstr "Keine Neuigkeiten"
|
||||
|
|
@ -3121,7 +3122,7 @@ msgstr "Abmelden"
|
|||
msgid "End this session"
|
||||
msgstr "Diese Sitzung beenden"
|
||||
|
||||
#: src/Content/Nav.php:185 src/Module/Bookmarklet.php:45
|
||||
#: src/Content/Nav.php:185 src/Module/Bookmarklet.php:44
|
||||
#: src/Module/Security/Login.php:146
|
||||
msgid "Login"
|
||||
msgstr "Anmeldung"
|
||||
|
|
@ -3131,7 +3132,7 @@ msgid "Sign in"
|
|||
msgstr "Anmelden"
|
||||
|
||||
#: src/Content/Nav.php:190 src/Module/BaseProfile.php:56
|
||||
#: src/Module/Contact.php:619 src/Module/Contact.php:883
|
||||
#: src/Module/Contact.php:634 src/Module/Contact.php:899
|
||||
#: src/Module/Settings/TwoFactor/Index.php:112 view/theme/frio/theme.php:226
|
||||
msgid "Status"
|
||||
msgstr "Status"
|
||||
|
|
@ -3142,8 +3143,8 @@ msgid "Your posts and conversations"
|
|||
msgstr "Deine Beiträge und Unterhaltungen"
|
||||
|
||||
#: src/Content/Nav.php:191 src/Module/BaseProfile.php:48
|
||||
#: src/Module/BaseSettings.php:57 src/Module/Contact.php:621
|
||||
#: src/Module/Contact.php:899 src/Module/Profile/Profile.php:241
|
||||
#: src/Module/BaseSettings.php:57 src/Module/Contact.php:636
|
||||
#: src/Module/Contact.php:915 src/Module/Profile/Profile.php:241
|
||||
#: src/Module/Welcome.php:57 view/theme/frio/theme.php:227
|
||||
msgid "Profile"
|
||||
msgstr "Profil"
|
||||
|
|
@ -3180,7 +3181,7 @@ msgstr "Deine persönlichen Notizen"
|
|||
msgid "Home"
|
||||
msgstr "Pinnwand"
|
||||
|
||||
#: src/Content/Nav.php:216 src/Module/Register.php:155
|
||||
#: src/Content/Nav.php:216 src/Module/Register.php:157
|
||||
#: src/Module/Security/Login.php:106
|
||||
msgid "Register"
|
||||
msgstr "Registrieren"
|
||||
|
|
@ -3210,7 +3211,7 @@ msgid "Addon applications, utilities, games"
|
|||
msgstr "Zusätzliche Anwendungen, Dienstprogramme, Spiele"
|
||||
|
||||
#: src/Content/Nav.php:230 src/Content/Text/HTML.php:891
|
||||
#: src/Module/Search/Index.php:99
|
||||
#: src/Module/Admin/Logs/View.php:87 src/Module/Search/Index.php:99
|
||||
msgid "Search"
|
||||
msgstr "Suche"
|
||||
|
||||
|
|
@ -3229,8 +3230,8 @@ msgstr "Tags"
|
|||
|
||||
#: src/Content/Nav.php:235 src/Content/Nav.php:294
|
||||
#: src/Content/Text/HTML.php:902 src/Module/BaseProfile.php:126
|
||||
#: src/Module/BaseProfile.php:129 src/Module/Contact.php:819
|
||||
#: src/Module/Contact.php:906 view/theme/frio/theme.php:237
|
||||
#: src/Module/BaseProfile.php:129 src/Module/Contact.php:834
|
||||
#: src/Module/Contact.php:922 view/theme/frio/theme.php:237
|
||||
msgid "Contacts"
|
||||
msgstr "Kontakte"
|
||||
|
||||
|
|
@ -3264,7 +3265,7 @@ msgid "Information about this friendica instance"
|
|||
msgstr "Informationen zu dieser Friendica-Instanz"
|
||||
|
||||
#: src/Content/Nav.php:266 src/Module/Admin/Tos.php:59
|
||||
#: src/Module/BaseAdmin.php:96 src/Module/Register.php:163
|
||||
#: src/Module/BaseAdmin.php:96 src/Module/Register.php:165
|
||||
#: src/Module/Tos.php:84
|
||||
msgid "Terms of Service"
|
||||
msgstr "Nutzungsbedingungen"
|
||||
|
|
@ -3376,38 +3377,38 @@ msgstr "nächste"
|
|||
msgid "last"
|
||||
msgstr "letzte"
|
||||
|
||||
#: src/Content/Text/BBCode.php:980 src/Content/Text/BBCode.php:1768
|
||||
#: src/Content/Text/BBCode.php:1769
|
||||
#: src/Content/Text/BBCode.php:987 src/Content/Text/BBCode.php:1775
|
||||
#: src/Content/Text/BBCode.php:1776
|
||||
msgid "Image/photo"
|
||||
msgstr "Bild/Foto"
|
||||
|
||||
#: src/Content/Text/BBCode.php:1153
|
||||
#: src/Content/Text/BBCode.php:1160
|
||||
#, php-format
|
||||
msgid "<a href=\"%1$s\" target=\"_blank\" rel=\"noopener noreferrer\">%2$s</a> %3$s"
|
||||
msgstr "<a href=\"%1$s\" target=\"_blank\" rel=\"noopener noreferrer\">%2$s</a>%3$s"
|
||||
|
||||
#: src/Content/Text/BBCode.php:1178 src/Model/Item.php:3139
|
||||
#: src/Model/Item.php:3145 src/Model/Item.php:3146
|
||||
#: src/Content/Text/BBCode.php:1185 src/Model/Item.php:3152
|
||||
#: src/Model/Item.php:3158 src/Model/Item.php:3159
|
||||
msgid "Link to source"
|
||||
msgstr "Link zum Originalbeitrag"
|
||||
|
||||
#: src/Content/Text/BBCode.php:1686 src/Content/Text/HTML.php:943
|
||||
#: src/Content/Text/BBCode.php:1693 src/Content/Text/HTML.php:943
|
||||
msgid "Click to open/close"
|
||||
msgstr "Zum Öffnen/Schließen klicken"
|
||||
|
||||
#: src/Content/Text/BBCode.php:1717
|
||||
#: src/Content/Text/BBCode.php:1724
|
||||
msgid "$1 wrote:"
|
||||
msgstr "$1 hat geschrieben:"
|
||||
|
||||
#: src/Content/Text/BBCode.php:1773 src/Content/Text/BBCode.php:1774
|
||||
#: src/Content/Text/BBCode.php:1780 src/Content/Text/BBCode.php:1781
|
||||
msgid "Encrypted content"
|
||||
msgstr "Verschlüsselter Inhalt"
|
||||
|
||||
#: src/Content/Text/BBCode.php:1990
|
||||
#: src/Content/Text/BBCode.php:1997
|
||||
msgid "Invalid source protocol"
|
||||
msgstr "Ungültiges Quell-Protokoll"
|
||||
|
||||
#: src/Content/Text/BBCode.php:2005
|
||||
#: src/Content/Text/BBCode.php:2012
|
||||
msgid "Invalid link protocol"
|
||||
msgstr "Ungültiges Link-Protokoll"
|
||||
|
||||
|
|
@ -3459,7 +3460,7 @@ msgstr "Name oder Interessen eingeben"
|
|||
msgid "Examples: Robert Morgenstein, Fishing"
|
||||
msgstr "Beispiel: Robert Morgenstein, Angeln"
|
||||
|
||||
#: src/Content/Widget.php:78 src/Module/Contact.php:840
|
||||
#: src/Content/Widget.php:78 src/Module/Contact.php:855
|
||||
#: src/Module/Directory.php:99 view/theme/vier/theme.php:174
|
||||
msgid "Find"
|
||||
msgstr "Finde"
|
||||
|
|
@ -3486,7 +3487,7 @@ msgid "Local Directory"
|
|||
msgstr "Lokales Verzeichnis"
|
||||
|
||||
#: src/Content/Widget.php:214 src/Model/Group.php:535
|
||||
#: src/Module/Contact.php:803 src/Module/Welcome.php:76
|
||||
#: src/Module/Contact.php:818 src/Module/Welcome.php:76
|
||||
msgid "Groups"
|
||||
msgstr "Gruppen"
|
||||
|
||||
|
|
@ -3498,7 +3499,7 @@ msgstr "Jeder"
|
|||
msgid "Relationships"
|
||||
msgstr "Beziehungen"
|
||||
|
||||
#: src/Content/Widget.php:247 src/Module/Contact.php:755
|
||||
#: src/Content/Widget.php:247 src/Module/Contact.php:770
|
||||
#: src/Module/Group.php:292
|
||||
msgid "All Contacts"
|
||||
msgstr "Alle Kontakte"
|
||||
|
|
@ -3542,7 +3543,7 @@ msgstr "Personen"
|
|||
msgid "Organisations"
|
||||
msgstr "Organisationen"
|
||||
|
||||
#: src/Content/Widget.php:529 src/Model/Contact.php:1474
|
||||
#: src/Content/Widget.php:529 src/Model/Contact.php:1480
|
||||
msgid "News"
|
||||
msgstr "Nachrichten"
|
||||
|
||||
|
|
@ -3562,18 +3563,18 @@ msgstr "Kalender als ical exportieren"
|
|||
msgid "Export calendar as csv"
|
||||
msgstr "Kalender als csv exportieren"
|
||||
|
||||
#: src/Content/Widget/ContactBlock.php:73
|
||||
#: src/Content/Widget/ContactBlock.php:79
|
||||
msgid "No contacts"
|
||||
msgstr "Keine Kontakte"
|
||||
|
||||
#: src/Content/Widget/ContactBlock.php:105
|
||||
#: src/Content/Widget/ContactBlock.php:108
|
||||
#, php-format
|
||||
msgid "%d Contact"
|
||||
msgid_plural "%d Contacts"
|
||||
msgstr[0] "%d Kontakt"
|
||||
msgstr[1] "%d Kontakte"
|
||||
|
||||
#: src/Content/Widget/ContactBlock.php:124
|
||||
#: src/Content/Widget/ContactBlock.php:125
|
||||
msgid "View Contacts"
|
||||
msgstr "Kontakte anzeigen"
|
||||
|
||||
|
|
@ -3597,12 +3598,12 @@ msgid "More Trending Tags"
|
|||
msgstr "mehr Trending Tags"
|
||||
|
||||
#: src/Content/Widget/VCard.php:96 src/Model/Profile.php:372
|
||||
#: src/Module/Contact.php:610 src/Module/Profile/Profile.php:176
|
||||
#: src/Module/Contact.php:625 src/Module/Profile/Profile.php:176
|
||||
msgid "XMPP:"
|
||||
msgstr "XMPP:"
|
||||
|
||||
#: src/Content/Widget/VCard.php:97 src/Model/Profile.php:373
|
||||
#: src/Module/Contact.php:612 src/Module/Profile/Profile.php:180
|
||||
#: src/Module/Contact.php:627 src/Module/Profile/Profile.php:180
|
||||
msgid "Matrix:"
|
||||
msgstr "Matrix:"
|
||||
|
||||
|
|
@ -4320,7 +4321,7 @@ msgstr "Es läuft bereits ein anderes Datenbank Update"
|
|||
msgid "%s: Database update"
|
||||
msgstr "%s: Datenbank Aktualisierung"
|
||||
|
||||
#: src/Database/DBStructure.php:853
|
||||
#: src/Database/DBStructure.php:803
|
||||
#, php-format
|
||||
msgid "%s: updating %s table."
|
||||
msgstr "%s: aktualisiere Tabelle %s"
|
||||
|
|
@ -4406,85 +4407,85 @@ msgstr "%s ist jetzt mit %s befreundet"
|
|||
msgid "Legacy module file not found: %s"
|
||||
msgstr "Legacy-Moduldatei nicht gefunden: %s"
|
||||
|
||||
#: src/Model/Contact.php:1046 src/Model/Contact.php:1059
|
||||
#: src/Model/Contact.php:1052 src/Model/Contact.php:1065
|
||||
msgid "UnFollow"
|
||||
msgstr "Entfolgen"
|
||||
|
||||
#: src/Model/Contact.php:1055
|
||||
#: src/Model/Contact.php:1061
|
||||
msgid "Drop Contact"
|
||||
msgstr "Kontakt löschen"
|
||||
|
||||
#: src/Model/Contact.php:1065 src/Module/Admin/Users/Pending.php:107
|
||||
#: src/Model/Contact.php:1071 src/Module/Admin/Users/Pending.php:107
|
||||
#: src/Module/Notifications/Introductions.php:111
|
||||
#: src/Module/Notifications/Introductions.php:183
|
||||
msgid "Approve"
|
||||
msgstr "Genehmigen"
|
||||
|
||||
#: src/Model/Contact.php:1470
|
||||
#: src/Model/Contact.php:1476
|
||||
msgid "Organisation"
|
||||
msgstr "Organisation"
|
||||
|
||||
#: src/Model/Contact.php:1478
|
||||
#: src/Model/Contact.php:1484
|
||||
msgid "Forum"
|
||||
msgstr "Forum"
|
||||
|
||||
#: src/Model/Contact.php:2334
|
||||
#: src/Model/Contact.php:2340
|
||||
msgid "Disallowed profile URL."
|
||||
msgstr "Nicht erlaubte Profil-URL."
|
||||
|
||||
#: src/Model/Contact.php:2339 src/Module/Friendica.php:81
|
||||
#: src/Model/Contact.php:2345 src/Module/Friendica.php:81
|
||||
msgid "Blocked domain"
|
||||
msgstr "Blockierte Domain"
|
||||
|
||||
#: src/Model/Contact.php:2344
|
||||
#: src/Model/Contact.php:2350
|
||||
msgid "Connect URL missing."
|
||||
msgstr "Connect-URL fehlt"
|
||||
|
||||
#: src/Model/Contact.php:2353
|
||||
#: src/Model/Contact.php:2359
|
||||
msgid ""
|
||||
"The contact could not be added. Please check the relevant network "
|
||||
"credentials in your Settings -> Social Networks page."
|
||||
msgstr "Der Kontakt konnte nicht hinzugefügt werden. Bitte überprüfe die Einstellungen unter Einstellungen -> Soziale Netzwerke"
|
||||
|
||||
#: src/Model/Contact.php:2390
|
||||
#: src/Model/Contact.php:2396
|
||||
msgid "The profile address specified does not provide adequate information."
|
||||
msgstr "Die angegebene Profiladresse liefert unzureichende Informationen."
|
||||
|
||||
#: src/Model/Contact.php:2392
|
||||
#: src/Model/Contact.php:2398
|
||||
msgid "No compatible communication protocols or feeds were discovered."
|
||||
msgstr "Es wurden keine kompatiblen Kommunikationsprotokolle oder Feeds gefunden."
|
||||
|
||||
#: src/Model/Contact.php:2395
|
||||
#: src/Model/Contact.php:2401
|
||||
msgid "An author or name was not found."
|
||||
msgstr "Es wurde kein Autor oder Name gefunden."
|
||||
|
||||
#: src/Model/Contact.php:2398
|
||||
#: src/Model/Contact.php:2404
|
||||
msgid "No browser URL could be matched to this address."
|
||||
msgstr "Zu dieser Adresse konnte keine passende Browser-URL gefunden werden."
|
||||
|
||||
#: src/Model/Contact.php:2401
|
||||
#: src/Model/Contact.php:2407
|
||||
msgid ""
|
||||
"Unable to match @-style Identity Address with a known protocol or email "
|
||||
"contact."
|
||||
msgstr "Konnte die @-Adresse mit keinem der bekannten Protokolle oder Email-Kontakte abgleichen."
|
||||
|
||||
#: src/Model/Contact.php:2402
|
||||
#: src/Model/Contact.php:2408
|
||||
msgid "Use mailto: in front of address to force email check."
|
||||
msgstr "Verwende mailto: vor der E-Mail-Adresse, um eine Überprüfung der E-Mail-Adresse zu erzwingen."
|
||||
|
||||
#: src/Model/Contact.php:2408
|
||||
#: src/Model/Contact.php:2414
|
||||
msgid ""
|
||||
"The profile address specified belongs to a network which has been disabled "
|
||||
"on this site."
|
||||
msgstr "Die Adresse dieses Profils gehört zu einem Netzwerk, mit dem die Kommunikation auf dieser Seite ausgeschaltet wurde."
|
||||
|
||||
#: src/Model/Contact.php:2413
|
||||
#: src/Model/Contact.php:2419
|
||||
msgid ""
|
||||
"Limited profile. This person will be unable to receive direct/personal "
|
||||
"notifications from you."
|
||||
msgstr "Eingeschränktes Profil. Diese Person wird keine direkten/privaten Nachrichten von dir erhalten können."
|
||||
|
||||
#: src/Model/Contact.php:2472
|
||||
#: src/Model/Contact.php:2478
|
||||
msgid "Unable to retrieve contact information."
|
||||
msgstr "Konnte die Kontaktinformationen nicht empfangen."
|
||||
|
||||
|
|
@ -4601,37 +4602,37 @@ msgstr "Gruppenname:"
|
|||
msgid "Edit groups"
|
||||
msgstr "Gruppen bearbeiten"
|
||||
|
||||
#: src/Model/Item.php:1663
|
||||
#: src/Model/Item.php:1676
|
||||
#, php-format
|
||||
msgid "Detected languages in this post:\\n%s"
|
||||
msgstr "Erkannte Sprachen in diesem Beitrag:\\n%s"
|
||||
|
||||
#: src/Model/Item.php:2613
|
||||
#: src/Model/Item.php:2626
|
||||
msgid "activity"
|
||||
msgstr "Aktivität"
|
||||
|
||||
#: src/Model/Item.php:2615
|
||||
#: src/Model/Item.php:2628
|
||||
msgid "comment"
|
||||
msgstr "Kommentar"
|
||||
|
||||
#: src/Model/Item.php:2618
|
||||
#: src/Model/Item.php:2631
|
||||
msgid "post"
|
||||
msgstr "Beitrag"
|
||||
|
||||
#: src/Model/Item.php:2755
|
||||
#: src/Model/Item.php:2768
|
||||
#, php-format
|
||||
msgid "Content warning: %s"
|
||||
msgstr "Inhaltswarnung: %s"
|
||||
|
||||
#: src/Model/Item.php:3104
|
||||
#: src/Model/Item.php:3117
|
||||
msgid "bytes"
|
||||
msgstr "Byte"
|
||||
|
||||
#: src/Model/Item.php:3133 src/Model/Item.php:3134
|
||||
#: src/Model/Item.php:3146 src/Model/Item.php:3147
|
||||
msgid "View on separate page"
|
||||
msgstr "Auf separater Seite ansehen"
|
||||
|
||||
#: src/Model/Mail.php:136 src/Model/Mail.php:268
|
||||
#: src/Model/Mail.php:134 src/Model/Mail.php:266
|
||||
msgid "[no subject]"
|
||||
msgstr "[kein Betreff]"
|
||||
|
||||
|
|
@ -4754,7 +4755,7 @@ msgstr "Profilbild ändern"
|
|||
msgid "Homepage:"
|
||||
msgstr "Homepage:"
|
||||
|
||||
#: src/Model/Profile.php:371 src/Module/Contact.php:614
|
||||
#: src/Model/Profile.php:371 src/Module/Contact.php:629
|
||||
#: src/Module/Notifications/Introductions.php:168
|
||||
msgid "About:"
|
||||
msgstr "Über:"
|
||||
|
|
@ -4814,7 +4815,7 @@ msgstr "Verzeichnis, in das Dateien hochgeladen werden. Für maximale Sicherheit
|
|||
msgid "Enter a valid existing folder"
|
||||
msgstr "Gib einen gültigen, existierenden Ordner ein"
|
||||
|
||||
#: src/Model/User.php:208 src/Model/User.php:1004
|
||||
#: src/Model/User.php:208 src/Model/User.php:1055
|
||||
msgid "SERIOUS ERROR: Generation of security keys failed."
|
||||
msgstr "FATALER FEHLER: Sicherheitsschlüssel konnten nicht erzeugt werden."
|
||||
|
||||
|
|
@ -4845,107 +4846,107 @@ msgid ""
|
|||
"The password can't contain accentuated letters, white spaces or colons (:)"
|
||||
msgstr "Das Passwort darf keine akzentuierten Buchstaben, Leerzeichen oder Doppelpunkte (:) beinhalten"
|
||||
|
||||
#: src/Model/User.php:884
|
||||
#: src/Model/User.php:935
|
||||
msgid "Passwords do not match. Password unchanged."
|
||||
msgstr "Die Passwörter stimmen nicht überein. Das Passwort bleibt unverändert."
|
||||
|
||||
#: src/Model/User.php:891
|
||||
#: src/Model/User.php:942
|
||||
msgid "An invitation is required."
|
||||
msgstr "Du benötigst eine Einladung."
|
||||
|
||||
#: src/Model/User.php:895
|
||||
#: src/Model/User.php:946
|
||||
msgid "Invitation could not be verified."
|
||||
msgstr "Die Einladung konnte nicht überprüft werden."
|
||||
|
||||
#: src/Model/User.php:903
|
||||
#: src/Model/User.php:954
|
||||
msgid "Invalid OpenID url"
|
||||
msgstr "Ungültige OpenID URL"
|
||||
|
||||
#: src/Model/User.php:916 src/Security/Authentication.php:223
|
||||
#: src/Model/User.php:967 src/Security/Authentication.php:223
|
||||
msgid ""
|
||||
"We encountered a problem while logging in with the OpenID you provided. "
|
||||
"Please check the correct spelling of the ID."
|
||||
msgstr "Beim Versuch, dich mit der von dir angegebenen OpenID anzumelden, trat ein Problem auf. Bitte überprüfe, dass du die OpenID richtig geschrieben hast."
|
||||
|
||||
#: src/Model/User.php:916 src/Security/Authentication.php:223
|
||||
#: src/Model/User.php:967 src/Security/Authentication.php:223
|
||||
msgid "The error message was:"
|
||||
msgstr "Die Fehlermeldung lautete:"
|
||||
|
||||
#: src/Model/User.php:922
|
||||
#: src/Model/User.php:973
|
||||
msgid "Please enter the required information."
|
||||
msgstr "Bitte trage die erforderlichen Informationen ein."
|
||||
|
||||
#: src/Model/User.php:936
|
||||
#: src/Model/User.php:987
|
||||
#, php-format
|
||||
msgid ""
|
||||
"system.username_min_length (%s) and system.username_max_length (%s) are "
|
||||
"excluding each other, swapping values."
|
||||
msgstr "system.username_min_length (%s) and system.username_max_length (%s) schließen sich gegenseitig aus, tausche Werte aus."
|
||||
|
||||
#: src/Model/User.php:943
|
||||
#: src/Model/User.php:994
|
||||
#, php-format
|
||||
msgid "Username should be at least %s character."
|
||||
msgid_plural "Username should be at least %s characters."
|
||||
msgstr[0] "Der Benutzername sollte aus mindestens %s Zeichen bestehen."
|
||||
msgstr[1] "Der Benutzername sollte aus mindestens %s Zeichen bestehen."
|
||||
|
||||
#: src/Model/User.php:947
|
||||
#: src/Model/User.php:998
|
||||
#, php-format
|
||||
msgid "Username should be at most %s character."
|
||||
msgid_plural "Username should be at most %s characters."
|
||||
msgstr[0] "Der Benutzername sollte aus maximal %s Zeichen bestehen."
|
||||
msgstr[1] "Der Benutzername sollte aus maximal %s Zeichen bestehen."
|
||||
|
||||
#: src/Model/User.php:955
|
||||
#: src/Model/User.php:1006
|
||||
msgid "That doesn't appear to be your full (First Last) name."
|
||||
msgstr "Das scheint nicht dein kompletter Name (Vor- und Nachname) zu sein."
|
||||
|
||||
#: src/Model/User.php:960
|
||||
#: src/Model/User.php:1011
|
||||
msgid "Your email domain is not among those allowed on this site."
|
||||
msgstr "Die Domain Deiner E-Mail-Adresse ist auf dieser Seite nicht erlaubt."
|
||||
|
||||
#: src/Model/User.php:964
|
||||
#: src/Model/User.php:1015
|
||||
msgid "Not a valid email address."
|
||||
msgstr "Keine gültige E-Mail-Adresse."
|
||||
|
||||
#: src/Model/User.php:967
|
||||
#: src/Model/User.php:1018
|
||||
msgid "The nickname was blocked from registration by the nodes admin."
|
||||
msgstr "Der Admin des Knotens hat den Spitznamen für die Registrierung gesperrt."
|
||||
|
||||
#: src/Model/User.php:971 src/Model/User.php:979
|
||||
#: src/Model/User.php:1022 src/Model/User.php:1030
|
||||
msgid "Cannot use that email."
|
||||
msgstr "Konnte diese E-Mail-Adresse nicht verwenden."
|
||||
|
||||
#: src/Model/User.php:986
|
||||
#: src/Model/User.php:1037
|
||||
msgid "Your nickname can only contain a-z, 0-9 and _."
|
||||
msgstr "Dein Spitzname darf nur aus Buchstaben und Zahlen (\"a-z\",\"0-9\" und \"_\") bestehen."
|
||||
|
||||
#: src/Model/User.php:994 src/Model/User.php:1051
|
||||
#: src/Model/User.php:1045 src/Model/User.php:1102
|
||||
msgid "Nickname is already registered. Please choose another."
|
||||
msgstr "Dieser Spitzname ist bereits vergeben. Bitte wähle einen anderen."
|
||||
|
||||
#: src/Model/User.php:1038 src/Model/User.php:1042
|
||||
#: src/Model/User.php:1089 src/Model/User.php:1093
|
||||
msgid "An error occurred during registration. Please try again."
|
||||
msgstr "Während der Anmeldung ist ein Fehler aufgetreten. Bitte versuche es noch einmal."
|
||||
|
||||
#: src/Model/User.php:1065
|
||||
#: src/Model/User.php:1116
|
||||
msgid "An error occurred creating your default profile. Please try again."
|
||||
msgstr "Bei der Erstellung des Standardprofils ist ein Fehler aufgetreten. Bitte versuche es noch einmal."
|
||||
|
||||
#: src/Model/User.php:1072
|
||||
#: src/Model/User.php:1123
|
||||
msgid "An error occurred creating your self contact. Please try again."
|
||||
msgstr "Bei der Erstellung deines self-Kontakts ist ein Fehler aufgetreten. Bitte versuche es erneut."
|
||||
|
||||
#: src/Model/User.php:1077
|
||||
#: src/Model/User.php:1128
|
||||
msgid "Friends"
|
||||
msgstr "Kontakte"
|
||||
|
||||
#: src/Model/User.php:1081
|
||||
#: src/Model/User.php:1132
|
||||
msgid ""
|
||||
"An error occurred creating your default contact group. Please try again."
|
||||
msgstr "Bei der Erstellung deiner Standardgruppe für Kontakte ist ein Fehler aufgetreten. Bitte versuche es erneut."
|
||||
|
||||
#: src/Model/User.php:1310
|
||||
#: src/Model/User.php:1361
|
||||
#, php-format
|
||||
msgid ""
|
||||
"\n"
|
||||
|
|
@ -4953,7 +4954,7 @@ msgid ""
|
|||
"\t\t\tthe administrator of %2$s has set up an account for you."
|
||||
msgstr "\nHallo %1$s\nein Admin von %2$s hat dir ein Nutzerkonto angelegt."
|
||||
|
||||
#: src/Model/User.php:1313
|
||||
#: src/Model/User.php:1364
|
||||
#, php-format
|
||||
msgid ""
|
||||
"\n"
|
||||
|
|
@ -4985,12 +4986,12 @@ msgid ""
|
|||
"\t\tThank you and welcome to %4$s."
|
||||
msgstr "\nNachfolgend die Anmeldedetails:\n\nAdresse der Seite: %1$s\nBenutzername: %2$s\nPasswort: %3$s\n\nDu kannst dein Passwort unter \"Einstellungen\" ändern, sobald du dich angemeldet hast.Bitte nimm dir ein paar Minuten, um die anderen Einstellungen auf dieser Seite zu kontrollieren.Eventuell magst du ja auch einige Informationen über dich in deinem Profil veröffentlichen, damit andere Leute dich einfacher finden können.Bearbeite hierfür einfach dein Standard-Profil (über die Profil-Seite).Wir empfehlen dir, deinen kompletten Namen anzugeben und ein zu dir passendes Profilbild zu wählen, damit dich alte Bekannte wiederfinden.Außerdem ist es nützlich, wenn du auf deinem Profil Schlüsselwörter angibst. Das erleichtert es, Leute zu finden, die deine Interessen teilen.Wir respektieren deine Privatsphäre - keine dieser Angaben ist nötig.Wenn du neu im Netzwerk bist und noch niemanden kennst, dann können sie allerdings dabei helfen, neue und interessante Kontakte zu knüpfen.\n\nDu kannst dein Nutzerkonto jederzeit unter %1$s/removeme wieder löschen.\n\nDanke und willkommen auf %4$s."
|
||||
|
||||
#: src/Model/User.php:1346 src/Model/User.php:1453
|
||||
#: src/Model/User.php:1397 src/Model/User.php:1504
|
||||
#, php-format
|
||||
msgid "Registration details for %s"
|
||||
msgstr "Details der Registration von %s"
|
||||
|
||||
#: src/Model/User.php:1366
|
||||
#: src/Model/User.php:1417
|
||||
#, php-format
|
||||
msgid ""
|
||||
"\n"
|
||||
|
|
@ -5005,12 +5006,12 @@ msgid ""
|
|||
"\t\t"
|
||||
msgstr "\n\t\t\tHallo %1$s,\n\t\t\t\tdanke für deine Registrierung auf %2$s. Dein Account muss noch vom Admin des Knotens freigeschaltet werden.\n\n\t\t\tDeine Zugangsdaten lauten wie folgt:\n\n\t\t\tSeitenadresse:\t%3$s\n\t\t\tAnmeldename:\t\t%4$s\n\t\t\tPasswort:\t\t%5$s\n\t\t"
|
||||
|
||||
#: src/Model/User.php:1385
|
||||
#: src/Model/User.php:1436
|
||||
#, php-format
|
||||
msgid "Registration at %s"
|
||||
msgstr "Registrierung als %s"
|
||||
|
||||
#: src/Model/User.php:1409
|
||||
#: src/Model/User.php:1460
|
||||
#, php-format
|
||||
msgid ""
|
||||
"\n"
|
||||
|
|
@ -5019,7 +5020,7 @@ msgid ""
|
|||
"\t\t\t"
|
||||
msgstr "\n\t\t\t\tHallo %1$s,\n\t\t\t\tDanke für die Registrierung auf %2$s. Dein Account wurde angelegt.\n\t\t\t"
|
||||
|
||||
#: src/Model/User.php:1417
|
||||
#: src/Model/User.php:1468
|
||||
#, php-format
|
||||
msgid ""
|
||||
"\n"
|
||||
|
|
@ -5082,7 +5083,7 @@ msgstr "Einschalten"
|
|||
#: src/Module/Admin/Federation.php:159 src/Module/Admin/Item/Delete.php:65
|
||||
#: src/Module/Admin/Logs/Settings.php:80 src/Module/Admin/Logs/View.php:84
|
||||
#: src/Module/Admin/Queue.php:72 src/Module/Admin/Site.php:497
|
||||
#: src/Module/Admin/Storage.php:131 src/Module/Admin/Summary.php:232
|
||||
#: src/Module/Admin/Storage.php:131 src/Module/Admin/Summary.php:233
|
||||
#: src/Module/Admin/Themes/Details.php:90
|
||||
#: src/Module/Admin/Themes/Index.php:111 src/Module/Admin/Tos.php:58
|
||||
#: src/Module/Admin/Users/Active.php:136
|
||||
|
|
@ -5146,8 +5147,8 @@ msgstr "Aktive"
|
|||
msgid "List of active accounts"
|
||||
msgstr "Liste der aktiven Benutzerkonten"
|
||||
|
||||
#: src/Module/Admin/BaseUsers.php:66 src/Module/Contact.php:763
|
||||
#: src/Module/Contact.php:823
|
||||
#: src/Module/Admin/BaseUsers.php:66 src/Module/Contact.php:778
|
||||
#: src/Module/Contact.php:838
|
||||
msgid "Pending"
|
||||
msgstr "Ausstehend"
|
||||
|
||||
|
|
@ -5155,8 +5156,8 @@ msgstr "Ausstehend"
|
|||
msgid "List of pending registrations"
|
||||
msgstr "Liste der anstehenden Benutzerkonten"
|
||||
|
||||
#: src/Module/Admin/BaseUsers.php:74 src/Module/Contact.php:771
|
||||
#: src/Module/Contact.php:824
|
||||
#: src/Module/Admin/BaseUsers.php:74 src/Module/Contact.php:786
|
||||
#: src/Module/Contact.php:839
|
||||
msgid "Blocked"
|
||||
msgstr "Geblockt"
|
||||
|
||||
|
|
@ -5214,8 +5215,8 @@ msgstr "Auswahl aufheben"
|
|||
|
||||
#: src/Module/Admin/Blocklist/Contact.php:85
|
||||
#: src/Module/Admin/Users/Blocked.php:142 src/Module/Admin/Users/Index.php:156
|
||||
#: src/Module/Contact.php:587 src/Module/Contact.php:847
|
||||
#: src/Module/Contact.php:1115
|
||||
#: src/Module/Contact.php:602 src/Module/Contact.php:863
|
||||
#: src/Module/Contact.php:1133
|
||||
msgid "Unblock"
|
||||
msgstr "Entsperren"
|
||||
|
||||
|
|
@ -5518,7 +5519,7 @@ msgstr "Mention"
|
|||
msgid "Implicit Mention"
|
||||
msgstr "Implicit Mention"
|
||||
|
||||
#: src/Module/Admin/Item/Source.php:73
|
||||
#: src/Module/Admin/Item/Source.php:73 src/Module/Admin/Logs/View.php:99
|
||||
#: src/Module/Debug/ActivityPubConversion.php:62
|
||||
msgid "Source"
|
||||
msgstr "Quelle"
|
||||
|
|
@ -5579,21 +5580,82 @@ msgstr "Um die Protokollierung von PHP-Fehlern und Warnungen vorübergehend zu a
|
|||
#: src/Module/Admin/Logs/View.php:71
|
||||
#, php-format
|
||||
msgid ""
|
||||
"Error trying to open <strong>%1$s</strong> log file.\\r\\n<br/>Check to see "
|
||||
"if file %1$s exist and is readable."
|
||||
msgstr "Fehler beim Öffnen der Logdatei <strong>%1$s</strong>.\\r\\n<br/>Bitte überprüfe ob die Datei %1$s existiert und gelesen werden kann."
|
||||
"Error trying to open <strong>%1$s</strong> log file.<br/>Check to see if "
|
||||
"file %1$s exist and is readable."
|
||||
msgstr "Fehler beim Öffnen der Logdatei <strong>%1$s</strong>.<br/>Bitte überprüfe ob die Datei %1$s existiert und gelesen werden kann."
|
||||
|
||||
#: src/Module/Admin/Logs/View.php:80
|
||||
#, php-format
|
||||
msgid ""
|
||||
"Couldn't open <strong>%1$s</strong> log file.\\r\\n<br/>Check to see if file"
|
||||
" %1$s is readable."
|
||||
msgstr "Konnte die Logdatei <strong>%1$s</strong> nicht öffnen.\\r\\n<br/>Bitte stelle sicher, dass die Datei %1$s lesbar ist."
|
||||
"Couldn't open <strong>%1$s</strong> log file.<br/>Check to see if file %1$s "
|
||||
"is readable."
|
||||
msgstr "Konnte die Logdatei <strong>%1$s</strong> nicht öffnen.<br/>Bitte stelle sicher, dass die Datei %1$s lesbar ist."
|
||||
|
||||
#: src/Module/Admin/Logs/View.php:85 src/Module/BaseAdmin.php:110
|
||||
msgid "View Logs"
|
||||
msgstr "Protokolle anzeigen"
|
||||
|
||||
#: src/Module/Admin/Logs/View.php:88
|
||||
msgid "Search in logs"
|
||||
msgstr "Logs durchsuchen"
|
||||
|
||||
#: src/Module/Admin/Logs/View.php:89
|
||||
#: src/Module/Notifications/Notifications.php:138
|
||||
msgid "Show all"
|
||||
msgstr "Alle anzeigen"
|
||||
|
||||
#: src/Module/Admin/Logs/View.php:90
|
||||
msgid "Date"
|
||||
msgstr "Datum"
|
||||
|
||||
#: src/Module/Admin/Logs/View.php:91
|
||||
msgid "Level"
|
||||
msgstr "Level"
|
||||
|
||||
#: src/Module/Admin/Logs/View.php:92
|
||||
msgid "Context"
|
||||
msgstr "Zusammenhang"
|
||||
|
||||
#: src/Module/Admin/Logs/View.php:94
|
||||
msgid "ALL"
|
||||
msgstr "ALLE"
|
||||
|
||||
#: src/Module/Admin/Logs/View.php:95
|
||||
msgid "View details"
|
||||
msgstr "Details anzeigen"
|
||||
|
||||
#: src/Module/Admin/Logs/View.php:96
|
||||
msgid "Click to view details"
|
||||
msgstr "Anklicken zum Anzeigen der Details"
|
||||
|
||||
#: src/Module/Admin/Logs/View.php:98
|
||||
msgid "Data"
|
||||
msgstr "Daten"
|
||||
|
||||
#: src/Module/Admin/Logs/View.php:100
|
||||
msgid "File"
|
||||
msgstr "Datei"
|
||||
|
||||
#: src/Module/Admin/Logs/View.php:101
|
||||
msgid "Line"
|
||||
msgstr "Zeile"
|
||||
|
||||
#: src/Module/Admin/Logs/View.php:102
|
||||
msgid "Function"
|
||||
msgstr "Funktion"
|
||||
|
||||
#: src/Module/Admin/Logs/View.php:103
|
||||
msgid "UID"
|
||||
msgstr "UID"
|
||||
|
||||
#: src/Module/Admin/Logs/View.php:104
|
||||
msgid "Process ID"
|
||||
msgstr "Prozess ID"
|
||||
|
||||
#: src/Module/Admin/Logs/View.php:105
|
||||
msgid "Close"
|
||||
msgstr "Schließen"
|
||||
|
||||
#: src/Module/Admin/Queue.php:50
|
||||
msgid "Inspect Deferred Worker Queue"
|
||||
msgstr "Verzögerte Worker-Warteschlange inspizieren"
|
||||
|
|
@ -5731,7 +5793,7 @@ msgstr "Allgemeine Informationen"
|
|||
msgid "Republish users to directory"
|
||||
msgstr "Nutzer erneut im globalen Verzeichnis veröffentlichen."
|
||||
|
||||
#: src/Module/Admin/Site.php:502 src/Module/Register.php:139
|
||||
#: src/Module/Admin/Site.php:502 src/Module/Register.php:141
|
||||
msgid "Registration"
|
||||
msgstr "Registrierung"
|
||||
|
||||
|
|
@ -6500,7 +6562,7 @@ msgid ""
|
|||
"received."
|
||||
msgstr "Der Wert kann entweder 'Alle' oder 'Schlagwörter' sein. 'Alle' bedeutet, dass alle öffentliche Beiträge empfangen werden sollen. 'Schlagwörter' schränkt dem Empfang auf Beiträge ein, die bestimmte Schlagwörter beinhalten."
|
||||
|
||||
#: src/Module/Admin/Site.php:609 src/Module/Contact.php:516
|
||||
#: src/Module/Admin/Site.php:609 src/Module/Contact.php:531
|
||||
#: src/Module/Settings/TwoFactor/Index.php:118
|
||||
msgid "Disabled"
|
||||
msgstr "Deaktiviert"
|
||||
|
|
@ -6589,12 +6651,12 @@ msgstr "Dieses Backend hat keine zusätzlichen Einstellungen"
|
|||
msgid "Database (legacy)"
|
||||
msgstr "Datenbank (legacy)"
|
||||
|
||||
#: src/Module/Admin/Summary.php:53
|
||||
#: src/Module/Admin/Summary.php:54
|
||||
#, php-format
|
||||
msgid "Template engine (%s) error: %s"
|
||||
msgstr "Template engine (%s) Fehler: %s"
|
||||
|
||||
#: src/Module/Admin/Summary.php:57
|
||||
#: src/Module/Admin/Summary.php:58
|
||||
#, php-format
|
||||
msgid ""
|
||||
"Your DB still runs with MyISAM tables. You should change the engine type to "
|
||||
|
|
@ -6605,7 +6667,7 @@ msgid ""
|
|||
" an automatic conversion.<br />"
|
||||
msgstr "Deine DB verwendet derzeit noch MyISAM Tabellen. Du solltest die Datenbank Engine auf InnoDB umstellen, da Friendica in Zukunft InnoDB-Features verwenden wird. Eine Anleitung zur Umstellung der Datenbank kannst du <a href=\"%s\">hier</a> finden. Du kannst außerdem mit dem Befehl <tt>php bin/console.php dbstructure toinnodb</tt> auf der Kommandozeile die Umstellung automatisch vornehmen lassen."
|
||||
|
||||
#: src/Module/Admin/Summary.php:62
|
||||
#: src/Module/Admin/Summary.php:63
|
||||
#, php-format
|
||||
msgid ""
|
||||
"Your DB still runs with InnoDB tables in the Antelope file format. You "
|
||||
|
|
@ -6616,7 +6678,7 @@ msgid ""
|
|||
" installation for an automatic conversion.<br />"
|
||||
msgstr "Deine DB verwendet derzeit noch InnoDB Tabellen im Antelope Dateiformat. Du solltest diese auf das Barracuda Format ändern. Friendica verwendet einige Features, die nicht vom Antelope Format unterstützt werden. <a href=\"%s\">Hier</a> findest du eine Anleitung für die Umstellung. Alternativ kannst du auch den Befehl <tt>php bin/console.php dbstructure toinnodb</tt> In der Kommandozeile deiner Friendica Instanz verwenden um die Formate automatisch anzupassen.<br />"
|
||||
|
||||
#: src/Module/Admin/Summary.php:72
|
||||
#: src/Module/Admin/Summary.php:73
|
||||
#, php-format
|
||||
msgid ""
|
||||
"Your table_definition_cache is too low (%d). This can lead to the database "
|
||||
|
|
@ -6624,39 +6686,39 @@ msgid ""
|
|||
" to %d. See <a href=\"%s\">here</a> for more information.<br />"
|
||||
msgstr "Der Wert table_definition_cache ist zu niedrig (%d). Dadurch können Datenbank Fehler \"Prepared statement needs to be re-prepared\" hervor gerufen werden. Bitte setze den Wert auf mindestens %d. Weiterführende Informationen <a href=\"%s\">findest du hier</a>."
|
||||
|
||||
#: src/Module/Admin/Summary.php:82
|
||||
#: src/Module/Admin/Summary.php:83
|
||||
#, php-format
|
||||
msgid ""
|
||||
"There is a new version of Friendica available for download. Your current "
|
||||
"version is %1$s, upstream version is %2$s"
|
||||
msgstr "Es gibt eine neue Version von Friendica. Du verwendest derzeit die Version %1$s, die aktuelle Version ist %2$s."
|
||||
|
||||
#: src/Module/Admin/Summary.php:91
|
||||
#: src/Module/Admin/Summary.php:92
|
||||
msgid ""
|
||||
"The database update failed. Please run \"php bin/console.php dbstructure "
|
||||
"update\" from the command line and have a look at the errors that might "
|
||||
"appear."
|
||||
msgstr "Das Update der Datenbank ist fehlgeschlagen. Bitte führe 'php bin/console.php dbstructure update' in der Kommandozeile aus und achte auf eventuell auftretende Fehlermeldungen."
|
||||
|
||||
#: src/Module/Admin/Summary.php:95
|
||||
#: src/Module/Admin/Summary.php:96
|
||||
msgid ""
|
||||
"The last update failed. Please run \"php bin/console.php dbstructure "
|
||||
"update\" from the command line and have a look at the errors that might "
|
||||
"appear. (Some of the errors are possibly inside the logfile.)"
|
||||
msgstr "Das letzte Update ist fehlgeschlagen. Bitte führe \"php bin/console.php dbstructure update\" auf der Kommandozeile aus und werfe einen Blick auf eventuell auftretende Fehler. (Zusätzliche Informationen zu Fehlern könnten in den Logdateien stehen.)"
|
||||
|
||||
#: src/Module/Admin/Summary.php:100
|
||||
#: src/Module/Admin/Summary.php:101
|
||||
msgid "The worker was never executed. Please check your database structure!"
|
||||
msgstr "Der Hintergrundprozess (worker) wurde noch nie gestartet. Bitte überprüfe deine Datenbankstruktur."
|
||||
|
||||
#: src/Module/Admin/Summary.php:102
|
||||
#: src/Module/Admin/Summary.php:103
|
||||
#, php-format
|
||||
msgid ""
|
||||
"The last worker execution was on %s UTC. This is older than one hour. Please"
|
||||
" check your crontab settings."
|
||||
msgstr "Der Hintergrundprozess (worker) wurde zuletzt um %s UTC ausgeführt. Das war vor mehr als einer Stunde. Bitte überprüfe deine crontab-Einstellungen."
|
||||
|
||||
#: src/Module/Admin/Summary.php:107
|
||||
#: src/Module/Admin/Summary.php:108
|
||||
#, php-format
|
||||
msgid ""
|
||||
"Friendica's configuration now is stored in config/local.config.php, please "
|
||||
|
|
@ -6665,7 +6727,7 @@ msgid ""
|
|||
"help with the transition."
|
||||
msgstr "Die Konfiguration von Friendica befindet sich ab jetzt in der 'config/local.config.php' Datei. Kopiere bitte die Datei 'config/local-sample.config.php' nach 'config/local.config.php' und setze die Konfigurationvariablen so wie in der alten <code>.htconfig.php</code>. Wie die Übertragung der Werte aussehen muss, kannst du der <a href=\"%s\">Konfiguration Hilfeseite</a> entnehmen."
|
||||
|
||||
#: src/Module/Admin/Summary.php:111
|
||||
#: src/Module/Admin/Summary.php:112
|
||||
#, php-format
|
||||
msgid ""
|
||||
"Friendica's configuration now is stored in config/local.config.php, please "
|
||||
|
|
@ -6674,7 +6736,7 @@ msgid ""
|
|||
"page</a> for help with the transition."
|
||||
msgstr "Die Konfiguration von Friendica befindet sich ab jetzt in der 'config/local.config.php' Datei. Kopiere bitte die Datei 'config/local-sample.config.php' nach 'config/local.config.php' und setze die Konfigurationvariablen so wie in der alten <code>config/local.ini.php</code>. Wie die Übertragung der Werte aussehen muss, kannst du der <a href=\"%s\">Konfiguration Hilfeseite</a> entnehmen."
|
||||
|
||||
#: src/Module/Admin/Summary.php:117
|
||||
#: src/Module/Admin/Summary.php:118
|
||||
#, php-format
|
||||
msgid ""
|
||||
"<a href=\"%s\">%s</a> is not reachable on your system. This is a severe "
|
||||
|
|
@ -6682,87 +6744,87 @@ msgid ""
|
|||
"href=\"%s\">the installation page</a> for help."
|
||||
msgstr "<a href=\"%s\">%s</a> konnte von deinem System nicht aufgerufen werden. Dies deutet auf ein schwerwiegendes Problem deiner Konfiguration hin. Bitte konsultiere <a href=\"%s\">die Installations-Dokumentation</a> zum Beheben des Problems."
|
||||
|
||||
#: src/Module/Admin/Summary.php:135
|
||||
#: src/Module/Admin/Summary.php:136
|
||||
#, php-format
|
||||
msgid "The logfile '%s' is not usable. No logging possible (error: '%s')"
|
||||
msgstr "Die Logdatei '%s' ist nicht beschreibbar. Derzeit ist keine Aufzeichnung möglich (Fehler: '%s')"
|
||||
|
||||
#: src/Module/Admin/Summary.php:149
|
||||
#: src/Module/Admin/Summary.php:150
|
||||
#, php-format
|
||||
msgid ""
|
||||
"The debug logfile '%s' is not usable. No logging possible (error: '%s')"
|
||||
msgstr "Die Logdatei '%s' ist nicht beschreibbar. Derzeit ist keine Aufzeichnung möglich (Fehler: '%s')"
|
||||
|
||||
#: src/Module/Admin/Summary.php:165
|
||||
#: src/Module/Admin/Summary.php:166
|
||||
#, php-format
|
||||
msgid ""
|
||||
"Friendica's system.basepath was updated from '%s' to '%s'. Please remove the"
|
||||
" system.basepath from your db to avoid differences."
|
||||
msgstr "Friendica's system.basepath wurde aktualisiert '%s' von '%s'. Bitte entferne system.basepath aus der Datenbank um Unterschiede zu vermeiden."
|
||||
|
||||
#: src/Module/Admin/Summary.php:173
|
||||
#: src/Module/Admin/Summary.php:174
|
||||
#, php-format
|
||||
msgid ""
|
||||
"Friendica's current system.basepath '%s' is wrong and the config file '%s' "
|
||||
"isn't used."
|
||||
msgstr "Friendica's aktueller system.basepath '%s' ist verkehrt und die config file '%s' wird nicht benutzt."
|
||||
|
||||
#: src/Module/Admin/Summary.php:181
|
||||
#: src/Module/Admin/Summary.php:182
|
||||
#, php-format
|
||||
msgid ""
|
||||
"Friendica's current system.basepath '%s' is not equal to the config file "
|
||||
"'%s'. Please fix your configuration."
|
||||
msgstr "Friendica's aktueller system.basepath '%s' ist nicht gleich wie die config file '%s'. Bitte korrigiere deine Konfiguration."
|
||||
|
||||
#: src/Module/Admin/Summary.php:188
|
||||
#: src/Module/Admin/Summary.php:189
|
||||
msgid "Normal Account"
|
||||
msgstr "Normales Konto"
|
||||
|
||||
#: src/Module/Admin/Summary.php:189
|
||||
#: src/Module/Admin/Summary.php:190
|
||||
msgid "Automatic Follower Account"
|
||||
msgstr "Automatisch folgendes Konto (Marktschreier)"
|
||||
|
||||
#: src/Module/Admin/Summary.php:190
|
||||
#: src/Module/Admin/Summary.php:191
|
||||
msgid "Public Forum Account"
|
||||
msgstr "Öffentliches Forum-Konto"
|
||||
|
||||
#: src/Module/Admin/Summary.php:191
|
||||
#: src/Module/Admin/Summary.php:192
|
||||
msgid "Automatic Friend Account"
|
||||
msgstr "Automatische Freunde-Seite"
|
||||
|
||||
#: src/Module/Admin/Summary.php:192
|
||||
#: src/Module/Admin/Summary.php:193
|
||||
msgid "Blog Account"
|
||||
msgstr "Blog-Konto"
|
||||
|
||||
#: src/Module/Admin/Summary.php:193
|
||||
#: src/Module/Admin/Summary.php:194
|
||||
msgid "Private Forum Account"
|
||||
msgstr "Privates Forum-Konto"
|
||||
|
||||
#: src/Module/Admin/Summary.php:213
|
||||
#: src/Module/Admin/Summary.php:214
|
||||
msgid "Message queues"
|
||||
msgstr "Nachrichten-Warteschlangen"
|
||||
|
||||
#: src/Module/Admin/Summary.php:219
|
||||
#: src/Module/Admin/Summary.php:220
|
||||
msgid "Server Settings"
|
||||
msgstr "Servereinstellungen"
|
||||
|
||||
#: src/Module/Admin/Summary.php:233 src/Repository/ProfileField.php:285
|
||||
#: src/Module/Admin/Summary.php:234 src/Repository/ProfileField.php:285
|
||||
msgid "Summary"
|
||||
msgstr "Zusammenfassung"
|
||||
|
||||
#: src/Module/Admin/Summary.php:235
|
||||
#: src/Module/Admin/Summary.php:236
|
||||
msgid "Registered users"
|
||||
msgstr "Registrierte Personen"
|
||||
|
||||
#: src/Module/Admin/Summary.php:237
|
||||
#: src/Module/Admin/Summary.php:238
|
||||
msgid "Pending registrations"
|
||||
msgstr "Anstehende Anmeldungen"
|
||||
|
||||
#: src/Module/Admin/Summary.php:238
|
||||
#: src/Module/Admin/Summary.php:239
|
||||
msgid "Version"
|
||||
msgstr "Version"
|
||||
|
||||
#: src/Module/Admin/Summary.php:242
|
||||
#: src/Module/Admin/Summary.php:243
|
||||
msgid "Active addons"
|
||||
msgstr "Aktivierte Addons"
|
||||
|
||||
|
|
@ -7075,8 +7137,8 @@ msgstr "Nur die ersten Beiträge einer Unterhaltung können wieder auf laut gest
|
|||
msgid "Posts from %s can't be unshared"
|
||||
msgstr "Beiträge von %s können nicht ungeteilt werden"
|
||||
|
||||
#: src/Module/Api/Twitter/ContactEndpoint.php:63 src/Module/Contact.php:361
|
||||
#: src/Module/Contact.php:366
|
||||
#: src/Module/Api/Twitter/ContactEndpoint.php:63 src/Module/Contact.php:371
|
||||
#: src/Module/Contact.php:386
|
||||
msgid "Contact not found"
|
||||
msgstr "Kontakt nicht gefunden"
|
||||
|
||||
|
|
@ -7197,7 +7259,7 @@ msgstr "The API endpoint is currently not implemented but might be in the future
|
|||
msgid "Too Many Requests"
|
||||
msgstr "Zu viele Abfragen"
|
||||
|
||||
#: src/Module/BaseProfile.php:51 src/Module/Contact.php:902
|
||||
#: src/Module/BaseProfile.php:51 src/Module/Contact.php:918
|
||||
msgid "Profile Details"
|
||||
msgstr "Profildetails"
|
||||
|
||||
|
|
@ -7256,373 +7318,373 @@ msgstr "Persönliche Daten exportieren"
|
|||
msgid "Remove account"
|
||||
msgstr "Konto löschen"
|
||||
|
||||
#: src/Module/Bookmarklet.php:55
|
||||
#: src/Module/Bookmarklet.php:54
|
||||
msgid "This page is missing a url parameter."
|
||||
msgstr "Der Seite fehlt ein URL Parameter."
|
||||
|
||||
#: src/Module/Bookmarklet.php:67
|
||||
#: src/Module/Bookmarklet.php:66
|
||||
msgid "The post was created"
|
||||
msgstr "Der Beitrag wurde angelegt"
|
||||
|
||||
#: src/Module/Contact.php:93
|
||||
#: src/Module/Contact.php:97
|
||||
#, php-format
|
||||
msgid "%d contact edited."
|
||||
msgid_plural "%d contacts edited."
|
||||
msgstr[0] "%d Kontakt bearbeitet."
|
||||
msgstr[1] "%d Kontakte bearbeitet."
|
||||
|
||||
#: src/Module/Contact.php:118
|
||||
#: src/Module/Contact.php:122
|
||||
msgid "Could not access contact record."
|
||||
msgstr "Konnte nicht auf die Kontaktdaten zugreifen."
|
||||
|
||||
#: src/Module/Contact.php:154
|
||||
#: src/Module/Contact.php:158
|
||||
msgid "Failed to update contact record."
|
||||
msgstr "Aktualisierung der Kontaktdaten fehlgeschlagen."
|
||||
|
||||
#: src/Module/Contact.php:383
|
||||
#: src/Module/Contact.php:403
|
||||
msgid "You can't block yourself"
|
||||
msgstr "Du kannst dich nicht selbst blockieren"
|
||||
|
||||
#: src/Module/Contact.php:389
|
||||
#: src/Module/Contact.php:409
|
||||
msgid "Contact has been blocked"
|
||||
msgstr "Kontakt wurde blockiert"
|
||||
|
||||
#: src/Module/Contact.php:389
|
||||
#: src/Module/Contact.php:409
|
||||
msgid "Contact has been unblocked"
|
||||
msgstr "Kontakt wurde wieder freigegeben"
|
||||
|
||||
#: src/Module/Contact.php:397
|
||||
#: src/Module/Contact.php:417
|
||||
msgid "You can't ignore yourself"
|
||||
msgstr "Du kannst dich nicht selbst ignorieren"
|
||||
|
||||
#: src/Module/Contact.php:403
|
||||
#: src/Module/Contact.php:423
|
||||
msgid "Contact has been ignored"
|
||||
msgstr "Kontakt wurde ignoriert"
|
||||
|
||||
#: src/Module/Contact.php:403
|
||||
#: src/Module/Contact.php:423
|
||||
msgid "Contact has been unignored"
|
||||
msgstr "Kontakt wird nicht mehr ignoriert"
|
||||
|
||||
#: src/Module/Contact.php:415
|
||||
#: src/Module/Contact.php:435
|
||||
msgid "Drop contact"
|
||||
msgstr "Kontakt löschen"
|
||||
|
||||
#: src/Module/Contact.php:418 src/Module/Contact.php:843
|
||||
#: src/Module/Contact.php:438 src/Module/Contact.php:859
|
||||
msgid "Do you really want to delete this contact?"
|
||||
msgstr "Möchtest Du wirklich diesen Kontakt löschen?"
|
||||
|
||||
#: src/Module/Contact.php:419 src/Module/Notifications/Introductions.php:123
|
||||
#: src/Module/OAuth/Acknowledge.php:47 src/Module/Register.php:115
|
||||
#: src/Module/Contact.php:439 src/Module/Notifications/Introductions.php:123
|
||||
#: src/Module/OAuth/Acknowledge.php:47 src/Module/Register.php:117
|
||||
msgid "Yes"
|
||||
msgstr "Ja"
|
||||
|
||||
#: src/Module/Contact.php:431
|
||||
#: src/Module/Contact.php:452
|
||||
msgid "Contact has been removed."
|
||||
msgstr "Kontakt wurde entfernt."
|
||||
|
||||
#: src/Module/Contact.php:458
|
||||
#: src/Module/Contact.php:473
|
||||
#, php-format
|
||||
msgid "You are mutual friends with %s"
|
||||
msgstr "Du hast mit %s eine beidseitige Freundschaft"
|
||||
|
||||
#: src/Module/Contact.php:462
|
||||
#: src/Module/Contact.php:477
|
||||
#, php-format
|
||||
msgid "You are sharing with %s"
|
||||
msgstr "Du teilst mit %s"
|
||||
|
||||
#: src/Module/Contact.php:466
|
||||
#: src/Module/Contact.php:481
|
||||
#, php-format
|
||||
msgid "%s is sharing with you"
|
||||
msgstr "%s teilt mit dir"
|
||||
|
||||
#: src/Module/Contact.php:490
|
||||
#: src/Module/Contact.php:505
|
||||
msgid "Private communications are not available for this contact."
|
||||
msgstr "Private Kommunikation ist für diesen Kontakt nicht verfügbar."
|
||||
|
||||
#: src/Module/Contact.php:492
|
||||
#: src/Module/Contact.php:507
|
||||
msgid "Never"
|
||||
msgstr "Niemals"
|
||||
|
||||
#: src/Module/Contact.php:495
|
||||
#: src/Module/Contact.php:510
|
||||
msgid "(Update was not successful)"
|
||||
msgstr "(Aktualisierung war nicht erfolgreich)"
|
||||
|
||||
#: src/Module/Contact.php:495
|
||||
#: src/Module/Contact.php:510
|
||||
msgid "(Update was successful)"
|
||||
msgstr "(Aktualisierung war erfolgreich)"
|
||||
|
||||
#: src/Module/Contact.php:497 src/Module/Contact.php:1086
|
||||
#: src/Module/Contact.php:512 src/Module/Contact.php:1104
|
||||
msgid "Suggest friends"
|
||||
msgstr "Kontakte vorschlagen"
|
||||
|
||||
#: src/Module/Contact.php:501
|
||||
#: src/Module/Contact.php:516
|
||||
#, php-format
|
||||
msgid "Network type: %s"
|
||||
msgstr "Netzwerktyp: %s"
|
||||
|
||||
#: src/Module/Contact.php:506
|
||||
#: src/Module/Contact.php:521
|
||||
msgid "Communications lost with this contact!"
|
||||
msgstr "Verbindungen mit diesem Kontakt verloren!"
|
||||
|
||||
#: src/Module/Contact.php:512
|
||||
#: src/Module/Contact.php:527
|
||||
msgid "Fetch further information for feeds"
|
||||
msgstr "Weitere Informationen zu Feeds holen"
|
||||
|
||||
#: src/Module/Contact.php:514
|
||||
#: src/Module/Contact.php:529
|
||||
msgid ""
|
||||
"Fetch information like preview pictures, title and teaser from the feed "
|
||||
"item. You can activate this if the feed doesn't contain much text. Keywords "
|
||||
"are taken from the meta header in the feed item and are posted as hash tags."
|
||||
msgstr "Zusätzliche Informationen wie Vorschaubilder, Titel und Zusammenfassungen vom Feed-Eintrag laden. Du kannst diese Option aktivieren, wenn der Feed nicht allzu viel Text beinhaltet. Schlagwörter werden aus den Meta-Informationen des Feed-Headers bezogen und als Hash-Tags verwendet."
|
||||
|
||||
#: src/Module/Contact.php:517
|
||||
#: src/Module/Contact.php:532
|
||||
msgid "Fetch information"
|
||||
msgstr "Beziehe Information"
|
||||
|
||||
#: src/Module/Contact.php:518
|
||||
#: src/Module/Contact.php:533
|
||||
msgid "Fetch keywords"
|
||||
msgstr "Schlüsselwörter abrufen"
|
||||
|
||||
#: src/Module/Contact.php:519
|
||||
#: src/Module/Contact.php:534
|
||||
msgid "Fetch information and keywords"
|
||||
msgstr "Beziehe Information und Schlüsselworte"
|
||||
|
||||
#: src/Module/Contact.php:531 src/Module/Contact.php:535
|
||||
#: src/Module/Contact.php:538 src/Module/Contact.php:542
|
||||
#: src/Module/Contact.php:546 src/Module/Contact.php:550
|
||||
#: src/Module/Contact.php:553 src/Module/Contact.php:557
|
||||
msgid "No mirroring"
|
||||
msgstr "Kein Spiegeln"
|
||||
|
||||
#: src/Module/Contact.php:532
|
||||
#: src/Module/Contact.php:547
|
||||
msgid "Mirror as forwarded posting"
|
||||
msgstr "Spiegeln als weitergeleitete Beiträge"
|
||||
|
||||
#: src/Module/Contact.php:533 src/Module/Contact.php:539
|
||||
#: src/Module/Contact.php:543
|
||||
#: src/Module/Contact.php:548 src/Module/Contact.php:554
|
||||
#: src/Module/Contact.php:558
|
||||
msgid "Mirror as my own posting"
|
||||
msgstr "Spiegeln als meine eigenen Beiträge"
|
||||
|
||||
#: src/Module/Contact.php:536 src/Module/Contact.php:540
|
||||
#: src/Module/Contact.php:551 src/Module/Contact.php:555
|
||||
msgid "Native reshare"
|
||||
msgstr "Natives Teilen"
|
||||
|
||||
#: src/Module/Contact.php:555
|
||||
#: src/Module/Contact.php:570
|
||||
msgid "Contact Information / Notes"
|
||||
msgstr "Kontakt-Informationen / -Notizen"
|
||||
|
||||
#: src/Module/Contact.php:556
|
||||
#: src/Module/Contact.php:571
|
||||
msgid "Contact Settings"
|
||||
msgstr "Kontakteinstellungen"
|
||||
|
||||
#: src/Module/Contact.php:564
|
||||
#: src/Module/Contact.php:579
|
||||
msgid "Contact"
|
||||
msgstr "Kontakt"
|
||||
|
||||
#: src/Module/Contact.php:568
|
||||
#: src/Module/Contact.php:583
|
||||
msgid "Their personal note"
|
||||
msgstr "Die persönliche Mitteilung"
|
||||
|
||||
#: src/Module/Contact.php:570
|
||||
#: src/Module/Contact.php:585
|
||||
msgid "Edit contact notes"
|
||||
msgstr "Notizen zum Kontakt bearbeiten"
|
||||
|
||||
#: src/Module/Contact.php:573 src/Module/Contact.php:1054
|
||||
#: src/Module/Contact.php:588 src/Module/Contact.php:1070
|
||||
#, php-format
|
||||
msgid "Visit %s's profile [%s]"
|
||||
msgstr "Besuche %ss Profil [%s]"
|
||||
|
||||
#: src/Module/Contact.php:574
|
||||
#: src/Module/Contact.php:589
|
||||
msgid "Block/Unblock contact"
|
||||
msgstr "Kontakt blockieren/freischalten"
|
||||
|
||||
#: src/Module/Contact.php:575
|
||||
#: src/Module/Contact.php:590
|
||||
msgid "Ignore contact"
|
||||
msgstr "Ignoriere den Kontakt"
|
||||
|
||||
#: src/Module/Contact.php:576
|
||||
#: src/Module/Contact.php:591
|
||||
msgid "View conversations"
|
||||
msgstr "Unterhaltungen anzeigen"
|
||||
|
||||
#: src/Module/Contact.php:581
|
||||
#: src/Module/Contact.php:596
|
||||
msgid "Last update:"
|
||||
msgstr "Letzte Aktualisierung: "
|
||||
|
||||
#: src/Module/Contact.php:583
|
||||
#: src/Module/Contact.php:598
|
||||
msgid "Update public posts"
|
||||
msgstr "Öffentliche Beiträge aktualisieren"
|
||||
|
||||
#: src/Module/Contact.php:585 src/Module/Contact.php:1096
|
||||
#: src/Module/Contact.php:600 src/Module/Contact.php:1114
|
||||
msgid "Update now"
|
||||
msgstr "Jetzt aktualisieren"
|
||||
|
||||
#: src/Module/Contact.php:588 src/Module/Contact.php:848
|
||||
#: src/Module/Contact.php:1123
|
||||
#: src/Module/Contact.php:603 src/Module/Contact.php:864
|
||||
#: src/Module/Contact.php:1141
|
||||
msgid "Unignore"
|
||||
msgstr "Ignorieren aufheben"
|
||||
|
||||
#: src/Module/Contact.php:592
|
||||
#: src/Module/Contact.php:607
|
||||
msgid "Currently blocked"
|
||||
msgstr "Derzeit geblockt"
|
||||
|
||||
#: src/Module/Contact.php:593
|
||||
#: src/Module/Contact.php:608
|
||||
msgid "Currently ignored"
|
||||
msgstr "Derzeit ignoriert"
|
||||
|
||||
#: src/Module/Contact.php:594
|
||||
#: src/Module/Contact.php:609
|
||||
msgid "Currently archived"
|
||||
msgstr "Momentan archiviert"
|
||||
|
||||
#: src/Module/Contact.php:595
|
||||
#: src/Module/Contact.php:610
|
||||
msgid "Awaiting connection acknowledge"
|
||||
msgstr "Bedarf der Bestätigung des Kontakts"
|
||||
|
||||
#: src/Module/Contact.php:596 src/Module/Notifications/Introductions.php:171
|
||||
#: src/Module/Contact.php:611 src/Module/Notifications/Introductions.php:171
|
||||
msgid "Hide this contact from others"
|
||||
msgstr "Verbirg diesen Kontakt vor Anderen"
|
||||
|
||||
#: src/Module/Contact.php:596
|
||||
#: src/Module/Contact.php:611
|
||||
msgid ""
|
||||
"Replies/likes to your public posts <strong>may</strong> still be visible"
|
||||
msgstr "Antworten/Likes auf deine öffentlichen Beiträge <strong>könnten</strong> weiterhin sichtbar sein"
|
||||
|
||||
#: src/Module/Contact.php:597
|
||||
#: src/Module/Contact.php:612
|
||||
msgid "Notification for new posts"
|
||||
msgstr "Benachrichtigung bei neuen Beiträgen"
|
||||
|
||||
#: src/Module/Contact.php:597
|
||||
#: src/Module/Contact.php:612
|
||||
msgid "Send a notification of every new post of this contact"
|
||||
msgstr "Sende eine Benachrichtigung, wann immer dieser Kontakt einen neuen Beitrag schreibt."
|
||||
|
||||
#: src/Module/Contact.php:599
|
||||
#: src/Module/Contact.php:614
|
||||
msgid "Keyword Deny List"
|
||||
msgstr "Liste der gesperrten Schlüsselwörter"
|
||||
|
||||
#: src/Module/Contact.php:599
|
||||
#: src/Module/Contact.php:614
|
||||
msgid ""
|
||||
"Comma separated list of keywords that should not be converted to hashtags, "
|
||||
"when \"Fetch information and keywords\" is selected"
|
||||
msgstr "Komma-Separierte Liste mit Schlüsselworten, die nicht in Hashtags konvertiert werden, wenn \"Beziehe Information und Schlüsselworte\" aktiviert wurde"
|
||||
|
||||
#: src/Module/Contact.php:617 src/Module/Settings/TwoFactor/Index.php:132
|
||||
#: src/Module/Contact.php:632 src/Module/Settings/TwoFactor/Index.php:132
|
||||
msgid "Actions"
|
||||
msgstr "Aktionen"
|
||||
|
||||
#: src/Module/Contact.php:624
|
||||
#: src/Module/Contact.php:639
|
||||
msgid "Mirror postings from this contact"
|
||||
msgstr "Spiegle Beiträge dieses Kontakts"
|
||||
|
||||
#: src/Module/Contact.php:626
|
||||
#: src/Module/Contact.php:641
|
||||
msgid ""
|
||||
"Mark this contact as remote_self, this will cause friendica to repost new "
|
||||
"entries from this contact."
|
||||
msgstr "Markiere diesen Kontakt als remote_self (entferntes Konto), dies veranlasst Friendica, alle Top-Level Beiträge dieses Kontakts an all Deine Kontakte zu senden (spiegeln)."
|
||||
|
||||
#: src/Module/Contact.php:758
|
||||
#: src/Module/Contact.php:773
|
||||
msgid "Show all contacts"
|
||||
msgstr "Alle Kontakte anzeigen"
|
||||
|
||||
#: src/Module/Contact.php:766
|
||||
#: src/Module/Contact.php:781
|
||||
msgid "Only show pending contacts"
|
||||
msgstr "Zeige nur noch ausstehende Kontakte."
|
||||
|
||||
#: src/Module/Contact.php:774
|
||||
#: src/Module/Contact.php:789
|
||||
msgid "Only show blocked contacts"
|
||||
msgstr "Nur blockierte Kontakte anzeigen"
|
||||
|
||||
#: src/Module/Contact.php:779 src/Module/Contact.php:826
|
||||
#: src/Object/Post.php:308
|
||||
#: src/Module/Contact.php:794 src/Module/Contact.php:841
|
||||
#: src/Object/Post.php:309
|
||||
msgid "Ignored"
|
||||
msgstr "Ignoriert"
|
||||
|
||||
#: src/Module/Contact.php:782
|
||||
#: src/Module/Contact.php:797
|
||||
msgid "Only show ignored contacts"
|
||||
msgstr "Nur ignorierte Kontakte anzeigen"
|
||||
|
||||
#: src/Module/Contact.php:787 src/Module/Contact.php:827
|
||||
#: src/Module/Contact.php:802 src/Module/Contact.php:842
|
||||
msgid "Archived"
|
||||
msgstr "Archiviert"
|
||||
|
||||
#: src/Module/Contact.php:790
|
||||
#: src/Module/Contact.php:805
|
||||
msgid "Only show archived contacts"
|
||||
msgstr "Nur archivierte Kontakte anzeigen"
|
||||
|
||||
#: src/Module/Contact.php:795 src/Module/Contact.php:825
|
||||
#: src/Module/Contact.php:810 src/Module/Contact.php:840
|
||||
msgid "Hidden"
|
||||
msgstr "Verborgen"
|
||||
|
||||
#: src/Module/Contact.php:798
|
||||
#: src/Module/Contact.php:813
|
||||
msgid "Only show hidden contacts"
|
||||
msgstr "Nur verborgene Kontakte anzeigen"
|
||||
|
||||
#: src/Module/Contact.php:806
|
||||
#: src/Module/Contact.php:821
|
||||
msgid "Organize your contact groups"
|
||||
msgstr "Verwalte deine Kontaktgruppen"
|
||||
|
||||
#: src/Module/Contact.php:838
|
||||
#: src/Module/Contact.php:853
|
||||
msgid "Search your contacts"
|
||||
msgstr "Suche in deinen Kontakten"
|
||||
|
||||
#: src/Module/Contact.php:839 src/Module/Search/Index.php:194
|
||||
#: src/Module/Contact.php:854 src/Module/Search/Index.php:194
|
||||
#, php-format
|
||||
msgid "Results for: %s"
|
||||
msgstr "Ergebnisse für: %s"
|
||||
|
||||
#: src/Module/Contact.php:846
|
||||
#: src/Module/Contact.php:862
|
||||
msgid "Update"
|
||||
msgstr "Aktualisierungen"
|
||||
|
||||
#: src/Module/Contact.php:851
|
||||
#: src/Module/Contact.php:867
|
||||
msgid "Batch Actions"
|
||||
msgstr "Stapelverarbeitung"
|
||||
|
||||
#: src/Module/Contact.php:886
|
||||
#: src/Module/Contact.php:902
|
||||
msgid "Conversations started by this contact"
|
||||
msgstr "Unterhaltungen, die von diesem Kontakt begonnen wurden"
|
||||
|
||||
#: src/Module/Contact.php:891
|
||||
#: src/Module/Contact.php:907
|
||||
msgid "Posts and Comments"
|
||||
msgstr "Statusnachrichten und Kommentare"
|
||||
|
||||
#: src/Module/Contact.php:909
|
||||
#: src/Module/Contact.php:925
|
||||
msgid "View all known contacts"
|
||||
msgstr "Alle bekannten Kontakte anzeigen"
|
||||
|
||||
#: src/Module/Contact.php:919
|
||||
#: src/Module/Contact.php:935
|
||||
msgid "Advanced Contact Settings"
|
||||
msgstr "Fortgeschrittene Kontakteinstellungen"
|
||||
|
||||
#: src/Module/Contact.php:1013
|
||||
#: src/Module/Contact.php:1029
|
||||
msgid "Mutual Friendship"
|
||||
msgstr "Beidseitige Freundschaft"
|
||||
|
||||
#: src/Module/Contact.php:1017
|
||||
#: src/Module/Contact.php:1033
|
||||
msgid "is a fan of yours"
|
||||
msgstr "ist ein Fan von dir"
|
||||
|
||||
#: src/Module/Contact.php:1021
|
||||
#: src/Module/Contact.php:1037
|
||||
msgid "you are a fan of"
|
||||
msgstr "Du bist Fan von"
|
||||
|
||||
#: src/Module/Contact.php:1039
|
||||
#: src/Module/Contact.php:1055
|
||||
msgid "Pending outgoing contact request"
|
||||
msgstr "Ausstehende ausgehende Kontaktanfrage"
|
||||
|
||||
#: src/Module/Contact.php:1041
|
||||
#: src/Module/Contact.php:1057
|
||||
msgid "Pending incoming contact request"
|
||||
msgstr "Ausstehende eingehende Kontaktanfrage"
|
||||
|
||||
#: src/Module/Contact.php:1106
|
||||
#: src/Module/Contact.php:1124
|
||||
msgid "Refetch contact data"
|
||||
msgstr "Kontaktdaten neu laden"
|
||||
|
||||
#: src/Module/Contact.php:1117
|
||||
#: src/Module/Contact.php:1135
|
||||
msgid "Toggle Blocked status"
|
||||
msgstr "Geblockt-Status ein-/ausschalten"
|
||||
|
||||
#: src/Module/Contact.php:1125
|
||||
#: src/Module/Contact.php:1143
|
||||
msgid "Toggle Ignored status"
|
||||
msgstr "Ignoriert-Status ein-/ausschalten"
|
||||
|
||||
#: src/Module/Contact.php:1134
|
||||
#: src/Module/Contact.php:1152
|
||||
msgid "Delete contact"
|
||||
msgstr "Lösche den Kontakt"
|
||||
|
||||
|
|
@ -7846,7 +7908,7 @@ msgstr "Persönlich"
|
|||
msgid "Posts that mention or involve you"
|
||||
msgstr "Beiträge, in denen es um dich geht"
|
||||
|
||||
#: src/Module/Conversation/Network.php:258 src/Object/Post.php:320
|
||||
#: src/Module/Conversation/Network.php:258 src/Object/Post.php:321
|
||||
msgid "Starred"
|
||||
msgstr "Markierte"
|
||||
|
||||
|
|
@ -8123,21 +8185,21 @@ msgstr "Webfinger Diagnostik"
|
|||
msgid "Lookup address:"
|
||||
msgstr "Adresse nachschlagen:"
|
||||
|
||||
#: src/Module/Delegation.php:148
|
||||
#: src/Module/Delegation.php:142
|
||||
msgid "Switch between your accounts"
|
||||
msgstr "Wechsle deine Konten"
|
||||
|
||||
#: src/Module/Delegation.php:149
|
||||
#: src/Module/Delegation.php:143
|
||||
msgid "Manage your accounts"
|
||||
msgstr "Verwalte deine Konten"
|
||||
|
||||
#: src/Module/Delegation.php:150
|
||||
#: src/Module/Delegation.php:144
|
||||
msgid ""
|
||||
"Toggle between different identities or community/group pages which share "
|
||||
"your account details or which you have been granted \"manage\" permissions"
|
||||
msgstr "Zwischen verschiedenen Identitäten oder Gemeinschafts-/Gruppenseiten wechseln, die deine Kontoinformationen teilen oder zu denen du „Verwalten“-Befugnisse bekommen hast."
|
||||
|
||||
#: src/Module/Delegation.php:151
|
||||
#: src/Module/Delegation.php:145
|
||||
msgid "Select an identity to manage: "
|
||||
msgstr "Wähle eine Identität zum Verwalten aus: "
|
||||
|
||||
|
|
@ -8669,7 +8731,7 @@ msgid "Claims to be known to you: "
|
|||
msgstr "Behauptet, dich zu kennen: "
|
||||
|
||||
#: src/Module/Notifications/Introductions.php:123
|
||||
#: src/Module/OAuth/Acknowledge.php:48 src/Module/Register.php:116
|
||||
#: src/Module/OAuth/Acknowledge.php:48 src/Module/Register.php:118
|
||||
msgid "No"
|
||||
msgstr "Nein"
|
||||
|
||||
|
|
@ -8733,10 +8795,6 @@ msgstr "Pinnwandbenachrichtigungen"
|
|||
msgid "Show unread"
|
||||
msgstr "Ungelesene anzeigen"
|
||||
|
||||
#: src/Module/Notifications/Notifications.php:138
|
||||
msgid "Show all"
|
||||
msgstr "Alle anzeigen"
|
||||
|
||||
#: src/Module/OAuth/Acknowledge.php:44
|
||||
msgid "Authorize application connection"
|
||||
msgstr "Verbindung der Applikation autorisieren"
|
||||
|
|
@ -8885,137 +8943,137 @@ msgstr "Inhalt"
|
|||
msgid "Remove post"
|
||||
msgstr "Beitrag entfernen"
|
||||
|
||||
#: src/Module/Register.php:69
|
||||
#: src/Module/Register.php:71
|
||||
msgid "Only parent users can create additional accounts."
|
||||
msgstr "Zusätzliche Nutzerkonten können nur von Verwaltern angelegt werden."
|
||||
|
||||
#: src/Module/Register.php:101
|
||||
#: src/Module/Register.php:103
|
||||
msgid ""
|
||||
"You may (optionally) fill in this form via OpenID by supplying your OpenID "
|
||||
"and clicking \"Register\"."
|
||||
msgstr "Du kannst dieses Formular auch (optional) mit deiner OpenID ausfüllen, indem du deine OpenID angibst und 'Registrieren' klickst."
|
||||
|
||||
#: src/Module/Register.php:102
|
||||
#: src/Module/Register.php:104
|
||||
msgid ""
|
||||
"If you are not familiar with OpenID, please leave that field blank and fill "
|
||||
"in the rest of the items."
|
||||
msgstr "Wenn du nicht mit OpenID vertraut bist, lass dieses Feld bitte leer und fülle die restlichen Felder aus."
|
||||
|
||||
#: src/Module/Register.php:103
|
||||
#: src/Module/Register.php:105
|
||||
msgid "Your OpenID (optional): "
|
||||
msgstr "Deine OpenID (optional): "
|
||||
|
||||
#: src/Module/Register.php:112
|
||||
#: src/Module/Register.php:114
|
||||
msgid "Include your profile in member directory?"
|
||||
msgstr "Soll dein Profil im Nutzerverzeichnis angezeigt werden?"
|
||||
|
||||
#: src/Module/Register.php:135
|
||||
#: src/Module/Register.php:137
|
||||
msgid "Note for the admin"
|
||||
msgstr "Hinweis für den Admin"
|
||||
|
||||
#: src/Module/Register.php:135
|
||||
#: src/Module/Register.php:137
|
||||
msgid "Leave a message for the admin, why you want to join this node"
|
||||
msgstr "Hinterlasse eine Nachricht an den Admin, warum du einen Account auf dieser Instanz haben möchtest."
|
||||
|
||||
#: src/Module/Register.php:136
|
||||
#: src/Module/Register.php:138
|
||||
msgid "Membership on this site is by invitation only."
|
||||
msgstr "Mitgliedschaft auf dieser Seite ist nur nach vorheriger Einladung möglich."
|
||||
|
||||
#: src/Module/Register.php:137
|
||||
#: src/Module/Register.php:139
|
||||
msgid "Your invitation code: "
|
||||
msgstr "Dein Einladungscode"
|
||||
|
||||
#: src/Module/Register.php:145
|
||||
#: src/Module/Register.php:147
|
||||
msgid "Your Full Name (e.g. Joe Smith, real or real-looking): "
|
||||
msgstr "Dein vollständiger Name (z.B. Hans Mustermann, echt oder echt erscheinend):"
|
||||
|
||||
#: src/Module/Register.php:146
|
||||
#: src/Module/Register.php:148
|
||||
msgid ""
|
||||
"Your Email Address: (Initial information will be send there, so this has to "
|
||||
"be an existing address.)"
|
||||
msgstr "Deine E-Mail Adresse (Informationen zur Registrierung werden an diese Adresse gesendet, darum muss sie existieren.)"
|
||||
|
||||
#: src/Module/Register.php:147
|
||||
#: src/Module/Register.php:149
|
||||
msgid "Please repeat your e-mail address:"
|
||||
msgstr "Bitte wiederhole deine E-Mail Adresse"
|
||||
|
||||
#: src/Module/Register.php:149
|
||||
#: src/Module/Register.php:151
|
||||
msgid "Leave empty for an auto generated password."
|
||||
msgstr "Leer lassen, um das Passwort automatisch zu generieren."
|
||||
|
||||
#: src/Module/Register.php:151
|
||||
#: src/Module/Register.php:153
|
||||
#, php-format
|
||||
msgid ""
|
||||
"Choose a profile nickname. This must begin with a text character. Your "
|
||||
"profile address on this site will then be \"<strong>nickname@%s</strong>\"."
|
||||
msgstr "Wähle einen Spitznamen für dein Profil. Dieser muss mit einem Buchstaben beginnen. Die Adresse deines Profils auf dieser Seite wird '<strong>spitzname@%s</strong>' sein."
|
||||
|
||||
#: src/Module/Register.php:152
|
||||
#: src/Module/Register.php:154
|
||||
msgid "Choose a nickname: "
|
||||
msgstr "Spitznamen wählen: "
|
||||
|
||||
#: src/Module/Register.php:161
|
||||
#: src/Module/Register.php:163
|
||||
msgid "Import your profile to this friendica instance"
|
||||
msgstr "Importiere dein Profil auf diese Friendica-Instanz"
|
||||
|
||||
#: src/Module/Register.php:168
|
||||
#: src/Module/Register.php:170
|
||||
msgid "Note: This node explicitly contains adult content"
|
||||
msgstr "Hinweis: Dieser Knoten enthält explizit Inhalte für Erwachsene"
|
||||
|
||||
#: src/Module/Register.php:170 src/Module/Settings/Delegation.php:155
|
||||
#: src/Module/Register.php:172 src/Module/Settings/Delegation.php:155
|
||||
msgid "Parent Password:"
|
||||
msgstr "Passwort des Verwalters"
|
||||
|
||||
#: src/Module/Register.php:170 src/Module/Settings/Delegation.php:155
|
||||
#: src/Module/Register.php:172 src/Module/Settings/Delegation.php:155
|
||||
msgid ""
|
||||
"Please enter the password of the parent account to legitimize your request."
|
||||
msgstr "Bitte gib das Passwort des Verwalters ein, um deine Anfrage zu bestätigen."
|
||||
|
||||
#: src/Module/Register.php:199
|
||||
#: src/Module/Register.php:201
|
||||
msgid "Password doesn't match."
|
||||
msgstr "Das Passwort stimmt nicht."
|
||||
|
||||
#: src/Module/Register.php:205
|
||||
#: src/Module/Register.php:207
|
||||
msgid "Please enter your password."
|
||||
msgstr "Bitte gib dein Passwort an."
|
||||
|
||||
#: src/Module/Register.php:247
|
||||
#: src/Module/Register.php:249
|
||||
msgid "You have entered too much information."
|
||||
msgstr "Du hast zu viele Informationen eingegeben."
|
||||
|
||||
#: src/Module/Register.php:270
|
||||
#: src/Module/Register.php:272
|
||||
msgid "Please enter the identical mail address in the second field."
|
||||
msgstr "Bitte gib die gleiche E-Mail Adresse noch einmal an."
|
||||
|
||||
#: src/Module/Register.php:297
|
||||
#: src/Module/Register.php:299
|
||||
msgid "The additional account was created."
|
||||
msgstr "Das zusätzliche Nutzerkonto wurde angelegt."
|
||||
|
||||
#: src/Module/Register.php:322
|
||||
#: src/Module/Register.php:324
|
||||
msgid ""
|
||||
"Registration successful. Please check your email for further instructions."
|
||||
msgstr "Registrierung erfolgreich. Eine E-Mail mit weiteren Anweisungen wurde an dich gesendet."
|
||||
|
||||
#: src/Module/Register.php:326
|
||||
#: src/Module/Register.php:328
|
||||
#, php-format
|
||||
msgid ""
|
||||
"Failed to send email message. Here your accout details:<br> login: %s<br> "
|
||||
"password: %s<br><br>You can change your password after login."
|
||||
msgstr "Versenden der E-Mail fehlgeschlagen. Hier sind Deine Account-Details:\n\nLogin: %s\nPasswort: %s\n\nDu kannst das Passwort nach dem Anmelden ändern."
|
||||
|
||||
#: src/Module/Register.php:332
|
||||
#: src/Module/Register.php:334
|
||||
msgid "Registration successful."
|
||||
msgstr "Registrierung erfolgreich."
|
||||
|
||||
#: src/Module/Register.php:337 src/Module/Register.php:344
|
||||
#: src/Module/Register.php:339 src/Module/Register.php:346
|
||||
msgid "Your registration can not be processed."
|
||||
msgstr "Deine Registrierung konnte nicht verarbeitet werden."
|
||||
|
||||
#: src/Module/Register.php:343
|
||||
#: src/Module/Register.php:345
|
||||
msgid "You have to leave a request note for the admin."
|
||||
msgstr "Du musst eine Nachricht für den Administrator als Begründung deiner Anfrage hinterlegen."
|
||||
|
||||
#: src/Module/Register.php:389
|
||||
#: src/Module/Register.php:391
|
||||
msgid "Your registration is pending approval by the site owner."
|
||||
msgstr "Deine Registrierung muss noch vom Betreiber der Seite freigegeben werden."
|
||||
|
||||
|
|
@ -10222,197 +10280,197 @@ msgstr "Falls du diese Beiträge nicht erhalten möchtest, kontaktiere bitte den
|
|||
msgid "%s posted an update."
|
||||
msgstr "%s hat ein Update veröffentlicht."
|
||||
|
||||
#: src/Object/Post.php:148
|
||||
#: src/Object/Post.php:149
|
||||
msgid "This entry was edited"
|
||||
msgstr "Dieser Beitrag wurde bearbeitet."
|
||||
|
||||
#: src/Object/Post.php:176
|
||||
#: src/Object/Post.php:177
|
||||
msgid "Private Message"
|
||||
msgstr "Private Nachricht"
|
||||
|
||||
#: src/Object/Post.php:192 src/Object/Post.php:194
|
||||
#: src/Object/Post.php:193 src/Object/Post.php:195
|
||||
msgid "Edit"
|
||||
msgstr "Bearbeiten"
|
||||
|
||||
#: src/Object/Post.php:214
|
||||
#: src/Object/Post.php:215
|
||||
msgid "Pinned item"
|
||||
msgstr "Angehefteter Beitrag"
|
||||
|
||||
#: src/Object/Post.php:218
|
||||
#: src/Object/Post.php:219
|
||||
msgid "Delete globally"
|
||||
msgstr "Global löschen"
|
||||
|
||||
#: src/Object/Post.php:218
|
||||
#: src/Object/Post.php:219
|
||||
msgid "Remove locally"
|
||||
msgstr "Lokal entfernen"
|
||||
|
||||
#: src/Object/Post.php:234
|
||||
#: src/Object/Post.php:235
|
||||
#, php-format
|
||||
msgid "Block %s"
|
||||
msgstr "Blockiere %s"
|
||||
|
||||
#: src/Object/Post.php:239
|
||||
#: src/Object/Post.php:240
|
||||
msgid "Save to folder"
|
||||
msgstr "In Ordner speichern"
|
||||
|
||||
#: src/Object/Post.php:273
|
||||
#: src/Object/Post.php:274
|
||||
msgid "I will attend"
|
||||
msgstr "Ich werde teilnehmen"
|
||||
|
||||
#: src/Object/Post.php:273
|
||||
#: src/Object/Post.php:274
|
||||
msgid "I will not attend"
|
||||
msgstr "Ich werde nicht teilnehmen"
|
||||
|
||||
#: src/Object/Post.php:273
|
||||
#: src/Object/Post.php:274
|
||||
msgid "I might attend"
|
||||
msgstr "Ich werde eventuell teilnehmen"
|
||||
|
||||
#: src/Object/Post.php:303
|
||||
#: src/Object/Post.php:304
|
||||
msgid "Ignore thread"
|
||||
msgstr "Thread ignorieren"
|
||||
|
||||
#: src/Object/Post.php:304
|
||||
#: src/Object/Post.php:305
|
||||
msgid "Unignore thread"
|
||||
msgstr "Thread nicht mehr ignorieren"
|
||||
|
||||
#: src/Object/Post.php:305
|
||||
#: src/Object/Post.php:306
|
||||
msgid "Toggle ignore status"
|
||||
msgstr "Ignoriert-Status ein-/ausschalten"
|
||||
|
||||
#: src/Object/Post.php:315
|
||||
#: src/Object/Post.php:316
|
||||
msgid "Add star"
|
||||
msgstr "Markieren"
|
||||
|
||||
#: src/Object/Post.php:316
|
||||
#: src/Object/Post.php:317
|
||||
msgid "Remove star"
|
||||
msgstr "Markierung entfernen"
|
||||
|
||||
#: src/Object/Post.php:317
|
||||
#: src/Object/Post.php:318
|
||||
msgid "Toggle star status"
|
||||
msgstr "Markierung umschalten"
|
||||
|
||||
#: src/Object/Post.php:328
|
||||
#: src/Object/Post.php:329
|
||||
msgid "Pin"
|
||||
msgstr "Anheften"
|
||||
|
||||
#: src/Object/Post.php:329
|
||||
#: src/Object/Post.php:330
|
||||
msgid "Unpin"
|
||||
msgstr "Losmachen"
|
||||
|
||||
#: src/Object/Post.php:330
|
||||
#: src/Object/Post.php:331
|
||||
msgid "Toggle pin status"
|
||||
msgstr "Angeheftet Status ändern"
|
||||
|
||||
#: src/Object/Post.php:333
|
||||
#: src/Object/Post.php:334
|
||||
msgid "Pinned"
|
||||
msgstr "Angeheftet"
|
||||
|
||||
#: src/Object/Post.php:338
|
||||
#: src/Object/Post.php:339
|
||||
msgid "Add tag"
|
||||
msgstr "Tag hinzufügen"
|
||||
|
||||
#: src/Object/Post.php:351
|
||||
#: src/Object/Post.php:352
|
||||
msgid "Quote share this"
|
||||
msgstr "Teile und zitiere dies"
|
||||
|
||||
#: src/Object/Post.php:351
|
||||
#: src/Object/Post.php:352
|
||||
msgid "Quote Share"
|
||||
msgstr "Zitat teilen"
|
||||
|
||||
#: src/Object/Post.php:354
|
||||
#: src/Object/Post.php:355
|
||||
msgid "Reshare this"
|
||||
msgstr "Teile dies"
|
||||
|
||||
#: src/Object/Post.php:354
|
||||
#: src/Object/Post.php:355
|
||||
msgid "Reshare"
|
||||
msgstr "Teilen"
|
||||
|
||||
#: src/Object/Post.php:355
|
||||
#: src/Object/Post.php:356
|
||||
msgid "Cancel your Reshare"
|
||||
msgstr "Teilen aufheben"
|
||||
|
||||
#: src/Object/Post.php:355
|
||||
#: src/Object/Post.php:356
|
||||
msgid "Unshare"
|
||||
msgstr "Nicht mehr teilen"
|
||||
|
||||
#: src/Object/Post.php:400
|
||||
#: src/Object/Post.php:401
|
||||
#, php-format
|
||||
msgid "%s (Received %s)"
|
||||
msgstr "%s (Empfangen %s)"
|
||||
|
||||
#: src/Object/Post.php:405
|
||||
#: src/Object/Post.php:406
|
||||
msgid "Comment this item on your system"
|
||||
msgstr "Kommentiere diesen Beitrag von deinem System aus"
|
||||
|
||||
#: src/Object/Post.php:405
|
||||
#: src/Object/Post.php:406
|
||||
msgid "Remote comment"
|
||||
msgstr "Entfernter Kommentar"
|
||||
|
||||
#: src/Object/Post.php:421
|
||||
#: src/Object/Post.php:422
|
||||
msgid "Pushed"
|
||||
msgstr "Pushed"
|
||||
|
||||
#: src/Object/Post.php:421
|
||||
#: src/Object/Post.php:422
|
||||
msgid "Pulled"
|
||||
msgstr "Pulled"
|
||||
|
||||
#: src/Object/Post.php:455
|
||||
#: src/Object/Post.php:456
|
||||
msgid "to"
|
||||
msgstr "zu"
|
||||
|
||||
#: src/Object/Post.php:456
|
||||
#: src/Object/Post.php:457
|
||||
msgid "via"
|
||||
msgstr "via"
|
||||
|
||||
#: src/Object/Post.php:457
|
||||
#: src/Object/Post.php:458
|
||||
msgid "Wall-to-Wall"
|
||||
msgstr "Wall-to-Wall"
|
||||
|
||||
#: src/Object/Post.php:458
|
||||
#: src/Object/Post.php:459
|
||||
msgid "via Wall-To-Wall:"
|
||||
msgstr "via Wall-To-Wall:"
|
||||
|
||||
#: src/Object/Post.php:496
|
||||
#: src/Object/Post.php:497
|
||||
#, php-format
|
||||
msgid "Reply to %s"
|
||||
msgstr "Antworte %s"
|
||||
|
||||
#: src/Object/Post.php:499
|
||||
#: src/Object/Post.php:500
|
||||
msgid "More"
|
||||
msgstr "Mehr"
|
||||
|
||||
#: src/Object/Post.php:517
|
||||
#: src/Object/Post.php:518
|
||||
msgid "Notifier task is pending"
|
||||
msgstr "Die Benachrichtigungsaufgabe ist ausstehend"
|
||||
|
||||
#: src/Object/Post.php:518
|
||||
#: src/Object/Post.php:519
|
||||
msgid "Delivery to remote servers is pending"
|
||||
msgstr "Die Auslieferung an Remote-Server steht noch aus"
|
||||
|
||||
#: src/Object/Post.php:519
|
||||
#: src/Object/Post.php:520
|
||||
msgid "Delivery to remote servers is underway"
|
||||
msgstr "Die Auslieferung an Remote-Server ist unterwegs"
|
||||
|
||||
#: src/Object/Post.php:520
|
||||
#: src/Object/Post.php:521
|
||||
msgid "Delivery to remote servers is mostly done"
|
||||
msgstr "Die Zustellung an Remote-Server ist fast erledigt"
|
||||
|
||||
#: src/Object/Post.php:521
|
||||
#: src/Object/Post.php:522
|
||||
msgid "Delivery to remote servers is done"
|
||||
msgstr "Die Zustellung an die Remote-Server ist erledigt"
|
||||
|
||||
#: src/Object/Post.php:541
|
||||
#: src/Object/Post.php:542
|
||||
#, php-format
|
||||
msgid "%d comment"
|
||||
msgid_plural "%d comments"
|
||||
msgstr[0] "%d Kommentar"
|
||||
msgstr[1] "%d Kommentare"
|
||||
|
||||
#: src/Object/Post.php:542
|
||||
#: src/Object/Post.php:543
|
||||
msgid "Show more"
|
||||
msgstr "Zeige mehr"
|
||||
|
||||
#: src/Object/Post.php:543
|
||||
#: src/Object/Post.php:544
|
||||
msgid "Show fewer"
|
||||
msgstr "Zeige weniger"
|
||||
|
||||
|
|
|
|||
|
|
@ -16,101 +16,6 @@ $a->strings["Weekly posting limit of %d post reached. The post was rejected."] =
|
|||
];
|
||||
$a->strings["Monthly posting limit of %d post reached. The post was rejected."] = "Das monatliche Limit von %d Beiträgen wurde erreicht. Der Beitrag wurde verworfen.";
|
||||
$a->strings["Profile Photos"] = "Profilbilder";
|
||||
$a->strings["%1\$s poked %2\$s"] = "%1\$s stupste %2\$s";
|
||||
$a->strings["event"] = "Veranstaltung";
|
||||
$a->strings["status"] = "Status";
|
||||
$a->strings["photo"] = "Foto";
|
||||
$a->strings["%1\$s tagged %2\$s's %3\$s with %4\$s"] = "%1\$s hat %2\$ss %3\$s mit %4\$s getaggt";
|
||||
$a->strings["Select"] = "Auswählen";
|
||||
$a->strings["Delete"] = "Löschen";
|
||||
$a->strings["View %s's profile @ %s"] = "Das Profil von %s auf %s betrachten.";
|
||||
$a->strings["Categories:"] = "Kategorien:";
|
||||
$a->strings["Filed under:"] = "Abgelegt unter:";
|
||||
$a->strings["%s from %s"] = "%s von %s";
|
||||
$a->strings["View in context"] = "Im Zusammenhang betrachten";
|
||||
$a->strings["Please wait"] = "Bitte warten";
|
||||
$a->strings["remove"] = "löschen";
|
||||
$a->strings["Delete Selected Items"] = "Lösche die markierten Beiträge";
|
||||
$a->strings["You had been addressed (%s)."] = "Du wurdest angeschrieben (%s).";
|
||||
$a->strings["You are following %s."] = "Du folgst %s.";
|
||||
$a->strings["Tagged"] = "Verschlagwortet";
|
||||
$a->strings["%s reshared this."] = "%s hat dies geteilt";
|
||||
$a->strings["Reshared"] = "Geteilt";
|
||||
$a->strings["Reshared by %s <%s>"] = "Geteilt von %s <%s>";
|
||||
$a->strings["%s is participating in this thread."] = "%s ist an der Unterhaltung beteiligt.";
|
||||
$a->strings["Stored"] = "Gespeichert";
|
||||
$a->strings["Global"] = "Global";
|
||||
$a->strings["Relayed"] = "Übermittelt";
|
||||
$a->strings["Relayed by %s <%s>"] = "Weitergeleitet von %s <%s>";
|
||||
$a->strings["Fetched"] = "Abgerufen";
|
||||
$a->strings["Fetched because of %s <%s>"] = "Wegen %s <%s> abgerufen";
|
||||
$a->strings["Follow Thread"] = "Folge der Unterhaltung";
|
||||
$a->strings["View Status"] = "Status anschauen";
|
||||
$a->strings["View Profile"] = "Profil anschauen";
|
||||
$a->strings["View Photos"] = "Bilder anschauen";
|
||||
$a->strings["Network Posts"] = "Netzwerkbeiträge";
|
||||
$a->strings["View Contact"] = "Kontakt anzeigen";
|
||||
$a->strings["Send PM"] = "Private Nachricht senden";
|
||||
$a->strings["Block"] = "Sperren";
|
||||
$a->strings["Ignore"] = "Ignorieren";
|
||||
$a->strings["Languages"] = "Sprachen";
|
||||
$a->strings["Poke"] = "Anstupsen";
|
||||
$a->strings["Connect/Follow"] = "Verbinden/Folgen";
|
||||
$a->strings["%s likes this."] = "%s mag das.";
|
||||
$a->strings["%s doesn't like this."] = "%s mag das nicht.";
|
||||
$a->strings["%s attends."] = "%s nimmt teil.";
|
||||
$a->strings["%s doesn't attend."] = "%s nimmt nicht teil.";
|
||||
$a->strings["%s attends maybe."] = "%s nimmt eventuell teil.";
|
||||
$a->strings["and"] = "und";
|
||||
$a->strings["and %d other people"] = "und %dandere";
|
||||
$a->strings["<span %1\$s>%2\$d people</span> like this"] = "<span %1\$s>%2\$d Personen</span> mögen das";
|
||||
$a->strings["%s like this."] = "%s mögen das.";
|
||||
$a->strings["<span %1\$s>%2\$d people</span> don't like this"] = "<span %1\$s>%2\$d Personen</span> mögen das nicht";
|
||||
$a->strings["%s don't like this."] = "%s mögen dies nicht.";
|
||||
$a->strings["<span %1\$s>%2\$d people</span> attend"] = "<span %1\$s>%2\$d Personen</span> nehmen teil";
|
||||
$a->strings["%s attend."] = "%s nehmen teil.";
|
||||
$a->strings["<span %1\$s>%2\$d people</span> don't attend"] = "<span %1\$s>%2\$d Personen</span> nehmen nicht teil";
|
||||
$a->strings["%s don't attend."] = "%s nehmen nicht teil.";
|
||||
$a->strings["<span %1\$s>%2\$d people</span> attend maybe"] = "<span %1\$s>%2\$d Personen</span> nehmen eventuell teil";
|
||||
$a->strings["%s attend maybe."] = "%s nimmt eventuell teil.";
|
||||
$a->strings["<span %1\$s>%2\$d people</span> reshared this"] = "<span %1\$s>%2\$d Personen</span> haben dies geteilt";
|
||||
$a->strings["Visible to <strong>everybody</strong>"] = "Für <strong>jedermann</strong> sichtbar";
|
||||
$a->strings["Please enter a image/video/audio/webpage URL:"] = "Bitte gib eine Bild/Video/Audio/Webseiten-URL ein:";
|
||||
$a->strings["Tag term:"] = "Tag:";
|
||||
$a->strings["Save to Folder:"] = "In diesem Ordner speichern:";
|
||||
$a->strings["Where are you right now?"] = "Wo hältst du dich jetzt gerade auf?";
|
||||
$a->strings["Delete item(s)?"] = "Einträge löschen?";
|
||||
$a->strings["New Post"] = "Neuer Beitrag";
|
||||
$a->strings["Share"] = "Teilen";
|
||||
$a->strings["Loading..."] = "lädt...";
|
||||
$a->strings["Upload photo"] = "Foto hochladen";
|
||||
$a->strings["upload photo"] = "Bild hochladen";
|
||||
$a->strings["Attach file"] = "Datei anhängen";
|
||||
$a->strings["attach file"] = "Datei anhängen";
|
||||
$a->strings["Bold"] = "Fett";
|
||||
$a->strings["Italic"] = "Kursiv";
|
||||
$a->strings["Underline"] = "Unterstrichen";
|
||||
$a->strings["Quote"] = "Zitat";
|
||||
$a->strings["Code"] = "Code";
|
||||
$a->strings["Image"] = "Bild";
|
||||
$a->strings["Link"] = "Link";
|
||||
$a->strings["Link or Media"] = "Link oder Mediendatei";
|
||||
$a->strings["Video"] = "Video";
|
||||
$a->strings["Set your location"] = "Deinen Standort festlegen";
|
||||
$a->strings["set location"] = "Ort setzen";
|
||||
$a->strings["Clear browser location"] = "Browser-Standort leeren";
|
||||
$a->strings["clear location"] = "Ort löschen";
|
||||
$a->strings["Set title"] = "Titel setzen";
|
||||
$a->strings["Categories (comma-separated list)"] = "Kategorien (kommasepariert)";
|
||||
$a->strings["Scheduled at"] = "Geplant für";
|
||||
$a->strings["Permission settings"] = "Berechtigungseinstellungen";
|
||||
$a->strings["Permissions"] = "Berechtigungen";
|
||||
$a->strings["Public post"] = "Öffentlicher Beitrag";
|
||||
$a->strings["Preview"] = "Vorschau";
|
||||
$a->strings["Cancel"] = "Abbrechen";
|
||||
$a->strings["Message"] = "Nachricht";
|
||||
$a->strings["Browser"] = "Browser";
|
||||
$a->strings["Open Compose page"] = "Composer Seite öffnen";
|
||||
$a->strings["[Friendica:Notify]"] = "[Friendica Meldung]";
|
||||
$a->strings["%s New mail received at %s"] = "%sNeue Nachricht auf %s empfangen";
|
||||
$a->strings["%1\$s sent you a new private message at %2\$s."] = "%1\$s hat dir eine neue, private Nachricht auf %2\$s geschickt.";
|
||||
|
|
@ -183,14 +88,34 @@ $a->strings["The feed for this item is unavailable."] = "Der Feed für diesen Be
|
|||
$a->strings["Item not found"] = "Beitrag nicht gefunden";
|
||||
$a->strings["Edit post"] = "Beitrag bearbeiten";
|
||||
$a->strings["Save"] = "Speichern";
|
||||
$a->strings["Loading..."] = "lädt...";
|
||||
$a->strings["Upload photo"] = "Foto hochladen";
|
||||
$a->strings["upload photo"] = "Bild hochladen";
|
||||
$a->strings["Attach file"] = "Datei anhängen";
|
||||
$a->strings["attach file"] = "Datei anhängen";
|
||||
$a->strings["Insert web link"] = "Einen Link einfügen";
|
||||
$a->strings["web link"] = "Weblink";
|
||||
$a->strings["Insert video link"] = "Video-Adresse einfügen";
|
||||
$a->strings["video link"] = "Video-Link";
|
||||
$a->strings["Insert audio link"] = "Audio-Adresse einfügen";
|
||||
$a->strings["audio link"] = "Audio-Link";
|
||||
$a->strings["Set your location"] = "Deinen Standort festlegen";
|
||||
$a->strings["set location"] = "Ort setzen";
|
||||
$a->strings["Clear browser location"] = "Browser-Standort leeren";
|
||||
$a->strings["clear location"] = "Ort löschen";
|
||||
$a->strings["Please wait"] = "Bitte warten";
|
||||
$a->strings["Permission settings"] = "Berechtigungseinstellungen";
|
||||
$a->strings["CC: email addresses"] = "Cc: E-Mail-Addressen";
|
||||
$a->strings["Public post"] = "Öffentlicher Beitrag";
|
||||
$a->strings["Set title"] = "Titel setzen";
|
||||
$a->strings["Categories (comma-separated list)"] = "Kategorien (kommasepariert)";
|
||||
$a->strings["Example: bob@example.com, mary@example.com"] = "Z.B.: bob@example.com, mary@example.com";
|
||||
$a->strings["Preview"] = "Vorschau";
|
||||
$a->strings["Cancel"] = "Abbrechen";
|
||||
$a->strings["Message"] = "Nachricht";
|
||||
$a->strings["Browser"] = "Browser";
|
||||
$a->strings["Permissions"] = "Berechtigungen";
|
||||
$a->strings["Open Compose page"] = "Composer Seite öffnen";
|
||||
$a->strings["Event can not end before it has started."] = "Die Veranstaltung kann nicht enden, bevor sie beginnt.";
|
||||
$a->strings["Event title and start time are required."] = "Der Veranstaltungstitel und die Anfangszeit müssen angegeben werden.";
|
||||
$a->strings["Create New Event"] = "Neue Veranstaltung erstellen";
|
||||
|
|
@ -217,6 +142,7 @@ $a->strings["You already added this contact."] = "Du hast den Kontakt bereits hi
|
|||
$a->strings["The network type couldn't be detected. Contact can't be added."] = "Der Netzwerktyp wurde nicht erkannt. Der Kontakt kann nicht hinzugefügt werden.";
|
||||
$a->strings["Diaspora support isn't enabled. Contact can't be added."] = "Diaspora-Unterstützung ist nicht aktiviert. Der Kontakt kann nicht zugefügt werden.";
|
||||
$a->strings["OStatus support is disabled. Contact can't be added."] = "OStatus-Unterstützung ist nicht aktiviert. Der Kontakt kann nicht zugefügt werden.";
|
||||
$a->strings["Connect/Follow"] = "Verbinden/Folgen";
|
||||
$a->strings["Please answer the following:"] = "Bitte beantworte folgendes:";
|
||||
$a->strings["Your Identity Address:"] = "Adresse Deines Profils:";
|
||||
$a->strings["Profile URL"] = "Profil URL";
|
||||
|
|
@ -350,6 +276,8 @@ $a->strings["Rotate CW (right)"] = "Drehen US (rechts)";
|
|||
$a->strings["Rotate CCW (left)"] = "Drehen EUS (links)";
|
||||
$a->strings["This is you"] = "Das bist du";
|
||||
$a->strings["Comment"] = "Kommentar";
|
||||
$a->strings["Select"] = "Auswählen";
|
||||
$a->strings["Delete"] = "Löschen";
|
||||
$a->strings["Like"] = "Mag ich";
|
||||
$a->strings["I like this (toggle)"] = "Ich mag das (toggle)";
|
||||
$a->strings["Dislike"] = "Mag ich nicht";
|
||||
|
|
@ -545,6 +473,9 @@ $a->strings["If you have moved this profile from another server, and some of you
|
|||
$a->strings["Resend relocate message to contacts"] = "Umzugsbenachrichtigung erneut an Kontakte senden";
|
||||
$a->strings["No suggestions available. If this is a new site, please try again in 24 hours."] = "Keine Vorschläge verfügbar. Falls der Server frisch aufgesetzt wurde, versuche es bitte in 24 Stunden noch einmal.";
|
||||
$a->strings["Friend Suggestions"] = "Kontaktvorschläge";
|
||||
$a->strings["photo"] = "Foto";
|
||||
$a->strings["status"] = "Status";
|
||||
$a->strings["%1\$s tagged %2\$s's %3\$s with %4\$s"] = "%1\$s hat %2\$ss %3\$s mit %4\$s getaggt";
|
||||
$a->strings["Remove Item Tag"] = "Gegenstands-Tag entfernen";
|
||||
$a->strings["Select a tag to remove: "] = "Wähle ein Tag zum Entfernen aus: ";
|
||||
$a->strings["Remove"] = "Entfernen";
|
||||
|
|
@ -637,6 +568,62 @@ $a->strings["GNU Social Connector"] = "GNU Social Connector";
|
|||
$a->strings["ActivityPub"] = "ActivityPub";
|
||||
$a->strings["pnut"] = "pnut";
|
||||
$a->strings["%s (via %s)"] = "%s (via %s)";
|
||||
$a->strings["%s likes this."] = "%s mag das.";
|
||||
$a->strings["%s doesn't like this."] = "%s mag das nicht.";
|
||||
$a->strings["%s attends."] = "%s nimmt teil.";
|
||||
$a->strings["%s doesn't attend."] = "%s nimmt nicht teil.";
|
||||
$a->strings["%s attends maybe."] = "%s nimmt eventuell teil.";
|
||||
$a->strings["%s reshared this."] = "%s hat dies geteilt";
|
||||
$a->strings["and"] = "und";
|
||||
$a->strings["and %d other people"] = "und %dandere";
|
||||
$a->strings["<span %1\$s>%2\$d people</span> like this"] = "<span %1\$s>%2\$d Personen</span> mögen das";
|
||||
$a->strings["%s like this."] = "%s mögen das.";
|
||||
$a->strings["<span %1\$s>%2\$d people</span> don't like this"] = "<span %1\$s>%2\$d Personen</span> mögen das nicht";
|
||||
$a->strings["%s don't like this."] = "%s mögen dies nicht.";
|
||||
$a->strings["<span %1\$s>%2\$d people</span> attend"] = "<span %1\$s>%2\$d Personen</span> nehmen teil";
|
||||
$a->strings["%s attend."] = "%s nehmen teil.";
|
||||
$a->strings["<span %1\$s>%2\$d people</span> don't attend"] = "<span %1\$s>%2\$d Personen</span> nehmen nicht teil";
|
||||
$a->strings["%s don't attend."] = "%s nehmen nicht teil.";
|
||||
$a->strings["<span %1\$s>%2\$d people</span> attend maybe"] = "<span %1\$s>%2\$d Personen</span> nehmen eventuell teil";
|
||||
$a->strings["%s attend maybe."] = "%s nimmt eventuell teil.";
|
||||
$a->strings["<span %1\$s>%2\$d people</span> reshared this"] = "<span %1\$s>%2\$d Personen</span> haben dies geteilt";
|
||||
$a->strings["Visible to <strong>everybody</strong>"] = "Für <strong>jedermann</strong> sichtbar";
|
||||
$a->strings["Please enter a image/video/audio/webpage URL:"] = "Bitte gib eine Bild/Video/Audio/Webseiten-URL ein:";
|
||||
$a->strings["Tag term:"] = "Tag:";
|
||||
$a->strings["Save to Folder:"] = "In diesem Ordner speichern:";
|
||||
$a->strings["Where are you right now?"] = "Wo hältst du dich jetzt gerade auf?";
|
||||
$a->strings["Delete item(s)?"] = "Einträge löschen?";
|
||||
$a->strings["New Post"] = "Neuer Beitrag";
|
||||
$a->strings["Share"] = "Teilen";
|
||||
$a->strings["Bold"] = "Fett";
|
||||
$a->strings["Italic"] = "Kursiv";
|
||||
$a->strings["Underline"] = "Unterstrichen";
|
||||
$a->strings["Quote"] = "Zitat";
|
||||
$a->strings["Code"] = "Code";
|
||||
$a->strings["Image"] = "Bild";
|
||||
$a->strings["Link"] = "Link";
|
||||
$a->strings["Link or Media"] = "Link oder Mediendatei";
|
||||
$a->strings["Video"] = "Video";
|
||||
$a->strings["Scheduled at"] = "Geplant für";
|
||||
$a->strings["View %s's profile @ %s"] = "Das Profil von %s auf %s betrachten.";
|
||||
$a->strings["Categories:"] = "Kategorien:";
|
||||
$a->strings["Filed under:"] = "Abgelegt unter:";
|
||||
$a->strings["%s from %s"] = "%s von %s";
|
||||
$a->strings["View in context"] = "Im Zusammenhang betrachten";
|
||||
$a->strings["remove"] = "löschen";
|
||||
$a->strings["Delete Selected Items"] = "Lösche die markierten Beiträge";
|
||||
$a->strings["You had been addressed (%s)."] = "Du wurdest angeschrieben (%s).";
|
||||
$a->strings["You are following %s."] = "Du folgst %s.";
|
||||
$a->strings["Tagged"] = "Verschlagwortet";
|
||||
$a->strings["Reshared"] = "Geteilt";
|
||||
$a->strings["Reshared by %s <%s>"] = "Geteilt von %s <%s>";
|
||||
$a->strings["%s is participating in this thread."] = "%s ist an der Unterhaltung beteiligt.";
|
||||
$a->strings["Stored"] = "Gespeichert";
|
||||
$a->strings["Global"] = "Global";
|
||||
$a->strings["Relayed"] = "Übermittelt";
|
||||
$a->strings["Relayed by %s <%s>"] = "Weitergeleitet von %s <%s>";
|
||||
$a->strings["Fetched"] = "Abgerufen";
|
||||
$a->strings["Fetched because of %s <%s>"] = "Wegen %s <%s> abgerufen";
|
||||
$a->strings["General Features"] = "Allgemeine Features";
|
||||
$a->strings["Photo Location"] = "Aufnahmeort";
|
||||
$a->strings["Photo metadata is normally stripped. This extracts the location (if present) prior to stripping metadata and links it to a map."] = "Die Foto-Metadaten werden ausgelesen. Dadurch kann der Aufnahmeort (wenn vorhanden) in einer Karte angezeigt werden.";
|
||||
|
|
@ -661,6 +648,19 @@ $a->strings["Forums"] = "Foren";
|
|||
$a->strings["External link to forum"] = "Externer Link zum Forum";
|
||||
$a->strings["show less"] = "weniger anzeigen";
|
||||
$a->strings["show more"] = "mehr anzeigen";
|
||||
$a->strings["%1\$s poked %2\$s"] = "%1\$s stupste %2\$s";
|
||||
$a->strings["event"] = "Veranstaltung";
|
||||
$a->strings["Follow Thread"] = "Folge der Unterhaltung";
|
||||
$a->strings["View Status"] = "Status anschauen";
|
||||
$a->strings["View Profile"] = "Profil anschauen";
|
||||
$a->strings["View Photos"] = "Bilder anschauen";
|
||||
$a->strings["Network Posts"] = "Netzwerkbeiträge";
|
||||
$a->strings["View Contact"] = "Kontakt anzeigen";
|
||||
$a->strings["Send PM"] = "Private Nachricht senden";
|
||||
$a->strings["Block"] = "Sperren";
|
||||
$a->strings["Ignore"] = "Ignorieren";
|
||||
$a->strings["Languages"] = "Sprachen";
|
||||
$a->strings["Poke"] = "Anstupsen";
|
||||
$a->strings["Nothing new here"] = "Keine Neuigkeiten";
|
||||
$a->strings["Go back"] = "Geh zurück";
|
||||
$a->strings["Clear notifications"] = "Bereinige Benachrichtigungen";
|
||||
|
|
@ -1212,9 +1212,24 @@ $a->strings["Must be writable by web server. Relative to your Friendica top-leve
|
|||
$a->strings["Log level"] = "Protokoll-Level";
|
||||
$a->strings["PHP logging"] = "PHP Protokollieren";
|
||||
$a->strings["To temporarily enable logging of PHP errors and warnings you can prepend the following to the index.php file of your installation. The filename set in the 'error_log' line is relative to the friendica top-level directory and must be writeable by the web server. The option '1' for 'log_errors' and 'display_errors' is to enable these options, set to '0' to disable them."] = "Um die Protokollierung von PHP-Fehlern und Warnungen vorübergehend zu aktivieren, kannst du der Datei index.php deiner Installation Folgendes voranstellen. Der in der Datei 'error_log' angegebene Dateiname ist relativ zum obersten Verzeichnis von Friendica und muss vom Webserver beschreibbar sein. Die Option '1' für 'log_errors' und 'display_errors' aktiviert diese Optionen, ersetze die '1' durch eine '0', um sie zu deaktivieren.";
|
||||
$a->strings["Error trying to open <strong>%1\$s</strong> log file.\\r\\n<br/>Check to see if file %1\$s exist and is readable."] = "Fehler beim Öffnen der Logdatei <strong>%1\$s</strong>.\\r\\n<br/>Bitte überprüfe ob die Datei %1\$s existiert und gelesen werden kann.";
|
||||
$a->strings["Couldn't open <strong>%1\$s</strong> log file.\\r\\n<br/>Check to see if file %1\$s is readable."] = "Konnte die Logdatei <strong>%1\$s</strong> nicht öffnen.\\r\\n<br/>Bitte stelle sicher, dass die Datei %1\$s lesbar ist.";
|
||||
$a->strings["Error trying to open <strong>%1\$s</strong> log file.<br/>Check to see if file %1\$s exist and is readable."] = "Fehler beim Öffnen der Logdatei <strong>%1\$s</strong>.<br/>Bitte überprüfe ob die Datei %1\$s existiert und gelesen werden kann.";
|
||||
$a->strings["Couldn't open <strong>%1\$s</strong> log file.<br/>Check to see if file %1\$s is readable."] = "Konnte die Logdatei <strong>%1\$s</strong> nicht öffnen.<br/>Bitte stelle sicher, dass die Datei %1\$s lesbar ist.";
|
||||
$a->strings["View Logs"] = "Protokolle anzeigen";
|
||||
$a->strings["Search in logs"] = "Logs durchsuchen";
|
||||
$a->strings["Show all"] = "Alle anzeigen";
|
||||
$a->strings["Date"] = "Datum";
|
||||
$a->strings["Level"] = "Level";
|
||||
$a->strings["Context"] = "Zusammenhang";
|
||||
$a->strings["ALL"] = "ALLE";
|
||||
$a->strings["View details"] = "Details anzeigen";
|
||||
$a->strings["Click to view details"] = "Anklicken zum Anzeigen der Details";
|
||||
$a->strings["Data"] = "Daten";
|
||||
$a->strings["File"] = "Datei";
|
||||
$a->strings["Line"] = "Zeile";
|
||||
$a->strings["Function"] = "Funktion";
|
||||
$a->strings["UID"] = "UID";
|
||||
$a->strings["Process ID"] = "Prozess ID";
|
||||
$a->strings["Close"] = "Schließen";
|
||||
$a->strings["Inspect Deferred Worker Queue"] = "Verzögerte Worker-Warteschlange inspizieren";
|
||||
$a->strings["This page lists the deferred worker jobs. This are jobs that couldn't be executed at the first time."] = "Auf dieser Seite werden die aufgeschobenen Worker-Jobs aufgelistet. Dies sind Jobs, die beim ersten Mal nicht ausgeführt werden konnten.";
|
||||
$a->strings["Inspect Worker Queue"] = "Worker-Warteschlange inspizieren";
|
||||
|
|
@ -1935,7 +1950,6 @@ $a->strings["System Notifications"] = "Systembenachrichtigungen";
|
|||
$a->strings["Personal Notifications"] = "Persönliche Benachrichtigungen";
|
||||
$a->strings["Home Notifications"] = "Pinnwandbenachrichtigungen";
|
||||
$a->strings["Show unread"] = "Ungelesene anzeigen";
|
||||
$a->strings["Show all"] = "Alle anzeigen";
|
||||
$a->strings["Authorize application connection"] = "Verbindung der Applikation autorisieren";
|
||||
$a->strings["Do you want to authorize this application to access your posts and contacts, and/or create new posts for you?"] = "Möchtest du dieser Anwendung den Zugriff auf Deine Beiträge und Kontakte sowie das Erstellen neuer Beiträge in Deinem Namen gestatten?";
|
||||
$a->strings["Unsupported or missing response type"] = "Der Typ der Antwort fehlt oder wird nicht unterstützt";
|
||||
|
|
|
|||
|
|
@ -24,8 +24,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: friendica\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-09-10 00:27+0000\n"
|
||||
"PO-Revision-Date: 2021-09-22 05:47+0000\n"
|
||||
"POT-Creation-Date: 2021-09-26 03:57+0000\n"
|
||||
"PO-Revision-Date: 2021-09-28 07:18+0000\n"
|
||||
"Last-Translator: Alexander An <ravnina@gmail.com>\n"
|
||||
"Language-Team: Russian (http://www.transifex.com/Friendica/friendica/language/ru/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
|
|
@ -59,9 +59,9 @@ msgid "Monthly posting limit of %d post reached. The post was rejected."
|
|||
msgstr "Месячный лимит в %d записей достигнут. Запись была отклонена."
|
||||
|
||||
#: include/api.php:4437 mod/photos.php:89 mod/photos.php:198
|
||||
#: mod/photos.php:626 mod/photos.php:1034 mod/photos.php:1051
|
||||
#: mod/photos.php:1597 src/Model/User.php:1118 src/Model/User.php:1126
|
||||
#: src/Model/User.php:1134 src/Module/Settings/Profile/Photo/Crop.php:101
|
||||
#: mod/photos.php:626 mod/photos.php:1035 mod/photos.php:1052
|
||||
#: mod/photos.php:1599 src/Model/User.php:1169 src/Model/User.php:1177
|
||||
#: src/Model/User.php:1185 src/Module/Settings/Profile/Photo/Crop.php:101
|
||||
#: src/Module/Settings/Profile/Photo/Crop.php:117
|
||||
#: src/Module/Settings/Profile/Photo/Crop.php:133
|
||||
#: src/Module/Settings/Profile/Photo/Crop.php:179
|
||||
|
|
@ -70,459 +70,6 @@ msgstr "Месячный лимит в %d записей достигнут. З
|
|||
msgid "Profile Photos"
|
||||
msgstr "Фотографии профиля"
|
||||
|
||||
#: include/conversation.php:109
|
||||
#, php-format
|
||||
msgid "%1$s poked %2$s"
|
||||
msgstr "%1$s ткнул %2$s"
|
||||
|
||||
#: include/conversation.php:142 src/Model/Item.php:2609
|
||||
msgid "event"
|
||||
msgstr "мероприятие"
|
||||
|
||||
#: include/conversation.php:145 include/conversation.php:154 mod/tagger.php:90
|
||||
msgid "status"
|
||||
msgstr "статус"
|
||||
|
||||
#: include/conversation.php:150 mod/tagger.php:90 src/Model/Item.php:2611
|
||||
msgid "photo"
|
||||
msgstr "фото"
|
||||
|
||||
#: include/conversation.php:164 mod/tagger.php:123
|
||||
#, php-format
|
||||
msgid "%1$s tagged %2$s's %3$s with %4$s"
|
||||
msgstr "%1$s tagged %2$s's %3$s в %4$s"
|
||||
|
||||
#: include/conversation.php:467 mod/photos.php:1459 src/Object/Post.php:226
|
||||
msgid "Select"
|
||||
msgstr "Выберите"
|
||||
|
||||
#: include/conversation.php:468 mod/photos.php:1460 mod/settings.php:573
|
||||
#: src/Module/Admin/Users/Active.php:139
|
||||
#: src/Module/Admin/Users/Blocked.php:140 src/Module/Admin/Users/Index.php:153
|
||||
#: src/Module/Contact.php:849 src/Module/Contact.php:1132
|
||||
msgid "Delete"
|
||||
msgstr "Удалить"
|
||||
|
||||
#: include/conversation.php:503 src/Object/Post.php:453
|
||||
#: src/Object/Post.php:454
|
||||
#, php-format
|
||||
msgid "View %s's profile @ %s"
|
||||
msgstr "Просмотреть профиль %s [@ %s]"
|
||||
|
||||
#: include/conversation.php:516 src/Object/Post.php:441
|
||||
msgid "Categories:"
|
||||
msgstr "Категории:"
|
||||
|
||||
#: include/conversation.php:517 src/Object/Post.php:442
|
||||
msgid "Filed under:"
|
||||
msgstr "В рубрике:"
|
||||
|
||||
#: include/conversation.php:524 src/Object/Post.php:467
|
||||
#, php-format
|
||||
msgid "%s from %s"
|
||||
msgstr "%s из %s"
|
||||
|
||||
#: include/conversation.php:539
|
||||
msgid "View in context"
|
||||
msgstr "Смотреть в контексте"
|
||||
|
||||
#: include/conversation.php:541 include/conversation.php:1146
|
||||
#: mod/editpost.php:107 mod/message.php:203 mod/message.php:368
|
||||
#: mod/photos.php:1524 mod/wallmessage.php:155 src/Module/Item/Compose.php:165
|
||||
#: src/Object/Post.php:501
|
||||
msgid "Please wait"
|
||||
msgstr "Пожалуйста, подождите"
|
||||
|
||||
#: include/conversation.php:605
|
||||
msgid "remove"
|
||||
msgstr "удалить"
|
||||
|
||||
#: include/conversation.php:609
|
||||
msgid "Delete Selected Items"
|
||||
msgstr "Удалить выбранные позиции"
|
||||
|
||||
#: include/conversation.php:647 include/conversation.php:650
|
||||
#: include/conversation.php:653 include/conversation.php:656
|
||||
#, php-format
|
||||
msgid "You had been addressed (%s)."
|
||||
msgstr "К вам обратились (%s)."
|
||||
|
||||
#: include/conversation.php:659
|
||||
#, php-format
|
||||
msgid "You are following %s."
|
||||
msgstr "Вы подписаны на %s."
|
||||
|
||||
#: include/conversation.php:662
|
||||
msgid "Tagged"
|
||||
msgstr "Отмечено"
|
||||
|
||||
#: include/conversation.php:675 include/conversation.php:1013
|
||||
#: include/conversation.php:1051
|
||||
#, php-format
|
||||
msgid "%s reshared this."
|
||||
msgstr "%s поделился этим."
|
||||
|
||||
#: include/conversation.php:677
|
||||
msgid "Reshared"
|
||||
msgstr "Репост"
|
||||
|
||||
#: include/conversation.php:677
|
||||
#, php-format
|
||||
msgid "Reshared by %s <%s>"
|
||||
msgstr ""
|
||||
|
||||
#: include/conversation.php:680
|
||||
#, php-format
|
||||
msgid "%s is participating in this thread."
|
||||
msgstr "%s участвует в этом обсуждении"
|
||||
|
||||
#: include/conversation.php:683
|
||||
msgid "Stored"
|
||||
msgstr ""
|
||||
|
||||
#: include/conversation.php:686
|
||||
msgid "Global"
|
||||
msgstr ""
|
||||
|
||||
#: include/conversation.php:689
|
||||
msgid "Relayed"
|
||||
msgstr "Ретранслировано"
|
||||
|
||||
#: include/conversation.php:689
|
||||
#, php-format
|
||||
msgid "Relayed by %s <%s>"
|
||||
msgstr ""
|
||||
|
||||
#: include/conversation.php:692
|
||||
msgid "Fetched"
|
||||
msgstr "Загружено"
|
||||
|
||||
#: include/conversation.php:692
|
||||
#, php-format
|
||||
msgid "Fetched because of %s <%s>"
|
||||
msgstr ""
|
||||
|
||||
#: include/conversation.php:844 view/theme/frio/theme.php:323
|
||||
msgid "Follow Thread"
|
||||
msgstr "Подписаться на обсуждение"
|
||||
|
||||
#: include/conversation.php:845 src/Model/Contact.php:1050
|
||||
msgid "View Status"
|
||||
msgstr "Просмотреть статус"
|
||||
|
||||
#: include/conversation.php:846 include/conversation.php:868
|
||||
#: src/Model/Contact.php:976 src/Model/Contact.php:1042
|
||||
#: src/Model/Contact.php:1051 src/Module/Directory.php:160
|
||||
#: src/Module/Settings/Profile/Index.php:223
|
||||
msgid "View Profile"
|
||||
msgstr "Просмотреть профиль"
|
||||
|
||||
#: include/conversation.php:847 src/Model/Contact.php:1052
|
||||
msgid "View Photos"
|
||||
msgstr "Просмотреть фото"
|
||||
|
||||
#: include/conversation.php:848 src/Model/Contact.php:1043
|
||||
#: src/Model/Contact.php:1053
|
||||
msgid "Network Posts"
|
||||
msgstr "Записи сети"
|
||||
|
||||
#: include/conversation.php:849 src/Model/Contact.php:1044
|
||||
#: src/Model/Contact.php:1054
|
||||
msgid "View Contact"
|
||||
msgstr "Просмотреть контакт"
|
||||
|
||||
#: include/conversation.php:850 src/Model/Contact.php:1056
|
||||
msgid "Send PM"
|
||||
msgstr "Отправить ЛС"
|
||||
|
||||
#: include/conversation.php:851 src/Module/Admin/Blocklist/Contact.php:84
|
||||
#: src/Module/Admin/Users/Active.php:140 src/Module/Admin/Users/Index.php:154
|
||||
#: src/Module/Contact.php:587 src/Module/Contact.php:847
|
||||
#: src/Module/Contact.php:1115
|
||||
msgid "Block"
|
||||
msgstr "Заблокировать"
|
||||
|
||||
#: include/conversation.php:852 src/Module/Contact.php:588
|
||||
#: src/Module/Contact.php:848 src/Module/Contact.php:1123
|
||||
#: src/Module/Notifications/Introductions.php:113
|
||||
#: src/Module/Notifications/Introductions.php:185
|
||||
#: src/Module/Notifications/Notification.php:59
|
||||
msgid "Ignore"
|
||||
msgstr "Игнорировать"
|
||||
|
||||
#: include/conversation.php:856 src/Object/Post.php:428
|
||||
msgid "Languages"
|
||||
msgstr "Языки"
|
||||
|
||||
#: include/conversation.php:860 src/Model/Contact.php:1057
|
||||
msgid "Poke"
|
||||
msgstr "потыкать"
|
||||
|
||||
#: include/conversation.php:865 mod/follow.php:138 src/Content/Widget.php:76
|
||||
#: src/Model/Contact.php:1045 src/Model/Contact.php:1058
|
||||
#: view/theme/vier/theme.php:172
|
||||
msgid "Connect/Follow"
|
||||
msgstr "Подключиться/Подписаться"
|
||||
|
||||
#: include/conversation.php:998
|
||||
#, php-format
|
||||
msgid "%s likes this."
|
||||
msgstr "%s нравится это."
|
||||
|
||||
#: include/conversation.php:1001
|
||||
#, php-format
|
||||
msgid "%s doesn't like this."
|
||||
msgstr "%s не нравится это."
|
||||
|
||||
#: include/conversation.php:1004
|
||||
#, php-format
|
||||
msgid "%s attends."
|
||||
msgstr "%s посещает."
|
||||
|
||||
#: include/conversation.php:1007
|
||||
#, php-format
|
||||
msgid "%s doesn't attend."
|
||||
msgstr "%s не посетит."
|
||||
|
||||
#: include/conversation.php:1010
|
||||
#, php-format
|
||||
msgid "%s attends maybe."
|
||||
msgstr "%s может быть посетит."
|
||||
|
||||
#: include/conversation.php:1019
|
||||
msgid "and"
|
||||
msgstr "и"
|
||||
|
||||
#: include/conversation.php:1022
|
||||
#, php-format
|
||||
msgid "and %d other people"
|
||||
msgstr "и еще %d человек"
|
||||
|
||||
#: include/conversation.php:1030
|
||||
#, php-format
|
||||
msgid "<span %1$s>%2$d people</span> like this"
|
||||
msgstr "<span %1$s>%2$d людям</span> нравится это"
|
||||
|
||||
#: include/conversation.php:1031
|
||||
#, php-format
|
||||
msgid "%s like this."
|
||||
msgstr "%s нравится это."
|
||||
|
||||
#: include/conversation.php:1034
|
||||
#, php-format
|
||||
msgid "<span %1$s>%2$d people</span> don't like this"
|
||||
msgstr "<span %1$s>%2$d людям</span> не нравится это"
|
||||
|
||||
#: include/conversation.php:1035
|
||||
#, php-format
|
||||
msgid "%s don't like this."
|
||||
msgstr "%s не нравится это"
|
||||
|
||||
#: include/conversation.php:1038
|
||||
#, php-format
|
||||
msgid "<span %1$s>%2$d people</span> attend"
|
||||
msgstr "<span %1$s>%2$d человека</span> посетят"
|
||||
|
||||
#: include/conversation.php:1039
|
||||
#, php-format
|
||||
msgid "%s attend."
|
||||
msgstr "%s посетит."
|
||||
|
||||
#: include/conversation.php:1042
|
||||
#, php-format
|
||||
msgid "<span %1$s>%2$d people</span> don't attend"
|
||||
msgstr "<span %1$s>%2$d человек</span> не посетит"
|
||||
|
||||
#: include/conversation.php:1043
|
||||
#, php-format
|
||||
msgid "%s don't attend."
|
||||
msgstr "%s не посетит"
|
||||
|
||||
#: include/conversation.php:1046
|
||||
#, php-format
|
||||
msgid "<span %1$s>%2$d people</span> attend maybe"
|
||||
msgstr "<span %1$s>%2$d человек</span> может быть посетят"
|
||||
|
||||
#: include/conversation.php:1047
|
||||
#, php-format
|
||||
msgid "%s attend maybe."
|
||||
msgstr "%s может быть посетит."
|
||||
|
||||
#: include/conversation.php:1050
|
||||
#, php-format
|
||||
msgid "<span %1$s>%2$d people</span> reshared this"
|
||||
msgstr "<span %1$s>%2$d людей</span> поделились этим"
|
||||
|
||||
#: include/conversation.php:1098
|
||||
msgid "Visible to <strong>everybody</strong>"
|
||||
msgstr "Видимое <strong>всем</strong>"
|
||||
|
||||
#: include/conversation.php:1099 src/Module/Item/Compose.php:159
|
||||
#: src/Object/Post.php:972
|
||||
msgid "Please enter a image/video/audio/webpage URL:"
|
||||
msgstr "Пожалуйста, введите адрес картинки/видео/аудио/странички:"
|
||||
|
||||
#: include/conversation.php:1100
|
||||
msgid "Tag term:"
|
||||
msgstr "Тег:"
|
||||
|
||||
#: include/conversation.php:1101 src/Module/Filer/SaveTag.php:68
|
||||
msgid "Save to Folder:"
|
||||
msgstr "Сохранить в папку:"
|
||||
|
||||
#: include/conversation.php:1102
|
||||
msgid "Where are you right now?"
|
||||
msgstr "И где вы сейчас?"
|
||||
|
||||
#: include/conversation.php:1103
|
||||
msgid "Delete item(s)?"
|
||||
msgstr "Удалить елемент(ты)?"
|
||||
|
||||
#: include/conversation.php:1113
|
||||
msgid "New Post"
|
||||
msgstr "Новая запись"
|
||||
|
||||
#: include/conversation.php:1116
|
||||
msgid "Share"
|
||||
msgstr "Поделиться"
|
||||
|
||||
#: include/conversation.php:1117 mod/editpost.php:92 mod/photos.php:1373
|
||||
#: src/Module/Contact/Poke.php:157 src/Object/Post.php:963
|
||||
msgid "Loading..."
|
||||
msgstr "Загрузка..."
|
||||
|
||||
#: include/conversation.php:1118 mod/editpost.php:93 mod/message.php:201
|
||||
#: mod/message.php:365 mod/wallmessage.php:153
|
||||
msgid "Upload photo"
|
||||
msgstr "Загрузить фото"
|
||||
|
||||
#: include/conversation.php:1119 mod/editpost.php:94
|
||||
msgid "upload photo"
|
||||
msgstr "загрузить фото"
|
||||
|
||||
#: include/conversation.php:1120 mod/editpost.php:95
|
||||
msgid "Attach file"
|
||||
msgstr "Прикрепить файл"
|
||||
|
||||
#: include/conversation.php:1121 mod/editpost.php:96
|
||||
msgid "attach file"
|
||||
msgstr "приложить файл"
|
||||
|
||||
#: include/conversation.php:1122 src/Module/Item/Compose.php:151
|
||||
#: src/Object/Post.php:964
|
||||
msgid "Bold"
|
||||
msgstr "Жирный"
|
||||
|
||||
#: include/conversation.php:1123 src/Module/Item/Compose.php:152
|
||||
#: src/Object/Post.php:965
|
||||
msgid "Italic"
|
||||
msgstr "Kурсивный"
|
||||
|
||||
#: include/conversation.php:1124 src/Module/Item/Compose.php:153
|
||||
#: src/Object/Post.php:966
|
||||
msgid "Underline"
|
||||
msgstr "Подчеркнутый"
|
||||
|
||||
#: include/conversation.php:1125 src/Module/Item/Compose.php:154
|
||||
#: src/Object/Post.php:967
|
||||
msgid "Quote"
|
||||
msgstr "Цитата"
|
||||
|
||||
#: include/conversation.php:1126 src/Module/Item/Compose.php:155
|
||||
#: src/Object/Post.php:968
|
||||
msgid "Code"
|
||||
msgstr "Код"
|
||||
|
||||
#: include/conversation.php:1127 src/Module/Item/Compose.php:156
|
||||
#: src/Object/Post.php:969
|
||||
msgid "Image"
|
||||
msgstr "Изображение / Фото"
|
||||
|
||||
#: include/conversation.php:1128 src/Module/Item/Compose.php:157
|
||||
#: src/Object/Post.php:970
|
||||
msgid "Link"
|
||||
msgstr "Ссылка"
|
||||
|
||||
#: include/conversation.php:1129 src/Module/Item/Compose.php:158
|
||||
#: src/Object/Post.php:971
|
||||
msgid "Link or Media"
|
||||
msgstr "Ссылка или медиа"
|
||||
|
||||
#: include/conversation.php:1130
|
||||
msgid "Video"
|
||||
msgstr ""
|
||||
|
||||
#: include/conversation.php:1131 mod/editpost.php:103
|
||||
#: src/Module/Item/Compose.php:161
|
||||
msgid "Set your location"
|
||||
msgstr "Задать ваше местоположение"
|
||||
|
||||
#: include/conversation.php:1132 mod/editpost.php:104
|
||||
msgid "set location"
|
||||
msgstr "установить местонахождение"
|
||||
|
||||
#: include/conversation.php:1133 mod/editpost.php:105
|
||||
msgid "Clear browser location"
|
||||
msgstr "Очистить местонахождение браузера"
|
||||
|
||||
#: include/conversation.php:1134 mod/editpost.php:106
|
||||
msgid "clear location"
|
||||
msgstr "убрать местонахождение"
|
||||
|
||||
#: include/conversation.php:1136 mod/editpost.php:120
|
||||
#: src/Module/Item/Compose.php:166
|
||||
msgid "Set title"
|
||||
msgstr "Установить заголовок"
|
||||
|
||||
#: include/conversation.php:1138 mod/editpost.php:122
|
||||
#: src/Module/Item/Compose.php:167
|
||||
msgid "Categories (comma-separated list)"
|
||||
msgstr "Категории (список через запятую)"
|
||||
|
||||
#: include/conversation.php:1143 src/Module/Item/Compose.php:172
|
||||
msgid "Scheduled at"
|
||||
msgstr "Запланировано на"
|
||||
|
||||
#: include/conversation.php:1147 mod/editpost.php:108
|
||||
msgid "Permission settings"
|
||||
msgstr "Настройки разрешений"
|
||||
|
||||
#: include/conversation.php:1148 mod/editpost.php:136 mod/events.php:583
|
||||
#: mod/photos.php:965 mod/photos.php:1326
|
||||
msgid "Permissions"
|
||||
msgstr "Разрешения"
|
||||
|
||||
#: include/conversation.php:1157 mod/editpost.php:117
|
||||
msgid "Public post"
|
||||
msgstr "Публичное сообщение"
|
||||
|
||||
#: include/conversation.php:1161 mod/editpost.php:128 mod/events.php:578
|
||||
#: mod/photos.php:1372 mod/photos.php:1428 mod/photos.php:1502
|
||||
#: src/Module/Item/Compose.php:160 src/Object/Post.php:973
|
||||
msgid "Preview"
|
||||
msgstr "Просмотр"
|
||||
|
||||
#: include/conversation.php:1164 mod/editpost.php:130 mod/fbrowser.php:105
|
||||
#: mod/fbrowser.php:134 mod/follow.php:144 mod/photos.php:1028
|
||||
#: mod/photos.php:1134 mod/tagrm.php:37 mod/tagrm.php:129 mod/unfollow.php:97
|
||||
#: src/Module/Contact.php:422 src/Module/RemoteFollow.php:116
|
||||
msgid "Cancel"
|
||||
msgstr "Отмена"
|
||||
|
||||
#: include/conversation.php:1171 mod/editpost.php:134
|
||||
#: src/Content/Widget/VCard.php:107 src/Model/Profile.php:459
|
||||
msgid "Message"
|
||||
msgstr "Сообщение"
|
||||
|
||||
#: include/conversation.php:1172 mod/editpost.php:135
|
||||
#: src/Module/Settings/TwoFactor/Trusted.php:101
|
||||
msgid "Browser"
|
||||
msgstr "Браузер"
|
||||
|
||||
#: include/conversation.php:1174 mod/editpost.php:138
|
||||
msgid "Open Compose page"
|
||||
msgstr "Развернуть редактор"
|
||||
|
||||
#: include/enotify.php:52 include/enotify.php:559
|
||||
msgid "[Friendica:Notify]"
|
||||
msgstr "[Friendica]"
|
||||
|
|
@ -786,16 +333,16 @@ msgstr "%s %s поделился(-ась) новым сообщением"
|
|||
#: mod/wallmessage.php:96 mod/wallmessage.php:120 src/Module/Attach.php:55
|
||||
#: src/Module/BaseApi.php:79 src/Module/BaseApi.php:88
|
||||
#: src/Module/BaseApi.php:97 src/Module/BaseApi.php:106
|
||||
#: src/Module/BaseNotifications.php:88 src/Module/Contact.php:346
|
||||
#: src/Module/Contact/Advanced.php:44 src/Module/Delegation.php:119
|
||||
#: src/Module/BaseNotifications.php:88 src/Module/Contact.php:356
|
||||
#: src/Module/Contact/Advanced.php:44 src/Module/Delegation.php:118
|
||||
#: src/Module/FollowConfirm.php:16 src/Module/FriendSuggest.php:44
|
||||
#: src/Module/Group.php:45 src/Module/Group.php:90 src/Module/Invite.php:41
|
||||
#: src/Module/Invite.php:130 src/Module/Notifications/Notification.php:47
|
||||
#: src/Module/Notifications/Notification.php:76
|
||||
#: src/Module/Profile/Common.php:56 src/Module/Profile/Contacts.php:56
|
||||
#: src/Module/Profile/Schedule.php:39 src/Module/Profile/Schedule.php:56
|
||||
#: src/Module/Register.php:62 src/Module/Register.php:75
|
||||
#: src/Module/Register.php:193 src/Module/Register.php:232
|
||||
#: src/Module/Register.php:64 src/Module/Register.php:77
|
||||
#: src/Module/Register.php:195 src/Module/Register.php:234
|
||||
#: src/Module/Search/Directory.php:38 src/Module/Settings/Delegation.php:42
|
||||
#: src/Module/Settings/Delegation.php:70 src/Module/Settings/Display.php:43
|
||||
#: src/Module/Settings/Display.php:121
|
||||
|
|
@ -822,7 +369,7 @@ msgstr "Доступ запрещен."
|
|||
#: src/Model/Profile.php:228 src/Module/HCard.php:52
|
||||
#: src/Module/Profile/Common.php:41 src/Module/Profile/Common.php:52
|
||||
#: src/Module/Profile/Contacts.php:40 src/Module/Profile/Contacts.php:50
|
||||
#: src/Module/Profile/Status.php:58 src/Module/Register.php:254
|
||||
#: src/Module/Profile/Status.php:58 src/Module/Register.php:256
|
||||
#: src/Module/RemoteFollow.php:49
|
||||
msgid "User not found."
|
||||
msgstr "Пользователь не найден."
|
||||
|
|
@ -922,6 +469,28 @@ msgstr "Редактировать запись"
|
|||
msgid "Save"
|
||||
msgstr "Сохранить"
|
||||
|
||||
#: mod/editpost.php:92 mod/photos.php:1375 src/Content/Conversation.php:326
|
||||
#: src/Module/Contact/Poke.php:157 src/Object/Post.php:964
|
||||
msgid "Loading..."
|
||||
msgstr "Загрузка..."
|
||||
|
||||
#: mod/editpost.php:93 mod/message.php:201 mod/message.php:365
|
||||
#: mod/wallmessage.php:153 src/Content/Conversation.php:327
|
||||
msgid "Upload photo"
|
||||
msgstr "Загрузить фото"
|
||||
|
||||
#: mod/editpost.php:94 src/Content/Conversation.php:328
|
||||
msgid "upload photo"
|
||||
msgstr "загрузить фото"
|
||||
|
||||
#: mod/editpost.php:95 src/Content/Conversation.php:329
|
||||
msgid "Attach file"
|
||||
msgstr "Прикрепить файл"
|
||||
|
||||
#: mod/editpost.php:96 src/Content/Conversation.php:330
|
||||
msgid "attach file"
|
||||
msgstr "приложить файл"
|
||||
|
||||
#: mod/editpost.php:97 mod/message.php:202 mod/message.php:366
|
||||
#: mod/wallmessage.php:154
|
||||
msgid "Insert web link"
|
||||
|
|
@ -947,14 +516,88 @@ msgstr "Вставить ссылку аудио"
|
|||
msgid "audio link"
|
||||
msgstr "аудио-ссылка"
|
||||
|
||||
#: mod/editpost.php:103 src/Content/Conversation.php:340
|
||||
#: src/Module/Item/Compose.php:161
|
||||
msgid "Set your location"
|
||||
msgstr "Задать ваше местоположение"
|
||||
|
||||
#: mod/editpost.php:104 src/Content/Conversation.php:341
|
||||
msgid "set location"
|
||||
msgstr "установить местонахождение"
|
||||
|
||||
#: mod/editpost.php:105 src/Content/Conversation.php:342
|
||||
msgid "Clear browser location"
|
||||
msgstr "Очистить местонахождение браузера"
|
||||
|
||||
#: mod/editpost.php:106 src/Content/Conversation.php:343
|
||||
msgid "clear location"
|
||||
msgstr "убрать местонахождение"
|
||||
|
||||
#: mod/editpost.php:107 mod/message.php:203 mod/message.php:368
|
||||
#: mod/photos.php:1526 mod/wallmessage.php:155
|
||||
#: src/Content/Conversation.php:355 src/Content/Conversation.php:689
|
||||
#: src/Module/Item/Compose.php:165 src/Object/Post.php:502
|
||||
msgid "Please wait"
|
||||
msgstr "Пожалуйста, подождите"
|
||||
|
||||
#: mod/editpost.php:108 src/Content/Conversation.php:356
|
||||
msgid "Permission settings"
|
||||
msgstr "Настройки разрешений"
|
||||
|
||||
#: mod/editpost.php:116 src/Core/ACL.php:327
|
||||
msgid "CC: email addresses"
|
||||
msgstr "Копии на email адреса"
|
||||
|
||||
#: mod/editpost.php:117 src/Content/Conversation.php:366
|
||||
msgid "Public post"
|
||||
msgstr "Публичное сообщение"
|
||||
|
||||
#: mod/editpost.php:120 src/Content/Conversation.php:345
|
||||
#: src/Module/Item/Compose.php:166
|
||||
msgid "Set title"
|
||||
msgstr "Установить заголовок"
|
||||
|
||||
#: mod/editpost.php:122 src/Content/Conversation.php:347
|
||||
#: src/Module/Item/Compose.php:167
|
||||
msgid "Categories (comma-separated list)"
|
||||
msgstr "Категории (список через запятую)"
|
||||
|
||||
#: mod/editpost.php:123 src/Core/ACL.php:328
|
||||
msgid "Example: bob@example.com, mary@example.com"
|
||||
msgstr "Пример: bob@example.com, mary@example.com"
|
||||
|
||||
#: mod/editpost.php:128 mod/events.php:578 mod/photos.php:1374
|
||||
#: mod/photos.php:1430 mod/photos.php:1504 src/Content/Conversation.php:370
|
||||
#: src/Module/Item/Compose.php:160 src/Object/Post.php:974
|
||||
msgid "Preview"
|
||||
msgstr "Просмотр"
|
||||
|
||||
#: mod/editpost.php:130 mod/fbrowser.php:105 mod/fbrowser.php:134
|
||||
#: mod/follow.php:144 mod/photos.php:1029 mod/photos.php:1136 mod/tagrm.php:37
|
||||
#: mod/tagrm.php:129 mod/unfollow.php:97 src/Content/Conversation.php:373
|
||||
#: src/Module/Contact.php:443 src/Module/RemoteFollow.php:116
|
||||
msgid "Cancel"
|
||||
msgstr "Отмена"
|
||||
|
||||
#: mod/editpost.php:134 src/Content/Conversation.php:380
|
||||
#: src/Content/Widget/VCard.php:107 src/Model/Profile.php:459
|
||||
msgid "Message"
|
||||
msgstr "Сообщение"
|
||||
|
||||
#: mod/editpost.php:135 src/Content/Conversation.php:381
|
||||
#: src/Module/Settings/TwoFactor/Trusted.php:101
|
||||
msgid "Browser"
|
||||
msgstr "Браузер"
|
||||
|
||||
#: mod/editpost.php:136 mod/events.php:583 mod/photos.php:965
|
||||
#: mod/photos.php:1328 src/Content/Conversation.php:357
|
||||
msgid "Permissions"
|
||||
msgstr "Разрешения"
|
||||
|
||||
#: mod/editpost.php:138 src/Content/Conversation.php:383
|
||||
msgid "Open Compose page"
|
||||
msgstr "Развернуть редактор"
|
||||
|
||||
#: mod/events.php:138 mod/events.php:140
|
||||
msgid "Event can not end before it has started."
|
||||
msgstr "Эвент не может закончится до старта."
|
||||
|
|
@ -990,7 +633,7 @@ msgstr "Начало мероприятия:"
|
|||
#: src/Module/Install.php:268 src/Module/Install.php:273
|
||||
#: src/Module/Install.php:279 src/Module/Install.php:284
|
||||
#: src/Module/Install.php:298 src/Module/Install.php:313
|
||||
#: src/Module/Install.php:340 src/Module/Register.php:135
|
||||
#: src/Module/Install.php:340 src/Module/Register.php:137
|
||||
#: src/Module/Security/TwoFactor/Verify.php:100
|
||||
#: src/Module/Settings/TwoFactor/Index.php:133
|
||||
#: src/Module/Settings/TwoFactor/Verify.php:141
|
||||
|
|
@ -1016,7 +659,7 @@ msgstr "Описание:"
|
|||
|
||||
#: mod/events.php:568 src/Content/Widget/VCard.php:98 src/Model/Event.php:86
|
||||
#: src/Model/Event.php:113 src/Model/Event.php:483 src/Model/Event.php:969
|
||||
#: src/Model/Profile.php:367 src/Module/Contact.php:608
|
||||
#: src/Model/Profile.php:367 src/Module/Contact.php:623
|
||||
#: src/Module/Directory.php:150 src/Module/Notifications/Introductions.php:166
|
||||
#: src/Module/Profile/Profile.php:194
|
||||
msgid "Location:"
|
||||
|
|
@ -1031,18 +674,18 @@ msgid "Share this event"
|
|||
msgstr "Поделиться этим мероприятием"
|
||||
|
||||
#: mod/events.php:580 mod/message.php:204 mod/message.php:367
|
||||
#: mod/photos.php:947 mod/photos.php:1045 mod/photos.php:1330
|
||||
#: mod/photos.php:1371 mod/photos.php:1427 mod/photos.php:1501
|
||||
#: src/Module/Admin/Item/Source.php:65 src/Module/Contact.php:566
|
||||
#: mod/photos.php:947 mod/photos.php:1046 mod/photos.php:1332
|
||||
#: mod/photos.php:1373 mod/photos.php:1429 mod/photos.php:1503
|
||||
#: src/Module/Admin/Item/Source.php:65 src/Module/Contact.php:581
|
||||
#: src/Module/Contact/Advanced.php:133 src/Module/Contact/Poke.php:158
|
||||
#: src/Module/Debug/ActivityPubConversion.php:141
|
||||
#: src/Module/Debug/Babel.php:313 src/Module/Debug/Localtime.php:64
|
||||
#: src/Module/Debug/Probe.php:56 src/Module/Debug/WebFinger.php:53
|
||||
#: src/Module/Delegation.php:153 src/Module/FriendSuggest.php:129
|
||||
#: src/Module/Delegation.php:147 src/Module/FriendSuggest.php:129
|
||||
#: src/Module/Install.php:245 src/Module/Install.php:287
|
||||
#: src/Module/Install.php:324 src/Module/Invite.php:177
|
||||
#: src/Module/Item/Compose.php:150 src/Module/Profile/Profile.php:247
|
||||
#: src/Module/Settings/Profile/Index.php:220 src/Object/Post.php:962
|
||||
#: src/Module/Settings/Profile/Index.php:220 src/Object/Post.php:963
|
||||
#: view/theme/duepuntozero/config.php:69 view/theme/frio/config.php:160
|
||||
#: view/theme/quattro/config.php:71 view/theme/vier/config.php:119
|
||||
msgid "Submit"
|
||||
|
|
@ -1052,7 +695,7 @@ msgstr "Отправить"
|
|||
msgid "Basic"
|
||||
msgstr "Базовый"
|
||||
|
||||
#: mod/events.php:582 src/Module/Admin/Site.php:505 src/Module/Contact.php:916
|
||||
#: mod/events.php:582 src/Module/Admin/Site.php:505 src/Module/Contact.php:932
|
||||
#: src/Module/Profile/Profile.php:249
|
||||
msgid "Advanced"
|
||||
msgstr "Расширенный"
|
||||
|
|
@ -1095,6 +738,12 @@ msgstr "Поддержка Diaspora не включена. Контакт не
|
|||
msgid "OStatus support is disabled. Contact can't be added."
|
||||
msgstr "Поддержка OStatus выключена. Контакт не может быть добавлен."
|
||||
|
||||
#: mod/follow.php:138 src/Content/Item.php:463 src/Content/Widget.php:76
|
||||
#: src/Model/Contact.php:1051 src/Model/Contact.php:1064
|
||||
#: view/theme/vier/theme.php:172
|
||||
msgid "Connect/Follow"
|
||||
msgstr "Подключиться/Подписаться"
|
||||
|
||||
#: mod/follow.php:139 src/Module/RemoteFollow.php:114
|
||||
msgid "Please answer the following:"
|
||||
msgstr "Пожалуйста, ответьте следующее:"
|
||||
|
|
@ -1104,13 +753,13 @@ msgid "Your Identity Address:"
|
|||
msgstr "Ваш адрес:"
|
||||
|
||||
#: mod/follow.php:141 mod/unfollow.php:100
|
||||
#: src/Module/Admin/Blocklist/Contact.php:100 src/Module/Contact.php:604
|
||||
#: src/Module/Admin/Blocklist/Contact.php:100 src/Module/Contact.php:619
|
||||
#: src/Module/Notifications/Introductions.php:108
|
||||
#: src/Module/Notifications/Introductions.php:177
|
||||
msgid "Profile URL"
|
||||
msgstr "URL профиля"
|
||||
|
||||
#: mod/follow.php:142 src/Module/Contact.php:616
|
||||
#: mod/follow.php:142 src/Module/Contact.php:631
|
||||
#: src/Module/Notifications/Introductions.php:170
|
||||
#: src/Module/Profile/Profile.php:207
|
||||
msgid "Tags:"
|
||||
|
|
@ -1126,7 +775,7 @@ msgid "Add a personal note:"
|
|||
msgstr "Добавить личную заметку:"
|
||||
|
||||
#: mod/follow.php:163 mod/unfollow.php:109 src/Module/BaseProfile.php:59
|
||||
#: src/Module/Contact.php:894
|
||||
#: src/Module/Contact.php:910
|
||||
msgid "Status Messages and Posts"
|
||||
msgstr "Ваши записи"
|
||||
|
||||
|
|
@ -1483,11 +1132,11 @@ msgstr "Держать окно открытым до завершения."
|
|||
msgid "Photo Albums"
|
||||
msgstr "Фотоальбомы"
|
||||
|
||||
#: mod/photos.php:112 mod/photos.php:1626
|
||||
#: mod/photos.php:112 mod/photos.php:1628
|
||||
msgid "Recent Photos"
|
||||
msgstr "Последние фото"
|
||||
|
||||
#: mod/photos.php:114 mod/photos.php:1096 mod/photos.php:1628
|
||||
#: mod/photos.php:114 mod/photos.php:1097 mod/photos.php:1630
|
||||
msgid "Upload New Photos"
|
||||
msgstr "Загрузить новые фото"
|
||||
|
||||
|
|
@ -1570,7 +1219,7 @@ msgstr "Доступ к этому пункту ограничен."
|
|||
msgid "Upload Photos"
|
||||
msgstr "Загрузить фото"
|
||||
|
||||
#: mod/photos.php:961 mod/photos.php:1041
|
||||
#: mod/photos.php:961 mod/photos.php:1042
|
||||
msgid "New album name: "
|
||||
msgstr "Название нового альбома: "
|
||||
|
||||
|
|
@ -1586,139 +1235,151 @@ msgstr "Не показывать статус-сообщение для это
|
|||
msgid "Do you really want to delete this photo album and all its photos?"
|
||||
msgstr "Вы действительно хотите удалить этот альбом и все его фотографии?"
|
||||
|
||||
#: mod/photos.php:1025 mod/photos.php:1046
|
||||
#: mod/photos.php:1025 mod/photos.php:1047
|
||||
msgid "Delete Album"
|
||||
msgstr "Удалить альбом"
|
||||
|
||||
#: mod/photos.php:1052
|
||||
#: mod/photos.php:1053
|
||||
msgid "Edit Album"
|
||||
msgstr "Редактировать альбом"
|
||||
|
||||
#: mod/photos.php:1053
|
||||
#: mod/photos.php:1054
|
||||
msgid "Drop Album"
|
||||
msgstr "Удалить альбом"
|
||||
|
||||
#: mod/photos.php:1058
|
||||
#: mod/photos.php:1059
|
||||
msgid "Show Newest First"
|
||||
msgstr "Показать новые первыми"
|
||||
|
||||
#: mod/photos.php:1060
|
||||
#: mod/photos.php:1061
|
||||
msgid "Show Oldest First"
|
||||
msgstr "Показать старые первыми"
|
||||
|
||||
#: mod/photos.php:1081 mod/photos.php:1611
|
||||
#: mod/photos.php:1082 mod/photos.php:1613
|
||||
msgid "View Photo"
|
||||
msgstr "Просмотр фото"
|
||||
|
||||
#: mod/photos.php:1118
|
||||
#: mod/photos.php:1119
|
||||
msgid "Permission denied. Access to this item may be restricted."
|
||||
msgstr "Нет разрешения. Доступ к этому элементу ограничен."
|
||||
|
||||
#: mod/photos.php:1120
|
||||
#: mod/photos.php:1121
|
||||
msgid "Photo not available"
|
||||
msgstr "Фото недоступно"
|
||||
|
||||
#: mod/photos.php:1130
|
||||
#: mod/photos.php:1131
|
||||
msgid "Do you really want to delete this photo?"
|
||||
msgstr "Вы действительно хотите удалить эту фотографию?"
|
||||
|
||||
#: mod/photos.php:1131 mod/photos.php:1331
|
||||
#: mod/photos.php:1132 mod/photos.php:1333
|
||||
msgid "Delete Photo"
|
||||
msgstr "Удалить фото"
|
||||
|
||||
#: mod/photos.php:1222
|
||||
#: mod/photos.php:1224
|
||||
msgid "View photo"
|
||||
msgstr "Просмотр фото"
|
||||
|
||||
#: mod/photos.php:1224
|
||||
#: mod/photos.php:1226
|
||||
msgid "Edit photo"
|
||||
msgstr "Редактировать фото"
|
||||
|
||||
#: mod/photos.php:1225
|
||||
#: mod/photos.php:1227
|
||||
msgid "Delete photo"
|
||||
msgstr "Удалить фото"
|
||||
|
||||
#: mod/photos.php:1226
|
||||
#: mod/photos.php:1228
|
||||
msgid "Use as profile photo"
|
||||
msgstr "Использовать как фото профиля"
|
||||
|
||||
#: mod/photos.php:1233
|
||||
#: mod/photos.php:1235
|
||||
msgid "Private Photo"
|
||||
msgstr "Закрытое фото"
|
||||
|
||||
#: mod/photos.php:1239
|
||||
#: mod/photos.php:1241
|
||||
msgid "View Full Size"
|
||||
msgstr "Просмотреть полный размер"
|
||||
|
||||
#: mod/photos.php:1299
|
||||
#: mod/photos.php:1301
|
||||
msgid "Tags: "
|
||||
msgstr "Ключевые слова: "
|
||||
|
||||
#: mod/photos.php:1302
|
||||
#: mod/photos.php:1304
|
||||
msgid "[Select tags to remove]"
|
||||
msgstr "[выберите тэги для удаления]"
|
||||
|
||||
#: mod/photos.php:1317
|
||||
#: mod/photos.php:1319
|
||||
msgid "New album name"
|
||||
msgstr "Название нового альбома"
|
||||
|
||||
#: mod/photos.php:1318
|
||||
#: mod/photos.php:1320
|
||||
msgid "Caption"
|
||||
msgstr "Подпись"
|
||||
|
||||
#: mod/photos.php:1319
|
||||
#: mod/photos.php:1321
|
||||
msgid "Add a Tag"
|
||||
msgstr "Добавить тег"
|
||||
|
||||
#: mod/photos.php:1319
|
||||
#: mod/photos.php:1321
|
||||
msgid ""
|
||||
"Example: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping"
|
||||
msgstr "Пример: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping"
|
||||
|
||||
#: mod/photos.php:1320
|
||||
#: mod/photos.php:1322
|
||||
msgid "Do not rotate"
|
||||
msgstr "Не поворачивать"
|
||||
|
||||
#: mod/photos.php:1321
|
||||
#: mod/photos.php:1323
|
||||
msgid "Rotate CW (right)"
|
||||
msgstr "Поворот по часовой стрелке (направо)"
|
||||
|
||||
#: mod/photos.php:1322
|
||||
#: mod/photos.php:1324
|
||||
msgid "Rotate CCW (left)"
|
||||
msgstr "Поворот против часовой стрелки (налево)"
|
||||
|
||||
#: mod/photos.php:1368 mod/photos.php:1424 mod/photos.php:1498
|
||||
#: src/Module/Contact.php:1046 src/Module/Item/Compose.php:148
|
||||
#: src/Object/Post.php:959
|
||||
#: mod/photos.php:1370 mod/photos.php:1426 mod/photos.php:1500
|
||||
#: src/Module/Contact.php:1062 src/Module/Item/Compose.php:148
|
||||
#: src/Object/Post.php:960
|
||||
msgid "This is you"
|
||||
msgstr "Это вы"
|
||||
|
||||
#: mod/photos.php:1370 mod/photos.php:1426 mod/photos.php:1500
|
||||
#: src/Object/Post.php:495 src/Object/Post.php:961
|
||||
#: mod/photos.php:1372 mod/photos.php:1428 mod/photos.php:1502
|
||||
#: src/Object/Post.php:496 src/Object/Post.php:962
|
||||
msgid "Comment"
|
||||
msgstr "Комментировать"
|
||||
|
||||
#: mod/photos.php:1521 src/Object/Post.php:348
|
||||
#: mod/photos.php:1461 src/Content/Conversation.php:615
|
||||
#: src/Object/Post.php:227
|
||||
msgid "Select"
|
||||
msgstr "Выберите"
|
||||
|
||||
#: mod/photos.php:1462 mod/settings.php:573 src/Content/Conversation.php:616
|
||||
#: src/Module/Admin/Users/Active.php:139
|
||||
#: src/Module/Admin/Users/Blocked.php:140 src/Module/Admin/Users/Index.php:153
|
||||
#: src/Module/Contact.php:865 src/Module/Contact.php:1150
|
||||
msgid "Delete"
|
||||
msgstr "Удалить"
|
||||
|
||||
#: mod/photos.php:1523 src/Object/Post.php:349
|
||||
msgid "Like"
|
||||
msgstr ""
|
||||
|
||||
#: mod/photos.php:1522 src/Object/Post.php:348
|
||||
#: mod/photos.php:1524 src/Object/Post.php:349
|
||||
msgid "I like this (toggle)"
|
||||
msgstr "Нравится"
|
||||
|
||||
#: mod/photos.php:1523 src/Object/Post.php:349
|
||||
#: mod/photos.php:1525 src/Object/Post.php:350
|
||||
msgid "Dislike"
|
||||
msgstr ""
|
||||
|
||||
#: mod/photos.php:1525 src/Object/Post.php:349
|
||||
#: mod/photos.php:1527 src/Object/Post.php:350
|
||||
msgid "I don't like this (toggle)"
|
||||
msgstr "Не нравится"
|
||||
|
||||
#: mod/photos.php:1547
|
||||
#: mod/photos.php:1549
|
||||
msgid "Map"
|
||||
msgstr "Карта"
|
||||
|
||||
#: mod/photos.php:1617 mod/videos.php:243
|
||||
#: mod/photos.php:1619 mod/videos.php:243
|
||||
msgid "View Album"
|
||||
msgstr "Просмотреть альбом"
|
||||
|
||||
|
|
@ -1949,7 +1610,7 @@ msgstr "Система автоматически загружает диало
|
|||
|
||||
#: mod/settings.php:551
|
||||
msgid "Enable Content Warning"
|
||||
msgstr ""
|
||||
msgstr "Включить предупреждение о контенте"
|
||||
|
||||
#: mod/settings.php:551
|
||||
msgid ""
|
||||
|
|
@ -1957,7 +1618,7 @@ msgid ""
|
|||
" field which collapse their post by default. This enables the automatic "
|
||||
"collapsing instead of setting the content warning as the post title. Doesn't"
|
||||
" affect any other content filtering you eventually set up."
|
||||
msgstr ""
|
||||
msgstr "Пользователи некоторых сетей, таких как Mastodon или Pleroma, могут использовать \"предупреждение о контенте\", сворачивающее их записи. Эта настройка выключает это свёртывание вместо обычного помещения \"предупреждения о контенте\" в заголовок записи. Это не влияет на другие фильтры, которые вы можете настроить."
|
||||
|
||||
#: mod/settings.php:552
|
||||
msgid "Enable intelligent shortening"
|
||||
|
|
@ -2203,7 +1864,7 @@ msgstr "Настройки аккаунта"
|
|||
msgid "Password Settings"
|
||||
msgstr "Смена пароля"
|
||||
|
||||
#: mod/settings.php:719 src/Module/Register.php:149
|
||||
#: mod/settings.php:719 src/Module/Register.php:151
|
||||
msgid "New Password:"
|
||||
msgstr "Новый пароль:"
|
||||
|
||||
|
|
@ -2213,7 +1874,7 @@ msgid ""
|
|||
"spaces, accentuated letters and colon (:)."
|
||||
msgstr "Разрешенные символы: a-z, A-Z, 0-9 специальные символы за исключением пробелов, букв с акцентами и двоеточия (:)."
|
||||
|
||||
#: mod/settings.php:720 src/Module/Register.php:150
|
||||
#: mod/settings.php:720 src/Module/Register.php:152
|
||||
msgid "Confirm:"
|
||||
msgstr "Подтвердите:"
|
||||
|
||||
|
|
@ -2571,6 +2232,19 @@ msgstr "Нет предложений. Если это новый сайт, по
|
|||
msgid "Friend Suggestions"
|
||||
msgstr "Предложения друзей"
|
||||
|
||||
#: mod/tagger.php:90 src/Content/Item.php:346 src/Model/Item.php:2624
|
||||
msgid "photo"
|
||||
msgstr "фото"
|
||||
|
||||
#: mod/tagger.php:90 src/Content/Item.php:341 src/Content/Item.php:350
|
||||
msgid "status"
|
||||
msgstr "статус"
|
||||
|
||||
#: mod/tagger.php:123 src/Content/Item.php:360
|
||||
#, php-format
|
||||
msgid "%1$s tagged %2$s's %3$s with %4$s"
|
||||
msgstr "%1$s tagged %2$s's %3$s в %4$s"
|
||||
|
||||
#: mod/tagrm.php:115
|
||||
msgid "Remove Item Tag"
|
||||
msgstr "Удалить ключевое слово"
|
||||
|
|
@ -2588,13 +2262,13 @@ msgstr "Удалить"
|
|||
msgid "User imports on closed servers can only be done by an administrator."
|
||||
msgstr "Импорт пользователей на закрытых серверах может быть произведён только администратором."
|
||||
|
||||
#: mod/uimport.php:54 src/Module/Register.php:84
|
||||
#: mod/uimport.php:54 src/Module/Register.php:86
|
||||
msgid ""
|
||||
"This site has exceeded the number of allowed daily account registrations. "
|
||||
"Please try again tomorrow."
|
||||
msgstr "Этот сайт превысил допустимое количество ежедневных регистраций. Пожалуйста, повторите попытку завтра."
|
||||
|
||||
#: mod/uimport.php:61 src/Module/Register.php:160
|
||||
#: mod/uimport.php:61 src/Module/Register.php:162
|
||||
msgid "Import"
|
||||
msgstr "Импорт"
|
||||
|
||||
|
|
@ -2704,7 +2378,7 @@ msgid ""
|
|||
"your site allow private mail from unknown senders."
|
||||
msgstr "Если Вы хотите ответить %s, пожалуйста, проверьте, позволяют ли настройки конфиденциальности на Вашем сайте принимать личные сообщения от неизвестных отправителей."
|
||||
|
||||
#: src/App.php:452
|
||||
#: src/App.php:453
|
||||
msgid "No system theme config value set."
|
||||
msgstr "Настройки системной темы не установлены."
|
||||
|
||||
|
|
@ -2746,18 +2420,18 @@ msgid "All contacts"
|
|||
msgstr "Все контакты"
|
||||
|
||||
#: src/BaseModule.php:212 src/Content/Widget.php:238 src/Core/ACL.php:195
|
||||
#: src/Module/Contact.php:816 src/Module/PermissionTooltip.php:77
|
||||
#: src/Module/Contact.php:831 src/Module/PermissionTooltip.php:77
|
||||
#: src/Module/PermissionTooltip.php:99
|
||||
msgid "Followers"
|
||||
msgstr "Подписаны на вас"
|
||||
|
||||
#: src/BaseModule.php:217 src/Content/Widget.php:239
|
||||
#: src/Module/Contact.php:817
|
||||
#: src/Module/Contact.php:832
|
||||
msgid "Following"
|
||||
msgstr "Ваши подписки"
|
||||
|
||||
#: src/BaseModule.php:222 src/Content/Widget.php:240
|
||||
#: src/Module/Contact.php:818
|
||||
#: src/Module/Contact.php:833
|
||||
msgid "Mutual friends"
|
||||
msgstr "Взаимные друзья"
|
||||
|
||||
|
|
@ -2975,6 +2649,268 @@ msgstr "pnut"
|
|||
msgid "%s (via %s)"
|
||||
msgstr "%s (через %s)"
|
||||
|
||||
#: src/Content/Conversation.php:207
|
||||
#, php-format
|
||||
msgid "%s likes this."
|
||||
msgstr "%s нравится это."
|
||||
|
||||
#: src/Content/Conversation.php:210
|
||||
#, php-format
|
||||
msgid "%s doesn't like this."
|
||||
msgstr "%s не нравится это."
|
||||
|
||||
#: src/Content/Conversation.php:213
|
||||
#, php-format
|
||||
msgid "%s attends."
|
||||
msgstr "%s посещает."
|
||||
|
||||
#: src/Content/Conversation.php:216
|
||||
#, php-format
|
||||
msgid "%s doesn't attend."
|
||||
msgstr "%s не посетит."
|
||||
|
||||
#: src/Content/Conversation.php:219
|
||||
#, php-format
|
||||
msgid "%s attends maybe."
|
||||
msgstr "%s может быть посетит."
|
||||
|
||||
#: src/Content/Conversation.php:222 src/Content/Conversation.php:260
|
||||
#: src/Content/Conversation.php:848
|
||||
#, php-format
|
||||
msgid "%s reshared this."
|
||||
msgstr "%s поделился этим."
|
||||
|
||||
#: src/Content/Conversation.php:228
|
||||
msgid "and"
|
||||
msgstr "и"
|
||||
|
||||
#: src/Content/Conversation.php:231
|
||||
#, php-format
|
||||
msgid "and %d other people"
|
||||
msgstr "и еще %d человек"
|
||||
|
||||
#: src/Content/Conversation.php:239
|
||||
#, php-format
|
||||
msgid "<span %1$s>%2$d people</span> like this"
|
||||
msgstr "<span %1$s>%2$d людям</span> нравится это"
|
||||
|
||||
#: src/Content/Conversation.php:240
|
||||
#, php-format
|
||||
msgid "%s like this."
|
||||
msgstr "%s нравится это."
|
||||
|
||||
#: src/Content/Conversation.php:243
|
||||
#, php-format
|
||||
msgid "<span %1$s>%2$d people</span> don't like this"
|
||||
msgstr "<span %1$s>%2$d людям</span> не нравится это"
|
||||
|
||||
#: src/Content/Conversation.php:244
|
||||
#, php-format
|
||||
msgid "%s don't like this."
|
||||
msgstr "%s не нравится это"
|
||||
|
||||
#: src/Content/Conversation.php:247
|
||||
#, php-format
|
||||
msgid "<span %1$s>%2$d people</span> attend"
|
||||
msgstr "<span %1$s>%2$d человека</span> посетят"
|
||||
|
||||
#: src/Content/Conversation.php:248
|
||||
#, php-format
|
||||
msgid "%s attend."
|
||||
msgstr "%s посетит."
|
||||
|
||||
#: src/Content/Conversation.php:251
|
||||
#, php-format
|
||||
msgid "<span %1$s>%2$d people</span> don't attend"
|
||||
msgstr "<span %1$s>%2$d человек</span> не посетит"
|
||||
|
||||
#: src/Content/Conversation.php:252
|
||||
#, php-format
|
||||
msgid "%s don't attend."
|
||||
msgstr "%s не посетит"
|
||||
|
||||
#: src/Content/Conversation.php:255
|
||||
#, php-format
|
||||
msgid "<span %1$s>%2$d people</span> attend maybe"
|
||||
msgstr "<span %1$s>%2$d человек</span> может быть посетят"
|
||||
|
||||
#: src/Content/Conversation.php:256
|
||||
#, php-format
|
||||
msgid "%s attend maybe."
|
||||
msgstr "%s может быть посетит."
|
||||
|
||||
#: src/Content/Conversation.php:259
|
||||
#, php-format
|
||||
msgid "<span %1$s>%2$d people</span> reshared this"
|
||||
msgstr "<span %1$s>%2$d людей</span> поделились этим"
|
||||
|
||||
#: src/Content/Conversation.php:307
|
||||
msgid "Visible to <strong>everybody</strong>"
|
||||
msgstr "Видимое <strong>всем</strong>"
|
||||
|
||||
#: src/Content/Conversation.php:308 src/Module/Item/Compose.php:159
|
||||
#: src/Object/Post.php:973
|
||||
msgid "Please enter a image/video/audio/webpage URL:"
|
||||
msgstr "Пожалуйста, введите адрес картинки/видео/аудио/странички:"
|
||||
|
||||
#: src/Content/Conversation.php:309
|
||||
msgid "Tag term:"
|
||||
msgstr "Тег:"
|
||||
|
||||
#: src/Content/Conversation.php:310 src/Module/Filer/SaveTag.php:68
|
||||
msgid "Save to Folder:"
|
||||
msgstr "Сохранить в папку:"
|
||||
|
||||
#: src/Content/Conversation.php:311
|
||||
msgid "Where are you right now?"
|
||||
msgstr "И где вы сейчас?"
|
||||
|
||||
#: src/Content/Conversation.php:312
|
||||
msgid "Delete item(s)?"
|
||||
msgstr "Удалить елемент(ты)?"
|
||||
|
||||
#: src/Content/Conversation.php:322
|
||||
msgid "New Post"
|
||||
msgstr "Новая запись"
|
||||
|
||||
#: src/Content/Conversation.php:325
|
||||
msgid "Share"
|
||||
msgstr "Поделиться"
|
||||
|
||||
#: src/Content/Conversation.php:331 src/Module/Item/Compose.php:151
|
||||
#: src/Object/Post.php:965
|
||||
msgid "Bold"
|
||||
msgstr "Жирный"
|
||||
|
||||
#: src/Content/Conversation.php:332 src/Module/Item/Compose.php:152
|
||||
#: src/Object/Post.php:966
|
||||
msgid "Italic"
|
||||
msgstr "Kурсивный"
|
||||
|
||||
#: src/Content/Conversation.php:333 src/Module/Item/Compose.php:153
|
||||
#: src/Object/Post.php:967
|
||||
msgid "Underline"
|
||||
msgstr "Подчеркнутый"
|
||||
|
||||
#: src/Content/Conversation.php:334 src/Module/Item/Compose.php:154
|
||||
#: src/Object/Post.php:968
|
||||
msgid "Quote"
|
||||
msgstr "Цитата"
|
||||
|
||||
#: src/Content/Conversation.php:335 src/Module/Item/Compose.php:155
|
||||
#: src/Object/Post.php:969
|
||||
msgid "Code"
|
||||
msgstr "Код"
|
||||
|
||||
#: src/Content/Conversation.php:336 src/Module/Item/Compose.php:156
|
||||
#: src/Object/Post.php:970
|
||||
msgid "Image"
|
||||
msgstr "Изображение / Фото"
|
||||
|
||||
#: src/Content/Conversation.php:337 src/Module/Item/Compose.php:157
|
||||
#: src/Object/Post.php:971
|
||||
msgid "Link"
|
||||
msgstr "Ссылка"
|
||||
|
||||
#: src/Content/Conversation.php:338 src/Module/Item/Compose.php:158
|
||||
#: src/Object/Post.php:972
|
||||
msgid "Link or Media"
|
||||
msgstr "Ссылка или медиа"
|
||||
|
||||
#: src/Content/Conversation.php:339
|
||||
msgid "Video"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Conversation.php:352 src/Module/Item/Compose.php:172
|
||||
msgid "Scheduled at"
|
||||
msgstr "Запланировано на"
|
||||
|
||||
#: src/Content/Conversation.php:651 src/Object/Post.php:454
|
||||
#: src/Object/Post.php:455
|
||||
#, php-format
|
||||
msgid "View %s's profile @ %s"
|
||||
msgstr "Просмотреть профиль %s [@ %s]"
|
||||
|
||||
#: src/Content/Conversation.php:664 src/Object/Post.php:442
|
||||
msgid "Categories:"
|
||||
msgstr "Категории:"
|
||||
|
||||
#: src/Content/Conversation.php:665 src/Object/Post.php:443
|
||||
msgid "Filed under:"
|
||||
msgstr "В рубрике:"
|
||||
|
||||
#: src/Content/Conversation.php:672 src/Object/Post.php:468
|
||||
#, php-format
|
||||
msgid "%s from %s"
|
||||
msgstr "%s из %s"
|
||||
|
||||
#: src/Content/Conversation.php:687
|
||||
msgid "View in context"
|
||||
msgstr "Смотреть в контексте"
|
||||
|
||||
#: src/Content/Conversation.php:752
|
||||
msgid "remove"
|
||||
msgstr "удалить"
|
||||
|
||||
#: src/Content/Conversation.php:756
|
||||
msgid "Delete Selected Items"
|
||||
msgstr "Удалить выбранные позиции"
|
||||
|
||||
#: src/Content/Conversation.php:820 src/Content/Conversation.php:823
|
||||
#: src/Content/Conversation.php:826 src/Content/Conversation.php:829
|
||||
#, php-format
|
||||
msgid "You had been addressed (%s)."
|
||||
msgstr "К вам обратились (%s)."
|
||||
|
||||
#: src/Content/Conversation.php:832
|
||||
#, php-format
|
||||
msgid "You are following %s."
|
||||
msgstr "Вы подписаны на %s."
|
||||
|
||||
#: src/Content/Conversation.php:835
|
||||
msgid "Tagged"
|
||||
msgstr "Отмечено"
|
||||
|
||||
#: src/Content/Conversation.php:850
|
||||
msgid "Reshared"
|
||||
msgstr "Репост"
|
||||
|
||||
#: src/Content/Conversation.php:850
|
||||
#, php-format
|
||||
msgid "Reshared by %s <%s>"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Conversation.php:853
|
||||
#, php-format
|
||||
msgid "%s is participating in this thread."
|
||||
msgstr "%s участвует в этом обсуждении"
|
||||
|
||||
#: src/Content/Conversation.php:856
|
||||
msgid "Stored"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Conversation.php:859
|
||||
msgid "Global"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Conversation.php:862
|
||||
msgid "Relayed"
|
||||
msgstr "Ретранслировано"
|
||||
|
||||
#: src/Content/Conversation.php:862
|
||||
#, php-format
|
||||
msgid "Relayed by %s <%s>"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Conversation.php:865
|
||||
msgid "Fetched"
|
||||
msgstr "Загружено"
|
||||
|
||||
#: src/Content/Conversation.php:865
|
||||
#, php-format
|
||||
msgid "Fetched because of %s <%s>"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Feature.php:96
|
||||
msgid "General Features"
|
||||
msgstr "Основные возможности"
|
||||
|
|
@ -3080,6 +3016,70 @@ msgstr ""
|
|||
msgid "show more"
|
||||
msgstr "показать больше"
|
||||
|
||||
#: src/Content/Item.php:305
|
||||
#, php-format
|
||||
msgid "%1$s poked %2$s"
|
||||
msgstr "%1$s ткнул %2$s"
|
||||
|
||||
#: src/Content/Item.php:338 src/Model/Item.php:2622
|
||||
msgid "event"
|
||||
msgstr "мероприятие"
|
||||
|
||||
#: src/Content/Item.php:442 view/theme/frio/theme.php:323
|
||||
msgid "Follow Thread"
|
||||
msgstr "Подписаться на обсуждение"
|
||||
|
||||
#: src/Content/Item.php:443 src/Model/Contact.php:1056
|
||||
msgid "View Status"
|
||||
msgstr "Просмотреть статус"
|
||||
|
||||
#: src/Content/Item.php:444 src/Content/Item.php:466 src/Model/Contact.php:982
|
||||
#: src/Model/Contact.php:1048 src/Model/Contact.php:1057
|
||||
#: src/Module/Directory.php:160 src/Module/Settings/Profile/Index.php:223
|
||||
msgid "View Profile"
|
||||
msgstr "Просмотреть профиль"
|
||||
|
||||
#: src/Content/Item.php:445 src/Model/Contact.php:1058
|
||||
msgid "View Photos"
|
||||
msgstr "Просмотреть фото"
|
||||
|
||||
#: src/Content/Item.php:446 src/Model/Contact.php:1049
|
||||
#: src/Model/Contact.php:1059
|
||||
msgid "Network Posts"
|
||||
msgstr "Записи сети"
|
||||
|
||||
#: src/Content/Item.php:447 src/Model/Contact.php:1050
|
||||
#: src/Model/Contact.php:1060
|
||||
msgid "View Contact"
|
||||
msgstr "Просмотреть контакт"
|
||||
|
||||
#: src/Content/Item.php:448 src/Model/Contact.php:1062
|
||||
msgid "Send PM"
|
||||
msgstr "Отправить ЛС"
|
||||
|
||||
#: src/Content/Item.php:449 src/Module/Admin/Blocklist/Contact.php:84
|
||||
#: src/Module/Admin/Users/Active.php:140 src/Module/Admin/Users/Index.php:154
|
||||
#: src/Module/Contact.php:602 src/Module/Contact.php:863
|
||||
#: src/Module/Contact.php:1133
|
||||
msgid "Block"
|
||||
msgstr "Заблокировать"
|
||||
|
||||
#: src/Content/Item.php:450 src/Module/Contact.php:603
|
||||
#: src/Module/Contact.php:864 src/Module/Contact.php:1141
|
||||
#: src/Module/Notifications/Introductions.php:113
|
||||
#: src/Module/Notifications/Introductions.php:185
|
||||
#: src/Module/Notifications/Notification.php:59
|
||||
msgid "Ignore"
|
||||
msgstr "Игнорировать"
|
||||
|
||||
#: src/Content/Item.php:454 src/Object/Post.php:429
|
||||
msgid "Languages"
|
||||
msgstr "Языки"
|
||||
|
||||
#: src/Content/Item.php:458 src/Model/Contact.php:1063
|
||||
msgid "Poke"
|
||||
msgstr "потыкать"
|
||||
|
||||
#: src/Content/Nav.php:90
|
||||
msgid "Nothing new here"
|
||||
msgstr "Ничего нового здесь"
|
||||
|
|
@ -3104,7 +3104,7 @@ msgstr "Выход"
|
|||
msgid "End this session"
|
||||
msgstr "Завершить эту сессию"
|
||||
|
||||
#: src/Content/Nav.php:185 src/Module/Bookmarklet.php:45
|
||||
#: src/Content/Nav.php:185 src/Module/Bookmarklet.php:44
|
||||
#: src/Module/Security/Login.php:146
|
||||
msgid "Login"
|
||||
msgstr "Вход"
|
||||
|
|
@ -3114,7 +3114,7 @@ msgid "Sign in"
|
|||
msgstr "Вход"
|
||||
|
||||
#: src/Content/Nav.php:190 src/Module/BaseProfile.php:56
|
||||
#: src/Module/Contact.php:619 src/Module/Contact.php:883
|
||||
#: src/Module/Contact.php:634 src/Module/Contact.php:899
|
||||
#: src/Module/Settings/TwoFactor/Index.php:112 view/theme/frio/theme.php:226
|
||||
msgid "Status"
|
||||
msgstr "Записи"
|
||||
|
|
@ -3125,8 +3125,8 @@ msgid "Your posts and conversations"
|
|||
msgstr "Ваши записи и диалоги"
|
||||
|
||||
#: src/Content/Nav.php:191 src/Module/BaseProfile.php:48
|
||||
#: src/Module/BaseSettings.php:57 src/Module/Contact.php:621
|
||||
#: src/Module/Contact.php:899 src/Module/Profile/Profile.php:241
|
||||
#: src/Module/BaseSettings.php:57 src/Module/Contact.php:636
|
||||
#: src/Module/Contact.php:915 src/Module/Profile/Profile.php:241
|
||||
#: src/Module/Welcome.php:57 view/theme/frio/theme.php:227
|
||||
msgid "Profile"
|
||||
msgstr "Информация"
|
||||
|
|
@ -3163,7 +3163,7 @@ msgstr "Ваши личные заметки"
|
|||
msgid "Home"
|
||||
msgstr "Мой профиль"
|
||||
|
||||
#: src/Content/Nav.php:216 src/Module/Register.php:155
|
||||
#: src/Content/Nav.php:216 src/Module/Register.php:157
|
||||
#: src/Module/Security/Login.php:106
|
||||
msgid "Register"
|
||||
msgstr "Регистрация"
|
||||
|
|
@ -3212,8 +3212,8 @@ msgstr "Тэги"
|
|||
|
||||
#: src/Content/Nav.php:235 src/Content/Nav.php:294
|
||||
#: src/Content/Text/HTML.php:902 src/Module/BaseProfile.php:126
|
||||
#: src/Module/BaseProfile.php:129 src/Module/Contact.php:819
|
||||
#: src/Module/Contact.php:906 view/theme/frio/theme.php:237
|
||||
#: src/Module/BaseProfile.php:129 src/Module/Contact.php:834
|
||||
#: src/Module/Contact.php:922 view/theme/frio/theme.php:237
|
||||
msgid "Contacts"
|
||||
msgstr "Контакты"
|
||||
|
||||
|
|
@ -3247,7 +3247,7 @@ msgid "Information about this friendica instance"
|
|||
msgstr "Информация об этом экземпляре Friendica"
|
||||
|
||||
#: src/Content/Nav.php:266 src/Module/Admin/Tos.php:59
|
||||
#: src/Module/BaseAdmin.php:96 src/Module/Register.php:163
|
||||
#: src/Module/BaseAdmin.php:96 src/Module/Register.php:165
|
||||
#: src/Module/Tos.php:84
|
||||
msgid "Terms of Service"
|
||||
msgstr "Условия оказания услуг"
|
||||
|
|
@ -3359,38 +3359,38 @@ msgstr "след."
|
|||
msgid "last"
|
||||
msgstr "последний"
|
||||
|
||||
#: src/Content/Text/BBCode.php:980 src/Content/Text/BBCode.php:1768
|
||||
#: src/Content/Text/BBCode.php:1769
|
||||
#: src/Content/Text/BBCode.php:985 src/Content/Text/BBCode.php:1773
|
||||
#: src/Content/Text/BBCode.php:1774
|
||||
msgid "Image/photo"
|
||||
msgstr "Изображение / Фото"
|
||||
|
||||
#: src/Content/Text/BBCode.php:1153
|
||||
#: src/Content/Text/BBCode.php:1158
|
||||
#, php-format
|
||||
msgid "<a href=\"%1$s\" target=\"_blank\" rel=\"noopener noreferrer\">%2$s</a> %3$s"
|
||||
msgstr "<a href=\"%1$s\" target=\"_blank\" rel=\"noopener noreferrer\">%2$s</a> %3$s"
|
||||
|
||||
#: src/Content/Text/BBCode.php:1178 src/Model/Item.php:3139
|
||||
#: src/Model/Item.php:3145 src/Model/Item.php:3146
|
||||
#: src/Content/Text/BBCode.php:1183 src/Model/Item.php:3152
|
||||
#: src/Model/Item.php:3158 src/Model/Item.php:3159
|
||||
msgid "Link to source"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Text/BBCode.php:1686 src/Content/Text/HTML.php:943
|
||||
#: src/Content/Text/BBCode.php:1691 src/Content/Text/HTML.php:943
|
||||
msgid "Click to open/close"
|
||||
msgstr "Нажмите, чтобы открыть / закрыть"
|
||||
|
||||
#: src/Content/Text/BBCode.php:1717
|
||||
#: src/Content/Text/BBCode.php:1722
|
||||
msgid "$1 wrote:"
|
||||
msgstr "$1 написал:"
|
||||
|
||||
#: src/Content/Text/BBCode.php:1773 src/Content/Text/BBCode.php:1774
|
||||
#: src/Content/Text/BBCode.php:1778 src/Content/Text/BBCode.php:1779
|
||||
msgid "Encrypted content"
|
||||
msgstr "Зашифрованный контент"
|
||||
|
||||
#: src/Content/Text/BBCode.php:1990
|
||||
#: src/Content/Text/BBCode.php:1995
|
||||
msgid "Invalid source protocol"
|
||||
msgstr "Неправильный протокол источника"
|
||||
|
||||
#: src/Content/Text/BBCode.php:2005
|
||||
#: src/Content/Text/BBCode.php:2010
|
||||
msgid "Invalid link protocol"
|
||||
msgstr "Неправильная протокольная ссылка"
|
||||
|
||||
|
|
@ -3444,7 +3444,7 @@ msgstr "Введите имя или интерес"
|
|||
msgid "Examples: Robert Morgenstein, Fishing"
|
||||
msgstr "Примеры: Роберт Morgenstein, Рыбалка"
|
||||
|
||||
#: src/Content/Widget.php:78 src/Module/Contact.php:840
|
||||
#: src/Content/Widget.php:78 src/Module/Contact.php:855
|
||||
#: src/Module/Directory.php:99 view/theme/vier/theme.php:174
|
||||
msgid "Find"
|
||||
msgstr "Найти"
|
||||
|
|
@ -3471,7 +3471,7 @@ msgid "Local Directory"
|
|||
msgstr "Локальный каталог"
|
||||
|
||||
#: src/Content/Widget.php:214 src/Model/Group.php:535
|
||||
#: src/Module/Contact.php:803 src/Module/Welcome.php:76
|
||||
#: src/Module/Contact.php:818 src/Module/Welcome.php:76
|
||||
msgid "Groups"
|
||||
msgstr "Группы"
|
||||
|
||||
|
|
@ -3483,7 +3483,7 @@ msgstr "Все"
|
|||
msgid "Relationships"
|
||||
msgstr "Отношения"
|
||||
|
||||
#: src/Content/Widget.php:247 src/Module/Contact.php:755
|
||||
#: src/Content/Widget.php:247 src/Module/Contact.php:770
|
||||
#: src/Module/Group.php:292
|
||||
msgid "All Contacts"
|
||||
msgstr "Все контакты"
|
||||
|
|
@ -3529,7 +3529,7 @@ msgstr "Люди"
|
|||
msgid "Organisations"
|
||||
msgstr "Организации"
|
||||
|
||||
#: src/Content/Widget.php:529 src/Model/Contact.php:1474
|
||||
#: src/Content/Widget.php:529 src/Model/Contact.php:1480
|
||||
msgid "News"
|
||||
msgstr "Новости"
|
||||
|
||||
|
|
@ -3549,11 +3549,11 @@ msgstr "Экспортировать календарь в формат ical"
|
|||
msgid "Export calendar as csv"
|
||||
msgstr "Экспортировать календарь в формат csv"
|
||||
|
||||
#: src/Content/Widget/ContactBlock.php:73
|
||||
#: src/Content/Widget/ContactBlock.php:79
|
||||
msgid "No contacts"
|
||||
msgstr "Нет контактов"
|
||||
|
||||
#: src/Content/Widget/ContactBlock.php:105
|
||||
#: src/Content/Widget/ContactBlock.php:108
|
||||
#, php-format
|
||||
msgid "%d Contact"
|
||||
msgid_plural "%d Contacts"
|
||||
|
|
@ -3562,7 +3562,7 @@ msgstr[1] "%d контактов"
|
|||
msgstr[2] "%d контактов"
|
||||
msgstr[3] "%d контактов"
|
||||
|
||||
#: src/Content/Widget/ContactBlock.php:124
|
||||
#: src/Content/Widget/ContactBlock.php:125
|
||||
msgid "View Contacts"
|
||||
msgstr "Просмотр контактов"
|
||||
|
||||
|
|
@ -3588,12 +3588,12 @@ msgid "More Trending Tags"
|
|||
msgstr "Больше популярных тэгов"
|
||||
|
||||
#: src/Content/Widget/VCard.php:96 src/Model/Profile.php:372
|
||||
#: src/Module/Contact.php:610 src/Module/Profile/Profile.php:176
|
||||
#: src/Module/Contact.php:625 src/Module/Profile/Profile.php:176
|
||||
msgid "XMPP:"
|
||||
msgstr "XMPP:"
|
||||
|
||||
#: src/Content/Widget/VCard.php:97 src/Model/Profile.php:373
|
||||
#: src/Module/Contact.php:612 src/Module/Profile/Profile.php:180
|
||||
#: src/Module/Contact.php:627 src/Module/Profile/Profile.php:180
|
||||
msgid "Matrix:"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -4399,85 +4399,85 @@ msgstr "%s теперь друзья с %s"
|
|||
msgid "Legacy module file not found: %s"
|
||||
msgstr "Legacy-модуль не найден: %s"
|
||||
|
||||
#: src/Model/Contact.php:1046 src/Model/Contact.php:1059
|
||||
#: src/Model/Contact.php:1052 src/Model/Contact.php:1065
|
||||
msgid "UnFollow"
|
||||
msgstr "Отписаться"
|
||||
|
||||
#: src/Model/Contact.php:1055
|
||||
#: src/Model/Contact.php:1061
|
||||
msgid "Drop Contact"
|
||||
msgstr "Удалить контакт"
|
||||
|
||||
#: src/Model/Contact.php:1065 src/Module/Admin/Users/Pending.php:107
|
||||
#: src/Model/Contact.php:1071 src/Module/Admin/Users/Pending.php:107
|
||||
#: src/Module/Notifications/Introductions.php:111
|
||||
#: src/Module/Notifications/Introductions.php:183
|
||||
msgid "Approve"
|
||||
msgstr "Одобрить"
|
||||
|
||||
#: src/Model/Contact.php:1470
|
||||
#: src/Model/Contact.php:1476
|
||||
msgid "Organisation"
|
||||
msgstr "Организация"
|
||||
|
||||
#: src/Model/Contact.php:1478
|
||||
#: src/Model/Contact.php:1484
|
||||
msgid "Forum"
|
||||
msgstr "Форум"
|
||||
|
||||
#: src/Model/Contact.php:2334
|
||||
#: src/Model/Contact.php:2340
|
||||
msgid "Disallowed profile URL."
|
||||
msgstr "Запрещенный URL профиля."
|
||||
|
||||
#: src/Model/Contact.php:2339 src/Module/Friendica.php:81
|
||||
#: src/Model/Contact.php:2345 src/Module/Friendica.php:81
|
||||
msgid "Blocked domain"
|
||||
msgstr "Заблокированный домен"
|
||||
|
||||
#: src/Model/Contact.php:2344
|
||||
#: src/Model/Contact.php:2350
|
||||
msgid "Connect URL missing."
|
||||
msgstr "Connect-URL отсутствует."
|
||||
|
||||
#: src/Model/Contact.php:2353
|
||||
#: src/Model/Contact.php:2359
|
||||
msgid ""
|
||||
"The contact could not be added. Please check the relevant network "
|
||||
"credentials in your Settings -> Social Networks page."
|
||||
msgstr "Контакт не может быть добавлен. Пожалуйста проверьте учётные данные на странице Настройки -> Социальные сети."
|
||||
|
||||
#: src/Model/Contact.php:2390
|
||||
#: src/Model/Contact.php:2396
|
||||
msgid "The profile address specified does not provide adequate information."
|
||||
msgstr "Указанный адрес профиля не дает адекватной информации."
|
||||
|
||||
#: src/Model/Contact.php:2392
|
||||
#: src/Model/Contact.php:2398
|
||||
msgid "No compatible communication protocols or feeds were discovered."
|
||||
msgstr "Обнаружены несовместимые протоколы связи или каналы."
|
||||
|
||||
#: src/Model/Contact.php:2395
|
||||
#: src/Model/Contact.php:2401
|
||||
msgid "An author or name was not found."
|
||||
msgstr "Автор или имя не найдены."
|
||||
|
||||
#: src/Model/Contact.php:2398
|
||||
#: src/Model/Contact.php:2404
|
||||
msgid "No browser URL could be matched to this address."
|
||||
msgstr "Нет URL браузера, который соответствует этому адресу."
|
||||
|
||||
#: src/Model/Contact.php:2401
|
||||
#: src/Model/Contact.php:2407
|
||||
msgid ""
|
||||
"Unable to match @-style Identity Address with a known protocol or email "
|
||||
"contact."
|
||||
msgstr "Не получается совместить этот адрес с известным протоколом или контактом электронной почты."
|
||||
|
||||
#: src/Model/Contact.php:2402
|
||||
#: src/Model/Contact.php:2408
|
||||
msgid "Use mailto: in front of address to force email check."
|
||||
msgstr "Bcgjkmpeqnt mailto: перед адресом для быстрого доступа к email."
|
||||
|
||||
#: src/Model/Contact.php:2408
|
||||
#: src/Model/Contact.php:2414
|
||||
msgid ""
|
||||
"The profile address specified belongs to a network which has been disabled "
|
||||
"on this site."
|
||||
msgstr "Указанный адрес профиля принадлежит сети, недоступной на этом сайта."
|
||||
|
||||
#: src/Model/Contact.php:2413
|
||||
#: src/Model/Contact.php:2419
|
||||
msgid ""
|
||||
"Limited profile. This person will be unable to receive direct/personal "
|
||||
"notifications from you."
|
||||
msgstr "Ограниченный профиль. Этот человек не сможет получить прямые / личные уведомления от вас."
|
||||
|
||||
#: src/Model/Contact.php:2472
|
||||
#: src/Model/Contact.php:2478
|
||||
msgid "Unable to retrieve contact information."
|
||||
msgstr "Невозможно получить контактную информацию."
|
||||
|
||||
|
|
@ -4594,33 +4594,33 @@ msgstr "Название группы: "
|
|||
msgid "Edit groups"
|
||||
msgstr "Редактировать группы"
|
||||
|
||||
#: src/Model/Item.php:1663
|
||||
#: src/Model/Item.php:1676
|
||||
#, php-format
|
||||
msgid "Detected languages in this post:\\n%s"
|
||||
msgstr "Обнаруженные в этой записи языки:\\n%s"
|
||||
|
||||
#: src/Model/Item.php:2613
|
||||
#: src/Model/Item.php:2626
|
||||
msgid "activity"
|
||||
msgstr "активность"
|
||||
|
||||
#: src/Model/Item.php:2615
|
||||
#: src/Model/Item.php:2628
|
||||
msgid "comment"
|
||||
msgstr ""
|
||||
|
||||
#: src/Model/Item.php:2618
|
||||
#: src/Model/Item.php:2631
|
||||
msgid "post"
|
||||
msgstr "пост"
|
||||
|
||||
#: src/Model/Item.php:2755
|
||||
#: src/Model/Item.php:2768
|
||||
#, php-format
|
||||
msgid "Content warning: %s"
|
||||
msgstr "Предупреждение о контенте: %s"
|
||||
|
||||
#: src/Model/Item.php:3104
|
||||
#: src/Model/Item.php:3117
|
||||
msgid "bytes"
|
||||
msgstr "байт"
|
||||
|
||||
#: src/Model/Item.php:3133 src/Model/Item.php:3134
|
||||
#: src/Model/Item.php:3146 src/Model/Item.php:3147
|
||||
msgid "View on separate page"
|
||||
msgstr "Посмотреть в отдельной вкладке"
|
||||
|
||||
|
|
@ -4676,7 +4676,7 @@ msgstr ""
|
|||
#: src/Model/Notification.php:293
|
||||
#, php-format
|
||||
msgid "%1$s replied to you on %2$s"
|
||||
msgstr ""
|
||||
msgstr "%1$s ответил(а) вам на %2$s"
|
||||
|
||||
#: src/Model/Notification.php:297
|
||||
#, php-format
|
||||
|
|
@ -4747,7 +4747,7 @@ msgstr "Изменить фото профиля"
|
|||
msgid "Homepage:"
|
||||
msgstr "Домашняя страничка:"
|
||||
|
||||
#: src/Model/Profile.php:371 src/Module/Contact.php:614
|
||||
#: src/Model/Profile.php:371 src/Module/Contact.php:629
|
||||
#: src/Module/Notifications/Introductions.php:168
|
||||
msgid "About:"
|
||||
msgstr "О себе:"
|
||||
|
|
@ -4807,7 +4807,7 @@ msgstr "Каталог, куда сохраняются загруженные
|
|||
msgid "Enter a valid existing folder"
|
||||
msgstr "Введите путь к существующему каталогу"
|
||||
|
||||
#: src/Model/User.php:208 src/Model/User.php:1004
|
||||
#: src/Model/User.php:208 src/Model/User.php:1055
|
||||
msgid "SERIOUS ERROR: Generation of security keys failed."
|
||||
msgstr "СЕРЬЕЗНАЯ ОШИБКА: генерация ключей безопасности не удалась."
|
||||
|
||||
|
|
@ -4838,44 +4838,44 @@ msgid ""
|
|||
"The password can't contain accentuated letters, white spaces or colons (:)"
|
||||
msgstr "Пароль не может содержать символы с акцентами, пробелы или двоеточия (:)"
|
||||
|
||||
#: src/Model/User.php:884
|
||||
#: src/Model/User.php:935
|
||||
msgid "Passwords do not match. Password unchanged."
|
||||
msgstr "Пароли не совпадают. Пароль не изменен."
|
||||
|
||||
#: src/Model/User.php:891
|
||||
#: src/Model/User.php:942
|
||||
msgid "An invitation is required."
|
||||
msgstr "Требуется приглашение."
|
||||
|
||||
#: src/Model/User.php:895
|
||||
#: src/Model/User.php:946
|
||||
msgid "Invitation could not be verified."
|
||||
msgstr "Приглашение не может быть проверено."
|
||||
|
||||
#: src/Model/User.php:903
|
||||
#: src/Model/User.php:954
|
||||
msgid "Invalid OpenID url"
|
||||
msgstr "Неверный URL OpenID"
|
||||
|
||||
#: src/Model/User.php:916 src/Security/Authentication.php:223
|
||||
#: src/Model/User.php:967 src/Security/Authentication.php:223
|
||||
msgid ""
|
||||
"We encountered a problem while logging in with the OpenID you provided. "
|
||||
"Please check the correct spelling of the ID."
|
||||
msgstr "Мы столкнулись с проблемой при входе с OpenID, который вы указали. Пожалуйста, проверьте правильность написания ID."
|
||||
|
||||
#: src/Model/User.php:916 src/Security/Authentication.php:223
|
||||
#: src/Model/User.php:967 src/Security/Authentication.php:223
|
||||
msgid "The error message was:"
|
||||
msgstr "Сообщение об ошибке было:"
|
||||
|
||||
#: src/Model/User.php:922
|
||||
#: src/Model/User.php:973
|
||||
msgid "Please enter the required information."
|
||||
msgstr "Пожалуйста, введите необходимую информацию."
|
||||
|
||||
#: src/Model/User.php:936
|
||||
#: src/Model/User.php:987
|
||||
#, php-format
|
||||
msgid ""
|
||||
"system.username_min_length (%s) and system.username_max_length (%s) are "
|
||||
"excluding each other, swapping values."
|
||||
msgstr "system.username_min_length (%s) и system.username_max_length (%s) противоречат друг другу, меняем их местами."
|
||||
|
||||
#: src/Model/User.php:943
|
||||
#: src/Model/User.php:994
|
||||
#, php-format
|
||||
msgid "Username should be at least %s character."
|
||||
msgid_plural "Username should be at least %s characters."
|
||||
|
|
@ -4884,7 +4884,7 @@ msgstr[1] "Имя пользователя должно быть хотя бы %
|
|||
msgstr[2] "Имя пользователя должно быть хотя бы %s символов."
|
||||
msgstr[3] "Имя пользователя должно быть хотя бы %s символов."
|
||||
|
||||
#: src/Model/User.php:947
|
||||
#: src/Model/User.php:998
|
||||
#, php-format
|
||||
msgid "Username should be at most %s character."
|
||||
msgid_plural "Username should be at most %s characters."
|
||||
|
|
@ -4893,56 +4893,56 @@ msgstr[1] "Имя пользователя должно быть не больш
|
|||
msgstr[2] "Имя пользователя должно быть не больше %s символов."
|
||||
msgstr[3] "Имя пользователя должно быть не больше %s символов."
|
||||
|
||||
#: src/Model/User.php:955
|
||||
#: src/Model/User.php:1006
|
||||
msgid "That doesn't appear to be your full (First Last) name."
|
||||
msgstr "Кажется, что это ваше неполное (Имя Фамилия) имя."
|
||||
|
||||
#: src/Model/User.php:960
|
||||
#: src/Model/User.php:1011
|
||||
msgid "Your email domain is not among those allowed on this site."
|
||||
msgstr "Домен вашего адреса электронной почты не относится к числу разрешенных на этом сайте."
|
||||
|
||||
#: src/Model/User.php:964
|
||||
#: src/Model/User.php:1015
|
||||
msgid "Not a valid email address."
|
||||
msgstr "Неверный адрес электронной почты."
|
||||
|
||||
#: src/Model/User.php:967
|
||||
#: src/Model/User.php:1018
|
||||
msgid "The nickname was blocked from registration by the nodes admin."
|
||||
msgstr "Этот ник был заблокирован для регистрации администратором узла."
|
||||
|
||||
#: src/Model/User.php:971 src/Model/User.php:979
|
||||
#: src/Model/User.php:1022 src/Model/User.php:1030
|
||||
msgid "Cannot use that email."
|
||||
msgstr "Нельзя использовать этот Email."
|
||||
|
||||
#: src/Model/User.php:986
|
||||
#: src/Model/User.php:1037
|
||||
msgid "Your nickname can only contain a-z, 0-9 and _."
|
||||
msgstr "Ваш ник может содержать только символы a-z, 0-9 и _."
|
||||
|
||||
#: src/Model/User.php:994 src/Model/User.php:1051
|
||||
#: src/Model/User.php:1045 src/Model/User.php:1102
|
||||
msgid "Nickname is already registered. Please choose another."
|
||||
msgstr "Такой ник уже зарегистрирован. Пожалуйста, выберите другой."
|
||||
|
||||
#: src/Model/User.php:1038 src/Model/User.php:1042
|
||||
#: src/Model/User.php:1089 src/Model/User.php:1093
|
||||
msgid "An error occurred during registration. Please try again."
|
||||
msgstr "Ошибка при регистрации. Пожалуйста, попробуйте еще раз."
|
||||
|
||||
#: src/Model/User.php:1065
|
||||
#: src/Model/User.php:1116
|
||||
msgid "An error occurred creating your default profile. Please try again."
|
||||
msgstr "Ошибка создания вашего профиля. Пожалуйста, попробуйте еще раз."
|
||||
|
||||
#: src/Model/User.php:1072
|
||||
#: src/Model/User.php:1123
|
||||
msgid "An error occurred creating your self contact. Please try again."
|
||||
msgstr "При создании вашего контакта возникла проблема. Пожалуйста, попробуйте ещё раз."
|
||||
|
||||
#: src/Model/User.php:1077
|
||||
#: src/Model/User.php:1128
|
||||
msgid "Friends"
|
||||
msgstr "Друзья"
|
||||
|
||||
#: src/Model/User.php:1081
|
||||
#: src/Model/User.php:1132
|
||||
msgid ""
|
||||
"An error occurred creating your default contact group. Please try again."
|
||||
msgstr "При создании группы контактов по-умолчанию возникла ошибка. Пожалуйста, попробуйте ещё раз."
|
||||
|
||||
#: src/Model/User.php:1310
|
||||
#: src/Model/User.php:1361
|
||||
#, php-format
|
||||
msgid ""
|
||||
"\n"
|
||||
|
|
@ -4950,7 +4950,7 @@ msgid ""
|
|||
"\t\t\tthe administrator of %2$s has set up an account for you."
|
||||
msgstr "\n\t\tУважаемый(ая) %1$s,\n\t\t\tадминистратор %2$s создал для вас учётную запись."
|
||||
|
||||
#: src/Model/User.php:1313
|
||||
#: src/Model/User.php:1364
|
||||
#, php-format
|
||||
msgid ""
|
||||
"\n"
|
||||
|
|
@ -4982,12 +4982,12 @@ msgid ""
|
|||
"\t\tThank you and welcome to %4$s."
|
||||
msgstr "\n\t\tДанные для входа в систему:\n\n\t\tМестоположение сайта:\t%1$s\n\t\tЛогин:\t\t%2$s\n\t\tПароль:\t\t%3$s\n\n\t\tВы можете изменить пароль на странице \"Настройки\" после авторизации.\n\n\t\tПожалуйста, уделите время ознакомлению с другими другие настройками аккаунта на этой странице.\n\n\n\t\tВы также можете захотеть добавить немного базовой информации к вашему стандартному профилю\n\t\t(на странице \"Информация\") чтобы другим людям было проще вас найти.\n\n\t\tМы рекомендуем указать ваше полное имя, добавить фотографию,\n\t\tнемного \"ключевых слов\" (очень полезно, чтобы завести новых друзей)\n\t\tи возможно страну вашего проживания; если вы не хотите быть более конкретным.\n\n\t\tМы полностью уважаем ваше право на приватность, поэтому ничего из этого не является обязательным.\n\t\tЕсли же вы новичок и никого не знаете, это может помочь\n\t\tвам завести новых интересных друзей.\n\n\t\tЕсли вы когда-нибудь захотите удалить свой аккаунт, вы можете сделать это перейдя по ссылке %1$s/removeme\n\n\t\tСпасибо и добро пожаловать в %4$s."
|
||||
|
||||
#: src/Model/User.php:1346 src/Model/User.php:1453
|
||||
#: src/Model/User.php:1397 src/Model/User.php:1504
|
||||
#, php-format
|
||||
msgid "Registration details for %s"
|
||||
msgstr "Подробности регистрации для %s"
|
||||
|
||||
#: src/Model/User.php:1366
|
||||
#: src/Model/User.php:1417
|
||||
#, php-format
|
||||
msgid ""
|
||||
"\n"
|
||||
|
|
@ -5002,12 +5002,12 @@ msgid ""
|
|||
"\t\t"
|
||||
msgstr "\n\t\t\tУважаемый %1$s,\n\t\t\t\tБлагодарим Вас за регистрацию на %2$s. Ваш аккаунт ожидает подтверждения администратором.\n\n\t\t\tВаши данные для входа в систему:\n\n\t\t\tМестоположение сайта:\t%3$s\n\t\t\tЛогин:\t\t%4$s\n\t\t\tПароль:\t\t%5$s\n\t\t"
|
||||
|
||||
#: src/Model/User.php:1385
|
||||
#: src/Model/User.php:1436
|
||||
#, php-format
|
||||
msgid "Registration at %s"
|
||||
msgstr "Регистрация на %s"
|
||||
|
||||
#: src/Model/User.php:1409
|
||||
#: src/Model/User.php:1460
|
||||
#, php-format
|
||||
msgid ""
|
||||
"\n"
|
||||
|
|
@ -5016,7 +5016,7 @@ msgid ""
|
|||
"\t\t\t"
|
||||
msgstr "\n\t\t\t\tУважаемый(ая) %1$s,\n\t\t\t\tСпасибо за регистрацию на %2$s. Ваша учётная запись создана.\n\t\t\t"
|
||||
|
||||
#: src/Model/User.php:1417
|
||||
#: src/Model/User.php:1468
|
||||
#, php-format
|
||||
msgid ""
|
||||
"\n"
|
||||
|
|
@ -5079,7 +5079,7 @@ msgstr "Включить"
|
|||
#: src/Module/Admin/Federation.php:159 src/Module/Admin/Item/Delete.php:65
|
||||
#: src/Module/Admin/Logs/Settings.php:80 src/Module/Admin/Logs/View.php:84
|
||||
#: src/Module/Admin/Queue.php:72 src/Module/Admin/Site.php:497
|
||||
#: src/Module/Admin/Storage.php:131 src/Module/Admin/Summary.php:232
|
||||
#: src/Module/Admin/Storage.php:131 src/Module/Admin/Summary.php:233
|
||||
#: src/Module/Admin/Themes/Details.php:90
|
||||
#: src/Module/Admin/Themes/Index.php:111 src/Module/Admin/Tos.php:58
|
||||
#: src/Module/Admin/Users/Active.php:136
|
||||
|
|
@ -5143,8 +5143,8 @@ msgstr ""
|
|||
msgid "List of active accounts"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/BaseUsers.php:66 src/Module/Contact.php:763
|
||||
#: src/Module/Contact.php:823
|
||||
#: src/Module/Admin/BaseUsers.php:66 src/Module/Contact.php:778
|
||||
#: src/Module/Contact.php:838
|
||||
msgid "Pending"
|
||||
msgstr "В ожидании"
|
||||
|
||||
|
|
@ -5152,8 +5152,8 @@ msgstr "В ожидании"
|
|||
msgid "List of pending registrations"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/BaseUsers.php:74 src/Module/Contact.php:771
|
||||
#: src/Module/Contact.php:824
|
||||
#: src/Module/Admin/BaseUsers.php:74 src/Module/Contact.php:786
|
||||
#: src/Module/Contact.php:839
|
||||
msgid "Blocked"
|
||||
msgstr "Заблокированы"
|
||||
|
||||
|
|
@ -5213,8 +5213,8 @@ msgstr "сбросить выбор"
|
|||
|
||||
#: src/Module/Admin/Blocklist/Contact.php:85
|
||||
#: src/Module/Admin/Users/Blocked.php:142 src/Module/Admin/Users/Index.php:156
|
||||
#: src/Module/Contact.php:587 src/Module/Contact.php:847
|
||||
#: src/Module/Contact.php:1115
|
||||
#: src/Module/Contact.php:602 src/Module/Contact.php:863
|
||||
#: src/Module/Contact.php:1133
|
||||
msgid "Unblock"
|
||||
msgstr "Разблокировать"
|
||||
|
||||
|
|
@ -5732,7 +5732,7 @@ msgstr ""
|
|||
msgid "Republish users to directory"
|
||||
msgstr "Переопубликовать пользователей в каталог"
|
||||
|
||||
#: src/Module/Admin/Site.php:502 src/Module/Register.php:139
|
||||
#: src/Module/Admin/Site.php:502 src/Module/Register.php:141
|
||||
msgid "Registration"
|
||||
msgstr "Регистрация"
|
||||
|
||||
|
|
@ -6501,7 +6501,7 @@ msgid ""
|
|||
"received."
|
||||
msgstr "Допустимые значения \"all\" или \"tags\". \"all\" означает, что любые публичные записи будут получены. \"tags\" включает приём публичных записей с выбранными тэгами."
|
||||
|
||||
#: src/Module/Admin/Site.php:609 src/Module/Contact.php:516
|
||||
#: src/Module/Admin/Site.php:609 src/Module/Contact.php:531
|
||||
#: src/Module/Settings/TwoFactor/Index.php:118
|
||||
msgid "Disabled"
|
||||
msgstr "Отключенный"
|
||||
|
|
@ -6590,12 +6590,12 @@ msgstr ""
|
|||
msgid "Database (legacy)"
|
||||
msgstr "База данных (устаревшее)"
|
||||
|
||||
#: src/Module/Admin/Summary.php:53
|
||||
#: src/Module/Admin/Summary.php:54
|
||||
#, php-format
|
||||
msgid "Template engine (%s) error: %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Summary.php:57
|
||||
#: src/Module/Admin/Summary.php:58
|
||||
#, php-format
|
||||
msgid ""
|
||||
"Your DB still runs with MyISAM tables. You should change the engine type to "
|
||||
|
|
@ -6606,7 +6606,7 @@ msgid ""
|
|||
" an automatic conversion.<br />"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Summary.php:62
|
||||
#: src/Module/Admin/Summary.php:63
|
||||
#, php-format
|
||||
msgid ""
|
||||
"Your DB still runs with InnoDB tables in the Antelope file format. You "
|
||||
|
|
@ -6617,7 +6617,7 @@ msgid ""
|
|||
" installation for an automatic conversion.<br />"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Summary.php:72
|
||||
#: src/Module/Admin/Summary.php:73
|
||||
#, php-format
|
||||
msgid ""
|
||||
"Your table_definition_cache is too low (%d). This can lead to the database "
|
||||
|
|
@ -6625,39 +6625,39 @@ msgid ""
|
|||
" to %d. See <a href=\"%s\">here</a> for more information.<br />"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Summary.php:82
|
||||
#: src/Module/Admin/Summary.php:83
|
||||
#, php-format
|
||||
msgid ""
|
||||
"There is a new version of Friendica available for download. Your current "
|
||||
"version is %1$s, upstream version is %2$s"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Summary.php:91
|
||||
#: src/Module/Admin/Summary.php:92
|
||||
msgid ""
|
||||
"The database update failed. Please run \"php bin/console.php dbstructure "
|
||||
"update\" from the command line and have a look at the errors that might "
|
||||
"appear."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Summary.php:95
|
||||
#: src/Module/Admin/Summary.php:96
|
||||
msgid ""
|
||||
"The last update failed. Please run \"php bin/console.php dbstructure "
|
||||
"update\" from the command line and have a look at the errors that might "
|
||||
"appear. (Some of the errors are possibly inside the logfile.)"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Summary.php:100
|
||||
#: src/Module/Admin/Summary.php:101
|
||||
msgid "The worker was never executed. Please check your database structure!"
|
||||
msgstr "Фоновые задания ни разу не выполнялись. Пожалуйста, проверьте структуру базы данных!"
|
||||
|
||||
#: src/Module/Admin/Summary.php:102
|
||||
#: src/Module/Admin/Summary.php:103
|
||||
#, php-format
|
||||
msgid ""
|
||||
"The last worker execution was on %s UTC. This is older than one hour. Please"
|
||||
" check your crontab settings."
|
||||
msgstr "Последний раз фоновое задание выполнялось %s UTC. Это более одного часа назад. Пожалуйста, проверьте настройки crontab."
|
||||
|
||||
#: src/Module/Admin/Summary.php:107
|
||||
#: src/Module/Admin/Summary.php:108
|
||||
#, php-format
|
||||
msgid ""
|
||||
"Friendica's configuration now is stored in config/local.config.php, please "
|
||||
|
|
@ -6666,7 +6666,7 @@ msgid ""
|
|||
"help with the transition."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Summary.php:111
|
||||
#: src/Module/Admin/Summary.php:112
|
||||
#, php-format
|
||||
msgid ""
|
||||
"Friendica's configuration now is stored in config/local.config.php, please "
|
||||
|
|
@ -6675,7 +6675,7 @@ msgid ""
|
|||
"page</a> for help with the transition."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Summary.php:117
|
||||
#: src/Module/Admin/Summary.php:118
|
||||
#, php-format
|
||||
msgid ""
|
||||
"<a href=\"%s\">%s</a> is not reachable on your system. This is a severe "
|
||||
|
|
@ -6683,87 +6683,87 @@ msgid ""
|
|||
"href=\"%s\">the installation page</a> for help."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Summary.php:135
|
||||
#: src/Module/Admin/Summary.php:136
|
||||
#, php-format
|
||||
msgid "The logfile '%s' is not usable. No logging possible (error: '%s')"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Summary.php:149
|
||||
#: src/Module/Admin/Summary.php:150
|
||||
#, php-format
|
||||
msgid ""
|
||||
"The debug logfile '%s' is not usable. No logging possible (error: '%s')"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Summary.php:165
|
||||
#: src/Module/Admin/Summary.php:166
|
||||
#, php-format
|
||||
msgid ""
|
||||
"Friendica's system.basepath was updated from '%s' to '%s'. Please remove the"
|
||||
" system.basepath from your db to avoid differences."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Summary.php:173
|
||||
#: src/Module/Admin/Summary.php:174
|
||||
#, php-format
|
||||
msgid ""
|
||||
"Friendica's current system.basepath '%s' is wrong and the config file '%s' "
|
||||
"isn't used."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Summary.php:181
|
||||
#: src/Module/Admin/Summary.php:182
|
||||
#, php-format
|
||||
msgid ""
|
||||
"Friendica's current system.basepath '%s' is not equal to the config file "
|
||||
"'%s'. Please fix your configuration."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Summary.php:188
|
||||
#: src/Module/Admin/Summary.php:189
|
||||
msgid "Normal Account"
|
||||
msgstr "Обычный аккаунт"
|
||||
|
||||
#: src/Module/Admin/Summary.php:189
|
||||
#: src/Module/Admin/Summary.php:190
|
||||
msgid "Automatic Follower Account"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Admin/Summary.php:190
|
||||
#: src/Module/Admin/Summary.php:191
|
||||
msgid "Public Forum Account"
|
||||
msgstr "Публичный форум"
|
||||
|
||||
#: src/Module/Admin/Summary.php:191
|
||||
#: src/Module/Admin/Summary.php:192
|
||||
msgid "Automatic Friend Account"
|
||||
msgstr "\"Автоматический друг\" Аккаунт"
|
||||
|
||||
#: src/Module/Admin/Summary.php:192
|
||||
#: src/Module/Admin/Summary.php:193
|
||||
msgid "Blog Account"
|
||||
msgstr "Аккаунт блога"
|
||||
|
||||
#: src/Module/Admin/Summary.php:193
|
||||
#: src/Module/Admin/Summary.php:194
|
||||
msgid "Private Forum Account"
|
||||
msgstr "Закрытый форум"
|
||||
|
||||
#: src/Module/Admin/Summary.php:213
|
||||
#: src/Module/Admin/Summary.php:214
|
||||
msgid "Message queues"
|
||||
msgstr "Очереди сообщений"
|
||||
|
||||
#: src/Module/Admin/Summary.php:219
|
||||
#: src/Module/Admin/Summary.php:220
|
||||
msgid "Server Settings"
|
||||
msgstr "Настройки сервера"
|
||||
|
||||
#: src/Module/Admin/Summary.php:233 src/Repository/ProfileField.php:285
|
||||
#: src/Module/Admin/Summary.php:234 src/Repository/ProfileField.php:285
|
||||
msgid "Summary"
|
||||
msgstr "Резюме"
|
||||
|
||||
#: src/Module/Admin/Summary.php:235
|
||||
#: src/Module/Admin/Summary.php:236
|
||||
msgid "Registered users"
|
||||
msgstr "Зарегистрированные пользователи"
|
||||
|
||||
#: src/Module/Admin/Summary.php:237
|
||||
#: src/Module/Admin/Summary.php:238
|
||||
msgid "Pending registrations"
|
||||
msgstr "Ожидающие регистрации"
|
||||
|
||||
#: src/Module/Admin/Summary.php:238
|
||||
#: src/Module/Admin/Summary.php:239
|
||||
msgid "Version"
|
||||
msgstr "Версия"
|
||||
|
||||
#: src/Module/Admin/Summary.php:242
|
||||
#: src/Module/Admin/Summary.php:243
|
||||
msgid "Active addons"
|
||||
msgstr "Активные дополнения"
|
||||
|
||||
|
|
@ -7086,8 +7086,8 @@ msgstr ""
|
|||
msgid "Posts from %s can't be unshared"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Api/Twitter/ContactEndpoint.php:63 src/Module/Contact.php:361
|
||||
#: src/Module/Contact.php:366
|
||||
#: src/Module/Api/Twitter/ContactEndpoint.php:63 src/Module/Contact.php:371
|
||||
#: src/Module/Contact.php:386
|
||||
msgid "Contact not found"
|
||||
msgstr "Контакт не найден"
|
||||
|
||||
|
|
@ -7208,7 +7208,7 @@ msgstr ""
|
|||
msgid "Too Many Requests"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/BaseProfile.php:51 src/Module/Contact.php:902
|
||||
#: src/Module/BaseProfile.php:51 src/Module/Contact.php:918
|
||||
msgid "Profile Details"
|
||||
msgstr "Информация о вас"
|
||||
|
||||
|
|
@ -7267,15 +7267,15 @@ msgstr "Экспорт личных данных"
|
|||
msgid "Remove account"
|
||||
msgstr "Удалить аккаунт"
|
||||
|
||||
#: src/Module/Bookmarklet.php:55
|
||||
#: src/Module/Bookmarklet.php:54
|
||||
msgid "This page is missing a url parameter."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Bookmarklet.php:67
|
||||
#: src/Module/Bookmarklet.php:66
|
||||
msgid "The post was created"
|
||||
msgstr "Запись создана"
|
||||
|
||||
#: src/Module/Contact.php:93
|
||||
#: src/Module/Contact.php:97
|
||||
#, php-format
|
||||
msgid "%d contact edited."
|
||||
msgid_plural "%d contacts edited."
|
||||
|
|
@ -7284,358 +7284,358 @@ msgstr[1] ""
|
|||
msgstr[2] ""
|
||||
msgstr[3] ""
|
||||
|
||||
#: src/Module/Contact.php:118
|
||||
#: src/Module/Contact.php:122
|
||||
msgid "Could not access contact record."
|
||||
msgstr "Не удалось получить доступ к записи контакта."
|
||||
|
||||
#: src/Module/Contact.php:154
|
||||
#: src/Module/Contact.php:158
|
||||
msgid "Failed to update contact record."
|
||||
msgstr "Не удалось обновить запись контакта."
|
||||
|
||||
#: src/Module/Contact.php:383
|
||||
#: src/Module/Contact.php:403
|
||||
msgid "You can't block yourself"
|
||||
msgstr "Вы не можете заблокировать сами себя"
|
||||
|
||||
#: src/Module/Contact.php:389
|
||||
#: src/Module/Contact.php:409
|
||||
msgid "Contact has been blocked"
|
||||
msgstr "Контакт заблокирован"
|
||||
|
||||
#: src/Module/Contact.php:389
|
||||
#: src/Module/Contact.php:409
|
||||
msgid "Contact has been unblocked"
|
||||
msgstr "Контакт разблокирован"
|
||||
|
||||
#: src/Module/Contact.php:397
|
||||
#: src/Module/Contact.php:417
|
||||
msgid "You can't ignore yourself"
|
||||
msgstr "Вы не можете игнорировать сами себя"
|
||||
|
||||
#: src/Module/Contact.php:403
|
||||
#: src/Module/Contact.php:423
|
||||
msgid "Contact has been ignored"
|
||||
msgstr "Контакт проигнорирован"
|
||||
|
||||
#: src/Module/Contact.php:403
|
||||
#: src/Module/Contact.php:423
|
||||
msgid "Contact has been unignored"
|
||||
msgstr "У контакта отменено игнорирование"
|
||||
|
||||
#: src/Module/Contact.php:415
|
||||
#: src/Module/Contact.php:435
|
||||
msgid "Drop contact"
|
||||
msgstr "Удалить контакт"
|
||||
|
||||
#: src/Module/Contact.php:418 src/Module/Contact.php:843
|
||||
#: src/Module/Contact.php:438 src/Module/Contact.php:859
|
||||
msgid "Do you really want to delete this contact?"
|
||||
msgstr "Вы действительно хотите удалить этот контакт?"
|
||||
|
||||
#: src/Module/Contact.php:419 src/Module/Notifications/Introductions.php:123
|
||||
#: src/Module/OAuth/Acknowledge.php:47 src/Module/Register.php:115
|
||||
#: src/Module/Contact.php:439 src/Module/Notifications/Introductions.php:123
|
||||
#: src/Module/OAuth/Acknowledge.php:47 src/Module/Register.php:117
|
||||
msgid "Yes"
|
||||
msgstr "Да"
|
||||
|
||||
#: src/Module/Contact.php:431
|
||||
#: src/Module/Contact.php:452
|
||||
msgid "Contact has been removed."
|
||||
msgstr "Контакт удален."
|
||||
|
||||
#: src/Module/Contact.php:458
|
||||
#: src/Module/Contact.php:473
|
||||
#, php-format
|
||||
msgid "You are mutual friends with %s"
|
||||
msgstr "У Вас взаимная дружба с %s"
|
||||
|
||||
#: src/Module/Contact.php:462
|
||||
#: src/Module/Contact.php:477
|
||||
#, php-format
|
||||
msgid "You are sharing with %s"
|
||||
msgstr "Вы делитесь с %s"
|
||||
|
||||
#: src/Module/Contact.php:466
|
||||
#: src/Module/Contact.php:481
|
||||
#, php-format
|
||||
msgid "%s is sharing with you"
|
||||
msgstr "%s делится с Вами"
|
||||
|
||||
#: src/Module/Contact.php:490
|
||||
#: src/Module/Contact.php:505
|
||||
msgid "Private communications are not available for this contact."
|
||||
msgstr "Приватные коммуникации недоступны для этого контакта."
|
||||
|
||||
#: src/Module/Contact.php:492
|
||||
#: src/Module/Contact.php:507
|
||||
msgid "Never"
|
||||
msgstr "Никогда"
|
||||
|
||||
#: src/Module/Contact.php:495
|
||||
#: src/Module/Contact.php:510
|
||||
msgid "(Update was not successful)"
|
||||
msgstr "(Обновление не удалось)"
|
||||
|
||||
#: src/Module/Contact.php:495
|
||||
#: src/Module/Contact.php:510
|
||||
msgid "(Update was successful)"
|
||||
msgstr "(Обновление было успешно)"
|
||||
|
||||
#: src/Module/Contact.php:497 src/Module/Contact.php:1086
|
||||
#: src/Module/Contact.php:512 src/Module/Contact.php:1104
|
||||
msgid "Suggest friends"
|
||||
msgstr "Предложить друзей"
|
||||
|
||||
#: src/Module/Contact.php:501
|
||||
#: src/Module/Contact.php:516
|
||||
#, php-format
|
||||
msgid "Network type: %s"
|
||||
msgstr "Сеть: %s"
|
||||
|
||||
#: src/Module/Contact.php:506
|
||||
#: src/Module/Contact.php:521
|
||||
msgid "Communications lost with this contact!"
|
||||
msgstr "Связь с контактом утеряна!"
|
||||
|
||||
#: src/Module/Contact.php:512
|
||||
#: src/Module/Contact.php:527
|
||||
msgid "Fetch further information for feeds"
|
||||
msgstr "Получить подробную информацию о фидах"
|
||||
|
||||
#: src/Module/Contact.php:514
|
||||
#: src/Module/Contact.php:529
|
||||
msgid ""
|
||||
"Fetch information like preview pictures, title and teaser from the feed "
|
||||
"item. You can activate this if the feed doesn't contain much text. Keywords "
|
||||
"are taken from the meta header in the feed item and are posted as hash tags."
|
||||
msgstr "Извлекать картинки предпросмотра, заголовок и вступление из записи ленты. Вы можете включить эту опцию, если лента не содержит много текста. Ключевые слова берутся из метаданных записи и публикуются как теги."
|
||||
|
||||
#: src/Module/Contact.php:517
|
||||
#: src/Module/Contact.php:532
|
||||
msgid "Fetch information"
|
||||
msgstr "Получить информацию"
|
||||
|
||||
#: src/Module/Contact.php:518
|
||||
#: src/Module/Contact.php:533
|
||||
msgid "Fetch keywords"
|
||||
msgstr "Получить ключевые слова"
|
||||
|
||||
#: src/Module/Contact.php:519
|
||||
#: src/Module/Contact.php:534
|
||||
msgid "Fetch information and keywords"
|
||||
msgstr "Получить информацию и ключевые слова"
|
||||
|
||||
#: src/Module/Contact.php:531 src/Module/Contact.php:535
|
||||
#: src/Module/Contact.php:538 src/Module/Contact.php:542
|
||||
#: src/Module/Contact.php:546 src/Module/Contact.php:550
|
||||
#: src/Module/Contact.php:553 src/Module/Contact.php:557
|
||||
msgid "No mirroring"
|
||||
msgstr "Не зеркалировать"
|
||||
|
||||
#: src/Module/Contact.php:532
|
||||
#: src/Module/Contact.php:547
|
||||
msgid "Mirror as forwarded posting"
|
||||
msgstr "Зеркалировать как переадресованные сообщения"
|
||||
|
||||
#: src/Module/Contact.php:533 src/Module/Contact.php:539
|
||||
#: src/Module/Contact.php:543
|
||||
#: src/Module/Contact.php:548 src/Module/Contact.php:554
|
||||
#: src/Module/Contact.php:558
|
||||
msgid "Mirror as my own posting"
|
||||
msgstr "Зеркалировать как мои сообщения"
|
||||
|
||||
#: src/Module/Contact.php:536 src/Module/Contact.php:540
|
||||
#: src/Module/Contact.php:551 src/Module/Contact.php:555
|
||||
msgid "Native reshare"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Contact.php:555
|
||||
#: src/Module/Contact.php:570
|
||||
msgid "Contact Information / Notes"
|
||||
msgstr "Информация о контакте / Заметки"
|
||||
|
||||
#: src/Module/Contact.php:556
|
||||
#: src/Module/Contact.php:571
|
||||
msgid "Contact Settings"
|
||||
msgstr "Настройки контакта"
|
||||
|
||||
#: src/Module/Contact.php:564
|
||||
#: src/Module/Contact.php:579
|
||||
msgid "Contact"
|
||||
msgstr "Контакт"
|
||||
|
||||
#: src/Module/Contact.php:568
|
||||
#: src/Module/Contact.php:583
|
||||
msgid "Their personal note"
|
||||
msgstr "Персональная заметка"
|
||||
|
||||
#: src/Module/Contact.php:570
|
||||
#: src/Module/Contact.php:585
|
||||
msgid "Edit contact notes"
|
||||
msgstr "Редактировать заметки контакта"
|
||||
|
||||
#: src/Module/Contact.php:573 src/Module/Contact.php:1054
|
||||
#: src/Module/Contact.php:588 src/Module/Contact.php:1070
|
||||
#, php-format
|
||||
msgid "Visit %s's profile [%s]"
|
||||
msgstr "Посетить профиль %s [%s]"
|
||||
|
||||
#: src/Module/Contact.php:574
|
||||
#: src/Module/Contact.php:589
|
||||
msgid "Block/Unblock contact"
|
||||
msgstr "Блокировать / Разблокировать контакт"
|
||||
|
||||
#: src/Module/Contact.php:575
|
||||
#: src/Module/Contact.php:590
|
||||
msgid "Ignore contact"
|
||||
msgstr "Игнорировать контакт"
|
||||
|
||||
#: src/Module/Contact.php:576
|
||||
#: src/Module/Contact.php:591
|
||||
msgid "View conversations"
|
||||
msgstr "Просмотр бесед"
|
||||
|
||||
#: src/Module/Contact.php:581
|
||||
#: src/Module/Contact.php:596
|
||||
msgid "Last update:"
|
||||
msgstr "Последнее обновление: "
|
||||
|
||||
#: src/Module/Contact.php:583
|
||||
#: src/Module/Contact.php:598
|
||||
msgid "Update public posts"
|
||||
msgstr "Обновить публичные сообщения"
|
||||
|
||||
#: src/Module/Contact.php:585 src/Module/Contact.php:1096
|
||||
#: src/Module/Contact.php:600 src/Module/Contact.php:1114
|
||||
msgid "Update now"
|
||||
msgstr "Обновить сейчас"
|
||||
|
||||
#: src/Module/Contact.php:588 src/Module/Contact.php:848
|
||||
#: src/Module/Contact.php:1123
|
||||
#: src/Module/Contact.php:603 src/Module/Contact.php:864
|
||||
#: src/Module/Contact.php:1141
|
||||
msgid "Unignore"
|
||||
msgstr "Не игнорировать"
|
||||
|
||||
#: src/Module/Contact.php:592
|
||||
#: src/Module/Contact.php:607
|
||||
msgid "Currently blocked"
|
||||
msgstr "В настоящее время заблокирован"
|
||||
|
||||
#: src/Module/Contact.php:593
|
||||
#: src/Module/Contact.php:608
|
||||
msgid "Currently ignored"
|
||||
msgstr "В настоящее время игнорируется"
|
||||
|
||||
#: src/Module/Contact.php:594
|
||||
#: src/Module/Contact.php:609
|
||||
msgid "Currently archived"
|
||||
msgstr "В данный момент архивирован"
|
||||
|
||||
#: src/Module/Contact.php:595
|
||||
#: src/Module/Contact.php:610
|
||||
msgid "Awaiting connection acknowledge"
|
||||
msgstr "Ожидаем подтверждения соединения"
|
||||
|
||||
#: src/Module/Contact.php:596 src/Module/Notifications/Introductions.php:171
|
||||
#: src/Module/Contact.php:611 src/Module/Notifications/Introductions.php:171
|
||||
msgid "Hide this contact from others"
|
||||
msgstr "Скрыть этот контакт от других"
|
||||
|
||||
#: src/Module/Contact.php:596
|
||||
#: src/Module/Contact.php:611
|
||||
msgid ""
|
||||
"Replies/likes to your public posts <strong>may</strong> still be visible"
|
||||
msgstr "Ответы/лайки ваших публичных сообщений <strong>будут</strong> видимы."
|
||||
|
||||
#: src/Module/Contact.php:597
|
||||
#: src/Module/Contact.php:612
|
||||
msgid "Notification for new posts"
|
||||
msgstr "Уведомление о новых записях"
|
||||
|
||||
#: src/Module/Contact.php:597
|
||||
#: src/Module/Contact.php:612
|
||||
msgid "Send a notification of every new post of this contact"
|
||||
msgstr "Отправлять уведомление о каждом новой записи контакта"
|
||||
|
||||
#: src/Module/Contact.php:599
|
||||
#: src/Module/Contact.php:614
|
||||
msgid "Keyword Deny List"
|
||||
msgstr "Запретный список слов"
|
||||
|
||||
#: src/Module/Contact.php:599
|
||||
#: src/Module/Contact.php:614
|
||||
msgid ""
|
||||
"Comma separated list of keywords that should not be converted to hashtags, "
|
||||
"when \"Fetch information and keywords\" is selected"
|
||||
msgstr "Список слов через запятую, которые не должны конвертироваться в хэштеги, когда включено \"Получать информацию и хэштеги\""
|
||||
|
||||
#: src/Module/Contact.php:617 src/Module/Settings/TwoFactor/Index.php:132
|
||||
#: src/Module/Contact.php:632 src/Module/Settings/TwoFactor/Index.php:132
|
||||
msgid "Actions"
|
||||
msgstr "Действия"
|
||||
|
||||
#: src/Module/Contact.php:624
|
||||
#: src/Module/Contact.php:639
|
||||
msgid "Mirror postings from this contact"
|
||||
msgstr "Зекралировать сообщения от этого контакта"
|
||||
|
||||
#: src/Module/Contact.php:626
|
||||
#: src/Module/Contact.php:641
|
||||
msgid ""
|
||||
"Mark this contact as remote_self, this will cause friendica to repost new "
|
||||
"entries from this contact."
|
||||
msgstr "Пометить этот контакт как remote_self, что заставит Friendica отправлять сообщения от этого контакта."
|
||||
|
||||
#: src/Module/Contact.php:758
|
||||
#: src/Module/Contact.php:773
|
||||
msgid "Show all contacts"
|
||||
msgstr "Показать все контакты"
|
||||
|
||||
#: src/Module/Contact.php:766
|
||||
#: src/Module/Contact.php:781
|
||||
msgid "Only show pending contacts"
|
||||
msgstr "Показать только контакты \"в ожидании\""
|
||||
|
||||
#: src/Module/Contact.php:774
|
||||
#: src/Module/Contact.php:789
|
||||
msgid "Only show blocked contacts"
|
||||
msgstr "Показать только блокированные контакты"
|
||||
|
||||
#: src/Module/Contact.php:779 src/Module/Contact.php:826
|
||||
#: src/Object/Post.php:308
|
||||
#: src/Module/Contact.php:794 src/Module/Contact.php:841
|
||||
#: src/Object/Post.php:309
|
||||
msgid "Ignored"
|
||||
msgstr "Игнорируются"
|
||||
|
||||
#: src/Module/Contact.php:782
|
||||
#: src/Module/Contact.php:797
|
||||
msgid "Only show ignored contacts"
|
||||
msgstr "Показать только игнорируемые контакты"
|
||||
|
||||
#: src/Module/Contact.php:787 src/Module/Contact.php:827
|
||||
#: src/Module/Contact.php:802 src/Module/Contact.php:842
|
||||
msgid "Archived"
|
||||
msgstr "Архивированные"
|
||||
|
||||
#: src/Module/Contact.php:790
|
||||
#: src/Module/Contact.php:805
|
||||
msgid "Only show archived contacts"
|
||||
msgstr "Показывать только архивные контакты"
|
||||
|
||||
#: src/Module/Contact.php:795 src/Module/Contact.php:825
|
||||
#: src/Module/Contact.php:810 src/Module/Contact.php:840
|
||||
msgid "Hidden"
|
||||
msgstr "Скрытые"
|
||||
|
||||
#: src/Module/Contact.php:798
|
||||
#: src/Module/Contact.php:813
|
||||
msgid "Only show hidden contacts"
|
||||
msgstr "Показывать только скрытые контакты"
|
||||
|
||||
#: src/Module/Contact.php:806
|
||||
#: src/Module/Contact.php:821
|
||||
msgid "Organize your contact groups"
|
||||
msgstr "Настроить группы контактов"
|
||||
|
||||
#: src/Module/Contact.php:838
|
||||
#: src/Module/Contact.php:853
|
||||
msgid "Search your contacts"
|
||||
msgstr "Поиск ваших контактов"
|
||||
|
||||
#: src/Module/Contact.php:839 src/Module/Search/Index.php:194
|
||||
#: src/Module/Contact.php:854 src/Module/Search/Index.php:194
|
||||
#, php-format
|
||||
msgid "Results for: %s"
|
||||
msgstr "Результаты для: %s"
|
||||
|
||||
#: src/Module/Contact.php:846
|
||||
#: src/Module/Contact.php:862
|
||||
msgid "Update"
|
||||
msgstr "Обновление"
|
||||
|
||||
#: src/Module/Contact.php:851
|
||||
#: src/Module/Contact.php:867
|
||||
msgid "Batch Actions"
|
||||
msgstr "Пакетные действия"
|
||||
|
||||
#: src/Module/Contact.php:886
|
||||
#: src/Module/Contact.php:902
|
||||
msgid "Conversations started by this contact"
|
||||
msgstr "Диалоги этого контакта"
|
||||
|
||||
#: src/Module/Contact.php:891
|
||||
#: src/Module/Contact.php:907
|
||||
msgid "Posts and Comments"
|
||||
msgstr "Записи и комментарии"
|
||||
|
||||
#: src/Module/Contact.php:909
|
||||
#: src/Module/Contact.php:925
|
||||
msgid "View all known contacts"
|
||||
msgstr "Показать все известные контакты"
|
||||
|
||||
#: src/Module/Contact.php:919
|
||||
#: src/Module/Contact.php:935
|
||||
msgid "Advanced Contact Settings"
|
||||
msgstr "Дополнительные Настройки Контакта"
|
||||
|
||||
#: src/Module/Contact.php:1013
|
||||
#: src/Module/Contact.php:1029
|
||||
msgid "Mutual Friendship"
|
||||
msgstr "Взаимная дружба"
|
||||
|
||||
#: src/Module/Contact.php:1017
|
||||
#: src/Module/Contact.php:1033
|
||||
msgid "is a fan of yours"
|
||||
msgstr "является вашим поклонником"
|
||||
|
||||
#: src/Module/Contact.php:1021
|
||||
#: src/Module/Contact.php:1037
|
||||
msgid "you are a fan of"
|
||||
msgstr "Вы - поклонник"
|
||||
|
||||
#: src/Module/Contact.php:1039
|
||||
#: src/Module/Contact.php:1055
|
||||
msgid "Pending outgoing contact request"
|
||||
msgstr "Исходящий запрос на подписку"
|
||||
|
||||
#: src/Module/Contact.php:1041
|
||||
#: src/Module/Contact.php:1057
|
||||
msgid "Pending incoming contact request"
|
||||
msgstr "Входящий запрос на подписку"
|
||||
|
||||
#: src/Module/Contact.php:1106
|
||||
#: src/Module/Contact.php:1124
|
||||
msgid "Refetch contact data"
|
||||
msgstr "Обновить данные контакта"
|
||||
|
||||
#: src/Module/Contact.php:1117
|
||||
#: src/Module/Contact.php:1135
|
||||
msgid "Toggle Blocked status"
|
||||
msgstr "Изменить статус блокированности (заблокировать/разблокировать)"
|
||||
|
||||
#: src/Module/Contact.php:1125
|
||||
#: src/Module/Contact.php:1143
|
||||
msgid "Toggle Ignored status"
|
||||
msgstr "Изменить статус игнорирования"
|
||||
|
||||
#: src/Module/Contact.php:1134
|
||||
#: src/Module/Contact.php:1152
|
||||
msgid "Delete contact"
|
||||
msgstr "Удалить контакт"
|
||||
|
||||
|
|
@ -7869,7 +7869,7 @@ msgstr "Личные"
|
|||
msgid "Posts that mention or involve you"
|
||||
msgstr "Записи, которые упоминают вас или в которых вы участвуете"
|
||||
|
||||
#: src/Module/Conversation/Network.php:258 src/Object/Post.php:320
|
||||
#: src/Module/Conversation/Network.php:258 src/Object/Post.php:321
|
||||
msgid "Starred"
|
||||
msgstr "Избранное"
|
||||
|
||||
|
|
@ -8146,21 +8146,21 @@ msgstr ""
|
|||
msgid "Lookup address:"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Delegation.php:148
|
||||
#: src/Module/Delegation.php:142
|
||||
msgid "Switch between your accounts"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Delegation.php:149
|
||||
#: src/Module/Delegation.php:143
|
||||
msgid "Manage your accounts"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Delegation.php:150
|
||||
#: src/Module/Delegation.php:144
|
||||
msgid ""
|
||||
"Toggle between different identities or community/group pages which share "
|
||||
"your account details or which you have been granted \"manage\" permissions"
|
||||
msgstr "Переключайтесь между разными профилями или страницами сообществ/групп, которые зарегистрированы на одинаковые контактные данные, либо вам предоставлено право управления ими."
|
||||
|
||||
#: src/Module/Delegation.php:151
|
||||
#: src/Module/Delegation.php:145
|
||||
msgid "Select an identity to manage: "
|
||||
msgstr "Выберите учётную запись:"
|
||||
|
||||
|
|
@ -8694,7 +8694,7 @@ msgid "Claims to be known to you: "
|
|||
msgstr "Утверждения, о которых должно быть вам известно: "
|
||||
|
||||
#: src/Module/Notifications/Introductions.php:123
|
||||
#: src/Module/OAuth/Acknowledge.php:48 src/Module/Register.php:116
|
||||
#: src/Module/OAuth/Acknowledge.php:48 src/Module/Register.php:118
|
||||
msgid "No"
|
||||
msgstr "Нет"
|
||||
|
||||
|
|
@ -8906,143 +8906,143 @@ msgstr "Запланировано"
|
|||
|
||||
#: src/Module/Profile/Schedule.php:85
|
||||
msgid "Content"
|
||||
msgstr ""
|
||||
msgstr "Содержание"
|
||||
|
||||
#: src/Module/Profile/Schedule.php:86
|
||||
msgid "Remove post"
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Register.php:69
|
||||
#: src/Module/Register.php:71
|
||||
msgid "Only parent users can create additional accounts."
|
||||
msgstr "Только основные пользователи могут создавать дополнительные учётные записи."
|
||||
|
||||
#: src/Module/Register.php:101
|
||||
#: src/Module/Register.php:103
|
||||
msgid ""
|
||||
"You may (optionally) fill in this form via OpenID by supplying your OpenID "
|
||||
"and clicking \"Register\"."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Register.php:102
|
||||
#: src/Module/Register.php:104
|
||||
msgid ""
|
||||
"If you are not familiar with OpenID, please leave that field blank and fill "
|
||||
"in the rest of the items."
|
||||
msgstr "Если вы не знакомы с OpenID, пожалуйста, оставьте это поле пустым и заполните остальные элементы."
|
||||
|
||||
#: src/Module/Register.php:103
|
||||
#: src/Module/Register.php:105
|
||||
msgid "Your OpenID (optional): "
|
||||
msgstr "Ваш OpenID (необязательно):"
|
||||
|
||||
#: src/Module/Register.php:112
|
||||
#: src/Module/Register.php:114
|
||||
msgid "Include your profile in member directory?"
|
||||
msgstr "Включить ваш профиль в каталог участников?"
|
||||
|
||||
#: src/Module/Register.php:135
|
||||
#: src/Module/Register.php:137
|
||||
msgid "Note for the admin"
|
||||
msgstr "Сообщение для администратора"
|
||||
|
||||
#: src/Module/Register.php:135
|
||||
#: src/Module/Register.php:137
|
||||
msgid "Leave a message for the admin, why you want to join this node"
|
||||
msgstr "Сообщения для администратора сайта на тему \"почему я хочу присоединиться к вам\""
|
||||
|
||||
#: src/Module/Register.php:136
|
||||
#: src/Module/Register.php:138
|
||||
msgid "Membership on this site is by invitation only."
|
||||
msgstr "Членство на сайте только по приглашению."
|
||||
|
||||
#: src/Module/Register.php:137
|
||||
#: src/Module/Register.php:139
|
||||
msgid "Your invitation code: "
|
||||
msgstr "Ваш код приглашения:"
|
||||
|
||||
#: src/Module/Register.php:145
|
||||
#: src/Module/Register.php:147
|
||||
msgid "Your Full Name (e.g. Joe Smith, real or real-looking): "
|
||||
msgstr "Ваше полное имя (например, Иван Иванов):"
|
||||
|
||||
#: src/Module/Register.php:146
|
||||
#: src/Module/Register.php:148
|
||||
msgid ""
|
||||
"Your Email Address: (Initial information will be send there, so this has to "
|
||||
"be an existing address.)"
|
||||
msgstr "Ваш адрес электронной почты: (Информация для входа будет отправлена туда, это должен быть существующий адрес.)"
|
||||
|
||||
#: src/Module/Register.php:147
|
||||
#: src/Module/Register.php:149
|
||||
msgid "Please repeat your e-mail address:"
|
||||
msgstr "Пожалуйста, введите адрес электронной почты ещё раз:"
|
||||
|
||||
#: src/Module/Register.php:149
|
||||
#: src/Module/Register.php:151
|
||||
msgid "Leave empty for an auto generated password."
|
||||
msgstr "Оставьте пустым для автоматической генерации пароля."
|
||||
|
||||
#: src/Module/Register.php:151
|
||||
#: src/Module/Register.php:153
|
||||
#, php-format
|
||||
msgid ""
|
||||
"Choose a profile nickname. This must begin with a text character. Your "
|
||||
"profile address on this site will then be \"<strong>nickname@%s</strong>\"."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Register.php:152
|
||||
#: src/Module/Register.php:154
|
||||
msgid "Choose a nickname: "
|
||||
msgstr "Выберите псевдоним: "
|
||||
|
||||
#: src/Module/Register.php:161
|
||||
#: src/Module/Register.php:163
|
||||
msgid "Import your profile to this friendica instance"
|
||||
msgstr "Импорт своего профиля в этот экземпляр friendica"
|
||||
|
||||
#: src/Module/Register.php:168
|
||||
#: src/Module/Register.php:170
|
||||
msgid "Note: This node explicitly contains adult content"
|
||||
msgstr "Внимание: на этом сервере размещаются материалы для взрослых."
|
||||
|
||||
#: src/Module/Register.php:170 src/Module/Settings/Delegation.php:155
|
||||
#: src/Module/Register.php:172 src/Module/Settings/Delegation.php:155
|
||||
msgid "Parent Password:"
|
||||
msgstr "Родительский пароль:"
|
||||
|
||||
#: src/Module/Register.php:170 src/Module/Settings/Delegation.php:155
|
||||
#: src/Module/Register.php:172 src/Module/Settings/Delegation.php:155
|
||||
msgid ""
|
||||
"Please enter the password of the parent account to legitimize your request."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Register.php:199
|
||||
#: src/Module/Register.php:201
|
||||
msgid "Password doesn't match."
|
||||
msgstr "Пароль не совпадает"
|
||||
|
||||
#: src/Module/Register.php:205
|
||||
#: src/Module/Register.php:207
|
||||
msgid "Please enter your password."
|
||||
msgstr "Пожалуйста, введите ваш пароль."
|
||||
|
||||
#: src/Module/Register.php:247
|
||||
#: src/Module/Register.php:249
|
||||
msgid "You have entered too much information."
|
||||
msgstr "Вы ввели слишком много информации."
|
||||
|
||||
#: src/Module/Register.php:270
|
||||
#: src/Module/Register.php:272
|
||||
msgid "Please enter the identical mail address in the second field."
|
||||
msgstr "Пожалуйста, введите тот же самый адрес почты во второе поле."
|
||||
|
||||
#: src/Module/Register.php:297
|
||||
#: src/Module/Register.php:299
|
||||
msgid "The additional account was created."
|
||||
msgstr "Дополнительная учётная запись создана."
|
||||
|
||||
#: src/Module/Register.php:322
|
||||
#: src/Module/Register.php:324
|
||||
msgid ""
|
||||
"Registration successful. Please check your email for further instructions."
|
||||
msgstr "Регистрация успешна. Пожалуйста, проверьте свою электронную почту для получения дальнейших инструкций."
|
||||
|
||||
#: src/Module/Register.php:326
|
||||
#: src/Module/Register.php:328
|
||||
#, php-format
|
||||
msgid ""
|
||||
"Failed to send email message. Here your accout details:<br> login: %s<br> "
|
||||
"password: %s<br><br>You can change your password after login."
|
||||
msgstr "Ошибка отправки письма. Вот ваши учетные данные: <br> логин: %s<br> пароль: %s<br><br>Вы сможете изменить пароль после входа."
|
||||
|
||||
#: src/Module/Register.php:332
|
||||
#: src/Module/Register.php:334
|
||||
msgid "Registration successful."
|
||||
msgstr "Регистрация успешна."
|
||||
|
||||
#: src/Module/Register.php:337 src/Module/Register.php:344
|
||||
#: src/Module/Register.php:339 src/Module/Register.php:346
|
||||
msgid "Your registration can not be processed."
|
||||
msgstr "Ваша регистрация не может быть обработана."
|
||||
|
||||
#: src/Module/Register.php:343
|
||||
#: src/Module/Register.php:345
|
||||
msgid "You have to leave a request note for the admin."
|
||||
msgstr ""
|
||||
|
||||
#: src/Module/Register.php:389
|
||||
#: src/Module/Register.php:391
|
||||
msgid "Your registration is pending approval by the site owner."
|
||||
msgstr "Ваша регистрация в ожидании одобрения владельцем сайта."
|
||||
|
||||
|
|
@ -10249,186 +10249,186 @@ msgstr "Пожалуйста, свяжитесь с отправителем, о
|
|||
msgid "%s posted an update."
|
||||
msgstr "%s отправил/а/ обновление."
|
||||
|
||||
#: src/Object/Post.php:148
|
||||
#: src/Object/Post.php:149
|
||||
msgid "This entry was edited"
|
||||
msgstr "Эта запись была отредактирована"
|
||||
|
||||
#: src/Object/Post.php:176
|
||||
#: src/Object/Post.php:177
|
||||
msgid "Private Message"
|
||||
msgstr "Личное сообщение"
|
||||
|
||||
#: src/Object/Post.php:192 src/Object/Post.php:194
|
||||
#: src/Object/Post.php:193 src/Object/Post.php:195
|
||||
msgid "Edit"
|
||||
msgstr "Редактировать"
|
||||
|
||||
#: src/Object/Post.php:214
|
||||
#: src/Object/Post.php:215
|
||||
msgid "Pinned item"
|
||||
msgstr "Закреплённая запись"
|
||||
|
||||
#: src/Object/Post.php:218
|
||||
#: src/Object/Post.php:219
|
||||
msgid "Delete globally"
|
||||
msgstr "Удалить везде"
|
||||
|
||||
#: src/Object/Post.php:218
|
||||
#: src/Object/Post.php:219
|
||||
msgid "Remove locally"
|
||||
msgstr "Убрать для себя"
|
||||
|
||||
#: src/Object/Post.php:234
|
||||
#: src/Object/Post.php:235
|
||||
#, php-format
|
||||
msgid "Block %s"
|
||||
msgstr "Заблокировать %s"
|
||||
|
||||
#: src/Object/Post.php:239
|
||||
#: src/Object/Post.php:240
|
||||
msgid "Save to folder"
|
||||
msgstr "Сохранить в папку"
|
||||
|
||||
#: src/Object/Post.php:273
|
||||
#: src/Object/Post.php:274
|
||||
msgid "I will attend"
|
||||
msgstr "Я буду"
|
||||
|
||||
#: src/Object/Post.php:273
|
||||
#: src/Object/Post.php:274
|
||||
msgid "I will not attend"
|
||||
msgstr "Меня не будет"
|
||||
|
||||
#: src/Object/Post.php:273
|
||||
#: src/Object/Post.php:274
|
||||
msgid "I might attend"
|
||||
msgstr "Возможно"
|
||||
|
||||
#: src/Object/Post.php:303
|
||||
#: src/Object/Post.php:304
|
||||
msgid "Ignore thread"
|
||||
msgstr "Игнорировать обсуждение"
|
||||
|
||||
#: src/Object/Post.php:304
|
||||
#: src/Object/Post.php:305
|
||||
msgid "Unignore thread"
|
||||
msgstr "Не игнорировать обсуждение"
|
||||
|
||||
#: src/Object/Post.php:305
|
||||
#: src/Object/Post.php:306
|
||||
msgid "Toggle ignore status"
|
||||
msgstr "Переключить игнорирование"
|
||||
|
||||
#: src/Object/Post.php:315
|
||||
#: src/Object/Post.php:316
|
||||
msgid "Add star"
|
||||
msgstr "Добавить в Избранное"
|
||||
|
||||
#: src/Object/Post.php:316
|
||||
#: src/Object/Post.php:317
|
||||
msgid "Remove star"
|
||||
msgstr "Убрать из Избранного"
|
||||
|
||||
#: src/Object/Post.php:317
|
||||
#: src/Object/Post.php:318
|
||||
msgid "Toggle star status"
|
||||
msgstr "Добавить/убрать из Избранного"
|
||||
|
||||
#: src/Object/Post.php:328
|
||||
#: src/Object/Post.php:329
|
||||
msgid "Pin"
|
||||
msgstr "Закрепить"
|
||||
|
||||
#: src/Object/Post.php:329
|
||||
#: src/Object/Post.php:330
|
||||
msgid "Unpin"
|
||||
msgstr "Открепить"
|
||||
|
||||
#: src/Object/Post.php:330
|
||||
#: src/Object/Post.php:331
|
||||
msgid "Toggle pin status"
|
||||
msgstr "Закрепить/открепить"
|
||||
|
||||
#: src/Object/Post.php:333
|
||||
#: src/Object/Post.php:334
|
||||
msgid "Pinned"
|
||||
msgstr "Закреплено"
|
||||
|
||||
#: src/Object/Post.php:338
|
||||
#: src/Object/Post.php:339
|
||||
msgid "Add tag"
|
||||
msgstr "Добавить тег"
|
||||
|
||||
#: src/Object/Post.php:351
|
||||
#: src/Object/Post.php:352
|
||||
msgid "Quote share this"
|
||||
msgstr "Поделиться с комментарием"
|
||||
|
||||
#: src/Object/Post.php:351
|
||||
#: src/Object/Post.php:352
|
||||
msgid "Quote Share"
|
||||
msgstr "Цитировать"
|
||||
|
||||
#: src/Object/Post.php:354
|
||||
#: src/Object/Post.php:355
|
||||
msgid "Reshare this"
|
||||
msgstr "Поделиться этим с подписчиками"
|
||||
|
||||
#: src/Object/Post.php:354
|
||||
#: src/Object/Post.php:355
|
||||
msgid "Reshare"
|
||||
msgstr "Поделиться"
|
||||
|
||||
#: src/Object/Post.php:355
|
||||
#: src/Object/Post.php:356
|
||||
msgid "Cancel your Reshare"
|
||||
msgstr "Отменить репост"
|
||||
|
||||
#: src/Object/Post.php:355
|
||||
#: src/Object/Post.php:356
|
||||
msgid "Unshare"
|
||||
msgstr ""
|
||||
|
||||
#: src/Object/Post.php:400
|
||||
#: src/Object/Post.php:401
|
||||
#, php-format
|
||||
msgid "%s (Received %s)"
|
||||
msgstr "%s (Получено %s)"
|
||||
|
||||
#: src/Object/Post.php:405
|
||||
#: src/Object/Post.php:406
|
||||
msgid "Comment this item on your system"
|
||||
msgstr "Прокомментировать это на вашем узле"
|
||||
|
||||
#: src/Object/Post.php:405
|
||||
#: src/Object/Post.php:406
|
||||
msgid "Remote comment"
|
||||
msgstr ""
|
||||
|
||||
#: src/Object/Post.php:421
|
||||
#: src/Object/Post.php:422
|
||||
msgid "Pushed"
|
||||
msgstr ""
|
||||
|
||||
#: src/Object/Post.php:421
|
||||
#: src/Object/Post.php:422
|
||||
msgid "Pulled"
|
||||
msgstr ""
|
||||
|
||||
#: src/Object/Post.php:455
|
||||
#: src/Object/Post.php:456
|
||||
msgid "to"
|
||||
msgstr "к"
|
||||
|
||||
#: src/Object/Post.php:456
|
||||
#: src/Object/Post.php:457
|
||||
msgid "via"
|
||||
msgstr "через"
|
||||
|
||||
#: src/Object/Post.php:457
|
||||
#: src/Object/Post.php:458
|
||||
msgid "Wall-to-Wall"
|
||||
msgstr "Стена-на-Стену"
|
||||
|
||||
#: src/Object/Post.php:458
|
||||
#: src/Object/Post.php:459
|
||||
msgid "via Wall-To-Wall:"
|
||||
msgstr "через Стена-на-Стену:"
|
||||
|
||||
#: src/Object/Post.php:496
|
||||
#: src/Object/Post.php:497
|
||||
#, php-format
|
||||
msgid "Reply to %s"
|
||||
msgstr "Ответ %s"
|
||||
|
||||
#: src/Object/Post.php:499
|
||||
#: src/Object/Post.php:500
|
||||
msgid "More"
|
||||
msgstr "Ещё"
|
||||
|
||||
#: src/Object/Post.php:517
|
||||
#: src/Object/Post.php:518
|
||||
msgid "Notifier task is pending"
|
||||
msgstr "Постановка в очередь"
|
||||
|
||||
#: src/Object/Post.php:518
|
||||
#: src/Object/Post.php:519
|
||||
msgid "Delivery to remote servers is pending"
|
||||
msgstr "Ожидается отправка адресатам"
|
||||
|
||||
#: src/Object/Post.php:519
|
||||
#: src/Object/Post.php:520
|
||||
msgid "Delivery to remote servers is underway"
|
||||
msgstr "Отправка адресатам в процессе"
|
||||
|
||||
#: src/Object/Post.php:520
|
||||
#: src/Object/Post.php:521
|
||||
msgid "Delivery to remote servers is mostly done"
|
||||
msgstr "Отправка адресатам почти завершилась"
|
||||
|
||||
#: src/Object/Post.php:521
|
||||
#: src/Object/Post.php:522
|
||||
msgid "Delivery to remote servers is done"
|
||||
msgstr "Отправка адресатам завершена"
|
||||
|
||||
#: src/Object/Post.php:541
|
||||
#: src/Object/Post.php:542
|
||||
#, php-format
|
||||
msgid "%d comment"
|
||||
msgid_plural "%d comments"
|
||||
|
|
@ -10437,11 +10437,11 @@ msgstr[1] "%d комментариев"
|
|||
msgstr[2] "%d комментариев"
|
||||
msgstr[3] "%d комментариев"
|
||||
|
||||
#: src/Object/Post.php:542
|
||||
#: src/Object/Post.php:543
|
||||
msgid "Show more"
|
||||
msgstr "Показать больше"
|
||||
|
||||
#: src/Object/Post.php:543
|
||||
#: src/Object/Post.php:544
|
||||
msgid "Show fewer"
|
||||
msgstr "Показать меньше"
|
||||
|
||||
|
|
|
|||
|
|
@ -20,95 +20,6 @@ $a->strings["Weekly posting limit of %d post reached. The post was rejected."] =
|
|||
];
|
||||
$a->strings["Monthly posting limit of %d post reached. The post was rejected."] = "Месячный лимит в %d записей достигнут. Запись была отклонена.";
|
||||
$a->strings["Profile Photos"] = "Фотографии профиля";
|
||||
$a->strings["%1\$s poked %2\$s"] = "%1\$s ткнул %2\$s";
|
||||
$a->strings["event"] = "мероприятие";
|
||||
$a->strings["status"] = "статус";
|
||||
$a->strings["photo"] = "фото";
|
||||
$a->strings["%1\$s tagged %2\$s's %3\$s with %4\$s"] = "%1\$s tagged %2\$s's %3\$s в %4\$s";
|
||||
$a->strings["Select"] = "Выберите";
|
||||
$a->strings["Delete"] = "Удалить";
|
||||
$a->strings["View %s's profile @ %s"] = "Просмотреть профиль %s [@ %s]";
|
||||
$a->strings["Categories:"] = "Категории:";
|
||||
$a->strings["Filed under:"] = "В рубрике:";
|
||||
$a->strings["%s from %s"] = "%s из %s";
|
||||
$a->strings["View in context"] = "Смотреть в контексте";
|
||||
$a->strings["Please wait"] = "Пожалуйста, подождите";
|
||||
$a->strings["remove"] = "удалить";
|
||||
$a->strings["Delete Selected Items"] = "Удалить выбранные позиции";
|
||||
$a->strings["You had been addressed (%s)."] = "К вам обратились (%s).";
|
||||
$a->strings["You are following %s."] = "Вы подписаны на %s.";
|
||||
$a->strings["Tagged"] = "Отмечено";
|
||||
$a->strings["%s reshared this."] = "%s поделился этим.";
|
||||
$a->strings["Reshared"] = "Репост";
|
||||
$a->strings["%s is participating in this thread."] = "%s участвует в этом обсуждении";
|
||||
$a->strings["Relayed"] = "Ретранслировано";
|
||||
$a->strings["Fetched"] = "Загружено";
|
||||
$a->strings["Follow Thread"] = "Подписаться на обсуждение";
|
||||
$a->strings["View Status"] = "Просмотреть статус";
|
||||
$a->strings["View Profile"] = "Просмотреть профиль";
|
||||
$a->strings["View Photos"] = "Просмотреть фото";
|
||||
$a->strings["Network Posts"] = "Записи сети";
|
||||
$a->strings["View Contact"] = "Просмотреть контакт";
|
||||
$a->strings["Send PM"] = "Отправить ЛС";
|
||||
$a->strings["Block"] = "Заблокировать";
|
||||
$a->strings["Ignore"] = "Игнорировать";
|
||||
$a->strings["Languages"] = "Языки";
|
||||
$a->strings["Poke"] = "потыкать";
|
||||
$a->strings["Connect/Follow"] = "Подключиться/Подписаться";
|
||||
$a->strings["%s likes this."] = "%s нравится это.";
|
||||
$a->strings["%s doesn't like this."] = "%s не нравится это.";
|
||||
$a->strings["%s attends."] = "%s посещает.";
|
||||
$a->strings["%s doesn't attend."] = "%s не посетит.";
|
||||
$a->strings["%s attends maybe."] = "%s может быть посетит.";
|
||||
$a->strings["and"] = "и";
|
||||
$a->strings["and %d other people"] = "и еще %d человек";
|
||||
$a->strings["<span %1\$s>%2\$d people</span> like this"] = "<span %1\$s>%2\$d людям</span> нравится это";
|
||||
$a->strings["%s like this."] = "%s нравится это.";
|
||||
$a->strings["<span %1\$s>%2\$d people</span> don't like this"] = "<span %1\$s>%2\$d людям</span> не нравится это";
|
||||
$a->strings["%s don't like this."] = "%s не нравится это";
|
||||
$a->strings["<span %1\$s>%2\$d people</span> attend"] = "<span %1\$s>%2\$d человека</span> посетят";
|
||||
$a->strings["%s attend."] = "%s посетит.";
|
||||
$a->strings["<span %1\$s>%2\$d people</span> don't attend"] = "<span %1\$s>%2\$d человек</span> не посетит";
|
||||
$a->strings["%s don't attend."] = "%s не посетит";
|
||||
$a->strings["<span %1\$s>%2\$d people</span> attend maybe"] = "<span %1\$s>%2\$d человек</span> может быть посетят";
|
||||
$a->strings["%s attend maybe."] = "%s может быть посетит.";
|
||||
$a->strings["<span %1\$s>%2\$d people</span> reshared this"] = "<span %1\$s>%2\$d людей</span> поделились этим";
|
||||
$a->strings["Visible to <strong>everybody</strong>"] = "Видимое <strong>всем</strong>";
|
||||
$a->strings["Please enter a image/video/audio/webpage URL:"] = "Пожалуйста, введите адрес картинки/видео/аудио/странички:";
|
||||
$a->strings["Tag term:"] = "Тег:";
|
||||
$a->strings["Save to Folder:"] = "Сохранить в папку:";
|
||||
$a->strings["Where are you right now?"] = "И где вы сейчас?";
|
||||
$a->strings["Delete item(s)?"] = "Удалить елемент(ты)?";
|
||||
$a->strings["New Post"] = "Новая запись";
|
||||
$a->strings["Share"] = "Поделиться";
|
||||
$a->strings["Loading..."] = "Загрузка...";
|
||||
$a->strings["Upload photo"] = "Загрузить фото";
|
||||
$a->strings["upload photo"] = "загрузить фото";
|
||||
$a->strings["Attach file"] = "Прикрепить файл";
|
||||
$a->strings["attach file"] = "приложить файл";
|
||||
$a->strings["Bold"] = "Жирный";
|
||||
$a->strings["Italic"] = "Kурсивный";
|
||||
$a->strings["Underline"] = "Подчеркнутый";
|
||||
$a->strings["Quote"] = "Цитата";
|
||||
$a->strings["Code"] = "Код";
|
||||
$a->strings["Image"] = "Изображение / Фото";
|
||||
$a->strings["Link"] = "Ссылка";
|
||||
$a->strings["Link or Media"] = "Ссылка или медиа";
|
||||
$a->strings["Set your location"] = "Задать ваше местоположение";
|
||||
$a->strings["set location"] = "установить местонахождение";
|
||||
$a->strings["Clear browser location"] = "Очистить местонахождение браузера";
|
||||
$a->strings["clear location"] = "убрать местонахождение";
|
||||
$a->strings["Set title"] = "Установить заголовок";
|
||||
$a->strings["Categories (comma-separated list)"] = "Категории (список через запятую)";
|
||||
$a->strings["Scheduled at"] = "Запланировано на";
|
||||
$a->strings["Permission settings"] = "Настройки разрешений";
|
||||
$a->strings["Permissions"] = "Разрешения";
|
||||
$a->strings["Public post"] = "Публичное сообщение";
|
||||
$a->strings["Preview"] = "Просмотр";
|
||||
$a->strings["Cancel"] = "Отмена";
|
||||
$a->strings["Message"] = "Сообщение";
|
||||
$a->strings["Browser"] = "Браузер";
|
||||
$a->strings["Open Compose page"] = "Развернуть редактор";
|
||||
$a->strings["[Friendica:Notify]"] = "[Friendica]";
|
||||
$a->strings["%s New mail received at %s"] = "%s Новая почта получена в %s";
|
||||
$a->strings["%1\$s sent you a new private message at %2\$s."] = "%1\$s отправил вам новое личное сообщение на %2\$s.";
|
||||
|
|
@ -181,14 +92,34 @@ $a->strings["The feed for this item is unavailable."] = "Лента недост
|
|||
$a->strings["Item not found"] = "Элемент не найден";
|
||||
$a->strings["Edit post"] = "Редактировать запись";
|
||||
$a->strings["Save"] = "Сохранить";
|
||||
$a->strings["Loading..."] = "Загрузка...";
|
||||
$a->strings["Upload photo"] = "Загрузить фото";
|
||||
$a->strings["upload photo"] = "загрузить фото";
|
||||
$a->strings["Attach file"] = "Прикрепить файл";
|
||||
$a->strings["attach file"] = "приложить файл";
|
||||
$a->strings["Insert web link"] = "Вставить веб-ссылку";
|
||||
$a->strings["web link"] = "веб-ссылка";
|
||||
$a->strings["Insert video link"] = "Вставить ссылку видео";
|
||||
$a->strings["video link"] = "видео-ссылка";
|
||||
$a->strings["Insert audio link"] = "Вставить ссылку аудио";
|
||||
$a->strings["audio link"] = "аудио-ссылка";
|
||||
$a->strings["Set your location"] = "Задать ваше местоположение";
|
||||
$a->strings["set location"] = "установить местонахождение";
|
||||
$a->strings["Clear browser location"] = "Очистить местонахождение браузера";
|
||||
$a->strings["clear location"] = "убрать местонахождение";
|
||||
$a->strings["Please wait"] = "Пожалуйста, подождите";
|
||||
$a->strings["Permission settings"] = "Настройки разрешений";
|
||||
$a->strings["CC: email addresses"] = "Копии на email адреса";
|
||||
$a->strings["Public post"] = "Публичное сообщение";
|
||||
$a->strings["Set title"] = "Установить заголовок";
|
||||
$a->strings["Categories (comma-separated list)"] = "Категории (список через запятую)";
|
||||
$a->strings["Example: bob@example.com, mary@example.com"] = "Пример: bob@example.com, mary@example.com";
|
||||
$a->strings["Preview"] = "Просмотр";
|
||||
$a->strings["Cancel"] = "Отмена";
|
||||
$a->strings["Message"] = "Сообщение";
|
||||
$a->strings["Browser"] = "Браузер";
|
||||
$a->strings["Permissions"] = "Разрешения";
|
||||
$a->strings["Open Compose page"] = "Развернуть редактор";
|
||||
$a->strings["Event can not end before it has started."] = "Эвент не может закончится до старта.";
|
||||
$a->strings["Event title and start time are required."] = "Название мероприятия и время начала обязательны для заполнения.";
|
||||
$a->strings["Create New Event"] = "Создать новое мероприятие";
|
||||
|
|
@ -215,6 +146,7 @@ $a->strings["You already added this contact."] = "Вы уже добавили
|
|||
$a->strings["The network type couldn't be detected. Contact can't be added."] = "Тип сети не может быть определен. Контакт не может быть добавлен.";
|
||||
$a->strings["Diaspora support isn't enabled. Contact can't be added."] = "Поддержка Diaspora не включена. Контакт не может быть добавлен.";
|
||||
$a->strings["OStatus support is disabled. Contact can't be added."] = "Поддержка OStatus выключена. Контакт не может быть добавлен.";
|
||||
$a->strings["Connect/Follow"] = "Подключиться/Подписаться";
|
||||
$a->strings["Please answer the following:"] = "Пожалуйста, ответьте следующее:";
|
||||
$a->strings["Your Identity Address:"] = "Ваш адрес:";
|
||||
$a->strings["Profile URL"] = "URL профиля";
|
||||
|
|
@ -346,6 +278,8 @@ $a->strings["Rotate CW (right)"] = "Поворот по часовой стре
|
|||
$a->strings["Rotate CCW (left)"] = "Поворот против часовой стрелки (налево)";
|
||||
$a->strings["This is you"] = "Это вы";
|
||||
$a->strings["Comment"] = "Комментировать";
|
||||
$a->strings["Select"] = "Выберите";
|
||||
$a->strings["Delete"] = "Удалить";
|
||||
$a->strings["I like this (toggle)"] = "Нравится";
|
||||
$a->strings["I don't like this (toggle)"] = "Не нравится";
|
||||
$a->strings["Map"] = "Карта";
|
||||
|
|
@ -403,6 +337,8 @@ $a->strings["Social Networks"] = "Социальные сети";
|
|||
$a->strings["General Social Media Settings"] = "Общие настройки социальных медиа";
|
||||
$a->strings["Accept only top level posts by contacts you follow"] = "Получать начальные записи только от ваших контактов";
|
||||
$a->strings["The system does an auto completion of threads when a comment arrives. This has got the side effect that you can receive posts that had been started by a non-follower but had been commented by someone you follow. This setting deactivates this behaviour. When activated, you strictly only will receive posts from people you really do follow."] = "Система автоматически загружает диалоги, когда получает комментарии. Это может приводить к тому, что вы можете видеть записи от людей, на которых вы не подписаны, потому что их прокомментировал кто-то из ваших контактов. Эта настройка отключает такое поведение и вы будете видеть только записи тех людей, на которых подписаны.";
|
||||
$a->strings["Enable Content Warning"] = "Включить предупреждение о контенте";
|
||||
$a->strings["Users on networks like Mastodon or Pleroma are able to set a content warning field which collapse their post by default. This enables the automatic collapsing instead of setting the content warning as the post title. Doesn't affect any other content filtering you eventually set up."] = "Пользователи некоторых сетей, таких как Mastodon или Pleroma, могут использовать \"предупреждение о контенте\", сворачивающее их записи. Эта настройка выключает это свёртывание вместо обычного помещения \"предупреждения о контенте\" в заголовок записи. Это не влияет на другие фильтры, которые вы можете настроить.";
|
||||
$a->strings["Attach the link title"] = "Присоединять заголовок ссылок";
|
||||
$a->strings["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."] = "Если включено. заголовок добавленной ссылки будет добавлен к записи в Диаспоре как заголовок. Это в основном нужно для контактов \"мой двойник\", которые публикуют содержимое ленты.";
|
||||
$a->strings["Repair OStatus subscriptions"] = "Починить подписки OStatus";
|
||||
|
|
@ -529,6 +465,9 @@ $a->strings["If you have moved this profile from another server, and some of you
|
|||
$a->strings["Resend relocate message to contacts"] = "Отправить перемещённые сообщения контактам";
|
||||
$a->strings["No suggestions available. If this is a new site, please try again in 24 hours."] = "Нет предложений. Если это новый сайт, пожалуйста, попробуйте снова через 24 часа.";
|
||||
$a->strings["Friend Suggestions"] = "Предложения друзей";
|
||||
$a->strings["photo"] = "фото";
|
||||
$a->strings["status"] = "статус";
|
||||
$a->strings["%1\$s tagged %2\$s's %3\$s with %4\$s"] = "%1\$s tagged %2\$s's %3\$s в %4\$s";
|
||||
$a->strings["Remove Item Tag"] = "Удалить ключевое слово";
|
||||
$a->strings["Select a tag to remove: "] = "Выберите ключевое слово для удаления: ";
|
||||
$a->strings["Remove"] = "Удалить";
|
||||
|
|
@ -614,6 +553,56 @@ $a->strings["GNU Social Connector"] = "GNU Social Connector";
|
|||
$a->strings["ActivityPub"] = "ActivityPub";
|
||||
$a->strings["pnut"] = "pnut";
|
||||
$a->strings["%s (via %s)"] = "%s (через %s)";
|
||||
$a->strings["%s likes this."] = "%s нравится это.";
|
||||
$a->strings["%s doesn't like this."] = "%s не нравится это.";
|
||||
$a->strings["%s attends."] = "%s посещает.";
|
||||
$a->strings["%s doesn't attend."] = "%s не посетит.";
|
||||
$a->strings["%s attends maybe."] = "%s может быть посетит.";
|
||||
$a->strings["%s reshared this."] = "%s поделился этим.";
|
||||
$a->strings["and"] = "и";
|
||||
$a->strings["and %d other people"] = "и еще %d человек";
|
||||
$a->strings["<span %1\$s>%2\$d people</span> like this"] = "<span %1\$s>%2\$d людям</span> нравится это";
|
||||
$a->strings["%s like this."] = "%s нравится это.";
|
||||
$a->strings["<span %1\$s>%2\$d people</span> don't like this"] = "<span %1\$s>%2\$d людям</span> не нравится это";
|
||||
$a->strings["%s don't like this."] = "%s не нравится это";
|
||||
$a->strings["<span %1\$s>%2\$d people</span> attend"] = "<span %1\$s>%2\$d человека</span> посетят";
|
||||
$a->strings["%s attend."] = "%s посетит.";
|
||||
$a->strings["<span %1\$s>%2\$d people</span> don't attend"] = "<span %1\$s>%2\$d человек</span> не посетит";
|
||||
$a->strings["%s don't attend."] = "%s не посетит";
|
||||
$a->strings["<span %1\$s>%2\$d people</span> attend maybe"] = "<span %1\$s>%2\$d человек</span> может быть посетят";
|
||||
$a->strings["%s attend maybe."] = "%s может быть посетит.";
|
||||
$a->strings["<span %1\$s>%2\$d people</span> reshared this"] = "<span %1\$s>%2\$d людей</span> поделились этим";
|
||||
$a->strings["Visible to <strong>everybody</strong>"] = "Видимое <strong>всем</strong>";
|
||||
$a->strings["Please enter a image/video/audio/webpage URL:"] = "Пожалуйста, введите адрес картинки/видео/аудио/странички:";
|
||||
$a->strings["Tag term:"] = "Тег:";
|
||||
$a->strings["Save to Folder:"] = "Сохранить в папку:";
|
||||
$a->strings["Where are you right now?"] = "И где вы сейчас?";
|
||||
$a->strings["Delete item(s)?"] = "Удалить елемент(ты)?";
|
||||
$a->strings["New Post"] = "Новая запись";
|
||||
$a->strings["Share"] = "Поделиться";
|
||||
$a->strings["Bold"] = "Жирный";
|
||||
$a->strings["Italic"] = "Kурсивный";
|
||||
$a->strings["Underline"] = "Подчеркнутый";
|
||||
$a->strings["Quote"] = "Цитата";
|
||||
$a->strings["Code"] = "Код";
|
||||
$a->strings["Image"] = "Изображение / Фото";
|
||||
$a->strings["Link"] = "Ссылка";
|
||||
$a->strings["Link or Media"] = "Ссылка или медиа";
|
||||
$a->strings["Scheduled at"] = "Запланировано на";
|
||||
$a->strings["View %s's profile @ %s"] = "Просмотреть профиль %s [@ %s]";
|
||||
$a->strings["Categories:"] = "Категории:";
|
||||
$a->strings["Filed under:"] = "В рубрике:";
|
||||
$a->strings["%s from %s"] = "%s из %s";
|
||||
$a->strings["View in context"] = "Смотреть в контексте";
|
||||
$a->strings["remove"] = "удалить";
|
||||
$a->strings["Delete Selected Items"] = "Удалить выбранные позиции";
|
||||
$a->strings["You had been addressed (%s)."] = "К вам обратились (%s).";
|
||||
$a->strings["You are following %s."] = "Вы подписаны на %s.";
|
||||
$a->strings["Tagged"] = "Отмечено";
|
||||
$a->strings["Reshared"] = "Репост";
|
||||
$a->strings["%s is participating in this thread."] = "%s участвует в этом обсуждении";
|
||||
$a->strings["Relayed"] = "Ретранслировано";
|
||||
$a->strings["Fetched"] = "Загружено";
|
||||
$a->strings["General Features"] = "Основные возможности";
|
||||
$a->strings["Photo Location"] = "Место фотографирования";
|
||||
$a->strings["Photo metadata is normally stripped. This extracts the location (if present) prior to stripping metadata and links it to a map."] = "Метаданные фотографий обычно вырезаются. Эта настройка получает местоположение (если есть) до вырезки метаданных и связывает с координатами на карте.";
|
||||
|
|
@ -637,6 +626,19 @@ $a->strings["Display membership date in profile"] = "Дата вашей рег
|
|||
$a->strings["Forums"] = "Форумы";
|
||||
$a->strings["External link to forum"] = "Внешняя ссылка на форум";
|
||||
$a->strings["show more"] = "показать больше";
|
||||
$a->strings["%1\$s poked %2\$s"] = "%1\$s ткнул %2\$s";
|
||||
$a->strings["event"] = "мероприятие";
|
||||
$a->strings["Follow Thread"] = "Подписаться на обсуждение";
|
||||
$a->strings["View Status"] = "Просмотреть статус";
|
||||
$a->strings["View Profile"] = "Просмотреть профиль";
|
||||
$a->strings["View Photos"] = "Просмотреть фото";
|
||||
$a->strings["Network Posts"] = "Записи сети";
|
||||
$a->strings["View Contact"] = "Просмотреть контакт";
|
||||
$a->strings["Send PM"] = "Отправить ЛС";
|
||||
$a->strings["Block"] = "Заблокировать";
|
||||
$a->strings["Ignore"] = "Игнорировать";
|
||||
$a->strings["Languages"] = "Языки";
|
||||
$a->strings["Poke"] = "потыкать";
|
||||
$a->strings["Nothing new here"] = "Ничего нового здесь";
|
||||
$a->strings["Go back"] = "Назад";
|
||||
$a->strings["Clear notifications"] = "Стереть уведомления";
|
||||
|
|
@ -977,6 +979,7 @@ $a->strings["bytes"] = "байт";
|
|||
$a->strings["View on separate page"] = "Посмотреть в отдельной вкладке";
|
||||
$a->strings["[no subject]"] = "[без темы]";
|
||||
$a->strings["%1\$s had started following you"] = "%1\$s подписались на вас";
|
||||
$a->strings["%1\$s replied to you on %2\$s"] = "%1\$s ответил(а) вам на %2\$s";
|
||||
$a->strings["%1\$s commented in your thread %2\$s"] = "%1\$s ответил в вашем обсуждении %2\$s";
|
||||
$a->strings["%1\$s commented in their thread %2\$s"] = "%1\$s ответил в своём обсуждении %2\$s";
|
||||
$a->strings["%1\$s commented in their thread"] = "%1\$s ответил в своём обсуждении";
|
||||
|
|
@ -1779,6 +1782,7 @@ $a->strings["%s's timeline"] = "Лента %s";
|
|||
$a->strings["%s's posts"] = "Записи %s";
|
||||
$a->strings["%s's comments"] = "Комментарии %s";
|
||||
$a->strings["Scheduled"] = "Запланировано";
|
||||
$a->strings["Content"] = "Содержание";
|
||||
$a->strings["Only parent users can create additional accounts."] = "Только основные пользователи могут создавать дополнительные учётные записи.";
|
||||
$a->strings["If you are not familiar with OpenID, please leave that field blank and fill in the rest of the items."] = "Если вы не знакомы с OpenID, пожалуйста, оставьте это поле пустым и заполните остальные элементы.";
|
||||
$a->strings["Your OpenID (optional): "] = "Ваш OpenID (необязательно):";
|
||||
|
|
|
|||
|
|
@ -9,16 +9,16 @@
|
|||
{{else}}
|
||||
<form>
|
||||
<p>
|
||||
<input type="search" name="q" value="{{$q}}" placeholder="search"></input>
|
||||
<input type="Submit" value="search">
|
||||
<a href="/admin/logs/view">clear</a>
|
||||
<input type="search" name="q" value="{{$q}}" placeholder="{{$l10n.Search}}"></input>
|
||||
<input type="submit" value="{{$l10n.Search}}">
|
||||
<a href="/admin/logs/view">{{$l10n.Show_all}}</a>
|
||||
</p>
|
||||
|
||||
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Date</th>
|
||||
<th>{{$l10n.Date}}</th>
|
||||
<th>
|
||||
<select name="level" onchange="this.form.submit()">
|
||||
{{foreach $filtersvalues.level as $v }}
|
||||
|
|
@ -39,22 +39,22 @@
|
|||
{{/foreach}}
|
||||
</select>
|
||||
</th>
|
||||
<th>Message</th>
|
||||
<th>{{$l10n.Message}}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{{foreach $data as $row}}
|
||||
<tr id="ev-{{$row->id}}" class="log-event"
|
||||
role="button" tabIndex="0"
|
||||
aria-label="View details" aria-haspopup="true" aria-expanded="false"
|
||||
aria-label="{{$l10n.View_details}}" aria-haspopup="true" aria-expanded="false"
|
||||
style="cursor:pointer;"
|
||||
title="Click to view details">
|
||||
title="{{$l10n.Click_to_view_details}}">
|
||||
<td>{{$row->date}}</td>
|
||||
<td>{{$row->level}}</td>
|
||||
<td>{{$row->context}}</td>
|
||||
<td>{{$row->message}}</td>
|
||||
</tr>
|
||||
<tr class="hidden" data-id="ev-{{$row->id}}"><th colspan="4">Data</th></tr>
|
||||
<tr class="hidden" data-id="ev-{{$row->id}}"><th colspan="4">{{$l10n.Event_details}}</th></tr>
|
||||
{{foreach $row->getData() as $k=>$v}}
|
||||
<tr class="hidden" data-id="ev-{{$row->id}}">
|
||||
<th>{{$k}}</th>
|
||||
|
|
@ -63,7 +63,7 @@
|
|||
</td>
|
||||
</tr>
|
||||
{{/foreach}}
|
||||
<tr class="hidden" data-id="ev-{{$row->id}}"><th colspan="4">Source</th></tr>
|
||||
<tr class="hidden" data-id="ev-{{$row->id}}"><th colspan="4">{{$l10n.Source}}</th></tr>
|
||||
{{foreach $row->getSource() as $k=>$v}}
|
||||
<tr class="hidden" data-id="ev-{{$row->id}}">
|
||||
<th>{{$k}}</th>
|
||||
|
|
|
|||
|
|
@ -152,7 +152,7 @@
|
|||
<form action="{{$baseurl}}/admin/site" method="post">
|
||||
<input type='hidden' name='form_security_token' value='{{$form_security_token}}'>
|
||||
<h2>{{$relocate}}</h2>
|
||||
<p>{{$relocate_warning}}</p>
|
||||
<p>{{$relocate_warning nofilter}}</p>
|
||||
{{include file="field_input.tpl" field=$relocate_url}}
|
||||
<input type="hidden" name="page_site" value="{{$submit}}">
|
||||
<div class="submit"><input type="submit" name="relocate" value="{{$relocate_button}}"/></div>
|
||||
|
|
|
|||
|
|
@ -8,33 +8,33 @@
|
|||
</div>
|
||||
{{else}}
|
||||
<form method="get" class="row">
|
||||
<div class="col-xs-10">
|
||||
<div class="col-xs-8">
|
||||
<div class="form-group form-group-search">
|
||||
<input accesskey="s" id="nav-search-input-field" class="form-control form-search"
|
||||
type="text" name="q" data-toggle="tooltip" title="Search in logs"
|
||||
placeholder="Search" value="{{$q}}">
|
||||
type="text" name="q" data-toggle="tooltip" title="{{$l10n.Search_in_logs}}"
|
||||
placeholder="{{$l10n.Search}}" value="{{$q}}">
|
||||
<button class="btn btn-default btn-sm form-button-search"
|
||||
type="submit">Search</button>
|
||||
type="submit">{{$l10n.Search}}</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="xol-xs-2">
|
||||
<a href="/admin/logs/view" class="btn btn-default">Show all</a>
|
||||
<div class="xol-xs-4">
|
||||
<a href="/admin/logs/view" class="btn btn-default">{{$l10n.Show_all}}</a>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<table class="table table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Date</th>
|
||||
<th>{{$l10n.Date}}</th>
|
||||
<th class="dropdown">
|
||||
<a class="dropdown-toggle text-nowrap" type="button" id="level" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
||||
Level {{if $filters.level}}({{$filters.level}}){{/if}}<span class="caret"></span>
|
||||
{{$l10n.Level}} {{if $filters.level}}({{$filters.level}}){{/if}}<span class="caret"></span>
|
||||
</a>
|
||||
<ul class="dropdown-menu" aria-labelledby="level">
|
||||
{{foreach $filtersvalues.level as $v }}
|
||||
<li {{if $filters.level == $v}}class="active"{{/if}}>
|
||||
<a href="/admin/logs/view?level={{$v}}" data-filter="level" data-filter-value="{{$v}}">
|
||||
{{if $v == ""}}ALL{{/if}}{{$v}}
|
||||
{{if $v == ""}}{{$l10n.ALL}}{{/if}}{{$v}}
|
||||
</a>
|
||||
</li>
|
||||
{{/foreach}}
|
||||
|
|
@ -42,26 +42,26 @@
|
|||
</th>
|
||||
<th class="dropdown">
|
||||
<a class="dropdown-toggle text-nowrap" type="button" id="context" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
||||
Context {{if $filters.context}}({{$filters.context}}){{/if}}<span class="caret"></span>
|
||||
{{$l10n.Context}} {{if $filters.context}}({{$filters.context}}){{/if}}<span class="caret"></span>
|
||||
</a>
|
||||
<ul class="dropdown-menu" aria-labelledby="context">
|
||||
{{foreach $filtersvalues.context as $v }}
|
||||
<li {{if $filters.context == $v}}class="active"{{/if}}>
|
||||
<a href="/admin/logs/view?context={{$v}}" data-filter="context" data-filter-value="{{$v}}">
|
||||
{{if $v == ""}}ALL{{/if}}{{$v}}
|
||||
{{if $v == ""}}{{$l10n.ALL}}{{/if}}{{$v}}
|
||||
</a>
|
||||
</li>
|
||||
{{/foreach}}
|
||||
</ul>
|
||||
</th>
|
||||
<th>Message</th>
|
||||
<th>{{$l10n.Message}}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{{foreach $data as $row}}
|
||||
<tr id="ev-{{$row->id}}" class="log-event"
|
||||
role="button" tabIndex="0"
|
||||
aria-label="View details" aria-haspopup="true" aria-expanded="false"
|
||||
aria-label="{{$l10n.View_details}}" aria-haspopup="true" aria-expanded="false"
|
||||
data-data="{{$row->data}}" data-source="{{$row->source}}">
|
||||
<td>{{$row->date}}</td>
|
||||
<td class="
|
||||
|
|
@ -86,16 +86,16 @@
|
|||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title">Event details</h4>
|
||||
<h4 class="modal-title">{{$l10n.Event_details}}</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<table class="table main-data">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Date</th>
|
||||
<th>Level</th>
|
||||
<th>Context</th>
|
||||
<th>Message</th>
|
||||
<th>{{$l10n.Date}}</th>
|
||||
<th>{{$l10n.Level}}</th>
|
||||
<th>{{$l10n.Context}}</th>
|
||||
<th>{{$l10n.Message}}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody><tr></tr></tbody>
|
||||
|
|
@ -103,11 +103,11 @@
|
|||
<table class="table source-data">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>File</th>
|
||||
<th>Line</th>
|
||||
<th>Function</th>
|
||||
<th>UID</th>
|
||||
<th>Process ID</th>
|
||||
<th>{{$l10n.File}}</th>
|
||||
<th>{{$l10n.Line}}</th>
|
||||
<th>{{$l10n.Function}}</th>
|
||||
<th>{{$l10n.UID}}</th>
|
||||
<th>{{$l10n.Process_ID}}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
|
@ -131,7 +131,7 @@
|
|||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-previous><</button>
|
||||
<button type="button" class="btn btn-default" data-next>></button>
|
||||
<button type="button" class="btn btn-primary" data-dismiss="modal">Close</button>
|
||||
<button type="button" class="btn btn-primary" data-dismiss="modal">{{$l10n.Close}}</button>
|
||||
</div>
|
||||
</div><!-- /.modal-content -->
|
||||
</div><!-- /.modal-dialog -->
|
||||
|
|
|
|||
|
|
@ -339,7 +339,7 @@
|
|||
<div id="admin-settings-relocate-collapse" class="panel-collapse collapse" role="tabpanel" aria-labelledby="admin-settings-relocate">
|
||||
<div class="panel-body">
|
||||
<div class="alert alert-danger alert-dismissible">
|
||||
{{$relocate_warning}}
|
||||
{{$relocate_warning nofilter}}
|
||||
</div>
|
||||
{{include file="field_input.tpl" field=$relocate_url}}
|
||||
</div>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue