forked from friendica/friendica-addons
Compare commits
14 commits
435a993502
...
9832fa6c45
Author | SHA1 | Date | |
---|---|---|---|
|
9832fa6c45 | ||
2ce14fb2ff | |||
82c2f8e37f | |||
5c45c05cdb | |||
c45c163471 | |||
cd7cec1de2 | |||
d8fe3bd119 | |||
e19fafa918 | |||
421964b406 | |||
6ade40efae | |||
f2cc0312ca | |||
e3ca7c73ce | |||
654a9da297 | |||
7a1af5fb5b |
51 changed files with 371 additions and 1608 deletions
|
@ -1,230 +0,0 @@
|
|||
<?php
|
||||
/**
|
||||
* Name: blockem
|
||||
* Description: Allows users to hide content by collapsing posts and replies.
|
||||
* Version: 1.0
|
||||
* Author: Mike Macgirvin <http://macgirvin.com/profile/mike>
|
||||
* Author: Roland Haeder <https://f.haeder.net/roland>
|
||||
* Status: unsupported
|
||||
*/
|
||||
|
||||
use Friendica\App;
|
||||
use Friendica\Core\Hook;
|
||||
use Friendica\Core\Renderer;
|
||||
use Friendica\DI;
|
||||
use Friendica\Util\Strings;
|
||||
|
||||
global $blockem_words;
|
||||
|
||||
function blockem_install()
|
||||
{
|
||||
Hook::register('prepare_body_content_filter', 'addon/blockem/blockem.php', 'blockem_prepare_body_content_filter');
|
||||
Hook::register('display_item' , 'addon/blockem/blockem.php', 'blockem_display_item');
|
||||
Hook::register('addon_settings' , 'addon/blockem/blockem.php', 'blockem_addon_settings');
|
||||
Hook::register('addon_settings_post' , 'addon/blockem/blockem.php', 'blockem_addon_settings_post');
|
||||
Hook::register('conversation_start' , 'addon/blockem/blockem.php', 'blockem_conversation_start');
|
||||
Hook::register('item_photo_menu' , 'addon/blockem/blockem.php', 'blockem_item_photo_menu');
|
||||
Hook::register('enotify_store' , 'addon/blockem/blockem.php', 'blockem_enotify_store');
|
||||
}
|
||||
|
||||
function blockem_addon_settings(array &$data)
|
||||
{
|
||||
if (!DI::userSession()->getLocalUserId()) {
|
||||
return;
|
||||
}
|
||||
|
||||
$words = DI::pConfig()->get(DI::userSession()->getLocalUserId(), 'blockem', 'words', '');
|
||||
|
||||
$t = Renderer::getMarkupTemplate('settings.tpl', 'addon/blockem/');
|
||||
$html = Renderer::replaceMacros($t, [
|
||||
'$info' => DI::l10n()->t("Hides user's content by collapsing posts. Also replaces their avatar with generic image."),
|
||||
'$words' => ['blockem-words', DI::l10n()->t('Comma separated profile URLS:'), $words],
|
||||
]);
|
||||
|
||||
$data = [
|
||||
'addon' => 'blockem',
|
||||
'title' => DI::l10n()->t('Blockem'),
|
||||
'html' => $html,
|
||||
];
|
||||
}
|
||||
|
||||
function blockem_addon_settings_post(array &$b)
|
||||
{
|
||||
if (!DI::userSession()->getLocalUserId()) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!empty($_POST['blockem-submit'])) {
|
||||
DI::pConfig()->set(DI::userSession()->getLocalUserId(), 'blockem', 'words', trim($_POST['blockem-words']));
|
||||
}
|
||||
}
|
||||
|
||||
function blockem_enotify_store(array &$b)
|
||||
{
|
||||
$words = DI::pConfig()->get($b['uid'], 'blockem', 'words');
|
||||
|
||||
if ($words) {
|
||||
$arr = explode(',', $words);
|
||||
} else {
|
||||
return;
|
||||
}
|
||||
|
||||
$found = false;
|
||||
|
||||
if (count($arr)) {
|
||||
foreach ($arr as $word) {
|
||||
if (!strlen(trim($word))) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (Strings::compareLink($b['url'], $word)) {
|
||||
$found = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ($found) {
|
||||
// empty out the fields
|
||||
$b = [];
|
||||
}
|
||||
}
|
||||
|
||||
function blockem_prepare_body_content_filter(array &$hook_data)
|
||||
{
|
||||
if (!DI::userSession()->getLocalUserId()) {
|
||||
return;
|
||||
}
|
||||
|
||||
$profiles_string = null;
|
||||
|
||||
if (DI::userSession()->getLocalUserId()) {
|
||||
$profiles_string = DI::pConfig()->get(DI::userSession()->getLocalUserId(), 'blockem', 'words');
|
||||
}
|
||||
|
||||
if ($profiles_string) {
|
||||
$profiles_array = explode(',', $profiles_string);
|
||||
} else {
|
||||
return;
|
||||
}
|
||||
|
||||
$found = false;
|
||||
|
||||
foreach ($profiles_array as $word) {
|
||||
if (Strings::compareLink($hook_data['item']['author-link'], trim($word))) {
|
||||
$found = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if ($found) {
|
||||
$hook_data['filter_reasons'][] = DI::l10n()->t('Filtered user: %s', $hook_data['item']['author-name']);
|
||||
}
|
||||
}
|
||||
|
||||
function blockem_display_item(array &$b = null)
|
||||
{
|
||||
if (!empty($b['output']['body']) && strstr($b['output']['body'], 'id="blockem-wrap-')) {
|
||||
$b['output']['thumb'] = DI::baseUrl() . "/images/person-80.jpg";
|
||||
}
|
||||
}
|
||||
|
||||
function blockem_conversation_start(array &$b)
|
||||
{
|
||||
global $blockem_words;
|
||||
|
||||
if (!DI::userSession()->getLocalUserId()) {
|
||||
return;
|
||||
}
|
||||
|
||||
$words = DI::pConfig()->get(DI::userSession()->getLocalUserId(), 'blockem', 'words');
|
||||
|
||||
if ($words) {
|
||||
$blockem_words = explode(',', $words);
|
||||
}
|
||||
|
||||
DI::page()['htmlhead'] .= <<< EOT
|
||||
|
||||
<script>
|
||||
function blockemBlock(author) {
|
||||
$.get('blockem?block=' +author, function(data) {
|
||||
location.reload(true);
|
||||
});
|
||||
}
|
||||
function blockemUnblock(author) {
|
||||
$.get('blockem?unblock=' +author, function(data) {
|
||||
location.reload(true);
|
||||
});
|
||||
}
|
||||
</script>
|
||||
|
||||
EOT;
|
||||
}
|
||||
|
||||
function blockem_item_photo_menu(array &$b)
|
||||
{
|
||||
global $blockem_words;
|
||||
|
||||
if (!DI::userSession()->getLocalUserId() || $b['item']['self']) {
|
||||
return;
|
||||
}
|
||||
|
||||
$blocked = false;
|
||||
$author = $b['item']['author-link'];
|
||||
|
||||
if (!empty($blockem_words)) {
|
||||
foreach($blockem_words as $bloke) {
|
||||
if (Strings::compareLink($bloke,$author)) {
|
||||
$blocked = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if ($blocked) {
|
||||
$b['menu'][DI::l10n()->t('Unblock Author')] = 'javascript:blockemUnblock(\'' . $author . '\');';
|
||||
} else {
|
||||
$b['menu'][DI::l10n()->t('Block Author')] = 'javascript:blockemBlock(\'' . $author . '\');';
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* This is a statement rather than an actual function definition. The simple
|
||||
* existence of this method is checked to figure out if the addon offers a
|
||||
* module.
|
||||
*/
|
||||
function blockem_module() {}
|
||||
|
||||
function blockem_init()
|
||||
{
|
||||
if (!DI::userSession()->getLocalUserId()) {
|
||||
return;
|
||||
}
|
||||
|
||||
$words = DI::pConfig()->get(DI::userSession()->getLocalUserId(), 'blockem', 'words');
|
||||
|
||||
if (array_key_exists('block', $_GET) && $_GET['block']) {
|
||||
if (strlen($words)) {
|
||||
$words .= ',';
|
||||
}
|
||||
|
||||
$words .= trim($_GET['block']);
|
||||
}
|
||||
|
||||
if (array_key_exists('unblock', $_GET) && $_GET['unblock']) {
|
||||
$arr = explode(',',$words);
|
||||
$newarr = [];
|
||||
|
||||
if (count($arr)) {
|
||||
foreach ($arr as $x) {
|
||||
if (!Strings::compareLink(trim($x), trim($_GET['unblock']))) {
|
||||
$newarr[] = $x;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$words = implode(',', $newarr);
|
||||
}
|
||||
|
||||
DI::pConfig()->set(DI::userSession()->getLocalUserId(), 'blockem', 'words', $words);
|
||||
exit();
|
||||
}
|
|
@ -1,45 +0,0 @@
|
|||
# ADDON blockem
|
||||
# Copyright (C)
|
||||
# This file is distributed under the same license as the Friendica blockem addon package.
|
||||
#
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-11-21 19:13-0500\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"Language: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: blockem.php:39
|
||||
msgid ""
|
||||
"Hides user's content by collapsing posts. Also replaces their avatar with "
|
||||
"generic image."
|
||||
msgstr ""
|
||||
|
||||
#: blockem.php:40
|
||||
msgid "Comma separated profile URLS:"
|
||||
msgstr ""
|
||||
|
||||
#: blockem.php:45
|
||||
msgid "Blockem"
|
||||
msgstr ""
|
||||
|
||||
#: blockem.php:120
|
||||
#, php-format
|
||||
msgid "Filtered user: %s"
|
||||
msgstr ""
|
||||
|
||||
#: blockem.php:183
|
||||
msgid "Unblock Author"
|
||||
msgstr ""
|
||||
|
||||
#: blockem.php:185
|
||||
msgid "Block Author"
|
||||
msgstr ""
|
|
@ -1,52 +0,0 @@
|
|||
# ADDON blockem
|
||||
# Copyright (C)
|
||||
# This file is distributed under the same license as the Friendica blockem addon package.
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
# abidin toumi <abidin24@tutanota.com>, 2021
|
||||
# Farida Khalaf <faridakhalaf@hotmail.com>, 2021
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: friendica\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-02-01 18:15+0100\n"
|
||||
"PO-Revision-Date: 2021-10-29 08:15+0000\n"
|
||||
"Last-Translator: abidin toumi <abidin24@tutanota.com>\n"
|
||||
"Language-Team: Arabic (http://www.transifex.com/Friendica/friendica/language/ar/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: ar\n"
|
||||
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n"
|
||||
|
||||
#: blockem.php:42 blockem.php:46
|
||||
msgid "Blockem"
|
||||
msgstr "احجبه<br>"
|
||||
|
||||
#: blockem.php:50
|
||||
msgid ""
|
||||
"Hides user's content by collapsing posts. Also replaces their avatar with "
|
||||
"generic image."
|
||||
msgstr "إخفاء محتوى المستخدم عن طريق تصغير المشاركات. و استبدال الصورة الرمزية الخاصة بهم بصورة عامة."
|
||||
|
||||
#: blockem.php:51
|
||||
msgid "Comma separated profile URLS:"
|
||||
msgstr "عناوين الملفات الشخصية مفصولة بفواصل:"
|
||||
|
||||
#: blockem.php:55
|
||||
msgid "Save Settings"
|
||||
msgstr "احفظ الإعدادات"
|
||||
|
||||
#: blockem.php:131
|
||||
#, php-format
|
||||
msgid "Filtered user: %s"
|
||||
msgstr "ترشيح المستخدم :1%s"
|
||||
|
||||
#: blockem.php:190
|
||||
msgid "Unblock Author"
|
||||
msgstr "ألغ الحجب عن المدون"
|
||||
|
||||
#: blockem.php:192
|
||||
msgid "Block Author"
|
||||
msgstr "احجب المدون"
|
|
@ -1,14 +0,0 @@
|
|||
<?php
|
||||
|
||||
if(! function_exists("string_plural_select_ar")) {
|
||||
function string_plural_select_ar($n){
|
||||
$n = intval($n);
|
||||
if ($n==0) { return 0; } else if ($n==1) { return 1; } else if ($n==2) { return 2; } else if ($n%100>=3 && $n%100<=10) { return 3; } else if ($n%100>=11 && $n%100<=99) { return 4; } else { return 5; }
|
||||
}}
|
||||
$a->strings['Blockem'] = 'احجبه<br>';
|
||||
$a->strings['Hides user\'s content by collapsing posts. Also replaces their avatar with generic image.'] = 'إخفاء محتوى المستخدم عن طريق تصغير المشاركات. و استبدال الصورة الرمزية الخاصة بهم بصورة عامة.';
|
||||
$a->strings['Comma separated profile URLS:'] = 'عناوين الملفات الشخصية مفصولة بفواصل:';
|
||||
$a->strings['Save Settings'] = 'احفظ الإعدادات';
|
||||
$a->strings['Filtered user: %s'] = 'ترشيح المستخدم :1%s';
|
||||
$a->strings['Unblock Author'] = 'ألغ الحجب عن المدون';
|
||||
$a->strings['Block Author'] = 'احجب المدون';
|
|
@ -1,59 +0,0 @@
|
|||
# ADDON blockem
|
||||
# Copyright (C)
|
||||
# This file is distributed under the same license as the Friendica blockem addon package.
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
# Joan Bar <friendica@tutanota.com>, 2019
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: friendica\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-08-17 10:23+0200\n"
|
||||
"PO-Revision-Date: 2019-10-14 11:50+0000\n"
|
||||
"Last-Translator: Joan Bar <friendica@tutanota.com>\n"
|
||||
"Language-Team: Catalan (http://www.transifex.com/Friendica/friendica/language/ca/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: ca\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: blockem.php:54 blockem.php:58
|
||||
msgid "Blockem"
|
||||
msgstr "Blockem"
|
||||
|
||||
#: blockem.php:62
|
||||
msgid ""
|
||||
"Hides user's content by collapsing posts. Also replaces their avatar with "
|
||||
"generic image."
|
||||
msgstr "Amaga el contingut de l'usuari mitjançant la publicació col·lapsada. També substitueix el seu avatar per una imatge genèrica"
|
||||
|
||||
#: blockem.php:63
|
||||
msgid "Comma separated profile URLS:"
|
||||
msgstr "URL de perfil separats per comes:"
|
||||
|
||||
#: blockem.php:67
|
||||
msgid "Save Settings"
|
||||
msgstr "Desa la configuració"
|
||||
|
||||
#: blockem.php:81
|
||||
msgid "BLOCKEM Settings saved."
|
||||
msgstr "S'ha desat la configuració de BLOCKEM."
|
||||
|
||||
#: blockem.php:143
|
||||
#, php-format
|
||||
msgid "Filtered user: %s"
|
||||
msgstr "Usuari filtrat:%s"
|
||||
|
||||
#: blockem.php:202
|
||||
msgid "Unblock Author"
|
||||
msgstr "Desbloca l'autor"
|
||||
|
||||
#: blockem.php:204
|
||||
msgid "Block Author"
|
||||
msgstr "Autor de bloc"
|
||||
|
||||
#: blockem.php:244
|
||||
msgid "blockem settings updated"
|
||||
msgstr "S'ha actualitzat la configuració de blockem"
|
|
@ -1,16 +0,0 @@
|
|||
<?php
|
||||
|
||||
if(! function_exists("string_plural_select_ca")) {
|
||||
function string_plural_select_ca($n){
|
||||
$n = intval($n);
|
||||
return intval($n != 1);
|
||||
}}
|
||||
$a->strings['Blockem'] = 'Blockem';
|
||||
$a->strings['Hides user\'s content by collapsing posts. Also replaces their avatar with generic image.'] = 'Amaga el contingut de l\'usuari mitjançant la publicació col·lapsada. També substitueix el seu avatar per una imatge genèrica';
|
||||
$a->strings['Comma separated profile URLS:'] = 'URL de perfil separats per comes:';
|
||||
$a->strings['Save Settings'] = 'Desa la configuració';
|
||||
$a->strings['BLOCKEM Settings saved.'] = 'S\'ha desat la configuració de BLOCKEM.';
|
||||
$a->strings['Filtered user: %s'] = 'Usuari filtrat:%s';
|
||||
$a->strings['Unblock Author'] = 'Desbloca l\'autor';
|
||||
$a->strings['Block Author'] = 'Autor de bloc';
|
||||
$a->strings['blockem settings updated'] = 'S\'ha actualitzat la configuració de blockem';
|
|
@ -1,60 +0,0 @@
|
|||
# ADDON blockem
|
||||
# Copyright (C)
|
||||
# This file is distributed under the same license as the Friendica blockem addon package.
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
# Aditoo, 2018
|
||||
# michal_s <msupler@gmail.com>, 2014
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: friendica\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-08-17 10:23+0200\n"
|
||||
"PO-Revision-Date: 2018-08-18 12:25+0000\n"
|
||||
"Last-Translator: Aditoo\n"
|
||||
"Language-Team: Czech (http://www.transifex.com/Friendica/friendica/language/cs/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: cs\n"
|
||||
"Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\n"
|
||||
|
||||
#: blockem.php:54 blockem.php:58
|
||||
msgid "Blockem"
|
||||
msgstr "Blockem"
|
||||
|
||||
#: blockem.php:62
|
||||
msgid ""
|
||||
"Hides user's content by collapsing posts. Also replaces their avatar with "
|
||||
"generic image."
|
||||
msgstr "Skrývá uživatelský obsah zabalením příspěvků. Navíc nahrazuje avatar generickým obrázkem."
|
||||
|
||||
#: blockem.php:63
|
||||
msgid "Comma separated profile URLS:"
|
||||
msgstr "URL adresy profilů, oddělené čárkami:"
|
||||
|
||||
#: blockem.php:67
|
||||
msgid "Save Settings"
|
||||
msgstr "Uložit nastavení"
|
||||
|
||||
#: blockem.php:81
|
||||
msgid "BLOCKEM Settings saved."
|
||||
msgstr "Nastavení BLOCKEM uložena."
|
||||
|
||||
#: blockem.php:143
|
||||
#, php-format
|
||||
msgid "Filtered user: %s"
|
||||
msgstr "Filtrovaný uživatel: %s"
|
||||
|
||||
#: blockem.php:202
|
||||
msgid "Unblock Author"
|
||||
msgstr "Odblokovat autora"
|
||||
|
||||
#: blockem.php:204
|
||||
msgid "Block Author"
|
||||
msgstr "Zablokovat autora"
|
||||
|
||||
#: blockem.php:244
|
||||
msgid "blockem settings updated"
|
||||
msgstr "nastavení blockem aktualizována"
|
|
@ -1,16 +0,0 @@
|
|||
<?php
|
||||
|
||||
if(! function_exists("string_plural_select_cs")) {
|
||||
function string_plural_select_cs($n){
|
||||
$n = intval($n);
|
||||
if (($n == 1 && $n % 1 == 0)) { return 0; } else if (($n >= 2 && $n <= 4 && $n % 1 == 0)) { return 1; } else if (($n % 1 != 0 )) { return 2; } else { return 3; }
|
||||
}}
|
||||
$a->strings['Blockem'] = 'Blockem';
|
||||
$a->strings['Hides user\'s content by collapsing posts. Also replaces their avatar with generic image.'] = 'Skrývá uživatelský obsah zabalením příspěvků. Navíc nahrazuje avatar generickým obrázkem.';
|
||||
$a->strings['Comma separated profile URLS:'] = 'URL adresy profilů, oddělené čárkami:';
|
||||
$a->strings['Save Settings'] = 'Uložit nastavení';
|
||||
$a->strings['BLOCKEM Settings saved.'] = 'Nastavení BLOCKEM uložena.';
|
||||
$a->strings['Filtered user: %s'] = 'Filtrovaný uživatel: %s';
|
||||
$a->strings['Unblock Author'] = 'Odblokovat autora';
|
||||
$a->strings['Block Author'] = 'Zablokovat autora';
|
||||
$a->strings['blockem settings updated'] = 'nastavení blockem aktualizována';
|
|
@ -1,47 +0,0 @@
|
|||
# ADDON blockem
|
||||
# Copyright (C)
|
||||
# This file is distributed under the same license as the Friendica blockem addon package.
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
# Anton <dev@atjn.dk>, 2022
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: friendica\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-11-21 19:13-0500\n"
|
||||
"PO-Revision-Date: 2014-06-22 11:20+0000\n"
|
||||
"Last-Translator: Anton <dev@atjn.dk>, 2022\n"
|
||||
"Language-Team: Danish (Denmark) (http://www.transifex.com/Friendica/friendica/language/da_DK/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: da_DK\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: blockem.php:39
|
||||
msgid ""
|
||||
"Hides user's content by collapsing posts. Also replaces their avatar with "
|
||||
"generic image."
|
||||
msgstr "Skjul brugers indhold ved at kollapse deres opslag. Erstatter også deres avatar med et generisk billede."
|
||||
|
||||
#: blockem.php:40
|
||||
msgid "Comma separated profile URLS:"
|
||||
msgstr "Kommasepareret liste over profil-URL's:"
|
||||
|
||||
#: blockem.php:45
|
||||
msgid "Blockem"
|
||||
msgstr "Blokdem"
|
||||
|
||||
#: blockem.php:120
|
||||
#, php-format
|
||||
msgid "Filtered user: %s"
|
||||
msgstr "Filtreret bruger: %s"
|
||||
|
||||
#: blockem.php:183
|
||||
msgid "Unblock Author"
|
||||
msgstr "Fjern blokering af forfatter"
|
||||
|
||||
#: blockem.php:185
|
||||
msgid "Block Author"
|
||||
msgstr "Blokér forfatter"
|
|
@ -1,13 +0,0 @@
|
|||
<?php
|
||||
|
||||
if(! function_exists("string_plural_select_da_dk")) {
|
||||
function string_plural_select_da_dk($n){
|
||||
$n = intval($n);
|
||||
return intval($n != 1);
|
||||
}}
|
||||
$a->strings['Hides user\'s content by collapsing posts. Also replaces their avatar with generic image.'] = 'Skjul brugers indhold ved at kollapse deres opslag. Erstatter også deres avatar med et generisk billede.';
|
||||
$a->strings['Comma separated profile URLS:'] = 'Kommasepareret liste over profil-URL\'s:';
|
||||
$a->strings['Blockem'] = 'Blokdem';
|
||||
$a->strings['Filtered user: %s'] = 'Filtreret bruger: %s';
|
||||
$a->strings['Unblock Author'] = 'Fjern blokering af forfatter';
|
||||
$a->strings['Block Author'] = 'Blokér forfatter';
|
|
@ -1,50 +0,0 @@
|
|||
# ADDON blockem
|
||||
# Copyright (C)
|
||||
# This file is distributed under the same license as the Friendica blockem addon package.
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
# Andreas H., 2018
|
||||
# Tobias Diekershoff <tobias.diekershoff@gmx.net>, 2014
|
||||
# Tobias Diekershoff <tobias.diekershoff@gmx.net>, 2018
|
||||
# Ulf Rompe <transifex.com@rompe.org>, 2019
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: friendica\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-11-21 19:13-0500\n"
|
||||
"PO-Revision-Date: 2021-12-22 15:27+0000\n"
|
||||
"Last-Translator: Transifex Bot <>\n"
|
||||
"Language-Team: German (http://www.transifex.com/Friendica/friendica/language/de/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: de\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: blockem.php:39
|
||||
msgid ""
|
||||
"Hides user's content by collapsing posts. Also replaces their avatar with "
|
||||
"generic image."
|
||||
msgstr "Verbirgt Inhalte von Benutzern durch Zusammenklappen der Beiträge. Des Weiteren wird das Profilbild durch einen generischen Avatar ersetzt."
|
||||
|
||||
#: blockem.php:40
|
||||
msgid "Comma separated profile URLS:"
|
||||
msgstr "Komma-separierte Liste von Profil-URLs"
|
||||
|
||||
#: blockem.php:45
|
||||
msgid "Blockem"
|
||||
msgstr "Blockem"
|
||||
|
||||
#: blockem.php:120
|
||||
#, php-format
|
||||
msgid "Filtered user: %s"
|
||||
msgstr "Gefilterte Person: %s"
|
||||
|
||||
#: blockem.php:183
|
||||
msgid "Unblock Author"
|
||||
msgstr "Autor freischalten"
|
||||
|
||||
#: blockem.php:185
|
||||
msgid "Block Author"
|
||||
msgstr "Autor blockieren"
|
|
@ -1,13 +0,0 @@
|
|||
<?php
|
||||
|
||||
if(! function_exists("string_plural_select_de")) {
|
||||
function string_plural_select_de($n){
|
||||
$n = intval($n);
|
||||
return intval($n != 1);
|
||||
}}
|
||||
$a->strings['Hides user\'s content by collapsing posts. Also replaces their avatar with generic image.'] = 'Verbirgt Inhalte von Benutzern durch Zusammenklappen der Beiträge. Des Weiteren wird das Profilbild durch einen generischen Avatar ersetzt.';
|
||||
$a->strings['Comma separated profile URLS:'] = 'Komma-separierte Liste von Profil-URLs';
|
||||
$a->strings['Blockem'] = 'Blockem';
|
||||
$a->strings['Filtered user: %s'] = 'Gefilterte Person: %s';
|
||||
$a->strings['Unblock Author'] = 'Autor freischalten';
|
||||
$a->strings['Block Author'] = 'Autor blockieren';
|
|
@ -1,59 +0,0 @@
|
|||
# ADDON blockem
|
||||
# Copyright (C)
|
||||
# This file is distributed under the same license as the Friendica blockem addon package.
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
# Andy H3 <andy@hubup.pro>, 2018
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: friendica\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-02-09 13:00+0100\n"
|
||||
"PO-Revision-Date: 2018-03-15 14:10+0000\n"
|
||||
"Last-Translator: Andy H3 <andy@hubup.pro>\n"
|
||||
"Language-Team: English (United Kingdom) (http://www.transifex.com/Friendica/friendica/language/en_GB/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: en_GB\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: blockem.php:51 blockem.php:55
|
||||
msgid "\"Blockem\""
|
||||
msgstr "\"Blockem\""
|
||||
|
||||
#: blockem.php:59
|
||||
msgid ""
|
||||
"Hides user's content by collapsing posts. Also replaces their avatar with "
|
||||
"generic image."
|
||||
msgstr "Hides user's content by collapsing posts. Also replaces their avatar with generic image."
|
||||
|
||||
#: blockem.php:60
|
||||
msgid "Comma separated profile URLS:"
|
||||
msgstr "Comma separated profile URLs:"
|
||||
|
||||
#: blockem.php:64
|
||||
msgid "Save Settings"
|
||||
msgstr "Save settings"
|
||||
|
||||
#: blockem.php:77
|
||||
msgid "BLOCKEM Settings saved."
|
||||
msgstr "Blockem settings saved."
|
||||
|
||||
#: blockem.php:140
|
||||
#, php-format
|
||||
msgid "Hidden content by %s - Click to open/close"
|
||||
msgstr "Hidden content by %s - Reveal/hide"
|
||||
|
||||
#: blockem.php:193
|
||||
msgid "Unblock Author"
|
||||
msgstr "Unblock author"
|
||||
|
||||
#: blockem.php:195
|
||||
msgid "Block Author"
|
||||
msgstr "Block author"
|
||||
|
||||
#: blockem.php:227
|
||||
msgid "blockem settings updated"
|
||||
msgstr "Blockem settings updated"
|
|
@ -1,16 +0,0 @@
|
|||
<?php
|
||||
|
||||
if(! function_exists("string_plural_select_en_gb")) {
|
||||
function string_plural_select_en_gb($n){
|
||||
$n = intval($n);
|
||||
return intval($n != 1);
|
||||
}}
|
||||
$a->strings['"Blockem"'] = '"Blockem"';
|
||||
$a->strings['Hides user\'s content by collapsing posts. Also replaces their avatar with generic image.'] = 'Hides user\'s content by collapsing posts. Also replaces their avatar with generic image.';
|
||||
$a->strings['Comma separated profile URLS:'] = 'Comma separated profile URLs:';
|
||||
$a->strings['Save Settings'] = 'Save settings';
|
||||
$a->strings['BLOCKEM Settings saved.'] = 'Blockem settings saved.';
|
||||
$a->strings['Hidden content by %s - Click to open/close'] = 'Hidden content by %s - Reveal/hide';
|
||||
$a->strings['Unblock Author'] = 'Unblock author';
|
||||
$a->strings['Block Author'] = 'Block author';
|
||||
$a->strings['blockem settings updated'] = 'Blockem settings updated';
|
|
@ -1,61 +0,0 @@
|
|||
# ADDON blockem
|
||||
# Copyright (C)
|
||||
# This file is distributed under the same license as the Friendica blockem addon package.
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
# Adam Clark <adam@isurf.ca>, 2018
|
||||
# Andy H3 <andy@hubup.pro>, 2018
|
||||
# R C <miqrogroove@gmail.com>, 2018
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: friendica\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-04-01 11:11-0400\n"
|
||||
"PO-Revision-Date: 2018-06-13 02:40+0000\n"
|
||||
"Last-Translator: R C <miqrogroove@gmail.com>\n"
|
||||
"Language-Team: English (United States) (http://www.transifex.com/Friendica/friendica/language/en_US/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: en_US\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: blockem.php:52 blockem.php:56
|
||||
msgid "\"Blockem\""
|
||||
msgstr "Blockem"
|
||||
|
||||
#: blockem.php:60
|
||||
msgid ""
|
||||
"Hides user's content by collapsing posts. Also replaces their avatar with "
|
||||
"generic image."
|
||||
msgstr "Hides user's content by collapsing posts. Also replaces their avatar with generic image."
|
||||
|
||||
#: blockem.php:61
|
||||
msgid "Comma separated profile URLS:"
|
||||
msgstr "Comma-separated profile URLs:"
|
||||
|
||||
#: blockem.php:65
|
||||
msgid "Save Settings"
|
||||
msgstr "Save settings"
|
||||
|
||||
#: blockem.php:78
|
||||
msgid "BLOCKEM Settings saved."
|
||||
msgstr "Blockem settings saved."
|
||||
|
||||
#: blockem.php:136
|
||||
#, php-format
|
||||
msgid "Filtered user: %s"
|
||||
msgstr "Filtered user: %s"
|
||||
|
||||
#: blockem.php:189
|
||||
msgid "Unblock Author"
|
||||
msgstr "Unblock author"
|
||||
|
||||
#: blockem.php:191
|
||||
msgid "Block Author"
|
||||
msgstr "Block author"
|
||||
|
||||
#: blockem.php:223
|
||||
msgid "blockem settings updated"
|
||||
msgstr "Blockem settings updated"
|
|
@ -1,16 +0,0 @@
|
|||
<?php
|
||||
|
||||
if(! function_exists("string_plural_select_en_us")) {
|
||||
function string_plural_select_en_us($n){
|
||||
$n = intval($n);
|
||||
return intval($n != 1);
|
||||
}}
|
||||
$a->strings['"Blockem"'] = 'Blockem';
|
||||
$a->strings['Hides user\'s content by collapsing posts. Also replaces their avatar with generic image.'] = 'Hides user\'s content by collapsing posts. Also replaces their avatar with generic image.';
|
||||
$a->strings['Comma separated profile URLS:'] = 'Comma-separated profile URLs:';
|
||||
$a->strings['Save Settings'] = 'Save settings';
|
||||
$a->strings['BLOCKEM Settings saved.'] = 'Blockem settings saved.';
|
||||
$a->strings['Filtered user: %s'] = 'Filtered user: %s';
|
||||
$a->strings['Unblock Author'] = 'Unblock author';
|
||||
$a->strings['Block Author'] = 'Block author';
|
||||
$a->strings['blockem settings updated'] = 'Blockem settings updated';
|
|
@ -1,10 +0,0 @@
|
|||
<?php
|
||||
|
||||
$a->strings["\"Blockem\" Settings"] = "\"Blockem\" Agordoj";
|
||||
$a->strings["Comma separated profile URLS to block"] = "Blokotaj URL adresoj, disigita per komo";
|
||||
$a->strings["Submit"] = "Sendi";
|
||||
$a->strings["BLOCKEM Settings saved."] = "Konservis Agordojn de BLOCKEM.";
|
||||
$a->strings["Blocked %s - Click to open/close"] = "%s blokita - Klaku por malfermi/fermi";
|
||||
$a->strings["Unblock Author"] = "Malbloki Aŭtoron";
|
||||
$a->strings["Block Author"] = "Bloki Aŭtoron";
|
||||
$a->strings["blockem settings updated"] = "Ĝisdatigis la blockem agordojn";
|
|
@ -1,53 +0,0 @@
|
|||
# ADDON blockem
|
||||
# Copyright (C)
|
||||
# This file is distributed under the same license as the Friendica blockem addon package.
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
# Albert, 2018
|
||||
# Senex Petrovic <javierruizo@hotmail.com>, 2021
|
||||
# Tupambae.org, 2016
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: friendica\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-02-01 18:15+0100\n"
|
||||
"PO-Revision-Date: 2021-04-01 09:45+0000\n"
|
||||
"Last-Translator: Senex Petrovic <javierruizo@hotmail.com>\n"
|
||||
"Language-Team: Spanish (http://www.transifex.com/Friendica/friendica/language/es/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: es\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: blockem.php:42 blockem.php:46
|
||||
msgid "Blockem"
|
||||
msgstr "Blockem (Bloquealos)"
|
||||
|
||||
#: blockem.php:50
|
||||
msgid ""
|
||||
"Hides user's content by collapsing posts. Also replaces their avatar with "
|
||||
"generic image."
|
||||
msgstr "Oculta el contenido del usuario al colapsar las publicaciones. También reemplaza su avatar con una imagen genérica."
|
||||
|
||||
#: blockem.php:51
|
||||
msgid "Comma separated profile URLS:"
|
||||
msgstr "URLs de perfil separadas por comas:"
|
||||
|
||||
#: blockem.php:55
|
||||
msgid "Save Settings"
|
||||
msgstr "Guardar configuración"
|
||||
|
||||
#: blockem.php:131
|
||||
#, php-format
|
||||
msgid "Filtered user: %s"
|
||||
msgstr "Usuario filtrado: %s"
|
||||
|
||||
#: blockem.php:190
|
||||
msgid "Unblock Author"
|
||||
msgstr "Desbloquear autor"
|
||||
|
||||
#: blockem.php:192
|
||||
msgid "Block Author"
|
||||
msgstr "Bloquear autor"
|
|
@ -1,14 +0,0 @@
|
|||
<?php
|
||||
|
||||
if(! function_exists("string_plural_select_es")) {
|
||||
function string_plural_select_es($n){
|
||||
$n = intval($n);
|
||||
return intval($n != 1);
|
||||
}}
|
||||
$a->strings['Blockem'] = 'Blockem (Bloquealos)';
|
||||
$a->strings['Hides user\'s content by collapsing posts. Also replaces their avatar with generic image.'] = 'Oculta el contenido del usuario al colapsar las publicaciones. También reemplaza su avatar con una imagen genérica.';
|
||||
$a->strings['Comma separated profile URLS:'] = 'URLs de perfil separadas por comas:';
|
||||
$a->strings['Save Settings'] = 'Guardar configuración';
|
||||
$a->strings['Filtered user: %s'] = 'Usuario filtrado: %s';
|
||||
$a->strings['Unblock Author'] = 'Desbloquear autor';
|
||||
$a->strings['Block Author'] = 'Bloquear autor';
|
|
@ -1,60 +0,0 @@
|
|||
# ADDON blockem
|
||||
# Copyright (C)
|
||||
# This file is distributed under the same license as the Friendica blockem addon package.
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
# Kris, 2018
|
||||
# Kris, 2018
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: friendica\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-04-01 11:11-0400\n"
|
||||
"PO-Revision-Date: 2018-04-18 14:44+0000\n"
|
||||
"Last-Translator: Kris\n"
|
||||
"Language-Team: Finnish (Finland) (http://www.transifex.com/Friendica/friendica/language/fi_FI/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: fi_FI\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: blockem.php:52 blockem.php:56
|
||||
msgid "\"Blockem\""
|
||||
msgstr "\"Blockem\""
|
||||
|
||||
#: blockem.php:60
|
||||
msgid ""
|
||||
"Hides user's content by collapsing posts. Also replaces their avatar with "
|
||||
"generic image."
|
||||
msgstr ""
|
||||
|
||||
#: blockem.php:61
|
||||
msgid "Comma separated profile URLS:"
|
||||
msgstr "Profiilien URL-osoitteet pilkulla erotettuina:"
|
||||
|
||||
#: blockem.php:65
|
||||
msgid "Save Settings"
|
||||
msgstr "Tallenna asetukset"
|
||||
|
||||
#: blockem.php:78
|
||||
msgid "BLOCKEM Settings saved."
|
||||
msgstr "Blockem -asetukset tallennettu"
|
||||
|
||||
#: blockem.php:136
|
||||
#, php-format
|
||||
msgid "Filtered user: %s"
|
||||
msgstr "Suodatettu käyttäjä: %s"
|
||||
|
||||
#: blockem.php:189
|
||||
msgid "Unblock Author"
|
||||
msgstr "Poista kirjoittaja estolistalta"
|
||||
|
||||
#: blockem.php:191
|
||||
msgid "Block Author"
|
||||
msgstr "Lisää kirjoittaja estolistalle"
|
||||
|
||||
#: blockem.php:223
|
||||
msgid "blockem settings updated"
|
||||
msgstr "blockem -asetukset päivitetty"
|
|
@ -1,15 +0,0 @@
|
|||
<?php
|
||||
|
||||
if(! function_exists("string_plural_select_fi_fi")) {
|
||||
function string_plural_select_fi_fi($n){
|
||||
$n = intval($n);
|
||||
return intval($n != 1);
|
||||
}}
|
||||
$a->strings['"Blockem"'] = '"Blockem"';
|
||||
$a->strings['Comma separated profile URLS:'] = 'Profiilien URL-osoitteet pilkulla erotettuina:';
|
||||
$a->strings['Save Settings'] = 'Tallenna asetukset';
|
||||
$a->strings['BLOCKEM Settings saved.'] = 'Blockem -asetukset tallennettu';
|
||||
$a->strings['Filtered user: %s'] = 'Suodatettu käyttäjä: %s';
|
||||
$a->strings['Unblock Author'] = 'Poista kirjoittaja estolistalta';
|
||||
$a->strings['Block Author'] = 'Lisää kirjoittaja estolistalle';
|
||||
$a->strings['blockem settings updated'] = 'blockem -asetukset päivitetty';
|
|
@ -1,50 +0,0 @@
|
|||
# ADDON blockem
|
||||
# Copyright (C)
|
||||
# This file is distributed under the same license as the Friendica blockem addon package.
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
# Hypolite Petovan <hypolite@mrpetovan.com>, 2016
|
||||
# Marie Olive <lacellule101@gmail.com>, 2018
|
||||
# StefOfficiel <pichard.stephane@free.fr>, 2015
|
||||
# Vladimir Núñez <lapoubelle111@gmail.com>, 2018
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: friendica\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-11-21 19:13-0500\n"
|
||||
"PO-Revision-Date: 2014-06-22 11:20+0000\n"
|
||||
"Last-Translator: Vladimir Núñez <lapoubelle111@gmail.com>, 2018\n"
|
||||
"Language-Team: French (http://www.transifex.com/Friendica/friendica/language/fr/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: fr\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"
|
||||
|
||||
#: blockem.php:39
|
||||
msgid ""
|
||||
"Hides user's content by collapsing posts. Also replaces their avatar with "
|
||||
"generic image."
|
||||
msgstr "Cache le contenu de l'utilisateur en contractant les publications. Remplace aussi leur avatar par une image générique."
|
||||
|
||||
#: blockem.php:40
|
||||
msgid "Comma separated profile URLS:"
|
||||
msgstr "URLs de profil séparées par des virgules:"
|
||||
|
||||
#: blockem.php:45
|
||||
msgid "Blockem"
|
||||
msgstr "Bloquez-les"
|
||||
|
||||
#: blockem.php:120
|
||||
#, php-format
|
||||
msgid "Filtered user: %s"
|
||||
msgstr "Utilisateur filtré:%s"
|
||||
|
||||
#: blockem.php:183
|
||||
msgid "Unblock Author"
|
||||
msgstr "Débloquer l'Auteur"
|
||||
|
||||
#: blockem.php:185
|
||||
msgid "Block Author"
|
||||
msgstr "Bloquer l'Auteur"
|
|
@ -1,13 +0,0 @@
|
|||
<?php
|
||||
|
||||
if(! function_exists("string_plural_select_fr")) {
|
||||
function string_plural_select_fr($n){
|
||||
$n = intval($n);
|
||||
if (($n == 0 || $n == 1)) { return 0; } else if ($n != 0 && $n % 1000000 == 0) { return 1; } else { return 2; }
|
||||
}}
|
||||
$a->strings['Hides user\'s content by collapsing posts. Also replaces their avatar with generic image.'] = 'Cache le contenu de l\'utilisateur en contractant les publications. Remplace aussi leur avatar par une image générique.';
|
||||
$a->strings['Comma separated profile URLS:'] = 'URLs de profil séparées par des virgules:';
|
||||
$a->strings['Blockem'] = 'Bloquez-les';
|
||||
$a->strings['Filtered user: %s'] = 'Utilisateur filtré:%s';
|
||||
$a->strings['Unblock Author'] = 'Débloquer l\'Auteur';
|
||||
$a->strings['Block Author'] = 'Bloquer l\'Auteur';
|
|
@ -1,47 +0,0 @@
|
|||
# ADDON blockem
|
||||
# Copyright (C)
|
||||
# This file is distributed under the same license as the Friendica blockem addon package.
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
# Balázs Úr, 2020
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: friendica\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-11-21 19:13-0500\n"
|
||||
"PO-Revision-Date: 2014-06-22 11:20+0000\n"
|
||||
"Last-Translator: Balázs Úr, 2020\n"
|
||||
"Language-Team: Hungarian (http://www.transifex.com/Friendica/friendica/language/hu/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: hu\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: blockem.php:39
|
||||
msgid ""
|
||||
"Hides user's content by collapsing posts. Also replaces their avatar with "
|
||||
"generic image."
|
||||
msgstr "Elrejti a felhasználók tartalmát a bejegyzések összecsukásával. Ezenkívül lecseréli a profilképeiket egy általános képre."
|
||||
|
||||
#: blockem.php:40
|
||||
msgid "Comma separated profile URLS:"
|
||||
msgstr "Profil URL-ek vesszővel elválasztva:"
|
||||
|
||||
#: blockem.php:45
|
||||
msgid "Blockem"
|
||||
msgstr "Blockem"
|
||||
|
||||
#: blockem.php:120
|
||||
#, php-format
|
||||
msgid "Filtered user: %s"
|
||||
msgstr "Kiszűrt felhasználó: %s"
|
||||
|
||||
#: blockem.php:183
|
||||
msgid "Unblock Author"
|
||||
msgstr "Szerző tiltásának feloldása"
|
||||
|
||||
#: blockem.php:185
|
||||
msgid "Block Author"
|
||||
msgstr "Szerző tiltása"
|
|
@ -1,13 +0,0 @@
|
|||
<?php
|
||||
|
||||
if(! function_exists("string_plural_select_hu")) {
|
||||
function string_plural_select_hu($n){
|
||||
$n = intval($n);
|
||||
return intval($n != 1);
|
||||
}}
|
||||
$a->strings['Hides user\'s content by collapsing posts. Also replaces their avatar with generic image.'] = 'Elrejti a felhasználók tartalmát a bejegyzések összecsukásával. Ezenkívül lecseréli a profilképeiket egy általános képre.';
|
||||
$a->strings['Comma separated profile URLS:'] = 'Profil URL-ek vesszővel elválasztva:';
|
||||
$a->strings['Blockem'] = 'Blockem';
|
||||
$a->strings['Filtered user: %s'] = 'Kiszűrt felhasználó: %s';
|
||||
$a->strings['Unblock Author'] = 'Szerző tiltásának feloldása';
|
||||
$a->strings['Block Author'] = 'Szerző tiltása';
|
|
@ -1,10 +0,0 @@
|
|||
<?php
|
||||
|
||||
$a->strings["\"Blockem\" Settings"] = "\"Blockem\" stillingar";
|
||||
$a->strings["Comma separated profile URLS to block"] = "Banna lista af forsíðum (komma á milli)";
|
||||
$a->strings["Submit"] = "Senda inn";
|
||||
$a->strings["BLOCKEM Settings saved."] = "BLOCKEM stillingar vistaðar.";
|
||||
$a->strings["Blocked %s - Click to open/close"] = "%s sett í straff - Smella til að taka úr/setja á";
|
||||
$a->strings["Unblock Author"] = "Leyfa notanda";
|
||||
$a->strings["Block Author"] = "Banna notanda";
|
||||
$a->strings["blockem settings updated"] = "";
|
|
@ -1,59 +0,0 @@
|
|||
# ADDON blockem
|
||||
# Copyright (C)
|
||||
# This file is distributed under the same license as the Friendica blockem addon package.
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
# fabrixxm <fabrix.xm@gmail.com>, 2014,2018-2019
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: friendica\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-08-17 10:23+0200\n"
|
||||
"PO-Revision-Date: 2019-03-11 14:21+0000\n"
|
||||
"Last-Translator: fabrixxm <fabrix.xm@gmail.com>\n"
|
||||
"Language-Team: Italian (http://www.transifex.com/Friendica/friendica/language/it/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: it\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: blockem.php:54 blockem.php:58
|
||||
msgid "Blockem"
|
||||
msgstr "Blockem"
|
||||
|
||||
#: blockem.php:62
|
||||
msgid ""
|
||||
"Hides user's content by collapsing posts. Also replaces their avatar with "
|
||||
"generic image."
|
||||
msgstr "Nascondi il contenuto degli utenti collassando i messaggi. Sostituisce anche gli avatar con un'immagine generica."
|
||||
|
||||
#: blockem.php:63
|
||||
msgid "Comma separated profile URLS:"
|
||||
msgstr "URL profili separati da virgola:"
|
||||
|
||||
#: blockem.php:67
|
||||
msgid "Save Settings"
|
||||
msgstr "Salva Impostazioni"
|
||||
|
||||
#: blockem.php:81
|
||||
msgid "BLOCKEM Settings saved."
|
||||
msgstr "Impostazioni BLOCKEM salvate."
|
||||
|
||||
#: blockem.php:143
|
||||
#, php-format
|
||||
msgid "Filtered user: %s"
|
||||
msgstr "Utente filtrato: %s"
|
||||
|
||||
#: blockem.php:202
|
||||
msgid "Unblock Author"
|
||||
msgstr "Sblocca autore"
|
||||
|
||||
#: blockem.php:204
|
||||
msgid "Block Author"
|
||||
msgstr "Blocca autore"
|
||||
|
||||
#: blockem.php:244
|
||||
msgid "blockem settings updated"
|
||||
msgstr "Impostazioni 'blockem' aggiornate."
|
|
@ -1,16 +0,0 @@
|
|||
<?php
|
||||
|
||||
if(! function_exists("string_plural_select_it")) {
|
||||
function string_plural_select_it($n){
|
||||
$n = intval($n);
|
||||
return intval($n != 1);
|
||||
}}
|
||||
$a->strings['Blockem'] = 'Blockem';
|
||||
$a->strings['Hides user\'s content by collapsing posts. Also replaces their avatar with generic image.'] = 'Nascondi il contenuto degli utenti collassando i messaggi. Sostituisce anche gli avatar con un\'immagine generica.';
|
||||
$a->strings['Comma separated profile URLS:'] = 'URL profili separati da virgola:';
|
||||
$a->strings['Save Settings'] = 'Salva Impostazioni';
|
||||
$a->strings['BLOCKEM Settings saved.'] = 'Impostazioni BLOCKEM salvate.';
|
||||
$a->strings['Filtered user: %s'] = 'Utente filtrato: %s';
|
||||
$a->strings['Unblock Author'] = 'Sblocca autore';
|
||||
$a->strings['Block Author'] = 'Blocca autore';
|
||||
$a->strings['blockem settings updated'] = 'Impostazioni \'blockem\' aggiornate.';
|
|
@ -1,10 +0,0 @@
|
|||
<?php
|
||||
|
||||
$a->strings["\"Blockem\" Settings"] = "";
|
||||
$a->strings["Comma separated profile URLS to block"] = "";
|
||||
$a->strings["Submit"] = "Lagre";
|
||||
$a->strings["BLOCKEM Settings saved."] = "";
|
||||
$a->strings["Blocked %s - Click to open/close"] = "";
|
||||
$a->strings["Unblock Author"] = "";
|
||||
$a->strings["Block Author"] = "";
|
||||
$a->strings["blockem settings updated"] = "";
|
|
@ -1,60 +0,0 @@
|
|||
# ADDON blockem
|
||||
# Copyright (C)
|
||||
# This file is distributed under the same license as the Friendica blockem addon package.
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
# AgnesElisa <agneselisa@disroot.org>, 2018
|
||||
# Jeroen De Meerleer <me@jeroened.be>, 2018
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: friendica\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-08-17 10:23+0200\n"
|
||||
"PO-Revision-Date: 2018-08-24 13:49+0000\n"
|
||||
"Last-Translator: Jeroen De Meerleer <me@jeroened.be>\n"
|
||||
"Language-Team: Dutch (http://www.transifex.com/Friendica/friendica/language/nl/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: nl\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: blockem.php:54 blockem.php:58
|
||||
msgid "Blockem"
|
||||
msgstr "Blockem"
|
||||
|
||||
#: blockem.php:62
|
||||
msgid ""
|
||||
"Hides user's content by collapsing posts. Also replaces their avatar with "
|
||||
"generic image."
|
||||
msgstr "Verbergt de inhoud van het bericht van de gebruiker. Daarnaast vervangt het de avatar door een standaardafbeelding."
|
||||
|
||||
#: blockem.php:63
|
||||
msgid "Comma separated profile URLS:"
|
||||
msgstr "Profiel URLs (kommagescheiden):"
|
||||
|
||||
#: blockem.php:67
|
||||
msgid "Save Settings"
|
||||
msgstr "Instellingen opslaan"
|
||||
|
||||
#: blockem.php:81
|
||||
msgid "BLOCKEM Settings saved."
|
||||
msgstr "BLOCKEM instellingen opgeslagen."
|
||||
|
||||
#: blockem.php:143
|
||||
#, php-format
|
||||
msgid "Filtered user: %s"
|
||||
msgstr "Gefilterde gebruiker: %s"
|
||||
|
||||
#: blockem.php:202
|
||||
msgid "Unblock Author"
|
||||
msgstr "Deblokkeer Auteur"
|
||||
|
||||
#: blockem.php:204
|
||||
msgid "Block Author"
|
||||
msgstr "Auteur blokkeren"
|
||||
|
||||
#: blockem.php:244
|
||||
msgid "blockem settings updated"
|
||||
msgstr "blockem instellingen opgeslagen"
|
|
@ -1,16 +0,0 @@
|
|||
<?php
|
||||
|
||||
if(! function_exists("string_plural_select_nl")) {
|
||||
function string_plural_select_nl($n){
|
||||
$n = intval($n);
|
||||
return intval($n != 1);
|
||||
}}
|
||||
$a->strings['Blockem'] = 'Blockem';
|
||||
$a->strings['Hides user\'s content by collapsing posts. Also replaces their avatar with generic image.'] = 'Verbergt de inhoud van het bericht van de gebruiker. Daarnaast vervangt het de avatar door een standaardafbeelding.';
|
||||
$a->strings['Comma separated profile URLS:'] = 'Profiel URLs (kommagescheiden):';
|
||||
$a->strings['Save Settings'] = 'Instellingen opslaan';
|
||||
$a->strings['BLOCKEM Settings saved.'] = 'BLOCKEM instellingen opgeslagen.';
|
||||
$a->strings['Filtered user: %s'] = 'Gefilterde gebruiker: %s';
|
||||
$a->strings['Unblock Author'] = 'Deblokkeer Auteur';
|
||||
$a->strings['Block Author'] = 'Auteur blokkeren';
|
||||
$a->strings['blockem settings updated'] = 'blockem instellingen opgeslagen';
|
|
@ -1,47 +0,0 @@
|
|||
# ADDON blockem
|
||||
# Copyright (C)
|
||||
# This file is distributed under the same license as the Friendica blockem addon package.
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
# Waldemar Stoczkowski, 2018
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: friendica\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-11-21 19:13-0500\n"
|
||||
"PO-Revision-Date: 2014-06-22 11:20+0000\n"
|
||||
"Last-Translator: Waldemar Stoczkowski, 2018\n"
|
||||
"Language-Team: Polish (http://www.transifex.com/Friendica/friendica/language/pl/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: pl\n"
|
||||
"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n"
|
||||
|
||||
#: blockem.php:39
|
||||
msgid ""
|
||||
"Hides user's content by collapsing posts. Also replaces their avatar with "
|
||||
"generic image."
|
||||
msgstr "Ukrywa zawartość użytkownika, zwijając posty. Zastępuje również awatar wygenerowanym obrazem."
|
||||
|
||||
#: blockem.php:40
|
||||
msgid "Comma separated profile URLS:"
|
||||
msgstr "Rozdzielone przecinkami adresy URL profilu:"
|
||||
|
||||
#: blockem.php:45
|
||||
msgid "Blockem"
|
||||
msgstr "Zablokowanie"
|
||||
|
||||
#: blockem.php:120
|
||||
#, php-format
|
||||
msgid "Filtered user: %s"
|
||||
msgstr "Użytkownik filtrowany: %s"
|
||||
|
||||
#: blockem.php:183
|
||||
msgid "Unblock Author"
|
||||
msgstr "Odblokuj autora"
|
||||
|
||||
#: blockem.php:185
|
||||
msgid "Block Author"
|
||||
msgstr "Zablokuj autora"
|
|
@ -1,13 +0,0 @@
|
|||
<?php
|
||||
|
||||
if(! function_exists("string_plural_select_pl")) {
|
||||
function string_plural_select_pl($n){
|
||||
$n = intval($n);
|
||||
if ($n==1) { return 0; } else if (($n%10>=2 && $n%10<=4) && ($n%100<12 || $n%100>14)) { return 1; } else if ($n!=1 && ($n%10>=0 && $n%10<=1) || ($n%10>=5 && $n%10<=9) || ($n%100>=12 && $n%100<=14)) { return 2; } else { return 3; }
|
||||
}}
|
||||
$a->strings['Hides user\'s content by collapsing posts. Also replaces their avatar with generic image.'] = 'Ukrywa zawartość użytkownika, zwijając posty. Zastępuje również awatar wygenerowanym obrazem.';
|
||||
$a->strings['Comma separated profile URLS:'] = 'Rozdzielone przecinkami adresy URL profilu:';
|
||||
$a->strings['Blockem'] = 'Zablokowanie';
|
||||
$a->strings['Filtered user: %s'] = 'Użytkownik filtrowany: %s';
|
||||
$a->strings['Unblock Author'] = 'Odblokuj autora';
|
||||
$a->strings['Block Author'] = 'Zablokuj autora';
|
|
@ -1,10 +0,0 @@
|
|||
<?php
|
||||
|
||||
$a->strings["\"Blockem\" Settings"] = "Configurações \"Blockem\"";
|
||||
$a->strings["Comma separated profile URLS to block"] = "URLS de perfis separados por vírgulas a serem bloqueados";
|
||||
$a->strings["Submit"] = "Enviar";
|
||||
$a->strings["BLOCKEM Settings saved."] = "Configurações BLOCKEM armazenadas.";
|
||||
$a->strings["Blocked %s - Click to open/close"] = "Bloqueado %s - Clique para abrir/fechar";
|
||||
$a->strings["Unblock Author"] = "Desbloqueie Autor";
|
||||
$a->strings["Block Author"] = "Bloqueie Autor";
|
||||
$a->strings["blockem settings updated"] = "configurações blockem atualizadas";
|
|
@ -1,52 +0,0 @@
|
|||
# ADDON blockem
|
||||
# Copyright (C)
|
||||
# This file is distributed under the same license as the Friendica blockem addon package.
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: friendica\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2014-06-22 13:18+0200\n"
|
||||
"PO-Revision-Date: 2014-07-08 11:43+0000\n"
|
||||
"Last-Translator: Arian - Cazare Muncitori <arianserv@gmail.com>\n"
|
||||
"Language-Team: Romanian (Romania) (http://www.transifex.com/projects/p/friendica/language/ro_RO/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: ro_RO\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n"
|
||||
|
||||
#: blockem.php:53 blockem.php:57
|
||||
msgid "\"Blockem\""
|
||||
msgstr "\"Blockem\""
|
||||
|
||||
#: blockem.php:61
|
||||
msgid "Comma separated profile URLS to block"
|
||||
msgstr "Adresele URL de profil, de blocat, separate prin virgulă"
|
||||
|
||||
#: blockem.php:65
|
||||
msgid "Save Settings"
|
||||
msgstr "Salvare Configurări"
|
||||
|
||||
#: blockem.php:78
|
||||
msgid "BLOCKEM Settings saved."
|
||||
msgstr "Configurările BLOCKEM au fost salvate."
|
||||
|
||||
#: blockem.php:142
|
||||
#, php-format
|
||||
msgid "Blocked %s - Click to open/close"
|
||||
msgstr "%s Blocate - Apăsați pentru a deschide/închide"
|
||||
|
||||
#: blockem.php:197
|
||||
msgid "Unblock Author"
|
||||
msgstr "Deblocare Autor"
|
||||
|
||||
#: blockem.php:199
|
||||
msgid "Block Author"
|
||||
msgstr "Blocare Autor"
|
||||
|
||||
#: blockem.php:231
|
||||
msgid "blockem settings updated"
|
||||
msgstr "Configurările blockem au fost actualizate"
|
|
@ -1,15 +0,0 @@
|
|||
<?php
|
||||
|
||||
if(! function_exists("string_plural_select_ro")) {
|
||||
function string_plural_select_ro($n){
|
||||
$n = intval($n);
|
||||
if ($n==1) { return 0; } else if ((($n%100>19)||(($n%100==0)&&($n!=0)))) { return 2; } else { return 1; }
|
||||
}}
|
||||
$a->strings['"Blockem"'] = '"Blockem"';
|
||||
$a->strings['Comma separated profile URLS to block'] = 'Adresele URL de profil, de blocat, separate prin virgulă';
|
||||
$a->strings['Save Settings'] = 'Salvare Configurări';
|
||||
$a->strings['BLOCKEM Settings saved.'] = 'Configurările BLOCKEM au fost salvate.';
|
||||
$a->strings['Blocked %s - Click to open/close'] = '%s Blocate - Apăsați pentru a deschide/închide';
|
||||
$a->strings['Unblock Author'] = 'Deblocare Autor';
|
||||
$a->strings['Block Author'] = 'Blocare Autor';
|
||||
$a->strings['blockem settings updated'] = 'Configurările blockem au fost actualizate';
|
|
@ -1,60 +0,0 @@
|
|||
# ADDON blockem
|
||||
# Copyright (C)
|
||||
# This file is distributed under the same license as the Friendica blockem addon package.
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
# Alexander An <ravnina@gmail.com>, 2020
|
||||
# Stanislav N. <pztrn@pztrn.name>, 2017-2018
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: friendica\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-08-17 10:23+0200\n"
|
||||
"PO-Revision-Date: 2020-04-23 14:13+0000\n"
|
||||
"Last-Translator: Alexander An <ravnina@gmail.com>\n"
|
||||
"Language-Team: Russian (http://www.transifex.com/Friendica/friendica/language/ru/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"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"
|
||||
|
||||
#: blockem.php:54 blockem.php:58
|
||||
msgid "Blockem"
|
||||
msgstr "Blockem"
|
||||
|
||||
#: blockem.php:62
|
||||
msgid ""
|
||||
"Hides user's content by collapsing posts. Also replaces their avatar with "
|
||||
"generic image."
|
||||
msgstr "Скрыть контент пользователя. Также заменяет его аватар изображением по-умолчанию."
|
||||
|
||||
#: blockem.php:63
|
||||
msgid "Comma separated profile URLS:"
|
||||
msgstr "URL профилей, разделенные запятыми:"
|
||||
|
||||
#: blockem.php:67
|
||||
msgid "Save Settings"
|
||||
msgstr "Сохранить настройки"
|
||||
|
||||
#: blockem.php:81
|
||||
msgid "BLOCKEM Settings saved."
|
||||
msgstr "BLOCKEM Настройки сохранены."
|
||||
|
||||
#: blockem.php:143
|
||||
#, php-format
|
||||
msgid "Filtered user: %s"
|
||||
msgstr "Отфильтрованный пользователь: %s"
|
||||
|
||||
#: blockem.php:202
|
||||
msgid "Unblock Author"
|
||||
msgstr "Разблокировать автора"
|
||||
|
||||
#: blockem.php:204
|
||||
msgid "Block Author"
|
||||
msgstr "Блокировать автора"
|
||||
|
||||
#: blockem.php:244
|
||||
msgid "blockem settings updated"
|
||||
msgstr "Настройки Blockem обновлены"
|
|
@ -1,16 +0,0 @@
|
|||
<?php
|
||||
|
||||
if(! function_exists("string_plural_select_ru")) {
|
||||
function string_plural_select_ru($n){
|
||||
$n = intval($n);
|
||||
if ($n%10==1 && $n%100!=11) { return 0; } else if ($n%10>=2 && $n%10<=4 && ($n%100<12 || $n%100>14)) { return 1; } else if ($n%10==0 || ($n%10>=5 && $n%10<=9) || ($n%100>=11 && $n%100<=14)) { return 2; } else { return 3; }
|
||||
}}
|
||||
$a->strings['Blockem'] = 'Blockem';
|
||||
$a->strings['Hides user\'s content by collapsing posts. Also replaces their avatar with generic image.'] = 'Скрыть контент пользователя. Также заменяет его аватар изображением по-умолчанию.';
|
||||
$a->strings['Comma separated profile URLS:'] = 'URL профилей, разделенные запятыми:';
|
||||
$a->strings['Save Settings'] = 'Сохранить настройки';
|
||||
$a->strings['BLOCKEM Settings saved.'] = 'BLOCKEM Настройки сохранены.';
|
||||
$a->strings['Filtered user: %s'] = 'Отфильтрованный пользователь: %s';
|
||||
$a->strings['Unblock Author'] = 'Разблокировать автора';
|
||||
$a->strings['Block Author'] = 'Блокировать автора';
|
||||
$a->strings['blockem settings updated'] = 'Настройки Blockem обновлены';
|
|
@ -1,47 +0,0 @@
|
|||
# ADDON blockem
|
||||
# Copyright (C)
|
||||
# This file is distributed under the same license as the Friendica blockem addon package.
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
# Bjoessi <torbjorn.andersson@syte.se>, 2019
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: friendica\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-11-21 19:13-0500\n"
|
||||
"PO-Revision-Date: 2021-12-22 15:27+0000\n"
|
||||
"Last-Translator: Transifex Bot <>\n"
|
||||
"Language-Team: Swedish (http://www.transifex.com/Friendica/friendica/language/sv/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: sv\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: blockem.php:39
|
||||
msgid ""
|
||||
"Hides user's content by collapsing posts. Also replaces their avatar with "
|
||||
"generic image."
|
||||
msgstr "Döljer användares inlägg genom sammanslagning nedåt. Användarens profilbild ersätts med en standardbild."
|
||||
|
||||
#: blockem.php:40
|
||||
msgid "Comma separated profile URLS:"
|
||||
msgstr "Kommaseparerade profiladresser:"
|
||||
|
||||
#: blockem.php:45
|
||||
msgid "Blockem"
|
||||
msgstr "BLOCKEM"
|
||||
|
||||
#: blockem.php:120
|
||||
#, php-format
|
||||
msgid "Filtered user: %s"
|
||||
msgstr "Filtrerat på användare:%s"
|
||||
|
||||
#: blockem.php:183
|
||||
msgid "Unblock Author"
|
||||
msgstr "Avblockera författare"
|
||||
|
||||
#: blockem.php:185
|
||||
msgid "Block Author"
|
||||
msgstr "Blockera författare"
|
|
@ -1,13 +0,0 @@
|
|||
<?php
|
||||
|
||||
if(! function_exists("string_plural_select_sv")) {
|
||||
function string_plural_select_sv($n){
|
||||
$n = intval($n);
|
||||
return intval($n != 1);
|
||||
}}
|
||||
$a->strings['Hides user\'s content by collapsing posts. Also replaces their avatar with generic image.'] = 'Döljer användares inlägg genom sammanslagning nedåt. Användarens profilbild ersätts med en standardbild.';
|
||||
$a->strings['Comma separated profile URLS:'] = 'Kommaseparerade profiladresser:';
|
||||
$a->strings['Blockem'] = 'BLOCKEM';
|
||||
$a->strings['Filtered user: %s'] = 'Filtrerat på användare:%s';
|
||||
$a->strings['Unblock Author'] = 'Avblockera författare';
|
||||
$a->strings['Block Author'] = 'Blockera författare';
|
|
@ -1,10 +0,0 @@
|
|||
<?php
|
||||
|
||||
$a->strings["\"Blockem\" Settings"] = "「Blockem」配置";
|
||||
$a->strings["Comma separated profile URLS to block"] = "逗号分简介URL为栏";
|
||||
$a->strings["Submit"] = "提交";
|
||||
$a->strings["BLOCKEM Settings saved."] = "「Blockem」配置保存了。";
|
||||
$a->strings["Blocked %s - Click to open/close"] = "%s拦了-点击为开关";
|
||||
$a->strings["Unblock Author"] = "不拦作家";
|
||||
$a->strings["Block Author"] = "拦作家";
|
||||
$a->strings["blockem settings updated"] = "blockem设置更新了";
|
|
@ -1 +0,0 @@
|
|||
{{include file="field_textarea.tpl" field=$words}}
|
9
bluesky/README.md
Normal file
9
bluesky/README.md
Normal file
|
@ -0,0 +1,9 @@
|
|||
Bluesky Addon
|
||||
==============
|
||||
|
||||
This addon supports posting to and receiving posts from Bluesky.
|
||||
|
||||
No setup is needed for the admins to make it work for their users.
|
||||
|
||||
Bluesky itself is under development as well. It is planned to make it decentral.
|
||||
The addon is prepared to support different servers. But it isn't enabled yet.
|
|
@ -6,22 +6,21 @@
|
|||
* Author: Michael Vogel <https://pirati.ca/profile/heluecht>
|
||||
*
|
||||
* @todo
|
||||
* Piece of cake?
|
||||
* - Process facets
|
||||
* - create facets
|
||||
*
|
||||
* Possible but less important:
|
||||
* - Block, unblock, mute and unmute contacts
|
||||
*
|
||||
* Need inspiration:
|
||||
* - alternate link for contacts
|
||||
* - plink for posts
|
||||
* Nice to have:
|
||||
* - Probing for contacts
|
||||
*
|
||||
* Need more information:
|
||||
* - only fetch new posts
|
||||
* - detect incoming reshares
|
||||
* - detect contact relations
|
||||
* - receive likes
|
||||
* - follow contacts
|
||||
* - unfollow contacts
|
||||
*
|
||||
* Possible but less important:
|
||||
* - Block contacts
|
||||
* - unblock contacts
|
||||
* - mute contacts
|
||||
* - unmute contacts
|
||||
*/
|
||||
|
||||
use Friendica\Content\Text\BBCode;
|
||||
|
@ -43,8 +42,10 @@ use Friendica\Network\HTTPClient\Client\HttpClientAccept;
|
|||
use Friendica\Network\HTTPClient\Client\HttpClientOptions;
|
||||
use Friendica\Protocol\Activity;
|
||||
use Friendica\Util\DateTimeFormat;
|
||||
use Friendica\Util\Strings;
|
||||
|
||||
define('BLUESKY_DEFAULT_POLL_INTERVAL', 10); // given in minutes
|
||||
const BLUESKY_DEFAULT_POLL_INTERVAL = 10; // given in minutes
|
||||
const BLUESKY_HOST = 'https://bsky.app'; // Hard wired until Bluesky will run on multiple systems
|
||||
|
||||
function bluesky_install()
|
||||
{
|
||||
|
@ -64,7 +65,7 @@ function bluesky_install()
|
|||
// Hook::register('unblock', __FILE__, 'bluesky_unblock');
|
||||
Hook::register('check_item_notification', __FILE__, 'bluesky_check_item_notification');
|
||||
// Hook::register('probe_detect', __FILE__, 'bluesky_probe_detect');
|
||||
// Hook::register('item_by_link', __FILE__, 'bluesky_item_by_link');
|
||||
Hook::register('item_by_link', __FILE__, 'bluesky_item_by_link');
|
||||
}
|
||||
|
||||
function bluesky_load_config(ConfigFileManager $loader)
|
||||
|
@ -83,6 +84,41 @@ function bluesky_check_item_notification(array &$notification_data)
|
|||
}
|
||||
}
|
||||
|
||||
function bluesky_item_by_link(array &$hookData)
|
||||
{
|
||||
// Don't overwrite an existing result
|
||||
if (isset($hookData['item_id'])) {
|
||||
return;
|
||||
}
|
||||
|
||||
$token = bluesky_get_token($hookData['uid']);
|
||||
if (empty($token)) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!preg_match('#^' . BLUESKY_HOST . '/profile/(.+)/post/(.+)#', $hookData['uri'], $matches)) {
|
||||
return;
|
||||
}
|
||||
|
||||
$did = bluesky_get_did($hookData['uid'], $matches[1]);
|
||||
if (empty($did)) {
|
||||
return;
|
||||
}
|
||||
|
||||
Logger::debug('Found bluesky post', ['url' => $hookData['uri'], 'handle' => $matches[1], 'did' => $did, 'cid' => $matches[2]]);
|
||||
|
||||
$uri = 'at://' . $did . '/app.bsky.feed.post/' . $matches[2];
|
||||
|
||||
$uri = bluesky_fetch_missing_post($uri, $hookData['uid'], 0, true);
|
||||
Logger::debug('Got post', ['profile' => $matches[1], 'cid' => $matches[2], 'result' => $uri]);
|
||||
if (!empty($uri)) {
|
||||
$item = Post::selectFirst(['id'], ['uri' => $uri, 'uid' => $hookData['uid']]);
|
||||
if (!empty($item['id'])) {
|
||||
$hookData['item_id'] = $item['id'];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function bluesky_settings(array &$data)
|
||||
{
|
||||
if (!DI::userSession()->getLocalUserId()) {
|
||||
|
@ -141,7 +177,7 @@ function bluesky_settings_post(array &$b)
|
|||
|
||||
if (!empty($host) && !empty($handle)) {
|
||||
if (empty($old_did) || $old_host != $host || $old_handle != $handle) {
|
||||
DI::pConfig()->set(DI::userSession()->getLocalUserId(), 'bluesky', 'did', bluesky_get_did(DI::userSession()->getLocalUserId()));
|
||||
DI::pConfig()->set(DI::userSession()->getLocalUserId(), 'bluesky', 'did', bluesky_get_did(DI::userSession()->getLocalUserId(), DI::pConfig()->get(DI::userSession()->getLocalUserId(), 'bluesky', 'handle')));
|
||||
}
|
||||
} else {
|
||||
DI::pConfig()->delete(DI::userSession()->getLocalUserId(), 'bluesky', 'did');
|
||||
|
@ -150,7 +186,6 @@ function bluesky_settings_post(array &$b)
|
|||
if (!empty($_POST['bluesky_password'])) {
|
||||
bluesky_create_token(DI::userSession()->getLocalUserId(), $_POST['bluesky_password']);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function bluesky_jot_nets(array &$jotnets_fields)
|
||||
|
@ -334,7 +369,7 @@ function bluesky_create_activity(array $item, stdClass $parent = null)
|
|||
'createdAt' => DateTimeFormat::utcNow(DateTimeFormat::ATOM),
|
||||
'$type' => 'app.bsky.feed.like'
|
||||
];
|
||||
|
||||
|
||||
$post = [
|
||||
'collection' => 'app.bsky.feed.like',
|
||||
'repo' => $did,
|
||||
|
@ -373,15 +408,23 @@ function bluesky_create_post(array $item, stdClass $root = null, stdClass $paren
|
|||
}
|
||||
|
||||
$did = DI::pConfig()->get($uid, 'bluesky', 'did');
|
||||
$urls = bluesky_get_urls($item['body']);
|
||||
|
||||
$msg = Plaintext::getPost($item, 300, false, BBCode::CONNECTORS);
|
||||
foreach ($msg['parts'] as $key => $part) {
|
||||
|
||||
$facets = bluesky_get_facets($part, $urls);
|
||||
|
||||
$record = [
|
||||
'text' => $part,
|
||||
'text' => $facets['body'],
|
||||
'createdAt' => DateTimeFormat::utcNow(DateTimeFormat::ATOM),
|
||||
'$type' => 'app.bsky.feed.post'
|
||||
];
|
||||
|
||||
if (!empty($facets['facets'])) {
|
||||
$record['facets'] = $facets['facets'];
|
||||
}
|
||||
|
||||
if (!empty($root)) {
|
||||
$record['reply'] = ['root' => $root, 'parent' => $parent];
|
||||
}
|
||||
|
@ -412,6 +455,63 @@ function bluesky_create_post(array $item, stdClass $root = null, stdClass $paren
|
|||
}
|
||||
}
|
||||
|
||||
function bluesky_get_urls(string $body): array
|
||||
{
|
||||
// Remove all hashtags and mentions
|
||||
$body = preg_replace("/([#@!])\[url\=(.*?)\](.*?)\[\/url\]/ism", '', $body);
|
||||
|
||||
$urls = [];
|
||||
|
||||
// Search for pure links
|
||||
if (preg_match_all("/\[url\](https?:.*?)\[\/url\]/ism", $body, $matches)) {
|
||||
foreach ($matches[1] as $url) {
|
||||
$urls[] = $url;
|
||||
}
|
||||
}
|
||||
|
||||
// Search for links with descriptions
|
||||
if (preg_match_all("/\[url\=(https?:.*?)\].*?\[\/url\]/ism", $body, $matches)) {
|
||||
foreach ($matches[1] as $url) {
|
||||
$urls[] = $url;
|
||||
}
|
||||
}
|
||||
return $urls;
|
||||
}
|
||||
|
||||
function bluesky_get_facets(string $body, array $urls): array
|
||||
{
|
||||
$facets = [];
|
||||
|
||||
foreach ($urls as $url) {
|
||||
$pos = strpos($body, $url);
|
||||
if ($pos === false) {
|
||||
continue;
|
||||
}
|
||||
if ($pos > 0) {
|
||||
$prefix = substr($body, 0, $pos);
|
||||
} else {
|
||||
$prefix = '';
|
||||
}
|
||||
$linktext = Strings::getStyledURL($url);
|
||||
$body = $prefix . $linktext . substr($body, $pos + strlen($url));
|
||||
|
||||
$facet = new stdClass;
|
||||
$facet->index = new stdClass;
|
||||
$facet->index->byteEnd = $pos + strlen($linktext);
|
||||
$facet->index->byteStart = $pos;
|
||||
|
||||
$feature = new stdClass;
|
||||
$feature->uri = $url;
|
||||
$type = '$type';
|
||||
$feature->$type = 'app.bsky.richtext.facet#link';
|
||||
|
||||
$facet->features = [$feature];
|
||||
$facets[] = $facet;
|
||||
}
|
||||
|
||||
return ['facets' => $facets, 'body' => $body];
|
||||
}
|
||||
|
||||
function bluesky_add_embed(int $uid, array $msg, array $record): array
|
||||
{
|
||||
if (($msg['type'] != 'link') && !empty($msg['images'])) {
|
||||
|
@ -484,12 +584,55 @@ function bluesky_fetch_timeline(int $uid)
|
|||
|
||||
foreach (array_reverse($data->feed) as $entry) {
|
||||
bluesky_process_post($entry->post, $uid);
|
||||
if (!empty($entry->reason)) {
|
||||
bluesky_process_reason($entry->reason, bluesky_get_uri($entry->post), $uid);
|
||||
}
|
||||
}
|
||||
|
||||
// @todo Support paging
|
||||
// [cursor] => 1684670516000::bafyreidq3ilwslmlx72jf5vrk367xcc63s6lrhzlyup2bi3zwcvso6w2vi
|
||||
}
|
||||
|
||||
function bluesky_process_reason(stdClass $reason, string $uri, int $uid)
|
||||
{
|
||||
$type = '$type';
|
||||
if ($reason->$type != 'app.bsky.feed.defs#reasonRepost') {
|
||||
return;
|
||||
}
|
||||
|
||||
$contact = bluesky_get_contact($reason->by, $uid);
|
||||
|
||||
$item = [
|
||||
'network' => Protocol::BLUESKY,
|
||||
'uid' => $uid,
|
||||
'wall' => false,
|
||||
'uri' => $reason->by->did . '/app.bsky.feed.repost/' . $reason->indexedAt,
|
||||
'private' => Item::UNLISTED,
|
||||
'verb' => Activity::POST,
|
||||
'contact-id' => $contact['id'],
|
||||
'author-name' => $contact['name'],
|
||||
'author-link' => $contact['url'],
|
||||
'author-avatar' => $contact['avatar'],
|
||||
'verb' => Activity::ANNOUNCE,
|
||||
'body' => Activity::ANNOUNCE,
|
||||
'gravity' => Item::GRAVITY_ACTIVITY,
|
||||
'object-type' => Activity\ObjectType::NOTE,
|
||||
'thr-parent' => $uri,
|
||||
];
|
||||
|
||||
if (Post::exists(['uri' => $item['uri'], 'uid' => $uid])) {
|
||||
return;
|
||||
}
|
||||
|
||||
$item['owner-name'] = $item['author-name'];
|
||||
$item['owner-link'] = $item['author-link'];
|
||||
$item['owner-avatar'] = $item['author-avatar'];
|
||||
if (Item::insert($item)) {
|
||||
$cdata = Contact::getPublicAndUserContactID($contact['id'], $uid);
|
||||
Item::update(['post-reason' => Item::PR_ANNOUNCEMENT, 'causer-id' => $cdata['public']], ['uri' => $uri, 'uid' => $uid]);
|
||||
}
|
||||
}
|
||||
|
||||
function bluesky_process_post(stdClass $post, int $uid): int
|
||||
{
|
||||
$uri = bluesky_get_uri($post);
|
||||
|
@ -512,6 +655,10 @@ function bluesky_process_post(stdClass $post, int $uid): int
|
|||
|
||||
function bluesky_get_header(stdClass $post, string $uri, int $uid): array
|
||||
{
|
||||
$parts = bluesky_get_uri_parts($uri);
|
||||
if (empty($post->author)) {
|
||||
return [];
|
||||
}
|
||||
$contact = bluesky_get_contact($post->author, $uid);
|
||||
$item = [
|
||||
'network' => Protocol::BLUESKY,
|
||||
|
@ -525,7 +672,7 @@ function bluesky_get_header(stdClass $post, string $uri, int $uid): array
|
|||
'author-name' => $contact['name'],
|
||||
'author-link' => $contact['url'],
|
||||
'author-avatar' => $contact['avatar'],
|
||||
// 'plink' => '', @todo Path to a web representation
|
||||
'plink' => $contact['alias'] . '/post/' . $parts->rkey,
|
||||
];
|
||||
|
||||
$item['uri-id'] = ItemURI::getIdByURI($uri);
|
||||
|
@ -540,22 +687,59 @@ function bluesky_get_content(array $item, stdClass $record, int $uid): array
|
|||
{
|
||||
if (!empty($record->reply)) {
|
||||
$item['parent-uri'] = bluesky_get_uri($record->reply->root);
|
||||
bluesky_fetch_missing_post($item['parent-uri'], $uid);
|
||||
$item['parent-uri'] = bluesky_fetch_missing_post($item['parent-uri'], $uid, $item['contact-id']);
|
||||
$item['thr-parent'] = bluesky_get_uri($record->reply->parent);
|
||||
bluesky_fetch_missing_post($item['thr-parent'], $uid);
|
||||
$item['thr-parent'] = bluesky_fetch_missing_post($item['thr-parent'], $uid, $item['contact-id']);
|
||||
}
|
||||
|
||||
$body = $record->text;
|
||||
|
||||
if (!empty($record->facets)) {
|
||||
// @todo add Links
|
||||
}
|
||||
|
||||
$item['body'] = $body;
|
||||
$item['body'] = bluesky_get_text($record, $uid);
|
||||
$item['created'] = DateTimeFormat::utc($record->createdAt, DateTimeFormat::MYSQL);
|
||||
return $item;
|
||||
}
|
||||
|
||||
function bluesky_get_text(stdClass $record, int $uid): string
|
||||
{
|
||||
$text = $record->text;
|
||||
|
||||
if (empty($record->facets)) {
|
||||
return $text;
|
||||
}
|
||||
|
||||
$facets = [];
|
||||
foreach ($record->facets as $facet) {
|
||||
$facets[$facet->index->byteStart] = $facet;
|
||||
}
|
||||
krsort($facets);
|
||||
|
||||
foreach ($facets as $facet) {
|
||||
$prefix = substr($text, 0, $facet->index->byteStart);
|
||||
$linktext = substr($text, $facet->index->byteStart, $facet->index->byteEnd - $facet->index->byteStart);
|
||||
$suffix = substr($text, $facet->index->byteEnd);
|
||||
|
||||
$url = '';
|
||||
|
||||
foreach ($facet->features as $feature) {
|
||||
if (!empty($feature->uri)) {
|
||||
$url = $feature->uri;
|
||||
}
|
||||
if (!empty($feature->did)) {
|
||||
$contact = Contact::selectFirst(['id'], ['nurl' => $feature->did, 'uid' => [0, $uid]]);
|
||||
if (!empty($contact['id'])) {
|
||||
$url = DI::baseUrl() . '/contact/' . $contact['id'];
|
||||
if (substr($linktext, 0, 1) == '@') {
|
||||
$prefix .= '@';
|
||||
$linktext = substr($linktext, 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!empty($url)) {
|
||||
$text = $prefix . '[url=' . $url . ']' . $linktext . '[/url]' . $suffix;
|
||||
}
|
||||
}
|
||||
return $text;
|
||||
}
|
||||
|
||||
function bluesky_add_media(stdClass $embed, array $item): array
|
||||
{
|
||||
if (!empty($embed->images)) {
|
||||
|
@ -570,7 +754,8 @@ function bluesky_add_media(stdClass $embed, array $item): array
|
|||
Post\Media::insert($media);
|
||||
}
|
||||
} elseif (!empty($embed->external)) {
|
||||
$media = ['uri-id' => $item['uri-id'],
|
||||
$media = [
|
||||
'uri-id' => $item['uri-id'],
|
||||
'type' => Post\Media::HTML,
|
||||
'url' => $embed->external->uri,
|
||||
'name' => $embed->external->title,
|
||||
|
@ -582,15 +767,17 @@ function bluesky_add_media(stdClass $embed, array $item): array
|
|||
$shared = Post::selectFirst(['uri-id'], ['uri' => $uri, 'uid' => $item['uid']]);
|
||||
if (empty($shared)) {
|
||||
$shared = bluesky_get_header($embed->record, $uri, 0);
|
||||
$shared = bluesky_get_content($shared, $embed->record->value, $item['uid']);
|
||||
if (!empty($shared)) {
|
||||
$shared = bluesky_get_content($shared, $embed->record->value, $item['uid']);
|
||||
|
||||
if (!empty($embed->record->embeds)) {
|
||||
foreach ($embed->record->embeds as $single) {
|
||||
$shared = bluesky_add_media($single, $shared);
|
||||
if (!empty($embed->record->embeds)) {
|
||||
foreach ($embed->record->embeds as $single) {
|
||||
$shared = bluesky_add_media($single, $shared);
|
||||
}
|
||||
}
|
||||
$id = Item::insert($shared);
|
||||
$shared = Post::selectFirst(['uri-id'], ['id' => $id]);
|
||||
}
|
||||
$id = Item::insert($shared);
|
||||
$shared = Post::selectFirst(['uri-id'], ['id' => $id]);
|
||||
}
|
||||
if (!empty($shared)) {
|
||||
$item['quote-uri-id'] = $shared['uri-id'];
|
||||
|
@ -644,30 +831,54 @@ function bluesky_get_uri_parts(string $uri): ?stdClass
|
|||
return $class;
|
||||
}
|
||||
|
||||
function bluesky_fetch_missing_post(string $uri, int $uid)
|
||||
function bluesky_fetch_missing_post(string $uri, int $uid, int $causer, bool $original = false): string
|
||||
{
|
||||
if (Post::exists(['uri' => $uri, 'uid' => [$uid, 0]])) {
|
||||
Logger::debug('Post exists', ['uri' => $uri]);
|
||||
return;
|
||||
return $uri;
|
||||
}
|
||||
|
||||
$reply = Post::selectFirst(['uri'], ['extid' => $uri, 'uid' => [$uid, 0]]);
|
||||
if (!empty($reply['uri'])) {
|
||||
return $reply['uri'];
|
||||
}
|
||||
|
||||
Logger::debug('Fetch missing post', ['uri' => $uri]);
|
||||
$class = bluesky_get_uri_class($uri);
|
||||
|
||||
$data = bluesky_get($uid, '/xrpc/app.bsky.feed.getPosts?uris=' . $class->uri, HttpClientAccept::JSON, [HttpClientOptions::HEADERS => ['Authorization' => ['Bearer ' . bluesky_get_token($uid)]]]);
|
||||
if (!$original) {
|
||||
$class = bluesky_get_uri_class($uri);
|
||||
$fetch_uri = $class->uri;
|
||||
} else {
|
||||
$fetch_uri = $uri;
|
||||
}
|
||||
|
||||
$data = bluesky_get($uid, '/xrpc/app.bsky.feed.getPosts?uris=' . urlencode($fetch_uri), HttpClientAccept::JSON, [HttpClientOptions::HEADERS => ['Authorization' => ['Bearer ' . bluesky_get_token($uid)]]]);
|
||||
if (empty($data)) {
|
||||
return;
|
||||
return '';
|
||||
}
|
||||
|
||||
if ($causer != 0) {
|
||||
$cdata = Contact::getPublicAndUserContactID($causer, $uid);
|
||||
}
|
||||
|
||||
foreach ($data->posts as $post) {
|
||||
$uri = bluesky_get_uri($post);
|
||||
$item = bluesky_get_header($post, $uri, $uid);
|
||||
$item = bluesky_get_content($item, $post->record, $uid);
|
||||
|
||||
$item['post-reason'] = Item::PR_FETCHED;
|
||||
|
||||
if (!empty($cdata['public'])) {
|
||||
$item['causer-id'] = $cdata['public'];
|
||||
}
|
||||
|
||||
if (!empty($post->embed)) {
|
||||
$item = bluesky_add_media($post->embed, $item);
|
||||
}
|
||||
$id = Item::insert($item);
|
||||
Logger::debug('Stored item', ['id' => $id, 'uri' => $uri]);
|
||||
}
|
||||
|
||||
return $uri;
|
||||
}
|
||||
|
||||
function bluesky_get_contact(stdClass $author, int $uid): array
|
||||
|
@ -675,9 +886,10 @@ function bluesky_get_contact(stdClass $author, int $uid): array
|
|||
$condition = ['network' => Protocol::BLUESKY, 'uid' => $uid, 'url' => $author->did];
|
||||
|
||||
$fields = [
|
||||
'name' => $author->displayName,
|
||||
'nick' => $author->handle,
|
||||
'addr' => $author->handle,
|
||||
'alias' => BLUESKY_HOST . '/profile/' . $author->handle,
|
||||
'name' => $author->displayName,
|
||||
'nick' => $author->handle,
|
||||
'addr' => $author->handle,
|
||||
];
|
||||
|
||||
$contact = Contact::selectFirst([], $condition);
|
||||
|
@ -686,7 +898,7 @@ function bluesky_get_contact(stdClass $author, int $uid): array
|
|||
$cid = bluesky_insert_contact($author, $uid);
|
||||
} else {
|
||||
$cid = $contact['id'];
|
||||
if ($fields['name'] != $contact['name'] || $fields['nick'] != $contact['nick'] || $fields['addr'] != $contact['addr']) {
|
||||
if ($fields['alias'] != $contact['alias'] || $fields['name'] != $contact['name'] || $fields['nick'] != $contact['nick'] || $fields['addr'] != $contact['addr']) {
|
||||
Contact::update($fields, ['id' => $cid]);
|
||||
}
|
||||
}
|
||||
|
@ -698,7 +910,7 @@ function bluesky_get_contact(stdClass $author, int $uid): array
|
|||
$pcid = bluesky_insert_contact($author, 0);
|
||||
} else {
|
||||
$pcid = $contact['id'];
|
||||
if ($fields['name'] != $contact['name'] || $fields['nick'] != $contact['nick'] || $fields['addr'] != $contact['addr']) {
|
||||
if ($fields['alias'] != $contact['alias'] || $fields['name'] != $contact['name'] || $fields['nick'] != $contact['nick'] || $fields['addr'] != $contact['addr']) {
|
||||
Contact::update($fields, ['id' => $pcid]);
|
||||
}
|
||||
}
|
||||
|
@ -726,7 +938,7 @@ function bluesky_insert_contact(stdClass $author, int $uid)
|
|||
'pending' => false,
|
||||
'url' => $author->did,
|
||||
'nurl' => $author->did,
|
||||
// 'alias' => '', @todo Path to a web representation
|
||||
'alias' => BLUESKY_HOST . '/profile/' . $author->handle,
|
||||
'name' => $author->displayName,
|
||||
'nick' => $author->handle,
|
||||
'addr' => $author->handle,
|
||||
|
@ -742,13 +954,17 @@ function bluesky_update_contact(stdClass $author, int $uid, int $cid, int $pcid)
|
|||
}
|
||||
|
||||
$fields = [
|
||||
'alias' => BLUESKY_HOST . '/profile/' . $data->handle,
|
||||
'name' => $data->displayName,
|
||||
'nick' => $data->handle,
|
||||
'addr' => $data->handle,
|
||||
'about' => HTML::toBBCode($data->description),
|
||||
'updated' => DateTimeFormat::utcNow(DateTimeFormat::MYSQL),
|
||||
];
|
||||
|
||||
if (!empty($data->description)) {
|
||||
$fields['about'] = HTML::toBBCode($data->description);
|
||||
}
|
||||
|
||||
if (!empty($data->banner)) {
|
||||
$fields['header'] = $data->banner;
|
||||
}
|
||||
|
@ -757,9 +973,9 @@ function bluesky_update_contact(stdClass $author, int $uid, int $cid, int $pcid)
|
|||
Contact::update($fields, ['id' => $pcid]);
|
||||
}
|
||||
|
||||
function bluesky_get_did(int $uid): string
|
||||
function bluesky_get_did(int $uid, string $handle): string
|
||||
{
|
||||
$data = bluesky_get($uid, '/xrpc/com.atproto.identity.resolveHandle?handle=' . DI::pConfig()->get($uid, 'bluesky', 'handle'));
|
||||
$data = bluesky_get($uid, '/xrpc/com.atproto.identity.resolveHandle?handle=' . $handle);
|
||||
if (empty($data)) {
|
||||
return '';
|
||||
}
|
||||
|
|
|
@ -4,15 +4,15 @@
|
|||
#
|
||||
#
|
||||
# Translators:
|
||||
# Balázs Úr, 2020-2021
|
||||
# Balázs Úr, 2020-2021,2023
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: friendica\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-11-21 19:15-0500\n"
|
||||
"PO-Revision-Date: 2014-06-23 09:54+0000\n"
|
||||
"Last-Translator: Balázs Úr, 2020-2021\n"
|
||||
"Language-Team: Hungarian (http://www.transifex.com/Friendica/friendica/language/hu/)\n"
|
||||
"Last-Translator: Balázs Úr, 2020-2021,2023\n"
|
||||
"Language-Team: Hungarian (http://app.transifex.com/Friendica/friendica/language/hu/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
@ -31,68 +31,72 @@ msgstr "E-mail-cím, ahonnan úgy tűnik, hogy a folyam elemei származnak."
|
|||
msgid "Save Settings"
|
||||
msgstr "Beállítások mentése"
|
||||
|
||||
#: mailstream.php:301
|
||||
#: mailstream.php:311
|
||||
msgid "Re:"
|
||||
msgstr "Vá:"
|
||||
|
||||
#: mailstream.php:314 mailstream.php:317
|
||||
#: mailstream.php:324 mailstream.php:327
|
||||
msgid "Friendica post"
|
||||
msgstr "Friendica-bejegyzés"
|
||||
|
||||
#: mailstream.php:320
|
||||
#: mailstream.php:330
|
||||
msgid "Diaspora post"
|
||||
msgstr "Diaspora-bejegyzés"
|
||||
|
||||
#: mailstream.php:330
|
||||
#: mailstream.php:340
|
||||
msgid "Feed item"
|
||||
msgstr "Hírforráselem"
|
||||
|
||||
#: mailstream.php:333
|
||||
#: mailstream.php:343
|
||||
msgid "Email"
|
||||
msgstr "E-mail"
|
||||
|
||||
#: mailstream.php:335
|
||||
#: mailstream.php:345
|
||||
msgid "Friendica Item"
|
||||
msgstr "Friendica-elem"
|
||||
|
||||
#: mailstream.php:404
|
||||
#: mailstream.php:419
|
||||
msgid "Upstream"
|
||||
msgstr "Távoli"
|
||||
|
||||
#: mailstream.php:405
|
||||
#: mailstream.php:420
|
||||
msgid "URI"
|
||||
msgstr "URI"
|
||||
|
||||
#: mailstream.php:421
|
||||
msgid "Local"
|
||||
msgstr "Helyi"
|
||||
|
||||
#: mailstream.php:481
|
||||
#: mailstream.php:499
|
||||
msgid "Enabled"
|
||||
msgstr "Engedélyezve"
|
||||
|
||||
#: mailstream.php:486
|
||||
#: mailstream.php:504
|
||||
msgid "Email Address"
|
||||
msgstr "E-mail-cím"
|
||||
|
||||
#: mailstream.php:488
|
||||
#: mailstream.php:506
|
||||
msgid "Leave blank to use your account email address"
|
||||
msgstr "Hagyja üresen a fiókja e-mail-címének használatához"
|
||||
|
||||
#: mailstream.php:492
|
||||
#: mailstream.php:510
|
||||
msgid "Exclude Likes"
|
||||
msgstr "Kedvelések kizárása"
|
||||
|
||||
#: mailstream.php:494
|
||||
#: mailstream.php:512
|
||||
msgid "Check this to omit mailing \"Like\" notifications"
|
||||
msgstr "Jelölje be ezt a „Tetszik” értesítések elküldésének kihagyásához"
|
||||
|
||||
#: mailstream.php:498
|
||||
#: mailstream.php:516
|
||||
msgid "Attach Images"
|
||||
msgstr "Képek csatolása"
|
||||
|
||||
#: mailstream.php:500
|
||||
#: mailstream.php:518
|
||||
msgid ""
|
||||
"Download images in posts and attach them to the email. Useful for reading "
|
||||
"email while offline."
|
||||
msgstr "Képek letöltése a bejegyzésekből és csatolás az e-mailhez. Hasznos az e-mailek kapcsolat nélküli olvasásakor."
|
||||
|
||||
#: mailstream.php:507
|
||||
#: mailstream.php:525
|
||||
msgid "Mail Stream Settings"
|
||||
msgstr "Levelezőfolyam beállításai"
|
||||
|
|
|
@ -15,6 +15,7 @@ $a->strings['Feed item'] = 'Hírforráselem';
|
|||
$a->strings['Email'] = 'E-mail';
|
||||
$a->strings['Friendica Item'] = 'Friendica-elem';
|
||||
$a->strings['Upstream'] = 'Távoli';
|
||||
$a->strings['URI'] = 'URI';
|
||||
$a->strings['Local'] = 'Helyi';
|
||||
$a->strings['Enabled'] = 'Engedélyezve';
|
||||
$a->strings['Email Address'] = 'E-mail-cím';
|
||||
|
|
|
@ -214,7 +214,12 @@ function mailstream_do_images(array &$item, array &$attachments)
|
|||
}
|
||||
|
||||
$cookiejar = tempnam(System::getTempPath(), 'cookiejar-mailstream-');
|
||||
$curlResult = DI::httpClient()->fetchFull($url, HttpClientAccept::DEFAULT, 0, $cookiejar);
|
||||
try {
|
||||
$curlResult = DI::httpClient()->fetchFull($url, HttpClientAccept::DEFAULT, 0, $cookiejar);
|
||||
} catch (InvalidArgumentException $e) {
|
||||
Logger::error('mailstream_do_images exception fetching url', ['url' => $url, 'item_id' => $item['id']]);
|
||||
continue;
|
||||
}
|
||||
$attachments[$url] = [
|
||||
'data' => $curlResult->getBody(),
|
||||
'guid' => hash('crc32', $url),
|
||||
|
|
|
@ -4,28 +4,28 @@
|
|||
#
|
||||
#
|
||||
# Translators:
|
||||
# Balázs Úr, 2020-2021
|
||||
# Balázs Úr, 2020-2021,2023
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: friendica\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-02-01 18:15+0100\n"
|
||||
"POT-Creation-Date: 2023-05-01 07:39+0200\n"
|
||||
"PO-Revision-Date: 2014-06-23 11:18+0000\n"
|
||||
"Last-Translator: Balázs Úr, 2020-2021\n"
|
||||
"Language-Team: Hungarian (http://www.transifex.com/Friendica/friendica/language/hu/)\n"
|
||||
"Last-Translator: Balázs Úr, 2020-2021,2023\n"
|
||||
"Language-Team: Hungarian (http://app.transifex.com/Friendica/friendica/language/hu/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: hu\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: piwik.php:87
|
||||
#: piwik.php:96
|
||||
msgid ""
|
||||
"This website is tracked using the <a href='http://www.matomo.org'>Matomo</a>"
|
||||
" analytics tool."
|
||||
msgstr "Ez a weboldal a <a href='http://www.matomo.org'>Matomo</a> analitikai eszköz használatával van követve."
|
||||
|
||||
#: piwik.php:90
|
||||
#: piwik.php:99
|
||||
#, php-format
|
||||
msgid ""
|
||||
"If you do not want that your visits are logged in this way you <a "
|
||||
|
@ -33,28 +33,32 @@ msgid ""
|
|||
"visits of the site</a> (opt-out)."
|
||||
msgstr "Ha nem szeretné, hogy a látogatásai ilyen módon naplózva legyenek, akkor <a href='%s'>beállíthat egy sütit annak megakadályozásához, hogy a Matomo vagy a Piwik kövesse az oldal további meglátogatásait</a> (lemondás)."
|
||||
|
||||
#: piwik.php:97
|
||||
#: piwik.php:108
|
||||
msgid "Save Settings"
|
||||
msgstr "Beállítások mentése"
|
||||
|
||||
#: piwik.php:98
|
||||
#: piwik.php:109
|
||||
msgid "Matomo (Piwik) Base URL"
|
||||
msgstr "Matomo (Piwik) alap URL"
|
||||
|
||||
#: piwik.php:98
|
||||
#: piwik.php:109
|
||||
msgid ""
|
||||
"Absolute path to your Matomo (Piwik) installation. (without protocol "
|
||||
"(http/s), with trailing slash)"
|
||||
msgstr "Abszolút útvonal a Matomo (Piwik) telepítéséhez (http vagy https protokoll nélkül, de lezáró perjellel)."
|
||||
|
||||
#: piwik.php:99
|
||||
#: piwik.php:110
|
||||
msgid "Site ID"
|
||||
msgstr "Oldalazonosító"
|
||||
|
||||
#: piwik.php:100
|
||||
#: piwik.php:111
|
||||
msgid "Show opt-out cookie link?"
|
||||
msgstr "Megjeleníti a lemondó süti hivatkozását?"
|
||||
|
||||
#: piwik.php:101
|
||||
#: piwik.php:112
|
||||
msgid "Asynchronous tracking"
|
||||
msgstr "Aszinkron követés"
|
||||
|
||||
#: piwik.php:113
|
||||
msgid "Shortcut path to the script ('/js/' instead of '/piwik.js')"
|
||||
msgstr "A parancsfájl rövidített útvonala („/js/” a „/piwik.js” helyett)"
|
||||
|
|
|
@ -13,3 +13,4 @@ $a->strings['Absolute path to your Matomo (Piwik) installation. (without protoco
|
|||
$a->strings['Site ID'] = 'Oldalazonosító';
|
||||
$a->strings['Show opt-out cookie link?'] = 'Megjeleníti a lemondó süti hivatkozását?';
|
||||
$a->strings['Asynchronous tracking'] = 'Aszinkron követés';
|
||||
$a->strings['Shortcut path to the script (\'/js/\' instead of \'/piwik.js\')'] = 'A parancsfájl rövidített útvonala („/js/” a „/piwik.js” helyett)';
|
||||
|
|
|
@ -4,69 +4,86 @@
|
|||
#
|
||||
#
|
||||
# Translators:
|
||||
# Balázs Úr, 2020-2021
|
||||
# Balázs Úr, 2020-2021,2023
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: friendica\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-11-21 19:17-0500\n"
|
||||
"POT-Creation-Date: 2023-04-29 06:56+0000\n"
|
||||
"PO-Revision-Date: 2014-06-23 12:58+0000\n"
|
||||
"Last-Translator: Balázs Úr, 2020-2021\n"
|
||||
"Language-Team: Hungarian (http://www.transifex.com/Friendica/friendica/language/hu/)\n"
|
||||
"Last-Translator: Balázs Úr, 2020-2021,2023\n"
|
||||
"Language-Team: Hungarian (http://app.transifex.com/Friendica/friendica/language/hu/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: hu\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: tumblr.php:39
|
||||
#: tumblr.php:243
|
||||
msgid "Permission denied."
|
||||
msgstr "Engedély megtagadva."
|
||||
|
||||
#: tumblr.php:69
|
||||
#: tumblr.php:296
|
||||
msgid "Save Settings"
|
||||
msgstr "Beállítások mentése"
|
||||
|
||||
#: tumblr.php:71
|
||||
#: tumblr.php:297
|
||||
msgid "Consumer Key"
|
||||
msgstr "Felhasználói kulcs"
|
||||
|
||||
#: tumblr.php:72
|
||||
#: tumblr.php:298
|
||||
msgid "Consumer Secret"
|
||||
msgstr "Felhasználói titok"
|
||||
|
||||
#: tumblr.php:177
|
||||
msgid "You are now authenticated to tumblr."
|
||||
msgstr "Most már hitelesítve van a Tumblr-hez."
|
||||
#: tumblr.php:299
|
||||
msgid "Maximum tags"
|
||||
msgstr "Legtöbb címke"
|
||||
|
||||
#: tumblr.php:178
|
||||
msgid "return to the connector page"
|
||||
msgstr "visszatérés a csatlakozó oldalára"
|
||||
#: tumblr.php:299
|
||||
msgid ""
|
||||
"Maximum number of tags that a user can follow. Enter 0 to deactivate the "
|
||||
"feature."
|
||||
msgstr "A címkék legnagyobb száma, amit egy felhasználó követhet. Adjon meg 0 értéket a funkció kikapcsolásához."
|
||||
|
||||
#: tumblr.php:194
|
||||
msgid "Post to Tumblr"
|
||||
msgstr "Beküldése a Tumblr-re"
|
||||
|
||||
#: tumblr.php:225
|
||||
#: tumblr.php:336
|
||||
msgid "Post to page:"
|
||||
msgstr "Beküldés az oldalra:"
|
||||
|
||||
#: tumblr.php:231
|
||||
#: tumblr.php:342
|
||||
msgid "(Re-)Authenticate your tumblr page"
|
||||
msgstr "A Tumblr-oldal (újra)hitelesítése"
|
||||
|
||||
#: tumblr.php:232
|
||||
#: tumblr.php:343
|
||||
msgid "You are not authenticated to tumblr"
|
||||
msgstr "Nincs hitelesítve van a Tumblr-hez"
|
||||
|
||||
#: tumblr.php:237
|
||||
#: tumblr.php:348
|
||||
msgid "Enable Tumblr Post Addon"
|
||||
msgstr "A Tumblr-beküldő bővítmény engedélyezése"
|
||||
|
||||
#: tumblr.php:238
|
||||
#: tumblr.php:349
|
||||
msgid "Post to Tumblr by default"
|
||||
msgstr "Beküldés a Tumblr-re alapértelmezetten"
|
||||
|
||||
#: tumblr.php:244
|
||||
msgid "Tumblr Export"
|
||||
msgstr "Tumblr exportálás"
|
||||
#: tumblr.php:350
|
||||
msgid "Import the remote timeline"
|
||||
msgstr "A távoli idővonal importálása"
|
||||
|
||||
#: tumblr.php:351
|
||||
msgid "Subscribed tags"
|
||||
msgstr "Feliratkozott címkék"
|
||||
|
||||
#: tumblr.php:351
|
||||
#, php-format
|
||||
msgid ""
|
||||
"Comma separated list of up to %d tags that will be imported additionally to "
|
||||
"the timeline"
|
||||
msgstr "Legfeljebb %d címke vesszővel elválasztott listája, amelyek szintén importálásra kerülnek az idővonalon felül"
|
||||
|
||||
#: tumblr.php:357
|
||||
msgid "Tumblr Import/Export"
|
||||
msgstr "Tumblr importálás és exportálás"
|
||||
|
||||
#: tumblr.php:375
|
||||
msgid "Post to Tumblr"
|
||||
msgstr "Beküldése a Tumblr-re"
|
||||
|
|
|
@ -9,12 +9,15 @@ $a->strings['Permission denied.'] = 'Engedély megtagadva.';
|
|||
$a->strings['Save Settings'] = 'Beállítások mentése';
|
||||
$a->strings['Consumer Key'] = 'Felhasználói kulcs';
|
||||
$a->strings['Consumer Secret'] = 'Felhasználói titok';
|
||||
$a->strings['You are now authenticated to tumblr.'] = 'Most már hitelesítve van a Tumblr-hez.';
|
||||
$a->strings['return to the connector page'] = 'visszatérés a csatlakozó oldalára';
|
||||
$a->strings['Post to Tumblr'] = 'Beküldése a Tumblr-re';
|
||||
$a->strings['Maximum tags'] = 'Legtöbb címke';
|
||||
$a->strings['Maximum number of tags that a user can follow. Enter 0 to deactivate the feature.'] = 'A címkék legnagyobb száma, amit egy felhasználó követhet. Adjon meg 0 értéket a funkció kikapcsolásához.';
|
||||
$a->strings['Post to page:'] = 'Beküldés az oldalra:';
|
||||
$a->strings['(Re-)Authenticate your tumblr page'] = 'A Tumblr-oldal (újra)hitelesítése';
|
||||
$a->strings['You are not authenticated to tumblr'] = 'Nincs hitelesítve van a Tumblr-hez';
|
||||
$a->strings['Enable Tumblr Post Addon'] = 'A Tumblr-beküldő bővítmény engedélyezése';
|
||||
$a->strings['Post to Tumblr by default'] = 'Beküldés a Tumblr-re alapértelmezetten';
|
||||
$a->strings['Tumblr Export'] = 'Tumblr exportálás';
|
||||
$a->strings['Import the remote timeline'] = 'A távoli idővonal importálása';
|
||||
$a->strings['Subscribed tags'] = 'Feliratkozott címkék';
|
||||
$a->strings['Comma separated list of up to %d tags that will be imported additionally to the timeline'] = 'Legfeljebb %d címke vesszővel elválasztott listája, amelyek szintén importálásra kerülnek az idővonalon felül';
|
||||
$a->strings['Tumblr Import/Export'] = 'Tumblr importálás és exportálás';
|
||||
$a->strings['Post to Tumblr'] = 'Beküldése a Tumblr-re';
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue