From a38abd3363d639174fe8e085a4d283378a40ffaa Mon Sep 17 00:00:00 2001 From: Philipp Date: Sun, 31 Oct 2021 12:31:55 +0100 Subject: [PATCH 01/11] AAdd domain specific Exceptions for PermissionSet --- .../PermissionSetNotFoundException.php | 13 ++ .../PermissionSetPersistenceException.php | 13 ++ .../Repository/PermissionSet.php | 118 ++++++++++++------ 3 files changed, 104 insertions(+), 40 deletions(-) create mode 100644 src/Security/PermissionSet/Exception/PermissionSetNotFoundException.php create mode 100644 src/Security/PermissionSet/Exception/PermissionSetPersistenceException.php diff --git a/src/Security/PermissionSet/Exception/PermissionSetNotFoundException.php b/src/Security/PermissionSet/Exception/PermissionSetNotFoundException.php new file mode 100644 index 0000000000..83678a44c1 --- /dev/null +++ b/src/Security/PermissionSet/Exception/PermissionSetNotFoundException.php @@ -0,0 +1,13 @@ +getArrayCopy()); @@ -108,7 +114,9 @@ class PermissionSet extends BaseRepository * @param int $id A PermissionSet table row id or self::PUBLIC * @param int $uid The owner of the PermissionSet * @return Entity\PermissionSet - * @throws NotFoundException + * + * @throws PermissionSetNotFoundException + * @throws PermissionSetPersistenceException */ public function selectOneById(int $id, int $uid): Entity\PermissionSet { @@ -116,7 +124,13 @@ class PermissionSet extends BaseRepository return $this->factory->createFromString($uid); } - return $this->selectOne(['id' => $id, 'uid' => $uid]); + try { + return $this->selectOne(['id' => $id, 'uid' => $uid]); + } catch (NotFoundException $exception) { + throw new PermissionSetNotFoundException(sprintf('PermissionSet with id %d for user %u doesn\'t exist.', $id, $uid), $exception); + } catch (Exception $exception) { + throw new PermissionSetPersistenceException(sprintf('Cannot select PermissionSet %d for user %d', $id, $uid), $exception); + } } /** @@ -126,45 +140,51 @@ class PermissionSet extends BaseRepository * @param int $uid User id whom the items belong, used for ownership check. * * @return Collection\PermissionSets + * + * @throws PermissionSetPersistenceException */ public function selectByContactId(int $cid, int $uid): Collection\PermissionSets { - $cdata = Contact::getPublicAndUserContactID($cid, $uid); - if (!empty($cdata)) { - $public_contact_str = $this->aclFormatter->toString($cdata['public']); - $user_contact_str = $this->aclFormatter->toString($cdata['user']); - $cid = $cdata['user']; - } else { - $public_contact_str = $this->aclFormatter->toString($cid); - $user_contact_str = ''; - } + try { + $cdata = Contact::getPublicAndUserContactID($cid, $uid); + if (!empty($cdata)) { + $public_contact_str = $this->aclFormatter->toString($cdata['public']); + $user_contact_str = $this->aclFormatter->toString($cdata['user']); + $cid = $cdata['user']; + } else { + $public_contact_str = $this->aclFormatter->toString($cid); + $user_contact_str = ''; + } - $groups = []; - if (!empty($user_contact_str) && $this->db->exists('contact', [ - 'id' => $cid, - 'uid' => $uid, - 'blocked' => false - ])) { - $groups = Group::getIdsByContactId($cid); - } + $groups = []; + if (!empty($user_contact_str) && $this->db->exists('contact', [ + 'id' => $cid, + 'uid' => $uid, + 'blocked' => false + ])) { + $groups = Group::getIdsByContactId($cid); + } - $group_str = '<<>>'; // should be impossible to match - foreach ($groups as $group_id) { - $group_str .= '|<' . preg_quote($group_id) . '>'; - } + $group_str = '<<>>'; // should be impossible to match + foreach ($groups as $group_id) { + $group_str .= '|<' . preg_quote($group_id) . '>'; + } - if (!empty($user_contact_str)) { - $condition = ["`uid` = ? AND (NOT (`deny_cid` REGEXP ? OR `deny_cid` REGEXP ? OR deny_gid REGEXP ?) + if (!empty($user_contact_str)) { + $condition = ["`uid` = ? AND (NOT (`deny_cid` REGEXP ? OR `deny_cid` REGEXP ? OR deny_gid REGEXP ?) AND (allow_cid REGEXP ? OR allow_cid REGEXP ? OR allow_gid REGEXP ? OR (allow_cid = '' AND allow_gid = '')))", - $uid, $user_contact_str, $public_contact_str, $group_str, - $user_contact_str, $public_contact_str, $group_str]; - } else { - $condition = ["`uid` = ? AND (NOT (`deny_cid` REGEXP ? OR deny_gid REGEXP ?) + $uid, $user_contact_str, $public_contact_str, $group_str, + $user_contact_str, $public_contact_str, $group_str]; + } else { + $condition = ["`uid` = ? AND (NOT (`deny_cid` REGEXP ? OR deny_gid REGEXP ?) AND (allow_cid REGEXP ? OR allow_gid REGEXP ? OR (allow_cid = '' AND allow_gid = '')))", - $uid, $public_contact_str, $group_str, $public_contact_str, $group_str]; - } + $uid, $public_contact_str, $group_str, $public_contact_str, $group_str]; + } - return $this->select($condition); + return $this->select($condition); + } catch (Exception $exception) { + throw new PermissionSetPersistenceException(sprintf('Cannot select PermissionSet for contact %d and user %d', $cid, $uid), $exception); + } } /** @@ -173,11 +193,20 @@ class PermissionSet extends BaseRepository * @param int $uid * * @return Entity\PermissionSet - * @throws Exception + * + * @throws PermissionSetPersistenceException */ public function selectDefaultForUser(int $uid): Entity\PermissionSet { - $self_contact = Contact::selectFirst(['id'], ['uid' => $uid, 'self' => true]); + try { + $self_contact = Contact::selectFirst(['id'], ['uid' => $uid, 'self' => true]); + } catch (Exception $exception) { + throw new PermissionSetPersistenceException(sprintf('Cannot select Contact for user %d', $uid)); + } + + if (!$this->db->isResult($self_contact)) { + throw new PermissionSetPersistenceException(sprintf('No "self" contact found for user %d', $uid)); + } return $this->selectOrCreate($this->factory->createFromString( $uid, @@ -203,6 +232,8 @@ class PermissionSet extends BaseRepository * @param Entity\PermissionSet $permissionSet * * @return Entity\PermissionSet + * + * @throws PermissionSetPersistenceException */ public function selectOrCreate(Entity\PermissionSet $permissionSet): Entity\PermissionSet { @@ -219,6 +250,8 @@ class PermissionSet extends BaseRepository return $this->selectOne($this->convertToTableRow($permissionSet)); } catch (NotFoundException $exception) { return $this->save($permissionSet); + } catch (Exception $exception) { + throw new PermissionSetPersistenceException(sprintf('Cannot select PermissionSet %d', $permissionSet->id ?? 0), $exception); } } @@ -226,7 +259,8 @@ class PermissionSet extends BaseRepository * @param Entity\PermissionSet $permissionSet * * @return Entity\PermissionSet - * @throws NotFoundException + * + * @throws PermissionSetPersistenceException */ public function save(Entity\PermissionSet $permissionSet): Entity\PermissionSet { @@ -237,12 +271,16 @@ class PermissionSet extends BaseRepository $fields = $this->convertToTableRow($permissionSet); - if ($permissionSet->id) { - $this->db->update(self::$table_name, $fields, ['id' => $permissionSet->id]); - } else { - $this->db->insert(self::$table_name, $fields); + try { + if ($permissionSet->id) { + $this->db->update(self::$table_name, $fields, ['id' => $permissionSet->id]); + } else { + $this->db->insert(self::$table_name, $fields); - $permissionSet = $this->selectOneById($this->db->lastInsertId(), $permissionSet->uid); + $permissionSet = $this->selectOneById($this->db->lastInsertId(), $permissionSet->uid); + } + } catch (Exception $exception) { + throw new PermissionSetPersistenceException(sprintf('Cannot save PermissionSet %d', $permissionSet->id ?? 0), $exception); } return $permissionSet; From dcbf8e18f0a7e7c0dafa2ae42ab70d0352ee7f68 Mon Sep 17 00:00:00 2001 From: Philipp Date: Sun, 31 Oct 2021 13:40:54 +0100 Subject: [PATCH 02/11] Add tests for the PermissionSet repository --- .../Repository/PermissionSetTest.php | 148 ++++++++++++++++++ 1 file changed, 148 insertions(+) diff --git a/tests/src/Security/PermissionSet/Repository/PermissionSetTest.php b/tests/src/Security/PermissionSet/Repository/PermissionSetTest.php index 697c5885ff..ac0dd9afe7 100644 --- a/tests/src/Security/PermissionSet/Repository/PermissionSetTest.php +++ b/tests/src/Security/PermissionSet/Repository/PermissionSetTest.php @@ -2,6 +2,8 @@ namespace Friendica\Test\src\Security\PermissionSet\Repository; +use Friendica\Database\Database; +use Friendica\Security\PermissionSet\Collection\PermissionSets; use Friendica\Security\PermissionSet\Repository\PermissionSet as PermissionSetRepository; use Friendica\Security\PermissionSet\Entity\PermissionSet; use Friendica\Security\PermissionSet\Factory\PermissionSet as PermissionSetFactory; @@ -61,4 +63,150 @@ class PermissionSetTest extends FixtureTest self::assertEquals($savedPermissionSet, $permissionSetSavedSelected); } + + /** + * Asserts that the actual permissionset is equal to the expected permissionset + * --> It skips the "id" fields + * + * @param PermissionSets $expected + * @param PermissionSets $actual + */ + public static function assertEqualPermissionSets(PermissionSets $expected, PermissionSets $actual) + { + self::assertEquals($expected->count(), $actual->count(), 'PermissionSets not even ' . PHP_EOL . 'expected: ' . print_r($expected, true) . 'actual: ' . print_r($actual, true)); + + foreach ($expected as $outputPermissionSet) { + self::assertCount(1, $actual->filter(function (PermissionSet $actualPermissionSet) use ($outputPermissionSet) { + return ( + $actualPermissionSet->uid == $outputPermissionSet->uid && + $actualPermissionSet->allow_cid == $outputPermissionSet->allow_cid && + $actualPermissionSet->allow_gid == $outputPermissionSet->allow_gid && + $actualPermissionSet->deny_cid == $outputPermissionSet->deny_cid && + $actualPermissionSet->deny_gid == $outputPermissionSet->deny_gid + ); + }), 'PermissionSet not found: ' . print_r($outputPermissionSet, true)); + } + } + + public function dataSet() + { + return [ + 'standard' => [ + 'permissionSets' => [ + [ + 'uid' => 42, + 'allow_cid' => '<<43>>', + 'allow_gid' => '', + 'deny_cid' => '<<44>>', + 'deny_gid' => '', + ], + [ + 'uid' => 42, + 'allow_cid' => '', + 'allow_gid' => '<<>>', + 'deny_cid' => '', + 'deny_gid' => '', + ], + [ + 'uid' => 42, + 'allow_cid' => '<<44>>', + 'allow_gid' => '', + 'deny_cid' => '', + 'deny_gid' => '', + ], + ], + 'assertions' => [ + [ + 'input' => [ + 'cid' => 43, + 'uid' => 42, + ], + 'output' => new PermissionSets([ + new PermissionSet(42, [43], [], [44], []), + new PermissionSet(42, [], [], [], []), + ]), + ], + [ + 'input' => [ + 'cid' => 44, + 'uid' => 42, + ], + 'output' => new PermissionSets([ + new PermissionSet(42, [], [], [], []), + new PermissionSet(42, [44], [], [], []), + ]), + ], + [ + 'input' => [ + 'cid' => 47, + 'uid' => 42, + ], + 'output' => new PermissionSets([ + new PermissionSet(42, [], [], [], []), + ]), + ], + ] + ], + 'empty' => [ + 'permissionSets' => [ + [ + 'uid' => 42, + 'allow_cid' => '', + 'allow_gid' => '<<>>', + 'deny_cid' => '', + 'deny_gid' => '', + ], + ], + 'assertions' => [ + [ + 'input' => [ + 'cid' => 43, + 'uid' => 42, + ], + 'output' => new PermissionSets([ + new PermissionSet(42, [], [], [], []), + ]), + ], + [ + 'input' => [ + 'cid' => 44, + 'uid' => 42, + ], + 'output' => new PermissionSets([ + new PermissionSet(42, [], [], [], []), + ]), + ], + [ + 'input' => [ + 'cid' => 47, + 'uid' => 42, + ], + 'output' => new PermissionSets([ + new PermissionSet(42, [], [], [], []), + ]), + ], + ] + ], + ]; + } + + /** + * @dataProvider dataSet + */ + public function testSelectContactId(array $inputPermissionSets, array $assertions) + { + /** @var Database $db */ + $db = $this->dice->create(Database::class); + + + foreach ($inputPermissionSets as $inputPermissionSet) { + $db->insert('permissionset', $inputPermissionSet); + } + + foreach ($assertions as $assertion) { + $permissionSets = $this->repository->selectByContactId($assertion['input']['cid'], $assertion['input']['uid']); + self::assertInstanceOf(PermissionSets::class, $permissionSets); + self::assertEqualPermissionSets($assertion['output'], $permissionSets); + } + } } From 71cdbcfc24b882ff3e35d7b526185a961cd83e5e Mon Sep 17 00:00:00 2001 From: Philipp Date: Sun, 31 Oct 2021 13:42:31 +0100 Subject: [PATCH 03/11] Add default value for "user_contact_str" (fixes https://github.com/friendica/friendica/issues/10943 ) --- src/Security/PermissionSet/Repository/PermissionSet.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Security/PermissionSet/Repository/PermissionSet.php b/src/Security/PermissionSet/Repository/PermissionSet.php index 83b65bd2e5..7ffe36cf27 100644 --- a/src/Security/PermissionSet/Repository/PermissionSet.php +++ b/src/Security/PermissionSet/Repository/PermissionSet.php @@ -153,7 +153,7 @@ class PermissionSet extends BaseRepository $cid = $cdata['user']; } else { $public_contact_str = $this->aclFormatter->toString($cid); - $user_contact_str = ''; + $user_contact_str = '<<>>'; } $groups = []; From 130f97717d4b8abfeb0786a19c2d6deeb373cfa1 Mon Sep 17 00:00:00 2001 From: Philipp Date: Sun, 31 Oct 2021 13:58:52 +0100 Subject: [PATCH 04/11] Add tests & remove unused method --- .../Repository/PermissionSet.php | 16 ------------ .../Repository/PermissionSetTest.php | 26 ++++++++++++++++++- 2 files changed, 25 insertions(+), 17 deletions(-) diff --git a/src/Security/PermissionSet/Repository/PermissionSet.php b/src/Security/PermissionSet/Repository/PermissionSet.php index 7ffe36cf27..097f669415 100644 --- a/src/Security/PermissionSet/Repository/PermissionSet.php +++ b/src/Security/PermissionSet/Repository/PermissionSet.php @@ -55,22 +55,6 @@ class PermissionSet extends BaseRepository $this->aclFormatter = $aclFormatter; } - /** - * replaces the PUBLIC id for the public permissionSet - * (no need to create the default permission set over and over again) - * - * @param $condition - */ - private function checkPublicSelect(&$condition) - { - if (empty($condition['allow_cid']) && - empty($condition['allow_gid']) && - empty($condition['deny_cid']) && - empty($condition['deny_gid'])) { - $condition['uid'] = self::PUBLIC; - } - } - /** * @param array $condition * @param array $params diff --git a/tests/src/Security/PermissionSet/Repository/PermissionSetTest.php b/tests/src/Security/PermissionSet/Repository/PermissionSetTest.php index ac0dd9afe7..958512aa6f 100644 --- a/tests/src/Security/PermissionSet/Repository/PermissionSetTest.php +++ b/tests/src/Security/PermissionSet/Repository/PermissionSetTest.php @@ -4,6 +4,7 @@ namespace Friendica\Test\src\Security\PermissionSet\Repository; use Friendica\Database\Database; use Friendica\Security\PermissionSet\Collection\PermissionSets; +use Friendica\Security\PermissionSet\Exception\PermissionSetNotFoundException; use Friendica\Security\PermissionSet\Repository\PermissionSet as PermissionSetRepository; use Friendica\Security\PermissionSet\Entity\PermissionSet; use Friendica\Security\PermissionSet\Factory\PermissionSet as PermissionSetFactory; @@ -198,7 +199,6 @@ class PermissionSetTest extends FixtureTest /** @var Database $db */ $db = $this->dice->create(Database::class); - foreach ($inputPermissionSets as $inputPermissionSet) { $db->insert('permissionset', $inputPermissionSet); } @@ -209,4 +209,28 @@ class PermissionSetTest extends FixtureTest self::assertEqualPermissionSets($assertion['output'], $permissionSets); } } + + public function testSelectOneByIdInvalid() + { + self::expectException(PermissionSetNotFoundException::class); + self::expectExceptionMessage('PermissionSet with id -1 for user 42 doesn\'t exist.'); + + $this->repository->selectOneById(-1, 42); + } + + /** + * @dataProvider dataSet + */ + public function testSelectOneById(array $inputPermissionSets, array $assertions) + { + /** @var Database $db */ + $db = $this->dice->create(Database::class); + + foreach ($inputPermissionSets as $inputPermissionSet) { + $db->insert('permissionset', $inputPermissionSet); + $id = $db->lastInsertId(); + + self::assertInstanceOf(PermissionSet::class, $this->repository->selectOneById($id, $inputPermissionSet['uid'])); + } + } } From 49c16a9dad7c2e92d9a5cf5fccfa7b3300cc4ee2 Mon Sep 17 00:00:00 2001 From: Philipp Date: Sun, 31 Oct 2021 15:14:57 +0100 Subject: [PATCH 05/11] Fix HTTP Code --- .../PermissionSet/Exception/PermissionSetNotFoundException.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Security/PermissionSet/Exception/PermissionSetNotFoundException.php b/src/Security/PermissionSet/Exception/PermissionSetNotFoundException.php index 83678a44c1..b14e4d8320 100644 --- a/src/Security/PermissionSet/Exception/PermissionSetNotFoundException.php +++ b/src/Security/PermissionSet/Exception/PermissionSetNotFoundException.php @@ -8,6 +8,6 @@ class PermissionSetNotFoundException extends \RuntimeException { public function __construct($message = '', Exception $previous = null) { - parent::__construct($message, 500, $previous); + parent::__construct($message, 404, $previous); } } From 1a2f33578bf25f124ba6eb2e4d9a7b87f6409340 Mon Sep 17 00:00:00 2001 From: Philipp Date: Sun, 31 Oct 2021 19:13:42 +0100 Subject: [PATCH 06/11] Add more PermissionSet tests with groups --- .../Repository/PermissionSetTest.php | 174 +++++++++++++++++- 1 file changed, 167 insertions(+), 7 deletions(-) diff --git a/tests/src/Security/PermissionSet/Repository/PermissionSetTest.php b/tests/src/Security/PermissionSet/Repository/PermissionSetTest.php index 958512aa6f..e2a4d3276d 100644 --- a/tests/src/Security/PermissionSet/Repository/PermissionSetTest.php +++ b/tests/src/Security/PermissionSet/Repository/PermissionSetTest.php @@ -93,12 +93,13 @@ class PermissionSetTest extends FixtureTest { return [ 'standard' => [ + 'group_member' => [], 'permissionSets' => [ [ 'uid' => 42, - 'allow_cid' => '<<43>>', + 'allow_cid' => '<43>', 'allow_gid' => '', - 'deny_cid' => '<<44>>', + 'deny_cid' => '<44>', 'deny_gid' => '', ], [ @@ -110,7 +111,7 @@ class PermissionSetTest extends FixtureTest ], [ 'uid' => 42, - 'allow_cid' => '<<44>>', + 'allow_cid' => '<44>', 'allow_gid' => '', 'deny_cid' => '', 'deny_gid' => '', @@ -146,9 +147,10 @@ class PermissionSetTest extends FixtureTest new PermissionSet(42, [], [], [], []), ]), ], - ] + ], ], 'empty' => [ + 'group_member' => [], 'permissionSets' => [ [ 'uid' => 42, @@ -188,19 +190,173 @@ class PermissionSetTest extends FixtureTest ], ] ], + 'nothing' => [ + 'group_member' => [], + 'permissionSets' => [ + ], + 'assertions' => [ + [ + 'input' => [ + 'cid' => 43, + 'uid' => 42, + ], + 'output' => new PermissionSets(), + ], + [ + 'input' => [ + 'cid' => 44, + 'uid' => 42, + ], + 'output' => new PermissionSets(), + ], + [ + 'input' => [ + 'cid' => 47, + 'uid' => 42, + ], + 'output' => new PermissionSets(), + ], + ] + ], + 'with_groups' => [ + 'group_member' => [ + [ + 'id' => 1, + 'gid' => 1, + 'contact-id' => 47, + ], + [ + 'id' => 2, + 'gid' => 1, + 'contact-id' => 42, + ], + [ + 'id' => 3, + 'gid' => 2, + 'contact-id' => 43, + ], + ], + 'permissionSets' => [ + [ + 'uid' => 42, + 'allow_cid' => '<43>', + 'allow_gid' => '<3>', + 'deny_cid' => '<44>,<46>', + 'deny_gid' => '', + ], + [ + 'uid' => 42, + 'allow_cid' => '', + 'allow_gid' => '<<>>', + 'deny_cid' => '', + 'deny_gid' => '<2>', + ], + [ + 'uid' => 42, + 'allow_cid' => '<44>', + 'allow_gid' => '', + 'deny_cid' => '', + 'deny_gid' => '', + ], + [ + 'uid' => 42, + 'allow_cid' => '', + 'allow_gid' => '', + 'deny_cid' => '', + 'deny_gid' => '<1>', + ], + [ + 'uid' => 42, + 'allow_cid' => '<45>', + 'allow_gid' => '', + 'deny_cid' => '', + 'deny_gid' => '<1><2>', + ], + ], + 'assertions' => [ + [ + 'input' => [ + 'cid' => 42, + 'uid' => 42, + ], + 'output' => new PermissionSets([ + new PermissionSet(42, [], [], [], [2]), + ]), + ], + [ + 'input' => [ + 'cid' => 43, + 'uid' => 42, + ], + 'output' => new PermissionSets([ + new PermissionSet(42, [43], [3], [44, 46], []), + new PermissionSet(42, [], [], [], [2]), + new PermissionSet(42, [], [], [], [1]), + ]), + ], + [ + 'input' => [ + 'cid' => 44, + 'uid' => 42, + ], + 'output' => new PermissionSets([ + new PermissionSet(42, [], [], [], [2]), + new PermissionSet(42, [44], [], [], []), + new PermissionSet(42, [], [], [], [1]), + new PermissionSet(42, [45], [], [], [1, 2]), + ]), + ], + [ + 'input' => [ + 'cid' => 45, + 'uid' => 42, + ], + 'output' => new PermissionSets([ + new PermissionSet(42, [], [], [], [2]), + new PermissionSet(42, [44], [], [], []), + new PermissionSet(42, [], [], [], [1]), + new PermissionSet(42, [45], [], [], [1, 2]), + ]), + ], + [ + 'input' => [ + 'cid' => 46, + 'uid' => 42, + ], + 'output' => new PermissionSets([ + new PermissionSet(42, [], [], [], [2]), + new PermissionSet(42, [], [], [], [1]), + ]), + ], + [ + 'input' => [ + 'cid' => 47, + 'uid' => 42, + ], + 'output' => new PermissionSets([ + new PermissionSet(42, [], [], [], [2]), + new PermissionSet(42, [], [], [], [1]), + ]), + ], + ], + ], ]; } /** * @dataProvider dataSet */ - public function testSelectContactId(array $inputPermissionSets, array $assertions) + public function testSelectContactId(array $group_member, array $inputPermissionSets, array $assertions) { /** @var Database $db */ $db = $this->dice->create(Database::class); + foreach ($group_member as $gmember) { + $db->insert('group_member', $gmember, true); + } + foreach ($inputPermissionSets as $inputPermissionSet) { - $db->insert('permissionset', $inputPermissionSet); + $db->insert('permissionset', $inputPermissionSet, true); } foreach ($assertions as $assertion) { @@ -221,8 +377,12 @@ class PermissionSetTest extends FixtureTest /** * @dataProvider dataSet */ - public function testSelectOneById(array $inputPermissionSets, array $assertions) + public function testSelectOneById(array $group_member, array $inputPermissionSets, array $assertions) { + if (count($inputPermissionSets) === 0) { + self::markTestSkipped('Nothing to assert.'); + } + /** @var Database $db */ $db = $this->dice->create(Database::class); From fc233fd5e1ed9e163c17a5f3fcc499b93abe2f15 Mon Sep 17 00:00:00 2001 From: Philipp Date: Sun, 31 Oct 2021 19:51:03 +0100 Subject: [PATCH 07/11] Replace REGEXP with LOCATE for allow_cid and deny_cid --- .../PermissionSet/Repository/PermissionSet.php | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/Security/PermissionSet/Repository/PermissionSet.php b/src/Security/PermissionSet/Repository/PermissionSet.php index 097f669415..1c3b393520 100644 --- a/src/Security/PermissionSet/Repository/PermissionSet.php +++ b/src/Security/PermissionSet/Repository/PermissionSet.php @@ -137,7 +137,7 @@ class PermissionSet extends BaseRepository $cid = $cdata['user']; } else { $public_contact_str = $this->aclFormatter->toString($cid); - $user_contact_str = '<<>>'; + $user_contact_str = ''; } $groups = []; @@ -155,13 +155,13 @@ class PermissionSet extends BaseRepository } if (!empty($user_contact_str)) { - $condition = ["`uid` = ? AND (NOT (`deny_cid` REGEXP ? OR `deny_cid` REGEXP ? OR deny_gid REGEXP ?) - AND (allow_cid REGEXP ? OR allow_cid REGEXP ? OR allow_gid REGEXP ? OR (allow_cid = '' AND allow_gid = '')))", + $condition = ["`uid` = ? AND (NOT (LOCATE(?, `deny_cid`) OR LOCATE(?, `deny_cid`) OR deny_gid REGEXP ?) + AND (LOCATE(?, allow_cid) OR LOCATE(?, allow_cid) OR allow_gid REGEXP ? OR (allow_cid = '' AND allow_gid = '')))", $uid, $user_contact_str, $public_contact_str, $group_str, $user_contact_str, $public_contact_str, $group_str]; } else { - $condition = ["`uid` = ? AND (NOT (`deny_cid` REGEXP ? OR deny_gid REGEXP ?) - AND (allow_cid REGEXP ? OR allow_gid REGEXP ? OR (allow_cid = '' AND allow_gid = '')))", + $condition = ["`uid` = ? AND (NOT (LOCATE(?, `deny_cid`) OR deny_gid REGEXP ?) + AND (LOCATE(?, allow_cid) OR allow_gid REGEXP ? OR (allow_cid = '' AND allow_gid = '')))", $uid, $public_contact_str, $group_str, $public_contact_str, $group_str]; } From 51af54e65afd61eca26bcd858f7720f942926f44 Mon Sep 17 00:00:00 2001 From: Tobias Diekershoff Date: Mon, 1 Nov 2021 07:00:30 +0100 Subject: [PATCH 08/11] DE translation updates --- view/lang/de/messages.po | 67 +++++++++++++++++++++------------------- view/lang/de/strings.php | 9 +++--- 2 files changed, 40 insertions(+), 36 deletions(-) diff --git a/view/lang/de/messages.po b/view/lang/de/messages.po index 8ad5bb7515..85e81829fc 100644 --- a/view/lang/de/messages.po +++ b/view/lang/de/messages.po @@ -49,8 +49,8 @@ msgid "" msgstr "" "Project-Id-Version: friendica\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-10-23 21:51-0400\n" -"PO-Revision-Date: 2021-10-24 13:04+0000\n" +"POT-Creation-Date: 2021-10-27 20:01+0200\n" +"PO-Revision-Date: 2021-11-01 05:59+0000\n" "Last-Translator: Tobias Diekershoff \n" "Language-Team: German (http://www.transifex.com/Friendica/friendica/language/de/)\n" "MIME-Version: 1.0\n" @@ -2129,11 +2129,11 @@ 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:456 +#: src/App.php:455 msgid "No system theme config value set." msgstr "Es wurde kein Konfigurationswert für das systemweite Theme gesetzt." -#: src/App/Module.php:240 +#: src/App/Module.php:241 msgid "You must be logged in to use addons. " msgstr "Du musst angemeldet sein, um Addons benutzen zu können." @@ -3923,6 +3923,20 @@ msgstr "Die Template Engine kann nicht ohne einen Namen registriert werden." msgid "template engine is not registered!" msgstr "Template Engine wurde nicht registriert!" +#: src/Core/Storage/Type/FilesystemConfig.php:78 +msgid "Storage base path" +msgstr "Dateipfad zum Speicher" + +#: src/Core/Storage/Type/FilesystemConfig.php:80 +msgid "" +"Folder where uploaded files are saved. For maximum security, This should be " +"a path outside web server folder tree" +msgstr "Verzeichnis, in das Dateien hochgeladen werden. Für maximale Sicherheit sollte dies ein Pfad außerhalb der Webserver-Verzeichnisstruktur sein" + +#: src/Core/Storage/Type/FilesystemConfig.php:93 +msgid "Enter a valid existing folder" +msgstr "Gib einen gültigen, existierenden Ordner ein" + #: src/Core/Update.php:67 #, php-format msgid "" @@ -4168,10 +4182,9 @@ msgstr "Eingeschränktes Profil. Diese Person wird keine direkten/privaten Nachr msgid "Unable to retrieve contact information." msgstr "Konnte die Kontaktinformationen nicht empfangen." -#: src/Model/Event.php:52 src/Model/Event.php:853 -#: src/Module/Debug/Localtime.php:38 -msgid "l F d, Y \\@ g:i A" -msgstr "l, d. F Y\\, H:i" +#: src/Model/Event.php:52 +msgid "l F d, Y \\@ g:i A \\G\\M\\TP (e)" +msgstr "l F d, Y \\@ g:i A \\G\\M\\TP (e)" #: src/Model/Event.php:73 src/Model/Event.php:90 src/Model/Event.php:464 #: src/Model/Event.php:897 @@ -4211,6 +4224,10 @@ msgstr "Veranstaltung kopieren" msgid "Delete event" msgstr "Veranstaltung löschen" +#: src/Model/Event.php:853 src/Module/Debug/Localtime.php:38 +msgid "l F d, Y \\@ g:i A" +msgstr "l, d. F Y\\, H:i" + #: src/Model/Event.php:854 msgid "D g:i A" msgstr "D H:i" @@ -4455,20 +4472,6 @@ msgstr "Schule/Ausbildung" msgid "Contact information and Social Networks" msgstr "Kontaktinformationen und Soziale Netzwerke" -#: src/Model/Storage/FilesystemConfig.php:77 -msgid "Storage base path" -msgstr "Dateipfad zum Speicher" - -#: src/Model/Storage/FilesystemConfig.php:79 -msgid "" -"Folder where uploaded files are saved. For maximum security, This should be " -"a path outside web server folder tree" -msgstr "Verzeichnis, in das Dateien hochgeladen werden. Für maximale Sicherheit sollte dies ein Pfad außerhalb der Webserver-Verzeichnisstruktur sein" - -#: src/Model/Storage/FilesystemConfig.php:92 -msgid "Enter a valid existing folder" -msgstr "Gib einen gültigen, existierenden Ordner ein" - #: src/Model/User.php:208 src/Model/User.php:1050 msgid "SERIOUS ERROR: Generation of security keys failed." msgstr "FATALER FEHLER: Sicherheitsschlüssel konnten nicht erzeugt werden." @@ -4516,13 +4519,13 @@ msgstr "Die Einladung konnte nicht überprüft werden." msgid "Invalid OpenID url" msgstr "Ungültige OpenID URL" -#: src/Model/User.php:962 src/Security/Authentication.php:223 +#: src/Model/User.php:962 src/Security/Authentication.php:224 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:962 src/Security/Authentication.php:223 +#: src/Model/User.php:962 src/Security/Authentication.php:224 msgid "The error message was:" msgstr "Die Fehlermeldung lautete:" @@ -8546,21 +8549,21 @@ msgstr "Entfernte Privatsphäreneinstellungen nicht verfügbar." msgid "Visible to:" msgstr "Sichtbar für:" -#: src/Module/Photo.php:122 +#: src/Module/Photo.php:123 msgid "The Photo is not available." msgstr "Das Foto ist nicht verfügbar." -#: src/Module/Photo.php:135 +#: src/Module/Photo.php:136 #, php-format msgid "The Photo with id %s is not available." msgstr "Das Bild mit ID %s ist nicht verfügbar." -#: src/Module/Photo.php:168 +#: src/Module/Photo.php:169 #, php-format msgid "Invalid external resource with url %s." msgstr "Ungültige externe Ressource mit der URL %s" -#: src/Module/Photo.php:170 +#: src/Module/Photo.php:171 #, php-format msgid "Invalid photo with id %s." msgstr "Fehlerhaftes Foto mit der ID %s." @@ -10624,20 +10627,20 @@ msgstr "wird nicht mehr gefolgt" msgid "The folder view/smarty3/ must be writable by webserver." msgstr "Das Verzeichnis view/smarty3/ muss für den Web-Server beschreibbar sein." -#: src/Security/Authentication.php:209 +#: src/Security/Authentication.php:210 msgid "Login failed." msgstr "Anmeldung fehlgeschlagen." -#: src/Security/Authentication.php:250 +#: src/Security/Authentication.php:251 msgid "Login failed. Please check your credentials." msgstr "Anmeldung fehlgeschlagen. Bitte überprüfe deine Angaben." -#: src/Security/Authentication.php:348 +#: src/Security/Authentication.php:349 #, php-format msgid "Welcome %s" msgstr "Willkommen %s" -#: src/Security/Authentication.php:349 +#: src/Security/Authentication.php:350 msgid "Please upload a profile photo." msgstr "Bitte lade ein Profilbild hoch." diff --git a/view/lang/de/strings.php b/view/lang/de/strings.php index 7b423fe6b6..827e96a40a 100644 --- a/view/lang/de/strings.php +++ b/view/lang/de/strings.php @@ -933,6 +933,9 @@ $a->strings['rebuffed'] = 'abfuhrerteilte'; $a->strings['Friendica can\'t display this page at the moment, please contact the administrator.'] = 'Friendica kann die Seite im Moment nicht darstellen. Bitte kontaktiere das Administratoren Team.'; $a->strings['template engine cannot be registered without a name.'] = 'Die Template Engine kann nicht ohne einen Namen registriert werden.'; $a->strings['template engine is not registered!'] = 'Template Engine wurde nicht registriert!'; +$a->strings['Storage base path'] = 'Dateipfad zum Speicher'; +$a->strings['Folder where uploaded files are saved. For maximum security, This should be a path outside web server folder tree'] = 'Verzeichnis, in das Dateien hochgeladen werden. Für maximale Sicherheit sollte dies ein Pfad außerhalb der Webserver-Verzeichnisstruktur sein'; +$a->strings['Enter a valid existing folder'] = 'Gib einen gültigen, existierenden Ordner ein'; $a->strings['Updates from version %s are not supported. Please update at least to version 2021.01 and wait until the postupdate finished version 1383.'] = 'Aktualisierungen von der Version %s werden nicht unterstützt. Bitte aktualisiere vorher auf die Version 2021.01 von Friendica und warte bis das Postupdate auf die Version 1383 abgeschlossen ist.'; $a->strings['Updates from postupdate version %s are not supported. Please update at least to version 2021.01 and wait until the postupdate finished version 1383.'] = 'Aktualisierungen von der Postupdate Version %s werden nicht unterstützt. Bitte aktualisiere zunächst auf die Friendica Version 2021.01 und warte bis das Postupdate 1383 abgeschlossen ist.'; $a->strings['%s: executing pre update %d'] = '%s: Pre-Update %d wird ausgeführt'; @@ -1000,7 +1003,7 @@ $a->strings['Use mailto: in front of address to force email check.'] = 'Verwende $a->strings['The profile address specified belongs to a network which has been disabled on this site.'] = 'Die Adresse dieses Profils gehört zu einem Netzwerk, mit dem die Kommunikation auf dieser Seite ausgeschaltet wurde.'; $a->strings['Limited profile. This person will be unable to receive direct/personal notifications from you.'] = 'Eingeschränktes Profil. Diese Person wird keine direkten/privaten Nachrichten von dir erhalten können.'; $a->strings['Unable to retrieve contact information.'] = 'Konnte die Kontaktinformationen nicht empfangen.'; -$a->strings['l F d, Y \@ g:i A'] = 'l, d. F Y\, H:i'; +$a->strings['l F d, Y \@ g:i A \G\M\TP (e)'] = 'l F d, Y \@ g:i A \G\M\TP (e)'; $a->strings['Starts:'] = 'Beginnt:'; $a->strings['Finishes:'] = 'Endet:'; $a->strings['all-day'] = 'ganztägig'; @@ -1010,6 +1013,7 @@ $a->strings['l, F j'] = 'l, F j'; $a->strings['Edit event'] = 'Veranstaltung bearbeiten'; $a->strings['Duplicate event'] = 'Veranstaltung kopieren'; $a->strings['Delete event'] = 'Veranstaltung löschen'; +$a->strings['l F d, Y \@ g:i A'] = 'l, d. F Y\, H:i'; $a->strings['D g:i A'] = 'D H:i'; $a->strings['g:i A'] = 'H:i'; $a->strings['Show map'] = 'Karte anzeigen'; @@ -1068,9 +1072,6 @@ $a->strings['Love/romance'] = 'Liebe/Romantik'; $a->strings['Work/employment'] = 'Arbeit/Anstellung'; $a->strings['School/education'] = 'Schule/Ausbildung'; $a->strings['Contact information and Social Networks'] = 'Kontaktinformationen und Soziale Netzwerke'; -$a->strings['Storage base path'] = 'Dateipfad zum Speicher'; -$a->strings['Folder where uploaded files are saved. For maximum security, This should be a path outside web server folder tree'] = 'Verzeichnis, in das Dateien hochgeladen werden. Für maximale Sicherheit sollte dies ein Pfad außerhalb der Webserver-Verzeichnisstruktur sein'; -$a->strings['Enter a valid existing folder'] = 'Gib einen gültigen, existierenden Ordner ein'; $a->strings['SERIOUS ERROR: Generation of security keys failed.'] = 'FATALER FEHLER: Sicherheitsschlüssel konnten nicht erzeugt werden.'; $a->strings['Login failed'] = 'Anmeldung fehlgeschlagen'; $a->strings['Not enough information to authenticate'] = 'Nicht genügend Informationen für die Authentifizierung'; From a7ab9f6ede1efbdcbc0490dd02931ed2daad17cc Mon Sep 17 00:00:00 2001 From: Tobias Diekershoff Date: Mon, 1 Nov 2021 07:01:12 +0100 Subject: [PATCH 09/11] RU translations THX Alexander An --- view/lang/ru/messages.po | 2056 +++++++++++++++++++------------------- view/lang/ru/strings.php | 160 +-- 2 files changed, 1121 insertions(+), 1095 deletions(-) diff --git a/view/lang/ru/messages.po b/view/lang/ru/messages.po index 918934e689..f06532b2a0 100644 --- a/view/lang/ru/messages.po +++ b/view/lang/ru/messages.po @@ -24,9 +24,9 @@ msgid "" msgstr "" "Project-Id-Version: friendica\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-10-03 13:45-0400\n" -"PO-Revision-Date: 2021-10-03 21:24+0000\n" -"Last-Translator: Transifex Bot <>\n" +"POT-Creation-Date: 2021-10-27 20:01+0200\n" +"PO-Revision-Date: 2021-10-31 17:45+0000\n" +"Last-Translator: Alexander An \n" "Language-Team: Russian (http://www.transifex.com/Friendica/friendica/language/ru/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -34,7 +34,7 @@ msgstr "" "Language: ru\n" "Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n" -#: include/api.php:1114 src/Module/BaseApi.php:294 +#: include/api.php:1113 src/Module/BaseApi.php:294 #, php-format msgid "Daily posting limit of %d post reached. The post was rejected." msgid_plural "Daily posting limit of %d posts reached. The post was rejected." @@ -43,7 +43,7 @@ msgstr[1] "Дневной лимит в %d записи достигнут. За msgstr[2] "Дневной лимит в %d записей достигнут. Запись отклонена." msgstr[3] "Дневной лимит в %d записей достигнут. Запись отклонена." -#: include/api.php:1128 src/Module/BaseApi.php:310 +#: include/api.php:1127 src/Module/BaseApi.php:310 #, php-format msgid "Weekly posting limit of %d post reached. The post was rejected." msgid_plural "" @@ -53,278 +53,15 @@ msgstr[1] "Недельный лимит в %d записи достигнут. msgstr[2] "Недельный лимит в %d записей достигнут. Запись была отклонена." msgstr[3] "Недельный лимит в %d записей достигнут. Запись была отклонена." -#: include/api.php:1142 src/Module/BaseApi.php:326 +#: include/api.php:1141 src/Module/BaseApi.php:326 #, php-format msgid "Monthly posting limit of %d post reached. The post was rejected." msgstr "Месячный лимит в %d записей достигнут. Запись была отклонена." -#: include/api.php:4422 mod/photos.php:89 mod/photos.php:198 -#: mod/photos.php:617 mod/photos.php:1028 mod/photos.php:1045 -#: mod/photos.php:1594 src/Model/User.php:1160 src/Model/User.php:1168 -#: src/Model/User.php:1176 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 -#: src/Module/Settings/Profile/Photo/Index.php:95 -#: src/Module/Settings/Profile/Photo/Index.php:101 -msgid "Profile Photos" -msgstr "Фотографии профиля" - -#: include/enotify.php:50 include/enotify.php:533 -msgid "[Friendica:Notify]" -msgstr "[Friendica]" - -#: include/enotify.php:114 -#, php-format -msgid "%s New mail received at %s" -msgstr "%s Новая почта получена в %s" - -#: include/enotify.php:116 -#, php-format -msgid "%1$s sent you a new private message at %2$s." -msgstr "%1$s отправил вам новое личное сообщение на %2$s." - -#: include/enotify.php:117 -msgid "a private message" -msgstr "личное сообщение" - -#: include/enotify.php:117 -#, php-format -msgid "%1$s sent you %2$s." -msgstr "%1$s послал вам %2$s." - -#: include/enotify.php:119 -#, php-format -msgid "Please visit %s to view and/or reply to your private messages." -msgstr "Пожалуйста, посетите %s для просмотра и/или ответа на личные сообщения." - -#: include/enotify.php:150 -#, php-format -msgid "%1$s commented on %2$s's %3$s %4$s" -msgstr "%1$s прокомментировал(а) %2$s %3$s %4$s" - -#: include/enotify.php:155 -#, php-format -msgid "%1$s commented on your %2$s %3$s" -msgstr "%1$s прокомментировал(а) ваш %2$s %3$s" - -#: include/enotify.php:159 -#, php-format -msgid "%1$s commented on their %2$s %3$s" -msgstr "%1$s прокомментировал(а) свой %2$s %3$s" - -#: include/enotify.php:163 include/enotify.php:568 -#, php-format -msgid "%1$s Comment to conversation #%2$d by %3$s" -msgstr "%1$s Комментариев к разговору #%2$d от %3$s" - -#: include/enotify.php:165 -#, php-format -msgid "%s commented on an item/conversation you have been following." -msgstr "%s оставил комментарий к элементу/беседе, за которой вы следите." - -#: include/enotify.php:169 include/enotify.php:184 include/enotify.php:203 -#: include/enotify.php:583 -#, php-format -msgid "Please visit %s to view and/or reply to the conversation." -msgstr "Пожалуйста посетите %s для просмотра и/или ответа в беседу." - -#: include/enotify.php:176 -#, php-format -msgid "%s %s posted to your profile wall" -msgstr "%s %s размещены на стене вашего профиля" - -#: include/enotify.php:178 -#, php-format -msgid "%1$s posted to your profile wall at %2$s" -msgstr "%1$s написал на вашей стене на %2$s" - -#: include/enotify.php:179 -#, php-format -msgid "%1$s posted to [url=%2$s]your wall[/url]" -msgstr "%1$s написал на [url=%2$s]вашей стене[/url]" - -#: include/enotify.php:191 -#, php-format -msgid "%1$s %2$s poked you" -msgstr "%1$s %2$s продвинул тебя" - -#: include/enotify.php:193 -#, php-format -msgid "%1$s poked you at %2$s" -msgstr "%1$s потыкал вас на %2$s" - -#: include/enotify.php:194 -#, php-format -msgid "%1$s [url=%2$s]poked you[/url]." -msgstr "%1$s [url=%2$s]потыкал вас[/url]." - -#: include/enotify.php:211 -#, php-format -msgid "%s Introduction received" -msgstr "%s Входящих получено" - -#: include/enotify.php:213 -#, php-format -msgid "You've received an introduction from '%1$s' at %2$s" -msgstr "Вы получили запрос от '%1$s' на %2$s" - -#: include/enotify.php:214 -#, php-format -msgid "You've received [url=%1$s]an introduction[/url] from %2$s." -msgstr "Вы получили [url=%1$s]запрос[/url] от %2$s." - -#: include/enotify.php:219 include/enotify.php:265 -#, php-format -msgid "You may visit their profile at %s" -msgstr "Вы можете посмотреть его профиль здесь %s" - -#: include/enotify.php:221 -#, php-format -msgid "Please visit %s to approve or reject the introduction." -msgstr "Посетите %s для подтверждения или отказа запроса." - -#: include/enotify.php:228 -#, php-format -msgid "%s A new person is sharing with you" -msgstr "%s Новый человек поделился с Вами" - -#: include/enotify.php:230 include/enotify.php:231 -#, php-format -msgid "%1$s is sharing with you at %2$s" -msgstr "%1$s делится с вами на %2$s" - -#: include/enotify.php:238 -#, php-format -msgid "%s You have a new follower" -msgstr "%s У Вас новый подписчик" - -#: include/enotify.php:240 include/enotify.php:241 -#, php-format -msgid "You have a new follower at %2$s : %1$s" -msgstr "У вас новый подписчик на %2$s : %1$s" - -#: include/enotify.php:254 -#, php-format -msgid "%s Friend suggestion received" -msgstr "%s Получено дружеское приглашение" - -#: include/enotify.php:256 -#, php-format -msgid "You've received a friend suggestion from '%1$s' at %2$s" -msgstr "Вы получили предложение дружбы от '%1$s' на %2$s" - -#: include/enotify.php:257 -#, php-format -msgid "" -"You've received [url=%1$s]a friend suggestion[/url] for %2$s from %3$s." -msgstr "У вас [url=%1$s]новое предложение дружбы[/url] для %2$s от %3$s." - -#: include/enotify.php:263 -msgid "Name:" -msgstr "Имя:" - -#: include/enotify.php:264 -msgid "Photo:" -msgstr "Фото:" - -#: include/enotify.php:267 -#, php-format -msgid "Please visit %s to approve or reject the suggestion." -msgstr "Пожалуйста, посетите %s для подтверждения, или отказа запроса." - -#: include/enotify.php:275 include/enotify.php:290 -#, php-format -msgid "%s Connection accepted" -msgstr "%s Соединение принято" - -#: include/enotify.php:277 include/enotify.php:292 -#, php-format -msgid "'%1$s' has accepted your connection request at %2$s" -msgstr "'%1$s' принял соединение с вами на %2$s" - -#: include/enotify.php:278 include/enotify.php:293 -#, php-format -msgid "%2$s has accepted your [url=%1$s]connection request[/url]." -msgstr "%2$s принял ваше [url=%1$s]предложение о соединении[/url]." - -#: include/enotify.php:283 -msgid "" -"You are now mutual friends and may exchange status updates, photos, and " -"email without restriction." -msgstr "Вы теперь взаимные друзья и можете обмениваться статусами, фотографиями и письмами без ограничений." - -#: include/enotify.php:285 -#, php-format -msgid "Please visit %s if you wish to make any changes to this relationship." -msgstr "Посетите %s если вы хотите сделать изменения в этом отношении." - -#: include/enotify.php:298 -#, php-format -msgid "" -"'%1$s' has chosen to accept you a fan, which restricts some forms of " -"communication - such as private messaging and some profile interactions. If " -"this is a celebrity or community page, these settings were applied " -"automatically." -msgstr "%1$s решил принять приглашение и пометил вас как фаната, что запрещает некоторые формы общения - например, личные сообщения и некоторые действия с профилем. Если эта страница знаменитости или сообщества, то эти настройки были применены автоматически." - -#: include/enotify.php:300 -#, php-format -msgid "" -"'%1$s' may choose to extend this into a two-way or more permissive " -"relationship in the future." -msgstr "%1$s может расширить взаимоотношения до более мягких в будущем." - -#: include/enotify.php:302 -#, php-format -msgid "Please visit %s if you wish to make any changes to this relationship." -msgstr "Посетите %s если вы хотите сделать изменения в этом отношении." - -#: include/enotify.php:312 mod/removeme.php:63 -msgid "[Friendica System Notify]" -msgstr "[Системное уведомление Friendica]" - -#: include/enotify.php:312 -msgid "registration request" -msgstr "запрос регистрации" - -#: include/enotify.php:314 -#, php-format -msgid "You've received a registration request from '%1$s' at %2$s" -msgstr "Вы получили запрос на регистрацию от '%1$s' на %2$s" - -#: include/enotify.php:315 -#, php-format -msgid "You've received a [url=%1$s]registration request[/url] from %2$s." -msgstr "Вы получили [url=%1$s]запрос регистрации[/url] от %2$s." - -#: include/enotify.php:320 -#, php-format -msgid "" -"Full Name:\t%s\n" -"Site Location:\t%s\n" -"Login Name:\t%s (%s)" -msgstr "Полное имя:\t%s\nРасположение:\t%s\nИмя для входа:\t%s (%s)" - -#: include/enotify.php:326 -#, php-format -msgid "Please visit %s to approve or reject the request." -msgstr "Пожалуйста, посетите %s чтобы подтвердить или отвергнуть запрос." - -#: include/enotify.php:562 -#, php-format -msgid "%s %s tagged you" -msgstr "%s %s отметил(и) Вас" - -#: include/enotify.php:565 -#, php-format -msgid "%s %s shared a new post" -msgstr "%s %s поделился(-ась) новым сообщением" - #: mod/api.php:30 mod/editpost.php:38 mod/events.php:220 mod/follow.php:56 #: 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:908 +#: mod/ostatus_subscribe.php:32 mod/photos.php:160 mod/photos.php:900 #: mod/repair_ostatus.php:31 mod/settings.php:47 mod/settings.php:57 #: mod/settings.php:409 mod/suggest.php:34 mod/uimport.php:33 #: mod/unfollow.php:35 mod/unfollow.php:50 mod/unfollow.php:82 @@ -335,10 +72,10 @@ msgstr "%s %s поделился(-ась) новым сообщением" #: src/Module/BaseApi.php:97 src/Module/BaseApi.php:106 #: src/Module/BaseNotifications.php:88 src/Module/Contact.php:328 #: src/Module/Contact/Advanced.php:44 src/Module/Delegation.php:118 -#: src/Module/FollowConfirm.php:16 src/Module/FriendSuggest.php:44 +#: src/Module/FollowConfirm.php:17 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/Invite.php:130 src/Module/Notifications/Notification.php:48 +#: src/Module/Notifications/Notification.php:79 #: 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:64 src/Module/Register.php:77 @@ -346,12 +83,12 @@ msgstr "%s %s поделился(-ась) новым сообщением" #: 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 -#: src/Module/Settings/Profile/Photo/Crop.php:158 +#: src/Module/Settings/Profile/Photo/Crop.php:166 #: src/Module/Settings/Profile/Photo/Index.php:112 #: src/Module/Settings/UserExport.php:58 src/Module/Settings/UserExport.php:93 -#: src/Module/Settings/UserExport.php:199 -#: src/Module/Settings/UserExport.php:219 -#: src/Module/Settings/UserExport.php:284 +#: src/Module/Settings/UserExport.php:198 +#: src/Module/Settings/UserExport.php:218 +#: src/Module/Settings/UserExport.php:283 msgid "Permission denied." msgstr "Нет разрешения." @@ -364,8 +101,8 @@ msgstr "Нет разрешения." msgid "Access denied." msgstr "Доступ запрещен." -#: mod/cal.php:61 mod/cal.php:78 mod/photos.php:69 mod/photos.php:143 -#: mod/photos.php:815 src/Model/Profile.php:228 src/Module/HCard.php:52 +#: mod/cal.php:61 mod/cal.php:78 mod/photos.php:69 mod/photos.php:140 +#: mod/photos.php:807 src/Model/Profile.php:229 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/Media.php:38 src/Module/Profile/Status.php:58 @@ -381,8 +118,8 @@ msgstr "Доступ к этому профилю ограничен." #: mod/cal.php:242 mod/events.php:377 src/Content/Nav.php:194 #: src/Content/Nav.php:258 src/Module/BaseProfile.php:84 -#: src/Module/BaseProfile.php:95 view/theme/frio/theme.php:230 -#: view/theme/frio/theme.php:234 +#: src/Module/BaseProfile.php:95 view/theme/frio/theme.php:229 +#: view/theme/frio/theme.php:233 msgid "Events" msgstr "Мероприятия" @@ -440,7 +177,7 @@ msgstr "Нет данных для экспорта" msgid "calendar" msgstr "календарь" -#: mod/display.php:165 mod/photos.php:819 +#: mod/display.php:165 mod/photos.php:811 #: src/Module/Conversation/Community.php:176 src/Module/Debug/Probe.php:39 #: src/Module/Debug/WebFinger.php:38 src/Module/Directory.php:49 #: src/Module/Search/Index.php:50 src/Module/Search/Index.php:55 @@ -464,16 +201,16 @@ msgid "Edit post" msgstr "Редактировать запись" #: mod/editpost.php:91 mod/notes.php:56 src/Content/Text/HTML.php:885 -#: src/Module/Admin/Storage.php:135 src/Module/Filer/SaveTag.php:69 +#: src/Module/Admin/Storage.php:143 src/Module/Filer/SaveTag.php:69 msgid "Save" msgstr "Сохранить" -#: mod/editpost.php:92 mod/photos.php:1370 src/Content/Conversation.php:326 +#: mod/editpost.php:92 mod/photos.php:1347 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:198 mod/message.php:362 +#: mod/editpost.php:93 mod/message.php:198 mod/message.php:355 #: mod/wallmessage.php:139 src/Content/Conversation.php:327 msgid "Upload photo" msgstr "Загрузить фото" @@ -490,7 +227,7 @@ msgstr "Прикрепить файл" msgid "attach file" msgstr "приложить файл" -#: mod/editpost.php:97 mod/message.php:199 mod/message.php:363 +#: mod/editpost.php:97 mod/message.php:199 mod/message.php:356 #: mod/wallmessage.php:140 msgid "Insert web link" msgstr "Вставить веб-ссылку" @@ -532,8 +269,8 @@ msgstr "Очистить местонахождение браузера" msgid "clear location" msgstr "убрать местонахождение" -#: mod/editpost.php:107 mod/message.php:200 mod/message.php:365 -#: mod/photos.php:1521 mod/wallmessage.php:141 +#: mod/editpost.php:107 mod/message.php:200 mod/message.php:358 +#: mod/photos.php:1498 mod/wallmessage.php:141 #: src/Content/Conversation.php:355 src/Content/Conversation.php:689 #: src/Module/Item/Compose.php:165 src/Object/Post.php:502 msgid "Please wait" @@ -543,7 +280,7 @@ msgstr "Пожалуйста, подождите" msgid "Permission settings" msgstr "Настройки разрешений" -#: mod/editpost.php:116 src/Core/ACL.php:327 +#: mod/editpost.php:116 src/Core/ACL.php:325 msgid "CC: email addresses" msgstr "Копии на email адреса" @@ -561,25 +298,25 @@ msgstr "Установить заголовок" msgid "Categories (comma-separated list)" msgstr "Категории (список через запятую)" -#: mod/editpost.php:123 src/Core/ACL.php:328 +#: mod/editpost.php:123 src/Core/ACL.php:326 msgid "Example: bob@example.com, mary@example.com" msgstr "Пример: bob@example.com, mary@example.com" -#: mod/editpost.php:128 mod/events.php:517 mod/photos.php:1369 -#: mod/photos.php:1425 mod/photos.php:1499 src/Content/Conversation.php:370 +#: mod/editpost.php:128 mod/events.php:517 mod/photos.php:1346 +#: mod/photos.php:1402 mod/photos.php:1476 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:100 mod/fbrowser.php:127 -#: mod/follow.php:144 mod/photos.php:1017 mod/photos.php:1126 mod/tagrm.php:37 +#: mod/follow.php:144 mod/photos.php:1013 mod/photos.php:1114 mod/tagrm.php:37 #: mod/tagrm.php:129 mod/unfollow.php:97 src/Content/Conversation.php:373 #: src/Module/Contact/Revoke.php:99 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/Content/Widget/VCard.php:107 src/Model/Profile.php:460 #: src/Module/Admin/Logs/View.php:92 msgid "Message" msgstr "Сообщение" @@ -589,8 +326,8 @@ msgstr "Сообщение" msgid "Browser" msgstr "Браузер" -#: mod/editpost.php:136 mod/events.php:522 mod/photos.php:956 -#: mod/photos.php:1323 src/Content/Conversation.php:357 +#: mod/editpost.php:136 mod/events.php:522 mod/photos.php:948 +#: mod/photos.php:1300 src/Content/Conversation.php:357 msgid "Permissions" msgstr "Разрешения" @@ -649,13 +386,13 @@ msgid "Event Finishes:" msgstr "Окончание мероприятия:" #: mod/events.php:506 src/Module/Profile/Profile.php:172 -#: src/Module/Settings/Profile/Index.php:236 +#: src/Module/Settings/Profile/Index.php:239 msgid "Description:" msgstr "Описание:" #: mod/events.php:508 src/Content/Widget/VCard.php:98 src/Model/Event.php:80 #: src/Model/Event.php:107 src/Model/Event.php:466 src/Model/Event.php:915 -#: src/Model/Profile.php:367 src/Module/Contact.php:565 +#: src/Model/Profile.php:368 src/Module/Contact.php:565 #: src/Module/Directory.php:150 src/Module/Notifications/Introductions.php:165 #: src/Module/Profile/Profile.php:194 msgid "Location:" @@ -669,19 +406,19 @@ msgstr "Титул:" msgid "Share this event" msgstr "Поделиться этим мероприятием" -#: mod/events.php:519 mod/message.php:201 mod/message.php:364 -#: mod/photos.php:938 mod/photos.php:1039 mod/photos.php:1327 -#: mod/photos.php:1368 mod/photos.php:1424 mod/photos.php:1498 +#: mod/events.php:519 mod/message.php:201 mod/message.php:357 +#: mod/photos.php:930 mod/photos.php:1034 mod/photos.php:1304 +#: mod/photos.php:1345 mod/photos.php:1401 mod/photos.php:1475 #: src/Module/Admin/Item/Source.php:65 src/Module/Contact.php:523 #: 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:147 src/Module/FriendSuggest.php:129 +#: src/Module/Delegation.php:147 src/Module/FriendSuggest.php:128 #: 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:963 +#: src/Module/Settings/Profile/Index.php:223 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" @@ -691,7 +428,7 @@ msgstr "Отправить" msgid "Basic" msgstr "Базовый" -#: mod/events.php:521 src/Module/Admin/Site.php:505 src/Module/Contact.php:880 +#: mod/events.php:521 src/Module/Admin/Site.php:507 src/Module/Contact.php:863 #: src/Module/Profile/Profile.php:249 msgid "Advanced" msgstr "Расширенный" @@ -701,7 +438,7 @@ msgid "Failed to remove event" msgstr "Ошибка удаления события" #: mod/fbrowser.php:43 src/Content/Nav.php:192 src/Module/BaseProfile.php:64 -#: view/theme/frio/theme.php:228 +#: view/theme/frio/theme.php:227 msgid "Photos" msgstr "Фото" @@ -735,7 +472,7 @@ 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:1071 src/Model/Contact.php:1083 +#: src/Model/Contact.php:1072 src/Model/Contact.php:1084 #: view/theme/vier/theme.php:172 msgid "Connect/Follow" msgstr "Подключиться/Подписаться" @@ -749,7 +486,7 @@ msgid "Your Identity Address:" msgstr "Ваш адрес:" #: mod/follow.php:141 mod/unfollow.php:100 -#: src/Module/Admin/Blocklist/Contact.php:100 src/Module/Contact.php:561 +#: src/Module/Admin/Blocklist/Contact.php:116 src/Module/Contact.php:561 #: src/Module/Notifications/Introductions.php:107 #: src/Module/Notifications/Introductions.php:176 msgid "Profile URL" @@ -771,7 +508,7 @@ msgid "Add a personal note:" msgstr "Добавить личную заметку:" #: mod/follow.php:163 mod/unfollow.php:109 src/Module/BaseProfile.php:59 -#: src/Module/Contact.php:850 +#: src/Module/Contact.php:833 msgid "Status Messages and Posts" msgstr "Ваши записи" @@ -973,11 +710,11 @@ msgstr "Неудача коллекции сообщения." #: mod/message.php:120 src/Module/Notifications/Introductions.php:113 #: src/Module/Notifications/Introductions.php:148 -#: src/Module/Notifications/Notification.php:56 +#: src/Module/Notifications/Notification.php:57 msgid "Discard" msgstr "Отказаться" -#: mod/message.php:133 src/Content/Nav.php:283 view/theme/frio/theme.php:235 +#: mod/message.php:133 src/Content/Nav.php:283 view/theme/frio/theme.php:234 msgid "Messages" msgstr "Сообщения" @@ -993,7 +730,7 @@ msgstr "Сообщение не было удалено." msgid "Conversation was not removed." msgstr "Беседа не была удалена." -#: mod/message.php:180 mod/message.php:293 mod/wallmessage.php:123 +#: mod/message.php:180 mod/message.php:286 mod/wallmessage.php:123 msgid "Please enter a link URL:" msgstr "Пожалуйста, введите URL ссылки:" @@ -1001,65 +738,65 @@ msgstr "Пожалуйста, введите URL ссылки:" msgid "Send Private Message" msgstr "Отправить личное сообщение" -#: mod/message.php:190 mod/message.php:354 mod/wallmessage.php:130 +#: mod/message.php:190 mod/message.php:347 mod/wallmessage.php:130 msgid "To:" msgstr "Кому:" -#: mod/message.php:191 mod/message.php:355 mod/wallmessage.php:131 +#: mod/message.php:191 mod/message.php:348 mod/wallmessage.php:131 msgid "Subject:" msgstr "Тема:" -#: mod/message.php:195 mod/message.php:358 mod/wallmessage.php:137 +#: mod/message.php:195 mod/message.php:351 mod/wallmessage.php:137 #: src/Module/Invite.php:170 msgid "Your message:" msgstr "Ваше сообщение:" -#: mod/message.php:229 +#: mod/message.php:222 msgid "No messages." msgstr "Нет сообщений." -#: mod/message.php:285 +#: mod/message.php:278 msgid "Message not available." msgstr "Сообщение не доступно." -#: mod/message.php:330 +#: mod/message.php:323 msgid "Delete message" msgstr "Удалить сообщение" -#: mod/message.php:332 mod/message.php:464 +#: mod/message.php:325 mod/message.php:457 msgid "D, d M Y - g:i A" msgstr "D, d M Y - g:i A" -#: mod/message.php:347 mod/message.php:461 +#: mod/message.php:340 mod/message.php:454 msgid "Delete conversation" msgstr "Удалить историю общения" -#: mod/message.php:349 +#: mod/message.php:342 msgid "" "No secure communications available. You may be able to " "respond from the sender's profile page." msgstr "Невозможно защищённое соединение. Вы имеете возможность ответить со страницы профиля отправителя." -#: mod/message.php:353 +#: mod/message.php:346 msgid "Send Reply" msgstr "Отправить ответ" -#: mod/message.php:435 +#: mod/message.php:428 #, php-format msgid "Unknown sender - %s" msgstr "Неизвестный отправитель - %s" -#: mod/message.php:437 +#: mod/message.php:430 #, php-format msgid "You and %s" msgstr "Вы и %s" -#: mod/message.php:439 +#: mod/message.php:432 #, php-format msgid "%s and You" msgstr "%s и Вы" -#: mod/message.php:467 +#: mod/message.php:460 #, php-format msgid "%d message" msgid_plural "%d messages" @@ -1124,269 +861,269 @@ msgstr "игнорирован" msgid "Keep this window open until done." msgstr "Держать окно открытым до завершения." -#: mod/photos.php:111 src/Module/BaseProfile.php:67 +#: mod/photos.php:108 src/Module/BaseProfile.php:67 msgid "Photo Albums" msgstr "Фотоальбомы" -#: mod/photos.php:112 mod/photos.php:1623 +#: mod/photos.php:109 mod/photos.php:1593 msgid "Recent Photos" msgstr "Последние фото" -#: mod/photos.php:114 mod/photos.php:1090 mod/photos.php:1625 +#: mod/photos.php:111 mod/photos.php:1082 mod/photos.php:1595 msgid "Upload New Photos" msgstr "Загрузить новые фото" -#: mod/photos.php:132 src/Module/BaseSettings.php:37 +#: mod/photos.php:129 src/Module/BaseSettings.php:37 msgid "everybody" msgstr "все" -#: mod/photos.php:170 +#: mod/photos.php:167 msgid "Contact information unavailable" msgstr "Информация о контакте недоступна" -#: mod/photos.php:204 +#: mod/photos.php:196 msgid "Album not found." msgstr "Альбом не найден." -#: mod/photos.php:258 +#: mod/photos.php:250 msgid "Album successfully deleted" msgstr "Альбом успешно удалён" -#: mod/photos.php:260 +#: mod/photos.php:252 msgid "Album was empty." msgstr "Альбом был пуст." -#: mod/photos.php:292 +#: mod/photos.php:284 msgid "Failed to delete the photo." msgstr "Не получилось удалить фото." -#: mod/photos.php:567 +#: mod/photos.php:559 msgid "a photo" msgstr "фото" -#: mod/photos.php:567 +#: mod/photos.php:559 #, php-format msgid "%1$s was tagged in %2$s by %3$s" msgstr "%1$s отмечен/а/ в %2$s by %3$s" -#: mod/photos.php:650 mod/photos.php:653 mod/photos.php:680 +#: mod/photos.php:642 mod/photos.php:645 mod/photos.php:672 #: mod/wall_upload.php:207 src/Module/Settings/Profile/Photo/Index.php:60 #, php-format msgid "Image exceeds size limit of %s" msgstr "Изображение превышает лимит размера в %s" -#: mod/photos.php:656 +#: mod/photos.php:648 msgid "Image upload didn't complete, please try again" msgstr "Не получилось загрузить изображение, попробуйте снова" -#: mod/photos.php:659 +#: mod/photos.php:651 msgid "Image file is missing" msgstr "Файл изображения не найден" -#: mod/photos.php:664 +#: mod/photos.php:656 msgid "" "Server can't accept new file upload at this time, please contact your " "administrator" msgstr "Сервер не принимает новые файлы для загрузки в настоящий момент, пожалуйста, свяжитесь с администратором" -#: mod/photos.php:688 +#: mod/photos.php:680 msgid "Image file is empty." msgstr "Файл изображения пуст." -#: mod/photos.php:703 mod/wall_upload.php:166 +#: mod/photos.php:695 mod/wall_upload.php:166 #: src/Module/Settings/Profile/Photo/Index.php:69 msgid "Unable to process image." msgstr "Невозможно обработать фото." -#: mod/photos.php:732 mod/wall_upload.php:232 +#: mod/photos.php:724 mod/wall_upload.php:232 #: src/Module/Settings/Profile/Photo/Index.php:96 msgid "Image upload failed." msgstr "Загрузка фото неудачная." -#: mod/photos.php:824 +#: mod/photos.php:816 msgid "No photos selected" msgstr "Не выбрано фото." -#: mod/photos.php:893 +#: mod/photos.php:885 msgid "Access to this item is restricted." msgstr "Доступ к этому пункту ограничен." -#: mod/photos.php:948 +#: mod/photos.php:940 msgid "Upload Photos" msgstr "Загрузить фото" -#: mod/photos.php:952 mod/photos.php:1035 +#: mod/photos.php:944 mod/photos.php:1030 msgid "New album name: " msgstr "Название нового альбома: " -#: mod/photos.php:953 +#: mod/photos.php:945 msgid "or select existing album:" msgstr "или выберите имеющийся альбом:" -#: mod/photos.php:954 +#: mod/photos.php:946 msgid "Do not show a status post for this upload" msgstr "Не показывать статус-сообщение для этой закачки" -#: mod/photos.php:1015 +#: mod/photos.php:1011 msgid "Do you really want to delete this photo album and all its photos?" msgstr "Вы действительно хотите удалить этот альбом и все его фотографии?" -#: mod/photos.php:1016 mod/photos.php:1040 +#: mod/photos.php:1012 mod/photos.php:1035 msgid "Delete Album" msgstr "Удалить альбом" -#: mod/photos.php:1046 +#: mod/photos.php:1039 msgid "Edit Album" msgstr "Редактировать альбом" -#: mod/photos.php:1047 +#: mod/photos.php:1040 msgid "Drop Album" msgstr "Удалить альбом" -#: mod/photos.php:1052 +#: mod/photos.php:1044 msgid "Show Newest First" msgstr "Показать новые первыми" -#: mod/photos.php:1054 +#: mod/photos.php:1046 msgid "Show Oldest First" msgstr "Показать старые первыми" -#: mod/photos.php:1075 mod/photos.php:1608 +#: mod/photos.php:1067 mod/photos.php:1578 msgid "View Photo" msgstr "Просмотр фото" -#: mod/photos.php:1112 +#: mod/photos.php:1100 msgid "Permission denied. Access to this item may be restricted." msgstr "Нет разрешения. Доступ к этому элементу ограничен." -#: mod/photos.php:1114 +#: mod/photos.php:1102 msgid "Photo not available" msgstr "Фото недоступно" -#: mod/photos.php:1124 +#: mod/photos.php:1112 msgid "Do you really want to delete this photo?" msgstr "Вы действительно хотите удалить эту фотографию?" -#: mod/photos.php:1125 mod/photos.php:1328 +#: mod/photos.php:1113 mod/photos.php:1305 msgid "Delete Photo" msgstr "Удалить фото" -#: mod/photos.php:1219 +#: mod/photos.php:1203 msgid "View photo" msgstr "Просмотр фото" -#: mod/photos.php:1221 +#: mod/photos.php:1205 msgid "Edit photo" msgstr "Редактировать фото" -#: mod/photos.php:1222 +#: mod/photos.php:1206 msgid "Delete photo" msgstr "Удалить фото" -#: mod/photos.php:1223 +#: mod/photos.php:1207 msgid "Use as profile photo" msgstr "Использовать как фото профиля" -#: mod/photos.php:1230 +#: mod/photos.php:1214 msgid "Private Photo" msgstr "Закрытое фото" -#: mod/photos.php:1236 +#: mod/photos.php:1220 msgid "View Full Size" msgstr "Просмотреть полный размер" -#: mod/photos.php:1296 +#: mod/photos.php:1273 msgid "Tags: " msgstr "Ключевые слова: " -#: mod/photos.php:1299 +#: mod/photos.php:1276 msgid "[Select tags to remove]" msgstr "[выберите тэги для удаления]" -#: mod/photos.php:1314 +#: mod/photos.php:1291 msgid "New album name" msgstr "Название нового альбома" -#: mod/photos.php:1315 +#: mod/photos.php:1292 msgid "Caption" msgstr "Подпись" -#: mod/photos.php:1316 +#: mod/photos.php:1293 msgid "Add a Tag" msgstr "Добавить тег" -#: mod/photos.php:1316 +#: mod/photos.php:1293 msgid "" "Example: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping" msgstr "Пример: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping" -#: mod/photos.php:1317 +#: mod/photos.php:1294 msgid "Do not rotate" msgstr "Не поворачивать" -#: mod/photos.php:1318 +#: mod/photos.php:1295 msgid "Rotate CW (right)" msgstr "Поворот по часовой стрелке (направо)" -#: mod/photos.php:1319 +#: mod/photos.php:1296 msgid "Rotate CCW (left)" msgstr "Поворот против часовой стрелки (налево)" -#: mod/photos.php:1365 mod/photos.php:1421 mod/photos.php:1495 -#: src/Module/Contact.php:1010 src/Module/Item/Compose.php:148 +#: mod/photos.php:1342 mod/photos.php:1398 mod/photos.php:1472 +#: src/Module/Contact.php:993 src/Module/Item/Compose.php:148 #: src/Object/Post.php:960 msgid "This is you" msgstr "Это вы" -#: mod/photos.php:1367 mod/photos.php:1423 mod/photos.php:1497 +#: mod/photos.php:1344 mod/photos.php:1400 mod/photos.php:1474 #: src/Object/Post.php:496 src/Object/Post.php:962 msgid "Comment" msgstr "Комментировать" -#: mod/photos.php:1456 src/Content/Conversation.php:615 +#: mod/photos.php:1433 src/Content/Conversation.php:615 #: src/Object/Post.php:227 msgid "Select" msgstr "Выберите" -#: mod/photos.php:1457 mod/settings.php:563 src/Content/Conversation.php:616 +#: mod/photos.php:1434 mod/settings.php:563 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 msgid "Delete" msgstr "Удалить" -#: mod/photos.php:1518 src/Object/Post.php:349 +#: mod/photos.php:1495 src/Object/Post.php:349 msgid "Like" msgstr "Нравится" -#: mod/photos.php:1519 src/Object/Post.php:349 +#: mod/photos.php:1496 src/Object/Post.php:349 msgid "I like this (toggle)" msgstr "Нравится" -#: mod/photos.php:1520 src/Object/Post.php:350 +#: mod/photos.php:1497 src/Object/Post.php:350 msgid "Dislike" msgstr "Не нравится" -#: mod/photos.php:1522 src/Object/Post.php:350 +#: mod/photos.php:1499 src/Object/Post.php:350 msgid "I don't like this (toggle)" msgstr "Не нравится" -#: mod/photos.php:1544 +#: mod/photos.php:1521 msgid "Map" msgstr "Карта" -#: mod/photos.php:1614 +#: mod/photos.php:1584 msgid "View Album" msgstr "Просмотреть альбом" -#: mod/ping.php:286 +#: mod/ping.php:275 msgid "{0} wants to be your friend" msgstr "{0} хочет стать Вашим другом" -#: mod/ping.php:303 +#: mod/ping.php:292 msgid "{0} requested registration" msgstr "{0} требуемая регистрация" -#: mod/ping.php:316 +#: mod/ping.php:305 #, php-format msgid "{0} and %d others requested registration" msgstr "" @@ -1398,10 +1135,14 @@ msgstr "Ошибочный запрос." #: mod/redir.php:55 mod/redir.php:129 src/Module/Contact/Advanced.php:54 #: src/Module/Contact/Advanced.php:105 src/Module/Contact/Contacts.php:36 #: src/Module/Contact/Media.php:43 src/Module/FriendSuggest.php:54 -#: src/Module/FriendSuggest.php:93 src/Module/Group.php:105 +#: src/Module/FriendSuggest.php:92 src/Module/Group.php:105 msgid "Contact not found." msgstr "Контакт не найден." +#: mod/removeme.php:63 src/Navigation/Notifications/Repository/Notify.php:454 +msgid "[Friendica System Notify]" +msgstr "[Системное уведомление Friendica]" + #: mod/removeme.php:63 msgid "User deleted their account" msgstr "Пользователь удалил свою учётную запись" @@ -1512,7 +1253,7 @@ msgstr "Настройки не были изменены." msgid "Connected Apps" msgstr "Подключенные приложения" -#: mod/settings.php:429 src/Module/Admin/Blocklist/Contact.php:90 +#: mod/settings.php:429 src/Module/Admin/Blocklist/Contact.php:106 #: src/Module/Admin/Users/Active.php:129 #: src/Module/Admin/Users/Blocked.php:130 src/Module/Admin/Users/Create.php:71 #: src/Module/Admin/Users/Deleted.php:88 src/Module/Admin/Users/Index.php:142 @@ -1547,7 +1288,7 @@ msgstr "Дополнительные возможности" #: mod/settings.php:474 mod/settings.php:565 mod/settings.php:702 #: src/Module/Admin/Addons/Index.php:69 src/Module/Admin/Features.php:87 -#: src/Module/Admin/Logs/Settings.php:82 src/Module/Admin/Site.php:500 +#: src/Module/Admin/Logs/Settings.php:82 src/Module/Admin/Site.php:502 #: src/Module/Admin/Themes/Index.php:113 src/Module/Admin/Tos.php:66 #: src/Module/Settings/Delegation.php:170 src/Module/Settings/Display.php:194 msgid "Save Settings" @@ -1725,7 +1466,7 @@ msgstr "Переместить в папку:" msgid "Unable to find your profile. Please contact your admin." msgstr "Не получается найти ваш профиль. Пожалуйста свяжитесь с администратором." -#: mod/settings.php:616 src/Content/Widget.php:533 +#: mod/settings.php:616 src/Content/Widget.php:526 msgid "Account Types" msgstr "Тип учетной записи" @@ -2138,7 +1879,7 @@ msgstr "" #: mod/settings.php:764 msgid "Someone liked your content" -msgstr "" +msgstr "Ваш комментарий понравился" #: mod/settings.php:765 msgid "Someone shared your content" @@ -2227,7 +1968,7 @@ msgstr "Нет предложений. Если это новый сайт, по msgid "Friend Suggestions" msgstr "Предложения друзей" -#: mod/tagger.php:79 src/Content/Item.php:346 src/Model/Item.php:2624 +#: mod/tagger.php:79 src/Content/Item.php:346 src/Model/Item.php:2626 msgid "photo" msgstr "фото" @@ -2310,21 +2051,17 @@ msgstr "Отписка в настоящий момент не предусмо msgid "Disconnect/Unfollow" msgstr "Отсоединиться/Отписаться" -#: mod/unfollow.php:147 -msgid "Unfollowing is currently not supported by this contact's network." -msgstr "" - -#: mod/unfollow.php:151 +#: mod/unfollow.php:146 msgid "" "Unable to unfollow this contact, please retry in a few minutes or contact " "your administrator." msgstr "" -#: mod/unfollow.php:155 +#: mod/unfollow.php:148 msgid "Contact was successfully unfollowed" msgstr "" -#: mod/unfollow.php:159 +#: mod/unfollow.php:152 msgid "Unable to unfollow this contact, please contact your administrator" msgstr "" @@ -2351,7 +2088,7 @@ msgstr "Файл превышает лимит размера в %s" msgid "File upload failed." msgstr "Загрузка файла не удалась." -#: mod/wall_upload.php:224 src/Model/Photo.php:998 +#: mod/wall_upload.php:224 src/Model/Photo.php:987 msgid "Wall Photos" msgstr "Фото стены" @@ -2375,11 +2112,11 @@ msgid "" "your site allow private mail from unknown senders." msgstr "Если Вы хотите ответить %s, пожалуйста, проверьте, позволяют ли настройки конфиденциальности на Вашем сайте принимать личные сообщения от неизвестных отправителей." -#: src/App.php:456 +#: src/App.php:455 msgid "No system theme config value set." msgstr "Настройки системной темы не установлены." -#: src/App/Module.php:240 +#: src/App/Module.php:241 msgid "You must be logged in to use addons. " msgstr "Вы должны войти в систему, чтобы использовать аддоны." @@ -2416,19 +2153,19 @@ msgstr "Ключ формы безопасности неправильный. msgid "All contacts" msgstr "Все контакты" -#: src/BaseModule.php:212 src/Content/Widget.php:238 src/Core/ACL.php:195 -#: src/Module/Contact.php:773 src/Module/PermissionTooltip.php:77 -#: src/Module/PermissionTooltip.php:99 +#: src/BaseModule.php:212 src/Content/Widget.php:231 src/Core/ACL.php:193 +#: src/Module/Contact.php:756 src/Module/PermissionTooltip.php:79 +#: src/Module/PermissionTooltip.php:101 msgid "Followers" msgstr "Подписаны на вас" -#: src/BaseModule.php:217 src/Content/Widget.php:239 -#: src/Module/Contact.php:774 +#: src/BaseModule.php:217 src/Content/Widget.php:232 +#: src/Module/Contact.php:757 msgid "Following" msgstr "Ваши подписки" -#: src/BaseModule.php:222 src/Content/Widget.php:240 -#: src/Module/Contact.php:775 +#: src/BaseModule.php:222 src/Content/Widget.php:233 +#: src/Module/Contact.php:758 msgid "Mutual friends" msgstr "Взаимные друзья" @@ -2464,7 +2201,7 @@ msgid "Could not find any contact entry for this URL (%s)" msgstr "Не удалось найти контактных данных по этой ссылке (%s)" #: src/Console/GlobalCommunityBlock.php:101 -#: src/Module/Admin/Blocklist/Contact.php:47 +#: src/Module/Admin/Blocklist/Contact.php:66 msgid "The contact has been blocked from the node" msgstr "Контакт был заблокирован на узле." @@ -2996,7 +2733,7 @@ msgid "Display membership date in profile" msgstr "Дата вашей регистрации будет отображаться в вашем профиле" #: src/Content/ForumManager.php:145 src/Content/Nav.php:239 -#: src/Content/Text/HTML.php:906 src/Content/Widget.php:530 +#: src/Content/Text/HTML.php:906 src/Content/Widget.php:523 msgid "Forums" msgstr "Форумы" @@ -3004,12 +2741,12 @@ msgstr "Форумы" msgid "External link to forum" msgstr "Внешняя ссылка на форум" -#: src/Content/ForumManager.php:150 src/Content/Widget.php:509 +#: src/Content/ForumManager.php:150 src/Content/Widget.php:502 msgid "show less" -msgstr "" +msgstr "показать меньше" -#: src/Content/ForumManager.php:151 src/Content/Widget.php:411 -#: src/Content/Widget.php:510 +#: src/Content/ForumManager.php:151 src/Content/Widget.php:404 +#: src/Content/Widget.php:503 msgid "show more" msgstr "показать больше" @@ -3018,55 +2755,55 @@ msgstr "показать больше" msgid "%1$s poked %2$s" msgstr "%1$s ткнул %2$s" -#: src/Content/Item.php:338 src/Model/Item.php:2622 +#: src/Content/Item.php:338 src/Model/Item.php:2624 msgid "event" msgstr "мероприятие" -#: src/Content/Item.php:442 view/theme/frio/theme.php:323 +#: src/Content/Item.php:442 view/theme/frio/theme.php:254 msgid "Follow Thread" msgstr "Подписаться на обсуждение" -#: src/Content/Item.php:443 src/Model/Contact.php:1076 +#: src/Content/Item.php:443 src/Model/Contact.php:1077 msgid "View Status" msgstr "Просмотреть статус" #: src/Content/Item.php:444 src/Content/Item.php:466 -#: src/Model/Contact.php:1010 src/Model/Contact.php:1068 -#: src/Model/Contact.php:1077 src/Module/Directory.php:160 -#: src/Module/Settings/Profile/Index.php:223 +#: src/Model/Contact.php:1011 src/Model/Contact.php:1069 +#: src/Model/Contact.php:1078 src/Module/Directory.php:160 +#: src/Module/Settings/Profile/Index.php:226 msgid "View Profile" msgstr "Просмотреть профиль" -#: src/Content/Item.php:445 src/Model/Contact.php:1078 +#: src/Content/Item.php:445 src/Model/Contact.php:1079 msgid "View Photos" msgstr "Просмотреть фото" -#: src/Content/Item.php:446 src/Model/Contact.php:1069 -#: src/Model/Contact.php:1079 +#: src/Content/Item.php:446 src/Model/Contact.php:1070 +#: src/Model/Contact.php:1080 msgid "Network Posts" msgstr "Записи сети" -#: src/Content/Item.php:447 src/Model/Contact.php:1070 -#: src/Model/Contact.php:1080 +#: src/Content/Item.php:447 src/Model/Contact.php:1071 +#: src/Model/Contact.php:1081 msgid "View Contact" msgstr "Просмотреть контакт" -#: src/Content/Item.php:448 src/Model/Contact.php:1081 +#: src/Content/Item.php:448 src/Model/Contact.php:1082 msgid "Send PM" msgstr "Отправить ЛС" -#: src/Content/Item.php:449 src/Module/Admin/Blocklist/Contact.php:84 +#: src/Content/Item.php:449 src/Module/Admin/Blocklist/Contact.php:100 #: src/Module/Admin/Users/Active.php:140 src/Module/Admin/Users/Index.php:154 -#: src/Module/Contact.php:544 src/Module/Contact.php:804 -#: src/Module/Contact.php:1081 +#: src/Module/Contact.php:544 src/Module/Contact.php:787 +#: src/Module/Contact.php:1064 msgid "Block" msgstr "Заблокировать" #: src/Content/Item.php:450 src/Module/Contact.php:545 -#: src/Module/Contact.php:805 src/Module/Contact.php:1089 +#: src/Module/Contact.php:788 src/Module/Contact.php:1072 #: src/Module/Notifications/Introductions.php:112 #: src/Module/Notifications/Introductions.php:184 -#: src/Module/Notifications/Notification.php:59 +#: src/Module/Notifications/Notification.php:61 msgid "Ignore" msgstr "Игнорировать" @@ -3074,7 +2811,7 @@ msgstr "Игнорировать" msgid "Languages" msgstr "Языки" -#: src/Content/Item.php:458 src/Model/Contact.php:1082 +#: src/Content/Item.php:458 src/Model/Contact.php:1083 msgid "Poke" msgstr "потыкать" @@ -3112,40 +2849,42 @@ msgid "Sign in" msgstr "Вход" #: src/Content/Nav.php:190 src/Module/BaseProfile.php:56 -#: src/Module/Contact.php:576 src/Module/Contact.php:839 -#: src/Module/Settings/TwoFactor/Index.php:112 view/theme/frio/theme.php:226 +#: src/Module/Contact.php:576 src/Module/Contact.php:822 +#: src/Module/Settings/TwoFactor/Index.php:112 view/theme/frio/theme.php:225 msgid "Status" msgstr "Записи" #: src/Content/Nav.php:190 src/Content/Nav.php:273 -#: view/theme/frio/theme.php:226 +#: view/theme/frio/theme.php:225 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:578 -#: src/Module/Contact.php:863 src/Module/Profile/Profile.php:241 -#: src/Module/Welcome.php:57 view/theme/frio/theme.php:227 +#: src/Module/Contact.php:846 src/Module/Profile/Profile.php:241 +#: src/Module/Welcome.php:57 view/theme/frio/theme.php:226 msgid "Profile" msgstr "Информация" -#: src/Content/Nav.php:191 view/theme/frio/theme.php:227 +#: src/Content/Nav.php:191 view/theme/frio/theme.php:226 msgid "Your profile page" msgstr "Информация о вас" -#: src/Content/Nav.php:192 view/theme/frio/theme.php:228 +#: src/Content/Nav.php:192 view/theme/frio/theme.php:227 msgid "Your photos" msgstr "Ваши фотографии" -#: src/Content/Nav.php:193 view/theme/frio/theme.php:229 -msgid "Videos" -msgstr "Видео" +#: src/Content/Nav.php:193 src/Module/BaseProfile.php:72 +#: src/Module/BaseProfile.php:75 src/Module/Contact.php:838 +#: view/theme/frio/theme.php:228 +msgid "Media" +msgstr "" -#: src/Content/Nav.php:193 view/theme/frio/theme.php:229 -msgid "Your videos" -msgstr "Ваши видео" +#: src/Content/Nav.php:193 view/theme/frio/theme.php:228 +msgid "Your postings with media" +msgstr "" -#: src/Content/Nav.php:194 view/theme/frio/theme.php:230 +#: src/Content/Nav.php:194 view/theme/frio/theme.php:229 msgid "Your events" msgstr "Ваши события" @@ -3210,8 +2949,8 @@ msgstr "Тэги" #: src/Content/Nav.php:235 src/Content/Nav.php:294 #: src/Content/Text/HTML.php:902 src/Module/BaseProfile.php:125 -#: src/Module/BaseProfile.php:128 src/Module/Contact.php:776 -#: src/Module/Contact.php:870 view/theme/frio/theme.php:237 +#: src/Module/BaseProfile.php:128 src/Module/Contact.php:759 +#: src/Module/Contact.php:853 view/theme/frio/theme.php:236 msgid "Contacts" msgstr "Контакты" @@ -3224,7 +2963,7 @@ msgid "Conversations on this and other servers" msgstr "Диалоги на этом и других серверах" #: src/Content/Nav.php:258 src/Module/BaseProfile.php:87 -#: src/Module/BaseProfile.php:98 view/theme/frio/theme.php:234 +#: src/Module/BaseProfile.php:98 view/theme/frio/theme.php:233 msgid "Events and Calendar" msgstr "Календарь и события" @@ -3254,11 +2993,11 @@ msgstr "Условия оказания услуг" msgid "Terms of Service of this Friendica instance" msgstr "Условия оказания услуг для этого узла Friendica" -#: src/Content/Nav.php:271 view/theme/frio/theme.php:233 +#: src/Content/Nav.php:271 view/theme/frio/theme.php:232 msgid "Network" msgstr "Новости" -#: src/Content/Nav.php:271 view/theme/frio/theme.php:233 +#: src/Content/Nav.php:271 view/theme/frio/theme.php:232 msgid "Conversations from your friends" msgstr "Сообщения ваших друзей" @@ -3283,7 +3022,7 @@ msgstr "Посмотреть все уведомления" msgid "Mark all system notifications seen" msgstr "Отметить все системные уведомления, как прочитанные" -#: src/Content/Nav.php:283 view/theme/frio/theme.php:235 +#: src/Content/Nav.php:283 view/theme/frio/theme.php:234 msgid "Private mail" msgstr "Личная почта" @@ -3305,15 +3044,15 @@ msgstr "Управление другими страницами" #: src/Content/Nav.php:292 src/Module/Admin/Addons/Details.php:114 #: src/Module/Admin/Themes/Details.php:93 src/Module/BaseSettings.php:124 -#: src/Module/Welcome.php:52 view/theme/frio/theme.php:236 +#: src/Module/Welcome.php:52 view/theme/frio/theme.php:235 msgid "Settings" msgstr "Настройки" -#: src/Content/Nav.php:292 view/theme/frio/theme.php:236 +#: src/Content/Nav.php:292 view/theme/frio/theme.php:235 msgid "Account settings" msgstr "Настройки аккаунта" -#: src/Content/Nav.php:294 view/theme/frio/theme.php:237 +#: src/Content/Nav.php:294 view/theme/frio/theme.php:236 msgid "Manage/edit friends and contacts" msgstr "Управление / редактирование друзей и контактов" @@ -3357,8 +3096,8 @@ msgstr "след." msgid "last" msgstr "последний" -#: src/Content/Text/BBCode.php:987 src/Content/Text/BBCode.php:1775 -#: src/Content/Text/BBCode.php:1776 +#: src/Content/Text/BBCode.php:987 src/Content/Text/BBCode.php:1781 +#: src/Content/Text/BBCode.php:1782 msgid "Image/photo" msgstr "Изображение / Фото" @@ -3367,28 +3106,28 @@ msgstr "Изображение / Фото" msgid "%2$s %3$s" msgstr "%2$s %3$s" -#: src/Content/Text/BBCode.php:1185 src/Model/Item.php:3152 -#: src/Model/Item.php:3158 src/Model/Item.php:3159 +#: src/Content/Text/BBCode.php:1185 src/Model/Item.php:3154 +#: src/Model/Item.php:3160 src/Model/Item.php:3161 msgid "Link to source" msgstr "Ссылка на источник" -#: src/Content/Text/BBCode.php:1693 src/Content/Text/HTML.php:943 +#: src/Content/Text/BBCode.php:1699 src/Content/Text/HTML.php:943 msgid "Click to open/close" msgstr "Нажмите, чтобы открыть / закрыть" -#: src/Content/Text/BBCode.php:1724 +#: src/Content/Text/BBCode.php:1730 msgid "$1 wrote:" msgstr "$1 написал:" -#: src/Content/Text/BBCode.php:1780 src/Content/Text/BBCode.php:1781 +#: src/Content/Text/BBCode.php:1786 src/Content/Text/BBCode.php:1787 msgid "Encrypted content" msgstr "Зашифрованный контент" -#: src/Content/Text/BBCode.php:1996 +#: src/Content/Text/BBCode.php:2002 msgid "Invalid source protocol" msgstr "Неправильный протокол источника" -#: src/Content/Text/BBCode.php:2011 +#: src/Content/Text/BBCode.php:2017 msgid "Invalid link protocol" msgstr "Неправильная протокольная ссылка" @@ -3401,7 +3140,7 @@ msgid "The end" msgstr "Конец" #: src/Content/Text/HTML.php:885 src/Content/Widget/VCard.php:103 -#: src/Model/Profile.php:453 +#: src/Model/Profile.php:454 msgid "Follow" msgstr "Подписаться" @@ -3442,7 +3181,7 @@ msgstr "Введите имя или интерес" msgid "Examples: Robert Morgenstein, Fishing" msgstr "Примеры: Роберт Morgenstein, Рыбалка" -#: src/Content/Widget.php:78 src/Module/Contact.php:797 +#: src/Content/Widget.php:78 src/Module/Contact.php:780 #: src/Module/Directory.php:99 view/theme/vier/theme.php:174 msgid "Find" msgstr "Найти" @@ -3468,45 +3207,45 @@ msgstr "Глобальный каталог" msgid "Local Directory" msgstr "Локальный каталог" -#: src/Content/Widget.php:214 src/Model/Group.php:535 -#: src/Module/Contact.php:760 src/Module/Welcome.php:76 +#: src/Content/Widget.php:207 src/Model/Group.php:535 +#: src/Module/Contact.php:743 src/Module/Welcome.php:76 msgid "Groups" msgstr "Группы" -#: src/Content/Widget.php:216 +#: src/Content/Widget.php:209 msgid "Everyone" msgstr "Все" -#: src/Content/Widget.php:245 +#: src/Content/Widget.php:238 msgid "Relationships" msgstr "Отношения" -#: src/Content/Widget.php:247 src/Module/Contact.php:712 +#: src/Content/Widget.php:240 src/Module/Contact.php:695 #: src/Module/Group.php:292 msgid "All Contacts" msgstr "Все контакты" -#: src/Content/Widget.php:286 +#: src/Content/Widget.php:279 msgid "Protocols" msgstr "Протоколы" -#: src/Content/Widget.php:288 +#: src/Content/Widget.php:281 msgid "All Protocols" msgstr "Все протоколы" -#: src/Content/Widget.php:316 +#: src/Content/Widget.php:309 msgid "Saved Folders" msgstr "Сохранённые папки" -#: src/Content/Widget.php:318 src/Content/Widget.php:352 +#: src/Content/Widget.php:311 src/Content/Widget.php:345 msgid "Everything" msgstr "Всё" -#: src/Content/Widget.php:350 +#: src/Content/Widget.php:343 msgid "Categories" msgstr "Категории" -#: src/Content/Widget.php:407 +#: src/Content/Widget.php:400 #, php-format msgid "%d contact in common" msgid_plural "%d contacts in common" @@ -3515,23 +3254,23 @@ msgstr[1] "%d Контактов" msgstr[2] "%d Контактов" msgstr[3] "%d Контактов" -#: src/Content/Widget.php:503 +#: src/Content/Widget.php:496 msgid "Archives" msgstr "Архивы" -#: src/Content/Widget.php:527 +#: src/Content/Widget.php:520 msgid "Persons" msgstr "Люди" -#: src/Content/Widget.php:528 +#: src/Content/Widget.php:521 msgid "Organisations" msgstr "Организации" -#: src/Content/Widget.php:529 src/Model/Contact.php:1503 +#: src/Content/Widget.php:522 src/Model/Contact.php:1506 msgid "News" msgstr "Новости" -#: src/Content/Widget.php:534 src/Module/Admin/BaseUsers.php:50 +#: src/Content/Widget.php:527 src/Module/Admin/BaseUsers.php:50 msgid "All" msgstr "Все" @@ -3585,68 +3324,68 @@ msgstr[3] "Популярные тэги (за %d часов)" msgid "More Trending Tags" msgstr "Больше популярных тэгов" -#: src/Content/Widget/VCard.php:96 src/Model/Profile.php:372 +#: src/Content/Widget/VCard.php:96 src/Model/Profile.php:373 #: src/Module/Contact.php:567 src/Module/Profile/Profile.php:176 msgid "XMPP:" msgstr "XMPP:" -#: src/Content/Widget/VCard.php:97 src/Model/Profile.php:373 +#: src/Content/Widget/VCard.php:97 src/Model/Profile.php:374 #: src/Module/Contact.php:569 src/Module/Profile/Profile.php:180 msgid "Matrix:" msgstr "Matrix:" -#: src/Content/Widget/VCard.php:101 src/Model/Profile.php:465 +#: src/Content/Widget/VCard.php:101 src/Model/Profile.php:466 #: src/Module/Notifications/Introductions.php:179 msgid "Network:" msgstr "Сеть:" -#: src/Content/Widget/VCard.php:105 src/Model/Profile.php:455 +#: src/Content/Widget/VCard.php:105 src/Model/Profile.php:456 msgid "Unfollow" msgstr "Отписаться" -#: src/Core/ACL.php:166 src/Module/Profile/Profile.php:242 +#: src/Core/ACL.php:164 src/Module/Profile/Profile.php:242 msgid "Yourself" msgstr "Вы" -#: src/Core/ACL.php:202 src/Module/PermissionTooltip.php:83 -#: src/Module/PermissionTooltip.php:105 +#: src/Core/ACL.php:200 src/Module/PermissionTooltip.php:85 +#: src/Module/PermissionTooltip.php:107 msgid "Mutuals" msgstr "Взаимные" -#: src/Core/ACL.php:294 +#: src/Core/ACL.php:292 msgid "Post to Email" msgstr "Отправить на Email" -#: src/Core/ACL.php:321 +#: src/Core/ACL.php:319 msgid "Public" msgstr "Публично" -#: src/Core/ACL.php:322 +#: src/Core/ACL.php:320 msgid "" "This content will be shown to all your followers and can be seen in the " "community pages and by anyone with its link." msgstr "Это будет показано всем вашим подписчикам и так же будет доступно в общей ленте и по прямой ссылке." -#: src/Core/ACL.php:323 +#: src/Core/ACL.php:321 msgid "Limited/Private" msgstr "Ограниченный доступ" -#: src/Core/ACL.php:324 +#: src/Core/ACL.php:322 msgid "" "This content will be shown only to the people in the first box, to the " "exception of the people mentioned in the second box. It won't appear " "anywhere public." msgstr "Это будет доступно только получателям, перечисленным в первом поле, за исключением тех, кто добавлен во второе поле. Нигде в открытом доступе это не появится." -#: src/Core/ACL.php:325 +#: src/Core/ACL.php:323 msgid "Show to:" msgstr "Доступно:" -#: src/Core/ACL.php:326 +#: src/Core/ACL.php:324 msgid "Except to:" msgstr "За исключением:" -#: src/Core/ACL.php:329 +#: src/Core/ACL.php:327 msgid "Connectors" msgstr "Соединители" @@ -4175,6 +3914,20 @@ msgstr "" msgid "template engine is not registered!" msgstr "" +#: src/Core/Storage/Type/FilesystemConfig.php:78 +msgid "Storage base path" +msgstr "Корневой каталог хранилища" + +#: src/Core/Storage/Type/FilesystemConfig.php:80 +msgid "" +"Folder where uploaded files are saved. For maximum security, This should be " +"a path outside web server folder tree" +msgstr "Каталог, куда сохраняются загруженные файлы. Для максимальной безопасности этот каталог должен быть размещён вне каталогов веб-сервера." + +#: src/Core/Storage/Type/FilesystemConfig.php:93 +msgid "Enter a valid existing folder" +msgstr "Введите путь к существующему каталогу" + #: src/Core/Update.php:67 #, php-format msgid "" @@ -4230,24 +3983,24 @@ msgid "" "\t\t\t\t\tThe friendica database was successfully updated from %s to %s." msgstr "\n\t\t\t\t\tБаза данных Френдики была успешно обновлена с версии %s на %s." -#: src/Core/UserImport.php:126 +#: src/Core/UserImport.php:125 msgid "Error decoding account file" msgstr "Ошибка расшифровки файла аккаунта" -#: src/Core/UserImport.php:132 +#: src/Core/UserImport.php:131 msgid "Error! No version data in file! This is not a Friendica account file?" msgstr "Ошибка! Неправильная версия данных в файле! Это не файл аккаунта Friendica?" -#: src/Core/UserImport.php:140 +#: src/Core/UserImport.php:139 #, php-format msgid "User '%s' already exists on this server!" msgstr "Пользователь '%s' уже существует на этом сервере!" -#: src/Core/UserImport.php:176 +#: src/Core/UserImport.php:175 msgid "User creation error" msgstr "Ошибка создания пользователя" -#: src/Core/UserImport.php:221 +#: src/Core/UserImport.php:220 #, php-format msgid "%d contact not imported" msgid_plural "%d contacts not imported" @@ -4256,11 +4009,11 @@ msgstr[1] "%d контакты не импортированы" msgstr[2] "%d контакты не импортированы" msgstr[3] "%d контакты не импортированы" -#: src/Core/UserImport.php:274 +#: src/Core/UserImport.php:273 msgid "User profile creation error" msgstr "Ошибка создания профиля пользователя" -#: src/Core/UserImport.php:330 +#: src/Core/UserImport.php:326 msgid "Done. You can now login with your username and password" msgstr "Завершено. Теперь вы можете войти с вашим логином и паролем" @@ -4344,88 +4097,87 @@ msgstr "Внутренняя ошибка сервера" msgid "Legacy module file not found: %s" msgstr "Legacy-модуль не найден: %s" -#: src/Model/Contact.php:1072 src/Model/Contact.php:1084 +#: src/Model/Contact.php:1073 src/Model/Contact.php:1085 msgid "UnFollow" msgstr "Отписаться" -#: src/Model/Contact.php:1090 src/Module/Admin/Users/Pending.php:107 +#: src/Model/Contact.php:1091 src/Module/Admin/Users/Pending.php:107 #: src/Module/Notifications/Introductions.php:110 #: src/Module/Notifications/Introductions.php:182 msgid "Approve" msgstr "Одобрить" -#: src/Model/Contact.php:1499 +#: src/Model/Contact.php:1502 msgid "Organisation" msgstr "Организация" -#: src/Model/Contact.php:1507 +#: src/Model/Contact.php:1510 msgid "Forum" msgstr "Форум" -#: src/Model/Contact.php:2363 +#: src/Model/Contact.php:2380 msgid "Disallowed profile URL." msgstr "Запрещенный URL профиля." -#: src/Model/Contact.php:2368 src/Module/Friendica.php:81 +#: src/Model/Contact.php:2385 src/Module/Friendica.php:81 msgid "Blocked domain" msgstr "Заблокированный домен" -#: src/Model/Contact.php:2373 +#: src/Model/Contact.php:2390 msgid "Connect URL missing." msgstr "Connect-URL отсутствует." -#: src/Model/Contact.php:2382 +#: src/Model/Contact.php:2399 msgid "" "The contact could not be added. Please check the relevant network " "credentials in your Settings -> Social Networks page." msgstr "Контакт не может быть добавлен. Пожалуйста проверьте учётные данные на странице Настройки -> Социальные сети." -#: src/Model/Contact.php:2419 +#: src/Model/Contact.php:2436 msgid "The profile address specified does not provide adequate information." msgstr "Указанный адрес профиля не дает адекватной информации." -#: src/Model/Contact.php:2421 +#: src/Model/Contact.php:2438 msgid "No compatible communication protocols or feeds were discovered." msgstr "Обнаружены несовместимые протоколы связи или каналы." -#: src/Model/Contact.php:2424 +#: src/Model/Contact.php:2441 msgid "An author or name was not found." msgstr "Автор или имя не найдены." -#: src/Model/Contact.php:2427 +#: src/Model/Contact.php:2444 msgid "No browser URL could be matched to this address." msgstr "Нет URL браузера, который соответствует этому адресу." -#: src/Model/Contact.php:2430 +#: src/Model/Contact.php:2447 msgid "" "Unable to match @-style Identity Address with a known protocol or email " "contact." msgstr "Не получается совместить этот адрес с известным протоколом или контактом электронной почты." -#: src/Model/Contact.php:2431 +#: src/Model/Contact.php:2448 msgid "Use mailto: in front of address to force email check." msgstr "Bcgjkmpeqnt mailto: перед адресом для быстрого доступа к email." -#: src/Model/Contact.php:2437 +#: src/Model/Contact.php:2454 msgid "" "The profile address specified belongs to a network which has been disabled " "on this site." msgstr "Указанный адрес профиля принадлежит сети, недоступной на этом сайта." -#: src/Model/Contact.php:2442 +#: src/Model/Contact.php:2459 msgid "" "Limited profile. This person will be unable to receive direct/personal " "notifications from you." msgstr "Ограниченный профиль. Этот человек не сможет получить прямые / личные уведомления от вас." -#: src/Model/Contact.php:2501 +#: src/Model/Contact.php:2518 msgid "Unable to retrieve contact information." msgstr "Невозможно получить контактную информацию." -#: src/Model/Event.php:52 src/Model/Event.php:853 -#: src/Module/Debug/Localtime.php:38 -msgid "l F d, Y \\@ g:i A" -msgstr "l F d, Y \\@ g:i A" +#: src/Model/Event.php:52 +msgid "l F d, Y \\@ g:i A \\G\\M\\TP (e)" +msgstr "" #: src/Model/Event.php:73 src/Model/Event.php:90 src/Model/Event.php:464 #: src/Model/Event.php:897 @@ -4465,6 +4217,10 @@ msgstr "Дубликат события" msgid "Delete event" msgstr "Удалить событие" +#: src/Model/Event.php:853 src/Module/Debug/Localtime.php:38 +msgid "l F d, Y \\@ g:i A" +msgstr "l F d, Y \\@ g:i A" + #: src/Model/Event.php:854 msgid "D g:i A" msgstr "D g:i A" @@ -4535,33 +4291,33 @@ msgstr "Название группы: " msgid "Edit groups" msgstr "Редактировать группы" -#: src/Model/Item.php:1676 +#: src/Model/Item.php:1677 #, php-format msgid "Detected languages in this post:\\n%s" msgstr "Обнаруженные в этой записи языки:\\n%s" -#: src/Model/Item.php:2626 +#: src/Model/Item.php:2628 msgid "activity" msgstr "активность" -#: src/Model/Item.php:2628 +#: src/Model/Item.php:2630 msgid "comment" msgstr "" -#: src/Model/Item.php:2631 +#: src/Model/Item.php:2633 msgid "post" msgstr "пост" -#: src/Model/Item.php:2768 +#: src/Model/Item.php:2770 #, php-format msgid "Content warning: %s" msgstr "Предупреждение о контенте: %s" -#: src/Model/Item.php:3117 +#: src/Model/Item.php:3119 msgid "bytes" msgstr "байт" -#: src/Model/Item.php:3146 src/Model/Item.php:3147 +#: src/Model/Item.php:3148 src/Model/Item.php:3149 msgid "View on separate page" msgstr "Посмотреть в отдельной вкладке" @@ -4569,81 +4325,147 @@ msgstr "Посмотреть в отдельной вкладке" msgid "[no subject]" msgstr "[без темы]" -#: src/Model/Profile.php:355 src/Module/Profile/Profile.php:256 +#: src/Model/Profile.php:356 src/Module/Profile/Profile.php:256 #: src/Module/Profile/Profile.php:258 msgid "Edit profile" msgstr "Редактировать профиль" -#: src/Model/Profile.php:357 +#: src/Model/Profile.php:358 msgid "Change profile photo" msgstr "Изменить фото профиля" -#: src/Model/Profile.php:370 src/Module/Directory.php:155 +#: src/Model/Profile.php:371 src/Module/Directory.php:155 #: src/Module/Profile/Profile.php:184 msgid "Homepage:" msgstr "Домашняя страничка:" -#: src/Model/Profile.php:371 src/Module/Contact.php:571 +#: src/Model/Profile.php:372 src/Module/Contact.php:571 #: src/Module/Notifications/Introductions.php:167 msgid "About:" msgstr "О себе:" -#: src/Model/Profile.php:457 +#: src/Model/Profile.php:458 msgid "Atom feed" msgstr "Фид Atom" -#: src/Model/Profile.php:495 src/Model/Profile.php:592 +#: src/Model/Profile.php:496 src/Model/Profile.php:593 msgid "g A l F d" msgstr "g A l F d" -#: src/Model/Profile.php:496 +#: src/Model/Profile.php:497 msgid "F d" msgstr "F d" -#: src/Model/Profile.php:558 src/Model/Profile.php:643 +#: src/Model/Profile.php:559 src/Model/Profile.php:644 msgid "[today]" msgstr "[сегодня]" -#: src/Model/Profile.php:568 +#: src/Model/Profile.php:569 msgid "Birthday Reminders" msgstr "Напоминания о днях рождения" -#: src/Model/Profile.php:569 +#: src/Model/Profile.php:570 msgid "Birthdays this week:" msgstr "Дни рождения на этой неделе:" -#: src/Model/Profile.php:630 +#: src/Model/Profile.php:631 msgid "[No description]" msgstr "[без описания]" -#: src/Model/Profile.php:656 +#: src/Model/Profile.php:657 msgid "Event Reminders" msgstr "Напоминания о мероприятиях" -#: src/Model/Profile.php:657 +#: src/Model/Profile.php:658 msgid "Upcoming events the next 7 days:" msgstr "События на ближайшие 7 дней:" -#: src/Model/Profile.php:845 +#: src/Model/Profile.php:846 #, php-format msgid "OpenWebAuth: %1$s welcomes %2$s" msgstr "OpenWebAuth: %1$s приветствует %2$s" -#: src/Model/Storage/Filesystem.php:187 -msgid "Storage base path" -msgstr "Корневой каталог хранилища" +#: src/Model/Profile.php:978 +msgid "Hometown:" +msgstr "Родной город:" -#: src/Model/Storage/Filesystem.php:189 -msgid "" -"Folder where uploaded files are saved. For maximum security, This should be " -"a path outside web server folder tree" -msgstr "Каталог, куда сохраняются загруженные файлы. Для максимальной безопасности этот каталог должен быть размещён вне каталогов веб-сервера." +#: src/Model/Profile.php:979 +msgid "Marital Status:" +msgstr "Семейное положение:" -#: src/Model/Storage/Filesystem.php:202 -msgid "Enter a valid existing folder" -msgstr "Введите путь к существующему каталогу" +#: src/Model/Profile.php:980 +msgid "With:" +msgstr "Вместе:" -#: src/Model/User.php:208 src/Model/User.php:1046 +#: src/Model/Profile.php:981 +msgid "Since:" +msgstr "С:" + +#: src/Model/Profile.php:982 +msgid "Sexual Preference:" +msgstr "Сексуальные предпочтения:" + +#: src/Model/Profile.php:983 +msgid "Political Views:" +msgstr "Политические взгляды:" + +#: src/Model/Profile.php:984 +msgid "Religious Views:" +msgstr "Религиозные взгляды:" + +#: src/Model/Profile.php:985 +msgid "Likes:" +msgstr "Нравится:" + +#: src/Model/Profile.php:986 +msgid "Dislikes:" +msgstr "Не нравится:" + +#: src/Model/Profile.php:987 +msgid "Title/Description:" +msgstr "Заголовок / Описание:" + +#: src/Model/Profile.php:988 src/Module/Admin/Summary.php:234 +msgid "Summary" +msgstr "Резюме" + +#: src/Model/Profile.php:989 +msgid "Musical interests" +msgstr "Музыкальные интересы" + +#: src/Model/Profile.php:990 +msgid "Books, literature" +msgstr "Книги, литература" + +#: src/Model/Profile.php:991 +msgid "Television" +msgstr "Телевидение" + +#: src/Model/Profile.php:992 +msgid "Film/dance/culture/entertainment" +msgstr "Кино / танцы / культура / развлечения" + +#: src/Model/Profile.php:993 +msgid "Hobbies/Interests" +msgstr "Хобби / Интересы" + +#: src/Model/Profile.php:994 +msgid "Love/romance" +msgstr "Любовь / романтика" + +#: src/Model/Profile.php:995 +msgid "Work/employment" +msgstr "Работа / занятость" + +#: src/Model/Profile.php:996 +msgid "School/education" +msgstr "Школа / образование" + +#: src/Model/Profile.php:997 +msgid "Contact information and Social Networks" +msgstr "Контактная информация и социальные сети" + +#: src/Model/User.php:208 src/Model/User.php:1050 msgid "SERIOUS ERROR: Generation of security keys failed." msgstr "СЕРЬЕЗНАЯ ОШИБКА: генерация ключей безопасности не удалась." @@ -4674,44 +4496,44 @@ msgid "" "The password can't contain accentuated letters, white spaces or colons (:)" msgstr "Пароль не может содержать символы с акцентами, пробелы или двоеточия (:)" -#: src/Model/User.php:926 +#: src/Model/User.php:930 msgid "Passwords do not match. Password unchanged." msgstr "Пароли не совпадают. Пароль не изменен." -#: src/Model/User.php:933 +#: src/Model/User.php:937 msgid "An invitation is required." msgstr "Требуется приглашение." -#: src/Model/User.php:937 +#: src/Model/User.php:941 msgid "Invitation could not be verified." msgstr "Приглашение не может быть проверено." -#: src/Model/User.php:945 +#: src/Model/User.php:949 msgid "Invalid OpenID url" msgstr "Неверный URL OpenID" -#: src/Model/User.php:958 src/Security/Authentication.php:223 +#: src/Model/User.php:962 src/Security/Authentication.php:224 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:958 src/Security/Authentication.php:223 +#: src/Model/User.php:962 src/Security/Authentication.php:224 msgid "The error message was:" msgstr "Сообщение об ошибке было:" -#: src/Model/User.php:964 +#: src/Model/User.php:968 msgid "Please enter the required information." msgstr "Пожалуйста, введите необходимую информацию." -#: src/Model/User.php:978 +#: src/Model/User.php:982 #, 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:985 +#: src/Model/User.php:989 #, php-format msgid "Username should be at least %s character." msgid_plural "Username should be at least %s characters." @@ -4720,7 +4542,7 @@ msgstr[1] "Имя пользователя должно быть хотя бы % msgstr[2] "Имя пользователя должно быть хотя бы %s символов." msgstr[3] "Имя пользователя должно быть хотя бы %s символов." -#: src/Model/User.php:989 +#: src/Model/User.php:993 #, php-format msgid "Username should be at most %s character." msgid_plural "Username should be at most %s characters." @@ -4729,56 +4551,60 @@ msgstr[1] "Имя пользователя должно быть не больш msgstr[2] "Имя пользователя должно быть не больше %s символов." msgstr[3] "Имя пользователя должно быть не больше %s символов." -#: src/Model/User.php:997 +#: src/Model/User.php:1001 msgid "That doesn't appear to be your full (First Last) name." msgstr "Кажется, что это ваше неполное (Имя Фамилия) имя." -#: src/Model/User.php:1002 +#: src/Model/User.php:1006 msgid "Your email domain is not among those allowed on this site." msgstr "Домен вашего адреса электронной почты не относится к числу разрешенных на этом сайте." -#: src/Model/User.php:1006 +#: src/Model/User.php:1010 msgid "Not a valid email address." msgstr "Неверный адрес электронной почты." -#: src/Model/User.php:1009 +#: src/Model/User.php:1013 msgid "The nickname was blocked from registration by the nodes admin." msgstr "Этот ник был заблокирован для регистрации администратором узла." -#: src/Model/User.php:1013 src/Model/User.php:1021 +#: src/Model/User.php:1017 src/Model/User.php:1025 msgid "Cannot use that email." msgstr "Нельзя использовать этот Email." -#: src/Model/User.php:1028 +#: src/Model/User.php:1032 msgid "Your nickname can only contain a-z, 0-9 and _." msgstr "Ваш ник может содержать только символы a-z, 0-9 и _." -#: src/Model/User.php:1036 src/Model/User.php:1093 +#: src/Model/User.php:1040 src/Model/User.php:1097 msgid "Nickname is already registered. Please choose another." msgstr "Такой ник уже зарегистрирован. Пожалуйста, выберите другой." -#: src/Model/User.php:1080 src/Model/User.php:1084 +#: src/Model/User.php:1084 src/Model/User.php:1088 msgid "An error occurred during registration. Please try again." msgstr "Ошибка при регистрации. Пожалуйста, попробуйте еще раз." -#: src/Model/User.php:1107 +#: src/Model/User.php:1111 msgid "An error occurred creating your default profile. Please try again." msgstr "Ошибка создания вашего профиля. Пожалуйста, попробуйте еще раз." -#: src/Model/User.php:1114 +#: src/Model/User.php:1118 msgid "An error occurred creating your self contact. Please try again." msgstr "При создании вашего контакта возникла проблема. Пожалуйста, попробуйте ещё раз." -#: src/Model/User.php:1119 +#: src/Model/User.php:1123 msgid "Friends" msgstr "Друзья" -#: src/Model/User.php:1123 +#: src/Model/User.php:1127 msgid "" "An error occurred creating your default contact group. Please try again." msgstr "При создании группы контактов по-умолчанию возникла ошибка. Пожалуйста, попробуйте ещё раз." -#: src/Model/User.php:1352 +#: src/Model/User.php:1165 +msgid "Profile Photos" +msgstr "Фотографии профиля" + +#: src/Model/User.php:1359 #, php-format msgid "" "\n" @@ -4786,7 +4612,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:1355 +#: src/Model/User.php:1362 #, php-format msgid "" "\n" @@ -4818,12 +4644,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:1388 src/Model/User.php:1495 +#: src/Model/User.php:1395 src/Model/User.php:1502 #, php-format msgid "Registration details for %s" msgstr "Подробности регистрации для %s" -#: src/Model/User.php:1408 +#: src/Model/User.php:1415 #, php-format msgid "" "\n" @@ -4838,12 +4664,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:1427 +#: src/Model/User.php:1434 #, php-format msgid "Registration at %s" msgstr "Регистрация на %s" -#: src/Model/User.php:1451 +#: src/Model/User.php:1458 #, php-format msgid "" "\n" @@ -4852,7 +4678,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:1459 +#: src/Model/User.php:1466 #, php-format msgid "" "\n" @@ -4910,12 +4736,12 @@ msgstr "Включить" #: src/Module/Admin/Addons/Details.php:111 #: src/Module/Admin/Addons/Index.php:67 -#: src/Module/Admin/Blocklist/Contact.php:78 +#: src/Module/Admin/Blocklist/Contact.php:94 #: 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: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/Queue.php:72 src/Module/Admin/Site.php:499 +#: src/Module/Admin/Storage.php:139 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 @@ -4979,8 +4805,8 @@ msgstr "" msgid "List of active accounts" msgstr "" -#: src/Module/Admin/BaseUsers.php:66 src/Module/Contact.php:720 -#: src/Module/Contact.php:780 +#: src/Module/Admin/BaseUsers.php:66 src/Module/Contact.php:703 +#: src/Module/Contact.php:763 msgid "Pending" msgstr "В ожидании" @@ -4988,8 +4814,8 @@ msgstr "В ожидании" msgid "List of pending registrations" msgstr "" -#: src/Module/Admin/BaseUsers.php:74 src/Module/Contact.php:728 -#: src/Module/Contact.php:781 +#: src/Module/Admin/BaseUsers.php:74 src/Module/Contact.php:711 +#: src/Module/Contact.php:764 msgid "Blocked" msgstr "Заблокированы" @@ -5013,7 +4839,11 @@ msgstr "Закрытый форум" msgid "Relay" msgstr "Ретранслятор" -#: src/Module/Admin/Blocklist/Contact.php:57 +#: src/Module/Admin/Blocklist/Contact.php:54 +msgid "You can't block a local contact, please block the user instead" +msgstr "" + +#: src/Module/Admin/Blocklist/Contact.php:73 #, php-format msgid "%s contact unblocked" msgid_plural "%s contacts unblocked" @@ -5022,59 +4852,59 @@ msgstr[1] "%s контакта разблокированы" msgstr[2] "%s контактов разблокировано" msgstr[3] "%s контактов разблокировано" -#: src/Module/Admin/Blocklist/Contact.php:79 +#: src/Module/Admin/Blocklist/Contact.php:95 msgid "Remote Contact Blocklist" msgstr "Чёрный список удалённых контактов" -#: src/Module/Admin/Blocklist/Contact.php:80 +#: src/Module/Admin/Blocklist/Contact.php:96 msgid "" "This page allows you to prevent any message from a remote contact to reach " "your node." msgstr "На этой странице вы можете заблокировать приём вашим узлом любых записей от определённых контактов." -#: src/Module/Admin/Blocklist/Contact.php:81 +#: src/Module/Admin/Blocklist/Contact.php:97 msgid "Block Remote Contact" msgstr "Заблокировать удалённый контакт" -#: src/Module/Admin/Blocklist/Contact.php:82 +#: src/Module/Admin/Blocklist/Contact.php:98 #: src/Module/Admin/Users/Active.php:138 #: src/Module/Admin/Users/Blocked.php:139 src/Module/Admin/Users/Index.php:151 #: src/Module/Admin/Users/Pending.php:103 msgid "select all" msgstr "выбрать все" -#: src/Module/Admin/Blocklist/Contact.php:83 +#: src/Module/Admin/Blocklist/Contact.php:99 msgid "select none" msgstr "сбросить выбор" -#: src/Module/Admin/Blocklist/Contact.php:85 +#: src/Module/Admin/Blocklist/Contact.php:101 #: src/Module/Admin/Users/Blocked.php:142 src/Module/Admin/Users/Index.php:156 -#: src/Module/Contact.php:544 src/Module/Contact.php:804 -#: src/Module/Contact.php:1081 +#: src/Module/Contact.php:544 src/Module/Contact.php:787 +#: src/Module/Contact.php:1064 msgid "Unblock" msgstr "Разблокировать" -#: src/Module/Admin/Blocklist/Contact.php:86 +#: src/Module/Admin/Blocklist/Contact.php:102 msgid "No remote contact is blocked from this node." msgstr "Для этого узла нет заблокированных контактов." -#: src/Module/Admin/Blocklist/Contact.php:88 +#: src/Module/Admin/Blocklist/Contact.php:104 msgid "Blocked Remote Contacts" msgstr "Заблокированные контакты" -#: src/Module/Admin/Blocklist/Contact.php:89 +#: src/Module/Admin/Blocklist/Contact.php:105 msgid "Block New Remote Contact" msgstr "Заблокировать новый контакт" -#: src/Module/Admin/Blocklist/Contact.php:90 +#: src/Module/Admin/Blocklist/Contact.php:106 msgid "Photo" msgstr "Фото" -#: src/Module/Admin/Blocklist/Contact.php:90 +#: src/Module/Admin/Blocklist/Contact.php:106 msgid "Reason" msgstr "Причина" -#: src/Module/Admin/Blocklist/Contact.php:98 +#: src/Module/Admin/Blocklist/Contact.php:114 #, php-format msgid "%s total blocked contact" msgid_plural "%s total blocked contacts" @@ -5083,11 +4913,21 @@ msgstr[1] "%s заблокированных контакта" msgstr[2] "%s заблокированных контактов" msgstr[3] "%s заблокированных контактов" -#: src/Module/Admin/Blocklist/Contact.php:100 +#: src/Module/Admin/Blocklist/Contact.php:116 msgid "URL of the remote contact to block." msgstr "URL блокируемого контакта." -#: src/Module/Admin/Blocklist/Contact.php:101 +#: src/Module/Admin/Blocklist/Contact.php:117 +msgid "Also purge contact" +msgstr "" + +#: src/Module/Admin/Blocklist/Contact.php:117 +msgid "" +"Removes all content related to this contact from the node. Keeps the contact" +" record. This action canoot be undone." +msgstr "" + +#: src/Module/Admin/Blocklist/Contact.php:118 msgid "Block Reason" msgstr "Причина блокировки" @@ -5536,453 +5376,453 @@ msgstr "Невозможно определить базовый URL. Он до msgid "Relocation started. Could take a while to complete." msgstr "Перемещение начато. Это может занять много времени." -#: src/Module/Admin/Site.php:402 src/Module/Settings/Display.php:139 +#: src/Module/Admin/Site.php:404 src/Module/Settings/Display.php:139 msgid "No special theme for mobile devices" msgstr "Нет специальной темы для мобильных устройств" -#: src/Module/Admin/Site.php:419 src/Module/Settings/Display.php:149 +#: src/Module/Admin/Site.php:421 src/Module/Settings/Display.php:149 #, php-format msgid "%s - (Experimental)" msgstr "%s - (экспериментально)" -#: src/Module/Admin/Site.php:431 +#: src/Module/Admin/Site.php:433 msgid "No community page for local users" msgstr "Нет общей ленты записей локальных пользователей" -#: src/Module/Admin/Site.php:432 +#: src/Module/Admin/Site.php:434 msgid "No community page" msgstr "Нет общей ленты записей" -#: src/Module/Admin/Site.php:433 +#: src/Module/Admin/Site.php:435 msgid "Public postings from users of this site" msgstr "Публичные записи от пользователей этого узла" -#: src/Module/Admin/Site.php:434 +#: src/Module/Admin/Site.php:436 msgid "Public postings from the federated network" msgstr "Публичные записи федеративной сети" -#: src/Module/Admin/Site.php:435 +#: src/Module/Admin/Site.php:437 msgid "Public postings from local users and the federated network" msgstr "Публичные записи от местных пользователей и федеративной сети." -#: src/Module/Admin/Site.php:441 +#: src/Module/Admin/Site.php:443 msgid "Multi user instance" msgstr "Многопользовательский вид" -#: src/Module/Admin/Site.php:468 +#: src/Module/Admin/Site.php:470 msgid "Closed" msgstr "Закрыто" -#: src/Module/Admin/Site.php:469 +#: src/Module/Admin/Site.php:471 msgid "Requires approval" msgstr "Требуется подтверждение" -#: src/Module/Admin/Site.php:470 +#: src/Module/Admin/Site.php:472 msgid "Open" msgstr "Открыто" -#: src/Module/Admin/Site.php:474 src/Module/Install.php:215 +#: src/Module/Admin/Site.php:476 src/Module/Install.php:215 msgid "No SSL policy, links will track page SSL state" msgstr "Нет режима SSL, состояние SSL не будет отслеживаться" -#: src/Module/Admin/Site.php:475 src/Module/Install.php:216 +#: src/Module/Admin/Site.php:477 src/Module/Install.php:216 msgid "Force all links to use SSL" msgstr "Заставить все ссылки использовать SSL" -#: src/Module/Admin/Site.php:476 src/Module/Install.php:217 +#: src/Module/Admin/Site.php:478 src/Module/Install.php:217 msgid "Self-signed certificate, use SSL for local links only (discouraged)" msgstr "Само-подписанный сертификат, использовать SSL только локально (не рекомендуется)" -#: src/Module/Admin/Site.php:480 +#: src/Module/Admin/Site.php:482 msgid "Don't check" msgstr "Не проверять" -#: src/Module/Admin/Site.php:481 +#: src/Module/Admin/Site.php:483 msgid "check the stable version" msgstr "проверить стабильную версию" -#: src/Module/Admin/Site.php:482 +#: src/Module/Admin/Site.php:484 msgid "check the development version" msgstr "проверить development-версию" -#: src/Module/Admin/Site.php:486 +#: src/Module/Admin/Site.php:488 msgid "none" msgstr "нет" -#: src/Module/Admin/Site.php:487 +#: src/Module/Admin/Site.php:489 msgid "Local contacts" msgstr "Местные контакты" -#: src/Module/Admin/Site.php:488 +#: src/Module/Admin/Site.php:490 msgid "Interactors" msgstr "" -#: src/Module/Admin/Site.php:498 src/Module/BaseAdmin.php:90 +#: src/Module/Admin/Site.php:500 src/Module/BaseAdmin.php:90 msgid "Site" msgstr "Сайт" -#: src/Module/Admin/Site.php:499 +#: src/Module/Admin/Site.php:501 msgid "General Information" msgstr "" -#: src/Module/Admin/Site.php:501 +#: src/Module/Admin/Site.php:503 msgid "Republish users to directory" msgstr "Переопубликовать пользователей в каталог" -#: src/Module/Admin/Site.php:502 src/Module/Register.php:141 +#: src/Module/Admin/Site.php:504 src/Module/Register.php:141 msgid "Registration" msgstr "Регистрация" -#: src/Module/Admin/Site.php:503 +#: src/Module/Admin/Site.php:505 msgid "File upload" msgstr "Загрузка файлов" -#: src/Module/Admin/Site.php:504 +#: src/Module/Admin/Site.php:506 msgid "Policies" msgstr "Политики" -#: src/Module/Admin/Site.php:506 +#: src/Module/Admin/Site.php:508 msgid "Auto Discovered Contact Directory" msgstr "Каталог автообнаружения контактов" -#: src/Module/Admin/Site.php:507 +#: src/Module/Admin/Site.php:509 msgid "Performance" msgstr "Производительность" -#: src/Module/Admin/Site.php:508 +#: src/Module/Admin/Site.php:510 msgid "Worker" msgstr "Обработчик" -#: src/Module/Admin/Site.php:509 +#: src/Module/Admin/Site.php:511 msgid "Message Relay" msgstr "Ретранслятор записей" -#: src/Module/Admin/Site.php:510 +#: src/Module/Admin/Site.php:512 msgid "" "Use the command \"console relay\" in the command line to add or remove " "relays." msgstr "" -#: src/Module/Admin/Site.php:511 +#: src/Module/Admin/Site.php:513 msgid "The system is not subscribed to any relays at the moment." msgstr "" -#: src/Module/Admin/Site.php:512 +#: src/Module/Admin/Site.php:514 msgid "The system is currently subscribed to the following relays:" msgstr "" -#: src/Module/Admin/Site.php:514 +#: src/Module/Admin/Site.php:516 msgid "Relocate Instance" msgstr "Переместить узел" -#: src/Module/Admin/Site.php:515 +#: src/Module/Admin/Site.php:517 msgid "" "Warning! Advanced function. Could make this server " "unreachable." msgstr "Внимание! Опасная функция. Может сделать этот сервер недоступным." -#: src/Module/Admin/Site.php:519 +#: src/Module/Admin/Site.php:521 msgid "Site name" msgstr "Название сайта" -#: src/Module/Admin/Site.php:520 +#: src/Module/Admin/Site.php:522 msgid "Sender Email" msgstr "Системный Email" -#: src/Module/Admin/Site.php:520 +#: src/Module/Admin/Site.php:522 msgid "" "The email address your server shall use to send notification emails from." msgstr "Адрес с которого будут приходить письма пользователям." -#: src/Module/Admin/Site.php:521 +#: src/Module/Admin/Site.php:523 msgid "Name of the system actor" msgstr "" -#: src/Module/Admin/Site.php:521 +#: src/Module/Admin/Site.php:523 msgid "" "Name of the internal system account that is used to perform ActivityPub " "requests. This must be an unused username. If set, this can't be changed " "again." msgstr "" -#: src/Module/Admin/Site.php:522 +#: src/Module/Admin/Site.php:524 msgid "Banner/Logo" msgstr "Баннер/Логотип" -#: src/Module/Admin/Site.php:523 +#: src/Module/Admin/Site.php:525 msgid "Email Banner/Logo" msgstr "Лого для писем" -#: src/Module/Admin/Site.php:524 +#: src/Module/Admin/Site.php:526 msgid "Shortcut icon" msgstr "Иконка сайта" -#: src/Module/Admin/Site.php:524 +#: src/Module/Admin/Site.php:526 msgid "Link to an icon that will be used for browsers." msgstr "Ссылка на иконку, которая будет использоваться браузерами." -#: src/Module/Admin/Site.php:525 +#: src/Module/Admin/Site.php:527 msgid "Touch icon" msgstr "Иконка веб-приложения" -#: src/Module/Admin/Site.php:525 +#: src/Module/Admin/Site.php:527 msgid "Link to an icon that will be used for tablets and mobiles." msgstr "Ссылка на иконку, которая будет использоваться для создания ярлыка на смартфонах и планшетах." -#: src/Module/Admin/Site.php:526 +#: src/Module/Admin/Site.php:528 msgid "Additional Info" msgstr "Дополнительная информация" -#: src/Module/Admin/Site.php:526 +#: src/Module/Admin/Site.php:528 #, php-format msgid "" "For public servers: you can add additional information here that will be " "listed at %s/servers." msgstr "Для публичных серверов: здесь вы можете разместить дополнительную информацию и она будет доступна по %s/servers." -#: src/Module/Admin/Site.php:527 +#: src/Module/Admin/Site.php:529 msgid "System language" msgstr "Системный язык" -#: src/Module/Admin/Site.php:528 +#: src/Module/Admin/Site.php:530 msgid "System theme" msgstr "Системная тема" -#: src/Module/Admin/Site.php:528 +#: src/Module/Admin/Site.php:530 msgid "" "Default system theme - may be over-ridden by user profiles - Change default theme settings" msgstr "Тема по-умолчанию - пользователи могут менять её в настройках своего профиля - Изменить тему по-умолчанию" -#: src/Module/Admin/Site.php:529 +#: src/Module/Admin/Site.php:531 msgid "Mobile system theme" msgstr "Мобильная тема системы" -#: src/Module/Admin/Site.php:529 +#: src/Module/Admin/Site.php:531 msgid "Theme for mobile devices" msgstr "Тема для мобильных устройств" -#: src/Module/Admin/Site.php:530 src/Module/Install.php:225 +#: src/Module/Admin/Site.php:532 src/Module/Install.php:225 msgid "SSL link policy" msgstr "Политика SSL" -#: src/Module/Admin/Site.php:530 src/Module/Install.php:227 +#: src/Module/Admin/Site.php:532 src/Module/Install.php:227 msgid "Determines whether generated links should be forced to use SSL" msgstr "Ссылки должны быть вынуждены использовать SSL" -#: src/Module/Admin/Site.php:531 +#: src/Module/Admin/Site.php:533 msgid "Force SSL" msgstr "SSL принудительно" -#: src/Module/Admin/Site.php:531 +#: src/Module/Admin/Site.php:533 msgid "" "Force all Non-SSL requests to SSL - Attention: on some systems it could lead" " to endless loops." msgstr "Форсировать не-SSL запросы как SSL. Внимание: на некоторых системах это может привести к бесконечным циклам." -#: src/Module/Admin/Site.php:532 +#: src/Module/Admin/Site.php:534 msgid "Show help entry from navigation menu" msgstr "" -#: src/Module/Admin/Site.php:532 +#: src/Module/Admin/Site.php:534 msgid "" "Displays the menu entry for the Help pages from the navigation menu. It is " "always accessible by calling /help directly." msgstr "" -#: src/Module/Admin/Site.php:533 +#: src/Module/Admin/Site.php:535 msgid "Single user instance" msgstr "Однопользовательский режим" -#: src/Module/Admin/Site.php:533 +#: src/Module/Admin/Site.php:535 msgid "Make this instance multi-user or single-user for the named user" msgstr "Сделать этот экземпляр многопользовательским, или однопользовательским для названного пользователя" -#: src/Module/Admin/Site.php:535 +#: src/Module/Admin/Site.php:537 msgid "Maximum image size" msgstr "Максимальный размер изображения" -#: src/Module/Admin/Site.php:535 +#: src/Module/Admin/Site.php:537 msgid "" "Maximum size in bytes of uploaded images. Default is 0, which means no " "limits." msgstr "Максимальный размер в байтах для загружаемых изображений. По умолчанию 0, что означает отсутствие ограничений." -#: src/Module/Admin/Site.php:536 +#: src/Module/Admin/Site.php:538 msgid "Maximum image length" msgstr "Максимальная длина картинки" -#: src/Module/Admin/Site.php:536 +#: src/Module/Admin/Site.php:538 msgid "" "Maximum length in pixels of the longest side of uploaded images. Default is " "-1, which means no limits." msgstr "Максимальная длина в пикселях для длинной стороны загруженных изображений. По умолчанию равно -1, что означает отсутствие ограничений." -#: src/Module/Admin/Site.php:537 +#: src/Module/Admin/Site.php:539 msgid "JPEG image quality" msgstr "Качество JPEG изображения" -#: src/Module/Admin/Site.php:537 +#: src/Module/Admin/Site.php:539 msgid "" "Uploaded JPEGS will be saved at this quality setting [0-100]. Default is " "100, which is full quality." msgstr "Загруженные изображения JPEG будут сохранены в этом качестве [0-100]. По умолчанию 100, что означает полное качество." -#: src/Module/Admin/Site.php:539 +#: src/Module/Admin/Site.php:541 msgid "Register policy" msgstr "Политика регистрация" -#: src/Module/Admin/Site.php:540 +#: src/Module/Admin/Site.php:542 msgid "Maximum Daily Registrations" msgstr "Максимальное число регистраций в день" -#: src/Module/Admin/Site.php:540 +#: src/Module/Admin/Site.php:542 msgid "" "If registration is permitted above, this sets the maximum number of new user" " registrations to accept per day. If register is set to closed, this " "setting has no effect." msgstr "Если регистрация разрешена, этот параметр устанавливает максимальное количество новых регистраций пользователей в день. Если регистрация закрыта, эта опция не имеет никакого эффекта." -#: src/Module/Admin/Site.php:541 +#: src/Module/Admin/Site.php:543 msgid "Register text" msgstr "Текст регистрации" -#: src/Module/Admin/Site.php:541 +#: src/Module/Admin/Site.php:543 msgid "" "Will be displayed prominently on the registration page. You can use BBCode " "here." msgstr "Будет отображаться на видном месте на странице регистрации. Вы можете использовать BBCode для оформления." -#: src/Module/Admin/Site.php:542 +#: src/Module/Admin/Site.php:544 msgid "Forbidden Nicknames" msgstr "Запрещённые ники" -#: src/Module/Admin/Site.php:542 +#: src/Module/Admin/Site.php:544 msgid "" "Comma separated list of nicknames that are forbidden from registration. " "Preset is a list of role names according RFC 2142." msgstr "Имена, перечисленные через запятую, которые запрещены для регистрации на этом узле. Предустановленный список соответствует RFC 2142." -#: src/Module/Admin/Site.php:543 +#: src/Module/Admin/Site.php:545 msgid "Accounts abandoned after x days" msgstr "Аккаунт считается после x дней не воспользованным" -#: src/Module/Admin/Site.php:543 +#: src/Module/Admin/Site.php:545 msgid "" "Will not waste system resources polling external sites for abandonded " "accounts. Enter 0 for no time limit." msgstr "Не будет тратить ресурсы для опроса сайтов для бесхозных контактов. Введите 0 для отключения лимита времени." -#: src/Module/Admin/Site.php:544 +#: src/Module/Admin/Site.php:546 msgid "Allowed friend domains" msgstr "Разрешенные домены друзей" -#: src/Module/Admin/Site.php:544 +#: src/Module/Admin/Site.php:546 msgid "" "Comma separated list of domains which are allowed to establish friendships " "with this site. Wildcards are accepted. Empty to allow any domains" msgstr "Разделенный запятыми список доменов, которые разрешены для установления связей. Групповые символы принимаются. Оставьте пустым для разрешения связи со всеми доменами." -#: src/Module/Admin/Site.php:545 +#: src/Module/Admin/Site.php:547 msgid "Allowed email domains" msgstr "Разрешенные почтовые домены" -#: src/Module/Admin/Site.php:545 +#: src/Module/Admin/Site.php:547 msgid "" "Comma separated list of domains which are allowed in email addresses for " "registrations to this site. Wildcards are accepted. Empty to allow any " "domains" msgstr "Разделенный запятыми список доменов, которые разрешены для установления связей. Групповые символы принимаются. Оставьте пустым для разрешения связи со всеми доменами." -#: src/Module/Admin/Site.php:546 +#: src/Module/Admin/Site.php:548 msgid "No OEmbed rich content" msgstr "Не показывать контент OEmbed" -#: src/Module/Admin/Site.php:546 +#: src/Module/Admin/Site.php:548 msgid "" "Don't show the rich content (e.g. embedded PDF), except from the domains " "listed below." msgstr "Не показывать внедрённое содержимое (например, PDF), если источником не являются домены из списка ниже." -#: src/Module/Admin/Site.php:547 +#: src/Module/Admin/Site.php:549 msgid "Trusted third-party domains" msgstr "" -#: src/Module/Admin/Site.php:547 +#: src/Module/Admin/Site.php:549 msgid "" "Comma separated list of domains from which content is allowed to be embedded" " in posts like with OEmbed. All sub-domains of the listed domains are " "allowed as well." msgstr "" -#: src/Module/Admin/Site.php:548 +#: src/Module/Admin/Site.php:550 msgid "Block public" msgstr "Блокировать общественный доступ" -#: src/Module/Admin/Site.php:548 +#: src/Module/Admin/Site.php:550 msgid "" "Check to block public access to all otherwise public personal pages on this " "site unless you are currently logged in." msgstr "Отметьте, чтобы заблокировать публичный доступ ко всем иным публичным личным страницам на этом сайте, если вы не вошли на сайт." -#: src/Module/Admin/Site.php:549 +#: src/Module/Admin/Site.php:551 msgid "Force publish" msgstr "Принудительная публикация" -#: src/Module/Admin/Site.php:549 +#: src/Module/Admin/Site.php:551 msgid "" "Check to force all profiles on this site to be listed in the site directory." msgstr "Отметьте, чтобы принудительно заставить все профили на этом сайте, быть перечислеными в каталоге сайта." -#: src/Module/Admin/Site.php:549 +#: src/Module/Admin/Site.php:551 msgid "Enabling this may violate privacy laws like the GDPR" msgstr "Включение этого может нарушить законы о личных данных, например, GDPR." -#: src/Module/Admin/Site.php:550 +#: src/Module/Admin/Site.php:552 msgid "Global directory URL" msgstr "URL глобального каталога" -#: src/Module/Admin/Site.php:550 +#: src/Module/Admin/Site.php:552 msgid "" "URL to the global directory. If this is not set, the global directory is " "completely unavailable to the application." msgstr "Ссылка глобального каталога. Если не указано, то глобальный каталог будет полностью недоступен." -#: src/Module/Admin/Site.php:551 +#: src/Module/Admin/Site.php:553 msgid "Private posts by default for new users" msgstr "Частные сообщения по умолчанию для новых пользователей" -#: src/Module/Admin/Site.php:551 +#: src/Module/Admin/Site.php:553 msgid "" "Set default post permissions for all new members to the default privacy " "group rather than public." msgstr "Установить права на создание записей по умолчанию для всех участников в дефолтной приватной группе, а не для публичных участников." -#: src/Module/Admin/Site.php:552 +#: src/Module/Admin/Site.php:554 msgid "Don't include post content in email notifications" msgstr "Не включать текст сообщения в email-оповещение." -#: src/Module/Admin/Site.php:552 +#: src/Module/Admin/Site.php:554 msgid "" "Don't include the content of a post/comment/private message/etc. in the " "email notifications that are sent out from this site, as a privacy measure." msgstr "Не включать содержание сообщения/комментария/личного сообщения и т.д.. в уведомления электронной почты, отправленных с сайта, в качестве меры конфиденциальности." -#: src/Module/Admin/Site.php:553 +#: src/Module/Admin/Site.php:555 msgid "Disallow public access to addons listed in the apps menu." msgstr "Запретить публичный доступ к аддонам, перечисленным в меню приложений." -#: src/Module/Admin/Site.php:553 +#: src/Module/Admin/Site.php:555 msgid "" "Checking this box will restrict addons listed in the apps menu to members " "only." msgstr "При установке этого флажка, будут ограничены аддоны, перечисленные в меню приложений, только для участников." -#: src/Module/Admin/Site.php:554 +#: src/Module/Admin/Site.php:556 msgid "Don't embed private images in posts" msgstr "Не вставлять личные картинки в записи" -#: src/Module/Admin/Site.php:554 +#: src/Module/Admin/Site.php:556 msgid "" "Don't replace locally-hosted private photos in posts with an embedded copy " "of the image. This means that contacts who receive posts containing private " @@ -5990,11 +5830,11 @@ msgid "" "while." msgstr "Не заменяйте локально расположенные фотографии в записях на внедрённые копии изображений. Это означает, что контакты, которые получают сообщения, содержащие личные фотографии, будут вынуждены идентефицироваться и грузить каждое изображение, что может занять некоторое время." -#: src/Module/Admin/Site.php:555 +#: src/Module/Admin/Site.php:557 msgid "Explicit Content" msgstr "Контент для взрослых" -#: src/Module/Admin/Site.php:555 +#: src/Module/Admin/Site.php:557 msgid "" "Set this to announce that your node is used mostly for explicit content that" " might not be suited for minors. This information will be published in the " @@ -6003,245 +5843,255 @@ msgid "" "will be shown at the user registration page." msgstr "Включите, если ваш узел будет содержать преимущественно откровенный/чувствительный контент, который не должен быть показан несовершеннолетним. Эта информация появится в информации об узле и может быть использована, например, в глобальном каталоге для скрытия вашего узла при подборе узлов для регистрации. Так же пометка об этом появится на странице регистрации." -#: src/Module/Admin/Site.php:556 +#: src/Module/Admin/Site.php:558 msgid "Proxify external content" msgstr "" -#: src/Module/Admin/Site.php:556 +#: src/Module/Admin/Site.php:558 msgid "" "Route external content via the proxy functionality. This is used for example" " for some OEmbed accesses and in some other rare cases." msgstr "" -#: src/Module/Admin/Site.php:557 +#: src/Module/Admin/Site.php:559 +msgid "Cache contact avatars" +msgstr "" + +#: src/Module/Admin/Site.php:559 +msgid "" +"Locally store the avatar pictures of the contacts. This uses a lot of " +"storage space but it increases the performance." +msgstr "" + +#: src/Module/Admin/Site.php:560 msgid "Allow Users to set remote_self" msgstr "Разрешить пользователям установить remote_self" -#: src/Module/Admin/Site.php:557 +#: src/Module/Admin/Site.php:560 msgid "" "With checking this, every user is allowed to mark every contact as a " "remote_self in the repair contact dialog. Setting this flag on a contact " "causes mirroring every posting of that contact in the users stream." msgstr "Если включено, любой пользователь сможет пометить любой контакт как \"remote_self\" в расширенных настройках контакта. Установка такого параметра приводит к тому, что все записи помеченного контакта публикуются в ленте от имени пользователя." -#: src/Module/Admin/Site.php:558 +#: src/Module/Admin/Site.php:561 msgid "Enable multiple registrations" msgstr "" -#: src/Module/Admin/Site.php:558 +#: src/Module/Admin/Site.php:561 msgid "Enable users to register additional accounts for use as pages." msgstr "" -#: src/Module/Admin/Site.php:559 +#: src/Module/Admin/Site.php:562 msgid "Enable OpenID" msgstr "" -#: src/Module/Admin/Site.php:559 +#: src/Module/Admin/Site.php:562 msgid "Enable OpenID support for registration and logins." msgstr "" -#: src/Module/Admin/Site.php:560 +#: src/Module/Admin/Site.php:563 msgid "Enable Fullname check" msgstr "" -#: src/Module/Admin/Site.php:560 +#: src/Module/Admin/Site.php:563 msgid "" "Enable check to only allow users to register with a space between the first " "name and the last name in their full name." msgstr "" -#: src/Module/Admin/Site.php:561 +#: src/Module/Admin/Site.php:564 msgid "Community pages for visitors" msgstr "Публичная лента для посетителей" -#: src/Module/Admin/Site.php:561 +#: src/Module/Admin/Site.php:564 msgid "" "Which community pages should be available for visitors. Local users always " "see both pages." msgstr "Какие публичные ленты будут доступны для гостей. Местные пользователи всегда видят обе ленты." -#: src/Module/Admin/Site.php:562 +#: src/Module/Admin/Site.php:565 msgid "Posts per user on community page" msgstr "Число записей на пользователя в публичной ленте" -#: src/Module/Admin/Site.php:562 +#: src/Module/Admin/Site.php:565 msgid "" "The maximum number of posts per user on the community page. (Not valid for " "\"Global Community\")" msgstr "Максимальное число записей от одного пользователя в публичной ленте узла. (Не применяется к федеративной публичной ленте)." -#: src/Module/Admin/Site.php:564 +#: src/Module/Admin/Site.php:567 msgid "Enable Mail support" msgstr "" -#: src/Module/Admin/Site.php:564 +#: src/Module/Admin/Site.php:567 msgid "" "Enable built-in mail support to poll IMAP folders and to reply via mail." msgstr "" -#: src/Module/Admin/Site.php:565 +#: src/Module/Admin/Site.php:568 msgid "" "Mail support can't be enabled because the PHP IMAP module is not installed." msgstr "" -#: src/Module/Admin/Site.php:566 +#: src/Module/Admin/Site.php:569 msgid "Enable OStatus support" msgstr "" -#: src/Module/Admin/Site.php:566 +#: src/Module/Admin/Site.php:569 msgid "" "Enable built-in OStatus (StatusNet, GNU Social etc.) compatibility. All " "communications in OStatus are public." msgstr "" -#: src/Module/Admin/Site.php:568 +#: src/Module/Admin/Site.php:571 msgid "" "Diaspora support can't be enabled because Friendica was installed into a sub" " directory." msgstr "Поддержка Diaspora не может быть включена, так как Френдика была установлена в подкаталог." -#: src/Module/Admin/Site.php:569 +#: src/Module/Admin/Site.php:572 msgid "Enable Diaspora support" msgstr "Включить поддержку Diaspora" -#: src/Module/Admin/Site.php:569 +#: src/Module/Admin/Site.php:572 msgid "" "Enable built-in Diaspora network compatibility for communicating with " "diaspora servers." msgstr "" -#: src/Module/Admin/Site.php:570 +#: src/Module/Admin/Site.php:573 msgid "Verify SSL" msgstr "Проверка SSL" -#: src/Module/Admin/Site.php:570 +#: src/Module/Admin/Site.php:573 msgid "" "If you wish, you can turn on strict certificate checking. This will mean you" " cannot connect (at all) to self-signed SSL sites." msgstr "Если хотите, вы можете включить строгую проверку сертификатов. Это будет означать, что вы не сможете соединиться (вообще) с сайтами, имеющими само-подписанный SSL сертификат." -#: src/Module/Admin/Site.php:571 +#: src/Module/Admin/Site.php:574 msgid "Proxy user" msgstr "Прокси пользователь" -#: src/Module/Admin/Site.php:572 +#: src/Module/Admin/Site.php:575 msgid "Proxy URL" msgstr "Прокси URL" -#: src/Module/Admin/Site.php:573 +#: src/Module/Admin/Site.php:576 msgid "Network timeout" msgstr "Тайм-аут сети" -#: src/Module/Admin/Site.php:573 +#: src/Module/Admin/Site.php:576 msgid "Value is in seconds. Set to 0 for unlimited (not recommended)." msgstr "Значение указывается в секундах. Установите 0 для снятия ограничений (не рекомендуется)." -#: src/Module/Admin/Site.php:574 +#: src/Module/Admin/Site.php:577 msgid "Maximum Load Average" msgstr "Средняя максимальная нагрузка" -#: src/Module/Admin/Site.php:574 +#: src/Module/Admin/Site.php:577 #, php-format msgid "" "Maximum system load before delivery and poll processes are deferred - " "default %d." msgstr "Максимальная нагрузка на систему, прежде чем задания опроса и доставки начнут приостанавливаться - по-умолчанию %d." -#: src/Module/Admin/Site.php:575 +#: src/Module/Admin/Site.php:578 msgid "Maximum Load Average (Frontend)" msgstr "Максимальная нагрузка (Frontend)" -#: src/Module/Admin/Site.php:575 +#: src/Module/Admin/Site.php:578 msgid "Maximum system load before the frontend quits service - default 50." msgstr "Максимальная нагрузка на систему, прежде чем frontend отключится - по-умолчанию 50." -#: src/Module/Admin/Site.php:576 +#: src/Module/Admin/Site.php:579 msgid "Minimal Memory" msgstr "Минимум памяти" -#: src/Module/Admin/Site.php:576 +#: src/Module/Admin/Site.php:579 msgid "" "Minimal free memory in MB for the worker. Needs access to /proc/meminfo - " "default 0 (deactivated)." msgstr "Минимально допустимая свободная память ОЗУ для запуска заданий. Для работы нужен доступ в /proc/meminfo - по-умолчанию 0 (отключено)." -#: src/Module/Admin/Site.php:577 +#: src/Module/Admin/Site.php:580 msgid "Periodically optimize tables" msgstr "" -#: src/Module/Admin/Site.php:577 +#: src/Module/Admin/Site.php:580 msgid "Periodically optimize tables like the cache and the workerqueue" msgstr "" -#: src/Module/Admin/Site.php:579 +#: src/Module/Admin/Site.php:582 msgid "Discover followers/followings from contacts" msgstr "Обнаруживать подписчиков и друзей для контактов" -#: src/Module/Admin/Site.php:579 +#: src/Module/Admin/Site.php:582 msgid "" "If enabled, contacts are checked for their followers and following contacts." msgstr "Если включено, контакты будут проверяться на наличие подписчиков и друзей." -#: src/Module/Admin/Site.php:580 +#: src/Module/Admin/Site.php:583 msgid "None - deactivated" msgstr "None - выключено." -#: src/Module/Admin/Site.php:581 +#: src/Module/Admin/Site.php:584 msgid "" "Local contacts - contacts of our local contacts are discovered for their " "followers/followings." msgstr "Local contacts - местные контакты будут проверяться на наличие подписчиков и друзей." -#: src/Module/Admin/Site.php:582 +#: src/Module/Admin/Site.php:585 msgid "" "Interactors - contacts of our local contacts and contacts who interacted on " "locally visible postings are discovered for their followers/followings." msgstr "Interactors - местные контакты и те контакты, кто взаимодействовал с локально видимыми записями, будут проверяться на наличие подписчиков и друзей." -#: src/Module/Admin/Site.php:584 +#: src/Module/Admin/Site.php:587 msgid "Synchronize the contacts with the directory server" msgstr "Синхронизировать контакты с сервером каталога" -#: src/Module/Admin/Site.php:584 +#: src/Module/Admin/Site.php:587 msgid "" "if enabled, the system will check periodically for new contacts on the " "defined directory server." msgstr "Если включено, то система будет периодически проверять новые контакты на указанном сервере каталога." -#: src/Module/Admin/Site.php:586 +#: src/Module/Admin/Site.php:589 msgid "Days between requery" msgstr "Интервал запросов" -#: src/Module/Admin/Site.php:586 +#: src/Module/Admin/Site.php:589 msgid "Number of days after which a server is requeried for his contacts." msgstr "Интервал в днях, с которым контакты сервера будут перепроверяться." -#: src/Module/Admin/Site.php:587 +#: src/Module/Admin/Site.php:590 msgid "Discover contacts from other servers" msgstr "Обнаруживать контакты с других серверов" -#: src/Module/Admin/Site.php:587 +#: src/Module/Admin/Site.php:590 msgid "" "Periodically query other servers for contacts. The system queries Friendica," " Mastodon and Hubzilla servers." msgstr "Периодически опрашивать контакты с других серверов. В них входят Friendica, Mastodon и Hubzilla." -#: src/Module/Admin/Site.php:588 +#: src/Module/Admin/Site.php:591 msgid "Search the local directory" msgstr "Искать в местном каталоге" -#: src/Module/Admin/Site.php:588 +#: src/Module/Admin/Site.php:591 msgid "" "Search the local directory instead of the global directory. When searching " "locally, every search will be executed on the global directory in the " "background. This improves the search results when the search is repeated." msgstr "Искать в локальном каталоге вместо глобального. При локальном поиске каждый запрос будет выполняться в глобальном каталоге в фоновом режиме. Это улучшит результаты поиска при повторных запросах." -#: src/Module/Admin/Site.php:590 +#: src/Module/Admin/Site.php:593 msgid "Publish server information" msgstr "Опубликовать информацию о сервере" -#: src/Module/Admin/Site.php:590 +#: src/Module/Admin/Site.php:593 msgid "" "If enabled, general server and usage data will be published. The data " "contains the name and version of the server, number of users with public " @@ -6249,50 +6099,50 @@ msgid "" " href=\"http://the-federation.info/\">the-federation.info for details." msgstr "Если включено, общая информация о сервере и статистика будут опубликованы. В данных содержатся имя сервера, версия ПО, число пользователей с открытыми профилями, число записей, подключенные протоколы и соединители. Подробности смотрите на the-federation.info." -#: src/Module/Admin/Site.php:592 +#: src/Module/Admin/Site.php:595 msgid "Check upstream version" msgstr "Проверять версию в репозитории" -#: src/Module/Admin/Site.php:592 +#: src/Module/Admin/Site.php:595 msgid "" "Enables checking for new Friendica versions at github. If there is a new " "version, you will be informed in the admin panel overview." msgstr "Включает проверку новых версий Френдики на Github. Если появится новая версия, вы получите уведомление в панели администратора." -#: src/Module/Admin/Site.php:593 +#: src/Module/Admin/Site.php:596 msgid "Suppress Tags" msgstr "Скрывать тэги" -#: src/Module/Admin/Site.php:593 +#: src/Module/Admin/Site.php:596 msgid "Suppress showing a list of hashtags at the end of the posting." msgstr "Отключить показ списка тэгов в конце записей." -#: src/Module/Admin/Site.php:594 +#: src/Module/Admin/Site.php:597 msgid "Clean database" msgstr "Очистка базы данных" -#: src/Module/Admin/Site.php:594 +#: src/Module/Admin/Site.php:597 msgid "" "Remove old remote items, orphaned database records and old content from some" " other helper tables." msgstr "Удалять старые записи, полученные с других серверов, ненужные записи в базе данных." -#: src/Module/Admin/Site.php:595 +#: src/Module/Admin/Site.php:598 msgid "Lifespan of remote items" msgstr "Время жизни записей с других серверов" -#: src/Module/Admin/Site.php:595 +#: src/Module/Admin/Site.php:598 msgid "" "When the database cleanup is enabled, this defines the days after which " "remote items will be deleted. Own items, and marked or filed items are " "always kept. 0 disables this behaviour." msgstr "Если очистка базы данных включена, эта настройка определяет число дней, после которого записи будут удаляться. Собственные записи, записи с закладками, записи в папках не удаляются. 0 отключает очистку." -#: src/Module/Admin/Site.php:596 +#: src/Module/Admin/Site.php:599 msgid "Lifespan of unclaimed items" msgstr "Время жизни ничейных элементов" -#: src/Module/Admin/Site.php:596 +#: src/Module/Admin/Site.php:599 msgid "" "When the database cleanup is enabled, this defines the days after which " "unclaimed remote items (mostly content from the relay) will be deleted. " @@ -6300,190 +6150,190 @@ msgid "" "items if set to 0." msgstr "Когда очистка базы данных включена, эта настройка определяет число дней, после которого ничейные элементы (в основном, данные с ретранслятора) будут удалены. Значение по умолчанию 90 дней. Приравнивается ко времени жизни элементов других серверов, если выставлено в 0." -#: src/Module/Admin/Site.php:597 +#: src/Module/Admin/Site.php:600 msgid "Lifespan of raw conversation data" msgstr "Время жизни необработанных данных коммуникаций." -#: src/Module/Admin/Site.php:597 +#: src/Module/Admin/Site.php:600 msgid "" "The conversation data is used for ActivityPub and OStatus, as well as for " "debug purposes. It should be safe to remove it after 14 days, default is 90 " "days." msgstr "Эти данные используются для ActivityPub и OStatus, а так же для диагностики. Обычно их можно спокойно удалять после 14 дней, значение по-умолчанию 90 дней." -#: src/Module/Admin/Site.php:598 +#: src/Module/Admin/Site.php:601 msgid "Maximum numbers of comments per post" msgstr "Максимальное число комментариев для записи" -#: src/Module/Admin/Site.php:598 +#: src/Module/Admin/Site.php:601 msgid "How much comments should be shown for each post? Default value is 100." msgstr "Сколько комментариев должно быть показано для каждой записи? Значение по-умолчанию: 100." -#: src/Module/Admin/Site.php:599 +#: src/Module/Admin/Site.php:602 msgid "Maximum numbers of comments per post on the display page" msgstr "Максимальное число комментариев на запись при его просмотре" -#: src/Module/Admin/Site.php:599 +#: src/Module/Admin/Site.php:602 msgid "" "How many comments should be shown on the single view for each post? Default " "value is 1000." msgstr "Сколько комментариев показывать при просмотре записи на отдельной странице? Значение по-умолчанию: 1000." -#: src/Module/Admin/Site.php:600 +#: src/Module/Admin/Site.php:603 msgid "Temp path" msgstr "Временная папка" -#: src/Module/Admin/Site.php:600 +#: src/Module/Admin/Site.php:603 msgid "" "If you have a restricted system where the webserver can't access the system " "temp path, enter another path here." msgstr "Если на вашей системе веб-сервер не имеет доступа к системному пути tmp, введите здесь другой путь." -#: src/Module/Admin/Site.php:601 +#: src/Module/Admin/Site.php:604 msgid "Only search in tags" msgstr "Искать только в тегах" -#: src/Module/Admin/Site.php:601 +#: src/Module/Admin/Site.php:604 msgid "On large systems the text search can slow down the system extremely." msgstr "На больших системах текстовый поиск может сильно замедлить систему." -#: src/Module/Admin/Site.php:603 +#: src/Module/Admin/Site.php:606 msgid "New base url" msgstr "Новый базовый url" -#: src/Module/Admin/Site.php:603 +#: src/Module/Admin/Site.php:606 msgid "" "Change base url for this server. Sends relocate message to all Friendica and" " Diaspora* contacts of all users." msgstr "Изменить основной URL для этого сервера. Будет отправлено сообщение о перемещении сервера всем контактам из Friendica и Diaspora для всех пользователей." -#: src/Module/Admin/Site.php:605 +#: src/Module/Admin/Site.php:608 msgid "Maximum number of parallel workers" msgstr "Максимальное число параллельно работающих worker'ов" -#: src/Module/Admin/Site.php:605 +#: src/Module/Admin/Site.php:608 #, php-format msgid "" "On shared hosters set this to %d. On larger systems, values of %d are great." " Default value is %d." msgstr "" -#: src/Module/Admin/Site.php:606 +#: src/Module/Admin/Site.php:609 msgid "Enable fastlane" msgstr "Включить fastlane" -#: src/Module/Admin/Site.php:606 +#: src/Module/Admin/Site.php:609 msgid "" "When enabed, the fastlane mechanism starts an additional worker if processes" " with higher priority are blocked by processes of lower priority." msgstr "" -#: src/Module/Admin/Site.php:608 +#: src/Module/Admin/Site.php:611 msgid "Direct relay transfer" msgstr "Прямая ретрансляция" -#: src/Module/Admin/Site.php:608 +#: src/Module/Admin/Site.php:611 msgid "" "Enables the direct transfer to other servers without using the relay servers" msgstr "Разрешает прямую отправку на другие серверы без использования ретрансляторов" -#: src/Module/Admin/Site.php:609 +#: src/Module/Admin/Site.php:612 msgid "Relay scope" msgstr "Область ретрансляции" -#: src/Module/Admin/Site.php:609 +#: src/Module/Admin/Site.php:612 msgid "" "Can be \"all\" or \"tags\". \"all\" means that every public post should be " "received. \"tags\" means that only posts with selected tags should be " "received." msgstr "Допустимые значения \"all\" или \"tags\". \"all\" означает, что любые публичные записи будут получены. \"tags\" включает приём публичных записей с выбранными тэгами." -#: src/Module/Admin/Site.php:609 src/Module/Contact.php:473 +#: src/Module/Admin/Site.php:612 src/Module/Contact.php:473 #: src/Module/Settings/TwoFactor/Index.php:118 msgid "Disabled" msgstr "Отключенный" -#: src/Module/Admin/Site.php:609 +#: src/Module/Admin/Site.php:612 msgid "all" msgstr "all" -#: src/Module/Admin/Site.php:609 +#: src/Module/Admin/Site.php:612 msgid "tags" msgstr "tags" -#: src/Module/Admin/Site.php:610 +#: src/Module/Admin/Site.php:613 msgid "Server tags" msgstr "Тэги сервера" -#: src/Module/Admin/Site.php:610 +#: src/Module/Admin/Site.php:613 msgid "Comma separated list of tags for the \"tags\" subscription." msgstr "Список тэгов, разделённых запятыми, используемый для подписки в режиме \"tags\"" -#: src/Module/Admin/Site.php:611 +#: src/Module/Admin/Site.php:614 msgid "Deny Server tags" msgstr "" -#: src/Module/Admin/Site.php:611 +#: src/Module/Admin/Site.php:614 msgid "Comma separated list of tags that are rejected." msgstr "" -#: src/Module/Admin/Site.php:612 +#: src/Module/Admin/Site.php:615 msgid "Allow user tags" msgstr "Разрешить пользовательские тэги" -#: src/Module/Admin/Site.php:612 +#: src/Module/Admin/Site.php:615 msgid "" "If enabled, the tags from the saved searches will used for the \"tags\" " "subscription in addition to the \"relay_server_tags\"." msgstr "Если включено, то теги. на которые подписались пользователи, будут добавлены в подписку в дополнение к тегам сервера." -#: src/Module/Admin/Site.php:615 +#: src/Module/Admin/Site.php:618 msgid "Start Relocation" msgstr "Начать перемещение" -#: src/Module/Admin/Storage.php:45 +#: src/Module/Admin/Storage.php:46 #, php-format msgid "Storage backend, %s is invalid." msgstr "" -#: src/Module/Admin/Storage.php:71 +#: src/Module/Admin/Storage.php:73 #, php-format msgid "Storage backend %s error: %s" msgstr "" -#: src/Module/Admin/Storage.php:82 src/Module/Admin/Storage.php:85 +#: src/Module/Admin/Storage.php:85 src/Module/Admin/Storage.php:88 msgid "Invalid storage backend setting value." msgstr "Недопустимое значение типа хранилища." -#: src/Module/Admin/Storage.php:132 +#: src/Module/Admin/Storage.php:140 msgid "Current Storage Backend" msgstr "" -#: src/Module/Admin/Storage.php:133 +#: src/Module/Admin/Storage.php:141 msgid "Storage Configuration" msgstr "" -#: src/Module/Admin/Storage.php:134 src/Module/BaseAdmin.php:91 +#: src/Module/Admin/Storage.php:142 src/Module/BaseAdmin.php:91 msgid "Storage" msgstr "" -#: src/Module/Admin/Storage.php:136 +#: src/Module/Admin/Storage.php:144 msgid "Save & Use storage backend" msgstr "" -#: src/Module/Admin/Storage.php:137 +#: src/Module/Admin/Storage.php:145 msgid "Use storage backend" msgstr "" -#: src/Module/Admin/Storage.php:138 +#: src/Module/Admin/Storage.php:146 msgid "Save & Reload" msgstr "" -#: src/Module/Admin/Storage.php:139 +#: src/Module/Admin/Storage.php:147 msgid "This backend doesn't have custom settings" msgstr "" -#: src/Module/Admin/Storage.php:142 +#: src/Module/Admin/Storage.php:150 msgid "Database (legacy)" msgstr "База данных (устаревшее)" @@ -6644,10 +6494,6 @@ msgstr "Очереди сообщений" msgid "Server Settings" msgstr "Настройки сервера" -#: src/Module/Admin/Summary.php:234 src/Repository/ProfileField.php:285 -msgid "Summary" -msgstr "Резюме" - #: src/Module/Admin/Summary.php:236 msgid "Registered users" msgstr "Зарегистрированные пользователи" @@ -7105,15 +6951,10 @@ msgstr "" msgid "Too Many Requests" msgstr "" -#: src/Module/BaseProfile.php:51 src/Module/Contact.php:866 +#: src/Module/BaseProfile.php:51 src/Module/Contact.php:849 msgid "Profile Details" msgstr "Информация о вас" -#: src/Module/BaseProfile.php:72 src/Module/BaseProfile.php:75 -#: src/Module/Contact.php:855 -msgid "Media" -msgstr "" - #: src/Module/BaseProfile.php:109 msgid "Only You Can See This" msgstr "Только вы можете это видеть" @@ -7249,7 +7090,7 @@ msgstr "(Обновление не удалось)" msgid "(Update was successful)" msgstr "(Обновление было успешно)" -#: src/Module/Contact.php:454 src/Module/Contact.php:1052 +#: src/Module/Contact.php:454 src/Module/Contact.php:1035 msgid "Suggest friends" msgstr "Предложить друзей" @@ -7323,7 +7164,7 @@ msgstr "Персональная заметка" msgid "Edit contact notes" msgstr "Редактировать заметки контакта" -#: src/Module/Contact.php:530 src/Module/Contact.php:1018 +#: src/Module/Contact.php:530 src/Module/Contact.php:1001 #, php-format msgid "Visit %s's profile [%s]" msgstr "Посетить профиль %s [%s]" @@ -7348,12 +7189,12 @@ msgstr "Последнее обновление: " msgid "Update public posts" msgstr "Обновить публичные сообщения" -#: src/Module/Contact.php:542 src/Module/Contact.php:1062 +#: src/Module/Contact.php:542 src/Module/Contact.php:1045 msgid "Update now" msgstr "Обновить сейчас" -#: src/Module/Contact.php:545 src/Module/Contact.php:805 -#: src/Module/Contact.php:1089 +#: src/Module/Contact.php:545 src/Module/Contact.php:788 +#: src/Module/Contact.php:1072 msgid "Unignore" msgstr "Не игнорировать" @@ -7414,121 +7255,121 @@ msgid "" "entries from this contact." msgstr "Пометить этот контакт как remote_self, что заставит Friendica отправлять сообщения от этого контакта." -#: src/Module/Contact.php:715 +#: src/Module/Contact.php:698 msgid "Show all contacts" msgstr "Показать все контакты" -#: src/Module/Contact.php:723 +#: src/Module/Contact.php:706 msgid "Only show pending contacts" msgstr "Показать только контакты \"в ожидании\"" -#: src/Module/Contact.php:731 +#: src/Module/Contact.php:714 msgid "Only show blocked contacts" msgstr "Показать только блокированные контакты" -#: src/Module/Contact.php:736 src/Module/Contact.php:783 +#: src/Module/Contact.php:719 src/Module/Contact.php:766 #: src/Object/Post.php:309 msgid "Ignored" msgstr "Игнорируются" -#: src/Module/Contact.php:739 +#: src/Module/Contact.php:722 msgid "Only show ignored contacts" msgstr "Показать только игнорируемые контакты" -#: src/Module/Contact.php:744 src/Module/Contact.php:784 +#: src/Module/Contact.php:727 src/Module/Contact.php:767 msgid "Archived" msgstr "Архивированные" -#: src/Module/Contact.php:747 +#: src/Module/Contact.php:730 msgid "Only show archived contacts" msgstr "Показывать только архивные контакты" -#: src/Module/Contact.php:752 src/Module/Contact.php:782 +#: src/Module/Contact.php:735 src/Module/Contact.php:765 msgid "Hidden" msgstr "Скрытые" -#: src/Module/Contact.php:755 +#: src/Module/Contact.php:738 msgid "Only show hidden contacts" msgstr "Показывать только скрытые контакты" -#: src/Module/Contact.php:763 +#: src/Module/Contact.php:746 msgid "Organize your contact groups" msgstr "Настроить группы контактов" -#: src/Module/Contact.php:795 +#: src/Module/Contact.php:778 msgid "Search your contacts" msgstr "Поиск ваших контактов" -#: src/Module/Contact.php:796 src/Module/Search/Index.php:194 +#: src/Module/Contact.php:779 src/Module/Search/Index.php:194 #, php-format msgid "Results for: %s" msgstr "Результаты для: %s" -#: src/Module/Contact.php:803 +#: src/Module/Contact.php:786 msgid "Update" msgstr "Обновление" -#: src/Module/Contact.php:807 +#: src/Module/Contact.php:790 msgid "Batch Actions" msgstr "Пакетные действия" -#: src/Module/Contact.php:842 +#: src/Module/Contact.php:825 msgid "Conversations started by this contact" msgstr "Диалоги этого контакта" -#: src/Module/Contact.php:847 +#: src/Module/Contact.php:830 msgid "Posts and Comments" msgstr "Записи и комментарии" -#: src/Module/Contact.php:858 +#: src/Module/Contact.php:841 msgid "Posts containing media objects" msgstr "" -#: src/Module/Contact.php:873 +#: src/Module/Contact.php:856 msgid "View all known contacts" msgstr "Показать все известные контакты" -#: src/Module/Contact.php:883 +#: src/Module/Contact.php:866 msgid "Advanced Contact Settings" msgstr "Дополнительные Настройки Контакта" -#: src/Module/Contact.php:977 +#: src/Module/Contact.php:960 msgid "Mutual Friendship" msgstr "Взаимная дружба" -#: src/Module/Contact.php:981 +#: src/Module/Contact.php:964 msgid "is a fan of yours" msgstr "является вашим поклонником" -#: src/Module/Contact.php:985 +#: src/Module/Contact.php:968 msgid "you are a fan of" msgstr "Вы - поклонник" -#: src/Module/Contact.php:1003 +#: src/Module/Contact.php:986 msgid "Pending outgoing contact request" msgstr "Исходящий запрос на подписку" -#: src/Module/Contact.php:1005 +#: src/Module/Contact.php:988 msgid "Pending incoming contact request" msgstr "Входящий запрос на подписку" -#: src/Module/Contact.php:1072 +#: src/Module/Contact.php:1055 msgid "Refetch contact data" msgstr "Обновить данные контакта" -#: src/Module/Contact.php:1083 +#: src/Module/Contact.php:1066 msgid "Toggle Blocked status" msgstr "Изменить статус блокированности (заблокировать/разблокировать)" -#: src/Module/Contact.php:1091 +#: src/Module/Contact.php:1074 msgid "Toggle Ignored status" msgstr "Изменить статус игнорирования" -#: src/Module/Contact.php:1098 src/Module/Contact/Revoke.php:96 +#: src/Module/Contact.php:1081 src/Module/Contact/Revoke.php:96 msgid "Revoke Follow" msgstr "" -#: src/Module/Contact.php:1100 +#: src/Module/Contact.php:1083 msgid "Revoke the follow from this contact" msgstr "" @@ -7794,7 +7635,7 @@ msgid "Sort by post received date" msgstr "Отсортировать по дате записей" #: src/Module/Conversation/Network.php:250 -#: src/Module/Settings/Profile/Index.php:225 +#: src/Module/Settings/Profile/Index.php:228 msgid "Personal" msgstr "Личные" @@ -8018,7 +7859,7 @@ msgid "Twitter Source / Tweet URL (requires API key)" msgstr "" #: src/Module/Debug/Feed.php:38 src/Module/Filer/SaveTag.php:40 -#: src/Module/Settings/Profile/Index.php:141 +#: src/Module/Settings/Profile/Index.php:142 msgid "You must be logged in to use this module" msgstr "Вы должны быть залогинены для использования этого модуля" @@ -8129,15 +7970,15 @@ msgstr "- выбрать -" msgid "Suggested contact not found." msgstr "Рекомендованный контакт не найден." -#: src/Module/FriendSuggest.php:84 +#: src/Module/FriendSuggest.php:83 msgid "Friend suggestion sent." msgstr "Приглашение в друзья отправлено." -#: src/Module/FriendSuggest.php:121 +#: src/Module/FriendSuggest.php:120 msgid "Suggest Friends" msgstr "Предложить друзей" -#: src/Module/FriendSuggest.php:124 +#: src/Module/FriendSuggest.php:123 #, php-format msgid "Suggest a friend for %s" msgstr "Предложить друга для %s." @@ -8663,7 +8504,7 @@ msgstr "Запросов нет." msgid "No more %s notifications." msgstr "Больше нет уведомлений о %s." -#: src/Module/Notifications/Notification.php:104 +#: src/Module/Notifications/Notification.php:107 msgid "You must be logged in to show this page." msgstr "Вам нужно войти, чтобы увидеть эту страницу." @@ -8721,29 +8562,33 @@ msgstr "" msgid "Wrong type \"%s\", expected one of: %s" msgstr "" -#: src/Module/PermissionTooltip.php:38 +#: src/Module/PermissionTooltip.php:42 msgid "Model not found" msgstr "" -#: src/Module/PermissionTooltip.php:60 +#: src/Module/PermissionTooltip.php:64 msgid "Remote privacy information not available." msgstr "Личная информация удаленно недоступна." -#: src/Module/PermissionTooltip.php:71 +#: src/Module/PermissionTooltip.php:73 msgid "Visible to:" msgstr "Кто может видеть:" -#: src/Module/Photo.php:115 +#: src/Module/Photo.php:123 +msgid "The Photo is not available." +msgstr "" + +#: src/Module/Photo.php:136 #, php-format msgid "The Photo with id %s is not available." msgstr "Фотография с id %s недоступна." -#: src/Module/Photo.php:148 +#: src/Module/Photo.php:169 #, php-format msgid "Invalid external resource with url %s." msgstr "" -#: src/Module/Photo.php:150 +#: src/Module/Photo.php:171 #, php-format msgid "Invalid photo with id %s." msgstr "Неправильное фото с id %s." @@ -8780,12 +8625,12 @@ msgid "Birthday:" msgstr "День рождения:" #: src/Module/Profile/Profile.php:167 -#: src/Module/Settings/Profile/Index.php:243 src/Util/Temporal.php:165 +#: src/Module/Settings/Profile/Index.php:246 src/Util/Temporal.php:165 msgid "Age: " msgstr "Возраст: " #: src/Module/Profile/Profile.php:167 -#: src/Module/Settings/Profile/Index.php:243 src/Util/Temporal.php:165 +#: src/Module/Settings/Profile/Index.php:246 src/Util/Temporal.php:165 #, php-format msgid "%d year old" msgid_plural "%d years old" @@ -8808,19 +8653,19 @@ msgstr "Посмотреть как" #: src/Module/Profile/Profile.php:326 src/Module/Profile/Profile.php:329 #: src/Module/Profile/Status.php:65 src/Module/Profile/Status.php:68 -#: src/Protocol/Feed.php:951 src/Protocol/OStatus.php:1259 +#: src/Protocol/Feed.php:953 src/Protocol/OStatus.php:1242 #, php-format msgid "%s's timeline" msgstr "Лента %s" #: src/Module/Profile/Profile.php:327 src/Module/Profile/Status.php:66 -#: src/Protocol/Feed.php:955 src/Protocol/OStatus.php:1263 +#: src/Protocol/Feed.php:957 src/Protocol/OStatus.php:1246 #, php-format msgid "%s's posts" msgstr "Записи %s" #: src/Module/Profile/Profile.php:328 src/Module/Profile/Status.php:67 -#: src/Protocol/Feed.php:958 src/Protocol/OStatus.php:1266 +#: src/Protocol/Feed.php:960 src/Protocol/OStatus.php:1249 #, php-format msgid "%s's comments" msgstr "Комментарии %s" @@ -9362,134 +9207,134 @@ msgstr "" msgid "Beginning of week:" msgstr "Начало недели:" -#: src/Module/Settings/Profile/Index.php:82 +#: src/Module/Settings/Profile/Index.php:84 msgid "Profile Name is required." msgstr "Необходимо имя профиля." -#: src/Module/Settings/Profile/Index.php:133 +#: src/Module/Settings/Profile/Index.php:132 msgid "Profile couldn't be updated." msgstr "Профиль не получилось обновить." -#: src/Module/Settings/Profile/Index.php:170 -#: src/Module/Settings/Profile/Index.php:190 +#: src/Module/Settings/Profile/Index.php:173 +#: src/Module/Settings/Profile/Index.php:193 msgid "Label:" msgstr "Поле:" -#: src/Module/Settings/Profile/Index.php:171 -#: src/Module/Settings/Profile/Index.php:191 +#: src/Module/Settings/Profile/Index.php:174 +#: src/Module/Settings/Profile/Index.php:194 msgid "Value:" msgstr "Значение:" -#: src/Module/Settings/Profile/Index.php:181 -#: src/Module/Settings/Profile/Index.php:201 +#: src/Module/Settings/Profile/Index.php:184 +#: src/Module/Settings/Profile/Index.php:204 msgid "Field Permissions" msgstr "Право просмотра поля" -#: src/Module/Settings/Profile/Index.php:182 -#: src/Module/Settings/Profile/Index.php:202 +#: src/Module/Settings/Profile/Index.php:185 +#: src/Module/Settings/Profile/Index.php:205 msgid "(click to open/close)" msgstr "(нажмите, чтобы открыть / закрыть)" -#: src/Module/Settings/Profile/Index.php:188 +#: src/Module/Settings/Profile/Index.php:191 msgid "Add a new profile field" msgstr "Добавить новое поле профиля" -#: src/Module/Settings/Profile/Index.php:218 +#: src/Module/Settings/Profile/Index.php:221 msgid "Profile Actions" msgstr "Действия профиля" -#: src/Module/Settings/Profile/Index.php:219 +#: src/Module/Settings/Profile/Index.php:222 msgid "Edit Profile Details" msgstr "Редактировать детали профиля" -#: src/Module/Settings/Profile/Index.php:221 +#: src/Module/Settings/Profile/Index.php:224 msgid "Change Profile Photo" msgstr "Изменить фото профиля" -#: src/Module/Settings/Profile/Index.php:226 +#: src/Module/Settings/Profile/Index.php:229 msgid "Profile picture" msgstr "Картинка профиля" -#: src/Module/Settings/Profile/Index.php:227 +#: src/Module/Settings/Profile/Index.php:230 msgid "Location" msgstr "Местонахождение" -#: src/Module/Settings/Profile/Index.php:228 src/Util/Temporal.php:93 +#: src/Module/Settings/Profile/Index.php:231 src/Util/Temporal.php:93 #: src/Util/Temporal.php:95 msgid "Miscellaneous" msgstr "Разное" -#: src/Module/Settings/Profile/Index.php:229 +#: src/Module/Settings/Profile/Index.php:232 msgid "Custom Profile Fields" msgstr "Произвольные поля профиля" -#: src/Module/Settings/Profile/Index.php:231 src/Module/Welcome.php:58 +#: src/Module/Settings/Profile/Index.php:234 src/Module/Welcome.php:58 msgid "Upload Profile Photo" msgstr "Загрузить фото профиля" -#: src/Module/Settings/Profile/Index.php:235 +#: src/Module/Settings/Profile/Index.php:238 msgid "Display name:" msgstr "Отображаемое имя:" -#: src/Module/Settings/Profile/Index.php:238 +#: src/Module/Settings/Profile/Index.php:241 msgid "Street Address:" msgstr "Адрес:" -#: src/Module/Settings/Profile/Index.php:239 +#: src/Module/Settings/Profile/Index.php:242 msgid "Locality/City:" msgstr "Город / Населенный пункт:" -#: src/Module/Settings/Profile/Index.php:240 +#: src/Module/Settings/Profile/Index.php:243 msgid "Region/State:" msgstr "Район / Область:" -#: src/Module/Settings/Profile/Index.php:241 +#: src/Module/Settings/Profile/Index.php:244 msgid "Postal/Zip Code:" msgstr "Почтовый индекс:" -#: src/Module/Settings/Profile/Index.php:242 +#: src/Module/Settings/Profile/Index.php:245 msgid "Country:" msgstr "Страна:" -#: src/Module/Settings/Profile/Index.php:244 +#: src/Module/Settings/Profile/Index.php:247 msgid "XMPP (Jabber) address:" msgstr "Адрес XMPP (Jabber):" -#: src/Module/Settings/Profile/Index.php:244 +#: src/Module/Settings/Profile/Index.php:247 msgid "" "The XMPP address will be published so that people can follow you there." msgstr "" -#: src/Module/Settings/Profile/Index.php:245 +#: src/Module/Settings/Profile/Index.php:248 msgid "Matrix (Element) address:" msgstr "" -#: src/Module/Settings/Profile/Index.php:245 +#: src/Module/Settings/Profile/Index.php:248 msgid "" "The Matrix address will be published so that people can follow you there." msgstr "" -#: src/Module/Settings/Profile/Index.php:246 +#: src/Module/Settings/Profile/Index.php:249 msgid "Homepage URL:" msgstr "Адрес домашней странички:" -#: src/Module/Settings/Profile/Index.php:247 +#: src/Module/Settings/Profile/Index.php:250 msgid "Public Keywords:" msgstr "Общественные ключевые слова:" -#: src/Module/Settings/Profile/Index.php:247 +#: src/Module/Settings/Profile/Index.php:250 msgid "(Used for suggesting potential friends, can be seen by others)" msgstr "(Используется для предложения потенциальным друзьям, могут увидеть другие)" -#: src/Module/Settings/Profile/Index.php:248 +#: src/Module/Settings/Profile/Index.php:251 msgid "Private Keywords:" msgstr "Личные ключевые слова:" -#: src/Module/Settings/Profile/Index.php:248 +#: src/Module/Settings/Profile/Index.php:251 msgid "(Used for searching profiles, never shown to others)" msgstr "(Используется для поиска профилей, никогда не показывается другим)" -#: src/Module/Settings/Profile/Index.php:249 +#: src/Module/Settings/Profile/Index.php:252 #, php-format msgid "" "

Custom fields appear on your profile page.

\n" @@ -9499,42 +9344,42 @@ msgid "" "\t\t\t\t

Non-public fields can only be seen by the selected Friendica contacts or the Friendica contacts in the selected groups.

" msgstr "

Произвольные поля видны на вашей странице профиля.

\n\t\t\t\t

В значениях полей можно использовать BBCode.

\n\t\t\t\t

Меняйте порядок перетаскиванием.

\n\t\t\t\t

Сотрите название для удаления поля.

\n\t\t\t\t

Закрытые поля будут видны только выбранным контактам из Friendica, либо контактам из выбранных групп.

" -#: src/Module/Settings/Profile/Photo/Crop.php:106 -#: src/Module/Settings/Profile/Photo/Crop.php:122 -#: src/Module/Settings/Profile/Photo/Crop.php:138 +#: src/Module/Settings/Profile/Photo/Crop.php:108 +#: src/Module/Settings/Profile/Photo/Crop.php:126 +#: src/Module/Settings/Profile/Photo/Crop.php:144 #: src/Module/Settings/Profile/Photo/Index.php:102 #, php-format msgid "Image size reduction [%s] failed." msgstr "Уменьшение размера изображения [%s] не удалось." -#: src/Module/Settings/Profile/Photo/Crop.php:143 +#: src/Module/Settings/Profile/Photo/Crop.php:151 msgid "" "Shift-reload the page or clear browser cache if the new photo does not " "display immediately." msgstr "Перезагрузите страницу с зажатой клавишей \"Shift\" для того, чтобы увидеть свое новое фото немедленно." -#: src/Module/Settings/Profile/Photo/Crop.php:148 +#: src/Module/Settings/Profile/Photo/Crop.php:156 msgid "Unable to process image" msgstr "Не удается обработать изображение" -#: src/Module/Settings/Profile/Photo/Crop.php:167 +#: src/Module/Settings/Profile/Photo/Crop.php:175 msgid "Photo not found." msgstr "Фото не найдено." -#: src/Module/Settings/Profile/Photo/Crop.php:189 +#: src/Module/Settings/Profile/Photo/Crop.php:197 msgid "Profile picture successfully updated." msgstr "Картинка профиля успешно обновлена." -#: src/Module/Settings/Profile/Photo/Crop.php:215 -#: src/Module/Settings/Profile/Photo/Crop.php:219 +#: src/Module/Settings/Profile/Photo/Crop.php:223 +#: src/Module/Settings/Profile/Photo/Crop.php:227 msgid "Crop Image" msgstr "Обрезать изображение" -#: src/Module/Settings/Profile/Photo/Crop.php:216 +#: src/Module/Settings/Profile/Photo/Crop.php:224 msgid "Please adjust the image cropping for optimum viewing." msgstr "Пожалуйста, настройте обрезку изображения для оптимального просмотра." -#: src/Module/Settings/Profile/Photo/Crop.php:218 +#: src/Module/Settings/Profile/Photo/Crop.php:226 msgid "Use Image As Is" msgstr "Использовать картинку как есть" @@ -10192,15 +10037,15 @@ msgstr "%s прокомментировал %s сообщение" msgid "%s created a new post" msgstr "%s написал новое сообщение" -#: src/Navigation/Notifications/Factory/Introduction.php:134 +#: src/Navigation/Notifications/Factory/Introduction.php:133 msgid "Friend Suggestion" msgstr "Предложение в друзья" -#: src/Navigation/Notifications/Factory/Introduction.php:160 +#: src/Navigation/Notifications/Factory/Introduction.php:159 msgid "Friend/Connect Request" msgstr "Запрос в друзья / на подключение" -#: src/Navigation/Notifications/Factory/Introduction.php:160 +#: src/Navigation/Notifications/Factory/Introduction.php:159 msgid "New Follower" msgstr "Новый подписчик" @@ -10309,6 +10154,263 @@ msgstr "%1$s поделился записью %2$s" msgid "%1$s shared a post" msgstr "%1$s поделился записью" +#: src/Navigation/Notifications/Repository/Notify.php:192 +#: src/Navigation/Notifications/Repository/Notify.php:675 +msgid "[Friendica:Notify]" +msgstr "[Friendica]" + +#: src/Navigation/Notifications/Repository/Notify.php:256 +#, php-format +msgid "%s New mail received at %s" +msgstr "%s Новая почта получена в %s" + +#: src/Navigation/Notifications/Repository/Notify.php:258 +#, php-format +msgid "%1$s sent you a new private message at %2$s." +msgstr "%1$s отправил вам новое личное сообщение на %2$s." + +#: src/Navigation/Notifications/Repository/Notify.php:259 +msgid "a private message" +msgstr "личное сообщение" + +#: src/Navigation/Notifications/Repository/Notify.php:259 +#, php-format +msgid "%1$s sent you %2$s." +msgstr "%1$s послал вам %2$s." + +#: src/Navigation/Notifications/Repository/Notify.php:261 +#, php-format +msgid "Please visit %s to view and/or reply to your private messages." +msgstr "Пожалуйста, посетите %s для просмотра и/или ответа на личные сообщения." + +#: src/Navigation/Notifications/Repository/Notify.php:292 +#, php-format +msgid "%1$s commented on %2$s's %3$s %4$s" +msgstr "%1$s прокомментировал(а) %2$s %3$s %4$s" + +#: src/Navigation/Notifications/Repository/Notify.php:297 +#, php-format +msgid "%1$s commented on your %2$s %3$s" +msgstr "%1$s прокомментировал(а) ваш %2$s %3$s" + +#: src/Navigation/Notifications/Repository/Notify.php:301 +#, php-format +msgid "%1$s commented on their %2$s %3$s" +msgstr "%1$s прокомментировал(а) свой %2$s %3$s" + +#: src/Navigation/Notifications/Repository/Notify.php:305 +#: src/Navigation/Notifications/Repository/Notify.php:710 +#, php-format +msgid "%1$s Comment to conversation #%2$d by %3$s" +msgstr "%1$s Комментариев к разговору #%2$d от %3$s" + +#: src/Navigation/Notifications/Repository/Notify.php:307 +#, php-format +msgid "%s commented on an item/conversation you have been following." +msgstr "%s оставил комментарий к элементу/беседе, за которой вы следите." + +#: src/Navigation/Notifications/Repository/Notify.php:311 +#: src/Navigation/Notifications/Repository/Notify.php:326 +#: src/Navigation/Notifications/Repository/Notify.php:345 +#: src/Navigation/Notifications/Repository/Notify.php:725 +#, php-format +msgid "Please visit %s to view and/or reply to the conversation." +msgstr "Пожалуйста посетите %s для просмотра и/или ответа в беседу." + +#: src/Navigation/Notifications/Repository/Notify.php:318 +#, php-format +msgid "%s %s posted to your profile wall" +msgstr "%s %s размещены на стене вашего профиля" + +#: src/Navigation/Notifications/Repository/Notify.php:320 +#, php-format +msgid "%1$s posted to your profile wall at %2$s" +msgstr "%1$s написал на вашей стене на %2$s" + +#: src/Navigation/Notifications/Repository/Notify.php:321 +#, php-format +msgid "%1$s posted to [url=%2$s]your wall[/url]" +msgstr "%1$s написал на [url=%2$s]вашей стене[/url]" + +#: src/Navigation/Notifications/Repository/Notify.php:333 +#, php-format +msgid "%1$s %2$s poked you" +msgstr "%1$s %2$s продвинул тебя" + +#: src/Navigation/Notifications/Repository/Notify.php:335 +#, php-format +msgid "%1$s poked you at %2$s" +msgstr "%1$s потыкал вас на %2$s" + +#: src/Navigation/Notifications/Repository/Notify.php:336 +#, php-format +msgid "%1$s [url=%2$s]poked you[/url]." +msgstr "%1$s [url=%2$s]потыкал вас[/url]." + +#: src/Navigation/Notifications/Repository/Notify.php:353 +#, php-format +msgid "%s Introduction received" +msgstr "%s Входящих получено" + +#: src/Navigation/Notifications/Repository/Notify.php:355 +#, php-format +msgid "You've received an introduction from '%1$s' at %2$s" +msgstr "Вы получили запрос от '%1$s' на %2$s" + +#: src/Navigation/Notifications/Repository/Notify.php:356 +#, php-format +msgid "You've received [url=%1$s]an introduction[/url] from %2$s." +msgstr "Вы получили [url=%1$s]запрос[/url] от %2$s." + +#: src/Navigation/Notifications/Repository/Notify.php:361 +#: src/Navigation/Notifications/Repository/Notify.php:407 +#, php-format +msgid "You may visit their profile at %s" +msgstr "Вы можете посмотреть его профиль здесь %s" + +#: src/Navigation/Notifications/Repository/Notify.php:363 +#, php-format +msgid "Please visit %s to approve or reject the introduction." +msgstr "Посетите %s для подтверждения или отказа запроса." + +#: src/Navigation/Notifications/Repository/Notify.php:370 +#, php-format +msgid "%s A new person is sharing with you" +msgstr "%s Новый человек поделился с Вами" + +#: src/Navigation/Notifications/Repository/Notify.php:372 +#: src/Navigation/Notifications/Repository/Notify.php:373 +#, php-format +msgid "%1$s is sharing with you at %2$s" +msgstr "%1$s делится с вами на %2$s" + +#: src/Navigation/Notifications/Repository/Notify.php:380 +#, php-format +msgid "%s You have a new follower" +msgstr "%s У Вас новый подписчик" + +#: src/Navigation/Notifications/Repository/Notify.php:382 +#: src/Navigation/Notifications/Repository/Notify.php:383 +#, php-format +msgid "You have a new follower at %2$s : %1$s" +msgstr "У вас новый подписчик на %2$s : %1$s" + +#: src/Navigation/Notifications/Repository/Notify.php:396 +#, php-format +msgid "%s Friend suggestion received" +msgstr "%s Получено дружеское приглашение" + +#: src/Navigation/Notifications/Repository/Notify.php:398 +#, php-format +msgid "You've received a friend suggestion from '%1$s' at %2$s" +msgstr "Вы получили предложение дружбы от '%1$s' на %2$s" + +#: src/Navigation/Notifications/Repository/Notify.php:399 +#, php-format +msgid "" +"You've received [url=%1$s]a friend suggestion[/url] for %2$s from %3$s." +msgstr "У вас [url=%1$s]новое предложение дружбы[/url] для %2$s от %3$s." + +#: src/Navigation/Notifications/Repository/Notify.php:405 +msgid "Name:" +msgstr "Имя:" + +#: src/Navigation/Notifications/Repository/Notify.php:406 +msgid "Photo:" +msgstr "Фото:" + +#: src/Navigation/Notifications/Repository/Notify.php:409 +#, php-format +msgid "Please visit %s to approve or reject the suggestion." +msgstr "Пожалуйста, посетите %s для подтверждения, или отказа запроса." + +#: src/Navigation/Notifications/Repository/Notify.php:417 +#: src/Navigation/Notifications/Repository/Notify.php:432 +#, php-format +msgid "%s Connection accepted" +msgstr "%s Соединение принято" + +#: src/Navigation/Notifications/Repository/Notify.php:419 +#: src/Navigation/Notifications/Repository/Notify.php:434 +#, php-format +msgid "'%1$s' has accepted your connection request at %2$s" +msgstr "'%1$s' принял соединение с вами на %2$s" + +#: src/Navigation/Notifications/Repository/Notify.php:420 +#: src/Navigation/Notifications/Repository/Notify.php:435 +#, php-format +msgid "%2$s has accepted your [url=%1$s]connection request[/url]." +msgstr "%2$s принял ваше [url=%1$s]предложение о соединении[/url]." + +#: src/Navigation/Notifications/Repository/Notify.php:425 +msgid "" +"You are now mutual friends and may exchange status updates, photos, and " +"email without restriction." +msgstr "Вы теперь взаимные друзья и можете обмениваться статусами, фотографиями и письмами без ограничений." + +#: src/Navigation/Notifications/Repository/Notify.php:427 +#, php-format +msgid "Please visit %s if you wish to make any changes to this relationship." +msgstr "Посетите %s если вы хотите сделать изменения в этом отношении." + +#: src/Navigation/Notifications/Repository/Notify.php:440 +#, php-format +msgid "" +"'%1$s' has chosen to accept you a fan, which restricts some forms of " +"communication - such as private messaging and some profile interactions. If " +"this is a celebrity or community page, these settings were applied " +"automatically." +msgstr "%1$s решил принять приглашение и пометил вас как фаната, что запрещает некоторые формы общения - например, личные сообщения и некоторые действия с профилем. Если эта страница знаменитости или сообщества, то эти настройки были применены автоматически." + +#: src/Navigation/Notifications/Repository/Notify.php:442 +#, php-format +msgid "" +"'%1$s' may choose to extend this into a two-way or more permissive " +"relationship in the future." +msgstr "%1$s может расширить взаимоотношения до более мягких в будущем." + +#: src/Navigation/Notifications/Repository/Notify.php:444 +#, php-format +msgid "Please visit %s if you wish to make any changes to this relationship." +msgstr "Посетите %s если вы хотите сделать изменения в этом отношении." + +#: src/Navigation/Notifications/Repository/Notify.php:454 +msgid "registration request" +msgstr "запрос регистрации" + +#: src/Navigation/Notifications/Repository/Notify.php:456 +#, php-format +msgid "You've received a registration request from '%1$s' at %2$s" +msgstr "Вы получили запрос на регистрацию от '%1$s' на %2$s" + +#: src/Navigation/Notifications/Repository/Notify.php:457 +#, php-format +msgid "You've received a [url=%1$s]registration request[/url] from %2$s." +msgstr "Вы получили [url=%1$s]запрос регистрации[/url] от %2$s." + +#: src/Navigation/Notifications/Repository/Notify.php:462 +#, php-format +msgid "" +"Full Name:\t%s\n" +"Site Location:\t%s\n" +"Login Name:\t%s (%s)" +msgstr "Полное имя:\t%s\nРасположение:\t%s\nИмя для входа:\t%s (%s)" + +#: src/Navigation/Notifications/Repository/Notify.php:468 +#, php-format +msgid "Please visit %s to approve or reject the request." +msgstr "Пожалуйста, посетите %s чтобы подтвердить или отвергнуть запрос." + +#: src/Navigation/Notifications/Repository/Notify.php:704 +#, php-format +msgid "%s %s tagged you" +msgstr "%s %s отметил(и) Вас" + +#: src/Navigation/Notifications/Repository/Notify.php:707 +#, php-format +msgid "%s %s shared a new post" +msgstr "%s %s поделился(-ась) новым сообщением" + #: src/Object/EMail/ItemCCEMail.php:42 #, php-format msgid "" @@ -10532,21 +10634,21 @@ msgstr "Показать меньше" msgid "Attachments:" msgstr "Вложения:" -#: src/Protocol/OStatus.php:1761 +#: src/Protocol/OStatus.php:1645 #, php-format msgid "%s is now following %s." msgstr "%s теперь подписан на %s." -#: src/Protocol/OStatus.php:1762 +#: src/Protocol/OStatus.php:1646 msgid "following" msgstr "следует" -#: src/Protocol/OStatus.php:1765 +#: src/Protocol/OStatus.php:1649 #, php-format msgid "%s stopped following %s." msgstr "%s отписался от %s." -#: src/Protocol/OStatus.php:1766 +#: src/Protocol/OStatus.php:1650 msgid "stopped following" msgstr "отписка от" @@ -10554,96 +10656,20 @@ msgstr "отписка от" msgid "The folder view/smarty3/ must be writable by webserver." msgstr "" -#: src/Repository/ProfileField.php:275 -msgid "Hometown:" -msgstr "Родной город:" - -#: src/Repository/ProfileField.php:276 -msgid "Marital Status:" -msgstr "Семейное положение:" - -#: src/Repository/ProfileField.php:277 -msgid "With:" -msgstr "Вместе:" - -#: src/Repository/ProfileField.php:278 -msgid "Since:" -msgstr "С:" - -#: src/Repository/ProfileField.php:279 -msgid "Sexual Preference:" -msgstr "Сексуальные предпочтения:" - -#: src/Repository/ProfileField.php:280 -msgid "Political Views:" -msgstr "Политические взгляды:" - -#: src/Repository/ProfileField.php:281 -msgid "Religious Views:" -msgstr "Религиозные взгляды:" - -#: src/Repository/ProfileField.php:282 -msgid "Likes:" -msgstr "Нравится:" - -#: src/Repository/ProfileField.php:283 -msgid "Dislikes:" -msgstr "Не нравится:" - -#: src/Repository/ProfileField.php:284 -msgid "Title/Description:" -msgstr "Заголовок / Описание:" - -#: src/Repository/ProfileField.php:286 -msgid "Musical interests" -msgstr "Музыкальные интересы" - -#: src/Repository/ProfileField.php:287 -msgid "Books, literature" -msgstr "Книги, литература" - -#: src/Repository/ProfileField.php:288 -msgid "Television" -msgstr "Телевидение" - -#: src/Repository/ProfileField.php:289 -msgid "Film/dance/culture/entertainment" -msgstr "Кино / танцы / культура / развлечения" - -#: src/Repository/ProfileField.php:290 -msgid "Hobbies/Interests" -msgstr "Хобби / Интересы" - -#: src/Repository/ProfileField.php:291 -msgid "Love/romance" -msgstr "Любовь / романтика" - -#: src/Repository/ProfileField.php:292 -msgid "Work/employment" -msgstr "Работа / занятость" - -#: src/Repository/ProfileField.php:293 -msgid "School/education" -msgstr "Школа / образование" - -#: src/Repository/ProfileField.php:294 -msgid "Contact information and Social Networks" -msgstr "Контактная информация и социальные сети" - -#: src/Security/Authentication.php:209 +#: src/Security/Authentication.php:210 msgid "Login failed." msgstr "Войти не удалось." -#: src/Security/Authentication.php:250 +#: src/Security/Authentication.php:251 msgid "Login failed. Please check your credentials." msgstr "Ошибка входа. Пожалуйста, проверьте данные для входа." -#: src/Security/Authentication.php:348 +#: src/Security/Authentication.php:349 #, php-format msgid "Welcome %s" msgstr "Добро пожаловать, %s" -#: src/Security/Authentication.php:349 +#: src/Security/Authentication.php:350 msgid "Please upload a profile photo." msgstr "Пожалуйста, загрузите фотографию профиля." @@ -10741,7 +10767,7 @@ msgstr "в %1$d %2$s" msgid "%1$d %2$s ago" msgstr "%1$d %2$s назад" -#: src/Worker/Delivery.php:521 +#: src/Worker/Delivery.php:525 msgid "(no subject)" msgstr "(нет темы)" @@ -10939,11 +10965,11 @@ msgstr "" msgid "Back to top" msgstr "" -#: view/theme/frio/theme.php:208 +#: view/theme/frio/theme.php:207 msgid "Guest" msgstr "" -#: view/theme/frio/theme.php:211 +#: view/theme/frio/theme.php:210 msgid "Visitor" msgstr "" diff --git a/view/lang/ru/strings.php b/view/lang/ru/strings.php index 660f89521f..3f7b143d75 100644 --- a/view/lang/ru/strings.php +++ b/view/lang/ru/strings.php @@ -18,60 +18,6 @@ $a->strings['Weekly posting limit of %d post reached. The post was rejected.'] = 3 => 'Недельный лимит в %d записей достигнут. Запись была отклонена.', ]; $a->strings['Monthly posting limit of %d post reached. The post was rejected.'] = 'Месячный лимит в %d записей достигнут. Запись была отклонена.'; -$a->strings['Profile Photos'] = 'Фотографии профиля'; -$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.'; -$a->strings['a private message'] = 'личное сообщение'; -$a->strings['%1$s sent you %2$s.'] = '%1$s послал вам %2$s.'; -$a->strings['Please visit %s to view and/or reply to your private messages.'] = 'Пожалуйста, посетите %s для просмотра и/или ответа на личные сообщения.'; -$a->strings['%1$s commented on %2$s\'s %3$s %4$s'] = '%1$s прокомментировал(а) %2$s %3$s %4$s'; -$a->strings['%1$s commented on your %2$s %3$s'] = '%1$s прокомментировал(а) ваш %2$s %3$s'; -$a->strings['%1$s commented on their %2$s %3$s'] = '%1$s прокомментировал(а) свой %2$s %3$s'; -$a->strings['%1$s Comment to conversation #%2$d by %3$s'] = '%1$s Комментариев к разговору #%2$d от %3$s'; -$a->strings['%s commented on an item/conversation you have been following.'] = '%s оставил комментарий к элементу/беседе, за которой вы следите.'; -$a->strings['Please visit %s to view and/or reply to the conversation.'] = 'Пожалуйста посетите %s для просмотра и/или ответа в беседу.'; -$a->strings['%s %s posted to your profile wall'] = '%s %s размещены на стене вашего профиля'; -$a->strings['%1$s posted to your profile wall at %2$s'] = '%1$s написал на вашей стене на %2$s'; -$a->strings['%1$s posted to [url=%2$s]your wall[/url]'] = '%1$s написал на [url=%2$s]вашей стене[/url]'; -$a->strings['%1$s %2$s poked you'] = '%1$s %2$s продвинул тебя'; -$a->strings['%1$s poked you at %2$s'] = '%1$s потыкал вас на %2$s'; -$a->strings['%1$s [url=%2$s]poked you[/url].'] = '%1$s [url=%2$s]потыкал вас[/url].'; -$a->strings['%s Introduction received'] = '%s Входящих получено'; -$a->strings['You\'ve received an introduction from \'%1$s\' at %2$s'] = 'Вы получили запрос от \'%1$s\' на %2$s'; -$a->strings['You\'ve received [url=%1$s]an introduction[/url] from %2$s.'] = 'Вы получили [url=%1$s]запрос[/url] от %2$s.'; -$a->strings['You may visit their profile at %s'] = 'Вы можете посмотреть его профиль здесь %s'; -$a->strings['Please visit %s to approve or reject the introduction.'] = 'Посетите %s для подтверждения или отказа запроса.'; -$a->strings['%s A new person is sharing with you'] = '%s Новый человек поделился с Вами'; -$a->strings['%1$s is sharing with you at %2$s'] = '%1$s делится с вами на %2$s'; -$a->strings['%s You have a new follower'] = '%s У Вас новый подписчик'; -$a->strings['You have a new follower at %2$s : %1$s'] = 'У вас новый подписчик на %2$s : %1$s'; -$a->strings['%s Friend suggestion received'] = '%s Получено дружеское приглашение'; -$a->strings['You\'ve received a friend suggestion from \'%1$s\' at %2$s'] = 'Вы получили предложение дружбы от \'%1$s\' на %2$s'; -$a->strings['You\'ve received [url=%1$s]a friend suggestion[/url] for %2$s from %3$s.'] = 'У вас [url=%1$s]новое предложение дружбы[/url] для %2$s от %3$s.'; -$a->strings['Name:'] = 'Имя:'; -$a->strings['Photo:'] = 'Фото:'; -$a->strings['Please visit %s to approve or reject the suggestion.'] = 'Пожалуйста, посетите %s для подтверждения, или отказа запроса.'; -$a->strings['%s Connection accepted'] = '%s Соединение принято'; -$a->strings['\'%1$s\' has accepted your connection request at %2$s'] = '\'%1$s\' принял соединение с вами на %2$s'; -$a->strings['%2$s has accepted your [url=%1$s]connection request[/url].'] = '%2$s принял ваше [url=%1$s]предложение о соединении[/url].'; -$a->strings['You are now mutual friends and may exchange status updates, photos, and email without restriction.'] = 'Вы теперь взаимные друзья и можете обмениваться статусами, фотографиями и письмами без ограничений.'; -$a->strings['Please visit %s if you wish to make any changes to this relationship.'] = 'Посетите %s если вы хотите сделать изменения в этом отношении.'; -$a->strings['\'%1$s\' has chosen to accept you a fan, which restricts some forms of communication - such as private messaging and some profile interactions. If this is a celebrity or community page, these settings were applied automatically.'] = '%1$s решил принять приглашение и пометил вас как фаната, что запрещает некоторые формы общения - например, личные сообщения и некоторые действия с профилем. Если эта страница знаменитости или сообщества, то эти настройки были применены автоматически.'; -$a->strings['\'%1$s\' may choose to extend this into a two-way or more permissive relationship in the future.'] = '%1$s может расширить взаимоотношения до более мягких в будущем.'; -$a->strings['Please visit %s if you wish to make any changes to this relationship.'] = 'Посетите %s если вы хотите сделать изменения в этом отношении.'; -$a->strings['[Friendica System Notify]'] = '[Системное уведомление Friendica]'; -$a->strings['registration request'] = 'запрос регистрации'; -$a->strings['You\'ve received a registration request from \'%1$s\' at %2$s'] = 'Вы получили запрос на регистрацию от \'%1$s\' на %2$s'; -$a->strings['You\'ve received a [url=%1$s]registration request[/url] from %2$s.'] = 'Вы получили [url=%1$s]запрос регистрации[/url] от %2$s.'; -$a->strings['Full Name: %s -Site Location: %s -Login Name: %s (%s)'] = 'Полное имя: %s -Расположение: %s -Имя для входа: %s (%s)'; -$a->strings['Please visit %s to approve or reject the request.'] = 'Пожалуйста, посетите %s чтобы подтвердить или отвергнуть запрос.'; -$a->strings['%s %s tagged you'] = '%s %s отметил(и) Вас'; -$a->strings['%s %s shared a new post'] = '%s %s поделился(-ась) новым сообщением'; $a->strings['Permission denied.'] = 'Нет разрешения.'; $a->strings['Access denied.'] = 'Доступ запрещен.'; $a->strings['User not found.'] = 'Пользователь не найден.'; @@ -362,6 +308,7 @@ $a->strings['{0} wants to be your friend'] = '{0} хочет стать Ваши $a->strings['{0} requested registration'] = '{0} требуемая регистрация'; $a->strings['Bad Request.'] = 'Ошибочный запрос.'; $a->strings['Contact not found.'] = 'Контакт не найден.'; +$a->strings['[Friendica System Notify]'] = '[Системное уведомление Friendica]'; $a->strings['User deleted their account'] = 'Пользователь удалил свою учётную запись'; $a->strings['On your Friendica node an user deleted their account. Please ensure that their data is removed from the backups.'] = 'Пользователь удалил свою учётную запись на вашем сервере Friendica. Пожалуйста, убедитесь, что их данные будут удалены из резервных копий.'; $a->strings['The user id is %d'] = 'id пользователя: %d'; @@ -521,6 +468,7 @@ $a->strings['You receive a private message'] = 'Вы получаете личн $a->strings['You receive a friend suggestion'] = 'Вы полулили предложение о добавлении в друзья'; $a->strings['You are tagged in a post'] = 'Вы отмечены в записи'; $a->strings['You are poked/prodded/etc. in a post'] = 'Вас потыкали/подтолкнули/и т.д. в записи'; +$a->strings['Someone liked your content'] = 'Ваш комментарий понравился'; $a->strings['Activate desktop notifications'] = 'Активировать уведомления на рабочем столе'; $a->strings['Show desktop popup on new notifications'] = 'Показывать уведомления на рабочем столе'; $a->strings['Text-only notification emails'] = 'Только текстовые письма'; @@ -696,6 +644,7 @@ $a->strings['Display Membership Date'] = 'Показывать дату реги $a->strings['Display membership date in profile'] = 'Дата вашей регистрации будет отображаться в вашем профиле'; $a->strings['Forums'] = 'Форумы'; $a->strings['External link to forum'] = 'Внешняя ссылка на форум'; +$a->strings['show less'] = 'показать меньше'; $a->strings['show more'] = 'показать больше'; $a->strings['%1$s poked %2$s'] = '%1$s ткнул %2$s'; $a->strings['event'] = 'мероприятие'; @@ -723,8 +672,6 @@ $a->strings['Your posts and conversations'] = 'Ваши записи и диал $a->strings['Profile'] = 'Информация'; $a->strings['Your profile page'] = 'Информация о вас'; $a->strings['Your photos'] = 'Ваши фотографии'; -$a->strings['Videos'] = 'Видео'; -$a->strings['Your videos'] = 'Ваши видео'; $a->strings['Your events'] = 'Ваши события'; $a->strings['Personal notes'] = 'Личные заметки'; $a->strings['Your personal notes'] = 'Ваши личные заметки'; @@ -963,6 +910,9 @@ $a->strings['fingered'] = 'пощупали'; $a->strings['rebuff'] = 'ребаф'; $a->strings['rebuffed'] = 'ребафнут'; $a->strings['Friendica can\'t display this page at the moment, please contact the administrator.'] = 'Friendica не может отобразить эту страницу в данный момент, пожалуйста, свяжитесь с администратором.'; +$a->strings['Storage base path'] = 'Корневой каталог хранилища'; +$a->strings['Folder where uploaded files are saved. For maximum security, This should be a path outside web server folder tree'] = 'Каталог, куда сохраняются загруженные файлы. Для максимальной безопасности этот каталог должен быть размещён вне каталогов веб-сервера.'; +$a->strings['Enter a valid existing folder'] = 'Введите путь к существующему каталогу'; $a->strings['Update %s failed. See error logs.'] = 'Обновление %s не удалось. Смотрите журнал ошибок.'; $a->strings[' The friendica developers released update %s recently, @@ -1021,7 +971,6 @@ $a->strings['Use mailto: in front of address to force email check.'] = 'Bcgjkmpe $a->strings['The profile address specified belongs to a network which has been disabled on this site.'] = 'Указанный адрес профиля принадлежит сети, недоступной на этом сайта.'; $a->strings['Limited profile. This person will be unable to receive direct/personal notifications from you.'] = 'Ограниченный профиль. Этот человек не сможет получить прямые / личные уведомления от вас.'; $a->strings['Unable to retrieve contact information.'] = 'Невозможно получить контактную информацию.'; -$a->strings['l F d, Y \@ g:i A'] = 'l F d, Y \@ g:i A'; $a->strings['Starts:'] = 'Начало:'; $a->strings['Finishes:'] = 'Окончание:'; $a->strings['all-day'] = 'Весь день'; @@ -1031,6 +980,7 @@ $a->strings['l, F j'] = 'l, j F'; $a->strings['Edit event'] = 'Редактировать мероприятие'; $a->strings['Duplicate event'] = 'Дубликат события'; $a->strings['Delete event'] = 'Удалить событие'; +$a->strings['l F d, Y \@ g:i A'] = 'l F d, Y \@ g:i A'; $a->strings['D g:i A'] = 'D g:i A'; $a->strings['g:i A'] = 'g:i A'; $a->strings['Show map'] = 'Показать карту'; @@ -1068,9 +1018,26 @@ $a->strings['[No description]'] = '[без описания]'; $a->strings['Event Reminders'] = 'Напоминания о мероприятиях'; $a->strings['Upcoming events the next 7 days:'] = 'События на ближайшие 7 дней:'; $a->strings['OpenWebAuth: %1$s welcomes %2$s'] = 'OpenWebAuth: %1$s приветствует %2$s'; -$a->strings['Storage base path'] = 'Корневой каталог хранилища'; -$a->strings['Folder where uploaded files are saved. For maximum security, This should be a path outside web server folder tree'] = 'Каталог, куда сохраняются загруженные файлы. Для максимальной безопасности этот каталог должен быть размещён вне каталогов веб-сервера.'; -$a->strings['Enter a valid existing folder'] = 'Введите путь к существующему каталогу'; +$a->strings['Hometown:'] = 'Родной город:'; +$a->strings['Marital Status:'] = 'Семейное положение:'; +$a->strings['With:'] = 'Вместе:'; +$a->strings['Since:'] = 'С:'; +$a->strings['Sexual Preference:'] = 'Сексуальные предпочтения:'; +$a->strings['Political Views:'] = 'Политические взгляды:'; +$a->strings['Religious Views:'] = 'Религиозные взгляды:'; +$a->strings['Likes:'] = 'Нравится:'; +$a->strings['Dislikes:'] = 'Не нравится:'; +$a->strings['Title/Description:'] = 'Заголовок / Описание:'; +$a->strings['Summary'] = 'Резюме'; +$a->strings['Musical interests'] = 'Музыкальные интересы'; +$a->strings['Books, literature'] = 'Книги, литература'; +$a->strings['Television'] = 'Телевидение'; +$a->strings['Film/dance/culture/entertainment'] = 'Кино / танцы / культура / развлечения'; +$a->strings['Hobbies/Interests'] = 'Хобби / Интересы'; +$a->strings['Love/romance'] = 'Любовь / романтика'; +$a->strings['Work/employment'] = 'Работа / занятость'; +$a->strings['School/education'] = 'Школа / образование'; +$a->strings['Contact information and Social Networks'] = 'Контактная информация и социальные сети'; $a->strings['SERIOUS ERROR: Generation of security keys failed.'] = 'СЕРЬЕЗНАЯ ОШИБКА: генерация ключей безопасности не удалась.'; $a->strings['Login failed'] = 'Вход не удался'; $a->strings['Not enough information to authenticate'] = 'Недостаточно информации для входа'; @@ -1110,6 +1077,7 @@ $a->strings['An error occurred creating your default profile. Please try again.' $a->strings['An error occurred creating your self contact. Please try again.'] = 'При создании вашего контакта возникла проблема. Пожалуйста, попробуйте ещё раз.'; $a->strings['Friends'] = 'Друзья'; $a->strings['An error occurred creating your default contact group. Please try again.'] = 'При создании группы контактов по-умолчанию возникла ошибка. Пожалуйста, попробуйте ещё раз.'; +$a->strings['Profile Photos'] = 'Фотографии профиля'; $a->strings[' Dear %1$s, the administrator of %2$s has set up an account for you.'] = ' @@ -1542,7 +1510,6 @@ $a->strings['Blog Account'] = 'Аккаунт блога'; $a->strings['Private Forum Account'] = 'Закрытый форум'; $a->strings['Message queues'] = 'Очереди сообщений'; $a->strings['Server Settings'] = 'Настройки сервера'; -$a->strings['Summary'] = 'Резюме'; $a->strings['Registered users'] = 'Зарегистрированные пользователи'; $a->strings['Pending registrations'] = 'Ожидающие регистрации'; $a->strings['Version'] = 'Версия'; @@ -2223,6 +2190,58 @@ $a->strings['%1$s shared the post %2$s from %3$s'] = '%1$s поделился з $a->strings['%1$s shared a post from %3$s'] = '%1$s поделился записью от %3$s'; $a->strings['%1$s shared the post %2$s'] = '%1$s поделился записью %2$s'; $a->strings['%1$s shared a post'] = '%1$s поделился записью'; +$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.'; +$a->strings['a private message'] = 'личное сообщение'; +$a->strings['%1$s sent you %2$s.'] = '%1$s послал вам %2$s.'; +$a->strings['Please visit %s to view and/or reply to your private messages.'] = 'Пожалуйста, посетите %s для просмотра и/или ответа на личные сообщения.'; +$a->strings['%1$s commented on %2$s\'s %3$s %4$s'] = '%1$s прокомментировал(а) %2$s %3$s %4$s'; +$a->strings['%1$s commented on your %2$s %3$s'] = '%1$s прокомментировал(а) ваш %2$s %3$s'; +$a->strings['%1$s commented on their %2$s %3$s'] = '%1$s прокомментировал(а) свой %2$s %3$s'; +$a->strings['%1$s Comment to conversation #%2$d by %3$s'] = '%1$s Комментариев к разговору #%2$d от %3$s'; +$a->strings['%s commented on an item/conversation you have been following.'] = '%s оставил комментарий к элементу/беседе, за которой вы следите.'; +$a->strings['Please visit %s to view and/or reply to the conversation.'] = 'Пожалуйста посетите %s для просмотра и/или ответа в беседу.'; +$a->strings['%s %s posted to your profile wall'] = '%s %s размещены на стене вашего профиля'; +$a->strings['%1$s posted to your profile wall at %2$s'] = '%1$s написал на вашей стене на %2$s'; +$a->strings['%1$s posted to [url=%2$s]your wall[/url]'] = '%1$s написал на [url=%2$s]вашей стене[/url]'; +$a->strings['%1$s %2$s poked you'] = '%1$s %2$s продвинул тебя'; +$a->strings['%1$s poked you at %2$s'] = '%1$s потыкал вас на %2$s'; +$a->strings['%1$s [url=%2$s]poked you[/url].'] = '%1$s [url=%2$s]потыкал вас[/url].'; +$a->strings['%s Introduction received'] = '%s Входящих получено'; +$a->strings['You\'ve received an introduction from \'%1$s\' at %2$s'] = 'Вы получили запрос от \'%1$s\' на %2$s'; +$a->strings['You\'ve received [url=%1$s]an introduction[/url] from %2$s.'] = 'Вы получили [url=%1$s]запрос[/url] от %2$s.'; +$a->strings['You may visit their profile at %s'] = 'Вы можете посмотреть его профиль здесь %s'; +$a->strings['Please visit %s to approve or reject the introduction.'] = 'Посетите %s для подтверждения или отказа запроса.'; +$a->strings['%s A new person is sharing with you'] = '%s Новый человек поделился с Вами'; +$a->strings['%1$s is sharing with you at %2$s'] = '%1$s делится с вами на %2$s'; +$a->strings['%s You have a new follower'] = '%s У Вас новый подписчик'; +$a->strings['You have a new follower at %2$s : %1$s'] = 'У вас новый подписчик на %2$s : %1$s'; +$a->strings['%s Friend suggestion received'] = '%s Получено дружеское приглашение'; +$a->strings['You\'ve received a friend suggestion from \'%1$s\' at %2$s'] = 'Вы получили предложение дружбы от \'%1$s\' на %2$s'; +$a->strings['You\'ve received [url=%1$s]a friend suggestion[/url] for %2$s from %3$s.'] = 'У вас [url=%1$s]новое предложение дружбы[/url] для %2$s от %3$s.'; +$a->strings['Name:'] = 'Имя:'; +$a->strings['Photo:'] = 'Фото:'; +$a->strings['Please visit %s to approve or reject the suggestion.'] = 'Пожалуйста, посетите %s для подтверждения, или отказа запроса.'; +$a->strings['%s Connection accepted'] = '%s Соединение принято'; +$a->strings['\'%1$s\' has accepted your connection request at %2$s'] = '\'%1$s\' принял соединение с вами на %2$s'; +$a->strings['%2$s has accepted your [url=%1$s]connection request[/url].'] = '%2$s принял ваше [url=%1$s]предложение о соединении[/url].'; +$a->strings['You are now mutual friends and may exchange status updates, photos, and email without restriction.'] = 'Вы теперь взаимные друзья и можете обмениваться статусами, фотографиями и письмами без ограничений.'; +$a->strings['Please visit %s if you wish to make any changes to this relationship.'] = 'Посетите %s если вы хотите сделать изменения в этом отношении.'; +$a->strings['\'%1$s\' has chosen to accept you a fan, which restricts some forms of communication - such as private messaging and some profile interactions. If this is a celebrity or community page, these settings were applied automatically.'] = '%1$s решил принять приглашение и пометил вас как фаната, что запрещает некоторые формы общения - например, личные сообщения и некоторые действия с профилем. Если эта страница знаменитости или сообщества, то эти настройки были применены автоматически.'; +$a->strings['\'%1$s\' may choose to extend this into a two-way or more permissive relationship in the future.'] = '%1$s может расширить взаимоотношения до более мягких в будущем.'; +$a->strings['Please visit %s if you wish to make any changes to this relationship.'] = 'Посетите %s если вы хотите сделать изменения в этом отношении.'; +$a->strings['registration request'] = 'запрос регистрации'; +$a->strings['You\'ve received a registration request from \'%1$s\' at %2$s'] = 'Вы получили запрос на регистрацию от \'%1$s\' на %2$s'; +$a->strings['You\'ve received a [url=%1$s]registration request[/url] from %2$s.'] = 'Вы получили [url=%1$s]запрос регистрации[/url] от %2$s.'; +$a->strings['Full Name: %s +Site Location: %s +Login Name: %s (%s)'] = 'Полное имя: %s +Расположение: %s +Имя для входа: %s (%s)'; +$a->strings['Please visit %s to approve or reject the request.'] = 'Пожалуйста, посетите %s чтобы подтвердить или отвергнуть запрос.'; +$a->strings['%s %s tagged you'] = '%s %s отметил(и) Вас'; +$a->strings['%s %s shared a new post'] = '%s %s поделился(-ась) новым сообщением'; $a->strings['This message was sent to you by %s, a member of the Friendica social network.'] = 'Это сообщение было отправлено вам %s, участником социальной сети Friendica.'; $a->strings['You may visit them online at %s'] = 'Вы можете посетить их в онлайне на %s'; $a->strings['Please contact the sender by replying to this post if you do not wish to receive these messages.'] = 'Пожалуйста, свяжитесь с отправителем, ответив на это сообщение, если вы не хотите получать эти сообщения.'; @@ -2281,25 +2300,6 @@ $a->strings['%s is now following %s.'] = '%s теперь подписан на $a->strings['following'] = 'следует'; $a->strings['%s stopped following %s.'] = '%s отписался от %s.'; $a->strings['stopped following'] = 'отписка от'; -$a->strings['Hometown:'] = 'Родной город:'; -$a->strings['Marital Status:'] = 'Семейное положение:'; -$a->strings['With:'] = 'Вместе:'; -$a->strings['Since:'] = 'С:'; -$a->strings['Sexual Preference:'] = 'Сексуальные предпочтения:'; -$a->strings['Political Views:'] = 'Политические взгляды:'; -$a->strings['Religious Views:'] = 'Религиозные взгляды:'; -$a->strings['Likes:'] = 'Нравится:'; -$a->strings['Dislikes:'] = 'Не нравится:'; -$a->strings['Title/Description:'] = 'Заголовок / Описание:'; -$a->strings['Musical interests'] = 'Музыкальные интересы'; -$a->strings['Books, literature'] = 'Книги, литература'; -$a->strings['Television'] = 'Телевидение'; -$a->strings['Film/dance/culture/entertainment'] = 'Кино / танцы / культура / развлечения'; -$a->strings['Hobbies/Interests'] = 'Хобби / Интересы'; -$a->strings['Love/romance'] = 'Любовь / романтика'; -$a->strings['Work/employment'] = 'Работа / занятость'; -$a->strings['School/education'] = 'Школа / образование'; -$a->strings['Contact information and Social Networks'] = 'Контактная информация и социальные сети'; $a->strings['Login failed.'] = 'Войти не удалось.'; $a->strings['Login failed. Please check your credentials.'] = 'Ошибка входа. Пожалуйста, проверьте данные для входа.'; $a->strings['Welcome %s'] = 'Добро пожаловать, %s'; From e122f3059c60091dba520ac9c015de1de57aec08 Mon Sep 17 00:00:00 2001 From: Philipp Date: Mon, 1 Nov 2021 13:39:51 +0100 Subject: [PATCH 10/11] fxied tests --- .../Security/PermissionSet/Repository/PermissionSetTest.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/src/Security/PermissionSet/Repository/PermissionSetTest.php b/tests/src/Security/PermissionSet/Repository/PermissionSetTest.php index e2a4d3276d..250a61bf33 100644 --- a/tests/src/Security/PermissionSet/Repository/PermissionSetTest.php +++ b/tests/src/Security/PermissionSet/Repository/PermissionSetTest.php @@ -105,7 +105,7 @@ class PermissionSetTest extends FixtureTest [ 'uid' => 42, 'allow_cid' => '', - 'allow_gid' => '<<>>', + 'allow_gid' => '', 'deny_cid' => '', 'deny_gid' => '', ], @@ -155,7 +155,7 @@ class PermissionSetTest extends FixtureTest [ 'uid' => 42, 'allow_cid' => '', - 'allow_gid' => '<<>>', + 'allow_gid' => '', 'deny_cid' => '', 'deny_gid' => '', ], @@ -247,7 +247,7 @@ class PermissionSetTest extends FixtureTest [ 'uid' => 42, 'allow_cid' => '', - 'allow_gid' => '<<>>', + 'allow_gid' => '', 'deny_cid' => '', 'deny_gid' => '<2>', ], From 1f7a3fb698846f1efafadf005311e09ee9846401 Mon Sep 17 00:00:00 2001 From: Michael Date: Tue, 2 Nov 2021 08:10:12 +0000 Subject: [PATCH 11/11] Accept photo fetching for octet-stream as well --- src/Module/Photo.php | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/Module/Photo.php b/src/Module/Photo.php index 21e02c7cd8..399313e3f5 100644 --- a/src/Module/Photo.php +++ b/src/Module/Photo.php @@ -289,13 +289,17 @@ class Photo extends BaseModule $mimetext = ''; if (!empty($url)) { $mime = ParseUrl::getContentType($url); - if (empty($mime) || ($mime[0] != 'image')) { - $url = ''; - } else { + if (!empty($mime)) { $mimetext = $mime[0] . '/' . $mime[1]; + } else { + Logger::info('Invalid file', ['url' => $url]); + } + if (!empty($mimetext) && ($mime[0] != 'image') && ($mimetext != 'application/octet-stream')) { + Logger::info('Unexpected Content-Type', ['mime' => $mimetext, 'url' => $url]); + $mimetext = ''; } } - if (empty($url)) { + if (empty($mimetext)) { if ($customsize <= Proxy::PIXEL_MICRO) { $url = Contact::getDefaultAvatar($contact, Proxy::SIZE_MICRO); } elseif ($customsize <= Proxy::PIXEL_THUMB) {