diff options
482 files changed, 55779 insertions, 14724 deletions
diff --git a/.gitignore b/.gitignore index fa09c4ee6..fa09c4ee6 100755..100644 --- a/.gitignore +++ b/.gitignore diff --git a/.homeinstall/zotserver-setup.sh b/.homeinstall/zotserver-setup.sh index 42ff6685d..42ff6685d 100755..100644 --- a/.homeinstall/zotserver-setup.sh +++ b/.homeinstall/zotserver-setup.sh diff --git a/.openshift/action_hooks/deploy b/.openshift/action_hooks/deploy index bc3050339..bc3050339 100755..100644 --- a/.openshift/action_hooks/deploy +++ b/.openshift/action_hooks/deploy diff --git a/.openshift/cron/weekly/chronograph b/.openshift/cron/weekly/chronograph index 61de949f4..61de949f4 100755..100644 --- a/.openshift/cron/weekly/chronograph +++ b/.openshift/cron/weekly/chronograph @@ -1,3 +1,56 @@ +Hubzilla 5.2.1 (2021-01-16) + - Fix attach_upgrade() to catch all broken entries in attach + - Fix collect_recipients() public policy filter for zot6 + - Fix leaking of duplicate tasks in queueworker addon_common + + +Hubzilla 5.2 (2021-01-13) + - Use libzotdir for directory + - Streamline usage of channel url for keyId + - Basic work on PHP8 compatibility + - Improve performance for forum post edit action + - Improve File App tiles view + - Update es strings + - Update ru strings + - Implement directory download via zip files in Files App + - Implement bulk file download via zip files in Files App + - Deprecate ! and !! forum tags - use direct messages to post to forums + - Do not show forums where we do not have permission to post in ACL selector + - Implement lockview for Files App + - Implement file and directory rename functionality Files App + - Implement file and directory copy functionality in Files App + - Implement file and directory move functionality in Files App + - Implement categories for files and directories in Files App + - Implement drag and drop move action for files and directories in Files App + - Implement bulk file actions for move, copy, categories and permissions + - Implement a files categories widget + - Implement a breadcrumb view for file paths + - Rewrite xchan_vcard template + - Update composer libs + + Bugfixes + - Fix direct messages by forum channel turned into group item + - Fix ID3Parser composer autoload + - Fix issue where directory_fallback_servers were not accessible from static function + - Fix missing constant defenition for HUBLOC_OFFLINE + - Fix sync_directories() including known dead sites + - Fix undefined variable in poller preventing Onedirsync from running + - Fix w2w posts not editable/deletable from local server + - Fix issue where categories were not saved on forum wall posts + - Fix no channel_id provided for contact_remove() in reply_purge() + - Fix typo in notifier command + - Fix profile title/description allowed more than 191 characters + + Addons + - Queueworker: cleanup whitespace + - Queueworker: add some tweaks to prevent deadlocks for postgresql + - Flashcards: compatibility for the changes in the Files App + - Openstreemap: fix hostname parsing from URL + - Openstreemap: fix content security policy + - Pubcrawl: fix peertube video display + - Pubcrawl: deliver updates to anyone owning the item + + Hubzilla 5.0.8 (2020-12-30) - Fix single quotes not escaped in the notifications title (issue 1503) - Return zot6 xchans for random_profile() @@ -3,27 +3,28 @@ |Name|Version|License|Source| |----|-------|-------|------| |blueimp/jquery-file-upload|10.31.0.0|MIT|https://github.com/vkhramtsov/jQuery-File-Upload.git| +|brick/math|0.9.1.0|MIT|https://github.com/brick/math.git| |bshaffer/oauth2-server-php|1.11.1.0|MIT|https://github.com/bshaffer/oauth2-server-php.git| -|commerceguys/intl|1.0.5.0|MIT|https://github.com/commerceguys/intl.git| +|commerceguys/intl|1.0.7.0|MIT|https://github.com/commerceguys/intl.git| |desandro/imagesloaded|4.1.4.0|MIT|https://github.com/desandro/imagesloaded.git| |ezyang/htmlpurifier|4.13.0.0|LGPL-2.1-or-later|https://github.com/ezyang/htmlpurifier.git| |league/html-to-markdown|4.10.0.0|MIT|https://github.com/thephpleague/html-to-markdown.git| |lukasreschke/id3parser|0.0.3.0|GPL|https://github.com/LukasReschke/ID3Parser.git| |michelf/php-markdown|1.9.0.0|BSD-3-Clause|https://github.com/michelf/php-markdown.git| -|paragonie/random_compat|9.99.99.0|MIT|https://github.com/paragonie/random_compat.git| -|pear/text_languagedetect|1.0.0.0|BSD-2-Clause|https://github.com/pear/Text_LanguageDetect.git| +|pear/text_languagedetect|1.0.1.0|BSD-2-Clause|https://github.com/pear/Text_LanguageDetect.git| |psr/log|1.1.3.0|MIT|https://github.com/php-fig/log.git| -|ramsey/uuid|3.9.3.0|MIT|https://github.com/ramsey/uuid.git| -|sabre/dav|4.1.1.0|BSD-3-Clause|https://github.com/sabre-io/dav.git| -|sabre/event|5.1.0.0|BSD-3-Clause|https://github.com/sabre-io/event.git| -|sabre/http|5.1.0.0|BSD-3-Clause|https://github.com/sabre-io/http.git| -|sabre/uri|2.2.0.0|BSD-3-Clause|https://github.com/sabre-io/uri.git| -|sabre/vobject|4.3.1.0|BSD-3-Clause|https://github.com/sabre-io/vobject.git| -|sabre/xml|2.2.1.0|BSD-3-Clause|https://github.com/sabre-io/xml.git| -|simplepie/simplepie|1.5.5.0|BSD-3-Clause|https://github.com/simplepie/simplepie.git| +|ramsey/collection|1.1.1.0|MIT|https://github.com/ramsey/collection.git| +|ramsey/uuid|4.1.1.0|MIT|https://github.com/ramsey/uuid.git| +|sabre/dav|4.1.3.0|BSD-3-Clause|https://github.com/sabre-io/dav.git| +|sabre/event|5.1.2.0|BSD-3-Clause|https://github.com/sabre-io/event.git| +|sabre/http|5.1.1.0|BSD-3-Clause|https://github.com/sabre-io/http.git| +|sabre/uri|2.2.1.0|BSD-3-Clause|https://github.com/sabre-io/uri.git| +|sabre/vobject|4.3.3.0|BSD-3-Clause|https://github.com/sabre-io/vobject.git| +|sabre/xml|2.2.3.0|BSD-3-Clause|https://github.com/sabre-io/xml.git| +|simplepie/simplepie|1.5.6.0|BSD-3-Clause|https://github.com/simplepie/simplepie.git| |smarty/smarty|3.1.36.0|LGPL-3.0|https://github.com/smarty-php/smarty.git| -|symfony/polyfill-ctype|1.13.1.0|MIT|https://github.com/symfony/polyfill-ctype.git| -|twbs/bootstrap|4.5.2.0|MIT|https://github.com/twbs/bootstrap.git| +|symfony/polyfill-ctype|1.20.0.0|MIT|https://github.com/symfony/polyfill-ctype.git| +|twbs/bootstrap|4.5.3.0|MIT|https://github.com/twbs/bootstrap.git| |fullcalendar/fullcalendar|4.4.2.0|MIT|https://github.com/fullcalendar/fullcalendar.git| |miromannino/Justified-Gallery|3.8.1.0|MIT|https://github.com/miromannino/Justified-Gallery.git| |fengyuanchen/cropperjs|1.5.7.0|MIT|https://github.com/fengyuanchen/cropperjs.git| diff --git a/Zotlabs/Access/AccessList.php b/Zotlabs/Access/AccessList.php index 7cf7b5587..af6c4b7a6 100644 --- a/Zotlabs/Access/AccessList.php +++ b/Zotlabs/Access/AccessList.php @@ -54,7 +54,7 @@ class AccessList { * * \e string \b channel_deny_gid => string of denied gids */ function __construct($channel) { - if($channel) { + if ($channel) { $this->allow_cid = $channel['channel_allow_cid']; $this->allow_gid = $channel['channel_allow_gid']; $this->deny_cid = $channel['channel_deny_cid']; @@ -99,7 +99,6 @@ class AccessList { $this->allow_gid = $arr['allow_gid']; $this->deny_cid = $arr['deny_cid']; $this->deny_gid = $arr['deny_gid']; - $this->explicit = $explicit; } diff --git a/Zotlabs/Access/PermissionLimits.php b/Zotlabs/Access/PermissionLimits.php index c11dc95e6..fb5fe6133 100644 --- a/Zotlabs/Access/PermissionLimits.php +++ b/Zotlabs/Access/PermissionLimits.php @@ -2,6 +2,7 @@ namespace Zotlabs\Access; +use App; use Zotlabs\Lib\PConfig; /** @@ -39,10 +40,10 @@ class PermissionLimits { */ static public function Std_Limits() { $limits = []; - $perms = Permissions::Perms(); + $perms = Permissions::Perms(); - foreach($perms as $k => $v) { - if(strstr($k, 'view')) + foreach ($perms as $k => $v) { + if (strstr($k, 'view')) $limits[$k] = PERMS_PUBLIC; else $limits[$k] = PERMS_SPECIFIC; @@ -77,14 +78,14 @@ class PermissionLimits { * * \b array with all permission limits, if $perm is not set */ static public function Get($channel_id, $perm = '') { - if($perm) { + if ($perm) { return intval(PConfig::Get($channel_id, 'perm_limits', $perm)); } PConfig::Load($channel_id); - if(array_key_exists($channel_id, \App::$config) - && array_key_exists('perm_limits', \App::$config[$channel_id])) - return \App::$config[$channel_id]['perm_limits']; + if (array_key_exists($channel_id, App::$config) + && array_key_exists('perm_limits', App::$config[$channel_id])) + return App::$config[$channel_id]['perm_limits']; return false; } diff --git a/Zotlabs/Access/PermissionRoles.php b/Zotlabs/Access/PermissionRoles.php index 82df0c34b..2bcce4eb4 100644 --- a/Zotlabs/Access/PermissionRoles.php +++ b/Zotlabs/Access/PermissionRoles.php @@ -218,13 +218,13 @@ class PermissionRoles { // set permissionlimits for this permission here, for example: // if($perm === 'mynewperm') - // \Zotlabs\Access\PermissionLimits::Set($uid,$perm,1); + // PermissionLimits::Set($uid,$perm,1); if($perm === 'view_wiki') - \Zotlabs\Access\PermissionLimits::Set($uid, $perm, PERMS_PUBLIC); + PermissionLimits::Set($uid, $perm, PERMS_PUBLIC); if($perm === 'write_wiki') - \Zotlabs\Access\PermissionLimits::Set($uid, $perm, PERMS_SPECIFIC); + PermissionLimits::Set($uid, $perm, PERMS_SPECIFIC); // set autoperms here if applicable @@ -262,11 +262,11 @@ class PermissionRoles { case 'view_wiki': set_abconfig($uid,$ab['abook_xchan'],'my_perms',$perm, intval(get_abconfig($uid,$ab['abook_xchan'],'my_perms','view_pages'))); - + break; case 'write_wiki': set_abconfig($uid,$ab['abook_xchan'],'my_perms',$perm, intval(get_abconfig($uid,$ab['abook_xchan'],'my_perms','write_pages'))); - + break; default: break; } diff --git a/Zotlabs/Access/Permissions.php b/Zotlabs/Access/Permissions.php index 35016ed57..df5472cc3 100644 --- a/Zotlabs/Access/Permissions.php +++ b/Zotlabs/Access/Permissions.php @@ -75,7 +75,7 @@ class Permissions { $x = [ 'permissions' => $perms, - 'filter' => $filter + 'filter' => $filter ]; /** * @hooks permissions_list @@ -84,7 +84,7 @@ class Permissions { */ call_hooks('permissions_list', $x); - return($x['permissions']); + return ($x['permissions']); } /** @@ -96,10 +96,10 @@ class Permissions { */ static public function BlockedAnonPerms() { - $res = []; + $res = []; $perms = PermissionLimits::Std_limits(); - foreach($perms as $perm => $limit) { - if($limit != PERMS_PUBLIC) { + foreach ($perms as $perm => $limit) { + if ($limit != PERMS_PUBLIC) { $res[] = $perm; } } @@ -111,7 +111,7 @@ class Permissions { */ call_hooks('write_perms', $x); - return($x['permissions']); + return ($x['permissions']); } /** @@ -120,20 +120,20 @@ class Permissions { * Converts [ 0 => 'view_stream', ... ] * to [ 'view_stream' => 1 ] for any permissions in $arr; * Undeclared permissions which exist in Perms() are added and set to 0. - * + * * @param array $arr * @return array */ static public function FilledPerms($arr) { - if(is_null($arr)) { + if (is_null($arr)) { btlogger('FilledPerms: null'); $arr = []; } $everything = self::Perms(); - $ret = []; - foreach($everything as $k => $v) { - if(in_array($k, $arr)) + $ret = []; + foreach ($everything as $k => $v) { + if (in_array($k, $arr)) $ret[$k] = 1; else $ret[$k] = 0; @@ -155,9 +155,9 @@ class Permissions { */ static public function OPerms($arr) { $ret = []; - if($arr) { - foreach($arr as $k => $v) { - $ret[] = [ 'name' => $k, 'value' => $v ]; + if ($arr) { + foreach ($arr as $k => $v) { + $ret[] = ['name' => $k, 'value' => $v]; } } return $ret; @@ -170,15 +170,16 @@ class Permissions { * @return boolean|array */ static public function FilledAutoperms($channel_id) { - if(! intval(get_pconfig($channel_id,'system','autoperms'))) + if (!intval(get_pconfig($channel_id, 'system', 'autoperms'))) return false; $arr = []; + $r = q("select * from pconfig where uid = %d and cat = 'autoperms'", intval($channel_id) ); - if($r) { - foreach($r as $rr) { + if ($r) { + foreach ($r as $rr) { $arr[$rr['k']] = intval($rr['v']); } } @@ -193,11 +194,11 @@ class Permissions { * @return boolean true if all perms from $p1 exist also in $p2 */ static public function PermsCompare($p1, $p2) { - foreach($p1 as $k => $v) { - if(! array_key_exists($k, $p2)) + foreach ($p1 as $k => $v) { + if (!array_key_exists($k, $p2)) return false; - if($p1[$k] != $p2[$k]) + if ($p1[$k] != $p2[$k]) return false; } @@ -214,18 +215,18 @@ class Permissions { */ static public function connect_perms($channel_id) { - $my_perms = []; - $permcat = null; + $my_perms = []; + $permcat = null; $automatic = 0; // If a default permcat exists, use that - $pc = ((feature_enabled($channel_id,'permcats')) ? get_pconfig($channel_id,'system','default_permcat') : 'default'); - if(! in_array($pc, [ '','default' ])) { - $pcp = new Zlib\Permcat($channel_id); + $pc = ((feature_enabled($channel_id, 'permcats')) ? get_pconfig($channel_id, 'system', 'default_permcat') : 'default'); + if (!in_array($pc, ['', 'default'])) { + $pcp = new Zlib\Permcat($channel_id); $permcat = $pcp->fetch($pc); - if($permcat && $permcat['perms']) { - foreach($permcat['perms'] as $p) { + if ($permcat && $permcat['perms']) { + foreach ($permcat['perms'] as $p) { $my_perms[$p['name']] = $p['value']; } } @@ -235,15 +236,15 @@ class Permissions { // and if there was no permcat or a default permcat, set the perms // from the role - $role = get_pconfig($channel_id,'system','permissions_role'); - if($role) { + $role = get_pconfig($channel_id, 'system', 'permissions_role'); + if ($role) { $xx = PermissionRoles::role_perms($role); - if($xx['perms_auto']) + if ($xx['perms_auto']) $automatic = 1; - if((! $my_perms) && ($xx['perms_connect'])) { + if ((!$my_perms) && ($xx['perms_connect'])) { $default_perms = $xx['perms_connect']; - $my_perms = Permissions::FilledPerms($default_perms); + $my_perms = Permissions::FilledPerms($default_perms); } } @@ -251,11 +252,11 @@ class Permissions { // it is likely a custom permissions role. First see if there are any // automatic permissions. - if(! $my_perms) { + if (!$my_perms) { $m = Permissions::FilledAutoperms($channel_id); - if($m) { + if ($m) { $automatic = 1; - $my_perms = $m; + $my_perms = $m; } } @@ -263,35 +264,35 @@ class Permissions { // custom perms but they are not automatic. They will be stored in abconfig with // the channel's channel_hash (the 'self' connection). - if(! $my_perms) { + if (!$my_perms) { $r = q("select channel_hash from channel where channel_id = %d", intval($channel_id) ); - if($r) { + if ($r) { $x = q("select * from abconfig where chan = %d and xchan = '%s' and cat = 'my_perms'", intval($channel_id), dbesc($r[0]['channel_hash']) ); - if($x) { - foreach($x as $xv) { + if ($x) { + foreach ($x as $xv) { $my_perms[$xv['k']] = intval($xv['v']); } } } } - return ( [ 'perms' => $my_perms, 'automatic' => $automatic ] ); + return (['perms' => $my_perms, 'automatic' => $automatic]); } static public function serialise($p) { $n = []; - if($p) { - foreach($p as $k => $v) { - if(intval($v)) { + if ($p) { + foreach ($p as $k => $v) { + if (intval($v)) { $n[] = $k; } } } - return implode(',',$n); + return implode(',', $n); } } diff --git a/Zotlabs/Daemon/Addon.php b/Zotlabs/Daemon/Addon.php index c2889e596..c6778750d 100644 --- a/Zotlabs/Daemon/Addon.php +++ b/Zotlabs/Daemon/Addon.php @@ -2,13 +2,12 @@ namespace Zotlabs\Daemon; -require_once('include/zot.php'); - class Addon { - static public function run($argc,$argv) { + static public function run($argc, $argv) { - call_hooks('daemon_addon',$argv); + call_hooks('daemon_addon', $argv); } + } diff --git a/Zotlabs/Daemon/Cache_embeds.php b/Zotlabs/Daemon/Cache_embeds.php index 08088abd6..9e5b8d2bb 100644 --- a/Zotlabs/Daemon/Cache_embeds.php +++ b/Zotlabs/Daemon/Cache_embeds.php @@ -2,7 +2,6 @@ namespace Zotlabs\Daemon; - class Cache_embeds { static public function run($argc,$argv) { diff --git a/Zotlabs/Daemon/Cache_query.php b/Zotlabs/Daemon/Cache_query.php new file mode 100644 index 000000000..5f92ae6d0 --- /dev/null +++ b/Zotlabs/Daemon/Cache_query.php @@ -0,0 +1,36 @@ +<?php + +namespace Zotlabs\Daemon; + +use Zotlabs\Lib\Cache; + +class Cache_query { + + static public function run($argc, $argv) { + + if(! $argc == 3) + return; + + $key = $argv[1]; + + $pid = get_config('procid', $key, false); + if ($pid && (function_exists('posix_kill') ? posix_kill($pid, 0) : true)) { + logger($key . ': procedure already run with pid ' . $pid, LOGGER_DEBUG); + return; + } + + $pid = getmypid(); + set_config('procid', $key, $pid); + + array_shift($argv); + array_shift($argv); + + $arr = json_decode(base64_decode($argv[0]), true); + + $r = call_user_func_array('q', $arr); + if($r) + Cache::set($key, serialize($r)); + + del_config('procid', $key); + } +} diff --git a/Zotlabs/Daemon/Checksites.php b/Zotlabs/Daemon/Checksites.php index 3bcfdd7cf..7227e96e4 100644 --- a/Zotlabs/Daemon/Checksites.php +++ b/Zotlabs/Daemon/Checksites.php @@ -6,34 +6,35 @@ require_once('include/hubloc.php'); class Checksites { - static public function run($argc,$argv) { + static public function run($argc, $argv) { logger('checksites: start'); - - if(($argc > 1) && ($argv[1])) + + if (($argc > 1) && ($argv[1])) $site_id = $argv[1]; - if($site_id) + if ($site_id) $sql_options = " and site_url = '" . dbesc($argv[1]) . "' "; - $days = intval(get_config('system','sitecheckdays')); - if($days < 1) + $days = intval(get_config('system', 'sitecheckdays')); + if ($days < 1) $days = 30; $r = q("select * from site where site_dead = 0 and site_update < %s - INTERVAL %s and site_type = %d $sql_options ", - db_utcnow(), db_quoteinterval($days . ' DAY'), + db_utcnow(), + db_quoteinterval($days . ' DAY'), intval(SITE_TYPE_ZOT) ); - if(! $r) + if (!$r) return; - foreach($r as $rr) { - if(! strcasecmp($rr['site_url'],z_root())) + foreach ($r as $rr) { + if (!strcasecmp($rr['site_url'], z_root())) continue; $x = ping_site($rr['site_url']); - if($x['success']) { + if ($x['success']) { logger('checksites: ' . $rr['site_url']); q("update site set site_update = '%s' where site_url = '%s' ", dbesc(datetime_convert()), diff --git a/Zotlabs/Daemon/Convo.php b/Zotlabs/Daemon/Convo.php new file mode 100644 index 000000000..940216b2c --- /dev/null +++ b/Zotlabs/Daemon/Convo.php @@ -0,0 +1,58 @@ +<?php + +namespace Zotlabs\Daemon; + +use Zotlabs\Lib\Activity; +use Zotlabs\Lib\ActivityStreams; +use Zotlabs\Lib\ASCollection; + +class Convo { + + static public function run($argc, $argv) { + + logger('convo invoked: ' . print_r($argv, true)); + + if ($argc != 4) { + return; + } + + $id = $argv[1]; + $channel_id = intval($argv[2]); + $contact_hash = $argv[3]; + + $channel = channelx_by_n($channel_id); + if (!$channel) { + return; + } + + $r = q("SELECT abook.*, xchan.* FROM abook left join xchan on abook_xchan = xchan_hash + WHERE abook_channel = %d and abook_xchan = '%s' LIMIT 1", + intval($channel_id), + dbesc($contact_hash) + ); + if (!$r) { + return; + } + + $contact = array_shift($r); + + $obj = new ASCollection($id, $channel); + + $messages = $obj->get(); + + if ($messages) { + foreach ($messages as $message) { + if (is_string($message)) { + $message = Activity::fetch($message, $channel); + } + // set client flag because comments will probably just be objects and not full blown activities + // and that lets us use implied_create + $AS = new ActivityStreams($message); + if ($AS->is_valid() && is_array($AS->obj)) { + $item = Activity::decode_note($AS); + Activity::store($channel, $contact['abook_xchan'], $AS, $item); + } + } + } + } +} diff --git a/Zotlabs/Daemon/Cron.php b/Zotlabs/Daemon/Cron.php index 703d6ce08..4732dfa75 100644 --- a/Zotlabs/Daemon/Cron.php +++ b/Zotlabs/Daemon/Cron.php @@ -6,14 +6,14 @@ use Zotlabs\Lib\Libsync; class Cron { - static public function run($argc,$argv) { + static public function run($argc, $argv) { - $maxsysload = intval(get_config('system','maxloadavg')); - if($maxsysload < 1) + $maxsysload = intval(get_config('system', 'maxloadavg')); + if ($maxsysload < 1) $maxsysload = 50; - if(function_exists('sys_getloadavg')) { + if (function_exists('sys_getloadavg')) { $load = sys_getloadavg(); - if(intval($load[0]) > $maxsysload) { + if (intval($load[0]) > $maxsysload) { logger('system: load ' . $load . ' too high. Cron deferred to next scheduled run.'); return; } @@ -21,17 +21,18 @@ class Cron { // Check for a lockfile. If it exists, but is over an hour old, it's stale. Ignore it. $lockfile = 'store/[data]/cron'; - if((file_exists($lockfile)) && (filemtime($lockfile) > (time() - 3600)) - && (! get_config('system','override_cron_lockfile'))) { + if ((file_exists($lockfile)) && (filemtime($lockfile) > (time() - 3600)) + && (!get_config('system', 'override_cron_lockfile'))) { logger("cron: Already running"); return; } - + // Create a lockfile. Needs two vars, but $x doesn't need to contain anything. + $x = ''; file_put_contents($lockfile, $x); logger('cron: start'); - + // run queue delivery process in the background Master::Summon(array('Queue')); @@ -46,7 +47,7 @@ class Cron { db_utcnow(), db_quoteinterval('3 MINUTE') ); - + // expire any expired mail q("delete from mail where expires > '%s' and expires < %s ", @@ -54,19 +55,23 @@ class Cron { db_utcnow() ); + $interval = get_config('system', 'delivery_interval', 3); + // expire any expired items $r = q("select id,item_wall from item where expires > '2001-01-01 00:00:00' and expires < %s and item_deleted = 0 ", db_utcnow() ); - if($r) { + if ($r) { require_once('include/items.php'); - foreach($r as $rr) { - drop_item($rr['id'],false,(($rr['item_wall']) ? DROPITEM_PHASE1 : DROPITEM_NORMAL)); - if($rr['item_wall']) { + foreach ($r as $rr) { + drop_item($rr['id'], false, (($rr['item_wall']) ? DROPITEM_PHASE1 : DROPITEM_NORMAL)); + if ($rr['item_wall']) { // The notifier isn't normally invoked unless item_drop is interactive. - Master::Summon( [ 'Notifier', 'drop', $rr['id'] ] ); + Master::Summon(['Notifier', 'drop', $rr['id']]); + if ($interval) + @time_sleep_until(microtime(true) + (float)$interval); } } } @@ -78,9 +83,9 @@ class Cron { dbesc(NULL_DATE), db_utcnow() ); - if($r) { + if ($r) { require_once('include/security.php'); - foreach($r as $rr) { + foreach ($r as $rr) { atoken_delete($rr['atoken_id']); } } @@ -90,33 +95,33 @@ class Cron { // or dead entries. $r = q("select channel_id from channel where channel_dirdate < %s - INTERVAL %s and channel_removed = 0", - db_utcnow(), + db_utcnow(), db_quoteinterval('30 DAY') ); - if($r) { - foreach($r as $rr) { - Master::Summon(array('Directory',$rr['channel_id'],'force')); - if($interval) - @time_sleep_until(microtime(true) + (float) $interval); + if ($r) { + foreach ($r as $rr) { + Master::Summon(array('Directory', $rr['channel_id'], 'force')); + if ($interval) + @time_sleep_until(microtime(true) + (float)$interval); } } - + // Clean expired photos from cache - + $r = q("SELECT DISTINCT xchan, content FROM photo WHERE photo_usage = %d AND expires < %s - INTERVAL %s", intval(PHOTO_CACHE), db_utcnow(), - db_quoteinterval(get_config('system','active_expire_days', '30') . ' DAY') + db_quoteinterval(get_config('system', 'active_expire_days', '30') . ' DAY') ); - if($r) { + if ($r) { q("DELETE FROM photo WHERE photo_usage = %d AND expires < %s - INTERVAL %s", intval(PHOTO_CACHE), db_utcnow(), - db_quoteinterval(get_config('system','active_expire_days', '30') . ' DAY') + db_quoteinterval(get_config('system', 'active_expire_days', '30') . ' DAY') ); - foreach($r as $rr) { + foreach ($r as $rr) { $file = dbunescbin($rr['content']); - if(is_file($file)) { + if (is_file($file)) { @unlink($file); @rmdir(dirname($file)); logger('info: deleted cached photo file ' . $file, LOGGER_DEBUG); @@ -130,27 +135,29 @@ class Cron { $r = q("select id from item where item_delayed = 1 and created <= %s and created > '%s' ", db_utcnow(), - dbesc(datetime_convert('UTC','UTC','now - 2 days')) + dbesc(datetime_convert('UTC', 'UTC', 'now - 2 days')) ); - if($r) { - foreach($r as $rr) { + if ($r) { + foreach ($r as $rr) { $x = q("update item set item_delayed = 0 where id = %d", intval($rr['id']) ); - if($x) { + if ($x) { $z = q("select * from item where id = %d", - intval($message_id) + intval($rr['id']) ); - if($z) { + if ($z) { xchan_query($z); $sync_item = fetch_post_tags($z); Libsync::build_sync_packet($sync_item[0]['uid'], - [ - 'item' => [ encode_item($sync_item[0],true) ] + [ + 'item' => [encode_item($sync_item[0], true)] ] ); } - Master::Summon(array('Notifier','wall-new',$rr['id'])); + Master::Summon(array('Notifier', 'wall-new', $rr['id'])); + if ($interval) + @time_sleep_until(microtime(true) + (float)$interval); } } } @@ -163,27 +170,22 @@ class Cron { require_once('include/attach.php'); attach_upgrade(); - $abandon_days = intval(get_config('system','account_abandon_days')); - if($abandon_days < 1) - $abandon_days = 0; - - // once daily run birthday_updates and then expire in background // FIXME: add birthday updates, both locally and for xprof for use // by directory servers - $d1 = intval(get_config('system','last_expire_day')); - $d2 = intval(datetime_convert('UTC','UTC','now','d')); + $d1 = intval(get_config('system', 'last_expire_day')); + $d2 = intval(datetime_convert('UTC', 'UTC', 'now', 'd')); // Allow somebody to staggger daily activities if they have more than one site on their server, // or if it happens at an inconvenient (busy) hour. - $h1 = intval(get_config('system','cron_hour')); - $h2 = intval(datetime_convert('UTC','UTC','now','G')); + $h1 = intval(get_config('system', 'cron_hour')); + $h2 = intval(datetime_convert('UTC', 'UTC', 'now', 'G')); - if(($d2 != $d1) && ($h1 == $h2)) { + if (($d2 != $d1) && ($h1 == $h2)) { Master::Summon(array('Cron_daily')); } @@ -192,14 +194,14 @@ class Cron { $r = q("select xchan_photo_l, xchan_hash from xchan where xchan_photo_l != '' and xchan_photo_m = '' and xchan_photo_date < %s - INTERVAL %s", - db_utcnow(), + db_utcnow(), db_quoteinterval('1 DAY') ); - if($r) { + if ($r) { require_once('include/photo/photo_driver.php'); - foreach($r as $rr) { + foreach ($r as $rr) { $photos = import_xchan_photo($rr['xchan_photo_l'], $rr['xchan_hash'], false, true); - $x = q("update xchan set xchan_photo_l = '%s', xchan_photo_m = '%s', xchan_photo_s = '%s', xchan_photo_mimetype = '%s' + q("update xchan set xchan_photo_l = '%s', xchan_photo_m = '%s', xchan_photo_s = '%s', xchan_photo_mimetype = '%s' where xchan_hash = '%s'", dbesc($photos[0]), dbesc($photos[1]), @@ -213,31 +215,28 @@ class Cron { // pull in some public posts - $disable_discover_tab = get_config('system','disable_discover_tab') || get_config('system','disable_discover_tab') === false; - if(! $disable_discover_tab) +/* $disable_discover_tab = get_config('system', 'disable_discover_tab') || get_config('system', 'disable_discover_tab') === false; + if (!$disable_discover_tab) Master::Summon(array('Externals')); +*/ - $generation = 0; + $restart = false; - $restart = false; - - if(($argc > 1) && ($argv[1] == 'restart')) { - $restart = true; + if (($argc > 1) && ($argv[1] == 'restart')) { + $restart = true; $generation = intval($argv[2]); - if(! $generation) + if (!$generation) return; } reload_plugins(); - $d = datetime_convert(); - // TODO check to see if there are any cronhooks before wasting a process - if(! $restart) + if (!$restart) Master::Summon(array('Cronhooks')); - set_config('system','lastcron',datetime_convert()); + set_config('system', 'lastcron', datetime_convert()); //All done - clear the lockfile @unlink($lockfile); diff --git a/Zotlabs/Daemon/Cron_daily.php b/Zotlabs/Daemon/Cron_daily.php index 07533cc6e..1983c68e6 100644 --- a/Zotlabs/Daemon/Cron_daily.php +++ b/Zotlabs/Daemon/Cron_daily.php @@ -2,9 +2,11 @@ namespace Zotlabs\Daemon; +use Zotlabs\Lib\Libzotdir; + class Cron_daily { - static public function run($argc,$argv) { + static public function run($argc, $argv) { logger('cron_daily: start'); @@ -13,15 +15,12 @@ class Cron_daily { * */ - - require_once('include/dir_fns.php'); - check_upstream_directory(); - + Libzotdir::check_upstream_directory(); // Fire off the Cron_weekly process if it's the correct day. - - $d3 = intval(datetime_convert('UTC','UTC','now','N')); - if($d3 == 7) { + + $d3 = intval(datetime_convert('UTC', 'UTC', 'now', 'N')); + if ($d3 == 7) { Master::Summon(array('Cron_weekly')); } @@ -52,8 +51,8 @@ class Cron_daily { // Clean up emdedded content cache q("DELETE FROM cache WHERE updated < %s - INTERVAL %s", - db_utcnow(), - db_quoteinterval(get_config('system','active_expire_days', '30') . ' DAY') + db_utcnow(), + db_quoteinterval(get_config('system', 'active_expire_days', '30') . ' DAY') ); //update statistics in config @@ -67,8 +66,8 @@ class Cron_daily { // expire old delivery reports - $keep_reports = intval(get_config('system','expire_delivery_reports')); - if($keep_reports === 0) + $keep_reports = intval(get_config('system', 'expire_delivery_reports')); + if ($keep_reports === 0) $keep_reports = 10; q("delete from dreport where dreport_time < %s - INTERVAL %s", @@ -80,18 +79,16 @@ class Cron_daily { downgrade_accounts(); // If this is a directory server, request a sync with an upstream - // directory at least once a day, up to once every poll interval. + // directory at least once a day, up to once every poll interval. // Pull remote changes and push local changes. - // potential issue: how do we keep from creating an endless update loop? + // potential issue: how do we keep from creating an endless update loop? - $dirmode = get_config('system','directory_mode'); + $dirmode = get_config('system', 'directory_mode'); - if($dirmode == DIRECTORY_MODE_SECONDARY || $dirmode == DIRECTORY_MODE_PRIMARY) { - require_once('include/dir_fns.php'); - sync_directories($dirmode); + if ($dirmode == DIRECTORY_MODE_SECONDARY || $dirmode == DIRECTORY_MODE_PRIMARY) { + Libzotdir::sync_directories($dirmode); } - Master::Summon(array('Expire')); Master::Summon(array('Cli_suggest')); @@ -99,9 +96,10 @@ class Cron_daily { z6_discover(); - call_hooks('cron_daily',datetime_convert()); + $date = datetime_convert(); + call_hooks('cron_daily', $date); - set_config('system','last_expire_day',intval(datetime_convert('UTC','UTC','now','d'))); + set_config('system', 'last_expire_day', intval(datetime_convert('UTC', 'UTC', 'now', 'd'))); /** * End Cron Daily diff --git a/Zotlabs/Daemon/Cron_weekly.php b/Zotlabs/Daemon/Cron_weekly.php index d44400767..407aa40ef 100644 --- a/Zotlabs/Daemon/Cron_weekly.php +++ b/Zotlabs/Daemon/Cron_weekly.php @@ -4,21 +4,22 @@ namespace Zotlabs\Daemon; class Cron_weekly { - static public function run($argc,$argv) { + static public function run($argc, $argv) { /** * Cron Weekly - * + * * Actions in the following block are executed once per day only on Sunday (once per week). * */ - call_hooks('cron_weekly',datetime_convert()); + $date = datetime_convert(); + call_hooks('cron_weekly', $date); z_check_cert(); prune_hub_reinstalls(); - + mark_orphan_hubsxchans(); // Find channels that were removed in the last three weeks, but @@ -31,8 +32,8 @@ class Cron_weekly { db_utcnow(), db_quoteinterval('21 DAY'), db_utcnow(), db_quoteinterval('10 DAY') ); - if($r) { - foreach($r as $rv) { + if ($r) { + foreach ($r as $rv) { channel_remove_final($rv['channel_id']); } } @@ -43,14 +44,14 @@ class Cron_weekly { db_utcnow(), db_quoteinterval('14 DAY') ); - $dirmode = intval(get_config('system','directory_mode')); - if($dirmode === DIRECTORY_MODE_SECONDARY || $dirmode === DIRECTORY_MODE_PRIMARY) { - logger('regdir: ' . print_r(z_fetch_url(get_directory_primary() . '/regdir?f=&url=' . urlencode(z_root()) . '&realm=' . urlencode(get_directory_realm())),true)); + $dirmode = intval(get_config('system', 'directory_mode')); + if ($dirmode === DIRECTORY_MODE_SECONDARY || $dirmode === DIRECTORY_MODE_PRIMARY) { + logger('regdir: ' . print_r(z_fetch_url(get_directory_primary() . '/regdir?f=&url=' . urlencode(z_root()) . '&realm=' . urlencode(get_directory_realm())), true)); } // Check for dead sites Master::Summon(array('Checksites')); - + // update searchable doc indexes Master::Summon(array('Importdoc')); diff --git a/Zotlabs/Daemon/CurlAuth.php b/Zotlabs/Daemon/CurlAuth.php index de41382e3..2396da9aa 100644 --- a/Zotlabs/Daemon/CurlAuth.php +++ b/Zotlabs/Daemon/CurlAuth.php @@ -2,6 +2,8 @@ namespace Zotlabs\Daemon; +use App; + // generate a curl compatible cookie file with an authenticated session for the given channel_id. // If this file is then used with curl and the destination url is sent through zid() or manually // manipulated to add a zid, it should allow curl to provide zot magic-auth across domains. @@ -10,15 +12,15 @@ namespace Zotlabs\Daemon; class CurlAuth { - static public function run($argc,$argv) { + static public function run($argc, $argv) { - if($argc != 2) + if ($argc != 2) return; - \App::$session->start(); + App::$session->start(); $_SESSION['authenticated'] = 1; - $_SESSION['uid'] = $argv[1]; + $_SESSION['uid'] = $argv[1]; $x = session_id(); @@ -29,14 +31,14 @@ class CurlAuth { $output = ''; - if($e) { + if ($e) { $lines = file($f); - if($lines) { - foreach($lines as $line) { - if(strlen($line) > 0 && $line[0] != '#' && substr_count($line, "\t") == 6) { + if ($lines) { + foreach ($lines as $line) { + if (strlen($line) > 0 && $line[0] != '#' && substr_count($line, "\t") == 6) { $tokens = explode("\t", $line); $tokens = array_map('trim', $tokens); - if($tokens[4] > time()) { + if ($tokens[4] > time()) { $output .= $line . "\n"; } } @@ -46,9 +48,9 @@ class CurlAuth { } } $t = time() + (24 * 3600); - file_put_contents($f, $output . 'HttpOnly_' . \App::get_hostname() . "\tFALSE\t/\tTRUE\t$t\tPHPSESSID\t" . $x, (($e) ? FILE_APPEND : 0)); + file_put_contents($f, $output . 'HttpOnly_' . App::get_hostname() . "\tFALSE\t/\tTRUE\t$t\tPHPSESSID\t" . $x, (($e) ? FILE_APPEND : 0)); - file_put_contents($c,$x); + file_put_contents($c, $x); return; } diff --git a/Zotlabs/Daemon/Deliver.php b/Zotlabs/Daemon/Deliver.php index c853af6a8..f8149ee69 100644 --- a/Zotlabs/Daemon/Deliver.php +++ b/Zotlabs/Daemon/Deliver.php @@ -5,25 +5,25 @@ namespace Zotlabs\Daemon; require_once('include/queue_fn.php'); class Deliver { - - static public function run($argc,$argv) { - if($argc < 2) + static public function run($argc, $argv) { + + if ($argc < 2) return; - logger('deliver: invoked: ' . print_r($argv,true), LOGGER_DATA); + logger('deliver: invoked: ' . print_r($argv, true), LOGGER_DATA); - for($x = 1; $x < $argc; $x ++) { + for ($x = 1; $x < $argc; $x++) { - if(! $argv[$x]) + if (!$argv[$x]) continue; $r = q("select * from outq where outq_hash = '%s'", dbesc($argv[$x]) ); - if($r) { - queue_deliver($r[0],true); + if ($r) { + queue_deliver($r[0], true); } } diff --git a/Zotlabs/Daemon/Deliver_hooks.php b/Zotlabs/Daemon/Deliver_hooks.php index e8b5acef0..4d3ce4e1d 100644 --- a/Zotlabs/Daemon/Deliver_hooks.php +++ b/Zotlabs/Daemon/Deliver_hooks.php @@ -2,21 +2,18 @@ namespace Zotlabs\Daemon; -require_once('include/zot.php'); - class Deliver_hooks { - static public function run($argc,$argv) { + static public function run($argc, $argv) { - if($argc < 2) + if ($argc < 2) return; - $r = q("select * from item where id = '%d'", intval($argv[1]) ); - if($r) - call_hooks('notifier_normal',$r[0]); + if ($r) + call_hooks('notifier_normal', $r[0]); } } diff --git a/Zotlabs/Daemon/Directory.php b/Zotlabs/Daemon/Directory.php index ab58432de..1f307b273 100644 --- a/Zotlabs/Daemon/Directory.php +++ b/Zotlabs/Daemon/Directory.php @@ -8,40 +8,40 @@ use Zotlabs\Lib\Queue; class Directory { - static public function run($argc,$argv){ + static public function run($argc, $argv) { - if($argc < 2) + if ($argc < 2) return; - $force = false; + $force = false; $pushall = true; - if($argc > 2) { - if($argv[2] === 'force') + if ($argc > 2) { + if ($argv[2] === 'force') $force = true; - if($argv[2] === 'nopush') + if ($argv[2] === 'nopush') $pushall = false; - } + } logger('directory update', LOGGER_DEBUG); - $dirmode = get_config('system','directory_mode'); - if($dirmode === false) + $dirmode = get_config('system', 'directory_mode'); + if ($dirmode === false) $dirmode = DIRECTORY_MODE_NORMAL; $x = q("select * from channel where channel_id = %d limit 1", intval($argv[1]) ); - if(! $x) + if (!$x) return; $channel = $x[0]; - if($dirmode != DIRECTORY_MODE_NORMAL) { + if ($dirmode != DIRECTORY_MODE_NORMAL) { // this is an in-memory update and we don't need to send a network packet. - Libzotdir::local_dir_update($argv[1],$force); + Libzotdir::local_dir_update($argv[1], $force); q("update channel set channel_dirdate = '%s' where channel_id = %d", dbesc(datetime_convert()), @@ -49,8 +49,8 @@ class Directory { ); // Now update all the connections - if($pushall) - Master::Summon(array('Notifier','refresh_all',$channel['channel_id'])); + if ($pushall) + Master::Summon(array('Notifier', 'refresh_all', $channel['channel_id'])); return; } @@ -63,14 +63,12 @@ class Directory { // ensure the upstream directory is updated - - $packet = Libzot::build_packet($channel,(($force) ? 'force_refresh' : 'refresh')); - $z = Libzot::zot($url,$packet,$channel); - + $packet = Libzot::build_packet($channel, (($force) ? 'force_refresh' : 'refresh')); + $z = Libzot::zot($url, $packet, $channel); // re-queue if unsuccessful - if(! $z['success']) { + if (!$z['success']) { /** @FIXME we aren't updating channel_dirdate if we have to queue * the directory packet. That means we'll try again on the next poll run. @@ -95,8 +93,8 @@ class Directory { } // Now update all the connections - if($pushall) - Master::Summon(array('Notifier','refresh_all',$channel['channel_id'])); + if ($pushall) + Master::Summon(array('Notifier', 'refresh_all', $channel['channel_id'])); } } diff --git a/Zotlabs/Daemon/Expire.php b/Zotlabs/Daemon/Expire.php index a688d6f97..c4ff8aec6 100644 --- a/Zotlabs/Daemon/Expire.php +++ b/Zotlabs/Daemon/Expire.php @@ -5,23 +5,24 @@ namespace Zotlabs\Daemon; class Expire { - static public function run($argc,$argv){ + static public function run($argc, $argv) { cli_startup(); - - $pid = get_config('expire', 'procid', false); + + $pid = get_config('procid', 'expire', false); if ($pid && (function_exists('posix_kill') ? posix_kill($pid, 0) : true)) { - logger('Expire: procedure already run with pid ' . $pid, LOGGER_DEBUG); - return; + logger('procedure already run with pid ' . $pid, LOGGER_DEBUG); + return; } - + $pid = getmypid(); - set_config('expire', 'procid', $pid); + set_config('procid', 'expire', $pid); // perform final cleanup on previously delete items $r = q("select id from item where item_deleted = 1 and item_pending_remove = 0 and changed < %s - INTERVAL %s", - db_utcnow(), db_quoteinterval('10 DAY') + db_utcnow(), + db_quoteinterval('10 DAY') ); if ($r) { foreach ($r as $rr) { @@ -32,23 +33,22 @@ class Expire { // physically remove anything that has been deleted for more than two months /** @FIXME - this is a wretchedly inefficient query */ - $r = q("delete from item where item_pending_remove = 1 and changed < %s - INTERVAL %s", - db_utcnow(), db_quoteinterval('36 DAY') + q("delete from item where item_pending_remove = 1 and changed < %s - INTERVAL %s", + db_utcnow(), + db_quoteinterval('36 DAY') ); - /** @FIXME make this optional as it could have a performance impact on large sites */ - if (intval(get_config('system', 'optimize_items'))) q("optimize table item"); logger('expire: start with pid ' . $pid, LOGGER_DEBUG); - $site_expire = intval(get_config('system', 'default_expire_days')); - $commented_days = intval(get_config('system','active_expire_days')); + $site_expire = intval(get_config('system', 'default_expire_days')); + $commented_days = intval(get_config('system', 'active_expire_days')); logger('site_expire: ' . $site_expire); - $r = q("SELECT channel_id, channel_system, channel_address, channel_expire_days from channel where true"); + $r = dbq("SELECT channel_id, channel_system, channel_address, channel_expire_days from channel where true"); if ($r) { foreach ($r as $rr) { @@ -64,11 +64,12 @@ class Expire { $channel_expire = $service_class_expire; else $channel_expire = $site_expire; - + if (intval($channel_expire) && (intval($channel_expire) < intval($rr['channel_expire_days'])) || intval($rr['channel_expire_days'] == 0)) { $expire_days = $channel_expire; - } else { + } + else { $expire_days = $rr['channel_expire_days']; } @@ -93,13 +94,13 @@ class Expire { } logger('Expire: sys interval: ' . $expire_days, LOGGER_DEBUG); - + if ($expire_days) item_expire($x['channel_id'], $expire_days, $commented_days); logger('Expire: sys: done', LOGGER_DEBUG); } - - del_config('expire', 'procid'); + + del_config('procid', 'expire'); } } diff --git a/Zotlabs/Daemon/Externals.php b/Zotlabs/Daemon/Externals.php index a9988a509..064b3f71d 100644 --- a/Zotlabs/Daemon/Externals.php +++ b/Zotlabs/Daemon/Externals.php @@ -2,97 +2,180 @@ namespace Zotlabs\Daemon; -require_once('include/zot.php'); +use Zotlabs\Lib\Activity; +use Zotlabs\Lib\ActivityStreams; +use Zotlabs\Lib\ASCollection; + require_once('include/channel.php'); class Externals { - static public function run($argc,$argv){ + static public function run($argc, $argv) { + + logger('externals: start'); - $total = 0; + $importer = get_sys_channel(); + $total = 0; $attempts = 0; logger('externals: startup', LOGGER_DEBUG); // pull in some public posts + while ($total == 0 && $attempts < 3) { + $arr = ['url' => '']; + call_hooks('externals_url_select', $arr); - while($total == 0 && $attempts < 3) { - $arr = array('url' => ''); - call_hooks('externals_url_select',$arr); - - if($arr['url']) { + if ($arr['url']) { $url = $arr['url']; - } + } else { $randfunc = db_getfunc('RAND'); - // fixme this query does not deal with directory realms. + // fixme this query does not deal with directory realms. - $r = q("select site_url, site_pull from site where site_url != '%s' and site_flags != %d and site_type = %d and site_dead = 0 order by $randfunc limit 1", + $r = q("select site_url, site_pull from site where site_url != '%s' + and site_flags != %d and site_type = %d + and site_dead = 0 and site_project like '%s' and site_version > '5.3.1' order by $randfunc limit 1", dbesc(z_root()), intval(DIRECTORY_MODE_STANDALONE), - intval(SITE_TYPE_ZOT) + intval(SITE_TYPE_ZOT), + dbesc('hubzilla%') ); - if($r) + if ($r) $url = $r[0]['site_url']; } $blacklisted = false; - if(! check_siteallowed($url)) { + if (!check_siteallowed($url)) { logger('blacklisted site: ' . $url); $blacklisted = true; } - $attempts ++; + $attempts++; // make sure we can eventually break out if somebody blacklists all known sites - if($blacklisted) { - if($attempts > 20) + if ($blacklisted) { + if ($attempts > 20) break; - $attempts --; + $attempts--; continue; } - if($url) { - if($r[0]['site_pull'] > NULL_DATE) - $mindate = urlencode(datetime_convert('','',$r[0]['site_pull'] . ' - 1 day')); - else { - $days = get_config('externals','since_days'); - if($days === false) - $days = 15; - $mindate = urlencode(datetime_convert('','','now - ' . intval($days) . ' days')); + if ($url) { + + $max = intval(get_config('system', 'max_imported_posts', 30)); + if (intval($max)) { + logger('externals: fetching outbox'); + + $feed_url = $url . '/zotfeed'; + $obj = new ASCollection($feed_url, $importer, 0, $max); + $messages = $obj->get(); + + if ($messages) { + foreach ($messages as $message) { + if (is_string($message)) { + $message = Activity::fetch($message, $importer); + } + $AS = new ActivityStreams($message); + if ($AS->is_valid() && is_array($AS->obj)) { + $item = Activity::decode_note($AS); + Activity::store($importer, $importer['xchan_hash'], $AS, $item, true); + $total++; + } + } + } + logger('externals: import_public_posts: ' . $total . ' messages imported', LOGGER_DEBUG); } + } + } + return; + + /* $total = 0; + $attempts = 0; - $feedurl = $url . '/zotfeed?f=&mindate=' . $mindate; + logger('externals: startup', LOGGER_DEBUG); - logger('externals: pulling public content from ' . $feedurl, LOGGER_DEBUG); + // pull in some public posts - $x = z_fetch_url($feedurl); - if(($x) && ($x['success'])) { + while ($total == 0 && $attempts < 3) { + $arr = ['url' => '']; + call_hooks('externals_url_select', $arr); + + if ($arr['url']) { + $url = $arr['url']; + } + else { + $randfunc = db_getfunc('RAND'); + + // fixme this query does not deal with directory realms. + + $r = q("select site_url, site_pull from site where site_url != '%s' and site_flags != %d and site_type = %d and site_dead = 0 order by $randfunc limit 1", + dbesc(z_root()), + intval(DIRECTORY_MODE_STANDALONE), + intval(SITE_TYPE_ZOT) + ); + if ($r) + $url = $r[0]['site_url']; + } - q("update site set site_pull = '%s' where site_url = '%s'", - dbesc(datetime_convert()), - dbesc($url) - ); + $blacklisted = false; - $j = json_decode($x['body'],true); - if($j['success'] && $j['messages']) { - $sys = get_sys_channel(); - foreach($j['messages'] as $message) { - // on these posts, clear any route info. - $message['route'] = ''; - $results = process_delivery(array('hash' => 'undefined'), get_item_elements($message), - array(array('hash' => $sys['xchan_hash'])), false, true); - $total ++; + if (!check_siteallowed($url)) { + logger('blacklisted site: ' . $url); + $blacklisted = true; + } + + $attempts++; + + // make sure we can eventually break out if somebody blacklists all known sites + + if ($blacklisted) { + if ($attempts > 20) + break; + $attempts--; + continue; + } + + if ($url) { + if ($r[0]['site_pull'] > NULL_DATE) + $mindate = urlencode(datetime_convert('', '', $r[0]['site_pull'] . ' - 1 day')); + else { + $days = get_config('externals', 'since_days'); + if ($days === false) + $days = 15; + $mindate = urlencode(datetime_convert('', '', 'now - ' . intval($days) . ' days')); + } + + $feedurl = $url . '/zotfeed?f=&mindate=' . $mindate; + + logger('externals: pulling public content from ' . $feedurl, LOGGER_DEBUG); + + $x = z_fetch_url($feedurl); + if (($x) && ($x['success'])) { + + q("update site set site_pull = '%s' where site_url = '%s'", + dbesc(datetime_convert()), + dbesc($url) + ); + + $j = json_decode($x['body'], true); + if ($j['success'] && $j['messages']) { + $sys = get_sys_channel(); + foreach ($j['messages'] as $message) { + // on these posts, clear any route info. + $message['route'] = ''; + process_delivery(['hash' => 'undefined'], get_item_elements($message), + [['hash' => $sys['xchan_hash']]], false, true); + $total++; + } + logger('externals: import_public_posts: ' . $total . ' messages imported', LOGGER_DEBUG); + } } - logger('externals: import_public_posts: ' . $total . ' messages imported', LOGGER_DEBUG); } - } - } - } + }*/ } } diff --git a/Zotlabs/Daemon/Gprobe.php b/Zotlabs/Daemon/Gprobe.php index 9e74eb8b5..29efcf475 100644 --- a/Zotlabs/Daemon/Gprobe.php +++ b/Zotlabs/Daemon/Gprobe.php @@ -9,27 +9,27 @@ use Zotlabs\Lib\Zotfinger; // performs zot_finger on $argv[1], which is a hex_encoded webbie/reddress class Gprobe { - static public function run($argc,$argv) { + static public function run($argc, $argv) { - if($argc != 2) + if ($argc != 2) return; $url = hex2bin($argv[1]); - if(! strpos($url,'@')) + if (!strpos($url, '@')) return; $r = q("select * from hubloc where hubloc_addr = '%s' and hubloc_network = 'zot6' limit 1", dbesc($url) ); - if(! $r) { + if (!$r) { $href = Webfinger::zot_url(punify($url)); - if($href) { + if ($href) { $zf = Zotfinger::exec($href, null); } - if(is_array($zf) && array_path_exists('signature/signer',$zf) && $zf['signature']['signer'] === $href && intval($zf['signature']['header_valid'])) { - $xc = Libzot::import_xchan($zf['data']); + if (is_array($zf) && array_path_exists('signature/signer', $zf) && $zf['signature']['signer'] === $href && intval($zf['signature']['header_valid'])) { + Libzot::import_xchan($zf['data']); } } diff --git a/Zotlabs/Daemon/Importdoc.php b/Zotlabs/Daemon/Importdoc.php index 0ca589e4a..9e818e2b3 100755..100644 --- a/Zotlabs/Daemon/Importdoc.php +++ b/Zotlabs/Daemon/Importdoc.php @@ -5,7 +5,7 @@ namespace Zotlabs\Daemon; class Importdoc { - static public function run($argc,$argv) { + static public function run($argc, $argv) { require_once('include/help.php'); @@ -16,20 +16,20 @@ class Importdoc { static public function update_docs_dir($s) { $f = basename($s); $d = dirname($s); - if($s === 'doc/html') + if ($s === 'doc/html') return; $files = glob("$d/$f"); - if($files) { - foreach($files as $fi) { - if($fi === 'doc/html') { + if ($files) { + foreach ($files as $fi) { + if ($fi === 'doc/html') { continue; } - if(is_dir($fi)) { + if (is_dir($fi)) { self::update_docs_dir("$fi/*"); } else { // don't update media content - if(strpos(z_mime_content_type($fi),'text') === 0) { + if (strpos(z_mime_content_type($fi), 'text') === 0) { store_doc_file($fi); } } diff --git a/Zotlabs/Daemon/Importfile.php b/Zotlabs/Daemon/Importfile.php index 749949679..299fb1ee5 100644 --- a/Zotlabs/Daemon/Importfile.php +++ b/Zotlabs/Daemon/Importfile.php @@ -6,22 +6,21 @@ use Zotlabs\Lib\Libsync; class Importfile { - static public function run($argc,$argv){ + static public function run($argc, $argv) { - logger('Importfile: ' . print_r($argv,true)); + logger('Importfile: ' . print_r($argv, true)); - if($argc < 3) + if ($argc < 3) return; $channel = channelx_by_n($argv[1]); - if(! $channel) + if (!$channel) return; $srcfile = $argv[2]; $folder = (($argc > 3) ? $argv[3] : ''); $dstname = (($argc > 4) ? $argv[4] : ''); - - $hash = random_string(); + $hash = random_string(); $arr = [ 'src' => $srcfile, @@ -35,15 +34,15 @@ class Importfile { 'replace' => true ]; - if($folder) + if ($folder) $arr['folder'] = $folder; - attach_store($channel,$channel['channel_hash'],'import',$arr); + attach_store($channel, $channel['channel_hash'], 'import', $arr); + + $sync = attach_export_data($channel, $hash); + if ($sync) + Libsync::build_sync_packet($channel['channel_id'], ['file' => [$sync]]); - $sync = attach_export_data($channel,$hash); - if($sync) - Libsync::build_sync_packet($channel['channel_id'],array('file' => array($sync))); - return; } } diff --git a/Zotlabs/Daemon/Master.php b/Zotlabs/Daemon/Master.php index 8c3a7e570..6fa656be5 100644 --- a/Zotlabs/Daemon/Master.php +++ b/Zotlabs/Daemon/Master.php @@ -2,58 +2,57 @@ namespace Zotlabs\Daemon; -if(array_search( __file__ , get_included_files()) === 0) { +if (array_search(__file__, get_included_files()) === 0) { require_once('include/cli_startup.php'); array_shift($argv); $argc = count($argv); - if($argc) - Master::Release($argc,$argv); + if ($argc) + Master::Release($argc, $argv); return; } - class Master { static public function Summon($arr) { $hookinfo = [ - 'argv'=>$arr + 'argv' => $arr ]; - call_hooks ('daemon_master_summon',$hookinfo); + call_hooks('daemon_master_summon', $hookinfo); - $arr = $hookinfo['argv']; + $arr = $hookinfo['argv']; $argc = count($arr); - if ((!is_array($arr) || (count($arr) < 1))) { - logger("Summon handled by hook.",LOGGER_DEBUG); + if ((!is_array($arr) || ($argc < 1))) { + logger("Summon handled by hook.", LOGGER_DEBUG); return; } - $phpbin = get_config('system','phpbin','php'); - proc_run($phpbin,'Zotlabs/Daemon/Master.php',$arr); + $phpbin = get_config('system', 'phpbin', 'php'); + proc_run($phpbin, 'Zotlabs/Daemon/Master.php', $arr); } - static public function Release($argc,$argv) { + static public function Release($argc, $argv) { cli_startup(); $hookinfo = [ - 'argv'=>$argv + 'argv' => $argv ]; - call_hooks ('daemon_master_release',$hookinfo); + call_hooks('daemon_master_release', $hookinfo); $argv = $hookinfo['argv']; $argc = count($argv); - if ((!is_array($argv) || (count($argv) < 1))) { - logger("Release handled by hook.",LOGGER_DEBUG); + if ((!is_array($argv) || ($argc < 1))) { + logger("Release handled by hook.", LOGGER_DEBUG); return; } - logger('Master: release: ' . json_encode($argv), LOGGER_ALL,LOG_DEBUG); - $cls = '\\Zotlabs\\Daemon\\' . $argv[0]; - $cls::run($argc,$argv); + logger('Master: release: ' . json_encode($argv), LOGGER_ALL, LOG_DEBUG); + $cls = '\\Zotlabs\\Daemon\\' . $argv[0]; + $cls::run($argc, $argv); } } diff --git a/Zotlabs/Daemon/Notifier.php b/Zotlabs/Daemon/Notifier.php index 18fc57118..78e116d68 100644 --- a/Zotlabs/Daemon/Notifier.php +++ b/Zotlabs/Daemon/Notifier.php @@ -14,7 +14,6 @@ require_once('include/items.php'); require_once('include/bbcode.php'); - /* * This file was at one time responsible for doing all deliveries, but this caused * big problems on shared hosting systems, where the process might get killed by the @@ -81,198 +80,198 @@ require_once('include/bbcode.php'); */ - class Notifier { - static public function run($argc,$argv){ + static public function run($argc, $argv) { - if($argc < 3) + if ($argc < 3) return; - logger('notifier: invoked: ' . print_r($argv,true), LOGGER_DEBUG); + logger('notifier: invoked: ' . print_r($argv, true), LOGGER_DEBUG); $cmd = $argv[1]; $item_id = $argv[2]; - if(! $item_id) + if (!$item_id) return; $sys = get_sys_channel(); - $deliveries = array(); + $deliveries = []; - $request = false; - $mail = false; - $top_level = false; - $location = false; - $recipients = array(); - $url_recipients = array(); - $normal_mode = true; - $packet_type = 'undefined'; + $request = false; + $mail = false; + $location = false; + $recipients = []; + $normal_mode = true; + $packet_type = 'undefined'; - if($cmd === 'mail' || $cmd === 'single_mail') { + if ($cmd === 'mail' || $cmd === 'single_mail') { $normal_mode = false; - $mail = true; - $private = true; - $message = q("SELECT * FROM mail WHERE id = %d LIMIT 1", - intval($item_id) + $mail = true; + $private = true; + $message = q("SELECT * FROM mail WHERE id = %d LIMIT 1", + intval($item_id) ); - if(! $message) { + if (!$message) { return; } xchan_mail_query($message[0]); - $uid = $message[0]['channel_id']; + $uid = $message[0]['channel_id']; $recipients[] = $message[0]['from_xchan']; // include clones $recipients[] = $message[0]['to_xchan']; - $item = $message[0]; - + $item = $message[0]; $encoded_item = encode_mail($item); $s = q("select * from channel where channel_id = %d limit 1", - intval($item['channel_id']) + intval($uid) ); - if($s) + if ($s) $channel = $s[0]; } - elseif($cmd === 'request') { - $channel_id = $item_id; - $xchan = $argv[3]; + elseif ($cmd === 'request') { + $channel_id = $item_id; + $xchan = $argv[3]; $request_message_id = $argv[4]; $s = q("select * from channel where channel_id = %d limit 1", intval($channel_id) ); - if($s) + if ($s) $channel = $s[0]; - $private = true; + $private = true; $recipients[] = $xchan; - $packet_type = 'request'; - $normal_mode = false; + $packet_type = 'request'; + $normal_mode = false; } - elseif($cmd === 'keychange') { + elseif ($cmd === 'keychange') { $channel = channelx_by_n($item_id); - $r = q("select abook_xchan from abook where abook_channel = %d", + + $r = q("select abook_xchan from abook where abook_channel = %d", intval($item_id) ); - if($r) { - foreach($r as $rr) { + if ($r) { + foreach ($r as $rr) { $recipients[] = $rr['abook_xchan']; } } - $private = false; + $private = false; $packet_type = 'keychange'; $normal_mode = false; } - elseif(in_array($cmd, [ 'permission_update', 'permission_reject', 'permission_accept', 'permission_create' ])) { + elseif (in_array($cmd, ['permission_update', 'permission_reject', 'permission_accept', 'permission_create'])) { // Get the (single) recipient $r = q("select * from abook left join xchan on abook_xchan = xchan_hash where abook_id = %d and abook_self = 0", intval($item_id) ); - if($r) { + if ($r) { $uid = $r[0]['abook_channel']; // Get the sender $channel = channelx_by_n($uid); - if($channel) { - $perm_update = array('sender' => $channel, 'recipient' => $r[0], 'success' => false, 'deliveries' => ''); - - if($cmd === 'permission_create') - call_hooks('permissions_create',$perm_update); - elseif($cmd === 'permission_accept') - call_hooks('permissions_accept',$perm_update); - elseif($cmd === 'permission_reject') - call_hooks('permissions_reject',$perm_update); + if ($channel) { + $perm_update = ['sender' => $channel, 'recipient' => $r[0], 'success' => false, 'deliveries' => '']; + + if ($cmd === 'permission_create') + call_hooks('permissions_create', $perm_update); + elseif ($cmd === 'permission_accept') + call_hooks('permissions_accept', $perm_update); + elseif ($cmd === 'permission_reject') + call_hooks('permissions_reject', $perm_update); else - call_hooks('permissions_update',$perm_update); + call_hooks('permissions_update', $perm_update); - if($perm_update['success']) { - if($perm_update['deliveries']) { + if ($perm_update['success']) { + if ($perm_update['deliveries']) { $deliveries[] = $perm_update['deliveries']; do_delivery($deliveries); } return; } else { - $recipients[] = $r[0]['abook_xchan']; - $private = false; - $packet_type = 'refresh'; - $packet_recips = array(array('guid' => $r[0]['xchan_guid'],'guid_sig' => $r[0]['xchan_guid_sig'],'hash' => $r[0]['xchan_hash'])); + $recipients[] = $r[0]['abook_xchan']; + $private = false; + $packet_type = 'refresh'; + $packet_recips = [['guid' => $r[0]['xchan_guid'], 'guid_sig' => $r[0]['xchan_guid_sig'], 'hash' => $r[0]['xchan_hash']]]; } } } } - elseif($cmd === 'refresh_all') { + elseif ($cmd === 'refresh_all') { logger('notifier: refresh_all: ' . $item_id); - $uid = $item_id; + $uid = $item_id; $channel = channelx_by_n($item_id); - $r = q("select abook_xchan from abook where abook_channel = %d", - intval($item_id) + + $r = q("select abook_xchan from abook where abook_channel = %d", + intval($uid) ); - if($r) { - foreach($r as $rr) { + if ($r) { + foreach ($r as $rr) { $recipients[] = $rr['abook_xchan']; } } - $private = false; + $private = false; $packet_type = 'refresh'; } - elseif($cmd === 'location') { + elseif ($cmd === 'location') { logger('notifier: location: ' . $item_id); $s = q("select * from channel where channel_id = %d limit 1", intval($item_id) ); - if($s) + if ($s) $channel = $s[0]; - $uid = $item_id; - $recipients = array(); - $r = q("select abook_xchan from abook where abook_channel = %d", - intval($item_id) + + $uid = $item_id; + $recipients = []; + + $r = q("select abook_xchan from abook where abook_channel = %d", + intval($uid) ); - if($r) { - foreach($r as $rr) { + if ($r) { + foreach ($r as $rr) { $recipients[] = $rr['abook_xchan']; } } - $encoded_item = array('locations' => Libzot::encode_locations($channel),'type' => 'location', 'encoding' => 'zot'); - $target_item = array('aid' => $channel['channel_account_id'],'uid' => $channel['channel_id']); - $private = false; - $packet_type = 'location'; - $location = true; + $encoded_item = ['locations' => Libzot::encode_locations($channel), 'type' => 'location', 'encoding' => 'zot']; + $target_item = ['aid' => $channel['channel_account_id'], 'uid' => $channel['channel_id']]; + $private = false; + $packet_type = 'location'; + $location = true; } - elseif($cmd === 'purge') { + elseif ($cmd === 'purge') { $xchan = $argv[3]; logger('notifier: purge: ' . $item_id . ' => ' . $xchan); - if (! $xchan) { + if (!$xchan) { return; } - $channel = channelx_by_n($item_id); - $recipients[] = $xchan; - $private = true; - $packet_type = 'purge'; + $channel = channelx_by_n($item_id); + $recipients[] = $xchan; + $private = true; + $packet_type = 'purge'; $packet_recips[] = ['hash' => $xchan]; } - elseif($cmd === 'purge_all') { + elseif ($cmd === 'purge_all') { logger('notifier: purge_all: ' . $item_id); $channel = channelx_by_n($item_id); $recipients = []; - $r = q("select abook_xchan from abook where abook_channel = %d and abook_self = 0", + $r = q("select abook_xchan from abook where abook_channel = %d and abook_self = 0", intval($item_id) ); - if (! $r) { + if (!$r) { return; } foreach ($r as $rr) { - $recipients[] = $rr['abook_xchan']; + $recipients[] = $rr['abook_xchan']; $packet_recips[] = ['hash' => $rr['abook_xchan']]; } - $private = false; + $private = false; $packet_type = 'purge'; @@ -287,7 +286,7 @@ class Notifier { intval($item_id) ); - if(! $r) + if (!$r) return; xchan_query($r); @@ -296,25 +295,22 @@ class Notifier { $target_item = $r[0]; - if(in_array($target_item['author']['xchan_network'], ['rss', 'anon'])) { + if (in_array($target_item['author']['xchan_network'], ['rss', 'anon'])) { logger('notifier: target item author is not a fetchable actor', LOGGER_DEBUG); return; } - $deleted_item = false; - - if(intval($target_item['item_deleted'])) { + if (intval($target_item['item_deleted'])) { logger('notifier: target item ITEM_DELETED', LOGGER_DEBUG); - $deleted_item = true; } - if(! in_array(intval($target_item['item_type']), [ ITEM_TYPE_POST ] )) { - $hookinfo=[ - 'targetitem'=>$target_item, - 'deliver'=>false + if (!in_array(intval($target_item['item_type']), [ITEM_TYPE_POST])) { + $hookinfo = [ + 'targetitem' => $target_item, + 'deliver' => false ]; if (intval($target_item['item_type'] == ITEM_TYPE_CUSTOM)) { - call_hooks('customitem_deliver',$hookinfo); + call_hooks('customitem_deliver', $hookinfo); } if (!$hookinfo['deliver']) { @@ -328,14 +324,14 @@ class Notifier { // Check for non published items, but allow an exclusion for transmitting hidden file activities - if(intval($target_item['item_unpublished']) || intval($target_item['item_delayed']) || + if (intval($target_item['item_unpublished']) || intval($target_item['item_delayed']) || intval($target_item['item_blocked']) || - ( intval($target_item['item_hidden']) && ($target_item['obj_type'] !== ACTIVITY_OBJ_FILE))) { + (intval($target_item['item_hidden']) && ($target_item['obj_type'] !== ACTIVITY_OBJ_FILE))) { logger('notifier: target item not published, so not forwardable', LOGGER_DEBUG); return; } - if(strpos($target_item['postopts'],'nodeliver') !== false) { + if (strpos($target_item['postopts'], 'nodeliver') !== false) { logger('notifier: target item is undeliverable', LOGGER_DEBUG); return; } @@ -343,17 +339,17 @@ class Notifier { $s = q("select * from channel left join xchan on channel_hash = xchan_hash where channel_id = %d limit 1", intval($target_item['uid']) ); - if($s) + if ($s) $channel = $s[0]; - if($channel['channel_hash'] !== $target_item['author_xchan'] && $channel['channel_hash'] !== $target_item['owner_xchan']) { + if ($channel['channel_hash'] !== $target_item['author_xchan'] && $channel['channel_hash'] !== $target_item['owner_xchan']) { logger("notifier: Sending channel {$channel['channel_hash']} is not owner {$target_item['owner_xchan']} or author {$target_item['author_xchan']}", LOGGER_NORMAL, LOG_WARNING); return; } - if($target_item['mid'] === $target_item['parent_mid']) { - $parent_item = $target_item; + if ($target_item['mid'] === $target_item['parent_mid']) { + $parent_item = $target_item; $top_level_post = true; } else { @@ -362,10 +358,10 @@ class Notifier { intval($target_item['parent']) ); - if(! $r) + if (!$r) return; - if(strpos($r[0]['postopts'],'nodeliver') !== false) { + if (strpos($r[0]['postopts'], 'nodeliver') !== false) { logger('notifier: target item is undeliverable', LOGGER_DEBUG, LOG_NOTICE); return; } @@ -373,34 +369,34 @@ class Notifier { xchan_query($r); $r = fetch_post_tags($r); - $parent_item = $r[0]; + $parent_item = $r[0]; $top_level_post = false; } // avoid looping of discover items 12/4/2014 - if($sys && $parent_item['uid'] == $sys['channel_id']) + if ($sys && $parent_item['uid'] == $sys['channel_id']) return; $encoded_item = encode_item($target_item); // Re-use existing signature unless the activity type changed to a Tombstone, which won't verify. - $m = ((intval($target_item['item_deleted'])) ? '' : get_iconfig($target_item,'activitystreams','signed_data')); + $m = ((intval($target_item['item_deleted'])) ? '' : get_iconfig($target_item, 'activitystreams', 'signed_data')); - if($m) { - $activity = json_decode($m,true); + if ($m) { + $activity = json_decode($m, true); } else { $activity = array_merge(['@context' => [ ACTIVITYSTREAMS_JSONLD_REV, 'https://w3id.org/security/v1', z_root() . ZOT_APSCHEMA_REV - ]], Activity::encode_activity($target_item) + ]], Activity::encode_activity($target_item) ); } - logger('target_item: ' . print_r($target_item,true), LOGGER_DEBUG); - logger('encoded: ' . print_r($activity,true), LOGGER_DEBUG); + logger('target_item: ' . print_r($target_item, true), LOGGER_DEBUG); + logger('encoded: ' . print_r($activity, true), LOGGER_DEBUG); // Send comments to the owner to re-deliver to everybody in the conversation // We only do this if the item in question originated on this site. This prevents looping. @@ -411,9 +407,7 @@ class Notifier { // flag on comments for an extended period. So we'll also call comment_local_origin() which looks at // the hostname in the message_id and provides a second (fallback) opinion. - $relay_to_owner = (((! $top_level_post) && (intval($target_item['item_origin'])) && comment_local_origin($target_item)) ? true : false); - - + $relay_to_owner = (((!$top_level_post) && (intval($target_item['item_origin'])) && comment_local_origin($target_item)) ? true : false); $uplink = false; @@ -425,54 +419,46 @@ class Notifier { // tag_deliver'd post which needs to be sent back to the original author - if(($cmd === 'uplink') && intval($parent_item['item_uplink']) && (! $top_level_post)) { + if (($cmd === 'uplink') && intval($parent_item['item_uplink']) && (!$top_level_post)) { logger('notifier: uplink'); $uplink = true; } - if(($relay_to_owner || $uplink) && ($cmd !== 'relay')) { + if (($relay_to_owner || $uplink) && ($cmd !== 'relay')) { logger('notifier: followup relay', LOGGER_DEBUG); - $recipients = array(($uplink) ? $parent_item['source_xchan'] : $parent_item['owner_xchan']); - $private = true; - if(! $encoded_item['flags']) - $encoded_item['flags'] = array(); + $recipients = [($uplink) ? $parent_item['source_xchan'] : $parent_item['owner_xchan']]; + $private = true; + if (!$encoded_item['flags']) + $encoded_item['flags'] = []; $encoded_item['flags'][] = 'relay'; - $upstream = true; + $upstream = true; } else { logger('notifier: normal distribution', LOGGER_DEBUG); - if($cmd === 'relay') + if ($cmd === 'relay') logger('notifier: owner relay'); $upstream = false; // if our parent is a tag_delivery recipient, uplink to the original author causing // a delivery fork. - if(($parent_item) && intval($parent_item['item_uplink']) && (! $top_level_post) && ($cmd !== 'uplink')) { + if (($parent_item) && intval($parent_item['item_uplink']) && (!$top_level_post) && ($cmd !== 'uplink')) { // don't uplink a relayed post to the relay owner - if($parent_item['source_xchan'] !== $parent_item['owner_xchan']) { + if ($parent_item['source_xchan'] !== $parent_item['owner_xchan']) { logger('notifier: uplinking this item'); - Master::Summon(array('Notifier','uplink',$item_id)); + Master::Summon(['Notifier', 'uplink', $item_id]); } } - $private = false; - $recipients = collect_recipients($parent_item,$private); - + $private = false; + $recipients = collect_recipients($parent_item, $private); if ($top_level_post) { // remove clones who will receive the post via sync - $recipients = array_diff($recipients, [ $target_item['owner_xchan'] ]); + $recipients = array_diff($recipients, [$target_item['owner_xchan']]); } // FIXME add any additional recipients such as mentions, etc. - // don't send deletions onward for other people's stuff - // TODO verify this is needed - copied logic from same place in old code - - if(intval($target_item['item_deleted']) && (! intval($target_item['item_wall']))) { - logger('notifier: ignoring delete notification for non-wall item', LOGGER_NORMAL, LOG_NOTICE); - return; - } } } @@ -481,32 +467,31 @@ class Notifier { // Generic delivery section, we have an encoded item and recipients // Now start the delivery process - $x = $encoded_item; + $x = $encoded_item; $x['title'] = 'private'; - $x['body'] = 'private'; - logger('notifier: encoded item: ' . print_r($x,true), LOGGER_DATA, LOG_DEBUG); + $x['body'] = 'private'; + logger('notifier: encoded item: ' . print_r($x, true), LOGGER_DATA, LOG_DEBUG); //logger('notifier: encoded activity: ' . print_r($activity,true), LOGGER_DATA, LOG_DEBUG); stringify_array_elms($recipients); - if(! $recipients) { + if (!$recipients) { logger('no recipients'); return; } // logger('notifier: recipients: ' . print_r($recipients,true), LOGGER_NORMAL, LOG_DEBUG); - $env_recips = (($private) ? array() : null); + $env_recips = (($private) ? [] : null); - $details = q("select xchan_hash, xchan_network, xchan_addr, xchan_guid, xchan_guid_sig from xchan where xchan_hash in (" . protect_sprintf(implode(',',$recipients)) . ")"); + $details = q("select xchan_hash, xchan_network, xchan_addr, xchan_guid, xchan_guid_sig from xchan where xchan_hash in (" . protect_sprintf(implode(',', $recipients)) . ")"); - $recip_list = array(); - - if($details) { - foreach($details as $d) { + $recip_list = []; + if ($details) { + foreach ($details as $d) { $recip_list[] = $d['xchan_addr'] . ' (' . $d['xchan_hash'] . ')'; - if($private) { + if ($private) { $env_recips[] = [ 'guid' => $d['xchan_guid'], 'guid_sig' => $d['xchan_guid_sig'], @@ -542,8 +527,8 @@ class Notifier { ]; call_hooks('notifier_process', $narr); - if($narr['queued']) { - foreach($narr['queued'] as $pq) + if ($narr['queued']) { + foreach ($narr['queued'] as $pq) $deliveries[] = $pq; } @@ -553,26 +538,26 @@ class Notifier { $env_recips = $narr['env_recips']; $packet_recips = $narr['packet_recips']; - if(($private) && (! $env_recips)) { + if (($private) && (!$env_recips)) { // shouldn't happen - logger('notifier: private message with no envelope recipients.' . print_r($argv,true), LOGGER_NORMAL, LOG_NOTICE); + logger('notifier: private message with no envelope recipients.' . print_r($argv, true), LOGGER_NORMAL, LOG_NOTICE); } - logger('notifier: recipients (may be delivered to more if public): ' . print_r($recip_list,true), LOGGER_DEBUG); + logger('notifier: recipients (may be delivered to more if public): ' . print_r($recip_list, true), LOGGER_DEBUG); // Now we have collected recipients (except for external mentions, FIXME) // Let's reduce this to a set of hubs; checking that the site is not dead. $hubs = q("select hubloc.*, site.site_crypto, site.site_flags, site.site_version, site.site_project, site.site_dead from hubloc left join site on site_url = hubloc_url - where hubloc_hash in (" . protect_sprintf(implode(',',$recipients)) . ") + where hubloc_hash in (" . protect_sprintf(implode(',', $recipients)) . ") and hubloc_error = 0 and hubloc_deleted = 0" ); // public posts won't make it to the local public stream unless there's a recipient on this site. // This code block sees if it's a public post and localhost is missing, and if so adds an entry for the local sys channel to the $hubs list - if (! $private) { + if (!$private) { $found_localhost = false; if ($hubs) { foreach ($hubs as $h) { @@ -582,7 +567,7 @@ class Notifier { } } } - if (! $found_localhost) { + if (!$found_localhost) { $localhub = q("select hubloc.*, site.site_crypto, site.site_flags, site.site_version, site.site_project, site.site_dead from hubloc left join site on site_url = hubloc_url where hubloc_id_url = '%s' and hubloc_error = 0 and hubloc_deleted = 0", dbesc(z_root() . '/channel/sys') @@ -593,7 +578,7 @@ class Notifier { } } - if(! $hubs) { + if (!$hubs) { logger('notifier: no hubs', LOGGER_NORMAL, LOG_NOTICE); return; } @@ -612,17 +597,17 @@ class Notifier { $hub_env = []; // per-hub envelope so we don't broadcast the entire envelope to all $dead = []; // known dead hubs - report them as undeliverable - foreach($hubs as $hub) { + foreach ($hubs as $hub) { if (intval($hub['site_dead'])) { $dead[] = $hub; continue; } - if($env_recips) { - foreach($env_recips as $er) { - if($hub['hubloc_hash'] === $er['hash']) { - if(! array_key_exists($hub['hubloc_host'] . $hub['hubloc_sitekey'], $hub_env)) { + if ($env_recips) { + foreach ($env_recips as $er) { + if ($hub['hubloc_hash'] === $er['hash']) { + if (!array_key_exists($hub['hubloc_host'] . $hub['hubloc_sitekey'], $hub_env)) { $hub_env[$hub['hubloc_host'] . $hub['hubloc_sitekey']] = []; } $hub_env[$hub['hubloc_host'] . $hub['hubloc_sitekey']][] = $er; @@ -631,36 +616,36 @@ class Notifier { } - if($hub['hubloc_network'] == 'zot') { - if(! in_array($hub['hubloc_sitekey'],$keys)) { + if ($hub['hubloc_network'] == 'zot') { + if (!in_array($hub['hubloc_sitekey'], $keys)) { $hublist[] = $hub['hubloc_host'] . ' ' . $hub['hubloc_network']; $dhubs[] = $hub; $keys[] = $hub['hubloc_sitekey']; } } else { - if(! in_array($hub['hubloc_url'],$urls)) { - if($hub['hubloc_url'] === z_root()) { + if (!in_array($hub['hubloc_url'], $urls)) { + if ($hub['hubloc_url'] === z_root()) { //deliver to local hub first array_unshift($hublist, $hub['hubloc_host'] . ' ' . $hub['hubloc_network']); array_unshift($dhubs, $hub); } else { $hublist[] = $hub['hubloc_host'] . ' ' . $hub['hubloc_network']; - $dhubs[] = $hub; + $dhubs[] = $hub; } $urls[] = $hub['hubloc_url']; } } } - logger('notifier: will notify/deliver to these hubs: ' . print_r($hublist,true), LOGGER_DEBUG, LOG_DEBUG); + logger('notifier: will notify/deliver to these hubs: ' . print_r($hublist, true), LOGGER_DEBUG, LOG_DEBUG); - foreach($dhubs as $hub) { + foreach ($dhubs as $hub) { - logger('notifier_hub: ' . $hub['hubloc_url'],LOGGER_DEBUG); + logger('notifier_hub: ' . $hub['hubloc_url'], LOGGER_DEBUG); - if(! in_array($hub['hubloc_network'], [ 'zot','zot6' ])) { + if (!in_array($hub['hubloc_network'], ['zot', 'zot6'])) { $narr = [ 'channel' => $channel, 'upstream' => $upstream, @@ -687,9 +672,9 @@ class Notifier { ]; - call_hooks('notifier_hub',$narr); - if($narr['queued']) { - foreach($narr['queued'] as $pq) + call_hooks('notifier_hub', $narr); + if ($narr['queued']) { + foreach ($narr['queued'] as $pq) $deliveries[] = $pq; } continue; @@ -705,11 +690,11 @@ class Notifier { // will invoke a delivery to those connections which are connected to just that // hub instance. - if($cmd === 'single_mail' || $cmd === 'single_activity') { + if ($cmd === 'single_mail' || $cmd === 'single_activity') { continue; } - if(! in_array($hub['hubloc_network'], [ 'zot','zot6' ])) { + if (!in_array($hub['hubloc_network'], ['zot', 'zot6'])) { continue; } @@ -717,31 +702,31 @@ class Notifier { // in the loop. The signature verification step can't handle dashes in the // hashes. - $hash = random_string(48); + $hash = random_string(48); $packet = null; $pmsg = ''; - if($packet_type === 'refresh' || $packet_type === 'purge') { - if($hub['hubloc_network'] === 'zot6') { - $packet = Libzot::build_packet($channel, $packet_type, ids_to_array($packet_recips,'hash')); + if ($packet_type === 'refresh' || $packet_type === 'purge') { + if ($hub['hubloc_network'] === 'zot6') { + $packet = Libzot::build_packet($channel, $packet_type, ids_to_array($packet_recips, 'hash')); } else { - $packet = zot_build_packet($channel,$packet_type,(($packet_recips) ? $packet_recips : null)); + $packet = zot_build_packet($channel, $packet_type, (($packet_recips) ? $packet_recips : null)); } } - if($packet_type === 'keychange' && $hub['hubloc_network'] === 'zot') { - $pmsg = get_pconfig($channel['channel_id'],'system','keychange'); - $packet = zot_build_packet($channel,$packet_type,(($packet_recips) ? $packet_recips : null)); + if ($packet_type === 'keychange' && $hub['hubloc_network'] === 'zot') { + $pmsg = get_pconfig($channel['channel_id'], 'system', 'keychange'); + $packet = zot_build_packet($channel, $packet_type, (($packet_recips) ? $packet_recips : null)); } - elseif($packet_type === 'request' && $hub['hubloc_network'] === 'zot') { - $env = (($hub_env && $hub_env[$hub['hubloc_host'] . $hub['hubloc_sitekey']]) ? $hub_env[$hub['hubloc_host'] . $hub['hubloc_sitekey']] : ''); - $packet = zot_build_packet($channel,$packet_type,$env,$hub['hubloc_sitekey'],$hub['site_crypto'], - $hash, array('message_id' => $request_message_id) + elseif ($packet_type === 'request' && $hub['hubloc_network'] === 'zot') { + $env = (($hub_env && $hub_env[$hub['hubloc_host'] . $hub['hubloc_sitekey']]) ? $hub_env[$hub['hubloc_host'] . $hub['hubloc_sitekey']] : ''); + $packet = zot_build_packet($channel, $packet_type, $env, $hub['hubloc_sitekey'], $hub['site_crypto'], + $hash, ['message_id' => $request_message_id] ); } - if($packet) { + if ($packet) { Queue::insert( [ 'hash' => $hash, @@ -757,11 +742,10 @@ class Notifier { else { $env = (($hub_env && $hub_env[$hub['hubloc_host'] . $hub['hubloc_sitekey']]) ? $hub_env[$hub['hubloc_host'] . $hub['hubloc_sitekey']] : ''); - - if($hub['hubloc_network'] === 'zot6') { + if ($hub['hubloc_network'] === 'zot6') { $zenv = []; - if($env) { - foreach($env as $e) { + if ($env) { + foreach ($env as $e) { $zenv[] = $e['hash']; } } @@ -774,11 +758,11 @@ class Notifier { // For public reshares, some comments to the reshare on the zot fork will not make it to zot6 // due to these different message models. This cannot be prevented at this time. - if($packet_type === 'activity' && $activity['type'] === 'Announce' && intval($target_item['item_private'])) { + if ($packet_type === 'activity' && $activity['type'] === 'Announce' && intval($target_item['item_private'])) { continue; } - $packet = Libzot::build_packet($channel,$packet_type,$zenv,$activity,'activitystreams',(($private) ? $hub['hubloc_sitekey'] : null),$hub['site_crypto']); + $packet = Libzot::build_packet($channel, $packet_type, $zenv, $activity, 'activitystreams', (($private) ? $hub['hubloc_sitekey'] : null), $hub['site_crypto']); } else { // currently zot6 delivery is only performed on normal items and not sync items or mail or anything else @@ -786,28 +770,28 @@ class Notifier { // with before switching to zot6 as the primary zot6 handler checks for the existence of a message delivery report // to trigger dequeue'ing - $z6 = (($encoded_item && $encoded_item['type'] === 'activity' && (! array_key_exists('allow_cid',$encoded_item))) ? true : false); - if($z6) { - $packet = zot6_build_packet($channel,'notify',$env, json_encode($encoded_item), (($private) ? $hub['hubloc_sitekey'] : null), $hub['site_crypto'],$hash); + $z6 = (($encoded_item && $encoded_item['type'] === 'activity' && (!array_key_exists('allow_cid', $encoded_item))) ? true : false); + if ($z6) { + $packet = zot6_build_packet($channel, 'notify', $env, json_encode($encoded_item), (($private) ? $hub['hubloc_sitekey'] : null), $hub['site_crypto'], $hash); } else { - $packet = zot_build_packet($channel,'notify',$env, (($private) ? $hub['hubloc_sitekey'] : null), $hub['site_crypto'],$hash); + $packet = zot_build_packet($channel, 'notify', $env, (($private) ? $hub['hubloc_sitekey'] : null), $hub['site_crypto'], $hash); } } // remove this after most hubs have updated to version 5.0 - if(stripos($hub['site_project'], 'hubzilla') !== false && version_compare($hub['site_version'], '4.7.3', '<=')) { - if($encoded_item['type'] === 'mail') { - $encoded_item['from']['network'] = 'zot'; + if (stripos($hub['site_project'], 'hubzilla') !== false && version_compare($hub['site_version'], '4.7.3', '<=')) { + if ($encoded_item['type'] === 'mail') { + $encoded_item['from']['network'] = 'zot'; $encoded_item['from']['guid_sig'] = str_replace('sha256.', '', $encoded_item['from']['guid_sig']); } else { - $encoded_item['owner']['network'] = 'zot'; + $encoded_item['owner']['network'] = 'zot'; $encoded_item['owner']['guid_sig'] = str_replace('sha256.', '', $encoded_item['owner']['guid_sig']); - if(strpos($encoded_item['author']['url'], z_root()) === 0) { - $encoded_item['author']['network'] = 'zot'; + if (strpos($encoded_item['author']['url'], z_root()) === 0) { + $encoded_item['author']['network'] = 'zot'; $encoded_item['author']['guid_sig'] = str_replace('sha256.', '', $encoded_item['author']['guid_sig']); } } @@ -826,7 +810,7 @@ class Notifier { ); // only create delivery reports for normal undeleted items - if(is_array($target_item) && array_key_exists('postopts',$target_item) && (! $target_item['item_deleted']) && (! get_config('system','disable_dreport'))) { + if (is_array($target_item) && array_key_exists('postopts', $target_item) && (!$target_item['item_deleted']) && (!get_config('system', 'disable_dreport'))) { q("insert into dreport ( dreport_mid, dreport_site, dreport_recip, dreport_result, dreport_time, dreport_xchan, dreport_queue ) values ( '%s','%s','%s','%s','%s','%s','%s' ) ", dbesc($target_item['mid']), dbesc($hub['hubloc_host']), @@ -842,21 +826,21 @@ class Notifier { $deliveries[] = $hash; } - if($normal_mode) { + if ($normal_mode) { $x = q("select * from hook where hook = 'notifier_normal'"); - if($x) { - Master::Summon( [ 'Deliver_hooks', $target_item['id'] ] ); + if ($x) { + Master::Summon(['Deliver_hooks', $target_item['id']]); } } - if($deliveries) + if ($deliveries) do_delivery($deliveries); logger('notifier: basic loop complete.', LOGGER_DEBUG); if ($dead) { foreach ($dead as $deceased) { - if (is_array($target_item) && (! $target_item['item_deleted']) && (! get_config('system','disable_dreport'))) { + if (is_array($target_item) && (!$target_item['item_deleted']) && (!get_config('system', 'disable_dreport'))) { q("insert into dreport ( dreport_mid, dreport_site, dreport_recip, dreport_name, dreport_result, dreport_time, dreport_xchan, dreport_queue ) values ( '%s', '%s','%s','%s','%s','%s','%s','%s' ) ", dbesc($target_item['mid']), @@ -872,7 +856,7 @@ class Notifier { } } - call_hooks('notifier_end',$target_item); + call_hooks('notifier_end', $target_item); logger('notifer: complete.'); return; diff --git a/Zotlabs/Daemon/Onedirsync.php b/Zotlabs/Daemon/Onedirsync.php index 2ad76761d..f29fbe5b8 100644 --- a/Zotlabs/Daemon/Onedirsync.php +++ b/Zotlabs/Daemon/Onedirsync.php @@ -3,6 +3,7 @@ namespace Zotlabs\Daemon; use Zotlabs\Lib\Libzot; +use Zotlabs\Lib\Libzotdir; require_once('include/zot.php'); require_once('include/dir_fns.php'); @@ -10,14 +11,14 @@ require_once('include/dir_fns.php'); class Onedirsync { - static public function run($argc,$argv) { + static public function run($argc, $argv) { logger('onedirsync: start ' . intval($argv[1])); - if(($argc > 1) && (intval($argv[1]))) + if (($argc > 1) && (intval($argv[1]))) $update_id = intval($argv[1]); - if(! $update_id) { + if (!$update_id) { logger('onedirsync: no update'); return; } @@ -26,9 +27,9 @@ class Onedirsync { intval($update_id) ); - if(! $r) + if (!$r) return; - if(($r[0]['ud_flags'] & UPDATE_FLAGS_UPDATED) || (! $r[0]['ud_addr'])) + if (($r[0]['ud_flags'] & UPDATE_FLAGS_UPDATED) || (!$r[0]['ud_addr'])) return; // Have we probed this channel more recently than the other directory server @@ -40,8 +41,8 @@ class Onedirsync { dbesc($r[0]['ud_date']), intval(UPDATE_FLAGS_UPDATED) ); - if($x) { - $y = q("update updates set ud_flags = ( ud_flags | %d ) where ud_addr = '%s' and ( ud_flags & %d ) = 0 and ud_date != '%s'", + if ($x) { + q("update updates set ud_flags = ( ud_flags | %d ) where ud_addr = '%s' and ( ud_flags & %d ) = 0 and ud_date != '%s'", intval(UPDATE_FLAGS_UPDATED), dbesc($r[0]['ud_addr']), intval(UPDATE_FLAGS_UPDATED), @@ -58,8 +59,8 @@ class Onedirsync { $h = Libzot::zot_record_preferred($h); - if(($h) && ($h['hubloc_status'] & HUBLOC_OFFLINE)) { - $y = q("update updates set ud_flags = ( ud_flags | %d ) where ud_addr = '%s' and ( ud_flags & %d ) = 0 ", + if (($h) && ($h['hubloc_status'] & HUBLOC_OFFLINE)) { + q("update updates set ud_flags = ( ud_flags | %d ) where ud_addr = '%s' and ( ud_flags & %d ) = 0 ", intval(UPDATE_FLAGS_UPDATED), dbesc($r[0]['ud_addr']), intval(UPDATE_FLAGS_UPDATED) @@ -71,10 +72,10 @@ class Onedirsync { // we might have to pull this out some day, but for now update_directory_entry() // runs zot_finger() and is kind of zot specific - if($h && ! in_array($h['hubloc_network'], ['zot6', 'zot'])) + if ($h && !in_array($h['hubloc_network'], ['zot6', 'zot'])) return; - update_directory_entry($r[0]); + Libzotdir::update_directory_entry($r[0]); return; } diff --git a/Zotlabs/Daemon/Onepoll.php b/Zotlabs/Daemon/Onepoll.php index 93a5412b0..568745608 100644 --- a/Zotlabs/Daemon/Onepoll.php +++ b/Zotlabs/Daemon/Onepoll.php @@ -2,28 +2,27 @@ namespace Zotlabs\Daemon; +use Zotlabs\Lib\Activity; +use Zotlabs\Lib\ActivityStreams; +use Zotlabs\Lib\ASCollection; use Zotlabs\Lib\Libzot; -require_once('include/zot.php'); require_once('include/socgraph.php'); - class Onepoll { - static public function run($argc,$argv) { + static public function run($argc, $argv) { logger('onepoll: start'); - - if(($argc > 1) && (intval($argv[1]))) + + if (($argc > 1) && (intval($argv[1]))) $contact_id = intval($argv[1]); - if(! $contact_id) { + if (!$contact_id) { logger('onepoll: no contact'); return; } - $d = datetime_convert(); - $contacts = q("SELECT abook.*, xchan.*, account.* FROM abook LEFT JOIN account on abook_account = account_id left join xchan on xchan_hash = abook_xchan where abook_id = %d @@ -32,38 +31,36 @@ class Onepoll { intval($contact_id), intval(ACCOUNT_OK), intval(ACCOUNT_UNVERIFIED) - ); + ); - if(! $contacts) { + if (!$contacts) { logger('onepoll: abook_id not found: ' . $contact_id); return; } - $contact = $contacts[0]; - - $t = $contact['abook_updated']; - + $contact = array_shift($contacts); $importer_uid = $contact['abook_channel']; - + $r = q("SELECT * from channel left join xchan on channel_hash = xchan_hash where channel_id = %d limit 1", intval($importer_uid) ); - if(! $r) + if (!$r) return; $importer = $r[0]; logger("onepoll: poll: ({$contact['id']}) IMPORTER: {$importer['xchan_name']}, CONTACT: {$contact['xchan_name']}"); - $last_update = ((($contact['abook_updated'] === $contact['abook_created']) || ($contact['abook_updated'] <= NULL_DATE)) - ? datetime_convert('UTC','UTC','now - 7 days') - : datetime_convert('UTC','UTC',$contact['abook_updated'] . ' - 2 days') + // TODO: unused + $last_update = ((($contact['abook_updated'] === $contact['abook_created']) || ($contact['abook_updated'] <= NULL_DATE)) + ? datetime_convert('UTC', 'UTC', 'now - 7 days') + : datetime_convert('UTC', 'UTC', $contact['abook_updated'] . ' - 2 days') ); - if($contact['xchan_network'] === 'rss') { + if ($contact['xchan_network'] === 'rss') { logger('onepoll: processing feed ' . $contact['xchan_name'], LOGGER_DEBUG); - $alive = handle_feed($importer['channel_id'],$contact_id,$contact['xchan_hash']); + $alive = handle_feed($importer['channel_id'], $contact_id, $contact['xchan_hash']); if ($alive) { q("update abook set abook_connected = '%s' where abook_id = %d", dbesc(datetime_convert()), @@ -72,22 +69,22 @@ class Onepoll { } return; } - - if(! in_array($contact['xchan_network'],['zot','zot6'])) + + if (!in_array($contact['xchan_network'], ['zot', 'zot6'])) return; // update permissions - if($contact['xchan_network'] === 'zot6') - $x = Libzot::refresh($contact,$importer); + if ($contact['xchan_network'] === 'zot6') + $x = Libzot::refresh($contact, $importer); - if($contact['xchan_network'] === 'zot') - $x = zot_refresh($contact,$importer); + if ($contact['xchan_network'] === 'zot') + $x = zot_refresh($contact, $importer); $responded = false; $updated = datetime_convert(); $connected = datetime_convert(); - if(! $x) { + if (!$x) { // mark for death by not updating abook_connected, this is caught in include/poller.php q("update abook set abook_updated = '%s' where abook_id = %d", dbesc($updated), @@ -103,83 +100,111 @@ class Onepoll { $responded = true; } - if(! $responded) + if (!$responded) return; - if($contact['xchan_connurl']) { - $fetch_feed = true; - $x = null; + $fetch_feed = true; + $x = null; - // They haven't given us permission to see their stream + // They haven't given us permission to see their stream - $can_view_stream = intval(get_abconfig($importer_uid,$contact['abook_xchan'],'their_perms','view_stream')); + $can_view_stream = intval(get_abconfig($importer_uid, $contact['abook_xchan'], 'their_perms', 'view_stream')); - if(! $can_view_stream) - $fetch_feed = false; + if (!$can_view_stream) + $fetch_feed = false; - // we haven't given them permission to send us their stream + // we haven't given them permission to send us their stream - $can_send_stream = intval(get_abconfig($importer_uid,$contact['abook_xchan'],'my_perms','send_stream')); - - if(! $can_send_stream) - $fetch_feed = false; + $can_send_stream = intval(get_abconfig($importer_uid, $contact['abook_xchan'], 'my_perms', 'send_stream')); - if($fetch_feed) { + if (!$can_send_stream) + $fetch_feed = false; - if(strpos($contact['xchan_connurl'],z_root()) === 0) { - // local channel - save a network fetch - $c = channelx_by_hash($contact['xchan_hash']); - if($c) { - $x = [ - 'success' => true, - 'body' => json_encode( [ - 'success' => true, - 'messages' => zot_feed($c['channel_id'], $importer['xchan_hash'], [ 'mindate' => $last_update ]) - ]) - ]; - } + if ($fetch_feed) { + + $max = intval(get_config('system', 'max_imported_posts', 30)); + + if (intval($max)) { + $cl = get_xconfig($contact['abook_xchan'], 'activitypub', 'collections'); + + if (is_array($cl) && $cl) { + $url = ((array_key_exists('outbox', $cl)) ? $cl['outbox'] : ''); } else { - // remote fetch - - $feedurl = str_replace('/poco/','/zotfeed/',$contact['xchan_connurl']); - $feedurl .= '?f=&mindate=' . urlencode($last_update) . '&zid=' . $importer['channel_address'] . '@' . \App::get_hostname(); - $recurse = 0; - $x = z_fetch_url($feedurl, false, $recurse, [ 'session' => true ]); + $url = str_replace('/poco/', '/zotfeed/', $contact['xchan_connurl']); } - logger('feed_update: ' . print_r($x,true), LOGGER_DATA); - } - - if(($x) && ($x['success'])) { - $total = 0; - logger('onepoll: feed update ' . $contact['xchan_name'] . ' ' . $feedurl); - - $j = json_decode($x['body'],true); - if($j['success'] && $j['messages']) { - foreach($j['messages'] as $message) { - $results = process_delivery(array('hash' => $contact['xchan_hash']), get_item_elements($message), - array(array('hash' => $importer['xchan_hash'])), false); - logger('onepoll: feed_update: process_delivery: ' . print_r($results,true), LOGGER_DATA); - $total ++; + if ($url) { + logger('fetching outbox'); + $obj = new ASCollection($url, $importer, 0, $max); + $messages = $obj->get(); + if ($messages) { + foreach ($messages as $message) { + if (is_string($message)) { + $message = Activity::fetch($message, $importer); + } + $AS = new ActivityStreams($message); + if ($AS->is_valid() && is_array($AS->obj)) { + $item = Activity::decode_note($AS); + Activity::store($importer, $contact['abook_xchan'], $AS, $item); + } + } } - logger("onepoll: $total messages processed"); } } } - - // update the poco details for this connection + /* if ($fetch_feed) { + + if (strpos($contact['xchan_connurl'], z_root()) === 0) { + // local channel - save a network fetch + $c = channelx_by_hash($contact['xchan_hash']); + if ($c) { + $x = [ + 'success' => true, + 'body' => json_encode([ + 'success' => true, + 'messages' => zot_feed($c['channel_id'], $importer['xchan_hash'], ['mindate' => $last_update]) + ]) + ]; + } + } + else { + // remote fetch + + $feedurl = str_replace('/poco/', '/zotfeed/', $contact['xchan_connurl']); + $feedurl .= '?f=&mindate=' . urlencode($last_update) . '&zid=' . $importer['channel_address'] . '@' . App::get_hostname(); + $recurse = 0; + $x = z_fetch_url($feedurl, false, $recurse, ['session' => true]); + } + + logger('feed_update: ' . print_r($x, true), LOGGER_DATA); + } - if($contact['xchan_connurl']) { - $r = q("SELECT xlink_id from xlink - where xlink_xchan = '%s' and xlink_updated > %s - INTERVAL %s and xlink_static = 0 limit 1", - intval($contact['xchan_hash']), - db_utcnow(), db_quoteinterval('1 DAY') - ); - if(! $r) { - poco_load($contact['xchan_hash'],$contact['xchan_connurl']); - } + if (($x) && ($x['success'])) { + $total = 0; + logger('onepoll: feed update ' . $contact['xchan_name'] . ' ' . $feedurl); + + $j = json_decode($x['body'], true); + if ($j['success'] && $j['messages']) { + foreach ($j['messages'] as $message) { + $results = process_delivery(['hash' => $contact['xchan_hash']], get_item_elements($message), + [['hash' => $importer['xchan_hash']]], false); + logger('onepoll: feed_update: process_delivery: ' . print_r($results, true), LOGGER_DATA); + $total++; + } + logger("onepoll: $total messages processed"); + } + } + */ + + // update the poco details for this connection + $r = q("SELECT xlink_id from xlink where xlink_xchan = '%s' and xlink_updated > %s - INTERVAL %s and xlink_static = 0 limit 1", + intval($contact['xchan_hash']), + db_utcnow(), db_quoteinterval('1 DAY') + ); + if (!$r) { + poco_load($contact['xchan_hash'], $contact['xchan_connurl']); } return; diff --git a/Zotlabs/Daemon/Poller.php b/Zotlabs/Daemon/Poller.php index ebc0584ba..762f1349c 100644 --- a/Zotlabs/Daemon/Poller.php +++ b/Zotlabs/Daemon/Poller.php @@ -4,73 +4,67 @@ namespace Zotlabs\Daemon; class Poller { - static public function run($argc,$argv) { + static public function run($argc, $argv) { - $maxsysload = intval(get_config('system','maxloadavg')); - if($maxsysload < 1) + $maxsysload = intval(get_config('system', 'maxloadavg')); + if ($maxsysload < 1) $maxsysload = 50; - if(function_exists('sys_getloadavg')) { + if (function_exists('sys_getloadavg')) { $load = sys_getloadavg(); - if(intval($load[0]) > $maxsysload) { + if (intval($load[0]) > $maxsysload) { logger('system: load ' . $load . ' too high. Poller deferred to next scheduled run.'); return; } } - $interval = intval(get_config('system','poll_interval')); - if(! $interval) - $interval = ((get_config('system','delivery_interval') === false) ? 3 : intval(get_config('system','delivery_interval'))); + $interval = intval(get_config('system', 'poll_interval')); + if (!$interval) + $interval = ((get_config('system', 'delivery_interval') === false) ? 3 : intval(get_config('system', 'delivery_interval'))); // Check for a lockfile. If it exists, but is over an hour old, it's stale. Ignore it. $lockfile = 'store/[data]/poller'; - if((file_exists($lockfile)) && (filemtime($lockfile) > (time() - 3600)) - && (! get_config('system','override_poll_lockfile'))) { + if ((file_exists($lockfile)) && (filemtime($lockfile) > (time() - 3600)) + && (!get_config('system', 'override_poll_lockfile'))) { logger("poller: Already running"); return; } - + // Create a lockfile. Needs two vars, but $x doesn't need to contain anything. + $x = ''; file_put_contents($lockfile, $x); logger('poller: start'); - - $manual_id = 0; - $generation = 0; - $force = false; - $restart = false; + $manual_id = 0; + $force = false; - if(($argc > 1) && ($argv[1] == 'force')) + if (($argc > 1) && ($argv[1] == 'force')) $force = true; - if(($argc > 1) && ($argv[1] == 'restart')) { - $restart = true; + if (($argc > 1) && ($argv[1] == 'restart')) { $generation = intval($argv[2]); - if(! $generation) + if (!$generation) return; } - if(($argc > 1) && intval($argv[1])) { + if (($argc > 1) && intval($argv[1])) { $manual_id = intval($argv[1]); $force = true; } - $sql_extra = (($manual_id) ? " AND abook_id = " . intval($manual_id) . " " : ""); reload_plugins(); - $d = datetime_convert(); - // Only poll from those with suitable relationships - - $abandon_sql = (($abandon_days) - ? sprintf(" AND account_lastlog > %s - INTERVAL %s ", db_utcnow(), db_quoteinterval(intval($abandon_days).' DAY')) - : '' + $abandon_days = intval(get_config('system', 'account_abandon_days', 0)); + $abandon_sql = (($abandon_days) + ? sprintf(" AND account_lastlog > %s - INTERVAL %s ", db_utcnow(), db_quoteinterval(intval($abandon_days) . ' DAY')) + : '' ); $randfunc = db_getfunc('RAND'); - + $contacts = q("SELECT abook.abook_updated, abook.abook_connected, abook.abook_feed, abook.abook_channel, abook.abook_id, abook.abook_archived, abook.abook_pending, abook.abook_ignored, abook.abook_blocked, @@ -85,118 +79,117 @@ class Poller { intval(ACCOUNT_UNVERIFIED) // FIXME ); - if($contacts) { - - foreach($contacts as $contact) { + if ($contacts) { + foreach ($contacts as $contact) { - $update = false; + $update = false; $t = $contact['abook_updated']; $c = $contact['abook_connected']; - if(intval($contact['abook_feed'])) { - $min = service_class_fetch($contact['abook_channel'],'minimum_feedcheck_minutes'); - if(! $min) - $min = intval(get_config('system','minimum_feedcheck_minutes')); - if(! $min) + if (intval($contact['abook_feed'])) { + $min = service_class_fetch($contact['abook_channel'], 'minimum_feedcheck_minutes'); + if (!$min) + $min = intval(get_config('system', 'minimum_feedcheck_minutes')); + if (!$min) $min = 60; - $x = datetime_convert('UTC','UTC',"now - $min minutes"); - if($c < $x) { - Master::Summon(array('Onepoll',$contact['abook_id'])); - if($interval) - @time_sleep_until(microtime(true) + (float) $interval); + $x = datetime_convert('UTC', 'UTC', "now - $min minutes"); + if ($c < $x) { + Master::Summon(['Onepoll', $contact['abook_id']]); + if ($interval) + @time_sleep_until(microtime(true) + (float)$interval); } continue; } - if(! in_array($contact['xchan_network'],['zot','zot6'])) + if (!in_array($contact['xchan_network'], ['zot', 'zot6'])) continue; - if($c == $t) { - if(datetime_convert('UTC','UTC', 'now') > datetime_convert('UTC','UTC', $t . " + 1 day")) + if ($c == $t) { + if (datetime_convert('UTC', 'UTC', 'now') > datetime_convert('UTC', 'UTC', $t . " + 1 day")) $update = true; } else { - + // if we've never connected with them, start the mark for death countdown from now - - if($c <= NULL_DATE) { - $r = q("update abook set abook_connected = '%s' where abook_id = %d", + + if ($c <= NULL_DATE) { + q("update abook set abook_connected = '%s' where abook_id = %d", dbesc(datetime_convert()), intval($contact['abook_id']) ); - $c = datetime_convert(); + $c = datetime_convert(); $update = true; } // He's dead, Jim - if(strcmp(datetime_convert('UTC','UTC', 'now'),datetime_convert('UTC','UTC', $c . " + 30 day")) > 0) { - $r = q("update abook set abook_archived = 1 where abook_id = %d", + if (strcmp(datetime_convert('UTC', 'UTC', 'now'), datetime_convert('UTC', 'UTC', $c . " + 30 day")) > 0) { + q("update abook set abook_archived = 1 where abook_id = %d", intval($contact['abook_id']) ); - $update = false; continue; } - if(intval($contact['abook_archived'])) { - $update = false; + if (intval($contact['abook_archived'])) { continue; } // might be dead, so maybe don't poll quite so often - + // recently deceased, so keep up the regular schedule for 3 days - - if((strcmp(datetime_convert('UTC','UTC', 'now'),datetime_convert('UTC','UTC', $c . " + 3 day")) > 0) - && (strcmp(datetime_convert('UTC','UTC', 'now'),datetime_convert('UTC','UTC', $t . " + 1 day")) > 0)) + + if ((strcmp(datetime_convert('UTC', 'UTC', 'now'), datetime_convert('UTC', 'UTC', $c . " + 3 day")) > 0) + && (strcmp(datetime_convert('UTC', 'UTC', 'now'), datetime_convert('UTC', 'UTC', $t . " + 1 day")) > 0)) $update = true; // After that back off and put them on a morphine drip - if(strcmp(datetime_convert('UTC','UTC', 'now'),datetime_convert('UTC','UTC', $t . " + 2 day")) > 0) { + if (strcmp(datetime_convert('UTC', 'UTC', 'now'), datetime_convert('UTC', 'UTC', $t . " + 2 day")) > 0) { $update = true; } } - if(intval($contact['abook_pending']) || intval($contact['abook_archived']) || intval($contact['abook_ignored']) || intval($contact['abook_blocked'])) + if (intval($contact['abook_pending']) || intval($contact['abook_archived']) || intval($contact['abook_ignored']) || intval($contact['abook_blocked'])) continue; - if((! $update) && (! $force)) - continue; + if ((!$update) && (!$force)) + continue; - Master::Summon(array('Onepoll',$contact['abook_id'])); - if($interval) - @time_sleep_until(microtime(true) + (float) $interval); + Master::Summon(['Onepoll', $contact['abook_id']]); + if ($interval) + @time_sleep_until(microtime(true) + (float)$interval); } } - if($dirmode == DIRECTORY_MODE_SECONDARY || $dirmode == DIRECTORY_MODE_PRIMARY) { + $dirmode = intval(get_config('system', 'directory_mode')); + + if ($dirmode == DIRECTORY_MODE_SECONDARY || $dirmode == DIRECTORY_MODE_PRIMARY) { $r = q("SELECT u.ud_addr, u.ud_id, u.ud_last FROM updates AS u INNER JOIN (SELECT ud_addr, max(ud_id) AS ud_id FROM updates WHERE ( ud_flags & %d ) = 0 AND ud_addr != '' AND ( ud_last <= '%s' OR ud_last > %s - INTERVAL %s ) GROUP BY ud_addr) AS s ON s.ud_id = u.ud_id ", intval(UPDATE_FLAGS_UPDATED), dbesc(NULL_DATE), db_utcnow(), db_quoteinterval('7 DAY') ); - if($r) { - foreach($r as $rr) { + if ($r) { + foreach ($r as $rr) { // If they didn't respond when we attempted before, back off to once a day // After 7 days we won't bother anymore - if($rr['ud_last'] > NULL_DATE) - if($rr['ud_last'] > datetime_convert('UTC','UTC', 'now - 1 day')) + if ($rr['ud_last'] > NULL_DATE) + if ($rr['ud_last'] > datetime_convert('UTC', 'UTC', 'now - 1 day')) continue; - Master::Summon(array('Onedirsync',$rr['ud_id'])); - if($interval) - @time_sleep_until(microtime(true) + (float) $interval); + Master::Summon(['Onedirsync', $rr['ud_id']]); + if ($interval) + @time_sleep_until(microtime(true) + (float)$interval); } } - } + } - set_config('system','lastpoll',datetime_convert()); + set_config('system', 'lastpoll', datetime_convert()); //All done - clear the lockfile diff --git a/Zotlabs/Daemon/Queue.php b/Zotlabs/Daemon/Queue.php index 814148404..36bdcfe81 100644 --- a/Zotlabs/Daemon/Queue.php +++ b/Zotlabs/Daemon/Queue.php @@ -7,12 +7,12 @@ require_once('include/zot.php'); class Queue { - static public function run($argc,$argv) { + static public function run($argc, $argv) { require_once('include/items.php'); require_once('include/bbcode.php'); - if($argc > 1) + if ($argc > 1) $queue_id = $argv[1]; else $queue_id = EMPTY_STR; @@ -25,10 +25,9 @@ class Queue { $r = q("select outq_posturl from outq where outq_created < %s - INTERVAL %s", db_utcnow(), db_quoteinterval('3 DAY') ); - if($r) { - foreach($r as $rr) { - $site_url = ''; - $h = parse_url($rr['outq_posturl']); + if ($r) { + foreach ($r as $rr) { + $h = parse_url($rr['outq_posturl']); $desturl = $h['scheme'] . '://' . $h['host'] . (($h['port']) ? ':' . $h['port'] : ''); q("update site set site_dead = 1 where site_dead = 0 and site_url = '%s' and site_update < %s - INTERVAL %s", dbesc($desturl), @@ -37,11 +36,11 @@ class Queue { } } - $r = q("DELETE FROM outq WHERE outq_created < %s - INTERVAL %s", + q("DELETE FROM outq WHERE outq_created < %s - INTERVAL %s", db_utcnow(), db_quoteinterval('3 DAY') ); - if($queue_id) { + if ($queue_id) { $r = q("SELECT * FROM outq WHERE outq_hash = '%s' LIMIT 1", dbesc($queue_id) ); @@ -54,7 +53,7 @@ class Queue { // so that we don't start off a thousand deliveries for a couple of dead hubs. // The zot driver will deliver everything destined for a single hub once contact is made (*if* contact is made). // Other drivers will have to do something different here and may need their own query. - + // Note: this requires some tweaking as new posts to long dead hubs once a day will keep them in the // "every 15 minutes" category. We probably need to prioritise them when inserted into the queue // or just prior to this query based on recent and long-term delivery history. If we have good reason to believe @@ -67,7 +66,7 @@ class Queue { db_utcnow() ); while ($r) { - foreach($r as $rv) { + foreach ($r as $rv) { queue_deliver($rv); } $r = q("SELECT *,$sqlrandfunc as rn FROM outq WHERE outq_delivered = 0 and outq_scheduled < %s order by rn limit 1", @@ -75,10 +74,10 @@ class Queue { ); } } - if(! $r) + if (!$r) return; - foreach($r as $rv) { + foreach ($r as $rv) { queue_deliver($rv); } } diff --git a/Zotlabs/Daemon/Thumbnail.php b/Zotlabs/Daemon/Thumbnail.php index e1f17c304..72034b870 100644 --- a/Zotlabs/Daemon/Thumbnail.php +++ b/Zotlabs/Daemon/Thumbnail.php @@ -5,30 +5,30 @@ namespace Zotlabs\Daemon; class Thumbnail { - static public function run($argc,$argv) { + static public function run($argc, $argv) { - if(! $argc == 2) + if (!$argc == 2) return; $c = q("select * from attach where hash = '%s' ", dbesc($argv[1]) ); - if(! $c) + if (!$c) return; $attach = $c[0]; - $preview_style = intval(get_config('system','thumbnail_security',0)); - $preview_width = intval(get_config('system','thumbnail_width',300)); - $preview_height = intval(get_config('system','thumbnail_height',300)); + $preview_style = intval(get_config('system', 'thumbnail_security', 0)); + $preview_width = intval(get_config('system', 'thumbnail_width', 300)); + $preview_height = intval(get_config('system', 'thumbnail_height', 300)); $p = [ 'attach' => $attach, 'preview_style' => $preview_style, 'preview_width' => $preview_width, 'preview_height' => $preview_height, - 'thumbnail' => null + 'thumbnail' => null ]; /** @@ -40,39 +40,39 @@ class Thumbnail { * * \e string \b thumbnail */ - call_hooks('thumbnail',$p); - if($p['thumbnail']) { + call_hooks('thumbnail', $p); + if ($p['thumbnail']) { return; } $default_controller = null; - + $files = glob('Zotlabs/Thumbs/*.php'); - if($files) { - foreach($files as $f) { - $clsname = '\\Zotlabs\\Thumbs\\' . ucfirst(basename($f,'.php')); - if(class_exists($clsname)) { + if ($files) { + foreach ($files as $f) { + $clsname = '\\Zotlabs\\Thumbs\\' . ucfirst(basename($f, '.php')); + if (class_exists($clsname)) { $x = new $clsname(); - if(method_exists($x,'Match')) { + if (method_exists($x, 'Match')) { $matched = $x->Match($attach['filetype']); - if($matched) { - $x->Thumb($attach,$preview_style,$preview_width,$preview_height); + if ($matched) { + $x->Thumb($attach, $preview_style, $preview_width, $preview_height); } } - if(method_exists($x,'MatchDefault')) { - $default_matched = $x->MatchDefault(substr($attach['filetype'],0,strpos($attach['filetype'],'/'))); - if($default_matched) { + if (method_exists($x, 'MatchDefault')) { + $default_matched = $x->MatchDefault(substr($attach['filetype'], 0, strpos($attach['filetype'], '/'))); + if ($default_matched) { $default_controller = $x; } } } } } - if(($default_controller) - && ((! file_exists(dbunescbin($attach['content']) . '.thumb')) + if (($default_controller) + && ((!file_exists(dbunescbin($attach['content']) . '.thumb')) || (filectime(dbunescbin($attach['content']) . 'thumb') < (time() - 60)))) { - $default_controller->Thumb($attach,$preview_style,$preview_width,$preview_height); + $default_controller->Thumb($attach, $preview_style, $preview_width, $preview_height); } } } diff --git a/Zotlabs/Lib/ASCollection.php b/Zotlabs/Lib/ASCollection.php new file mode 100644 index 000000000..392dd5d4e --- /dev/null +++ b/Zotlabs/Lib/ASCollection.php @@ -0,0 +1,150 @@ +<?php + +namespace Zotlabs\Lib; + +/** + * Class for dealing with fetching ActivityStreams collections (ordered or unordered, normal or paged). + * Construct with either an existing object or url and an optional channel to sign requests. + * $direction is 0 (default) to fetch from the beginning, and 1 to fetch from the end and reverse order the resultant array. + * An optional limit to the number of records returned may also be specified. + * Use $class->get() to return an array of collection members. + */ +class ASCollection { + + private $channel = null; + private $nextpage = null; + private $limit = 0; + private $direction = 0; // 0 = forward, 1 = reverse + private $data = []; + private $history = []; + + function __construct($obj, $channel = null, $direction = 0, $limit = 0) { + + $this->channel = $channel; + $this->direction = $direction; + $this->limit = $limit; + + if (is_array($obj)) { + $data = $obj; + } + + if (is_string($obj)) { + $data = Activity::fetch($obj, $channel); + $this->history[] = $obj; + } + + if (!is_array($data)) { + return; + } + + if (!in_array($data['type'], ['Collection', 'OrderedCollection', 'OrderedCollectionPage'])) { + return false; + } + + if ($this->direction) { + if (array_key_exists('last', $data) && $data['last']) { + $this->nextpage = $data['last']; + } + } + else { + if (array_key_exists('first', $data) && $data['first']) { + $this->nextpage = $data['first']; + } + } + + if (isset($data['items']) && is_array($data['items'])) { + $this->data = (($this->direction) ? array_reverse($data['items']) : $data['items']); + } + elseif (isset($data['orderedItems']) && is_array($data['orderedItems'])) { + $this->data = (($this->direction) ? array_reverse($data['orderedItems']) : $data['orderedItems']); + } + + if ($this->limit) { + if (count($this->data) > $limit) { + $this->data = array_slice($this->data, 0, $limit); + return; + } + } + + do { + $x = $this->next(); + } while ($x); + } + + function get() { + return $this->data; + } + + function next() { + + if (!$this->nextpage) { + return false; + } + + if (is_array($this->nextpage)) { + $data = $this->nextpage; + } + + if (is_string($this->nextpage)) { + if (in_array($this->nextpage, $this->history)) { + // recursion detected + return false; + } + $data = Activity::fetch($this->nextpage, $this->channel); + $this->history[] = $this->nextpage; + } + + if (!is_array($data)) { + return false; + } + + if (!in_array($data['type'], ['CollectionPage', 'OrderedCollectionPage'])) { + return false; + } + + $this->setnext($data); + + if (isset($data['items']) && is_array($data['items'])) { + $this->data = array_merge($this->data, (($this->direction) ? array_reverse($data['items']) : $data['items'])); + } + elseif (isset($data['orderedItems']) && is_array($data['orderedItems'])) { + $this->data = array_merge($this->data, (($this->direction) ? array_reverse($data['orderedItems']) : $data['orderedItems'])); + } + + if ($this->limit) { + if (count($this->data) > $this->limit) { + $this->data = array_slice($this->data, 0, $this->limit); + $this->nextpage = false; + return true; + } + } + + return true; + } + + function setnext($data) { + if ($this->direction) { + if (array_key_exists('prev', $data) && $data['prev']) { + $this->nextpage = $data['prev']; + } + elseif (array_key_exists('first', $data) && $data['first']) { + $this->nextpage = $data['first']; + } + else { + $this->nextpage = false; + } + } + else { + if (array_key_exists('next', $data) && $data['next']) { + $this->nextpage = $data['next']; + } + elseif (array_key_exists('last', $data) && $data['last']) { + $this->nextpage = $data['last']; + } + else { + $this->nextpage = false; + } + } + logger('nextpage: ' . $this->nextpage, LOGGER_DEBUG); + } +}
\ No newline at end of file diff --git a/Zotlabs/Lib/Activity.php b/Zotlabs/Lib/Activity.php index 807216400..cedc9adc8 100644 --- a/Zotlabs/Lib/Activity.php +++ b/Zotlabs/Lib/Activity.php @@ -2,7 +2,10 @@ namespace Zotlabs\Lib; +use App; use Zotlabs\Access\PermissionLimits; +use Zotlabs\Access\PermissionRoles; +use Zotlabs\Access\Permissions; use Zotlabs\Daemon\Master; use Zotlabs\Web\HTTPSig; @@ -13,71 +16,70 @@ class Activity { static function encode_object($x) { - - if(($x) && (! is_array($x)) && (substr(trim($x),0,1)) === '{' ) { - $x = json_decode($x,true); + if (($x) && (!is_array($x)) && (substr(trim($x), 0, 1)) === '{') { + $x = json_decode($x, true); } - if(is_array($x)) { + if (is_array($x)) { - if(array_key_exists('asld',$x)) { + if (array_key_exists('asld', $x)) { return $x['asld']; } - if($x['type'] === ACTIVITY_OBJ_PERSON) { - return self::fetch_person($x); + if ($x['type'] === ACTIVITY_OBJ_PERSON) { + return self::fetch_person($x); } - if($x['type'] === ACTIVITY_OBJ_PROFILE) { - return self::fetch_profile($x); + if ($x['type'] === ACTIVITY_OBJ_PROFILE) { + return self::fetch_profile($x); } - if(in_array($x['type'], [ ACTIVITY_OBJ_NOTE, ACTIVITY_OBJ_ARTICLE ] )) { - return self::fetch_item($x); + if (in_array($x['type'], [ACTIVITY_OBJ_NOTE, ACTIVITY_OBJ_ARTICLE])) { + return self::fetch_item($x); } - if($x['type'] === ACTIVITY_OBJ_THING) { - return self::fetch_thing($x); + if ($x['type'] === ACTIVITY_OBJ_THING) { + return self::fetch_thing($x); } - if($x['type'] === ACTIVITY_OBJ_EVENT) { - return self::fetch_event($x); + if ($x['type'] === ACTIVITY_OBJ_EVENT) { + return self::fetch_event($x); } - if($x['type'] === ACTIVITY_OBJ_PHOTO) { - return self::fetch_image($x); + if ($x['type'] === ACTIVITY_OBJ_PHOTO) { + return self::fetch_image($x); } - call_hooks('encode_object',$x); + call_hooks('encode_object', $x); } return $x; } - static function fetch($url,$channel = null) { + static function fetch($url, $channel = null) { $redirects = 0; - if(! check_siteallowed($url)) { + if (!check_siteallowed($url)) { logger('blacklisted: ' . $url); return null; } - if(! $channel) { + if (!$channel) { $channel = get_sys_channel(); } logger('fetch: ' . $url, LOGGER_DEBUG); - if(strpos($url,'x-zot:') === 0) { - $x = ZotURL::fetch($url,$channel); + if (strpos($url, 'x-zot:') === 0) { + $x = ZotURL::fetch($url, $channel); } else { $m = parse_url($url); // handle bearcaps if ($m['scheme'] === 'bear') { - $params = explode('&',$m['query']); + $params = explode('&', $m['query']); if ($params) { foreach ($params as $p) { - if (substr($p,0,2) === 'u=') { - $url = substr($p,2); + if (substr($p, 0, 2) === 'u=') { + $url = substr($p, 2); } - if (substr($p,0,2) === 't=') { - $token = substr($p,2); + if (substr($p, 0, 2) === 't=') { + $token = substr($p, 2); } } $m = parse_url($url); @@ -85,21 +87,23 @@ class Activity { } $headers = [ - 'Accept' => 'application/activity+json, application/ld+json; profile="https://www.w3.org/ns/activitystreams"', + 'Accept' => ActivityStreams::get_accept_header_string($channel), 'Host' => $m['host'], - 'Date' => datetime_convert('UTC','UTC', 'now', 'D, d M Y H:i:s \\G\\M\\T'), + 'Date' => datetime_convert('UTC', 'UTC', 'now', 'D, d M Y H:i:s \\G\\M\\T'), '(request-target)' => 'get ' . get_request_string($url) ]; + if (isset($token)) { $headers['Authorization'] = 'Bearer ' . $token; } - $h = HTTPSig::create_sig($headers,$channel['channel_prvkey'],channel_url($channel),false); - $x = z_fetch_url($url, true, $redirects, [ 'headers' => $h ] ); + + $h = HTTPSig::create_sig($headers, $channel['channel_prvkey'], channel_url($channel), false); + $x = z_fetch_url($url, true, $redirects, ['headers' => $h]); } - if($x['success']) { - $y = json_decode($x['body'],true); - logger('returned: ' . json_encode($y,JSON_PRETTY_PRINT|JSON_UNESCAPED_SLASHES), LOGGER_DEBUG); + if ($x['success']) { + $y = json_decode($x['body'], true); + logger('returned: ' . json_encode($y, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES), LOGGER_DEBUG); return json_decode($x['body'], true); } else { @@ -109,9 +113,6 @@ class Activity { return null; } - - - static function fetch_person($x) { return self::fetch_profile($x); } @@ -120,13 +121,13 @@ class Activity { $r = q("select * from xchan where xchan_url like '%s' limit 1", dbesc($x['id'] . '/%') ); - if(! $r) { + if (!$r) { $r = q("select * from xchan where xchan_hash = '%s' limit 1", dbesc($x['id']) ); - } - if(! $r) + } + if (!$r) return []; return self::encode_person($r[0]); @@ -140,7 +141,7 @@ class Activity { dbesc($x['id']) ); - if(! $r) + if (!$r) return []; $x = [ @@ -149,7 +150,7 @@ class Activity { 'name' => $r[0]['obj_term'] ]; - if($r[0]['obj_image']) + if ($r[0]['obj_image']) $x['image'] = $r[0]['obj_image']; return $x; @@ -158,7 +159,7 @@ class Activity { static function fetch_item($x) { - if (array_key_exists('source',$x)) { + if (array_key_exists('source', $x)) { // This item is already processed and encoded return $x; } @@ -166,8 +167,8 @@ class Activity { $r = q("select * from item where mid = '%s' limit 1", dbesc($x['id']) ); - if($r) { - xchan_query($r,true); + if ($r) { + xchan_query($r, true); $r = fetch_post_tags($r); if (in_array($r[0]['verb'], ['Create', 'Invite']) && $r[0]['obj_type'] === ACTIVITY_OBJ_EVENT) { $r[0]['verb'] = 'Invite'; @@ -177,22 +178,21 @@ class Activity { } } - static function fetch_image($x) { $ret = [ - 'type' => 'Image', - 'id' => $x['id'], - 'name' => $x['title'], - 'content' => bbcode($x['body'], [ 'cache' => true ]), - 'source' => [ 'mediaType' => 'text/bbcode', 'content' => $x['body'] ], - 'published' => datetime_convert('UTC','UTC',$x['created'],ATOM_TIME), - 'updated' => datetime_convert('UTC','UTC', $x['edited'],ATOM_TIME), - 'url' => [ - 'type' => 'Link', - 'mediaType' => $x['link'][0]['type'], - 'href' => $x['link'][0]['href'], - 'width' => $x['link'][0]['width'], - 'height' => $x['link'][0]['height'] + 'type' => 'Image', + 'id' => $x['id'], + 'name' => $x['title'], + 'content' => bbcode($x['body'], ['cache' => true]), + 'source' => ['mediaType' => 'text/bbcode', 'content' => $x['body']], + 'published' => datetime_convert('UTC', 'UTC', $x['created'], ATOM_TIME), + 'updated' => datetime_convert('UTC', 'UTC', $x['edited'], ATOM_TIME), + 'url' => [ + 'type' => 'Link', + 'mediaType' => $x['link'][0]['type'], + 'href' => $x['link'][0]['href'], + 'width' => $x['link'][0]['width'], + 'height' => $x['link'][0]['height'] ] ]; return $ret; @@ -202,42 +202,42 @@ class Activity { // convert old Zot event objects to ActivityStreams Event objects - if (array_key_exists('content',$x) && array_key_exists('dtstart',$x)) { + if (array_key_exists('content', $x) && array_key_exists('dtstart', $x)) { $ev = bbtoevent($x['content']); - if($ev) { + if ($ev) { - if (! $ev['timezone']) { + if (!$ev['timezone']) { $ev['timezone'] = 'UTC'; } $actor = null; - if(array_key_exists('author',$x) && array_key_exists('link',$x['author'])) { + if (array_key_exists('author', $x) && array_key_exists('link', $x['author'])) { $actor = $x['author']['link'][0]['href']; } - $y = [ + $y = [ 'type' => 'Event', 'id' => z_root() . '/event/' . $ev['event_hash'], 'name' => $ev['summary'], -// 'summary' => bbcode($ev['summary'], [ 'cache' => true ]), + // 'summary' => bbcode($ev['summary'], [ 'cache' => true ]), // RFC3339 Section 4.3 - 'startTime' => (($ev['adjust']) ? datetime_convert($ev['timezone'],'UTC',$ev['dtstart'], ATOM_TIME) : datetime_convert('UTC','UTC',$ev['dtstart'],'Y-m-d\\TH:i:s-00:00')), - 'content' => bbcode($ev['description'], [ 'cache' => true ]), - 'location' => [ 'type' => 'Place', 'content' => bbcode($ev['location'], [ 'cache' => true ]) ], - 'source' => [ 'content' => format_event_bbcode($ev,true), 'mediaType' => 'text/bbcode' ], + 'startTime' => (($ev['adjust']) ? datetime_convert($ev['timezone'], 'UTC', $ev['dtstart'], ATOM_TIME) : datetime_convert('UTC', 'UTC', $ev['dtstart'], 'Y-m-d\\TH:i:s-00:00')), + 'content' => bbcode($ev['description'], ['cache' => true]), + 'location' => ['type' => 'Place', 'content' => bbcode($ev['location'], ['cache' => true])], + 'source' => ['content' => format_event_bbcode($ev, true), 'mediaType' => 'text/bbcode'], 'actor' => $actor, ]; - if(! $ev['nofinish']) { - $y['endTime'] = (($ev['adjust']) ? datetime_convert($ev['timezone'],'UTC',$ev['dtend'], ATOM_TIME) : datetime_convert('UTC','UTC',$ev['dtend'],'Y-m-d\\TH:i:s-00:00')); + if (!$ev['nofinish']) { + $y['endTime'] = (($ev['adjust']) ? datetime_convert($ev['timezone'], 'UTC', $ev['dtend'], ATOM_TIME) : datetime_convert('UTC', 'UTC', $ev['dtend'], 'Y-m-d\\TH:i:s-00:00')); } - + // copy attachments from the passed object - these are already formatted for ActivityStreams - if($x['attachment']) { + if ($x['attachment']) { $y['attachment'] = $x['attachment']; } - if($actor) { + if ($actor) { return $y; } } @@ -247,52 +247,102 @@ class Activity { } - - static function encode_item_collection($items,$id,$type,$extra = null) { + static function paged_collection_init($total, $id, $type = 'OrderedCollection') { $ret = [ - 'id' => z_root() . '/' . $id, - 'type' => $type, - 'totalItems' => count($items), + 'id' => z_root() . '/' . $id, + 'type' => $type, + 'totalItems' => $total, ]; - if($extra) - $ret = array_merge($ret,$extra); - if($items) { + $numpages = $total / App::$pager['itemspage']; + $lastpage = (($numpages > intval($numpages)) ? intval($numpages) + 1 : $numpages); + + $ret['first'] = z_root() . '/' . App::$query_string . '?page=1'; + $ret['last'] = z_root() . '/' . App::$query_string . '?page=' . $lastpage; + + return $ret; + + } + + static function encode_item_collection($items, $id, $type, $total = 0) { + + if ($total > 30) { + $ret = [ + 'id' => z_root() . '/' . $id, + 'type' => $type . 'Page', + ]; + + $numpages = $total / App::$pager['itemspage']; + $lastpage = (($numpages > intval($numpages)) ? intval($numpages) + 1 : $numpages); + + $stripped = preg_replace('/([&|\?]page=[0-9]*)/', '', $id); + $stripped = rtrim($stripped, '/'); + + $ret['partOf'] = z_root() . '/' . $stripped; + + if (App::$pager['page'] < $lastpage) { + $ret['next'] = z_root() . '/' . $stripped . '?page=' . (intval(App::$pager['page']) + 1); + } + if (App::$pager['page'] > 1) { + $ret['prev'] = z_root() . '/' . $stripped . '?page=' . (intval(App::$pager['page']) - 1); + } + } + else { + $ret = [ + 'id' => z_root() . '/' . $id, + 'type' => $type, + 'totalItems' => $total, + ]; + } + + if ($items) { $x = []; - foreach($items as $i) { - $t = self::encode_activity($i); - if($t) + foreach ($items as $i) { + $m = get_iconfig($i['id'], 'activitypub', 'rawmsg'); + if ($m) { + if (is_string($m)) + $t = json_decode($m, true); + else + $t = $m; + } + else { + $t = self::encode_activity($i); + } + if ($t) { $x[] = $t; + } } - if($type === 'OrderedCollection') + if ($type === 'OrderedCollection') { $ret['orderedItems'] = $x; - else + } + else { $ret['items'] = $x; + } } return $ret; } - static function encode_follow_collection($items,$id,$type,$extra = null) { + static function encode_follow_collection($items, $id, $type, $extra = null) { $ret = [ - 'id' => z_root() . '/' . $id, - 'type' => $type, + 'id' => z_root() . '/' . $id, + 'type' => $type, 'totalItems' => count($items), ]; - if($extra) - $ret = array_merge($ret,$extra); + if ($extra) + $ret = array_merge($ret, $extra); - if($items) { + if ($items) { $x = []; - foreach($items as $i) { - if($i['xchan_url']) { + foreach ($items as $i) { + if ($i['xchan_url']) { $x[] = $i['xchan_url']; } } - if($type === 'OrderedCollection') + if ($type === 'OrderedCollection') $ret['orderedItems'] = $x; else $ret['items'] = $x; @@ -301,18 +351,15 @@ class Activity { return $ret; } - - - static function encode_item($i) { $ret = []; - if($i['verb'] === ACTIVITY_FRIEND) { + if ($i['verb'] === ACTIVITY_FRIEND) { // Hubzilla 'make-friend' activity, no direct mapping from AS1 to AS2 - make it a note $objtype = 'Note'; } - else { + else { $objtype = self::activity_obj_mapper($i['obj_type']); } @@ -321,13 +368,13 @@ class Activity { } if (intval($i['item_deleted'])) { - $ret['type'] = 'Tombstone'; + $ret['type'] = 'Tombstone'; $ret['formerType'] = $objtype; - $ret['id'] = $i['mid']; - if($i['id'] != $i['parent']) + $ret['id'] = $i['mid']; + if ($i['id'] != $i['parent']) $ret['inReplyTo'] = $i['thr_parent']; - $ret['to'] = [ ACTIVITY_PUBLIC_INBOX ]; + $ret['to'] = [ACTIVITY_PUBLIC_INBOX]; return $ret; } @@ -336,7 +383,7 @@ class Activity { $ret = $i['obj']; } else { - $ret = json_decode($i['obj'],true); + $ret = json_decode($i['obj'], true); } } @@ -348,96 +395,95 @@ class Activity { $ret = $i['obj']; } else { - $ret = json_decode($i['obj'],true); + $ret = json_decode($i['obj'], true); } - - if(array_path_exists('actor/id',$ret)) { + + if (array_path_exists('actor/id', $ret)) { $ret['actor'] = $ret['actor']['id']; } } } - - $ret['id'] = ((strpos($i['mid'],'http') === 0) ? $i['mid'] : z_root() . '/item/' . urlencode($i['mid'])); + $ret['id'] = ((strpos($i['mid'], 'http') === 0) ? $i['mid'] : z_root() . '/item/' . urlencode($i['mid'])); $ret['diaspora:guid'] = $i['uuid']; - if($i['title']) + if ($i['title']) $ret['name'] = $i['title']; - $ret['published'] = datetime_convert('UTC','UTC',$i['created'],ATOM_TIME); - if($i['created'] !== $i['edited']) - $ret['updated'] = datetime_convert('UTC','UTC',$i['edited'],ATOM_TIME); + $ret['published'] = datetime_convert('UTC', 'UTC', $i['created'], ATOM_TIME); + if ($i['created'] !== $i['edited']) + $ret['updated'] = datetime_convert('UTC', 'UTC', $i['edited'], ATOM_TIME); if ($i['expires'] <= NULL_DATE) { - $ret['expires'] = datetime_convert('UTC','UTC',$i['expires'],ATOM_TIME); + $ret['expires'] = datetime_convert('UTC', 'UTC', $i['expires'], ATOM_TIME); } - if($i['app']) { - $ret['generator'] = [ 'type' => 'Application', 'name' => $i['app'] ]; + if ($i['app']) { + $ret['generator'] = ['type' => 'Application', 'name' => $i['app']]; } - if($i['location'] || $i['coord']) { - $ret['location'] = [ 'type' => 'Place' ]; - if($i['location']) { + if ($i['location'] || $i['coord']) { + $ret['location'] = ['type' => 'Place']; + if ($i['location']) { $ret['location']['name'] = $i['location']; } - if($i['coord']) { - $l = explode(' ',$i['coord']); - $ret['location']['latitude'] = $l[0]; + if ($i['coord']) { + $l = explode(' ', $i['coord']); + $ret['location']['latitude'] = $l[0]; $ret['location']['longitude'] = $l[1]; } } if (intval($i['item_wall']) && $i['mid'] === $i['parent_mid']) { - $ret['commentPolicy'] = map_scope(PermissionLimits::Get($i['uid'],'post_comments')); + $ret['commentPolicy'] = map_scope(PermissionLimits::Get($i['uid'], 'post_comments')); } if (intval($i['item_private']) === 2) { $ret['directMessage'] = true; } - if (array_key_exists('comments_closed',$i) && $i['comments_closed'] !== EMPTY_STR && $i['comments_closed'] !== NULL_DATE) { - if($ret['commentPolicy']) { + if (array_key_exists('comments_closed', $i) && $i['comments_closed'] !== EMPTY_STR && $i['comments_closed'] !== NULL_DATE) { + if ($ret['commentPolicy']) { $ret['commentPolicy'] .= ' '; } - $ret['commentPolicy'] .= 'until=' . datetime_convert('UTC','UTC',$i['comments_closed'],ATOM_TIME); + $ret['commentPolicy'] .= 'until=' . datetime_convert('UTC', 'UTC', $i['comments_closed'], ATOM_TIME); } $ret['attributedTo'] = $i['author']['xchan_url']; - if($i['id'] != $i['parent']) { - $ret['inReplyTo'] = ((strpos($i['thr_parent'],'http') === 0) ? $i['thr_parent'] : z_root() . '/item/' . urlencode($i['thr_parent'])); + if ($i['id'] != $i['parent']) { + $ret['inReplyTo'] = ((strpos($i['thr_parent'], 'http') === 0) ? $i['thr_parent'] : z_root() . '/item/' . urlencode($i['thr_parent'])); } - if($i['mimetype'] === 'text/bbcode') { - if($i['title']) - $ret['name'] = bbcode($i['title'], [ 'cache' => true ]); - if($i['summary']) - $ret['summary'] = bbcode($i['summary'], [ 'cache' => true ]); - $ret['content'] = bbcode($i['body'], [ 'cache' => true ]); - $ret['source'] = [ 'content' => $i['body'], 'mediaType' => 'text/bbcode' ]; + if ($i['mimetype'] === 'text/bbcode') { + if ($i['title']) + $ret['name'] = bbcode($i['title'], ['cache' => true]); + if ($i['summary']) + $ret['summary'] = bbcode($i['summary'], ['cache' => true]); + $ret['content'] = bbcode($i['body'], ['cache' => true]); + $ret['source'] = ['content' => $i['body'], 'mediaType' => 'text/bbcode']; } - $actor = self::encode_person($i['author'],false); - if($actor) + $actor = self::encode_person($i['author'], false); + if ($actor) $ret['actor'] = $actor; else return []; $t = self::encode_taxonomy($i); - if($t) { - $ret['tag'] = $t; + if ($t) { + $ret['tag'] = $t; } $a = self::encode_attachment($i); - if($a) { + if ($a) { $ret['attachment'] = $a; } - $public = (($i['item_private']) ? false : true); + $public = (($i['item_private']) ? false : true); $top_level = (($i['mid'] === $i['parent_mid']) ? true : false); if ($public) { - $ret['to'] = [ ACTIVITY_PUBLIC_INBOX ]; - $ret['cc'] = [ z_root() . '/followers/' . substr($i['author']['xchan_addr'],0,strpos($i['author']['xchan_addr'],'@')) ]; + $ret['to'] = [ACTIVITY_PUBLIC_INBOX]; + $ret['cc'] = [z_root() . '/followers/' . substr($i['author']['xchan_addr'], 0, strpos($i['author']['xchan_addr'], '@'))]; } else { @@ -450,7 +496,7 @@ class Activity { $ret['to'] = []; if ($ret['tag']) { foreach ($ret['tag'] as $mention) { - if (is_array($mention) && array_key_exists('href',$mention) && $mention['href']) { + if (is_array($mention) && array_key_exists('href', $mention) && $mention['href']) { $h = q("select * from hubloc where hubloc_id_url = '%s' limit 1", dbesc($mention['href']) ); @@ -461,7 +507,7 @@ class Activity { else { $addr = $h[0]['hubloc_id_url']; } - if (! in_array($addr,$ret['to'])) { + if (!in_array($addr, $ret['to'])) { $ret['to'][] = $addr; } } @@ -478,7 +524,7 @@ class Activity { else { $addr = $d[0]['hubloc_id_url']; } - if (! in_array($addr,$ret['to'])) { + if (!in_array($addr, $ret['to'])) { $ret['cc'][] = $addr; } } @@ -487,7 +533,7 @@ class Activity { $mentions = self::map_mentions($i); if (count($mentions) > 0) { - if (! $ret['to']) { + if (!$ret['to']) { $ret['to'] = $mentions; } else { @@ -505,25 +551,25 @@ class Activity { if ($item['tag'] && is_array($item['tag'])) { $ptr = $item['tag']; - if (! array_key_exists(0,$ptr)) { - $ptr = [ $ptr ]; + if (!array_key_exists(0, $ptr)) { + $ptr = [$ptr]; } foreach ($ptr as $t) { - if (! array_key_exists('type',$t)) + if (!array_key_exists('type', $t)) $t['type'] = 'Hashtag'; - switch($t['type']) { + switch ($t['type']) { case 'Hashtag': - $ret[] = [ 'ttype' => TERM_HASHTAG, 'url' => $t['href'], 'term' => escape_tags((substr($t['name'],0,1) === '#') ? substr($t['name'],1) : $t['name']) ]; + $ret[] = ['ttype' => TERM_HASHTAG, 'url' => $t['href'], 'term' => escape_tags((substr($t['name'], 0, 1) === '#') ? substr($t['name'], 1) : $t['name'])]; break; case 'Mention': - $mention_type = substr($t['name'],0,1); + $mention_type = substr($t['name'], 0, 1); if ($mention_type === '!') { - $ret[] = [ 'ttype' => TERM_FORUM, 'url' => $t['href'], 'term' => escape_tags(substr($t['name'],1)) ]; + $ret[] = ['ttype' => TERM_FORUM, 'url' => $t['href'], 'term' => escape_tags(substr($t['name'], 1))]; } else { - $ret[] = [ 'ttype' => TERM_MENTION, 'url' => $t['href'], 'term' => escape_tags((substr($t['name'],0,1) === '@') ? substr($t['name'],1) : $t['name']) ]; + $ret[] = ['ttype' => TERM_MENTION, 'url' => $t['href'], 'term' => escape_tags((substr($t['name'], 0, 1) === '@') ? substr($t['name'], 1) : $t['name'])]; } break; @@ -536,30 +582,28 @@ class Activity { return $ret; } - - static function encode_taxonomy($item) { $ret = []; - if($item['term']) { - foreach($item['term'] as $t) { - switch($t['ttype']) { + if ($item['term']) { + foreach ($item['term'] as $t) { + switch ($t['ttype']) { case TERM_HASHTAG: // href is required so if we don't have a url in the taxonomy, ignore it and keep going. - if($t['url']) { - $ret[] = [ 'type' => 'Hashtag', 'href' => $t['url'], 'name' => '#' . $t['term'] ]; + if ($t['url']) { + $ret[] = ['type' => 'Hashtag', 'href' => $t['url'], 'name' => '#' . $t['term']]; } break; case TERM_FORUM: - $ret[] = [ 'type' => 'Mention', 'href' => $t['url'], 'name' => '!' . $t['term'] ]; + $ret[] = ['type' => 'Mention', 'href' => $t['url'], 'name' => '!' . $t['term']]; break; case TERM_MENTION: - $ret[] = [ 'type' => 'Mention', 'href' => $t['url'], 'name' => '@' . $t['term'] ]; + $ret[] = ['type' => 'Mention', 'href' => $t['url'], 'name' => '@' . $t['term']]; break; - + default: break; } @@ -573,15 +617,15 @@ class Activity { $ret = []; - if($item['attach']) { - $atts = ((is_array($item['attach'])) ? $item['attach'] : json_decode($item['attach'],true)); - if($atts) { - foreach($atts as $att) { - if(strpos($att['type'],'image')) { - $ret[] = [ 'type' => 'Image', 'url' => $att['href'] ]; + if ($item['attach']) { + $atts = ((is_array($item['attach'])) ? $item['attach'] : json_decode($item['attach'], true)); + if ($atts) { + foreach ($atts as $att) { + if (strpos($att['type'], 'image')) { + $ret[] = ['type' => 'Image', 'url' => $att['href']]; } else { - $ret[] = [ 'type' => 'Link', 'mediaType' => $att['type'], 'href' => $att['href'] ]; + $ret[] = ['type' => 'Link', 'mediaType' => $att['type'], 'href' => $att['href']]; } } } @@ -590,11 +634,11 @@ class Activity { foreach ($item['iconfig'] as $att) { if ($att['sharing']) { $value = ((is_string($att['v']) && preg_match('|^a:[0-9]+:{.*}$|s', $att['v'])) ? unserialize($att['v']) : $att['v']); - $ret[] = [ 'type' => 'PropertyValue', 'name' => 'zot.' . $att['cat'] . '.' . $att['k'], 'value' => $value ]; + $ret[] = ['type' => 'PropertyValue', 'name' => 'zot.' . $att['cat'] . '.' . $att['k'], 'value' => $value]; } } } - + return $ret; } @@ -604,20 +648,20 @@ class Activity { if (is_array($item['attachment']) && $item['attachment']) { $ptr = $item['attachment']; - if (! array_key_exists(0,$ptr)) { - $ptr = [ $ptr ]; + if (!array_key_exists(0, $ptr)) { + $ptr = [$ptr]; } foreach ($ptr as $att) { $entry = []; if ($att['type'] === 'PropertyValue') { - if (array_key_exists('name',$att) && $att['name']) { - $key = explode('.',$att['name']); + if (array_key_exists('name', $att) && $att['name']) { + $key = explode('.', $att['name']); if (count($key) === 3 && $key[0] === 'zot') { - $entry['cat'] = $key[1]; - $entry['k'] = $key[2]; - $entry['v'] = $att['value']; + $entry['cat'] = $key[1]; + $entry['k'] = $key[2]; + $entry['v'] = $att['value']; $entry['sharing'] = '1'; - $ret[] = $entry; + $ret[] = $entry; } } } @@ -626,24 +670,22 @@ class Activity { return $ret; } - - static function decode_attachment($item) { $ret = []; - if($item['attachment']) { - foreach($item['attachment'] as $att) { + if ($item['attachment']) { + foreach ($item['attachment'] as $att) { $entry = []; - if($att['href']) + if ($att['href']) $entry['href'] = $att['href']; - elseif($att['url']) + elseif ($att['url']) $entry['href'] = $att['url']; - if($att['mediaType']) + if ($att['mediaType']) $entry['type'] = $att['mediaType']; - elseif($att['type'] === 'Image') + elseif ($att['type'] === 'Image') $entry['type'] = 'image/jpeg'; - if($entry) + if ($entry) $ret[] = $entry; } } @@ -651,211 +693,187 @@ class Activity { return $ret; } - - static function encode_activity($i, $recurse = false) { $ret = []; $reply = false; - if($i['verb'] === ACTIVITY_FRIEND) { + if ($i['verb'] === ACTIVITY_FRIEND) { // Hubzilla 'make-friend' activity, no direct mapping from AS1 to AS2 - make it a note $ret['obj'] = []; } $ret['type'] = self::activity_mapper($i['verb']); - $fragment = ''; if (intval($i['item_deleted']) && !$recurse) { $is_response = false; if (ActivityStreams::is_response_activity($ret['type'])) { $ret['type'] = 'Undo'; - $fragment = 'undo'; + $fragment = 'undo'; $is_response = true; } else { $ret['type'] = 'Delete'; - $fragment = 'delete'; + $fragment = 'delete'; } - $ret['id'] = str_replace('/item/','/activity/',$i['mid']) . '#' . $fragment; - $actor = self::encode_person($i['author'],false); + $ret['id'] = str_replace('/item/', '/activity/', $i['mid']) . '#' . $fragment; + $actor = self::encode_person($i['author'], false); if ($actor) $ret['actor'] = $actor; else - return []; + return []; - $obj = (($is_response) ? self::encode_activity($i,true) : self::encode_item($i,true)); + $obj = (($is_response) ? self::encode_activity($i, true) : self::encode_item($i)); if ($obj) { - if (array_path_exists('object/id',$obj)) { + if (array_path_exists('object/id', $obj)) { $obj['object'] = $obj['object']['id']; } unset($obj['cc']); - $obj['to'] = [ ACTIVITY_PUBLIC_INBOX ]; + $obj['to'] = [ACTIVITY_PUBLIC_INBOX]; $ret['object'] = $obj; } else return []; - $ret['to'] = [ ACTIVITY_PUBLIC_INBOX ]; + $ret['to'] = [ACTIVITY_PUBLIC_INBOX]; return $ret; } - if($ret['type'] === 'emojiReaction') { + if ($ret['type'] === 'emojiReaction') { // There may not be an object for these items for legacy reasons - it should be the conversation parent. $p = q("select * from item where mid = '%s' and uid = %d", dbesc($i['parent_mid']), intval($i['uid']) ); - if($p) { - xchan_query($p,true); - $p = fetch_post_tags($p); + if ($p) { + xchan_query($p, true); + $p = fetch_post_tags($p); $i['obj'] = self::encode_item($p[0]); // convert to zot6 emoji reaction encoding which uses the target object to indicate the // specific emoji instead of overloading the verb or type. - - $im = explode('#',$i['verb']); - if($im && count($im) > 1) + + $im = explode('#', $i['verb']); + if ($im && count($im) > 1) $emoji = $im[1]; - if(preg_match("/\[img(.*?)\](.*?)\[\/img\]/ism", $i['body'], $match)) { + if (preg_match("/\[img(.*?)\](.*?)\[\/img\]/ism", $i['body'], $match)) { $ln = $match[2]; } $i['tgt_type'] = 'Image'; - + $i['target'] = [ 'type' => 'Image', 'name' => $emoji, 'url' => (($ln) ? $ln : z_root() . '/images/emoji/' . $emoji . '.png') ]; - + } } - if (strpos($i['mid'],z_root() . '/item/') !== false) { - $ret['id'] = str_replace('/item/','/activity/',$i['mid']); + if (strpos($i['mid'], z_root() . '/item/') !== false) { + $ret['id'] = str_replace('/item/', '/activity/', $i['mid']); } - elseif (strpos($i['mid'],z_root() . '/event/') !== false) { - $ret['id'] = str_replace('/event/','/activity/',$i['mid']); + elseif (strpos($i['mid'], z_root() . '/event/') !== false) { + $ret['id'] = str_replace('/event/', '/activity/', $i['mid']); } else { - $ret['id'] = ((strpos($i['mid'],'http') === 0) ? $i['mid'] : z_root() . '/activity/' . urlencode($i['mid'])); + $ret['id'] = ((strpos($i['mid'], 'http') === 0) ? $i['mid'] : z_root() . '/activity/' . urlencode($i['mid'])); } $ret['diaspora:guid'] = $i['uuid']; - if($i['title']) - $ret['name'] = html2plain(bbcode($i['title'], [ 'cache' => true ])); + if ($i['title']) + $ret['name'] = html2plain(bbcode($i['title'], ['cache' => true])); - if($i['summary']) - $ret['summary'] = bbcode($i['summary'], [ 'cache' => true ]); + if ($i['summary']) + $ret['summary'] = bbcode($i['summary'], ['cache' => true]); - if($ret['type'] === 'Announce') { - $tmp = preg_replace('/\[share(.*?)\[\/share\]/ism',EMPTY_STR, $i['body']); - $ret['content'] = bbcode($tmp, [ 'cache' => true ]); - $ret['source'] = [ - 'content' => $i['body'], + if ($ret['type'] === 'Announce') { + $tmp = preg_replace('/\[share(.*?)\[\/share\]/ism', EMPTY_STR, $i['body']); + $ret['content'] = bbcode($tmp, ['cache' => true]); + $ret['source'] = [ + 'content' => $i['body'], 'mediaType' => 'text/bbcode' ]; } - $ret['published'] = datetime_convert('UTC','UTC',$i['created'],ATOM_TIME); - if($i['created'] !== $i['edited']) - $ret['updated'] = datetime_convert('UTC','UTC',$i['edited'],ATOM_TIME); - if($i['app']) { - $ret['generator'] = [ 'type' => 'Application', 'name' => $i['app'] ]; + $ret['published'] = datetime_convert('UTC', 'UTC', $i['created'], ATOM_TIME); + if ($i['created'] !== $i['edited']) + $ret['updated'] = datetime_convert('UTC', 'UTC', $i['edited'], ATOM_TIME); + if ($i['app']) { + $ret['generator'] = ['type' => 'Application', 'name' => $i['app']]; } - if($i['location'] || $i['coord']) { - $ret['location'] = [ 'type' => 'Place' ]; - if($i['location']) { + if ($i['location'] || $i['coord']) { + $ret['location'] = ['type' => 'Place']; + if ($i['location']) { $ret['location']['name'] = $i['location']; } - if($i['coord']) { - $l = explode(' ',$i['coord']); - $ret['location']['latitude'] = $l[0]; + if ($i['coord']) { + $l = explode(' ', $i['coord']); + $ret['location']['latitude'] = $l[0]; $ret['location']['longitude'] = $l[1]; } } - if($i['id'] != $i['parent']) { + if ($i['id'] != $i['parent']) { $reply = true; // inReplyTo needs to be set in the activity for followup actions (Like, Dislike, Announce, etc.), // but *not* for comments and RSVPs, where it should only be present in the object - - if (! in_array($ret['type'],[ 'Create','Update','Accept','Reject','TentativeAccept','TentativeReject' ])) { - $ret['inReplyTo'] = ((strpos($i['thr_parent'],'http') === 0) ? $i['thr_parent'] : z_root() . '/item/' . urlencode($i['thr_parent'])); - } - - if($i['item_private']) { - $d = q("select xchan_url, xchan_addr, xchan_name from item left join xchan on xchan_hash = author_xchan where id = %d limit 1", - intval($i['parent']) - ); - if($d) { - $is_directmessage = false; - $recips = get_iconfig($i['parent'], 'activitypub', 'recips'); - if(array_path_exists('to', $recips) && in_array($i['author']['xchan_url'], $recips['to'])) { - $reply_url = $d[0]['xchan_url']; - $is_directmessage = true; - } - else { - $reply_url = z_root() . '/followers/' . substr($i['author']['xchan_addr'],0,strpos($i['author']['xchan_addr'],'@')); - } - - $reply_addr = (($d[0]['xchan_addr']) ? $d[0]['xchan_addr'] : $d[0]['xchan_name']); - } + if (!in_array($ret['type'], ['Create', 'Update', 'Accept', 'Reject', 'TentativeAccept', 'TentativeReject'])) { + $ret['inReplyTo'] = ((strpos($i['thr_parent'], 'http') === 0) ? $i['thr_parent'] : z_root() . '/item/' . urlencode($i['thr_parent'])); } - } - $actor = self::encode_person($i['author'],false); - if($actor) + $actor = self::encode_person($i['author'], false); + if ($actor) $ret['actor'] = $actor; else - return []; + return []; - if(strpos($i['body'],'[/share]') !== false) { + if (strpos($i['body'], '[/share]') !== false) { $i['obj'] = null; } - if($i['obj']) { - if(! is_array($i['obj'])) { - $i['obj'] = json_decode($i['obj'],true); + if ($i['obj']) { + if (!is_array($i['obj'])) { + $i['obj'] = json_decode($i['obj'], true); } - if($i['obj']['type'] === ACTIVITY_OBJ_PHOTO) { + if ($i['obj']['type'] === ACTIVITY_OBJ_PHOTO) { $i['obj']['id'] = $i['mid']; } $obj = self::encode_object($i['obj']); - if($obj) + if ($obj) $ret['object'] = $obj; else return []; } else { $obj = self::encode_item($i); - if($obj) + if ($obj) $ret['object'] = $obj; else return []; } - if(array_path_exists('object/type',$ret) && $ret['object']['type'] === 'Event' && $ret['type'] === 'Create') { + if (array_path_exists('object/type', $ret) && $ret['object']['type'] === 'Event' && $ret['type'] === 'Create') { $ret['type'] = 'Invite'; } - if($i['target']) { - if(! is_array($i['target'])) { - $i['target'] = json_decode($i['target'],true); + if ($i['target']) { + if (!is_array($i['target'])) { + $i['target'] = json_decode($i['target'], true); } $tgt = self::encode_object($i['target']); - if($tgt) + if ($tgt) $ret['target'] = $tgt; else return []; @@ -868,12 +886,12 @@ class Activity { // addressing madness - $public = (($i['item_private']) ? false : true); + $public = (($i['item_private']) ? false : true); $top_level = (($reply) ? false : true); if ($public) { - $ret['to'] = [ ACTIVITY_PUBLIC_INBOX ]; - $ret['cc'] = [ z_root() . '/followers/' . substr($i['author']['xchan_addr'],0,strpos($i['author']['xchan_addr'],'@')) ]; + $ret['to'] = [ACTIVITY_PUBLIC_INBOX]; + $ret['cc'] = [z_root() . '/followers/' . substr($i['author']['xchan_addr'], 0, strpos($i['author']['xchan_addr'], '@'))]; } else { @@ -886,7 +904,7 @@ class Activity { $ret['to'] = []; if ($ret['tag']) { foreach ($ret['tag'] as $mention) { - if (is_array($mention) && array_key_exists('href',$mention) && $mention['href']) { + if (is_array($mention) && array_key_exists('href', $mention) && $mention['href']) { $h = q("select * from hubloc where hubloc_id_url = '%s' limit 1", dbesc($mention['href']) ); @@ -897,7 +915,7 @@ class Activity { else { $addr = $h[0]['hubloc_id_url']; } - if (! in_array($addr,$ret['to'])) { + if (!in_array($addr, $ret['to'])) { $ret['to'][] = $addr; } } @@ -915,7 +933,7 @@ class Activity { else { $addr = $d[0]['hubloc_id_url']; } - if (! in_array($addr,$ret['to'])) { + if (!in_array($addr, $ret['to'])) { $ret['cc'][] = $addr; } } @@ -924,7 +942,7 @@ class Activity { $mentions = self::map_mentions($i); if (count($mentions) > 0) { - if (! $ret['to']) { + if (!$ret['to']) { $ret['to'] = $mentions; } else { @@ -936,21 +954,20 @@ class Activity { } // Returns an array of URLS for any mention tags found in the item array $i. - static function map_mentions($i) { - if (! $i['term']) { + if (!$i['term']) { return []; } $list = []; foreach ($i['term'] as $t) { - if (! $t['url']) { + if (!$t['url']) { continue; } if ($t['ttype'] == TERM_MENTION) { - $url = self::lookup_term_url($t['url']); + $url = self::lookup_term_url($t['url']); $list[] = (($url) ? $url : $t['url']); } } @@ -959,11 +976,10 @@ class Activity { } // Returns an array of all recipients targeted by private item array $i. - static function map_acl($i) { $ret = []; - if (! $i['item_private']) { + if (!$i['item_private']) { return $ret; } @@ -977,8 +993,8 @@ class Activity { } if ($i['allow_cid']) { - $tmp = expand_acl($i['allow_cid']); - $list = stringify_array($tmp,true); + $tmp = expand_acl($i['allow_cid']); + $list = stringify_array($tmp, true); if ($list) { $details = q("select hubloc_id_url from hubloc where hubloc_hash in (" . $list . ") and hubloc_id_url != ''"); if ($details) { @@ -1013,22 +1029,22 @@ class Activity { static function encode_person($p, $extended = true) { - if(! $p['xchan_url']) + if (!$p['xchan_url']) return []; - if(! $extended) { + if (!$extended) { return $p['xchan_url']; } $ret = []; - $c = ((array_key_exists('channel_id',$p)) ? $p : channelx_by_hash($p['xchan_hash'])); + $c = ((array_key_exists('channel_id', $p)) ? $p : channelx_by_hash($p['xchan_hash'])); - $ret['type'] = 'Person'; + $ret['type'] = 'Person'; if ($c) { - $role = get_pconfig($c['channel_id'],'system','permissions_role'); - if (strpos($role,'forum') !== false) { + $role = get_pconfig($c['channel_id'], 'system', 'permissions_role'); + if (strpos($role, 'forum') !== false) { $ret['type'] = 'Group'; } } @@ -1037,23 +1053,24 @@ class Activity { $ret['id'] = channel_url($c); } else { - $ret['id'] = ((strpos($p['xchan_hash'],'http') === 0) ? $p['xchan_hash'] : $p['xchan_url']); + $ret['id'] = ((strpos($p['xchan_hash'], 'http') === 0) ? $p['xchan_hash'] : $p['xchan_url']); } - if($p['xchan_addr'] && strpos($p['xchan_addr'],'@')) - $ret['preferredUsername'] = substr($p['xchan_addr'],0,strpos($p['xchan_addr'],'@')); - $ret['name'] = $p['xchan_name']; - $ret['updated'] = datetime_convert('UTC','UTC',$p['xchan_name_date'],ATOM_TIME); - $ret['icon'] = [ + if ($p['xchan_addr'] && strpos($p['xchan_addr'], '@')) + $ret['preferredUsername'] = substr($p['xchan_addr'], 0, strpos($p['xchan_addr'], '@')); + + $ret['name'] = $p['xchan_name']; + $ret['updated'] = datetime_convert('UTC', 'UTC', $p['xchan_name_date'], ATOM_TIME); + $ret['icon'] = [ 'type' => 'Image', - 'mediaType' => (($p['xchan_photo_mimetype']) ? $p['xchan_photo_mimetype'] : 'image/png' ), - 'updated' => datetime_convert('UTC','UTC',$p['xchan_photo_date'],ATOM_TIME), + 'mediaType' => (($p['xchan_photo_mimetype']) ? $p['xchan_photo_mimetype'] : 'image/png'), + 'updated' => datetime_convert('UTC', 'UTC', $p['xchan_photo_date'], ATOM_TIME), 'url' => $p['xchan_photo_l'], 'height' => 300, 'width' => 300, ]; - $ret['url'] = [ - [ + $ret['url'] = [ + [ 'type' => 'Link', 'mediaType' => 'text/html', 'href' => $p['xchan_url'] @@ -1071,98 +1088,92 @@ class Activity { 'publicKeyPem' => $p['xchan_pubkey'] ]; - $arr = [ 'xchan' => $p, 'encoded' => $ret ]; + $arr = [ + 'xchan' => $p, + 'encoded' => $ret + ]; + call_hooks('encode_person', $arr); $ret = $arr['encoded']; - return $ret; } - - - - - - - static function activity_mapper($verb) { - if(strpos($verb,'/') === false) { + if (strpos($verb, '/') === false) { return $verb; } $acts = [ - 'http://activitystrea.ms/schema/1.0/post' => 'Create', - 'http://activitystrea.ms/schema/1.0/share' => 'Announce', - 'http://activitystrea.ms/schema/1.0/update' => 'Update', - 'http://activitystrea.ms/schema/1.0/like' => 'Like', - 'http://activitystrea.ms/schema/1.0/favorite' => 'Like', - 'http://purl.org/zot/activity/dislike' => 'Dislike', - 'http://activitystrea.ms/schema/1.0/tag' => 'Add', - 'http://activitystrea.ms/schema/1.0/follow' => 'Follow', - 'http://activitystrea.ms/schema/1.0/unfollow' => 'Unfollow', - 'http://purl.org/zot/activity/attendyes' => 'Accept', - 'http://purl.org/zot/activity/attendno' => 'Reject', - 'http://purl.org/zot/activity/attendmaybe' => 'TentativeAccept', - 'Invite' => 'Invite', - 'Delete' => 'Delete', - 'Undo' => 'Undo' + 'http://activitystrea.ms/schema/1.0/post' => 'Create', + 'http://activitystrea.ms/schema/1.0/share' => 'Announce', + 'http://activitystrea.ms/schema/1.0/update' => 'Update', + 'http://activitystrea.ms/schema/1.0/like' => 'Like', + 'http://activitystrea.ms/schema/1.0/favorite' => 'Like', + 'http://purl.org/zot/activity/dislike' => 'Dislike', + 'http://activitystrea.ms/schema/1.0/tag' => 'Add', + 'http://activitystrea.ms/schema/1.0/follow' => 'Follow', + 'http://activitystrea.ms/schema/1.0/unfollow' => 'Unfollow', + 'http://purl.org/zot/activity/attendyes' => 'Accept', + 'http://purl.org/zot/activity/attendno' => 'Reject', + 'http://purl.org/zot/activity/attendmaybe' => 'TentativeAccept', + 'Invite' => 'Invite', + 'Delete' => 'Delete', + 'Undo' => 'Undo' ]; - call_hooks('activity_mapper',$acts); + call_hooks('activity_mapper', $acts); - if(array_key_exists($verb,$acts) && $acts[$verb]) { + if (array_key_exists($verb, $acts) && $acts[$verb]) { return $acts[$verb]; } // Reactions will just map to normal activities - if(strpos($verb,ACTIVITY_REACT) !== false) + if (strpos($verb, ACTIVITY_REACT) !== false) return 'emojiReaction'; - if(strpos($verb,ACTIVITY_MOOD) !== false) + if (strpos($verb, ACTIVITY_MOOD) !== false) return 'Create'; - if(strpos($verb,ACTIVITY_FRIEND) !== false) + if (strpos($verb, ACTIVITY_FRIEND) !== false) return 'Create'; - if(strpos($verb,ACTIVITY_POKE) !== false) + if (strpos($verb, ACTIVITY_POKE) !== false) return 'Activity'; - // We should return false, however this will trigger an uncaught execption and crash + // We should return false, however this will trigger an uncaught execption and crash // the delivery system if encountered by the JSON-LDSignature library - + logger('Unmapped activity: ' . $verb); return 'Create'; - // return false; -} - - + // return false; + } static function activity_decode_mapper($verb) { $acts = [ - 'http://activitystrea.ms/schema/1.0/post' => 'Create', - 'http://activitystrea.ms/schema/1.0/share' => 'Announce', - 'http://activitystrea.ms/schema/1.0/update' => 'Update', - 'http://activitystrea.ms/schema/1.0/like' => 'Like', - 'http://activitystrea.ms/schema/1.0/favorite' => 'Like', - 'http://purl.org/zot/activity/dislike' => 'Dislike', - 'http://activitystrea.ms/schema/1.0/tag' => 'Add', - 'http://activitystrea.ms/schema/1.0/follow' => 'Follow', - 'http://activitystrea.ms/schema/1.0/unfollow' => 'Unfollow', - 'http://purl.org/zot/activity/attendyes' => 'Accept', - 'http://purl.org/zot/activity/attendno' => 'Reject', - 'http://purl.org/zot/activity/attendmaybe' => 'TentativeAccept', - 'Invite' => 'Invite', - 'Delete' => 'Delete', - 'Undo' => 'Undo' + 'http://activitystrea.ms/schema/1.0/post' => 'Create', + 'http://activitystrea.ms/schema/1.0/share' => 'Announce', + 'http://activitystrea.ms/schema/1.0/update' => 'Update', + 'http://activitystrea.ms/schema/1.0/like' => 'Like', + 'http://activitystrea.ms/schema/1.0/favorite' => 'Like', + 'http://purl.org/zot/activity/dislike' => 'Dislike', + 'http://activitystrea.ms/schema/1.0/tag' => 'Add', + 'http://activitystrea.ms/schema/1.0/follow' => 'Follow', + 'http://activitystrea.ms/schema/1.0/unfollow' => 'Unfollow', + 'http://purl.org/zot/activity/attendyes' => 'Accept', + 'http://purl.org/zot/activity/attendno' => 'Reject', + 'http://purl.org/zot/activity/attendmaybe' => 'TentativeAccept', + 'Invite' => 'Invite', + 'Delete' => 'Delete', + 'Undo' => 'Undo' ]; - call_hooks('activity_decode_mapper',$acts); + call_hooks('activity_decode_mapper', $acts); - foreach($acts as $k => $v) { - if($verb === $v) { + foreach ($acts as $k => $v) { + if ($verb === $v) { return $k; } } @@ -1175,33 +1186,33 @@ class Activity { static function activity_obj_decode_mapper($obj) { $objs = [ - 'http://activitystrea.ms/schema/1.0/note' => 'Note', - 'http://activitystrea.ms/schema/1.0/note' => 'Article', - 'http://activitystrea.ms/schema/1.0/comment' => 'Note', - 'http://activitystrea.ms/schema/1.0/person' => 'Person', - 'http://purl.org/zot/activity/profile' => 'Profile', - 'http://activitystrea.ms/schema/1.0/photo' => 'Image', - 'http://activitystrea.ms/schema/1.0/profile-photo' => 'Icon', - 'http://activitystrea.ms/schema/1.0/event' => 'Event', - 'http://purl.org/zot/activity/location' => 'Place', - 'http://purl.org/zot/activity/chessgame' => 'Game', - 'http://purl.org/zot/activity/tagterm' => 'zot:Tag', - 'http://purl.org/zot/activity/thing' => 'Object', - 'http://purl.org/zot/activity/file' => 'zot:File', - 'http://purl.org/zot/activity/mood' => 'zot:Mood', - 'Invite' => 'Invite', - 'Question' => 'Question', - 'Document' => 'Document', - 'Audio' => 'Audio', - 'Video' => 'Video', - 'Delete' => 'Delete', - 'Undo' => 'Undo' + 'http://activitystrea.ms/schema/1.0/note' => 'Note', + 'http://activitystrea.ms/schema/1.0/note' => 'Article', + 'http://activitystrea.ms/schema/1.0/comment' => 'Note', + 'http://activitystrea.ms/schema/1.0/person' => 'Person', + 'http://purl.org/zot/activity/profile' => 'Profile', + 'http://activitystrea.ms/schema/1.0/photo' => 'Image', + 'http://activitystrea.ms/schema/1.0/profile-photo' => 'Icon', + 'http://activitystrea.ms/schema/1.0/event' => 'Event', + 'http://purl.org/zot/activity/location' => 'Place', + 'http://purl.org/zot/activity/chessgame' => 'Game', + 'http://purl.org/zot/activity/tagterm' => 'zot:Tag', + 'http://purl.org/zot/activity/thing' => 'Object', + 'http://purl.org/zot/activity/file' => 'zot:File', + 'http://purl.org/zot/activity/mood' => 'zot:Mood', + 'Invite' => 'Invite', + 'Question' => 'Question', + 'Document' => 'Document', + 'Audio' => 'Audio', + 'Video' => 'Video', + 'Delete' => 'Delete', + 'Undo' => 'Undo' ]; - call_hooks('activity_obj_decode_mapper',$objs); + call_hooks('activity_obj_decode_mapper', $objs); - foreach($objs as $k => $v) { - if($obj === $v) { + foreach ($objs as $k => $v) { + if ($obj === $v) { return $k; } } @@ -1210,45 +1221,42 @@ class Activity { return 'Note'; } - - - static function activity_obj_mapper($obj) { $objs = [ - 'http://activitystrea.ms/schema/1.0/note' => 'Note', - 'http://activitystrea.ms/schema/1.0/comment' => 'Note', - 'http://activitystrea.ms/schema/1.0/person' => 'Person', - 'http://purl.org/zot/activity/profile' => 'Profile', - 'http://activitystrea.ms/schema/1.0/photo' => 'Image', - 'http://activitystrea.ms/schema/1.0/profile-photo' => 'Icon', - 'http://activitystrea.ms/schema/1.0/event' => 'Event', - 'http://purl.org/zot/activity/location' => 'Place', - 'http://purl.org/zot/activity/chessgame' => 'Game', - 'http://purl.org/zot/activity/tagterm' => 'zot:Tag', - 'http://purl.org/zot/activity/thing' => 'Object', - 'http://purl.org/zot/activity/file' => 'zot:File', - 'http://purl.org/zot/activity/mood' => 'zot:Mood', - 'Invite' => 'Invite', - 'Question' => 'Question', - 'Audio' => 'Audio', - 'Video' => 'Video', - 'Delete' => 'Delete', - 'Undo' => 'Undo' + 'http://activitystrea.ms/schema/1.0/note' => 'Note', + 'http://activitystrea.ms/schema/1.0/comment' => 'Note', + 'http://activitystrea.ms/schema/1.0/person' => 'Person', + 'http://purl.org/zot/activity/profile' => 'Profile', + 'http://activitystrea.ms/schema/1.0/photo' => 'Image', + 'http://activitystrea.ms/schema/1.0/profile-photo' => 'Icon', + 'http://activitystrea.ms/schema/1.0/event' => 'Event', + 'http://purl.org/zot/activity/location' => 'Place', + 'http://purl.org/zot/activity/chessgame' => 'Game', + 'http://purl.org/zot/activity/tagterm' => 'zot:Tag', + 'http://purl.org/zot/activity/thing' => 'Object', + 'http://purl.org/zot/activity/file' => 'zot:File', + 'http://purl.org/zot/activity/mood' => 'zot:Mood', + 'Invite' => 'Invite', + 'Question' => 'Question', + 'Audio' => 'Audio', + 'Video' => 'Video', + 'Delete' => 'Delete', + 'Undo' => 'Undo' ]; - call_hooks('activity_obj_mapper',$objs); + call_hooks('activity_obj_mapper', $objs); if ($obj === 'Answer') { return 'Note'; } - if (strpos($obj,'/') === false) { + if (strpos($obj, '/') === false) { return $obj; } - if(array_key_exists($obj,$objs)) { + if (array_key_exists($obj, $objs)) { return $objs[$obj]; } @@ -1259,108 +1267,104 @@ class Activity { } + static function follow($channel, $act) { - static function follow($channel,$act) { - - $contact = null; + $contact = null; $their_follow_id = null; /* - * - * if $act->type === 'Follow', actor is now following $channel - * if $act->type === 'Accept', actor has approved a follow request from $channel - * + * + * if $act->type === 'Follow', actor is now following $channel + * if $act->type === 'Accept', actor has approved a follow request from $channel + * */ $person_obj = $act->actor; - if($act->type === 'Follow') { - $their_follow_id = $act->id; - } - elseif($act->type === 'Accept') { - $my_follow_id = z_root() . '/follow/' . $contact['id']; + if ($act->type === 'Follow') { + $their_follow_id = $act->id; } - - if(is_array($person_obj)) { + + if (is_array($person_obj)) { // store their xchan and hubloc - self::actor_store($person_obj['id'],$person_obj); + self::actor_store($person_obj['id'], $person_obj); - // Find any existing abook record + // Find any existing abook record $r = q("select * from abook left join xchan on abook_xchan = xchan_hash where abook_xchan = '%s' and abook_channel = %d limit 1", dbesc($person_obj['id']), intval($channel['channel_id']) ); - if($r) { + if ($r) { $contact = $r[0]; } } - $x = \Zotlabs\Access\PermissionRoles::role_perms('social'); - $p = \Zotlabs\Access\Permissions::FilledPerms($x['perms_connect']); - $their_perms = \Zotlabs\Access\Permissions::serialise($p); + $x = PermissionRoles::role_perms('social'); + $p = Permissions::FilledPerms($x['perms_connect']); + $their_perms = Permissions::serialise($p); - if($contact && $contact['abook_id']) { + if ($contact && $contact['abook_id']) { - // A relationship of some form already exists on this site. + // A relationship of some form already exists on this site. - switch($act->type) { + switch ($act->type) { case 'Follow': // A second Follow request, but we haven't approved the first one - if($contact['abook_pending']) { + if ($contact['abook_pending']) { return; } // We've already approved them or followed them first // Send an Accept back to them - set_abconfig($channel['channel_id'],$person_obj['id'],'pubcrawl','their_follow_id', $their_follow_id); - Master::Summon([ 'Notifier', 'permissions_accept', $contact['abook_id'] ]); + set_abconfig($channel['channel_id'], $person_obj['id'], 'pubcrawl', 'their_follow_id', $their_follow_id); + Master::Summon(['Notifier', 'permissions_accept', $contact['abook_id']]); return; case 'Accept': // They accepted our Follow request - set default permissions - - set_abconfig($channel['channel_id'],$contact['abook_xchan'],'system','their_perms',$their_perms); + + set_abconfig($channel['channel_id'], $contact['abook_xchan'], 'system', 'their_perms', $their_perms); $abook_instance = $contact['abook_instance']; - - if(strpos($abook_instance,z_root()) === false) { - if($abook_instance) + + if (strpos($abook_instance, z_root()) === false) { + if ($abook_instance) $abook_instance .= ','; $abook_instance .= z_root(); - $r = q("update abook set abook_instance = '%s', abook_not_here = 0 + q("update abook set abook_instance = '%s', abook_not_here = 0 where abook_id = %d and abook_channel = %d", dbesc($abook_instance), intval($contact['abook_id']), intval($channel['channel_id']) ); } - + return; default: return; - + } } // No previous relationship exists. - if($act->type === 'Accept') { + if ($act->type === 'Accept') { // This should not happen unless we deleted the connection before it was accepted. return; } // From here on out we assume a Follow activity to somebody we have no existing relationship with - set_abconfig($channel['channel_id'],$person_obj['id'],'pubcrawl','their_follow_id', $their_follow_id); + set_abconfig($channel['channel_id'], $person_obj['id'], 'pubcrawl', 'their_follow_id', $their_follow_id); // The xchan should have been created by actor_store() above @@ -1368,17 +1372,17 @@ class Activity { dbesc($person_obj['id']) ); - if(! $r) { + if (!$r) { logger('xchan not found for ' . $person_obj['id']); return; } $ret = $r[0]; - $p = \Zotlabs\Access\Permissions::connect_perms($channel['channel_id']); - $my_perms = \Zotlabs\Access\Permissions::serialise($p['perms']); + $p = Permissions::connect_perms($channel['channel_id']); + $my_perms = Permissions::serialise($p['perms']); $automatic = $p['automatic']; - $closeness = get_pconfig($channel['channel_id'],'system','new_abook_closeness',80); + $closeness = get_pconfig($channel['channel_id'], 'system', 'new_abook_closeness', 80); $r = abook_store_lowlevel( [ @@ -1394,64 +1398,64 @@ class Activity { 'abook_instance' => z_root() ] ); - - if($my_perms) - set_abconfig($channel['channel_id'],$ret['xchan_hash'],'system','my_perms',$my_perms); - if($their_perms) - set_abconfig($channel['channel_id'],$ret['xchan_hash'],'system','their_perms',$their_perms); + if ($my_perms) + set_abconfig($channel['channel_id'], $ret['xchan_hash'], 'system', 'my_perms', $my_perms); + + if ($their_perms) + set_abconfig($channel['channel_id'], $ret['xchan_hash'], 'system', 'their_perms', $their_perms); - if($r) { + if ($r) { logger("New ActivityPub follower for {$channel['channel_name']}"); $new_connection = q("select * from abook left join xchan on abook_xchan = xchan_hash left join hubloc on hubloc_hash = xchan_hash where abook_channel = %d and abook_xchan = '%s' order by abook_created desc limit 1", intval($channel['channel_id']), dbesc($ret['xchan_hash']) ); - if($new_connection) { - \Zotlabs\Lib\Enotify::submit( + if ($new_connection) { + Enotify::submit( [ - 'type' => NOTIFY_INTRO, - 'from_xchan' => $ret['xchan_hash'], - 'to_xchan' => $channel['channel_hash'], - 'link' => z_root() . '/connedit/' . $new_connection[0]['abook_id'], + 'type' => NOTIFY_INTRO, + 'from_xchan' => $ret['xchan_hash'], + 'to_xchan' => $channel['channel_hash'], + 'link' => z_root() . '/connedit/' . $new_connection[0]['abook_id'], ] ); - if($my_perms && $automatic) { + if ($my_perms && $automatic) { // send an Accept for this Follow activity - Master::Summon([ 'Notifier', 'permissions_accept', $new_connection[0]['abook_id'] ]); + Master::Summon(['Notifier', 'permissions_accept', $new_connection[0]['abook_id']]); // Send back a Follow notification to them - Master::Summon([ 'Notifier', 'permissions_create', $new_connection[0]['abook_id'] ]); + Master::Summon(['Notifier', 'permissions_create', $new_connection[0]['abook_id']]); } - $clone = array(); - foreach($new_connection[0] as $k => $v) { - if(strpos($k,'abook_') === 0) { + $clone = []; + foreach ($new_connection[0] as $k => $v) { + if (strpos($k, 'abook_') === 0) { $clone[$k] = $v; } } unset($clone['abook_id']); unset($clone['abook_account']); unset($clone['abook_channel']); - - $abconfig = load_abconfig($channel['channel_id'],$clone['abook_xchan']); - if($abconfig) + $abconfig = load_abconfig($channel['channel_id'], $clone['abook_xchan']); + + if ($abconfig) $clone['abconfig'] = $abconfig; - Libsync::build_sync_packet($channel['channel_id'], [ 'abook' => array($clone) ] ); + Libsync::build_sync_packet($channel['channel_id'], ['abook' => [$clone]]); } } /* If there is a default group for this channel and permissions are automatic, add this member to it */ - if($channel['channel_default_group'] && $automatic) { - $g = Group::rec_byhash($channel['channel_id'],$channel['channel_default_group']); - if($g) - Group::member_add($channel['channel_id'],'',$ret['xchan_hash'],$g['id']); + if ($channel['channel_default_group'] && $automatic) { + $g = Group::rec_byhash($channel['channel_id'], $channel['channel_default_group']); + if ($g) + Group::member_add($channel['channel_id'], '', $ret['xchan_hash'], $g['id']); } @@ -1459,8 +1463,7 @@ class Activity { } - - static function unfollow($channel,$act) { + static function unfollow($channel, $act) { $contact = null; @@ -1470,46 +1473,43 @@ class Activity { $person_obj = $act->actor; - if(is_array($person_obj)) { + if (is_array($person_obj)) { $r = q("select * from abook left join xchan on abook_xchan = xchan_hash where abook_xchan = '%s' and abook_channel = %d limit 1", dbesc($person_obj['id']), intval($channel['channel_id']) ); - if($r) { + if ($r) { // remove all permissions they provided - del_abconfig($channel['channel_id'],$r[0]['xchan_hash'],'system','their_perms',EMPTY_STR); + del_abconfig($channel['channel_id'], $r[0]['xchan_hash'], 'system', 'their_perms'); } } return; } + static function actor_store($url, $person_obj) { - - - static function actor_store($url,$person_obj) { - - if(! is_array($person_obj)) + if (!is_array($person_obj)) return; $inbox = $person_obj['inbox']; // invalid identity - if (! $inbox || strpos($inbox,z_root()) !== false) { + if (!$inbox || strpos($inbox, z_root()) !== false) { return; } $name = $person_obj['name']; - if(! $name) + if (!$name) $name = $person_obj['preferredUsername']; - if(! $name) + if (!$name) $name = t('Unknown'); - if($person_obj['icon']) { - if(is_array($person_obj['icon'])) { - if(array_key_exists('url',$person_obj['icon'])) + if ($person_obj['icon']) { + if (is_array($person_obj['icon'])) { + if (array_key_exists('url', $person_obj['icon'])) $icon = $person_obj['icon']['url']; else $icon = $person_obj['icon'][0]['url']; @@ -1518,12 +1518,12 @@ class Activity { $icon = $person_obj['icon']; } - $links = false; + $links = false; $profile = false; if (is_array($person_obj['url'])) { - if (! array_key_exists(0,$person_obj['url'])) { - $links = [ $person_obj['url'] ]; + if (!array_key_exists(0, $person_obj['url'])) { + $links = [$person_obj['url']]; } else { $links = $person_obj['url']; @@ -1532,11 +1532,11 @@ class Activity { if ($links) { foreach ($links as $link) { - if (array_key_exists('mediaType',$link) && $link['mediaType'] === 'text/html') { + if (array_key_exists('mediaType', $link) && $link['mediaType'] === 'text/html') { $profile = $link['href']; } } - if (! $profile) { + if (!$profile) { $profile = $links[0]['href']; } } @@ -1544,28 +1544,28 @@ class Activity { $profile = $person_obj['url']; } - if (! $profile) { + if (!$profile) { $profile = $url; } $collections = []; - if($inbox) { + if ($inbox) { $collections['inbox'] = $inbox; - if($person_obj['outbox']) + if ($person_obj['outbox']) $collections['outbox'] = $person_obj['outbox']; - if($person_obj['followers']) + if ($person_obj['followers']) $collections['followers'] = $person_obj['followers']; - if($person_obj['following']) + if ($person_obj['following']) $collections['following'] = $person_obj['following']; - if($person_obj['endpoints'] && $person_obj['endpoints']['sharedInbox']) + if ($person_obj['endpoints'] && $person_obj['endpoints']['sharedInbox']) $collections['sharedInbox'] = $person_obj['endpoints']['sharedInbox']; } - if(array_key_exists('publicKey',$person_obj) && array_key_exists('publicKeyPem',$person_obj['publicKey'])) { - if($person_obj['id'] === $person_obj['publicKey']['owner']) { + if (array_key_exists('publicKey', $person_obj) && array_key_exists('publicKeyPem', $person_obj['publicKey'])) { + if ($person_obj['id'] === $person_obj['publicKey']['owner']) { $pubkey = $person_obj['publicKey']['publicKeyPem']; - if(strstr($pubkey,'RSA ')) { + if (strstr($pubkey, 'RSA ')) { $pubkey = rsatopem($pubkey); } } @@ -1574,33 +1574,33 @@ class Activity { $r = q("select * from xchan where xchan_hash = '%s' limit 1", dbesc($url) ); - if(! $r) { + if (!$r) { // create a new record - $r = xchan_store_lowlevel( + xchan_store_lowlevel( [ - 'xchan_hash' => $url, - 'xchan_guid' => $url, - 'xchan_pubkey' => $pubkey, - 'xchan_addr' => '', - 'xchan_url' => $profile, - 'xchan_name' => $name, - 'xchan_name_date' => datetime_convert(), - 'xchan_network' => 'activitypub' + 'xchan_hash' => $url, + 'xchan_guid' => $url, + 'xchan_pubkey' => $pubkey, + 'xchan_addr' => '', + 'xchan_url' => $profile, + 'xchan_name' => $name, + 'xchan_name_date' => datetime_convert(), + 'xchan_network' => 'activitypub' ] ); } else { // Record exists. Cache existing records for one week at most - // then refetch to catch updated profile photos, names, etc. + // then refetch to catch updated profile photos, names, etc. - $d = datetime_convert('UTC','UTC','now - 1 week'); - if($r[0]['xchan_name_date'] > $d) + $d = datetime_convert('UTC', 'UTC', 'now - 1 week'); + if ($r[0]['xchan_name_date'] > $d) return; // update existing record - $r = q("update xchan set xchan_name = '%s', xchan_pubkey = '%s', xchan_network = '%s', xchan_name_date = '%s' where xchan_hash = '%s'", + q("update xchan set xchan_name = '%s', xchan_pubkey = '%s', xchan_network = '%s', xchan_name_date = '%s' where xchan_hash = '%s'", dbesc($name), dbesc($pubkey), dbesc('activitypub'), @@ -1609,23 +1609,22 @@ class Activity { ); } - if($collections) { - set_xconfig($url,'activitypub','collections',$collections); + if ($collections) { + set_xconfig($url, 'activitypub', 'collections', $collections); } $r = q("select * from hubloc where hubloc_hash = '%s' limit 1", dbesc($url) ); - $m = parse_url($url); - if($m) { + if ($m) { $hostname = $m['host']; - $baseurl = $m['scheme'] . '://' . $m['host'] . (($m['port']) ? ':' . $m['port'] : ''); + $baseurl = $m['scheme'] . '://' . $m['host'] . (($m['port']) ? ':' . $m['port'] : ''); } - if(! $r) { - $r = hubloc_store_lowlevel( + if (!$r) { + hubloc_store_lowlevel( [ 'hubloc_guid' => $url, 'hubloc_hash' => $url, @@ -1641,12 +1640,12 @@ class Activity { ); } - if(! $icon) + if (!$icon) $icon = z_root() . '/' . get_default_profile_photo(300); - $photos = import_xchan_photo($icon,$url); - $r = q("update xchan set xchan_photo_date = '%s', xchan_photo_l = '%s', xchan_photo_m = '%s', xchan_photo_s = '%s', xchan_photo_mimetype = '%s' where xchan_hash = '%s'", - dbescdate(datetime_convert('UTC','UTC',$photos[5])), + $photos = import_xchan_photo($icon, $url); + q("update xchan set xchan_photo_date = '%s', xchan_photo_l = '%s', xchan_photo_m = '%s', xchan_photo_s = '%s', xchan_photo_mimetype = '%s' where xchan_hash = '%s'", + dbescdate(datetime_convert('UTC', 'UTC', $photos[5])), dbesc($photos[0]), dbesc($photos[1]), dbesc($photos[2]), @@ -1656,54 +1655,51 @@ class Activity { } + static function create_action($channel, $observer_hash, $act) { - static function create_action($channel,$observer_hash,$act) { - - if(in_array($act->obj['type'], [ 'Note', 'Article', 'Video' ])) { - self::create_note($channel,$observer_hash,$act); + if (in_array($act->obj['type'], ['Note', 'Article', 'Video'])) { + self::create_note($channel, $observer_hash, $act); } } - static function announce_action($channel,$observer_hash,$act) { + static function announce_action($channel, $observer_hash, $act) { - if(in_array($act->type, [ 'Announce' ])) { - self::announce_note($channel,$observer_hash,$act); + if (in_array($act->type, ['Announce'])) { + self::announce_note($channel, $observer_hash, $act); } } + static function like_action($channel, $observer_hash, $act) { - static function like_action($channel,$observer_hash,$act) { - - if(in_array($act->obj['type'], [ 'Note', 'Article', 'Video' ])) { - self::like_note($channel,$observer_hash,$act); + if (in_array($act->obj['type'], ['Note', 'Article', 'Video'])) { + self::like_note($channel, $observer_hash, $act); } } // sort function width decreasing - - static function vid_sort($a,$b) { - if($a['width'] === $b['width']) + static function vid_sort($a, $b) { + if ($a['width'] === $b['width']) return 0; return (($a['width'] > $b['width']) ? -1 : 1); } - static function create_note($channel,$observer_hash,$act) { + static function create_note($channel, $observer_hash, $act) { $s = []; // Mastodon only allows visibility in public timelines if the public inbox is listed in the 'to' field. // They are hidden in the public timeline if the public inbox is listed in the 'cc' field. // This is not part of the activitypub protocol - we might change this to show all public posts in pubstream at some point. - $pubstream = ((is_array($act->obj) && array_key_exists('to', $act->obj) && in_array(ACTIVITY_PUBLIC_INBOX, $act->obj['to'])) ? true : false); + $pubstream = ((is_array($act->obj) && array_key_exists('to', $act->obj) && in_array(ACTIVITY_PUBLIC_INBOX, $act->obj['to'])) ? true : false); $is_sys_channel = is_sys_channel($channel['channel_id']); - $parent = ((array_key_exists('inReplyTo',$act->obj)) ? urldecode($act->obj['inReplyTo']) : ''); - if($parent) { + $parent = ((array_key_exists('inReplyTo', $act->obj)) ? urldecode($act->obj['inReplyTo']) : ''); + if ($parent) { $r = q("select * from item where uid = %d and ( mid = '%s' or mid = '%s' ) limit 1", intval($channel['channel_id']), @@ -1711,39 +1707,39 @@ class Activity { dbesc(basename($parent)) ); - if(! $r) { + if (!$r) { logger('parent not found.'); return; } - if($r[0]['owner_xchan'] === $channel['channel_hash']) { - if(! perm_is_allowed($channel['channel_id'],$observer_hash,'send_stream') && ! ($is_sys_channel && $pubstream)) { + if ($r[0]['owner_xchan'] === $channel['channel_hash']) { + if (!perm_is_allowed($channel['channel_id'], $observer_hash, 'send_stream') && !($is_sys_channel && $pubstream)) { logger('no comment permission.'); return; } } - $s['parent_mid'] = $r[0]['mid']; - $s['owner_xchan'] = $r[0]['owner_xchan']; + $s['parent_mid'] = $r[0]['mid']; + $s['owner_xchan'] = $r[0]['owner_xchan']; $s['author_xchan'] = $observer_hash; } else { - if(! perm_is_allowed($channel['channel_id'],$observer_hash,'send_stream') && ! ($is_sys_channel && $pubstream)) { + if (!perm_is_allowed($channel['channel_id'], $observer_hash, 'send_stream') && !($is_sys_channel && $pubstream)) { logger('no permission'); return; } $s['owner_xchan'] = $s['author_xchan'] = $observer_hash; } - + $abook = q("select * from abook where abook_xchan = '%s' and abook_channel = %d limit 1", dbesc($observer_hash), intval($channel['channel_id']) ); - + $content = self::get_content($act->obj); - if(! $content) { + if (!$content) { logger('no content'); return; } @@ -1756,105 +1752,105 @@ class Activity { $s['author_xchan'] = self::find_best_identity($s['author_xchan']); $s['owner_xchan'] = self::find_best_identity($s['owner_xchan']); - if(!$s['author_xchan']) { + if (!$s['author_xchan']) { logger('No author: ' . print_r($act, true)); } - if(!$s['owner_xchan']) { + if (!$s['owner_xchan']) { logger('No owner: ' . print_r($act, true)); } - if(!$s['author_xchan'] || !$s['owner_xchan']) + if (!$s['author_xchan'] || !$s['owner_xchan']) return; - $s['mid'] = urldecode($act->obj['id']); - $s['uuid'] = $act->obj['diaspora:guid']; + $s['mid'] = urldecode($act->obj['id']); + $s['uuid'] = $act->obj['diaspora:guid']; $s['plink'] = urldecode($act->obj['id']); - if($act->data['published']) { - $s['created'] = datetime_convert('UTC','UTC',$act->data['published']); + if ($act->data['published']) { + $s['created'] = datetime_convert('UTC', 'UTC', $act->data['published']); } - elseif($act->obj['published']) { - $s['created'] = datetime_convert('UTC','UTC',$act->obj['published']); + elseif ($act->obj['published']) { + $s['created'] = datetime_convert('UTC', 'UTC', $act->obj['published']); } - if($act->data['updated']) { - $s['edited'] = datetime_convert('UTC','UTC',$act->data['updated']); + if ($act->data['updated']) { + $s['edited'] = datetime_convert('UTC', 'UTC', $act->data['updated']); } - elseif($act->obj['updated']) { - $s['edited'] = datetime_convert('UTC','UTC',$act->obj['updated']); + elseif ($act->obj['updated']) { + $s['edited'] = datetime_convert('UTC', 'UTC', $act->obj['updated']); } if ($act->data['expires']) { - $s['expires'] = datetime_convert('UTC','UTC',$act->data['expires']); + $s['expires'] = datetime_convert('UTC', 'UTC', $act->data['expires']); } elseif ($act->obj['expires']) { - $s['expires'] = datetime_convert('UTC','UTC',$act->obj['expires']); + $s['expires'] = datetime_convert('UTC', 'UTC', $act->obj['expires']); } - if(! $s['created']) + if (!$s['created']) $s['created'] = datetime_convert(); - if(! $s['edited']) + if (!$s['edited']) $s['edited'] = $s['created']; - if(! $s['parent_mid']) + if (!$s['parent_mid']) $s['parent_mid'] = $s['mid']; - - $s['title'] = self::bb_content($content,'name'); - $s['summary'] = self::bb_content($content,'summary'); - $s['body'] = self::bb_content($content,'content'); + + $s['title'] = self::bb_content($content, 'name'); + $s['summary'] = self::bb_content($content, 'summary'); + $s['body'] = self::bb_content($content, 'content'); $s['verb'] = ACTIVITY_POST; $s['obj_type'] = ACTIVITY_OBJ_NOTE; $generator = $act->get_property_obj('generator'); - if(! $generator) - $generator = $act->get_property_obj('generator',$act->obj); + if (!$generator) + $generator = $act->get_property_obj('generator', $act->obj); - if($generator && array_key_exists('type',$generator) - && in_array($generator['type'], [ 'Application','Service' ] ) && array_key_exists('name',$generator)) { + if ($generator && array_key_exists('type', $generator) + && in_array($generator['type'], ['Application', 'Service']) && array_key_exists('name', $generator)) { $s['app'] = escape_tags($generator['name']); } - if($channel['channel_system']) { - if(! \Zotlabs\Lib\MessageFilter::evaluate($s,get_config('system','pubstream_incl'),get_config('system','pubstream_excl'))) { + if ($channel['channel_system']) { + if (!MessageFilter::evaluate($s, get_config('system', 'pubstream_incl'), get_config('system', 'pubstream_excl'))) { logger('post is filtered'); return; } } - if($abook) { - if(! post_is_importable($s,$abook[0])) { + if ($abook) { + if (!post_is_importable($s, $abook[0])) { logger('post is filtered'); return; } } - if($act->obj['conversation']) { - set_iconfig($s,'ostatus','conversation',$act->obj['conversation'],1); + if ($act->obj['conversation']) { + set_iconfig($s, 'ostatus', 'conversation', $act->obj['conversation'], 1); } $a = self::decode_taxonomy($act->obj); - if($a) { + if ($a) { $s['term'] = $a; } $a = self::decode_attachment($act->obj); - if($a) { + if ($a) { $s['attach'] = $a; } - if($act->obj['type'] === 'Note' && $s['attach']) { - $s['body'] .= self::bb_attach($s['attach'],$s['body']); + if ($act->obj['type'] === 'Note' && $s['attach']) { + $s['body'] .= self::bb_attach($s['attach'], $s['body']); } // we will need a hook here to extract magnet links e.g. peertube // right now just link to the largest mp4 we find that will fit in our // standard content region - if($act->obj['type'] === 'Video') { + if ($act->obj['type'] === 'Video') { $vtypes = [ 'video/mp4', @@ -1863,20 +1859,20 @@ class Activity { ]; $mps = []; - if(array_key_exists('url',$act->obj) && is_array($act->obj['url'])) { - foreach($act->obj['url'] as $vurl) { - if(in_array($vurl['mimeType'], $vtypes)) { - if(! array_key_exists('width',$vurl)) { + if (array_key_exists('url', $act->obj) && is_array($act->obj['url'])) { + foreach ($act->obj['url'] as $vurl) { + if (in_array($vurl['mimeType'], $vtypes)) { + if (!array_key_exists('width', $vurl)) { $vurl['width'] = 0; } $mps[] = $vurl; } } } - if($mps) { - usort($mps,[ __CLASS__, 'vid_sort' ]); - foreach($mps as $m) { - if(intval($m['width']) < 500) { + if ($mps) { + usort($mps, [__CLASS__, 'vid_sort']); + foreach ($mps as $m) { + if (intval($m['width']) < 500) { $s['body'] .= "\n\n" . '[video]' . $m['href'] . '[/video]'; break; } @@ -1884,17 +1880,17 @@ class Activity { } } - if($act->recips && (! in_array(ACTIVITY_PUBLIC_INBOX,$act->recips))) + if ($act->recips && (!in_array(ACTIVITY_PUBLIC_INBOX, $act->recips))) $s['item_private'] = 1; - if (array_key_exists('directMessage',$act->obj) && intval($act->obj['directMessage'])) { + if (array_key_exists('directMessage', $act->obj) && intval($act->obj['directMessage'])) { $s['item_private'] = 2; } - set_iconfig($s,'activitypub','recips',$act->raw_recips); - if($parent) { - set_iconfig($s,'activitypub','rawmsg',$act->raw,1); + set_iconfig($s, 'activitypub', 'recips', $act->raw_recips); + if ($parent) { + set_iconfig($s, 'activitypub', 'rawmsg', $act->raw, 1); } $x = null; @@ -1903,8 +1899,8 @@ class Activity { dbesc($s['mid']), intval($s['uid']) ); - if($r) { - if($s['edited'] > $r[0]['edited']) { + if ($r) { + if ($s['edited'] > $r[0]['edited']) { $x = item_store_update($s); } else { @@ -1915,20 +1911,20 @@ class Activity { $x = item_store($s); } - if(is_array($x) && $x['item_id']) { - if($parent) { - if($s['owner_xchan'] === $channel['channel_hash']) { + if (is_array($x) && $x['item_id']) { + if ($parent) { + if ($s['owner_xchan'] === $channel['channel_hash']) { // We are the owner of this conversation, so send all received comments back downstream - Master::Summon(array('Notifier','comment-import',$x['item_id'])); + Master::Summon(['Notifier', 'comment-import', $x['item_id']]); } $r = q("select * from item where id = %d limit 1", intval($x['item_id']) ); - if($r) { - send_status_notifications($x['item_id'],$r[0]); + if ($r) { + send_status_notifications($x['item_id'], $r[0]); } } - sync_an_item($channel['channel_id'],$x['item_id']); + sync_an_item($channel['channel_id'], $x['item_id']); } } @@ -1940,26 +1936,24 @@ class Activity { dbesc($id) ); - if($x) { - return sprintf('@[zrl=%s]%s[/zrl]',$x[0]['xchan_url'],$x[0]['xchan_name']); + if ($x) { + return sprintf('@[zrl=%s]%s[/zrl]', $x[0]['xchan_url'], $x[0]['xchan_name']); } return '@{' . $id . '}'; } - - - static function update_poll($item,$post) { - $multi = false; - $mid = $post['mid']; + static function update_poll($item, $post) { + $multi = false; + $mid = $post['mid']; $content = $post['title']; - - if (! $item) { + + if (!$item) { return false; } - $o = json_decode($item['obj'],true); - if ($o && array_key_exists('anyOf',$o)) { + $o = json_decode($item['obj'], true); + if ($o && array_key_exists('anyOf', $o)) { $multi = true; } @@ -1969,7 +1963,7 @@ class Activity { ); // prevent any duplicate votes by same author for oneOf and duplicate votes with same author and same answer for anyOf - + if ($r) { if ($multi) { foreach ($r as $rv) { @@ -1986,103 +1980,101 @@ class Activity { } } } - + $answer_found = false; - $found = false; + $found = false; if ($multi) { - for ($c = 0; $c < count($o['anyOf']); $c ++) { + for ($c = 0; $c < count($o['anyOf']); $c++) { if ($o['anyOf'][$c]['name'] === $content) { $answer_found = true; if (is_array($o['anyOf'][$c]['replies'])) { - foreach($o['anyOf'][$c]['replies'] as $reply) { - if(is_array($reply) && array_key_exists('id',$reply) && $reply['id'] === $mid) { + foreach ($o['anyOf'][$c]['replies'] as $reply) { + if (is_array($reply) && array_key_exists('id', $reply) && $reply['id'] === $mid) { $found = true; } } } - if (! $found) { - $o['anyOf'][$c]['replies']['totalItems'] ++; - $o['anyOf'][$c]['replies']['items'][] = [ 'id' => $mid, 'type' => 'Note' ]; + if (!$found) { + $o['anyOf'][$c]['replies']['totalItems']++; + $o['anyOf'][$c]['replies']['items'][] = ['id' => $mid, 'type' => 'Note']; } } } } else { - for ($c = 0; $c < count($o['oneOf']); $c ++) { + for ($c = 0; $c < count($o['oneOf']); $c++) { if ($o['oneOf'][$c]['name'] === $content) { $answer_found = true; if (is_array($o['oneOf'][$c]['replies'])) { - foreach($o['oneOf'][$c]['replies'] as $reply) { - if(is_array($reply) && array_key_exists('id',$reply) && $reply['id'] === $mid) { + foreach ($o['oneOf'][$c]['replies'] as $reply) { + if (is_array($reply) && array_key_exists('id', $reply) && $reply['id'] === $mid) { $found = true; } } } - if (! $found) { - $o['oneOf'][$c]['replies']['totalItems'] ++; - $o['oneOf'][$c]['replies']['items'][] = [ 'id' => $mid, 'type' => 'Note' ]; + if (!$found) { + $o['oneOf'][$c]['replies']['totalItems']++; + $o['oneOf'][$c]['replies']['items'][] = ['id' => $mid, 'type' => 'Note']; } } } } - logger('updated_poll: ' . print_r($o,true),LOGGER_DATA); - if ($answer_found && ! $found) { - $x = q("update item set obj = '%s', edited = '%s' where id = %d", + logger('updated_poll: ' . print_r($o, true), LOGGER_DATA); + if ($answer_found && !$found) { + q("update item set obj = '%s', edited = '%s' where id = %d", dbesc(json_encode($o)), dbesc(datetime_convert()), intval($item['id']) ); - Master::Summon( [ 'Notifier', 'wall-new', $item['id'] ] ); + Master::Summon(['Notifier', 'wall-new', $item['id']]); return true; } return false; } - - static function decode_note($act) { $response_activity = false; $s = []; - if(is_array($act->obj)) { + if (is_array($act->obj)) { $content = self::get_content($act->obj); } - + $s['owner_xchan'] = $act->actor['id']; $s['author_xchan'] = $act->actor['id']; // ensure we store the original actor - self::actor_store($act->actor['id'],$act->actor); + self::actor_store($act->actor['id'], $act->actor); $s['mid'] = $act->obj['id']; - $s['uuid'] = $act->obj['diaspora:guid']; + $s['uuid'] = $act->obj['diaspora:guid']; $s['parent_mid'] = $act->parent_id; - if($act->data['published']) { - $s['created'] = datetime_convert('UTC','UTC',$act->data['published']); + if ($act->data['published']) { + $s['created'] = datetime_convert('UTC', 'UTC', $act->data['published']); } - elseif($act->obj['published']) { - $s['created'] = datetime_convert('UTC','UTC',$act->obj['published']); + elseif ($act->obj['published']) { + $s['created'] = datetime_convert('UTC', 'UTC', $act->obj['published']); } - if($act->data['updated']) { - $s['edited'] = datetime_convert('UTC','UTC',$act->data['updated']); + if ($act->data['updated']) { + $s['edited'] = datetime_convert('UTC', 'UTC', $act->data['updated']); } - elseif($act->obj['updated']) { - $s['edited'] = datetime_convert('UTC','UTC',$act->obj['updated']); + elseif ($act->obj['updated']) { + $s['edited'] = datetime_convert('UTC', 'UTC', $act->obj['updated']); } if ($act->data['expires']) { - $s['expires'] = datetime_convert('UTC','UTC',$act->data['expires']); + $s['expires'] = datetime_convert('UTC', 'UTC', $act->data['expires']); } elseif ($act->obj['expires']) { - $s['expires'] = datetime_convert('UTC','UTC',$act->obj['expires']); + $s['expires'] = datetime_convert('UTC', 'UTC', $act->obj['expires']); } - if(ActivityStreams::is_response_activity($act->type)) { + if (ActivityStreams::is_response_activity($act->type)) { $response_activity = true; @@ -2092,85 +2084,85 @@ class Activity { // over-ride the object timestamp with the activity - if($act->data['published']) { - $s['created'] = datetime_convert('UTC','UTC',$act->data['published']); + if ($act->data['published']) { + $s['created'] = datetime_convert('UTC', 'UTC', $act->data['published']); } - if($act->data['updated']) { - $s['edited'] = datetime_convert('UTC','UTC',$act->data['updated']); + if ($act->data['updated']) { + $s['edited'] = datetime_convert('UTC', 'UTC', $act->data['updated']); } $obj_actor = ((isset($act->obj['actor'])) ? $act->obj['actor'] : $act->get_actor('attributedTo', $act->obj)); // ensure we store the original actor - self::actor_store($obj_actor['id'],$obj_actor); + self::actor_store($obj_actor['id'], $obj_actor); $mention = self::get_actor_bbmention($obj_actor['id']); - if($act->type === 'Like') { - $content['content'] = sprintf( t('Likes %1$s\'s %2$s'),$mention,$act->obj['type']) . "\n\n" . $content['content']; + if ($act->type === 'Like') { + $content['content'] = sprintf(t('Likes %1$s\'s %2$s'), $mention, $act->obj['type']) . "\n\n" . $content['content']; } - if($act->type === 'Dislike') { - $content['content'] = sprintf( t('Doesn\'t like %1$s\'s %2$s'),$mention,$act->obj['type']) . "\n\n" . $content['content']; + if ($act->type === 'Dislike') { + $content['content'] = sprintf(t('Doesn\'t like %1$s\'s %2$s'), $mention, $act->obj['type']) . "\n\n" . $content['content']; } // handle event RSVPs - if (($act->obj['type'] === 'Event') || ($act->obj['type'] === 'Invite' && array_path_exists('object/type',$act->obj) && $act->obj['object']['type'] === 'Event')) { + if (($act->obj['type'] === 'Event') || ($act->obj['type'] === 'Invite' && array_path_exists('object/type', $act->obj) && $act->obj['object']['type'] === 'Event')) { if ($act->type === 'Accept') { - $content['content'] = sprintf( t('Will attend %s\'s event'),$mention) . EOL . EOL . $content['content']; + $content['content'] = sprintf(t('Will attend %s\'s event'), $mention) . EOL . EOL . $content['content']; } if ($act->type === 'Reject') { - $content['content'] = sprintf( t('Will not attend %s\'s event'),$mention) . EOL . EOL . $content['content']; + $content['content'] = sprintf(t('Will not attend %s\'s event'), $mention) . EOL . EOL . $content['content']; } if ($act->type === 'TentativeAccept') { - $content['content'] = sprintf( t('May attend %s\'s event'),$mention) . EOL . EOL . $content['content']; + $content['content'] = sprintf(t('May attend %s\'s event'), $mention) . EOL . EOL . $content['content']; } if ($act->type === 'TentativeReject') { - $content['content'] = sprintf( t('May not attend %s\'s event'),$mention) . EOL . EOL . $content['content']; + $content['content'] = sprintf(t('May not attend %s\'s event'), $mention) . EOL . EOL . $content['content']; } } - if($act->type === 'Announce') { - $content['content'] = sprintf( t('🔁 Repeated %1$s\'s %2$s'), $mention, $act->obj['type']); + if ($act->type === 'Announce') { + $content['content'] = sprintf(t('🔁 Repeated %1$s\'s %2$s'), $mention, $act->obj['type']); } if ($act->type === 'emojiReaction') { $content['content'] = (($act->tgt && $act->tgt['type'] === 'Image') ? '[img=32x32]' . $act->tgt['url'] . '[/img]' : '&#x' . $act->tgt['name'] . ';'); - } + } } - if(! $s['created']) + if (!$s['created']) $s['created'] = datetime_convert(); - if(! $s['edited']) + if (!$s['edited']) $s['edited'] = $s['created']; - $s['title'] = (($response_activity) ? EMPTY_STR : self::bb_content($content,'name')); - $s['summary'] = self::bb_content($content,'summary'); - $s['body'] = ((self::bb_content($content,'bbcode') && (! $response_activity)) ? self::bb_content($content,'bbcode') : self::bb_content($content,'content')); + $s['title'] = (($response_activity) ? EMPTY_STR : self::bb_content($content, 'name')); + $s['summary'] = self::bb_content($content, 'summary'); + $s['body'] = ((self::bb_content($content, 'bbcode') && (!$response_activity)) ? self::bb_content($content, 'bbcode') : self::bb_content($content, 'content')); - $s['verb'] = self::activity_decode_mapper($act->type); + $s['verb'] = self::activity_decode_mapper($act->type); // Mastodon does not provide update timestamps when updating poll tallies which means race conditions may occur here. if ($act->type === 'Update' && $act->obj['type'] === 'Question' && $s['edited'] === $s['created']) { $s['edited'] = datetime_convert(); } - if(in_array($act->type, [ 'Delete', 'Undo', 'Tombstone' ]) || ($act->type === 'Create' && $act->obj['type'] === 'Tombstone')) { + if (in_array($act->type, ['Delete', 'Undo', 'Tombstone']) || ($act->type === 'Create' && $act->obj['type'] === 'Tombstone')) { $s['item_deleted'] = 1; } $s['obj_type'] = self::activity_obj_decode_mapper($act->obj['type']); - if($s['obj_type'] === ACTIVITY_OBJ_NOTE && $s['mid'] !== $s['parent_mid']) { + if ($s['obj_type'] === ACTIVITY_OBJ_NOTE && $s['mid'] !== $s['parent_mid']) { $s['obj_type'] = ACTIVITY_OBJ_COMMENT; } $eventptr = null; - if ($act->obj['type'] === 'Invite' && array_path_exists('object/type',$act->obj) && $act->obj['object']['type'] === 'Event') { + if ($act->obj['type'] === 'Invite' && array_path_exists('object/type', $act->obj) && $act->obj['object']['type'] === 'Event') { $eventptr = $act->obj['object']; $s['mid'] = $s['parent_mid'] = $act->obj['id']; } - - if($act->obj['type'] === 'Event') { + + if ($act->obj['type'] === 'Event') { if ($act->type === 'Invite') { $s['mid'] = $s['parent_mid'] = $act->id; } @@ -2179,52 +2171,52 @@ class Activity { if ($eventptr) { - $s['obj'] = []; - $s['obj']['asld'] = $eventptr; - $s['obj']['type'] = ACTIVITY_OBJ_EVENT; - $s['obj']['id'] = $eventptr['id']; + $s['obj'] = []; + $s['obj']['asld'] = $eventptr; + $s['obj']['type'] = ACTIVITY_OBJ_EVENT; + $s['obj']['id'] = $eventptr['id']; $s['obj']['title'] = $eventptr['name']; - if(strpos($act->obj['startTime'],'Z')) + if (strpos($act->obj['startTime'], 'Z')) $s['obj']['adjust'] = true; else $s['obj']['adjust'] = false; - $s['obj']['dtstart'] = datetime_convert('UTC','UTC',$eventptr['startTime']); - if($act->obj['endTime']) - $s['obj']['dtend'] = datetime_convert('UTC','UTC',$eventptr['endTime']); + $s['obj']['dtstart'] = datetime_convert('UTC', 'UTC', $eventptr['startTime']); + if ($act->obj['endTime']) + $s['obj']['dtend'] = datetime_convert('UTC', 'UTC', $eventptr['endTime']); else $s['obj']['nofinish'] = true; $s['obj']['description'] = $eventptr['content']; - if(array_path_exists('location/content',$eventptr)) + if (array_path_exists('location/content', $eventptr)) $s['obj']['location'] = $eventptr['location']['content']; } else { - $s['obj'] = $act->obj; + $s['obj'] = $act->obj; } $generator = $act->get_property_obj('generator'); - if((! $generator) && (! $response_activity)) { - $generator = $act->get_property_obj('generator',$act->obj); + if ((!$generator) && (!$response_activity)) { + $generator = $act->get_property_obj('generator', $act->obj); } - if($generator && array_key_exists('type',$generator) - && in_array($generator['type'], [ 'Application', 'Service' ] ) && array_key_exists('name',$generator)) { + if ($generator && array_key_exists('type', $generator) + && in_array($generator['type'], ['Application', 'Service']) && array_key_exists('name', $generator)) { $s['app'] = escape_tags($generator['name']); } - if(! $response_activity) { + if (!$response_activity) { $a = self::decode_taxonomy($act->obj); - if($a) { + if ($a) { $s['term'] = $a; - foreach($a as $b) { - if($b['ttype'] === TERM_EMOJI) { - $s['title'] = str_replace($b['term'],'[img=16x16]' . $b['url'] . '[/img]',$s['title']); - $s['summary'] = str_replace($b['term'],'[img=16x16]' . $b['url'] . '[/img]',$s['summary']); - $s['body'] = str_replace($b['term'],'[img=16x16]' . $b['url'] . '[/img]',$s['body']); + foreach ($a as $b) { + if ($b['ttype'] === TERM_EMOJI) { + $s['title'] = str_replace($b['term'], '[img=16x16]' . $b['url'] . '[/img]', $s['title']); + $s['summary'] = str_replace($b['term'], '[img=16x16]' . $b['url'] . '[/img]', $s['summary']); + $s['body'] = str_replace($b['term'], '[img=16x16]' . $b['url'] . '[/img]', $s['body']); } } } @@ -2241,28 +2233,27 @@ class Activity { $s['iconfig'] = $a; } - if($act->obj['type'] === 'Note' && $s['attach']) { - $s['body'] .= self::bb_attach($s['attach'],$s['body']); + if ($act->obj['type'] === 'Note' && $s['attach']) { + $s['body'] .= self::bb_attach($s['attach'], $s['body']); } - if ($act->obj['type'] === 'Question' && in_array($act->type,['Create','Update'])) { + if ($act->obj['type'] === 'Question' && in_array($act->type, ['Create', 'Update'])) { if ($act->obj['endTime']) { - $s['comments_closed'] = datetime_convert('UTC','UTC', $act->obj['endTime']); + $s['comments_closed'] = datetime_convert('UTC', 'UTC', $act->obj['endTime']); } } if ($act->obj['closed']) { - $s['comments_closed'] = datetime_convert('UTC','UTC', $act->obj['closed']); - } - + $s['comments_closed'] = datetime_convert('UTC', 'UTC', $act->obj['closed']); + } // we will need a hook here to extract magnet links e.g. peertube // right now just link to the largest mp4 we find that will fit in our // standard content region - if(! $response_activity) { - if($act->obj['type'] === 'Video') { + if (!$response_activity) { + if ($act->obj['type'] === 'Video') { $vtypes = [ 'video/mp4', @@ -2273,27 +2264,27 @@ class Activity { $mps = []; $ptr = null; - if(array_key_exists('url',$act->obj)) { - if(is_array($act->obj['url'])) { - if(array_key_exists(0,$act->obj['url'])) { + if (array_key_exists('url', $act->obj)) { + if (is_array($act->obj['url'])) { + if (array_key_exists(0, $act->obj['url'])) { $ptr = $act->obj['url']; } else { - $ptr = [ $act->obj['url'] ]; + $ptr = [$act->obj['url']]; } - foreach($ptr as $vurl) { + foreach ($ptr as $vurl) { // peertube uses the non-standard element name 'mimeType' here - if(array_key_exists('mimeType',$vurl)) { - if(in_array($vurl['mimeType'], $vtypes)) { - if(! array_key_exists('width',$vurl)) { + if (array_key_exists('mimeType', $vurl)) { + if (in_array($vurl['mimeType'], $vtypes)) { + if (!array_key_exists('width', $vurl)) { $vurl['width'] = 0; } $mps[] = $vurl; } } - elseif(array_key_exists('mediaType',$vurl)) { - if(in_array($vurl['mediaType'], $vtypes)) { - if(! array_key_exists('width',$vurl)) { + elseif (array_key_exists('mediaType', $vurl)) { + if (in_array($vurl['mediaType'], $vtypes)) { + if (!array_key_exists('width', $vurl)) { $vurl['width'] = 0; } $mps[] = $vurl; @@ -2301,22 +2292,22 @@ class Activity { } } } - if($mps) { - usort($mps,[ __CLASS__, 'vid_sort' ]); - foreach($mps as $m) { - if(intval($m['width']) < 500 && self::media_not_in_body($m['href'],$s['body'])) { + if ($mps) { + usort($mps, [__CLASS__, 'vid_sort']); + foreach ($mps as $m) { + if (intval($m['width']) < 500 && self::media_not_in_body($m['href'], $s['body'])) { $s['body'] .= "\n\n" . '[video]' . $m['href'] . '[/video]'; break; } } } - elseif(is_string($act->obj['url']) && self::media_not_in_body($act->obj['url'],$s['body'])) { + elseif (is_string($act->obj['url']) && self::media_not_in_body($act->obj['url'], $s['body'])) { $s['body'] .= "\n\n" . '[video]' . $act->obj['url'] . '[/video]'; } } } - if($act->obj['type'] === 'Audio') { + if ($act->obj['type'] === 'Audio') { $atypes = [ 'audio/mpeg', @@ -2326,50 +2317,50 @@ class Activity { $ptr = null; - if(array_key_exists('url',$act->obj)) { - if(is_array($act->obj['url'])) { - if(array_key_exists(0,$act->obj['url'])) { + if (array_key_exists('url', $act->obj)) { + if (is_array($act->obj['url'])) { + if (array_key_exists(0, $act->obj['url'])) { $ptr = $act->obj['url']; } else { - $ptr = [ $act->obj['url'] ]; + $ptr = [$act->obj['url']]; } - foreach($ptr as $vurl) { - if(in_array($vurl['mediaType'], $atypes) && self::media_not_in_body($vurl['href'],$s['body'])) { + foreach ($ptr as $vurl) { + if (in_array($vurl['mediaType'], $atypes) && self::media_not_in_body($vurl['href'], $s['body'])) { $s['body'] .= "\n\n" . '[audio]' . $vurl['href'] . '[/audio]'; break; } } } - elseif(is_string($act->obj['url']) && self::media_not_in_body($act->obj['url'],$s['body'])) { + elseif (is_string($act->obj['url']) && self::media_not_in_body($act->obj['url'], $s['body'])) { $s['body'] .= "\n\n" . '[audio]' . $act->obj['url'] . '[/audio]'; } } } - if($act->obj['type'] === 'Image') { + if ($act->obj['type'] === 'Image') { $ptr = null; - if(array_key_exists('url',$act->obj)) { - if(is_array($act->obj['url'])) { - if(array_key_exists(0,$act->obj['url'])) { + if (array_key_exists('url', $act->obj)) { + if (is_array($act->obj['url'])) { + if (array_key_exists(0, $act->obj['url'])) { $ptr = $act->obj['url']; } else { - $ptr = [ $act->obj['url'] ]; + $ptr = [$act->obj['url']]; } - foreach($ptr as $vurl) { - if(strpos($s['body'],$vurl['href']) === false) { - $bb_imgs .= '[zmg]' . $vurl['href'] . '[/zmg]' . "\n\n"; + foreach ($ptr as $vurl) { + if (strpos($s['body'], $vurl['href']) === false) { + $bb_imgs = '[zmg]' . $vurl['href'] . '[/zmg]' . "\n\n"; break; } } $s['body'] = $bb_imgs . $s['body']; } - elseif(is_string($act->obj['url'])) { - if(strpos($s['body'],$act->obj['url']) === false) { + elseif (is_string($act->obj['url'])) { + if (strpos($s['body'], $act->obj['url']) === false) { $s['body'] .= '[zmg]' . $act->obj['url'] . '[/zmg]' . "\n\n" . $s['body']; } } @@ -2377,36 +2368,36 @@ class Activity { } - if($act->obj['type'] === 'Page' && ! $s['body']) { + if ($act->obj['type'] === 'Page' && !$s['body']) { $ptr = null; $purl = EMPTY_STR; - if(array_key_exists('url',$act->obj)) { - if(is_array($act->obj['url'])) { - if(array_key_exists(0,$act->obj['url'])) { + if (array_key_exists('url', $act->obj)) { + if (is_array($act->obj['url'])) { + if (array_key_exists(0, $act->obj['url'])) { $ptr = $act->obj['url']; } else { - $ptr = [ $act->obj['url'] ]; + $ptr = [$act->obj['url']]; } - foreach($ptr as $vurl) { - if(array_key_exists('mediaType',$vurl) && $vurl['mediaType'] === 'text/html') { + foreach ($ptr as $vurl) { + if (array_key_exists('mediaType', $vurl) && $vurl['mediaType'] === 'text/html') { $purl = $vurl['href']; break; } - elseif(array_key_exists('mimeType',$vurl) && $vurl['mimeType'] === 'text/html') { + elseif (array_key_exists('mimeType', $vurl) && $vurl['mimeType'] === 'text/html') { $purl = $vurl['href']; break; } } } - elseif(is_string($act->obj['url'])) { + elseif (is_string($act->obj['url'])) { $purl = $act->obj['url']; } - if($purl) { + if ($purl) { $li = z_fetch_url(z_root() . '/linkinfo?binurl=' . bin2hex($purl)); - if($li['success'] && $li['body']) { + if ($li['success'] && $li['body']) { $s['body'] .= "\n" . $li['body']; } else { @@ -2418,32 +2409,31 @@ class Activity { } - - if(in_array($act->obj['type'],[ 'Note','Article','Page' ])) { + if (in_array($act->obj['type'], ['Note', 'Article', 'Page'])) { $ptr = null; - if(array_key_exists('url',$act->obj)) { - if(is_array($act->obj['url'])) { - if(array_key_exists(0,$act->obj['url'])) { + if (array_key_exists('url', $act->obj)) { + if (is_array($act->obj['url'])) { + if (array_key_exists(0, $act->obj['url'])) { $ptr = $act->obj['url']; } else { - $ptr = [ $act->obj['url'] ]; + $ptr = [$act->obj['url']]; } - foreach($ptr as $vurl) { - if(array_key_exists('mediaType',$vurl) && $vurl['mediaType'] === 'text/html') { + foreach ($ptr as $vurl) { + if (array_key_exists('mediaType', $vurl) && $vurl['mediaType'] === 'text/html') { $s['plink'] = $vurl['href']; break; } } } - elseif(is_string($act->obj['url'])) { + elseif (is_string($act->obj['url'])) { $s['plink'] = $act->obj['url']; } } } - if(! $s['plink']) { + if (!$s['plink']) { $s['plink'] = $s['mid']; } @@ -2456,24 +2446,24 @@ class Activity { } if (is_array($act->obj)) { - if (array_key_exists('directMessage',$act->obj) && intval($act->obj['directMessage'])) { + if (array_key_exists('directMessage', $act->obj) && intval($act->obj['directMessage'])) { $s['item_private'] = 2; } } - set_iconfig($s,'activitypub','recips',$act->raw_recips); + set_iconfig($s, 'activitypub', 'recips', $act->raw_recips); $parent = (($s['parent_mid'] && $s['parent_mid'] === $s['mid']) ? true : false); - if($parent) { - set_iconfig($s,'activitypub','rawmsg',$act->raw,1); + if ($parent) { + set_iconfig($s, 'activitypub', 'rawmsg', $act->raw, 1); } $hookinfo = [ 'act' => $act, - 's' => $s + 's' => $s ]; - call_hooks('decode_note',$hookinfo); + call_hooks('decode_note', $hookinfo); $s = $hookinfo['s']; @@ -2481,51 +2471,177 @@ class Activity { } - static function store($channel,$observer_hash,$act,$item,$fetch_parents = true) { - + static function store($channel, $observer_hash, $act, $item, $fetch_parents = true, $force = false) { $is_sys_channel = is_sys_channel($channel['channel_id']); + $is_child_node = false; + + // TODO: not implemented + // Pleroma scrobbles can be really noisy and contain lots of duplicate activities. Disable them by default. + /*if (($act->type === 'Listen') && ($is_sys_channel || get_pconfig($channel['channel_id'], 'system', 'allow_scrobbles', false))) { + return; + }*/ // Mastodon only allows visibility in public timelines if the public inbox is listed in the 'to' field. // They are hidden in the public timeline if the public inbox is listed in the 'cc' field. // This is not part of the activitypub protocol - we might change this to show all public posts in pubstream at some point. $pubstream = ((is_array($act->obj) && array_key_exists('to', $act->obj) && in_array(ACTIVITY_PUBLIC_INBOX, $act->obj['to'])) ? true : false); - $is_parent = (($item['parent_mid'] && $item['parent_mid'] === $item['mid']) ? true : false); - if($is_parent && (! perm_is_allowed($channel['channel_id'],$observer_hash,'send_stream') && ! ($is_sys_channel && $pubstream))) { - logger('no permission'); - return; + // TODO: this his handled in pubcrawl atm. + // very unpleasant and imperfect way of determining a Mastodon DM + /*if ($act->raw_recips && array_key_exists('to',$act->raw_recips) && is_array($act->raw_recips['to']) && count($act->raw_recips['to']) === 1 && $act->raw_recips['to'][0] === channel_url($channel) && ! $act->raw_recips['cc']) { + $item['item_private'] = 2; + }*/ + + if ($item['parent_mid'] && $item['parent_mid'] !== $item['mid']) { + $is_child_node = true; } - if(is_array($act->obj)) { - $content = self::get_content($act->obj); + $allowed = false; + + // TODO: not implemented + // $permit_mentions = intval(PConfig::Get($channel['channel_id'], 'system','permit_all_mentions') && i_am_mentioned($channel,$item)); + + if ($is_child_node) { + + $p = q("select * from item where mid = '%s' and uid = %d and item_wall = 1", + dbesc($item['parent_mid']), + intval($channel['channel_id']) + ); + if ($p) { + // set the owner to the owner of the parent + $item['owner_xchan'] = $p[0]['owner_xchan']; + + // check permissions against the author, not the sender + $allowed = perm_is_allowed($channel['channel_id'], $item['author_xchan'], 'post_comments'); + if ((!$allowed)/* && $permit_mentions*/) { + if ($p[0]['owner_xchan'] === $channel['channel_hash']) { + $allowed = false; + } + else { + $allowed = true; + } + } + + // TODO: not implemented + /*if (absolutely_no_comments($p[0])) { + $allowed = false; + }*/ + + if (!$allowed) { + logger('rejected comment from ' . $item['author_xchan'] . ' for ' . $channel['channel_address']); + logger('rejected: ' . print_r($item, true), LOGGER_DATA); + + // TODO: not implemented + // let the sender know we received their comment but we don't permit spam here. + // self::send_rejection_activity($channel,$item['author_xchan'],$item); + return; + } + + // TODO: not implemented + /*if (perm_is_allowed($channel['channel_id'],$item['author_xchan'],'moderated')) { + $item['item_blocked'] = ITEM_MODERATED; + }*/ + } + else { + + $allowed = true; + // reject public stream comments that weren't sent by the conversation owner + if ($is_sys_channel && $pubstream && $item['owner_xchan'] !== $observer_hash && !$fetch_parents) { + $allowed = false; + } + } + + if ($p && $p[0]['obj_type'] === 'Question') { + if ($item['obj_type'] === 'Note' && $item['title'] && (!$item['content'])) { + $item['obj_type'] = 'Answer'; + } + } } - if(! $content) { - logger('no content'); + else { + + // The $item['item_fetched'] flag is set in fetch_and_store_parents(). + // In this case we should check against author permissions because sender is not owner. + if (perm_is_allowed($channel['channel_id'], (($item['item_fetched']) ? $item['author_xchan'] : $observer_hash), 'send_stream') || ($is_sys_channel && $pubstream)) { + $allowed = true; + } + // TODO: not implemented + /*if ($permit_mentions) { + $allowed = true; + }*/ + } + + if (tgroup_check($channel['channel_id'], $item) && (!$is_child_node)) { + // for forum deliveries, make sure we keep a copy of the signed original + set_iconfig($item, 'activitypub', 'rawmsg', $act->raw, 1); + $allowed = true; + } + + + if ($is_sys_channel) { + + /* TODO: not implemented + if (! check_pubstream_channelallowed($observer_hash)) { + $allowed = false; + } + + // don't allow pubstream posts if the sender even has a clone on a pubstream denied site + + $h = q("select hubloc_url from hubloc where hubloc_hash = '%s'", + dbesc($observer_hash) + ); + if ($h) { + foreach ($h as $hub) { + if (! check_pubstream_siteallowed($hub['hubloc_url'])) { + $allowed = false; + break; + } + } + } + */ + + if (intval($item['item_private'])) { + $allowed = false; + } + } + + // TODO: not implemented + /*$blocked = LibBlock::fetch($channel['channel_id'],BLOCKTYPE_SERVER); + if ($blocked) { + foreach($blocked as $b) { + if (strpos($observer_hash,$b['block_entity']) !== false) { + $allowed = false; + } + } + }*/ + + if (!$allowed && !$force) { + logger('no permission'); return; } $item['aid'] = $channel['channel_account_id']; $item['uid'] = $channel['channel_id']; - // Make sure we use the zot6 identity where applicable + // Some authors may be zot6 authors in which case we want to store their nomadic identity + // instead of their ActivityPub identity $item['author_xchan'] = self::find_best_identity($item['author_xchan']); $item['owner_xchan'] = self::find_best_identity($item['owner_xchan']); - if(!$item['author_xchan']) { + if (!$item['author_xchan']) { logger('No author: ' . print_r($act, true)); } - if(!$item['owner_xchan']) { + if (!$item['owner_xchan']) { logger('No owner: ' . print_r($act, true)); } - if(!$item['author_xchan'] || !$item['owner_xchan']) + if (!$item['author_xchan'] || !$item['owner_xchan']) return; - if($channel['channel_system']) { - if(! MessageFilter::evaluate($item,get_config('system','pubstream_incl'),get_config('system','pubstream_excl'))) { + if ($channel['channel_system']) { + if (!MessageFilter::evaluate($item, get_config('system', 'pubstream_incl'), get_config('system', 'pubstream_excl'))) { logger('post is filtered'); return; } @@ -2536,81 +2652,90 @@ class Activity { intval($channel['channel_id']) ); - if($abook) { - if(! post_is_importable($item,$abook[0])) { + if ($abook) { + if (!post_is_importable($item, $abook[0])) { logger('post is filtered'); return; } } - - if($act->obj['conversation']) { - set_iconfig($item,'ostatus','conversation',$act->obj['conversation'],1); + if ($act->obj['conversation']) { + set_iconfig($item, 'ostatus', 'conversation', $act->obj['conversation'], 1); } // This isn't perfect but the best we can do for now. + $item['comment_policy'] = ((isset($act->data['commentPolicy'])) ? $act->data['commentPolicy'] : 'authenticated'); - $item['comment_policy'] = 'authenticated'; + set_iconfig($item, 'activitypub', 'recips', $act->raw_recips); - set_iconfig($item,'activitypub','recips',$act->raw_recips); + // TODO: inheritPrivacy should probably be set in encode activity. Zap does not do so yet - check what this is about + if (!(isset($act->data['inheritPrivacy']) && $act->data['inheritPrivacy'])) { + if ($item['item_private']) { + $item['item_restrict'] = $item['item_restrict'] & 1; + if ($is_child_node) { + $item['allow_cid'] = '<' . $channel['channel_hash'] . '>'; + $item['allow_gid'] = $item['deny_cid'] = $item['deny_gid'] = ''; + } + logger('restricted'); + } + } - if(! $is_parent) { - $p = q("select parent_mid, id, obj_type from item where mid = '%s' and uid = %d limit 1", + if (intval($act->sigok)) { + $item['item_verified'] = 1; + } + + $parent = null; + + if ($is_child_node) { + + $parent = q("select * from item where mid = '%s' and uid = %d limit 1", dbesc($item['parent_mid']), intval($item['uid']) ); - if(! $p) { - $a = (($fetch_parents) ? self::fetch_and_store_parents($channel,$act,$item) : false); - if($a) { - $p = q("select parent_mid from item where mid = '%s' and uid = %d limit 1", - dbesc($item['parent_mid']), - intval($item['uid']) - ); - } - else { - logger('could not fetch parents'); + if (!$parent) { + if (!plugin_is_installed('pubcrawl')) { return; - - // @TODO we maybe could accept these is we formatted the body correctly with share_bb() - // or at least provided a link to the object - // if(in_array($act->type,[ 'Like','Dislike' ])) { - // return; - // } - - // @TODO do we actually want that? - // if no parent was fetched, turn into a top-level post - - // turn into a top level post - // $s['parent_mid'] = $s['mid']; - // $s['thr_parent'] = $s['mid']; } - } - - - if ($p[0]['obj_type'] === 'Question') { - if ($item['obj_type'] === ACTIVITY_OBJ_NOTE && $item['title'] && (! $item['content'])) { - $item['obj_type'] = 'Answer'; + else { + $fetch = false; + // TODO: debug + // if (perm_is_allowed($channel['channel_id'],$observer_hash,'send_stream') && (PConfig::Get($channel['channel_id'],'system','hyperdrive',true) || $act->type === 'Announce')) { + if (perm_is_allowed($channel['channel_id'], $observer_hash, 'send_stream') || ($is_sys_channel && $pubstream)) { + $fetch = (($fetch_parents) ? self::fetch_and_store_parents($channel, $observer_hash, $item, $force) : false); + } + if ($fetch) { + $parent = q("select * from item where mid = '%s' and uid = %d limit 1", + dbesc($item['parent_mid']), + intval($item['uid']) + ); + } + else { + logger('no parent'); + return; + } } } - - if($p[0]['parent_mid'] !== $item['parent_mid']) { + if ($parent[0]['parent_mid'] !== $item['parent_mid']) { $item['thr_parent'] = $item['parent_mid']; } else { - $item['thr_parent'] = $p[0]['parent_mid']; + $item['thr_parent'] = $parent[0]['parent_mid']; } - $item['parent_mid'] = $p[0]['parent_mid']; + $item['parent_mid'] = $parent[0]['parent_mid']; } + // TODO: not implemented + // self::rewrite_mentions($item); + $r = q("select id, created, edited from item where mid = '%s' and uid = %d limit 1", dbesc($item['mid']), intval($item['uid']) ); - if($r) { - if($item['edited'] > $r[0]['edited']) { + if ($r) { + if ($item['edited'] > $r[0]['edited']) { $item['id'] = $r[0]['id']; - $x = item_store_update($item); + $x = item_store_update($item); } else { return; @@ -2620,99 +2745,125 @@ class Activity { $x = item_store($item); } - if(is_array($x) && $x['item_id']) { - if($is_parent) { - if($item['owner_xchan'] === $channel['channel_hash']) { + if ($fetch_parents && $parent && !intval($parent[0]['item_private'])) { + logger('topfetch', LOGGER_DEBUG); + // if the thread owner is a connnection, we will already receive any additional comments to their posts + // but if they are not we can try to fetch others in the background + $x = q("SELECT abook.*, xchan.* FROM abook left join xchan on abook_xchan = xchan_hash + WHERE abook_channel = %d and abook_xchan = '%s' LIMIT 1", + intval($channel['channel_id']), + dbesc($parent[0]['owner_xchan']) + ); + if (!$x) { + // determine if the top-level post provides a replies collection + if ($parent[0]['obj']) { + $parent[0]['obj'] = json_decode($parent[0]['obj'], true); + } + logger('topfetch: ' . print_r($parent[0], true), LOGGER_ALL); + $id = ((array_path_exists('obj/replies/id', $parent[0])) ? $parent[0]['obj']['replies']['id'] : false); + if (!$id) { + $id = ((array_path_exists('obj/replies', $parent[0]) && is_string($parent[0]['obj']['replies'])) ? $parent[0]['obj']['replies'] : false); + } + if ($id) { + Master::Summon(['Convo', $id, $channel['channel_id'], $observer_hash]); + } + } + } + + if (is_array($x) && $x['item_id']) { + if ($is_child_node) { + if ($item['owner_xchan'] === $channel['channel_hash']) { // We are the owner of this conversation, so send all received comments back downstream - Master::Summon(array('Notifier','comment-import',$x['item_id'])); + Master::Summon(['Notifier', 'comment-import', $x['item_id']]); } $r = q("select * from item where id = %d limit 1", intval($x['item_id']) ); - if($r) { - send_status_notifications($x['item_id'],$r[0]); + if ($r) { + send_status_notifications($x['item_id'], $r[0]); } } - sync_an_item($channel['channel_id'],$x['item_id']); + sync_an_item($channel['channel_id'], $x['item_id']); } } - static public function fetch_and_store_parents($channel,$act,$item) { - + static public function fetch_and_store_parents($channel, $observer_hash, $item, $force = false) { logger('fetching parents'); $p = []; - $current_act = $act; $current_item = $item; - while($current_item['parent_mid'] !== $current_item['mid']) { + while ($current_item['parent_mid'] !== $current_item['mid']) { $n = self::fetch($current_item['parent_mid'], $channel); - if(! $n) { + + if (!$n) { break; } + $a = new ActivityStreams($n); + if ($a->type === 'Announce' && is_array($a->obj) + && array_key_exists('object', $a->obj) && array_key_exists('actor', $a->obj)) { + // This is a relayed/forwarded Activity (as opposed to a shared/boosted object) + // Reparse the encapsulated Activity and use that instead + logger('relayed activity', LOGGER_DEBUG); + $a = new ActivityStreams($a->obj); + } - //logger($a->debug()); + logger($a->debug(), LOGGER_DATA); - if(! $a->is_valid()) { + if (!$a->is_valid()) { + logger('not a valid activity'); break; } - - if (is_array($a->actor) && array_key_exists('id',$a->actor)) { - self::actor_store($a->actor['id'],$a->actor); - } - - $replies = null; - if(isset($a->obj['replies']['first']['items'])) { - $replies = $a->obj['replies']['first']['items']; - // we already have this one - array_diff($replies, [$current_item['mid']]); + if (is_array($a->actor) && array_key_exists('id', $a->actor)) { + Activity::actor_store($a->actor['id'], $a->actor); } - $item = null; - - switch($a->type) { - case 'Create': - case 'Update': - //case 'Like': - //case 'Dislike': - case 'Announce': - $item = self::decode_note($a); - break; - default: - break; + $item = Activity::decode_note($a); + if (!$item) { + break; } $hookinfo = [ - 'a' => $a, + 'a' => $a, 'item' => $item ]; - call_hooks('fetch_and_store',$hookinfo); + call_hooks('fetch_and_store', $hookinfo); $item = $hookinfo['item']; - if($item) { + if ($item) { + $item['item_fetched'] = 1; + + if (intval($channel['channel_system']) && intval($item['item_private'])) { + $p = []; + break; + } - array_unshift($p,[ $a, $item, $replies]); - - if($item['parent_mid'] === $item['mid'] || count($p) > 20) { + if (count($p) > 100) { + $p = []; break; } + array_unshift($p, [$a, $item]); + + if ($item['parent_mid'] === $item['mid']) { + break; + } } - $current_act = $a; + $current_item = $item; } - if($p) { - foreach($p as $pv) { - self::store($channel,$pv[0]->actor['id'],$pv[0],$pv[1],false); - if($pv[2]) - self::fetch_and_store_replies($channel, $pv[2]); + if ($p) { + foreach ($p as $pv) { + if ($pv[0]->is_valid()) { + Activity::store($channel, $observer_hash, $pv[0], $pv[1], false, $force); + } } return true; } @@ -2720,29 +2871,110 @@ class Activity { return false; } + /* + static public function fetch_and_store_parents($channel, $item) { + + logger('fetching parents'); + + $p = []; + + $current_item = $item; + + while ($current_item['parent_mid'] !== $current_item['mid']) { + $n = self::fetch($current_item['parent_mid'], $channel); + if (!$n) { + break; + } + $a = new ActivityStreams($n); + + //logger($a->debug()); + + if (!$a->is_valid()) { + break; + } + + if (is_array($a->actor) && array_key_exists('id', $a->actor)) { + self::actor_store($a->actor['id'], $a->actor); + } + + $replies = null; + if (isset($a->obj['replies']['first']['items'])) { + $replies = $a->obj['replies']['first']['items']; + // we already have this one + array_diff($replies, [$current_item['mid']]); + } + + $item = null; + + switch ($a->type) { + case 'Create': + case 'Update': + //case 'Like': + //case 'Dislike': + case 'Announce': + $item = self::decode_note($a); + break; + default: + break; + + } + + $hookinfo = [ + 'a' => $a, + 'item' => $item + ]; + + call_hooks('fetch_and_store', $hookinfo); + + $item = $hookinfo['item']; + + if ($item) { + + array_unshift($p, [$a, $item, $replies]); + + if ($item['parent_mid'] === $item['mid'] || count($p) > 20) { + break; + } + + } + $current_item = $item; + } + + if ($p) { + foreach ($p as $pv) { + self::store($channel, $pv[0]->actor['id'], $pv[0], $pv[1], false); + if ($pv[2]) + self::fetch_and_store_replies($channel, $pv[2]); + } + return true; + } + + return false; + } + */ static public function fetch_and_store_replies($channel, $arr) { logger('fetching replies'); - logger(print_r($arr,true)); + logger(print_r($arr, true)); $p = []; - foreach($arr as $url) { + foreach ($arr as $url) { $n = self::fetch($url, $channel); - if(! $n) { + if (!$n) { break; } $a = new ActivityStreams($n); - if(! $a->is_valid()) { + if (!$a->is_valid()) { break; } $item = null; - switch($a->type) { + switch ($a->type) { case 'Create': case 'Update': case 'Like': @@ -2755,29 +2987,29 @@ class Activity { } $hookinfo = [ - 'a' => $a, + 'a' => $a, 'item' => $item ]; - call_hooks('fetch_and_store',$hookinfo); + call_hooks('fetch_and_store', $hookinfo); $item = $hookinfo['item']; - if($item) { - array_unshift($p,[ $a, $item ]); + if ($item) { + array_unshift($p, [$a, $item]); } } - if($p) { - foreach($p as $pv) { - self::store($channel,$pv[0]->actor['id'],$pv[0],$pv[1],false); + if ($p) { + foreach ($p as $pv) { + self::store($channel, $pv[0]->actor['id'], $pv[0], $pv[1], false); } } } - static function announce_note($channel,$observer_hash,$act) { + static function announce_note($channel, $observer_hash, $act) { $s = []; @@ -2788,29 +3020,29 @@ class Activity { // This is not part of the activitypub protocol - we might change this to show all public posts in pubstream at some point. $pubstream = ((is_array($act->obj) && array_key_exists('to', $act->obj) && in_array(ACTIVITY_PUBLIC_INBOX, $act->obj['to'])) ? true : false); - if(! perm_is_allowed($channel['channel_id'],$observer_hash,'send_stream') && ! ($is_sys_channel && $pubstream)) { + if (!perm_is_allowed($channel['channel_id'], $observer_hash, 'send_stream') && !($is_sys_channel && $pubstream)) { logger('no permission'); return; } $content = self::get_content($act->obj); - if(! $content) { + if (!$content) { logger('no content'); return; } $s['owner_xchan'] = $s['author_xchan'] = $observer_hash; - $s['aid'] = $channel['channel_account_id']; - $s['uid'] = $channel['channel_id']; - $s['mid'] = urldecode($act->obj['id']); + $s['aid'] = $channel['channel_account_id']; + $s['uid'] = $channel['channel_id']; + $s['mid'] = urldecode($act->obj['id']); $s['plink'] = urldecode($act->obj['id']); - if(! $s['created']) + if (!$s['created']) $s['created'] = datetime_convert(); - if(! $s['edited']) + if (!$s['edited']) $s['edited'] = $s['created']; @@ -2820,8 +3052,8 @@ class Activity { $s['obj_type'] = ACTIVITY_OBJ_NOTE; $s['app'] = t('ActivityPub'); - if($channel['channel_system']) { - if(! \Zotlabs\Lib\MessageFilter::evaluate($s,get_config('system','pubstream_incl'),get_config('system','pubstream_excl'))) { + if ($channel['channel_system']) { + if (!MessageFilter::evaluate($s, get_config('system', 'pubstream_incl'), get_config('system', 'pubstream_excl'))) { logger('post is filtered'); return; } @@ -2832,61 +3064,61 @@ class Activity { intval($channel['channel_id']) ); - if($abook) { - if(! post_is_importable($s,$abook[0])) { + if ($abook) { + if (!post_is_importable($s, $abook[0])) { logger('post is filtered'); return; } } - if($act->obj['conversation']) { - set_iconfig($s,'ostatus','conversation',$act->obj['conversation'],1); + if ($act->obj['conversation']) { + set_iconfig($s, 'ostatus', 'conversation', $act->obj['conversation'], 1); } $a = self::decode_taxonomy($act->obj); - if($a) { + if ($a) { $s['term'] = $a; } $a = self::decode_attachment($act->obj); - if($a) { + if ($a) { $s['attach'] = $a; } - $body = "[share author='" . urlencode($act->sharee['name']) . - "' profile='" . $act->sharee['url'] . - "' avatar='" . $act->sharee['photo_s'] . - "' link='" . ((is_array($act->obj['url'])) ? $act->obj['url']['href'] : $act->obj['url']) . - "' auth='" . ((is_matrix_url($act->obj['url'])) ? 'true' : 'false' ) . - "' posted='" . $act->obj['published'] . - "' message_id='" . $act->obj['id'] . - "']"; + $body = "[share author='" . urlencode($act->sharee['name']) . + "' profile='" . $act->sharee['url'] . + "' avatar='" . $act->sharee['photo_s'] . + "' link='" . ((is_array($act->obj['url'])) ? $act->obj['url']['href'] : $act->obj['url']) . + "' auth='" . ((is_matrix_url($act->obj['url'])) ? 'true' : 'false') . + "' posted='" . $act->obj['published'] . + "' message_id='" . $act->obj['id'] . + "']"; - if($content['name']) - $body .= self::bb_content($content,'name') . "\r\n"; + if ($content['name']) + $body .= self::bb_content($content, 'name') . "\r\n"; - $body .= self::bb_content($content,'content'); + $body .= self::bb_content($content, 'content'); - if($act->obj['type'] === 'Note' && $s['attach']) { - $body .= self::bb_attach($s['attach'],$body); + if ($act->obj['type'] === 'Note' && $s['attach']) { + $body .= self::bb_attach($s['attach'], $body); } $body .= "[/share]"; - $s['title'] = self::bb_content($content,'name'); - $s['body'] = $body; + $s['title'] = self::bb_content($content, 'name'); + $s['body'] = $body; - if($act->recips && (! in_array(ACTIVITY_PUBLIC_INBOX,$act->recips))) + if ($act->recips && (!in_array(ACTIVITY_PUBLIC_INBOX, $act->recips))) $s['item_private'] = 1; - set_iconfig($s,'activitypub','recips',$act->raw_recips); + set_iconfig($s, 'activitypub', 'recips', $act->raw_recips); $r = q("select created, edited from item where mid = '%s' and uid = %d limit 1", dbesc($s['mid']), intval($s['uid']) ); - if($r) { - if($s['edited'] > $r[0]['edited']) { + if ($r) { + if ($s['edited'] > $r[0]['edited']) { $x = item_store_update($s); } else { @@ -2897,35 +3129,35 @@ class Activity { $x = item_store($s); } - if(is_array($x) && $x['item_id']) { - if($s['owner_xchan'] === $channel['channel_hash']) { + if (is_array($x) && $x['item_id']) { + if ($s['owner_xchan'] === $channel['channel_hash']) { // We are the owner of this conversation, so send all received comments back downstream - Master::Summon(array('Notifier','comment-import',$x['item_id'])); + Master::Summon(['Notifier', 'comment-import', $x['item_id']]); } $r = q("select * from item where id = %d limit 1", intval($x['item_id']) ); - if($r) { - send_status_notifications($x['item_id'],$r[0]); + if ($r) { + send_status_notifications($x['item_id'], $r[0]); } - sync_an_item($channel['channel_id'],$x['item_id']); + sync_an_item($channel['channel_id'], $x['item_id']); } } - static function like_note($channel,$observer_hash,$act) { + static function like_note($channel, $observer_hash, $act) { $s = []; $parent = $act->obj['id']; - - if($act->type === 'Like') + + if ($act->type === 'Like') $s['verb'] = ACTIVITY_LIKE; - if($act->type === 'Dislike') + if ($act->type === 'Dislike') $s['verb'] = ACTIVITY_DISLIKE; - if(! $parent) + if (!$parent) return; $r = q("select * from item where uid = %d and ( mid = '%s' or mid = '%s' ) limit 1", @@ -2934,7 +3166,7 @@ class Activity { dbesc(urldecode(basename($parent))) ); - if(! $r) { + if (!$r) { logger('parent not found.'); return; } @@ -2942,14 +3174,14 @@ class Activity { xchan_query($r); $parent_item = $r[0]; - if($parent_item['owner_xchan'] === $channel['channel_hash']) { - if(! perm_is_allowed($channel['channel_id'],$observer_hash,'post_comments')) { + if ($parent_item['owner_xchan'] === $channel['channel_hash']) { + if (!perm_is_allowed($channel['channel_id'], $observer_hash, 'post_comments')) { logger('no comment permission.'); return; } } - if($parent_item['mid'] === $parent_item['parent_mid']) { + if ($parent_item['mid'] === $parent_item['parent_mid']) { $s['parent_mid'] = $parent_item['mid']; } else { @@ -2957,31 +3189,29 @@ class Activity { $s['parent_mid'] = $parent_item['parent_mid']; } - $s['owner_xchan'] = $parent_item['owner_xchan']; + $s['owner_xchan'] = $parent_item['owner_xchan']; $s['author_xchan'] = $observer_hash; - + $s['aid'] = $channel['channel_account_id']; $s['uid'] = $channel['channel_id']; $s['mid'] = $act->id; - if(! $s['parent_mid']) + if (!$s['parent_mid']) $s['parent_mid'] = $s['mid']; - - $post_type = (($parent_item['resource_type'] === 'photo') ? t('photo') : t('post')); - $links = array(array('rel' => 'alternate','type' => 'text/html', 'href' => $parent_item['plink'])); - $objtype = (($parent_item['resource_type'] === 'photo') ? ACTIVITY_OBJ_PHOTO : ACTIVITY_OBJ_NOTE ); + $post_type = (($parent_item['resource_type'] === 'photo') ? t('photo') : t('post')); - $body = $parent_item['body']; + $links = [['rel' => 'alternate', 'type' => 'text/html', 'href' => $parent_item['plink']]]; + $objtype = (($parent_item['resource_type'] === 'photo') ? ACTIVITY_OBJ_PHOTO : ACTIVITY_OBJ_NOTE); $z = q("select * from xchan where xchan_hash = '%s' limit 1", dbesc($parent_item['author_xchan']) ); - if($z) - $item_author = $z[0]; + if ($z) + $item_author = $z[0]; - $object = json_encode(array( + $object = json_encode([ 'type' => $post_type, 'id' => $parent_item['mid'], 'parent' => (($parent_item['thr_parent']) ? $parent_item['thr_parent'] : $parent_item['parent_mid']), @@ -2990,77 +3220,75 @@ class Activity { 'content' => $parent_item['body'], 'created' => $parent_item['created'], 'edited' => $parent_item['edited'], - 'author' => array( + 'author' => [ 'name' => $item_author['xchan_name'], 'address' => $item_author['xchan_addr'], 'guid' => $item_author['xchan_guid'], 'guid_sig' => $item_author['xchan_guid_sig'], - 'link' => array( - array('rel' => 'alternate', 'type' => 'text/html', 'href' => $item_author['xchan_url']), - array('rel' => 'photo', 'type' => $item_author['xchan_photo_mimetype'], 'href' => $item_author['xchan_photo_m'])), - ), - ), JSON_UNESCAPED_SLASHES + 'link' => [ + ['rel' => 'alternate', 'type' => 'text/html', 'href' => $item_author['xchan_url']], + ['rel' => 'photo', 'type' => $item_author['xchan_photo_mimetype'], 'href' => $item_author['xchan_photo_m']]], + ], + ], JSON_UNESCAPED_SLASHES ); - if($act->type === 'Like') + if ($act->type === 'Like') $bodyverb = t('%1$s likes %2$s\'s %3$s'); - if($act->type === 'Dislike') + if ($act->type === 'Dislike') $bodyverb = t('%1$s doesn\'t like %2$s\'s %3$s'); - $ulink = '[url=' . $item_author['xchan_url'] . ']' . $item_author['xchan_name'] . '[/url]'; - $alink = '[url=' . $parent_item['author']['xchan_url'] . ']' . $parent_item['author']['xchan_name'] . '[/url]'; - $plink = '[url='. z_root() . '/display/' . urlencode($act->id) . ']' . $post_type . '[/url]'; - $s['body'] = sprintf( $bodyverb, $ulink, $alink, $plink ); + $ulink = '[url=' . $item_author['xchan_url'] . ']' . $item_author['xchan_name'] . '[/url]'; + $alink = '[url=' . $parent_item['author']['xchan_url'] . ']' . $parent_item['author']['xchan_name'] . '[/url]'; + $plink = '[url=' . z_root() . '/display/' . urlencode($act->id) . ']' . $post_type . '[/url]'; + $s['body'] = sprintf($bodyverb, $ulink, $alink, $plink); - $s['app'] = t('ActivityPub'); + $s['app'] = t('ActivityPub'); // set the route to that of the parent so downstream hubs won't reject it. - $s['route'] = $parent_item['route']; + $s['route'] = $parent_item['route']; $s['item_private'] = $parent_item['item_private']; - $s['obj_type'] = $objtype; - $s['obj'] = $object; + $s['obj_type'] = $objtype; + $s['obj'] = $object; - if($act->obj['conversation']) { - set_iconfig($s,'ostatus','conversation',$act->obj['conversation'],1); + if ($act->obj['conversation']) { + set_iconfig($s, 'ostatus', 'conversation', $act->obj['conversation'], 1); } - if($act->recips && (! in_array(ACTIVITY_PUBLIC_INBOX,$act->recips))) + if ($act->recips && (!in_array(ACTIVITY_PUBLIC_INBOX, $act->recips))) $s['item_private'] = 1; - set_iconfig($s,'activitypub','recips',$act->raw_recips); + set_iconfig($s, 'activitypub', 'recips', $act->raw_recips); $result = item_store($s); - if($result['success']) { + if ($result['success']) { // if the message isn't already being relayed, notify others - if(intval($parent_item['item_origin'])) - Master::Summon(array('Notifier','comment-import',$result['item_id'])); - sync_an_item($channel['channel_id'],$result['item_id']); + if (intval($parent_item['item_origin'])) + Master::Summon(['Notifier', 'comment-import', $result['item_id']]); + sync_an_item($channel['channel_id'], $result['item_id']); } return; } - - - static function bb_attach($attach,$body) { + static function bb_attach($attach, $body) { $ret = false; - foreach($attach as $a) { - if(strpos($a['type'],'image') !== false) { - if(self::media_not_in_body($a['href'],$body)) { + foreach ($attach as $a) { + if (strpos($a['type'], 'image') !== false) { + if (self::media_not_in_body($a['href'], $body)) { $ret .= "\n\n" . '[img]' . $a['href'] . '[/img]'; } } - if(array_key_exists('type',$a) && strpos($a['type'], 'video') === 0) { - if(self::media_not_in_body($a['href'],$body)) { + if (array_key_exists('type', $a) && strpos($a['type'], 'video') === 0) { + if (self::media_not_in_body($a['href'], $body)) { $ret .= "\n\n" . '[video]' . $a['href'] . '[/video]'; } } - if(array_key_exists('type',$a) && strpos($a['type'], 'audio') === 0) { - if(self::media_not_in_body($a['href'],$body)) { + if (array_key_exists('type', $a) && strpos($a['type'], 'audio') === 0) { + if (self::media_not_in_body($a['href'], $body)) { $ret .= "\n\n" . '[audio]' . $a['href'] . '[/audio]'; } } @@ -3069,116 +3297,109 @@ class Activity { return $ret; } - // check for the existence of existing media link in body + static function media_not_in_body($s, $body) { - static function media_not_in_body($s,$body) { - - if((strpos($body,']' . $s . '[/img]') === false) && - (strpos($body,']' . $s . '[/zmg]') === false) && - (strpos($body,']' . $s . '[/video]') === false) && - (strpos($body,']' . $s . '[/audio]') === false)) { + if ((strpos($body, ']' . $s . '[/img]') === false) && + (strpos($body, ']' . $s . '[/zmg]') === false) && + (strpos($body, ']' . $s . '[/video]') === false) && + (strpos($body, ']' . $s . '[/audio]') === false)) { return true; } return false; } - - static function bb_content($content,$field) { + static function bb_content($content, $field) { require_once('include/html2bbcode.php'); require_once('include/event.php'); $ret = false; - if(is_array($content[$field])) { - foreach($content[$field] as $k => $v) { + if (is_array($content[$field])) { + foreach ($content[$field] as $k => $v) { $ret .= html2bbcode($v); // save this for auto-translate or dynamic filtering // $ret .= '[language=' . $k . ']' . html2bbcode($v) . '[/language]'; } } else { - if($field === 'bbcode' && array_key_exists('bbcode',$content)) { + if ($field === 'bbcode' && array_key_exists('bbcode', $content)) { $ret = $content[$field]; } else { $ret = html2bbcode($content[$field]); } } - if($field === 'content' && $content['event'] && (! strpos($ret,'[event'))) { + if ($field === 'content' && $content['event'] && (!strpos($ret, '[event'))) { $ret .= format_event_bbcode($content['event']); } return $ret; } - static function get_content($act) { $content = []; - $event = null; + $event = null; - if ((! $act) || (! is_array($act))) { + if ((!$act) || (!is_array($act))) { return $content; } - if($act['type'] === 'Event') { - $adjust = false; - $event = []; - $event['event_hash'] = $act['id']; - if(array_key_exists('startTime',$act) && strpos($act['startTime'],-1,1) === 'Z') { - $adjust = true; - $event['adjust'] = 1; - $event['dtstart'] = datetime_convert('UTC','UTC',$event['startTime'] . (($adjust) ? '' : 'Z')); - } - if(array_key_exists('endTime',$act)) { - $event['dtend'] = datetime_convert('UTC','UTC',$event['endTime'] . (($adjust) ? '' : 'Z')); - } - else { - $event['nofinish'] = true; - } - } - - foreach ([ 'name', 'summary', 'content' ] as $a) { - if (($x = self::get_textfield($act,$a)) !== false) { + if ($act['type'] === 'Event') { + $adjust = false; + $event = []; + $event['event_hash'] = $act['id']; + if (array_key_exists('startTime', $act) && strpos($act['startTime'], -1, 1) === 'Z') { + $adjust = true; + $event['adjust'] = 1; + $event['dtstart'] = datetime_convert('UTC', 'UTC', $event['startTime'] . (($adjust) ? '' : 'Z')); + } + if (array_key_exists('endTime', $act)) { + $event['dtend'] = datetime_convert('UTC', 'UTC', $event['endTime'] . (($adjust) ? '' : 'Z')); + } + else { + $event['nofinish'] = true; + } + } + + foreach (['name', 'summary', 'content'] as $a) { + if (($x = self::get_textfield($act, $a)) !== false) { $content[$a] = $x; } } - if($event) { + if ($event) { $event['summary'] = $content['name']; - if(! $event['summary']) { - if($content['summary']) { + if (!$event['summary']) { + if ($content['summary']) { $event['summary'] = html2plain($content['summary']); } } $event['description'] = html2bbcode($content['content']); - if($event['summary'] && $event['dtstart']) { + if ($event['summary'] && $event['dtstart']) { $content['event'] = $event; } } - if (array_path_exists('source/mediaType',$act) && array_path_exists('source/content',$act)) { + if (array_path_exists('source/mediaType', $act) && array_path_exists('source/content', $act)) { if ($act['source']['mediaType'] === 'text/bbcode') { $content['bbcode'] = purify_html($act['source']['content']); } } - - return $content; } + static function get_textfield($act, $field) { - static function get_textfield($act,$field) { - $content = false; - if(array_key_exists($field,$act) && $act[$field]) + if (array_key_exists($field, $act) && $act[$field]) $content = purify_html($act[$field]); - elseif(array_key_exists($field . 'Map',$act) && $act[$field . 'Map']) { - foreach($act[$field . 'Map'] as $k => $v) { + elseif (array_key_exists($field . 'Map', $act) && $act[$field . 'Map']) { + foreach ($act[$field . 'Map'] as $k => $v) { $content[escape_tags($k)] = purify_html($v); } } @@ -3187,11 +3408,10 @@ class Activity { // Find either an Authorization: Bearer token or 'token' request variable // in the current web request and return it - static function token_from_request() { - foreach ( [ 'REDIRECT_REMOTE_USER', 'HTTP_AUTHORIZATION' ] as $s ) { - $auth = ((array_key_exists($s,$_SERVER) && strpos($_SERVER[$s],'Bearer ') === 0) + foreach (['REDIRECT_REMOTE_USER', 'HTTP_AUTHORIZATION'] as $s) { + $auth = ((array_key_exists($s, $_SERVER) && strpos($_SERVER[$s], 'Bearer ') === 0) ? str_replace('Bearer ', EMPTY_STR, $_SERVER[$s]) : EMPTY_STR ); @@ -3200,8 +3420,8 @@ class Activity { } } - if (! $auth) { - if (array_key_exists('token',$_REQUEST) && $_REQUEST['token']) { + if (!$auth) { + if (array_key_exists('token', $_REQUEST) && $_REQUEST['token']) { $auth = $_REQUEST['token']; } } @@ -3211,7 +3431,7 @@ class Activity { static function find_best_identity($xchan) { - if(filter_var($xchan, FILTER_VALIDATE_URL)) { + if (filter_var($xchan, FILTER_VALIDATE_URL)) { $r = q("select hubloc_hash, hubloc_network from hubloc where hubloc_id_url = '%s' and hubloc_network in ('zot6', 'zot') and hubloc_deleted = 0", dbesc($xchan) ); diff --git a/Zotlabs/Lib/ActivityStreams.php b/Zotlabs/Lib/ActivityStreams.php index f877fbb45..ba7ec0c65 100644 --- a/Zotlabs/Lib/ActivityStreams.php +++ b/Zotlabs/Lib/ActivityStreams.php @@ -7,25 +7,24 @@ namespace Zotlabs\Lib; * * Parses an ActivityStream JSON string. */ - class ActivityStreams { - public $raw = null; - public $data = null; - public $valid = false; - public $deleted = false; - public $id = ''; - public $parent_id = ''; - public $type = ''; - public $actor = null; - public $obj = null; - public $tgt = null; - public $origin = null; - public $owner = null; - public $signer = null; - public $ldsig = null; - public $sigok = false; - public $recips = null; + public $raw = null; + public $data = null; + public $valid = false; + public $deleted = false; + public $id = ''; + public $parent_id = ''; + public $type = ''; + public $actor = null; + public $obj = null; + public $tgt = null; + public $origin = null; + public $owner = null; + public $signer = null; + public $ldsig = null; + public $sigok = false; + public $recips = null; public $raw_recips = null; /** @@ -37,29 +36,29 @@ class ActivityStreams { */ function __construct($string) { - $this->raw = $string; + $this->raw = $string; - if(is_array($string)) { + if (is_array($string)) { $this->data = $string; } else { $this->data = json_decode($string, true); } - if($this->data) { + if ($this->data) { // verify and unpack JSalmon signature if present - if(is_array($this->data) && array_key_exists('signed',$this->data)) { + if (is_array($this->data) && array_key_exists('signed', $this->data)) { $ret = JSalmon::verify($this->data); $tmp = JSalmon::unpack($this->data['data']); - if($ret && $ret['success']) { - if($ret['signer']) { - $saved = json_encode($this->data,JSON_UNESCAPED_SLASHES); - $this->data = $tmp; - $this->data['signer'] = $ret['signer']; + if ($ret && $ret['success']) { + if ($ret['signer']) { + $saved = json_encode($this->data, JSON_UNESCAPED_SLASHES); + $this->data = $tmp; + $this->data['signer'] = $ret['signer']; $this->data['signed_data'] = $saved; - if($ret['hubloc']) { + if ($ret['hubloc']) { $this->data['hubloc'] = $ret['hubloc']; } } @@ -68,57 +67,57 @@ class ActivityStreams { $this->valid = true; - if(array_key_exists('type',$this->data) && array_key_exists('actor',$this->data) && array_key_exists('object',$this->data)) { - if($this->data['type'] === 'Delete' && $this->data['actor'] === $this->data['object']) { + if (array_key_exists('type', $this->data) && array_key_exists('actor', $this->data) && array_key_exists('object', $this->data)) { + if ($this->data['type'] === 'Delete' && $this->data['actor'] === $this->data['object']) { $this->deleted = $this->data['actor']; - $this->valid = false; + $this->valid = false; } } } - if($this->is_valid()) { + if ($this->is_valid()) { $this->id = $this->get_property_obj('id'); $this->type = $this->get_primary_type(); - $this->actor = $this->get_actor('actor','',''); + $this->actor = $this->get_actor('actor', '', ''); $this->obj = $this->get_compound_property('object'); $this->tgt = $this->get_compound_property('target'); $this->origin = $this->get_compound_property('origin'); $this->recips = $this->collect_recips(); $this->ldsig = $this->get_compound_property('signature'); - if($this->ldsig) { - $this->signer = $this->get_compound_property('creator',$this->ldsig); - if($this->signer && is_array($this->signer) && array_key_exists('publicKey',$this->signer) && is_array($this->signer['publicKey']) && $this->signer['publicKey']['publicKeyPem']) { - $this->sigok = LDSignatures::verify($this->data,$this->signer['publicKey']['publicKeyPem']); + if ($this->ldsig) { + $this->signer = $this->get_compound_property('creator', $this->ldsig); + if ($this->signer && is_array($this->signer) && array_key_exists('publicKey', $this->signer) && is_array($this->signer['publicKey']) && $this->signer['publicKey']['publicKeyPem']) { + $this->sigok = LDSignatures::verify($this->data, $this->signer['publicKey']['publicKeyPem']); } } - if(! $this->obj) { - $this->obj = $this->data; + if (!$this->obj) { + $this->obj = $this->data; $this->type = 'Create'; - if(! $this->actor) { - $this->actor = $this->get_actor('attributedTo',$this->obj); + if (!$this->actor) { + $this->actor = $this->get_actor('attributedTo', $this->obj); } } // fetch recursive or embedded activities - if ($this->obj && is_array($this->obj) && array_key_exists('object',$this->obj)) { + if ($this->obj && is_array($this->obj) && array_key_exists('object', $this->obj)) { $this->obj['object'] = $this->get_compound_property($this->obj['object']); } - if($this->obj && is_array($this->obj) && $this->obj['actor']) - $this->obj['actor'] = $this->get_actor('actor',$this->obj); - if($this->tgt && is_array($this->tgt) && $this->tgt['actor']) - $this->tgt['actor'] = $this->get_actor('actor',$this->tgt); + if ($this->obj && is_array($this->obj) && $this->obj['actor']) + $this->obj['actor'] = $this->get_actor('actor', $this->obj); + if ($this->tgt && is_array($this->tgt) && $this->tgt['actor']) + $this->tgt['actor'] = $this->get_actor('actor', $this->tgt); $this->parent_id = $this->get_property_obj('inReplyTo'); - if((! $this->parent_id) && is_array($this->obj)) { + if ((!$this->parent_id) && is_array($this->obj)) { $this->parent_id = $this->obj['inReplyTo']; } - if((! $this->parent_id) && is_array($this->obj)) { + if ((!$this->parent_id) && is_array($this->obj)) { $this->parent_id = $this->obj['id']; } } @@ -147,19 +146,19 @@ class ActivityStreams { function collect_recips($base = '', $namespace = '') { $x = []; - $fields = [ 'to', 'cc', 'bto', 'bcc', 'audience']; - foreach($fields as $f) { + $fields = ['to', 'cc', 'bto', 'bcc', 'audience']; + foreach ($fields as $f) { $y = $this->get_compound_property($f, $base, $namespace); - if($y) { - if (! is_array($this->raw_recips)) { + if ($y) { + if (!is_array($this->raw_recips)) { $this->raw_recips = []; } - if (! is_array($y)) { - $y = [ $y ]; + if (!is_array($y)) { + $y = [$y]; } $this->raw_recips[$f] = $y; - $x = array_merge($x, $y); + $x = array_merge($x, $y); } } // not yet ready for prime time @@ -167,21 +166,21 @@ class ActivityStreams { return $x; } - function expand($arr,$base = '',$namespace = '') { + function expand($arr, $base = '', $namespace = '') { $ret = []; // right now use a hardwired recursion depth of 5 - for($z = 0; $z < 5; $z ++) { - if(is_array($arr) && $arr) { - foreach($arr as $a) { - if(is_array($a)) { + for ($z = 0; $z < 5; $z++) { + if (is_array($arr) && $arr) { + foreach ($arr as $a) { + if (is_array($a)) { $ret[] = $a; } else { - $x = $this->get_compound_property($a,$base,$namespace); - if($x) { - $ret = array_merge($ret,$x); + $x = $this->get_compound_property($a, $base, $namespace); + if ($x) { + $ret = array_merge($ret, $x); } } } @@ -202,33 +201,33 @@ class ActivityStreams { */ function get_namespace($base, $namespace) { - if(! $namespace) + if (!$namespace) return ''; $key = null; - foreach( [ $this->data, $base ] as $b ) { - if(! $b) + foreach ([$this->data, $base] as $b) { + if (!$b) continue; - if(array_key_exists('@context', $b)) { - if(is_array($b['@context'])) { - foreach($b['@context'] as $ns) { - if(is_array($ns)) { - foreach($ns as $k => $v) { - if($namespace === $v) + if (array_key_exists('@context', $b)) { + if (is_array($b['@context'])) { + foreach ($b['@context'] as $ns) { + if (is_array($ns)) { + foreach ($ns as $k => $v) { + if ($namespace === $v) $key = $k; } } else { - if($namespace === $ns) { + if ($namespace === $ns) { $key = ''; } } } } else { - if($namespace === $b['@context']) { + if ($namespace === $b['@context']) { $key = ''; } } @@ -248,14 +247,14 @@ class ActivityStreams { */ function get_property_obj($property, $base = '', $namespace = '') { $prefix = $this->get_namespace($base, $namespace); - if($prefix === null) + if ($prefix === null) return null; - $base = (($base) ? $base : $this->data); + $base = (($base) ? $base : $this->data); $propname = (($prefix) ? $prefix . ':' : '') . $property; - if(! is_array($base)) { - btlogger('not an array: ' . print_r($base,true)); + if (!is_array($base)) { + btlogger('not an array: ' . print_r($base, true)); return null; } @@ -279,14 +278,14 @@ class ActivityStreams { } static function is_an_actor($s) { - return (in_array($s, [ 'Application','Group','Organization','Person','Service' ])); + return (in_array($s, ['Application', 'Group', 'Organization', 'Person', 'Service'])); } static function is_response_activity($s) { - if (! $s) { + if (!$s) { return false; } - return (in_array($s, [ 'Like', 'Dislike', 'Flag', 'Block', 'Accept', 'Reject', 'TentativeAccept', 'TentativeReject', 'emojiReaction', 'EmojiReaction', 'EmojiReact' ])); + return (in_array($s, ['Like', 'Dislike', 'Flag', 'Block', 'Accept', 'Reject', 'TentativeAccept', 'TentativeReject', 'emojiReaction', 'EmojiReaction', 'EmojiReact'])); } /** @@ -298,9 +297,9 @@ class ActivityStreams { * @return NULL|mixed */ - function get_actor($property,$base='',$namespace = '') { + function get_actor($property, $base = '', $namespace = '') { $x = $this->get_property_obj($property, $base, $namespace); - if($this->is_url($x)) { + if ($this->is_url($x)) { // SECURITY: If we have already stored the actor profile, re-generate it // from cached data - don't refetch it from the network @@ -308,15 +307,15 @@ class ActivityStreams { $r = q("select * from xchan left join hubloc on xchan_hash = hubloc_hash where hubloc_id_url = '%s' limit 1", dbesc($x) ); - if($r) { - $y = Activity::encode_person($r[0]); + if ($r) { + $y = Activity::encode_person($r[0]); $y['cached'] = true; return $y; } } - $actor = $this->get_compound_property($property,$base,$namespace,true); - if(is_array($actor) && self::is_an_actor($actor['type'])) { - if(array_key_exists('id',$actor) && (! array_key_exists('inbox',$actor))) { + $actor = $this->get_compound_property($property, $base, $namespace, true); + if (is_array($actor) && self::is_an_actor($actor['type'])) { + if (array_key_exists('id', $actor) && (!array_key_exists('inbox', $actor))) { $actor = $this->fetch_property($actor['id']); } return $actor; @@ -336,7 +335,7 @@ class ActivityStreams { */ function get_compound_property($property, $base = '', $namespace = '', $first = false) { $x = $this->get_property_obj($property, $base, $namespace); - if($this->is_url($x)) { + if ($this->is_url($x)) { $y = $this->fetch_property($x); if (is_array($y)) { $x = $y; @@ -345,22 +344,22 @@ class ActivityStreams { // verify and unpack JSalmon signature if present - if(is_array($x) && array_key_exists('signed',$x)) { + if (is_array($x) && array_key_exists('signed', $x)) { $ret = JSalmon::verify($x); $tmp = JSalmon::unpack($x['data']); - if($ret && $ret['success']) { - if($ret['signer']) { - $saved = json_encode($x,JSON_UNESCAPED_SLASHES); - $x = $tmp; - $x['signer'] = $ret['signer']; + if ($ret && $ret['success']) { + if ($ret['signer']) { + $saved = json_encode($x, JSON_UNESCAPED_SLASHES); + $x = $tmp; + $x['signer'] = $ret['signer']; $x['signed_data'] = $saved; - if($ret['hubloc']) { + if ($ret['hubloc']) { $x['hubloc'] = $ret['hubloc']; } } } } - if($first && is_array($x) && array_key_exists(0,$x)) { + if ($first && is_array($x) && array_key_exists(0, $x)) { return $x[0]; } @@ -374,7 +373,7 @@ class ActivityStreams { * @return boolean */ function is_url($url) { - if(($url) && (! is_array($url)) && (strpos($url, 'http') === 0)) { + if (($url) && (!is_array($url)) && (strpos($url, 'http') === 0)) { return true; } @@ -389,13 +388,13 @@ class ActivityStreams { * @return NULL|mixed */ function get_primary_type($base = '', $namespace = '') { - if(! $base) + if (!$base) $base = $this->data; $x = $this->get_property_obj('type', $base, $namespace); - if(is_array($x)) { - foreach($x as $y) { - if(strpos($y, ':') === false) { + if (is_array($x)) { + foreach ($x as $y) { + if (strpos($y, ':') === false) { return $y; } } @@ -409,15 +408,32 @@ class ActivityStreams { return $x; } - static function is_as_request() { + static function is_as_request($channel = null) { + + $hookdata = []; + if ($channel) + $hookdata['channel'] = $channel; + + $hookdata['data'] = ['application/x-zot-activity+json']; + + call_hooks('is_as_request', $hookdata); + + $x = getBestSupportedMimeType($hookdata['data']); + return (($x) ? true : false); + + } + + static function get_accept_header_string($channel = null) { + + $hookdata = []; + if ($channel) + $hookdata['channel'] = $channel; + + $hookdata['data'] = 'application/x-zot-activity+json'; - $x = getBestSupportedMimeType([ - 'application/ld+json;profile="https://www.w3.org/ns/activitystreams"', - 'application/activity+json', - 'application/ld+json;profile="http://www.w3.org/ns/activitystreams"' - ]); + call_hooks('get_accept_header_string', $hookdata); - return(($x) ? true : false); + return $hookdata['data']; } diff --git a/Zotlabs/Lib/Apps.php b/Zotlabs/Lib/Apps.php index 7b980b8d3..05b2ba177 100644 --- a/Zotlabs/Lib/Apps.php +++ b/Zotlabs/Lib/Apps.php @@ -524,7 +524,7 @@ class Apps { } elseif(remote_channel()) { $observer = \App::get_observer(); - if($observer && $observer['xchan_network'] === 'zot') { + if($observer && in_array($observer['xchan_network'], ['zot6', 'zot'])) { // some folks might have xchan_url redirected offsite, use the connurl $x = parse_url($observer['xchan_connurl']); if($x) { diff --git a/Zotlabs/Lib/Hashpath.php b/Zotlabs/Lib/Hashpath.php new file mode 100644 index 000000000..f3b25d2b6 --- /dev/null +++ b/Zotlabs/Lib/Hashpath.php @@ -0,0 +1,55 @@ +<?php +namespace Zotlabs\Lib; + +/* + * Zotlabs\Lib\Hashpath + * + * Creates hashed directory structures for fast access and resistance to overloading any single directory with files. + * + * Takes a $hash which could be any string + * a $prefix which is where to place the hash directory in the filesystem, default is current directory + * use an empty string for $prefix to place hash directories directly off the root directory + * an optional $depth and $slice (default is 2) to indicate the hash level + * $depth = 1, 256 directories, suitable for < 384K records/files + * $depth = 2, 65536 directories, suitable for < 98M records/files + * $depth = 3, 16777216 directories, suitable for < 2.5B records/files + * ... + * The total number of records anticipated divided by the number of hash directories should generally be kept to + * less than 1500 entries for optimum performance though this varies by operating system and filesystem type. + * ext4 uses 32 bit inode numbers (~4B record limit) so use caution or alternative filesystem types with $depth above 3. + * an optional $mkdir (boolean) to recursively create the directory (ignoring errors) before returning + * + * examples: for a $hash of 'abcdefg' and prefix of 'path' the following paths are returned for $depth = 1 and $depth = 3 + * path/7d/7d1a54127b222502f5b79b5fb0803061152a44f92b37e23c6527baf665d4da9a + * path/7d/1a/54/7d1a54127b222502f5b79b5fb0803061152a44f92b37e23c6527baf665d4da9a + * + * see also: boot.php:os_mkdir() - here we provide the equivalent of mkdir -p with permissions of 770. + * + */ + +class Hashpath { + + static function path($hash, $prefix = '.', $depth = 1, $slice = 2, $mkdir = true, $alg = false) { + + if ($alg) + $hash = hash($alg, $hash); + + $start = 0; + if ($depth < 1) + $depth = 1; + $sluglen = $depth * $slice; + + do { + $slug = substr($hash, $start, $slice); + $prefix .= '/' . $slug; + $start += $slice; + $sluglen -= $slice; + } + while ($sluglen); + + if ($mkdir) + os_mkdir($prefix, STORAGE_DEFAULT_PERMISSIONS, true); + + return $prefix . '/' . $hash; + } +} diff --git a/Zotlabs/Lib/JSalmon.php b/Zotlabs/Lib/JSalmon.php index 48a4e649b..7f63cf914 100644 --- a/Zotlabs/Lib/JSalmon.php +++ b/Zotlabs/Lib/JSalmon.php @@ -40,15 +40,15 @@ class JSalmon { $ret = [ 'results' => [] ]; if(! is_array($x)) { - return $false; + return false; } if(! ( array_key_exists('signed',$x) && $x['signed'])) { - return $false; + return false; } - $signed_data = preg_replace('/\s+/','',$x['data']) . '.' - . base64url_encode($x['data_type'],true) . '.' - . base64url_encode($x['encoding'],true) . '.' + $signed_data = preg_replace('/\s+/','',$x['data']) . '.' + . base64url_encode($x['data_type'],true) . '.' + . base64url_encode($x['encoding'],true) . '.' . base64url_encode($x['alg'],true); $key = HTTPSig::get_key(EMPTY_STR,'zot6',base64url_decode($x['sigs']['key_id'])); diff --git a/Zotlabs/Lib/Libsync.php b/Zotlabs/Lib/Libsync.php index 7b968532a..e16b68cf8 100644 --- a/Zotlabs/Lib/Libsync.php +++ b/Zotlabs/Lib/Libsync.php @@ -2,9 +2,9 @@ namespace Zotlabs\Lib; -use Zotlabs\Lib\Libzot; -use Zotlabs\Lib\Queue; +use App; +use Zotlabs\Daemon\Master; class Libsync { @@ -23,21 +23,21 @@ class Libsync { logger('build_sync_packet'); - $keychange = (($packet && array_key_exists('keychange',$packet)) ? true : false); - if($keychange) { + $keychange = (($packet && array_key_exists('keychange', $packet)) ? true : false); + if ($keychange) { logger('keychange sync'); } - if(! $uid) + if (!$uid) $uid = local_channel(); - if(! $uid) + if (!$uid) return; $r = q("select * from channel where channel_id = %d limit 1", intval($uid) ); - if(! $r) + if (!$r) return; $channel = $r[0]; @@ -49,103 +49,103 @@ class Libsync { unset($channel['channel_salt']); - if(intval($channel['channel_removed'])) + if (intval($channel['channel_removed'])) return; $h = q("select hubloc.*, site.site_crypto from hubloc left join site on site_url = hubloc_url where hubloc_hash = '%s' and hubloc_deleted = 0", dbesc(($keychange) ? $packet['keychange']['old_hash'] : $channel['channel_hash']) ); - if(! $h) + if (!$h) return; - $synchubs = array(); + $synchubs = []; - foreach($h as $x) { - if($x['hubloc_host'] == \App::get_hostname()) + foreach ($h as $x) { + if ($x['hubloc_host'] == App::get_hostname()) continue; $y = q("select site_dead from site where site_url = '%s' limit 1", dbesc($x['hubloc_url']) ); - if((! $y) || ($y[0]['site_dead'] == 0)) + if ((!$y) || ($y[0]['site_dead'] == 0)) $synchubs[] = $x; } - if(! $synchubs) + if (!$synchubs) return; - $env_recips = [ $channel['channel_hash'] ]; + $env_recips = [$channel['channel_hash']]; - if($packet) - logger('packet: ' . print_r($packet, true),LOGGER_DATA, LOG_DEBUG); + if ($packet) + logger('packet: ' . print_r($packet, true), LOGGER_DATA, LOG_DEBUG); - $info = (($packet) ? $packet : array()); - $info['type'] = 'sync'; + $info = (($packet) ? $packet : []); + $info['type'] = 'sync'; $info['encoding'] = 'hz'; // note: not zot, this packet is very platform specific - $info['relocate'] = ['channel_address' => $channel['channel_address'], 'url' => z_root() ]; + $info['relocate'] = ['channel_address' => $channel['channel_address'], 'url' => z_root()]; - if(array_key_exists($uid,\App::$config) && array_key_exists('transient',\App::$config[$uid])) { - $settings = \App::$config[$uid]['transient']; - if($settings) { + if (array_key_exists($uid, App::$config) && array_key_exists('transient', App::$config[$uid])) { + $settings = App::$config[$uid]['transient']; + if ($settings) { $info['config'] = $settings; } } - if($channel) { - $info['channel'] = array(); - foreach($channel as $k => $v) { + if ($channel) { + $info['channel'] = []; + foreach ($channel as $k => $v) { // filter out any joined tables like xchan - if(strpos($k,'channel_') !== 0) + if (strpos($k, 'channel_') !== 0) continue; // don't pass these elements, they should not be synchronised $disallowed = [ - 'channel_id','channel_account_id','channel_primary','channel_address', - 'channel_deleted','channel_removed','channel_system' + 'channel_id', 'channel_account_id', 'channel_primary', 'channel_address', + 'channel_deleted', 'channel_removed', 'channel_system' ]; - if(! $keychange) { + if (!$keychange) { $disallowed[] = 'channel_prvkey'; } - if(in_array($k,$disallowed)) + if (in_array($k, $disallowed)) continue; $info['channel'][$k] = $v; } } - if($groups_changed) { + if ($groups_changed) { $r = q("select hash as collection, visible, deleted, gname as name from pgrp where uid = %d", intval($uid) ); - if($r) + if ($r) $info['collections'] = $r; $r = q("select pgrp.hash as collection, pgrp_member.xchan as member from pgrp left join pgrp_member on pgrp.id = pgrp_member.gid where pgrp_member.uid = %d", intval($uid) ); - if($r) + if ($r) $info['collection_members'] = $r; } - $interval = ((get_config('system','delivery_interval') !== false) - ? intval(get_config('system','delivery_interval')) : 2 ); + $interval = ((get_config('system', 'delivery_interval') !== false) + ? intval(get_config('system', 'delivery_interval')) : 2); - logger('Packet: ' . print_r($info,true), LOGGER_DATA, LOG_DEBUG); + logger('Packet: ' . print_r($info, true), LOGGER_DATA, LOG_DEBUG); $total = count($synchubs); - foreach($synchubs as $hub) { + foreach ($synchubs as $hub) { $hash = random_string(); - $n = Libzot::build_packet($channel,'sync',$env_recips,json_encode($info),'hz',$hub['hubloc_sitekey'],$hub['site_crypto']); - Queue::insert(array( + $n = Libzot::build_packet($channel, 'sync', $env_recips, json_encode($info), 'hz', $hub['hubloc_sitekey'], $hub['site_crypto']); + Queue::insert([ 'hash' => $hash, 'account_id' => $channel['channel_account_id'], 'channel_id' => $channel['channel_id'], @@ -153,29 +153,29 @@ class Libsync { 'driver' => $hub['hubloc_network'], 'notify' => $n, 'msg' => EMPTY_STR - )); + ]); $x = q("select count(outq_hash) as total from outq where outq_delivered = 0"); - if(intval($x[0]['total']) > intval(get_config('system','force_queue_threshold',3000))) { + if (intval($x[0]['total']) > intval(get_config('system', 'force_queue_threshold', 3000))) { logger('immediate delivery deferred.', LOGGER_DEBUG, LOG_INFO); Queue::update($hash); continue; } - \Zotlabs\Daemon\Master::Summon(array('Deliver', $hash)); + Master::Summon(['Deliver', $hash]); $total = $total - 1; - if($interval && $total) - @time_sleep_until(microtime(true) + (float) $interval); + if ($interval && $total) + @time_sleep_until(microtime(true) + (float)$interval); } } /** * @brief * - * @param array $sender + * @param string $sender * @param array $arr * @param array $deliveries * @return array @@ -187,16 +187,16 @@ class Libsync { $result = []; - $keychange = ((array_key_exists('keychange',$arr)) ? true : false); + $keychange = ((array_key_exists('keychange', $arr)) ? true : false); foreach ($deliveries as $d) { $r = q("select * from channel where channel_hash = '%s' limit 1", dbesc($sender) ); - $DR = new \Zotlabs\Lib\DReport(z_root(),$sender,$d,'sync'); + $DR = new DReport(z_root(), $sender, $d, 'sync'); - if (! $r) { + if (!$r) { $DR->update('recipient not found'); $result[] = $DR->get(); continue; @@ -206,153 +206,152 @@ class Libsync { $DR->set_name($channel['channel_name'] . ' <' . channel_reddress($channel) . '>'); - $max_friends = service_class_fetch($channel['channel_id'],'total_channels'); - $max_feeds = account_service_class_fetch($channel['channel_account_id'],'total_feeds'); + $max_friends = service_class_fetch($channel['channel_id'], 'total_channels'); + $max_feeds = account_service_class_fetch($channel['channel_account_id'], 'total_feeds'); - if($channel['channel_hash'] != $sender) { + if ($channel['channel_hash'] != $sender) { logger('Possible forgery. Sender ' . $sender . ' is not ' . $channel['channel_hash']); $DR->update('channel mismatch'); $result[] = $DR->get(); continue; } - if($keychange) { - self::keychange($channel,$arr); + if ($keychange) { + self::keychange($channel, $arr); continue; } // if the clone is active, so are we - if(substr($channel['channel_active'],0,10) !== substr(datetime_convert(),0,10)) { + if (substr($channel['channel_active'], 0, 10) !== substr(datetime_convert(), 0, 10)) { q("UPDATE channel set channel_active = '%s' where channel_id = %d", dbesc(datetime_convert()), intval($channel['channel_id']) ); } - if(array_key_exists('config',$arr) && is_array($arr['config']) && count($arr['config'])) { - foreach($arr['config'] as $cat => $k) { - foreach($arr['config'][$cat] as $k => $v) - set_pconfig($channel['channel_id'],$cat,$k,$v); + if (array_key_exists('config', $arr) && is_array($arr['config']) && count($arr['config'])) { + foreach ($arr['config'] as $cat => $k) { + foreach ($arr['config'][$cat] as $k => $v) + set_pconfig($channel['channel_id'], $cat, $k, $v); } } - if(array_key_exists('obj',$arr) && $arr['obj']) - sync_objs($channel,$arr['obj']); + if (array_key_exists('obj', $arr) && $arr['obj']) + sync_objs($channel, $arr['obj']); - if(array_key_exists('likes',$arr) && $arr['likes']) - import_likes($channel,$arr['likes']); + if (array_key_exists('likes', $arr) && $arr['likes']) + import_likes($channel, $arr['likes']); - if(array_key_exists('app',$arr) && $arr['app']) - sync_apps($channel,$arr['app']); + if (array_key_exists('app', $arr) && $arr['app']) + sync_apps($channel, $arr['app']); - if(array_key_exists('addressbook',$arr) && $arr['addressbook']) - sync_addressbook($channel,$arr['addressbook']); + if (array_key_exists('addressbook', $arr) && $arr['addressbook']) + sync_addressbook($channel, $arr['addressbook']); - if(array_key_exists('calendar',$arr) && $arr['calendar']) - sync_calendar($channel,$arr['calendar']); + if (array_key_exists('calendar', $arr) && $arr['calendar']) + sync_calendar($channel, $arr['calendar']); - if(array_key_exists('chatroom',$arr) && $arr['chatroom']) - sync_chatrooms($channel,$arr['chatroom']); + if (array_key_exists('chatroom', $arr) && $arr['chatroom']) + sync_chatrooms($channel, $arr['chatroom']); - if(array_key_exists('conv',$arr) && $arr['conv']) - import_conv($channel,$arr['conv']); + if (array_key_exists('conv', $arr) && $arr['conv']) + import_conv($channel, $arr['conv']); - if(array_key_exists('mail',$arr) && $arr['mail']) - sync_mail($channel,$arr['mail']); + if (array_key_exists('mail', $arr) && $arr['mail']) + sync_mail($channel, $arr['mail']); - if(array_key_exists('event',$arr) && $arr['event']) - sync_events($channel,$arr['event']); + if (array_key_exists('event', $arr) && $arr['event']) + sync_events($channel, $arr['event']); - if(array_key_exists('event_item',$arr) && $arr['event_item']) - sync_items($channel,$arr['event_item'],((array_key_exists('relocate',$arr)) ? $arr['relocate'] : null)); + if (array_key_exists('event_item', $arr) && $arr['event_item']) + sync_items($channel, $arr['event_item'], ((array_key_exists('relocate', $arr)) ? $arr['relocate'] : null)); - if(array_key_exists('item',$arr) && $arr['item']) - sync_items($channel,$arr['item'],((array_key_exists('relocate',$arr)) ? $arr['relocate'] : null)); + if (array_key_exists('item', $arr) && $arr['item']) + sync_items($channel, $arr['item'], ((array_key_exists('relocate', $arr)) ? $arr['relocate'] : null)); // deprecated, maintaining for a few months for upward compatibility // this should sync webpages, but the logic is a bit subtle - if(array_key_exists('item_id',$arr) && $arr['item_id']) - sync_items($channel,$arr['item_id']); + if (array_key_exists('item_id', $arr) && $arr['item_id']) + sync_items($channel, $arr['item_id']); - if(array_key_exists('menu',$arr) && $arr['menu']) - sync_menus($channel,$arr['menu']); + if (array_key_exists('menu', $arr) && $arr['menu']) + sync_menus($channel, $arr['menu']); - if(array_key_exists('file',$arr) && $arr['file']) - sync_files($channel,$arr['file']); + if (array_key_exists('file', $arr) && $arr['file']) + sync_files($channel, $arr['file']); - if(array_key_exists('wiki',$arr) && $arr['wiki']) - sync_items($channel,$arr['wiki'],((array_key_exists('relocate',$arr)) ? $arr['relocate'] : null)); + if (array_key_exists('wiki', $arr) && $arr['wiki']) + sync_items($channel, $arr['wiki'], ((array_key_exists('relocate', $arr)) ? $arr['relocate'] : null)); - if(array_key_exists('channel',$arr) && is_array($arr['channel']) && count($arr['channel'])) { + if (array_key_exists('channel', $arr) && is_array($arr['channel']) && count($arr['channel'])) { - $remote_channel = $arr['channel']; + $remote_channel = $arr['channel']; $remote_channel['channel_id'] = $channel['channel_id']; - if(array_key_exists('channel_pageflags',$arr['channel']) && intval($arr['channel']['channel_pageflags'])) { + if (array_key_exists('channel_pageflags', $arr['channel']) && intval($arr['channel']['channel_pageflags'])) { // Several pageflags are site-specific and cannot be sync'd. // Only allow those bits which are shareable from the remote and then // logically OR with the local flags - $arr['channel']['channel_pageflags'] = $arr['channel']['channel_pageflags'] & (PAGE_HIDDEN|PAGE_AUTOCONNECT|PAGE_APPLICATION|PAGE_PREMIUM|PAGE_ADULT); + $arr['channel']['channel_pageflags'] = $arr['channel']['channel_pageflags'] & (PAGE_HIDDEN | PAGE_AUTOCONNECT | PAGE_APPLICATION | PAGE_PREMIUM | PAGE_ADULT); $arr['channel']['channel_pageflags'] = $arr['channel']['channel_pageflags'] | $channel['channel_pageflags']; } $disallowed = [ - 'channel_id', 'channel_account_id', 'channel_primary', 'channel_prvkey', - 'channel_address', 'channel_notifyflags', 'channel_removed', 'channel_deleted', - 'channel_system', 'channel_r_stream', 'channel_r_profile', 'channel_r_abook', - 'channel_r_storage', 'channel_r_pages', 'channel_w_stream', 'channel_w_wall', - 'channel_w_comment', 'channel_w_mail', 'channel_w_like', 'channel_w_tagwall', - 'channel_w_chat', 'channel_w_storage', 'channel_w_pages', 'channel_a_republish', + 'channel_id', 'channel_account_id', 'channel_primary', 'channel_prvkey', + 'channel_address', 'channel_notifyflags', 'channel_removed', 'channel_deleted', + 'channel_system', 'channel_r_stream', 'channel_r_profile', 'channel_r_abook', + 'channel_r_storage', 'channel_r_pages', 'channel_w_stream', 'channel_w_wall', + 'channel_w_comment', 'channel_w_mail', 'channel_w_like', 'channel_w_tagwall', + 'channel_w_chat', 'channel_w_storage', 'channel_w_pages', 'channel_a_republish', 'channel_a_delegate' ]; - $clean = array(); - foreach($arr['channel'] as $k => $v) { - if(in_array($k,$disallowed)) + $clean = []; + foreach ($arr['channel'] as $k => $v) { + if (in_array($k, $disallowed)) continue; $clean[$k] = $v; } - if(count($clean)) { - foreach($clean as $k => $v) { - $r = dbq("UPDATE channel set " . dbesc($k) . " = '" . dbesc($v) - . "' where channel_id = " . intval($channel['channel_id']) ); + if (count($clean)) { + foreach ($clean as $k => $v) { + dbq("UPDATE channel set " . dbesc($k) . " = '" . dbesc($v) . "' where channel_id = " . intval($channel['channel_id'])); } } } - if(array_key_exists('abook',$arr) && is_array($arr['abook']) && count($arr['abook'])) { + if (array_key_exists('abook', $arr) && is_array($arr['abook']) && count($arr['abook'])) { $total_friends = 0; - $total_feeds = 0; + $total_feeds = 0; $r = q("select abook_id, abook_feed from abook where abook_channel = %d", intval($channel['channel_id']) ); - if($r) { + if ($r) { // don't count yourself $total_friends = ((count($r) > 0) ? count($r) - 1 : 0); - foreach($r as $rr) - if(intval($rr['abook_feed'])) - $total_feeds ++; + foreach ($r as $rr) + if (intval($rr['abook_feed'])) + $total_feeds++; } - $disallowed = array('abook_id','abook_account','abook_channel','abook_rating','abook_rating_text','abook_not_here'); + $disallowed = ['abook_id', 'abook_account', 'abook_channel', 'abook_rating', 'abook_rating_text', 'abook_not_here']; $fields = db_columns('abook'); - foreach($arr['abook'] as $abook) { + foreach ($arr['abook'] as $abook) { $abconfig = null; - if(array_key_exists('abconfig',$abook) && is_array($abook['abconfig']) && count($abook['abconfig'])) + if (array_key_exists('abconfig', $abook) && is_array($abook['abconfig']) && count($abook['abconfig'])) $abconfig = $abook['abconfig']; - if(! array_key_exists('abook_blocked',$abook)) { + if (!array_key_exists('abook_blocked', $abook)) { // convert from redmatrix $abook['abook_blocked'] = (($abook['abook_flags'] & 0x0001) ? 1 : 0); $abook['abook_ignored'] = (($abook['abook_flags'] & 0x0002) ? 1 : 0); @@ -364,20 +363,20 @@ class Libsync { $abook['abook_feed'] = (($abook['abook_flags'] & 0x0100) ? 1 : 0); } - $clean = array(); - if($abook['abook_xchan'] && $abook['entry_deleted']) { + $clean = []; + if ($abook['abook_xchan'] && $abook['entry_deleted']) { logger('Removing abook entry for ' . $abook['abook_xchan']); $r = q("select abook_id, abook_feed from abook where abook_xchan = '%s' and abook_channel = %d and abook_self = 0 limit 1", dbesc($abook['abook_xchan']), intval($channel['channel_id']) ); - if($r) { - contact_remove($channel['channel_id'],$r[0]['abook_id']); - if($total_friends) - $total_friends --; - if(intval($r[0]['abook_feed'])) - $total_feeds --; + if ($r) { + contact_remove($channel['channel_id'], $r[0]['abook_id']); + if ($total_friends) + $total_friends--; + if (intval($r[0]['abook_feed'])) + $total_feeds--; } continue; } @@ -386,31 +385,31 @@ class Libsync { // This relies on the undocumented behaviour that red sites send xchan info with the abook // and import_author_xchan will look them up on all federated networks - if($abook['abook_xchan'] && $abook['xchan_addr']) { + if ($abook['abook_xchan'] && $abook['xchan_addr']) { $h = Libzot::get_hublocs($abook['abook_xchan']); - if(! $h) { + if (!$h) { $xhash = import_author_xchan(encode_item_xchan($abook)); - if(! $xhash) { + if (!$xhash) { logger('Import of ' . $abook['xchan_addr'] . ' failed.'); continue; } } } - foreach($abook as $k => $v) { - if(in_array($k,$disallowed) || (strpos($k,'abook') !== 0)) { + foreach ($abook as $k => $v) { + if (in_array($k, $disallowed) || (strpos($k, 'abook') !== 0)) { continue; } - if(! in_array($k,$fields)) { + if (!in_array($k, $fields)) { continue; } $clean[$k] = $v; } - if(! array_key_exists('abook_xchan',$clean)) + if (!array_key_exists('abook_xchan', $clean)) continue; - if(array_key_exists('abook_instance',$clean) && $clean['abook_instance'] && strpos($clean['abook_instance'],z_root()) === false) { + if (array_key_exists('abook_instance', $clean) && $clean['abook_instance'] && strpos($clean['abook_instance'], z_root()) === false) { $clean['abook_not_here'] = 1; } @@ -422,12 +421,12 @@ class Libsync { // make sure we have an abook entry for this xchan on this system - if(! $r) { - if($max_friends !== false && $total_friends > $max_friends) { + if (!$r) { + if ($max_friends !== false && $total_friends > $max_friends) { logger('total_channels service class limit exceeded'); continue; } - if($max_feeds !== false && intval($clean['abook_feed']) && $total_feeds > $max_feeds) { + if ($max_feeds !== false && intval($clean['abook_feed']) && $total_feeds > $max_feeds) { logger('total_feeds service class limit exceeded'); continue; } @@ -438,18 +437,16 @@ class Libsync { 'abook_channel' => $channel['channel_id'] ] ); - $total_friends ++; - if(intval($clean['abook_feed'])) - $total_feeds ++; + $total_friends++; + if (intval($clean['abook_feed'])) + $total_feeds++; } - if(count($clean)) { - foreach($clean as $k => $v) { - if($k == 'abook_dob') + if (count($clean)) { + foreach ($clean as $k => $v) { + if ($k == 'abook_dob') $v = dbescdate($v); - - $r = dbq("UPDATE abook set " . dbesc($k) . " = '" . dbesc($v) - . "' where abook_xchan = '" . dbesc($clean['abook_xchan']) . "' and abook_channel = " . intval($channel['channel_id'])); + dbq("UPDATE abook set " . dbesc($k) . " = '" . dbesc($v) . "' where abook_xchan = '" . dbesc($clean['abook_xchan']) . "' and abook_channel = " . intval($channel['channel_id'])); } } @@ -459,10 +456,10 @@ class Libsync { // translate_abook_perms_inbound($channel,$abook); - if($abconfig) { + if ($abconfig) { /// @fixme does not handle sync of del_abconfig - foreach($abconfig as $abc) { - set_abconfig($channel['channel_id'],$abc['xchan'],$abc['cat'],$abc['k'],$abc['v']); + foreach ($abconfig as $abc) { + set_abconfig($channel['channel_id'], $abc['xchan'], $abc['cat'], $abc['k'], $abc['v']); } } } @@ -470,21 +467,21 @@ class Libsync { // sync collections (privacy groups) oh joy... - if(array_key_exists('collections',$arr) && is_array($arr['collections']) && count($arr['collections'])) { + if (array_key_exists('collections', $arr) && is_array($arr['collections']) && count($arr['collections'])) { $x = q("select * from pgrp where uid = %d", intval($channel['channel_id']) ); - foreach($arr['collections'] as $cl) { + foreach ($arr['collections'] as $cl) { $found = false; - if($x) { - foreach($x as $y) { - if($cl['collection'] == $y['hash']) { + if ($x) { + foreach ($x as $y) { + if ($cl['collection'] == $y['hash']) { $found = true; break; } } - if($found) { - if(($y['gname'] != $cl['name']) + if ($found) { + if (($y['gname'] != $cl['name']) || ($y['visible'] != $cl['visible']) || ($y['deleted'] != $cl['deleted'])) { q("update pgrp set gname = '%s', visible = %d, deleted = %d where hash = '%s' and uid = %d", @@ -495,15 +492,15 @@ class Libsync { intval($channel['channel_id']) ); } - if(intval($cl['deleted']) && (! intval($y['deleted']))) { + if (intval($cl['deleted']) && (!intval($y['deleted']))) { q("delete from pgrp_member where gid = %d", intval($y['id']) ); } } } - if(! $found) { - $r = q("INSERT INTO pgrp ( hash, uid, visible, deleted, gname ) + if (!$found) { + q("INSERT INTO pgrp ( hash, uid, visible, deleted, gname ) VALUES( '%s', %d, %d, %d, '%s' ) ", dbesc($cl['collection']), intval($channel['channel_id']), @@ -517,16 +514,16 @@ class Libsync { // They need to be removed by marking deleted and removing the members. // This shouldn't happen except for clones created before this function was written. - if($x) { + if ($x) { $found_local = false; - foreach($x as $y) { - foreach($arr['collections'] as $cl) { - if($cl['collection'] == $y['hash']) { + foreach ($x as $y) { + foreach ($arr['collections'] as $cl) { + if ($cl['collection'] == $y['hash']) { $found_local = true; break; } } - if(! $found_local) { + if (!$found_local) { q("delete from pgrp_member where gid = %d", intval($y['id']) ); @@ -546,38 +543,38 @@ class Libsync { // now sync the members - if(array_key_exists('collection_members', $arr) + if (array_key_exists('collection_members', $arr) && is_array($arr['collection_members']) && count($arr['collection_members'])) { // first sort into groups keyed by the group hash - $members = array(); - foreach($arr['collection_members'] as $cm) { - if(! array_key_exists($cm['collection'],$members)) - $members[$cm['collection']] = array(); + $members = []; + foreach ($arr['collection_members'] as $cm) { + if (!array_key_exists($cm['collection'], $members)) + $members[$cm['collection']] = []; $members[$cm['collection']][] = $cm['member']; } // our group list is already synchronised - if($x) { - foreach($x as $y) { + if ($x) { + foreach ($x as $y) { // for each group, loop on members list we just received - if(isset($y['hash']) && isset($members[$y['hash']])) { - foreach($members[$y['hash']] as $member) { + if (isset($y['hash']) && isset($members[$y['hash']])) { + foreach ($members[$y['hash']] as $member) { $found = false; - $z = q("select xchan from pgrp_member where gid = %d and uid = %d and xchan = '%s' limit 1", + $z = q("select xchan from pgrp_member where gid = %d and uid = %d and xchan = '%s' limit 1", intval($y['id']), intval($channel['channel_id']), dbesc($member) ); - if($z) + if ($z) $found = true; // if somebody is in the group that wasn't before - add them - if(! $found) { + if (!$found) { q("INSERT INTO pgrp_member (uid, gid, xchan) VALUES( %d, %d, '%s' ) ", intval($channel['channel_id']), @@ -593,10 +590,10 @@ class Libsync { intval($y['id']), intval($channel['channel_id']) ); - if($m) { - foreach($m as $mm) { + if ($m) { + foreach ($m as $mm) { // if the local existing member isn't in the list we just received - remove them - if(! in_array($mm['xchan'],$members[$y['hash']])) { + if (!in_array($mm['xchan'], $members[$y['hash']])) { q("delete from pgrp_member where xchan = '%s' and gid = %d and uid = %d", dbesc($mm['xchan']), intval($y['id']), @@ -610,17 +607,17 @@ class Libsync { } } - if(array_key_exists('profile',$arr) && is_array($arr['profile']) && count($arr['profile'])) { + if (array_key_exists('profile', $arr) && is_array($arr['profile']) && count($arr['profile'])) { - $disallowed = array('id','aid','uid','guid'); + $disallowed = ['id', 'aid', 'uid', 'guid']; - foreach($arr['profile'] as $profile) { + foreach ($arr['profile'] as $profile) { $x = q("select * from profile where profile_guid = '%s' and uid = %d limit 1", dbesc($profile['profile_guid']), intval($channel['channel_id']) ); - if(! $x) { + if (!$x) { profile_store_lowlevel( [ 'aid' => $channel['channel_account_id'], @@ -633,24 +630,24 @@ class Libsync { dbesc($profile['profile_guid']), intval($channel['channel_id']) ); - if(! $x) + if (!$x) continue; } - $clean = array(); - foreach($profile as $k => $v) { - if(in_array($k,$disallowed)) + $clean = []; + foreach ($profile as $k => $v) { + if (in_array($k, $disallowed)) continue; - if($profile['is_default'] && in_array($k,['photo','thumb'])) + if ($profile['is_default'] && in_array($k, ['photo', 'thumb'])) continue; - if($k === 'name') + if ($k === 'name') $clean['fullname'] = $v; - elseif($k === 'with') + elseif ($k === 'with') $clean['partner'] = $v; - elseif($k === 'work') + elseif ($k === 'work') $clean['employment'] = $v; - elseif(array_key_exists($k,$x[0])) + elseif (array_key_exists($k, $x[0])) $clean[$k] = $v; /** @@ -658,7 +655,7 @@ class Libsync { * We also need to import local photos if a custom photo is selected */ - if((strpos($profile['thumb'],'/photo/profile/l/') !== false) || intval($profile['is_default'])) { + if ((strpos($profile['thumb'], '/photo/profile/l/') !== false) || intval($profile['is_default'])) { $profile['photo'] = z_root() . '/photo/profile/l/' . $channel['channel_id']; $profile['thumb'] = z_root() . '/photo/profile/m/' . $channel['channel_id']; } @@ -668,11 +665,11 @@ class Libsync { } } - if(count($clean)) { - foreach($clean as $k => $v) { - $r = dbq("UPDATE profile set " . TQUOT . dbesc($k) . TQUOT . " = '" . dbesc($v) - . "' where profile_guid = '" . dbesc($profile['profile_guid']) - . "' and uid = " . intval($channel['channel_id'])); + if (count($clean)) { + foreach ($clean as $k => $v) { + dbq("UPDATE profile set " . TQUOT . dbesc($k) . TQUOT . " = '" . dbesc($v) + . "' where profile_guid = '" . dbesc($profile['profile_guid']) + . "' and uid = " . intval($channel['channel_id'])); } } } @@ -687,7 +684,7 @@ class Libsync { */ call_hooks('process_channel_sync_delivery', $addon); - $DR = new \Zotlabs\Lib\DReport(z_root(),$d,$d,'sync','channel sync delivered'); + $DR = new DReport(z_root(), $d, $d, 'sync', 'channel sync delivered'); $DR->set_name($channel['channel_name'] . ' <' . channel_reddress($channel) . '>'); @@ -708,12 +705,12 @@ class Libsync { static function sync_locations($sender, $arr, $absolute = false) { - $ret = array(); + $ret = []; - if($arr['locations']) { + if ($arr['locations']) { - if($absolute) - Libzot::check_location_move($sender['hash'],$arr['locations']); + if ($absolute) + Libzot::check_location_move($sender['hash'], $arr['locations']); $xisting = q("select * from hubloc where hubloc_hash = '%s'", dbesc($sender['hash']) @@ -722,8 +719,8 @@ class Libsync { // See if a primary is specified $has_primary = false; - foreach($arr['locations'] as $location) { - if($location['primary']) { + foreach ($arr['locations'] as $location) { + if ($location['primary']) { $has_primary = true; break; } @@ -731,32 +728,32 @@ class Libsync { // Ensure that they have one primary hub - if(! $has_primary) + if (!$has_primary) $arr['locations'][0]['primary'] = true; - foreach($arr['locations'] as $location) { - if(! Libzot::verify($location['url'],$location['url_sig'],$sender['public_key'])) { + foreach ($arr['locations'] as $location) { + if (!Libzot::verify($location['url'], $location['url_sig'], $sender['public_key'])) { logger('Unable to verify site signature for ' . $location['url']); - $ret['message'] .= sprintf( t('Unable to verify site signature for %s'), $location['url']) . EOL; + $ret['message'] .= sprintf(t('Unable to verify site signature for %s'), $location['url']) . EOL; continue; } - for($x = 0; $x < count($xisting); $x ++) { - if(($xisting[$x]['hubloc_url'] === $location['url']) + for ($x = 0; $x < count($xisting); $x++) { + if (($xisting[$x]['hubloc_url'] === $location['url']) && ($xisting[$x]['hubloc_sitekey'] === $location['sitekey'])) { $xisting[$x]['updated'] = true; } } - if(! $location['sitekey']) { - logger('Empty hubloc sitekey. ' . print_r($location,true)); + if (!$location['sitekey']) { + logger('Empty hubloc sitekey. ' . print_r($location, true)); continue; } // Catch some malformed entries from the past which still exist - if(strpos($location['address'],'/') !== false) - $location['address'] = substr($location['address'],0,strpos($location['address'],'/')); + if (strpos($location['address'], '/') !== false) + $location['address'] = substr($location['address'], 0, strpos($location['address'], '/')); // match as many fields as possible in case anything at all changed. @@ -773,7 +770,7 @@ class Libsync { dbesc($location['callback']), dbesc($location['sitekey']) ); - if($r) { + if ($r) { logger('Hub exists: ' . $location['url'], LOGGER_DEBUG); // update connection timestamp if this is the site we're talking to @@ -781,9 +778,9 @@ class Libsync { $current_site = false; - $t = datetime_convert('UTC','UTC','now - 15 minutes'); + $t = datetime_convert('UTC', 'UTC', 'now - 15 minutes'); - if(array_key_exists('site',$arr) && $location['url'] == $arr['site']['url']) { + if (array_key_exists('site', $arr) && $location['url'] == $arr['site']['url']) { q("update hubloc set hubloc_connected = '%s', hubloc_updated = '%s' where hubloc_id = %d and hubloc_connected < '%s'", dbesc(datetime_convert()), dbesc(datetime_convert()), @@ -793,11 +790,11 @@ class Libsync { $current_site = true; } - if($current_site && intval($r[0]['hubloc_error'])) { + if ($current_site && intval($r[0]['hubloc_error'])) { q("update hubloc set hubloc_error = 0 where hubloc_id = %d", intval($r[0]['hubloc_id']) ); - if(intval($r[0]['hubloc_orphancheck'])) { + if (intval($r[0]['hubloc_orphancheck'])) { q("update hubloc set hubloc_orphancheck = 0 where hubloc_id = %d", intval($r[0]['hubloc_id']) ); @@ -808,60 +805,60 @@ class Libsync { } // Remove pure duplicates - if(count($r) > 1) { - for($h = 1; $h < count($r); $h ++) { + if (count($r) > 1) { + for ($h = 1; $h < count($r); $h++) { q("delete from hubloc where hubloc_id = %d", intval($r[$h]['hubloc_id']) ); - $what .= 'duplicate_hubloc_removed '; + $what .= 'duplicate_hubloc_removed '; $changed = true; } } - if(intval($r[0]['hubloc_primary']) && (! $location['primary'])) { - $m = q("update hubloc set hubloc_primary = 0, hubloc_updated = '%s' where hubloc_id_url = '%s'", + if (intval($r[0]['hubloc_primary']) && (!$location['primary'])) { + q("update hubloc set hubloc_primary = 0, hubloc_updated = '%s' where hubloc_id_url = '%s'", dbesc(datetime_convert()), dbesc($r[0]['hubloc_id_url']) ); $r[0]['hubloc_primary'] = intval($location['primary']); hubloc_change_primary($r[0]); - $what .= 'primary_hub '; + $what .= 'primary_hub '; $changed = true; } - elseif((! intval($r[0]['hubloc_primary'])) && ($location['primary'])) { - $m = q("update hubloc set hubloc_primary = 1, hubloc_updated = '%s' where hubloc_id = %d", + elseif ((!intval($r[0]['hubloc_primary'])) && ($location['primary'])) { + q("update hubloc set hubloc_primary = 1, hubloc_updated = '%s' where hubloc_id = %d", dbesc(datetime_convert()), intval($r[0]['hubloc_id']) ); // make sure hubloc_change_primary() has current data $r[0]['hubloc_primary'] = intval($location['primary']); hubloc_change_primary($r[0]); - $what .= 'primary_hub '; + $what .= 'primary_hub '; $changed = true; } - elseif($absolute) { + elseif ($absolute) { // Absolute sync - make sure the current primary is correctly reflected in the xchan $pr = hubloc_change_primary($r[0]); - if($pr) { - $what .= 'xchan_primary '; + if ($pr) { + $what .= 'xchan_primary '; $changed = true; } } - if(intval($r[0]['hubloc_deleted']) && (! intval($location['deleted']))) { - $n = q("update hubloc set hubloc_deleted = 0, hubloc_updated = '%s' where hubloc_id_url = '%s'", + if (intval($r[0]['hubloc_deleted']) && (!intval($location['deleted']))) { + q("update hubloc set hubloc_deleted = 0, hubloc_updated = '%s' where hubloc_id_url = '%s'", dbesc(datetime_convert()), dbesc($r[0]['hubloc_id_url']) ); - $what .= 'undelete_hub '; + $what .= 'undelete_hub '; $changed = true; } - elseif((! intval($r[0]['hubloc_deleted'])) && (intval($location['deleted']))) { + elseif ((!intval($r[0]['hubloc_deleted'])) && (intval($location['deleted']))) { logger('deleting hubloc: ' . $r[0]['hubloc_addr']); - $n = q("update hubloc set hubloc_deleted = 1, hubloc_updated = '%s' where hubloc_id_url = '%s'", + q("update hubloc set hubloc_deleted = 1, hubloc_updated = '%s' where hubloc_id_url = '%s'", dbesc(datetime_convert()), dbesc($r[0]['hubloc_id_url']) ); - $what .= 'delete_hub '; + $what .= 'delete_hub '; $changed = true; } continue; @@ -870,8 +867,8 @@ class Libsync { // Existing hubs are dealt with. Now let's process any new ones. // New hub claiming to be primary. Make it so by removing any existing primaries. - if(intval($location['primary'])) { - $r = q("update hubloc set hubloc_primary = 0, hubloc_updated = '%s' where hubloc_hash = '%s' and hubloc_primary = 1", + if (intval($location['primary'])) { + q("update hubloc set hubloc_primary = 0, hubloc_updated = '%s' where hubloc_hash = '%s' and hubloc_primary = 1", dbesc(datetime_convert()), dbesc($sender['hash']) ); @@ -879,7 +876,7 @@ class Libsync { logger('New hub: ' . $location['url']); - $r = hubloc_store_lowlevel( + hubloc_store_lowlevel( [ 'hubloc_guid' => $sender['id'], 'hubloc_guid_sig' => $sender['id_sig'], @@ -890,7 +887,7 @@ class Libsync { 'hubloc_primary' => intval($location['primary']), 'hubloc_url' => $location['url'], 'hubloc_url_sig' => $location['url_sig'], - 'hubloc_site_id' => Libzot::make_xchan_hash($location['url'],$location['sitekey']), + 'hubloc_site_id' => Libzot::make_xchan_hash($location['url'], $location['sitekey']), 'hubloc_host' => $location['host'], 'hubloc_callback' => $location['callback'], 'hubloc_sitekey' => $location['sitekey'], @@ -899,15 +896,15 @@ class Libsync { ] ); - $what .= 'newhub '; + $what .= 'newhub '; $changed = true; - if($location['primary']) { + if ($location['primary']) { $r = q("select * from hubloc where hubloc_addr = '%s' and hubloc_sitekey = '%s'", dbesc($location['address']), dbesc($location['sitekey']) ); - if($r) { + if ($r) { $r = Libzot::zot_record_preferred($r); hubloc_change_primary($r); } @@ -916,15 +913,15 @@ class Libsync { // get rid of any hubs we have for this channel which weren't reported. - if($absolute && $xisting) { - foreach($xisting as $x) { - if(! array_key_exists('updated',$x)) { + if ($absolute && $xisting) { + foreach ($xisting as $x) { + if (!array_key_exists('updated', $x)) { logger('Deleting unreferenced hub location ' . $x['hubloc_addr']); - $r = q("update hubloc set hubloc_deleted = 1, hubloc_updated = '%s' where hubloc_id_url = '%s'", + q("update hubloc set hubloc_deleted = 1, hubloc_updated = '%s' where hubloc_id_url = '%s'", dbesc(datetime_convert()), dbesc($x['hubloc_id_url']) ); - $what .= 'removed_hub '; + $what .= 'removed_hub '; $changed = true; } } @@ -935,22 +932,22 @@ class Libsync { } $ret['change_message'] = $what; - $ret['changed'] = $changed; + $ret['changed'] = $changed; return $ret; } - static function keychange($channel,$arr) { + static function keychange($channel, $arr) { // verify the keychange operation - if(! Libzot::verify($arr['channel']['channel_pubkey'],$arr['keychange']['new_sig'],$channel['channel_prvkey'])) { + if (!Libzot::verify($arr['channel']['channel_pubkey'], $arr['keychange']['new_sig'], $channel['channel_prvkey'])) { logger('sync keychange: verification failed'); return; } - $sig = Libzot::sign($channel['channel_guid'],$arr['channel']['channel_prvkey']); - $hash = Libzot::make_xchan_hash($channel['channel_guid'],$arr['channel']['channel_pubkey']); + $sig = Libzot::sign($channel['channel_guid'], $arr['channel']['channel_prvkey']); + $hash = Libzot::make_xchan_hash($channel['channel_guid'], $arr['channel']['channel_pubkey']); $r = q("update channel set channel_prvkey = '%s', channel_pubkey = '%s', channel_guid_sig = '%s', @@ -961,16 +958,16 @@ class Libsync { dbesc($hash), intval($channel['channel_id']) ); - if(! $r) { + if (!$r) { logger('keychange sync: channel update failed'); return; - } + } $r = q("select * from channel where channel_id = %d", intval($channel['channel_id']) ); - if(! $r) { + if (!$r) { logger('keychange sync: channel retrieve failed'); return; } @@ -982,11 +979,11 @@ class Libsync { dbesc(z_root()) ); - if($h) { - foreach($h as $hv) { + if ($h) { + foreach ($h as $hv) { $hv['hubloc_guid_sig'] = $sig; $hv['hubloc_hash'] = $hash; - $hv['hubloc_url_sig'] = Libzot::sign(z_root(),$channel['channel_prvkey']); + $hv['hubloc_url_sig'] = Libzot::sign(z_root(), $channel['channel_prvkey']); hubloc_store_lowlevel($hv); } } @@ -999,12 +996,12 @@ class Libsync { dbesc($hash) ); - if(($x) && (! $check)) { + if (($x) && (!$check)) { $oldxchan = $x[0]; - foreach($x as $xv) { - $xv['xchan_guid_sig'] = $sig; - $xv['xchan_hash'] = $hash; - $xv['xchan_pubkey'] = $channel['channel_pubkey']; + foreach ($x as $xv) { + $xv['xchan_guid_sig'] = $sig; + $xv['xchan_hash'] = $hash; + $xv['xchan_pubkey'] = $channel['channel_pubkey']; xchan_store_lowlevel($xv); $newxchan = $xv; } @@ -1014,14 +1011,14 @@ class Libsync { dbesc($arr['keychange']['old_hash']) ); - if($a) { + if ($a) { q("update abook set abook_xchan = '%s' where abook_id = %d", dbesc($hash), intval($a[0]['abook_id']) ); } - xchan_change_key($oldxchan,$newxchan,$arr['keychange']); + xchan_change_key($oldxchan, $newxchan, $arr['keychange']); } diff --git a/Zotlabs/Lib/Libzot.php b/Zotlabs/Lib/Libzot.php index 972ebe0e9..fd30f05f5 100644 --- a/Zotlabs/Lib/Libzot.php +++ b/Zotlabs/Lib/Libzot.php @@ -34,7 +34,7 @@ class Libzot { */ static function new_uid($channel_nick) { $rawstr = z_root() . '/' . $channel_nick . '.' . mt_rand(); - return(base64url_encode(hash('whirlpool', $rawstr, true), true)); + return (base64url_encode(hash('whirlpool', $rawstr, true), true)); } @@ -87,7 +87,7 @@ class Libzot { * packet type: one of 'ping', 'pickup', 'purge', 'refresh', 'keychange', 'force_refresh', 'notify', 'auth_check' * @param array $recipients * envelope recipients, array of portable_id's; empty for public posts - * @param string $msg + * @param array $msg * optional message * @param string $encoding * optional encoding, default 'activitystreams' @@ -98,15 +98,15 @@ class Libzot { * optional comma separated list of encryption methods @ref best_algorithm() * @returns string json encoded zot packet */ - static function build_packet($channel, $type = 'activity', $recipients = null, $msg = '', $encoding = 'activitystreams', $remote_key = null, $methods = '') { + static function build_packet($channel, $type = 'activity', $recipients = null, $msg = [], $encoding = 'activitystreams', $remote_key = null, $methods = '') { - $sig_method = get_config('system','signature_algorithm','sha256'); + $sig_method = get_config('system', 'signature_algorithm', 'sha256'); $data = [ 'type' => $type, 'encoding' => $encoding, 'sender' => $channel['channel_hash'], - 'site_id' => self::make_xchan_hash(z_root(), get_config('system','pubkey')), + 'site_id' => self::make_xchan_hash(z_root(), get_config('system', 'pubkey')), 'version' => System::get_zot_revision(), ]; @@ -116,8 +116,8 @@ class Libzot { if ($msg) { $actor = channel_url($channel); - if ($encoding === 'activitystreams' && array_key_exists('actor',$msg) && is_string($msg['actor']) && $actor === $msg['actor']) { - $msg = JSalmon::sign($msg,$actor,$channel['channel_prvkey']); + if ($encoding === 'activitystreams' && array_key_exists('actor', $msg) && is_string($msg['actor']) && $actor === $msg['actor']) { + $msg = JSalmon::sign($msg, $actor, $channel['channel_prvkey']); } $data['data'] = $msg; } @@ -125,12 +125,12 @@ class Libzot { unset($data['encoding']); } - logger('packet: ' . print_r($data,true), LOGGER_DATA, LOG_DEBUG); + logger('packet: ' . print_r($data, true), LOGGER_DATA, LOG_DEBUG); if ($remote_key) { $algorithm = self::best_algorithm($methods); if ($algorithm) { - $data = crypto_encapsulate(json_encode($data),$remote_key, $algorithm); + $data = crypto_encapsulate(json_encode($data), $remote_key, $algorithm); } } @@ -150,7 +150,7 @@ class Libzot { $x = [ 'methods' => $methods, - 'result' => '' + 'result' => '' ]; /** @@ -161,18 +161,18 @@ class Libzot { */ call_hooks('zot_best_algorithm', $x); - if($x['result']) + if ($x['result']) return $x['result']; - if($methods) { + if ($methods) { $x = explode(',', $methods); - if($x) { + if ($x) { $y = crypto_methods(); - if($y) { - foreach($y as $yv) { + if ($y) { + foreach ($y as $yv) { $yv = trim($yv); - if(in_array($yv, $x)) { - return($yv); + if (in_array($yv, $x)) { + return ($yv); } } } @@ -186,17 +186,17 @@ class Libzot { /** * @brief Send a zot message. * - * @see z_post_url() - * * @param string $url - * @param array $data + * @param string $data * @param array $channel (required if using zot6 delivery) * @param array $crypto (required if encrypted httpsig, requires hubloc_sitekey and site_crypto elements) * @return array see z_post_url() for returned data format + * @see z_post_url() + * */ - static function zot($url, $data, $channel = null,$crypto = null) { + static function zot($url, $data, $channel = null, $crypto = null) { - if($channel) { + if ($channel) { $headers = [ 'X-Zot-Token' => random_string(), 'Digest' => HTTPSig::generate_digest_header($data), @@ -204,8 +204,8 @@ class Libzot { '(request-target)' => 'post ' . get_request_string($url) ]; - $h = HTTPSig::create_sig($headers,$channel['channel_prvkey'],channel_url($channel),false,'sha512', - (($crypto) ? [ 'key' => $crypto['hubloc_sitekey'], 'algorithm' => self::best_algorithm($crypto['site_crypto']) ] : false)); + $h = HTTPSig::create_sig($headers, $channel['channel_prvkey'], channel_url($channel), false, 'sha512', + (($crypto) ? ['key' => $crypto['hubloc_sitekey'], 'algorithm' => self::best_algorithm($crypto['site_crypto'])] : false)); } else { $h = []; @@ -213,7 +213,7 @@ class Libzot { $redirects = 0; - return z_post_url($url,$data,$redirects,((empty($h)) ? [] : [ 'headers' => $h ])); + return z_post_url($url, $data, $redirects, ((empty($h)) ? [] : ['headers' => $h])); } @@ -237,7 +237,7 @@ class Libzot { * * @param array $them => xchan structure of sender * @param array $channel => local channel structure of target recipient, required for "friending" operations - * @param array $force (optional) default false + * @param boolean $force (optional) default false * * @return boolean * * \b true if successful @@ -245,9 +245,9 @@ class Libzot { */ static function refresh($them, $channel = null, $force = false) { - logger('them: ' . print_r($them,true), LOGGER_DATA, LOG_DEBUG); + logger('them: ' . print_r($them, true), LOGGER_DATA, LOG_DEBUG); if ($channel) - logger('channel: ' . print_r($channel,true), LOGGER_DATA, LOG_DEBUG); + logger('channel: ' . print_r($channel, true), LOGGER_DATA, LOG_DEBUG); $url = null; @@ -261,12 +261,12 @@ class Libzot { // We'll order by reverse id to try and pick off the newest one first and hopefully end up with the // correct hubloc. If this doesn't work we may have to re-write this section to try them all. - if(array_key_exists('xchan_addr',$them) && $them['xchan_addr']) { + if (array_key_exists('xchan_addr', $them) && $them['xchan_addr']) { $r = q("select hubloc_id_url, hubloc_primary from hubloc where hubloc_addr = '%s' and hubloc_network = 'zot6' order by hubloc_id desc", dbesc($them['xchan_addr']) ); } - if(! $r) { + if (!$r) { $r = q("select hubloc_id_url, hubloc_primary from hubloc where hubloc_hash = '%s' order by hubloc_id desc", dbesc($them['xchan_hash']) ); @@ -275,16 +275,16 @@ class Libzot { if ($r) { foreach ($r as $rr) { if (intval($rr['hubloc_primary'])) { - $url = $rr['hubloc_id_url']; + $url = $rr['hubloc_id_url']; $record = $rr; } } - if (! $url) { + if (!$url) { $url = $r[0]['hubloc_id_url']; } } } - if (! $url) { + if (!$url) { logger('zot_refresh: no url'); return false; } @@ -293,64 +293,64 @@ class Libzot { dbesc($url) ); - if($s && intval($s[0]['site_dead']) && (! $force)) { + if ($s && intval($s[0]['site_dead']) && (!$force)) { logger('zot_refresh: site ' . $url . ' is marked dead and force flag is not set. Cancelling operation.'); return false; } - $record = Zotfinger::exec($url,$channel); + $record = Zotfinger::exec($url, $channel); // Check the HTTP signature $hsig = $record['signature']; - if($hsig && $hsig['signer'] === $url && $hsig['header_valid'] === true && $hsig['content_valid'] === true) + if ($hsig && $hsig['signer'] === $url && $hsig['header_valid'] === true && $hsig['content_valid'] === true) $hsig_valid = true; - if(! $hsig_valid) { - logger('http signature not valid: ' . print_r($hsig,true)); + if (!$hsig_valid) { + logger('http signature not valid: ' . print_r($hsig, true)); return false; } - logger('zot-info: ' . print_r($record,true), LOGGER_DATA, LOG_DEBUG); + logger('zot-info: ' . print_r($record, true), LOGGER_DATA, LOG_DEBUG); $x = self::import_xchan($record['data'], (($force) ? UPDATE_FLAGS_FORCED : UPDATE_FLAGS_UPDATED)); - if(! $x['success']) + if (!$x['success']) return false; - if($channel && $record['data']['permissions']) { - $permissions = explode(',',$record['data']['permissions']); + if ($channel && $record['data']['permissions']) { + $permissions = explode(',', $record['data']['permissions']); - if($permissions && is_array($permissions)) { - $old_read_stream_perm = get_abconfig($channel['channel_id'],$x['hash'],'their_perms','view_stream'); + if ($permissions && is_array($permissions)) { + $old_read_stream_perm = get_abconfig($channel['channel_id'], $x['hash'], 'their_perms', 'view_stream'); $permissions = Permissions::FilledPerms($permissions); - foreach($permissions as $k => $v) { - set_abconfig($channel['channel_id'],$x['hash'],'their_perms',$k,$v); + foreach ($permissions as $k => $v) { + set_abconfig($channel['channel_id'], $x['hash'], 'their_perms', $k, $v); } } - if(array_key_exists('profile',$record['data']) && array_key_exists('next_birthday',$record['data']['profile'])) { - $next_birthday = datetime_convert('UTC','UTC',$record['data']['profile']['next_birthday']); + if (array_key_exists('profile', $record['data']) && array_key_exists('next_birthday', $record['data']['profile'])) { + $next_birthday = datetime_convert('UTC', 'UTC', $record['data']['profile']['next_birthday']); } else { $next_birthday = NULL_DATE; } - $profile_assign = get_pconfig($channel['channel_id'],'system','profile_assign',''); + $profile_assign = get_pconfig($channel['channel_id'], 'system', 'profile_assign', ''); // Keep original perms to check if we need to notify them - $previous_perms = get_all_perms($channel['channel_id'],$x['hash']); + $previous_perms = get_all_perms($channel['channel_id'], $x['hash']); $r = q("select * from abook where abook_xchan = '%s' and abook_channel = %d and abook_self = 0 limit 1", dbesc($x['hash']), intval($channel['channel_id']) ); - if($r) { + if ($r) { // connection exists @@ -358,7 +358,7 @@ class Libzot { // we have as we may have updated the year after sending a notification; and resetting // to the one we just received would cause us to create duplicated events. - if(substr($r[0]['abook_dob'],5) == substr($next_birthday,5)) + if (substr($r[0]['abook_dob'], 5) == substr($next_birthday, 5)) $next_birthday = $r[0]['abook_dob']; $y = q("update abook set abook_dob = '%s' @@ -369,30 +369,30 @@ class Libzot { intval($channel['channel_id']) ); - if(! $y) + if (!$y) logger('abook update failed'); else { // if we were just granted read stream permission and didn't have it before, try to pull in some posts - if((! $old_read_stream_perm) && (intval($permissions['view_stream']))) - Master::Summon([ 'Onepoll', $r[0]['abook_id'] ]); + if ((!$old_read_stream_perm) && (intval($permissions['view_stream']))) + Master::Summon(['Onepoll', $r[0]['abook_id']]); } } else { - $p = Permissions::connect_perms($channel['channel_id']); + $p = Permissions::connect_perms($channel['channel_id']); $my_perms = $p['perms']; $automatic = $p['automatic']; // new connection - if($my_perms) { - foreach($my_perms as $k => $v) { - set_abconfig($channel['channel_id'],$x['hash'],'my_perms',$k,$v); + if ($my_perms) { + foreach ($my_perms as $k => $v) { + set_abconfig($channel['channel_id'], $x['hash'], 'my_perms', $k, $v); } } - $closeness = get_pconfig($channel['channel_id'],'system','new_abook_closeness',80); + $closeness = get_pconfig($channel['channel_id'], 'system', 'new_abook_closeness', 80); $y = abook_store_lowlevel( [ @@ -408,9 +408,9 @@ class Libzot { ] ); - if($y) { + if ($y) { logger("New introduction received for {$channel['channel_name']}"); - $new_perms = get_all_perms($channel['channel_id'],$x['hash'],false); + $new_perms = get_all_perms($channel['channel_id'], $x['hash'], false); // Send a clone sync packet and a permissions update if permissions have changed @@ -419,45 +419,45 @@ class Libzot { intval($channel['channel_id']) ); - if($new_connection) { - if(! Permissions::PermsCompare($new_perms,$previous_perms)) - Master::Summon([ 'Notifier', 'permissions_create', $new_connection[0]['abook_id'] ]); + if ($new_connection) { + if (!Permissions::PermsCompare($new_perms, $previous_perms)) + Master::Summon(['Notifier', 'permission_create', $new_connection[0]['abook_id']]); Enotify::submit( [ - 'type' => NOTIFY_INTRO, - 'from_xchan' => $x['hash'], - 'to_xchan' => $channel['channel_hash'], - 'link' => z_root() . '/connedit/' . $new_connection[0]['abook_id'] + 'type' => NOTIFY_INTRO, + 'from_xchan' => $x['hash'], + 'to_xchan' => $channel['channel_hash'], + 'link' => z_root() . '/connedit/' . $new_connection[0]['abook_id'] ] ); - if(intval($permissions['view_stream'])) { - if(intval(get_pconfig($channel['channel_id'],'perm_limits','send_stream') & PERMS_PENDING) - || (! intval($new_connection[0]['abook_pending']))) - Master::Summon([ 'Onepoll', $new_connection[0]['abook_id'] ]); + if (intval($permissions['view_stream'])) { + if (intval(get_pconfig($channel['channel_id'], 'perm_limits', 'send_stream') & PERMS_PENDING) + || (!intval($new_connection[0]['abook_pending']))) + Master::Summon(['Onepoll', $new_connection[0]['abook_id']]); } // If there is a default group for this channel, add this connection to it // for pending connections this will happens at acceptance time. - if(! intval($new_connection[0]['abook_pending'])) { + if (!intval($new_connection[0]['abook_pending'])) { $default_group = $channel['channel_default_group']; - if($default_group) { - $g = Group::rec_byhash($channel['channel_id'],$default_group); - if($g) - Group::member_add($channel['channel_id'],'',$x['hash'],$g['id']); + if ($default_group) { + $g = Group::rec_byhash($channel['channel_id'], $default_group); + if ($g) + Group::member_add($channel['channel_id'], '', $x['hash'], $g['id']); } } unset($new_connection[0]['abook_id']); unset($new_connection[0]['abook_account']); unset($new_connection[0]['abook_channel']); - $abconfig = load_abconfig($channel['channel_id'],$new_connection['abook_xchan']); - if($abconfig) + $abconfig = load_abconfig($channel['channel_id'], $new_connection['abook_xchan']); + if ($abconfig) $new_connection['abconfig'] = $abconfig; - Libsync::build_sync_packet($channel['channel_id'], array('abook' => $new_connection)); + Libsync::build_sync_packet($channel['channel_id'], ['abook' => $new_connection]); } } @@ -489,9 +489,9 @@ class Libzot { static function gethub($arr, $multiple = false) { - if($arr['id'] && $arr['id_sig'] && $arr['location'] && $arr['location_sig']) { + if ($arr['id'] && $arr['id_sig'] && $arr['location'] && $arr['location_sig']) { - if(! check_siteallowed($arr['location'])) { + if (!check_siteallowed($arr['location'])) { logger('blacklisted site: ' . $arr['location']); return null; } @@ -509,12 +509,12 @@ class Libzot { dbesc($arr['location_sig']), dbesc($arr['site_id']) ); - if($r) { + if ($r) { logger('Found', LOGGER_DEBUG); return (($multiple) ? $r : $r[0]); } } - logger('Not found: ' . print_r($arr,true), LOGGER_DEBUG); + logger('Not found: ' . print_r($arr, true), LOGGER_DEBUG); return false; } @@ -532,16 +532,16 @@ class Libzot { dbesc($sender), dbesc($site_id) ); - if(! $r) { + if (!$r) { return null; } - if(! check_siteallowed($r[0]['hubloc_url'])) { + if (!check_siteallowed($r[0]['hubloc_url'])) { logger('blacklisted site: ' . $r[0]['hubloc_url']); return null; } - if(! check_channelallowed($r[0]['hubloc_hash'])) { + if (!check_channelallowed($r[0]['hubloc_hash'])) { logger('blacklisted channel: ' . $r[0]['hubloc_hash']); return null; } @@ -567,9 +567,9 @@ class Libzot { $hsig_valid = false; - $result = [ 'success' => false ]; + $result = ['success' => false]; - if(! $id) { + if (!$id) { return $result; } @@ -578,16 +578,16 @@ class Libzot { // Check the HTTP signature $hsig = $record['signature']; - if($hsig['signer'] === $id && $hsig['header_valid'] === true && $hsig['content_valid'] === true) { + if ($hsig['signer'] === $id && $hsig['header_valid'] === true && $hsig['content_valid'] === true) { $hsig_valid = true; } - if(! $hsig_valid) { - logger('http signature not valid: ' . print_r($hsig,true)); + if (!$hsig_valid) { + logger('http signature not valid: ' . print_r($hsig, true)); return $result; } $c = self::import_xchan($record['data']); - if($c['success']) { + if ($c['success']) { $result['success'] = true; } else { @@ -625,26 +625,26 @@ class Libzot { */ call_hooks('import_xchan', $arr); - $ret = array('success' => false); - $dirmode = intval(get_config('system','directory_mode')); + $ret = ['success' => false]; + $dirmode = intval(get_config('system', 'directory_mode')); $changed = false; - $what = ''; + $what = ''; - if(! ($arr['id'] && $arr['id_sig'])) { - logger('No identity information provided. ' . print_r($arr,true)); + if (!($arr['id'] && $arr['id_sig'])) { + logger('No identity information provided. ' . print_r($arr, true)); return $ret; } - $xchan_hash = self::make_xchan_hash($arr['id'],$arr['public_key']); + $xchan_hash = self::make_xchan_hash($arr['id'], $arr['public_key']); $arr['hash'] = $xchan_hash; $import_photos = false; - $sig_methods = ((array_key_exists('signing',$arr) && is_array($arr['signing'])) ? $arr['signing'] : [ 'sha256' ]); - $verified = false; + $sig_methods = ((array_key_exists('signing', $arr) && is_array($arr['signing'])) ? $arr['signing'] : ['sha256']); + $verified = false; - if(! self::verify($arr['id'],$arr['id_sig'],$arr['public_key'])) { + if (!self::verify($arr['id'], $arr['id_sig'], $arr['public_key'])) { logger('Unable to verify channel signature for ' . $arr['address']); return $ret; } @@ -652,7 +652,7 @@ class Libzot { $verified = true; } - if(! $verified) { + if (!$verified) { $ret['message'] = t('Unable to verify channel signature'); return $ret; } @@ -663,40 +663,39 @@ class Libzot { dbesc($xchan_hash) ); - if(! array_key_exists('connect_url', $arr)) + if (!array_key_exists('connect_url', $arr)) $arr['connect_url'] = ''; - if($r) { - if($arr['photo'] && array_key_exists('updated',$arr['photo']) && $r[0]['xchan_photo_date'] != $arr['photo']['updated']) { + if ($r) { + if ($arr['photo'] && array_key_exists('updated', $arr['photo']) && $arr['photo']['updated'] > $r[0]['xchan_photo_date']) $import_photos = true; - } // if we import an entry from a site that's not ours and either or both of us is off the grid - hide the entry. /** @TODO: check if we're the same directory realm, which would mean we are allowed to see it */ - $dirmode = get_config('system','directory_mode'); + $dirmode = get_config('system', 'directory_mode'); - if((($arr['site']['directory_mode'] === 'standalone') || ($dirmode & DIRECTORY_MODE_STANDALONE)) && ($arr['site']['url'] != z_root())) + if ((($arr['site']['directory_mode'] === 'standalone') || ($dirmode & DIRECTORY_MODE_STANDALONE)) && ($arr['site']['url'] != z_root())) $arr['searchable'] = false; $hidden = (1 - intval($arr['searchable'])); $hidden_changed = $adult_changed = $deleted_changed = $pubforum_changed = 0; - if(intval($r[0]['xchan_hidden']) != (1 - intval($arr['searchable']))) + if (intval($r[0]['xchan_hidden']) != (1 - intval($arr['searchable']))) $hidden_changed = 1; - if(intval($r[0]['xchan_selfcensored']) != intval($arr['adult_content'])) + if (intval($r[0]['xchan_selfcensored']) != intval($arr['adult_content'])) $adult_changed = 1; - if(intval($r[0]['xchan_deleted']) != intval($arr['deleted'])) + if (intval($r[0]['xchan_deleted']) != intval($arr['deleted'])) $deleted_changed = 1; // new style 6-MAR-2019 - if(array_key_exists('channel_type',$arr)) { - if($arr['channel_type'] === 'collection') { + if (array_key_exists('channel_type', $arr)) { + if ($arr['channel_type'] === 'collection') { // do nothing at this time. } - elseif($arr['channel_type'] === 'group') { + elseif ($arr['channel_type'] === 'group') { $arr['public_forum'] = 1; } else { @@ -706,27 +705,27 @@ class Libzot { // old style - if(intval($r[0]['xchan_pubforum']) != intval($arr['public_forum'])) + if (intval($r[0]['xchan_pubforum']) != intval($arr['public_forum'])) $pubforum_changed = 1; - if($arr['protocols']) { - $protocols = implode(',',$arr['protocols']); - if($protocols !== 'zot6') { - set_xconfig($xchan_hash,'system','protocols',$protocols); + if ($arr['protocols']) { + $protocols = implode(',', $arr['protocols']); + if ($protocols !== 'zot6') { + set_xconfig($xchan_hash, 'system', 'protocols', $protocols); } else { - del_xconfig($xchan_hash,'system','protocols'); + del_xconfig($xchan_hash, 'system', 'protocols'); } } - if(($r[0]['xchan_name_date'] != $arr['name_updated']) + if (($r[0]['xchan_name_date'] != $arr['name_updated']) || ($r[0]['xchan_connurl'] != $arr['primary_location']['connections_url']) || ($r[0]['xchan_addr'] != $arr['primary_location']['address']) || ($r[0]['xchan_follow'] != $arr['primary_location']['follow_url']) || ($r[0]['xchan_connpage'] != $arr['connect_url']) || ($r[0]['xchan_url'] != $arr['primary_location']['url']) - || $hidden_changed || $adult_changed || $deleted_changed || $pubforum_changed ) { + || $hidden_changed || $adult_changed || $deleted_changed || $pubforum_changed) { $rup = q("update xchan set xchan_name = '%s', xchan_name_date = '%s', xchan_connurl = '%s', xchan_follow = '%s', xchan_connpage = '%s', xchan_hidden = %d, xchan_selfcensored = %d, xchan_deleted = %d, xchan_pubforum = %d, xchan_addr = '%s', xchan_url = '%s' where xchan_hash = '%s'", @@ -744,18 +743,18 @@ class Libzot { dbesc($xchan_hash) ); - logger('Update: existing: ' . print_r($r[0],true), LOGGER_DATA, LOG_DEBUG); - logger('Update: new: ' . print_r($arr,true), LOGGER_DATA, LOG_DEBUG); - $what .= 'xchan '; + logger('Update: existing: ' . print_r($r[0], true), LOGGER_DATA, LOG_DEBUG); + logger('Update: new: ' . print_r($arr, true), LOGGER_DATA, LOG_DEBUG); + $what .= 'xchan '; $changed = true; } } else { $import_photos = true; - if((($arr['site']['directory_mode'] === 'standalone') + if ((($arr['site']['directory_mode'] === 'standalone') || ($dirmode & DIRECTORY_MODE_STANDALONE)) - && ($arr['site']['url'] != z_root())) + && ($arr['site']['url'] != z_root())) $arr['searchable'] = false; $x = xchan_store_lowlevel( @@ -782,11 +781,11 @@ class Libzot { ] ); - $what .= 'new_xchan'; + $what .= 'new_xchan'; $changed = true; } - if($import_photos) { + if ($import_photos) { require_once('include/photo/photo_driver.php'); @@ -795,13 +794,16 @@ class Libzot { $local = q("select channel_account_id, channel_id from channel where channel_hash = '%s' limit 1", dbesc($xchan_hash) ); - if($local) { - $ph = z_fetch_url($arr['photo']['url'], true); - if($ph['success']) { + if ($local) { + + $ph = false; + if (strpos($arr['photo']['url'], z_root()) === false) + $ph = z_fetch_url($arr['photo']['url'], true); + if ($ph['success']) { $hash = import_channel_photo($ph['body'], $arr['photo']['type'], $local[0]['channel_account_id'], $local[0]['channel_id']); - if($hash) { + if ($hash) { // unless proven otherwise $is_default_profile = 1; @@ -809,13 +811,13 @@ class Libzot { intval($local[0]['channel_account_id']), intval($local[0]['channel_id']) ); - if($profile) { - if(! intval($profile[0]['is_default'])) + if ($profile) { + if (!intval($profile[0]['is_default'])) $is_default_profile = 0; } // If setting for the default profile, unset the profile photo flag from any other photos I own - if($is_default_profile) { + if ($is_default_profile) { q("UPDATE photo SET photo_usage = %d WHERE photo_usage = %d AND resource_id != '%s' AND aid = %d AND uid = %d", intval(PHOTO_NORMAL), intval(PHOTO_PROFILE), @@ -827,20 +829,20 @@ class Libzot { } // reset the names in case they got messed up when we had a bug in this function - $photos = array( + $photos = [ z_root() . '/photo/profile/l/' . $local[0]['channel_id'], z_root() . '/photo/profile/m/' . $local[0]['channel_id'], z_root() . '/photo/profile/s/' . $local[0]['channel_id'], $arr['photo_mimetype'], false - ); + ]; } } else { $photos = import_xchan_photo($arr['photo']['url'], $xchan_hash); } - if($photos) { - if($photos[4]) { + if ($photos) { + if ($photos[4]) { // importing the photo failed somehow. Leave the photo_date alone so we can try again at a later date. // This often happens when somebody joins the matrix with a bad cert. $r = q("update xchan set xchan_photo_l = '%s', xchan_photo_m = '%s', xchan_photo_s = '%s', xchan_photo_mimetype = '%s' @@ -855,7 +857,7 @@ class Libzot { else { $r = q("update xchan set xchan_photo_date = '%s', xchan_photo_l = '%s', xchan_photo_m = '%s', xchan_photo_s = '%s', xchan_photo_mimetype = '%s' where xchan_hash = '%s'", - dbescdate(datetime_convert('UTC','UTC',$arr['photo_updated'])), + dbescdate(datetime_convert('UTC', 'UTC', $arr['photo_updated'])), dbesc($photos[0]), dbesc($photos[1]), dbesc($photos[2]), @@ -863,7 +865,7 @@ class Libzot { dbesc($xchan_hash) ); } - $what .= 'photo '; + $what .= 'photo '; $changed = true; } } @@ -873,12 +875,12 @@ class Libzot { $s = Libsync::sync_locations($arr, $arr); - if($s) { - if($s['change_message']) + if ($s) { + if ($s['change_message']) $what .= $s['change_message']; - if($s['changed']) + if ($s['changed']) $changed = $s['changed']; - if($s['message']) + if ($s['message']) $ret['message'] .= $s['message']; } @@ -890,24 +892,24 @@ class Libzot { // Are we a directory server of some kind? $other_realm = false; - $realm = get_directory_realm(); - if(array_key_exists('site',$arr) - && array_key_exists('realm',$arr['site']) - && (strpos($arr['site']['realm'],$realm) === false)) + $realm = get_directory_realm(); + if (array_key_exists('site', $arr) + && array_key_exists('realm', $arr['site']) + && (strpos($arr['site']['realm'], $realm) === false)) $other_realm = true; - if($dirmode != DIRECTORY_MODE_NORMAL) { + if ($dirmode != DIRECTORY_MODE_NORMAL) { // We're some kind of directory server. However we can only add directory information // if the entry is in the same realm (or is a sub-realm). Sub-realms are denoted by // including the parent realm in the name. e.g. 'RED_GLOBAL:foo' would allow an entry to // be in directories for the local realm (foo) and also the RED_GLOBAL realm. - if(array_key_exists('profile',$arr) && is_array($arr['profile']) && (! $other_realm)) { - $profile_changed = Libzotdir::import_directory_profile($xchan_hash,$arr['profile'],$address,$ud_flags, 1); - if($profile_changed) { - $what .= 'profile '; + if (array_key_exists('profile', $arr) && is_array($arr['profile']) && (!$other_realm)) { + $profile_changed = Libzotdir::import_directory_profile($xchan_hash, $arr['profile'], $address, $ud_flags, 1); + if ($profile_changed) { + $what .= 'profile '; $changed = true; } } @@ -923,20 +925,20 @@ class Libzot { } } - if(array_key_exists('site',$arr) && is_array($arr['site'])) { + if (array_key_exists('site', $arr) && is_array($arr['site'])) { $profile_changed = self::import_site($arr['site']); - if($profile_changed) { - $what .= 'site '; + if ($profile_changed) { + $what .= 'site '; $changed = true; } } - if(($changed) || ($ud_flags == UPDATE_FLAGS_FORCED)) { + if (($changed) || ($ud_flags == UPDATE_FLAGS_FORCED)) { $guid = random_string() . '@' . \App::get_hostname(); - Libzotdir::update_modtime($xchan_hash,$guid,$address,$ud_flags); - logger('Changed: ' . $what,LOGGER_DEBUG); + Libzotdir::update_modtime($xchan_hash, $guid, $address, $ud_flags); + logger('Changed: ' . $what, LOGGER_DEBUG); } - elseif(! $ud_flags) { + elseif (!$ud_flags) { // nothing changed but we still need to update the updates record q("update updates set ud_flags = ( ud_flags | %d ) where ud_addr = '%s' and not (ud_flags & %d) > 0 ", intval(UPDATE_FLAGS_UPDATED), @@ -945,12 +947,12 @@ class Libzot { ); } - if(! x($ret,'message')) { + if (!x($ret, 'message')) { $ret['success'] = true; - $ret['hash'] = $xchan_hash; + $ret['hash'] = $xchan_hash; } - logger('Result: ' . print_r($ret,true), LOGGER_DATA, LOG_DEBUG); + logger('Result: ' . print_r($ret, true), LOGGER_DATA, LOG_DEBUG); return $ret; } @@ -967,32 +969,32 @@ class Libzot { */ static function process_response($hub, $arr, $outq) { - logger('remote: ' . print_r($arr,true),LOGGER_DATA); + logger('remote: ' . print_r($arr, true), LOGGER_DATA); - if(! $arr['success']) { + if (!$arr['success']) { logger('Failed: ' . $hub); return; } $x = json_decode($arr['body'], true); - if(! $x) { + if (!$x) { logger('No json from ' . $hub); logger('Headers: ' . print_r($arr['header'], true), LOGGER_DATA, LOG_DEBUG); } - $x = crypto_unencapsulate($x, get_config('system','prvkey')); + $x = crypto_unencapsulate($x, get_config('system', 'prvkey')); - if(! is_array($x)) { - $x = json_decode($x,true); + if (!is_array($x)) { + $x = json_decode($x, true); } - if(! is_array($x)) { + if (!is_array($x)) { btlogger('failed communication - no response'); } - if($x) { - if(! $x['success']) { + if ($x) { + if (!$x['success']) { // handle remote validation issues @@ -1003,18 +1005,18 @@ class Libzot { ); } - if(is_array($x) && array_key_exists('delivery_report',$x) && is_array($x['delivery_report'])) { + if (is_array($x) && array_key_exists('delivery_report', $x) && is_array($x['delivery_report'])) { - foreach($x['delivery_report'] as $xx) { - call_hooks('dreport_process',$xx); - if(is_array($xx) && array_key_exists('message_id',$xx) && DReport::is_storable($xx)) { + foreach ($x['delivery_report'] as $xx) { + call_hooks('dreport_process', $xx); + if (is_array($xx) && array_key_exists('message_id', $xx) && DReport::is_storable($xx)) { // legacy recipients add a space and their name to the xchan. split those if true. $legacy_recipient = strpos($xx['recipient'], ' '); - if($legacy_recipient !== false) { + if ($legacy_recipient !== false) { $legacy_recipient_parts = explode(' ', $xx['recipient'], 2); - $xx['recipient'] = $legacy_recipient_parts[0]; - $xx['name'] = $legacy_recipient_parts[1]; + $xx['recipient'] = $legacy_recipient_parts[0]; + $xx['name'] = $legacy_recipient_parts[1]; } q("insert into dreport ( dreport_mid, dreport_site, dreport_recip, dreport_name, dreport_result, dreport_time, dreport_xchan ) values ( '%s', '%s', '%s','%s','%s','%s','%s' ) ", @@ -1023,7 +1025,7 @@ class Libzot { dbesc($xx['recipient']), dbesc($xx['name']), dbesc($xx['status']), - dbesc(datetime_convert('UTC','UTC',$xx['date'])), + dbesc(datetime_convert('UTC', 'UTC', $xx['date'])), dbesc($xx['sender']) ); } @@ -1046,10 +1048,10 @@ class Libzot { // synchronous message types are handled immediately // async messages remain in the queue until processed. - if(intval($outq['outq_async'])) - Queue::remove($outq['outq_hash'],$outq['outq_channel']); + if (intval($outq['outq_async'])) + Queue::remove($outq['outq_hash'], $outq['outq_channel']); - logger('zot_process_response: ' . print_r($x,true), LOGGER_DEBUG); + logger('zot_process_response: ' . print_r($x, true), LOGGER_DEBUG); } /** @@ -1067,16 +1069,16 @@ class Libzot { * If everything checks out on the remote end, we will receive back a packet containing one or more messages, * which will be processed and delivered before this function ultimately returns. * - * @see zot_import() - * * @param array $arr * decrypted and json decoded notify packet from remote site * @return array from zot_import() + * @see zot_import() + * */ static function fetch($arr) { - logger('zot_fetch: ' . print_r($arr,true), LOGGER_DATA, LOG_DEBUG); + logger('zot_fetch: ' . print_r($arr, true), LOGGER_DATA, LOG_DEBUG); return self::import($arr); @@ -1101,15 +1103,15 @@ class Libzot { */ static function import($arr) { - $env = $arr; + $env = $arr; $private = false; - $return = []; + $return = []; $result = null; - logger('Notify: ' . print_r($env,true), LOGGER_DATA, LOG_DEBUG); + logger('Notify: ' . print_r($env, true), LOGGER_DATA, LOG_DEBUG); - if(! is_array($env)) { + if (!is_array($env)) { logger('decode error'); return; } @@ -1117,59 +1119,59 @@ class Libzot { $message_request = false; - $has_data = array_key_exists('data',$env) && $env['data']; - $data = (($has_data) ? $env['data'] : false); + $has_data = array_key_exists('data', $env) && $env['data']; + $data = (($has_data) ? $env['data'] : false); $AS = null; - if($env['encoding'] === 'activitystreams') { + if ($env['encoding'] === 'activitystreams') { - $AS = new ActivityStreams($data); - if(! $AS->is_valid()) { - logger('Activity rejected: ' . print_r($data,true)); - return; - } - if (is_array($AS->obj)) { - $arr = Activity::decode_note($AS); - } - else { - $arr = []; - } + $AS = new ActivityStreams($data); + if (!$AS->is_valid()) { + logger('Activity rejected: ' . print_r($data, true)); + return; + } + if (is_array($AS->obj)) { + $arr = Activity::decode_note($AS); + } + else { + $arr = []; + } - logger($AS->debug(),LOGGER_DATA); + logger($AS->debug(), LOGGER_DATA); } $deliveries = null; - if(array_key_exists('recipients',$env) && count($env['recipients'])) { + if (array_key_exists('recipients', $env) && count($env['recipients'])) { logger('specific recipients'); - logger('recipients: ' . print_r($env['recipients'],true),LOGGER_DEBUG); + logger('recipients: ' . print_r($env['recipients'], true), LOGGER_DEBUG); $recip_arr = []; - foreach($env['recipients'] as $recip) { - $recip_arr[] = $recip; + foreach ($env['recipients'] as $recip) { + $recip_arr[] = $recip; } $r = false; - if($recip_arr) { - stringify_array_elms($recip_arr,true); - $recips = implode(',',$recip_arr); - $r = q("select channel_hash as hash from channel where channel_hash in ( " . $recips . " ) and channel_removed = 0 "); + if ($recip_arr) { + stringify_array_elms($recip_arr, true); + $recips = implode(',', $recip_arr); + $r = q("select channel_hash as hash from channel where channel_hash in ( " . $recips . " ) and channel_removed = 0 "); } - if(! $r) { + if (!$r) { logger('recips: no recipients on this site'); return; } // Response messages will inherit the privacy of the parent - if($env['type'] !== 'response') + if ($env['type'] !== 'response') $private = true; - $deliveries = ids_to_array($r,'hash'); + $deliveries = ids_to_array($r, 'hash'); // We found somebody on this site that's in the recipient list. } @@ -1182,33 +1184,33 @@ class Libzot { // and who are allowed to see them based on the sender's permissions // @fixme; - $deliveries = self::public_recips($env,$AS); + $deliveries = self::public_recips($env, $AS); } $deliveries = array_unique($deliveries); - if(! $deliveries) { + if (!$deliveries) { logger('No deliveries on this site'); return; } - if($has_data) { + if ($has_data) { - if(in_array($env['type'],['activity','response'])) { + if (in_array($env['type'], ['activity', 'response'])) { $r = q("select hubloc_hash, hubloc_network from hubloc where hubloc_id_url = '%s' ", dbesc($AS->actor['id']) ); - if($r) { + if ($r) { // selects a zot6 hash if available, otherwise use whatever we have - $r = self::zot_record_preferred($r); + $r = self::zot_record_preferred($r); $arr['author_xchan'] = $r['hubloc_hash']; } - if (! $arr['author_xchan']) { + if (!$arr['author_xchan']) { logger('No author!'); return; } @@ -1218,43 +1220,47 @@ class Libzot { ); // in individual delivery, change owner if needed - if($s) { + if ($s) { $arr['owner_xchan'] = $s[0]['hubloc_hash']; } else { $arr['owner_xchan'] = $env['sender']; } - if ($private && (! intval($arr['item_private']))) { + if ($private && (!intval($arr['item_private']))) { $arr['item_private'] = 1; } if ($arr['mid'] === $arr['parent_mid']) { - if (is_array($AS->obj) && array_key_exists('commentPolicy',$AS->obj)) { - $p = strstr($AS->obj['commentPolicy'],'until='); - if($p !== false) { - $arr['comments_closed'] = datetime_convert('UTC','UTC', substr($p,6)); - $arr['comment_policy'] = trim(str_replace($p,'',$AS->obj['commentPolicy'])); + if (is_array($AS->obj) && array_key_exists('commentPolicy', $AS->obj)) { + $p = strstr($AS->obj['commentPolicy'], 'until='); + if ($p !== false) { + $comments_closed_at = datetime_convert('UTC', 'UTC', substr($p, 6)); + if ($comments_closed_at === $arr['created']) { + $arr['item_nocomment'] = 1; + } + else { + $arr['comments_closed'] = $comments_closed_at; + $arr['comment_policy'] = trim(str_replace($p, '', $AS->obj['commentPolicy'])); + } } else { - $arr['comment_policy'] = $AS->obj['commentPolicy']; + $arr['comment_policy'] = $AS->obj['commentPolicy']; } } } - - /// @FIXME - spoofable - if($AS->data['hubloc']) { + if ($AS->data['hubloc']) { $arr['item_verified'] = true; - if (! array_key_exists('comment_policy',$arr)) { + if (!array_key_exists('comment_policy', $arr)) { // set comment policy depending on source hub. Unknown or osada is ActivityPub. // Anything else we'll say is zot - which could have a range of project names $s = q("select site_project from site where site_url = '%s' limit 1", dbesc($r[0]['hubloc_url']) ); - if ((! $s) || (in_array($s[0]['site_project'],[ '', 'osada' ]))) { + if ((!$s) || (in_array($s[0]['site_project'], ['', 'osada']))) { $arr['comment_policy'] = 'authenticated'; } else { @@ -1262,28 +1268,27 @@ class Libzot { } } } - if($AS->data['signed_data']) { - IConfig::Set($arr,'activitystreams','signed_data',$AS->data['signed_data'],false); + if ($AS->data['signed_data']) { + IConfig::Set($arr, 'activitystreams', 'signed_data', $AS->data['signed_data'], false); } + logger('Activity received: ' . print_r($arr, true), LOGGER_DATA, LOG_DEBUG); + logger('Activity recipients: ' . print_r($deliveries, true), LOGGER_DATA, LOG_DEBUG); - logger('Activity received: ' . print_r($arr,true), LOGGER_DATA, LOG_DEBUG); - logger('Activity recipients: ' . print_r($deliveries,true), LOGGER_DATA, LOG_DEBUG); + $relay = (($env['type'] === 'response') ? true : false); - $relay = (($env['type'] === 'response') ? true : false ); - - $result = self::process_delivery($env['sender'],$AS,$arr,$deliveries,$relay,false,$message_request); + $result = self::process_delivery($env['sender'], $AS, $arr, $deliveries, $relay, false, $message_request); } - elseif($env['type'] === 'sync') { + elseif ($env['type'] === 'sync') { // $arr = get_channelsync_elements($data); - $arr = json_decode($data,true); + $arr = json_decode($data, true); - logger('Channel sync received: ' . print_r($arr,true), LOGGER_DATA, LOG_DEBUG); - logger('Channel sync recipients: ' . print_r($deliveries,true), LOGGER_DATA, LOG_DEBUG); + logger('Channel sync received: ' . print_r($arr, true), LOGGER_DATA, LOG_DEBUG); + logger('Channel sync recipients: ' . print_r($deliveries, true), LOGGER_DATA, LOG_DEBUG); if ($env['encoding'] === 'hz') { - $result = Libsync::process_channel_sync_delivery($env['sender'],$arr,$deliveries); + $result = Libsync::process_channel_sync_delivery($env['sender'], $arr, $deliveries); } else { logger('sync packet type not supported.'); @@ -1305,15 +1310,15 @@ class Libzot { * @return boolean */ static function is_top_level($env, $act) { - if($env['encoding'] === 'zot' && array_key_exists('flags',$env) && in_array('thread_parent', $env['flags'])) { + if ($env['encoding'] === 'zot' && array_key_exists('flags', $env) && in_array('thread_parent', $env['flags'])) { return true; } - if($act) { - if(in_array($act->type, ['Like','Dislike'])) { + if ($act) { + if (in_array($act->type, ['Like', 'Dislike'])) { return false; } - $x = self::find_parent($env,$act); - if($x === $act->id || $x === $act->obj['id']) { + $x = self::find_parent($env, $act); + if ($x === $act->id || $x === $act->obj['id']) { return true; } } @@ -1321,12 +1326,12 @@ class Libzot { } - static function find_parent($env,$act) { - if($act) { - if(in_array($act->type, ['Like','Dislike'])) { + static function find_parent($env, $act) { + if ($act) { + if (in_array($act->type, ['Like', 'Dislike'])) { return $act->obj['id']; } - if($act->parent_id) { + if ($act->parent_id) { return $act->parent_id; } } @@ -1355,58 +1360,57 @@ class Libzot { require_once('include/channel.php'); $check_mentions = false; - $include_sys = false; + $include_sys = false; - if($msg['type'] === 'activity') { - $disable_discover_tab = get_config('system','disable_discover_tab') || get_config('system','disable_discover_tab') === false; - if(! $disable_discover_tab) + if ($msg['type'] === 'activity') { + $disable_discover_tab = get_config('system', 'disable_discover_tab') || get_config('system', 'disable_discover_tab') === false; + if (!$disable_discover_tab) $include_sys = true; $perm = 'send_stream'; - if(self::is_top_level($msg,$act)) { + if (self::is_top_level($msg, $act)) { $check_mentions = true; } } - elseif($msg['type'] === 'mail') + elseif ($msg['type'] === 'mail') $perm = 'post_mail'; $r = []; $c = q("select channel_id, channel_hash from channel where channel_removed = 0"); - if($c) { - foreach($c as $cc) { - if(perm_is_allowed($cc['channel_id'],$msg['sender'],$perm)) { + if ($c) { + foreach ($c as $cc) { + if (perm_is_allowed($cc['channel_id'], $msg['sender'], $perm)) { $r[] = $cc['channel_hash']; } } } - if($include_sys) { + if ($include_sys) { $sys = get_sys_channel(); - if($sys) + if ($sys) $r[] = $sys['channel_hash']; } - // look for any public mentions on this site // They will get filtered by tgroup_check() so we don't need to check permissions now - if($check_mentions) { + if ($check_mentions) { // It's a top level post. Look at the tags. See if any of them are mentions and are on this hub. - if($act && $act->obj) { - if(is_array($act->obj['tag']) && $act->obj['tag']) { - foreach($act->obj['tag'] as $tag) { - if($tag['type'] === 'Mention' && (strpos($tag['href'],z_root()) !== false)) { + if ($act && $act->obj) { + if (is_array($act->obj['tag']) && $act->obj['tag']) { + foreach ($act->obj['tag'] as $tag) { + if ($tag['type'] === 'Mention' && (strpos($tag['href'], z_root()) !== false)) { $address = basename($tag['href']); - if($address) { + if ($address) { $z = q("select channel_hash as hash from channel where channel_address = '%s' and channel_removed = 0 limit 1", dbesc($address) ); - if($z) { + if ($z) { $r[] = $z[0]['hash']; } } @@ -1420,15 +1424,15 @@ class Libzot { // everybody that stored a copy of the parent. This way we know we're covered. We'll check the // comment permissions when we deliver them. - $thread_parent = self::find_parent($msg,$act); + $thread_parent = self::find_parent($msg, $act); - if($thread_parent) { + if ($thread_parent) { $z = q("select channel_hash as hash from channel left join item on channel.channel_id = item.uid where ( item.thr_parent = '%s' OR item.parent_mid = '%s' ) ", dbesc($thread_parent), dbesc($thread_parent) ); - if($z) { - foreach($z as $zv) { + if ($z) { + foreach ($z as $zv) { $r[] = $zv['hash']; } } @@ -1438,11 +1442,11 @@ class Libzot { // There are probably a lot of duplicates in $r at this point. We need to filter those out. // It's a bit of work since it's a multi-dimensional array - if($r) { + if ($r) { $r = array_values(array_unique($r)); } - logger('public_recips: ' . print_r($r,true), LOGGER_DATA, LOG_DEBUG); + logger('public_recips: ' . print_r($r, true), LOGGER_DATA, LOG_DEBUG); return $r; } @@ -1465,22 +1469,22 @@ class Libzot { // We've validated the sender. Now make sure that the sender is the owner or author - if(! $public) { - if($sender != $arr['owner_xchan'] && $sender != $arr['author_xchan']) { + if (!$public) { + if ($sender != $arr['owner_xchan'] && $sender != $arr['author_xchan']) { logger("Sender $sender is not owner {$arr['owner_xchan']} or author {$arr['author_xchan']} - mid {$arr['mid']}"); return; } } - foreach($deliveries as $d) { + foreach ($deliveries as $d) { $local_public = $public; - $DR = new DReport(z_root(),$sender,$d,$arr['mid']); + $DR = new DReport(z_root(), $sender, $d, $arr['mid']); $channel = channelx_by_hash($d); - if (! $channel) { + if (!$channel) { $DR->update('recipient not found'); $result[] = $DR->get(); continue; @@ -1488,16 +1492,16 @@ class Libzot { $DR->set_name($channel['channel_name'] . ' <' . channel_reddress($channel) . '>'); - if(($act) && ($act->obj) && (! is_array($act->obj))) { + if (($act) && ($act->obj) && (!is_array($act->obj))) { // The initial object fetch failed using the sys channel credentials. // Try again using the delivery channel credentials. // We will also need to re-parse the $item array, // but preserve any values that were set during anonymous parsing. - $o = Activity::fetch($act->obj,$channel); - if($o) { + $o = Activity::fetch($act->obj, $channel); + if ($o) { $act->obj = $o; - $arr = array_merge(Activity::decode_note($act),$arr); + $arr = array_merge(Activity::decode_note($act), $arr); } else { @@ -1516,7 +1520,7 @@ class Libzot { * access checks. */ - if($sender === $channel['channel_hash'] && $arr['author_xchan'] === $channel['channel_hash'] && $arr['mid'] === $arr['parent_mid']) { + if ($sender === $channel['channel_hash'] && $arr['author_xchan'] === $channel['channel_hash'] && $arr['mid'] === $arr['parent_mid']) { $DR->update('self delivery ignored'); $result[] = $DR->get(); continue; @@ -1526,32 +1530,31 @@ class Libzot { // for comments travelling upstream. Wait and catch them on the way down. // They may have been blocked by the owner. - if(intval($channel['channel_system']) && (! $arr['item_private']) && (! $relay)) { + if (intval($channel['channel_system']) && (!$arr['item_private']) && (!$relay)) { $local_public = true; $r = q("select xchan_selfcensored from xchan where xchan_hash = '%s' limit 1", dbesc($sender) ); // don't import sys channel posts from selfcensored authors - if($r && (intval($r[0]['xchan_selfcensored']))) { + if ($r && (intval($r[0]['xchan_selfcensored']))) { $local_public = false; continue; } - if(! MessageFilter::evaluate($arr,get_config('system','pubstream_incl'),get_config('system','pubstream_excl'))) { + if (!MessageFilter::evaluate($arr, get_config('system', 'pubstream_incl'), get_config('system', 'pubstream_excl'))) { $local_public = false; continue; } } - $tag_delivery = tgroup_check($channel['channel_id'],$arr); - - $perm = 'send_stream'; - if(($arr['mid'] !== $arr['parent_mid']) && ($relay)) + $tag_delivery = tgroup_check($channel['channel_id'], $arr); + $perm = 'send_stream'; + if (($arr['mid'] !== $arr['parent_mid']) && ($relay)) $perm = 'post_comments'; // This is our own post, possibly coming from a channel clone - if($arr['owner_xchan'] == $d) { + if ($arr['owner_xchan'] == $d) { $arr['item_wall'] = 1; } else { @@ -1560,15 +1563,15 @@ class Libzot { $friendofriend = false; - if ((! $tag_delivery) && (! $local_public)) { - $allowed = (perm_is_allowed($channel['channel_id'],$sender,$perm)); - if((! $allowed) && $perm === 'post_comments') { + if ((!$tag_delivery) && (!$local_public)) { + $allowed = (perm_is_allowed($channel['channel_id'], $sender, $perm)); + if (!$allowed) { $parent = q("select * from item where mid = '%s' and uid = %d limit 1", dbesc($arr['parent_mid']), intval($channel['channel_id']) ); if ($parent) { - $allowed = can_comment_on_post($sender,$parent[0]); + $allowed = can_comment_on_post($sender, $parent[0]); } } @@ -1588,7 +1591,7 @@ class Libzot { // doesn't exist. if ($perm === 'send_stream') { - if (get_pconfig($channel['channel_id'],'system','hyperdrive',false) || $arr['verb'] === ACTIVITY_SHARE) { + if (get_pconfig($channel['channel_id'], 'system', 'hyperdrive', false) || $arr['verb'] === ACTIVITY_SHARE) { $allowed = true; } } @@ -1599,7 +1602,7 @@ class Libzot { $friendofriend = true; } - if (! $allowed) { + if (!$allowed) { logger("permission denied for delivery to channel {$channel['channel_id']} {$channel['channel_address']}"); $DR->update('permission denied'); $result[] = $DR->get(); @@ -1609,7 +1612,7 @@ class Libzot { // logger('item: ' . print_r($arr,true), LOGGER_DATA); - if($arr['mid'] !== $arr['parent_mid']) { + if ($arr['mid'] !== $arr['parent_mid']) { logger('checking source: "' . $arr['mid'] . '" != "' . $arr['parent_mid'] . '"'); @@ -1624,7 +1627,7 @@ class Libzot { intval($channel['channel_id']) ); - if(! $r) { + if (!$r) { $DR->update('comment parent not found'); $result[] = $DR->get(); @@ -1639,9 +1642,9 @@ class Libzot { // the top level post is unlikely to be imported and // this is just an exercise in futility. - if((! $relay) && (! $request) && (! $local_public) - && perm_is_allowed($channel['channel_id'],$sender,'send_stream')) { - self::fetch_conversation($channel,$arr['parent_mid']); + if ((!$relay) && (!$request) && (!$local_public) + && perm_is_allowed($channel['channel_id'], $sender, 'send_stream')) { + self::fetch_conversation($channel, $arr['parent_mid']); } continue; } @@ -1650,13 +1653,13 @@ class Libzot { // route checking doesn't work correctly here because we've changed the privacy $r[0]['route'] = EMPTY_STR; // If this is a poll response, convert the obj_type to our (internal-only) "Answer" type - if ($arr['obj_type'] === ACTIVITY_OBJ_COMMENT && $arr['title'] && (! $arr['body'])) { + if ($arr['obj_type'] === ACTIVITY_OBJ_COMMENT && $arr['title'] && (!$arr['body'])) { $arr['obj_type'] = 'Answer'; } } - if($relay || $friendofriend || (intval($r[0]['item_private']) === 0 && intval($arr['item_private']) === 0)) { + if ($relay || $friendofriend || (intval($r[0]['item_private']) === 0 && intval($arr['item_private']) === 0)) { // reset the route in case it travelled a great distance upstream // use our parent's route so when we go back downstream we'll match // with whatever route our parent has. @@ -1664,7 +1667,7 @@ class Libzot { // but we are now getting comments via listener delivery // and if there is no privacy on this or the parent, we don't care about the route, // so just set the owner and route accordingly. - $arr['route'] = $r[0]['route']; + $arr['route'] = $r[0]['route']; $arr['owner_xchan'] = $r[0]['owner_xchan']; } else { @@ -1676,24 +1679,24 @@ class Libzot { // Always accept empty routes and firehose items (route contains 'undefined') . $existing_route = explode(',', $r[0]['route']); - $routes = count($existing_route); - if($routes) { - $last_hop = array_pop($existing_route); - $last_prior_route = implode(',',$existing_route); + $routes = count($existing_route); + if ($routes) { + $last_hop = array_pop($existing_route); + $last_prior_route = implode(',', $existing_route); } else { - $last_hop = ''; + $last_hop = ''; $last_prior_route = ''; } - if(in_array('undefined',$existing_route) || $last_hop == 'undefined' || $sender == 'undefined') + if (in_array('undefined', $existing_route) || $last_hop == 'undefined' || $sender == 'undefined') $last_hop = ''; $current_route = (($arr['route']) ? $arr['route'] . ',' : '') . $sender; - if($last_hop && $last_hop != $sender) { + if ($last_hop && $last_hop != $sender) { logger('comment route mismatch: parent route = ' . $r[0]['route'] . ' expected = ' . $current_route, LOGGER_DEBUG); - logger('comment route mismatch: parent msg = ' . $r[0]['id'],LOGGER_DEBUG); + logger('comment route mismatch: parent msg = ' . $r[0]['id'], LOGGER_DEBUG); $DR->update('comment route mismatch'); $result[] = $DR->get(); continue; @@ -1706,16 +1709,16 @@ class Libzot { } } - $ab = q("select * from abook where abook_channel = %d and abook_xchan = '%s'", + $ab = q("select * from abook where abook_channel = %d and abook_xchan = '%s'", intval($channel['channel_id']), dbesc($arr['owner_xchan']) ); $abook = (($ab) ? $ab[0] : null); - if(intval($arr['item_deleted'])) { + if (intval($arr['item_deleted'])) { // remove_community_tag is a no-op if this isn't a community tag activity - self::remove_community_tag($sender,$arr,$channel['channel_id']); + self::remove_community_tag($sender, $arr, $channel['channel_id']); // set these just in case we need to store a fresh copy of the deleted post. // This could happen if the delete got here before the original post did. @@ -1723,13 +1726,13 @@ class Libzot { $arr['aid'] = $channel['channel_account_id']; $arr['uid'] = $channel['channel_id']; - $item_id = self::delete_imported_item($sender,$act,$arr,$channel['channel_id'],$relay); + $item_id = self::delete_imported_item($sender, $act, $arr, $channel['channel_id'], $relay); $DR->update(($item_id) ? 'deleted' : 'delete_failed'); $result[] = $DR->get(); - if($relay && $item_id) { + if ($relay && $item_id) { logger('process_delivery: invoking relay'); - Master::Summon([ 'Notifier', 'relay', intval($item_id) ]); + Master::Summon(['Notifier', 'relay', intval($item_id)]); $DR->update('relayed'); $result[] = $DR->get(); } @@ -1746,11 +1749,11 @@ class Libzot { intval($channel['channel_id']) ); - if($r) { + if ($r) { // We already have this post. $item_id = $r[0]['id']; - if(intval($r[0]['item_deleted'])) { + if (intval($r[0]['item_deleted'])) { // It was deleted locally. $DR->update('update ignored'); $result[] = $DR->get(); @@ -1758,19 +1761,19 @@ class Libzot { continue; } // Maybe it has been edited? - elseif($arr['edited'] > $r[0]['edited']) { - $arr['id'] = $r[0]['id']; + elseif ($arr['edited'] > $r[0]['edited']) { + $arr['id'] = $r[0]['id']; $arr['uid'] = $channel['channel_id']; - if(($arr['mid'] == $arr['parent_mid']) && (! post_is_importable($arr,$abook))) { + if (($arr['mid'] == $arr['parent_mid']) && (!post_is_importable($arr, $abook))) { $DR->update('update ignored'); $result[] = $DR->get(); } else { - $item_result = self::update_imported_item($sender,$arr,$r[0],$channel['channel_id'],$tag_delivery); + $item_result = self::update_imported_item($sender, $arr, $r[0], $channel['channel_id'], $tag_delivery); $DR->update('updated'); $result[] = $DR->get(); - if(! $relay) - add_source_route($item_id,$sender); + if (!$relay) + add_source_route($item_id, $sender); } } else { @@ -1779,7 +1782,7 @@ class Libzot { // We need this line to ensure wall-to-wall comments are relayed (by falling through to the relay bit), // and at the same time not relay any other relayable posts more than once, because to do so is very wasteful. - if(! intval($r[0]['item_origin'])) + if (!intval($r[0]['item_origin'])) continue; } } @@ -1790,7 +1793,7 @@ class Libzot { // if it's a sourced post, call the post_local hooks as if it were // posted locally so that crosspost connectors will be triggered. - if(check_item_source($arr['uid'], $arr) || ($channel['xchan_pubforum'] == 1)) { + if (check_item_source($arr['uid'], $arr) || ($channel['xchan_pubforum'] == 1)) { /** * @hooks post_local * Called when an item has been posted on this machine via mod/item.php (also via API). @@ -1801,19 +1804,19 @@ class Libzot { $item_id = 0; - if(($arr['mid'] == $arr['parent_mid']) && (! post_is_importable($arr,$abook))) { + if (($arr['mid'] == $arr['parent_mid']) && (!post_is_importable($arr, $abook))) { $DR->update('post ignored'); $result[] = $DR->get(); } else { $item_result = item_store($arr); - if($item_result['success']) { + if ($item_result['success']) { $item_id = $item_result['item_id']; - $parr = [ - 'item_id' => $item_id, - 'item' => $arr, - 'sender' => $sender, - 'channel' => $channel + $parr = [ + 'item_id' => $item_id, + 'item' => $arr, + 'sender' => $sender, + 'channel' => $channel ]; /** * @hooks activity_received @@ -1825,8 +1828,8 @@ class Libzot { */ call_hooks('activity_received', $parr); // don't add a source route if it's a relay or later recipients will get a route mismatch - if(! $relay) - add_source_route($item_id,$sender); + if (!$relay) + add_source_route($item_id, $sender); } $DR->update(($item_id) ? 'posted' : 'storage failed: ' . $item_result['message']); $result[] = $DR->get(); @@ -1836,132 +1839,127 @@ class Libzot { // preserve conversations with which you are involved from expiration $stored = (($item_result && $item_result['item']) ? $item_result['item'] : false); - if((is_array($stored)) && ($stored['id'] != $stored['parent']) + if ((is_array($stored)) && ($stored['id'] != $stored['parent']) && ($stored['author_xchan'] === $channel['channel_hash'] || $stored['author_xchan'] === $channel['channel_hash'])) { retain_item($stored['item']['parent']); } - if($relay && $item_id) { + if ($relay && $item_id) { logger('Invoking relay'); - Master::Summon([ 'Notifier', 'relay', intval($item_id) ]); + Master::Summon(['Notifier', 'relay', intval($item_id)]); $DR->addto_update('relayed'); $result[] = $DR->get(); } } - if(! $deliveries) - $result[] = array('', 'no recipients', '', $arr['mid']); + if (!$deliveries) + $result[] = ['', 'no recipients', '', $arr['mid']]; logger('Local results: ' . print_r($result, true), LOGGER_DEBUG); return $result; } - static public function fetch_conversation($channel,$mid) { + static public function fetch_conversation($channel, $mid) { // Use Zotfinger to create a signed request - $a = Zotfinger::exec($mid,$channel); + logger('fetching conversation: ' . $mid, LOGGER_DEBUG); - logger('received conversation: ' . print_r($a,true), LOGGER_DATA); + $a = Zotfinger::exec($mid, $channel); - if($a['data']['type'] !== 'OrderedCollection') { - return; + logger('received conversation: ' . print_r($a, true), LOGGER_DATA); + + if (!$a) { + return false; } - if(! intval($a['data']['totalItems'])) { - return; + if ($a['data']['type'] !== 'OrderedCollection') { + return false; + } + + $obj = new ASCollection($a['data'], $channel); + $items = $obj->get(); + + if (!$items) { + return false; } $ret = []; + $signer = q("select hubloc_hash, hubloc_url from hubloc where hubloc_id_url = '%s' and hubloc_network = 'zot6' limit 1", dbesc($a['signature']['signer']) ); - foreach($a['data']['orderedItems'] as $activity) { + foreach ($items as $activity) { $AS = new ActivityStreams($activity); - if(! $AS->is_valid()) { - logger('FOF Activity rejected: ' . print_r($activity,true)); + if ($AS->is_valid() && $AS->type === 'Announce' && is_array($AS->obj) + && array_key_exists('object', $AS->obj) && array_key_exists('actor', $AS->obj)) { + // This is a relayed/forwarded Activity (as opposed to a shared/boosted object) + // Reparse the encapsulated Activity and use that instead + logger('relayed activity', LOGGER_DEBUG); + $AS = new ActivityStreams($AS->obj); + } + + if (!$AS->is_valid()) { + logger('FOF Activity rejected: ' . print_r($activity, true)); continue; } $arr = Activity::decode_note($AS); - logger($AS->debug()); - + // logger($AS->debug()); - $r = q("select hubloc_hash from hubloc where hubloc_id_url = '%s' and hubloc_network = 'zot6' limit 1", + $r = q("select hubloc_hash from hubloc where hubloc_id_url = '%s' limit 1", dbesc($AS->actor['id']) ); - if(! $r) { - $y = import_author_xchan([ 'url' => $AS->actor['id'] ]); - if($y) { - $r = q("select hubloc_hash from hubloc where hubloc_id_url = '%s' and hubloc_network = 'zot6' limit 1", + if (!$r) { + $y = import_author_xchan(['url' => $AS->actor['id']]); + if ($y) { + $r = q("select hubloc_hash from hubloc where hubloc_id_url = '%s' limit 1", dbesc($AS->actor['id']) ); } - if(! $r) { + if (!$r) { logger('FOF Activity: no actor'); continue; } } - if($AS->obj['actor'] && $AS->obj['actor']['id'] && $AS->obj['actor']['id'] !== $AS->actor['id']) { - $y = import_author_xchan([ 'url' => $AS->obj['actor']['id'] ]); - if(! $y) { + if ($AS->obj['actor'] && $AS->obj['actor']['id'] && $AS->obj['actor']['id'] !== $AS->actor['id']) { + $y = import_author_xchan(['url' => $AS->obj['actor']['id']]); + if (!$y) { logger('FOF Activity: no object actor'); continue; } } - if($r) { + if ($r) { $arr['author_xchan'] = $r[0]['hubloc_hash']; } - $s = q("select hubloc_hash from hubloc where hubloc_id_url = '%s' and hubloc_network = 'zot6' limit 1", - dbesc($a['signature']['signer']) - ); - - if($s) { - $arr['owner_xchan'] = $s[0]['hubloc_hash']; + if ($signer) { + $arr['owner_xchan'] = $signer[0]['hubloc_hash']; } else { $arr['owner_xchan'] = $a['signature']['signer']; } - - /// @FIXME - spoofable - if($AS->data['hubloc']) { + if ($AS->data['hubloc'] || $arr['author_xchan'] === $arr['owner_xchan']) { $arr['item_verified'] = true; } - // set comment policy depending on source hub. Unknown or osada is ActivityPub. - // Anything else we'll say is zot - which could have a range of project names - - if ($signer) { - $s = q("select site_project from site where site_url = '%s' limit 1", - dbesc($signer[0]['hubloc_url']) - ); - if ((! $s) || (in_array($s[0]['site_project'],[ '', 'osada' ]))) { - $arr['comment_policy'] = 'authenticated'; - } - else { - $arr['comment_policy'] = 'contacts'; - } - } - - - if($AS->data['signed_data']) { - IConfig::Set($arr,'activitystreams','signed_data',$AS->data['signed_data'],false); + if ($AS->data['signed_data']) { + IConfig::Set($arr, 'activitystreams', 'signed_data', $AS->data['signed_data'], false); } - logger('FOF Activity received: ' . print_r($arr,true), LOGGER_DATA, LOG_DEBUG); + logger('FOF Activity received: ' . print_r($arr, true), LOGGER_DATA, LOG_DEBUG); logger('FOF Activity recipient: ' . $channel['channel_hash'], LOGGER_DATA, LOG_DEBUG); - $result = self::process_delivery($arr['owner_xchan'],$AS, $arr, [ $channel['channel_hash'] ],false,false,true); + $result = self::process_delivery($arr['owner_xchan'], $AS, $arr, [$channel['channel_hash']], false, false, true); if ($result) { $ret = array_merge($ret, $result); } @@ -1970,7 +1968,6 @@ class Libzot { return $ret; } - /** * @brief Remove community tag. * @@ -1984,12 +1981,12 @@ class Libzot { */ static function remove_community_tag($sender, $arr, $uid) { - if(! (activity_match($arr['verb'], ACTIVITY_TAG) && ($arr['obj_type'] == ACTIVITY_OBJ_TAGTERM))) + if (!(activity_match($arr['verb'], ACTIVITY_TAG) && ($arr['obj_type'] == ACTIVITY_OBJ_TAGTERM))) return; logger('remove_community_tag: invoked'); - if(! get_pconfig($uid,'system','blocktags')) { + if (!get_pconfig($uid, 'system', 'blocktags')) { logger('Permission denied.'); return; } @@ -1998,24 +1995,24 @@ class Libzot { dbesc($arr['mid']), intval($uid) ); - if(! $r) { + if (!$r) { logger('No item'); return; } - if(($sender != $r[0]['owner_xchan']) && ($sender != $r[0]['author_xchan'])) { + if (($sender != $r[0]['owner_xchan']) && ($sender != $r[0]['author_xchan'])) { logger('Sender not authorised.'); return; } $i = $r[0]; - if($i['target']) - $i['target'] = json_decode($i['target'],true); - if($i['object']) - $i['object'] = json_decode($i['object'],true); + if ($i['target']) + $i['target'] = json_decode($i['target'], true); + if ($i['object']) + $i['object'] = json_decode($i['object'], true); - if(! ($i['target'] && $i['object'])) { + if (!($i['target'] && $i['object'])) { logger('No target/object'); return; } @@ -2026,7 +2023,7 @@ class Libzot { dbesc($message_id), intval($uid) ); - if(! $r) { + if (!$r) { logger('No parent message'); return; } @@ -2038,28 +2035,28 @@ class Libzot { intval(TERM_HASHTAG), intval(TERM_COMMUNITYTAG), dbesc($i['object']['title']), - dbesc(get_rel_link($i['object']['link'],'alternate')) + dbesc(get_rel_link($i['object']['link'], 'alternate')) ); } /** * @brief Updates an imported item. * - * @see item_store_update() - * * @param string $sender * @param array $item * @param array $orig * @param int $uid * @param boolean $tag_delivery * @return void|array + * @see item_store_update() + * */ static function update_imported_item($sender, $item, $orig, $uid, $tag_delivery) { // If this is a comment being updated, remove any privacy information // so that item_store_update will set it from the original. - if($item['mid'] !== $item['parent_mid']) { + if ($item['mid'] !== $item['parent_mid']) { unset($item['allow_cid']); unset($item['allow_gid']); unset($item['deny_cid']); @@ -2070,7 +2067,7 @@ class Libzot { // we need the tag_delivery check for downstream flowing posts as the stored post // may have a different owner than the one being transmitted. - if(($sender != $orig['owner_xchan'] && $sender != $orig['author_xchan']) && (! $tag_delivery)) { + if (($sender != $orig['owner_xchan'] && $sender != $orig['author_xchan']) && (!$tag_delivery)) { logger('sender is not owner or author'); return; } @@ -2081,13 +2078,13 @@ class Libzot { // If we're updating an event that we've saved locally, we store the item info first // because event_addtocal will parse the body to get the 'new' event details - if($orig['resource_type'] === 'event') { + if ($orig['resource_type'] === 'event') { $res = event_addtocal($orig['id'], $uid); - if(! $res) + if (!$res) logger('update event: failed'); } - if(! $x['item_id']) + if (!$x['item_id']) logger('update_imported_item: failed: ' . $x['message']); else logger('update_imported_item'); @@ -2111,8 +2108,8 @@ class Libzot { logger('invoked', LOGGER_DEBUG); $ownership_valid = false; - $item_found = false; - $post_id = 0; + $item_found = false; + $post_id = 0; if ($item['verb'] === 'Tombstone') { // The id of the deleted thing is the item mid (activity id) @@ -2131,17 +2128,17 @@ class Libzot { dbesc($sender), dbesc($sender), dbesc($mid), - dbesc(str_replace('/activity/','/item/',$mid)), + dbesc(str_replace('/activity/', '/item/', $mid)), intval($uid) ); - if($r) { + if ($r) { $stored = $r[0]; // we proved ownership in the sql query $ownership_valid = true; - $post_id = $stored['id']; + $post_id = $stored['id']; $item_found = true; } else { @@ -2149,7 +2146,7 @@ class Libzot { logger('delete received for non-existent item or not owned by sender - ignoring.'); } - if($ownership_valid === false) { + if ($ownership_valid === false) { logger('delete_imported_item: failed: ownership issue'); return false; } @@ -2173,10 +2170,10 @@ class Libzot { } } - if($item_found) { - if(intval($stored['item_deleted'])) { + if ($item_found) { + if (intval($stored['item_deleted'])) { logger('delete_imported_item: item was already deleted'); - if(! $relay) + if (!$relay) return false; // This is a bit hackish, but may have to suffice until the notification/delivery loop is optimised @@ -2207,22 +2204,22 @@ class Libzot { static function process_mail_delivery($sender, $arr, $deliveries) { - $result = array(); + $result = []; - if($sender != $arr['from_xchan']) { + if ($sender != $arr['from_xchan']) { logger('process_mail_delivery: sender is not mail author'); return; } - foreach($deliveries as $d) { + foreach ($deliveries as $d) { - $DR = new DReport(z_root(),$sender,$d,$arr['mid']); + $DR = new DReport(z_root(), $sender, $d, $arr['mid']); $r = q("select * from channel where channel_hash = '%s' limit 1", dbesc($d['hash']) ); - if(! $r) { + if (!$r) { $DR->update('recipient not found'); $result[] = $DR->get(); continue; @@ -2232,7 +2229,7 @@ class Libzot { $DR->set_name($channel['channel_name'] . ' <' . channel_reddress($channel) . '>'); - if(! perm_is_allowed($channel['channel_id'],$sender,'post_mail')) { + if (!perm_is_allowed($channel['channel_id'], $sender, 'post_mail')) { /* * Always allow somebody to reply if you initiated the conversation. It's anti-social @@ -2241,13 +2238,13 @@ class Libzot { */ $return = false; - if($arr['parent_mid']) { + if ($arr['parent_mid']) { $return = q("select * from mail where mid = '%s' and channel_id = %d limit 1", dbesc($arr['parent_mid']), intval($channel['channel_id']) ); } - if(! $return) { + if (!$return) { logger("permission denied for mail delivery {$channel['channel_id']}"); $DR->update('permission denied'); $result[] = $DR->get(); @@ -2260,8 +2257,8 @@ class Libzot { dbesc($arr['mid']), intval($channel['channel_id']) ); - if($r) { - if(intval($arr['mail_recalled'])) { + if ($r) { + if (intval($arr['mail_recalled'])) { $x = q("delete from mail where id = %d and channel_id = %d", intval($r[0]['id']), intval($channel['channel_id']) @@ -2280,7 +2277,7 @@ class Libzot { else { $arr['account_id'] = $channel['channel_account_id']; $arr['channel_id'] = $channel['channel_id']; - $item_id = mail_store($arr); + $item_id = mail_store($arr); $DR->update('mail delivered'); $result[] = $DR->get(); } @@ -2293,12 +2290,12 @@ class Libzot { /** * @brief Processes delivery of profile. * - * @see import_directory_profile() - * * @param string $sender * @param array $arr * @param array $deliveries (unused) * @return void + * @see import_directory_profile() + * */ static function process_profile_delivery($sender, $arr, $deliveries) { @@ -2307,7 +2304,7 @@ class Libzot { $r = q("select xchan_addr from xchan where xchan_hash = '%s' limit 1", dbesc($sender) ); - if($r) { + if ($r) { Libzotdir::import_directory_profile($sender, $arr, $r[0]['xchan_addr'], UPDATE_FLAGS_UPDATED, 0); } } @@ -2329,16 +2326,16 @@ class Libzot { $r = q("select * from xchan where xchan_hash = '%s' limit 1", dbesc($sender) ); - if($r) { - $xchan = [ 'id' => $r[0]['xchan_guid'], 'id_sig' => $r[0]['xchan_guid_sig'], - 'hash' => $r[0]['xchan_hash'], 'public_key' => $r[0]['xchan_pubkey'] ]; - } - if(array_key_exists('locations',$arr) && $arr['locations']) { - $x = Libsync::sync_locations($xchan,$arr,true); - logger('results: ' . print_r($x,true), LOGGER_DEBUG); - if($x['changed']) { + if ($r) { + $xchan = ['id' => $r[0]['xchan_guid'], 'id_sig' => $r[0]['xchan_guid_sig'], + 'hash' => $r[0]['xchan_hash'], 'public_key' => $r[0]['xchan_pubkey']]; + } + if (array_key_exists('locations', $arr) && $arr['locations']) { + $x = Libsync::sync_locations($xchan, $arr, true); + logger('results: ' . print_r($x, true), LOGGER_DEBUG); + if ($x['changed']) { //$guid = random_string() . '@' . App::get_hostname(); - Libzotdir::update_modtime($sender,$r[0]['xchan_guid'],$arr['locations'][0]['address'],UPDATE_FLAGS_UPDATED); + Libzotdir::update_modtime($sender, $r[0]['xchan_guid'], $arr['locations'][0]['address'], UPDATE_FLAGS_UPDATED); } } } @@ -2365,10 +2362,10 @@ class Libzot { */ static function check_location_move($sender_hash, $locations) { - if(! $locations) + if (!$locations) return; - if(count($locations) != 1) + if (count($locations) != 1) return; $loc = $locations[0]; @@ -2377,10 +2374,10 @@ class Libzot { dbesc($sender_hash) ); - if(! $r) + if (!$r) return; - if($loc['url'] !== z_root()) { + if ($loc['url'] !== z_root()) { $x = q("update channel set channel_moved = '%s' where channel_hash = '%s' limit 1", dbesc($loc['url']), dbesc($sender_hash) @@ -2390,7 +2387,7 @@ class Libzot { // of the move on singleton networks $arr = [ - 'channel' => $r[0], + 'channel' => $r[0], 'locations' => $locations ]; /** @@ -2407,23 +2404,23 @@ class Libzot { /** * @brief Returns an array with all known distinct hubs for this channel. * - * @see self::get_hublocs() * @param array $channel an associative array which must contain * * \e string \b channel_hash the hash of the channel * @return array an array with associative arrays + * @see self::get_hublocs() */ static function encode_locations($channel) { $ret = []; $x = self::get_hublocs($channel['channel_hash']); - if($x && count($x)) { - foreach($x as $hub) { + if ($x && count($x)) { + foreach ($x as $hub) { // if this is a local channel that has been deleted, the hubloc is no good - make sure it is marked deleted // so that nobody tries to use it. - if(intval($channel['channel_removed']) && $hub['hubloc_url'] === z_root()) + if (intval($channel['channel_removed']) && $hub['hubloc_url'] === z_root()) $hub['hubloc_deleted'] = 1; @@ -2442,15 +2439,15 @@ class Libzot { // version compatibility tweaks - if(! strpos($z['url_sig'],'.')) { + if (!strpos($z['url_sig'], '.')) { $z['url_sig'] = 'sha256.' . $z['url_sig']; } - if(! $z['id_url']) { - $z['id_url'] = $z['url'] . '/channel/' . substr($z['address'],0,strpos($z['address'],'@')); + if (!$z['id_url']) { + $z['id_url'] = $z['url'] . '/channel/' . substr($z['address'], 0, strpos($z['address'], '@')); } - if(! $z['site_id']) { - $z['site_id'] = Libzot::make_xchan_hash($z['url'],$z['sitekey']); + if (!$z['site_id']) { + $z['site_id'] = Libzot::make_xchan_hash($z['url'], $z['sitekey']); } $ret[] = $z; @@ -2469,10 +2466,10 @@ class Libzot { */ static function import_site($arr) { - if( (! is_array($arr)) || (! $arr['url']) || (! $arr['site_sig'])) + if ((!is_array($arr)) || (!$arr['url']) || (!$arr['site_sig'])) return false; - if(! self::verify($arr['url'], $arr['site_sig'], $arr['sitekey'])) { + if (!self::verify($arr['url'], $arr['site_sig'], $arr['sitekey'])) { logger('Bad url_sig'); return false; } @@ -2483,66 +2480,66 @@ class Libzot { $r = q("select * from site where site_url = '%s' limit 1", dbesc($arr['url']) ); - if($r) { - $exists = true; + if ($r) { + $exists = true; $siterecord = $r[0]; } $site_directory = 0; - if($arr['directory_mode'] == 'normal') + if ($arr['directory_mode'] == 'normal') $site_directory = DIRECTORY_MODE_NORMAL; - if($arr['directory_mode'] == 'primary') + if ($arr['directory_mode'] == 'primary') $site_directory = DIRECTORY_MODE_PRIMARY; - if($arr['directory_mode'] == 'secondary') + if ($arr['directory_mode'] == 'secondary') $site_directory = DIRECTORY_MODE_SECONDARY; - if($arr['directory_mode'] == 'standalone') + if ($arr['directory_mode'] == 'standalone') $site_directory = DIRECTORY_MODE_STANDALONE; $register_policy = 0; - if($arr['register_policy'] == 'closed') + if ($arr['register_policy'] == 'closed') $register_policy = REGISTER_CLOSED; - if($arr['register_policy'] == 'open') + if ($arr['register_policy'] == 'open') $register_policy = REGISTER_OPEN; - if($arr['register_policy'] == 'approve') + if ($arr['register_policy'] == 'approve') $register_policy = REGISTER_APPROVE; $access_policy = 0; - if(array_key_exists('access_policy',$arr)) { - if($arr['access_policy'] === 'private') + if (array_key_exists('access_policy', $arr)) { + if ($arr['access_policy'] === 'private') $access_policy = ACCESS_PRIVATE; - if($arr['access_policy'] === 'paid') + if ($arr['access_policy'] === 'paid') $access_policy = ACCESS_PAID; - if($arr['access_policy'] === 'free') + if ($arr['access_policy'] === 'free') $access_policy = ACCESS_FREE; - if($arr['access_policy'] === 'tiered') + if ($arr['access_policy'] === 'tiered') $access_policy = ACCESS_TIERED; } // don't let insecure sites register as public hubs - if(strpos($arr['url'],'https://') === false) + if (strpos($arr['url'], 'https://') === false) $access_policy = ACCESS_PRIVATE; - if($access_policy != ACCESS_PRIVATE) { + if ($access_policy != ACCESS_PRIVATE) { $x = z_fetch_url($arr['url'] . '/siteinfo.json'); - if(! $x['success']) + if (!$x['success']) $access_policy = ACCESS_PRIVATE; } - $directory_url = htmlspecialchars($arr['directory_url'],ENT_COMPAT,'UTF-8',false); - $url = htmlspecialchars(strtolower($arr['url']),ENT_COMPAT,'UTF-8',false); - $sellpage = htmlspecialchars($arr['sellpage'],ENT_COMPAT,'UTF-8',false); - $site_location = htmlspecialchars($arr['location'],ENT_COMPAT,'UTF-8',false); - $site_realm = htmlspecialchars($arr['realm'],ENT_COMPAT,'UTF-8',false); - $site_project = htmlspecialchars($arr['project'],ENT_COMPAT,'UTF-8',false); - $site_crypto = ((array_key_exists('encryption',$arr) && is_array($arr['encryption'])) ? htmlspecialchars(implode(',',$arr['encryption']),ENT_COMPAT,'UTF-8',false) : ''); - $site_version = ((array_key_exists('version',$arr)) ? htmlspecialchars($arr['version'],ENT_COMPAT,'UTF-8',false) : ''); + $directory_url = htmlspecialchars($arr['directory_url'], ENT_COMPAT, 'UTF-8', false); + $url = htmlspecialchars(strtolower($arr['url']), ENT_COMPAT, 'UTF-8', false); + $sellpage = htmlspecialchars($arr['sellpage'], ENT_COMPAT, 'UTF-8', false); + $site_location = htmlspecialchars($arr['location'], ENT_COMPAT, 'UTF-8', false); + $site_realm = htmlspecialchars($arr['realm'], ENT_COMPAT, 'UTF-8', false); + $site_project = htmlspecialchars($arr['project'], ENT_COMPAT, 'UTF-8', false); + $site_crypto = ((array_key_exists('encryption', $arr) && is_array($arr['encryption'])) ? htmlspecialchars(implode(',', $arr['encryption']), ENT_COMPAT, 'UTF-8', false) : ''); + $site_version = ((array_key_exists('version', $arr)) ? htmlspecialchars($arr['version'], ENT_COMPAT, 'UTF-8', false) : ''); // You can have one and only one primary directory per realm. // Downgrade any others claiming to be primary. As they have // flubbed up this badly already, don't let them be directory servers at all. - if(($site_directory === DIRECTORY_MODE_PRIMARY) + if (($site_directory === DIRECTORY_MODE_PRIMARY) && ($site_realm === get_directory_realm()) && ($arr['url'] != get_directory_primary())) { $site_directory = DIRECTORY_MODE_NORMAL; @@ -2550,12 +2547,12 @@ class Libzot { $site_flags = $site_directory; - if(array_key_exists('zot',$arr)) { - set_sconfig($arr['url'],'system','zot_version',$arr['zot']); + if (array_key_exists('zot', $arr)) { + set_sconfig($arr['url'], 'system', 'zot_version', $arr['zot']); } - if($exists) { - if(($siterecord['site_flags'] != $site_flags) + if ($exists) { + if (($siterecord['site_flags'] != $site_flags) || ($siterecord['site_access'] != $access_policy) || ($siterecord['site_directory'] != $directory_url) || ($siterecord['site_sellpage'] != $sellpage) @@ -2564,12 +2561,12 @@ class Libzot { || ($siterecord['site_project'] != $site_project) || ($siterecord['site_realm'] != $site_realm) || ($siterecord['site_crypto'] != $site_crypto) - || ($siterecord['site_version'] != $site_version) ) { + || ($siterecord['site_version'] != $site_version)) { $update = true; - // logger('import_site: input: ' . print_r($arr,true)); - // logger('import_site: stored: ' . print_r($siterecord,true)); + // logger('import_site: input: ' . print_r($arr,true)); + // logger('import_site: stored: ' . print_r($siterecord,true)); $r = q("update site set site_dead = 0, site_location = '%s', site_flags = %d, site_access = %d, site_directory = '%s', site_register = %d, site_update = '%s', site_sellpage = '%s', site_realm = '%s', site_type = %d, site_project = '%s', site_version = '%s', site_crypto = '%s' where site_url = '%s'", @@ -2587,8 +2584,8 @@ class Libzot { dbesc($site_crypto), dbesc($url) ); - if(! $r) { - logger('Update failed. ' . print_r($arr,true)); + if (!$r) { + logger('Update failed. ' . print_r($arr, true)); } } else { @@ -2620,8 +2617,8 @@ class Libzot { ] ); - if(! $r) { - logger('Record create failed. ' . print_r($arr,true)); + if (!$r) { + logger('Record create failed. ' . print_r($arr, true)); } } @@ -2631,14 +2628,14 @@ class Libzot { /** * @brief Returns path to /rpost * - * @todo We probably should make rpost discoverable. - * * @param array $observer * * \e string \b xchan_url * @return string + * @todo We probably should make rpost discoverable. + * */ static function get_rpost_path($observer) { - if(! $observer) + if (!$observer) return ''; $parsed = parse_url($observer['xchan_url']); @@ -2659,11 +2656,11 @@ class Libzot { // we may only end up with one; which results in posts with no author name or photo and are a bit // of a hassle to repair. If either or both are missing, do a full discovery probe. - if(! array_key_exists('id',$x)) { + if (!array_key_exists('id', $x)) { return import_author_activitypub($x); } - $hash = self::make_xchan_hash($x['id'],$x['key']); + $hash = self::make_xchan_hash($x['id'], $x['key']); $desturl = $x['url']; @@ -2680,18 +2677,18 @@ class Libzot { $site_dead = false; - if($r1 && intval($r1[0]['site_dead'])) { + if ($r1 && intval($r1[0]['site_dead'])) { $site_dead = true; } // We have valid and somewhat fresh information. Always true if it is our own site. - if($r1 && $r2 && ( $r1[0]['hubloc_updated'] > datetime_convert('UTC','UTC','now - 1 week') || $r1[0]['hubloc_url'] === z_root() ) ) { + if ($r1 && $r2 && ($r1[0]['hubloc_updated'] > datetime_convert('UTC', 'UTC', 'now - 1 week') || $r1[0]['hubloc_url'] === z_root())) { logger('in cache', LOGGER_DEBUG); return $hash; } - logger('not in cache or cache stale - probing: ' . print_r($x,true), LOGGER_DEBUG,LOG_INFO); + logger('not in cache or cache stale - probing: ' . print_r($x, true), LOGGER_DEBUG, LOG_INFO); // The primary hub may be dead. Try to find another one associated with this identity that is // still alive. If we find one, use that url for the discovery/refresh probe. Otherwise, the dead site @@ -2699,15 +2696,15 @@ class Libzot { // cached entry and the identity is valid. It's just unreachable until they bring back their // server from the grave or create another clone elsewhere. - if($site_dead) { - logger('dead site - ignoring', LOGGER_DEBUG,LOG_INFO); + if ($site_dead) { + logger('dead site - ignoring', LOGGER_DEBUG, LOG_INFO); $r = q("select hubloc_id_url from hubloc left join site on hubloc_url = site_url where hubloc_hash = '%s' and site_dead = 0", dbesc($hash) ); - if($r) { - logger('found another site that is not dead: ' . $r[0]['hubloc_url'], LOGGER_DEBUG,LOG_INFO); + if ($r) { + logger('found another site that is not dead: ' . $r[0]['hubloc_url'], LOGGER_DEBUG, LOG_INFO); $desturl = $r[0]['hubloc_url']; } else { @@ -2715,8 +2712,8 @@ class Libzot { } } - $them = [ 'hubloc_id_url' => $desturl ]; - if(self::refresh($them)) + $them = ['hubloc_id_url' => $desturl]; + if (self::refresh($them)) return $hash; return false; @@ -2724,27 +2721,27 @@ class Libzot { static function zotinfo($arr) { - logger('arr: ' . print_r($arr,true)); + logger('arr: ' . print_r($arr, true)); $ret = []; - $zhash = ((x($arr,'guid_hash')) ? $arr['guid_hash'] : ''); - $zguid = ((x($arr,'guid')) ? $arr['guid'] : ''); - $zguid_sig = ((x($arr,'guid_sig')) ? $arr['guid_sig'] : ''); - $zaddr = ((x($arr,'address')) ? $arr['address'] : ''); - $ztarget = ((x($arr,'target_url')) ? $arr['target_url'] : ''); - $zsig = ((x($arr,'target_sig')) ? $arr['target_sig'] : ''); - $zkey = ((x($arr,'key')) ? $arr['key'] : ''); - $mindate = ((x($arr,'mindate')) ? $arr['mindate'] : ''); - $token = ((x($arr,'token')) ? $arr['token'] : ''); - $feed = ((x($arr,'feed')) ? intval($arr['feed']) : 0); - - if($ztarget) { + $zhash = ((x($arr, 'guid_hash')) ? $arr['guid_hash'] : ''); + $zguid = ((x($arr, 'guid')) ? $arr['guid'] : ''); + $zguid_sig = ((x($arr, 'guid_sig')) ? $arr['guid_sig'] : ''); + $zaddr = ((x($arr, 'address')) ? $arr['address'] : ''); + $ztarget = ((x($arr, 'target_url')) ? $arr['target_url'] : ''); + $zsig = ((x($arr, 'target_sig')) ? $arr['target_sig'] : ''); + $zkey = ((x($arr, 'key')) ? $arr['key'] : ''); + $mindate = ((x($arr, 'mindate')) ? $arr['mindate'] : ''); + $token = ((x($arr, 'token')) ? $arr['token'] : ''); + $feed = ((x($arr, 'feed')) ? intval($arr['feed']) : 0); + + if ($ztarget) { $t = q("select * from hubloc where hubloc_id_url = '%s' and hubloc_network = 'zot6' limit 1", dbesc($ztarget) ); - if($t) { + if ($t) { $ztarget_hash = $t[0]['hubloc_hash']; @@ -2762,21 +2759,21 @@ class Libzot { $r = null; - if(strlen($zhash)) { + if (strlen($zhash)) { $r = q("select channel.*, xchan.* from channel left join xchan on channel_hash = xchan_hash where channel_hash = '%s' limit 1", dbesc($zhash) ); } - elseif(strlen($zguid) && strlen($zguid_sig)) { + elseif (strlen($zguid) && strlen($zguid_sig)) { $r = q("select channel.*, xchan.* from channel left join xchan on channel_hash = xchan_hash where channel_guid = '%s' and channel_guid_sig = '%s' limit 1", dbesc($zguid), dbesc($zguid_sig) ); } - elseif(strlen($zaddr)) { - if(strpos($zaddr,'[system]') === false) { /* normal address lookup */ + elseif (strlen($zaddr)) { + if (strpos($zaddr, '[system]') === false) { /* normal address lookup */ $r = q("select channel.*, xchan.* from channel left join xchan on channel_hash = xchan_hash where ( channel_address = '%s' or xchan_addr = '%s' ) limit 1", dbesc($zaddr), @@ -2799,7 +2796,7 @@ class Libzot { $r = q("select channel.*, xchan.* from channel left join xchan on channel_hash = xchan_hash where channel_system = 1 order by channel_id limit 1"); - if(! $r) { + if (!$r) { $r = q("select channel.*, xchan.* from channel left join xchan on channel_hash = xchan_hash where channel_removed = 0 order by channel_id limit 1"); } @@ -2807,45 +2804,45 @@ class Libzot { } else { $ret['message'] = 'Invalid request'; - return($ret); + return ($ret); } - if(! $r) { + if (!$r) { $ret['message'] = 'Item not found.'; - return($ret); + return ($ret); } $e = $r[0]; $id = $e['channel_id']; - $sys_channel = (intval($e['channel_system']) ? true : false); - $special_channel = (($e['channel_pageflags'] & PAGE_PREMIUM) ? true : false); - $adult_channel = (($e['channel_pageflags'] & PAGE_ADULT) ? true : false); + $sys_channel = (intval($e['channel_system']) ? true : false); + $special_channel = (($e['channel_pageflags'] & PAGE_PREMIUM) ? true : false); + $adult_channel = (($e['channel_pageflags'] & PAGE_ADULT) ? true : false); $censored = (($e['channel_pageflags'] & PAGE_CENSORED) ? true : false); - $searchable = (($e['channel_pageflags'] & PAGE_HIDDEN) ? false : true); + $searchable = (($e['channel_pageflags'] & PAGE_HIDDEN) ? false : true); $deleted = (intval($e['xchan_deleted']) ? true : false); - if($deleted || $censored || $sys_channel) + if ($deleted || $censored || $sys_channel) $searchable = false; $public_forum = false; - $role = get_pconfig($e['channel_id'],'system','permissions_role'); - if($role === 'forum' || $role === 'repository') { + $role = get_pconfig($e['channel_id'], 'system', 'permissions_role'); + if ($role === 'forum' || $role === 'repository') { $public_forum = true; } else { // check if it has characteristics of a public forum based on custom permissions. $m = Permissions::FilledAutoperms($e['channel_id']); - if($m) { - foreach($m as $k => $v) { - if($k == 'tag_deliver' && intval($v) == 1) - $ch ++; - if($k == 'send_stream' && intval($v) == 0) - $ch ++; - } - if($ch == 2) + if ($m) { + foreach ($m as $k => $v) { + if ($k == 'tag_deliver' && intval($v) == 1) + $ch++; + if ($k == 'send_stream' && intval($v) == 0) + $ch++; + } + if ($ch == 2) $public_forum = true; } } @@ -2856,128 +2853,128 @@ class Libzot { intval($e['channel_id']) ); - $profile = array(); + $profile = []; - if($p) { + if ($p) { - if(! intval($p[0]['publish'])) + if (!intval($p[0]['publish'])) $searchable = false; - $profile['description'] = $p[0]['pdesc']; - $profile['birthday'] = $p[0]['dob']; - if(($profile['birthday'] != '0000-00-00') && (($bd = z_birthday($p[0]['dob'],'UTC')) !== '')) + $profile['description'] = $p[0]['pdesc']; + $profile['birthday'] = $p[0]['dob']; + if (($profile['birthday'] != '0000-00-00') && (($bd = z_birthday($p[0]['dob'], 'UTC')) !== '')) $profile['next_birthday'] = $bd; - if($age = age($p[0]['dob'],$e['channel_timezone'],'')) + if ($age = age($p[0]['dob'], $e['channel_timezone'], '')) $profile['age'] = $age; - $profile['gender'] = $p[0]['gender']; - $profile['marital'] = $p[0]['marital']; - $profile['sexual'] = $p[0]['sexual']; - $profile['locale'] = $p[0]['locality']; - $profile['region'] = $p[0]['region']; - $profile['postcode'] = $p[0]['postal_code']; - $profile['country'] = $p[0]['country_name']; - $profile['about'] = $p[0]['about']; - $profile['homepage'] = $p[0]['homepage']; - $profile['hometown'] = $p[0]['hometown']; - - if($p[0]['keywords']) { - $tags = array(); - $k = explode(' ',$p[0]['keywords']); - if($k) { - foreach($k as $kk) { - if(trim($kk," \t\n\r\0\x0B,")) { - $tags[] = trim($kk," \t\n\r\0\x0B,"); + $profile['gender'] = $p[0]['gender']; + $profile['marital'] = $p[0]['marital']; + $profile['sexual'] = $p[0]['sexual']; + $profile['locale'] = $p[0]['locality']; + $profile['region'] = $p[0]['region']; + $profile['postcode'] = $p[0]['postal_code']; + $profile['country'] = $p[0]['country_name']; + $profile['about'] = $p[0]['about']; + $profile['homepage'] = $p[0]['homepage']; + $profile['hometown'] = $p[0]['hometown']; + + if ($p[0]['keywords']) { + $tags = []; + $k = explode(' ', $p[0]['keywords']); + if ($k) { + foreach ($k as $kk) { + if (trim($kk, " \t\n\r\0\x0B,")) { + $tags[] = trim($kk, " \t\n\r\0\x0B,"); } } } - if($tags) + if ($tags) $profile['keywords'] = $tags; } } // Communication details - $ret['id'] = $e['xchan_guid']; - $ret['id_sig'] = self::sign($e['xchan_guid'], $e['channel_prvkey']); + $ret['id'] = $e['xchan_guid']; + $ret['id_sig'] = self::sign($e['xchan_guid'], $e['channel_prvkey']); $ret['primary_location'] = [ - 'address' => $e['xchan_addr'], - 'url' => $e['xchan_url'], - 'connections_url' => $e['xchan_connurl'], - 'follow_url' => $e['xchan_follow'], + 'address' => $e['xchan_addr'], + 'url' => $e['xchan_url'], + 'connections_url' => $e['xchan_connurl'], + 'follow_url' => $e['xchan_follow'], ]; - $ret['public_key'] = $e['xchan_pubkey']; - $ret['username'] = $e['channel_address']; - $ret['name'] = $e['xchan_name']; - $ret['name_updated'] = $e['xchan_name_date']; - $ret['photo'] = [ + $ret['public_key'] = $e['xchan_pubkey']; + $ret['username'] = $e['channel_address']; + $ret['name'] = $e['xchan_name']; + $ret['name_updated'] = $e['xchan_name_date']; + $ret['photo'] = [ 'url' => $e['xchan_photo_l'], 'type' => $e['xchan_photo_mimetype'], 'updated' => $e['xchan_photo_date'] ]; - $ret['channel_role'] = get_pconfig($e['channel_id'],'system','permissions_role','custom'); - $ret['protocols'] = [ 'zot6', 'zot' ]; - $ret['searchable'] = $searchable; - $ret['adult_content'] = $adult_channel; - $ret['public_forum'] = $public_forum; + $ret['channel_role'] = get_pconfig($e['channel_id'], 'system', 'permissions_role', 'custom'); + $ret['protocols'] = ['zot6', 'zot']; + $ret['searchable'] = $searchable; + $ret['adult_content'] = $adult_channel; + $ret['public_forum'] = $public_forum; - $ret['comments'] = map_scope(PermissionLimits::Get($e['channel_id'],'post_comments')); - $ret['mail'] = map_scope(PermissionLimits::Get($e['channel_id'],'post_mail')); + $ret['comments'] = map_scope(PermissionLimits::Get($e['channel_id'], 'post_comments')); + $ret['mail'] = map_scope(PermissionLimits::Get($e['channel_id'], 'post_mail')); - if($deleted) - $ret['deleted'] = $deleted; + if ($deleted) + $ret['deleted'] = $deleted; - if(intval($e['channel_removed'])) + if (intval($e['channel_removed'])) $ret['deleted_locally'] = true; // premium or other channel desiring some contact with potential followers before connecting. // This is a template - %s will be replaced with the follow_url we discover for the return channel. - if($special_channel) { + if ($special_channel) { $ret['connect_url'] = (($e['xchan_connpage']) ? $e['xchan_connpage'] : z_root() . '/connect/' . $e['channel_address']); } // This is a template for our follow url, %s will be replaced with a webbie - if(! $ret['follow_url']) + if (!$ret['follow_url']) $ret['follow_url'] = z_root() . '/follow?f=&url=%s'; - $permissions = get_all_perms($e['channel_id'],$ztarget_hash,false,false); + $permissions = get_all_perms($e['channel_id'], $ztarget_hash, false, false); - if($ztarget_hash) { + if ($ztarget_hash) { $permissions['connected'] = false; - $b = q("select * from abook where abook_xchan = '%s' and abook_channel = %d limit 1", + $b = q("select * from abook where abook_xchan = '%s' and abook_channel = %d limit 1", dbesc($ztarget_hash), intval($e['channel_id']) ); - if($b) + if ($b) $permissions['connected'] = true; } - if($permissions['view_profile']) - $ret['profile'] = $profile; + if ($permissions['view_profile']) + $ret['profile'] = $profile; $concise_perms = []; - if($permissions) { - foreach($permissions as $k => $v) { - if($v) { + if ($permissions) { + foreach ($permissions as $k => $v) { + if ($v) { $concise_perms[] = $k; } } - $permissions = implode(',',$concise_perms); + $permissions = implode(',', $concise_perms); } - $ret['permissions'] = $permissions; - $ret['permissions_for'] = $ztarget; + $ret['permissions'] = $permissions; + $ret['permissions_for'] = $ztarget; // array of (verified) hubs this channel uses $x = self::encode_locations($e); - if($x) + if ($x) $ret['locations'] = $x; $ret['site'] = self::site_info(); @@ -2997,58 +2994,58 @@ class Libzot { */ static function site_info() { - $signing_key = get_config('system','prvkey'); - $sig_method = get_config('system','signature_algorithm','sha256'); + $signing_key = get_config('system', 'prvkey'); + $sig_method = get_config('system', 'signature_algorithm', 'sha256'); - $ret = []; - $ret['site'] = []; - $ret['site']['url'] = z_root(); - $ret['site']['site_sig'] = self::sign(z_root(), $signing_key); - $ret['site']['post'] = z_root() . '/zot'; + $ret = []; + $ret['site'] = []; + $ret['site']['url'] = z_root(); + $ret['site']['site_sig'] = self::sign(z_root(), $signing_key); + $ret['site']['post'] = z_root() . '/zot'; $ret['site']['openWebAuth'] = z_root() . '/owa'; $ret['site']['authRedirect'] = z_root() . '/magic'; - $ret['site']['sitekey'] = get_config('system','pubkey'); + $ret['site']['sitekey'] = get_config('system', 'pubkey'); - $dirmode = get_config('system','directory_mode'); - if(($dirmode === false) || ($dirmode == DIRECTORY_MODE_NORMAL)) + $dirmode = get_config('system', 'directory_mode'); + if (($dirmode === false) || ($dirmode == DIRECTORY_MODE_NORMAL)) $ret['site']['directory_mode'] = 'normal'; - if($dirmode == DIRECTORY_MODE_PRIMARY) + if ($dirmode == DIRECTORY_MODE_PRIMARY) $ret['site']['directory_mode'] = 'primary'; - elseif($dirmode == DIRECTORY_MODE_SECONDARY) + elseif ($dirmode == DIRECTORY_MODE_SECONDARY) $ret['site']['directory_mode'] = 'secondary'; - elseif($dirmode == DIRECTORY_MODE_STANDALONE) + elseif ($dirmode == DIRECTORY_MODE_STANDALONE) $ret['site']['directory_mode'] = 'standalone'; - if($dirmode != DIRECTORY_MODE_NORMAL) + if ($dirmode != DIRECTORY_MODE_NORMAL) $ret['site']['directory_url'] = z_root() . '/dirsearch'; $ret['site']['encryption'] = crypto_methods(); - $ret['site']['zot'] = System::get_zot_revision(); + $ret['site']['zot'] = System::get_zot_revision(); // hide detailed site information if you're off the grid - if($dirmode != DIRECTORY_MODE_STANDALONE) { + if ($dirmode != DIRECTORY_MODE_STANDALONE) { - $register_policy = intval(get_config('system','register_policy')); + $register_policy = intval(get_config('system', 'register_policy')); - if($register_policy == REGISTER_CLOSED) + if ($register_policy == REGISTER_CLOSED) $ret['site']['register_policy'] = 'closed'; - if($register_policy == REGISTER_APPROVE) + if ($register_policy == REGISTER_APPROVE) $ret['site']['register_policy'] = 'approve'; - if($register_policy == REGISTER_OPEN) + if ($register_policy == REGISTER_OPEN) $ret['site']['register_policy'] = 'open'; - $access_policy = intval(get_config('system','access_policy')); + $access_policy = intval(get_config('system', 'access_policy')); - if($access_policy == ACCESS_PRIVATE) + if ($access_policy == ACCESS_PRIVATE) $ret['site']['access_policy'] = 'private'; - if($access_policy == ACCESS_PAID) + if ($access_policy == ACCESS_PAID) $ret['site']['access_policy'] = 'paid'; - if($access_policy == ACCESS_FREE) + if ($access_policy == ACCESS_FREE) $ret['site']['access_policy'] = 'free'; - if($access_policy == ACCESS_TIERED) + if ($access_policy == ACCESS_TIERED) $ret['site']['access_policy'] = 'tiered'; $ret['site']['accounts'] = account_total(); @@ -3056,24 +3053,24 @@ class Libzot { require_once('include/channel.php'); $ret['site']['channels'] = channel_total(); - $ret['site']['admin'] = get_config('system','admin_email'); + $ret['site']['admin'] = get_config('system', 'admin_email'); - $visible_plugins = array(); - if(is_array(\App::$plugins) && count(\App::$plugins)) { + $visible_plugins = []; + if (is_array(\App::$plugins) && count(\App::$plugins)) { $r = q("select * from addon where hidden = 0"); - if($r) - foreach($r as $rr) + if ($r) + foreach ($r as $rr) $visible_plugins[] = $rr['aname']; } - $ret['site']['plugins'] = $visible_plugins; - $ret['site']['sitehash'] = get_config('system','location_hash'); - $ret['site']['sitename'] = get_config('system','sitename'); - $ret['site']['sellpage'] = get_config('system','sellpage'); - $ret['site']['location'] = get_config('system','site_location'); - $ret['site']['realm'] = get_directory_realm(); - $ret['site']['project'] = System::get_platform_name(); - $ret['site']['version'] = System::get_project_version(); + $ret['site']['plugins'] = $visible_plugins; + $ret['site']['sitehash'] = get_config('system', 'location_hash'); + $ret['site']['sitename'] = get_config('system', 'sitename'); + $ret['site']['sellpage'] = get_config('system', 'sellpage'); + $ret['site']['location'] = get_config('system', 'site_location'); + $ret['site']['realm'] = get_directory_realm(); + $ret['site']['project'] = System::get_platform_name(); + $ret['site']['version'] = System::get_project_version(); } @@ -3154,36 +3151,36 @@ class Libzot { * @param string $alg (optional) default 'sha256' * @return string */ - static function sign($data,$key,$alg = 'sha256') { - if(! $key) + static function sign($data, $key, $alg = 'sha256') { + if (!$key) return 'no key'; $sig = ''; - openssl_sign($data,$sig,$key,$alg); + openssl_sign($data, $sig, $key, $alg); return $alg . '.' . base64url_encode($sig); } - static function verify($data,$sig,$key) { + static function verify($data, $sig, $key) { $verify = 0; - $x = explode('.',$sig,2); + $x = explode('.', $sig, 2); if ($key && count($x) === 2) { - $alg = $x[0]; + $alg = $x[0]; $signature = base64url_decode($x[1]); - $verify = @openssl_verify($data,$signature,$key,$alg); + $verify = @openssl_verify($data, $signature, $key, $alg); if ($verify === (-1)) { while ($msg = openssl_error_string()) { - logger('openssl_verify: ' . $msg,LOGGER_NORMAL,LOG_ERR); + logger('openssl_verify: ' . $msg, LOGGER_NORMAL, LOG_ERR); } btlogger('openssl_verify: key: ' . $key, LOGGER_DEBUG, LOG_ERR); } } - return(($verify > 0) ? true : false); + return (($verify > 0) ? true : false); } /** @@ -3192,25 +3189,25 @@ class Libzot { * @return boolean */ static function is_zot_request() { - $x = getBestSupportedMimeType([ 'application/x-zot+json' ]); + $x = getBestSupportedMimeType(['application/x-zot+json']); - return(($x) ? true : false); + return (($x) ? true : false); } static public function zot_record_preferred($arr, $check = 'hubloc_network') { - if(! $arr) { + if (!$arr) { return $arr; } - foreach($arr as $v) { - if($v[$check] === 'zot6') { + foreach ($arr as $v) { + if ($v[$check] === 'zot6') { return $v; } } - foreach($arr as $v) { - if($v[$check] === 'zot') { + foreach ($arr as $v) { + if ($v[$check] === 'zot') { return $v; } } diff --git a/Zotlabs/Lib/Libzotdir.php b/Zotlabs/Lib/Libzotdir.php index b02516a98..d4c5398ee 100644 --- a/Zotlabs/Lib/Libzotdir.php +++ b/Zotlabs/Lib/Libzotdir.php @@ -19,7 +19,6 @@ class Libzotdir { */ static function find_upstream_directory($dirmode) { - global $DIRECTORY_FALLBACK_SERVERS; $preferred = get_config('system','directory_server'); @@ -31,7 +30,7 @@ class Libzotdir { ); if(($r) && ($r[0]['site_flags'] & DIRECTORY_MODE_STANDALONE)) { $preferred = ''; - } + } } @@ -42,19 +41,21 @@ class Libzotdir { * from our list of directory servers. However, if we're a directory * server ourself, point at the local instance * We will then set this value so this should only ever happen once. - * Ideally there will be an admin setting to change to a different + * Ideally there will be an admin setting to change to a different * directory server if you don't like our choice or if circumstances change. */ + $directory_fallback_servers = get_directory_fallback_servers(); + $dirmode = intval(get_config('system','directory_mode')); if ($dirmode == DIRECTORY_MODE_NORMAL) { - $toss = mt_rand(0,count($DIRECTORY_FALLBACK_SERVERS)); - $preferred = $DIRECTORY_FALLBACK_SERVERS[$toss]; + $toss = mt_rand(0,count($directory_fallback_servers)); + $preferred = $directory_fallback_servers[$toss]; if(! $preferred) { $preferred = DIRECTORY_FALLBACK_MASTER; } set_config('system','directory_server',$preferred); - } + } else { set_config('system','directory_server',z_root()); } @@ -108,7 +109,7 @@ class Libzotdir { $ret = get_config('directory', $setting); - // 'safemode' is the default if there is no observer or no established preference. + // 'safemode' is the default if there is no observer or no established preference. if($setting === 'safemode' && $ret === false) $ret = 1; @@ -175,8 +176,8 @@ class Libzotdir { * * Checks the directory mode of this hub to see if it is some form of directory server. If it is, * get the directory realm of this hub. Fetch a list of all other directory servers in this realm and request - * a directory sync packet. This will contain both directory updates and new ratings. Store these all in the DB. - * In the case of updates, we will query each of them asynchronously from a poller task. Ratings are stored + * a directory sync packet. This will contain both directory updates and new ratings. Store these all in the DB. + * In the case of updates, we will query each of them asynchronously from a poller task. Ratings are stored * directly if the rater's signature matches. * * @param int $dirmode; @@ -188,16 +189,17 @@ class Libzotdir { return; $realm = get_directory_realm(); + if ($realm == DIRECTORY_REALM) { - $r = q("select * from site where (site_flags & %d) > 0 and site_url != '%s' and site_type = %d and ( site_realm = '%s' or site_realm = '') ", + $r = q("select * from site where (site_flags & %d) > 0 and site_url != '%s' and site_type = %d and ( site_realm = '%s' or site_realm = '') and site_dead = 0", intval(DIRECTORY_MODE_PRIMARY|DIRECTORY_MODE_SECONDARY), dbesc(z_root()), intval(SITE_TYPE_ZOT), dbesc($realm) ); - } + } else { - $r = q("select * from site where (site_flags & %d) > 0 and site_url != '%s' and site_realm like '%s' and site_type = %d ", + $r = q("select * from site where (site_flags & %d) > 0 and site_url != '%s' and site_realm like '%s' and site_type = %d and site_dead = 0", intval(DIRECTORY_MODE_PRIMARY|DIRECTORY_MODE_SECONDARY), dbesc(z_root()), dbesc(protect_sprintf('%' . $realm . '%')), @@ -205,6 +207,8 @@ class Libzotdir { ); } + + // If there are no directory servers, setup the fallback master /** @FIXME What to do if we're in a different realm? */ @@ -214,14 +218,14 @@ class Libzotdir { [ 'site_url' => DIRECTORY_FALLBACK_MASTER, 'site_flags' => DIRECTORY_MODE_PRIMARY, - 'site_update' => NULL_DATE, + 'site_update' => NULL_DATE, 'site_directory' => DIRECTORY_FALLBACK_MASTER . '/dirsearch', 'site_realm' => DIRECTORY_REALM, 'site_valid' => 1, ] ); - $r = q("select * from site where site_flags in (%d, %d) and site_url != '%s' and site_type = %d ", + $r = q("select * from site where site_flags in (%d, %d) and site_url != '%s' and site_type = %d and site_dead = 0", intval(DIRECTORY_MODE_PRIMARY), intval(DIRECTORY_MODE_SECONDARY), dbesc(z_root()), @@ -245,7 +249,6 @@ class Libzotdir { $syncdate = (($rr['site_sync'] <= NULL_DATE) ? datetime_convert('UTC','UTC','now - 2 days') : $rr['site_sync']); $x = z_fetch_url($rr['site_directory'] . '?f=&sync=' . urlencode($syncdate) . (($token) ? '&t=' . $token : '')); - if (! $x['success']) continue; @@ -273,7 +276,7 @@ class Libzotdir { $ud_flags |= UPDATE_FLAGS_DELETED; if (is_array($t['flags']) && in_array('forced',$t['flags'])) $ud_flags |= UPDATE_FLAGS_FORCED; - + $z = q("insert into updates ( ud_hash, ud_guid, ud_date, ud_flags, ud_addr ) values ( '%s', '%s', '%s', %d, '%s' ) ", dbesc($t['hash']), @@ -338,7 +341,7 @@ class Libzotdir { static function local_dir_update($uid, $force) { - + logger('local_dir_update: uid: ' . $uid, LOGGER_DEBUG); $p = q("select channel.channel_hash, channel_address, channel_timezone, channel_portable_id, profile.* from profile left join channel on channel_id = uid where uid = %d and is_default = 1", @@ -354,7 +357,7 @@ class Libzotdir { $profile['description'] = $p[0]['pdesc']; $profile['birthday'] = $p[0]['dob']; - if ($age = age($p[0]['dob'],$p[0]['channel_timezone'],'')) + if ($age = age($p[0]['dob'],$p[0]['channel_timezone'],'')) $profile['age'] = $age; $profile['gender'] = $p[0]['gender']; @@ -415,7 +418,7 @@ class Libzotdir { dbesc($legacy_hash) ); } - + } $ud_hash = random_string() . '@' . \App::get_hostname(); @@ -446,7 +449,7 @@ class Libzotdir { $arr['xprof_hash'] = $hash; $arr['xprof_dob'] = (($profile['birthday'] === '0000-00-00') ? $profile['birthday'] : datetime_convert('','',$profile['birthday'],'Y-m-d')); // !!!! check this for 0000 year $arr['xprof_age'] = (($profile['age']) ? intval($profile['age']) : 0); - $arr['xprof_desc'] = (($profile['description']) ? htmlspecialchars($profile['description'], ENT_COMPAT,'UTF-8',false) : ''); + $arr['xprof_desc'] = (($profile['description']) ? htmlspecialchars($profile['description'], ENT_COMPAT,'UTF-8',false) : ''); $arr['xprof_gender'] = (($profile['gender']) ? htmlspecialchars($profile['gender'], ENT_COMPAT,'UTF-8',false) : ''); $arr['xprof_marital'] = (($profile['marital']) ? htmlspecialchars($profile['marital'], ENT_COMPAT,'UTF-8',false) : ''); $arr['xprof_sexual'] = (($profile['sexual']) ? htmlspecialchars($profile['sexual'], ENT_COMPAT,'UTF-8',false) : ''); @@ -641,7 +644,7 @@ class Libzotdir { dbesc(datetime_convert()), intval($flags), dbesc($addr) - ); + ); } else { q("update updates set ud_flags = ( ud_flags | %d ) where ud_addr = '%s' and not (ud_flags & %d)>0 ", diff --git a/Zotlabs/Lib/NativeWiki.php b/Zotlabs/Lib/NativeWiki.php index 3ec032075..c3032d02c 100644 --- a/Zotlabs/Lib/NativeWiki.php +++ b/Zotlabs/Lib/NativeWiki.php @@ -9,7 +9,7 @@ define ( 'NWIKI_ITEM_RESOURCE_TYPE', 'nwiki' ); class NativeWiki { - static public function listwikis($channel, $observer_hash) { + public static function listwikis($channel, $observer_hash) { $sql_extra = item_permissions_sql($channel['channel_id'], $observer_hash); $wikis = q("SELECT * FROM item @@ -40,7 +40,7 @@ class NativeWiki { } - function create_wiki($channel, $observer_hash, $wiki, $acl) { + public static function create_wiki($channel, $observer_hash, $wiki, $acl) { $resource_id = new_uuid(); $uuid = new_uuid(); @@ -101,7 +101,7 @@ class NativeWiki { } } - function update_wiki($channel_id, $observer_hash, $arr, $acl) { + public static function update_wiki($channel_id, $observer_hash, $arr, $acl) { $w = self::get_wiki($channel_id, $observer_hash, $arr['resource_id']); $item = $w['wiki']; @@ -156,7 +156,7 @@ class NativeWiki { } } - static public function sync_a_wiki_item($uid,$id,$resource_id) { + public static function sync_a_wiki_item($uid,$id,$resource_id) { $r = q("SELECT * from item WHERE uid = %d AND ( id = %d OR ( resource_type = '%s' and resource_id = '%s' )) ", @@ -185,7 +185,7 @@ class NativeWiki { } } - function delete_wiki($channel_id,$observer_hash,$resource_id) { + public static function delete_wiki($channel_id,$observer_hash,$resource_id) { $w = self::get_wiki($channel_id,$observer_hash,$resource_id); $item = $w['wiki']; @@ -202,7 +202,7 @@ class NativeWiki { } - static public function get_wiki($channel_id, $observer_hash, $resource_id) { + public static function get_wiki($channel_id, $observer_hash, $resource_id) { $sql_extra = item_permissions_sql($channel_id,$observer_hash); @@ -236,7 +236,7 @@ class NativeWiki { } - static public function exists_by_name($uid, $urlName) { + public static function exists_by_name($uid, $urlName) { $sql_extra = item_permissions_sql($uid); @@ -258,7 +258,7 @@ class NativeWiki { } - static public function get_permissions($resource_id, $owner_id, $observer_hash) { + public static function get_permissions($resource_id, $owner_id, $observer_hash) { // TODO: For now, only the owner can edit $sql_extra = item_permissions_sql($owner_id, $observer_hash); diff --git a/Zotlabs/Lib/NativeWikiPage.php b/Zotlabs/Lib/NativeWikiPage.php index d84cc50a8..71f193b70 100644 --- a/Zotlabs/Lib/NativeWikiPage.php +++ b/Zotlabs/Lib/NativeWikiPage.php @@ -163,7 +163,7 @@ class NativeWikiPage { return [ 'success' => true, 'page' => $page ]; } - return [ 'success' => false, 'item_id' => $c['item_id'], 'message' => t('Page not found') ]; + return [ 'success' => false, 'message' => t('Page not found') ]; } @@ -339,7 +339,6 @@ class NativeWikiPage { } static public function save_page($arr) { - $pageUrlName = ((array_key_exists('pageUrlName',$arr)) ? $arr['pageUrlName'] : ''); $content = ((array_key_exists('content',$arr)) ? $arr['content'] : ''); $resource_id = ((array_key_exists('resource_id',$arr)) ? $arr['resource_id'] : ''); @@ -385,7 +384,7 @@ class NativeWikiPage { $ret = item_store($item, false, false); if($ret['item_id']) - return array('message' => '', 'item_id' => $ret['item_id'], 'filename' => $filename, 'success' => true); + return array('message' => '', 'item_id' => $ret['item_id'], 'filename' => $pageUrlName, 'success' => true); else return array('message' => t('Page update failed.'), 'success' => false); } @@ -432,12 +431,12 @@ class NativeWikiPage { $channel_id = ((array_key_exists('channel_id',$arr)) ? $arr['channel_id'] : 0); if (! $commitHash) { - return array('content' => $content, 'message' => 'No commit was provided', 'success' => false); + return array('message' => 'No commit was provided', 'success' => false); } $w = Zlib\NativeWiki::get_wiki($channel_id, $observer_hash, $resource_id); if (!$w['wiki']) { - return array('content' => $content, 'message' => 'Error reading wiki', 'success' => false); + return array('message' => 'Error reading wiki', 'success' => false); } $x = $arr; @@ -451,7 +450,7 @@ class NativeWikiPage { $content = $loaded['body']; return [ 'content' => $content, 'success' => true ]; } - return [ 'content' => $content, 'success' => false ]; + return [ 'success' => false ]; } } diff --git a/Zotlabs/Lib/Queue.php b/Zotlabs/Lib/Queue.php index 6acc58bc5..779719d8b 100644 --- a/Zotlabs/Lib/Queue.php +++ b/Zotlabs/Lib/Queue.php @@ -2,9 +2,6 @@ namespace Zotlabs\Lib; -use Zotlabs\Lib\Libzot; - - class Queue { static function update($id, $add_priority = 0) { @@ -39,7 +36,7 @@ class Queue { // queue item is less than 12 hours old, we'll schedule for fifteen // minutes. - $r = q("UPDATE outq SET outq_scheduled = '%s' WHERE outq_posturl = '%s'", + q("UPDATE outq SET outq_scheduled = '%s' WHERE outq_posturl = '%s'", dbesc(datetime_convert('UTC','UTC','now + 5 days')), dbesc($x[0]['outq_posturl']) ); @@ -88,7 +85,7 @@ class Queue { static function set_delivered($id,$channel = 0) { logger('queue: set delivered ' . $id,LOGGER_DEBUG); - $sql_extra = (($channel_id) ? " and outq_channel = " . intval($channel_id) . " " : ''); + $sql_extra = (($channel['channel_id']) ? " and outq_channel = " . intval($channel['channel_id']) . " " : ''); // Set the next scheduled run date so far in the future that it will be expired // long before it ever makes it back into the delivery chain. @@ -230,11 +227,10 @@ class Queue { logger('deliver: dest: ' . $outq['outq_posturl'], LOGGER_DEBUG); - if($outq['outq_posturl'] === z_root() . '/zot') { // local delivery $zot = new \Zotlabs\Zot6\Receiver(new \Zotlabs\Zot6\Zot6Handler(),$outq['outq_notify']); - $result = $zot->run(true); + $result = $zot->run(); logger('returned_json: ' . json_encode($result,JSON_PRETTY_PRINT|JSON_UNESCAPED_SLASHES), LOGGER_DATA); logger('deliver: local zot delivery succeeded to ' . $outq['outq_posturl']); Libzot::process_response($outq['outq_posturl'],[ 'success' => true, 'body' => json_encode($result) ], $outq); diff --git a/Zotlabs/Lib/Share.php b/Zotlabs/Lib/Share.php index d34c0eaba..b4cd5a194 100644 --- a/Zotlabs/Lib/Share.php +++ b/Zotlabs/Lib/Share.php @@ -2,8 +2,6 @@ namespace Zotlabs\Lib; -use Zotlabs\Lib\Activity; - class Share { private $item = null; diff --git a/Zotlabs/Lib/ThreadItem.php b/Zotlabs/Lib/ThreadItem.php index 024502d2a..2fb07c1cb 100644 --- a/Zotlabs/Lib/ThreadItem.php +++ b/Zotlabs/Lib/ThreadItem.php @@ -35,7 +35,7 @@ class ThreadItem { public function __construct($data) { - + $this->data = $data; $this->toplevel = ($this->get_id() == $this->get_data_value('parent')); $this->threaded = get_config('system','thread_allow'); @@ -98,10 +98,11 @@ class ThreadItem { $conv = $this->get_conversation(); $observer = $conv->get_observer(); - $lock = (((intval($item['item_private'])) || (($item['uid'] == local_channel()) && (strlen($item['allow_cid']) || strlen($item['allow_gid']) + $lock = (((intval($item['item_private'])) || (($item['uid'] == local_channel()) && (strlen($item['allow_cid']) || strlen($item['allow_gid']) || strlen($item['deny_cid']) || strlen($item['deny_gid'])))) ? t('Private Message') : false); + $locktype = $item['item_private']; $shareable = ((($conv->get_profile_owner() == local_channel() && local_channel()) && ($item['item_private'] != 1)) ? true : false); @@ -151,9 +152,9 @@ class ThreadItem { if($observer && $observer['xchan_hash'] - && ($observer['xchan_hash'] == $this->get_data_value('author_xchan') - || $observer['xchan_hash'] == $this->get_data_value('owner_xchan') - || $observer['xchan_hash'] == $this->get_data_value('source_xchan') + && ($observer['xchan_hash'] == $this->get_data_value('author_xchan') + || $observer['xchan_hash'] == $this->get_data_value('owner_xchan') + || $observer['xchan_hash'] == $this->get_data_value('source_xchan') || $this->get_data_value('uid') == local_channel())) $dropping = true; @@ -169,15 +170,15 @@ class ThreadItem { 'dropping' => $dropping, 'delete' => t('Delete'), ); - } + } elseif(is_site_admin()) { $drop = [ 'dropping' => true, 'delete' => t('Admin Delete') ]; } // FIXME - if($observer_is_pageowner) { + if($observer_is_pageowner) { $multidrop = array( - 'select' => t('Select'), + 'select' => t('Select'), ); } @@ -223,7 +224,7 @@ class ThreadItem { if(! feature_enabled($conv->get_profile_owner(),'dislike')) unset($conv_responses['dislike']); - + $responses = get_responses($conv_responses,$response_verbs,$this,$item); $my_responses = []; @@ -254,7 +255,7 @@ class ThreadItem { } $showlike = ((x($conv_responses['like'],$item['mid'])) ? format_like($conv_responses['like'][$item['mid']],$conv_responses['like'][$item['mid'] . '-l'],'like',$item['mid']) : ''); - $showdislike = ((x($conv_responses['dislike'],$item['mid']) && feature_enabled($conv->get_profile_owner(),'dislike')) + $showdislike = ((x($conv_responses['dislike'],$item['mid']) && feature_enabled($conv->get_profile_owner(),'dislike')) ? format_like($conv_responses['dislike'][$item['mid']],$conv_responses['dislike'][$item['mid'] . '-l'],'dislike',$item['mid']) : ''); /* @@ -264,7 +265,7 @@ class ThreadItem { */ $this->check_wall_to_wall(); - + if($this->is_toplevel()) { // FIXME check this permission if(($conv->get_profile_owner() == local_channel()) && (! array_key_exists('real_uid',$item))) { @@ -275,7 +276,7 @@ class ThreadItem { ); } - } + } else { $is_comment = true; } @@ -349,7 +350,7 @@ class ThreadItem { // $viewthread (below) is only valid in list mode. If this is a channel page, build the thread viewing link // since we can't depend on llink or plink pointing to the right local location. - + $owner_address = substr($item['owner']['xchan_addr'],0,strpos($item['owner']['xchan_addr'],'@')); $viewthread = $item['llink']; if($conv->get_mode() === 'channel') @@ -357,7 +358,7 @@ class ThreadItem { $comment_count_txt = sprintf( tt('%d comment','%d comments',$total_children),$total_children ); $list_unseen_txt = (($unseen_comments) ? sprintf( t('%d unseen'),$unseen_comments) : ''); - + $children = $this->get_children(); $has_tags = (($body['tags'] || $body['categories'] || $body['mentions'] || $body['attachments'] || $body['folders']) ? true : false); @@ -386,7 +387,7 @@ class ThreadItem { $tmp_item = array( 'template' => $this->get_template(), 'mode' => $mode, - 'item_type' => intval($item['item_type']), + 'item_type' => intval($item['item_type']), //'type' => implode("",array_slice(explode("/",$item['verb']),-1)), 'body' => $body['html'], 'tags' => $body['tags'], @@ -432,6 +433,7 @@ class ThreadItem { 'editedtime' => (($item['edited'] != $item['created']) ? sprintf( t('last edited: %s'), datetime_convert('UTC', date_default_timezone_get(), $item['edited'], 'r')) : ''), 'expiretime' => (($item['expires'] > NULL_DATE) ? sprintf( t('Expires: %s'), datetime_convert('UTC', date_default_timezone_get(), $item['expires'], 'r')):''), 'lock' => $lock, + 'locktype' => $locktype, 'delayed' => $item['item_delayed'], 'privacy_warning' => $privacy_warning, 'verified' => $verified, @@ -518,8 +520,8 @@ class ThreadItem { // needed for scroll to comment from notification but needs more work // as we do not want to open all comments unless there is actually an #item_xx anchor -// and the url fragment is not sent to the server. -// if(in_array(\App::$module,['display','update_display'])) +// and the url fragment is not sent to the server. +// if(in_array(\App::$module,['display','update_display'])) // $visible_comments = 99999; if(($this->get_display_mode() === 'normal') && ($nb_children > 0)) { @@ -539,7 +541,7 @@ class ThreadItem { } } } - + $result['private'] = $item['item_private']; $result['toplevel'] = ($this->is_toplevel() ? 'toplevel_item' : ''); @@ -554,7 +556,7 @@ class ThreadItem { return $result; } - + public function get_id() { return $this->get_data_value('id'); } @@ -609,7 +611,7 @@ class ThreadItem { if(activity_match($item->get_data_value('verb'),ACTIVITY_LIKE) || activity_match($item->get_data_value('verb'),ACTIVITY_DISLIKE)) { return false; } - + $item->set_parent($this); $this->children[] = $item; return end($this->children); @@ -683,7 +685,7 @@ class ThreadItem { */ public function set_conversation($conv) { $previous_mode = ($this->conversation ? $this->conversation->get_mode() : ''); - + $this->conversation = $conv; // Set it on our children too @@ -792,7 +794,7 @@ class ThreadItem { if(!$this->is_toplevel() && !get_config('system','thread_allow')) { return ''; } - + $comment_box = ''; $conv = $this->get_conversation(); @@ -808,7 +810,7 @@ class ThreadItem { $arr = array('comment_buttons' => '','id' => $this->get_id()); call_hooks('comment_buttons',$arr); $comment_buttons = $arr['comment_buttons']; - + $comment_box = replace_macros($template,array( '$return_path' => '', '$threaded' => $this->is_threaded(), @@ -865,7 +867,7 @@ class ThreadItem { if($conv->get_mode() === 'channel') return; - + if($this->is_toplevel() && ($this->get_data_value('author_xchan') != $this->get_data_value('owner_xchan'))) { $this->owner_url = chanlink_hash($this->data['owner']['xchan_hash']); $this->owner_photo = $this->data['owner']['xchan_photo_m']; diff --git a/Zotlabs/Lib/Verify.php b/Zotlabs/Lib/Verify.php index 8703e29e6..f8dc8f8d4 100644 --- a/Zotlabs/Lib/Verify.php +++ b/Zotlabs/Lib/Verify.php @@ -5,7 +5,7 @@ namespace Zotlabs\Lib; class Verify { - function create($type,$channel_id,$token,$meta) { + public static function create($type,$channel_id,$token,$meta) { return q("insert into verify ( vtype, channel, token, meta, created ) values ( '%s', %d, '%s', '%s', '%s' )", dbesc($type), intval($channel_id), @@ -15,7 +15,7 @@ class Verify { ); } - function match($type,$channel_id,$token,$meta) { + public static function match($type,$channel_id,$token,$meta) { $r = q("select id from verify where vtype = '%s' and channel = %d and token = '%s' and meta = '%s' limit 1", dbesc($type), intval($channel_id), @@ -31,7 +31,7 @@ class Verify { return false; } - function get_meta($type,$channel_id,$token) { + public static function get_meta($type,$channel_id,$token) { $r = q("select id, meta from verify where vtype = '%s' and channel = %d and token = '%s' limit 1", dbesc($type), intval($channel_id), @@ -52,7 +52,7 @@ class Verify { * @param string $type Verify type * @param string $interval SQL compatible time interval */ - function purge($type, $interval) { + public static function purge($type, $interval) { q("delete from verify where vtype = '%s' and created < %s - INTERVAL %s", dbesc($type), db_utcnow(), diff --git a/Zotlabs/Lib/ZotURL.php b/Zotlabs/Lib/ZotURL.php index 98d1febe5..6bb01fd7a 100644 --- a/Zotlabs/Lib/ZotURL.php +++ b/Zotlabs/Lib/ZotURL.php @@ -21,9 +21,8 @@ class ZotURL { } $portable_url = substr($url,6); - $u = explode('/',$portable_url); + $u = explode('/',$portable_url); $portable_id = $u[0]; - $hosts = self::lookup($portable_id); if(! $hosts) { @@ -39,8 +38,8 @@ class ZotURL { if($channel && $m) { - $headers = [ - 'Accept' => 'application/x-zot+json', + $headers = [ + 'Accept' => 'application/x-zot+json', 'Content-Type' => 'application/x-zot+json', 'X-Zot-Token' => random_string(), 'Digest' => HTTPSig::generate_digest_header($data), @@ -50,9 +49,9 @@ class ZotURL { $h = HTTPSig::create_sig($headers,$channel['channel_prvkey'],channel_url($channel),false); } else { - $h = [ 'Accept: application/x-zot+json' ]; + $h = [ 'Accept: application/x-zot+json' ]; } - + $result = []; $redirects = 0; diff --git a/Zotlabs/Lib/Zotfinger.php b/Zotlabs/Lib/Zotfinger.php index e853d6ebc..faaf28f35 100644 --- a/Zotlabs/Lib/Zotfinger.php +++ b/Zotlabs/Lib/Zotfinger.php @@ -34,7 +34,6 @@ class Zotfinger { $result = []; - $redirects = 0; $x = z_post_url($resource,$data,$redirects, [ 'headers' => $h ] ); diff --git a/Zotlabs/Module/Acl.php b/Zotlabs/Module/Acl.php index 4b79211a6..fb95b0504 100644 --- a/Zotlabs/Module/Acl.php +++ b/Zotlabs/Module/Acl.php @@ -2,6 +2,8 @@ namespace Zotlabs\Module; +use Zotlabs\Lib\Libzotdir; + require_once 'include/acl_selectors.php'; require_once 'include/group.php'; @@ -46,20 +48,20 @@ class Acl extends \Zotlabs\Web\Controller { // 'a' => autocomplete connections (mod_connections, mod_poke, mod_sources, mod_photos) // 'x' => nav search bar autocomplete (match any xchan) // $_REQUEST['query'] contains autocomplete search text. - - // List of channels whose connections to also suggest, + + // List of channels whose connections to also suggest, // e.g. currently viewed channel or channels mentioned in a post $extra_channels = (x($_REQUEST,'extra_channels') ? $_REQUEST['extra_channels'] : array()); - + // The different autocomplete libraries use different names for the search text // parameter. Internally we'll use $search to represent the search text no matter - // what request variable it was attached to. - + // what request variable it was attached to. + if(array_key_exists('query',$_REQUEST)) { $search = $_REQUEST['query']; } - + if( (! local_channel()) && (! in_array($type, [ 'x', 'c', 'f' ]))) killme(); @@ -68,7 +70,7 @@ class Acl extends \Zotlabs\Web\Controller { if(in_array($type, [ 'm', 'a', 'c', 'f' ])) { // These queries require permission checking. We'll create a simple array of xchan_hash for those with - // the requisite permissions which we can check against. + // the requisite permissions which we can check against. $x = q("select xchan from abconfig where chan = %d and cat = 'their_perms' and k = '%s' and v = '1'", intval(local_channel()), @@ -85,34 +87,34 @@ class Acl extends \Zotlabs\Web\Controller { $sql_extra2 = "AND ( xchan_name LIKE " . protect_sprintf( "'%" . dbesc($search) . "%'" ) . " OR xchan_addr LIKE " . protect_sprintf( "'%" . dbesc(punify($search)) . ((strpos($search,'@') === false) ? "%@%'" : "%'")) . ") "; $sql_extra2_xchan = "AND ( xchan_name LIKE " . protect_sprintf( "'" . dbesc($search) . "%'" ) . " OR xchan_addr LIKE " . protect_sprintf( "'" . dbesc(punify($search)) . ((strpos($search,'@') === false) ? "%@%'" : "%'")) . ") "; - // This horrible mess is needed because position also returns 0 if nothing is found. + // This horrible mess is needed because position also returns 0 if nothing is found. // Would be MUCH easier if it instead returned a very large value - // Otherwise we could just + // Otherwise we could just // order by LEAST(POSITION($search IN xchan_name),POSITION($search IN xchan_addr)). - $order_extra2 = "CASE WHEN xchan_name LIKE " - . protect_sprintf( "'%" . dbesc($search) . "%'" ) - . " then POSITION('" . protect_sprintf(dbesc($search)) + $order_extra2 = "CASE WHEN xchan_name LIKE " + . protect_sprintf( "'%" . dbesc($search) . "%'" ) + . " then POSITION('" . protect_sprintf(dbesc($search)) . "' IN xchan_name) else position('" . protect_sprintf(dbesc(punify($search))) . "' IN xchan_addr) end, "; $sql_extra3 = "AND ( xchan_addr like " . protect_sprintf( "'%" . dbesc(punify($search)) . "%'" ) . " OR xchan_name like " . protect_sprintf( "'%" . dbesc($search) . "%'" ) . " ) "; - + } else { $sql_extra = $sql_extra2 = $sql_extra3 = ""; } - - + + $groups = array(); $contacts = array(); - + if($type == '' || $type == 'g') { // virtual groups based on private profile viewing ability $r = q("select id, profile_guid, profile_name from profile where is_default = 0 and uid = %d", intval(local_channel()) - ); + ); if($r) { foreach($r as $rv) { $groups[] = array( @@ -130,19 +132,19 @@ class Acl extends \Zotlabs\Web\Controller { // Normal privacy groups $r = q("SELECT pgrp.id, pgrp.hash, pgrp.gname - FROM pgrp, pgrp_member - WHERE pgrp.deleted = 0 AND pgrp.uid = %d + FROM pgrp, pgrp_member + WHERE pgrp.deleted = 0 AND pgrp.uid = %d AND pgrp_member.gid = pgrp.id $sql_extra GROUP BY pgrp.id - ORDER BY pgrp.gname + ORDER BY pgrp.gname LIMIT %d OFFSET %d", intval(local_channel()), intval($count), intval($start) ); - if($r) { + if($r) { foreach($r as $g){ // logger('acl: group: ' . $g['gname'] . ' members: ' . group_get_members_xchan($g['id'])); $groups[] = array( @@ -157,10 +159,10 @@ class Acl extends \Zotlabs\Web\Controller { } } } - + if($type == '' || $type == 'c' || $type === 'f') { - $extra_channels_sql = ''; + $extra_channels_sql = ''; // Only include channels who allow the observer to view their connections if($extra_channels) { @@ -172,7 +174,7 @@ class Acl extends \Zotlabs\Web\Controller { } } } - + // Getting info from the abook is better for local users because it contains info about permissions if(local_channel()) { if($extra_channels_sql != '') @@ -199,7 +201,7 @@ class Acl extends \Zotlabs\Web\Controller { $r2 = array(); foreach($r1 as $rr) { $x = atoken_xchan($rr); - $r2[] = [ + $r2[] = [ 'id' => 'a' . $rr['atoken_id'] , 'hash' => $x['xchan_hash'], 'name' => $x['xchan_name'], @@ -211,12 +213,12 @@ class Acl extends \Zotlabs\Web\Controller { 'abook_self' => 0 ]; } - } + } // add connections - - $r = q("SELECT abook_id as id, xchan_hash as hash, xchan_name as name, xchan_network as net, xchan_photo_s as micro, xchan_url as url, xchan_addr as nick, abook_their_perms, xchan_pubforum, abook_flags, abook_self - FROM abook left join xchan on abook_xchan = xchan_hash + + $r = q("SELECT abook_id as id, xchan_hash as hash, xchan_name as name, xchan_network as net, xchan_photo_s as micro, xchan_url as url, xchan_addr as nick, abook_their_perms, xchan_pubforum, abook_flags, abook_self + FROM abook left join xchan on abook_xchan = xchan_hash WHERE (abook_channel = %d $extra_channels_sql) AND abook_blocked = 0 and abook_pending = 0 and xchan_deleted = 0 $sql_extra2 order by $order_extra2 xchan_name asc" , intval(local_channel()) ); @@ -230,23 +232,23 @@ class Acl extends \Zotlabs\Web\Controller { WHERE xlink_xchan = '%s' AND xchan_deleted = 0 $sql_extra2_xchan order by $order_extra2 xchan_name asc" , dbesc(get_observer_hash()) ); - + // Find contacts of extra channels // This is probably more complicated than it needs to be if($extra_channels_sql) { // Build a list of hashes that we got previously so we don't get them again $known_hashes = array("'".get_observer_hash()."'"); if($r) - foreach($r as $rr) + foreach($r as $rr) $known_hashes[] = "'".$rr['hash']."'"; $known_hashes_sql = 'AND xchan_hash not in ('.join(',',$known_hashes).')'; - - $r2 = q("SELECT abook_id as id, xchan_hash as hash, xchan_name as name, xchan_network as net, xchan_photo_s as micro, xchan_url as url, xchan_addr as nick, abook_their_perms, abook_flags, abook_self - FROM abook left join xchan on abook_xchan = xchan_hash + + $r2 = q("SELECT abook_id as id, xchan_hash as hash, xchan_name as name, xchan_network as net, xchan_photo_s as micro, xchan_url as url, xchan_addr as nick, abook_their_perms, abook_flags, abook_self + FROM abook left join xchan on abook_xchan = xchan_hash WHERE abook_channel IN ($extra_channels_sql) $known_hashes_sql AND abook_blocked = 0 and abook_pending = 0 and abook_hidden = 0 and xchan_deleted = 0 $sql_extra2 order by $order_extra2 xchan_name asc"); if($r2) $r = array_merge($r,$r2); - + // Sort accoring to match position, then alphabetically. This could be avoided if the above two SQL queries could be combined into one, and the sorting could be done on the SQl server (like in the case of a local user) $matchpos = function($x) use($search) { $namepos = strpos($x['name'],$search); @@ -269,22 +271,22 @@ class Acl extends \Zotlabs\Web\Controller { } } if((count($r) < 100) && $type == 'c') { - $r2 = q("SELECT substr(xchan_hash,1,18) as id, xchan_hash as hash, xchan_name as name, xchan_network as net, xchan_photo_s as micro, xchan_url as url, xchan_addr as nick, 0 as abook_their_perms, 0 as abook_flags, 0 as abook_self - FROM xchan + $r2 = q("SELECT substr(xchan_hash,1,18) as id, xchan_hash as hash, xchan_name as name, xchan_network as net, xchan_photo_s as micro, xchan_url as url, xchan_addr as nick, 0 as abook_their_perms, 0 as abook_flags, 0 as abook_self + FROM xchan WHERE xchan_deleted = 0 and not xchan_network in ('rss','anon','unknown') $sql_extra2_xchan order by $order_extra2 xchan_name asc" ); if($r2) { $r = array_merge($r,$r2); $r = unique_multidim_array($r,'hash'); - } + } } } elseif($type == 'm') { $r = array(); - $z = q("SELECT xchan_hash as hash, xchan_name as name, xchan_network as net, xchan_addr as nick, xchan_photo_s as micro, xchan_url as url + $z = q("SELECT xchan_hash as hash, xchan_name as name, xchan_network as net, xchan_addr as nick, xchan_photo_s as micro, xchan_url as url FROM abook left join xchan on abook_xchan = xchan_hash - WHERE abook_channel = %d + WHERE abook_channel = %d and xchan_deleted = 0 and xchan_network IN ('zot', 'diaspora', 'friendica-over-diaspora') $sql_extra3 @@ -298,10 +300,10 @@ class Acl extends \Zotlabs\Web\Controller { } } } - + } elseif($type == 'a') { - + $r = q("SELECT abook_id as id, xchan_name as name, xchan_network as net, xchan_hash as hash, xchan_addr as nick, xchan_photo_s as micro, xchan_url as url, xchan_addr as attag , abook_their_perms FROM abook left join xchan on abook_xchan = xchan_hash WHERE abook_channel = %d and xchan_deleted = 0 @@ -309,7 +311,7 @@ class Acl extends \Zotlabs\Web\Controller { ORDER BY xchan_name ASC ", intval(local_channel()) ); - + } elseif($type == 'x') { $r = $this->navbar_complete($a); @@ -323,7 +325,7 @@ class Acl extends \Zotlabs\Web\Controller { ); } } - + $o = array( 'start' => $start, 'count' => $count, @@ -334,17 +336,17 @@ class Acl extends \Zotlabs\Web\Controller { } else $r = array(); - + if($r) { $i = count($contacts); $x = []; foreach($r as $g) { - + if(in_array($g['net'],['rss','anon','unknown']) && ($type != 'a')) continue; $g['hash'] = urlencode($g['hash']); - + if(! $g['nick']) { $g['nick'] = $g['url']; } @@ -386,11 +388,11 @@ class Acl extends \Zotlabs\Web\Controller { } } $i++; - } + } } - + $items = array_merge($groups, $contacts); - + $o = array( 'start' => $start, 'count' => $count, @@ -404,50 +406,50 @@ class Acl extends \Zotlabs\Web\Controller { function navbar_complete(&$a) { - + // logger('navbar_complete'); - + if(observer_prohibited()) { return; } - + $dirmode = intval(get_config('system','directory_mode')); $search = ((x($_REQUEST,'search')) ? htmlentities($_REQUEST['search'],ENT_COMPAT,'UTF-8',false) : ''); if(! $search || mb_strlen($search) < 2) return array(); - + $star = false; $address = false; - + if(substr($search,0,1) === '@') $search = substr($search,1); - + if(substr($search,0,1) === '*') { $star = true; $search = substr($search,1); } - + if(strpos($search,'@') !== false) { $address = true; } - + if(($dirmode == DIRECTORY_MODE_PRIMARY) || ($dirmode == DIRECTORY_MODE_STANDALONE)) { $url = z_root() . '/dirsearch'; } - + if(! $url) { require_once("include/dir_fns.php"); - $directory = find_upstream_directory($dirmode); + $directory = Libzotdir::find_upstream_directory($dirmode); $url = $directory['url'] . '/dirsearch'; } $token = get_config('system','realm_token'); - + $count = (x($_REQUEST,'count') ? $_REQUEST['count'] : 100); if($url) { $query = $url . '?f=' . (($token) ? '&t=' . urlencode($token) : ''); $query .= '&name=' . urlencode($search) . "&limit=$count" . (($address) ? '&address=' . urlencode(punify($search)) : ''); - + $x = z_fetch_url($query); if($x['success']) { $t = 0; diff --git a/Zotlabs/Module/Activity.php b/Zotlabs/Module/Activity.php index b75f0b245..48f2663cf 100644 --- a/Zotlabs/Module/Activity.php +++ b/Zotlabs/Module/Activity.php @@ -143,8 +143,8 @@ class Activity extends Controller { http_status_exit(403, 'Forbidden'); $i = ZlibActivity::encode_item_collection($nitems,'conversation/' . $item_id,'OrderedCollection'); - if($portable_id) { - ThreadListener::store(z_root() . '/activity/' . $item_id,$portable_id); + if($portable_id && (! intval($items[0]['item_private']))) { + ThreadListener::store(z_root() . '/activity/' . $item_id, $portable_id); } if(! $i) @@ -239,6 +239,16 @@ class Activity extends Controller { xchan_query($r,true); $items = fetch_post_tags($r,false); + if ($portable_id && (! intval($items[0]['item_private']))) { + $c = q("select abook_id from abook where abook_channel = %d and abook_xchan = '%s'", + intval($items[0]['uid']), + dbesc($portable_id) + ); + if (! $c) { + ThreadListener::store(z_root() . '/activity/' . $item_id, $portable_id); + } + } + $channel = channelx_by_n($items[0]['uid']); $x = array_merge( ['@context' => [ diff --git a/Zotlabs/Module/Attach.php b/Zotlabs/Module/Attach.php index 172f6a4bc..5f5779b51 100644 --- a/Zotlabs/Module/Attach.php +++ b/Zotlabs/Module/Attach.php @@ -1,4 +1,5 @@ <?php + namespace Zotlabs\Module; use ZipArchive; @@ -12,24 +13,24 @@ class Attach extends Controller { function post() { - $attach_ids = ((x($_REQUEST, 'attach_ids')) ? $_REQUEST['attach_ids'] : []); + $attach_ids = ((x($_REQUEST, 'attach_ids')) ? $_REQUEST['attach_ids'] : []); $attach_path = ((x($_REQUEST, 'attach_path')) ? $_REQUEST['attach_path'] : ''); - $channel_id = ((x($_REQUEST, 'channel_id')) ? intval($_REQUEST['channel_id']) : 0); - $channel = channelx_by_n($channel_id); + $channel_id = ((x($_REQUEST, 'channel_id')) ? intval($_REQUEST['channel_id']) : 0); + $channel = channelx_by_n($channel_id); - if (! $channel) { + if (!$channel) { notice(t('Channel not found.') . EOL); return; } - $strip_str = '/cloud/' . $channel['channel_address'] . '/'; - $count = strlen($strip_str); + $strip_str = '/cloud/' . $channel['channel_address'] . '/'; + $count = strlen($strip_str); $attach_path = substr($attach_path, $count); if ($attach_ids) { $zip_dir = 'store/[data]/' . $channel['channel_address'] . '/tmp'; - if (! is_dir($zip_dir)) + if (!is_dir($zip_dir)) mkdir($zip_dir, STORAGE_DEFAULT_PERMISSIONS, true); $token = random_string(32); @@ -47,14 +48,14 @@ class Attach extends Controller { $meta = [ 'zip_filename' => $zip_filename, - 'zip_path' => $zip_path + 'zip_path' => $zip_path ]; Verify::create('zip_token', 0, $token, json_encode($meta)); json_return_and_die([ 'success' => true, - 'token' => $token + 'token' => $token ]); } @@ -63,28 +64,28 @@ class Attach extends Controller { function get() { - if(argc() < 2) { - notice( t('Item not available.') . EOL); + if (argc() < 2) { + notice(t('Item not available.') . EOL); return; } $token = ((x($_REQUEST, 'token')) ? $_REQUEST['token'] : ''); - if(argv(1) === 'download') { + if (argv(1) === 'download') { $meta = Verify::get_meta('zip_token', 0, $token); - if(! $meta) + if (!$meta) killme(); $meta = json_decode($meta, true); header('Content-Type: application/zip'); - header('Content-Disposition: attachment; filename="'. $meta['zip_filename'] . '"'); + header('Content-Disposition: attachment; filename="' . $meta['zip_filename'] . '"'); header('Content-Length: ' . filesize($meta['zip_path'])); $istream = fopen($meta['zip_path'], 'rb'); $ostream = fopen('php://output', 'wb'); - if($istream && $ostream) { + if ($istream && $ostream) { pipe_streams($istream, $ostream); fclose($istream); fclose($ostream); @@ -94,10 +95,10 @@ class Attach extends Controller { killme(); } - $r = attach_by_hash(argv(1),get_observer_hash(),((argc() > 2) ? intval(argv(2)) : 0)); + $r = attach_by_hash(argv(1), get_observer_hash(), ((argc() > 2) ? intval(argv(2)) : 0)); - if(! $r['success']) { - notice( $r['message'] . EOL); + if (!$r['success']) { + notice($r['message'] . EOL); return; } @@ -105,27 +106,27 @@ class Attach extends Controller { intval($r['data']['uid']) ); - if(! $c) + if (!$c) return; - $unsafe_types = array('text/html','text/css','application/javascript'); + $unsafe_types = array('text/html', 'text/css', 'application/javascript'); - if(in_array($r['data']['filetype'],$unsafe_types) && (! channel_codeallowed($r['data']['uid']))) { - header('Content-Type: text/plain'); + if (in_array($r['data']['filetype'], $unsafe_types) && (!channel_codeallowed($r['data']['uid']))) { + header('Content-Type: text/plain'); } else { header('Content-Type: ' . $r['data']['filetype']); } header('Content-Disposition: attachment; filename="' . $r['data']['filename'] . '"'); - if(intval($r['data']['os_storage'])) { + if (intval($r['data']['os_storage'])) { $fname = $r['data']['content']; - if(strpos($fname,'store') !== false) - $istream = fopen($fname,'rb'); + if (strpos($fname, 'store') !== false) + $istream = fopen($fname, 'rb'); else - $istream = fopen('store/' . $c[0]['channel_address'] . '/' . $fname,'rb'); - $ostream = fopen('php://output','wb'); - if($istream && $ostream) { + $istream = fopen('store/' . $c[0]['channel_address'] . '/' . $fname, 'rb'); + $ostream = fopen('php://output', 'wb'); + if ($istream && $ostream) { pipe_streams($istream, $ostream); fclose($istream); fclose($ostream); @@ -140,14 +141,14 @@ class Attach extends Controller { public function zip_archive_handler($zip, $attach_ids, $attach_path, $pass = 1) { $observer_hash = get_observer_hash(); - $single = ((count($attach_ids) == 1) ? true : false); + $single = ((count($attach_ids) == 1) ? true : false); $download_name = 'download.zip'; - foreach($attach_ids as $attach_id) { + foreach ($attach_ids as $attach_id) { $r = attach_by_id($attach_id, $observer_hash); - if (! $r['success']) { + if (!$r['success']) { continue; } @@ -158,8 +159,8 @@ class Attach extends Controller { if ($attach_path) { $strip_str = $attach_path . '/'; - $count = strlen($strip_str); - $zip_path = substr($r['data']['display_path'], $count); + $count = strlen($strip_str); + $zip_path = substr($r['data']['display_path'], $count); } if ($r['data']['is_dir']) { diff --git a/Zotlabs/Module/Cal.php b/Zotlabs/Module/Cal.php index 07bee38bd..65dba927b 100644 --- a/Zotlabs/Module/Cal.php +++ b/Zotlabs/Module/Cal.php @@ -37,8 +37,6 @@ class Cal extends Controller { $observer = App::get_observer(); App::$data['observer'] = $observer; - $observer_xchan = (($observer) ? $observer['xchan_hash'] : ''); - head_set_icon(App::$data['channel']['xchan_photo_s']); App::$page['htmlhead'] .= "<script> var profile_uid = " . ((App::$data['channel']) ? App::$data['channel']['channel_id'] : 0) . "; </script>" ; @@ -159,10 +157,10 @@ class Cal extends Controller { 'timezone' => $tz, 'start'=> $start, 'end' => $end, - 'drop' => $drop, + 'drop' => false, 'allDay' => (($rr['adjust']) ? 0 : 1), 'title' => html_entity_decode($rr['summary'], ENT_COMPAT, 'UTF-8'), - 'editable' => $edit ? true : false, + 'editable' => false, 'item' => $rr, 'plink' => [$rr['plink'], t('Link to source')], 'description' => html_entity_decode($rr['description'], ENT_COMPAT, 'UTF-8'), @@ -205,9 +203,9 @@ class Cal extends Controller { '$prev' => t('Previous'), '$next' => t('Next'), '$today' => t('Today'), - '$title' => $title, - '$dtstart' => $dtstart, - '$dtend' => $dtend, + '$title' => '', + '$dtstart' => '', + '$dtend' => '', '$nick' => $nick ]); diff --git a/Zotlabs/Module/Cdav.php b/Zotlabs/Module/Cdav.php index f7e43e436..fe697a526 100644 --- a/Zotlabs/Module/Cdav.php +++ b/Zotlabs/Module/Cdav.php @@ -50,7 +50,7 @@ class Cdav extends Controller { if($sigblock) { $keyId = str_replace('acct:','',$sigblock['keyId']); if($keyId) { - $r = q("select * from hubloc where hubloc_addr = '%s'", + $r = q("select * from hubloc where hubloc_id_url = '%s'", dbesc($keyId) ); if($r) { @@ -284,7 +284,7 @@ class Cdav extends Controller { $server->addPlugin(new \Sabre\CardDAV\VCFExportPlugin()); // And off we go! - $server->exec(); + $server->start(); killme(); diff --git a/Zotlabs/Module/Channel.php b/Zotlabs/Module/Channel.php index 7ff394750..915e0ea60 100644 --- a/Zotlabs/Module/Channel.php +++ b/Zotlabs/Module/Channel.php @@ -4,10 +4,12 @@ namespace Zotlabs\Module; use App; -use Zotlabs\Web\Controller; +use Zotlabs\Lib\Activity; +use Zotlabs\Lib\ActivityStreams; +use Zotlabs\Lib\Libzot; use Zotlabs\Lib\PermissionDescription; +use Zotlabs\Web\Controller; use Zotlabs\Web\HTTPSig; -use Zotlabs\Lib\Libzot; require_once('include/items.php'); require_once('include/security.php'); @@ -20,88 +22,117 @@ require_once('include/opengraph.php'); * @brief Channel Controller * */ - class Channel extends Controller { function init() { - if(in_array(substr($_GET['search'],0,1),[ '@', '!', '?'])) + if (in_array(substr($_GET['search'], 0, 1), ['@', '!', '?']) || strpos($_GET['search'], 'https://') === 0) goaway('search' . '?f=&search=' . $_GET['search']); $which = null; - if(argc() > 1) + if (argc() > 1) $which = argv(1); - if(! $which) { - if(local_channel()) { + if (!$which) { + if (local_channel()) { $channel = App::get_channel(); - if($channel && $channel['channel_address']) - $which = $channel['channel_address']; + if ($channel && $channel['channel_address']) + $which = $channel['channel_address']; } } - if(! $which) { - notice( t('You must be logged in to see this page.') . EOL ); + if (!$which) { + notice(t('You must be logged in to see this page.') . EOL); return; } $profile = 0; $channel = App::get_channel(); - if((local_channel()) && (argc() > 2) && (argv(2) === 'view')) { - $which = $channel['channel_address']; + if ((local_channel()) && (argc() > 2) && (argv(2) === 'view')) { + $which = $channel['channel_address']; $profile = argv(1); } $channel = channelx_by_nick($which); - if(! $channel) { + if (!$channel) { http_status_exit(404, 'Not found'); } - // handle zot6 channel discovery + // handle zot6 channel discovery + + if (Libzot::is_zot_request()) { - if(Libzot::is_zot_request()) { - $sigdata = HTTPSig::verify(file_get_contents('php://input'), EMPTY_STR, 'zot6'); - if($sigdata && $sigdata['signer'] && $sigdata['header_valid']) { - $data = json_encode(Libzot::zotinfo([ 'address' => $channel['channel_address'], 'target_url' => $sigdata['signer'] ])); - $s = q("select site_crypto, hubloc_sitekey from site left join hubloc on hubloc_url = site_url where hubloc_id_url = '%s' and hubloc_network = 'zot6' limit 1", + if ($sigdata && $sigdata['signer'] && $sigdata['header_valid']) { + $data = json_encode(Libzot::zotinfo(['address' => $channel['channel_address'], 'target_url' => $sigdata['signer']])); + $s = q("select site_crypto, hubloc_sitekey from site left join hubloc on hubloc_url = site_url where hubloc_id_url = '%s' and hubloc_network = 'zot6' limit 1", dbesc($sigdata['signer']) ); - if($s) { - $data = json_encode(crypto_encapsulate($data,$s[0]['hubloc_sitekey'],Libzot::best_algorithm($s[0]['site_crypto']))); + if ($s) { + $data = json_encode(crypto_encapsulate($data, $s[0]['hubloc_sitekey'], Libzot::best_algorithm($s[0]['site_crypto']))); } } else { - $data = json_encode(Libzot::zotinfo([ 'address' => $channel['channel_address'] ])); + $data = json_encode(Libzot::zotinfo(['guid_hash' => $channel['channel_hash']])); } - $headers = [ - 'Content-Type' => 'application/x-zot+json', + $headers = [ + 'Content-Type' => 'application/x-zot+json', 'Digest' => HTTPSig::generate_digest_header($data), '(request-target)' => strtolower($_SERVER['REQUEST_METHOD']) . ' ' . $_SERVER['REQUEST_URI'] - ]; - $h = HTTPSig::create_sig($headers,$channel['channel_prvkey'],channel_url($channel)); + ]; + $h = HTTPSig::create_sig($headers, $channel['channel_prvkey'], channel_url($channel)); HTTPSig::set_headers($h); echo $data; killme(); } + if (ActivityStreams::is_as_request($channel)) { + + // Somebody may attempt an ActivityStreams fetch on one of our message permalinks + // Make it do the right thing. + + $mid = ((x($_REQUEST, 'mid')) ? $_REQUEST['mid'] : ''); + if ($mid && strpos($mid, 'b64.') === 0) { + $decoded = @base64url_decode(substr($mid, 4)); + if ($decoded) { + $mid = $decoded; + } + } + if ($mid) { + $obj = null; + if (strpos($mid, z_root() . '/item/') === 0) { + App::$argc = 2; + App::$argv = ['item', basename($mid)]; + $obj = new Item(); + } + if (strpos($mid, z_root() . '/activity/') === 0) { + App::$argc = 2; + App::$argv = ['activity', basename($mid)]; + $obj = new Activity(); + } + if ($obj) { + $obj->init(); + } + } + as_return_and_die(Activity::encode_person($channel, true), $channel); + } - if((local_channel()) && (argc() > 2) && (argv(2) === 'view')) { - $which = $channel['channel_address']; + if ((local_channel()) && (argc() > 2) && (argv(2) === 'view')) { + $which = $channel['channel_address']; $profile = argv(1); } - head_add_link( [ - 'rel' => 'alternate', + head_add_link([ + 'rel' => 'alternate', 'type' => 'application/atom+xml', 'title' => t('Posts and comments'), 'href' => z_root() . '/feed/' . $which ]); - head_add_link( [ - 'rel' => 'alternate', + head_add_link([ + 'rel' => 'alternate', 'type' => 'application/atom+xml', 'title' => t('Only posts'), 'href' => z_root() . '/feed/' . $which . '?f=&top=1' @@ -110,19 +141,19 @@ class Channel extends Controller { // Run profile_load() here to make sure the theme is set before // we start loading content - profile_load($which,$profile); - + profile_load($which, $profile); + // Add Opengraph markup - $mid = ((x($_REQUEST,'mid')) ? $_REQUEST['mid'] : ''); - if(strpos($mid,'b64.') === 0) - $mid = @base64url_decode(substr($mid,4)); - - if($mid) - $r = q("SELECT * FROM item WHERE mid = '%s' AND uid = %d AND item_private = 0 LIMIT 1", - dbesc($mid), - intval($channel['channel_id']) - ); - + $mid = ((x($_REQUEST, 'mid')) ? $_REQUEST['mid'] : ''); + if (strpos($mid, 'b64.') === 0) + $mid = @base64url_decode(substr($mid, 4)); + + if ($mid) + $r = q("SELECT * FROM item WHERE mid = '%s' AND uid = %d AND item_private = 0 LIMIT 1", + dbesc($mid), + intval($channel['channel_id']) + ); + opengraph_add_meta($r ? $r[0] : [], $channel); } @@ -132,99 +163,99 @@ class Channel extends Controller { $category = $datequery = $datequery2 = ''; - $mid = ((x($_REQUEST,'mid')) ? $_REQUEST['mid'] : ''); + $mid = ((x($_REQUEST, 'mid')) ? $_REQUEST['mid'] : ''); - if(strpos($mid,'b64.') === 0) - $decoded = @base64url_decode(substr($mid,4)); - if($decoded) + if (strpos($mid, 'b64.') === 0) + $decoded = @base64url_decode(substr($mid, 4)); + if ($decoded) $mid = $decoded; - $datequery = ((x($_GET,'dend') && is_a_date_arg($_GET['dend'])) ? notags($_GET['dend']) : ''); - $datequery2 = ((x($_GET,'dbegin') && is_a_date_arg($_GET['dbegin'])) ? notags($_GET['dbegin']) : ''); + $datequery = ((x($_GET, 'dend') && is_a_date_arg($_GET['dend'])) ? notags($_GET['dend']) : ''); + $datequery2 = ((x($_GET, 'dbegin') && is_a_date_arg($_GET['dbegin'])) ? notags($_GET['dbegin']) : ''); - if(observer_prohibited(true)) { + if (observer_prohibited(true)) { return login(); } - $category = ((x($_REQUEST,'cat')) ? $_REQUEST['cat'] : ''); - $hashtags = ((x($_REQUEST,'tag')) ? $_REQUEST['tag'] : ''); - $order = ((x($_GET,'order')) ? notags($_GET['order']) : 'post'); - $search = ((x($_GET,'search')) ? $_GET['search'] : EMPTY_STR); + $category = ((x($_REQUEST, 'cat')) ? $_REQUEST['cat'] : ''); + $hashtags = ((x($_REQUEST, 'tag')) ? $_REQUEST['tag'] : ''); + $order = ((x($_GET, 'order')) ? notags($_GET['order']) : 'post'); + $search = ((x($_GET, 'search')) ? $_GET['search'] : EMPTY_STR); - $groups = array(); + $groups = []; $o = ''; - if($update) { + if ($update) { // Ensure we've got a profile owner if updating. App::$profile['profile_uid'] = App::$profile_uid = $update; } $is_owner = (((local_channel()) && (App::$profile['profile_uid'] == local_channel())) ? true : false); - $channel = App::get_channel(); + $channel = App::get_channel(); $observer = App::get_observer(); - $ob_hash = (($observer) ? $observer['xchan_hash'] : ''); + $ob_hash = (($observer) ? $observer['xchan_hash'] : ''); - $perms = get_all_perms(App::$profile['profile_uid'],$ob_hash); + $perms = get_all_perms(App::$profile['profile_uid'], $ob_hash); - if(! $perms['view_stream']) { + if (!$perms['view_stream']) { // We may want to make the target of this redirect configurable - if($perms['view_profile']) { - notice( t('Insufficient permissions. Request redirected to profile page.') . EOL); - goaway (z_root() . "/profile/" . App::$profile['channel_address']); + if ($perms['view_profile']) { + notice(t('Insufficient permissions. Request redirected to profile page.') . EOL); + goaway(z_root() . "/profile/" . App::$profile['channel_address']); } - notice( t('Permission denied.') . EOL); + notice(t('Permission denied.') . EOL); return; } - if(! $update) { + if (!$update) { nav_set_selected('Channel Home'); // search terms header - if($search) { - $o .= replace_macros(get_markup_template("section_title.tpl"),array( - '$title' => t('Search Results For:') . ' ' . htmlspecialchars($search, ENT_COMPAT,'UTF-8') - )); + if ($search) { + $o .= replace_macros(get_markup_template("section_title.tpl"), [ + '$title' => t('Search Results For:') . ' ' . htmlspecialchars($search, ENT_COMPAT, 'UTF-8') + ]); } - if($channel && $is_owner) { - $channel_acl = array( + if ($channel && $is_owner) { + $channel_acl = [ 'allow_cid' => $channel['channel_allow_cid'], 'allow_gid' => $channel['channel_allow_gid'], - 'deny_cid' => $channel['channel_deny_cid'], - 'deny_gid' => $channel['channel_deny_gid'] - ); + 'deny_cid' => $channel['channel_deny_cid'], + 'deny_gid' => $channel['channel_deny_gid'] + ]; } else { - $channel_acl = [ 'allow_cid' => '', 'allow_gid' => '', 'deny_cid' => '', 'deny_gid' => '' ]; + $channel_acl = ['allow_cid' => '', 'allow_gid' => '', 'deny_cid' => '', 'deny_gid' => '']; } - if($perms['post_wall']) { - - $x = array( - 'is_owner' => $is_owner, - 'allow_location' => ((($is_owner || $observer) && (intval(get_pconfig(App::$profile['profile_uid'],'system','use_browser_location')))) ? true : false), - 'default_location' => (($is_owner) ? App::$profile['channel_location'] : ''), - 'nickname' => App::$profile['channel_address'], - 'lockstate' => (((strlen(App::$profile['channel_allow_cid'])) || (strlen(App::$profile['channel_allow_gid'])) || (strlen(App::$profile['channel_deny_cid'])) || (strlen(App::$profile['channel_deny_gid']))) ? 'lock' : 'unlock'), - 'acl' => (($is_owner) ? populate_acl($channel_acl,true, PermissionDescription::fromGlobalPermission('view_stream'), get_post_aclDialogDescription(), 'acl_dialog_post') : ''), - 'permissions' => $channel_acl, - 'showacl' => (($is_owner) ? 'yes' : ''), - 'bang' => '', - 'visitor' => (($is_owner || $observer) ? true : false), - 'profile_uid' => App::$profile['profile_uid'], + if ($perms['post_wall']) { + + $x = [ + 'is_owner' => $is_owner, + 'allow_location' => ((($is_owner || $observer) && (intval(get_pconfig(App::$profile['profile_uid'], 'system', 'use_browser_location')))) ? true : false), + 'default_location' => (($is_owner) ? App::$profile['channel_location'] : ''), + 'nickname' => App::$profile['channel_address'], + 'lockstate' => (((strlen(App::$profile['channel_allow_cid'])) || (strlen(App::$profile['channel_allow_gid'])) || (strlen(App::$profile['channel_deny_cid'])) || (strlen(App::$profile['channel_deny_gid']))) ? 'lock' : 'unlock'), + 'acl' => (($is_owner) ? populate_acl($channel_acl, true, PermissionDescription::fromGlobalPermission('view_stream'), get_post_aclDialogDescription(), 'acl_dialog_post') : ''), + 'permissions' => $channel_acl, + 'showacl' => (($is_owner) ? 'yes' : ''), + 'bang' => '', + 'visitor' => (($is_owner || $observer) ? true : false), + 'profile_uid' => App::$profile['profile_uid'], 'editor_autocomplete' => true, - 'bbco_autocomplete' => 'bbcode', - 'bbcode' => true, - 'jotnets' => true, - 'reset' => t('Reset form') - ); + 'bbco_autocomplete' => 'bbcode', + 'bbcode' => true, + 'jotnets' => true, + 'reset' => t('Reset form') + ]; - $o .= status_editor($a,$x,false,'Channel'); + $o .= status_editor($a, $x, false, 'Channel'); } } @@ -233,16 +264,16 @@ class Channel extends Controller { /** * Get permissions SQL - if $remote_contact is true, our remote user has been pre-verified and we already have fetched his/her groups */ - - $item_normal = " and item.item_hidden = 0 and item.item_type = 0 and item.item_deleted = 0 + + $item_normal = " and item.item_hidden = 0 and item.item_type = 0 and item.item_deleted = 0 and item.item_unpublished = 0 and item.item_pending_remove = 0 and item.item_blocked = 0 "; - if (! $is_owner) - $item_normal .= "and item.item_delayed = 0 "; + if (!$is_owner) + $item_normal .= "and item.item_delayed = 0 "; $item_normal_update = item_normal_update(); - $sql_extra = item_permissions_sql(App::$profile['profile_uid']); + $sql_extra = item_permissions_sql(App::$profile['profile_uid']); - if(feature_enabled(App::$profile['profile_uid'], 'channel_list_mode') && (! $mid)) + if (feature_enabled(App::$profile['profile_uid'], 'channel_list_mode') && (!$mid)) $page_mode = 'list'; else $page_mode = 'client'; @@ -250,13 +281,13 @@ class Channel extends Controller { $abook_uids = " and abook.abook_channel = " . intval(App::$profile['profile_uid']) . " "; $simple_update = ''; - if($update && $_SESSION['loadtime']) - $simple_update = " AND (( item_unseen = 1 AND item.changed > '" . datetime_convert('UTC','UTC',$_SESSION['loadtime']) . "' ) OR item.changed > '" . datetime_convert('UTC','UTC',$_SESSION['loadtime']) . "' ) "; + if ($update && $_SESSION['loadtime']) + $simple_update = " AND (( item_unseen = 1 AND item.changed > '" . datetime_convert('UTC', 'UTC', $_SESSION['loadtime']) . "' ) OR item.changed > '" . datetime_convert('UTC', 'UTC', $_SESSION['loadtime']) . "' ) "; - if($search) { + if ($search) { $search = escape_tags($search); - if(strpos($search,'#') === 0) { - $sql_extra .= term_query('item',substr($search,1),TERM_HASHTAG,TERM_COMMUNITYTAG); + if (strpos($search, '#') === 0) { + $sql_extra .= term_query('item', substr($search, 1), TERM_HASHTAG, TERM_COMMUNITYTAG); } else { $sql_extra .= sprintf(" AND (item.body like '%s' OR item.title like '%s') ", @@ -266,16 +297,16 @@ class Channel extends Controller { } } - head_add_link([ + head_add_link([ 'rel' => 'alternate', 'type' => 'application/json+oembed', 'href' => z_root() . '/oep?f=&url=' . urlencode(z_root() . '/' . App::$query_string), 'title' => 'oembed' ]); - if(($update) && (! $load)) { + if (($update) && (!$load)) { - if($mid) { + if ($mid) { $r = q("SELECT parent AS item_id from item where mid like '%s' and uid = %d $item_normal_update AND item_wall = 1 $simple_update $sql_extra limit 1", dbesc($mid . '%'), @@ -296,61 +327,61 @@ class Channel extends Controller { } else { - if(x($category)) { - $sql_extra2 .= protect_sprintf(term_item_parent_query(App::$profile['profile_uid'],'item', $category, TERM_CATEGORY)); + if (x($category)) { + $sql_extra2 .= protect_sprintf(term_item_parent_query(App::$profile['profile_uid'], 'item', $category, TERM_CATEGORY)); } - if(x($hashtags)) { - $sql_extra2 .= protect_sprintf(term_item_parent_query(App::$profile['profile_uid'],'item', $hashtags, TERM_HASHTAG, TERM_COMMUNITYTAG)); + if (x($hashtags)) { + $sql_extra2 .= protect_sprintf(term_item_parent_query(App::$profile['profile_uid'], 'item', $hashtags, TERM_HASHTAG, TERM_COMMUNITYTAG)); } - if($datequery) { - $sql_extra2 .= protect_sprintf(sprintf(" AND item.created <= '%s' ", dbesc(datetime_convert(date_default_timezone_get(),'',$datequery)))); - $order = 'post'; + if ($datequery) { + $sql_extra2 .= protect_sprintf(sprintf(" AND item.created <= '%s' ", dbesc(datetime_convert(date_default_timezone_get(), '', $datequery)))); + $order = 'post'; } - if($datequery2) { - $sql_extra2 .= protect_sprintf(sprintf(" AND item.created >= '%s' ", dbesc(datetime_convert(date_default_timezone_get(),'',$datequery2)))); + if ($datequery2) { + $sql_extra2 .= protect_sprintf(sprintf(" AND item.created >= '%s' ", dbesc(datetime_convert(date_default_timezone_get(), '', $datequery2)))); } - if($order === 'post') + if ($order === 'post') $ordering = "created"; else $ordering = "commented"; - $itemspage = get_pconfig(local_channel(),'system','itemspage'); + $itemspage = get_pconfig(local_channel(), 'system', 'itemspage'); App::set_pager_itemspage(((intval($itemspage)) ? $itemspage : 10)); $pager_sql = sprintf(" LIMIT %d OFFSET %d ", intval(App::$pager['itemspage']), intval(App::$pager['start'])); - if($noscript_content || $load) { - if($mid) { + if ($noscript_content || $load) { + if ($mid) { $r = q("SELECT parent AS item_id from item where mid like '%s' and uid = %d $item_normal AND item_wall = 1 $sql_extra limit 1", dbesc($mid . '%'), intval(App::$profile['profile_uid']) ); - if (! $r) { - notice( t('Permission denied.') . EOL); + if (!$r) { + notice(t('Permission denied.') . EOL); } } else { - $r = q("SELECT DISTINCT item.parent AS item_id, $ordering FROM item + $r = q("SELECT DISTINCT item.parent AS item_id, $ordering FROM item left join abook on ( item.author_xchan = abook.abook_xchan $abook_uids ) WHERE true and item.uid = %d $item_normal AND (abook.abook_blocked = 0 or abook.abook_flags is null) AND item.item_wall = 1 AND item.item_thread_top = 1 - $sql_extra $sql_extra2 + $sql_extra $sql_extra2 ORDER BY $ordering DESC, item_id $pager_sql ", intval(App::$profile['profile_uid']) ); } } else { - $r = array(); + $r = []; } } - if($r) { + if ($r) { - $parents_str = ids_to_querystr($r,'item_id'); + $parents_str = ids_to_querystr($r, 'item_id'); $r = q("SELECT item.*, item.id AS item_id FROM item @@ -363,28 +394,38 @@ class Channel extends Controller { xchan_query($r); $items = fetch_post_tags($r, true); - $items = conv_sort($items,$ordering); + $items = conv_sort($items, $ordering); - if($load && $mid && (! count($items))) { + if ($load && $mid && (!count($items))) { // This will happen if we don't have sufficient permissions // to view the parent item (or the item itself if it is toplevel) - notice( t('Permission denied.') . EOL); + notice(t('Permission denied.') . EOL); } - } else { - $items = array(); + } + else { + $items = []; } - if((! $update) && (! $load)) { + // Add pinned content + if (!x($_REQUEST, 'mid') && !$search) { + $pinned = new \Zotlabs\Widget\Pinned; + $r = $pinned->widget(intval(App::$profile['profile_uid']), [ITEM_TYPE_POST]); + $o .= $r['html']; + } - if($decoded) + $mode = (($search) ? 'search' : 'channel'); + + if ((!$update) && (!$load)) { + + if ($decoded) $mid = 'b64.' . base64url_encode($mid); // This is ugly, but we can't pass the profile_uid through the session to the ajax updater, // because browser prefetching might change it on us. We have to deliver it with the page. - $maxheight = get_pconfig(App::$profile['profile_uid'],'system','channel_divmore_height'); - if(! $maxheight) + $maxheight = get_pconfig(App::$profile['profile_uid'], 'system', 'channel_divmore_height'); + if (!$maxheight) $maxheight = 400; $o .= '<div id="live-channel"></div>' . "\r\n"; @@ -392,57 +433,48 @@ class Channel extends Controller { . "; var netargs = '?f='; var profile_page = " . App::$pager['page'] . "; divmore_height = " . intval($maxheight) . ";</script>\r\n"; - App::$page['htmlhead'] .= replace_macros(get_markup_template("build_query.tpl"),array( - '$baseurl' => z_root(), - '$pgtype' => 'channel', - '$uid' => ((App::$profile['profile_uid']) ? App::$profile['profile_uid'] : '0'), - '$gid' => '0', - '$cid' => '0', - '$cmin' => '(-1)', - '$cmax' => '(-1)', - '$star' => '0', - '$liked' => '0', - '$conv' => '0', - '$spam' => '0', - '$nouveau' => '0', - '$wall' => '1', - '$fh' => '0', - '$dm' => '0', - '$page' => ((App::$pager['page'] != 1) ? App::$pager['page'] : 1), - '$search' => $search, - '$xchan' => '', - '$order' => (($order) ? urlencode($order) : ''), - '$list' => ((x($_REQUEST,'list')) ? intval($_REQUEST['list']) : 0), - '$file' => '', - '$cats' => (($category) ? urlencode($category) : ''), - '$tags' => (($hashtags) ? urlencode($hashtags) : ''), - '$mid' => (($mid) ? urlencode($mid) : ''), - '$verb' => '', - '$net' => '', - '$dend' => $datequery, - '$dbegin' => $datequery2, - '$conv_mode' => 'channel' - )); - + App::$page['htmlhead'] .= replace_macros(get_markup_template("build_query.tpl"), [ + '$baseurl' => z_root(), + '$pgtype' => 'channel', + '$uid' => ((App::$profile['profile_uid']) ? App::$profile['profile_uid'] : '0'), + '$gid' => '0', + '$cid' => '0', + '$cmin' => '(-1)', + '$cmax' => '(-1)', + '$star' => '0', + '$liked' => '0', + '$conv' => '0', + '$spam' => '0', + '$nouveau' => '0', + '$wall' => '1', + '$fh' => '0', + '$dm' => '0', + '$page' => ((App::$pager['page'] != 1) ? App::$pager['page'] : 1), + '$search' => $search, + '$xchan' => '', + '$order' => (($order) ? urlencode($order) : ''), + '$list' => ((x($_REQUEST, 'list')) ? intval($_REQUEST['list']) : 0), + '$file' => '', + '$cats' => (($category) ? urlencode($category) : ''), + '$tags' => (($hashtags) ? urlencode($hashtags) : ''), + '$mid' => (($mid) ? urlencode($mid) : ''), + '$verb' => '', + '$net' => '', + '$dend' => $datequery, + '$dbegin' => $datequery2, + '$conv_mode' => 'channel', + '$page_mode' => $page_mode + ]); } - // Add pinned content - if(! x($_REQUEST,'mid') && ! $search) { - $pinned = new \Zotlabs\Widget\Pinned; - $r = $pinned->widget(intval(App::$profile['profile_uid']), [ITEM_TYPE_POST]); - $o .= $r['html']; - } - - $mode = (($search) ? 'search' : 'channel'); - - if($update) { - $o .= conversation($items,$mode,$update,$page_mode); + if ($update) { + $o .= conversation($items, $mode, $update, $page_mode); } else { $o .= '<noscript>'; - if($noscript_content) { - $o .= conversation($items,$mode,$update,'traditional'); + if ($noscript_content) { + $o .= conversation($items, $mode, $update, 'traditional'); $o .= alt_pager(count($items)); } else { @@ -450,14 +482,14 @@ class Channel extends Controller { } $o .= '</noscript>'; - $o .= conversation($items,$mode,$update,$page_mode); + $o .= conversation($items, $mode, $update, $page_mode); if ($mid && $items[0]['title']) App::$page['title'] = $items[0]['title'] . " - " . App::$page['title']; } - if($mid) + if ($mid) $o .= '<div id="content-complete"></div>'; $_SESSION['loadtime'] = datetime_convert(); diff --git a/Zotlabs/Module/Channel_calendar.php b/Zotlabs/Module/Channel_calendar.php index ae4afb2f3..ac1545644 100644 --- a/Zotlabs/Module/Channel_calendar.php +++ b/Zotlabs/Module/Channel_calendar.php @@ -1,7 +1,12 @@ <?php + namespace Zotlabs\Module; +use App; +use Zotlabs\Web\Controller; use Zotlabs\Lib\Libsync; +use Zotlabs\Access\AccessList; +use Zotlabs\Daemon\Master; require_once('include/conversation.php'); require_once('include/bbcode.php'); @@ -10,37 +15,37 @@ require_once('include/event.php'); require_once('include/items.php'); require_once('include/html2plain.php'); -class Channel_calendar extends \Zotlabs\Web\Controller { +class Channel_calendar extends Controller { function post() { - - logger('post: ' . print_r($_REQUEST,true), LOGGER_DATA); - - if(! local_channel()) - return; - $event_id = ((x($_POST,'event_id')) ? intval($_POST['event_id']) : 0); - $event_hash = ((x($_POST,'event_hash')) ? $_POST['event_hash'] : ''); - - $xchan = ((x($_POST,'xchan')) ? dbesc($_POST['xchan']) : ''); + logger('post: ' . print_r($_REQUEST, true), LOGGER_DATA); + $uid = local_channel(); + if (!$uid) + return; + + $event_id = ((x($_POST, 'event_id')) ? intval($_POST['event_id']) : 0); + + $xchan = ((x($_POST, 'xchan')) ? dbesc($_POST['xchan']) : ''); + // only allow editing your own events. - if(($xchan) && ($xchan !== get_observer_hash())) + if (($xchan) && ($xchan !== get_observer_hash())) return; $categories = escape_tags(trim($_POST['categories'])); - + // allday events have adjust = 0, normal events have adjust = 1 $adjust = intval($_POST['adjust']); - $start = datetime_convert((($adjust) ? $tz : 'UTC'), 'UTC', escape_tags($_REQUEST['dtstart'])); - $finish = datetime_convert((($adjust) ? $tz : 'UTC'), 'UTC', escape_tags($_REQUEST['dtend'])); + $timezone = ((x($_POST, 'timezone_select')) ? escape_tags(trim($_POST['timezone_select'])) : ''); + $tz = (($timezone) ? $timezone : date_default_timezone_get()); - $timezone = ((x($_POST,'timezone_select')) ? escape_tags(trim($_POST['timezone_select'])) : ''); - $tz = (($timezone) ? $timezone : date_default_timezone_get()); + $start = datetime_convert((($adjust) ? $tz : 'UTC'), 'UTC', escape_tags($_REQUEST['dtstart'])); + $finish = datetime_convert((($adjust) ? $tz : 'UTC'), 'UTC', escape_tags($_REQUEST['dtend'])); - if(! $adjust) + if (!$adjust) $tz = 'UTC'; $summary = escape_tags(trim($_POST['summary'])); @@ -52,88 +57,86 @@ class Channel_calendar extends \Zotlabs\Web\Controller { // It won't hurt anything, but somebody will file a bug report // and we'll waste a bunch of time responding to it. Time that // could've been spent doing something else. - - if(strcmp($finish,$start) < 0 && !$nofinish) { - notice( t('Event can not end before it has started.') . EOL); - if(intval($_REQUEST['preview'])) { - echo( t('Unable to generate preview.')); + + if (strcmp($finish, $start) < 0) { + notice(t('Event can not end before it has started.') . EOL); + if (intval($_REQUEST['preview'])) { + echo(t('Unable to generate preview.')); } killme(); } - - if((! $summary) || (! $start)) { - notice( t('Event title and start time are required.') . EOL); - if(intval($_REQUEST['preview'])) { - echo( t('Unable to generate preview.')); + + if ((!$summary) || (!$start)) { + notice(t('Event title and start time are required.') . EOL); + if (intval($_REQUEST['preview'])) { + echo(t('Unable to generate preview.')); } killme(); } - $channel = \App::get_channel(); - - $acl = new \Zotlabs\Access\AccessList(false); - - if($event_id) { + $acl = new AccessList([]); + + if ($event_id) { $x = q("select * from event where id = %d and uid = %d limit 1", intval($event_id), - intval(local_channel()) + intval($uid) ); - if(! $x) { - notice( t('Event not found.') . EOL); - if(intval($_REQUEST['preview'])) { - echo( t('Unable to generate preview.')); + if (!$x) { + notice(t('Event not found.') . EOL); + if (intval($_REQUEST['preview'])) { + echo(t('Unable to generate preview.')); killme(); } return; } - + $acl->set($x[0]); - + $created = $x[0]['created']; - $edited = datetime_convert(); + $edited = datetime_convert(); } else { $created = $edited = datetime_convert(); $acl->set_from_array($_POST); } - + $post_tags = array(); - $channel = \App::get_channel(); - $ac = $acl->get(); + $channel = App::get_channel(); + $ac = $acl->get(); $str_contact_allow = $ac['allow_cid']; $str_group_allow = $ac['allow_gid']; - $str_contact_deny = $ac['deny_cid']; - $str_group_deny = $ac['deny_gid']; + $str_contact_deny = $ac['deny_cid']; + $str_group_deny = $ac['deny_gid']; $private = $acl->is_private(); require_once('include/text.php'); - $results = linkify_tags($desc, local_channel()); + $results = linkify_tags($desc, $uid); - if($results) { + if ($results) { // Set permissions based on tag replacements - set_linkified_perms($results, $str_contact_allow, $str_group_allow, local_channel(), false, $private); + set_linkified_perms($results, $str_contact_allow, $str_group_allow, $uid, false, $private); - foreach($results as $result) { + foreach ($results as $result) { $success = $result['success']; - if($success['replaced']) { + if ($success['replaced']) { $post_tags[] = array( - 'uid' => local_channel(), + 'uid' => $uid, 'ttype' => $success['termtype'], 'otype' => TERM_OBJ_POST, 'term' => $success['term'], 'url' => $success['url'] - ); + ); } } } - if(strlen($categories)) { - $cats = explode(',',$categories); - foreach($cats as $cat) { + if (strlen($categories)) { + $cats = explode(',', $categories); + foreach ($cats as $cat) { $post_tags[] = array( - 'uid' => local_channel(), + 'uid' => $uid, 'ttype' => TERM_CATEGORY, 'otype' => TERM_OBJ_POST, 'term' => trim($cat), @@ -141,175 +144,170 @@ class Channel_calendar extends \Zotlabs\Web\Controller { ); } } - - $datarray = array(); - $datarray['dtstart'] = $start; - $datarray['dtend'] = $finish; - $datarray['summary'] = $summary; + + $datarray = array(); + $datarray['dtstart'] = $start; + $datarray['dtend'] = $finish; + $datarray['summary'] = $summary; $datarray['description'] = $desc; - $datarray['location'] = $location; - $datarray['etype'] = $type; - $datarray['adjust'] = $adjust; - $datarray['nofinish'] = 0; - $datarray['uid'] = local_channel(); - $datarray['account'] = get_account_id(); + $datarray['location'] = $location; + $datarray['etype'] = $type; + $datarray['adjust'] = $adjust; + $datarray['nofinish'] = 0; + $datarray['uid'] = $uid; + $datarray['account'] = get_account_id(); $datarray['event_xchan'] = $channel['channel_hash']; - $datarray['allow_cid'] = $str_contact_allow; - $datarray['allow_gid'] = $str_group_allow; - $datarray['deny_cid'] = $str_contact_deny; - $datarray['deny_gid'] = $str_group_deny; - $datarray['private'] = intval($private); - $datarray['id'] = $event_id; - $datarray['created'] = $created; - $datarray['edited'] = $edited; - $datarray['timezone'] = $tz; - - - if(intval($_REQUEST['preview'])) { + $datarray['allow_cid'] = $str_contact_allow; + $datarray['allow_gid'] = $str_group_allow; + $datarray['deny_cid'] = $str_contact_deny; + $datarray['deny_gid'] = $str_group_deny; + $datarray['private'] = intval($private); + $datarray['id'] = $event_id; + $datarray['created'] = $created; + $datarray['edited'] = $edited; + $datarray['timezone'] = $tz; + + + if (intval($_REQUEST['preview'])) { $html = format_event_html($datarray); echo $html; killme(); } - + $event = event_store_event($datarray); - - if($post_tags) + + if ($post_tags) $datarray['term'] = $post_tags; - - $item_id = event_store_item($datarray,$event); - - if($item_id) { + + $item_id = event_store_item($datarray, $event); + + if ($item_id) { $r = q("select * from item where id = %d", intval($item_id) ); - if($r) { + if ($r) { xchan_query($r); $sync_item = fetch_post_tags($r); - $z = q("select * from event where event_hash = '%s' and uid = %d limit 1", + $z = q("select * from event where event_hash = '%s' and uid = %d limit 1", dbesc($r[0]['resource_id']), intval($channel['channel_id']) ); - if($z) { - Libsync::build_sync_packet($channel['channel_id'],array('event_item' => array(encode_item($sync_item[0],true)),'event' => $z)); + if ($z) { + Libsync::build_sync_packet($channel['channel_id'], array('event_item' => array(encode_item($sync_item[0], true)), 'event' => $z)); } } } - - \Zotlabs\Daemon\Master::Summon(array('Notifier','event',$item_id)); + + Master::Summon(array('Notifier', 'event', $item_id)); killme(); - + } - - - + + function get() { - - if(argc() > 2 && argv(1) == 'ical') { + + if (argc() > 2 && argv(1) == 'ical') { $event_id = argv(2); - + require_once('include/security.php'); $sql_extra = permissions_sql(local_channel()); - + $r = q("select * from event where event_hash = '%s' $sql_extra limit 1", dbesc($event_id) ); - if($r) { + if ($r) { header('Content-type: text/calendar'); - header('content-disposition: attachment; filename="' . t('event') . '-' . $event_id . '.ics"' ); + header('content-disposition: attachment; filename="' . t('event') . '-' . $event_id . '.ics"'); echo ical_wrapper($r); killme(); } else { - notice( t('Event not found.') . EOL ); + notice(t('Event not found.') . EOL); return; } } - - if(! local_channel()) { - notice( t('Permission denied.') . EOL); + + if (!local_channel()) { + notice(t('Permission denied.') . EOL); return; } - if((argc() > 2) && (argv(1) === 'ignore') && intval(argv(2))) { - $r = q("update event set dismissed = 1 where id = %d and uid = %d", + if ((argc() > 2) && (argv(1) === 'ignore') && intval(argv(2))) { + q("update event set dismissed = 1 where id = %d and uid = %d", intval(argv(2)), intval(local_channel()) ); } - - if((argc() > 2) && (argv(1) === 'unignore') && intval(argv(2))) { - $r = q("update event set dismissed = 0 where id = %d and uid = %d", + + if ((argc() > 2) && (argv(1) === 'unignore') && intval(argv(2))) { + q("update event set dismissed = 0 where id = %d and uid = %d", intval(argv(2)), intval(local_channel()) ); } - $channel = \App::get_channel(); - - $mode = 'view'; - $export = false; - $ignored = ((x($_REQUEST,'ignored')) ? " and dismissed = " . intval($_REQUEST['ignored']) . " " : ''); + $mode = 'view'; + $export = false; + $ignored = ((x($_REQUEST, 'ignored')) ? " and dismissed = " . intval($_REQUEST['ignored']) . " " : ''); - if(argc() > 1) { - if(argc() > 2 && argv(1) === 'add') { - $mode = 'add'; + if (argc() > 1) { + if (argc() > 2 && argv(1) === 'add') { + $mode = 'add'; $item_id = intval(argv(2)); } - if(argc() > 2 && argv(1) === 'drop') { - $mode = 'drop'; + if (argc() > 2 && argv(1) === 'drop') { + $mode = 'drop'; $event_id = argv(2); } - if(argc() <= 2 && argv(1) === 'export') { + if (argc() <= 2 && argv(1) === 'export') { $export = true; } - if(argc() > 2 && intval(argv(1)) && intval(argv(2))) { + if (argc() > 2 && intval(argv(1)) && intval(argv(2))) { $mode = 'view'; } - if(argc() <= 2) { - $mode = 'view'; + if (argc() <= 2) { + $mode = 'view'; $event_id = argv(1); } } - - if($mode === 'add') { - event_addtocal($item_id,local_channel()); + + if ($mode === 'add') { + event_addtocal($item_id, local_channel()); killme(); } - - if($mode == 'view') { - + + if ($mode == 'view') { + /* edit/create form */ - if($event_id) { - $r = q("SELECT * FROM event WHERE event_hash = '%s' AND uid = %d LIMIT 1", + if ($event_id) { + q("SELECT * FROM event WHERE event_hash = '%s' AND uid = %d LIMIT 1", dbesc($event_id), intval(local_channel()) ); - if(count($r)) - $orig_event = $r[0]; } - - $channel = \App::get_channel(); - if (argv(1) === 'json'){ - if (x($_GET,'start')) $start = $_GET['start']; - if (x($_GET,'end')) $finish = $_GET['end']; + $channel = App::get_channel(); + + if (argv(1) === 'json') { + if (x($_GET, 'start')) $start = $_GET['start']; + if (x($_GET, 'end')) $finish = $_GET['end']; } - - $start = datetime_convert('UTC','UTC',$start); - $finish = datetime_convert('UTC','UTC',$finish); - $adjust_start = datetime_convert('UTC', date_default_timezone_get(), $start); + + $start = datetime_convert('UTC', 'UTC', $start); + $finish = datetime_convert('UTC', 'UTC', $finish); + $adjust_start = datetime_convert('UTC', date_default_timezone_get(), $start); $adjust_finish = datetime_convert('UTC', date_default_timezone_get(), $finish); - if (x($_GET,'id')){ - $r = q("SELECT event.*, item.plink, item.item_flags, item.author_xchan, item.owner_xchan, item.id as item_id + if (x($_GET, 'id')) { + $r = q("SELECT event.*, item.plink, item.item_flags, item.author_xchan, item.owner_xchan, item.id as item_id from event left join item on item.resource_id = event.event_hash where item.resource_type = 'event' and event.uid = %d and event.id = %d limit 1", intval(local_channel()), intval($_GET['id']) ); } - elseif($export) { + elseif ($export) { $r = q("SELECT event.*, item.id as item_id from event left join item on item.resource_id = event.event_hash where event.uid = %d and event.dtstart > '%s' and event.dtend > event.dtstart", @@ -335,104 +333,105 @@ class Channel_calendar extends \Zotlabs\Web\Controller { dbesc($adjust_finish) ); } - - if($r && ! $export) { + + if ($r && !$export) { xchan_query($r); - $r = fetch_post_tags($r,true); + $r = fetch_post_tags($r, true); $r = sort_by_date($r); } $events = []; - if($r) { - - foreach($r as $rr) { + if ($r) { + + foreach ($r as $rr) { $start = (($rr['adjust']) ? datetime_convert('UTC', date_default_timezone_get(), $rr['dtstart'], 'c') : datetime_convert('UTC', 'UTC', $rr['dtstart'], 'c')); - if ($rr['nofinish']){ + if ($rr['nofinish']) { $end = null; - } else { + } + else { $end = (($rr['adjust']) ? datetime_convert('UTC', date_default_timezone_get(), $rr['dtend'], 'c') : datetime_convert('UTC', 'UTC', $rr['dtend'], 'c')); } - $catsenabled = feature_enabled(local_channel(),'categories'); - $categories = ''; - if($catsenabled){ - if($rr['term']) { + $catsenabled = feature_enabled(local_channel(), 'categories'); + $categories = ''; + if ($catsenabled) { + if ($rr['term']) { $cats = get_terms_oftype($rr['term'], TERM_CATEGORY); foreach ($cats as $cat) { - if(strlen($categories)) + if (strlen($categories)) $categories .= ', '; $categories .= $cat['term']; } } } - $edit = ((local_channel() && $rr['author_xchan'] == get_observer_hash()) ? array(z_root().'/events/'.$rr['event_hash'].'?expandform=1',t('Edit event'),'','') : false); - - $drop = array(z_root().'/events/drop/'.$rr['event_hash'],t('Delete event'),'',''); - + $edit = ((local_channel() && $rr['author_xchan'] == get_observer_hash()) ? array(z_root() . '/events/' . $rr['event_hash'] . '?expandform=1', t('Edit event'), '', '') : false); + + $drop = array(z_root() . '/events/drop/' . $rr['event_hash'], t('Delete event'), '', ''); + $tz = get_iconfig($rr, 'event', 'timezone'); - if(! $tz) + if (!$tz) $tz = 'UTC'; $events[] = array( 'calendar_id' => 'channel_calendar', - 'rw' => true, - 'id'=>$rr['id'], - 'uri' => $rr['event_hash'], - 'timezone' => $tz, - 'start'=> $start, - 'end' => $end, - 'drop' => $drop, - 'allDay' => (($rr['adjust']) ? 0 : 1), - 'title' => html_entity_decode($rr['summary'], ENT_COMPAT, 'UTF-8'), - 'editable' => $edit ? true : false, - 'item' => $rr, - 'plink' => [$rr['plink'], t('Link to source')], + 'rw' => true, + 'id' => $rr['id'], + 'uri' => $rr['event_hash'], + 'timezone' => $tz, + 'start' => $start, + 'end' => $end, + 'drop' => $drop, + 'allDay' => (($rr['adjust']) ? 0 : 1), + 'title' => html_entity_decode($rr['summary'], ENT_COMPAT, 'UTF-8'), + 'editable' => $edit ? true : false, + 'item' => $rr, + 'plink' => [$rr['plink'], t('Link to source')], 'description' => html_entity_decode($rr['description'], ENT_COMPAT, 'UTF-8'), - 'location' => html_entity_decode($rr['location'], ENT_COMPAT, 'UTF-8'), - 'allow_cid' => expand_acl($rr['allow_cid']), - 'allow_gid' => expand_acl($rr['allow_gid']), - 'deny_cid' => expand_acl($rr['deny_cid']), - 'deny_gid' => expand_acl($rr['deny_gid']), - 'categories' => $categories + 'location' => html_entity_decode($rr['location'], ENT_COMPAT, 'UTF-8'), + 'allow_cid' => expand_acl($rr['allow_cid']), + 'allow_gid' => expand_acl($rr['allow_gid']), + 'deny_cid' => expand_acl($rr['deny_cid']), + 'deny_gid' => expand_acl($rr['deny_gid']), + 'categories' => $categories ); } } - - if($export) { + + if ($export) { header('Content-type: text/calendar'); - header('content-disposition: attachment; filename="' . t('calendar') . '-' . $channel['channel_address'] . '.ics"' ); + header('content-disposition: attachment; filename="' . t('calendar') . '-' . $channel['channel_address'] . '.ics"'); echo ical_wrapper($r); killme(); } - if (\App::$argv[1] === 'json'){ + if (App::$argv[1] === 'json') { json_return_and_die($events); } } - - if($mode === 'drop' && $event_id) { + + if ($mode === 'drop' && $event_id) { $r = q("SELECT * FROM event WHERE event_hash = '%s' AND uid = %d LIMIT 1", dbesc($event_id), intval(local_channel()) ); - + $sync_event = $r[0]; - - if($r) { + + if ($r) { $r = q("delete from event where event_hash = '%s' and uid = %d", dbesc($event_id), intval(local_channel()) ); - if($r) { + if ($r) { $sync_event['event_deleted'] = 1; - Libsync::build_sync_packet(0,array('event' => array($sync_event))); + Libsync::build_sync_packet(0, array('event' => array($sync_event))); $i = q("select * from item where resource_type = 'event' and resource_id = '%s' and uid = %d", dbesc($event_id), @@ -441,11 +440,11 @@ class Channel_calendar extends \Zotlabs\Web\Controller { if ($i) { - $can_delete = false; + $can_delete = false; $local_delete = true; $ob_hash = get_observer_hash(); - if($ob_hash && ($ob_hash === $i[0]['author_xchan'] || $ob_hash === $i[0]['owner_xchan'] || $ob_hash === $i[0]['source_xchan'])) { + if ($ob_hash && ($ob_hash === $i[0]['author_xchan'] || $ob_hash === $i[0]['owner_xchan'] || $ob_hash === $i[0]['source_xchan'])) { $can_delete = true; } @@ -453,49 +452,49 @@ class Channel_calendar extends \Zotlabs\Web\Controller { // If the item originated on this site+channel the deletion will propagate downstream. // Otherwise just the local copy is removed. - if(is_site_admin()) { + if (is_site_admin()) { $local_delete = true; - if(intval($i[0]['item_origin'])) + if (intval($i[0]['item_origin'])) $can_delete = true; } - if($can_delete || $local_delete) { + if ($can_delete || $local_delete) { // if this is a different page type or it's just a local delete // but not by the item author or owner, do a simple deletion - $complex = false; + $complex = false; - if(intval($i[0]['item_type']) || ($local_delete && (! $can_delete))) { + if (intval($i[0]['item_type']) || ($local_delete && (!$can_delete))) { drop_item($i[0]['id']); } else { // complex deletion that needs to propagate and be performed in phases - drop_item($i[0]['id'],true,DROPITEM_PHASE1); + drop_item($i[0]['id'], true, DROPITEM_PHASE1); $complex = true; } $ii = q("select * from item where id = %d", intval($i[0]['id']) ); - if($ii) { + if ($ii) { xchan_query($ii); $sync_item = fetch_post_tags($ii); - Libsync::build_sync_packet($i[0]['uid'],array('item' => array(encode_item($sync_item[0],true)))); + Libsync::build_sync_packet($i[0]['uid'], array('item' => array(encode_item($sync_item[0], true)))); } - if($complex) { - tag_deliver($i[0]['uid'],$i[0]['id']); + if ($complex) { + tag_deliver($i[0]['uid'], $i[0]['id']); } } } killme(); } - notice( t('Failed to remove event' ) . EOL); + notice(t('Failed to remove event') . EOL); killme(); } } - + } - + } diff --git a/Zotlabs/Module/Chanview.php b/Zotlabs/Module/Chanview.php index 12e1891d4..8ae4841b4 100644 --- a/Zotlabs/Module/Chanview.php +++ b/Zotlabs/Module/Chanview.php @@ -70,7 +70,7 @@ class Chanview extends \Zotlabs\Web\Controller { $zf = Zotfinger::exec($_REQUEST['url'], null); if(array_path_exists('signature/signer',$zf) && $zf['signature']['signer'] === $_REQUEST['url'] && intval($zf['signature']['header_valid'])) { - Libzot::import_xchan($j); + Libzot::import_xchan($zf['data']); $r = q("select * from xchan where xchan_url = '%s'", dbesc($_REQUEST['url']) ); diff --git a/Zotlabs/Module/Cloud.php b/Zotlabs/Module/Cloud.php index 39ae0f92f..3d1b97980 100644 --- a/Zotlabs/Module/Cloud.php +++ b/Zotlabs/Module/Cloud.php @@ -105,7 +105,7 @@ class Cloud extends Controller { // All we need to do now, is to fire up the server - $server->exec(); + $server->start(); if($browser->build_page) construct_page(); diff --git a/Zotlabs/Module/Connections.php b/Zotlabs/Module/Connections.php index 7dc301623..5025f4e22 100644 --- a/Zotlabs/Module/Connections.php +++ b/Zotlabs/Module/Connections.php @@ -109,6 +109,7 @@ class Connections extends \Zotlabs\Web\Controller { case 'all': $head = t('All'); + break; default: $search_flags = " and abook_blocked = 0 and abook_ignored = 0 and abook_hidden = 0 and abook_archived = 0 and abook_not_here = 0 "; $active = true; @@ -238,7 +239,7 @@ class Connections extends \Zotlabs\Web\Controller { } $r = q("SELECT COUNT(abook.abook_id) AS total FROM abook left join xchan on abook.abook_xchan = xchan.xchan_hash - where abook_channel = %d and abook_self = 0 and xchan_deleted = 0 and xchan_orphan = 0 $sql_extra $sql_extra2 ", + where abook_channel = %d and abook_self = 0 and xchan_deleted = 0 and xchan_orphan = 0 $sql_extra ", intval(local_channel()) ); if($r) { @@ -247,7 +248,7 @@ class Connections extends \Zotlabs\Web\Controller { } $r = q("SELECT abook.*, xchan.* FROM abook left join xchan on abook.abook_xchan = xchan.xchan_hash - WHERE abook_channel = %d and abook_self = 0 and xchan_deleted = 0 and xchan_orphan = 0 $sql_extra $sql_extra2 ORDER BY $sql_order LIMIT %d OFFSET %d ", + WHERE abook_channel = %d and abook_self = 0 and xchan_deleted = 0 and xchan_orphan = 0 $sql_extra ORDER BY $sql_order LIMIT %d OFFSET %d ", intval(local_channel()), intval(App::$pager['itemspage']), intval(App::$pager['start']) diff --git a/Zotlabs/Module/Connedit.php b/Zotlabs/Module/Connedit.php index becf8460d..582563451 100644 --- a/Zotlabs/Module/Connedit.php +++ b/Zotlabs/Module/Connedit.php @@ -32,10 +32,10 @@ class Connedit extends Controller { */ function init() { - + if(! local_channel()) return; - + if((argc() >= 2) && intval(argv(1))) { $r = q("SELECT abook.*, xchan.* FROM abook left join xchan on abook_xchan = xchan_hash @@ -47,54 +47,54 @@ class Connedit extends Controller { App::$poi = array_shift($r); } } - + $channel = App::get_channel(); if($channel) head_set_icon($channel['xchan_photo_s']); - + } - + /* @brief Evaluate posted values and set changes * */ - + function post() { - + if(! local_channel()) return; - + $contact_id = intval(argv(1)); if(! $contact_id) return; - + $channel = App::get_channel(); - + // TODO if configured for hassle-free permissions, we'll post the form with ajax as soon as the // connection enable is toggled to a special autopost url and set permissions immediately, leaving // the other form elements alone pending a manual submit of the form. The downside is that there // will be a window of opportunity when the permissions have been set but before you've had a chance // to review and possibly restrict them. The upside is we won't have to warn you that your connection // can't do anything until you save the bloody form. - + $autopost = (((argc() > 2) && (argv(2) === 'auto')) ? true : false); - + $orig_record = q("SELECT * FROM abook WHERE abook_id = %d AND abook_channel = %d LIMIT 1", intval($contact_id), intval(local_channel()) ); - + if(! $orig_record) { notice( t('Could not access contact record.') . EOL); goaway(z_root() . '/connections'); return; // NOTREACHED } - + call_hooks('contact_edit_post', $_POST); - + $vc = get_abconfig(local_channel(),$orig_record['abook_xchan'],'system','vcard'); - $vcard = (($vc) ? \Sabre\VObject\Reader::read($vc) : null); + $vcard = (($vc) ? \Sabre\VObject\Reader::read($vc) : null); $serialised_vcard = update_vcard($_REQUEST,$vcard); if($serialised_vcard) set_abconfig(local_channel(),$orig_record[0]['abook_xchan'],'system','vcard',$serialised_vcard); @@ -107,8 +107,8 @@ class Connedit extends Controller { $autoperms = null; $is_self = false; } - - + + $profile_id = ((array_key_exists('profile_assign',$_POST)) ? $_POST['profile_assign'] : $orig_record[0]['abook_profile']); if($profile_id) { @@ -121,17 +121,17 @@ class Connedit extends Controller { return; } } - + $abook_incl = ((array_key_exists('abook_incl',$_POST)) ? escape_tags($_POST['abook_incl']) : $orig_record[0]['abook_incl']); $abook_excl = ((array_key_exists('abook_excl',$_POST)) ? escape_tags($_POST['abook_excl']) : $orig_record[0]['abook_excl']); $hidden = intval($_POST['hidden']); - + $priority = intval($_POST['poll']); if($priority > 5 || $priority < 0) $priority = 0; - + if(! array_key_exists('closeness',$_POST)) { $_POST['closeness'] = 80; } @@ -139,15 +139,15 @@ class Connedit extends Controller { if($closeness < 0 || $closeness > 99) { $closeness = 80; } - + $rating = intval($_POST['rating']); if($rating < (-10)) $rating = (-10); if($rating > 10) $rating = 10; - + $rating_text = trim(escape_tags($_REQUEST['rating_text'])); - + $all_perms = Permissions::Perms(); if($all_perms) { @@ -168,27 +168,27 @@ class Connedit extends Controller { } } - if(! is_null($autoperms)) + if(! is_null($autoperms)) set_pconfig($channel['channel_id'],'system','autoperms',$autoperms); - + $new_friend = false; - + // only store a record and notify the directory if the rating changed if(! $is_self) { - + $signed = $orig_record[0]['abook_xchan'] . '.' . $rating . '.' . $rating_text; $sig = base64url_encode(rsa_sign($signed,$channel['channel_prvkey'])); $rated = ((intval($rating) || strlen($rating_text)) ? true : false); - + $record = 0; - + $z = q("select * from xlink where xlink_xchan = '%s' and xlink_link = '%s' and xlink_static = 1 limit 1", dbesc($channel['channel_hash']), dbesc($orig_record[0]['abook_xchan']) ); - + if($z) { if(($z[0]['xlink_rating'] != $rating) || ($z[0]['xlink_rating_text'] != $rating_text)) { $record = $z[0]['xlink_id']; @@ -223,18 +223,18 @@ class Connedit extends Controller { Master::Summon(array('Ratenotif','rating',$record)); } } - + if(($_REQUEST['pending']) && intval($orig_record[0]['abook_pending'])) { $new_friend = true; - + // @fixme it won't be common, but when you accept a new connection request // the permissions will now be that of your permissions role and ignore // any you may have set manually on the form. We'll probably see a bug if somebody // tries to set the permissions *and* approve the connection in the same // request. The workaround is to approve the connection, then go back and // adjust permissions as desired. - + $p = Permissions::connect_perms(local_channel()); $my_perms = $p['perms']; if($my_perms) { @@ -247,7 +247,7 @@ class Connedit extends Controller { $abook_pending = (($new_friend) ? 0 : $orig_record[0]['abook_pending']); - + $r = q("UPDATE abook SET abook_profile = '%s', abook_closeness = %d, abook_pending = %d, abook_incl = '%s', abook_excl = '%s' where abook_id = %d AND abook_channel = %d", @@ -259,7 +259,7 @@ class Connedit extends Controller { intval($contact_id), intval(local_channel()) ); - + if($r) info( t('Connection updated.') . EOL); else @@ -267,16 +267,16 @@ class Connedit extends Controller { if(! intval(App::$poi['abook_self'])) { if($new_friend) { - Master::Summon( [ 'Notifier', 'permission_accept', $contact_id ] ); + Master::Summon( [ 'Notifier', 'permission_accept', $contact_id ] ); } - Master::Summon( [ - 'Notifier', - (($new_friend) ? 'permission_create' : 'permission_update'), - $contact_id + Master::Summon( [ + 'Notifier', + (($new_friend) ? 'permission_create' : 'permission_update'), + $contact_id ]); } - + if($new_friend) { $default_group = $channel['channel_default_group']; if($default_group) { @@ -285,11 +285,11 @@ class Connedit extends Controller { if($g) group_add_member(local_channel(),'',App::$poi['abook_xchan'],$g['id']); } - + // Check if settings permit ("post new friend activity" is allowed, and // friends in general or this friend in particular aren't hidden) // and send out a new friend activity - + $pr = q("select * from profile where uid = %d and is_default = 1 and hide_friends = 0", intval($channel['channel_id']) ); @@ -305,23 +305,23 @@ class Connedit extends Controller { $xarr['deny_cid'] = $channel['channel_deny_cid']; $xarr['deny_gid'] = $channel['channel_deny_gid']; $xarr['item_private'] = (($xarr['allow_cid']||$xarr['allow_gid']||$xarr['deny_cid']||$xarr['deny_gid']) ? 1 : 0); - + $xarr['body'] = '[zrl=' . $channel['xchan_url'] . ']' . $channel['xchan_name'] . '[/zrl]' . ' ' . t('is now connected to') . ' ' . '[zrl=' . App::$poi['xchan_url'] . ']' . App::$poi['xchan_name'] . '[/zrl]'; - + $xarr['body'] .= "\n\n\n" . '[zrl=' . App::$poi['xchan_url'] . '][zmg=80x80]' . App::$poi['xchan_photo_m'] . '[/zmg][/zrl]'; - + post_activity_item($xarr); - + } - - + + // pull in a bit of content if there is any to pull in Master::Summon(array('Onepoll',$contact_id)); - + } - + // Refresh the structure in memory with the new data - + $r = q("SELECT abook.*, xchan.* FROM abook left join xchan on abook_xchan = xchan_hash WHERE abook_channel = %d and abook_id = %d LIMIT 1", @@ -331,34 +331,34 @@ class Connedit extends Controller { if($r) { App::$poi = $r[0]; } - + if($new_friend) { $arr = array('channel_id' => local_channel(), 'abook' => App::$poi); call_hooks('accept_follow', $arr); } - + $this->connedit_clone($a); - + if(($_REQUEST['pending']) && (!$_REQUEST['done'])) goaway(z_root() . '/connections/ifpending'); - + return; - + } - + /* @brief Clone connection * * */ - + function connedit_clone(&$a) { - + if(! App::$poi) return; - - + + $channel = App::get_channel(); - + $r = q("SELECT abook.*, xchan.* FROM abook left join xchan on abook_xchan = xchan_hash WHERE abook_channel = %d and abook_id = %d LIMIT 1", @@ -368,40 +368,40 @@ class Connedit extends Controller { if($r) { App::$poi = array_shift($r); } - + $clone = App::$poi; - + unset($clone['abook_id']); unset($clone['abook_account']); unset($clone['abook_channel']); - + $abconfig = load_abconfig($channel['channel_id'],$clone['abook_xchan']); if($abconfig) $clone['abconfig'] = $abconfig; - + Libsync::build_sync_packet(0 /* use the current local_channel */, array('abook' => array($clone))); } - + /* @brief Generate content of connection edit page * * */ - + function get() { - + $sort_type = 0; $o = ''; - + if(! local_channel()) { notice( t('Permission denied.') . EOL); return login(); } - + $section = ((array_key_exists('section',$_REQUEST)) ? $_REQUEST['section'] : ''); $channel = App::get_channel(); - + $yes_no = array(t('No'),t('Yes')); - + $connect_perms = Permissions::connect_perms(local_channel()); $o .= "<script>function connectDefaultShare() { @@ -415,13 +415,13 @@ class Connedit extends Controller { } } $o .= " }\n</script>\n"; - + if(argc() == 3) { - + $contact_id = intval(argv(1)); if(! $contact_id) return; - + $cmd = argv(2); $orig_record = q("SELECT abook.*, xchan.* FROM abook left join xchan on abook_xchan = xchan_hash @@ -429,17 +429,17 @@ class Connedit extends Controller { intval($contact_id), intval(local_channel()) ); - + if(! count($orig_record)) { notice( t('Could not access address book record.') . EOL); goaway(z_root() . '/connections'); } - + if($cmd === 'update') { // pull feed and consume it, which should subscribe to the hub. Master::Summon(array('Poller',$contact_id)); goaway(z_root() . '/connedit/' . $contact_id); - + } if($cmd === 'fetchvc') { @@ -474,7 +474,7 @@ class Connedit extends Controller { dbesc($orig_record[0]['xchan_hash']) ); $cmd = 'refresh'; - } + } if($cmd === 'refresh') { if($orig_record[0]['xchan_network'] === 'zot') { @@ -486,13 +486,13 @@ class Connedit extends Controller { notice( t('Refresh failed - channel is currently unavailable.') ); } else { - + // if you are on a different network we'll force a refresh of the connection basic info Master::Summon(array('Notifier','permission_update',$contact_id)); } goaway(z_root() . '/connedit/' . $contact_id); } - + if($cmd === 'block') { if(abook_toggle_flag($orig_record[0],ABOOK_FLAG_BLOCKED)) { $this->connedit_clone($a); @@ -501,7 +501,7 @@ class Connedit extends Controller { notice(t('Unable to set address book parameters.') . EOL); goaway(z_root() . '/connedit/' . $contact_id); } - + if($cmd === 'ignore') { if(abook_toggle_flag($orig_record[0],ABOOK_FLAG_IGNORED)) { $this->connedit_clone($a); @@ -510,7 +510,7 @@ class Connedit extends Controller { notice(t('Unable to set address book parameters.') . EOL); goaway(z_root() . '/connedit/' . $contact_id); } - + if($cmd === 'archive') { if(abook_toggle_flag($orig_record[0],ABOOK_FLAG_ARCHIVED)) { $this->connedit_clone($a); @@ -519,7 +519,7 @@ class Connedit extends Controller { notice(t('Unable to set address book parameters.') . EOL); goaway(z_root() . '/connedit/' . $contact_id); } - + if($cmd === 'hide') { if(abook_toggle_flag($orig_record[0],ABOOK_FLAG_HIDDEN)) { $this->connedit_clone($a); @@ -528,10 +528,10 @@ class Connedit extends Controller { notice(t('Unable to set address book parameters.') . EOL); goaway(z_root() . '/connedit/' . $contact_id); } - + // We'll prevent somebody from unapproving an already approved contact. // Though maybe somebody will want this eventually (??) - + if($cmd === 'approve') { if(intval($orig_record[0]['abook_pending'])) { if(abook_toggle_flag($orig_record[0],ABOOK_FLAG_PENDING)) { @@ -542,10 +542,10 @@ class Connedit extends Controller { } goaway(z_root() . '/connedit/' . $contact_id); } - - + + if($cmd === 'drop') { - + contact_remove(local_channel(), $orig_record[0]['abook_id']); Master::Summon( [ 'Notifier', 'purge', local_channel(), $orig_record[0]['xchan_hash'] ] ); @@ -556,17 +556,17 @@ class Connedit extends Controller { 'entry_deleted' => true)) ) ); - + info( t('Connection has been removed.') . EOL ); if(x($_SESSION,'return_url')) goaway(z_root() . '/' . $_SESSION['return_url']); goaway(z_root() . '/contacts'); - + } } - + if(App::$poi) { - + $abook_prev = 0; $abook_next = 0; @@ -595,14 +595,14 @@ class Connedit extends Controller { } $tools = array( - + 'view' => array( 'label' => t('View Profile'), 'url' => chanlink_cid($contact['abook_id']), 'sel' => '', 'title' => sprintf( t('View %s\'s profile'), $contact['xchan_name']), ), - + 'refresh' => array( 'label' => t('Refresh Permissions'), 'url' => z_root() . '/connedit/' . $contact['abook_id'] . '/refresh', @@ -616,14 +616,14 @@ class Connedit extends Controller { 'sel' => '', 'title' => t('Fetch updated photo'), ), - + 'recent' => array( 'label' => t('Recent Activity'), 'url' => z_root() . '/network/?f=&cid=' . $contact['abook_id'], 'sel' => '', 'title' => t('View recent posts and comments'), ), - + 'block' => array( 'label' => (intval($contact['abook_blocked']) ? t('Unblock') : t('Block')), 'url' => z_root() . '/connedit/' . $contact['abook_id'] . '/block', @@ -631,7 +631,7 @@ class Connedit extends Controller { 'title' => t('Block (or Unblock) all communications with this connection'), 'info' => (intval($contact['abook_blocked']) ? t('This connection is blocked!') : ''), ), - + 'ignore' => array( 'label' => (intval($contact['abook_ignored']) ? t('Unignore') : t('Ignore')), 'url' => z_root() . '/connedit/' . $contact['abook_id'] . '/ignore', @@ -639,7 +639,7 @@ class Connedit extends Controller { 'title' => t('Ignore (or Unignore) all inbound communications from this connection'), 'info' => (intval($contact['abook_ignored']) ? t('This connection is ignored!') : ''), ), - + 'archive' => array( 'label' => (intval($contact['abook_archived']) ? t('Unarchive') : t('Archive')), 'url' => z_root() . '/connedit/' . $contact['abook_id'] . '/archive', @@ -647,7 +647,7 @@ class Connedit extends Controller { 'title' => t('Archive (or Unarchive) this connection - mark channel dead but keep content'), 'info' => (intval($contact['abook_archived']) ? t('This connection is archived!') : ''), ), - + 'hide' => array( 'label' => (intval($contact['abook_hidden']) ? t('Unhide') : t('Hide')), 'url' => z_root() . '/connedit/' . $contact['abook_id'] . '/hide', @@ -655,18 +655,18 @@ class Connedit extends Controller { 'title' => t('Hide or Unhide this connection from your other connections'), 'info' => (intval($contact['abook_hidden']) ? t('This connection is hidden!') : ''), ), - + 'delete' => array( 'label' => t('Delete'), 'url' => z_root() . '/connedit/' . $contact['abook_id'] . '/drop', 'sel' => '', 'title' => t('Delete this connection'), ), - + ); - if($contact['xchan_network'] === 'zot') { + if(in_array($contact['xchan_network'], ['zot6', 'zot'])) { $tools['fetchvc'] = [ 'label' => t('Fetch Vcard'), 'url' => z_root() . '/connedit/' . $contact['abook_id'] . '/fetchvc', @@ -684,24 +684,24 @@ class Connedit extends Controller { 'sel' => '', 'title' => t('Open Individual Permissions section by default'), ]; - + $self = false; - + if(intval($contact['abook_self'])) { $self = true; $abook_prev = $abook_next = 0; } - + $vc = get_abconfig(local_channel(),$contact['abook_xchan'],'system','vcard'); - $vctmp = (($vc) ? \Sabre\VObject\Reader::read($vc) : null); + $vctmp = (($vc) ? \Sabre\VObject\Reader::read($vc) : null); $vcard = (($vctmp) ? get_vcard_array($vctmp,$contact['abook_id']) : [] ); if(! $vcard) $vcard['fn'] = $contact['xchan_name']; $tpl = get_markup_template("abook_edit.tpl"); - + if(Apps::system_app_installed(local_channel(),'Affinity Tool')) { $sections['affinity'] = [ @@ -710,7 +710,7 @@ class Connedit extends Controller { 'sel' => '', 'title' => t('Open Set Affinity section by default'), ]; - + $labels = [ t('Me'), t('Family'), @@ -720,7 +720,7 @@ class Connedit extends Controller { ]; call_hooks('affinity_labels',$labels); $label_str = ''; - + if($labels) { foreach($labels as $l) { if($label_str) { @@ -731,11 +731,11 @@ class Connedit extends Controller { $label_str .= "'" . $l . "'"; } } - + $slider_tpl = get_markup_template('contact_slider.tpl'); - + $slideval = intval($contact['abook_closeness']); - + $slide = replace_macros($slider_tpl,array( '$min' => 1, '$val' => $slideval, @@ -751,22 +751,22 @@ class Connedit extends Controller { 'title' => t('Open Custom Filter section by default'), ]; } - + $rating_val = 0; $rating_text = ''; - + $xl = q("select * from xlink where xlink_xchan = '%s' and xlink_link = '%s' and xlink_static = 1", dbesc($channel['channel_hash']), dbesc($contact['xchan_hash']) ); - + if($xl) { $rating_val = intval($xl[0]['xlink_rating']); $rating_text = $xl[0]['xlink_rating_text']; } - + $rating_enabled = get_config('system','rating_enabled'); - + if($rating_enabled) { $rating = replace_macros(get_markup_template('rating_slider.tpl'),array( '$min' => -10, @@ -776,28 +776,28 @@ class Connedit extends Controller { else { $rating = false; } - - + + $perms = array(); $channel = App::get_channel(); - + $global_perms = Permissions::Perms(); $existing = get_all_perms(local_channel(),$contact['abook_xchan'],false); - + $unapproved = array('pending', t('Approve this connection'), '', t('Accept connection to allow communication'), array(t('No'),('Yes'))); - + $multiprofs = ((feature_enabled(local_channel(),'multi_profiles')) ? true : false); - + if($slide && !$multiprofs) $affinity = t('Set Affinity'); - + if(!$slide && $multiprofs) $affinity = t('Set Profile'); - + if($slide && $multiprofs) $affinity = t('Set Affinity & Profile'); - + $theirs = q("select * from abconfig where chan = %d and xchan = '%s' and cat = 'their_perms'", intval(local_channel()), dbesc($contact['abook_xchan']) @@ -812,20 +812,20 @@ class Connedit extends Controller { foreach($global_perms as $k => $v) { $thisperm = get_abconfig(local_channel(),$contact['abook_xchan'],'my_perms',$k); //fixme - + $checkinherited = PermissionLimits::Get(local_channel(),$k); - + // For auto permissions (when $self is true) we don't want to look at existing // permissions because they are enabled for the channel owner if((! $self) && ($existing[$k])) $thisperm = "1"; - - + + $perms[] = array('perms_' . $k, $v, ((array_key_exists($k,$their_perms)) ? intval($their_perms[$k]) : ''),$thisperm, 1, (($checkinherited & PERMS_SPECIFIC) ? '' : '1'), '', $checkinherited); } - + $pcat = new Permcat(local_channel()); $pcatlist = $pcat->listing(); $permcats = []; @@ -838,23 +838,23 @@ class Connedit extends Controller { $locstr = locations_by_netid($contact['xchan_hash']); if(! $locstr) $locstr = unpunify($contact['xchan_url']); - + $clone_warn = ''; $clonable = (in_array($contact['xchan_network'],['zot', 'zot6', 'rss']) ? true : false); if(! $clonable) { $clone_warn = '<strong>'; - $clone_warn .= ((intval($contact['abook_not_here'])) + $clone_warn .= ((intval($contact['abook_not_here'])) ? t('This connection is unreachable from this location.') : t('This connection may be unreachable from other channel locations.') ); $clone_warn .= '</strong><br>' . t('Location independence is not supported by their network.'); } - + if(intval($contact['abook_not_here']) && $unclonable) $not_here = t('This connection is unreachable from this location. Location independence is not supported by their network.'); - + $o .= replace_macros($tpl, [ '$header' => (($self) ? t('Connection Default Permissions') : sprintf( t('Connection: %s'),$contact['xchan_name'])), '$autoperms' => array('autoperms',t('Apply these permissions automatically'), ((get_pconfig(local_channel(),'system','autoperms')) ? 1 : 0), t('Connection requests will be approved without your interaction'), $yes_no), @@ -910,7 +910,7 @@ class Connedit extends Controller { '$name' => $contact['xchan_name'], '$abook_prev' => $abook_prev, '$abook_next' => $abook_next, - '$vcard_label' => t('Details'), + '$vcard_label' => t('Details'), '$displayname' => $displayname, '$name_label' => t('Name'), '$org_label' => t('Organisation'), @@ -939,13 +939,13 @@ class Connedit extends Controller { '$zip_code' => t('ZIP Code'), '$country' => t('Country') ]); - + $arr = array('contact' => $contact,'output' => $o); - + call_hooks('contact_edit', $arr); - + return $arr['output']; - - } + + } } } diff --git a/Zotlabs/Module/Dav.php b/Zotlabs/Module/Dav.php index 949b89950..96fe2c898 100644 --- a/Zotlabs/Module/Dav.php +++ b/Zotlabs/Module/Dav.php @@ -51,7 +51,7 @@ class Dav extends \Zotlabs\Web\Controller { if($sigblock) { $keyId = str_replace('acct:','',$sigblock['keyId']); if($keyId) { - $r = q("select * from hubloc where hubloc_addr = '%s'", + $r = q("select * from hubloc where hubloc_id_url = '%s'", dbesc($keyId) ); if($r) { @@ -124,7 +124,7 @@ class Dav extends \Zotlabs\Web\Controller { // $server->addPlugin(new \Zotlabs\Storage\QuotaPlugin($auth)); // All we need to do now, is to fire up the server - $server->exec(); + $server->start(); killme(); } diff --git a/Zotlabs/Module/Directory.php b/Zotlabs/Module/Directory.php index e1bf0f6cf..7295f3099 100644 --- a/Zotlabs/Module/Directory.php +++ b/Zotlabs/Module/Directory.php @@ -4,6 +4,8 @@ namespace Zotlabs\Module; use App; use Zotlabs\Web\Controller; +use Zotlabs\Lib\Libzotdir; + require_once('include/socgraph.php'); require_once('include/dir_fns.php'); @@ -15,7 +17,7 @@ class Directory extends Controller { function init() { App::set_pager_itemspage(30); - + if(local_channel() && x($_GET,'ignore')) { q("insert into xign ( uid, xchan ) values ( %d, '%s' ) ", intval(local_channel()), @@ -26,12 +28,12 @@ class Directory extends Controller { if(local_channel()) App::$profile_uid = local_channel(); - + $observer = get_observer_hash(); $global_changed = false; $safe_changed = false; $pubforums_changed = false; - + if(array_key_exists('global',$_REQUEST)) { $globaldir = intval($_REQUEST['global']); $global_changed = true; @@ -41,7 +43,7 @@ class Directory extends Controller { if($observer) set_xconfig($observer,'directory','globaldir',$globaldir); } - + if(array_key_exists('safe',$_REQUEST)) { $safemode = intval($_REQUEST['safe']); $safe_changed = true; @@ -51,8 +53,8 @@ class Directory extends Controller { if($observer) set_xconfig($observer,'directory','safemode',$safemode); } - - + + if(array_key_exists('pubforums',$_REQUEST)) { $pubforums = intval($_REQUEST['pubforums']); $pubforums_changed = true; @@ -64,52 +66,52 @@ class Directory extends Controller { } } - + function get() { - + if(observer_prohibited()) { notice( t('Public access denied.') . EOL); return; } - + if(get_config('system','block_public_directory',false) && (! get_observer_hash())) { notice( t('Public access denied.') . EOL); return; } - + $observer = get_observer_hash(); - - $globaldir = get_directory_setting($observer, 'globaldir'); + + $globaldir = Libzotdir::get_directory_setting($observer, 'globaldir'); // override your personal global search pref if we're doing a navbar search of the directory if(intval($_REQUEST['navsearch'])) $globaldir = 1; - - $safe_mode = get_directory_setting($observer, 'safemode'); - - $pubforums = get_directory_setting($observer, 'pubforums'); - + + $safe_mode = Libzotdir::get_directory_setting($observer, 'safemode'); + + $pubforums = Libzotdir::get_directory_setting($observer, 'pubforums'); + $o = ''; nav_set_selected('Directory'); - + if(x($_POST,'search')) $search = notags(trim($_POST['search'])); else $search = ((x($_GET,'search')) ? notags(trim(rawurldecode($_GET['search']))) : ''); - - + + if(strpos($search,'=') && local_channel() && feature_enabled(local_channel(), 'advanced_dirsearch')) $advanced = $search; - + $keywords = (($_GET['keywords']) ? $_GET['keywords'] : ''); - + // Suggest channels if no search terms or keywords are given $suggest = (local_channel() && x($_REQUEST,'suggest')) ? $_REQUEST['suggest'] : ''; - + if($suggest) { // the directory options have no effect in suggestion mode - + $globaldir = 1; $safe_mode = 1; $type = 0; @@ -120,7 +122,7 @@ class Directory extends Controller { notice( t('No default suggestions were found.') . EOL); return; } - + // Remember in which order the suggestions were $addresses = array(); $common = array(); @@ -129,7 +131,7 @@ class Directory extends Controller { $common[$rr['xchan_addr']] = ((intval($rr['total']) > 0) ? intval($rr['total']) - 1 : 0); $addresses[$rr['xchan_addr']] = $index++; } - + // Build query to get info about suggested people $advanced = ''; foreach(array_keys($addresses) as $address) { @@ -137,13 +139,13 @@ class Directory extends Controller { } // Remove last space in the advanced query $advanced = rtrim($advanced); - + } - + $tpl = get_markup_template('directory_header.tpl'); - + $dirmode = intval(get_config('system','directory_mode')); - + $directory_admin = false; if(($dirmode == DIRECTORY_MODE_PRIMARY) || ($dirmode == DIRECTORY_MODE_STANDALONE)) { @@ -154,19 +156,19 @@ class Directory extends Controller { } if(! $url) { - $directory = find_upstream_directory($dirmode); + $directory = Libzotdir::find_upstream_directory($dirmode); if((! $directory) || (! array_key_exists('url',$directory)) || (! $directory['url'])) logger('CRITICAL: No directory server URL'); $url = $directory['url'] . '/dirsearch'; } - + $token = get_config('system','realm_token'); - - + + logger('mod_directory: URL = ' . $url, LOGGER_DEBUG); - + $contacts = array(); - + if(local_channel()) { $x = q("select abook_xchan from abook where abook_channel = %d", intval(local_channel()) @@ -176,24 +178,24 @@ class Directory extends Controller { $contacts[] = $xx['abook_xchan']; } } - + if($url) { - + $numtags = get_config('system','directorytags'); - + $kw = ((intval($numtags) > 0) ? intval($numtags) : 50); - + if(get_config('system','disable_directory_keywords')) $kw = 0; - + $query = $url . '?f=&kw=' . $kw . (($safe_mode != 1) ? '&safe=' . $safe_mode : ''); - + if($token) $query .= '&t=' . $token; - + if(! $globaldir) $query .= '&hub=' . App::get_hostname(); - + if($search) $query .= '&name=' . urlencode($search) . '&keywords=' . urlencode($search); if(strpos($search,'@')) @@ -204,29 +206,29 @@ class Directory extends Controller { $query .= '&query=' . urlencode($advanced); if(! is_null($pubforums)) $query .= '&pubforums=' . intval($pubforums); - + $directory_sort_order = get_config('system','directory_sort_order'); if(! $directory_sort_order) $directory_sort_order = 'date'; - + $sort_order = ((x($_REQUEST,'order')) ? $_REQUEST['order'] : $directory_sort_order); - + if($sort_order) $query .= '&order=' . urlencode($sort_order); - + if(App::$pager['page'] != 1) $query .= '&p=' . App::$pager['page']; - + logger('mod_directory: query: ' . $query); - + $x = z_fetch_url($query); logger('directory: return from upstream: ' . print_r($x,true), LOGGER_DATA); - + if($x['success']) { $t = 0; $j = json_decode($x['body'],true); if($j) { - + if($j['results']) { $results = $j['results']; @@ -235,23 +237,23 @@ class Directory extends Controller { } $entries = array(); - + $photo = 'thumb'; - + foreach($results as $rr) { - + $profile_link = chanlink_url($rr['url']); - + $pdesc = (($rr['description']) ? $rr['description'] . '<br />' : ''); - $connect_link = ((local_channel()) ? z_root() . '/follow?f=&url=' . urlencode($rr['address']) : ''); - + $connect_link = ((local_channel()) ? z_root() . '/follow?f=&url=' . urlencode($rr['address']) : ''); + // Checking status is disabled ATM until someone checks the performance impact more carefully //$online = remote_online_status($rr['address']); $online = ''; - + if(in_array($rr['hash'],$contacts)) $connect_link = ''; - + $location = ''; if(strlen($rr['locale'])) $location .= $rr['locale']; @@ -265,53 +267,53 @@ class Directory extends Controller { $location .= ', '; $location .= $rr['country']; } - + $age = ''; if(strlen($rr['birthday'])) { if(($years = age($rr['birthday'],'UTC','')) > 0) $age = $years; } - + $page_type = ''; - + $rating_enabled = get_config('system','rating_enabled'); if($rr['total_ratings'] && $rating_enabled) $total_ratings = sprintf( tt("%d rating", "%d ratings", $rr['total_ratings']), $rr['total_ratings']); else $total_ratings = ''; - + $profile = $rr; - + if ((x($profile,'locale') == 1) || (x($profile,'region') == 1) || (x($profile,'postcode') == 1) || (x($profile,'country') == 1)) - + $gender = ((x($profile,'gender') == 1) ? t('Gender: ') . $profile['gender']: False); - + $marital = ((x($profile,'marital') == 1) ? t('Status: ') . $profile['marital']: False); - + $homepage = ((x($profile,'homepage') == 1) ? t('Homepage: ') : False); - $homepageurl = ((x($profile,'homepage') == 1) ? html2plain($profile['homepage']) : ''); - + $homepageurl = ((x($profile,'homepage') == 1) ? html2plain($profile['homepage']) : ''); + $hometown = ((x($profile,'hometown') == 1) ? html2plain($profile['hometown']) : False); - + $about = ((x($profile,'about') == 1) ? zidify_links(bbcode($profile['about'], ['tryoembed' => false])) : False); if ($about && $safe_mode) { $about = html2plain($about); } - + $keywords = ((x($profile,'keywords')) ? $profile['keywords'] : ''); - + $out = ''; - + if($keywords) { $keywords = str_replace(',',' ', $keywords); $keywords = str_replace(' ',' ', $keywords); $karr = explode(' ', $keywords); - + if($karr) { if(local_channel()) { $r = q("select keywords from profile where uid = %d and is_default = 1 limit 1", @@ -332,9 +334,9 @@ class Directory extends Controller { $out .= '<a href="' . z_root() . '/directory/f=&keywords=' . urlencode($k) .'">' . $k . '</a>'; } } - + } - + $entry = array( 'id' => ++$t, 'profile_link' => $profile_link, @@ -366,7 +368,7 @@ class Directory extends Controller { 'about' => $about, 'about_label' => t('About:'), 'conn_label' => t('Connect'), - 'forum_label' => t('Public Forum:'), + 'forum_label' => t('Public Forum:'), 'connect' => $connect_link, 'online' => $online, 'kw' => (($out) ? t('Keywords: ') : ''), @@ -378,36 +380,36 @@ class Directory extends Controller { 'common_count' => intval($common[$rr['address']]), 'safe' => $safe_mode ); - + $arr = array('contact' => $rr, 'entry' => $entry); - + call_hooks('directory_item', $arr); - + unset($profile); unset($location); - + if(! $arr['entry']) { continue; - } - + } + if($sort_order == '' && $suggest) { $entries[$addresses[$rr['address']]] = $arr['entry']; // Use the same indexes as originally to get the best suggestion first } - + else { $entries[] = $arr['entry']; } } - + ksort($entries); // Sort array by key so that foreach-constructs work as expected - + if($j['keywords']) { App::$data['directory_keywords'] = $j['keywords']; } - + logger('mod_directory: entries: ' . print_r($entries,true), LOGGER_DATA); - - + + if($_REQUEST['aj']) { if($entries) { $o = replace_macros(get_markup_template('directajax.tpl'),array( @@ -422,9 +424,9 @@ class Directory extends Controller { } else { $maxheight = 94; - + $dirtitle = (($globaldir) ? t('Global Directory') : t('Local Directory')); - + $o .= "<script> var page_query = '" . escape_tags(urlencode($_GET['q'])) . "'; var extra_args = '" . extra_query_args() . "' ; divmore_height = " . intval($maxheight) . "; </script>"; $o .= replace_macros($tpl, array( '$search' => $search, @@ -442,10 +444,10 @@ class Directory extends Controller { '$reversedate' => t('Oldest to Newest'), '$suggest' => $suggest ? '&suggest=1' : '' )); - - + + } - + } else { if($_REQUEST['aj']) { @@ -463,7 +465,7 @@ class Directory extends Controller { } return $o; } - + static public function reorder_results($results,$suggests) { if(! $suggests) diff --git a/Zotlabs/Module/Display.php b/Zotlabs/Module/Display.php index 81ac0f7b8..04aeb6d5c 100644 --- a/Zotlabs/Module/Display.php +++ b/Zotlabs/Module/Display.php @@ -19,21 +19,21 @@ class Display extends \Zotlabs\Web\Controller { if(argc() > 1) { $module_format = substr(argv(1),strrpos(argv(1),'.') + 1); if(! in_array($module_format,['atom','zot','json'])) - $module_format = 'html'; + $module_format = 'html'; } if(observer_prohibited()) { notice( t('Public access denied.') . EOL); return; } - + if(argc() > 1) { $item_hash = argv(1); if($module_format !== 'html') { $item_hash = substr($item_hash,0,strrpos($item_hash,'.')); } } - + if($_REQUEST['mid']) $item_hash = $_REQUEST['mid']; @@ -42,19 +42,19 @@ class Display extends \Zotlabs\Web\Controller { notice( t('Item not found.') . EOL); return; } - + $observer_is_owner = false; if(local_channel() && (! $update)) { - + $channel = \App::get_channel(); $channel_acl = array( - 'allow_cid' => $channel['channel_allow_cid'], - 'allow_gid' => $channel['channel_allow_gid'], - 'deny_cid' => $channel['channel_deny_cid'], + 'allow_cid' => $channel['channel_allow_cid'], + 'allow_gid' => $channel['channel_allow_gid'], + 'deny_cid' => $channel['channel_deny_cid'], 'deny_gid' => $channel['channel_deny_gid'] - ); + ); $x = array( 'is_owner' => true, @@ -62,7 +62,7 @@ class Display extends \Zotlabs\Web\Controller { 'default_location' => $channel['channel_location'], 'nickname' => $channel['channel_address'], 'lockstate' => (($group || $cid || $channel['channel_allow_cid'] || $channel['channel_allow_gid'] || $channel['channel_deny_cid'] || $channel['channel_deny_gid']) ? 'lock' : 'unlock'), - 'acl' => populate_acl($channel_acl,true, \Zotlabs\Lib\PermissionDescription::fromGlobalPermission('view_stream'), get_post_aclDialogDescription(), 'acl_dialog_post'), + 'acl' => populate_acl($channel_acl,true, \Zotlabs\Lib\PermissionDescription::fromGlobalPermission('view_stream'), get_post_aclDialogDescription(), 'acl_dialog_post'), 'permissions' => $channel_acl, 'bang' => '', 'visitor' => true, @@ -75,21 +75,21 @@ class Display extends \Zotlabs\Web\Controller { 'jotnets' => true, 'reset' => t('Reset form') ); - + $o = '<div id="jot-popup">'; $o .= status_editor($a,$x,false,'Display'); $o .= '</div>'; } - + // This page can be viewed by anybody so the query could be complicated // First we'll see if there is a copy of the item which is owned by us - if we're logged in locally. - // If that fails (or we aren't logged in locally), + // If that fails (or we aren't logged in locally), // query an item in which the observer (if logged in remotely) has cid or gid rights - // and if that fails, look for a copy of the post that has no privacy restrictions. + // and if that fails, look for a copy of the post that has no privacy restrictions. // If we find the post, but we don't find a copy that we're allowed to look at, this fact needs to be reported. - + // find a copy of the item somewhere - + $target_item = null; if(strpos($item_hash,'b64.') === 0) @@ -100,7 +100,7 @@ class Display extends \Zotlabs\Web\Controller { $r = q("select id, uid, mid, parent, parent_mid, thr_parent, verb, item_type, item_deleted, author_xchan, item_blocked from item where mid like '%s' limit 1", dbesc($item_hash . '%') ); - + if($r) { $target_item = $r[0]; } @@ -117,14 +117,14 @@ class Display extends \Zotlabs\Web\Controller { if($target_item['item_blocked'] == ITEM_MODERATED) { goaway(z_root() . '/moderate/' . $target_item['id']); } - + $r = null; - + if($target_item['item_type'] == ITEM_TYPE_WEBPAGE) { $x = q("select * from channel where channel_id = %d limit 1", intval($target_item['uid']) ); - $y = q("select * from iconfig left join item on iconfig.iid = item.id + $y = q("select * from iconfig left join item on iconfig.iid = item.id where item.uid = %d and iconfig.cat = 'system' and iconfig.k = 'WEBPAGE' and item.id = %d limit 1", intval($target_item['uid']), intval($target_item['parent']) @@ -141,7 +141,7 @@ class Display extends \Zotlabs\Web\Controller { $x = q("select * from channel where channel_id = %d limit 1", intval($target_item['uid']) ); - $y = q("select * from iconfig left join item on iconfig.iid = item.id + $y = q("select * from iconfig left join item on iconfig.iid = item.id where item.uid = %d and iconfig.cat = 'system' and iconfig.k = 'ARTICLE' and item.id = %d limit 1", intval($target_item['uid']), intval($target_item['parent']) @@ -160,7 +160,7 @@ class Display extends \Zotlabs\Web\Controller { intval($target_item['uid']) ); - $y = q("select * from iconfig left join item on iconfig.iid = item.id + $y = q("select * from iconfig left join item on iconfig.iid = item.id where item.uid = %d and iconfig.cat = 'system' and iconfig.k = 'CARD' and item.id = %d limit 1", intval($target_item['uid']), intval($target_item['parent']) @@ -179,7 +179,7 @@ class Display extends \Zotlabs\Web\Controller { notice( t('Page not found.') . EOL); return ''; } - + $simple_update = ''; if($update && $_SESSION['loadtime']) $simple_update = " AND (( item_unseen = 1 AND item.changed > '" . datetime_convert('UTC','UTC',$_SESSION['loadtime']) . "' ) OR item.changed > '" . datetime_convert('UTC','UTC',$_SESSION['loadtime']) . "' ) "; @@ -191,14 +191,14 @@ class Display extends \Zotlabs\Web\Controller { //$mid = ((($target_item['verb'] == ACTIVITY_LIKE) || ($target_item['verb'] == ACTIVITY_DISLIKE)) ? $target_item['thr_parent'] : $target_item['mid']); $mid = $target_item['mid']; - // if we got a decoded hash we must encode it again before handing to javascript + // if we got a decoded hash we must encode it again before handing to javascript if($decoded) $mid = 'b64.' . base64url_encode($mid); $o .= '<div id="live-display"></div>' . "\r\n"; $o .= "<script> var profile_uid = " . ((intval(local_channel())) ? local_channel() : (-1)) . "; var netargs = '?f='; var profile_page = " . \App::$pager['page'] . "; </script>\r\n"; - + \App::$page['htmlhead'] .= replace_macros(get_markup_template("build_query.tpl"),array( '$baseurl' => z_root(), '$pgtype' => 'display', @@ -230,7 +230,7 @@ class Display extends \Zotlabs\Web\Controller { '$mid' => (($mid) ? urlencode($mid) : '') )); - head_add_link([ + head_add_link([ 'rel' => 'alternate', 'type' => 'application/json+oembed', 'href' => z_root() . '/oep?f=&url=' . urlencode(z_root() . '/' . \App::$query_string), @@ -270,8 +270,8 @@ class Display extends \Zotlabs\Web\Controller { $r = q("SELECT item.id as item_id from item WHERE mid = '%s' - AND (((( item.allow_cid = '' AND item.allow_gid = '' AND item.deny_cid = '' - AND item.deny_gid = '' AND item_private = 0 ) + AND (((( item.allow_cid = '' AND item.allow_gid = '' AND item.deny_cid = '' + AND item.deny_gid = '' AND item_private = 0 ) and uid in ( " . stream_perms_api_uids(($observer_hash) ? (PERMS_NETWORK|PERMS_PUBLIC) : PERMS_PUBLIC) . " )) OR uid = %d ) $sql_extra ) @@ -282,7 +282,7 @@ class Display extends \Zotlabs\Web\Controller { ); } } - + elseif($update && !$load) { $r = null; @@ -307,8 +307,8 @@ class Display extends \Zotlabs\Web\Controller { $sysid = 0; $r = q("SELECT item.parent AS item_id from item WHERE parent_mid = '%s' - AND (((( item.allow_cid = '' AND item.allow_gid = '' AND item.deny_cid = '' - AND item.deny_gid = '' AND item_private = 0 ) + AND (((( item.allow_cid = '' AND item.allow_gid = '' AND item.deny_cid = '' + AND item.deny_gid = '' AND item_private = 0 ) and uid in ( " . stream_perms_api_uids(($observer_hash) ? (PERMS_NETWORK|PERMS_PUBLIC) : PERMS_PUBLIC) . " )) OR uid = %d ) $sql_extra ) @@ -320,7 +320,7 @@ class Display extends \Zotlabs\Web\Controller { ); } } - + else { $r = array(); } @@ -328,7 +328,7 @@ class Display extends \Zotlabs\Web\Controller { if($r) { $parents_str = ids_to_querystr($r,'item_id'); if($parents_str) { - $items = q("SELECT item.*, item.id AS item_id + $items = q("SELECT item.*, item.id AS item_id FROM item WHERE parent in ( %s ) $item_normal ", dbesc($parents_str) @@ -341,10 +341,10 @@ class Display extends \Zotlabs\Web\Controller { else { $items = array(); } - + switch($module_format) { - + case 'html': if ($update) { @@ -363,7 +363,7 @@ class Display extends \Zotlabs\Web\Controller { \App::$page['title'] = (($items[0]['title']) ? $items[0]['title'] . " - " . \App::$page['title'] : \App::$page['title']); $o .= conversation($items, 'display', $update, 'client'); - } + } break; @@ -380,7 +380,7 @@ class Display extends \Zotlabs\Web\Controller { '$owner' => '', '$profile_page' => xmlify(z_root() . '/display/' . $target_item['mid']), )); - + $x = [ 'xml' => $atom, 'channel' => $channel, 'observer_hash' => $observer_hash, 'params' => $params ]; call_hooks('atom_feed_top',$x); @@ -406,13 +406,13 @@ class Display extends \Zotlabs\Web\Controller { header('Content-type: application/atom+xml'); echo $atom; killme(); - + } $o .= '<div id="content-complete"></div>'; if((($update && $load) || $noscript_content) && (! $items)) { - + $r = q("SELECT id, item_deleted FROM item WHERE mid = '%s' LIMIT 1", dbesc($item_hash) ); @@ -421,14 +421,14 @@ class Display extends \Zotlabs\Web\Controller { if(intval($r[0]['item_deleted'])) { notice( t('Item has been removed.') . EOL ); } - else { - notice( t('Permission denied.') . EOL ); + else { + notice( t('Permission denied.') . EOL ); } } else { notice( t('Item not found.') . EOL ); } - + } $_SESSION['loadtime'] = datetime_convert(); diff --git a/Zotlabs/Module/Embedphotos.php b/Zotlabs/Module/Embedphotos.php index 9b0884197..ed5b24724 100644 --- a/Zotlabs/Module/Embedphotos.php +++ b/Zotlabs/Module/Embedphotos.php @@ -40,7 +40,8 @@ class Embedphotos extends \Zotlabs\Web\Controller { if (!$href) { json_return_and_die(array('errormsg' => 'Error retrieving link ' . $href, 'status' => false)); } - $resource_id = array_pop(explode('/', $href)); + $arr = explode('/', $href); + $resource_id = array_pop($arr); $x = self::photolink($resource_id); if($x) json_return_and_die(array('status' => true, 'photolink' => $x, 'resource_id' => $resource_id)); diff --git a/Zotlabs/Module/File_upload.php b/Zotlabs/Module/File_upload.php index 6794dceee..e18067e20 100644 --- a/Zotlabs/Module/File_upload.php +++ b/Zotlabs/Module/File_upload.php @@ -64,7 +64,7 @@ class File_upload extends \Zotlabs\Web\Controller { if($x['partial']) { header('Range: bytes=0-' . (($x['length']) ? $x['length'] - 1 : 0)); - json_return_and_die($result); + json_return_and_die($x); } else { header('Range: bytes=0-' . (($x['size']) ? $x['size'] - 1 : 0)); diff --git a/Zotlabs/Module/Getfile.php b/Zotlabs/Module/Getfile.php index 17d1c84b8..20cc23ac0 100644 --- a/Zotlabs/Module/Getfile.php +++ b/Zotlabs/Module/Getfile.php @@ -6,20 +6,20 @@ use Zotlabs\Lib\Libzot; /** * module: getfile - * + * * used for synchronising files and photos across clones - * + * * The site initiating the file operation will send a sync packet to known clones. * They will respond by building the DB structures they require, then will provide a * post request to this site to grab the file data. This is sent as a stream direct to * disk at the other end, avoiding memory issues. * * Since magic-auth cannot easily be used by the CURL process at the other end, - * we will require a signed request which includes a timestamp. This should not be - * used without SSL and is potentially vulnerable to replay if an attacker decrypts + * we will require a signed request which includes a timestamp. This should not be + * used without SSL and is potentially vulnerable to replay if an attacker decrypts * the SSL traffic fast enough. The amount of time slop is configurable but defaults * to 3 minutes. - * + * */ @@ -54,13 +54,13 @@ class Getfile extends \Zotlabs\Web\Controller { $keyId = $sigblock['keyId']; if($keyId) { - $r = q("select * from hubloc left join xchan on hubloc_hash = xchan_hash - where hubloc_addr = '%s'", + $r = q("select * from hubloc left join xchan on hubloc_hash = xchan_hash + where hubloc_id_url = '%s'", dbesc(str_replace('acct:','',$keyId)) ); if($r) { $hubloc = Libzot::zot_record_preferred($r); - $verified = HTTPSig::verify('',$hubloc['xchan_pubkey']); + $verified = HTTPSig::verify('',$hubloc['xchan_pubkey']); if($verified && $verified['header_signed'] && $verified['header_valid'] && $hash == $hubloc['hubloc_hash']) { $header_verified = true; } @@ -74,15 +74,15 @@ class Getfile extends \Zotlabs\Web\Controller { logger('post: ' . print_r($_POST,true),LOGGER_DEBUG,LOG_INFO); if($header_verified) { logger('HTTPSig verified'); - } - + } + $channel = channelx_by_hash($hash); if((! $channel) || (! $time) || (! $sig)) { logger('error: missing info'); killme(); } - + if(isset($_POST['resolution'])) $resolution = intval($_POST['resolution']); elseif(substr($resource,-2,1) == '-') { @@ -91,21 +91,21 @@ class Getfile extends \Zotlabs\Web\Controller { } else { $resolution = (-1); - } + } $slop = intval(get_pconfig($channel['channel_id'],'system','getfile_time_slop')); if($slop < 1) $slop = 3; - + $d1 = datetime_convert('UTC','UTC',"now + $slop minutes"); - $d2 = datetime_convert('UTC','UTC',"now - $slop minutes"); - + $d2 = datetime_convert('UTC','UTC',"now - $slop minutes"); + if(! $header_verified) { if(($time > $d1) || ($time < $d2)) { logger('time outside allowable range'); killme(); } - + if(! rsa_verify($hash . '.' . $time,base64url_decode($sig),$channel['channel_pubkey'])) { logger('verify failed.'); killme(); @@ -137,20 +137,20 @@ class Getfile extends \Zotlabs\Web\Controller { else { echo dbunescbin($r[0]['content']); } - } + } killme(); } $r = attach_by_hash($resource,$channel['channel_hash'],$revision); - + if(! $r['success']) { logger('attach_by_hash failed: ' . $r['message']); notice( $r['message'] . EOL); return; } - + $unsafe_types = array('text/html','text/css','application/javascript'); - + if(in_array($r['data']['filetype'],$unsafe_types) && (! channel_codeallowed($channel['channel_id']))) { header('Content-type: text/plain'); } diff --git a/Zotlabs/Module/Item.php b/Zotlabs/Module/Item.php index f74b1e321..b30adeb53 100644 --- a/Zotlabs/Module/Item.php +++ b/Zotlabs/Module/Item.php @@ -132,13 +132,14 @@ class Item extends Controller { $i = Activity::encode_item_collection($items, 'conversation/' . $item_id, 'OrderedCollection'); - if($portable_id) { - ThreadListener::store(z_root() . '/item/' . $item_id,$portable_id); - } if(! $i) http_status_exit(404, 'Not found'); + if($portable_id && (! intval($items[0]['item_private']))) { + ThreadListener::store(z_root() . '/item/' . $item_id, $portable_id); + } + $x = array_merge(['@context' => [ ACTIVITYSTREAMS_JSONLD_REV, 'https://w3id.org/security/v1', @@ -237,6 +238,16 @@ class Item extends Controller { if(! $i) http_status_exit(404, 'Not found'); + if ($portable_id && (! intval($items[0]['item_private']))) { + $c = q("select abook_id from abook where abook_channel = %d and abook_xchan = '%s'", + intval($items[0]['uid']), + dbesc($portable_id) + ); + if (! $c) { + ThreadListener::store(z_root() . '/item/' . $item_id, $portable_id); + } + } + $x = array_merge(['@context' => [ ACTIVITYSTREAMS_JSONLD_REV, 'https://w3id.org/security/v1', @@ -976,7 +987,7 @@ class Item extends Controller { $item_unseen = ((local_channel() != $profile_uid) ? 1 : 0); - $item_wall = (($post_type === 'wall' || $post_type === 'wall-comment') ? 1 : 0); + $item_wall = (($_REQUEST['type'] === 'wall' || $_REQUEST['type'] === 'wall-comment') ? 1 : 0); $item_origin = (($origin) ? 1 : 0); $item_consensus = (($consensus) ? 1 : 0); $item_nocomment = (($nocomment) ? 1 : 0); diff --git a/Zotlabs/Module/Like.php b/Zotlabs/Module/Like.php index bb5c6db7a..e3fe4a954 100644 --- a/Zotlabs/Module/Like.php +++ b/Zotlabs/Module/Like.php @@ -1,37 +1,42 @@ <?php + namespace Zotlabs\Module; +use App; use Zotlabs\Lib\Activity; use Zotlabs\Lib\Libsync; +use Zotlabs\Web\Controller; +use Zotlabs\Daemon\Master; + require_once('include/security.php'); require_once('include/bbcode.php'); require_once('include/items.php'); require_once('include/conversation.php'); -class Like extends \Zotlabs\Web\Controller { +class Like extends Controller { private function reaction_to_activity($reaction) { $acts = [ - 'like' => ACTIVITY_LIKE , - 'dislike' => ACTIVITY_DISLIKE , - 'agree' => ACTIVITY_AGREE , - 'disagree' => ACTIVITY_DISAGREE , - 'abstain' => ACTIVITY_ABSTAIN , - 'attendyes' => ACTIVITY_ATTEND , - 'attendno' => ACTIVITY_ATTENDNO , - 'attendmaybe' => ACTIVITY_ATTENDMAYBE + 'like' => ACTIVITY_LIKE, + 'dislike' => ACTIVITY_DISLIKE, + 'agree' => ACTIVITY_AGREE, + 'disagree' => ACTIVITY_DISAGREE, + 'abstain' => ACTIVITY_ABSTAIN, + 'attendyes' => ACTIVITY_ATTEND, + 'attendno' => ACTIVITY_ATTENDNO, + 'attendmaybe' => ACTIVITY_ATTENDMAYBE ]; // unlike (etc.) reactions are an undo of positive reactions, rather than a negative action. // The activity is the same in undo actions and will have the same activity mapping - if(substr($reaction,0,2) === 'un') { - $reaction = substr($reaction,2); + if (substr($reaction, 0, 2) === 'un') { + $reaction = substr($reaction, 2); } - if(array_key_exists($reaction,$acts)) { + if (array_key_exists($reaction, $acts)) { return $acts[$reaction]; } @@ -41,117 +46,124 @@ class Like extends \Zotlabs\Web\Controller { private function like_response($arr) { - if($arr['conv_mode'] === 'channel') { + $page_mode = (($arr['item']['item_thread_top'] && $_REQUEST['page_mode']) ? $_REQUEST['page_mode'] : 'r_preview'); + $conv_mode = (($_REQUEST['conv_mode']) ? $_REQUEST['conv_mode'] : 'network'); + + if ($conv_mode === 'channel') { $parts = explode('@', $arr['owner_xchan']['xchan_addr']); profile_load($parts[0]); } - $item_normal = item_normal(); - $activities = q("SELECT item.*, item.id AS item_id FROM item - WHERE uid = %d $item_normal - AND thr_parent = '%s' - AND verb IN ('%s', '%s', '%s', '%s', '%s')", - intval($arr['item']['uid']), - dbesc($arr['item']['mid']), - dbesc(ACTIVITY_LIKE), - dbesc(ACTIVITY_DISLIKE), - dbesc(ACTIVITY_ATTEND), - dbesc(ACTIVITY_ATTENDNO), - dbesc(ACTIVITY_ATTENDMAYBE) - ); - - xchan_query($activities,true); - - $convitems[] = $arr['item']; - $convitems = array_merge($convitems, $activities); - - $convitems = fetch_post_tags($convitems,true); + if ($page_mode === 'list') { + $items = q("SELECT item.*, item.id AS item_id FROM item + WHERE uid = %d $item_normal + AND parent = %d", + intval($arr['item']['uid']), + intval($arr['item']['parent']) + ); + xchan_query($items, true); + $items = fetch_post_tags($items, true); + $items = conv_sort($items, 'commented'); + } + else { + $activities = q("SELECT item.*, item.id AS item_id FROM item + WHERE uid = %d $item_normal + AND thr_parent = '%s' + AND verb IN ('%s', '%s', '%s', '%s', '%s')", + intval($arr['item']['uid']), + dbesc($arr['item']['mid']), + dbesc(ACTIVITY_LIKE), + dbesc(ACTIVITY_DISLIKE), + dbesc(ACTIVITY_ATTEND), + dbesc(ACTIVITY_ATTENDNO), + dbesc(ACTIVITY_ATTENDMAYBE) + ); + xchan_query($activities, true); + $items = array_merge([$arr['item']], $activities); + $items = fetch_post_tags($items, true); + } $ret = [ 'success' => 1, 'orig_id' => $arr['orig_item_id'], //this is required for pubstream items where $item_id != $item['id'] - 'id' => $arr['item']['id'], - 'html' => conversation($convitems, $arr['conv_mode'], true, 'r_preview'), + 'id' => $arr['item']['id'], + 'html' => conversation($items, $conv_mode, true, $page_mode), ]; - return $ret; } public function get() { - - $o = EMPTY_STR; + $o = EMPTY_STR; $sys_channel = get_sys_channel(); - $sys_channel_id = (($sys_channel) ? $sys_channel['channel_id'] : 0); - - $observer = \App::get_observer(); + $observer = App::get_observer(); $interactive = $_REQUEST['interactive']; - if((! $observer) || ($interactive)) { + + if ((!$observer) || ($interactive)) { $o .= '<h1>' . t('Like/Dislike') . '</h1>'; $o .= EOL . EOL; - - if(! $observer) { - $_SESSION['return_url'] = \App::$query_string; + + if (!$observer) { + $_SESSION['return_url'] = App::$query_string; + $o .= t('This action is restricted to members.') . EOL; $o .= t('Please <a href="rmagic">login with your $Projectname ID</a> or <a href="register">register as a new $Projectname member</a> to continue.') . EOL; return $o; } } - + $verb = notags(trim($_GET['verb'])); - $mode = (($_GET['conv_mode'] === 'channel') ? 'channel' : 'network'); - if(! $verb) + if (!$verb) $verb = 'like'; - + $activity = $this->reaction_to_activity($verb); - if(! $activity) { - return EMPTY_STR; + if (!$activity) { + return EMPTY_STR; } $is_rsvp = false; - if (in_array($activity, [ ACTIVITY_ATTEND, ACTIVITY_ATTENDNO, ACTIVITY_ATTENDMAYBE ])) { + if (in_array($activity, [ACTIVITY_ATTEND, ACTIVITY_ATTENDNO, ACTIVITY_ATTENDMAYBE])) { $is_rsvp = true; } - $extended_like = false; - $object = $target = null; - $post_type = EMPTY_STR; - $objtype = EMPTY_STR; - - if(argc() == 3) { - - if(! $observer) + $object = $target = null; + $post_type = EMPTY_STR; + $objtype = EMPTY_STR; + + if (argc() == 3) { + + if (!$observer) killme(); - + $extended_like = true; - $obj_type = argv(1); - $obj_id = argv(2); - $public = true; - - if($obj_type == 'profile') { + $obj_type = argv(1); + $obj_id = argv(2); + $public = true; + + if ($obj_type == 'profile') { $r = q("select * from profile where profile_guid = '%s' limit 1", dbesc(argv(2)) ); - if(! $r) - killme(); + if (!$r) + killme(); $owner_uid = $r[0]['uid']; - if($r[0]['is_default']) + if ($r[0]['is_default']) $public = true; - if(! $public) { + if (!$public) { $d = q("select abook_xchan from abook where abook_profile = '%s' and abook_channel = %d", dbesc($r[0]['profile_guid']), intval($owner_uid) ); - if(! $d) { + if (!$d) { // forgery - illegal - if($interactive) { - notice( t('Invalid request.') . EOL); + if ($interactive) { + notice(t('Invalid request.') . EOL); return $o; } killme(); @@ -159,122 +171,122 @@ class Like extends \Zotlabs\Web\Controller { // $d now contains a list of those who can see this profile - only send the status notification // to them. $allow_cid = $allow_gid = $deny_cid = $deny_gid = ''; - foreach($d as $dd) { + foreach ($d as $dd) { $allow_cid .= '<' . $dd['abook_xchan'] . '>'; } } $post_type = t('channel'); - $objtype = ACTIVITY_OBJ_PROFILE; - + $objtype = ACTIVITY_OBJ_PROFILE; + $profile = $r[0]; } - elseif($obj_type == 'thing') { - + elseif ($obj_type == 'thing') { + $r = q("select * from obj where obj_type = %d and obj_obj = '%s' limit 1", - intval(TERM_OBJ_THING), - dbesc(argv(2)) - ); - - if(! $r) { - if($interactive) { - notice( t('Invalid request.') . EOL); + intval(TERM_OBJ_THING), + dbesc(argv(2)) + ); + + if (!$r) { + if ($interactive) { + notice(t('Invalid request.') . EOL); return $o; } - killme(); + killme(); } - + $owner_uid = $r[0]['obj_channel']; - + $allow_cid = $r[0]['allow_cid']; $allow_gid = $r[0]['allow_gid']; - $deny_cid = $r[0]['deny_cid']; - $deny_gid = $r[0]['deny_gid']; - if($allow_cid || $allow_gid || $deny_cid || $deny_gid) + $deny_cid = $r[0]['deny_cid']; + $deny_gid = $r[0]['deny_gid']; + if ($allow_cid || $allow_gid || $deny_cid || $deny_gid) $public = false; - + $post_type = t('thing'); - $objtype = ACTIVITY_OBJ_PROFILE; - $tgttype = ACTIVITY_OBJ_THING; - + $objtype = ACTIVITY_OBJ_PROFILE; + $tgttype = ACTIVITY_OBJ_THING; + $links = array(); - $links[] = array('rel' => 'alternate', 'type' => 'text/html', - 'href' => z_root() . '/thing/' . $r[0]['obj_obj']); - if($r[0]['imgurl']) + $links[] = array('rel' => 'alternate', 'type' => 'text/html', + 'href' => z_root() . '/thing/' . $r[0]['obj_obj']); + if ($r[0]['imgurl']) $links[] = array('rel' => 'photo', 'href' => $r[0]['obj_imgurl']); - + $target = json_encode(array( 'type' => $tgttype, 'title' => $r[0]['obj_term'], 'id' => z_root() . '/thing/' . $r[0]['obj_obj'], 'link' => $links )); - + $plink = '[zrl=' . z_root() . '/thing/' . $r[0]['obj_obj'] . ']' . $r[0]['obj_term'] . '[/zrl]'; - + } - - if(! ($owner_uid && $r)) { - if($interactive) { - notice( t('Invalid request.') . EOL); + + if (!($owner_uid && $r)) { + if ($interactive) { + notice(t('Invalid request.') . EOL); return $o; } killme(); } - + // The resultant activity is going to be a wall-to-wall post, so make sure this is allowed - - $perms = get_all_perms($owner_uid,$observer['xchan_hash']); - - if(! ($perms['post_like'] && $perms['view_profile'])) { - if($interactive) { - notice( t('Permission denied.') . EOL); + + $perms = get_all_perms($owner_uid, $observer['xchan_hash']); + + if (!($perms['post_like'] && $perms['view_profile'])) { + if ($interactive) { + notice(t('Permission denied.') . EOL); return $o; } killme(); } - + $ch = q("select * from channel left join xchan on channel_hash = xchan_hash where channel_id = %d limit 1", intval($owner_uid) ); - if(! $ch) { - if($interactive) { - notice( t('Channel unavailable.') . EOL); + if (!$ch) { + if ($interactive) { + notice(t('Channel unavailable.') . EOL); return $o; } killme(); } - - if(! $plink) + + if (!$plink) $plink = '[zrl=' . z_root() . '/profile/' . $ch[0]['channel_address'] . ']' . $post_type . '[/zrl]'; - - $object = json_encode(Activity::fetch_profile([ 'id' => channel_url($ch[0]) ])); + + $object = json_encode(Activity::fetch_profile(['id' => channel_url($ch[0])])); // second like of the same thing is "undo" for the first like - + $z = q("select * from likes where channel_id = %d and liker = '%s' and verb = '%s' and target_type = '%s' and target_id = '%s' limit 1", intval($ch[0]['channel_id']), dbesc($observer['xchan_hash']), dbesc($activity), - dbesc(($tgttype)?$tgttype:$objtype), + dbesc(($tgttype) ? $tgttype : $objtype), dbesc($obj_id) ); - - if($z) { + + if ($z) { $z[0]['deleted'] = 1; - Libsync::build_sync_packet($ch[0]['channel_id'],array('likes' => $z)); - + Libsync::build_sync_packet($ch[0]['channel_id'], array('likes' => $z)); + q("delete from likes where id = %d", intval($z[0]['id']) ); - if($z[0]['i_mid']) { + if ($z[0]['i_mid']) { $r = q("select id from item where mid = '%s' and uid = %d limit 1", dbesc($z[0]['i_mid']), intval($ch[0]['channel_id']) ); - if($r) - drop_item($r[0]['id'],false); - if($interactive) { - notice( t('Previous action reversed.') . EOL); + if ($r) + drop_item($r[0]['id'], false); + if ($interactive) { + notice(t('Previous action reversed.') . EOL); return $o; } } @@ -283,19 +295,19 @@ class Like extends \Zotlabs\Web\Controller { } else { - if(! $observer) + if (!$observer) killme(); - + // this is used to like an item or comment - + $item_id = ((argc() == 2) ? notags(trim(argv(1))) : 0); - + logger('like: verb ' . $verb . ' item ' . $item_id, LOGGER_DEBUG); - + // get the item. Allow linked photos (which are normally hidden) to be liked - $r = q("SELECT * FROM item WHERE id = %d - and item_type in (0,6,7) and item_deleted = 0 and item_unpublished = 0 + $r = q("SELECT * FROM item WHERE id = %d + and item_type in (0,6,7) and item_deleted = 0 and item_unpublished = 0 and item_delayed = 0 and item_pending_remove = 0 and item_blocked = 0 LIMIT 1", intval($item_id) ); @@ -304,32 +316,30 @@ class Like extends \Zotlabs\Web\Controller { // create a copy of the parent in your stream. If not the conversation // parent, copy that as well. - if($r) { - if($r[0]['uid'] === $sys_channel['channel_id'] && local_channel()) { - $r = [ copy_of_pubitem(\App::get_channel(), $r[0]['mid']) ]; + if ($r) { + if ($r[0]['uid'] === $sys_channel['channel_id'] && local_channel()) { + $r = [copy_of_pubitem(App::get_channel(), $r[0]['mid'])]; } } - if(! $item_id || (! $r)) { + if (!$item_id || (!$r)) { logger('like: no item ' . $item_id); killme(); } - xchan_query($r,true); - - $item = $r[0]; + xchan_query($r, true); + $item = $r[0]; $owner_uid = $r[0]['uid']; $owner_aid = $r[0]['aid']; - $can_comment = false; - if((array_key_exists('owner',$item)) && intval($item['owner']['abook_self'])) - $can_comment = perm_is_allowed($item['uid'],$observer['xchan_hash'],'post_comments'); - else - $can_comment = can_comment_on_post($observer['xchan_hash'],$item); + if ((array_key_exists('owner', $item)) && intval($item['owner']['abook_self'])) + $can_comment = perm_is_allowed($item['uid'], $observer['xchan_hash'], 'post_comments'); + else + $can_comment = can_comment_on_post($observer['xchan_hash'], $item); - if(! $can_comment) { - notice( t('Permission denied') . EOL); + if (!$can_comment) { + notice(t('Permission denied') . EOL); killme(); } @@ -337,7 +347,7 @@ class Like extends \Zotlabs\Web\Controller { dbesc($item['owner_xchan']) ); - if($r) + if ($r) $thread_owner = $r[0]; else killme(); @@ -345,223 +355,207 @@ class Like extends \Zotlabs\Web\Controller { $r = q("select * from xchan where xchan_hash = '%s' limit 1", dbesc($item['author_xchan']) ); - if($r) + if ($r) $item_author = $r[0]; else killme(); - $verbs = " '".dbesc($activity)."' "; - - $multi_undo = false; - + $verbs = " '" . dbesc($activity) . "' "; + + $multi_undo = false; + // event participation and consensus items are essentially radio toggles. If you make a subsequent choice, - // we need to eradicate your first choice. - - if($activity === ACTIVITY_ATTEND || $activity === ACTIVITY_ATTENDNO || $activity === ACTIVITY_ATTENDMAYBE) { - $verbs = " '" . dbesc(ACTIVITY_ATTEND) . "','" . dbesc(ACTIVITY_ATTENDNO) . "','" . dbesc(ACTIVITY_ATTENDMAYBE) . "' "; + // we need to eradicate your first choice. + + if ($activity === ACTIVITY_ATTEND || $activity === ACTIVITY_ATTENDNO || $activity === ACTIVITY_ATTENDMAYBE) { + $verbs = " '" . dbesc(ACTIVITY_ATTEND) . "','" . dbesc(ACTIVITY_ATTENDNO) . "','" . dbesc(ACTIVITY_ATTENDMAYBE) . "' "; $multi_undo = 1; } - if($activity === ACTIVITY_AGREE || $activity === ACTIVITY_DISAGREE || $activity === ACTIVITY_ABSTAIN) { - $verbs = " '" . dbesc(ACTIVITY_AGREE) . "','" . dbesc(ACTIVITY_DISAGREE) . "','" . dbesc(ACTIVITY_ABSTAIN) . "' "; + if ($activity === ACTIVITY_AGREE || $activity === ACTIVITY_DISAGREE || $activity === ACTIVITY_ABSTAIN) { + $verbs = " '" . dbesc(ACTIVITY_AGREE) . "','" . dbesc(ACTIVITY_DISAGREE) . "','" . dbesc(ACTIVITY_ABSTAIN) . "' "; $multi_undo = true; } - + $item_normal = item_normal(); - + $r = q("SELECT id, parent, uid, verb FROM item WHERE verb in ( $verbs ) $item_normal AND author_xchan = '%s' AND thr_parent = '%s' and uid = %d ", dbesc($observer['xchan_hash']), dbesc($item['mid']), intval($owner_uid) ); - - if($r) { + + if ($r) { // already liked it. Drop that item. require_once('include/items.php'); - foreach($r as $rr) { - drop_item($rr['id'],false,DROPITEM_PHASE1); + foreach ($r as $rr) { + drop_item($rr['id'], false, DROPITEM_PHASE1); // set the changed timestamp on the parent so we'll see the update without a page reload - $z = q("update item set changed = '%s' where id = %d and uid = %d", + q("update item set changed = '%s' where id = %d and uid = %d", dbesc(datetime_convert()), intval($rr['parent']), intval($rr['uid']) ); - // Prior activity was a duplicate of the one we're submitting, just undo it; + // Prior activity was a duplicate of the one we're submitting, just undo it; // don't fall through and create another - if(activity_match($rr['verb'],$activity)) + if (activity_match($rr['verb'], $activity)) $multi_undo = false; - + // drop_item was not done interactively, so we need to invoke the notifier // in order to push the changes to connections - \Zotlabs\Daemon\Master::Summon(array('Notifier','drop',$rr['id'])); + Master::Summon(array('Notifier', 'drop', $rr['id'])); - } - - if($interactive) + + if ($interactive) return; - - if(! $multi_undo) { + + if (!$multi_undo) { $ret = self::like_response([ - 'item' => $item, - 'orig_item_id' => $item_id, - 'owner_xchan' => $thread_owner, - 'conv_mode' => $mode + 'item' => $item, + 'orig_item_id' => $item_id, + 'owner_xchan' => $thread_owner ]); json_return_and_die($ret); } - - } } - + $uuid = item_message_id(); - + $arr = array(); - - $arr['uuid'] = $uuid; - $arr['mid'] = z_root() . (($is_rsvp) ? '/activity/' : '/item/') . $uuid; - if($extended_like) { + $arr['uuid'] = $uuid; + $arr['mid'] = z_root() . (($is_rsvp) ? '/activity/' : '/item/') . $uuid; + + if ($extended_like) { $arr['item_thread_top'] = 1; - $arr['item_origin'] = 1; - $arr['item_wall'] = 1; + $arr['item_origin'] = 1; + $arr['item_wall'] = 1; } else { $post_type = (($item['resource_type'] === 'photo') ? t('photo') : t('status')); - if($item['obj_type'] === ACTIVITY_OBJ_EVENT) + if ($item['obj_type'] === ACTIVITY_OBJ_EVENT) $post_type = t('event'); - - $links = array(array('rel' => 'alternate','type' => 'text/html', 'href' => $item['plink'])); - $objtype = (($item['resource_type'] === 'photo') ? ACTIVITY_OBJ_PHOTO : ACTIVITY_OBJ_NOTE ); - if($objtype === ACTIVITY_OBJ_NOTE && (! intval($item['item_thread_top']))) + $objtype = (($item['resource_type'] === 'photo') ? ACTIVITY_OBJ_PHOTO : ACTIVITY_OBJ_NOTE); + + if ($objtype === ACTIVITY_OBJ_NOTE && (!intval($item['item_thread_top']))) $objtype = ACTIVITY_OBJ_COMMENT; - - $body = $item['body']; - - $object = json_encode(Activity::fetch_item( [ 'id' => $item['mid'] ])); + $object = json_encode(Activity::fetch_item(['id' => $item['mid']])); + + if (!intval($item['item_thread_top'])) + $post_type = 'comment'; - if(! intval($item['item_thread_top'])) - $post_type = 'comment'; - - $arr['item_origin'] = 1; + $arr['item_origin'] = 1; $arr['item_notshown'] = 1; - $arr['item_type'] = $item['item_type']; - - if(intval($item['item_wall'])) + $arr['item_type'] = $item['item_type']; + + if (intval($item['item_wall'])) $arr['item_wall'] = 1; - + // if this was a linked photo and was hidden, unhide it. - - if(intval($item['item_hidden'])) { + + if (intval($item['item_hidden'])) { $r = q("update item set item_hidden = 0 where id = %d", intval($item['id']) ); - } - + } + } - - if($verb === 'like') + + if ($verb === 'like') $bodyverb = t('%1$s likes %2$s\'s %3$s'); - if($verb === 'dislike') + if ($verb === 'dislike') $bodyverb = t('%1$s doesn\'t like %2$s\'s %3$s'); - if($verb === 'agree') + if ($verb === 'agree') $bodyverb = t('%1$s agrees with %2$s\'s %3$s'); - if($verb === 'disagree') + if ($verb === 'disagree') $bodyverb = t('%1$s doesn\'t agree with %2$s\'s %3$s'); - if($verb === 'abstain') + if ($verb === 'abstain') $bodyverb = t('%1$s abstains from a decision on %2$s\'s %3$s'); - if($verb === 'attendyes') + if ($verb === 'attendyes') $bodyverb = t('%1$s is attending %2$s\'s %3$s'); - if($verb === 'attendno') + if ($verb === 'attendno') $bodyverb = t('%1$s is not attending %2$s\'s %3$s'); - if($verb === 'attendmaybe') + if ($verb === 'attendmaybe') $bodyverb = t('%1$s may attend %2$s\'s %3$s'); - - if(! isset($bodyverb)) - killme(); - - - - if($extended_like) { - $ulink = '[zrl=' . $ch[0]['xchan_url'] . '][bdi]' . $ch[0]['xchan_name'] . '[/bdi][/zrl]'; - $alink = '[zrl=' . $observer['xchan_url'] . '][bdi]' . $observer['xchan_name'] . '[/bdi][/zrl]'; + + if (!isset($bodyverb)) + killme(); + + if ($extended_like) { + $ulink = '[zrl=' . $ch[0]['xchan_url'] . '][bdi]' . $ch[0]['xchan_name'] . '[/bdi][/zrl]'; + $alink = '[zrl=' . $observer['xchan_url'] . '][bdi]' . $observer['xchan_name'] . '[/bdi][/zrl]'; $private = (($public) ? 0 : 1); } else { - $arr['parent'] = $item['id']; - $arr['thr_parent'] = $item['mid']; - $ulink = '[zrl=' . $item_author['xchan_url'] . '][bdi]' . $item_author['xchan_name'] . '[/bdi][/zrl]'; - $alink = '[zrl=' . $observer['xchan_url'] . '][bdi]' . $observer['xchan_name'] . '[/bdi][/zrl]'; - $plink = '[zrl=' . z_root() . '/display/' . gen_link_id($item['mid']) . ']' . $post_type . '[/zrl]'; - $allow_cid = $item['allow_cid']; - $allow_gid = $item['allow_gid']; - $deny_cid = $item['deny_cid']; - $deny_gid = $item['deny_gid']; - $private = $item['private']; - + $arr['parent'] = $item['id']; + $arr['thr_parent'] = $item['mid']; + $ulink = '[zrl=' . $item_author['xchan_url'] . '][bdi]' . $item_author['xchan_name'] . '[/bdi][/zrl]'; + $alink = '[zrl=' . $observer['xchan_url'] . '][bdi]' . $observer['xchan_name'] . '[/bdi][/zrl]'; + $plink = '[zrl=' . z_root() . '/display/' . gen_link_id($item['mid']) . ']' . $post_type . '[/zrl]'; + $allow_cid = $item['allow_cid']; + $allow_gid = $item['allow_gid']; + $deny_cid = $item['deny_cid']; + $deny_gid = $item['deny_gid']; + $private = $item['private']; + } - - + $arr['aid'] = (($extended_like) ? $ch[0]['channel_account_id'] : $owner_aid); $arr['uid'] = $owner_uid; - - - $arr['item_flags'] = $item_flags; - $arr['item_wall'] = $item_wall; + $arr['item_flags'] = $item['item_flags']; + $arr['item_wall'] = $item['item_wall']; $arr['parent_mid'] = (($extended_like) ? $arr['mid'] : $item['mid']); $arr['owner_xchan'] = (($extended_like) ? $ch[0]['xchan_hash'] : $thread_owner['xchan_hash']); $arr['author_xchan'] = $observer['xchan_hash']; - - - $arr['body'] = sprintf( $bodyverb, $alink, $ulink, $plink ); - if($obj_type === 'thing' && $r[0]['imgurl']) { + $arr['body'] = sprintf($bodyverb, $alink, $ulink, $plink); + + if ($obj_type === 'thing' && $r[0]['imgurl']) { $arr['body'] .= "\n\n[zmg=80x80]" . $r[0]['imgurl'] . '[/zmg]'; - } - if($obj_type === 'profile') { - if($public) { - $arr['body'] .= "\n\n" . '[embed]' . z_root() . '/profile/' . $ch[0]['channel_address'] . '[/embed]'; + } + if ($obj_type === 'profile') { + if ($public) { + $arr['body'] .= "\n\n" . '[embed]' . z_root() . '/profile/' . $ch[0]['channel_address'] . '[/embed]'; } else $arr['body'] .= "\n\n[zmg=80x80]" . $profile['thumb'] . '[/zmg]'; - } - - - $arr['verb'] = $activity; - $arr['obj_type'] = $objtype; - $arr['obj'] = $object; - - if($target) { - $arr['tgt_type'] = $tgttype; - $arr['target'] = $target; } - - $arr['allow_cid'] = $allow_cid; - $arr['allow_gid'] = $allow_gid; - $arr['deny_cid'] = $deny_cid; - $arr['deny_gid'] = $deny_gid; - $arr['item_private'] = $private; - - call_hooks('post_local',$arr); - - $post = item_store($arr); + + $arr['verb'] = $activity; + $arr['obj_type'] = $objtype; + $arr['obj'] = $object; + + if ($target) { + $arr['tgt_type'] = $tgttype; + $arr['target'] = $target; + } + + $arr['allow_cid'] = $allow_cid; + $arr['allow_gid'] = $allow_gid; + $arr['deny_cid'] = $deny_cid; + $arr['deny_gid'] = $deny_gid; + $arr['item_private'] = $private; + + call_hooks('post_local', $arr); + + $post = item_store($arr); $post_id = $post['item_id']; // save the conversation from expiration - if(local_channel() && array_key_exists('item',$post) && (intval($post['item']['id']) != intval($post['item']['parent']))) - retain_item($post['item']['parent']); - + if (local_channel() && array_key_exists('item', $post) && (intval($post['item']['id']) != intval($post['item']['parent']))) + retain_item($post['item']['parent']); + $arr['id'] = $post_id; - + call_hooks('post_local_end', $arr); - - - if($extended_like) { + + if ($extended_like) { $r = q("insert into likes (channel_id,liker,likee,iid,i_mid,verb,target_type,target_id,target) values (%d,'%s','%s',%d,'%s','%s','%s','%s','%s')", intval($ch[0]['channel_id']), dbesc($observer['xchan_hash']), @@ -569,39 +563,38 @@ class Like extends \Zotlabs\Web\Controller { intval($post_id), dbesc($arr['mid']), dbesc($activity), - dbesc(($tgttype)? $tgttype : $objtype), + dbesc(($tgttype) ? $tgttype : $objtype), dbesc($obj_id), - dbesc(($target) ? $target : $object) + dbesc(($target) ? $target : $object) ); $r = q("select * from likes where liker = '%s' and likee = '%s' and i_mid = '%s' and verb = '%s' and target_type = '%s' and target_id = '%s' ", dbesc($observer['xchan_hash']), dbesc($ch[0]['channel_hash']), dbesc($arr['mid']), dbesc($activity), - dbesc(($tgttype)? $tgttype : $objtype), + dbesc(($tgttype) ? $tgttype : $objtype), dbesc($obj_id) ); - if($r) - Libsync::build_sync_packet($ch[0]['channel_id'],array('likes' => $r)); - + if ($r) + Libsync::build_sync_packet($ch[0]['channel_id'], array('likes' => $r)); + } - - \Zotlabs\Daemon\Master::Summon(array('Notifier','like',$post_id)); - - if($interactive) { - notice( t('Action completed.') . EOL); + + Master::Summon(array('Notifier', 'like', $post_id)); + + if ($interactive) { + notice(t('Action completed.') . EOL); $o .= t('Thank you.'); return $o; } $ret = self::like_response([ - 'item' => $item, - 'orig_item_id' => $item_id, - 'owner_xchan' => $thread_owner, - 'conv_mode' => $mode + 'item' => $item, + 'orig_item_id' => $item_id, + 'owner_xchan' => $thread_owner ]); json_return_and_die($ret); } - + } diff --git a/Zotlabs/Module/Network.php b/Zotlabs/Module/Network.php index 4a1692d64..84c2463d6 100644 --- a/Zotlabs/Module/Network.php +++ b/Zotlabs/Module/Network.php @@ -20,44 +20,44 @@ class Network extends \Zotlabs\Web\Controller { return; } - if(in_array(substr($_GET['search'],0,1),[ '@', '!', '?'])) + if(in_array(substr($_GET['search'],0,1),[ '@', '!', '?']) || strpos($_GET['search'], 'https://') === 0) goaway('search' . '?f=&search=' . $_GET['search']); - + if(count($_GET) < 2) { $network_options = get_pconfig(local_channel(),'system','network_page_default'); if($network_options) goaway('network' . '?f=&' . $network_options); } - + $channel = App::get_channel(); App::$profile_uid = local_channel(); head_set_icon($channel['xchan_photo_s']); - + } - + function get($update = 0, $load = false) { - + if(! local_channel()) { $_SESSION['return_url'] = App::$query_string; return login(false); } - + $o = ''; $arr = array('query' => App::$query_string); - + call_hooks('network_content_init', $arr); - + $channel = App::get_channel(); $item_normal = item_normal(); $item_normal_update = item_normal_update(); - + $datequery = $datequery2 = ''; - + $group = 0; - + $nouveau = false; - + $datequery = ((x($_GET,'dend') && is_a_date_arg($_GET['dend'])) ? notags($_GET['dend']) : ''); $datequery2 = ((x($_GET,'dbegin') && is_a_date_arg($_GET['dbegin'])) ? notags($_GET['dbegin']) : ''); $gid = ((x($_GET,'gid')) ? intval($_GET['gid']) : 0); @@ -87,13 +87,13 @@ class Network extends \Zotlabs\Web\Controller { $search = ''; } } - + if($datequery) $order = 'post'; - - + + // filter by collection (e.g. group) - + if($gid) { $r = q("SELECT * FROM pgrp WHERE id = %d AND uid = %d LIMIT 1", intval($gid), @@ -106,12 +106,12 @@ class Network extends \Zotlabs\Web\Controller { goaway(z_root() . '/network'); // NOTREACHED } - + $group = $gid; $group_hash = $r[0]['hash']; $def_acl = array('allow_gid' => '<' . $r[0]['hash'] . '>'); } - + $default_cmin = ((Apps::system_app_installed(local_channel(),'Affinity Tool')) ? get_pconfig(local_channel(),'affinity','cmin',0) : (-1)); $default_cmax = ((Apps::system_app_installed(local_channel(),'Affinity Tool')) ? get_pconfig(local_channel(),'affinity','cmax',99) : (-1)); @@ -127,7 +127,7 @@ class Network extends \Zotlabs\Web\Controller { $net = ((x($_GET,'net')) ? $_GET['net'] : ''); $pf = ((x($_GET,'pf')) ? $_GET['pf'] : ''); $unseen = ((x($_GET,'unseen')) ? $_GET['unseen'] : ''); - + if (Apps::system_app_installed(local_channel(),'Affinity Tool')) { $affinity_locked = intval(get_pconfig(local_channel(),'affinity','lock',1)); if ($affinity_locked) { @@ -155,16 +155,16 @@ class Network extends \Zotlabs\Web\Controller { } $def_acl = [ 'allow_cid' => '<' . $cid_r[0]['abook_xchan'] . '>', 'allow_gid' => '', 'deny_cid' => '', 'deny_gid' => '' ]; } - + if(! $update) { - + // search terms header if($search || $hashtags) { $o .= replace_macros(get_markup_template("section_title.tpl"),array( '$title' => t('Search Results For:') . ' ' . (($search) ? htmlspecialchars($search, ENT_COMPAT,'UTF-8') : '#' . htmlspecialchars($hashtags, ENT_COMPAT,'UTF-8')) )); } - + nav_set_selected('Network'); $bang = '!'; @@ -179,14 +179,14 @@ class Network extends \Zotlabs\Web\Controller { } $channel_acl = array( - 'allow_cid' => $channel['channel_allow_cid'], - 'allow_gid' => $channel['channel_allow_gid'], - 'deny_cid' => $channel['channel_deny_cid'], + 'allow_cid' => $channel['channel_allow_cid'], + 'allow_gid' => $channel['channel_allow_gid'], + 'deny_cid' => $channel['channel_deny_cid'], 'deny_gid' => $channel['channel_deny_gid'] ); $private_editing = (($group || $cid) ? true : false); - + $x = array( 'is_owner' => true, 'allow_location' => ((intval(get_pconfig($channel['channel_id'],'system','use_browser_location'))) ? '1' : ''), @@ -204,28 +204,28 @@ class Network extends \Zotlabs\Web\Controller { 'jotnets' => true, 'reset' => t('Reset form') ); - + $status_editor = status_editor($a,$x,false,'Network'); $o .= $status_editor; } - - + + // We don't have to deal with ACL's on this page. You're looking at everything // that belongs to you, hence you can see all of it. We will filter by group if // desired. - - + + $sql_options = (($star) ? " and item_starred = 1 " : ''); - + $sql_nets = ''; $item_thread_top = ' AND item_thread_top = 1 '; - + $sql_extra = ''; - + if($group) { $contact_str = ''; @@ -241,18 +241,18 @@ class Network extends \Zotlabs\Web\Controller { } $item_thread_top = ''; $sql_extra = " AND item.parent IN ( SELECT DISTINCT parent FROM item WHERE true $sql_options AND (( author_xchan IN ( $contact_str ) OR owner_xchan in ( $contact_str )) or allow_gid like '" . protect_sprintf('%<' . dbesc($group_hash) . '>%') . "' ) and id = parent $item_normal ) "; - + $x = group_rec_byhash(local_channel(), $group_hash); - + if($x) { $title = replace_macros(get_markup_template("section_title.tpl"),array( '$title' => t('Privacy group: ') . $x['gname'] )); } - + $o = $title; $o .= $status_editor; - + } elseif($cid_r) { $item_thread_top = ''; @@ -324,75 +324,26 @@ class Network extends \Zotlabs\Web\Controller { } } - + if(x($category)) { $sql_extra .= protect_sprintf(term_query('item', $category, TERM_CATEGORY)); } if(x($hashtags)) { $sql_extra .= protect_sprintf(term_query('item', $hashtags, TERM_HASHTAG, TERM_COMMUNITYTAG)); } - - if(! $update) { - // The special div is needed for liveUpdate to kick in for this page. - // We only launch liveUpdate if you aren't filtering in some incompatible - // way and also you aren't writing a comment (discovered in javascript). - $maxheight = get_pconfig(local_channel(),'system','network_divmore_height'); - if(! $maxheight) - $maxheight = 400; - - - $o .= '<div id="live-network"></div>' . "\r\n"; - $o .= "<script> var profile_uid = " . local_channel() - . "; var profile_page = " . App::$pager['page'] - . "; divmore_height = " . intval($maxheight) . "; </script>\r\n"; - - App::$page['htmlhead'] .= replace_macros(get_markup_template("build_query.tpl"),array( - '$baseurl' => z_root(), - '$pgtype' => 'network', - '$uid' => ((local_channel()) ? local_channel() : '0'), - '$gid' => (($gid) ? $gid : '0'), - '$cid' => (($cid) ? $cid : '0'), - '$cmin' => (($cmin) ? $cmin : '(-1)'), - '$cmax' => (($cmax) ? $cmax : '(-1)'), - '$star' => (($star) ? $star : '0'), - '$liked' => (($liked) ? $liked : '0'), - '$conv' => (($conv) ? $conv : '0'), - '$spam' => (($spam) ? $spam : '0'), - '$fh' => '0', - '$dm' => (($dm) ? $dm : '0'), - '$nouveau' => (($nouveau) ? $nouveau : '0'), - '$wall' => '0', - '$list' => ((x($_REQUEST,'list')) ? intval($_REQUEST['list']) : 0), - '$page' => ((App::$pager['page'] != 1) ? App::$pager['page'] : 1), - '$search' => (($search) ? urlencode($search) : ''), - '$xchan' => (($xchan) ? urlencode($xchan) : ''), - '$order' => $order, - '$file' => (($file) ? urlencode($file) : ''), - '$cats' => (($category) ? urlencode($category) : ''), - '$tags' => (($hashtags) ? urlencode($hashtags) : ''), - '$dend' => $datequery, - '$mid' => '', - '$verb' => (($verb) ? urlencode($verb) : ''), - '$net' => (($net) ? urlencode($net) : ''), - '$dbegin' => $datequery2, - '$pf' => (($pf) ? intval($pf) : 0), - '$unseen' => (($unseen) ? urlencode($unseen) : '') - )); - } - $sql_extra3 = ''; - + if($datequery) { $sql_extra3 .= protect_sprintf(sprintf(" AND item.created <= '%s' ", dbesc(datetime_convert(date_default_timezone_get(),'',$datequery)))); } if($datequery2) { $sql_extra3 .= protect_sprintf(sprintf(" AND item.created >= '%s' ", dbesc(datetime_convert(date_default_timezone_get(),'',$datequery2)))); } - + $sql_extra2 = (($nouveau) ? '' : " AND item.parent = item.id "); $sql_extra3 = (($nouveau) ? '' : $sql_extra3); - + if(x($_GET,'search')) { $search = escape_tags($_GET['search']); if(strpos($search,'#') === 0) { @@ -405,7 +356,7 @@ class Network extends \Zotlabs\Web\Controller { ); } } - + if ($verb) { // the presence of a leading dot in the verb determines @@ -425,7 +376,7 @@ class Network extends \Zotlabs\Web\Controller { ); } } - + if(strlen($file)) { $sql_extra .= term_query('item',$file,TERM_FILE); } @@ -433,52 +384,52 @@ class Network extends \Zotlabs\Web\Controller { if ($dm) { $sql_extra .= " AND item_private = 2 "; } - + if($conv) { $item_thread_top = ''; $sql_extra .= " AND ( author_xchan = '" . dbesc($channel['channel_hash']) . "' OR item_mentionsme = 1 ) "; } - + if($update && ! $load) { - + // only setup pagination on initial page view $pager_sql = ''; - + } else { $itemspage = get_pconfig(local_channel(),'system','itemspage'); App::set_pager_itemspage(((intval($itemspage)) ? $itemspage : 10)); $pager_sql = sprintf(" LIMIT %d OFFSET %d ", intval(App::$pager['itemspage']), intval(App::$pager['start'])); } - + // cmin and cmax are both -1 when the affinity tool is disabled if(($cmin != (-1)) || ($cmax != (-1))) { - + // Not everybody who shows up in the network stream will be in your address book. // By default those that aren't are assumed to have closeness = 99; but this isn't // recorded anywhere. So if cmax is 99, we'll open the search up to anybody in // the stream with a NULL address book entry. - + $sql_nets .= " AND "; - + if($cmax == 99) $sql_nets .= " ( "; - + $sql_nets .= "( abook.abook_closeness >= " . intval($cmin) . " "; $sql_nets .= " AND abook.abook_closeness <= " . intval($cmax) . " ) "; - + if($cmax == 99) $sql_nets .= " OR abook.abook_closeness IS NULL ) "; - + } - $net_query = (($net) ? " left join xchan on xchan_hash = author_xchan " : ''); + $net_query = (($net) ? " left join xchan on xchan_hash = author_xchan " : ''); $net_query2 = (($net) ? " and xchan_network = '" . protect_sprintf(dbesc($net)) . "' " : ''); $abook_uids = " and abook.abook_channel = " . local_channel() . " "; $uids = " and item.uid = " . local_channel() . " "; - + if(feature_enabled(local_channel(), 'network_list_mode')) $page_mode = 'list'; else @@ -504,7 +455,7 @@ class Network extends \Zotlabs\Web\Controller { if($nouveau && $load) { // "New Item View" - show all items unthreaded in reverse created date order - $items = q("SELECT item.*, item.id AS item_id, created FROM item + $items = q("SELECT item.*, item.id AS item_id, created FROM item left join abook on ( item.owner_xchan = abook.abook_xchan $abook_uids ) $net_query WHERE true $uids $item_normal @@ -517,23 +468,23 @@ class Network extends \Zotlabs\Web\Controller { $parents_str = ids_to_querystr($items,'item_id'); require_once('include/items.php'); - + xchan_query($items); - + $items = fetch_post_tags($items,true); } elseif($update) { - + // Normal conversation view - + if($order === 'post') $ordering = "created"; else $ordering = "commented"; - + if($load) { // Fetch a page full of parent items for this page - $r = q("SELECT item.parent AS item_id FROM item + $r = q("SELECT item.parent AS item_id FROM item left join abook on ( item.owner_xchan = abook.abook_xchan $abook_uids ) $net_query WHERE true $uids $item_thread_top $item_normal @@ -557,18 +508,18 @@ class Network extends \Zotlabs\Web\Controller { } // Then fetch all the children of the parents that are on this page - + if($r) { - + $parents_str = ids_to_querystr($r,'item_id'); - + $items = q("SELECT item.*, item.id AS item_id FROM item WHERE true $uids $item_normal AND item.parent IN ( %s ) $sql_extra ", dbesc($parents_str) ); - + xchan_query($items,true); $items = fetch_post_tags($items,true); $items = conv_sort($items,$ordering); @@ -578,20 +529,70 @@ class Network extends \Zotlabs\Web\Controller { } } - + $mode = (($nouveau) ? 'network-new' : 'network'); if($search) $mode = 'search'; - + + if(! $update) { + // The special div is needed for liveUpdate to kick in for this page. + // We only launch liveUpdate if you aren't filtering in some incompatible + // way and also you aren't writing a comment (discovered in javascript). + + $maxheight = get_pconfig(local_channel(),'system','network_divmore_height'); + if(! $maxheight) + $maxheight = 400; + + + $o .= '<div id="live-network"></div>' . "\r\n"; + $o .= "<script> var profile_uid = " . local_channel() + . "; var profile_page = " . App::$pager['page'] + . "; divmore_height = " . intval($maxheight) . "; </script>\r\n"; + + App::$page['htmlhead'] .= replace_macros(get_markup_template("build_query.tpl"),array( + '$baseurl' => z_root(), + '$pgtype' => 'network', + '$uid' => ((local_channel()) ? local_channel() : '0'), + '$gid' => (($gid) ? $gid : '0'), + '$cid' => (($cid) ? $cid : '0'), + '$cmin' => (($cmin) ? $cmin : '(-1)'), + '$cmax' => (($cmax) ? $cmax : '(-1)'), + '$star' => (($star) ? $star : '0'), + '$liked' => (($liked) ? $liked : '0'), + '$conv' => (($conv) ? $conv : '0'), + '$spam' => (($spam) ? $spam : '0'), + '$fh' => '0', + '$dm' => (($dm) ? $dm : '0'), + '$nouveau' => (($nouveau) ? $nouveau : '0'), + '$wall' => '0', + '$list' => ((x($_REQUEST,'list')) ? intval($_REQUEST['list']) : 0), + '$page' => ((App::$pager['page'] != 1) ? App::$pager['page'] : 1), + '$search' => (($search) ? urlencode($search) : ''), + '$xchan' => (($xchan) ? urlencode($xchan) : ''), + '$order' => $order, + '$file' => (($file) ? urlencode($file) : ''), + '$cats' => (($category) ? urlencode($category) : ''), + '$tags' => (($hashtags) ? urlencode($hashtags) : ''), + '$dend' => $datequery, + '$mid' => '', + '$verb' => (($verb) ? urlencode($verb) : ''), + '$net' => (($net) ? urlencode($net) : ''), + '$dbegin' => $datequery2, + '$pf' => (($pf) ? intval($pf) : 0), + '$unseen' => (($unseen) ? urlencode($unseen) : ''), + '$page_mode' => $page_mode + )); + } + $o .= conversation($items,$mode,$update,$page_mode); - + if(($items) && (! $update)) $o .= alt_pager(count($items)); $_SESSION['loadtime'] = datetime_convert(); - + return $o; } - + } diff --git a/Zotlabs/Module/Notifications.php b/Zotlabs/Module/Notifications.php index 1762ad5f6..55268e0a2 100644 --- a/Zotlabs/Module/Notifications.php +++ b/Zotlabs/Module/Notifications.php @@ -19,7 +19,7 @@ class Notifications extends \Zotlabs\Web\Controller { $r = q("select count(*) as total from notify where uid = %d and seen = 0", intval(local_channel()) ); - if($r && intval($t[0]['total']) > 49) { + if($r && intval($r[0]['total']) > 49) { $r = q("select * from notify where uid = %d and seen = 0 order by created desc limit 50", intval(local_channel()) @@ -32,7 +32,7 @@ class Notifications extends \Zotlabs\Web\Controller { $r2 = q("select * from notify where uid = %d and seen = 1 order by created desc limit %d", intval(local_channel()), - intval(50 - intval($t[0]['total'])) + intval(50 - intval($r[0]['total'])) ); $r = array_merge($r1,$r2); } @@ -41,7 +41,7 @@ class Notifications extends \Zotlabs\Web\Controller { $notifications_available = 1; foreach ($r as $rr) { $x = strip_tags(bbcode($rr['msg'])); - $notif_content .= replace_macros(get_markup_template('notify.tpl'),array( + $notif_content = replace_macros(get_markup_template('notify.tpl'),array( '$item_link' => z_root().'/notify/view/'. $rr['id'], '$item_image' => $rr['photo'], '$item_text' => $x, @@ -52,7 +52,7 @@ class Notifications extends \Zotlabs\Web\Controller { } } else { - $notif_content .= t('No more system notifications.'); + $notif_content = t('No more system notifications.'); } $o .= replace_macros(get_markup_template('notifications.tpl'),array( diff --git a/Zotlabs/Module/Owa.php b/Zotlabs/Module/Owa.php index d6aeb8af5..9a3513f34 100644 --- a/Zotlabs/Module/Owa.php +++ b/Zotlabs/Module/Owa.php @@ -39,7 +39,7 @@ class Owa extends Controller { $found = discover_by_webbie(str_replace('acct:','',$keyId)); if ($found) { $r = q("SELECT * FROM hubloc LEFT JOIN xchan ON hubloc_hash = xchan_hash - WHERE OR hubloc_id_url = '%s'", + WHERE hubloc_id_url = '%s'", dbesc($keyId) ); } diff --git a/Zotlabs/Module/Photo.php b/Zotlabs/Module/Photo.php index 814705a85..ee360dac5 100644 --- a/Zotlabs/Module/Photo.php +++ b/Zotlabs/Module/Photo.php @@ -147,7 +147,7 @@ class Photo extends \Zotlabs\Web\Controller { ); if($r) { $allowed = (-1); - + $filename = $r[0]['filename']; $u = intval($r[0]['photo_usage']); if($u) { $allowed = 1; @@ -194,9 +194,9 @@ class Photo extends \Zotlabs\Web\Controller { $mimetype = $e[0]['mimetype']; $modified = strtotime($e[0]['edited'] . 'Z'); - if(intval($e[0]['os_storage'])) { + if(intval($e[0]['os_storage'])) $streaming = $data; - } + if($e[0]['allow_cid'] != '' || $e[0]['allow_gid'] != '' || $e[0]['deny_gid'] != '' || $e[0]['deny_gid'] != '') $prvcachecontrol = 'no-store, no-cache, must-revalidate'; } @@ -282,7 +282,7 @@ class Photo extends \Zotlabs\Web\Controller { header("Content-Length: " . (isset($filesize) ? $filesize : strlen($data))); // If it's a file resource, stream it. - if($streaming && $channel) { + if($streaming) { if(strpos($streaming,'store') !== false) $istream = fopen($streaming,'rb'); else diff --git a/Zotlabs/Module/Photos.php b/Zotlabs/Module/Photos.php index fa9216c97..099289c03 100644 --- a/Zotlabs/Module/Photos.php +++ b/Zotlabs/Module/Photos.php @@ -16,66 +16,66 @@ require_once('include/text.php'); class Photos extends \Zotlabs\Web\Controller { function init() { - + if(observer_prohibited()) { return; } - + if(argc() > 1) { $nick = argv(1); - + profile_load($nick); - + $channelx = channelx_by_nick($nick); - + if(! $channelx) return; - + \App::$data['channel'] = $channelx; - + $observer = \App::get_observer(); \App::$data['observer'] = $observer; - + $observer_xchan = (($observer) ? $observer['xchan_hash'] : ''); - + head_set_icon(\App::$data['channel']['xchan_photo_s']); - + \App::$page['htmlhead'] .= "<script> var profile_uid = " . ((\App::$data['channel']) ? \App::$data['channel']['channel_id'] : 0) . "; </script>" ; - + } - + return; } - - - + + + function post() { - + logger('mod-photos: photos_post: begin' , LOGGER_DEBUG); - + logger('mod_photos: REQUEST ' . print_r($_REQUEST,true), LOGGER_DATA); logger('mod_photos: FILES ' . print_r($_FILES,true), LOGGER_DATA); - + $ph = photo_factory(''); - + $phototypes = $ph->supportedTypes(); - + $can_post = false; - + $page_owner_uid = \App::$data['channel']['channel_id']; - + if(perm_is_allowed($page_owner_uid,get_observer_hash(),'write_storage')) $can_post = true; - + if(! $can_post) { notice( t('Permission denied.') . EOL ); if(is_ajax()) killme(); return; } - + $s = abook_self($page_owner_uid); - + if(! $s) { notice( t('Page owner information could not be retrieved.') . EOL); logger('mod_photos: post: unable to locate contact record for page owner. uid=' . $page_owner_uid); @@ -83,30 +83,30 @@ class Photos extends \Zotlabs\Web\Controller { killme(); return; } - - $owner_record = $s[0]; - + + $owner_record = $s[0]; + $acl = new \Zotlabs\Access\AccessList(\App::$data['channel']); - + if((argc() > 3) && (argv(2) === 'album')) { - + $album = argv(3); if(! photos_album_exists($page_owner_uid, get_observer_hash(), $album)) { notice( t('Album not found.') . EOL); goaway(z_root() . '/' . $_SESSION['photo_return']); } - - + + /* * DELETE photo album and all its photos */ - + if($_REQUEST['dropalbum'] == t('Delete Album')) { - - + + $folder_hash = ''; - + $r = q("select * from attach where is_dir = 1 and uid = %d and hash = '%s'", intval($page_owner_uid), dbesc($album) @@ -116,13 +116,13 @@ class Photos extends \Zotlabs\Web\Controller { return; } $folder_hash = $r[0]['hash']; - - + + $res = array(); $admin_delete = false; // get the list of photos we are about to delete - + if(remote_channel() && (! local_channel())) { $str = photos_album_get_db_idstr($page_owner_uid,$album,remote_channel()); } @@ -139,7 +139,7 @@ class Photos extends \Zotlabs\Web\Controller { if(! $str) { goaway(z_root() . '/' . $_SESSION['photo_return']); } - + $r = q("select id from item where resource_id in ( $str ) and resource_type = 'photo' and uid = %d " . item_normal(), intval($page_owner_uid) ); @@ -148,34 +148,34 @@ class Photos extends \Zotlabs\Web\Controller { attach_delete($page_owner_uid, $i['resource_id'], true ); } } - + // remove the associated photos in case they weren't attached to an item - + q("delete from photo where resource_id in ( $str ) and uid = %d", intval($page_owner_uid) ); - + // @FIXME do the same for the linked attach - + if($folder_hash) { attach_delete($page_owner_uid, $folder_hash, true ); - if(! $admin_delete) { + if(! $admin_delete) { $sync = attach_export_data(\App::$data['channel'],$folder_hash, true); - - if($sync) + + if($sync) Libsync::build_sync_packet($page_owner_uid,array('file' => array($sync))); } } - + } - + goaway(z_root() . '/photos/' . \App::$data['channel']['channel_address']); } - + if((argc() > 2) && (x($_REQUEST,'delete')) && ($_REQUEST['delete'] === t('Delete Photo'))) { // same as above but remove single photo - + $ob_hash = get_observer_hash(); if(! $ob_hash) goaway(z_root() . '/' . $_SESSION['photo_return']); @@ -185,18 +185,18 @@ class Photos extends \Zotlabs\Web\Controller { intval(local_channel()), dbesc(argv(2)) ); - + if($r) { attach_delete($page_owner_uid, $r[0]['resource_id'], true ); $sync = attach_export_data(\App::$data['channel'],$r[0]['resource_id'], true); - - if($sync) + + if($sync) Libsync::build_sync_packet($page_owner_uid,array('file' => array($sync))); } elseif(is_site_admin()) { // If the admin deletes a photo, don't sync attach_delete($page_owner_uid, argv(2), true); - } + } goaway(z_root() . '/photos/' . \App::$data['channel']['channel_address'] . '/album/' . $_SESSION['album_return']); @@ -208,10 +208,10 @@ class Photos extends \Zotlabs\Web\Controller { intval($page_owner_uid) ); if(($m) && ($m[0]['folder'] != $_POST['move_to_album'])) { - attach_move($page_owner_uid,argv(2),$_POST['move_to_album']); + attach_move($page_owner_uid,argv(2),$_POST['move_to_album']); $sync = attach_export_data(\App::$data['channel'], argv(2), false); - if($sync) + if($sync) Libsync::build_sync_packet($page_owner_uid,array('file' => array($sync))); if(! ($_POST['desc'] && $_POST['newtag'])) @@ -220,28 +220,28 @@ class Photos extends \Zotlabs\Web\Controller { } if((argc() > 2) && ((x($_POST,'desc') !== false) || (x($_POST,'newtag') !== false))) { - + $desc = ((x($_POST,'desc')) ? notags(trim($_POST['desc'])) : ''); $rawtags = ((x($_POST,'newtag')) ? notags(trim($_POST['newtag'])) : ''); $item_id = ((x($_POST,'item_id')) ? intval($_POST['item_id']) : 0); $is_nsfw = ((x($_POST,'adult')) ? intval($_POST['adult']) : 0); - + $acl->set_from_array($_POST); $perm = $acl->get(); - + $resource_id = argv(2); - - if((x($_POST,'rotate') !== false) && + + if((x($_POST,'rotate') !== false) && ( (intval($_POST['rotate']) == 1) || (intval($_POST['rotate']) == 2) )) { logger('rotate'); - + $r = q("select * from photo where resource_id = '%s' and uid = %d and imgscale = 0 limit 1", dbesc($resource_id), intval($page_owner_uid) ); if(count($r)) { - + $ph = photo_factory(@file_get_contents(dbunescbin($r[0]['content'])), $r[0]['mimetype']); if($ph->is_valid()) { $rotate_deg = ( (intval($_POST['rotate']) == 1) ? 270 : 90 ); @@ -255,12 +255,12 @@ class Photos extends \Zotlabs\Web\Controller { dbesc($resource_id), intval($page_owner_uid) ); - + $ph->saveImage(dbunescbin($r[0]['content'])); - - $arr = [ + + $arr = [ 'aid' => get_account_id(), - 'uid' => intval($page_owner_uid), + 'uid' => intval($page_owner_uid), 'resource_id' => dbesc($resource_id), 'filename' => $r[0]['filename'], 'imgscale' => 0, @@ -277,28 +277,31 @@ class Photos extends \Zotlabs\Web\Controller { unset($arr['os_syspath']); - if($width > 1024 || $height > 1024) + $width = $r[0]['width']; + $height = $r[0]['height']; + + if($width > 1024 || $height > 1024) $ph->scaleImage(1024); $ph->storeThumbnail($arr, PHOTO_RES_1024); - if($width > 640 || $height > 640) + if($width > 640 || $height > 640) $ph->scaleImage(640); $ph->storeThumbnail($arr, PHOTO_RES_640); - if($width > 320 || $height > 320) + if($width > 320 || $height > 320) $ph->scaleImage(320); $ph->storeThumbnail($arr, PHOTO_RES_320); } } } - + $p = q("SELECT mimetype, is_nsfw, description, resource_id, imgscale, allow_cid, allow_gid, deny_cid, deny_gid FROM photo WHERE resource_id = '%s' AND uid = %d ORDER BY imgscale DESC", dbesc($resource_id), intval($page_owner_uid) ); if($p) { $ext = $phototypes[$p[0]['mimetype']]; - + $r = q("UPDATE photo SET description = '%s', allow_cid = '%s', allow_gid = '%s', deny_cid = '%s', deny_gid = '%s' WHERE resource_id = '%s' AND uid = %d", dbesc($desc), dbesc($perm['allow_cid']), @@ -309,9 +312,7 @@ class Photos extends \Zotlabs\Web\Controller { intval($page_owner_uid) ); } - - $item_private = (($str_contact_allow || $str_group_allow || $str_contact_deny || $str_group_deny) ? true : false); - + $old_is_nsfw = $p[0]['is_nsfw']; if($old_is_nsfw != $is_nsfw) { $r = q("update photo set is_nsfw = %d where resource_id = '%s' and uid = %d", @@ -320,31 +321,31 @@ class Photos extends \Zotlabs\Web\Controller { intval($page_owner_uid) ); } - + /* Don't make the item visible if the only change was the album name */ - + $visibility = 0; if($p[0]['description'] !== $desc || strlen($rawtags)) $visibility = 1; - + if(! $item_id) { $item_id = photos_create_item(\App::$data['channel'],get_observer_hash(),$p[0],$visibility); - + } - + if($item_id) { $r = q("SELECT * FROM item WHERE id = %d AND uid = %d LIMIT 1", intval($item_id), intval($page_owner_uid) ); - + if($r) { $old_tag = $r[0]['tag']; $old_inform = $r[0]['inform']; } } - - + + // make sure the linked item has the same permissions as the photo regardless of any other changes $x = q("update item set allow_cid = '%s', allow_gid = '%s', deny_cid = '%s', deny_gid = '%s', item_private = %d where id = %d", @@ -355,7 +356,7 @@ class Photos extends \Zotlabs\Web\Controller { intval($acl->is_private()), intval($item_id) ); - + // make sure the attach has the same permissions as the photo regardless of any other changes $x = q("update attach set allow_cid = '%s', allow_gid = '%s', deny_cid = '%s', deny_gid = '%s' where hash = '%s' and uid = %d and is_photo = 1", dbesc($perm['allow_cid']), @@ -365,46 +366,46 @@ class Photos extends \Zotlabs\Web\Controller { dbesc($resource_id), intval($page_owner_uid) ); - - - + + + if(strlen($rawtags)) { - + $str_tags = ''; $inform = ''; - + // if the new tag doesn't have a namespace specifier (@foo or #foo) give it a mention - + $x = substr($rawtags,0,1); if($x !== '@' && $x !== '#') $rawtags = '@' . $rawtags; - + require_once('include/text.php'); $profile_uid = \App::$profile['profile_uid']; - + $results = linkify_tags($rawtags, (local_channel()) ? local_channel() : $profile_uid); - + $success = $results['success']; $post_tags = array(); - + foreach($results as $result) { $success = $result['success']; if($success['replaced']) { $post_tags[] = array( - 'uid' => $profile_uid, + 'uid' => $profile_uid, 'ttype' => $success['termtype'], 'otype' => TERM_OBJ_POST, 'term' => $success['term'], 'url' => $success['url'] - ); + ); } } - + $r = q("select * from item where id = %d and uid = %d limit 1", intval($item_id), intval($page_owner_uid) ); - + if($r) { $r = fetch_post_tags($r,true); $datarray = $r[0]; @@ -412,42 +413,42 @@ class Photos extends \Zotlabs\Web\Controller { if((! array_key_exists('term',$datarray)) || (! is_array($datarray['term']))) $datarray['term'] = $post_tags; else - $datarray['term'] = array_merge($datarray['term'],$post_tags); + $datarray['term'] = array_merge($datarray['term'],$post_tags); } item_store_update($datarray,$execflag); } - + } $sync = attach_export_data(\App::$data['channel'],$resource_id); - - if($sync) + + if($sync) Libsync::build_sync_packet($page_owner_uid,array('file' => array($sync))); - + goaway(z_root() . '/' . $_SESSION['photo_return']); return; // NOTREACHED - - + + } - - + + /** * default post action - upload a photo */ - + $channel = \App::$data['channel']; $observer = \App::$data['observer']; - + $_REQUEST['source'] = 'photos'; require_once('include/attach.php'); - + if(! local_channel()) { $_REQUEST['contact_allow'] = expand_acl($channel['channel_allow_cid']); $_REQUEST['group_allow'] = expand_acl($channel['channel_allow_gid']); $_REQUEST['contact_deny'] = expand_acl($channel['channel_deny_cid']); $_REQUEST['group_deny'] = expand_acl($channel['channel_deny_gid']); } - + $matches = []; $partial = false; @@ -467,7 +468,7 @@ class Photos extends \Zotlabs\Web\Controller { if($x['partial']) { header('Range: bytes=0-' . (($x['length']) ? $x['length'] - 1 : 0)); - json_return_and_die($result); + json_return_and_die($x); } else { header('Range: bytes=0-' . (($x['size']) ? $x['size'] - 1 : 0)); @@ -481,7 +482,7 @@ class Photos extends \Zotlabs\Web\Controller { ]; } } - else { + else { if(! array_key_exists('userfile',$_FILES)) { $_FILES['userfile'] = [ 'name' => $_FILES['files']['name'], @@ -494,53 +495,53 @@ class Photos extends \Zotlabs\Web\Controller { } $r = attach_store($channel,get_observer_hash(), '', $_REQUEST); - + if(! $r['success']) { notice($r['message'] . EOL); goaway(z_root() . '/photos/' . \App::$data['channel']['channel_address']); - } + } goaway(z_root() . '/photos/' . \App::$data['channel']['channel_address'] . '/album/' . $r['data']['folder']); - + } - - - + + + function get() { - + // URLs: // photos/name // photos/name/album/xxxxx (xxxxx is album name) // photos/name/image/xxxxx - - + + if(observer_prohibited()) { notice( t('Public access denied.') . EOL); return; } - + $unsafe = ((array_key_exists('unsafe',$_REQUEST) && $_REQUEST['unsafe']) ? 1 : 0); - + require_once('include/bbcode.php'); require_once('include/security.php'); require_once('include/conversation.php'); - + if(! x(\App::$data,'channel')) { notice( t('No photos selected') . EOL ); return; } - + $ph = photo_factory(''); $phototypes = $ph->supportedTypes(); - + $_SESSION['photo_return'] = \App::$cmd; - + // - // Parse arguments + // Parse arguments // - + $can_comment = perm_is_allowed(\App::$profile['profile_uid'],get_observer_hash(),'post_comments'); - + if(argc() > 3) { $datatype = argv(2); $datum = argv(3); @@ -552,70 +553,70 @@ class Photos extends \Zotlabs\Web\Controller { else $datatype = 'summary'; } - + if(argc() > 4) $cmd = argv(4); else $cmd = 'view'; - + // // Setup permissions structures // - + $can_post = false; $visitor = 0; - - + + $owner_uid = \App::$data['channel']['channel_id']; $owner_aid = \App::$data['channel']['channel_account_id']; - + $observer = \App::get_observer(); - + $can_post = perm_is_allowed($owner_uid,$observer['xchan_hash'],'write_storage'); $can_view = perm_is_allowed($owner_uid,$observer['xchan_hash'],'view_storage'); - + if(! $can_view) { notice( t('Access to this item is restricted.') . EOL); return; } - + $sql_item = item_permissions_sql($owner_uid,get_observer_hash()); $sql_extra = permissions_sql($owner_uid,get_observer_hash(),'photo'); $sql_attach = permissions_sql($owner_uid,get_observer_hash(),'attach'); nav_set_selected('Photos'); - + $o = '<script src="vendor/blueimp/jquery-file-upload/js/vendor/jquery.ui.widget.js"></script> <script src="vendor/blueimp/jquery-file-upload/js/jquery.iframe-transport.js"></script> <script src="vendor/blueimp/jquery-file-upload/js/jquery.fileupload.js"></script>'; - $o .= "<script> var profile_uid = " . \App::$profile['profile_uid'] + $o .= "<script> var profile_uid = " . \App::$profile['profile_uid'] . "; var netargs = '?f='; var profile_page = " . \App::$pager['page'] . "; </script>\r\n"; - + $_is_owner = (local_channel() && (local_channel() == $owner_uid)); - + /** * Display upload form */ - + if( $can_post) { - + $uploader = ''; - + $ret = array('post_url' => z_root() . '/photos/' . \App::$data['channel']['channel_address'], 'addon_text' => $uploader, 'default_upload' => true); - + call_hooks('photo_upload_form',$ret); - + /* Show space usage */ - + $r = q("select sum(filesize) as total from photo where aid = %d and imgscale = 0 ", intval(\App::$data['channel']['channel_account_id']) ); - - + + $limit = engr_units_to_bytes(service_class_fetch(\App::$data['channel']['channel_id'],'photo_upload_limit')); if($limit !== false) { $usage_message = sprintf( t("%1$.2f MB of %2$.2f MB photo storage used."), $r[0]['total'] / 1024000, $limit / 1024000 ); @@ -623,22 +624,22 @@ class Photos extends \Zotlabs\Web\Controller { else { $usage_message = sprintf( t('%1$.2f MB photo storage used.'), $r[0]['total'] / 1024000 ); } - + if($_is_owner) { $channel = \App::get_channel(); - + $acl = new \Zotlabs\Access\AccessList($channel); $channel_acl = $acl->get(); - + $lockstate = (($acl->is_private()) ? 'lock' : 'unlock'); } - + $aclselect = (($_is_owner) ? populate_acl($channel_acl,false, \Zotlabs\Lib\PermissionDescription::fromGlobalPermission('view_storage')) : ''); - + // this is wrong but is to work around an issue with js_upload wherein it chokes if these variables - // don't exist. They really should be set to a parseable representation of the channel's default permissions - // which can be processed by getSelected() - + // don't exist. They really should be set to a parseable representation of the channel's default permissions + // which can be processed by getSelected() + if(! $aclselect) { $aclselect = '<input id="group_allow" type="hidden" name="allow_gid[]" value="" /><input id="contact_allow" type="hidden" name="allow_cid[]" value="" /><input id="group_deny" type="hidden" name="deny_gid[]" value="" /><input id="contact_deny" type="hidden" name="deny_cid[]" value="" />'; } @@ -648,11 +649,11 @@ class Photos extends \Zotlabs\Web\Controller { if($datum) { $h = attach_by_hash_nodata($datum,get_observer_hash()); $selname = $h['data']['display_path']; - } + } + - $albums = ((array_key_exists('albums', \App::$data)) ? \App::$data['albums'] : photos_albums_list(\App::$data['channel'],\App::$data['observer'])); - + if(! $selname) { $def_album = get_pconfig(\App::$data['channel']['channel_id'],'system','photo_path'); if($def_album) { @@ -660,7 +661,7 @@ class Photos extends \Zotlabs\Web\Controller { $albums['album'][] = array('text' => $selname); } } - + $tpl = get_markup_template('photos_upload.tpl'); $upload_form = replace_macros($tpl,array( '$pagename' => t('Upload Photos'), @@ -685,22 +686,22 @@ class Photos extends \Zotlabs\Web\Controller { '$default' => (($ret['default_upload']) ? true : false), '$uploadurl' => $ret['post_url'], '$submit' => t('Upload') - + )); - + } - + // // dispatch request // - + /* * Display a single photo album */ - + if($datatype === 'album') { - head_add_link([ + head_add_link([ 'rel' => 'alternate', 'type' => 'application/json+oembed', 'href' => z_root() . '/oep?f=&url=' . urlencode(z_root() . '/' . \App::$query_string), @@ -710,7 +711,7 @@ class Photos extends \Zotlabs\Web\Controller { if($x = photos_album_exists($owner_uid, get_observer_hash(), $datum)) { \App::set_pager_itemspage(30); $album = $x['display_path']; - } + } else { goaway(z_root() . '/photos/' . \App::$data['channel']['channel_address']); } @@ -721,7 +722,7 @@ class Photos extends \Zotlabs\Web\Controller { $order = 'DESC'; $r = q("SELECT p.resource_id, p.id, p.filename, p.mimetype, p.imgscale, p.description, p.created FROM photo p INNER JOIN - (SELECT resource_id, max(imgscale) imgscale FROM photo left join attach on folder = '%s' and photo.resource_id = attach.hash WHERE attach.uid = %d AND imgscale <= 4 AND photo_usage IN ( %d, %d ) and is_nsfw = %d $sql_extra GROUP BY resource_id) ph + (SELECT resource_id, max(imgscale) imgscale FROM photo left join attach on folder = '%s' and photo.resource_id = attach.hash WHERE attach.uid = %d AND imgscale <= 4 AND photo_usage IN ( %d, %d ) and is_nsfw = %d $sql_extra GROUP BY resource_id) ph ON (p.resource_id = ph.resource_id AND p.imgscale = ph.imgscale) ORDER BY created $order LIMIT %d OFFSET %d", dbesc($x['hash']), @@ -739,9 +740,9 @@ class Photos extends \Zotlabs\Web\Controller { if($can_post) { $album_e = $album; $albums = ((array_key_exists('albums', \App::$data)) ? \App::$data['albums'] : photos_albums_list(\App::$data['channel'],\App::$data['observer'])); - + // @fixme - syncronise actions with DAV - + // $edit_tpl = get_markup_template('album_edit.tpl'); // $album_edit = replace_macros($edit_tpl,array( // '$nametext' => t('Enter a new album name'), @@ -753,32 +754,32 @@ class Photos extends \Zotlabs\Web\Controller { // '$submit' => t('Submit'), // '$dropsubmit' => t('Delete Album') // )); - + } - + if($_GET['order'] === 'posted') $order = array(t('Show Newest First'), z_root() . '/photos/' . \App::$data['channel']['channel_address'] . '/album/' . $datum); else $order = array(t('Show Oldest First'), z_root() . '/photos/' . \App::$data['channel']['channel_address'] . '/album/' . $datum . '?f=&order=posted'); - + $photos = array(); if(count($r)) { $twist = 'rotright'; foreach($r as $rr) { - + if($twist == 'rotright') $twist = 'rotleft'; else $twist = 'rotright'; - + $ext = $phototypes[$rr['mimetype']]; - + $imgalt_e = $rr['filename']; $desc_e = $rr['description']; - + $imagelink = (z_root() . '/photos/' . \App::$data['channel']['channel_address'] . '/image/' . $rr['resource_id'] . (($_GET['order'] === 'posted') ? '?f=&order=posted' : '')); - + $photos[] = array( 'id' => $rr['id'], 'twist' => ' ' . $twist . rand(2,4), @@ -793,7 +794,7 @@ class Photos extends \Zotlabs\Web\Controller { ); } } - + if($_REQUEST['aj']) { if($photos) { $o = replace_macros(get_markup_template('photosajax.tpl'),array( @@ -821,71 +822,71 @@ class Photos extends \Zotlabs\Web\Controller { '$upload_form' => $upload_form, '$usage' => $usage_message )); - + } - + if((! $photos) && ($_REQUEST['aj'])) { $o .= '<div id="content-complete"></div>'; echo $o; killme(); } - + return $o; - - } - - /** + + } + + /** * Display one photo */ - + if($datatype === 'image') { - + \App::$page['htmlhead'] .= "\r\n" . '<link rel="alternate" type="application/json+oembed" href="' . z_root() . '/oep?f=&url=' . urlencode(z_root() . '/' . \App::$cmd) . '" title="oembed" />' . "\r\n"; - + $x = q("select folder from attach where hash = '%s' and uid = %d $sql_attach limit 1", dbesc($datum), intval($owner_uid) ); // fetch image, item containing image, then comments - - $ph = q("SELECT id,aid,uid,xchan,resource_id,created,edited,title,description,album,filename,mimetype,height,width,filesize,imgscale,photo_usage,is_nsfw,allow_cid,allow_gid,deny_cid,deny_gid FROM photo WHERE uid = %d AND resource_id = '%s' + + $ph = q("SELECT id,aid,uid,xchan,resource_id,created,edited,title,description,album,filename,mimetype,height,width,filesize,imgscale,photo_usage,is_nsfw,allow_cid,allow_gid,deny_cid,deny_gid FROM photo WHERE uid = %d AND resource_id = '%s' $sql_extra ORDER BY imgscale ASC ", intval($owner_uid), dbesc($datum) ); - + if(! ($ph && $x)) { - + /* Check again - this time without specifying permissions */ - + $ph = q("SELECT id FROM photo WHERE uid = %d AND resource_id = '%s' LIMIT 1", intval($owner_uid), dbesc($datum) ); - if($ph) + if($ph) notice( t('Permission denied. Access to this item may be restricted.') . EOL); else notice( t('Photo not available') . EOL ); return; } - - - + + + $prevlink = ''; $nextlink = ''; - + if($_GET['order'] === 'posted') $order = 'ASC'; else $order = 'DESC'; - + $prvnxt = q("SELECT hash FROM attach WHERE folder = '%s' AND uid = %d AND is_photo = 1 $sql_attach ORDER BY created $order ", dbesc($x[0]['folder']), intval($owner_uid) - ); + ); if(count($prvnxt)) { for($z = 0; $z < count($prvnxt); $z++) { @@ -899,12 +900,12 @@ class Photos extends \Zotlabs\Web\Controller { break; } } - + $prevlink = z_root() . '/photos/' . \App::$data['channel']['channel_address'] . '/image/' . $prvnxt[$prv]['hash'] . (($_GET['order'] === 'posted') ? '?f=&order=posted' : ''); $nextlink = z_root() . '/photos/' . \App::$data['channel']['channel_address'] . '/image/' . $prvnxt[$nxt]['hash'] . (($_GET['order'] === 'posted') ? '?f=&order=posted' : ''); } - - + + if(count($ph) == 1) $hires = $lores = $ph[0]; if(count($ph) > 1) { @@ -917,74 +918,74 @@ class Photos extends \Zotlabs\Web\Controller { $lores = $ph[1]; } } - + $album_link = z_root() . '/photos/' . \App::$data['channel']['channel_address'] . '/album/' . $x[0]['folder']; $tools = Null; $lock = Null; - + if($can_post && ($ph[0]['uid'] == $owner_uid)) { $tools = array( 'profile'=>array(z_root() . '/profile_photo/use/'.$ph[0]['resource_id'], t('Use as profile photo')), 'cover'=>array(z_root() . '/cover_photo/use/'.$ph[0]['resource_id'], t('Use as cover photo')), ); } - + // lockstate $lockstate = ( ( (strlen($ph[0]['allow_cid']) || strlen($ph[0]['allow_gid']) || strlen($ph[0]['deny_cid']) || strlen($ph[0]['deny_gid'])) ) ? array('lock', t('Private Photo')) : array('unlock', Null)); - + \App::$page['htmlhead'] .= '<script>$(document).keydown(function(event) {' . "\n"; if($prevlink) \App::$page['htmlhead'] .= 'if(event.ctrlKey && event.keyCode == 37) { event.preventDefault(); window.location.href = \'' . $prevlink . '\'; }' . "\n"; if($nextlink) \App::$page['htmlhead'] .= 'if(event.ctrlKey && event.keyCode == 39) { event.preventDefault(); window.location.href = \'' . $nextlink . '\'; }' . "\n"; \App::$page['htmlhead'] .= '});</script>'; - + if($prevlink) $prevlink = array($prevlink, t('Previous')); - + $photo = array( 'href' => z_root() . '/photo/' . $hires['resource_id'] . '-' . $hires['imgscale'] . '.' . $phototypes[$hires['mimetype']], 'title'=> t('View Full Size'), 'src' => z_root() . '/photo/' . $lores['resource_id'] . '-' . $lores['imgscale'] . '.' . $phototypes[$lores['mimetype']] ); - + if($nextlink) $nextlink = array($nextlink, t('Next')); - - + + // Do we have an item for this photo? - - $linked_items = q("SELECT * FROM item WHERE resource_id = '%s' and resource_type = 'photo' + + $linked_items = q("SELECT * FROM item WHERE resource_id = '%s' and resource_type = 'photo' $sql_item LIMIT 1", dbesc($datum) ); - + $map = null; - + if($linked_items) { - + xchan_query($linked_items); $linked_items = fetch_post_tags($linked_items,true); - + $link_item = $linked_items[0]; $item_normal = item_normal(); - - $r = q("select * from item where parent_mid = '%s' + + $r = q("select * from item where parent_mid = '%s' $item_normal and uid = %d $sql_item ", dbesc($link_item['mid']), intval($link_item['uid']) - + ); - + if($r) { xchan_query($r); $r = fetch_post_tags($r,true); $r = conv_sort($r,'commented'); } - + $tags = array(); if($link_item['term']) { $cnt = 0; @@ -997,23 +998,23 @@ class Photos extends \Zotlabs\Web\Controller { $cnt ++; } } - + if((local_channel()) && (local_channel() == $link_item['uid'])) { q("UPDATE item SET item_unseen = 0 WHERE parent = %d and uid = %d and item_unseen = 1", intval($link_item['parent']), intval(local_channel()) ); } - + if($link_item['coord']) { $map = generate_map($link_item['coord']); } } - + // logger('mod_photo: link_item' . print_r($link_item,true)); - - // FIXME - remove this when we move to conversation module - + + // FIXME - remove this when we move to conversation module + $r = $r[0]['children']; $edit = null; @@ -1023,11 +1024,11 @@ class Photos extends \Zotlabs\Web\Controller { $caption_e = $ph[0]['description']; $aclselect_e = (($_is_owner) ? populate_acl($ph[0], true, \Zotlabs\Lib\PermissionDescription::fromGlobalPermission('view_storage')) : ''); $albums = ((array_key_exists('albums', \App::$data)) ? \App::$data['albums'] : photos_albums_list(\App::$data['channel'],\App::$data['observer'])); - + $_SESSION['album_return'] = bin2hex($ph[0]['album']); $folder_list = attach_folder_select_list($ph[0]['uid']); - + $edit = [ 'edit' => t('Edit photo'), 'id' => $link_item['id'], @@ -1058,17 +1059,17 @@ class Photos extends \Zotlabs\Web\Controller { 'delete' => t('Delete Photo') ]; } - + if(count($linked_items)) { - + $cmnt_tpl = get_markup_template('comment_item.tpl'); $tpl = get_markup_template('photo_item.tpl'); $return_url = \App::$cmd; - + $like_tpl = get_markup_template('like_noshare.tpl'); - + $likebuttons = ''; - + if($observer && ($can_post || $can_comment)) { $likebuttons = [ 'id' => $link_item['id'], @@ -1078,12 +1079,12 @@ class Photos extends \Zotlabs\Web\Controller { 'wait' => t('Please wait') ]; } - + $comments = ''; if(! $r) { if($observer && ($can_post || $can_comment)) { $commentbox = replace_macros($cmnt_tpl,array( - '$return_path' => '', + '$return_path' => '', '$mode' => 'photos', '$jsreload' => $return_url, '$type' => 'wall-comment', @@ -1101,28 +1102,28 @@ class Photos extends \Zotlabs\Web\Controller { )); } } - + $alike = array(); $dlike = array(); - + $like = ''; $dislike = ''; - + $conv_responses = array( 'like' => array('title' => t('Likes','title')),'dislike' => array('title' => t('Dislikes','title')), - 'agree' => array('title' => t('Agree','title')),'disagree' => array('title' => t('Disagree','title')), 'abstain' => array('title' => t('Abstain','title')), + 'agree' => array('title' => t('Agree','title')),'disagree' => array('title' => t('Disagree','title')), 'abstain' => array('title' => t('Abstain','title')), 'attendyes' => array('title' => t('Attending','title')), 'attendno' => array('title' => t('Not attending','title')), 'attendmaybe' => array('title' => t('Might attend','title')) ); - - - - + + + + if($r) { - + foreach($r as $item) { builtin_activity_puller($item, $conv_responses); } - + $like_count = ((x($alike,$link_item['mid'])) ? $alike[$link_item['mid']] : ''); $like_list = ((x($alike,$link_item['mid'])) ? $alike[$link_item['mid'] . '-l'] : ''); @@ -1133,7 +1134,7 @@ class Photos extends \Zotlabs\Web\Controller { $like_list_part = ''; } $like_button_label = tt('Like','Likes',$like_count,'noun'); - + //if (feature_enabled($conv->get_profile_owner(),'dislike')) { $dislike_count = ((x($dlike,$link_item['mid'])) ? $dlike[$link_item['mid']] : ''); $dislike_list = ((x($dlike,$link_item['mid'])) ? $dlike[$link_item['mid'] . '-l'] : ''); @@ -1145,44 +1146,44 @@ class Photos extends \Zotlabs\Web\Controller { $dislike_list_part = ''; } //} - - + + $like = ((isset($alike[$link_item['mid']])) ? format_like($alike[$link_item['mid']],$alike[$link_item['mid'] . '-l'],'like',$link_item['mid']) : ''); $dislike = ((isset($dlike[$link_item['mid']])) ? format_like($dlike[$link_item['mid']],$dlike[$link_item['mid'] . '-l'],'dislike',$link_item['mid']) : ''); - + // display comments - + foreach($r as $item) { $comment = ''; $template = $tpl; $sparkle = ''; - + if(((activity_match($item['verb'],ACTIVITY_LIKE)) || (activity_match($item['verb'],ACTIVITY_DISLIKE))) && ($item['id'] != $item['parent'])) continue; - + $redirect_url = z_root() . '/redir/' . $item['cid'] ; - - + + $profile_url = zid($item['author']['xchan_url']); $sparkle = ''; - - + + $profile_name = $item['author']['xchan_name']; $profile_avatar = $item['author']['xchan_photo_m']; - + $profile_link = $profile_url; - + $drop = ''; - + if($observer['xchan_hash'] === $item['author_xchan'] || $observer['xchan_hash'] === $item['owner_xchan']) $drop = replace_macros(get_markup_template('photo_drop.tpl'), array('$id' => $item['id'], '$delete' => t('Delete'))); - - + + $name_e = $profile_name; $title_e = $item['title']; unobscure($item); $body_e = prepare_text($item['body'],$item['mimetype']); - + $comments .= replace_macros($template,array( '$id' => $item['id'], '$mode' => 'photos', @@ -1197,9 +1198,9 @@ class Photos extends \Zotlabs\Web\Controller { '$drop' => $drop, '$comment' => $comment )); - + } - + if($observer && ($can_post || $can_comment)) { $commentbox = replace_macros($cmnt_tpl,array( '$return_path' => '', @@ -1216,20 +1217,20 @@ class Photos extends \Zotlabs\Web\Controller { '$ww' => '' )); } - + } $paginate = paginate($a); } - + $album_e = array($album_link,$ph[0]['album']); $like_e = $like; $dislike_e = $dislike; - - + + $response_verbs = array('like'); if(feature_enabled($owner_uid,'dislike')) $response_verbs[] = 'dislike'; - + $responses = get_responses($conv_responses,$response_verbs,'',$link_item); $hookdata = [ @@ -1238,7 +1239,7 @@ class Photos extends \Zotlabs\Web\Controller { 'nickname' => \App::$data['channel']['channel_address'] ]; call_hooks('photo_view_filter', $hookdata); - + $photo_tpl = get_markup_template('photo_view.tpl'); $o .= replace_macros($photo_tpl, array( '$id' => $ph[0]['id'], @@ -1255,7 +1256,7 @@ class Photos extends \Zotlabs\Web\Controller { '$tag_hdr' => t('In This Photo:'), '$tags' => $tags, 'responses' => $responses, - '$edit' => $edit, + '$edit' => $edit, '$map' => $map, '$map_text' => t('Map'), '$likebuttons' => $likebuttons, @@ -1277,26 +1278,26 @@ class Photos extends \Zotlabs\Web\Controller { '$paginate' => $paginate, '$onclick' => $hookdata['onclick'] )); - + \App::$data['photo_html'] = $o; - + return $o; } - + // Default - show recent photos with upload link (if applicable) //$o = ''; - + \App::$page['htmlhead'] .= "\r\n" . '<link rel="alternate" type="application/json+oembed" href="' . z_root() . '/oep?f=&url=' . urlencode(z_root() . '/' . \App::$cmd) . '" title="oembed" />' . "\r\n"; - + \App::set_pager_itemspage(30); - - $r = q("SELECT p.resource_id, p.id, p.filename, p.mimetype, p.album, p.imgscale, p.created, p.display_path - FROM photo p - INNER JOIN ( SELECT resource_id, max(imgscale) imgscale FROM photo - WHERE photo.uid = %d AND photo_usage IN ( %d, %d ) - AND is_nsfw = %d $sql_extra group by resource_id ) ph - ON (p.resource_id = ph.resource_id and p.imgscale = ph.imgscale) + + $r = q("SELECT p.resource_id, p.id, p.filename, p.mimetype, p.album, p.imgscale, p.created, p.display_path + FROM photo p + INNER JOIN ( SELECT resource_id, max(imgscale) imgscale FROM photo + WHERE photo.uid = %d AND photo_usage IN ( %d, %d ) + AND is_nsfw = %d $sql_extra group by resource_id ) ph + ON (p.resource_id = ph.resource_id and p.imgscale = ph.imgscale) ORDER by p.created DESC LIMIT %d OFFSET %d", intval(\App::$data['channel']['channel_id']), intval(PHOTO_NORMAL), @@ -1305,9 +1306,9 @@ class Photos extends \Zotlabs\Web\Controller { intval(\App::$pager['itemspage']), intval(\App::$pager['start']) ); - - - + + + $photos = array(); if($r) { $twist = 'rotright'; @@ -1321,7 +1322,7 @@ class Photos extends \Zotlabs\Web\Controller { else $twist = 'rotright'; $ext = $phototypes[$rr['mimetype']]; - + $alt_e = $rr['filename']; $name_e = dirname($rr['display_path']); @@ -1335,11 +1336,11 @@ class Photos extends \Zotlabs\Web\Controller { 'album' => array( 'name' => $name_e, ), - + ); } } - + if($_REQUEST['aj']) { if($photos) { $o = replace_macros(get_markup_template('photosajax.tpl'),array( @@ -1355,7 +1356,7 @@ class Photos extends \Zotlabs\Web\Controller { } else { $o .= "<script> var page_query = '" . escape_tags(urlencode($_GET['q'])) . "'; var extra_args = '" . extra_query_args() . "' ; </script>"; - $tpl = get_markup_template('photos_recent.tpl'); + $tpl = get_markup_template('photos_recent.tpl'); $o .= replace_macros($tpl, array( '$title' => t('Recent Photos'), '$album_id' => bin2hex(t('Recent Photos')), @@ -1365,18 +1366,18 @@ class Photos extends \Zotlabs\Web\Controller { '$upload_form' => $upload_form, '$usage' => $usage_message )); - + } - + if((! $photos) && ($_REQUEST['aj'])) { $o .= '<div id="content-complete"></div>'; echo $o; killme(); } - + // paginate($a); return $o; } - - + + } diff --git a/Zotlabs/Module/Pin.php b/Zotlabs/Module/Pin.php index 63b28754b..e02fb017b 100644 --- a/Zotlabs/Module/Pin.php +++ b/Zotlabs/Module/Pin.php @@ -6,6 +6,7 @@ namespace Zotlabs\Module; */ use App; +use Zotlabs\Lib\Libsync; class Pin extends \Zotlabs\Web\Controller { @@ -64,6 +65,6 @@ class Pin extends \Zotlabs\Web\Controller { http_status_exit(404, 'Not found'); } - build_sync_packet($r[0]['uid'], [ 'config' ]); + Libsync::build_sync_packet($r[0]['uid'], [ 'config' ]); } } diff --git a/Zotlabs/Module/Profile.php b/Zotlabs/Module/Profile.php index 4235f0b97..118f11f64 100644 --- a/Zotlabs/Module/Profile.php +++ b/Zotlabs/Module/Profile.php @@ -1,5 +1,13 @@ <?php -namespace Zotlabs\Module; /** @file */ + +namespace Zotlabs\Module; + +use App; +use Zotlabs\Lib\ActivityStreams; +use Zotlabs\Lib\Activity; +use Zotlabs\Web\Controller; + +/** @file */ require_once('include/contact_widgets.php'); require_once('include/items.php'); @@ -9,110 +17,115 @@ require_once('include/conversation.php'); require_once('include/acl_selectors.php'); - -class Profile extends \Zotlabs\Web\Controller { +class Profile extends Controller { function init() { - - if(argc() > 1) + + if (argc() > 1) $which = argv(1); else { - notice( t('Requested profile is not available.') . EOL ); - \App::$error = 404; + notice(t('Requested profile is not available.') . EOL); + App::$error = 404; return; } - nav_set_selected('Profile'); - $profile = ''; - $channel = \App::get_channel(); - - if((local_channel()) && (argc() > 2) && (argv(2) === 'view')) { - $which = $channel['channel_address']; - $profile = argv(1); - $r = q("select profile_guid from profile where id = %d and uid = %d limit 1", + $channel = App::get_channel(); + + if (!$channel) + http_status_exit(404, 'Not found'); + + if (ActivityStreams::is_as_request()) { + $p = Activity::encode_person($channel, true); + as_return_and_die(['type' => 'Profile', 'describes' => $p], $channel); + } + + nav_set_selected('Profile'); + + if ((local_channel()) && (argc() > 2) && (argv(2) === 'view')) { + $which = $channel['channel_address']; + $profile = argv(1); + $r = q("select profile_guid from profile where id = %d and uid = %d limit 1", intval($profile), intval(local_channel()) ); - if(! $r) + if (!$r) $profile = ''; $profile = $r[0]['profile_guid']; } - - head_add_link( [ - 'rel' => 'alternate', + + head_add_link([ + 'rel' => 'alternate', 'type' => 'application/atom+xml', 'title' => t('Posts and comments'), 'href' => z_root() . '/feed/' . $which ]); - head_add_link( [ - 'rel' => 'alternate', + head_add_link([ + 'rel' => 'alternate', 'type' => 'application/atom+xml', 'title' => t('Only posts'), 'href' => z_root() . '/feed/' . $which . '?f=&top=1' ]); - if(! $profile) { + if (!$profile) { $x = q("select channel_id as profile_uid from channel where channel_address = '%s' limit 1", dbesc(argv(1)) ); - if($x) { - \App::$profile = $x[0]; + if ($x) { + App::$profile = $x[0]; } } - - profile_load($which,$profile); - - + + profile_load($which, $profile); + + } - + function get() { - - if(observer_prohibited(true)) { + + if (observer_prohibited(true)) { return login(); } - - $groups = array(); + $groups = []; $tab = 'profile'; - $o = ''; - - if(! (perm_is_allowed(\App::$profile['profile_uid'],get_observer_hash(), 'view_profile'))) { - notice( t('Permission denied.') . EOL); + $o = ''; + + if (!(perm_is_allowed(App::$profile['profile_uid'], get_observer_hash(), 'view_profile'))) { + notice(t('Permission denied.') . EOL); return; } - - if(argc() > 2 && argv(2) === 'vcard') { + if (argc() > 2 && argv(2) === 'vcard') { header('Content-type: text/vcard'); - header('content-disposition: attachment; filename="' . t('vcard') . '-' . $profile['channel_address'] . '.vcf"' ); - echo \App::$profile['profile_vcard']; + header('content-disposition: attachment; filename="' . t('vcard') . '-' . App::$profile['channel_address'] . '.vcf"'); + echo App::$profile['profile_vcard']; killme(); } - - $is_owner = ((local_channel()) && (local_channel() == \App::$profile['profile_uid']) ? true : false); - - if(\App::$profile['hidewall'] && (! $is_owner) && (! remote_channel())) { - notice( t('Permission denied.') . EOL); + + $is_owner = ((local_channel()) && (local_channel() == App::$profile['profile_uid']) ? true : false); + + if (App::$profile['hidewall'] && (!$is_owner) && (!remote_channel())) { + notice(t('Permission denied.') . EOL); return; } - - head_add_link([ + + head_add_link([ 'rel' => 'alternate', 'type' => 'application/json+oembed', - 'href' => z_root() . '/oep?f=&url=' . urlencode(z_root() . '/' . \App::$query_string), + 'href' => z_root() . '/oep?f=&url=' . urlencode(z_root() . '/' . App::$query_string), 'title' => 'oembed' ]); $o .= advanced_profile(); - call_hooks('profile_advanced',$o); + call_hooks('profile_advanced', $o); return $o; - + } - + } diff --git a/Zotlabs/Module/Profiles.php b/Zotlabs/Module/Profiles.php index 9ac0e725e..ca6ab435f 100644 --- a/Zotlabs/Module/Profiles.php +++ b/Zotlabs/Module/Profiles.php @@ -12,11 +12,11 @@ class Profiles extends \Zotlabs\Web\Controller { function init() { nav_set_selected('Profiles', 'settings/profiles'); - + if(! local_channel()) { return; } - + if((argc() > 2) && (argv(1) === "drop") && intval(argv(2))) { $r = q("SELECT * FROM profile WHERE id = %d AND uid = %d AND is_default = 0 LIMIT 1", intval(argv(2)), @@ -28,11 +28,11 @@ class Profiles extends \Zotlabs\Web\Controller { return; // NOTREACHED } $profile_guid = $r['profile_guid']; - + check_form_security_token_redirectOnErr('/profiles', 'profile_drop', 't'); - + // move every contact using this profile as their default to the user default - + $r = q("UPDATE abook SET abook_profile = (SELECT profile_guid FROM profile WHERE is_default = 1 AND uid = %d LIMIT 1) WHERE abook_profile = '%s' AND abook_channel = %d ", intval(local_channel()), dbesc($profile_guid), @@ -44,34 +44,34 @@ class Profiles extends \Zotlabs\Web\Controller { ); if($r) info( t('Profile deleted.') . EOL); - - // @fixme this is a much more complicated sync - add any changed abook entries and + + // @fixme this is a much more complicated sync - add any changed abook entries and // also add deleted flag to profile structure // profiles_build_sync is just here as a placeholder - it doesn't work at all here - + // profiles_build_sync(local_channel()); - + goaway(z_root() . '/profiles'); return; // NOTREACHED } - - - - - + + + + + if((argc() > 1) && (argv(1) === 'new')) { - + // check_form_security_token_redirectOnErr('/profiles', 'profile_new', 't'); - + $r0 = q("SELECT id FROM profile WHERE uid = %d", intval(local_channel())); $num_profiles = count($r0); - + $name = t('Profile-') . ($num_profiles + 1); - + $r1 = q("SELECT fullname, photo, thumb FROM profile WHERE uid = %d AND is_default = 1 LIMIT 1", intval(local_channel())); - + $r2 = profile_store_lowlevel( [ 'aid' => intval(get_account_id()), @@ -83,27 +83,27 @@ class Profiles extends \Zotlabs\Web\Controller { 'thumb' => $r1[0]['thumb'] ] ); - + $r3 = q("SELECT id FROM profile WHERE uid = %d AND profile_name = '%s' LIMIT 1", intval(local_channel()), dbesc($name) ); - + info( t('New profile created.') . EOL); if(count($r3) == 1) goaway(z_root() . '/profiles/' . $r3[0]['id']); - + goaway(z_root() . '/profiles'); - } - + } + if((argc() > 2) && (argv(1) === 'clone')) { - + check_form_security_token_redirectOnErr('/profiles', 'profile_clone', 't'); - + $r0 = q("SELECT id FROM profile WHERE uid = %d", intval(local_channel())); $num_profiles = count($r0); - + $name = t('Profile-') . ($num_profiles + 1); $r1 = q("SELECT * FROM profile WHERE uid = %d AND id = %d LIMIT 1", intval(local_channel()), @@ -116,30 +116,30 @@ class Profiles extends \Zotlabs\Web\Controller { } unset($r1[0]['id']); $r1[0]['is_default'] = 0; - $r1[0]['publish'] = 0; + $r1[0]['publish'] = 0; $r1[0]['profile_name'] = dbesc($name); $r1[0]['profile_guid'] = dbesc(random_string()); - + create_table_from_array('profile', $r1[0]); - + $r3 = q("SELECT id FROM profile WHERE uid = %d AND profile_name = '%s' LIMIT 1", intval(local_channel()), dbesc($name) ); info( t('New profile created.') . EOL); - + profiles_build_sync(local_channel()); - + if(($r3) && (count($r3) == 1)) goaway(z_root() . '/profiles/' . $r3[0]['id']); - + goaway(z_root() . '/profiles'); - + return; // NOTREACHED } - + if((argc() > 2) && (argv(1) === 'export')) { - + $r1 = q("SELECT * FROM profile WHERE uid = %d AND id = %d LIMIT 1", intval(local_channel()), intval(argv(2)) @@ -151,7 +151,7 @@ class Profiles extends \Zotlabs\Web\Controller { } header('content-type: application/octet_stream'); header('content-disposition: attachment; filename="' . $r1[0]['profile_name'] . '.json"' ); - + unset($r1[0]['id']); unset($r1[0]['aid']); unset($r1[0]['uid']); @@ -162,10 +162,10 @@ class Profiles extends \Zotlabs\Web\Controller { echo json_encode($r1[0]); killme(); } - - - - + + + + // Run profile_load() here to make sure the theme is set before // we start loading content if(((argc() > 1) && (intval(argv(1)))) || !feature_enabled(local_channel(),'multi_profiles')) { @@ -187,28 +187,28 @@ class Profiles extends \Zotlabs\Web\Controller { \App::$error = 404; return; } - + $chan = \App::get_channel(); - + profile_load($chan['channel_address'],$r[0]['id']); } } - + function post() { - + if(! local_channel()) { notice( t('Permission denied.') . EOL); return; } - + require_once('include/activities.php'); - + $namechanged = false; - - + + // import from json export file. // Only import fields that are allowed on this hub - + if(x($_FILES,'userfile')) { $src = $_FILES['userfile']['tmp_name']; $filesize = intval($_FILES['userfile']['size']); @@ -230,10 +230,10 @@ class Profiles extends \Zotlabs\Web\Controller { } } } - + call_hooks('profile_post', $_POST); - - + + if((argc() > 1) && (argv(1) !== "new") && intval(argv(1))) { $orig = q("SELECT * FROM profile WHERE id = %d AND uid = %d LIMIT 1", intval(\App::$argv[1]), @@ -243,26 +243,26 @@ class Profiles extends \Zotlabs\Web\Controller { notice( t('Profile not found.') . EOL); return; } - + check_form_security_token_redirectOnErr('/profiles', 'profile_edit'); - + $is_default = (($orig[0]['is_default']) ? 1 : 0); - + $profile_name = notags(trim($_POST['profile_name'])); if(! strlen($profile_name)) { notice( t('Profile Name is required.') . EOL); return; } - + $dob = $_POST['dob'] ? escape_tags(trim($_POST['dob'])) : '0000-00-00'; // FIXME: Needs to be validated? - + $y = substr($dob,0,4); if((! ctype_digit($y)) || ($y < 1900)) $ignore_year = true; else $ignore_year = false; - + if($dob != '0000-00-00') { if(strpos($dob,'0000-') === 0) { $ignore_year = true; @@ -272,12 +272,12 @@ class Profiles extends \Zotlabs\Web\Controller { if($ignore_year) $dob = '0000-' . $dob; } - + $name = escape_tags(trim($_POST['name'])); - + if($orig[0]['fullname'] != $name) { $namechanged = true; - + $v = validate_channelname($name); if($v) { notice($v); @@ -285,7 +285,7 @@ class Profiles extends \Zotlabs\Web\Controller { $name = $orig[0]['fullname']; } } - + $pdesc = escape_tags(trim($_POST['pdesc'])); $gender = escape_tags(trim($_POST['gender'])); $address = escape_tags(trim($_POST['address'])); @@ -301,10 +301,10 @@ class Profiles extends \Zotlabs\Web\Controller { $hometown = escape_tags(trim($_POST['hometown'])); $politic = escape_tags(trim($_POST['politic'])); $religion = escape_tags(trim($_POST['religion'])); - + $likes = fix_mce_lf(escape_tags(trim($_POST['likes']))); $dislikes = fix_mce_lf(escape_tags(trim($_POST['dislikes']))); - + $about = fix_mce_lf(escape_tags(trim($_POST['about']))); $interest = fix_mce_lf(escape_tags(trim($_POST['interest']))); $contact = fix_mce_lf(escape_tags(trim($_POST['contact']))); @@ -316,11 +316,11 @@ class Profiles extends \Zotlabs\Web\Controller { $romance = fix_mce_lf(escape_tags(trim($_POST['romance']))); $work = fix_mce_lf(escape_tags(trim($_POST['work']))); $education = fix_mce_lf(escape_tags(trim($_POST['education']))); - + $hide_friends = ((intval($_POST['hide_friends'])) ? 1: 0); - + // start fresh and create a new vcard. TODO: preserve the original guid or whatever else needs saving -// $orig_vcard = (($orig[0]['profile_vcard']) ? \Sabre\VObject\Reader::read($orig[0]['profile_vcard']) : null); +// $orig_vcard = (($orig[0]['profile_vcard']) ? \Sabre\VObject\Reader::read($orig[0]['profile_vcard']) : null); $orig_vcard = null; @@ -347,7 +347,7 @@ class Profiles extends \Zotlabs\Web\Controller { 5 => $postal_code, 6 => $country_name ]; - + $profile_vcard = update_vcard($defcard,$orig_vcard); $orig_vcard = \Sabre\VObject\Reader::read($profile_vcard); @@ -370,19 +370,19 @@ class Profiles extends \Zotlabs\Web\Controller { linkify_tags($romance, local_channel()); linkify_tags($work, local_channel()); linkify_tags($education, local_channel()); - - + + $with = ((x($_POST,'with')) ? escape_tags(trim($_POST['with'])) : ''); - + if(! strlen($howlong)) $howlong = NULL_DATE; else $howlong = datetime_convert(date_default_timezone_get(),'UTC',$howlong); - + // linkify the relationship target if applicable - + $withchanged = false; - + if(strlen($with)) { if($with != strip_tags($orig[0]['partner'])) { $withchanged = true; @@ -392,7 +392,7 @@ class Profiles extends \Zotlabs\Web\Controller { $lookup = substr($lookup,1); $lookup = str_replace('_',' ', $lookup); $newname = $lookup; - + $r = q("SELECT * FROM abook left join xchan on abook_xchan = xchan_hash WHERE xchan_name = '%s' AND abook_channel = %d LIMIT 1", dbesc($newname), intval(local_channel()) @@ -407,8 +407,8 @@ class Profiles extends \Zotlabs\Web\Controller { $prf = $r[0]['xchan_url']; $newname = $r[0]['xchan_name']; } - - + + if($prf) { $with = str_replace($lookup,'<a href="' . $prf . '">' . $newname . '</a>', $with); if(strpos($with,'@') === 0) @@ -418,7 +418,7 @@ class Profiles extends \Zotlabs\Web\Controller { else $with = $orig[0]['partner']; } - + $profile_fields_basic = get_profile_fields_basic(); $profile_fields_advanced = get_profile_fields_advanced(); $advanced = ((feature_enabled(local_channel(),'advanced_profiles')) ? true : false); @@ -426,7 +426,7 @@ class Profiles extends \Zotlabs\Web\Controller { $fields = $profile_fields_advanced; else $fields = $profile_fields_basic; - + $z = q("select * from profdef where true"); if($z) { foreach($z as $zz) { @@ -453,7 +453,7 @@ class Profiles extends \Zotlabs\Web\Controller { } } } - + $changes = array(); $value = ''; if($is_default) { @@ -513,12 +513,12 @@ class Profiles extends \Zotlabs\Web\Controller { $comma2 = (($region && $country_name) ? ', ' : ''); $value = $locality . $comma1 . $region . $comma2 . $country_name; } - + profile_activity($changes,$value); - - } - - $r = q("UPDATE profile + + } + + $r = q("UPDATE profile SET profile_name = '%s', fullname = '%s', pdesc = '%s', @@ -591,10 +591,10 @@ class Profiles extends \Zotlabs\Web\Controller { intval(argv(1)), intval(local_channel()) ); - + if($r) info( t('Profile updated.') . EOL); - + $r = q("select * from profile where id = %d and uid = %d limit 1", intval(argv(1)), intval(local_channel()) @@ -603,9 +603,9 @@ class Profiles extends \Zotlabs\Web\Controller { require_once('include/zot.php'); Libsync::build_sync_packet(local_channel(),array('profile' => $r)); } - + $channel = \App::get_channel(); - + if($namechanged && $is_default) { $r = q("UPDATE xchan SET xchan_name = '%s', xchan_name_date = '%s' WHERE xchan_url = '%s'", dbesc($name), @@ -617,7 +617,7 @@ class Profiles extends \Zotlabs\Web\Controller { dbesc($channel['xchan_hash']) ); } - + if($is_default) { // reload the info for the sidebar widget - why does this not work? profile_load($channel['channel_address']); @@ -625,24 +625,24 @@ class Profiles extends \Zotlabs\Web\Controller { } } } - - + + function get() { - + $o = ''; - + $channel = \App::get_channel(); - + if(! local_channel()) { notice( t('Permission denied.') . EOL); return; } - + require_once('include/channel.php'); - + $profile_fields_basic = get_profile_fields_basic(); $profile_fields_advanced = get_profile_fields_advanced(); - + if(((argc() > 1) && (intval(argv(1)))) || !feature_enabled(local_channel(),'multi_profiles')) { if(feature_enabled(local_channel(),'multi_profiles')) $id = \App::$argv[1]; @@ -652,7 +652,7 @@ class Profiles extends \Zotlabs\Web\Controller { ); if($x) $id = $x[0]['id']; - } + } $r = q("SELECT * FROM profile WHERE id = %d AND uid = %d LIMIT 1", intval($id), intval(local_channel()) @@ -661,20 +661,20 @@ class Profiles extends \Zotlabs\Web\Controller { notice( t('Profile not found.') . EOL); return; } - + $editselect = 'none'; - + \App::$page['htmlhead'] .= replace_macros(get_markup_template('profed_head.tpl'), array( '$baseurl' => z_root(), '$editselect' => $editselect, )); - + $advanced = ((feature_enabled(local_channel(),'advanced_profiles')) ? true : false); if($advanced) $fields = $profile_fields_advanced; else $fields = $profile_fields_basic; - + $hide_friends = array( 'hide_friends', t('Hide your connections list from viewers of this profile'), @@ -682,36 +682,36 @@ class Profiles extends \Zotlabs\Web\Controller { '', array(t('No'),t('Yes')) ); - + $q = q("select * from profdef where true"); if($q) { $extra_fields = array(); - + foreach($q as $qq) { $mine = q("select v from profext where k = '%s' and hash = '%s' and channel_id = %d limit 1", - dbesc($qq['field_name']), + dbesc($qq['field_name']), dbesc($r[0]['profile_guid']), intval(local_channel()) ); - + if(array_key_exists($qq['field_name'],$fields)) { $extra_fields[] = array($qq['field_name'],$qq['field_desc'],(($mine) ? $mine[0]['v'] : ''), $qq['field_help']); } } } - + //logger('extra_fields: ' . print_r($extra_fields,true)); $vc = $r[0]['profile_vcard']; - $vctmp = (($vc) ? \Sabre\VObject\Reader::read($vc) : null); + $vctmp = (($vc) ? \Sabre\VObject\Reader::read($vc) : null); $vcard = (($vctmp) ? get_vcard_array($vctmp,$r[0]['id']) : [] ); - + $f = get_config('system','birthday_input_format'); if(! $f) $f = 'ymd'; - + $is_default = (($r[0]['is_default']) ? 1 : 0); - + $tpl = get_markup_template("profile_edit.tpl"); $o .= replace_macros($tpl,array( '$multi_profiles' => ((feature_enabled(local_channel(),'multi_profiles')) ? true : false), @@ -749,7 +749,7 @@ class Profiles extends \Zotlabs\Web\Controller { '$default' => t('This is your default profile.') . EOL . translate_scope(map_scope(\Zotlabs\Access\PermissionLimits::Get($channel['channel_id'],'view_profile'))), '$advanced' => $advanced, '$name' => array('name', t('Your full name'), $r[0]['fullname'], t('Required'), '*'), - '$pdesc' => array('pdesc', t('Title/Description'), $r[0]['pdesc']), + '$pdesc' => array('pdesc', t('Short title/tescription'), $r[0]['pdesc'], t('Maximal 190 characters'), '', 'maxlength="190"'), '$dob' => dob($r[0]['dob']), '$hide_friends' => $hide_friends, '$address' => array('address', t('Street address'), $r[0]['address']), @@ -802,18 +802,18 @@ class Profiles extends \Zotlabs\Web\Controller { '$delete' => t('Delete'), '$cancel' => t('Cancel'), )); - + $arr = array('profile' => $r[0], 'entry' => $o); call_hooks('profile_edit', $arr); - + return $o; } else { - + $r = q("SELECT * FROM profile WHERE uid = %d", local_channel()); if($r) { - + $tpl = get_markup_template('profile_entry.tpl'); foreach($r as $rr) { $profiles .= replace_macros($tpl, array( @@ -821,24 +821,24 @@ class Profiles extends \Zotlabs\Web\Controller { '$id' => $rr['id'], '$alt' => t('Profile Image'), '$profile_name' => $rr['profile_name'], - '$visible' => (($rr['is_default']) - ? '<strong>' . translate_scope(map_scope(\Zotlabs\Access\PermissionLimits::Get($channel['channel_id'],'view_profile'))) . '</strong>' + '$visible' => (($rr['is_default']) + ? '<strong>' . translate_scope(map_scope(\Zotlabs\Access\PermissionLimits::Get($channel['channel_id'],'view_profile'))) . '</strong>' : '<a href="' . z_root() . '/profperm/' . $rr['id'] . '" />' . t('Edit visibility') . '</a>') )); } - + $tpl_header = get_markup_template('profile_listing_header.tpl'); $o .= replace_macros($tpl_header,array( '$header' => t('Edit Profiles'), '$cr_new' => t('Create New'), '$cr_new_link' => 'profiles/new?t=' . get_form_security_token("profile_new"), '$profiles' => $profiles - )); - + )); + } return $o; } - + } - + } diff --git a/Zotlabs/Module/Pubsites.php b/Zotlabs/Module/Pubsites.php index daec5dde3..4b64d9af6 100644 --- a/Zotlabs/Module/Pubsites.php +++ b/Zotlabs/Module/Pubsites.php @@ -1,18 +1,19 @@ <?php namespace Zotlabs\Module; +use Zotlabs\Lib\Libzotdir; class Pubsites extends \Zotlabs\Web\Controller { function get() { - require_once('include/dir_fns.php'); + require_once('include/dir_fns.php'); $dirmode = intval(get_config('system','directory_mode')); - + if(($dirmode == DIRECTORY_MODE_PRIMARY) || ($dirmode == DIRECTORY_MODE_STANDALONE)) { $url = z_root() . '/dirsearch'; } if(! $url) { - $directory = find_upstream_directory($dirmode); + $directory = Libzotdir::find_upstream_directory($dirmode); $url = $directory['url'] . '/dirsearch'; } $url .= '/sites'; @@ -20,12 +21,12 @@ class Pubsites extends \Zotlabs\Web\Controller { $rating_enabled = get_config('system','rating_enabled'); $o .= '<div class="generic-content-wrapper">'; - + $o .= '<div class="section-title-wrapper"><h2>' . t('Public Hubs') . '</h2></div>'; - - $o .= '<div class="section-content-tools-wrapper"><div class="descriptive-text">' . + + $o .= '<div class="section-content-tools-wrapper"><div class="descriptive-text">' . t('The listed hubs allow public registration for the $Projectname network. All hubs in the network are interlinked so membership on any of them conveys membership in the network as a whole. Some hubs may require subscription or provide tiered service plans. The hub itself <strong>may</strong> provide additional details.') . '</div>' . EOL; - + $ret = z_fetch_url($url); if($ret['success']) { $j = json_decode($ret['body'],true); @@ -48,8 +49,8 @@ class Pubsites extends \Zotlabs\Web\Controller { $host = strtolower(substr($jj['url'],strpos($jj['url'],'://')+3)); $rate_links = ((local_channel()) ? '<td><a href="rate?f=&target=' . $host . '" class="btn-btn-default"><i class="fa fa-check-square-o"></i> ' . t('Rate') . '</a></td>' : ''); $location = ''; - if(!empty($jj['location'])) { - $location = '<p title="' . t('Location') . '" style="margin: 5px 5px 0 0; text-align: right"><i class="fa fa-globe"></i> ' . $jj['location'] . '</p>'; + if(!empty($jj['location'])) { + $location = '<p title="' . t('Location') . '" style="margin: 5px 5px 0 0; text-align: right"><i class="fa fa-globe"></i> ' . $jj['location'] . '</p>'; } else { $location = '<br /> '; @@ -61,14 +62,14 @@ class Pubsites extends \Zotlabs\Web\Controller { $o .= '</tr>'; } } - + $o .= '</table>'; - + $o .= '</div></div>'; - + } } return $o; } - + } diff --git a/Zotlabs/Module/Regver.php b/Zotlabs/Module/Regver.php index 82b162f56..c45723063 100644 --- a/Zotlabs/Module/Regver.php +++ b/Zotlabs/Module/Regver.php @@ -6,8 +6,6 @@ class Regver extends \Zotlabs\Web\Controller { function get() { - global $lang; - $_SESSION['return_url'] = \App::$cmd; if(argc() != 3) diff --git a/Zotlabs/Module/Search.php b/Zotlabs/Module/Search.php index c22bf2836..eeeff9613 100644 --- a/Zotlabs/Module/Search.php +++ b/Zotlabs/Module/Search.php @@ -1,85 +1,116 @@ <?php + namespace Zotlabs\Module; +use App; +use Zotlabs\Lib\Activity; +use Zotlabs\Lib\ActivityStreams; +use Zotlabs\Web\Controller; -class Search extends \Zotlabs\Web\Controller { +class Search extends Controller { function init() { - if(x($_REQUEST,'search')) - \App::$data['search'] = escape_tags($_REQUEST['search']); + if (x($_REQUEST, 'search')) + App::$data['search'] = escape_tags($_REQUEST['search']); } - - + + function get($update = 0, $load = false) { - - if((get_config('system','block_public')) || (get_config('system','block_public_search'))) { - if ((! local_channel()) && (! remote_channel())) { - notice( t('Public access denied.') . EOL); + + if ((get_config('system', 'block_public')) || (get_config('system', 'block_public_search'))) { + if ((!local_channel()) && (!remote_channel())) { + notice(t('Public access denied.') . EOL); return; } } - + nav_set_selected('Search'); - + require_once("include/bbcode.php"); require_once('include/security.php'); require_once('include/conversation.php'); require_once('include/items.php'); - + $format = (($_REQUEST['format']) ? $_REQUEST['format'] : ''); - if($format !== '') { + if ($format !== '') { $update = $load = 1; } - - $observer = \App::get_observer(); + + $observer = App::get_observer(); $observer_hash = (($observer) ? $observer['xchan_hash'] : ''); - + $o = '<div id="live-search"></div>' . "\r\n"; $o .= '<div class="generic-content-wrapper-styled">' . "\r\n"; - + $o .= '<h3>' . t('Search') . '</h3>'; - - if(x(\App::$data,'search')) - $search = trim(\App::$data['search']); + + if (x(App::$data, 'search')) + $search = trim(App::$data['search']); else - $search = ((x($_GET,'search')) ? trim(escape_tags(rawurldecode($_GET['search']))) : ''); - + $search = ((x($_GET, 'search')) ? trim(escape_tags(rawurldecode($_GET['search']))) : ''); + $tag = false; - if(x($_GET,'tag')) { - $tag = true; - $search = ((x($_GET,'tag')) ? trim(escape_tags(rawurldecode($_GET['tag']))) : ''); + if (x($_GET, 'tag')) { + $tag = true; + $search = ((x($_GET, 'tag')) ? trim(escape_tags(rawurldecode($_GET['tag']))) : ''); } - $o .= search($search,'search-box','/search',((local_channel()) ? true : false)); - - if(strpos($search,'#') === 0) { - $tag = true; - $search = substr($search,1); + $o .= search($search, 'search-box', '/search', ((local_channel()) ? true : false)); + + if (local_channel() && strpos($search, 'https://') === 0 && !$update && !$load) { + $j = Activity::fetch($search, App::get_channel()); + if ($j) { + $AS = new ActivityStreams($j); + if ($AS->is_valid()) { + // check if is_an_actor, otherwise import activity + if (is_array($AS->obj) && !ActivityStreams::is_an_actor($AS->obj)) { + $item = Activity::decode_note($AS); + if ($item) { + logger('parsed_item: ' . print_r($item, true), LOGGER_DATA); + Activity::store(App::get_channel(), $observer_hash, $AS, $item, true, true); + goaway(z_root() . '/display/' . gen_link_id($item['mid'])); + } + } + } + } + else { + // try other fetch providers (e.g. diaspora) + $hookdata = [ + 'channel' => App::get_channel(), + 'data' => $search + ]; + call_hooks('fetch_provider', $hookdata); + } + } + + if (strpos($search, '#') === 0) { + $tag = true; + $search = substr($search, 1); } - if(strpos($search,'@') === 0) { - $search = substr($search,1); + if (strpos($search, '@') === 0) { + $search = substr($search, 1); goaway(z_root() . '/directory' . '?f=1&navsearch=1&search=' . $search); } - if(strpos($search,'!') === 0) { - $search = substr($search,1); + if (strpos($search, '!') === 0) { + $search = substr($search, 1); goaway(z_root() . '/directory' . '?f=1&navsearch=1&search=' . $search); } - if(strpos($search,'?') === 0) { - $search = substr($search,1); + if (strpos($search, '?') === 0) { + $search = substr($search, 1); goaway(z_root() . '/help' . '?f=1&navsearch=1&search=' . $search); } - + // look for a naked webbie - if(strpos($search,'@') !== false) { + if (strpos($search, '@') !== false) { goaway(z_root() . '/directory' . '?f=1&navsearch=1&search=' . $search); } - - if(! $search) + + if (!$search) return $o; - - if($tag) { - $wildtag = str_replace('*','%',$search); + + if ($tag) { + $wildtag = str_replace('*', '%', $search); $sql_extra = sprintf(" AND item.id IN (select oid from term where otype = %d and ttype in ( %d , %d) and term like '%s') ", intval(TERM_OBJ_POST), intval(TERM_HASHTAG), @@ -88,80 +119,80 @@ class Search extends \Zotlabs\Web\Controller { ); } else { - $regstr = db_getfunc('REGEXP'); + $regstr = db_getfunc('REGEXP'); $sql_extra = sprintf(" AND (item.title $regstr '%s' OR item.body $regstr '%s') ", dbesc(protect_sprintf(preg_quote($search))), dbesc(protect_sprintf(preg_quote($search)))); } - + // Here is the way permissions work in the search module... // Only public posts can be shown // OR your own posts if you are a logged in member - // No items will be shown if the member has a blocked profile wall. - + // No items will be shown if the member has a blocked profile wall. + + + if ((!$update) && (!$load)) { - if((! $update) && (! $load)) { - // This is ugly, but we can't pass the profile_uid through the session to the ajax updater, // because browser prefetching might change it on us. We have to deliver it with the page. - + $o .= '<div id="live-search"></div>' . "\r\n"; $o .= "<script> var profile_uid = " . ((intval(local_channel())) ? local_channel() : (-1)) - . "; var netargs = '?f='; var profile_page = " . \App::$pager['page'] . "; </script>\r\n"; - - \App::$page['htmlhead'] .= replace_macros(get_markup_template("build_query.tpl"),array( + . "; var netargs = '?f='; var profile_page = " . App::$pager['page'] . "; </script>\r\n"; + + App::$page['htmlhead'] .= replace_macros(get_markup_template("build_query.tpl"), [ '$baseurl' => z_root(), - '$pgtype' => 'search', - '$uid' => ((\App::$profile['profile_uid']) ? \App::$profile['profile_uid'] : '0'), - '$gid' => '0', - '$cid' => '0', - '$cmin' => '(-1)', - '$cmax' => '(-1)', - '$star' => '0', - '$liked' => '0', - '$conv' => '0', - '$spam' => '0', - '$fh' => '0', - '$dm' => '0', + '$pgtype' => 'search', + '$uid' => ((App::$profile['profile_uid']) ? App::$profile['profile_uid'] : '0'), + '$gid' => '0', + '$cid' => '0', + '$cmin' => '(-1)', + '$cmax' => '(-1)', + '$star' => '0', + '$liked' => '0', + '$conv' => '0', + '$spam' => '0', + '$fh' => '0', + '$dm' => '0', '$nouveau' => '0', - '$wall' => '0', - '$list' => ((x($_REQUEST,'list')) ? intval($_REQUEST['list']) : 0), - '$page' => ((\App::$pager['page'] != 1) ? \App::$pager['page'] : 1), - '$search' => (($tag) ? urlencode('#') : '') . $search, - '$xchan' => '', - '$order' => '', - '$file' => '', - '$cats' => '', - '$tags' => '', - '$mid' => '', - '$verb' => '', - '$net' => '', - '$dend' => '', - '$dbegin' => '' - )); - - - } - + '$wall' => '0', + '$list' => ((x($_REQUEST, 'list')) ? intval($_REQUEST['list']) : 0), + '$page' => ((App::$pager['page'] != 1) ? App::$pager['page'] : 1), + '$search' => (($tag) ? urlencode('#') : '') . $search, + '$xchan' => '', + '$order' => '', + '$file' => '', + '$cats' => '', + '$tags' => '', + '$mid' => '', + '$verb' => '', + '$net' => '', + '$dend' => '', + '$dbegin' => '' + ]); + + + } + $item_normal = item_normal_search(); - $pub_sql = public_permissions_sql($observer_hash); - + $pub_sql = public_permissions_sql($observer_hash); + require_once('include/channel.php'); - + $sys = get_sys_channel(); - - if(($update) && ($load)) { - $itemspage = get_pconfig(local_channel(),'system','itemspage'); - \App::set_pager_itemspage(((intval($itemspage)) ? $itemspage : 10)); - $pager_sql = sprintf(" LIMIT %d OFFSET %d ", intval(\App::$pager['itemspage']), intval(\App::$pager['start'])); - + + if (($update) && ($load)) { + $itemspage = get_pconfig(local_channel(), 'system', 'itemspage'); + App::set_pager_itemspage(((intval($itemspage)) ? $itemspage : 10)); + $pager_sql = sprintf(" LIMIT %d OFFSET %d ", intval(App::$pager['itemspage']), intval(App::$pager['start'])); + // in case somebody turned off public access to sys channel content with permissions - - if(! perm_is_allowed($sys['channel_id'],$observer_hash,'view_stream')) + + if (!perm_is_allowed($sys['channel_id'], $observer_hash, 'view_stream')) $sys['xchan_hash'] .= 'disabled'; - - if($load) { + + if ($load) { $r = null; - - if(local_channel()) { + + if (local_channel()) { $r = q("SELECT mid, MAX(id) as item_id from item WHERE ((( item.allow_cid = '' AND item.allow_gid = '' AND item.deny_cid = '' AND item.deny_gid = '' AND item_private = 0 ) OR ( item.uid = %d )) OR item.owner_xchan = '%s' ) @@ -172,11 +203,11 @@ class Search extends \Zotlabs\Web\Controller { dbesc($sys['xchan_hash']) ); } - if($r === null) { + if ($r === null) { $r = q("SELECT mid, MAX(id) as item_id from item WHERE (((( item.allow_cid = '' AND item.allow_gid = '' AND item.deny_cid = '' AND item.deny_gid = '' AND item_private = 0 ) - and owner_xchan in ( " . stream_perms_xchans(($observer) ? (PERMS_NETWORK|PERMS_PUBLIC) : PERMS_PUBLIC) . " )) + and owner_xchan in ( " . stream_perms_xchans(($observer) ? (PERMS_NETWORK | PERMS_PUBLIC) : PERMS_PUBLIC) . " )) $pub_sql ) OR owner_xchan = '%s') $item_normal $sql_extra @@ -184,51 +215,49 @@ class Search extends \Zotlabs\Web\Controller { dbesc($sys['xchan_hash']) ); } - if($r) { - $str = ids_to_querystr($r,'item_id'); - $r = q("select *, id as item_id from item where id in ( " . $str . ") order by created desc "); + if ($r) { + $str = ids_to_querystr($r, 'item_id'); + $r = q("select *, id as item_id from item where id in ( " . $str . ") order by created desc "); } } else { - $r = array(); + $r = []; } - - } - - if($r) { + + if ($r) { xchan_query($r); - $items = fetch_post_tags($r,true); - } else { - $items = array(); - } - - - if($format == 'json') { - $result = array(); + $items = fetch_post_tags($r, true); + } + else { + $items = []; + } + + if ($format == 'json') { + $result = []; require_once('include/conversation.php'); - foreach($items as $item) { + foreach ($items as $item) { $item['html'] = zidify_links(bbcode($item['body'])); - $x = encode_item($item); - $x['html'] = prepare_text($item['body'],$item['mimetype']); - $result[] = $x; + $x = encode_item($item); + $x['html'] = prepare_text($item['body'], $item['mimetype']); + $result[] = $x; } - json_return_and_die(array('success' => true,'messages' => $result)); + json_return_and_die(['success' => true, 'messages' => $result]); } - - if($tag) - $o .= '<h2>' . sprintf( t('Items tagged with: %s'),$search) . '</h2>'; + + if ($tag) + $o .= '<h2>' . sprintf(t('Items tagged with: %s'), $search) . '</h2>'; else - $o .= '<h2>' . sprintf( t('Search results for: %s'),$search) . '</h2>'; - - $o .= conversation($items,'search',$update,'client'); - + $o .= '<h2>' . sprintf(t('Search results for: %s'), $search) . '</h2>'; + + $o .= conversation($items, 'search', $update, 'client'); + $o .= '</div>'; - + return $o; } - - + + } diff --git a/Zotlabs/Module/Sse_bs.php b/Zotlabs/Module/Sse_bs.php index 534c63d46..396e07001 100644 --- a/Zotlabs/Module/Sse_bs.php +++ b/Zotlabs/Module/Sse_bs.php @@ -123,7 +123,7 @@ class Sse_bs extends Controller { $mids[] = '\'' . dbesc(@base64url_decode(substr($a,4))) . '\''; } - $str = implode($mids, ','); + $str = implode(',', $mids); $x = [ 'channel_id' => self::$uid, 'update' => 'unset' ]; call_hooks('update_unseen',$x); diff --git a/Zotlabs/Module/Zfinger.php b/Zotlabs/Module/Zfinger.php index 533f0a5db..ce7117ad8 100644 --- a/Zotlabs/Module/Zfinger.php +++ b/Zotlabs/Module/Zfinger.php @@ -7,7 +7,7 @@ use Zotlabs\Lib\Libzot; class Zfinger extends \Zotlabs\Web\Controller { function init() { - + require_once('include/zot.php'); require_once('include/crypto.php'); @@ -26,7 +26,7 @@ class Zfinger extends \Zotlabs\Web\Controller { if($chan) { $headers['Digest'] = HTTPSig::generate_digest_header($ret); - $h = HTTPSig::create_sig($headers,$chan['channel_prvkey'],'acct:' . channel_reddress($chan)); + $h = HTTPSig::create_sig($headers,$chan['channel_prvkey'], channel_url($chan)); HTTPSig::set_headers($h); } else { @@ -37,7 +37,7 @@ class Zfinger extends \Zotlabs\Web\Controller { echo $ret; killme(); - + } - + } diff --git a/Zotlabs/Module/Zotfeed.php b/Zotlabs/Module/Zotfeed.php index 8c13682b4..2566924aa 100644 --- a/Zotlabs/Module/Zotfeed.php +++ b/Zotlabs/Module/Zotfeed.php @@ -1,29 +1,142 @@ <?php -namespace Zotlabs\Module; -require_once('include/items.php'); -require_once('include/zot.php'); +namespace Zotlabs\Module; +use App; +use Zotlabs\Lib\Activity; +use Zotlabs\Lib\ActivityStreams; +use Zotlabs\Lib\Config; +use Zotlabs\Lib\ThreadListener; +use Zotlabs\Web\Controller; +use Zotlabs\Web\HTTPSig; -class Zotfeed extends \Zotlabs\Web\Controller { +class Zotfeed extends Controller { function init() { - + if (ActivityStreams::is_as_request()) { + + if (observer_prohibited(true)) { + killme(); + } + + $channel = ((argv(1)) ? channelx_by_nick(argv(1)) : get_sys_channel()); + if (!$channel) { + killme(); + } + + if (intval($channel['channel_system'])) { + killme(); + } + + $sigdata = HTTPSig::verify(($_SERVER['REQUEST_METHOD'] === 'POST') ? file_get_contents('php://input') : EMPTY_STR); + if ($sigdata['portable_id'] && $sigdata['header_valid']) { + $portable_id = $sigdata['portable_id']; + if (!check_channelallowed($portable_id)) { + http_status_exit(403, 'Permission denied'); + } + if (!check_siteallowed($sigdata['signer'])) { + http_status_exit(403, 'Permission denied'); + } + observer_auth($portable_id); + } + elseif (Config::get('system', 'require_authenticated_fetch', false)) { + http_status_exit(403, 'Permission denied'); + } + + $observer_hash = get_observer_hash(); + + $params = []; + + $params['begin'] = ((x($_REQUEST, 'date_begin')) ? $_REQUEST['date_begin'] : NULL_DATE); + $params['end'] = ((x($_REQUEST, 'date_end')) ? $_REQUEST['date_end'] : ''); + $params['type'] = 'json'; + $params['pages'] = ((x($_REQUEST, 'pages')) ? intval($_REQUEST['pages']) : 0); + $params['top'] = ((x($_REQUEST, 'top')) ? intval($_REQUEST['top']) : 0); + $params['direction'] = ((x($_REQUEST, 'direction')) ? dbesc($_REQUEST['direction']) : 'desc'); // unimplemented + $params['cat'] = ((x($_REQUEST, 'cat')) ? escape_tags($_REQUEST['cat']) : ''); + $params['compat'] = 1; + + $total = items_fetch( + [ + 'total' => true, + 'wall' => 1, + 'datequery' => $params['end'], + 'datequery2' => $params['begin'], + 'direction' => dbesc($params['direction']), + 'pages' => $params['pages'], + 'order' => dbesc('post'), + 'top' => $params['top'], + 'cat' => $params['cat'], + 'compat' => $params['compat'] + ], $channel, $observer_hash, CLIENT_MODE_NORMAL, App::$module + ); + + if ($total) { + App::set_pager_total($total); + App::set_pager_itemspage(30); + } + + if (App::$pager['unset'] && $total > 30) { + $ret = Activity::paged_collection_init($total, App::$query_string); + } + else { + + $items = items_fetch( + [ + 'wall' => 1, + 'datequery' => $params['end'], + 'datequery2' => $params['begin'], + 'records' => intval(App::$pager['itemspage']), + 'start' => intval(App::$pager['start']), + 'direction' => dbesc($params['direction']), + 'pages' => $params['pages'], + 'order' => dbesc('post'), + 'top' => $params['top'], + 'cat' => $params['cat'], + 'compat' => $params['compat'] + ], $channel, $observer_hash, CLIENT_MODE_NORMAL, App::$module + ); + + if ($items && $observer_hash) { + + // check to see if this observer is a connection. If not, register any items + // belonging to this channel for notification of deletion/expiration + + $x = q("select abook_id from abook where abook_channel = %d and abook_xchan = '%s'", + intval($channel['channel_id']), + dbesc($observer_hash) + ); + if (!$x) { + foreach ($items as $item) { + if (strpos($item['mid'], z_root()) === 0) { + ThreadListener::store($item['mid'], $observer_hash); + } + } + } + } + + $ret = Activity::encode_item_collection($items, App::$query_string, 'OrderedCollection', $total); + } + + as_return_and_die($ret, $channel); + } + + /* $result = array('success' => false); - + $mindate = (($_REQUEST['mindate']) ? datetime_convert('UTC','UTC',$_REQUEST['mindate']) : ''); if(! $mindate) $mindate = datetime_convert('UTC','UTC', 'now - 14 days'); - + if(observer_prohibited()) { $result['message'] = 'Public access denied'; json_return_and_die($result); } - - $observer = \App::get_observer(); - + + $observer = App::get_observer(); + logger('observer: ' . get_observer_hash(), LOGGER_DEBUG); - + $channel_address = ((argc() > 1) ? argv(1) : ''); if($channel_address) { $r = q("select channel_id, channel_name from channel where channel_address = '%s' and channel_removed = 0 limit 1", @@ -40,12 +153,12 @@ class Zotfeed extends \Zotlabs\Web\Controller { $result['message'] = 'Channel not found.'; json_return_and_die($result); } - + logger('zotfeed request: ' . $r[0]['channel_name'], LOGGER_DEBUG); - $result['project'] = 'Hubzilla'; + $result['project'] = 'Hubzilla'; $result['messages'] = zot_feed($r[0]['channel_id'],$observer['xchan_hash'],array('mindate' => $mindate)); $result['success'] = true; json_return_and_die($result); + */ } - } diff --git a/Zotlabs/Photo/PhotoDriver.php b/Zotlabs/Photo/PhotoDriver.php index 94d2c3436..4c4f26e32 100644 --- a/Zotlabs/Photo/PhotoDriver.php +++ b/Zotlabs/Photo/PhotoDriver.php @@ -2,6 +2,8 @@ namespace Zotlabs\Photo; +use Zotlabs\Lib\Hashpath; + /** * @brief Abstract photo driver class. * @@ -505,18 +507,25 @@ abstract class PhotoDriver { * @return boolean */ public function storeThumbnail($arr, $scale = 0) { - - // We only process thumbnails here - if($scale == 0) - return false; - - $arr['imgscale'] = $scale; - - if(boolval(get_config('system','filesystem_storage_thumbnails', 0))) { - $channel = channelx_by_n($arr['uid']); + + // We only process thumbnails here + if($scale == 0) + return false; + + $arr['imgscale'] = $scale; + + if(boolval(get_config('system','photo_storage_type', 1))) { + $arr['os_storage'] = 1; - $arr['os_syspath'] = 'store/' . $channel['channel_address'] . '/' . $arr['os_path'] . '-' . $scale; - if(! $this->saveImage($arr['os_syspath'])) + + if (array_key_exists('uid', $arr) && ! in_array($scale, [ PHOTO_RES_PROFILE_300, PHOTO_RES_PROFILE_80, PHOTO_RES_PROFILE_48 ])) { + $channel = channelx_by_n($arr['uid']); + $arr['os_syspath'] = 'store/' . $channel['channel_address'] . '/' . $arr['os_path'] . '-' . $scale; + } + else + $arr['os_syspath'] = Hashpath::path($arr['resource_id'], 'store/[data]/[xchan]', 2, 1) . '-' . $scale; + + if (! $this->saveImage($arr['os_syspath'])) return false; } else diff --git a/Zotlabs/Render/SimpleTemplate.php b/Zotlabs/Render/SimpleTemplate.php index ff1bb5c3c..ff1bb5c3c 100755..100644 --- a/Zotlabs/Render/SimpleTemplate.php +++ b/Zotlabs/Render/SimpleTemplate.php diff --git a/Zotlabs/Render/SmartyInterface.php b/Zotlabs/Render/SmartyInterface.php index a40effecf..a40effecf 100755..100644 --- a/Zotlabs/Render/SmartyInterface.php +++ b/Zotlabs/Render/SmartyInterface.php diff --git a/Zotlabs/Render/SmartyTemplate.php b/Zotlabs/Render/SmartyTemplate.php index 61fb72f8a..61fb72f8a 100755..100644 --- a/Zotlabs/Render/SmartyTemplate.php +++ b/Zotlabs/Render/SmartyTemplate.php diff --git a/Zotlabs/Render/TemplateEngine.php b/Zotlabs/Render/TemplateEngine.php index 600ff913e..600ff913e 100755..100644 --- a/Zotlabs/Render/TemplateEngine.php +++ b/Zotlabs/Render/TemplateEngine.php diff --git a/Zotlabs/Storage/Browser.php b/Zotlabs/Storage/Browser.php index 7b20e9ddb..fdef35210 100644 --- a/Zotlabs/Storage/Browser.php +++ b/Zotlabs/Storage/Browser.php @@ -264,7 +264,6 @@ class Browser extends DAV\Browser\Plugin { $ft['attach_id'] = $id; $ft['icon'] = $icon; $ft['photo_icon'] = $photo_icon; - $ft['is_owner'] = $is_owner; $ft['is_creator'] = $is_creator; $ft['rel_path'] = (($data) ? '/cloud/' . $nick .'/' . $data['display_path'] : $href); $ft['full_path'] = z_root() . (($data) ? '/cloud/' . $nick .'/' . $data['display_path'] : $href); @@ -295,9 +294,16 @@ class Browser extends DAV\Browser\Plugin { // create a copy of the list which we can alter for the current resource $folders = $folder_list; + if($data['is_dir']) { - // can not copy a folder into itself - unset($folders[$folder_hash]); + + $rm_path = $folders[$folder_hash]; + // can not copy a folder into itself or own child folders + foreach($folders as $k => $v) { + if(strpos($v, $rm_path) === 0) + unset($folders[$k]); + } + } $ft['newfolder'] = ['newfolder_' . $id, t('Select a target location'), $data['folder'], '', $folders]; @@ -325,7 +331,7 @@ class Browser extends DAV\Browser\Plugin { } $ft['attach_bbcode'] = $attach_bbcode; - $link_bbcode = '[zrl]' . $ft['full_path'] . '[/zrl]'; + $link_bbcode = '[zrl=' . $ft['full_path'] . ']' . $ft['name'] . '[/zrl]'; $ft['link_bbcode'] = $link_bbcode; $f[] = $ft; @@ -360,7 +366,7 @@ class Browser extends DAV\Browser\Plugin { '$upload' => t('Add Files'), '$is_owner' => $is_owner, '$is_admin' => is_site_admin(), - '$admin_delete' => t('Admin Delete'), + '$admin_delete_label' => t('Admin Delete'), '$parentpath' => $parent_path, '$folder_parent' => $folder_parent, '$folder' => $parent->folder_hash, @@ -373,26 +379,36 @@ class Browser extends DAV\Browser\Plugin { '$size' => t('Size'), '$lastmod' => t('Last Modified'), '$parent' => t('parent'), - '$edit' => t('Submit'), - '$delete' => t('Delete'), + '$submit_label' => t('Submit'), + '$cancel_label' => t('Cancel'), + '$delete_label' => t('Delete'), '$channel_id' => $channel_id, '$cpdesc' => t('Copy/paste this code to attach file to a post'), '$cpldesc' => t('Copy/paste this URL to link file from a web page'), - '$categories' => ['categories', t('Categories')], '$recurse' => ['recurse', t('Set permissions for all files and sub folders'), 0, '', [t('No'), t('Yes')]], - '$newfolder' => ['newfolder', t('Select a target location'), $parent->folder_hash, '', $folder_list], '$copy' => ['copy', t('Copy to target location'), 0, '', [t('No'), t('Yes')]], '$return_path' => $path, - '$lockstate' => $lockstate, '$allow_cid' => acl2json($channel_acl['allow_cid']), '$allow_gid' => acl2json($channel_acl['allow_gid']), '$deny_cid' => acl2json($channel_acl['deny_cid']), - '$deny_gid' => acl2json($channel_acl['deny_gid']) - - + '$deny_gid' => acl2json($channel_acl['deny_gid']), + '$is_owner' => $is_owner, + '$select_all_label' => t('Select All'), + '$bulk_actions_label' => t('Bulk Actions'), + '$adjust_permissions_label' => t('Adjust Permissions'), + '$move_copy_label' => t('Move or Copy'), + '$categories_label' => t('Categories'), + '$download_label' => t('Download'), + '$info_label' => t('Info'), + '$rename_label' => t('Rename'), + '$post_label' => t('Post'), + '$attach_bbcode_label' => t('Attachment BBcode'), + '$embed_bbcode_label' => t('Embed BBcode'), + '$link_bbcode_label' => t('Link BBcode'), + '$close_label' => t('Close') )); $a = false; @@ -491,7 +507,7 @@ class Browser extends DAV\Browser\Plugin { $breadcrumbs_html = ''; - if($display_path && ! $_REQUEST['cat']){ + if($display_path && ! $_REQUEST['cat'] && ! $_SESSION['cloud_tiles']){ $breadcrumbs = []; $folders = explode('/', $display_path); $folder_hashes = explode('/', $node->os_path); @@ -534,7 +550,8 @@ class Browser extends DAV\Browser\Plugin { '$folder' => $node->folder_hash, '$dragdroptext' => t('Drop files here to immediately upload'), '$notify' => ['notify', t('Show in your contacts shared folder'), 0, '', [t('No'), t('Yes')]], - '$breadcrumbs_html' => $breadcrumbs_html + '$breadcrumbs_html' => $breadcrumbs_html, + '$drop_area_label' => t('You can select files via the upload button or drop them right here or into an existing folder.') )); } diff --git a/Zotlabs/Update/_1241.php b/Zotlabs/Update/_1241.php new file mode 100644 index 000000000..1b2024aad --- /dev/null +++ b/Zotlabs/Update/_1241.php @@ -0,0 +1,24 @@ +<?php + +namespace Zotlabs\Update; + +class _1241 { + + function run() { + + q("START TRANSACTION"); + + // remove duplicated profile photos + $r = dbq("DELETE FROM photo WHERE imgscale IN (4, 5, 6) AND photo_usage = 0"); + + if($r) { + q("COMMIT"); + return UPDATE_SUCCESS; + } + + q("ROLLBACK"); + return UPDATE_FAILED; + + } + +} diff --git a/Zotlabs/Web/HTTPSig.php b/Zotlabs/Web/HTTPSig.php index 1f6979191..0b3e2bf2e 100644 --- a/Zotlabs/Web/HTTPSig.php +++ b/Zotlabs/Web/HTTPSig.php @@ -225,7 +225,7 @@ class HTTPSig { } if($keytype === 'zot6') { - $key = self::get_zotfinger_key($id,$force); + $key = self::get_zotfinger_key($id); if($key) { return $key; } diff --git a/Zotlabs/Widget/Dirsort.php b/Zotlabs/Widget/Dirsort.php index e75a00e50..2fb38b7df 100644 --- a/Zotlabs/Widget/Dirsort.php +++ b/Zotlabs/Widget/Dirsort.php @@ -2,10 +2,10 @@ namespace Zotlabs\Widget; -require_once('include/dir_fns.php'); +use Zotlabs\Lib\Libzotdir; class Dirsort { function widget($arr) { - return dir_sort_links(); + return Libzotdir::dir_sort_links(); } } diff --git a/Zotlabs/Zot6/Finger.php b/Zotlabs/Zot6/Finger.php index 22ce4685d..cec3f98ab 100644 --- a/Zotlabs/Zot6/Finger.php +++ b/Zotlabs/Zot6/Finger.php @@ -88,7 +88,7 @@ class Finger { $headers = []; $headers['X-Zot-Channel'] = $channel['channel_address'] . '@' . \App::get_hostname(); $headers['X-Zot-Nonce'] = random_string(); - $xhead = HTTPSig::create_sig($headers,$channel['channel_prvkey'],'acct:' . channel_reddress($channel)); + $xhead = HTTPSig::create_sig($headers,$channel['channel_prvkey'], channel_url($channel)); $retries = 0; @@ -100,7 +100,7 @@ class Finger { $result = z_post_url('http://' . $host . $rhs,$postvars, $retries, [ 'headers' => $xhead ]); } } - } + } else { $rhs .= '?f=&address=' . urlencode($address) . '&token=' . self::$token; diff --git a/Zotlabs/Zot6/Zot6Handler.php b/Zotlabs/Zot6/Zot6Handler.php index d717b147b..bd321c4b1 100644 --- a/Zotlabs/Zot6/Zot6Handler.php +++ b/Zotlabs/Zot6/Zot6Handler.php @@ -226,18 +226,18 @@ class Zot6Handler implements IHandler { if ($recipients) { // basically this means "unfriend" foreach ($recipients as $recip) { - $r = q("select channel.*,xchan.* from channel + $channel = q("select channel.*,xchan.* from channel left join xchan on channel_hash = xchan_hash where channel_hash = '%s' limit 1", dbesc($recip) ); - if ($r) { - $r = q("select abook_id from abook where uid = %d and abook_xchan = '%s' limit 1", - intval($r[0]['channel_id']), + if ($channel) { + $abook = q("select abook_id from abook where abook_channel = %d and abook_xchan = '%s' limit 1", + intval($channel[0]['channel_id']), dbesc($sender) ); - if ($r) { - contact_remove($r[0]['channel_id'],$r[0]['abook_id']); + if ($abook) { + contact_remove($channel[0]['channel_id'],$abook[0]['abook_id']); } } } diff --git a/app/mail.apd b/app/mail.apd deleted file mode 100644 index f94a2b3c7..000000000 --- a/app/mail.apd +++ /dev/null @@ -1,6 +0,0 @@ -version: 2 -url: $baseurl/mail/combined -requires: local_channel -name: Mail -photo: icon:envelope -categories: nav_featured_app, Personal diff --git a/app/mail.png b/app/mail.png Binary files differdeleted file mode 100644 index bbd9f8449..000000000 --- a/app/mail.png +++ /dev/null diff --git a/boot.php b/boot.php index fc3e65e08..490e847af 100755..100644 --- a/boot.php +++ b/boot.php @@ -50,10 +50,10 @@ require_once('include/attach.php'); require_once('include/bbcode.php'); define ( 'PLATFORM_NAME', 'hubzilla' ); -define ( 'STD_VERSION', '5.1.11' ); +define ( 'STD_VERSION', '5.3.2' ); define ( 'ZOT_REVISION', '6.0' ); -define ( 'DB_UPDATE_VERSION', 1240 ); +define ( 'DB_UPDATE_VERSION', 1241 ); define ( 'PROJECT_BASE', __DIR__ ); @@ -82,11 +82,16 @@ define ( 'DIRECTORY_MODE_STANDALONE', 0x0100); // A detached (off the grid) hub define ( 'DIRECTORY_REALM', 'RED_GLOBAL'); define ( 'DIRECTORY_FALLBACK_MASTER', 'https://hub.netzgemeinde.eu'); -$DIRECTORY_FALLBACK_SERVERS = array( - 'https://hub.netzgemeinde.eu', - 'https://zotsite.net', - 'https://hub.libranet.de' -); + +function get_directory_fallback_servers() { + $ret = [ + 'https://hub.netzgemeinde.eu', + 'https://zotsite.net', + 'https://hub.libranet.de' + ]; + + return $ret; +} /** @@ -355,6 +360,7 @@ define ( 'UPDATE_FLAGS_UPDATED', 0x0001); define ( 'UPDATE_FLAGS_FORCED', 0x0002); define ( 'UPDATE_FLAGS_DELETED', 0x1000); +define ( 'HUBLOC_OFFLINE', 0x0001); define ( 'DROPITEM_NORMAL', 0); define ( 'DROPITEM_PHASE1', 1); @@ -2017,7 +2023,7 @@ function proc_run(){ } $args = array_map('escapeshellarg',$args); - $cmdline = implode($args," "); + $cmdline = implode(' ', $args); if(is_windows()) { $cwd = getcwd(); diff --git a/composer.json b/composer.json index 5d4baa6dd..d138ccc43 100644 --- a/composer.json +++ b/composer.json @@ -23,12 +23,15 @@ "source": "https://framagit.org/hubzilla/core/" }, "require": { - "php": ">=5.5", + "php": ">=7.3", "ext-curl": "*", "ext-gd": "*", "ext-mbstring": "*", "ext-xml": "*", "ext-openssl": "*", + "ext-json": "*", + "ext-zip": "*", + "ext-posix": "*", "sabre/dav": "^4.0", "michelf/php-markdown": "^1.7", "bshaffer/oauth2-server-php": "^1.9", diff --git a/doc/context/pl/admin/addons/assets/addon_repo_gui_1.png b/doc/context/pl/admin/addons/assets/addon_repo_gui_1.png Binary files differnew file mode 100644 index 000000000..37139b345 --- /dev/null +++ b/doc/context/pl/admin/addons/assets/addon_repo_gui_1.png diff --git a/doc/context/pl/admin/addons/help.html b/doc/context/pl/admin/addons/help.html new file mode 100644 index 000000000..fe63718df --- /dev/null +++ b/doc/context/pl/admin/addons/help.html @@ -0,0 +1,14 @@ +<dl class="dl-horizontal"> + <dt>Ogólne</dt> + <dd>Ta strona zarzÄ…dza instalacjÄ… dodatków (zwanych też <i>wtyczkami</i>).</dd> + <dt>ZarzÄ…dzanie repozytorium</dt> + <dd>JeÅ›li serwer internetowy ma niezbÄ™dne uprawnienia do zapisu, zobaczysz przycisk <b>ZarzÄ…dzaj repozytoriami</b>, + co otwiera panel sterowania do zarzÄ…dzania zainstalowanymi <i>repozytoriami</i> wtyczek. Te repozytoria sÄ… + przechowywane w katalogu <span style = "font-family: monospace;">extension/addon/[nazwa repozytorium]/</span>. + Oficjalne repozytorium dodatków Hubzilla można dodać, wprowadzajÄ…c adres URL repozytorium + <span style = "font-family: monospace;"> https://framagit.org/hubzilla/addons.git </span> + i wybierajÄ…c nazwÄ™ repozytorium, na przykÅ‚ad <b>oficjalne</b>. PowinieneÅ› zobaczyć to repozytorium na liÅ›cie + podobnej do tej: + <br> + <img class="img-responsive" src="doc/context/en/admin/addons/assets/addon_repo_gui_1.png"></dd> +</dl> diff --git a/doc/context/pl/admin/logs/help.html b/doc/context/pl/admin/logs/help.html new file mode 100644 index 000000000..1d79d6a8c --- /dev/null +++ b/doc/context/pl/admin/logs/help.html @@ -0,0 +1,20 @@ +<dl class="dl-horizontal"> + <dt>Ogólne</dt> + <dd> + Ta strona umożliwia dostosowanie ustawieÅ„ dziennika oraz przeglÄ…danie + istniejÄ…cego dziennika. + </dd> + <dt>Ustawienia dziennika</dt> + <dd> + Po włączeniu opcji debugowania informacje o zdarzeniach systemowych zacznÄ… + być dołączane do pliku okreÅ›lonego w polu "Plik dziennika" (Å›cieżka jest + wzglÄ™dna w stosunku do katalogu głównego huba, na przykÅ‚ad /var/www). + Zauważ, że ten plik musi być możliwy do zapisywania przez serwer WWW.</dd> + <dt>Pozion rejestracji</dt> + <dd> + Opcja poziomu dziennika umożliwia ustawienie iloÅ›ci informacji dołączanych + do pliku dziennika. Ostrzeżenie: zwiÄ™kszenie tego poziomu może szybko + zwiÄ™kszyć rozmiar pliku dziennika do ponad 100 MB, szczególnie w hubach z + wiÄ™cej niż kilkoma czÅ‚onkami. + </dd> +</dl>
\ No newline at end of file diff --git a/doc/context/pl/admin/queue/help.html b/doc/context/pl/admin/queue/help.html new file mode 100644 index 000000000..76277e0c2 --- /dev/null +++ b/doc/context/pl/admin/queue/help.html @@ -0,0 +1,7 @@ +<dl class="dl-horizontal"> + <dt>Ogólne</dt> + <dd> + Statystyki kolejki pokazują, ile postów znajduje się w kolejce do dostarczenia + do innych hubów. Priorytet jest powiązany z liczbą nieudanych prób dostawy. + </dd> +</dl>
\ No newline at end of file diff --git a/doc/context/pl/admin/security/help.html b/doc/context/pl/admin/security/help.html new file mode 100644 index 000000000..0e582e6b4 --- /dev/null +++ b/doc/context/pl/admin/security/help.html @@ -0,0 +1,8 @@ +<dl class="dl-horizontal"> + <dt>Ogólne</dt> + <dd> + Ta strona zawiera różne ustawienia administratora związane z bezpieczeństwem. + Aby zapisać zmiany wprowadzone w tych ustawieniach, musisz nacisnąć przycisk + "Prześlij". + </dd> +</dl>
\ No newline at end of file diff --git a/doc/context/pl/appman/help.html b/doc/context/pl/appman/help.html new file mode 100644 index 000000000..867b5b482 --- /dev/null +++ b/doc/context/pl/appman/help.html @@ -0,0 +1,10 @@ +<dl class="dl-horizontal"> + <dt>Ogólne</dt> + <dd> + Edytowanie poszczególnych właściwości wybranej aplikacji. Kategorie umożliwiają + sortowanie aplikacji, aby ułatwić znajdowanie ich na liście. Wsparcie dla + niestandardowych aplikacji, które Ty lub Twój administrator możecie wybrać, + obejmuje pola, takie jak ""Cena aplikacji"" i "Lokalizacja zakupu"", które nie + są zastosowane w podstawowych aplikacjach Hubzilla. + </dd> +</dl>
\ No newline at end of file diff --git a/doc/context/pl/apps/edit/help.html b/doc/context/pl/apps/edit/help.html new file mode 100644 index 000000000..42db07d17 --- /dev/null +++ b/doc/context/pl/apps/edit/help.html @@ -0,0 +1,7 @@ +<dl class="dl-horizontal"> + <dt>Ogólne</dt> + <dd> + Edytowanie lub usuwanie aplikacje za pomocą przycisków sterowania widocznych + na liście obok każdej ikony aplikacji. + </dd> +</dl>
\ No newline at end of file diff --git a/doc/context/pl/apps/help.html b/doc/context/pl/apps/help.html new file mode 100644 index 000000000..7ad3bef5c --- /dev/null +++ b/doc/context/pl/apps/help.html @@ -0,0 +1,15 @@ +<dl class="dl-horizontal"> + <dt>Ogólne</dt> + <dd> + Ta strona pokazuje, jakie aplikacje są dostępne na Twoim kanale, w tym zarówno + aplikacje podstawowe, jak i te dostarczane przez dodatki. Aby dodać aplikację + do <a href = '#' onclick = 'contextualHelpFocus("# app-menu",1); return false;' + title = "Kliknij, aby otworzyć ...">menu aplikacji</a> oznacz gwiazdką + aplikację na poniższej liście. + </dd> + <dt>Zarządzanie aplikacjami</dt> + <dd> + Naciśnij przycisk "Zarządzaj aplikacjami", aby otworzyć stronę, na której + możesz edytować nazwę, kategorie i inne właściwości swoich aplikacji. + </dd> +</dl>
\ No newline at end of file diff --git a/doc/context/pl/cards/help.html b/doc/context/pl/cards/help.html new file mode 100644 index 000000000..f60d66f1c --- /dev/null +++ b/doc/context/pl/cards/help.html @@ -0,0 +1,31 @@ +<dl class="dl-horizontal"> + <dt>Ogólne</dt> + <dd> + Karty reprezentujÄ… trwaÅ‚y obszar współpracy, który jest niezależny od + strumienia spoÅ‚ecznoÅ›ciowego. SÄ… nieco lżejsze niż strony internetowe i wiki, + dziÄ™ki czemu zapewniajÄ… szybkÄ… organizacjÄ™ informacji i majÄ… tÄ™ zaletÄ™, że + umożliwiajÄ… współpracÄ™ i komentowanie. SÄ… dobrze przystosowane do pomocy w + organizowaniu zÅ‚ożonych zadaÅ„, w przypadku których czÄ™sto pojawiajÄ… siÄ™ + aktualizacje i informacje zwrotne. + </dd> + <dt>Dodanie karty</dt> + <dd> + Tworzenie nowej karty jest bardzo podobne do tworzenia nowego postaa.<br><br> + <ul> + <li> + <b>Nazwa linku do strony</b>: nazwa linku do strony jest nazwÄ… + karty dla statycznego adresu URL + </li> + <li> + <b>TytuÅ‚</b>: TytuÅ‚ jest wyÅ›wietlany u góry karty + </li> + <li> + <b>Kategorie</b>: JeÅ›li na swoim kanale masz włączonÄ… + <a href="/settings/features"> funkcjonalność kategorii postów </a>, + możesz dodawać kategorie do karty. Te kategorie zapeÅ‚niajÄ… listÄ™ + <b>Kategorie</b> na lewym panelu i umożliwiajÄ… filtrowanie + kolekcji kart. + </li> + </ul> + </dd> +</dl> diff --git a/doc/context/pl/channel/help.html b/doc/context/pl/channel/help.html new file mode 100644 index 000000000..bd454c361 --- /dev/null +++ b/doc/context/pl/channel/help.html @@ -0,0 +1,13 @@ +<dl class="dl-horizontal"> + <dt>Ogólne</dt> + <dd> + To jest strona główna kanaÅ‚u. Jest ona podobna do "Å›ciany" profilu w kontekÅ›cie + sieci spoÅ‚ecznoÅ›ciowej. Posty utworzone w kanale sÄ… wyÅ›wietlane zgodnie z + uprawnieniami obserwatora do oglÄ…dania treÅ›ci. + </dd> + <dt>Tworzenie posta</dt> + <dd> + JeÅ›li masz uprawnienia do tworzenia postów na stronie kanaÅ‚u, u góry zobaczysz + edytor postów. + </dd> +</dl> diff --git a/doc/context/pl/chat/help.html b/doc/context/pl/chat/help.html new file mode 100644 index 000000000..3cd4e346f --- /dev/null +++ b/doc/context/pl/chat/help.html @@ -0,0 +1,19 @@ +<dl class="dl-horizontal"> + <dt>Ogólne</dt> + <dd> + Twórz pokoje rozmów i wykorzystuj je do komunikacji w czasie rzeczywistym, + używajÄ…c standardowego systemu uprawnieÅ„ Hubzilla do kontroli dostÄ™pu do + pokojów rozmów. + </dd> + <dt>Tworzenie nowego pokoju rozmów</dt> + <dd> + Użyj przycisku "Utwórz nowy", aby utworzyć nowy pokój rozmów. Wpisz nazwÄ™ i + jak dÅ‚ugo wiadomoÅ›ci majÄ… być przechowywane. + </dd> + <dt>Czatowanie</dt> + <dd> + Wpisz wiadomość w polu wiadomoÅ›ci i naciÅ›nij "PrzeÅ›lij". Możesz ustawić status, + wybierajÄ…c przycisk menu pokoju rozmów sieciowych obok przycisku "WyÅ›lij". + Inne osoby "w pokoju"" sÄ… widoczne w panelu bocznym w panelu „CzÅ‚onkowie czatuâ€. + </dd> +</dl>
\ No newline at end of file diff --git a/doc/context/pl/cloud/help.html b/doc/context/pl/cloud/help.html new file mode 100644 index 000000000..419ed01ee --- /dev/null +++ b/doc/context/pl/cloud/help.html @@ -0,0 +1,17 @@ +<dl class="dl-horizontal"> + <dt>Ogólne</dt> + <dd> + Ta strona wyświetla pliki "w chmurze" kanału. To co widi przeglądajacy zależy + od jego indywidualnych uprawnień do plików, które ustawia właściciel kanału. + Jeśli masz uprawnienia do tworzenia i przesyłania plików, zobaczysz przyciski + kontrolne nad listą plików. + </dd> + <dt><a href='#' onclick='contextualHelpFocus("#tabs-collapse-1", 0); return false;' + title="Kliknij, aby podświetlić element...">Karty zawartości kanału</a></dt> + <dd> + Karty zawarości kanału to linki do innych treści publikowanych przez kanał. + Karta <b>Informacje</b> prowadzi do profilu kanału. Karta <b>Zdjęcia</b> + prowadzi do galerii zdjęć kanału. Zakładka <b>Pliki</b> zawiera linki do + ogólnych plików udostępnionych do publikacji w kanale. + </dd> +</dl>
\ No newline at end of file diff --git a/doc/context/pl/connections/help.html b/doc/context/pl/connections/help.html new file mode 100644 index 000000000..837184334 --- /dev/null +++ b/doc/context/pl/connections/help.html @@ -0,0 +1,24 @@ +<dl class="dl-horizontal"> + <dt>Ogólne</dt> + <dd> + Ta strona wyświetla listę wszystkich połączeń tego kanału. Lista można + <a href = '#' onclick = 'contextualHelpFocus (".section-title-wrapper", 0); return false; ' + title = "Kliknij, aby podświetlić element ..."> posortować i przefiltrować + za pomocą przycisku menu obok przycisku wyszukiwania </a>. + </dd> + <dt>Szczegóły połączenia</dt> + <dd> + Każdy wpis na liście przedstawia szczegóły określonego połączenia. + Przezroczysty obraz awatara wskazuje na zarchiwizowane połączenie. + </dd> + <dt>Stan połączenie</dt> + <dd> + Połączenie może mieć różne stany: + <ul> + <li> Zarchiwizowane</li> + <li> Zignorowane</li> + <li> Zablokowane</li> + <li> Ukryte</li> + </ul> + </dd> +</dl>
\ No newline at end of file diff --git a/doc/context/pl/connections/ifpending/help.html b/doc/context/pl/connections/ifpending/help.html new file mode 100644 index 000000000..b2d05947a --- /dev/null +++ b/doc/context/pl/connections/ifpending/help.html @@ -0,0 +1,24 @@ +<dl class="dl-horizontal"> + <dt>Ogólne</dt> + <dd> + Ta strona wyświetla listę wszystkich połączeń tego kanału. Lista można + <a href = '#' onclick = 'contextualHelpFocus (".section-title-wrapper", 0); return false; ' + title = "Kliknij, aby podświetlić element ..."> posortować i przefiltrować + za pomocą przycisku menu obok przycisku wyszukiwania</a>. + </dd> + <dt>Szczegóły połączenia</dt> + <dd> + Każdy wpis na liście przedstawia szczegóły określonego połączenia. + Przezroczysty obraz awatara wskazuje na zarchiwizowane połączenie. + </dd> + <dt>Stan połączenia</dt> + <dd> + Połączenie może mieć różne stany: + <ul> + <li> Zarchiwizowane</li> + <li> Zignorowane</li> + <li> Zablokowane</li> + <li> Ukryte</li> + </ul> + </dd> +</dl>
\ No newline at end of file diff --git a/doc/context/pl/connedit/help.html b/doc/context/pl/connedit/help.html new file mode 100644 index 000000000..31a47c1fc --- /dev/null +++ b/doc/context/pl/connedit/help.html @@ -0,0 +1,44 @@ +<dl class="dl-horizontal"> + <dt>Ogólne</dt> + <dd> + Ta strona umożliwia zmianę lub edycję dowolnych indywidualnych ustawień dla + określonego połączenia lub całkowite usunięcie połączenia. Być może dotarłeś + do tej strony po utworzeniu lub zatwierdzeniu nowego połączenia. Jeśli tak, + nie musisz nic robić. Twoje połączenie zostało już nawiązane. + <strong>Możesz</strong> chcieć dodać je do grupy lub dostosować specjalne + uprawnienia, a ta strona jest prezentowana, abyś mógł to zrobić przy okazji + ustanowienie nowego połączenia. + </dd> + <dt><a href='#' onclick='contextualHelpFocus(".section-title-wrapper", 0); return false;' + title="Kliknij, aby podświetlić element...">Narzędzia do połączeń</a></dt> + <dd> + <A href = '#' onclick = 'contextualHelpFocus (".section-title-wrapper", 0); return false; ' + title = "Kliknij, aby podświetlić element ..."> Menu naarzędzi połączeń</a> + umożliwia dostęp do kilku ustawień. Wyświetl profil, wyświetl ostatnią aktywność, + odśwież uprawnienia, ustaw lub zresetuj flagi (blokuj, ignoruj, archiwizuj, ukryj) + i usuń połączenie. + </dd> + <dt><a href='#' onclick='contextualHelpFocus("#group-sidebar", 0); return false;' + title="Kliknij, aby podświetlić element...">Grupy prywatności</a></dt> + <dd> + Każde połączenie może być przypisane do jednej lub więcej grup prywatności + w celu grupowania kolekcji znajomych z dostępem do określonych postów, + multimediów i innych treści. Możesz dodać je tutaj do istniejącej grupy + prywatności lub utworzyć nową grupę prywatności. Po dodaniu ich do istniejącej + grupy akcja jest natychmiastowa i nie musisz przesyłać formularza. + </dd> + <dt><a href='#' onclick='contextualHelpFocus("#perms-tool", 0); return false;' + title="Kliknij, aby podświetlić element...">Indywidualne uprawniena</a></dt> + <dd> + Udzielanie uprawnień jest zwykle automatyczne i nie wymaga żadnych działań + z Twojej strony. Możesz jednak chcieć dostosować określone uprawnienia dla + tego połączenia, które są inne niż dla innych. + </dd> + <dt>Ustawienia specyficznych funkcji</dt> + <dd> + Szereg indywidualnych ustawień jest kontrolowanych za pomocą dodatkowych + funkcji, które mogą, ale nie muszą być aktywowane na Twoim hubie lub na Twoim + kanale. Kilka opcjonalnych funkcji ma ustawienia dla każdego połączenia, + które można ustawić na tej stronie za pomocą dodatkowych zakładek formularza. + </dd> +</dl> diff --git a/doc/context/pl/events/help.html b/doc/context/pl/events/help.html new file mode 100644 index 000000000..542661fa5 --- /dev/null +++ b/doc/context/pl/events/help.html @@ -0,0 +1,18 @@ +<dl class="dl-horizontal"> + <dt>Ogólne</dt> + <dd> + Na tej stronie wyświetlany jest kalendarz wydarzeń, który należy do Ciebie + oraz kalendarze, które zostały Ci udostępnione z innych kanałów. + /dd> + <dt><a href='#' onclick='contextualHelpFocus("#title", 0); return false;' + title="Kliknij, aby podświetlić element...">Widok kalendarza</a></dt> + <dd> + Kalendarz może być wyświetlany w trybie miesiąca, tygodnia lub dnia, przy użyciu + opcji widocznych na panelu bocznym. + </dd> + <dt>Eksport/Import</dt> + <dd> + Eksportuj lub importuj wydarzenia kalendarza przy użyciu plików w standardowym + formacie iCalendar (.ics). + </dd> +</dl>
\ No newline at end of file diff --git a/doc/context/pl/mail/help.html b/doc/context/pl/mail/help.html new file mode 100644 index 000000000..b8497709c --- /dev/null +++ b/doc/context/pl/mail/help.html @@ -0,0 +1,25 @@ +<dl class="dl-horizontal"> + <dt>Ogólne</dt> + <dd> + Wiadomości wyświetlane w poczcie prywatnej są widoczne tylko dla Ciebie i + pojedynczego odbiorcy. + </dd> + <dt>Widok łączony</dt> + <dd> + Wybór opcji <b>Widok łączony</b> spowoduje wyświetlanie całych rozmów w ciągłym + wątku. Dostępne rozmowy są wyświetlane poniżej menu w panelu bocznym. + </dd> + <dt>Skrzynka odbiorcza/nadawcza</dt> + <dd> + Poszczególne wysłane wiadomości można wyświetlić, wybierając opcję + <b>Skrzynka nadawcza</b>, a wiadomości przychodzące - za pomocą filtru + <b>Skrzynka odbiorcza</b>. + </dd> + <dt>Nowa wiadomość</dt> + <dd> + Poszczególne wiadomości mają raporty doręczenia, które można wyświetlić za + pomocą rozwijanego menu. Wysłane wiadomości można również odwołać, posługując + się tym samym menu, co może uniemożliwić odbiorcy przegląd takich wiadomości, + <i>jeśli jeszcze ich nie przeczytał</i>. + </dd> +</dl>
\ No newline at end of file diff --git a/doc/context/pl/network/help.html b/doc/context/pl/network/help.html new file mode 100644 index 000000000..cbc6c035c --- /dev/null +++ b/doc/context/pl/network/help.html @@ -0,0 +1,36 @@ +<dl class="dl-horizontal"> + <dt>Ogólne</dt> + <dd> + Strona strumienia sieciowego wyświetla strumień postów i rozmów, zwykle + uporządkowanych według ostatnio zaktualizowanych. Jest to strona wysoce konfigurowalna. + </dd> + <dt><a href='#' onclick='contextualHelpFocus("#profile-jot-wrapper", 0); + return false;' title="Kliknij, aby podświetlić element...">Tworzenie posta</a></dt> + <dd> + U góry strony znajduje się pole tekstowe z napisem "Udostępnij". Kliknięcie + tego pola otwiera nowy edytor postówów. Edytor postów można dostosowywać, ale + podstawowy edytor udostępnia pola dla treści posta i opcjonalnego <b>tytułu</b>. + Przyciski poniżej obszaru tekstowego po lewej stronie zapewniają skróty do + formatowania tekstu i wstawiania linków, obrazów i innych danych do posta. + Przyciski po prawej stronie zapewniają podgląd posta, ustawienia uprawnień do + publikowania oraz przycisk <b>Prześlij</b> do wysłania posta. + </dd> + <dt><a href='#' onclick='contextualHelpFocus("#group-sidebar", 1); + return false;' title="Kliknij, aby podświetlić element...">Grupy prywatności</a></dt> + <dd> + Utworzone grupy prywatności są wyświetlane w panelu bocznym. Wybranie ich + powoduje filtrowanie postów do tych utworzonych przez kanały w wybranej grupie. + </dd> + <dt><a href='#' onclick='$("#dbtn-acl").click(); return false;' + title="Kliknij, aby podświetlić element...">Uprawnienia do posta</a></dt> + <dd> + Lista kontroli dostępu (ACL) służy do określania, kto może zobaczyć Twój nowy + post. Naciśnięcie przycisku ACL obok przycisku Prześlij spowoduje wyświetlenie + okna dialogowego, w którym możesz wybrać kanały albo grupy prywatności, które + będą widzieć post. Możesz także wybrać, komu wyraźnie odmówiono dostęp. + Załóżmy na przykład, że planujesz przyjęcie niespodziankę dla znajomego. + Możesz wysłać zaproszenie do wszystkich w swojej grupie <b>Znajomi</b> + <i>oprócz</i> znajomego, którego zaskakujesz. W tym przypadku "pokazujesz" + go grupie <b>Znajomi</b>, ale "nie pokazujesz" tej jednej osobie. + </dd> +</dl>
\ No newline at end of file diff --git a/doc/context/pl/photos/help.html b/doc/context/pl/photos/help.html new file mode 100644 index 000000000..e9ff7ee9d --- /dev/null +++ b/doc/context/pl/photos/help.html @@ -0,0 +1,15 @@ +<dl class="dl-horizontal"> + <dt>Ogólne</dt> + <dd> + Na tej stronie wyświetlane są albumy ze zdjęciami opublikowane w kanale. + Widoczność obrazów zależy od indywidualnych uprawnień odwiedzającego do tych zdjęć. + </dd> + <dt><a href='#' onclick='contextualHelpFocus("#tabs-collapse-1", 0); return false;' + title="Kliknij, aby podświetlić element...">Zakładki treści kanału</a></dt> + <dd> + Karty treści kanału to odnośniki do innych treści publikowanych przez kanał. + Karta <b>Informacje</b> prowadzi do profilu kanału. Karta <b>Zdjęcia</b> + prowadzi do galerii zdjęć kanału. Zakładka <b>Pliki</b> zawiera linki do + ogólnych plików udostępnionych w kanale. + </dd> +</dl>
\ No newline at end of file diff --git a/doc/context/pl/profile/help.html b/doc/context/pl/profile/help.html new file mode 100644 index 000000000..9ec5b0e73 --- /dev/null +++ b/doc/context/pl/profile/help.html @@ -0,0 +1,17 @@ +<dl class="dl-horizontal"> + <dt>Ogólne</dt> + <dd> + To jest strona profilu kanału. Zwykle wyświetla informacje opisujące kanał. + Jeśli na przykład kanał reprezentuje osobę w sieci społecznościowej, profil + może zawierać informacje kontaktowe i inne dane osobowe tej osoby. Kanały mogą + mieć wiele profili, przy czym wyświetlany profil zależy od obserwatora. + </dd> + <dt><a href='#' onclick='contextualHelpFocus("#tabs-collapse-1", 0); return false;' + title="Klknij, aby podświetlić element...">Zakładki treści kanału</a></dt> + <dd> + Karty treści kanału to odnośniki do innych treści publikowanych przez kanał. + Karta <b>Informacje</b> prowadzi do profilu kanału. Karta <b>Zdjęcia</b> + prowadzi do galerii zdjęć kanału. Zakładka <b>Pliki</b> zawiera linki do ogólnych + plików opublikowanych i udostępnionych w kanale. + </dd> +</dl>
\ No newline at end of file diff --git a/doc/context/pl/profiles/help.html b/doc/context/pl/profiles/help.html new file mode 100644 index 000000000..18953a829 --- /dev/null +++ b/doc/context/pl/profiles/help.html @@ -0,0 +1,49 @@ +<dl class="dl-horizontal"> + <dt>Ogólne</dt> + <dd> + Po zarejestrowaniu <i>konta</i> w matrycy, utworzony został również + <i>profil</i> i <i>kanał</i>. + </dd> + <dt>Konto</dt> + <dd> + Masz teraz <i>jedno</i> konto. Składa się z Twojego adresu e-mail i + hasła. Za pomocą swojego konta uzyskujesz dostęp do profili i kanałów. + <i>Pomyśl o swoim koncie jak o sposobie uwierzytelniania w jednym + serwisie Hubzilla. To pozwala wykonywać różne czynności, takie jak + tworzenie profili i kanałów, za pomocą których można łączyć się z + innymi osobami.</i> + </dd> + <dt>Profil</dt> + <dd> + Z pewnością już zarejestrowałeś/zarejestrowałaś się w innych usługach + internetowych, takich jak fora lub społeczności internetowe. W nich + wszystkich trzeba było podać pewne informacje o sobie, takie jak data + urodzenia, kraj, wiek i upodobania. W przeciwieństwie do nich + usługi Hubzilla daje Ci przewagę tworzenia <i>wielu profili </i>. + W ten sposób możesz rozróżniać profil przeznaczone specjalnie dla + wszystkich (Twój profil publiczny), od profili przeznaczonych dla + współpracowników, rodziny czy partnera. <i> Potraktuj swój profil + jak pojemnik zawierający podstawowe informacje o Tobie, jakie + przekazujesz innym osobom. </i> + </dd> + <dt>Kanał</dt> + <dd> + Podczas rejestracji utworzyłeś/utworzyłaś swój pierwszy <i>kanał</i>. + Tak, poza kilkoma profilami, również możesz mieć kilka kanałów. Na + początku może to być nieco zagmatwane, ale wyjaśnijmy to. Już masz + utworzony jeden kanał. Możesz używać go do publicznego komunikowania + się z osobami w życiu codziennym. Lecz być może jesteś zapalonym + czytelnikiem książek a wielu ludzi się tym nudzi. Otwierasz więc + <i>drugi kanał</i> dla miłośników książek, gdzie wszyscy mogą rozmawiać + o książkach tyle, ile zechcą. Oczywiście jest to nowy strumień postów, + z nowym profilem (... lub nowymi profilami) i zupełnie z innymi + kontaktami. Niektóre połączenia mogą istnieć w obu kanałach, ale będą + takie, które będą występować wyłącznie w jednym z nich. Ty po prostu + przełączaj się między nimi tak, jak w prawdziwym życiu, gdy rozmawiasz + z ludźmi, których spotykasz na ulicy lub z osobami, które spotykasz + specjalnie, aby porozmawiać o książkach. Możesz nawet połączyć się + ze sobą lub lepiej: ze swoim innym kanał. :) <i> Pomyśl o kanałach + jak o różnych przestrzeniach poświęconych różnym tematom, w których + spotykasz się z różnymi osobami.</i> + </dd> +</dl>
\ No newline at end of file diff --git a/doc/context/pl/settings/account/help.html b/doc/context/pl/settings/account/help.html new file mode 100644 index 000000000..0507c73cf --- /dev/null +++ b/doc/context/pl/settings/account/help.html @@ -0,0 +1,49 @@ +<dl class="dl-horizontal"> + <dt>Ogólne</dt> + <dd> + Po zarejestrowaniu <i>konta</i> w matrycy, utworzony został również + <i>profil</i> i <i>kanał</i>. + </dd> + <dt>Konto</dt> + <dd> + Masz teraz <i>jedno</i> konto. Składa się z Twojego adresu e-mail i + hasła. Za pomocą swojego konta uzyskujesz dostęp do profili i kanałów. + <i>Pomyśl o swoim koncie jak o sposobie uwierzytelniania w jednym + serwisie Hubzilla. To pozwala wykonywać różne czynności, takie jak + tworzenie profili i kanałów, za pomocą których można łączyć się z + innymi osobami.</i> + </dd> + <dt>Profil</dt> + <dd> + Z pewnością już zarejestrowałeś/zarejestrowałaś się w innych usługach + internetowych, takich jak fora lub społeczności internetowe. W nich + wszystkich trzeba było podać pewne informacje o sobie, takie jak data + urodzenia, kraj, wiek i upodobania. W przeciwieństwie do nich + usługi Hubzilla daje Ci przewagę tworzenia <i>wielu profili </i>. + W ten sposób możesz rozróżniać profil przeznaczone specjalnie dla + wszystkich (Twój profil publiczny), od profili przeznaczonych dla + współpracowników, rodziny czy partnera. <i> Potraktuj swój profil + jak pojemnik zawierający podstawowe informacje o Tobie, jakie + przekazujesz innym osobom. </i> + </dd> + <dt>Kanał</dt> + <dd> + Podczas rejestracji utworzyłeś/utworzyłaś swój pierwszy <i>kanał</i>. + Tak, poza kilkoma profilami, również możesz mieć kilka kanałów. Na + początku może to być nieco zagmatwane, ale wyjaśnijmy to. Już masz + utworzony jeden kanał. Możesz używać go do publicznego komunikowania + się z osobami w życiu codziennym. Lecz być może jesteś zapalonym + czytelnikiem książek a wielu ludzi się tym nudzi. Otwierasz więc + <i>drugi kanał</i> dla miłośników książek, gdzie wszyscy mogą rozmawiać + o książkach tyle, ile zechcą. Oczywiście jest to nowy strumień postów, + z nowym profilem (... lub nowymi profilami) i zupełnie z innymi + kontaktami. Niektóre połączenia mogą istnieć w obu kanałach, ale będą + takie, które będą występować wyłącznie w jednym z nich. Ty po prostu + przełączaj się między nimi tak, jak w prawdziwym życiu, gdy rozmawiasz + z ludźmi, których spotykasz na ulicy lub z osobami, które spotykasz + specjalnie, aby porozmawiać o książkach. Możesz nawet połączyć się + ze sobą lub lepiej: ze swoim innym kanał. :) <i> Pomyśl o kanałach + jak o różnych przestrzeniach poświęconych różnym tematom, w których + spotykasz się z różnymi osobami.</i> + </dd> +</dl>
\ No newline at end of file diff --git a/doc/context/pl/settings/channel/help.html b/doc/context/pl/settings/channel/help.html new file mode 100644 index 000000000..0507c73cf --- /dev/null +++ b/doc/context/pl/settings/channel/help.html @@ -0,0 +1,49 @@ +<dl class="dl-horizontal"> + <dt>Ogólne</dt> + <dd> + Po zarejestrowaniu <i>konta</i> w matrycy, utworzony został również + <i>profil</i> i <i>kanał</i>. + </dd> + <dt>Konto</dt> + <dd> + Masz teraz <i>jedno</i> konto. Składa się z Twojego adresu e-mail i + hasła. Za pomocą swojego konta uzyskujesz dostęp do profili i kanałów. + <i>Pomyśl o swoim koncie jak o sposobie uwierzytelniania w jednym + serwisie Hubzilla. To pozwala wykonywać różne czynności, takie jak + tworzenie profili i kanałów, za pomocą których można łączyć się z + innymi osobami.</i> + </dd> + <dt>Profil</dt> + <dd> + Z pewnością już zarejestrowałeś/zarejestrowałaś się w innych usługach + internetowych, takich jak fora lub społeczności internetowe. W nich + wszystkich trzeba było podać pewne informacje o sobie, takie jak data + urodzenia, kraj, wiek i upodobania. W przeciwieństwie do nich + usługi Hubzilla daje Ci przewagę tworzenia <i>wielu profili </i>. + W ten sposób możesz rozróżniać profil przeznaczone specjalnie dla + wszystkich (Twój profil publiczny), od profili przeznaczonych dla + współpracowników, rodziny czy partnera. <i> Potraktuj swój profil + jak pojemnik zawierający podstawowe informacje o Tobie, jakie + przekazujesz innym osobom. </i> + </dd> + <dt>Kanał</dt> + <dd> + Podczas rejestracji utworzyłeś/utworzyłaś swój pierwszy <i>kanał</i>. + Tak, poza kilkoma profilami, również możesz mieć kilka kanałów. Na + początku może to być nieco zagmatwane, ale wyjaśnijmy to. Już masz + utworzony jeden kanał. Możesz używać go do publicznego komunikowania + się z osobami w życiu codziennym. Lecz być może jesteś zapalonym + czytelnikiem książek a wielu ludzi się tym nudzi. Otwierasz więc + <i>drugi kanał</i> dla miłośników książek, gdzie wszyscy mogą rozmawiać + o książkach tyle, ile zechcą. Oczywiście jest to nowy strumień postów, + z nowym profilem (... lub nowymi profilami) i zupełnie z innymi + kontaktami. Niektóre połączenia mogą istnieć w obu kanałach, ale będą + takie, które będą występować wyłącznie w jednym z nich. Ty po prostu + przełączaj się między nimi tak, jak w prawdziwym życiu, gdy rozmawiasz + z ludźmi, których spotykasz na ulicy lub z osobami, które spotykasz + specjalnie, aby porozmawiać o książkach. Możesz nawet połączyć się + ze sobą lub lepiej: ze swoim innym kanał. :) <i> Pomyśl o kanałach + jak o różnych przestrzeniach poświęconych różnym tematom, w których + spotykasz się z różnymi osobami.</i> + </dd> +</dl>
\ No newline at end of file diff --git a/doc/context/pl/settings/features/help.html b/doc/context/pl/settings/features/help.html new file mode 100644 index 000000000..a33e546f4 --- /dev/null +++ b/doc/context/pl/settings/features/help.html @@ -0,0 +1,35 @@ +<dl class="dl-horizontal"> + <dt>Ogólne</dt> + <dd> + Ta strona umożliwia skonfigurowanie ustawień dla wielu dodatkowych funkcji Hubzilli. + </dd> + <dt><a href='#' onclick='$("#general-settings-title h3 a").click(); + setTimeout((function() {contextualHelpFocus("#general-settings-title", 0)}), 1000); + return false;' title="Klikniaj, aby podświetlić element...">Główne cechy</a></dt> + <dd> + Ogólne ustawienia funkcji zawierają opcje związane z Twoim kanałem, takie jak + hosting strony internetowej i wiki. + </dd> + <dt><a href='#' onclick='$("#composition-settings-title h3 a").click(); + setTimeout((function() {contextualHelpFocus("#composition-settings-title", 0)}), 1000); + return false;' title="Klikniaj, aby podświetlić element...">Funkcje kompozycji postów</a></dt> + <dd> + Funkcje kompozycji postów zapewniają dodatkowe opcje i możliwości podczas + tworzenia nowych postów. + </dd> + <dt><a href='#' onclick='$("#net_module-settings-title h3 a").click(); + setTimeout((function() {contextualHelpFocus("#net_module-settings-title", 0)}), 1000); + return false;' title="Klikniaj, aby podświetlić element...">Sieć i fitrowanie strumienia</a></dt> + <dd> + Te ustawienia modyfikują funkcje związane z filtrowaniem i kontrolowaniem widoku + przychodzących postów. + </dd> + <dt><a href='#' onclick='$("#tools-settings-title h3 a").click(); + setTimeout((function() {contextualHelpFocus("#tools-settings-title", 0)}), 1000); + return false;' title="Klikniaj, aby podświetlić element...">Narzędzia postów i komentarzy</a></dt> + <dd> + Ustawienia te zapewniają dodatkowe narzędzia do kategoryzowania postów + i umożliwiają dodatkowe metody komentowania, takie jak emoji lub tagowanie + społecznościowe. + </dd> +</dl>
\ No newline at end of file diff --git a/doc/context/pl/settings/tokens/help.html b/doc/context/pl/settings/tokens/help.html new file mode 100644 index 000000000..cebe30ced --- /dev/null +++ b/doc/context/pl/settings/tokens/help.html @@ -0,0 +1,43 @@ +<dl class="dl-horizontal"> + <dt><a href="/help/member/member_guide#Guest_Access_Tokens">Tokeny dostÄ™pu goÅ›cia</a></dt> + <dd> + Aby uÅ‚atwić udostÄ™pnianie prywatnych zasobów osobom niebÄ™dÄ…cym czÅ‚onkami + lub czÅ‚onkami sfederyzowanych wÄ™złów (hubów) i zapewnić zabezpieczone + wykrywaniem danych identyfikacyjnych, Hubzilla zawiera mechanizm tworzenia + i zarzÄ…dzania tymczasowymi ("jednorazowymi") loginami, zwanymi "tokenami + dostÄ™pu Zotâ€. Tokeny te, bÄ™dÄ…ce swojego rodzaju danymi uwierzytelniajÄ…cymi, + mogÄ… być używane do uwierzytelniania w serwisie Hubzilla wyłącznie w celu + uzyskania dostÄ™pu do uprzywilejowanych lub kontrolowanych zasobów (pliki, + zdjÄ™cia, posty, strony internetowe, pokoje rozmów itp.). + </dd> + <dt>Utworzenie tokenu</dt> + <dd> + Formularz do tworzenia i edycji akceptuje trzy parametry: czytelnÄ… dla + czÅ‚owieka nazwÄ™, hasÅ‚o lub token dostÄ™pu oraz opconalnÄ… okres ważnoÅ›ci. + Po wygaÅ›niÄ™ciu token dostÄ™pu nie jest już ważny, nie może być już używany + i bÄ™dzie automatycznie usuniÄ™te z listy kont tymczasowych. Pole hasÅ‚a + w formularzach tworzenia i edycji wyÅ›wietla tekst tokenu dostÄ™pu, a nie + zasÅ‚oniÄ™te hasÅ‚o. + </dd> + <dt>UdostÄ™pnienie tokenu</dt> + <dd> + Nie jest narzucony sposób udostÄ™pniania tych tokenów innym osobom. Można + użyć dowolnej metody komunikacji. Wszystkie utworzone tokeny sÄ… dodawane + do selektora listy kontroli dostÄ™pu i mogÄ… być używane wszÄ™dzie tam, gdzie + sÄ… dostÄ™pne listy kontroli dostÄ™pu. + + <b>PrzykÅ‚ad</b>: OdwiedzajÄ…cy nawiguje w przeglÄ…darce do TwojÄ…ej witryny. + Ma podany przez Ciebie token dostÄ™pu i próbuje odwiedzić jeden z Twoich + albumów ze zdjÄ™ciami (który jest ograniczony do przeglÄ…dania tylko przez + Ciebie i jednÄ… tymczasowÄ… tożsamość). Odmowa dostÄ™pu. + + OdwiedzajÄ…cy wybiera teraz opcjÄ™ „Zaloguj się†z paska nawigacji menu. + To wyÅ›wietli stronÄ™ logowania. Wpisuje tam nazwÄ™ i hasÅ‚o, które podaÅ‚eÅ› + i może teraz przeglÄ…dać zabezpieczony album ze zdjÄ™ciami. + + Alternatywnie możesz udostÄ™pnić łącze do chronionego pliku, dodajÄ…c parametr + "&zat=abc123" do adresu URL, gdzie ciÄ…g "abc123" to token dostÄ™pu lub + hasÅ‚o do tymczasowego logowania. Nie sÄ… wymagane dalsze negocjacje + a żądany zasób zostanie wyÅ›wietlony. + </dd> +</dl>
\ No newline at end of file diff --git a/doc/context/pl/webpages/help.html b/doc/context/pl/webpages/help.html new file mode 100644 index 000000000..64858fcf6 --- /dev/null +++ b/doc/context/pl/webpages/help.html @@ -0,0 +1,24 @@ +<dl class="dl-horizontal"> + <dt>Ogólne</dt> + <dd> + Możesz tworzyć modułowe, rozpoznające tożsamość witryny internetowe, składające + się z elementów, które można udostępniać. + </dd> + <dt>Strony</dt> + <dd> + Tutaj znajduje się lista Twoich "stron" z przypisanymi adresami URL, + pod którymi osoby mogą je odwiedzać. Struktura stron jest zwykle opisywana + przez powiązany <b>układ</b>, a ich zawartość jest tworzona ze zbioru <b>bloków</b>. + </dd> + <dt><a href='#' onclick='contextualHelpFocus("#website-portation-tools", 1); + return false;' title="Click to highlight element...">Narzędzia do przenoszenia stron internetowych</a></dt> + <dd> + Narzędzia do przenoszenia witryn umożliwiają importowanie i eksportowanie wielu + elementów strony internetowej (stron, układów, bloków). Możesz <b>zaimportować</b> + te alementy albo z przesłanego pliku ZIP, albo z istniejącego folderu plików + w chmurze. Możesz je <b>wyeksportować</b> do pliku zip zawierającego wybraną + grupę elementów strony internetowej w formie zgodnej z narzędziem do importowania + lub możesz wyeksportować bezpośrednio do folderu plików w chmurze. + <a target="_blank" href="help/webpages"> Czytaj więcej ... </a> + </dd> +</dl>
\ No newline at end of file diff --git a/doc/context/pl/wiki/help.html b/doc/context/pl/wiki/help.html new file mode 100644 index 000000000..6aa6a7192 --- /dev/null +++ b/doc/context/pl/wiki/help.html @@ -0,0 +1,29 @@ +<dl class="dl-horizontal"> + <dt>Ogólne</dt> + <dd> + Każda wiki to zbiór stron utworzonych jako pliki tekstowe w formacie Markdown. + </dd> + <dt>Wykaz Wiki</dt> + <dd> + Strony wiki należące do kanaÅ‚u, <i>do przeglÄ…dania którego masz uprawnienia</i>, + sÄ… wymienione w panelu bocznym. + </dd> + <dt>Historia strony</dt> + <dd> + Zapisywana jest każda wersja strony, aby umożliwić szybkie przywrócenie. + Kliknij kartÄ™ <b>Historia</b>, aby wyÅ›wietlić historiÄ™ zmian strony, w tym + datÄ™ i autora każdej z nich. Przycisk przywróć zaÅ‚aduje wybranÄ… wersjÄ™, ale + nie zapisze automatycznie strony. + </dd> + <dt>Strony</dt> + <dd> + Lista stron wiki znajduje siÄ™ w panelu <b>Strony Wiki</b>. Przed zapisaniem + zmian na stronie za pomocÄ… rozwijanego menu <b>Strona</b> można + <a href = '#' onclick = 'contextualHelpFocus ("# id_commitMsg", 0); + return false; ' title = "Kliknij, aby podÅ›wietlić element ...">wprowadzić + wÅ‚asny komunikat</a>, który bÄ™dzie wyÅ›wietlany w + <a href = '#' onclick = 'contextualHelpFocus ("# wiki-get-history", 0); + return false; ' title = "Kliknij, aby podÅ›wietlić element ..."><b> Historii + strony</b> przeglÄ…darki </a> wraz z wersjÄ…. + </dd> +</dl> diff --git a/doc/hidden_configs.bb b/doc/hidden_configs.bb index 42c9e67b8..27ea415bd 100644 --- a/doc/hidden_configs.bb +++ b/doc/hidden_configs.bb @@ -62,7 +62,7 @@ Options are: [*= system.email_notify_icon_url ] URL of image (32x32) to display in email notifications (HTML bodies). [*= system.expire_delivery_reports ] Expiration in days for delivery reports - default 10 [*= system.expire_limit ] Don't expire any more than this number of posts per channel per expiration run to keep from exhausting memory. Default 5000. - [*= system.filesystem_storage_thumbnails ] If '1', use filesystem instead SQL database to store thumbnails. Default is '0'. Introduced in 4.2 + [*= system.photo_storage_type] If '1', use filesystem instead SQL database to store thumbnails. Default is '0'. Introduced in 4.2 [*= system.hidden_version_siteinfo ] If true, do not report the software version on siteinfo pages (system.hide_version also hides the version on these pages, this setting *only* hides the version on siteinfo pages). [*= system.hide_help ] Don't display help documentation link in nav bar [*= system.hide_in_statistics ] Tell the red statistics servers to completely hide this hub in hub lists. diff --git a/doc/macros/pl/addons_footer.bb b/doc/macros/pl/addons_footer.bb new file mode 100644 index 000000000..f16d5cce3 --- /dev/null +++ b/doc/macros/pl/addons_footer.bb @@ -0,0 +1,2 @@ +Return to the [zrl=[baseurl]/help/addons]Dokumentacja dodatków[/zrl] +Return to the [zrl=[baseurl]/help/main]Główna dokumentacja[/zrl] diff --git a/doc/macros/pl/cloud_footer.bb b/doc/macros/pl/cloud_footer.bb new file mode 100644 index 000000000..a9db7f819 --- /dev/null +++ b/doc/macros/pl/cloud_footer.bb @@ -0,0 +1,2 @@ +Return to the [zrl=[baseurl]/help/cloud]Dokumentacja chmury[/zrl] +Return to the [zrl=[baseurl]/help/main]Główna strona dokumentacji[/zrl] diff --git a/doc/macros/pl/main_footer.bb b/doc/macros/pl/main_footer.bb new file mode 100644 index 000000000..8bf25fed5 --- /dev/null +++ b/doc/macros/pl/main_footer.bb @@ -0,0 +1 @@ +Powróć do [zrl=[baseurl]/help/main]głównej strony dokumentacji[/zrl] diff --git a/doc/macros/pl/troubleshooting_footer.bb b/doc/macros/pl/troubleshooting_footer.bb new file mode 100644 index 000000000..19328ad64 --- /dev/null +++ b/doc/macros/pl/troubleshooting_footer.bb @@ -0,0 +1,2 @@ +[zrl=[baseurl]/help/troubleshooting]Dokumentacja dotyczÄ…ca rozwiÄ…zywania problemów[/zrl] +[zrl=[baseurl]/help/troubleshooting]Główna strona dokumentacji[/zrl] diff --git a/doc/pl/AdvancedSearch.md b/doc/pl/AdvancedSearch.md new file mode 100644 index 000000000..f76ddf99e --- /dev/null +++ b/doc/pl/AdvancedSearch.md @@ -0,0 +1,52 @@ +Zaawansowane przeszukiwanie katalogu +==================================== + +Zaawansowane wyszukiwanie w katalogu jest włączone w "Trybie eksperta" na stronie Ustawienia > Dodatkowe funkcje. + +Na stronie katalogu, w widżecie "Znajdź kanaÅ‚y" (zazwyczaj na pasku bocznym) widoczna jest opcja "Zaawansowane". KlikniÄ™cie jej otwiera kolejne pole wyszukiwania umożliwiajÄ…ce wprowadzenie żądaÅ„ wyszukiwania zaawansowanego. + +Zaawansowane żądania zawierajÄ…: + +* name=xxx +[Nazwa kanaÅ‚u zawiera xxx] + +* address=xxx +[Adres kanaÅ‚u (webbie) zawiera xxx] + +* locale=xxx +[Lokalizaja (zazwyczaj 'city') zawiera xxx] + +* region=xxx +[Region (stan/terytorium) zawiera xxx] + +* postcode=xxx +[Kod pocztowy lub kod ZIP zawiera xxx] + +* country=xxx +[Nazwa kraju zawiera xxx] + +* gender=xxx +[PÅ‚eć zawiera xxx] + +* marital=xxx +[Stan cywilny zawiera xxx] + +* sexual=xxx +[Preferencje seksualne zawierajÄ… xxx] + +* keywords=xxx +[SÅ‚owa kluczowe zawierajÄ… xxx] + +Istnieje wiele powodów, dla których dopasowanie może nie zwrócić tego, czego szukasz, ponieważ wiele kanałów nie podaje szczegółowych informacji w swoim domyÅ›lnym (publicznym) profilu, a wiele z tych pól umożliwia wprowadzanie dowolnego tekstu w kilku jÄ™zykach - i sprawia to trudność w dokÅ‚adnym dopasowaniu. Na przykÅ‚ad możesz uzyskać lepszy wynik, chcÄ…c znaleźć kogoÅ› w USA, nie za pomocÄ… frazy `'country = u'` (bo pojawiÄ… sie też kanaÅ‚y z Niemiec, BuÅ‚garii i Australii), a za pomocÄ… fraz US, U.S.A, USA, United States, itd. + +PrzyszÅ‚e wersje tego narzÄ™dzia mogÄ… już dziaÅ‚ać lepiej. + +Żądania można łączyć ze sobÄ… za pomocÄ… operatorów `and`, `or` lub `and not`. + +Frazy zawierajÄ…ce spacje należy ujmowć w cudzysÅ‚owy. + +PrzykÅ‚ad: + + name="charlie brown" and country=canada and not gender=female + +#include doc/macros/pl/main_footer.bb; diff --git a/doc/pl/Features.md b/doc/pl/Features.md new file mode 100644 index 000000000..1977df379 --- /dev/null +++ b/doc/pl/Features.md @@ -0,0 +1,107 @@ +Dodatkowe możliwoÅ›ci +==================== + +DomyÅ›lny interfejs $Projectname zostaÅ‚ zaprojektowany tak, aby byÅ‚ dobrze uporzÄ…dkowany. Istnieje ogromna liczba dodatkowych funkcji (niektóre sÄ… bardzo przydatne), które można włączyć i jak najlepiej wykorzystać. Można je znaleźć pod klikajÄ…c link [Dodatkowe funkcje](settings/features) na stronie [Ustawienia](settings). + +**WygaÅ›niÄ™cie treÅ›ci** + +Usuwanie postów, komentarzy albo prywatnych wiadomoÅ›ci w okreÅ›lonym terminie. Do edytora postów zostaje dodany dodatkowy przycisk, za pomoca któreg można ustawić termin wygaÅ›niÄ™cia publikacji. Zwykle data jest wyÅ›wietlana w formacie „rrrr-mm-dd gg: mmâ€, ale w jÄ™zyku angielskim ma siÄ™ nieco wiÄ™kszÄ… swobodÄ™ i można używać wiÄ™kszoÅ›ci rozpoznawalnych odniesieÅ„ do dat, takich jak "next Thursday" czy "+1 day". W okreÅ›lonym terminie (podanym lub zajmujÄ…cym okoÅ‚o dziesiÄ™ciu minut, w zależnoÅ›ci od czÄ™stotliwoÅ›ci sprawdzania zdalnego systemu) element jest usuwany. + +**Wiele profili** + +Możliwość tworzenia wielu profili, które sÄ… widoczne tylko dla okreÅ›lonych osób lub grup. Twój profil domyÅ›lny może być widoczny dla każdego, ale wszystkie profile dodatkowe mogÄ… zawierać inne lub dodatkowe informacje i mogÄ… być widoczne tylko dla tych, do których jest przypisany. + +**Strony internetowe** + +Zapewnia możliwość korzystania z funkcji projektowania stron internetowych i tworzenia niestandardowych stron internetowych na podstawie wÅ‚asnej zawartoÅ›ci, a także projektowania stron z ukÅ‚adami stron, niestandardowymi elemntami menu i blokami treÅ›ci. + + +**Prywatne notatki** + +Na stronach, na których jest to dostÄ™pne (Twoja matryca i osobiste strony internetowe), zapewnia widżet do tworzenia i przechowywania osobistych przypomnieÅ„ i notatek. + +**Ulepszone albumy ze zdjÄ™ciami** + +Zapewnia przeglÄ…darkÄ™ albumów zdjęć, która ma nieco Å‚adniejszy interfejs niż zwykÅ‚y album. + +**Rozszerzone udostÄ™pnianie tożsamoÅ›ci** + +DomyÅ›lnie Twoja tożsamość "podróżuje" z TobÄ…, gdy przeglÄ…dasz matrycÄ™ zdalnych witryn - tam też wiedzÄ… kim jesteÅ› i mogÄ… wyÅ›wietlać Ci treÅ›ci, które tylko Ty widzisz. DziÄ™ki rozszerzonemu udostÄ™pnianiu tożsamoÅ›ci możesz dostarczyć te informacje do dowolnej odwiedzanej witryny z poziomu swojej matrycy. + +**Tryb ekspercki** + +Pozwala to zobaczyć niektóre zaawansowane opcje konfiguracji, które mogÄ… dezorientować niektóre osoby lub powodować problemy z obsÅ‚ugÄ…. Funkcjonalność ta może zapewnić peÅ‚nÄ… kontrolÄ™ nad funkcjami i kolorami motywu - dziÄ™ki czemu można dostosować dużą liczbÄ™ ustawieÅ„ motywu wyÅ›wietlania do wÅ‚asnych upodobaÅ„. + +**KanaÅ‚ Premium** + +DziÄ™ki temu możesz ustawić ograniczenia i warunki dotyczÄ…ce tych, które łączÄ… siÄ™ z Twoim kanaÅ‚em. Może to być używane przez celebrytów lub kogoÅ›, kto chce postawić jakieÅ› warunki osobom, które chcÄ… siÄ™ połączyć z tym kanaÅ‚e. Jednym z warunków moze byc dokonanie pÅ‚atnoÅ›ci za połączenie. + +**Edytor tekstu formatowanego** + +Edytor postów dostÄ™pny z poziomy matrycy jest edytorem zwykÅ‚ego tekstu, ale matryca pozwala na stosowanie szerokieo zakresu znaczników przy użyciu BBcode. Edytor wizualny jest natomiast edytorem WYSIWIG (what you see is what you get - otrzymujesz to, co widzisz)i zapewnia wszystkie najczęściej używane znaczniki BBcode. + +**PodglÄ…d wpisu** + +Umożliwia podglÄ…d postów i komentarzy dokÅ‚adnie tak, jak wyglÄ…daÅ‚yby na stronie przed ich opublikowaniem. + +**ŹródÅ‚a kanałów** + +Automatycznie importuje i ponownie publikuje zawartość kanaÅ‚u z innych kanałów lub źródeÅ‚. Umożliwia to tworzenie podkanałów i superkanałów z treÅ›ci publikowanych gdzie indziej. Zasady sÄ… takie, że treść musi być publiczna, a wÅ‚aÅ›ciciel kanaÅ‚u musi udzielić Ci pozwolenia na pozyskiwanie swojego kanaÅ‚u. + +**Jeszcze wiÄ™cej szyfrowania** + +Stadardowo, prywatne wiadomoÅ›ci sÄ… szyfrowane podczas transportu i przechowywania. W dzisiejszych czasach to szyfrowanie może nie wystarczyć, jeÅ›li twoja komunikacja jest wyjÄ…tkowo wrażliwa. Ta opcja umożliwia dodatkowo szyfrowanie treÅ›ci "end-toend" za pomocÄ… wspólnego tajnego klucza. Sposób, w jaki odbiorca pozna tajny klucz, zależy wyłącznie od Ciebie. Możesz podać wskazówkÄ™, na przykÅ‚ad "imiÄ™ pierwszego psa cioci Kloci". + +**Wyszukiwanie wg daty** + +Daje to możliwość wybierania postów wedÅ‚ug zakresów dat + +**Filtr grup prywatnoÅ›ci** + +Włączenie tego widżetu umożliwia wyÅ›wietlanie strumienia postów tylko z wybranych grup połączeÅ„. Powoduje to również przełączenie uprawnieÅ„ wychodzÄ…cych podczas przeglÄ…dania grupy prywatnoÅ›ci. Jest to podobne do "krÄ™gów" Google czy też "aspektów" w Disaporze. + +**Zapisane wyszukiwania** + +UdostÄ™pnia widżet wyszukiwania na stronie matrycy, który może zapisywać wybrane frazy wyszukiwania do ponownego wykorzystania. + +**ZakÅ‚adka Osobiste** + +Włącz tÄ… kartÄ™, aby wyÅ›wietlać tylko wpisy matrycowe, z którymi w jakiÅ› sposób wchodziÅ‚eÅ› w interakcjÄ™, jako autor lub współautor konwersacji. + +**ZakÅ‚adka Nowy** + +Włącza tÄ… kartÄ™, aby wyÅ›wietlać wszystkich nowych dziaÅ‚ania matrycy jako węża strażackiego lub osi czasu. + +**Narzedzia zaprzyjaźnienia** + +Filtrowanie aktywnoÅ›ci strumienia matrycy wedÅ‚ug głębokoÅ›ci relacji. + +**Edytuj wysÅ‚ane posty** + +Mozliwość edytowania i poprawiania postów i komentarzy juz po wysÅ‚aniu. + +**Tagowanie** + +Możliwość tagowania istniejÄ…cych postów, w tym napisanych przez innych. + +**Kategorie postów** + +Możliwość dodawania kategorie do postów na swoim kanale + +**Zapisane foldery** + +Możliwość umieszczania postów w folderach lub tagach do późniejszego przywoÅ‚ania. + +**Dezaprobata postów** + +Możliwość dezaprobaty ("niepolubienia") wpisów i komentarzy. + +**Gwiazdkowanie postów** + +Możliwość oznaczania specjalnych postów znakiem gwiazdki + +**Chmura tagów** + +UdostÄ™pnienie osobistej chmury tagów na stronie swojego kanaÅ‚u + +#include doc/macros/pl/main_footer.bb; diff --git a/doc/pl/TermsOfService.md b/doc/pl/TermsOfService.md new file mode 100644 index 000000000..9b42edc4a --- /dev/null +++ b/doc/pl/TermsOfService.md @@ -0,0 +1,9 @@ +Regulamin serwisu +================= + +#include doc/pl/SiteTOS.md; + +Polityka prywatnoÅ›ci +==================== + +#include doc/pl/gdpr1.md;
\ No newline at end of file diff --git a/doc/pl/Translations.md b/doc/pl/Translations.md new file mode 100644 index 000000000..4b9e2793b --- /dev/null +++ b/doc/pl/Translations.md @@ -0,0 +1,89 @@ +TÅ‚umaczenie $Projectname +======================== + +Procedura tÅ‚umaczenia +--------------------- + +CiÄ…gi używane w interfejsie użytkownika $Projectname sÄ… tÅ‚umaczone +w [Transifex][1], a nastÄ™pnie przeniesione do repozytorium Git na +github. JeÅ›li chcesz pomóc w tÅ‚umaczeniu dla dowolnego jÄ™zyka, czy +to poprawianie warunków, czy tÅ‚umaczenie $Projectname na plik aktualnie +nieobsÅ‚ugiwany jÄ™zyk, zarejestruj konto na transifex.com i skontaktuj +siÄ™ z tamtejszym zespoÅ‚em tÅ‚umaczy Redmatrix. + +TÅ‚umaczenie $Projectname jest proste. Po prostu użyj narzÄ™dzia online +w transifex. JeÅ›li nie chcesz mieć do czynienia z git & co. w porzÄ…dku, +regularnie sprawdzamy status tÅ‚umaczeÅ„ i importujemy je do drzewa +źródÅ‚owego na github, aby inni mogli z nich korzystać. + +Nie uwzglÄ™dniamy każdego tÅ‚umaczenia z transifex w drzewie źródÅ‚owym, +aby uniknąć rozproszonego i zakłóconego ogólnego doÅ›wiadczenia. Jako +niewyksztaÅ‚cone przypuszczenie mamy dolnÄ… granicÄ™ 50% przetÅ‚umaczonych +ciÄ…gów, zanim włączymy jÄ™zyk. Limit ten jest oceniany tylko na podstawie +iloÅ›ci przetÅ‚umaczonych ciÄ…gów przy zaÅ‚ożeniu, że najbardziej widoczne +ciÄ…gi dla interfejsu użytkownika zostanÄ… przetÅ‚umaczone jako pierwsze +przez zespół tÅ‚umaczÄ…cy. JeÅ›li uważasz, że Twoje tÅ‚umaczenie bÄ™dzie +przydatne przed tym limitem, skontaktuj siÄ™ z nami, a prawdopodobnie +uwzglÄ™dnimy pracÄ™ Twoich zespołów w drzewie źródÅ‚owym. + +JeÅ›li chcesz samodzielnie przenieść swojÄ… pracÄ™ do drzewa źródÅ‚owego, +zrób to i skontaktuj siÄ™ z nami i zadaj pytanie, które siÄ™ pojawi. +Proces jest prosty, a oprogramowanie $Projectname jest dostarczane ze wszystkimi +niezbÄ™dnymi narzÄ™dziami. + +LokalizacjÄ… przetÅ‚umaczonych plików jest w drzewie źródÅ‚owym katalog +`/view/LNG-CODE/`, ggdzie LNG-CODE jest używanym kodem jÄ™zyka, np. +`de` dla niemieckiego lub `fr` dla francuskiego. +W przypadku szablonów wiadomoÅ›ci e-mail (pliki `*.tpl`) po prostu umieść +je w katalogu i gotowe. PrzetÅ‚umaczone Å‚aÅ„cuchy pochodzÄ… z pliku +"hmessages.po" z transifex, który należy przetÅ‚umaczyć na plik PHP +używany przez $Projectname. Aby to zrobić, umieść plik w wymienionym +wyżej katalogu i użyj narzÄ™dzia `po2php` z katalogu `util` w instalacji +$Projectname. + +ZakÅ‚adajÄ…c, że chcesz przetÅ‚umaczyć niemieckÄ… wersjÄ™ umieszczonÄ… pliku +`view/de/hmessages.po`, wykonaj nastÄ™pujÄ…ce czynnoÅ›ci. + +1. Przejdź w wierszu polecenia do katalogu głównego instalacji $Projectname + +2. Wykonaj skrypt `po2php`, który jest umieszczono tÅ‚umaczenia dla pliku `hstrings.php`, który jest używany w $Projectname. + + $> php util/po2php.php view/de/hmessages.po + + Dane wyjÅ›ciowe skryptu zostanÄ… umieszczone w `view/de/hstrings.php, gdzie + froemdoca oczekuje tego pliku, wiÄ™c możesz natychmiast przetestować swoje + tÅ‚umaczenie. + +3. Odwiedź swojÄ… stronÄ™ $Projectname, aby sprawdzić, czy nadal dziaÅ‚a w jÄ™zyku, który wÅ‚aÅ›nie przetÅ‚umaczyÅ‚eÅ›. JeÅ›li nie, spróbuj znaleźć błąd, najprawdopodobniej PHP da ci wskazówkÄ™ w opisie błędu w `log/warnings.about`. + + W celu debugowania możesz również spróbować "uruchomić" plik za pomocÄ… PHP. Nie powinno to dawać żadnych wyników, jeÅ›li plik jest w porzÄ…dku, ale może dać wskazówkÄ™ dotyczÄ…cÄ… wyszukiwania błędu. + + $> php view/de/hstrings.php + +4. Zatwierdź te dwa pliki z sensownym komunikatem o zatwierdzeniu do repozytorium git, wypchnij je do rozwidlenia repozytorium $Projectname na github i wydaj żądanie Å›ciÄ…gniÄ™cia dla tego zatwierdzenia. + +NarzÄ™dzia +--------- + +Oprócz skryptu po2php, jest jeszcze w katalogu "util" w drzewie źródÅ‚owym $Projectname +kilka narzÄ™dzi do tÅ‚umaczenia. JeÅ›li tylko chcesz przetÅ‚umacz $Projectname na inny +jÄ™zyk, którego nie potrzebujesz najbardziej, ale da Ci to wyobrażenie o procesie +tÅ‚umaczenia $Projectname. + +WiÄ™cej informacji można znaleźć w pliku utils/README. + +Znane problemy +-------------- + +* $Projectname używa ustawieÅ„ jÄ™zyka przeglÄ…darki odwiedzajÄ…cych, aby okreÅ›lić + jÄ™zyk interfejsu użytkownika. W wiÄ™kszoÅ›ci przypadków to dziaÅ‚a, ale sÄ… pewne + znane dziwactwa. +* wczesne tÅ‚umaczenia sÄ… oparte na przekÅ‚adach Friendica, jeÅ›li znajdziesz jakieÅ› + błędy, daj nam znać lub popraw je w Transifex. + +Linki +------ +[1]: http://www.transifex.com/projects/p/hubzilla/ + + +#include doc/pl/macros/main_footer.bb; diff --git a/doc/pl/about/about.bb b/doc/pl/about/about.bb new file mode 100644 index 000000000..73d710cbc --- /dev/null +++ b/doc/pl/about/about.bb @@ -0,0 +1,181 @@ +[h3]Co to jest $Projectname?[/h3] +$Projectname to bezpÅ‚atny i otwartoźródÅ‚owy zestaw aplikacji i usÅ‚ug internetowych dziaÅ‚ajÄ…cych na specjalnym serwerze internetowym, zwanym "hubem", który może łączyć siÄ™ z innymi hubami w sfederalizowanej sieci internetowej. +$Projectname zapewnia użytkownikom zaawansowanÄ… komunikacjÄ™, tożsamoÅ›ci i usÅ‚ug kontroli dostÄ™pu, które bezproblemowo współpracujÄ… w różnych domenach i niezależnych witrynach internetowych. Pozwala użytkownikom [b]publicznie[/b] lub [b]prywatnie[/b] publikować treÅ›ci za poÅ›rednictwem "kanałów" (ang. channel), które sÄ… podstawowymi, zabezpieczonymi kryptograficznie tożsamoÅ›ciami zapewniajÄ…cymi uwierzytelnianie niezależnie od hubów, które je hostujÄ…. To rewolucyjne wyzwolenie tożsamoÅ›ci online z poszczególnych serwerów i domen jest nazywane "tożsamoÅ›ciÄ… nomadycznÄ…" i jest oparte na protokole Zot, nowej strukturze zdecentralizowanej kontroli dostÄ™pu ze szczegółowymi, rozszerzalnymi uprawnieniami. +Z praktycznego punktu widzenia czÅ‚onków danego huba, korzystajÄ…cych z oprogramowania $Projectname, oferuje ono szereg znanych, zintegrowanych aplikacji i usÅ‚ug internetowych, w tym: +[ul] +[li]wÄ…tki dyskusyjne w sieciach spoÅ‚ecznoÅ›ciowych[/li] +[li]przechowywanie plików w chmurze[/li] +[li]kalendarz i kontakty (z obsÅ‚ugÄ… CalDAV i CardDAV)[/li] +[li]hosting stron internetowych z systemem zarzÄ…dzania treÅ›ciÄ…[/li] +[li]wiki[/li] +[li]i dużo wiÄ™cej ...[/li][/ul] +Chociaż wszystkie te aplikacje i usÅ‚ugi można znaleźć w innych pakietach oprogramowania, tylko $Projectname pozwala ustawić uprawnienia dla grup i osób, [b]które mogÄ… nawet nie mieć kont na Twoim hubie[/b]! W typowych aplikacjach internetowych, jeÅ›li chcesz udostÄ™pniać rzeczy prywatnie w Internecie, osoby, którym udostÄ™pniasz dane, muszÄ… mieć konta na serwerze, na którym znajdujÄ… siÄ™ Twoje dane; w przeciwnym razie serwer nie może uwierzytelniać odwiedzajÄ…cych witrynÄ™, aby wiedzieć, czy przyznać im dostÄ™p. $Projectname rozwiÄ…zuje ten problem za pomocÄ… zaawansowanego systemu zdalnego uwierzytelniania, który weryfikuje tożsamość odwiedzajÄ…cych, wykorzystujÄ…c techniki obejmujÄ…ce kryptografiÄ™ klucza publicznego. +DziÄ™ki oferowanym aplikacjom, $Projectname Å›wietnie siÄ™ nadaje do budowy platformy komunikacyjno-publikacyjnej o charkterze spoÅ‚ecznoÅ›ciowym dla realnych grup spoÅ‚ecznych, takich jak rodziny, lokalne grupy, organizacje spoÅ‚eczne, Å›rodowiska szkolne, wspólnoty mieszkaÅ„ców czy wspólnoty religijne. + +[h3]Stos programów[/h3] +Pakiet oprogramowania $Projectname jest stosunkowo standardowÄ… aplikacjÄ… serwerowÄ… napisanÄ… głównie w PHP i MySQL i [url=https://framagit.org/$Projectname/core/blob/master/install/INSTALL.txt]wymagajÄ…cÄ… niewiele wiÄ™cej niż serwera WWW, bazy danych zgodnej z MySQL i jÄ™zyka skryptowego PHP[/url]. System zostaÅ‚ zaprojektowany tak, aby byÅ‚ Å‚atwy do zainstalowania przez osoby z podstawowymi umiejÄ™tnoÅ›ciami administrowania witrynÄ…, na typowych platformach współdzielonego hostingu, z uwzglednieniem szerokiej gamy sprzÄ™tu komputerowego. Można go również Å‚atwo rozszerzyć za pomocÄ… wtyczek i motywów oraz innych narzÄ™dzi innych firm. + +[h3]SÅ‚ownik[/h3] +[dl terms="b"] +[*= hub ([i]ang. hub[/i])] Instancja tego oprogramowania dziaÅ‚ajÄ…ca na standardowym serwerze WWW + +[*= siatka, grid ([i]w oryginale ang., grid[/i])] Globalna sieć hubów, które wymieniajÄ… miÄ™dzy sobÄ… informacje za pomocÄ… protokoÅ‚u Zot. Nie sÄ… to tylko huby oparte na $Projectname, ale wszystkie hubyy implementujace protokół Zot. + +[*= kanaÅ‚ ([i]ang. channel[/i])] Techniczny odpowiednik tożsamoÅ›ci. KanaÅ‚ może reprezentować osobÄ™, blog lub forum, żeby wymienić tylko kilka. KanaÅ‚y mogÄ… łączyć siÄ™ z innymi kanaÅ‚ami w celu udostÄ™pniania informacji z bardzo szczegółowymi uprawnieniami. + +[*= klon ([i]ang. clone[/i])] KanaÅ‚y mogÄ… mieć klony powiÄ…zane z oddzielnymi i niepowiÄ…zanymi kontami w niezależnych hubach. Komunikacja współdzielona z kanaÅ‚em jest synchronizowana miÄ™dzy klonami kanaÅ‚u, co umożliwia kanaÅ‚owi wysyÅ‚anie i odbieranie wiadomoÅ›ci oraz dostÄ™p do współdzielonych treÅ›ci z wielu hubów. Zapewnia to odporność na awarie sieci i sprzÄ™tu, które mogÄ… stanowić poważny problem w przypadku serwerów WWW z wÅ‚asnym hostingiem lub o ograniczonych zasobach. Klonowanie umożliwia caÅ‚kowite przeniesienie kanaÅ‚u z jednego huba do drugiego, zabierajÄ…c ze sobÄ… dane i połączenia. Zobacz "tożsamość nomadyczna". + +[*= tożsamość nomadyczna ([i]ang. nomadic identity[/i])] Możliwość uwierzytelniania i Å‚atwej migracji tożsamoÅ›ci w niezależnych hubach i domenach internetowych. Tożsamość nomadyczna zapewnia prawdziwÄ… wÅ‚asność tożsamoÅ›ci online, ponieważ tożsamoÅ›ci kanałów kontrolowanych przez konto w hubie nie sÄ… powiÄ…zane z samym hubem. hub bardziej przypomina "hosta" kanałów. W serwisie $Projectname nie masz "konta" na serwerze, tak jak na typowych serwisach internetowych - posiadasz tożsamość, którÄ… możesz przenosić ze sobÄ… po caÅ‚ej siatce za pomocÄ… klonów. + +[*= [url=[baseurl]/help/developer/zot_protocol]Protokół Zot[/url]] Nowy protokół, oparty na JSON, do wdrażania bezpiecznej, zdecentralizowanej komunikacji i usÅ‚ug. Różni siÄ™ od wielu innych protokołów komunikacyjnych, budujÄ…c komunikacjÄ™ na podstawie zdecentralizowanej struktury tożsamoÅ›ci i uwierzytelniania. SkÅ‚adnik uwierzytelniania jest koncepcyjnie podobny do OpenID, ale jest odizolowany od tożsamoÅ›ci opartej na DNS. Tam, gdzie to możliwe, zdalne uwierzytelnianie jest ciche i niewidoczne. Zapewnia to mechanizm kontroli dostÄ™pu rozproszonego na skalÄ™ sieci WWW, który jest dyskretny. +[/dl] + +[h3]MożliwoÅ›ci[/h3] +Ten rozdziaÅ‚ zawiera listÄ™ niektórych podstawowych funkcjonalnoÅ›ci platformy $Projectname, które sÄ… dołączone do oficjalnej wersji. $Projectname to platforma o dużych możliwoÅ›ciach rozbudowy, wiÄ™c wiÄ™cej funkcji i możliwoÅ›ci można dodać za pomocÄ… dodatkowych motywów i wtyczek. + +[h4]Suwak zaprzyjaźnienia (Affinity Slider)[/h4] +DodajÄ…c połączenia w serwisie $Projectname, czÅ‚onkowie majÄ… możliwość przypisania poziomów "zaprzyjażnienia" ([i]ang. affinity[/i]), czyli okreÅ›lenia, jak bliska jest twoja przyjaźń z osobÄ… reprezentowanÄ… przez nowe połączenia. Na przykÅ‚ad, dodajÄ…c osobÄ™, której blog obserwujesz, możesz przypisać jej kanaÅ‚owi poziom zaprzyjaźnienia "Znajomi". + +Z drugiej strony, dodajÄ…c kanaÅ‚ przyjaciela, możesz go umieÅ›cić na poziomie zaprzyjaźnienia "Przyjaciele". + +Gdy to zrobisz, narzÄ™dzie "Suwak zaprzyjaźnienia", które zwykle pojawia siÄ™ u góry głównej strony kanaÅ‚u (matrycy), dostosowuje zawartość strony tak, aby zawieraÅ‚a elementy z żądanego zakresu zaprzyjaźnienia. KanaÅ‚y spoza tego zakresu nie bÄ™dÄ… wyÅ›wietlane, chyba że dostosujesz suwak, aby to uwzglÄ™dnić. + +Suwak zaprzyjażnienia umożliwia natychmiastowe filtrowanie dużych iloÅ›ci treÅ›ci, pogrupowanych wedÅ‚ug poziomów zaprzyjaźnienia. + +[h4]Filtrowanie połączeÅ„ (Connection Filtering)[/h4] +Masz możliwość precyzyjnego kontrolowania tego, co pojawia siÄ™ w Twoim strumieniu za pomocÄ… opcjonalnego "Filtra połączeÅ„" ([i]ang. Connection Filter[/i]). Po włączeniu Edytor połączeÅ„ zapewnia dane wejÅ›ciowe do wybierania kryteriów, które należy dopasować, aby uwzglÄ™dnić lub wykluczyć okreÅ›lony post z okreÅ›lonego kanaÅ‚u. Gdy post zostaÅ‚ dopuszczony, wszystkie komentarze do tego posta sÄ… dozwolone, niezależnie od tego, czy speÅ‚niajÄ… kryteria wyboru. Możesz wybrać sÅ‚owa, które jeÅ›li sÄ… obecne, blokujÄ… post lub zapewniajÄ…, że zostanie uwzglÄ™dniony w Twoim strumieniu. Wyrażenia regularne mogÄ… być używane do jeszcze dokÅ‚adniejszej kontroli, a także hasztagów, a nawet wykrytego jÄ™zyka postu. + +[h4]Listy kontrolne dostÄ™pu (Access Control Lists - ACL)[/h4] +UdostÄ™pniajÄ…c zawartość, czÅ‚onkowie majÄ… możliwość ograniczenia tego, kto widzi zawartość. KlikajÄ…c na kłódkÄ™ pod polem udostÄ™pniania, można wybrać odbiorców postu, klikajÄ…c ich nazwy. + +Po wysÅ‚aniu, wiadomość bÄ™dzie widoczna tylko dla nadawcy i wybranych odbiorców. Innymi sÅ‚owami, wiadomość nie pojawi siÄ™ na jakichkolwiek publicznych Å›cianach. + +Listy kontroli dostÄ™pu mogÄ… być stosowane do treÅ›ci i postów, zdjęć, wydarzeÅ„, stron internetowych, pokojów rozmów i plików. + +[h4]Jednokrotne uwierzytelnianie (Single Sign-on)[/h4] +Listy kontroli dostÄ™pu dziaÅ‚ajÄ… dla wszystkich kanałów w siatce dziÄ™ki naszej unikalnej technologii pojedynczego logowania. WiÄ™kszość linków wewnÄ™trznych zapewnia token tożsamoÅ›ci, który można zweryfikować w innych witrynach $Projectname i wykorzystać do kontrolowania dostÄ™pu do prywatnych zasobów. Logujesz siÄ™ raz do swojego centrum domowego. NastÄ™pnie uwierzytelnianie we wszystkich zasobach serwisu $Projectname jest "magiczne". + +[h4]Magazyn plików z obsÅ‚ugÄ… WebDAV[/h4] +Pliki można przesyÅ‚ać do osobistego obszaru przechowywania za pomocÄ… narzÄ™dzi systemu operacyjnego (w wiÄ™kszoÅ›ci przypadków metodÄ… przeciÄ…gnij i upuść). Możesz chronić te pliki za pomocÄ… list kontroli dostÄ™pu dla dowolnej kombinacji czÅ‚onków Hubzilli (w tym niektórych czÅ‚onków sieci stron trzecich) lub upublicznić je. + +[h4]Albumy fotograficzne[/h4] +Przechowuj zdjÄ™cia w albumach. Wszystkie Twoje zdjÄ™cia mogÄ… być chronione listami kontroli dostÄ™pu. + +[h4]Kalendarze zdarzeÅ„[/h4] +Twórz zdarzenia i zadania oraz zarzÄ…dzaj nimi, które mogÄ… być również chronione za pomocÄ… list kontroli dostÄ™pu. Wydarzenia można importować i eksportować do innego oprogramowania przy użyciu standardowego formatu vcalendar lub iCal i udostÄ™pniać w postach innym osobom. Wydarzenia urodzinowe sÄ… automatycznie dodawane od znajomych i konwertowane na wÅ‚aÅ›ciwÄ… strefÄ™ czasowÄ…, dziÄ™ki czemu bÄ™dziesz dokÅ‚adnie wiedzieć, kiedy majÄ… miejsce urodziny - bez wzglÄ™du na to, gdzie siÄ™ znajdujesz na Å›wiecie w stosunku do osoby urodzonej w dniu urodzin. Wydarzenia sÄ… zwykle tworzone za pomocÄ… liczników obecnoÅ›ci, dziÄ™ki czemu Twoi znajomi i kontakty mogÄ… natychmiast [url=https://pl.wikipedia.org/wiki/RSVP_(skr%C3%B3towiec]RSVP[/url]. + +[h4]Czaty[/h4] +Możesz utworzyć dowolnÄ… liczbÄ™ osobistych czatów i zezwolić na dostÄ™p za poÅ›rednictwem list kontroli dostÄ™pu. SÄ… one zazwyczaj bezpieczniejsze niż XMPP, IRC i inne rodzaje przesyÅ‚ania wiadomoÅ›ci bÅ‚yskawicznych, chociaż zezwalamy również na korzystanie z tych innych usÅ‚ug za poÅ›rednictwem wtyczek. + +[h4]Tworzenie stron internetowych[/h4] +$Projectname ma wiele narzÄ™dzi do tworzenia stron internetowych systemu CMS, w tym do edycji ukÅ‚adu, menu, bloków, widżetów i regionów strony i treÅ›ci. DostÄ™p do wszystkich tych elementów można kontrolować, tak aby powstaÅ‚e strony byÅ‚y prywatne dla zamierzonych odbiorców. + +[h4]Aplikacje[/h4] +Aplikacje mogÄ… być tworzone i rozpowszechniane przez czÅ‚onków. RóżniÄ… siÄ™ one od tradycyjnych aplikacji typu "vendor lockin", ponieważ sÄ… caÅ‚kowicie kontrolowane przez autora - który może zapewnić kontrolÄ™ dostÄ™pu do stron aplikacji docelowej i odpowiednio pobierać opÅ‚aty za ten dostÄ™p. WiÄ™kszość aplikacji w Hubzilli jest bezpÅ‚atna i mogÄ… być Å‚atwo tworzone przez osoby bez umiejÄ™tnoÅ›ci programowania. + +[h4]UkÅ‚ad stron (Layout)[/h4] +UkÅ‚ad strony jest oparty na jÄ™zyku opisu o nazwie Comanche. $Projectname sama jest napisana w ukÅ‚adach Comanche, które możesz zmieniać. Pozwala to na poziom dostosowania, którego zwykle nie znajdziesz w tak zwanych "Å›rodowiskach wielu użytkowników". + +[h4]ZakÅ‚adki (Bookmarks)[/h4] +UdostÄ™pniaj i zapisuj albo zarzÄ…dzaj zakÅ‚adkami z linków podanych na czacie. + +[h4]Szyfrowanie wiadomoÅ›ci prywatnych i kwestie prywatnoÅ›ci[/h4] +Prywatna poczta jest przechowywana w ukrytym formacie. Chociaż nie jest to "kuloodporne", zwykle zapobiega przypadkowemu podsÅ‚uchiwaniu przez administratora witryny lub usÅ‚ugodawcÄ™ internetowego. + +Każdy kanaÅ‚ serwisu $Projectname ma swój wÅ‚asny unikalny zestaw prywatnych i powiÄ…zanych publicznych kluczy RSA 4096-bitowych, generowanych podczas pierwszego tworzenia kanałów. SÅ‚uży do ochrony przesyÅ‚anych prywatnych wiadomoÅ›ci i postów. + +Ponadto wiadomoÅ›ci mogÄ… być tworzone przy użyciu "szyfrowania end-to-end", którego nie mogÄ… odczytać operatorzy serwisów $Projectname, dostawcy usÅ‚ug internetowych ani nikt, kto nie zna hasÅ‚a. + +WiadomoÅ›ci publiczne na ogół nie sÄ… szyfrowane podczas przesyÅ‚ania ani przechowywania. + +Prywatne wiadomoÅ›ci mogÄ… zostać wycofane po wysÅ‚aniu, chociaż nie ma gwarancji, że odbiorca ich jeszcze nie przeczytaÅ‚. + +Posty i wiadomoÅ›ci mogÄ… być tworzone z datÄ… wygaÅ›niÄ™cia, po którym zostanÄ… usuniÄ™te lub usuniÄ™te ze strony odbiorcy. + +[h4]Federalizacja usÅ‚ug (Service Federation)[/h4] +Oprócz dodatkowych "łączników cross-post" do różnych alternatywnych sieci, istnieje natywna obsÅ‚uga importu treÅ›ci z kanałów RSS i Atom i wykorzystywania jej do tworzenia specjalnych kanałów. DostÄ™pne sÄ… również wtyczki do komunikacji z innymi sieciami za pomocÄ… protokołów Diaspora i GNU-Social (OStatus). Sieci te nie obsÅ‚ugujÄ… tożsamoÅ›ci nomadycznej ani kontroli dostÄ™pu miÄ™dzy domenami. Jednak podstawowa komunikacja jest obsÅ‚ugiwana: do i z Diaspora, Friendica, GNU-Social, Mastodon i innych dostawców, którzy używajÄ… tych protokołów. + +Istnieje również eksperymentalna obsÅ‚uga uwierzytelniania OpenID, której można używać na listach kontroli dostÄ™pu. To jest jeszcze w trakcie tworzenia, ale poeksperymentować można. Twój hub $Projectname może być używany jako dostawca OpenID do uwierzytelniania czÅ‚onków w zewnÄ™trznych usÅ‚ugach korzystajÄ…cych z tej technologii. + +KanaÅ‚y mogÄ… mieć uprawnienia, aby stać siÄ™ "kanaÅ‚ami pochodnymi", w przypadku gdy dwa lub wiÄ™cej istniejÄ…cych kanałów łączy siÄ™, tworzÄ…c nowy kanaÅ‚ tematyczny. + +[h4]Grupy prywatnoÅ›ci (Privacy Group)[/h4] +Nasza implementacja grup prywatnoÅ›ci jest podobna do "krÄ™gów" w Google i "aspektów" w Diasporze. Pozwala to na filtrowanie przychodzÄ…cego strumienia wedÅ‚ug wybranych grup i automatyczne ustawianie wychodzÄ…cej listy kontroli dostÄ™pu tylko na te z tej grupy prywatnoÅ›ci podczas publikowania. Możesz to zmienić w dowolnym momencie (przed wysÅ‚aniem postu). + + +[h4]UsÅ‚ugi katalogowe (Directory Services)[/h4] +Zapewniamy Å‚atwy dostÄ™p do katalogu czÅ‚onków i udostÄ™pniamy zdecentralizowane narzÄ™dzia, które mogÄ… dostarczać "sugestie" znajomych. Katalogi to zwykÅ‚e serwisy $Projectname, które zdecydowaÅ‚y siÄ™ zaakceptować rolÄ™ serwera katalogowego. Wymaga to wiÄ™cej zasobów niż wiÄ™kszość typowych serwisów, wiÄ™c nie jest to ustawienie domyÅ›lne. Katalogi sÄ… synchronizowane i dublowane, dziÄ™ki czemu wszystkie zawierajÄ… aktualne informacje o caÅ‚ej sieci (z zastrzeżeniem normalnych opóźnieÅ„ propagacji). + +[h4]TLS/SSL[/h4] +W przypadku hubów $Projectname, które używajÄ… TLS/SSL, komunikacja miÄ™dzy klientem a serwerem jest szyfrowana za pomocÄ… protokoÅ‚u TLS/SSL. BiorÄ…c pod uwagÄ™ niedawno ujawnione w mediach fakty dotyczÄ…ce powszechnego, globalnego nadzoru i obchodzenia szyfrowania przez NSA i GCHQ, uzasadnione jest zaÅ‚ożenie, że komunikacja chroniona przez HTTPS może być zagrożona na różne sposoby. W konsekwencji prywatna komunikacja jest szyfrowana na wyższym poziomie przed wysÅ‚aniem na zewnÄ…trz. + +[h4]Konfiguracja kanałów[/h4] +Podczas tworzenia kanaÅ‚u wybierana jest rola, która stosuje szereg wstÄ™pnie skonfigurowanych ustawieÅ„ zabezpieczeÅ„ i prywatnoÅ›ci. SÄ… one wybierane z uwzglÄ™dnieniem najlepszych praktyk, aby zachować prywatność na żądanym poziomie. + +W przypadku wybrania "wÅ‚asnej" roli prywatnoÅ›ci każdy kanaÅ‚ umożliwia precyzyjne ustawienie uprawnieÅ„ dla różnych aspektów komunikacji. Na przykÅ‚ad, pod nagłówkiem "Ustawienia bezpieczeÅ„stwa i prywatnoÅ›ci", każdy aspekt w lewej części strony ma sześć (6) możliwych opcji przeglÄ…dania i dostÄ™pu, które można wybrać, klikajÄ…c menu rozwijane. Istnieje również wiele innych ustawieÅ„ prywatnoÅ›ci, które możesz edytować. DostÄ™pne opcje: + + - Nikt oprócz ciebie. + - Tylko ci, którym wyraźnie zezwalasz. + - KtoÅ› w twojej książce adresowej. + - Każdy na tej stronie. + - Każdy w tej sieci. + - Każdy jest uwierzytelniony. + - Każdy w internecie. + + +[h4]Prywatne i publiczne fora[/h4] +Fora to zazwyczaj kanaÅ‚y, w których może uczestniczyć wielu autorów. Obecnie istniejÄ… dwa mechanizmy publikowania postów na forach: + + - posty "wall-to-wall" i + - mechanizm tagów forowych @mention. + +Fora mogÄ… być tworzone przez każdego i używane w dowolnym celu. Katalog zawiera opcjÄ™ wyszukiwania forów publicznych. Fora prywatne mogÄ… być publikowane tylko dla czÅ‚onków i czÄ™sto tylko przez nich widoczne. + +[h4]Klonowanie kont[/h4] +Konta platformy $Projectname nazywane sÄ… *tożsamoÅ›ciami nomadycznymi*, ponieważ tożsamość czÅ‚onka nie jest powiÄ…zana z hubem, w którym tożsamość zostaÅ‚a pierwotnie utworzona. Na przykÅ‚ad, kiedy tworzysz konto na Facebooku lub Gmailu, jest ono powiÄ…zane z tymi usÅ‚ugami - mie może dziaÅ‚ać poza Facebook.com czy Gmail.com. + +Z drugiej strony załóżmy, że utworzyÅ‚eÅ› tożsamość $Projectname o nazwie [code]tina@$Projectnamehub.com[/code]. Możesz sklonować jÄ… do innego huba $Projectname, wybierajÄ…c tÄ™ ​​samÄ… lub innÄ… nazwÄ™, np. [code]liveForever@Some$ProjectnameHub.info[/code]. + +Oba kanaÅ‚y sÄ… teraz zsynchronizowane, co oznacza, że ​​wszystkie Twoje kontakty i preferencje zostanÄ… zduplikowane na klonie. Nie ma znaczenia, czy wyÅ›lesz post z pierwotnego centrum, czy z nowego. Posty bÄ™dÄ… dublowane na obu kontach. + +To dość rewolucyjna funkcja, jeÅ›li weźmiemy pod uwagÄ™ kilka scenariuszy: + + - Co siÄ™ stanie, jeÅ›li hub, w którym oparta jest tożsamość, nagle przestanie dziaÅ‚ać? Bez sklonowania tożsamoÅ›ci czÅ‚onek tego huba nie bÄ™dzie mógÅ‚ siÄ™ komunikować, dopóki hub nie wróci do trybu online (bez wÄ…tpienia wielu z Was widziaÅ‚o i przeklęło "Fail Whale" na Twitterze). DziÄ™ki klonowaniu wystarczy zalogować siÄ™ na sklonowane konto, a życie toczy siÄ™ normalnie. + + - Administrator twojego huba nie może już sobie pozwolić na opÅ‚acanie swojego bezpÅ‚atnego i publicznego huba $Projectname. Zapowiada, że ​​hub zostanie zamkniÄ™ty za dwa tygodnie. DziÄ™ki temu masz wystarczajÄ…co dużo czasu na sklonowanie swojej tożsamoÅ›c i zachowanie relacji, znajomych i treÅ›ci z zamykanego serwisu $Projectname. + + - A jeÅ›li Twoja tożsamość podlega rzÄ…dowej cenzurze? Twój dostawca huba może zostać zmuszony do usuniÄ™cia Twojego konta wraz z wszelkimi tożsamoÅ›ciami i powiÄ…zanymi danymi. DziÄ™ki klonowaniu, $Projectname stawia opór cenzurze. Możesz mieć setki klonów, jeÅ›li chcesz, wszystkie nazwane inaczej i istniejÄ…ce w wielu różnych hubach, rozrzuconych po Internecie. + +$Projectname oferuje interesujÄ…ce nowe możliwoÅ›ci prywatnoÅ›ci. WiÄ™cej informacji można znaleźć na stronie "Najlepsze praktyki w komunikacji prywatnej". +ObowiÄ…zujÄ… pewne zastrzeżenia. Aby uzyskać peÅ‚ne wyjaÅ›nienie klonowania tożsamoÅ›ci, przeczytaj stronÄ™ "JAK SKLONOWAĆ SWOJÄ„ TOÅ»SAMOŚĆ". + +[h4]Wiele profili[/h4] +Można utworzyć dowolnÄ… liczbÄ™ profili zawierajÄ…cych różne informacje, które mogÄ… być widoczne dla niektórych Twoich kontaktów i znajomych. Profil "domyÅ›lny" może być widoczny dla każdego i może zawierać ograniczone informacje, a wiÄ™cej informacji jest dostÄ™pnych dla wybranych grup lub osób. Oznacza to, że profil (i zawartość witryny), który widzÄ… Twoi znajomi pijÄ…cy piwo, może być inny niż to, co widzÄ… Twoi współpracownicy, a także zupeÅ‚nie inny niż to, co jest widoczne dla ogółu spoÅ‚eczeÅ„stwa. + +[h4]Kopia zapasowa konta[/h4] + +$Projectname oferuje prosty sposób wykonywania kopii zapasowej konta za jednym klikniÄ™ciem, z której możesz pobrać peÅ‚nÄ… kopiÄ™ zapasowÄ… swoich profili. Kopie zapasowe można nastÄ™pnie wykorzystać do sklonowania lub przywrócenia profilu. + +[h4]Usuwanie konta[/h4] +Konta można natychmiast usunąć, klikajÄ…c link. Otóż to. Wszystkie powiÄ…zane treÅ›ci sÄ… nastÄ™pnie usuwane z siatki (w tym posty i wszelkie inne treÅ›ci utworzone przez usuniÄ™ty profil). W zależnoÅ›ci od liczby posiadanych połączeÅ„ proces usuwania zdalnej zawartoÅ›ci może zająć trochÄ™ czasu, ale zaplanowany jest tak szybko, jak to możliwe. + +[h4]Usuwanie treÅ›ci[/h4] +Wszelkie treÅ›ci utworzone w Hubzilli pozostajÄ… pod kontrolÄ… czÅ‚onka (lub kanaÅ‚u), który je pierwotnie utworzyÅ‚. W dowolnym momencie czÅ‚onek może usunąć wiadomość lub zakres wiadomoÅ›ci. Proces usuwania zapewnia, że treść zostanie usuniÄ™ta, niezależnie od tego, czy zostaÅ‚a opublikowana w głównym (macierzystym) hubie kanaÅ‚u, czy w innym hubie, gdzie kanaÅ‚ zostaÅ‚ zdalnie uwierzytelniony za poÅ›rednictwem Zot (protokół komunikacji i uwierzytelniania $Projectname). + +[h4]Media[/h4] +Podobnie jak każdy inny nowoczesny system blogowania, sieć spoÅ‚ecznoÅ›ciowa lub usÅ‚uga mikroblogowania, $Projectname obsÅ‚uguje przesyÅ‚anie plików, osadzanie filmów, łączenie stron internetowych. + +[h4]PodglÄ…d i edycja[/h4] +Posty i komentarze można przeglÄ…dać przed wysÅ‚aniem i edytować po wysÅ‚aniu. + +[h4]GÅ‚osowanie i konsensus[/h4] +Posty mogÄ… być przeksztaÅ‚cane w elementy "konsensusu", które pozwalajÄ… czytelnikom oferować opinie, które sÄ… zestawiane w liczniki "zgadzam siÄ™", "nie zgadzam siÄ™" i "wstrzymujÄ™ siÄ™". Pozwala to ocenić zainteresowanie pomysÅ‚ami i tworzyć nieformalne ankiety. + +[h4]Rozszerzaie $Projectname[/h4] + +$Projectname może zostać rozszerzona na wiele sposobów, poprzez dostosowanie witryny, personalizacjÄ™, ustawienia opcji, motywy i dodatki - wtyczki. + +[h4]API[/h4] + +Interfejs API jest dostÄ™pny do użytku przez usÅ‚ugi stron trzecich. Wtyczka zapewnia również podstawowÄ… implementacjÄ™ interfejsu API Twittera (dla którego istniejÄ… setki narzÄ™dzi innych firm). DostÄ™p można zapewnić za pomocÄ… loginu i hasÅ‚a lub protokoÅ‚u OAuth, a klient może zarejestrować aplikacje OAuth. + diff --git a/doc/pl/about/about_hub.bb b/doc/pl/about/about_hub.bb new file mode 100644 index 000000000..d338a563c --- /dev/null +++ b/doc/pl/about/about_hub.bb @@ -0,0 +1,7 @@ +[h3]Informacja o serwisie[/h3] +[list][*][url=[baseurl]/siteinfo]Informacja o serwisie[/url] +[*][url=[baseurl]/siteinfo/json]Informacja o serwisie (format JSON)[/url][/list] +[h3]Regulamin serwisu[/h3] +[list][*][url=[baseurl]/help/TermsOfService]Warunki Å›wiadczenia usÅ‚ug[/url][/list] +#include doc/pl/SiteTOS.md; + diff --git a/doc/pl/about/project.bb b/doc/pl/about/project.bb new file mode 100644 index 000000000..f8c24acd7 --- /dev/null +++ b/doc/pl/about/project.bb @@ -0,0 +1,181 @@ +[h3]ZarzÄ…dzanie projektem $Projectname[/h3] +ZarzÄ…dzanie $Projectname odnosi siÄ™ do zarzÄ…dzania tym projektem i zwÅ‚aszcza jak do rozwiÄ…zywania konfliktów w tym projekcie. + +[h4]ZarzÄ…dzanie spoÅ‚ecznoÅ›ciÄ…[/h4] +Projekt jest utrzymywany przez spoÅ‚eczność $Projectname i decyzje podejmowane sÄ… w ramach tej spoÅ‚ecznoÅ›ci. +Struktura zarzÄ…dzania ciÄ…gle ewoluuje. Do czasu zakoÅ„czenia tworzenia struktura, decyzje sÄ… podejmowane w nastÄ™pujÄ…cej kolejnoÅ›ci: + +[ol] +[*] Opóźniony konsensus + +JeÅ›li propozycja projektu zostanie zÅ‚ożona na jednym z forów zarzÄ…dzania projektem i nie ma poważnych zastrzeżeÅ„ w "rozsÄ…dnym" terminie od daty zÅ‚ożenia wniosku (zazwyczaj zapewniamy wszystkim zainteresowanym 2-3 dni na ustosunkowanie siÄ™), nie musi być gÅ‚osowania aby decyzja zostaÅ‚a podjÄ™ta i propozyzja zostanie uznana za zatwierdzonÄ… przez aklamacjÄ™. Po tym czasie mogÄ… zostać zgÅ‚oszone jakieÅ› zastrzeżenie i oabawy, ale jeÅ›li zostanÄ… one uwzglÄ™dnione podczas dyskusji i przedstawione zostanÄ… rozwiÄ…zania, nadal bÄ™dÄ… uznawane za zatwierdzone. + + +[*] Weto + +Starsi deweloperzy, z dÅ‚ugim stażem w projekcie. mogÄ… zawetować każdÄ… decyzjÄ™. Decyzja może zostać podjÄ™ta dopiero po usuniÄ™ciu weta lub przedÅ‚ożeniu alternatywnej propozycji. + + +[*] GÅ‚osowanie spoÅ‚ecznoÅ›ci + +Decyzja, która nie ma wyraźnego mandatu lub wyraźnego konsensusu, ale nie jest zawetowana, może zostać podjÄ™ta po gÅ‚osowaniu spółecznoÅ›ci. Obecnie jest to zwykÅ‚e popularne gÅ‚osowanie na jednym z odpowiednich forów spoÅ‚ecznoÅ›ci. W tej chwili o wyniku decyduje gÅ‚osowanie powszechne. Może siÄ™ to zmienić w przyszÅ‚oÅ›ci, jeÅ›li spoÅ‚eczność przyjmie model zarzÄ…dzania "przez radÄ™". Ten dokument zostanie wówczas zaktualizowany o zaktualizowane zasady zarzÄ…dzania. +[/ol] + +GÅ‚osowanie spoÅ‚ecznoÅ›ci nie zawsze zapewnia Powszechnie akceptowany wynik i może polaryzować spoÅ‚eczność, wytwarzajÄ…c frakcje (stÄ…d przyczyna, dla której rozważane sÄ… inne modele). JeÅ›li propozycja zostaÅ‚a przegÅ‚osowana, nadal jest kilka rozwiÄ…zaÅ„, które można zrobić, aby propozycja zostaÅ‚a przesÅ‚ana ponownie z nieco innymi parametrami (przeksztaÅ‚cenie na dodatek, przeksztaÅ‚cenie na opcjonalnÄ… funkcjÄ™, która jest domyÅ›lnie wyłączona itp.). JeÅ›li zainteresowanie funkcjÄ… jest duże, a gÅ‚osowanie jest „bliskieâ€, może to wywoÅ‚ać wiele zÅ‚ych uczuć wÅ›ród przegranych wyborców. W przypadku tak bliskich gÅ‚osów [b] zdecydowanie zaleca siÄ™ [/ b], aby wnioskodawca podjÄ…Å‚ kroki w celu rozwiÄ…zania wszelkich zgÅ‚oszonych wÄ…tpliwoÅ›ci i ponownie przedÅ‚ożyÅ‚. + +[h4]Polityka prywatnoÅ›ci[/h4] + +Q: Kto może widzieć mojÄ… treść? + +A: DomyÅ›lnie KAÅ»DY w internecie, chyba że ograniczysz do niej dostÄ™p. $Projectname pozwala wybrać żądany poziom prywatnoÅ›ci. TreÅ›ci podlegajÄ…ce ograniczeniom NIE bÄ™dÄ… widoczne dla "sieci szpiegowskich" i reklamodawców. BÄ™dÄ… chroniona przed podsÅ‚uchem przez osoby postronne - najlepiej jak potrafimy. Administratorzy centrów z wystarczajÄ…cymi umiejÄ™tnoÅ›ciami i cierpliwoÅ›ciÄ… MOGÄ„ być w stanie podsÅ‚uchiwać niektóre prywatne wiadomoÅ›ci, ale muszÄ… doÅ‚ożyć staraÅ„, aby to zrobić. W $Projectname istniejÄ… tryby prywatnoÅ›ci, które sÄ… nawet odporne na podsÅ‚uchiwanie przez wykwalifikowanych i zdeterminowanych administratorów hubów. + +Q: Czy moje treÅ›ci mogÄ… zostać ocenzurowane? + +A: Z zaÅ‚ożenie, $Projectname (jako sieć) NIE MOÅ»E cenzurować twoich treÅ›ci. Administratorzy serwerów i hubów podlegajÄ… lokalnemu prawodawstwu i MOGÄ„ usunąć budzÄ…ce zastrzeżenia treÅ›ci ze swojego serwisu (huba). Każdy może zostać administratorem huba, w tym Ty. Dlatego publikuj treÅ›ci, które w innym przypadku mogÅ‚yby zostać ocenzurowane. Nadal MOÅ»ESZ podlegać lokalnemu prawodawstwu. + +[h5]Definicje[/h5] + +**$Projectname** + +Inaczej nazywana "sieciÄ…", $Projectname jest zbiorem pojedynczych komputerów (serwerów) (czyli **hubów**. ang. *hubs*), które łączÄ… siÄ™ razem, tworzÄ…c wiÄ™kszÄ… sieć kooperacyjnÄ…. + +**hub** (ang. *hub*) + +Pojedynczy komputer lub serwer podłączony do $Projectname. Jest on dostarczany przez **administratora huba** i może być publiczny lub prywatny, pÅ‚atnu lub bezpÅ‚atny. + +*administrator huba** + +Operator systemu pojedynczego huba. + +[h5]Polityki[/h5] + +**Informacja publiczna** + +Wszelkie informacje lub cokolwiek zamieszczone przez Ciebie w $Projectname MOÅ»E być publiczne lub widoczne dla każdego w Internecie. W miarÄ™ możliwoÅ›ci $Projectname pozwala chronić zawartość i ograniczać, kto może jÄ… oglÄ…dać. + +Twoje zdjÄ™cie profilowe, nazwa Twojego kanaÅ‚u i lokalizacja (adres URL lub adres sieciowy) Twojego kanaÅ‚u sÄ… widoczne dla każdego w internecie, a kontrola prywatnoÅ›ci nie wpÅ‚ywa na wyÅ›wietlanie tych elementów. + +MOÅ»ESZ dodatkowo podać inne informacje profilowe. Wszelkie informacje, które podajesz w swoim „domyÅ›lnym†lub **publicznym profilu** MOGÄ„ zostać przesÅ‚ane do innych hubów w $Projectname i dodatkowo MOGÄ„ zostać wyÅ›wietlone w katalogu kanałów. Możesz ograniczyć wyÅ›wietlanie tych informacji profilowych. Może być ograniczone tylko do czÅ‚onków twojego huba lub tylko połączeÅ„ (znajomych) lub innych ograniczonych grup widzów, zgodnie z twoim życzeniem. JeÅ›li chcesz, aby Twój profil byÅ‚ ograniczony, musisz ustawić odpowiednie ustawienia prywatnoÅ›ci lub po prostu NIE podawać dodatkowych informacji. + +**Treść** + +TreÅ›ci, które udostÄ™pniasz (posty ze statusami, zdjÄ™cia, pliki itp.) Należą do Ciebie. $Projectname domyÅ›lnie publikuje treÅ›ci w sposób otwarty i widoczny dla każdego w internecie (PUBLICZNY). MOÅ»ESZ kontrolować to w ustawieniach swojego kanaÅ‚u i ograniczyć domyÅ›lne uprawnienia lub MOÅ»ESZ ograniczyć widoczność każdego pojedynczego opublikowanego elementu oddzielnie (PRYWATNE). ProgramiÅ›ci $Projectname zapewniÄ…, że ograniczone treÅ›ci bÄ™dÄ… widoczne TYLKO dla osób z listy ograniczeÅ„ - najlepiej jak potrafiÄ…. + +TreÅ›ci (zwÅ‚aszcza posty statusowe), które udostÄ™pniasz innym sieciom lub które udostÄ™pniÅ‚eÅ› komukolwiek w Internecie (PUBLICZNE), nie mogÄ… być Å‚atwo cofniÄ™te po ich opublikowaniu. MOGÄ„ być udostÄ™pniane innym sieciom i udostÄ™pniane za poÅ›rednictwem kanałów RSS / Atom. Może być również rozpowszechniany na innych stronach $ Projectname. MOÅ»E pojawiać siÄ™ w innych sieciach i witrynach internetowych oraz być widoczny w wyszukiwarkach internetowych. JeÅ›li nie chcesz tego domyÅ›lnego zachowania, dostosuj ustawienia swojego kanaÅ‚u i ogranicz listÄ™ osób, które mogÄ… oglÄ…dać Twoje treÅ›ci. + +**Komentarze i wpisy na forach** + +Komentarze do postów stworzonych przez innych oraz posty oznaczone jako posty na forum należą do Ciebie jako twórcy (autora), ale ich dystrybucja nie jest pod TwojÄ… bezpoÅ›redniÄ… kontrolÄ… i zrzekasz siÄ™ NIEKTÓRYCH praw do tych elementów. Te posty i komentarze MOGÄ„ być ponownie rozpowszechniane wÅ›ród innych i MOGÄ„ być widoczne dla każdego w internecie. W przypadku komentarzy, twórca "pierwszej wiadomoÅ›ci" w wÄ…tku (rozmowie), na który odpowiadasz, kontroluje dystrybucjÄ™ wszystkich komentarzy i odpowiedzi na tÄ™ wiadomość. Jest on "wÅ‚aÅ›cicielem" i dlatego ma okreÅ›lone prawa w odniesieniu do caÅ‚ej rozmowy (w tym wszystkich zawartych w niej komentarzy). Nadal możesz edytować lub usuwać komentarz, ale wÅ‚aÅ›ciciel konwersacji ma również prawa do edytowania, usuwania, ponownej dystrybucji i tworzenia kopii zapasowych i przywracania dowolnej lub caÅ‚ej zawartoÅ›ci konwersacji. + +**Informacja prywatna** + +ProgramiÅ›ci $Projectname zapewniÄ…, że każda dostarczona przez Ciebie zawartość oznaczona jako PRYWATNA bÄ™dzie chroniona przed podsÅ‚uchem - najlepiej jak potrafiÄ…. Zawartość kanaÅ‚u prywatnego MOÅ»E być widoczna w bazie danych każdego zaangażowanego administratora centrum, ale prywatne wiadomoÅ›ci sÄ… ukrywane w bazie danych. To ostatnie oznacza, że jest to bardzo trudne, ale NIE niemożliwe, aby te treÅ›ci byÅ‚y widoczne dla administratora centrum. Treść kanaÅ‚u prywatnego i wiadomoÅ›ci prywatne sÄ… również usuwane z powiadomieÅ„ e-mail. PeÅ‚ne szyfrowanie jest oferowane jako funkcja opcjonalna i NIE MOÅ»E być widoczne, nawet dla zdeterminowanego administratora. + +[h5]Prywatność tożsamoÅ›ci[/h5] + +Prywatność dla Twojej tożsamoÅ›ci to kolejny aspekt. Ponieważ masz zdecentralizowanÄ… tożsamość w $Projectname, Twoja prywatność wykracza poza domowy hub. JeÅ›li chcesz mieć peÅ‚nÄ… kontrolÄ™ nad swojÄ… prywatnoÅ›ciÄ… i bezpieczeÅ„stwem, powinieneÅ› uruchomić wÅ‚asny hub na dedykowanym serwerze. Dla wielu osób jest to skomplikowane ale może poszerzyć ich możliwoÅ›ci techniczne. WymieÅ„my wiÄ™c kilka Å›rodków ostrożnoÅ›ci, które możesz podjąć, aby zapewnić sobie jak najwiÄ™kszÄ… prywatność. + +Zdecentralizowana tożsamość ma wiele zalet i daje wiele interesujÄ…cych funkcji, ale powinieneÅ› być Å›wiadomy faktu, że Twoja tożsamość jest znana innym hubom w sieci $Projectname. JednÄ… z tych zalet jest to, że inne kanaÅ‚y mogÄ… udostÄ™pniać dostosowane treÅ›ci i umożliwiać oglÄ…danie prywatnych rzeczy (takich jak prywatne zdjÄ™cia, które inni chcÄ… Ci udostÄ™pnić). Z tego powodu te kanaÅ‚y muszÄ… wiedzieć, kim jesteÅ›. Ale rozumiemy, że czasami te inne kanaÅ‚y wiedzÄ… od Ciebie wiÄ™cej, niż byÅ› sobie tego życzyÅ‚. Na przykÅ‚ad wtyczka Visage, która może poinformować wÅ‚aÅ›ciciela kanaÅ‚u o ostatniej wizycie w jego profilu. Możesz Å‚atwo zrezygnować z tego niskiego poziomu i uważamy, że jest to nieszkodliwe Å›ledzenie. + +* Możesz włączyć [Do Not Track (DNT)](http://donottrack.us/) w swojej przeglÄ…darce internetowej. Szanujemy tÄ… nowÄ… propozycjÄ™ polityki prywatnoÅ›ci. Wszystkie nowoczesne przeglÄ…darki obsÅ‚ugujÄ… DNT. Znajdziesz to w ustawieniach prywatnoÅ›ci swojej przeglÄ…darki lub możesz zapoznać siÄ™ z instrukcjÄ… przeglÄ…darki internetowej. Nie wpÅ‚ynie to na funkcjonalność $Projectname. To ustawienie jest prawdopodobnie wystarczajÄ…ce dla wiÄ™kszoÅ›ci ludzi. + +* Możesz [wyłączyć publikacjÄ™](ustawienia) swojego kanaÅ‚u w naszym katalogu kanałów. JeÅ›li chcesz, aby ludzie mogli znaleźć Twój kanaÅ‚, podaj im adres swojego kanaÅ‚u. Uważamy, że jest to dobra wskazówka, że wolisz dodatkowÄ… prywatność i automatycznie włączasz opcjÄ™ "Nie Å›ledź", jeÅ›li tak jest. + +* Możesz mieć zablokowany hub. Oznacza to, że wszystkie kanaÅ‚y i treÅ›ci w tym centrum nie sÄ… publiczne ani widoczne dla Å›wiata zewnÄ™trznego. To jest coÅ›, co może zrobić tylko administrator centrum. Szanujemy to również i automatycznie włączamy opcjÄ™ "Nie Å›ledź:, jeÅ›li jest ustawiona. + +[h5]Cenzura[/h5] + +$Projectname to globalna sieć obejmujÄ…ca wszystkie religie i kultury. Nie oznacza to, że każdy czÅ‚onek sieci czuje siÄ™ tak samo jak Ty w spornych kwestiach, a niektórzy ludzie mogÄ… MOCNO sprzeciwić siÄ™ publikowanym przez Ciebie treÅ›ciom. Ogólnie rzecz biorÄ…c, jeÅ›li chcesz opublikować coÅ›, o czym wiesz, że nie jest powszechnie akceptowane, najlepszym rozwiÄ…zaniem jest ograniczenie odbiorców za pomocÄ… kontroli prywatnoÅ›ci do maÅ‚ego krÄ™gu znajomych. + +$Projectname jako dostawca sieci nie może cenzurować zawartoÅ›ci. Jednak administratorzy hubów MOGÄ„ cenzurować wszelkie treÅ›ci, które pojawiajÄ… siÄ™ w ich hubie, aby zachować zgodność z lokalnym prawem, a nawet osobistym osÄ…dem. Ich decyzja jest ostateczna. JeÅ›li masz problemy z jakimkolwiek administratorem huba, możesz przenieść swoje konto i wpisy do innej witryny, która jest bardziej zgodna z Twoimi oczekiwaniami. Sprawdzaj (okresowo) [Warunki Å›wiadczenia usÅ‚ug](help/TermsOfService) swojego huba, aby poznać wszelkie zasady lub wytyczne. JeÅ›li Twoje treÅ›ci skÅ‚adajÄ… siÄ™ z materiałów, które sÄ… nielegalne lub mogÄ… powodować problemy, MOCNO zachÄ™camy do hostowania wÅ‚asnych (zostaÅ„ administratorem wÅ‚asnego huba). Mimo to. możesz stwierdzić, że Twoje treÅ›ci sÄ… zablokowane w niektórych hubach, ale $Projectname jako sieć nie może wogóle zablokować ich publikowania. + +$Projectname ZALECA, aby administratorzy hubów zapewnili okres karencji wynoszÄ…cy 1-2 dni miÄ™dzy ostrzeżeniem wÅ‚aÅ›ciciela konta o treÅ›ci, którÄ… należy usunąć, a fizycznym usuniÄ™ciem lub wyłączeniem konta. DziÄ™ki temu wÅ‚aÅ›ciciel treÅ›ci bÄ™dzie mógÅ‚ wyeksportować metadane swojego kanaÅ‚u i zaimportować je do innej witryny. W rzadkich przypadkach treść może mieć taki charakter, że uzasadnia natychmiastowe zamkniÄ™cie konta. To jest decyzja wÅ‚aÅ›ciciela huba, a nie decyzja $Projectname. + +JeÅ›li zazwyczaj i regularnie publikujesz treÅ›ci dla dorosÅ‚ych lub obraźliwe, MOCNO zachÄ™camy do oznaczenia swojego konta jako „NSFW†(Not Safe For Work). Zapobiegnie to wyÅ›wietlaniu Twojego zdjÄ™cia profilowego w katalogu, z wyjÄ…tkiem przeglÄ…dajÄ…cych, którzy zdecydowali siÄ™ wyłączyć „tryb bezpiecznyâ€. JeÅ›li administratorzy katalogu uznajÄ… Twoje zdjÄ™cie profilowe za nieobyczajne lub obraźliwe, administrator katalogu MOÅ»E oznaczyć Twoje zdjÄ™cie profilowe jako NSFW. Obecnie nie ma oficjalnego mechanizmu do zakwestionowania lub cofniÄ™cia tej decyzji, dlatego NALEÅ»Y oznaczyć wÅ‚asne konto jako NSFW, jeÅ›li może być nieodpowiednie dla ogółu odbiorców. + +[h3]PodziÄ™kowania[/h3] + +DziÄ™kujemy wszystkim, którzy przez lata pomagali i przyczynili siÄ™ do powstania projektu i jego poprzednikom. Możliwe, że przegapiliÅ›my Twoje imiÄ™, ale jest to niezamierzone. DziÄ™kujemy również spoÅ‚ecznoÅ›ci i jej czÅ‚onkom za dostarczenie cennego wkÅ‚adu, bez którego caÅ‚y ten wysiÅ‚ek byÅ‚by bez znaczenia. + +Warto również docenić wkÅ‚ad i rozwiÄ…zania problemów, które powstaÅ‚y w wyniku dyskusji miÄ™dzy czÅ‚onkami i twórcami innych, nieco powiÄ…zanych i konkurujÄ…cych ze sobÄ… projektów; +nawet jeÅ›li mieliÅ›my sporadyczne nieporozumienia. + +[list] +[li]Mike Macgirvin[/li] +[li]Fabio Comuni[/li] +[li]Simon L'nu[/li] +[li]marijus[/li] +[li]Tobias Diekershoff[/li] +[li]fabrixxm[/li] +[li]tommy tomson[/li] +[li]Simon[/li] +[li]zottel[/li] +[li]Christian Vogeley[/li] +[li]jeroenpraat[/li] +[li]Michael Vogel[/li] +[li]erik[/li] +[li]Zach Prezkuta[/li] +[li]Paolo T[/li] +[li]Michael Meer[/li] +[li]Michael[/li] +[li]Abinoam P. Marques Jr[/li] +[li]Tobias Hößl[/li] +[li]Alexander Kampmann[/li] +[li]Olaf Conradi[/li] +[li]Paolo Tacconi[/li] +[li]tobiasd[/li] +[li]Devlon Duthie[/li] +[li]Zvi ben Yaakov (a.k.a rdc)[/li] +[li]Alexandre Hannud Abdo[/li] +[li]Olivier Migeot[/li] +[li]Chris Case[/li] +[li]Klaus Weidenbach[/li] +[li]Michael Johnston[/li] +[li]olivierm[/li] +[li]Vasudev Kamath[/li] +[li]pixelroot[/li] +[li]Max Weller[/li] +[li]duthied[/li] +[li]Martin Schmitt[/li] +[li]Sebastian Egbers[/li] +[li]Erkan Yilmaz[/li] +[li]sasiflo[/li] +[li]Stefan Parviainen[/li] +[li]Haakon Meland Eriksen[/li] +[li]Oliver Hartmann (23n)[/li] +[li]Erik Lundin[/li] +[li]habeascodice[/li] +[li]sirius[/li] +[li]Charles[/li] +[li]Tony Baldwin[/li] +[li]Hauke Zuehl[/li] +[li]Keith Fernie[/li] +[li]Anne Walk[/li] +[li]toclimb[/li] +[li]Daniel Frank[/li] +[li]Matthew Exon[/li] +[li]Michal Supler[/li] +[li]Tobias Luther[/li] +[li]U-SOUND\mike[/li] +[li]mrjive[/li] +[li]nostupidzone[/li] +[li]tonnerkiller[/li] +[li]Antoine G[/li] +[li]Christian Drechsler[/li] +[li]Ludovic Grossard[/li] +[li]RedmatrixCanada[/li] +[li]Stanislav Lechev [0xAF][/li] +[li]aweiher[/li] +[li]bufalo1973[/li] +[li]dsp1986[/li] +[li]felixgilles[/li] +[li]ike[/li] +[li]maase2[/li] +[li]mycocham[/li] +[li]ndurchx[/li] +[li]pafcu[/li] +[li]Simó Albert i Beltran[/li] +[li]Manuel Reva[/li] +[li]Manuel Jiménez Friaza[/li] +[li]Gustav Wall aka "neue medienordnung plus"[/li] +[/list] diff --git a/doc/pl/accounts_profiles_channels_basics.bb b/doc/pl/accounts_profiles_channels_basics.bb new file mode 100644 index 000000000..57d45dfdf --- /dev/null +++ b/doc/pl/accounts_profiles_channels_basics.bb @@ -0,0 +1,20 @@ +[size=large][b]Konta, profile i kanaÅ‚y[/b][/size] + +Po zarejestrowaniu [i]konta[/i], trzeba również utworzyć [i]profil[/i] i [i]kanaÅ‚[/i]. + +[b]Konto[/b] +W serwisie &Projectname masz [i]jedno[/i] konto. SkÅ‚ada siÄ™ z Twojego konta e-mail i hasÅ‚a. Za pomocÄ… swojego konta uzyskujesz dostÄ™p do swojego profilu i kanaÅ‚u. + +[i]PomyÅ›l o swoim koncie jak o sposobie uwierzytelniania w jednym serwisie $Projectname. Pozwala to na takie rzeczy, jak tworzenie profili i kanałów, za pomocÄ… których możesz łączyć siÄ™ z innymi osobami.[/i] + +[b]Profil[/b] +Z pewnoÅ›ciÄ… masz już doÅ›wiadczenie w rejestrowaniu siÄ™ w jakichÅ› usÅ‚ugach internetowych, takich jak fora lub spoÅ‚ecznoÅ›ci internetowe. We wszystkich przypadkach trzeba byÅ‚o podać pewne informacje o sobie, takie jak data urodzenia, kraj, wiek i upodobania. [observer=1]JeÅ›li chcesz, możesz zobaczyć swój profil tutaj: [baseurl]/profile/[observer.webname] i edytować go, klikajÄ…c ikonÄ™ ołówka obok swojego awatara.[/observer] +W przeciwieÅ„stwie do innych usÅ‚ug, $Projectname oferuje Ci możliwość tworzenia [i]wielu profilii[/i]. W ten sposób możesz rozróżnić profile skierowane specjalnie do wszystkich (Twój profil publiczny), współpracowników, rodziny czy partnera. +[i]Potraktuj swój profil jako podstawowe informacje o sobie, które przekazujesz innym osobom.[/i] + +[b]KanaÅ‚[/b] +Podczas rejestracji tworzysz swój pierwszy [i]kanaÅ‚[/i]. Podobnie jak w przypadku profili, możesz mieć kilka kanałów. Na poczÄ…tku może to być nieco zagmatwane, ale wyjaÅ›nijmy to. Masz już jeden kanaÅ‚. Możesz używać go dla publicznie, aby komunikować siÄ™ z ludźmi w codziennym życiu. Ale być może jesteÅ› zapalonym czytelnikiem książek i wielu ludzi siÄ™ tym nudzi. Otwierasz wiÄ™c [i]drugi kanaÅ‚[/i] tylko dla miÅ‚oÅ›ników książek, na którym wszyscy mogÄ… rozmawiać o książkach tyle, ile chcesz. OczywiÅ›cie jest to nowy strumieÅ„ postów, z nowym profilem (... lub nowymi profilami ...) i zupeÅ‚nie innymi kontaktami. Niektóre połączenia mogÄ… istnieć w obu kanaÅ‚ach, ale bÄ™dÄ… takie, które dotyczÄ… tylko jednego z nich. Ty sam po prostu przełączasz siÄ™ miÄ™dzy nimi, tak jak w prawdziwym życiu, kiedy rozmawiasz z ludźmi, których spotykasz na ulicy lub z osobami, które spotykasz specjalnie, aby porozmawiać o książkach. Możesz nawet połączyć siÄ™ ze sobÄ… lub lepiej: z innym kanaÅ‚em. :) +[i]PomyÅ›l o kanale jako o różnych przestrzeniach poÅ›wiÄ™conych różnym tematom, w których spotykasz siÄ™ z różnymi ludźmi.[/i] + +#include doc/macros/pl/main_footer.bb; + diff --git a/doc/pl/acl_dialog_post.html b/doc/pl/acl_dialog_post.html new file mode 100644 index 000000000..1be9f4bc6 --- /dev/null +++ b/doc/pl/acl_dialog_post.html @@ -0,0 +1,42 @@ +<!-- Wpisy sieciowe i kanaÅ‚owe nie mogÄ… zmienić swoich uprawnieÅ„ po wysÅ‚aniu, +ten plik pomocy jest dla tego rodzaju elementów. Pliki, zdjÄ™cia itp. powinny +korzystać z innego pliku pomocy. --> + +<h2>Uprawnienia dla wpisu</h2> + +<p> +Okno dialogowe uprawnieÅ„ pozwala wybrać, które kanaÅ‚y albo grupy prywatnoÅ›ci +mogÄ… widzieć wpis. Można też wybrać, komu wyraźnie odmawia siÄ™ dostÄ™pu. Załóżmy +na przykÅ‚ad, że planujesz niespodziewane przyjÄ™cie dla znajomego. Możesz wysÅ‚ać +zaproszenie do wszystkich w swojej grupie <b>Znajomi</b> <i>oprócz </i> znajomego, +któremu chcesz zrobić niespodziankÄ™. W tym przypadku ustawiasz "Pokaż" grupie +<b>Znajomi</b>, ale ""Nie pokazuj" tej jednej osobie. +</p> + +<dl class="text-info dl-terms-large dl-horizontal"> +<dt style="width: 3em;">Wskazówka!</td> +<dd style="margin-left: 4em;"> +Kolor obramowania każdego kanaÅ‚u wskazuje, czy ten kanaÅ‚ — lub jednÄ… z grup, +do której należy — bÄ™dzie mieć dostÄ™p do wpisu. Kolor obramowania bÄ™dzie +również wskazywać, kiedy kanaÅ‚ lub grupa, do której należy, zostaÅ‚a wyraźnie +ustawiona na "Nie pokazuj". +</dd> +</dl> + +<h3>Dlaczego nie mogÄ™ edytować uprawnieÅ„ do wpisu po jego zapisaniu?</h3> + +<p> +Możesz zmienić uprawnienia do swoich plików, zdjęć i polubieÅ„, ale nie do wpisów +po ich zapisaniu. Główny powód jest taki, że po zapisaniu wpisu jest on rozpowszechniany +na kanale publicznym, a stamtÄ…d na inne serwery Hubzilla lub tym, którym chciaÅ‚eÅ› +go pokazać. Tak jak nie możesz odzyskać czegoÅ›, co przekazaÅ‚eÅ› innej osobie, nie +możesz zmienić uprawnieÅ„ do wpisów Hubzilli. MusielibyÅ›my Å›ledzić wszÄ™dzie, gdzie +trafia Twój wpis, Å›ledzić wszystkich, którym pozwoliÅ‚eÅ› go zobaczyć, a nastÄ™pnie +Å›ledzić, od kogo go usunąć. +</p> +<p> +JeÅ›li wpis jest publiczny, jest to jeszcze trudniejsze, ponieważ Hubzilla jest sieciÄ… +globalnÄ… i nie ma możliwoÅ›ci Å›ledzenia wpisu, nie mówiÄ…c już o jego niezawodnym +odzyskaniu. Inne sieci, które mogÄ… otrzymać Twój wpis, nie majÄ… niezawodnego sposobu +na usuniÄ™cie lub odzyskanie wpisu. +</p> diff --git a/doc/pl/addons.bb b/doc/pl/addons.bb new file mode 100644 index 000000000..6a9cf425b --- /dev/null +++ b/doc/pl/addons.bb @@ -0,0 +1,117 @@ +[h3]Wtyczki/Dodatki[/h3] +[list=1] +[*] abcjsplugin - tworzenie zapisów nitowych w swoich wpisach +[*] adultphotoflag - zapobiega wyÅ›wietlaniu zdjęć NSFW w albumach publicznych +[*] authchoose - wysyÅ‚anie potwierdzenia tożsamoÅ›ci tylko do witryn znajomych +[*] b2tbtn - zapewnia przycisk powodujÄ…cy przejÅ›cie bezpoÅ›rednio na górÄ™ strony, jeÅ›li przewinie siÄ™ dużo treÅ›ci dół okna +[*] bbmath - możliwość używania skomplikowanych wyrażeÅ„ matematycznych w swoich wpisach +[*] bookmarker - zamienianie #^ w linkach zakÅ‚adek we wpisach +[*] buglink - umieszcza ikonÄ™ zgÅ‚aszania błędów w lewym dolnym rogu każdej strony +[*] calc - kalkulator naukowy +[*] chess - interaktywne gry w szachy z uwzglÄ™dnieniem tożsamoÅ›ci miÄ™dzydomenowej +[*] chords - generowanie wykresów palcowania i alternatyw dla każdego znanego akordu gitarowego +[*] custom_home - ustawianie wÅ‚asnej strony jako strony poczÄ…tkowej huba +[*] diaspora - emulator protokoÅ‚u Diaspora +[*] dirstats - wyÅ›wietlanie interesujÄ…cych statystyk generowanych przez serwer katalogowy +[*] docs - alternatywne strony dokumentacji +[*] donate - dostarcza stronÄ™ dofinansowania +[*] dreamhost - zapewnia bardziej niezawodnÄ… usÅ‚ugÄ™ na hostingu współdzielonym Dreamhost +[*] dwpost - krzyżowe wpisy do Dreamwidth +[*] emojione - zezwala na uzywanie emojis jako emotikonów +[*] extcron - stosowanie zewnÄ™trznej usÅ‚ugi cron do uruchamiania zaplanowanych zadaÅ„ huba +[*] firefox - dostarcza link do zainstalowania API Sharing Firefoxa +[*] flattrwidget - dostarcza przyciski "Flattr Us" +[*] flip - tworzenie odwróconego tekstu +[*] fortunate - wyÅ›wietla losowy cytat (plik cookie fortune). Wymaga skonfigurowania serwera fortune. +[*] friendica - protokół Friendica (DFRN). W tworzeniu. +[*] frphotos - importowanie albumów fotograficznych z Friendica +[*] gnusoc - protokół GNU-Social (OStatus). W tworzeniu. +[*] hexit - narzÄ™dzie do konwersji szesnastkowej +[*] hilite - umożliwia podÅ›wietlanie bloków kodu, specyficzne dla jÄ™zyka programowania, zawartych we wpisach +[*] hubwall - wysyÅ‚anie wiadomosci e-mail administratora na wszystkie konta w hubie +[*] ijpost - krzyżówe wpisy do Insanejournal +[*] irc - połączenie z czatami IRC +[*] jappixmini - czat XMPP +[*] js_upload - przesyÅ‚anie jednoczeÅ›nie wiele zdjęć do albumów fotograficznych +[*] keepout - zapobiega prawie caÅ‚kowicie korzystaniu z witryny bez zalogowania siÄ™, bardziej restrykcyjne niż ustawienie "blokuj publiczne" +[*] ldapauth - logowanie przez konto LDAP lub domenÄ™ Windows Active Directory +[*] libertree - publikowanie w Libertree +[*] likebanner - tworzenie obrazu banera "polub nas na red#matrix" +[*] ljpost - publikowanie w LiveJournal +[*] logrot - narzÄ™dzie rotowania plik dziennika zdarzeÅ„ +[*] mahjongg - gra w chiÅ„skie puzzle +[*] mailhost - umożliwienie wyboru jednego kanaÅ‚u dla otrzymywania powiadomieÅ„ e-mail, gdy używa siÄ™ wiele sklonowanych kanałów +[*] mailtest - interfejs do testowania systemu wysyÅ‚ania poczty +[*] metatag - dostarcza strony przyjazne SEO +[*] mayan_places - ustawia pole lokalizacji na losowe miasto w Å›wiecie Majów +[*] morechoice - dodatkowe wybór pÅ‚ci i preferencji seksualnych dla profili (nie jest to bezpieczne) +[*] moremoods - dodatkowe opcje nastroju (mood) +[*] morepokes - dodatkowe opcje szturchania (poke) (nie sÄ… bezpieczne) +[*] msgfooter - podawanie formuÅ‚y prawniczej lub innego tekstu w każdym wychodzÄ…cym wpisie +[*] noembed - używanie noembed.com jako dodatku do natywnej funkcjonalnoÅ›ci oembed w $Projectname (obecnie nie dziaÅ‚a) +[*] nofed - zapobiega "federacji" wpisów w kanale, utrzymuje całą interakcjÄ™ na stronie wÅ‚aÅ›ciciela kanaÅ‚u +[*] nsabait - dodawaj do swoich wpisów losowe hashtagi zwiÄ…zane z terroryzmem +[*] nsfw - bardzo polecana wtyczka do zwijania postów z nieodpowiednimi treÅ›ciami +[*] openclipatar - wybór zdjÄ™cia profilowego spoÅ›ród setek obrazów bez tantiem +[*] openid - uwierzytelnianie OpenID i serwer OpenID. Twój adres URL OpenID to [observer.baseurl]/id/[observer.webname] +[*] opensearch - umożliwienie swojej witrynie stania siÄ™ dostawcÄ… wyszukiwania w przeglÄ…darce +[*] openstreetmap - renderowanie lokalizacji i mapy za pomocÄ… OpenStreetMap +[*] pageheader - wyÅ›wietlanie tekstu u góry na każdej stronie serwisu +[*] phpmailer - alternatywny system dostarczania poczty z wiÄ™kszÄ… konfigurowalnoÅ›ciÄ… +[*] piwik - analityka witryn internetowych typu open source +[*] planets - ustawianie pola lokalizacji na losowÄ… planetÄ™ z Gwiezdnych Wojen +[*] pong - klasyczna gra w ponga +[*] pubcrawl - emulator protokoÅ‚u ActivityPub +[*] pubsubhubbub - protokół PuSH dla zoptymalizowanego dostarczania wiadomoÅ›ci do subskrybentów (wymagany przez protokół GNU-Social) +[*] pumpio - publikowanie w Pump.io +[*] qrator - generowanie obrazów kodu QR +[*] rainbowtag - wyÅ›wietlanie chmury tagów i kategorii w kolorach +[*] randpost - bot wpis/odpowiedz oparty i wymagajÄ…cy fortunate +[*] redfiles - import magazynu plików z redmatrix +[*] redphotos - import albumów fotograficznych z redmatrix +[*] redred - wpisy krzyzowe do innych kanałów Red Matrix lun Hubzilla +[*] rendezvous - grupowe Å›ledzenie lokalizacji +[*] rtof - publikowanie w Friendica +[*] sendzid - dodawanie parametróe uwierzytelniajÄ…cych "zid" do wszystkich linków wychodzÄ…cych, nie tylko linków w sieci +[*] skeleton - przykÅ‚adowa wtyczka pokazujÄ…ca sposób tworzenia wtyczek +[*] smiley_pack - rozszerzenie wbudowanej obsÅ‚ugi buziek (emotikonów) +[*] smileybutton - zapewnia selektor buźki w oknie wpisu +[*] startpage - umowżliwia ustawienie przekierowania do preferowanej osobistej strony po zalogowaniu +[*] statistics - generator statystyk Diaspora +[*] statusnet - wpisy krzyżówe do GNU-social i StatusNet [zrl=[baseurl]/help/addons_gnusocial]Posting To Gnu Social[/zrl] +[*] std_embeds - umożłiwia niefiltrowane osadzanie dla popularnych dostawców strumieni, takich jak youtube, vimeo i soundcloud +[*] superblock - bardzo zalecane - caÅ‚kowite blokowanie obraźliwuch kanałów w swoim strumieniu +[*] testdrive - zmienia hub w witrynÄ™ testowÄ… z kontami, które wygasajÄ… po okresie próbnym +[*] tictac - 3D tic-tac-toe +[*] torch - aplikacja podÅ›wietlania (flashlight) +[*] tour - prezentacja funkcji dla nowych czÅ‚onków +[*] tripleaes - wtyczka demonstracyjna zapewniajÄ…ca niestandardowe algorytmy szyfrowania +[*] twitter - publikowanie w Twitter +[*] twitter_api - API kompatybilne z Twitter i Statusnet +[*] upload_limits - odkrywa, jakie ustawienia serwera (jest ich kilka) mogÄ… powodować niepowodzenie przesyÅ‚ania dużych zdjęć +[*] visage - pokaż odwiedzajÄ…cym swój kanaÅ‚ +[*] webmention - przetwarzanie stron internetowych +[*] wholikesme - dostarcza stronÄ™ wyÅ›wietlajÄ…cÄ… listÄ™ kontaktów, które najbardziej "polubiÅ‚y" Twoje wpisy +[*] webRTC - użycie zewnÄ™trznego serwera (mayfirst.org) do negocjowania połączeÅ„ webRTC +[*] wppost - publikowanie w WordPress (lub w innych serwisach stosujÄ…cych XMLRPC Wordpress) +[*] xmpp - XMPP czat oparty na converse.js +[/list] + +[h3]Repozytoria dodatków[/h3] + +[b]Zdecydowanie zalecamy[/b], aby autorzy dodatków publikowali (przesyÅ‚ali) je do repozytorium dodatków projektu. Ma to kilka zalet. ProgramiÅ›ci projektów mogÄ… Å‚atwo naprawić luki w zabezpieczeniach i wprowadzać zmiany, aby dostosować siÄ™ do ostatnich zmian w kodzie podstawowym. Dodatki dostarczane w repozytoriach innych firm sÄ… uważane za niezaufane. JeÅ›li podstawowy kod projektu zmieni siÄ™ w niekompatybilny sposób, może nie być innej alternatywy niż fizyczne usuniÄ™cie lub zmiana nazw plików dodatków, aby ponownie uruchomić witrynÄ™. CzÄ™sto tylko autor wtyczki / dodatku może pomóc Ci odzyskać kontrolÄ™ nad TwojÄ… witrynÄ…, a programiÅ›ci projektów nie sÄ… w stanie Ci pomóc; ponieważ z definicji konfiguracja Twojej witryny zostaÅ‚a zmodyfikowana w sposób, którego nie możemy Å‚atwo przetestować ani zweryfikować. + +Z tych powodów [b]zdecydowanie zalecamy[/b], aby NIE instalować dodatków z repozytoriów innych firm. + +Zdajemy sobie również sprawÄ™, że niektórzy programiÅ›ci wolÄ… pracować samodzielnie i nie chcÄ… z różnych powodów, aby ich kod byÅ‚ mieszany z repozytorium projektu. Ci programiÅ›ci mogÄ… uÅ‚atwić rozwiÄ…zywanie problemów i debugowanie, udostÄ™pniajÄ…c plik README w odpowiednim repozytorium kodu, w którym opisano proces przesyÅ‚ania poprawek i poprawek błędów. Zaleca siÄ™ również, aby te projekty zapewniaÅ‚y zarówno gałąź "dev" (rozwój), jak i "master" (produkcja), która Å›ledzi bieżące gałęzie projektu o tych nazwach. Dzieje siÄ™ tak, ponieważ dev i master czÄ™sto nie sÄ… kompatybilne z punktu widzenia interfejsów bibliotek. Zdecydowanie zaleca siÄ™ również, aby wersje repozytorium byÅ‚y oznaczone i przeniesione do przodu w ciÄ…gu 24 godzin od wydania projektu. Jest to poważna niedogodność dla wszystkich zaangażowanych osób i może powodować przestoje w zakÅ‚adach produkcyjnych podczas przeprowadzania tego procesu; co jest jeszcze jednym powodem, dla którego [b]zdecydowanie zalecamy[/b], aby dodatki byÅ‚y przesyÅ‚ane do repozytorium dodatków projektu i aby NIE instalować takich dodatków innych firm. + + +[url=https://framagit.org/hubzilla/addons]https://framagit.org/hubzilla/addons[/url] Główne repozytorium dodatków projektu. + +[url=https://github.com/23n/red-addons]https://github.com/23n/red-addons[/url] Repozytorium Olivera (mayan_places i flip) + + + +#include doc/macros/main_footer.bb; + + diff --git a/doc/pl/addons_gnusocial.bb b/doc/pl/addons_gnusocial.bb new file mode 100644 index 000000000..a35af6e1f --- /dev/null +++ b/doc/pl/addons_gnusocial.bb @@ -0,0 +1,64 @@ +[b]Jak przesyÅ‚ać wpisy do instancji GNUsocial[/b] + +Zacznij od instancji GNUSocial, w której masz swoje konto. + +W instancji GNUSocial przejdź do Ustawienia > Połączenia. W prawej kolumnie, w sekcji "ProgramiÅ›ci", kliknij link "Zarejestruj aplikacjÄ™ klienckÄ… OAuth, która ma być używana z tym wystÄ…pieniem StatusNet". Ten link można znaleźć w Twojej instancji tutaj: + +https://yourgnusocialinstance.org/settings/oauthapps + +NastÄ™pnie kliknij łącze "Zarejestruj nowÄ… aplikacjÄ™". Pojawi siÄ™ nowy formularz zgÅ‚oszeniowy. Oto, co należy zrobić na każdym polu. + +Ikona. Pobierz ikonÄ™ $Projectname znajdujÄ…cÄ… siÄ™ pod tym linkiem, po zapisaniu jej na swoim komputerze: + +https://framagit.org/hubzilla/core/blob/master/images/rm-32.png + +Nazwa. Nadaj aplikacji odpowiedniÄ… nazwÄ™. WywoÅ‚aj swojÄ… witrynÄ™ hubzilli. Możesz preferować r2g. + +Opis. Użyj tego pola, aby opisać przeznaczenie aplikacji. Dodaj coÅ› o efekcie użycia krzyżowego wysyÅ‚ania z $Projectname do GNUsocial. + +ŹródÅ‚owy adres URL. Wpisz nazwÄ™ domeny głównej witryny Red, której używasz. Nie zapomnij wpisać "s" w https://yourhubzillasite.com. JeÅ›li Twoja instalacja Red jest subdomenÄ…, prawdopodobnie bÄ™dzie to wymagane. + +Organizacja. JeÅ›li używasz tej instancji $Projectname dla grupy lub firmy, wypeÅ‚nij to pole. + +Strona główna. JeÅ›li Twoja grupa korzysta z subdomeny, prawdopodobnie zechcesz umieÅ›cić tutaj identyfikator URI domeny głównej. + +Adres URL wywoÅ‚ania zwrotnego. Pozostaw puste. + +Typ aplikacji: wybierz "desktop." + +DomyÅ›lny dostÄ™p: wybierz "Read-write." + +Wszystkie pola oprócz adresu URL wywoÅ‚ania zwrotnego muszÄ… być wypeÅ‚nione. + +Kliknij przycisk "Zapisz". + +NastÄ™pnie kliknij ikonÄ™ lub nazwÄ™ aplikacji, aby wyÅ›wietlić informacje, które musisz wstawić w $Projectname. + +***** + +Otwórz teraz nowÄ… kartÄ™ lub okno i przejdź do swojego konta $Projectname, do ustawieÅ„ Ustawienia > WÅ‚aÅ›ciwoÅ›ci. Znajdź ustawienia publikowania StatusNet. + +Wstaw w $Projectname ciÄ…gi liczb, podane na stronie GNUsocial, do pól klucza konsumenta i hasÅ‚a konsumenta. + +PodstawowÄ… Å›cieżkÄ… API (pamiÄ™taj o koÅ„cowym znaku /) bÄ™dzie adres Twojej domeny i Å›cieżki "/api/". Prawdopodobnie bÄ™dzie wyglÄ…dać tak: + +https://yourgnusocialinstance.org/api/ + +W przypadku wÄ…tpliwoÅ›ci sprawdź witrynÄ™ instancji GNUsocial, aby znaleźć adresy URL domeny tokenu żądania, tokenu dostÄ™pu i autoryzacji. BÄ™dzie to pierwsza część adresu URL domene, bez "/oauth/...." + +Nazwa aplikacji StatusNet: Wstaw nazwÄ™, którÄ… nadaÅ‚eÅ› aplikacji w witrynie GNUsocial. + +Kliknij "PrzeÅ›lij". + +Pojawi siÄ™ przycisk "Zaloguj siÄ™ do StatusNet". Kliknij go, a otworzy siÄ™ zakÅ‚adka lub okno w witrynie GNUsocial, w którym możesz kliknąć "Zezwól". Po klikniÄ™ciu i pomyÅ›lnej autoryzacji pojawi siÄ™ numer kodu bezpieczeÅ„stwa. Skopiuj go i wróć do aplikacji $Projectname, którÄ… wÅ‚aÅ›nie opuÅ›ciÅ‚eÅ› i wstaw jÄ… w polu: "Tutaj skopiuj kod bezpieczeÅ„stwa ze StatusNet". Kliknij "PrzeÅ›lij". + +JeÅ›li siÄ™ powiedzie, Twoje informacje z instancji GNUsocial powinny pojawić siÄ™ w aplikacji $Projectname. + +JeÅ›li chcesz, masz teraz do wyboru kilka opcji, które należy również potwierdzić, klikajÄ…c "PrzeÅ›lij". Najbardziej interesujÄ…ca jest opcja "DomyÅ›lnie wysyÅ‚aj publiczne wpisy do StatusNet". Ta opcja automatycznie wysyÅ‚a wszystkie wpisy, które napisaÅ‚eÅ› na koncie $Projectname do Twojej instancji GNUsocial. + +JeÅ›li nie wybierzesz tej opcji, bÄ™dziesz mieć możliwość rÄ™cznego wysÅ‚ania wpisu do swojej instancji GNUsocial. W tym celu, najpierw otwórz wpis (klikajÄ…c w obszarze tekstowym wpisu) i kliknik ikonÄ™ kłódki obok przycisku "UdostÄ™pnij". Wybierz ikonÄ™ GNUsocial skÅ‚adajÄ…cÄ… siÄ™ z trzech kolorowych dymków dialogowych. Zamknij to okno, a nastÄ™pnie wykonaj swój wpis. + +JeÅ›li wszystko pójdzie dobrze, wÅ‚aÅ›nie wysÅ‚aÅ‚eÅ› swój wpis z $Projectname na swoje konto w instancji GNUsocial. + +#include doc/macros/addons_footer.bb; + diff --git a/doc/pl/admin/administrator_guide.md b/doc/pl/admin/administrator_guide.md new file mode 100644 index 000000000..86e5fd80c --- /dev/null +++ b/doc/pl/admin/administrator_guide.md @@ -0,0 +1,385 @@ +### PrzeglÄ…d + +$Projectname to wiÄ™cej niż prosta aplikacja internetowa. Jest to zÅ‚ożony system komunikacyjny, który bardziej przypomina serwer poczty elektronicznej niż serwer WWW. Aby zapewnić niezawodność i wydajność, wiadomoÅ›ci sÄ… dostarczane w tle i umieszczane w kolejce do późniejszego dostarczenia, gdy lokacje sÄ… wyłączone. Ten rodzaj funkcjonalnoÅ›ci wymaga nieco wiÄ™cej zasobów hosta niż typowy dziennik. Nie każdy dostawca hostingu PHP-MySQL bÄ™dzie w stanie obsÅ‚ugiwać $Projectname. Tak wiÄ™c, przed instalacjÄ… zapoznaj siÄ™ z wymaganiami i potwierdź je u dostawcy usÅ‚ug hostingowych. + +Bardzo staraliÅ›my siÄ™, aby Hubzilla dziaÅ‚aÅ‚a na zwykÅ‚ych platformach hostingowych, takich jak te używane do hostowania blogów Wordpress i stron internetowych Drupal. BÄ™dzie ona dziaÅ‚ać na wiÄ™kszoÅ›ci systemów VPS Linux. Platformy Windows LAMP, takie jak XAMPP i WAMP, nie sÄ… obecnie oficjalnie obsÅ‚ugiwane, jednak mile widziane sÄ… poprawki, jeÅ›li uda Ci siÄ™ je uruchomić. + +### Gdzie można znaleźć wiÄ™cej pomocy + +JeÅ›li napotkasz problemy lub sam masz jakiÅ› problem, które nie zostaÅ‚y opisane w tej dokumentacji, poinformuj nas o tym za poÅ›rednictwem narzÄ™dzia do [Å›ledzenia problemów na Github](https://framagit.org/hubzilla/core/issues). Prosimy o jak najdokÅ‚adniejsze opisanie swojego Å›rodowiska operacyjnego i podanie jak najwiÄ™kszej iloÅ›ci informacji o wszelkich komunikatach o błędach, które mogÄ… siÄ™ pojawić, abyÅ›my mogli zapobiec ich wystÄ™powaniu w przyszÅ‚oÅ›ci. Ze wzglÄ™du na dużą różnorodność istniejÄ…cych systemów operacyjnych i platform PHP możemy mieć ograniczone możliwoÅ›ci debugowania instalacji PHP lub pozyskiwania brakujÄ…cych modułów, ale doÅ‚ożymy wszelkich staraÅ„, aby rozwiÄ…zać wszelkie ogólne problemy z kodem. + +### Zanim zaczniesz + +#### Wybierz nazwÄ™ domeny lub subdomeny dla swojego serwera + +PlatformÄ™ $Projectname można zainstalować tylko w katalogu głównym domeny lub subdomeny i nie może ona dziaÅ‚ać na niestandardowych portach TCP. + +#### Zdecyduj, czy bÄ™dziesz używać SSL i uzyskaj certyfikat SSL przed instalacjÄ… oprogramowania + +POWINNO siÄ™ używać SSL. JeÅ›li używasz SSL, MUSISZ użyć certyfikatu uznawanego przez przeglÄ…darki. **NIE WOLNO używać certyfikatów z podpisem wÅ‚asnym!** + +Przetestuj swój certyfikat przed instalacjÄ…. NarzÄ™dzie internetowe do testowania certyfikatu jest dostÄ™pne pod adresem http://www.digicert.com/help/. OdwiedzajÄ…c witrynÄ™ po raz pierwszy, użyj adresu URL SSL (https://), jeÅ›li protokół SSL jest dostÄ™pny. Pozwoli to uniknąć późniejszych problemów. Procedura instalacji nie pozwoli na użycie certyfikatu, który nie jest zaufany dla przeglÄ…darki. + +To ograniczenie zostaÅ‚o wprowadzone, ponieważ Twoje publiczne wpisy mogÄ… zawierać odniesienia do obrazów na Twoim hubie. Inni czÅ‚onkowie przeglÄ…dajÄ…cy swój strumieÅ„ w innych centrach otrzymajÄ… ostrzeżenia, jeÅ›li Twój certyfikat nie jest zaufany w ich przeglÄ…darce internetowej. To zmyli wiele osób, ponieważ jest to zdecentralizowana sieć i otrzymajÄ… ostrzeżenie o Twoim hubie podczas przeglÄ…dania wÅ‚asnego huba i mogÄ… pomyÅ›leć, że ich wÅ‚asny hub ma problem. Te ostrzeżenia sÄ… bardzo techniczne i przerażajÄ…ce dla niektórych osób, z których wielu nie bÄ™dzie wiedziaÅ‚o, jak postÄ™pować, z wyjÄ…tkiem przestrzegania zaleceÅ„ przeglÄ…darki. Jest to destrukcyjne dla spoÅ‚ecznoÅ›ci. To powiedziawszy, zdajemy sobie sprawÄ™ z problemów zwiÄ…zanych z obecnÄ… infrastrukturÄ… certyfikatów i zgadzamy siÄ™, że istnieje wiele problemów, ale to nie zmienia wymagania. + +BezpÅ‚atne certyfikaty zgodne z przeglÄ…darkami sÄ… dostÄ™pne od dostawców, takich jak StartSSL i LetsEncrypt. + +JeÅ›li NIE używasz SSL, może wystÄ…pić opóźnienie do minuty dla startowego skryptu instalacyjnego - podczas sprawdzania portu SSL, aby zobaczyć, czy tam jest wszystko w porzÄ…dku. Podczas komunikowania siÄ™ z nowymi witrynami Hubzilla zawsze najpierw próbuje połączyć siÄ™ z portem SSL, zanim powróci do mniej bezpiecznego połączenia. JeÅ›li nie używasz SSL, twój serwer WWW NIE MOÅ»E w ogóle nasÅ‚uchiwać na porcie 443. + +JeÅ›li używasz LetsEncrypt do dostarczania certyfikatów i tworzenia pliku pod _well-known_ lub _acme-challenge_, aby LetsEncrypt mógÅ‚ zweryfikować wÅ‚asność domeny, usuÅ„ lub zmieÅ„ nazwÄ™ katalogu _.well-known_ zaraz po wygenerowaniu certyfikatu. $Projectname zapewni wÅ‚asnÄ… procedurÄ™ obsÅ‚ugi usÅ‚ug *.well-know* po zainstalowaniu, a istniejÄ…cy katalog w tej lokalizacji może uniemożliwić poprawne dziaÅ‚anie niektórych z tych usÅ‚ug. Nie powinno to stanowić problemu w przypadku Apache, ale może to być problem z Nginx lub innymi platformami serwera internetowego. + +### Wdrożenie + +Nowy hub można wdrożyć na kilka sposobów: + +* rÄ™czna inastalaja na istniejÄ…cym serwerze; +* automatyczna instalacja na istniejÄ…cym serwerze przy użyciu skryptu instalacyjnego; +* automatyczne wdrożenie przy użyciu prywatnego serwera wirtualnego OpenShift (VPS).) + +### Wymagania + +* Apache z włączonym moduÅ‚em _mod-rewrite_ i ustawionÄ… dyrektywÄ… "AllowOverride All", tak aby można byÅ‚o stosować plik _.htaccess_. Niektóre osoby z powodzeniem stosowaÅ‚y Nginx czy Lighttpd.PrzykÅ‚adowe skrypty konfiguracyjne sÄ… dostÄ™pne na tej platformie w [doc/install](). Apache and Nginx majÄ… najlepsze wsparcie. + +* PHP 7.1 lub w wersji wyższej. + * _ProszÄ™ mieć na uwadze, że w niektórych Å›rodowiskach hostinu współdzielonego, wersja wiersza poleceÅ„ PHP różni siÄ™ od wersji serwera internetowego_ + +* DostÄ™p do wiersza poleceÅ„ PHP z ustawionym w pliku php.ini parametrem _register_argc_argv_ na true i bez ograniczeÅ„ dostawcy hostingu w zakresie stosowania funkcji _exec()_ i _proc_open()_. + +* Rozszerzenia curl, gd (z obsÅ‚ugÄ… co najmmniej jpeg i png), mysqli, mbstring, mcrypt, zip i openssl. Tozszerzenie imagick nie jest wymagane ale jest zalecane. + +* Wymagane jest rozszerzenie xml, jeÅ›li chce sie mieć dziaÅ‚ajacÄ… obsÅ‚ugÄ™ webdav. + +* JakaÅ› forma serwera pocztowego lub bramy pocztowej, taka jak dziaÅ‚a PHP mail(). + +* Serwer bazy danych Mysql 5.x lub MariaDB lub PostgreSQL. + +* Możliwość planowania zadaÅ„ dla crona. + +* WYMAGANA jest instalacja w katalogu głównym hosta WWW (wirtualnego hosta w Apache i bloku w Nginx). + +### Instalacja rÄ™czna + +##### Krok 1. + +Rozpakuj pliki $Projectname do katalogu głównego obszaru dokumentów serwera WWW. JeÅ›li kopiujesz drzewo katalogów na swój serwer WWW, upewnij siÄ™, że dołączasz ukryte pliki, takie jak _.htaccess_. + +JeÅ›li możesz to zrobić, zalecamy użycie Git do sklonowania repozytorium źródÅ‚owego zamiast używania spakowanego pliku tar lub zip. To znacznie uÅ‚atwia późniejszÄ… aktualizacjÄ™ oprogramowania. Polecenie Linux do sklonowania repozytorium do katalogu "mywebsite: wyglÄ…daÅ‚oby tak: + + git clone https://framagit.org/hubzilla/core.git mywebsite + +a nastÄ™pnie, w dowolnym momencie, możesz pobrać najnowsze zmiany za pomocÄ…: + + git pull + +upewnij siÄ™, że istniejejÄ… foldery `store/[data]/smarty3` i `store` i że sÄ… one możliwe do zapisu przez wÅ‚aÅ›ciciela procesu serwera WWW: + + mkdir -p "store/[data]/smarty3" + chmod -R 777 store + +To uprawnienie (777) jest bardzo niebezpieczne i jeÅ›li masz wystarczajÄ…ce uprawnienia i wiedzÄ™ powinieneÅ› umożliwić zapisywanie w tych katalogach tylko przez serwer WWW i użytkownika, który uruchomia crona (patrz poniżej), jeÅ›li jest taki. W wielu współdzielonych Å›rodowiskach hostingowych może to być trudne, bez zgÅ‚oszenia problemu u dostawcy. Powyższe uprawnienia pozwolÄ… oprogramowaniu dziaÅ‚ać, ale nie sÄ… optymalne. + +Aby dziaÅ‚aÅ‚y niektóre internetowe narzÄ™dzia administracyjne, serwer WWW musi mieć możliwość zapisu w nastÄ™pujÄ…cych katalogach: + +* _addon_ +* _extend_ +* _view/theme_ +* _widget_ + +##### Krok 2. + +Utwórz pustÄ… bazÄ™ danych i zanotuj szczegóły dostÄ™pu (nazwa hosta, nazwa użytkownika, hasÅ‚o, nazwa bazy danych). Biblioteki bazy danych PDO powracajÄ… do komunikacji przez gniazdo uniksowe, gdy nazwÄ… hosta jest _localhost_, ale niektóre osoby zgÅ‚osiÅ‚y problemy z implementacjÄ… gniazda. Użyj gniazd, jeÅ›li Twoje uprawnienia na to pozwalajÄ…. W przeciwnym razie, jeÅ›li baza danych jest udostÄ™pniana na hoÅ›cie _localhost_, jako nazwÄ™ hosta wpisz _127.0.0.1_. + +WewnÄ™trznie używamy teraz biblioteki PDO do połączeÅ„ z bazÄ… danych. JeÅ›li masz do czynienia z konfigyracjÄ… bazy danych, którÄ… nie możesz obsÅ‚użyć poprzez formularz konfiguracyjny (ma przykÅ‚ad w przypadku uzywania MySQL z nietypowÄ… lokalizacjÄ… gniazd) - możesz podać ciÄ…g połączenia PDO jako nazwÄ™ hosta. Na przykÅ‚ad: + + :/path/to/socket.file + +W razie potrzeby nadal trzeba wypeÅ‚nić w formularzu konfiguracyjnym wszystkie inne wartoÅ›ci majÄ…ce zastosowanie. + +##### Krok 3. + +Utwórz pusty plik o nazwie _.htconfig.php_ i uczyÅ„ go możliwymm do zapisania przez serwer WWW. Krok ten wykonaj, jeÅ›li wiesz, że serwer WWW nie bÄ™dzie mógÅ‚ sam utworzyć tego pliku. + +##### Krok 4. + +Odwiedź swojÄ… witrynÄ™ za pomocÄ… przeglÄ…darki internetowej i postÄ™puj zgodnie z instrukcjami. Zanotuj wszelkie komunikaty o błędach i popraw je przed kontynuowaniem. JeÅ›li używasz protokoÅ‚u SSL (od znanego urzÄ™du autoryzacyjnego), użyj schematu _https_ w adresie URL swojej witryny. + +##### Krok 5. + +JeÅ›li automatyczna instalacja nie powiedzie siÄ™ z jakiegoÅ› powodu, sprawdź nastÄ™pujÄ…ce rzeczy: + +* Czy istnieje plik _.htconfig.php_? JeÅ›li nie, edytuj plik _htconfig.php_ i zmieÅ„ w nim ustawienia systemowe. NastÄ™pnie zmieÅ„ jego nazwÄ™ na _.htconfig.php_. +* Czy baza danych jest wypeÅ‚niona. JeÅ›li nie, zaimportuj treść skryptu _install/schema_xxxxx.sql_ w phpmyadmin lub wierszu poleceÅ„ mysql (zamieÅ„ 'xxxxx' na wÅ‚asciwy typ bazy danych). + +##### Krok 6. + +Po udanej instalacji odwiedż ponownie swojÄ… witrynÄ™ i zarejestruj swoje osobiste konto. Błędy rejestracji powinny dać sie naprawić automatycznie. + +JeÅ›li w tym momencie wystÄ…piÅ‚a jakakolwiek *krytyczna* awaria, to na ogół przyczyna leży w źle funkcjonujÄ…cej bazie danych. W takim przypadku, aby zacząć od nowa, usuÅ„ lub zmieÅ„ nazwÄ™ pliku _.htconfig.php_ i usuÅ„ tabele bazy danych. + +Aby Twoje konto miaÅ‚o dostÄ™p administratora, powinno to być utworzone jako pierwsze, a adres e-mail podany podczas rejestracji musi być zgodny z adresem administratora podanym podczas instalacji. JeÅ›li staÅ‚o sie inaczej, aby dać dostÄ™p administracyjny jakiemuÅ› kontu, dodaj _4096_ w rekordzie tabeli _account_roles_ tego konta. + +Ze wzglÄ™du na bezpieczeÅ„stwo witryny, nie ma możliwoÅ›ci zapewnienia dostÄ™pu administracyjnego za pomocÄ… formularzy konfiguracyjnych. + +##### Krok 7. BARDZO WAÅ»NY! + +Skonfiguruj zadanie Crona lub *zadanie zaplanowane*, tak aby uruchamiać menedżera Crona co 10-15 minut w celu przetwarzania i konserwacji w tle. PrzykÅ‚ad: + + cd /base/directory; /path/to/php Zotlabs/Daemon/Master.php Cron + + +ZmieÅ„ tutaj `/base/directory` i `/path/to/php` na wÅ‚aÅ›ciwe dla siebie Å›cieżki. + +JeÅ›li używasz serwera linuksowego, uruchom polecenie `crontab -e` i dodaj wiersz taki jak poniżej, zmieniajÄ…c odpowiednio Å›cieżki i ustawienia: + + */10 * * * * cd /home/myname/mywebsite; /usr/bin/php Zotlabs/Daemon/Master.php Cron > /dev/null 2>&1 + +LokalizacjÄ™ PHP na ogół można ustalić wykonujÄ…c polecenie _which php_. JeÅ›li masz problemy z ustawienie Crona, skontaktuj siÄ™ z dostawcÄ… hostingu w celu uzyskania pomocy. Hubzilla nie bÄ™dzie dziaÅ‚ać prawidÅ‚owo bez tego kroku. + +Powinno siÄ™ również sprawdzić ustawienie parametru _App::$config['system']['php_path']_ w pliku _.htconfig.php_. Powinno to wyglÄ…dać tak (zmieÅ„ to zgodnie z lokalizacjÄ… PHP w swoim systemie): + + + App::$config['system']['php_path'] = '/usr/local/php56/bin/php'; + +#### Oficjalne dodatki + +##### Instalacja + +Przejdź do swojej witryny. NastÄ™pnie sklonuj repozytorium dodatków (osobno). Nadamy temu repozytorium pseudonim `hzaddons`. Możesz pobrać inne repozytoria dodatków Hubzilla, nadajÄ…c im różne pseudonimy: + + cd mywebsite + util/add_addon_repo https://framagit.org/hubzilla/addons.git hzaddons + +##### Aktualizacja + +W celu aktualizacji drzewa dodatków, powinno siÄ™, z poziomu głównego katalogu witryny, wydać polecenie aktualizacji tego repozytorium: + + cd mywebsite + util/update_addon_repo hzaddons + +Stwórz reprezentacjÄ™ dokumentacji online z możliwoÅ›ciÄ… wyszukiwania. Możesz to zrobić za każdym razem, gdy dokumentacja jest aktualizowana: + + cd mywebsite + util/importdoc + +### Automatyczna instalacja poprzez skrypt .homeinstall + +Istnieje skrypt powÅ‚oki _.homeinstall/hubzilla-setup.sh_, który po uruchomieniu zainstaluje HubzillÄ™ i jego zależnoÅ›ci na nowej instalacji stabilnej dystrybucji Debiana 9 (Stetch). Powinien dziaÅ‚ać na podobnych systemach Linux, ale wyniki mogÄ… siÄ™ różnić. + +#### Wymagania + +Skrypt instalacyjny zostaÅ‚ pierwotnie zaprojektowany dla maÅ‚ego serwera sprzÄ™towego za routerem domowym. Jednak zostaÅ‚ przetestowany też na kilku systemach z Debian 9: + +* Home-PC (Debian-9.2-amd64) i Rapberry-Pi 3 (Rasbian = Debian 9.3) + * Połączenie z Internetem i domowy router + * Mini-PC lub Raspi poÅ‚aczone z router + * NapÄ™d USB dla kopii zapasowych + * Åšwieża instalacja Debian na swoim mini-pc + * Router z otwartymi portami 80 i 443 dla Debiana + +#### Etapy instalacji + +1. _apt-get install git_ +1. _mkdir -p /var/www/html_ +1. _cd /var/www/html_ +1. _git clone https://framagit.org/hubzilla/core.git ._ +1. _nano .homeinstall/hubzilla-config.txt_ +1. _cd .homeinstall/_ +1. _./hubzilla-setup.sh_ +1. _service apache2 reload_ +1. Open your domain with a browser and step throught the initial configuration of $Projectname. + +### Zalecane dodatki + +Zalecamy zainstalowanie nastÄ™pujÄ…cych dodatków we wszystkich publicznych witrynach: + + nsfw - hide inappropriate posts/comments + superblock - block content from offensive channels + +### Dodatki federacyjne + +Kilka spoÅ‚ecznoÅ›ci internetowych zaczęło łączyć siÄ™ przy użyciu wspólnych protokołów. Stosowane protokoÅ‚y majÄ… nieco ograniczone możliwoÅ›ci. Na przykÅ‚ad protokół GNU-Social nie oferuje żadnych trybów prywatnoÅ›ci, a protokół Diaspora +jest nieco bardziej restrykcyjny w zakresie dozwolonych rodzajów komunikacji. Wszystkie komentarze muszÄ… być podpisane w bardzo unikalny sposób przez oryginalnego autora. Rozważany jest również protokół ActivityPub, który może być obsÅ‚ugiwany w przyszÅ‚oÅ›ci. Å»aden inny istniejÄ…cy protokół nie obsÅ‚uguje lokalizacji nomadycznej używanej w tym projekcie. Stwarza to pewne problemy z obsÅ‚ugÄ…, ponieważ niektóre funkcje dziaÅ‚ajÄ… w niektórych sieciach, a w innych nie. Niemniej jednak protokoÅ‚y federacyjne umożliwiajÄ… nawiÄ…zywanie połączeÅ„ ze znacznie wiÄ™kszÄ… spoÅ‚ecznoÅ›ciÄ… ludzi na caÅ‚ym Å›wiecie. SÄ… dostarczane jako dodatki. + +* _diaspora_ - protokół diaspory używany przez DiasporÄ™ i Friendica. Najpierw należy włączyć „Diaspora Statistics†(statystyki), aby włączyć wszystkie dostÄ™pne funkcje. + +* _gnusoc_ - protokół spoÅ‚ecznoÅ›ciowy GNU, używany przez GNU-Social, Mastodon i kilka innych spoÅ‚ecznoÅ›ci. Ten dodatek wymaga najpierw zainstalowania usÅ‚ugi _pubsubhubbub_ (także dodatku). + +Każdy czÅ‚onek Twojej siatki musi indywidualnie zdecydować, czy zezwolić na te protokoÅ‚y, ponieważ mogÄ… one kolidować z kilkoma pożądanymi podstawowymi funkcjami i możliwoÅ›ciami Hubzilla (takimi jak migracja kanałów i klonowanie). Robi siÄ™ to +na swojej stronie _Ustawienia_ -> _Ustawienia funkcji i dodatków_. Administrator może również ustawić: + + util/config system.diaspora_allowed 1 + util/config system.gnusoc_allowed 1 + +i włączać te protokoÅ‚y automatycznie dla wszystkich nowo tworzonych kanałów. + +### Klasy usÅ‚ug + +Klasy usÅ‚ug pozwalajÄ… na ustawienie limitów zasobów systemowych poprzez ograniczenie tego, co mogÄ… robić poszczególne konta, w tym przechowywania plików i najwyższych limitów wpisów. Zdefiniuj niestandardowe klasy usÅ‚ug zgodnie ze swoimi potrzebami w pliku _.htconfig.php_. Na przykÅ‚ad utwórz klasÄ™ standard i premium, używajÄ…c nastÄ™pujÄ…cych wierszy: + + // Service classes + + App::$config['system']['default_service_class']='standard'; // this is the default service class that is attached to every new account + + // configuration for standard service class + App::$config['service_class']['standard'] = + array('photo_upload_limit'=>2097152, // total photo storage limit per channel (here 2MB) + 'total_identities' =>1, // number of channels an account can create + 'total_items' =>0, // number of top level posts a channel can create. Applies only to top level posts of the channel user, other posts and comments are unaffected + 'total_pages' =>100, // number of pages a channel can create + 'total_channels' =>100, // number of channels the user can add, other users can still add this channel, even if the limit is reached + 'attach_upload_limit' =>2097152, // total attachment storage limit per channel (here 2MB) + 'chatters_inroom' =>20); + + // configuration for premium service class + App::$config['service_class']['premium'] = + array('photo_upload_limit'=>20000000000, // total photo storage limit per channel (here 20GB) + 'total_identities' =>20, // number of channels an account can create + 'total_items' =>20000, // number of top level posts a channel can create. Applies only to top level posts of the channel user, other posts and comments are unaffected + 'total_pages' =>400, // number of pages a channel can create + 'total_channels' =>2000, // number of channels the user can add, other users can still add this channel, even if the limit is reached + 'attach_upload_limit' =>20000000000, // total attachment storage limit per channel (here 20GB) + 'chatters_inroom' =>100); + +Aby zastosować klasÄ™ usÅ‚ug do istniejÄ…cego konta, użyj narzÄ™dzia wiersza poleceÅ„ z katalogu głównego instalacji Hubzilla: + +* uzyskanie listy klas usÅ‚ug: + + util/service_class + + +* ustawienie domyÅ›lnej klasy usÅ‚ug na _firstclass_: + + util/config system default_service_class firstclass + +* uzyskanie listy usÅ‚ug, które należą do klasy _firstclass_: + + util/service_class firstclass + +* ustawienie caÅ‚kowitego użycia dysku ze zdjÄ™ciami _firstclass_ na 10 milionów bajtów + + util/service_class firstclass photo_upload_limit 10000000 + +* ustawienie konta z identyfikatorem 5 na klasÄ™ _firstclass_ (z potwierdzeniem): + + util/service_class --account=5 firstclass + +* ustawienie konta, które jest wÅ‚aÅ›cicielem kanaÅ‚u `bdziennikchan` na klasÄ™ _firstclass_ (z potwierdzeniem) + + util/service_class --channel=bdziennikchan firstclass + +**Opcje limitu klas usÅ‚ug** + +##### Opcje limitów klas usÅ‚ug: + +* _photo_upload_limit_ - maksymalna łączna liczba bajtów na zdjÄ™cia +* _total_items_ - maksymalna liczba wpisów na najwyższym poziomie +* _total_pages_ - maksymalna liczba stron comanche +* _total_identities_ - maksymalna liczba kanałów posiadanych na koncie +* _total_channels_ - maksymalna liczba kanałów +* _total_feeds_ - maksymalna liczba kanałów RSS +* _attach_upload_limit_ - maksymalna pojemność przesyÅ‚ania plików (w bajtach) +* _minimum_feedcheck_minutes_ - najniższe ustawienie dozwolone dla odpytywania kanałów RSS +* _chatrooms_ - maksymalna liczba czatów +* _chatters_inroom_ - maksymalna liczba rozmówców w czacie +* _access_tokens_ - maksymalna liczba tokenów dostÄ™pu goÅ›cia na kanaÅ‚ + +### ZarzÄ…dzanie motywami + +#### PrzykÅ‚ad zarzÄ…dzania repozytorium + +1) Przejdź na poziom katalogu głównego serwera: + + ``` + root@hub:/root# cd /var/www + ``` + +2) Dodaj repozytorium motywu i nadaj mu nazwÄ™ + + ``` + root@hub:/var/www# util/add_theme_repo https://github.com/DeadSuperHero/redmatrix-themes.git DeadSuperHero + ``` +3) Zaktualizuj repozytorium motywu + + ``` + root@hub:/var/www# util/update_theme_repo DeadSuperHero + ``` + +### Katalog kanałów + +#### SÅ‚owa kluczowe + +Na stronie katalogu kanałów może pojawiać siÄ™ chmura słów kluczowych. JeÅ›li chcesz ukryć te sÅ‚owa kluczowe, które sÄ… pobierane z serwera katalogów, możesz użyć narzÄ™dzia _config_: + + util/config system disable_directory_keywords 1 + +JeÅ›li twój hub pracuje w trybie autonomicznym, ponieważ nie chcesz łączyć siÄ™ z globalnÄ… sieciÄ…, możesz zamiast tego ustawić opcjÄ™ systemowÄ… _directory_server_ na wartość pustÄ…: + + util/config system directory_server "" + +### Administrowanie + +#### Administrowanie witrynÄ… + +Administracja witrynÄ… jest zwykle wykonywana za poÅ›rednictwem strony administratora znajdujÄ…cej siÄ™ na Å›cieżce _/admin_ adresu URL Twojej witryny. Aby uzyskać dostÄ™p do tej strony, trzeba mieć uprawnienia administratora na serwerze. Prawa administracyjne sÄ… przyznawane pierwszemu kontu, które zostaÅ‚o zarejestrowane w witrynie, pod warunkiem, że adres e-mail tego konta dokÅ‚adnie odpowiada adresowi e-mail podanemu jako adres e-mail administratora podczas konfiguracji. + +Istnieje kilka sposobów, w jakie może to siÄ™ nie powieść i pozostawić system bez konta administratora, na przykÅ‚ad jeÅ›li pierwsze konto, które zostaÅ‚o utworzone, miaÅ‚o inny adres e-mail niż adres e-mail administratora, który zostaÅ‚ podany podczas konfiguracji. + +Ze wzglÄ™dów bezpieczeÅ„stwa w systemie nie ma strony internetowej ani interfejsu, który daje dostÄ™p administratora. JeÅ›li potrzebujesz poprawić sytuacjÄ™, w której system nie ma konta administratora, musisz to zrobić edytujÄ…c tabelÄ™ kont w bazie danych. Nie ma innego wyjÅ›cia. Aby to zrobić, bÄ™dziesz musiaÅ‚ zlokalizować wpis w tabeli kont, który należy do żądanego administratora i ustawić _account_roles_ dla tego wpisu na _4096_. BÄ™dziesz wtedy mógÅ‚ uzyskać dostÄ™p do strony administratora z menu profilu twojego systemu lub bezpoÅ›rednio na Å›cieżce _/admin_. + +Hub może mieć wielu administratorów i nie ma ograniczeÅ„ co do ich liczby. Powtórz powyższÄ… procedurÄ™ dla każdego konta, któremu chcesz przyznać uprawnienia administracyjne. + +### RozwiÄ…zywanie problemów + +#### Pliki dzienników + +Plik dziennika systemowego jest niezwykle przydatnym źródÅ‚em informacji do Å›ledzenia błędów. Można to włączyć na stronie konfiguracji _admin/log_. Ustawienie poziomu o wartoÅ›ci *LOGGER_DEBUG* jest preferowany w stabilnej instalacji produkcyjnej. WiÄ™kszość problemów zwiÄ…zanych z komunikacjÄ… lub przechowywaniem jest tutaj wymieniona. Ustawienie na *LOGGER_DATA* zapewnia znacznie wiÄ™cej szczegółów, ale może wypeÅ‚nić dysk. W obu przypadkach zalecamy użycie *logrotate* w systemie operacyjnym do cyklicznego tworzenia dzienników i usuwania starszych wpisów. + +Na dole twojego *.htconfig.php* znajduje siÄ™ kilka linii (zakomentowanych), które umożliwiajÄ… rejestrowanie błędów PHP. ZgÅ‚aszane sÄ… problemy ze skÅ‚adniÄ… i wykonywaniem kodu i jest to też pierwszym miejscem, w którym należy szukać problemów, które powodujÄ… "biaÅ‚y ekran" lub pustÄ… stronÄ™. Zwykle jest to wynikiem problemów z kodem lub skÅ‚adniÄ…. Błędy bazy danych sÄ… zgÅ‚aszane do pliku dziennika systemowego, ale uznaliÅ›my, że przydatne jest umieszczenie w katalogu najwyższego poziomu pliku *dbfail.out*, który gromadzi tylko informacje o problemach zwiÄ…zanych z bazÄ… danych. JeÅ›li plik istnieje i można go zapisać, bÄ™dÄ… rejestrowane w nim błędy bazy danych, a także w pliku dziennika systemowego. + +W przypadku błędów "500: problemy mogÄ… być czÄ™sto rejestrowane w dziennikach serwera internetowego, czÄ™sto w */var/log/apache2/error.log* lub podobnym. Zapoznaj siÄ™ z dokumentacjÄ… systemu operacyjnego. + +IstniejÄ… trzy różne obiekty dziennika. + +**Pierwsza to dziennik błędów bazy danych**. Jest on używane tylko wtedy, gdy tworzy siÄ™ plik o specyficznej nazwie *dbfail.out* w folderze głównym swojej witryny i pozwala na zapisywanie w nim przez serwer WWW. JeÅ›li masz jakiekolwiek zapytania do bazy danych, które nie powiodÅ‚y siÄ™, wszystkie sÄ… zgÅ‚aszane tutaj. Zwykle wskazujÄ… na literówki w naszych zapytaniach, ale wystÄ™pujÄ… również w przypadku rozłączenia serwera bazy danych lub uszkodzenia tabel. W rzadkich przypadkach zobaczymy tutaj warunki wyÅ›cigu, w których dwa procesy próbowaÅ‚y utworzyć wpis *xchan* lub *cache* z tym samym identyfikatorem. Należy zbadać wszelkie inne błędy (zwÅ‚aszcza błędy uporczywe). + +**Drugi to dziennik błędów PHP**. Jest tworzony przez procesor jÄ™zyka i zgÅ‚asza tylko problemy powstaÅ‚e w Å›rodowisku jÄ™zykowym. Znowu mogÄ… to być błędy skÅ‚adniowe lub błędy programistyczne, ale generalnie sÄ… one fatalne i skutkujÄ… "biaÅ‚ym ekranem"; +na przykÅ‚ad PHP koÅ„czy dziaÅ‚anie. Prawdopodobnie powinieneÅ› zajrzeć do tego pliku też, jeÅ›li coÅ› pójdzie nie tak, co nie powoduje biaÅ‚ego ekranu. CzÄ™sto zdarza siÄ™, że plik ten jest pusty przez wiele dni. + +Na dole dostarczonego pliku *.htconfig.php* znajduje siÄ™ kilka linii, które, jeÅ›li nie sÄ… zakomentowane, włączajÄ… dziennik PHP (niezwykle przydatny do znajdowania źródÅ‚a błędów biaÅ‚ego ekranu). Nie jest to robione domyÅ›lnie ze wzglÄ™du na potencjalne problemy z wÅ‚asnoÅ›ciÄ… pliku dziennika i uprawnieniami do zapisu oraz fakt, że domyÅ›lnie nie ma rotacji pliku dziennika. + +**Trzeci to "dziennik aplikacji"**. Jest to używane przez HubzillÄ™ do zgÅ‚aszania tego, co dzieje siÄ™ w programie i zwykle zapisywane sÄ… tu wszelkie trudnoÅ›ci lub nieoczekiwane dane, które otrzymaliÅ›my. Czasami zgÅ‚asza siÄ™ tu również komunikaty +o stanie "pulsu", aby wskazać, że osiÄ…gnÄ™liÅ›my okreÅ›lony punkt w skrypcie. Jest to dla nas najważniejszy plik dziennika, ponieważ tworzymy go samodzielnie wyłącznie w celu zgÅ‚aszania stanu zadaÅ„ w tle i wszystkiego, co wydaje siÄ™ dziwne lub nie na miejscu. To może nie być Å›miertelne, ale może po prostu nieoczekiwane. JeÅ›li wykonujesz zadanie i wystÄ™puje problem, daj nam znać, co znajduje siÄ™ w tym pliku, gdy wystÄ…piÅ‚ problem. ProszÄ™ nie wysyÅ‚aj mi 100 milionów zrzutów, tylko mnie wkurzysz! Tylko kilka odpowiednich wierszy, abym mógÅ‚ wykluczyć kilkaset tysiÄ™cy wierszy kodu i skoncentrować siÄ™ na tym, gdzie zaczyna siÄ™ pojawiać problem. + +To sÄ… dzienniki Twojej witryny, a nie moje. ZgÅ‚aszamy poważne problemy na każdym poziomie dziennika. GorÄ…co polecam poziom dziennika *DEBUG* dla wiÄ™kszoÅ›ci witryn. Dostarcza on trochÄ™ dodatkowych informacji i nie tworzy dużych plików dziennika. Kiedy pojawia siÄ™ problem, który uniemożliwia wszelkie próby Å›ledzenia, możesz wtedy włączyć na krótki czas poziom *DATA*, aby uchwycić wszystkie szczegóły struktur, z którymi mieliÅ›my do czynienia w tym czasie. Ten poziom dziennika zajmuje dużo miejsca, wiÄ™c jest zalecany tylko na krótkie okresy lub w przypadku witryn testowych dla programistów. + +Zalecam skonfigurowanie *logrotate* zarówno dla dziennika php, jak i dziennika aplikacji. Zazwyczaj co tydzieÅ„ lub dwa zaglÄ…dam do *dbfail.out*, naprawiam zgÅ‚oszone problemy i zaczynam od nowego pliku. Podobnie jest z plikiem dziennika PHP. OdwoÅ‚ujÄ™ siÄ™ do tego od czasu do czasu, aby sprawdzić, czy jest coÅ›, co wymaga naprawy. + +JeÅ›li coÅ› pójdzie nie tak i nie jest to błąd krytyczny, patrzÄ™ na plik dziennika aplikacji. CzÄ™sto robiÄ™ to: + +``` +tail -f logfile.out +``` + +ponieważ powtarza operacjÄ™, która ma problemy. CzÄ™sto wstawiam w kodzie dodatkowe instrukcje rejestracji, jeÅ›li nie ma żadnej wskazówki, co siÄ™ dzieje. Nawet coÅ› tak prostego jak "got here" lub drukujÄ™ wartoÅ›ci zmiennej, która może być podejrzana. Ty też możesz to zrobić - wrÄ™cz zachÄ™cam CiÄ™ do tego. Gdy już znajdziesz to, czego potrzebujesz, możesz wykonać: + +``` +git checkout file.php +``` + +aby natychmiast wyczyÅ›cić wszystkie dodane elementy rejestrowania. Skorzystaj z informacji z tego dziennika i wszelkich szczegółów, które możesz podać podczas badania problemu, aby zgÅ‚osić błąd - chyba że analiza wskazuje na źródÅ‚o problemu. W takim przypadku po prostu to napraw. + +##### Rotowanie plików dziennika + +1. Włącz dodatek *Logrot* w [oficjalnym repozytorium dodatków hubzilla](https://framagit.org/hubzilla/addons). +1. Utwórz katalog w swoim katalogu głównym o nazwie `log` z uprawnieniami do zapisu przez serwer WWW. +1. Przejdź do ustawieÅ„ administratora programu *Logrot* i wprowadź nazwÄ™ folderu, a także maksymalny rozmiar i liczbÄ™ zachowanych plików dziennika. + +#### ZgÅ‚aszanie problemów + +ZgÅ‚aszajÄ…c problemy, staraj siÄ™ podać jak najwiÄ™cej szczegółów, które mogÄ… być potrzebne programistom do odtworzenia problemu i podać peÅ‚ny tekst wszystkich komunikatów o błędach. + +ZachÄ™camy do doÅ‚ożenia wszelkich staraÅ„, aby wykorzystać te dzienniki w połączeniu z posiadanym kodem źródÅ‚owym w celu rozwiÄ…zywania problemów i znajdowania ich przyczyn. SpoÅ‚eczność czÄ™sto jest w stanie pomóc, ale tylko Ty masz dostÄ™p do +plików dziennika swojej witryny i ich udostÄ™pnianie jest uważane za zagrożenie bezpieczeÅ„stwa. + +JeÅ›li problem z kodem zostaÅ‚ odkryty, zgÅ‚oÅ› go w bugtrackerze projektu (https://framagit.org/hubzilla/core/issues). Ponownie podaj jak najwiÄ™cej szczegółów, aby uniknąć ciÄ…gÅ‚ego zadawania pytaÅ„ o konfiguracjÄ™ lub powielanie problemu, abyÅ›my mogli przejść od razu do problemu i dowiedzieć siÄ™, co z nim zrobić. Zapraszamy również do oferowania wÅ‚asnych rozwiÄ…zaÅ„ i przesyÅ‚ania poprawek. W rzeczywistoÅ›ci zachÄ™camy do tego, ponieważ wszyscy jesteÅ›my wolontariuszami i mamy maÅ‚o wolnego czasu. Im wiÄ™cej osób pomaga, tym Å‚atwiejsze jest obciążenie pracÄ… dla wszystkich. W porzÄ…dku, jeÅ›li Twoje rozwiÄ…zanie nie jest idealne. Wszystko pomaga i być może uda nam siÄ™ to poprawić. + diff --git a/doc/pl/admin/hub_snapshots.md b/doc/pl/admin/hub_snapshots.md new file mode 100644 index 000000000..fa38be7f8 --- /dev/null +++ b/doc/pl/admin/hub_snapshots.md @@ -0,0 +1,127 @@ +### Hub Snapshot Tools + +ProgramiÅ›ci Hubzilli czÄ™sto muszÄ… przełączać siÄ™ miÄ™dzy gałęziami, które mogÄ… +mieć niekompatybilne schematy lub zawartość bazy danych. Poniższe dwa skrypty +tworzÄ… i przywracajÄ… peÅ‚ne migawki instancji Hubzilli, w tym zarówno główny +katalog sieciowy, jak i stan caÅ‚ej bazy danych. Każdy skrypt wymaga pliku +konfiguracyjnego o nazwie *hub-snapshot.conf* znajdujÄ…cego siÄ™ w tym samym +folderze i zawiera on okreÅ›lone katalogi i szczegóły bazy danych huba. + +### Konfiguracja + +Format pliku konfiguracyjnego jest bardzo Å›cisÅ‚y. MiÄ™dzy nazwÄ… zmiennej a +wartoÅ›ciÄ… nie może być spacji. ZastÄ…p tylko treść w cudzysÅ‚owach swojÄ… +konfiguracjÄ…. Zapisz ten plik jako *hub-snapshot.conf* obok skryptów. + + # Location of hub root. Typically this is the location of the Hubzilla repo clone. + HUBROOT="/var/www/" + # MySQL database name + DBNAME="hubzilla" + # MySQL database user + DBUSER="hubzilla" + # MySQL database password + DBPWD="akeufajeuwfb" + # The target snapshot folder where the git repo will be initialized + SNAPSHOTROOT="/root/snapshots/hubzilla/" + +### Migawka + +PrzykÅ‚ad użycia: + + sh hub-snapshot.sh my-hub.conf "Commit message for the snapshot" + +**hub-snapshot.sh**: + + #!/bin/bash + + if ! [ -f "$1" ]; then + echo "$1 is not a valid file. Aborting..." + exit 1 + fi + source "$1" + #echo "$DBNAME" + #echo "$DBUSER" + #echo "$DBPWD" + #echo "$HUBROOT" + #echo "$SNAPSHOTROOT" + MESSAGE="snapshot: $2" + + if [ "$DBPWD" == "" -o "$SNAPSHOTROOT" == "" -o "$DBNAME" == "" -o "$DBUSER" == "" -o "$HUBROOT" == "" ]; then + echo "Required variable is not set. Aborting..." + exit 1 + fi + + if [ ! -d "$SNAPSHOTROOT"/db/ ]; then + mkdir -p "$SNAPSHOTROOT"/db/ + fi + if [ ! -d "$SNAPSHOTROOT"/www/ ]; then + mkdir -p "$SNAPSHOTROOT"/www/ + fi + + if [ ! -d "$SNAPSHOTROOT"/www/ ] || [ ! -d "$SNAPSHOTROOT"/db/ ]; then + echo "Error creating snapshot directories. Aborting..." + exit 1 + fi + + echo "Export database..." + mysqldump -u "$DBUSER" -p"$DBPWD" "$DBNAME" > "$SNAPSHOTROOT"/db/"$DBNAME".sql + echo "Copy hub root files..." + rsync -va --delete --exclude=.git* "$HUBROOT"/ "$SNAPSHOTROOT"/www/ + + cd "$SNAPSHOTROOT" + + if [ ! -d ".git" ]; then + git init + fi + if [ ! -d ".git" ]; then + echo "Cannot initialize git repo. Aborting..." + exit 1 + fi + + git add -A + echo "Commit hub snapshot..." + git commit -a -m "$MESSAGE" + + exit 0 + +### Przywracanie + + #!/bin/bash + # Restore hub to a previous state. Input hub config and commit hash + + if ! [ -f "$1" ]; then + echo "$1 is not a valid file. Aborting..." + exit 1 + fi + source "$1" + COMMIT=$2 + + if [ "$DBPWD" == "" -o "$SNAPSHOTROOT" == "" -o "$DBNAME" == "" -o "$DBUSER" == "" -o "$HUBROOT" == "" ]; then + echo "Required variable is not set. Aborting..." + exit 1 + fi + RESTOREDIR="$(mktemp -d)/" + + if [ ! -d "$RESTOREDIR" ]; then + echo "Cannot create restore directory. Aborting..." + exit 1 + fi + echo "Cloning the snapshot repo..." + git clone "$SNAPSHOTROOT" "$RESTOREDIR" + cd "$RESTOREDIR" + echo "Checkout requested snapshot..." + git checkout "$COMMIT" + echo "Restore hub root files..." + rsync -a --delete --exclude=.git* "$RESTOREDIR"/www/ "$HUBROOT"/ + echo "Restore hub database..." + mysql -u "$DBUSER" -p"$DBPWD" "$DBNAME" < "$RESTOREDIR"/db/"$DBNAME".sql + + chown -R www-data:www-data "$HUBROOT"/{store,extend,addon,.htlog,.htconfig.php} + + echo "Restored hub to snapshot $COMMIT" + echo "Removing temporary files..." + + rm -rf "$RESTOREDIR" + + exit 0 + diff --git a/doc/pl/admins.bb b/doc/pl/admins.bb new file mode 100644 index 000000000..e27b3ae73 --- /dev/null +++ b/doc/pl/admins.bb @@ -0,0 +1,15 @@ +[h2]Dokumentacja dla administratorów huba[/h2] +[h3]Wdrozenie swojego huba[/h3] +[zrl=[baseurl]/help/install]Instalacja[/zrl] +[zrl=[baseurl]/help/red2pi]Instalowanie $Projectname na Raspberry Pi[/zrl] +[zrl=[baseurl]/help/Hubzilla_on_OpenShift]$Projectname na OpenShift[/zrl] +[h3]Utrzymywanie swojego huba[/h3] +[zrl=[baseurl]/help/troubleshooting]Wskazówki dotyczÄ…ce rozwiÄ…zywania problemów[/zrl] +[zrl=[baseurl]/help/theme_management]ZarzÄ…dzanie motywami[/zrl] +[zrl=[baseurl]/help/hidden_configs]Poprawianie ukrytych konfiguracji $Projectname[/zrl] +[zrl=[baseurl]/help/service_classes]Klasy usÅ‚ugi[/zrl] +[zrl=[baseurl]/help/directories]Praca z katalogami i ich konfigurowanie[/zrl] +[h3]Najczęściej zadawane pytania[/h3] +[zrl=[baseurl]/help/faq_admins]FAQ dla administratorów[/zrl] + +#include doc/macros/main_footer.bb; diff --git a/doc/pl/bugs.bb b/doc/pl/bugs.bb new file mode 100644 index 000000000..de1ed03a5 --- /dev/null +++ b/doc/pl/bugs.bb @@ -0,0 +1,31 @@ +[h2]Błędy, problemy i rzeczy, które pojawiajÄ… siÄ™ w nocy ...[/h2] +[h3]CoÅ› poszÅ‚o nie tak! Kto jest odpowiedzialny za naprawianie tego?[/h3] + +[b]$Projectname Community Server[/b] + +$Projectname Community Server to oprogramowanie typu Open Source, które jest utrzymywane przez "spoÅ‚eczność" - zasadniczo nieopÅ‚acanych ochotników. Nikt nie jest odpowiedzialny za naprawianie błędów. Pracujemy razem, aby oprogramowanie i sieć dziaÅ‚aÅ‚y pÅ‚ynnie i bez błędów. JesteÅ› czÅ‚onkiem tej spoÅ‚ecznoÅ›ci, wiÄ™c potrzebujemy również Twojej pomocy, aby zapewnić wysokiej jakoÅ›ci oprogramowanie. Nie ma mitycznych "programistów", którzy w magiczny sposób wszystko naprawiajÄ…. Do nas wszystkich należy włączenie siÄ™ i pomoc. + +PierwszÄ… rzeczÄ…, którÄ… musisz zrobić, jest porozimieć siÄ™ z administratorem huba - osobÄ…, która obsÅ‚uguje TwojÄ… witrynÄ™ i zarzÄ…dza niÄ…. ZnajdujÄ… siÄ™ ona w wyjÄ…tkowej sytuacji, ponieważ ma dostÄ™p do wewnÄ™trznego oprogramowania i bazy danych oraz [b]plików dziennika[/b] i bÄ™dzie musiaÅ‚a zaangażować siÄ™ w naprawÄ™ problemu. Inne osoby "w sieci" nie mogÄ… naprawdÄ™ Ci tym pomóc. PierwszÄ… rzeczÄ…, jakÄ… musi zrobić administrator huba, jest przejrzenie dzienników i podjecie próby odtworzenia problemu. Dlatego staraj siÄ™ być tak pomocny i uprzejmy, jak to tylko możliwe, pomagajÄ…c mu przyjrzeć siÄ™ problemowi. + +Aby znaleźć swojego administratora huba (jeÅ›li nie wiesz, kim on jest), zajrzyj na [url=[baseurl]/siteinfo]tÄ… stronÄ™[/url]. JeÅ›li nie podaÅ‚ on żadnych informacji kontaktowych na tej stronie lub nie podaÅ‚ "Impressum", zobacz [url=[baseurl]/siteinfo.json]podsumowanie informacji o tej witrynie[/url] znajdujÄ…ce siÄ™ pod nagłówkiem "admin:". + +Zdecydowanie zaleca siÄ™, aby administratorzy huba wypeÅ‚niali raporty o błędach, tak aby możliwe byÅ‚o dołączenie odpowiedniego plik dziennika i informacji z bazy danych istotnych dla problemu oraz aby byli oni gotowi do wypróbowania rozwiÄ…zaÅ„ i testów uzupeÅ‚niajÄ…cych. Bez tego poziomu współpracy rozwiÄ…zanie problemu może nie być możliwe. + +[h3]Jestem administratorem huba, co mam zrobić?[/h3] + +Oprogramowania zapewniajÄ…ce tÄ… usÅ‚ugÄ™ sieciowÄ… jest typu Open Source i jest dostÄ™pne do wglÄ…du. ZachÄ™camy wszystkich do zapoznania siÄ™ z kodem i zobaczenia, jak wszystko dziaÅ‚a i sprawdzenia, czy nie robimy nic zÅ‚ego lub niedbaÅ‚ego. JeÅ›li zostaÅ‚ zgÅ‚oszony komunikat o błędzie, czÄ™sto można przeszukać pliki źródÅ‚owe tego komunikatu o błędzie i dowiedzieć siÄ™, co go spowodowaÅ‚o. DziÄ™ki tym informacjom i plikom dziennika serwisu możliwe bÄ™dzie ustalenie sekwencji zdarzeÅ„ prowadzÄ…cych do błędu. Problem mogÄ… powodować również serwisy zewnÄ™trzne i jego źródÅ‚em wcale nie musi być Twój serwis, ale inne miejsce w sieci. Spróbuj okreÅ›lić punkty koÅ„cowe komunikacji (huby lub serwisy), których dotyczy problem i skontaktuj siÄ™ z administratorem tego serwisu lub tych serwisów. Spróbuj podać czas zdarzenia, w którym coÅ› poszÅ‚o nie tak, aby można go byÅ‚o znaleźć w dziennikach. Współpracuj z innymi administratorami, aby spróbować znaleźć przyczynÄ™ problemu. Pliki dziennika sÄ… Twoim przyjacielem. Kiedy w oprogramowaniu dzieje siÄ™ coÅ›, czego siÄ™ nie spodziewaliÅ›my, prawie zawsze zostaÅ‚o to zarejestrowane. + +[h3]BiaÅ‚y ekran Å›mierci[/h3] + +JeÅ›li podczas robienia czegoÅ› pojawia siÄ™ pusty biaÅ‚y ekran, prawie zawsze jest to błąd kodu lub skÅ‚adni. W pliku .htconfig.php serwisu znajdujÄ… siÄ™ instrukcje, które pozwolÄ… administratorowi witryny na włączenie rejestrowania skÅ‚adni. Zalecamy wszystkim witrynom korzystanie z tego. Po włączeniu rejestrowania skÅ‚adni powtórz sekwencjÄ™, która doprowadziÅ‚a do błędu, a powinna ona zarejestrować nieprawidÅ‚owÄ… liniÄ™ kodu. Mamy nadziejÄ™, że dziÄ™ki tym informacjom uda Ci siÄ™ rozwiÄ…zać problem. Gdy to zrobisz, przeÅ›lij poprawkÄ™ "upstream", abyÅ›my mogli udostÄ™pnić poprawkÄ™ pozostaÅ‚ym czÅ‚onkom projektu i innym spoÅ‚ecznoÅ›ciom. To jest kluczowa zaleta korzystania z oprogramowania Open Source - dzielimy siÄ™ mim wszyscy. + +[h3]Jestem gÅ‚upi. Nie wiem, co jest nie tak.[/h3] + +W tej sytuacji warto omówić tÄ™ kwestiÄ™ na jednym z forów internetowych. Może być ich kilka, a niektóre mogÄ… bardziej pasować do Twojego ojczystego jÄ™zyka. W tej chwili kanaÅ‚ "Hubzilla Support" (support@zotadel.net) jest zalecanym forum do omawiania błędów. + +JeÅ›li czÅ‚onkowie spoÅ‚ecznoÅ›ci z wyksztaÅ‚ceniem i doÅ›wiadczeniem w zakresie inżynierii oprogramowania nie mogÄ… Ci od razu pomóc, zrozum, że sÄ… wolontariuszami i mogÄ… mieć dużo innej pracy i zobowiÄ…zaÅ„ w tym czasie. W tym momencie musisz zgÅ‚osić błąd. Aby to zrobić, bÄ™dziesz potrzebować konta na framagit.org. Zarejestruj siÄ™, a nastÄ™pnie odwiedź https://framagit.org/hubzilla/core/issues. Utwórz tutaj problem i podaj wszystkie te same informacje, które podaÅ‚eÅ› online. Nie pomijaj niczego. + +NastÄ™pnie musisz zaczekać. JeÅ›li jest to poważny problem, może zostać szybko rozwiÄ…zany, ale nikt nie jest odpowiedzialny za naprawianie błędów. JeÅ›li problem utrzymuje siÄ™ bez rozwiÄ…zania, poÅ›więć trochÄ™ czasu na zbadanie samemu problemu. Zapytaj o wszystko, czego nie rozumiesz a co jest zwiÄ…zane z tym problemem. Dowiesz siÄ™ wiÄ™cej o tym, jak dziaÅ‚a oprogramowanie i prawdopodobnie dowiesz siÄ™, dlaczego teraz nie dziaÅ‚a. Ostatecznie to ktoÅ› w spoÅ‚ecznoÅ›ci ma zamiar to naprawić, a ty jesteÅ› czÅ‚onkiem spoÅ‚ecznoÅ›ci. Tak wÅ‚aÅ›nie dziaÅ‚a proces Open Source. + +Inne osoby pracujÄ…ce nad rozwiÄ…zaniem problemu mogÄ… potrzebować dowiedzieć siÄ™ wiÄ™cej, wiÄ™c odrób swojÄ… pracÄ™ domowÄ… i udokumentuj, co siÄ™ dzieje i wszystko, czego próbowaÅ‚eÅ›. Nie mów "ZrobiÅ‚em xyz i to nie dziaÅ‚a". To nam nic nie mówi. Powiedz nam dokÅ‚adnie, jakie kroki podjÄ…Å‚eÅ› i jaki byÅ‚ rezultat, a także co siÄ™ w rezultacie wydarzyÅ‚o. JakÄ… stronÄ™ (URL) przeglÄ…daÅ‚eÅ› lub jaki formularz wypeÅ‚niaÅ‚eÅ›? JeÅ›li byÅ‚y jakieÅ› komunikaty o błędach, nie mów "wystÄ…piÅ‚ komunikat o błędzie". Powiedz nam dokÅ‚adnie, o czym byÅ‚a wiadomość. Powiedz nam również, z jakiego huba korzystasz, jakiej wersji oprogramowania używasz i wszelkie inne szczegóły, które mogÄ… być unikalne na temat konfiguracji Twojej witryny. Rozumie siÄ™, że możesz chcieć zachować prywatność niektórych informacji i swoich połączeÅ„, jednak jeÅ›li nie chcesz udostÄ™pniać informacji potrzebnych innym osobom do odtworzenia i rozwiÄ…zania problemu, może on nie zostać naprawiony. + diff --git a/doc/pl/checking_account_quota_usage.bb b/doc/pl/checking_account_quota_usage.bb new file mode 100644 index 000000000..b2cc0075c --- /dev/null +++ b/doc/pl/checking_account_quota_usage.bb @@ -0,0 +1,20 @@ +[b]Sprawdzanie wykorzystania limitu konta (wykorzystanie limitów usÅ‚ug)[/b] + +Na Twoim hubie mogÄ… zostać zaimplementowane limity klas usÅ‚ug, przypisujÄ…ce ograniczenia do caÅ‚kowitego rozmiaru miejsca na plików i zdjÄ™ci, ilosci kanałów i postów najwyższego poziomu, jakie może utworzyć wÅ‚aÅ›ciciel konta dla okreÅ›lonego poziomu usÅ‚ug i inne ograniczenia. + +Oto, jak możesz szybko sprawdzić, ile z przydzielonego limitu aktualnie używasz: + +[b]Sprawdenie poziom limitów przechowywania plików[/b] +Odwiedź nastęþujÄ…cy adres URL w przeglÄ…darce: +[observer=1][observer.baseurl]/filestorage/[observer.webname][/observer] +[observer=0]example.com/filestorage/username[/observer] + +[b]Sprawdenie poziomu limitów miejsca na przesÅ‚ane zdjÄ™cia[/b] +[observer=1][observer.baseurl]/photos/[observer.webname][/observer] +[observer=0]example.com/photos/username[/observer] + +PrzykÅ‚ad: +[observer=1][observer.baseurl]/filestorage/[observer.webname][/observer] +[observer=0]example.com/filestorage/username[/observer] + +#include doc/macros/main_footer.bb; diff --git a/doc/pl/general.bb b/doc/pl/general.bb new file mode 100644 index 000000000..0dc15ea91 --- /dev/null +++ b/doc/pl/general.bb @@ -0,0 +1,18 @@ +[h2]Informacja o projekcie i serwisie[/h2] +[h3]$Projectname[/h3] +[zrl=[baseurl]/help/Privacy]Polityka prywatnoÅ›ci[/zrl] +[zrl=[baseurl]/help/project/governance]ZarzÄ…dzanie projektem[/zrl] +[zrl=[baseurl]/help/contributor/convenant]Porozumienie projektowe i kodeks postÄ™powania[/zrl] + +[h3]ŹródÅ‚a zewnÄ™trzne[/h3] +[zrl=[baseurl]/help/external-resource-links]Wykaz zasobów zewnÄ™trznych[/zrl] +[url=https://framagit.org/hubzilla/core/]Główna witryna internetowa[/url] +[url=https://framagit.org/hubzilla/addons]Witryna dodatków[/url] +[url=[baseurl]/help/credits]PodziÄ™kowania od $Projectname[/url] +[h3]O tym hubie $Projectname[/h3] +[zrl=[baseurl]/help/TermsOfService]Warunki Å›wiadczenia usÅ‚ug dla tego huba[/zrl] +[zrl=[baseurl]/siteinfo]Inormacja o hubie (/siteinfo)[/zrl] +[zrl=[baseurl]/siteinfo/json]Szczegółowe informacje techniczne w formacie JSON(/siteinfo/json)[/zrl] + +#include doc/macros/main_footer.bb; + diff --git a/doc/pl/main.bb b/doc/pl/main.bb new file mode 100644 index 000000000..24caa1453 --- /dev/null +++ b/doc/pl/main.bb @@ -0,0 +1,20 @@ +[img][baseurl]/images/hubzilla-banner.png[/img] + +[zrl=[baseurl]/help/about]Co to jest $Projectname?[/zrl] +$Projectname to bezpÅ‚atny i otwartoźródÅ‚owy zestaw aplikacji i usÅ‚ug internetowych dziaÅ‚ajÄ…cych na specjalnym serwerze internetowym, zwanym "hubem", który może łączyć siÄ™ z innymi hubami w sfederalizowanej sieci internetowej. + +[zrl=[baseurl]/help/features]MożliwoÅ›ci $Projectname[/zrl] +$Projectname zapewnia użytkownikom zaawansowanÄ… komunikacjÄ™, tożsamoÅ›ci i usÅ‚ug kontroli dostÄ™pu, które bezproblemowo współpracujÄ… w różnych domenach i niezależnych witrynach internetowych. Pozwala użytkownikom [b]publicznie[/b] lub [b]prywatnie[/b] publikować treÅ›ci za poÅ›rednictwem "kanałów" (ang. channel), które sÄ… podstawowymi, zabezpieczonymi kryptograficznie tożsamoÅ›ciami zapewniajÄ…cymi uwierzytelnianie niezależnie od hubów, które je hostujÄ…. To rewolucyjne wyzwolenie tożsamoÅ›ci online z poszczególnych serwerów i domen jest nazywane "tożsamoÅ›ciÄ… nomadycznÄ…" i jest oparte na protokole Zot, nowej strukturze zdecentralizowanej kontroli dostÄ™pu ze szczegółowymi, rozszerzalnymi uprawnieniami. +Z praktycznego punktu widzenia czÅ‚onków danego huba, korzystajÄ…cych z oprogramowania $Projectname, oferuje ono szereg znanych, zintegrowanych aplikacji i usÅ‚ug internetowych, w tym: +[ul] +[li]wÄ…tki dyskusyjne w sieciach spoÅ‚ecznoÅ›ciowych[/li] +[li]przechowywanie plików w chmurze[/li] +[li]kalendarz i kontakty (z obsÅ‚ugÄ… CalDAV i CardDAV)[/li] +[li]hosting stron internetowych z systemem zarzÄ…dzania treÅ›ciÄ…[/li] +[li]wiki[/li] +[li]i dużo wiÄ™cej ...[/li][/ul] +Chociaż wszystkie te aplikacje i usÅ‚ugi można znaleźć w innych pakietach oprogramowania, tylko $Projectname pozwala ustawić uprawnienia dla grup i osób, [b]które mogÄ… nawet nie mieć kont na Twoim hubie[/b]! W typowych aplikacjach internetowych, jeÅ›li chcesz udostÄ™pniać rzeczy prywatnie w Internecie, osoby, którym udostÄ™pniasz dane, muszÄ… mieć konta na serwerze, na którym znajdujÄ… siÄ™ Twoje dane; w przeciwnym razie serwer nie może uwierzytelniać odwiedzajÄ…cych witrynÄ™, aby wiedzieć, czy przyznać im dostÄ™p. $Projectname rozwiÄ…zuje ten problem za pomocÄ… zaawansowanego systemu zdalnego uwierzytelniania, który weryfikuje tożsamość odwiedzajÄ…cych, wykorzystujÄ…c techniki obejmujÄ…ce kryptografiÄ™ klucza publicznego. +DziÄ™ki oferowanym aplikacjom, $Projectname Å›wietnie siÄ™ nadaje do budowy platformy komunikacyjno-publikacyjnej o charkterze spoÅ‚ecznoÅ›ciowym dla realnych grup spoÅ‚ecznych, takich jak rodziny, lokalne grupy, organizacje spoÅ‚eczne, Å›rodowiska szkolne, wspólnoty mieszkaÅ„ców czy wspólnoty religijne. + +[zrl=[baseurl]/help/what_is_zot]Co to jest Zot?[/zrl] +Jest to nowy protokół, oparty na JSON, do wdrażania bezpiecznej, zdecentralizowanej komunikacji i usÅ‚ug. Różni siÄ™ od wielu innych protokołów komunikacyjnych, budujÄ…c komunikacjÄ™ na podstawie zdecentralizowanej struktury tożsamoÅ›ci i uwierzytelniania. SkÅ‚adnik uwierzytelniania jest koncepcyjnie podobny do OpenID, ale jest odizolowany od tożsamoÅ›ci opartej na DNS. Tam, gdzie to możliwe, zdalne uwierzytelnianie jest ciche i niewidoczne. Zapewnia to mechanizm kontroli dostÄ™pu rozproszonego na skalÄ™ sieci WWW, który jest dyskretny. diff --git a/doc/pl/member/assets/qr_text_to_post.png b/doc/pl/member/assets/qr_text_to_post.png Binary files differnew file mode 100644 index 000000000..887c85492 --- /dev/null +++ b/doc/pl/member/assets/qr_text_to_post.png diff --git a/doc/pl/member/assets/zat_dialog.png b/doc/pl/member/assets/zat_dialog.png Binary files differnew file mode 100644 index 000000000..892964e95 --- /dev/null +++ b/doc/pl/member/assets/zat_dialog.png diff --git a/doc/pl/member/bbcode.html b/doc/pl/member/bbcode.html new file mode 100644 index 000000000..655c021ee --- /dev/null +++ b/doc/pl/member/bbcode.html @@ -0,0 +1,343 @@ +<style> + section { + display: inline-block; + overflow-x: scroll; + } +</style> +<h2>Informator o BBCode</h2> +<p> +W Hubzilla stosowana jest wÅ‚asna odmiana BBCode. Niniejszy informator jest +treÅ›ciwym opisem skÅ‚adni tej odmiany BBCode. +</p> + +<h3>Dekracja tekstu</h3> +<table class="table table-responsive table-bordered"> + <tbody> + <tr> + <th>SkÅ‚adnia BBcode</th><th>Tekst formatowany</th> + </tr> + <tr> + <td><code>[b]pogrubiony[/b]</code></td><td><strong>pogrubiony</strong></td> + </tr> + <tr> + <td><code>[i]pochyÅ‚y[/i]</code></td><td><em>pochyÅ‚y</em></td> + </tr> + <tr> + <td><code>[u]podkreÅ›lony[/u]</code></td><td><u>podkreÅ›lony</u></td> + </tr> + <tr> + <td><code>[s]przekreÅ›lony[/s]</code></td><td><strike>przekreÅ›lony</strike></td> + </tr> + <tr> + <td><code>[color=red]czerwony[/color]</code></td><td><span style="color: red;">czerwony</span></td> + </tr> + <tr> + <td><code>[hl]podÅ›wietlony[/hl]</code></td><td><span style="background-color: yellow;">podÅ›wietlony</span></td> + </tr> + <tr> + <td><code>[font=courier]jaiÅ› tekst[/font] </code></td><td><span style="font-family: courier;">jakiÅ› tekst</span></td> + </tr> + <tr> + <td><code>[quote]cytat[/quote]</code></td><td><blockquote>cytat</blockquote></td> + </tr> + <tr> + <td><code>[quote=Author]Autor? Ja? Nie, nie, nie...[/quote]</code></td><td><strong class="author">Autor napisaÅ‚:</strong><blockquote>Autor? Ja? Nie, nie, nie...</blockquote></td> + </tr> + <tr> + <td><code> + [size=small]tekst maÅ‚y (small)[/size]<br> + [size=xx-large]tekst wielki (xx-large)[/size]<br> + [size=20]tekst z czcionkÄ… 20px[/size]<br> + </code> + Opcje rozmiaru obejmujÄ…: <strong>xx-small, small, medium, large, xx-large</strong></td><td><span style="font-size: small;">tekst maÅ‚y (small)</span><br><span style="font-size: xx-large;">tekst wielki ()xx-large)</span><br><span style="font-size: 20px;">tekst z czcionkÄ… 20px</span></td> + </tr> + <tr> + <td><code>Dodanie poziomego paska +[hr] +Tak jak to + </code></td><td> + Dodanie poziomego paska<br><hr><br>Tak jak to + </td> + </tr> + <tr> + <td><code>To jest +[center]wyÅ›rodkowany[/center] +tekst</code></td><td> + To jest<br><div style="text-align:center;">wyÅ›rodkowany</div><br>tekst + </td> + </tr> + </tbody> +</table> + +<h3>Bloki kodu</h3> +Kod można renderować generalnie w formacie blokowym lub wbudowanym (w zależnoÅ›ci od tego, czy w tekÅ›cie znajdujÄ… siÄ™ znaki nowego wiersza) lub można okreÅ›lić obsÅ‚ugiwany jÄ™zyk dla rozszerzonego podÅ›wietlania skÅ‚adni. PodÅ›wietlanie skÅ‚adni wymaga odpowiedniej wtyczki renderujÄ…cej, takiej jak <strong>hilite</strong>. ObsÅ‚ugiwane jÄ™zyki z wtyczkÄ… hilite to <strong>php, css, mysql, sql, abap, diff, html, perl, ruby, vbscript, avrc, dtd, java, xml, cpp, python, javascript, js, json, sh</strong>. +<br><br> +JeÅ›li wtyczka renderujÄ…ca nie jest zainstalowana lub okreÅ›lono nieobsÅ‚ugiwany jÄ™zyk, dane wyjÅ›ciowe bloków kodu z podÅ›wietleniem skÅ‚adni sÄ… takie same, jak znacznik kodu formatu bloku. +<br><br> +<table class="table table-responsive table-bordered"> + <tbody> + <tr> + <th>SkÅ‚adnia BBcode</th><th>WyjÅ›cie</th> + </tr> + <tr> + <td><code>[code]funkcja bbcode() { }[/code]</code></td><td><code>funkcja bbcode() { }</code></td> + </tr> + <tr> + <td><code>[code=php]funkcja bbcode() {<br> + $variable = true;<br> + if( $variable ) {<br> + echo "true";<br> + }<br> +}[/code]</code></td><td><code><div class="hl-main"><ol class="hl-main"><li><span class="hl-code"> </span><span class="hl-reserved">function</span><span class="hl-code"> </span><span class="hl-identifier">bbcode</span><span class="hl-brackets">(</span><span class="hl-brackets">)</span><span class="hl-code"> </span><span class="hl-brackets">{</span><span class="hl-code"></span></li><li><span class="hl-code"> </span><span class="hl-var">$variable</span><span class="hl-code"> = </span><span class="hl-reserved">true</span><span class="hl-code">;</span></li><li><span class="hl-code"> </span><span class="hl-reserved">if</span><span class="hl-brackets">(</span><span class="hl-code"> </span><span class="hl-var">$variable</span><span class="hl-code"> </span><span class="hl-brackets">)</span><span class="hl-code"> </span><span class="hl-brackets">{</span><span class="hl-code"></span></li><li><span class="hl-code"> </span><span class="hl-reserved">echo</span><span class="hl-code"> </span><span class="hl-quotes">"</span><span class="hl-string">true</span><span class="hl-quotes">"</span><span class="hl-code">;</span></li><li><span class="hl-code"> </span><span class="hl-brackets">}</span><span class="hl-code"></span></li><li><span class="hl-code"> </span><span class="hl-brackets">}</span></li></ol></div></code></td> + </tr> + <tr> + <td><code>[nobb][nobb]W ten sposób [i]możesz[/i] +[u]pokazać[/u] jak użyć skÅ‚adniÄ™ +[hl]BBcode[/hl][/nobb][/nobb]</code></td><td>[nobb]W ten sposób [i]możesz[/i] [u]pokazać[/u] jak uzyć skÅ‚adniÄ™ []hl]BBcode[/hl][/nobb]</td> + </tr> + </tbody> +</table> + +<h3>Listy</h3> +<table class="table table-responsive table-bordered"> + <tbody> + <tr> + <th>SkÅ‚adnia BBcode</th><th>Wyrenderowana lista</th> + </tr> + <tr> + <td><code>[ul]<br> +[*] Pierwszy element listy<br> +[*] Drugo element listy<br> +[/ul]</code></td><td><ul class="listbullet" style="list-style-type: circle;"><li> Pierwszy element listy</li><li> Drugi element listy<br></li></ul></td> + </tr> + <tr> + <td><code>[ol]<br> +[*] Pierwszy element listy<br> +[*] Drugi element listy<br> +[/ol]</code></td><td><ul class="listdecimal" style="list-style-type: decimal;"><li> Pierwszy element listy</li><li> Drugi element listy<br></li></ul></td> + </tr> + <tr> + <td><code>[list=A]<br> +[*] Pierwszy element listy<br> +[*] Drugi element listy<br> +[/list]</code> + Elementami listy sÄ… <code>1, i, I, a, A</code>.</td><td><ul class="listupperalpha" style="list-style-type: upper-alpha;"><li> Pierwszy element listy</li><li> Drugi element listy</li></ul></td> + </tr> + <tr> + <td><code>[dl terms="b"]<br> +[*= Pierwsze hasÅ‚o] Opis pierwszego hasÅ‚a<br> +[*= Drugie hasÅ‚o] Opis drugiego hasÅ‚a<br> +[/dl]</code> + Opcje stylu <strong>hasÅ‚a</strong> mogÄ… być kombinacjÄ… tekstu: + <dl class="bb-dl dl-horizontal"> + <dt>b</dt><dd> z czcionkÄ… bold</dd> + <dt>i</dt><dd> z czcionkÄ… italic</dd> + <dt>u</dt><dd> z czcionkÄ… underline</dd> + <dt>m</dt><dd> z czcionkÄ… monospace</dd> + <dt>l</dt><dd> z czcionkÄ… large</dd> + <dt>h</dt><dd>poziomego — tak jak <em>tta</em> lista definicyjna</dd> + </dl> + </td><td><dl class="bb-dl dl-terms-bold"> +<dt> Pierwsze hasÅ‚o</dt><dd> Opis pierwszego hasÅ‚a<br></dd> +<dt> Drugie hasÅ‚o</dt><dd> Opis drugiego hasÅ‚a<br></dd></dl></td> + </tr> + </tbody> +</table> + +<h3>Tabele</h3> + +<table class="table table-responsive table-bordered"> + <tbody> + <tr> + <th>SkÅ‚adnia BBcode</th><th>Wyrenderowana tabela</th> + </tr> + <tr> + <td><code>[table border=0]<br> +[tr]<br> +[th]Nagłówek 1[/th][th]Nagłówek 2[/th]<br> +[/tr]<br> +[tr][td]Treść[/td][td]Treść[/td][/tr]<br> +[tr][td]Treść[/td][td]Treść[/td][/tr]<br> +[/table]</code></td><td><table class="table table-responsive"><tbody><tr><th>Nagłówek 1</th><th>Nagłówek 2</th></tr> +<tr><td>Content</td><td>Content</td></tr><tr><td>Treść</td><td>Treść</td></tr></tbody></table></td> + </tr> + <tr> + <td><code>[table border=1]<br> +[tr]<br> +[th]Nagłówek 1[/th][th]Nagłówek 2[/th]<br> +[/tr]<br> +[tr][td]Treść[/td][td]Treść[/td][/tr]<br> +[tr][td]Treść[/td][td]Treść[/td][/tr]<br> +[/table]</code></td><td><table class="table table-responsive table-bordered"><tbody><tr><th>Nagłówek 1</th><th>Nagłówek 2</th></tr> +<tr><td>Content</td><td>Content</td></tr><tr><td>Treść</td><td>Treść</td></tr></tbody></table></td> + </tr> + <tr> + <td><code>[table]<br> +[tr]<br> +[th]Nagłówek 1[/th][th]Nagłówek 2[/th]<br> +[/tr]<br> +[tr][td]Treść[/td][td]Treść[/td][/tr]<br> +[tr][td]Treść[/td][td]Treść[/td][/tr]<br> +[/table]</code></td><td><table><tbody><tr><th>Nagłówek 1</th><th>Nagłówek 2</th></tr><tr><td>Treść</td><td>Treść</td></tr><tr><td>Treść</td><td>Treść</td></tr></tbody></table> +</td> + </tr> + </tbody> +</table> + +<h3>OdnoÅ›niki i treść osadzona</h3> + +<table class="table table-responsive table-bordered"> + <tbody> + <tr> + <th>SkÅ‚adnia BBcode</th><th>WyjÅ›cie</th> + </tr> + <tr> + <td><code>[video]URL wideo[/video]<br> +[audio]URL audio[/audio]</code></td><td></td> + </tr> + <tr> + <td><code>[url=https://hubzilla.org]Hubzilla[/url]</code></td><td><a href="https://hubzilla.org" target="_blank">Hubzilla</a></td> + </tr> + <tr> + <td><code>Obraz [img]https://example.org/image.jpg[/img] +w jakimÅ› tekÅ›cie </code></td><td> + Obraz <img src="/images/default_profile_photos/rainbow_man/48.jpg" alt="Image/photo"> w jakimÅ› tekÅ›cie + </td> + </tr> + </tbody> +</table> + + +<h3>Kod specyficzny dla $Projectname</h3> + +<table class="table table-responsive table-bordered"> + <tbody> + <tr> + <th>SkÅ‚adnia BBcode</th><th>WyjÅ›cie</th> + </tr> + <tr> + <td>Wersja tagu [url] wykorzystujÄ…ca magiczne uwierzytelnianie + <code>[zrl=https://hubzilla.org]Link rozpoznajÄ…cy tożsamość[/zrl]</code> + </td><td><code>https://hubzilla.org/?zid=[observer=1][observer.address][/observer][observer=0]your_channel@your.home.hub[/observer]</code></td> + </tr> + <tr> + <td>Wersja tagu [img] wykorzystujÄ…ca magicznÄ… uwierzytelnianie + <code>[zmg]https://hubzilla.org/some/photo.jpg[/zmg]</code> + </td><td>Obraz jest widoczny tylko dla osób uwierzytelnionych i za zgodÄ… wÅ‚aÅ›ciciela kanaÅ‚u.</td> + </tr> + <tr> + <td>WyjÅ›cie zależne od obserwatora:<code> + [nobb][observer=1]Tekst do wyÅ›wietlenia, jeÅ›li obserwator JEST uwierzytelniony[/observer][/nobb] + </code></td><td></td> + </tr> + <tr> + <td> + <code> + [nobb][observer=0]Tekst wyÅ›wietlany, jeÅ›li obserwator NIE JEST uwierzytelniony[/observer][/nobb] + </code> + </td> + <td></td> + </tr> + <tr> + <td> + <code> + [nobb][observer.language=en]Tekst wyÅ›wietlany, jeÅ›li jÄ™zykiem obserwatora jest angielski[/observer][/nobb] + </code> + </td> + <td></td> + </tr> + <tr> + <td> + <code> + [nobb][observer.language!=de]Tekst wyÅ›wietlany, jeÅ›li jÄ™zykiem obserwatora nie jest jÄ™zyk niemiecki[/observer][/nobb] + </code> + </td> + <td></td> + </tr> + <tr> + <td> + <code> + [nobb][observer.url][/nobb] + </code> + </td> + <td>adres URL kanaÅ‚u obserwatora</td> + </tr> + <tr> + <td> + <code> + [nobb][observer.baseurl][/nobb] + </code> + </td> + <td>witryna WWW obserwatora</td> + </tr> + <tr> + <td> + <code> + [nobb][observer.name][/nobb] + </code> + </td> + <td>nazwa obserwatora</td> + </tr> + <tr> + <td> + <code> + [nobb][observer.webname][/nobb] + </code> + </td> + <td>krótka nazwa w adresie URL obserwatora</td> + </tr> + <tr> + <td> + <code> + [nobb][observer.address][/nobb] + </code> + </td> + <td>adres (ZOT-id) obserwatora</td> + </tr> + <tr> + <td> + <code> + [nobb][observer.photo][/nobb] + </code> + </td> + <td>zdjÄ™cie profilowe obserwatora</td> + </tr> + <tr> + <td><code>Co to jest spoiler?<br> + [spoiler]Tekst, który chcesz ukryć.[/spoiler]</code></td><td> + Co to jest spoiler? <div onclick="openClose('opendiv-1131603764'); return false;" class="fakelink">Kliknij, aby otworzyć/zamknąć</div><blockquote id="opendiv-1131603764" style="display: none;">Tekst, który chcesz ukryć.</blockquote> + </td> + </tr> + <tr> + <td><code>[toc data-toc='div.page-body' data-toc-headings='h1,h2']</code><br> +Utwórz spis treÅ›ci na stronie internetowej lub stronie wiki. ProszÄ™ zapoznać siÄ™ z <a href="http://ndabas.github.io/toc/" target="_blank">oryginalnym widżetem TOC jQuery</a> aby uzyskać wiÄ™cej informacji. + <ul> + <li>Opcjonalny parametr: 'data-toc'. JeÅ›li pominiÄ™ty, domyÅ›lnÄ… wartoÅ›ciÄ… jest „bodyâ€</li> + <li>Opcjonalny parametr: 'data-toc-headings'. JeÅ›li pominiÄ™ty, wartość domyÅ›lna to „h1, h2, h3â€</li> + </ul></td><td></td> + </tr> + <tr> + <td><code>[nobb][rpost=title]Tekst do publikacji[/rpost][/nobb]</code><br> +Obserwator wróci do swojego macierzystego huba, aby wprowadzić post z okreÅ›lonym tytuÅ‚em i treÅ›ciÄ…. Obie opcje sÄ… opcjonalne</td><td><a href="[baseurl]/rpost?f=&title=title&body=Text+to+post" target="_blank">[baseurl]/rpost?f=&title=title&body=Text+to+post</a></td> + </tr> + <tr> + <td>Wymaga to wtyczki <a href="https://framagit.org/hubzilla/addons/tree/master/qrator"><strong>qrator</strong></a>.<br><code>[qr]tekst do publikacji[/qr]</code></td><td><img src="/doc/member/assets/qr_text_to_post.png"></td> + </tr> + <tr> + <td>Wymaga to odpowiedniej wtyczki mapy, takiej jak <strong><a href="https://framagit.org/hubzilla/addons/tree/master/openstreetmap">openstreetmap</a></strong>. + <code>[map]</code></td><td>Wygenerowanie wbudowanej mapy przy użyciu aktualnych współrzÄ™dnych plakatu w przeglÄ…darce, jeÅ›li lokalizacja przeglÄ…darki jest włączona</td> + </tr> + <tr> + <td>Wymaga to odpowiedniej wtyczki mapy, takiej jak <strong><a href="https://framagit.org/hubzilla/addons/tree/master/openstreetmap">openstreetmap</a></strong>. + <code>[map=latitude,longitude]</code></td><td>Wygenerowanie mapy przy wykorzystaniu współrzÄ™dnych globalnych.</td></tr> + <tr> + <td>Wymaga to odpowiedniej wtyczki mapy, takiej jak <strong><a href="https://framagit.org/hubzilla/addons/tree/master/openstreetmap">openstreetmap</a></strong>. + <code>[map]Nazwa miejsca[/map]</code></td><td> +Wygenerowanie mapy dla podanej nazwanej lokalizacji. Zwracana jest pierwsza pasujÄ…ca lokalizacja. Na przykÅ‚ad „Sydney†zazwyczaj zwraca Sydney w Australii, a nie Sydney w Nowej Szkocji w Kanadzie, chyba że okreÅ›lono dokÅ‚adniejszÄ… lokalizacjÄ™. Zdecydowanie zalecamy skorzystanie z narzÄ™dzia podglÄ…du posta, aby upewnić siÄ™, że masz prawidÅ‚owÄ… lokalizacjÄ™ przed wysÅ‚aniem postu. +</td> + </tr> + <tr> + <td><code>[&copy;]</code></td><td> © </td> + </tr> + </tbody> +</table> diff --git a/doc/pl/member/member_faq.bb b/doc/pl/member/member_faq.bb new file mode 100644 index 000000000..1da05ef92 --- /dev/null +++ b/doc/pl/member/member_faq.bb @@ -0,0 +1,11 @@ +[h3]Najczęściej zadawane pytania[/h3] +[h4]MogÄ™ edytować tekst postu po jego zapisaniu, ale czy istnieje sposób na zmianÄ™ uprawnieÅ„?[/h4] +Krótka odpowiedź: Nie, nie ma takiej mozliwoÅ›ci. SÄ… ku temu istotne powody. Możesz zmienić uprawnienia do swoich plików, zdjęć i polubieÅ„, ale nie do postów po ich zapisaniu. Główny powód jest taki, że po zapisaniu posta jest on rozpowszechniony albo na kanaÅ‚ publiczny, a stamtÄ…d na inne serwery $Projectname albo do tych, do których miaÅ‚ trafić. Tak jak nie możesz odzyskać czegoÅ›, co daÅ‚eÅ› innej osobie, nie możesz zmienić uprawnieÅ„ do postów w $Projectname. MusielibyÅ›my Å›ledzić wszÄ™dzie, gdzie trafia Twój wpis, Å›ledzić wszystkich, którym pozwoliÅ‚eÅ› go zobaczyć, a nastÄ™pnie Å›ledzić, od kogo go usunąć. +JeÅ›li post jest publiczny, jest to jeszcze trudniejsze, ponieważ $Projectname to globalna sieć i nie ma możliwoÅ›ci Å›ledzenia posta, nie mówiÄ…c już o jego niezawodnym odzyskaniu. Inne sieci, które mogÄ… otrzymaÅ‚y Twój post, nie majÄ… niezawodnego sposobu usuniÄ™cia lub odzyskania posta. +[h4]PobraÅ‚em swój kanaÅ‚ i zaimportowaÅ‚em go (sklonowaÅ‚em swojÄ… tożsamość) do innej witryny, ale nie ma treÅ›ci, postów ani zdjęć. Co jest nie tak???[/h4] +Posty i zdjÄ™cia oraz inne pliki sÄ… dostarczane niezależnie od podstawowych informacji o kanale. Wynika to z ograniczeÅ„ pamiÄ™ci zwiÄ…zanych z przechowywaniem rozmów i archiwizowania zdjęć. Wpisy i rozmowy mogÄ… być synchronizowane niezależnie od podstawowych informacji o kanale. ZdjÄ™cia i archiwa plików można przesyÅ‚ać za pomocÄ… wtyczki, takiej jak „redfilesâ€, która obecnie jest oznaczona jako „eksperymentalnaâ€. TworzÄ…c tÄ™ funkcjÄ™, pomyÅ›leliÅ›my, że najważniejsze jest zachowanie wszystkich kontaktów. Twoi znajomi widzieli już Twoje stare treÅ›ci. Posty i rozmowy miaÅ‚y nastÄ™pny priorytet i można je teraz synchronizować. Pliki i zdjÄ™cia sÄ… ostatnim elementem, który caÅ‚kowicie dziaÅ‚a. Kiedy znajdziemy kogoÅ› chÄ™tnego do zakoÅ„czenia wdrażania tego, bÄ™dzie to zrobione. :) +[h4]Nie widzÄ™ zasobów prywatnych[/h4] +Prawdopodobnie wyłączone sÄ… pliki cookie stron trzecich. Musisz je włączyć, aby zdalne uwierzytelnianie dziaÅ‚aÅ‚o. +[h4]Jest wiele obcojÄ™zycznych postów. PrzetÅ‚umaczmy je automatycznie.[/h4] +Istnieje również wiele [b]prywatnych[/b] obcojÄ™zycznych postów, ale usÅ‚ugi automatycznego tÅ‚umaczenia wymagaÅ‚yby od nas przekazywania tych prywatnych wiadomoÅ›ci do usÅ‚ugi tÅ‚umaczeniowej. Nie wiemy, jak zostanÄ… one wykorzystane na tych serwisach. WÅ‚aÅ›ciwie to wiemy, dziÄ™ki Edwardowi Snowdenowi. Naszym najlepszym rozwiÄ…zaniem jest projekt o nazwie [b][i]Apertium[/i][/ b], który jest tÅ‚umaczem open source, który możemy zainstalować lokalnie. Obecnie brakuje tÅ‚umaczeÅ„ na jÄ™zyk niemiecki - które sÄ… najczęściej żądanymi tÅ‚umaczeniami w matrycy. Po raz kolejny zostanie to zrealizowane, gdy znajdziemy kogoÅ›, kto naprawdÄ™ chce, aby to siÄ™ staÅ‚o. + diff --git a/doc/pl/member/member_guide.bb b/doc/pl/member/member_guide.bb new file mode 100644 index 000000000..d7f559c9e --- /dev/null +++ b/doc/pl/member/member_guide.bb @@ -0,0 +1,1024 @@ +[h3]PrzeglÄ…d[/h3] + +Chociaż wiele funkcji i możliwoÅ›ci Hubzilli jest znanych osobom, które korzystaÅ‚y z serwisów spoÅ‚ecznoÅ›ciowych i oprogramowania do blogowania, istnieje również sporo nowych koncepcji i funkcji, z którymi wiÄ™kszość osób wczeÅ›niej siÄ™ nie zetknęła. Niektóre z nowych pomysłów sÄ… zwiÄ…zane ze zdecentralizowanym charakterem sieci; inne sÄ… zwiÄ…zane z zaawansowanym systemem uprawnieÅ„, który jest niezbÄ™dny do ochrony prywatnoÅ›ci danych. Celem tego przewodnika jest pomóc w zrozumieniu, jak tworzyć, konfigurować i używać tożsamość nomadycznÄ…. + +[h3]Rejestracja[/h3] + +Nie wszystkie serwisy oparte na $Projectname umożliwiajÄ… otwartÄ… rejestracjÄ™. JeÅ›li rejestracja jest dozwolona, zobaczysz łącze "Rejestracja" bezpoÅ›rednio pod formularzem logowania na stronie głównej serwisu. KlikniÄ™cie tego linku przeniesie Ciebie do strony rejestracyjnej. W niektórych serwisach. link ten może przekierować do innej witryny, która umożliwia rejestracjÄ™. Ponieważ wszystkie serwisy Hubzilla sÄ… połączone, nie ma znaczenia, gdzie znajduje siÄ™ Twoje konto. + +[b]Twój ades e-mail[/b] + +ProszÄ™ o wprowadzenie poprawnego adresu e-mail. Twój adres e-mail nigdy nie jest publikowany. Ten adres bÄ™dzie używany do aktywacji konta, do ewentualnego wysyÅ‚ania powiadomieÅ„ o przychodzÄ…cych wiadomoÅ›ciach lub wpisach oraz do odzyskiwania utraconych haseÅ‚. + +[b]HasÅ‚o[/b] + +Wprowadź wybrane hasÅ‚o i powtórz je w drugim polu, aby upewnić siÄ™, że zostaÅ‚o wpisane poprawnie. Ponieważ Hubzilla oferuje zdecentralizowanÄ… tożsamość, Twoje konto może zalogować CiÄ™ do wielu innych serwisów internetowych sieci Hubzilla. + +[b]Regulamin serwisu[/b] + +Kliknij to łącze, aby przeczytać dokument [zrl=[baseurl]/help/TermsOfService]Regulamin serwisu[/zrl]. Po ich przeczytaniu zaznacz pole w formularzu rejestracyjnym, aby to potwierdzić. + +[b]Rejestracja[/b] + +Po podaniu niezbÄ™dnych informacji, kliknij przycisk „Zarejestruj siÄ™â€. Niektóre serwisy mogÄ… wymagać zatwierdzenia rejestracji przez administratora, zanim zostanie ona przetworzona, o czym osoba rejestrujÄ…ca siÄ™ zostanie powiadomiona. Trzba wiÄ™c Å›ledzić swojÄ… pocztÄ™ e-mail (w tym folder ze spamem) w celu potwierdzenia rejestracji. + +[h3]KanaÅ‚y[/h3] + +[h4][b]Co to sÄ… kanaÅ‚y?[/b][/h4] + +KanaÅ‚y to zbiory treÅ›ci powiÄ…zane z profilem. KanaÅ‚ może mieć różnÄ… formÄ™. Może reprezentować Ciebie (kanaÅ‚ osobisty), być witrynÄ… internetowÄ…, forum, albumem ze zdjÄ™ciami, czymkolwiek. Dla wiÄ™kszoÅ›ci osób pierwszym kanaÅ‚em jest kanaÅ‚ osobisty, reprezentujÄ…cy tÄ… osobÄ™. + +Najważniejsze cechy kanaÅ‚u, który reprezentuje "Ciebie", to: +[ul] +[*]Bezpieczna i prywatna komunikacja "wolna od spamu" + +[*]Tożsamość i "pojedyncze logowanie" w caÅ‚ej sieci Hubzilla; + +[*]Kotrola prywatnoÅ›ci i uprawnienia, które obejmujÄ… całą sieć; + +[*]Usugi katalogowe (np. Książka telefoniczna). +[/ul] +Krótko mówiÄ…c, kanaÅ‚, który reprezentuje Ciebie, "opisuje Ciebie w internecie". + +[h4][b]Uprawnienia w kanale oparte na rolach[/b][/h4] + +W celu uproszczenia zarzÄ…dzaniem uprawnieniami w kanaÅ‚ach, w Hubzilla wprowadzono "role uprawnieniowe". Podczas tworzenia nowego kanaÅ‚u użytkownik jest proszony o wybranie roli jakÄ… ma peÅ‚nić kanaÅ‚. Z każdÄ… z takich ról zwiÄ…zany jest zestaw uprawnieÅ„. NajpopularniejszÄ… rolÄ… uprawnieÅ„ jest rola sieci spoÅ‚ecznoÅ›ciowej. Ma siÄ™ wiele innych możliwoÅ›ci, dziÄ™ki opcjom, które sÄ… analogiczne do grup i stron na Facebooku, przestrzeni współpracy, kanałów aktualnoÅ›ci (RSS) i nie tylko. Te role automatycznie konfigurujÄ… kilka różnych zmiennych systemowych, od uprawnieÅ„ przyznanych znajomym, po domyÅ›lne ustawienia prywatnoÅ›ci i opcje widocznoÅ›ci. DostÄ™pne sÄ… zaawansowane konfiguracje, które umożliwiajÄ… dostosowanie każdego z tych parametrów do wÅ‚asnych potrzeb. StwierdziliÅ›my jednak, że wiÄ™kszość ludzi woli "ustawić i zapomnieć". Dalej opisano niektóre z różnych ról, które sÄ… obecnie dostÄ™pne oraz ich wpÅ‚yw na prywatność uzytkownika i zdolność do interakcji. + +[h5][b]KanaÅ‚ spoÅ‚ecznoÅ›ciowy[/b][/h5] + +[b]- federacyjny[/b] + +KanaÅ‚ tego rodzaju jest bardzo liberalnym profilem spoÅ‚ecznoÅ›ciowym, który jest kompatybilny z innymi federacyjnymi sieciami spoÅ‚ecznoÅ›ciowymi. Zasady zezwoleÅ„ sÄ… podobne do Twittera i w wiÄ™kszoÅ›ci zgodne z DiasporÄ… i Mastodonem. Prywatność ma niższy priorytet niż Å‚atwość dostÄ™pu i łączenia siÄ™ z innymi. Każdy w sieci Fediverse może komentować Twoje publiczne wpisy i wysyÅ‚ać Ci prywatnÄ… pocztÄ™. DomyÅ›lnie posty i inne publikowane elementy sÄ… publiczne, ale można do nich ograniczyć dostÄ™p przy ich tworzeniu. JesteÅ› wymieniony w katalogu. Twoja obecność w Internecie i połączenia sÄ… widoczne dla innych. Ten tryb może zwiÄ™kszyć narażenie na niepożądanÄ… komunikacjÄ™ i spam. Rola ta nie jest ogólnie zalecana, chyba że musisz regularnie kontaktować siÄ™ z czÅ‚onkami innych sieci. + +[b]- przeważnie publiczny[/b] + +KanaÅ‚ jest typowym profilem spoÅ‚ecznoÅ›ciowym. Twoje wpisy i opublikowane elementy sÄ… domyÅ›lnie publiczne, ale możesz to zmienić podczas tworzenia elementu i ograniczyć dostÄ™p do niego. JesteÅ› wymieniony w katalogu. Twoja obecność w Internecie i połączenia sÄ… widoczne dla innych. Tylko osoby z bezpoÅ›rednich kontaktów mogÄ… komentować Twoje publiczne wpisy i wysyÅ‚ać Ci prywatnÄ… pocztÄ™. Zasady pozwoleÅ„ sÄ… podobne do Facebooka. + +[b]- ograniczony[/b] + +DomyÅ›lnie wszystkie wpisy i opublikowane elementy sÄ… wysyÅ‚ane do prywatnej grupy prywatnoÅ›ci "Znajomi" i nie sÄ… upubliczniane. Do tej grupy prywatnoÅ›ci sÄ… dodawani nowi znajomi. JeÅ›li chcesz, możesz to zmienić i utworzyć publiczny wpis lub inny publicznie dostÄ™pny element. JesteÅ› wymieniony w katalogu. Twoja obecność online (na czacie) i Twoje kontakty (znajomi) sÄ… widoczne dla przeglÄ…dajÄ…cych Twój profil. + +[b]- prywatny[/b] + +DomyÅ›lnie wszystkie wpisy i opublikowane elementy sÄ… wysyÅ‚ane do grupy prywatnoÅ›ci "Znajomi". Do tej grupy dodawani sÄ… Twoi nowi znajomi. Możesz to zmienić i utworzyć publiczny wpis lub inny element publiczny, jeÅ›li chcesz. NIE jesteÅ› wymieniony w katalogu. Tylko osoby z Twoich kontaktów mogÄ… zobaczyć Twoje inne połączenia. Twoja obecność w Internecie jest ukryta. + + +[h5][b]Forum[/b][/h5] + +[b]- przeważnie publiczne[/b] + +KanaÅ‚ typowy dla publicznego forum. Wpisy i publikowane elementy sÄ… domyÅ›lnie publiczne. CzÅ‚onkowie mogÄ… publikować przez "!wzmiankÄ™" lub wpis peÅ‚ny. Zablokowane jest publikowanie zdjęć i innych elementów. KanaÅ‚ jest widoczny w katalogu. CzÅ‚onkowie sÄ… dodawani automatycznie. + +[b]- ograniczone[/b] + +DomyÅ›lnie wszystkie wpisy i opublikowane elementy sÄ… wysyÅ‚ane do grupy prywatnoÅ›ci "Znajomi" kanaÅ‚u. Do tej grupy dodawani sÄ… nowi znajomi. CzÅ‚onkowie mogÄ… publikować przez "!wzmiankÄ™" lub wpis peÅ‚ny, ale wpisy i odpowiedzi mogÄ… być również widoczne dla innych odbiorców wpisów najwyższego poziomu, którzy nie sÄ… czÅ‚onkami. KanaÅ‚ jest widoczny w katalogu. CzÅ‚onkowie muszÄ… być rÄ™cznie dodani przez wÅ‚aÅ›ciciela forum. + +[b]- prywatne[/b] + +DomyÅ›lnie wszystkie wpisy i opublikowane elementy sÄ… wysyÅ‚ane do grupy prywatnoÅ›ci "Znajomi". Do tej grupy dodawani sÄ… nowi znajomi. WÅ‚aÅ›ciciel może to zmienić i w razie potrzeby utworzyć publiczny wpis lub element publiczny. CzÅ‚onkowie tego nie mogÄ…. NIE jesteÅ› wymieniony w katalogu. Tylko osoby z Twoich kontaktów mogÄ… zobaczyć Twoje inne połączenia. Twoja obecność w Internecie jest ukryta. CzÅ‚onkowie muszÄ… być dodani rÄ™cznie przez wÅ‚aÅ›ciciela forum. WysyÅ‚anie przez "!wzmiankÄ™" jest wyłączone. Wpisy można publikować wyłącznie za poÅ›rednictwem wpisów peÅ‚nych i wysyÅ‚ać do czÅ‚onków grupy prywatnoÅ›ci "Znajomi". Nie sÄ… oni publicznie widoczni. + +[h5][b]KanaÅ‚ RSS[/b][/h5] + +[b]- publiczny[/b] + +Podobne do kanaÅ‚u spoÅ‚ecznoÅ›ciowego - głównie publicznego, ale dostosowany do źródeÅ‚ kanałów RSS. Elementy mogÄ… być swobodnie publikowane i pozyskiwane. Obecność w Internecie jest bez znaczenia, dlatego jest ukryta. Nowe połączenia sÄ… automatycznie zatwierdzane. + + +[b]- ograniczony[/b] + +KanaÅ‚ nie jest wymieniony w katalogu. Obecność w Internecie jest bez znaczenia, dlatego jest ukryta. KanaÅ‚ jest publikowany tylko dla czÅ‚onków grupy prywatnoÅ›ci "Przyjaciele". Nowe połączenia sÄ… automatycznie dodawane do tej grupy prywatnoÅ›ci. CzÅ‚onkowie muszÄ… zostać rÄ™cznie zatwierdzeni przez wÅ‚aÅ›ciciela kanaÅ‚u. + + +[h5][b]KanaÅ‚ specjalny[/b][/h5] + +[b]- celebrycki lub mównica[/b] + +Autorzy sÄ… wymienieni w katalogu. Komunikaty sÄ… domyÅ›lnie publiczne. Obecność w Internecie jest ukryta. Nie wolno komentować ani odpisywać w jakiejkolwiek formie, chociaż odwiedzajÄ…cy mogÄ… "polubić" profil autora. + + +[b]- repozytorium gupowe[/b] + +Forum publiczne, które umożliwia czÅ‚onkom publikowanie plików, zdjęć i stron internetowych. + +[h5][b]Tryb niestandardowy i ekspercki[/b][/h5] + +Prywatność i uprawnienia ustawia siÄ™ rÄ™cznie, aby dopasować je do swoich potrzeb. + + +[h4][b]Tworzenie kanałów[/b][/h4] + +Po utworzeniu konta zostanie wyÅ›wietlony ekran "Dodaj kanaÅ‚". Zwykle pierwszym kanaÅ‚em bÄ™dzie ten, który reprezentuje Ciebie, wiÄ™c użycie wÅ‚asnego imienia i nazwiska (lub pseudonimu) jako nazwy kanaÅ‚u jest dobrym pomysÅ‚em. NazwÄ™ kanaÅ‚u należy traktować jako tytuÅ‚ lub krótki opis kanaÅ‚u. Pole "Wybierz krótki pseudonim" jest podobne do pola "Nazwa użytkownika". Wykorzystamy wszystko, co tu wpiszesz, do utworzenia adresu kanaÅ‚u, którego bÄ™dÄ… używać inne osoby do łączenia siÄ™ z Twoim kanaÅ‚em, a Ty bÄ™dziesz używać to do logowania siÄ™ w innych witrynach. WyglÄ…da to jak adres e-mail i ma postać [i]pseudonim@serwis_twojej_rejestracji.xyz[/i]. + +Możesz tworzyć dodatkowe kanaÅ‚y, korzystajÄ…c z odnoÅ›nika "Menedżer kanałów". + +Gdy to zrobisz, Twój kanaÅ‚ bÄ™dzie gotowy do użycia. Pod adresem [observer=1][observer.url][/observer][observer=0][baseurl]/channel/username[/observer] znajdziesz "strumieÅ„" swojego kanaÅ‚u. Tutaj pojawi siÄ™ Twoja ostatnia aktywność w odwrotnej kolejnoÅ›ci chronologicznej. JeÅ›li opublikujesz wpis w polu oznaczonym "udostÄ™pnij", wpis pojawi siÄ™ u góry Twojego strumienia. Znajdziesz tu również linki do wszystkich innych obszarów komunikacji tego kanaÅ‚u. Menu z ikonÄ… "hamburger" w wiÄ™kszoÅ›ci motywów zapewnia nawigacjÄ™ do innych skÅ‚adników systemu i aplikacji. Strona "ZdjÄ™cia" zawiera albumy ze zdjÄ™ciami, a strona "Wydarzenia" zawiera wydarzenia udostÄ™pnione przez Ciebie i Twoje kontakty. + +[h4][b]Profile[/b][/h4] + +W $Projectname użytkownik może mieć wiele profili. Można używać różnych profili, aby pokazać różne "strony siebie" różnym odbiorcom. Różni siÄ™ to od posiadania różnych kanałów. Różne kanaÅ‚y pozwalajÄ… na przesyÅ‚anie zupeÅ‚nie różnych zestawów informacji. Można mieć kanaÅ‚ dla siebie, kanaÅ‚ dla swojej drużyny sportowej, kanaÅ‚ dla swojej witryny internetowej lub cokolwiek innego. Profil pozwala na precyzyjne stopniowanie "aspektów" kanaÅ‚u. Na przykÅ‚ad Twój domyÅ›lny profil publiczny może mówić "Cześć, jestem Fred i lubiÄ™ siÄ™ Å›miać". Możesz pokazać swoim bliskim znajomym profil z dopiskiem "i ja też lubiÄ™ rzucać krasnoludami". + +Zawsze masz profil nazywany profilem "domyÅ›lnym" lub "publicznym". Ten profil jest zawsze ogólnodostÄ™pny i nie można go ukryć (mogÄ… wystÄ™pować rzadkie wyjÄ…tki w witrynach uruchamianych prywatnie lub odłączonych). Można i raczej powinno siÄ™ ograniczyć informacje, które udostÄ™pnia siÄ™ w swoim profilu publicznym. + +Tak wiÄ™c, jeÅ›li chcesz, aby inni znajomi mogli CiÄ™ znaleźć, warto mieć nastÄ™pujÄ…ce informacje w swoim profilu publicznym: + +[ul][*]Twoje prawdziwe imiÄ™ i nazwisko lub przynajmniej pseudonim, który wszyscy znajÄ…; +[*]Twoje zdjÄ™cie; +[*]TwojÄ… lokalizacja, przynajmniej na poziomie kraju.[/ul] + +Ponadto, jeÅ›li chcesz poznać osoby, które majÄ… podobne zainteresowania, poÅ›więć chwilÄ™ i dodaj do swojego profilu kilka "słów kluczowych". Na przykÅ‚ad "muzyka, linux, fotografia" lub cokolwiek innego. Możesz dodać dowolnÄ… liczbÄ™ słów kluczowych. + +Aby utworzyć alternatywny profil, najpierw przejdź do [zrl=[baseurl]/settings/features]Ustawienia > Dodatkowe funkcje[/zrl] i włącz tam opcjÄ™ "Wiele profili", w przeciwnym razie nie bÄ™dziesz mieć możliwoÅ›ci korzystania z wiÄ™cej niż tylko profilu domyÅ›lnego. + +NastÄ™pnie wybierz "Edytuj profile" z menu swojej witryny Hubzilla. Możesz edytować istniejÄ…cy profil, zmienić zdjÄ™cie profilowe, dodać rzeczy do profilu lub utworzyć nowy profil. Możesz także utworzyć "klon" istniejÄ…cego profilu, jeÅ›li chcesz zmienić tylko kilka elementów, ale nie chcesz ponownie wprowadzać wszystkich informacji. Aby to zrobić, kliknij profil, który chcesz sklonować i wybierz tam "Klonuj ten profil". + +Na liÅ›cie swoich profili możesz również wybrać kontakty, które mogÄ… zobaczyć Twój dodatkowy profil. Wystarczy kliknąć "Edytuj widoczność" obok profilu (dostÄ™pne tylko dla profili, które nie sÄ… Twoim profilem domyÅ›lnym), a nastÄ™pnie kliknąć okreÅ›lone połączenia, aby je dodać lub usunąć z grupy osób, które mogÄ… wyÅ›wietlać ten profil. + +Po wybraniu profilu osoba przeglÄ…dajÄ…ca Twój profil zobaczy przypisany przez Ciebie profil prywatny. JeÅ›li nie sÄ… oni uwierzytelnieni, zobaczÄ… Twój profil publiczny. + +Istnieje ustawienie, które pozwala opublikować swój profil w katalogu i zapewnić, że bÄ™dzie można go znaleźć innym. Możesz zmienić to ustawienie na stronie "Ustawienia". + +JeÅ›li nie chcesz, aby CiÄ™ widziano w internecie, ustaw swój profil jako prywatny. + +[h4][b]SÅ‚owa kluczowe i wyszukiwanie w katalogu[/b][/h4] + +Na stronie katalogu możesz wyszukiwać osoby z opublikowanymi profilami. Obecnie przeszukiwane jest tylko pole nazwy i sÅ‚owa kluczowe. Możesz również umieÅ›cić takie sÅ‚owa kluczowe w swoim domyÅ›lnym profilu - które mogÄ… być używane do wyszukiwania wspólnych zainteresowaÅ„ z innymi czÅ‚onkami. SÅ‚owa kluczowe sÄ… używane w narzÄ™dziu propozycji kanałów i chociaż nie sÄ… widoczne w katalogu, sÄ… wyÅ›wietlane, gdy ktoÅ› odwiedza stronÄ™ Twojego profilu. + +Na stronie "Połączenia" oraz w katalogu znajduje siÄ™ odnoÅ›nik, odpowiednio do "Sugestii" lub "Propozycji kanałów". Pozwoli to znaleźć kanaÅ‚y, które majÄ… pasujÄ…ce lub podobne sÅ‚owa kluczowe. Im wiÄ™cej podasz słów kluczowych, tym trafniejsze bÄ™dÄ… wyniki wyszukiwania. SÄ… one sortowane wedÅ‚ug trafnoÅ›ci. + +Przecztaj też: + +[zrl=[baseurl]/help/pl/AdvancedSearch]Zaawansowane przeszukiwanie[/zrl] + +[h4][b]Siatka, uprawnienia i delegowanie[/b][/h4] + +Strona "Siatka" zawiera wszystkie najnowsze wpisy z caÅ‚ej sieci Hubzilla, wykazane w odwrotnej kolejnoÅ›ci chronologicznej. Posty, które siÄ™ tutaj pojawiajÄ…, zależą w dużej mierze od ustawionych przez siebie preferencji. Na najbardziej liberalnym poziomie uprawnieÅ„ bÄ™dziesz otrzymywać posty od zupeÅ‚nie obcych osób. Na drugim koÅ„cu skali możesz zobaczyć wpisy tylko od znajomych - lub, jeÅ›li czujesz siÄ™ naprawdÄ™ niezainteresowany spoÅ‚ecznoÅ›ciÄ…, tylko wÅ‚asne wpisy. + +Jak wspomniano na poczÄ…tku, możliwych jest wiele innych rodzajów kanałów, jednak procedura tworzenia jest taka sama. Różnica miÄ™dzy kanaÅ‚ami polega przede wszystkim na przypisanych uprawnieniach. Na przykÅ‚ad kanaÅ‚ umożliwiajÄ…cy udostÄ™pnianie dokumentów współpracownikom w pracy prawdopodobnie wymagaÅ‚by bardziej liberalnych ustawieÅ„ "Może zapisywać w moim" publicznym "magazynie plików" niż na koncie osobistym. + +Możesz również przekazać kontrolÄ™ nad wpisami i połączeniami swoich kanałów, ale nie nad ich konfiguracjami, innemu kanaÅ‚owi. Odbywa siÄ™ to poprzez edycjÄ™ połączenia i przypisanie mu uprawnieÅ„ do administrowania zasobami Twojego kanaÅ‚u. + +[h3]Przyłączanie siÄ™ do kanałów[/h3] + +Połączenie jest w $Projectname okreÅ›lane jako zestaw uprawnieÅ„, które nadaÅ‚o siÄ™ komuÅ› innemu do dostÄ™pu do swoich treÅ›ci. W tradycyjnych aplikacjach sieci spoÅ‚ecznoÅ›ciowych wszystkie połączenia majÄ… takie same uprawnienia lub najwyżej dwa poziomy ("znajomi" i "obserwujÄ…cy"). W Hubzilla można ustawić (dostosować) szereg oddzielnych uprawnieÅ„ w zależnoÅ›ci od sytuacji i relacji, jakie masz z innym kanaÅ‚em. Możesz zezwolić komuÅ› na wyÅ›wietlanie swoich postów, ale nie zdjęć. Możesz również odmówić im pozwolenia na komentowanie swoich postów lub wysyÅ‚anie prywatnych wiadomoÅ›ci do Ciebie. + +Jak przyłączyć siÄ™ do jakiegoÅ› kanaÅ‚u? + +Najpierw musisz znaleźć kanaÅ‚, z którym chcesz siÄ™ połączyć. Można to zrobić na dwa sposoby. Po pierwsze, ustaw opcjÄ™ "Może przesyÅ‚ać mi swój strumieÅ„ i posty z kanaÅ‚u" na zezwoleniea dla "Wszystkich w tej sieci", co spowoduje dostÄ™p do wpisów od zupeÅ‚nie obcych osób do Twojej matrycy. Zapewni ci to dużo treÅ›ci publicznych i miejmy nadziejÄ™, że pomoże Ci znaleźć interesujÄ…cych, zabawnych ludzi, fora i kanaÅ‚y. + +NastÄ™pnÄ… rzeczÄ…, jakÄ… możesz zrobić, jest przejrzenie katalogu. Katalog jest dostÄ™pny w każdej witrynie Hubzilli, co oznacza, że wyszukiwanie z poziomu wÅ‚asnej witryny przyniesie wyniki z caÅ‚ej sieci. Możesz wyszukiwać wedÅ‚ug nazwy, zainteresowania, lokalizacji i sÅ‚owa kluczowego. + +JeÅ›li znasz już czyjÄ…Å› "webbie", możesz bezpoÅ›rednio siÄ™ z tÄ… osobÄ… skontaktować. Webbie to identyfikator, który wyglÄ…da jak adres e-mail (na przykÅ‚ad bob@example.com), ale odnosi siÄ™ do kogoÅ› w otwartej sieci spoÅ‚ecznoÅ›ciowej. Aby siÄ™ połączyć, osoby te muszÄ… używać kompatybilnego protokoÅ‚u sieciowego. DomyÅ›lnie, nasze oprogramowanie obsÅ‚uguje protokół "Zot", jednak dodatkowe protokoÅ‚y mogÄ… być dostarczane za poÅ›rednictwem wtyczek (dodatków). WiÄ™cej informacji na temat łączenia siÄ™ z kanaÅ‚ami w innych sieciach znajduje siÄ™ poniżej. + +Aby połączyć siÄ™ z innymi kanaÅ‚em $Projectname: + +Odwiedź profil tego kanaÅ‚u, klikajÄ…c jego zdjÄ™cie w katalogu, matrycy lub komentarzach, a otworzy siÄ™ strona główna kanaÅ‚u w przeglÄ…darce kanaÅ‚u. Po lewej stronie ekranu zwykle jest widoczny link o nazwie "Connect". Kliknij i gotowe. W zależnoÅ›ci od ustawieÅ„ kanaÅ‚u, z którym siÄ™ łączysz, być może bÄ™dziesz musiaÅ‚ poczekać, aż wÅ‚aÅ›ciciel zatwierdzi połączenie, ale nie musisz nic robić. Po zainicjowaniu połączenia zostaniesz przeniesiony do edytora połączeÅ„. DziÄ™ki temu możesz przypisać okreÅ›lone uprawnienia do tego kanaÅ‚u, jeÅ›li chcesz wprowadzić jakiekolwiek zmiany. + +Aby połączyć siÄ™ z kanaÅ‚ami w innych sieciach niż sieć $Projectname: + +Proces łączenia siÄ™ z kanaÅ‚ami w innych sieciach (takich jak GNU-Social, Mastodon czy Diaspora) jest podobny - wpisz odpowiednie "webbie" do pola "Dodaj nowe połączenia" na stronie "Połączenia". Jednak zanim to zrobisz, odwiedź stronÄ™ "Ustawienia" ("Ustawienia funkcji i dodatków") i upewnij siÄ™, że w Twoim hubie jest dostÄ™pny odpowiedni protokół (Diaspora, GNU-Social/OStatus lub ActivityPub) i [b][i]jest aktywowany[/i] dla Twojego kanaÅ‚u[/b]. Te sieci (protokoÅ‚y) nie obsÅ‚ugujÄ… migracji kont i niezależnoÅ›ci lokalizacji, wiÄ™c jeÅ›li przeniesiesz lokalizacjÄ™ lub sklonujesz swój kanaÅ‚ w inne miejsce, komunikacja z tymi połączeniami może siÄ™ nie udać. Z tego powodu protokoÅ‚y te nie sÄ… domyÅ›lnie aktywowane, ale ich aktywacja wymaga Twojej zgodÄ…. Aktywacja tych protokołów wiąże siÄ™ z podjÄ™ciem ważkiego rozstrzygniecia korzyÅ›ci pÅ‚ynÄ…cych z kmunikowania siÄ™ ze znajomymi w tych sieciach a z drugiej strony, zapewnieniem odpornoÅ›ci konta na awarie serwera. + +Niektóre rodzaje komunikacji oferujÄ… wiÄ™cej niż jeden protokół. JeÅ›li chcesz połączyć siÄ™ z kimÅ› na Mastodonie (na przykÅ‚ad), możesz użyć do komunikacji protokoÅ‚u "Ostatus" lub "AactivityPub". Generalnie, protokół "ActivityPub" zapewnia lepszÄ… obsÅ‚ugÄ™ niż "Ostatus", ale Hubzilla czÄ™sto wybiera pierwszy protokół, który odkryje i może to nie być to, czego chcesz. Możesz połączyć siÄ™ z kimÅ› przez okreÅ›lony protokół, poprzedzajÄ…c nazwÄ™ protokoÅ‚u w nawiasach kwadratowych na tym "webbie". Na przykÅ‚ad: + +[code] +[activitypub]https://foo.bar/foobar +[ostatus]foobar@foo.bar +[diaspora]foobar@foo.bar +[zot]foobar@foo.bar +[feed]https://foo.bar/foobar +[/code] + +Aby połączyć ziÄ™ z kanaÅ‚ami RSS: + +Administrator huba może zezwolić na łączenie siÄ™ z kanaÅ‚ami RSS. Proces łączenia siÄ™ z kanaÅ‚em RSS jest taki sam, z wyjÄ…tkiem wpisania (lub wklejenia) adresu URL kanaÅ‚u w polu "Dodaj nowe połączenie". KanaÅ‚y sÄ… przetwarzane tylko raz lub dwa razy dziennie, a administrator huba może naÅ‚ożyć ograniczenia na liczbÄ™ dodawanych kanałów. + +[h4][b]Blokowanie, ignorowanie, archiwizowanie i ukrywanie kanałów[/b][/h4] + +KanaÅ‚y w książce adresowej mogÄ… mieć statusy, takie jak [i]zablokowany[/i], [i]ignorowany[/i], [i]zarchiwizowany[/i] i [i]ukryty[/i]. Na stronie połączeÅ„ możesz zobaczyć zakÅ‚adki, które wyÅ›wietlajÄ… kanaÅ‚y o tych statusach. Na stronach edycji połączenia możesz zmienić status kanaÅ‚u. + +Oto ich znaczenie: + +[b]Zablokowany:[/b] w kanale nie moża odczytywać elementów, niezależnie od uprawnieÅ„, ani zapisywać cokolwiek. + +[b]Ignorowany:[/b] w kanale można odczytywać elementy, jeÅ›li ma siÄ™ odpowiednie uprawnienia, ale nie można tu nic zapisywać. + +[b]Ukryty:[/b] kanaÅ‚ nie pojawia siÄ™ na liÅ›cie połączeÅ„ profilu, nikt nie może zobaczyć, że jesteÅ› połączony, ale trzeba mieć na uwadze, że treÅ›ci mogÄ… nadal pojawiać siÄ™ innych połączeniach, na przykÅ‚ad w odpowiedziach na wpisy. + +[b]Archiwizowany:[/b] jeÅ›li kanaÅ‚ nie jest dostÄ™pny przez 30 dni, jest automatycznie oznaczany jako "zarchiwizowany". Wszystkie dane zostajÄ… zachowane, ale zatrzymane zostaje odpytywanie kanaÅ‚u w poszukiwaniu nowych informacji i usuwa siÄ™ go z autouzupeÅ‚niania. JeÅ›li później dowiesz siÄ™, że kanaÅ‚ wróciÅ‚ do trybu online, możesz rÄ™cznie przywrócić go z archiwum. + +[h4][b]KanaÅ‚y Premium[/b][/h4] + +Niektóre kanaÅ‚y sÄ… oznaczone jako "kanaÅ‚y premium" i mogÄ… wymagać pewnych dziaÅ‚aÅ„ ze strony odwiedzajacego, zanim bÄ™dzie on mógÅ‚ nawiÄ…zać połączenie. Przycisk "Połącz" w przypadku tych kanałów przeniesie CiÄ™ do strony zawierajÄ…cej szczegółowe informacje o warunkach, które ustanowiÅ‚ wÅ‚aÅ›ciciel kanaÅ‚u. JeÅ›li warunki zostanÄ… zaakceptowane, połączenie bÄ™dzie kontynuowane normalnie. W niektórych przypadkach, na przykÅ‚ad w przypadku celebrytów i Å›wiatowej sÅ‚awy wydawców, może to wymagać zapÅ‚aty. JeÅ›li nie zgadzasz siÄ™ z warunkami, połączenie nie bÄ™dzie kontynuowane lub może być kontynuowane, ale z ograniczonymi uprawnieniami dozwolonymi dla twoich interakcji z tym kanaÅ‚em. + +[h3]Uprawnienia[/h3] +Uprawnienia w $Projectname sÄ… peÅ‚niejsze niż te, do których możesz być przyzwyczajony. To pozwala nam zdefiniować lepiej oceniane relacje niż czarno-biaÅ‚e: "ta osoba jest moim przyjacielem, wiÄ™c może zrobić wszystko" lub "ta osoba nie jest moim przyjacielem, wiÄ™c nie może nic zrobić", jak to ma miejsce w innych serwisach spoÅ‚ecznoÅ›ciowych. + +[h4][b]Role uprawnieniowe[/b][/h4] + +TworzÄ…c kanaÅ‚, można wybrać różne "role" dla tego kanaÅ‚u. TworzÄ… one całą rodzinÄ™ uprawnieÅ„ i ustawieÅ„ prywatnoÅ›ci, które sÄ… odpowiednie dla tej roli. Typowe role to "SpoÅ‚eczne - głównie publiczne", "SpoÅ‚eczne - głównie prywatne", "Forum - publiczne" i wiele innych. ZapewniajÄ… one pewien poziom prostoty zarzÄ…dzania uprawnieniami. Wystarczy wybrać rolÄ™, a odpowiednie uprawnienia zostanÄ… zastosowane automatycznie. Możesz także wybrać "Tryb niestandardowy/ekspercki" i zmienić indywidualne ustawienia uprawnieÅ„ w dowolny sposób. + +[h4][b]DomyÅ›lne ograniczenia uprawnieÅ„[/b][/h4] + +Istnieje wiele indywidualnych uprawnieÅ„. KontrolujÄ… one wszystko, od przeglÄ…dania strumienia po możliwość czatowania z TobÄ…. Każde pozwolenie ma limit. Zakres tych uprawnieÅ„ waha siÄ™ od "Tylko ja" do "Wszyscy w Internecie" - chociaż niektóre zakresy mogÄ… nie być dostÄ™pne dla niektórych uprawnieÅ„. Limit dotyczy każdej opublikowanej rzeczy, którÄ… tworzysz, a która nie ma kontroli prywatnoÅ›ci ani kontroli dostÄ™pu. Na przykÅ‚ad, jeÅ›li publikujesz zdjÄ™cie i nie wybraÅ‚eÅ› okreÅ›lonej grupy odbiorców z pozwoleniem na jego przeglÄ…danie, stosujemy ten limit. Te ograniczenia dotyczÄ… wszystkiego w ramach tej reguÅ‚y pozwolenia, wiÄ™c nie możesz zastosować ograniczenia do jednego zdjÄ™cia. Limit dotyczy wszystkich Twoich zdjęć. JeÅ›li wszystkie Twoje zdjÄ™cia sÄ… widoczne dla wszystkich w Internecie i ograniczysz limit tylko do znajomych, wszystkie Twoje zdjÄ™cia bÄ™dÄ… teraz widoczne tylko dla znajomych. + +[h4][b]Kontrola dostÄ™pu[/b][/h4] + +Kontrola dostÄ™pu jest preferowanÄ… metodÄ… zarzÄ…dzania prywatnoÅ›ciÄ… w [i]wiÄ™kszoÅ›ci[/i] przypadków, zamiast stosowania ograniczania uprawnieÅ„. Polega ona na utworzeniu list połączeÅ„ lub grup prywatnoÅ›ci (lub obu na raz) i na podstawie listy kontroli dostÄ™pu (ACL) użytkownik decyduje, czy zezwolenie jest dozwolone. Lista kontroli dostÄ™pu jest dołączona do wszystkiego, co siÄ™ publikuje. W przeciwieÅ„stwie do ograniczeÅ„ uprawnieÅ„, zmiana listy kontroli dostÄ™pu na jednym zdjÄ™ciu nie ma wpÅ‚ywu na żadne z pozostaÅ‚ych zdjęć. Możesz użyć grup prywatnoÅ›ci i "domyÅ›lnej listy kontroli dostÄ™pu", aby utworzyć i zautomatyzować zarzÄ…dzanie listami kontroli dostÄ™pu, tak aby zapewnić dowolny poziom prywatnoÅ›ci dla wszystkiego, co publikujesz. + +Zdecydowanie zalecamy skorzystanie z ustawieÅ„ "typowej sieci spoÅ‚ecznoÅ›ciowej" podczas tworzenia pierwszego kanaÅ‚u, ponieważ umożliwia to innym komunikowanie siÄ™ z TobÄ… i pomaga w razie trudnoÅ›ci. Przekonasz siÄ™, że te ustawienia zapewniajÄ… tyle prywatnoÅ›ci, ile chcesz - kiedy tego chcesz; ale także pozwalajÄ… komunikować siÄ™ publicznie, jeÅ›li zechcesz. Po opanowaniu obsÅ‚ugi możesz swobodnie korzystać z dużo bardziej prywatnych ustawieÅ„. + +[dl terms="l"] +[*= Zakresy uprawnieÅ„ to:] +[dl terms="i"] + [*= Nikt oprócz Ciebie ] To jest oczywiste. Tylko Ty bÄ™dziesz mieć dostÄ™p. + + [*= Tylko ci, którym jawnie zezwalasz ] DomyÅ›lnie osoby, z którymi nie jesteÅ› połączony i wszystkie nowe kontakty bÄ™dÄ… miaÅ‚y odmowÄ™ tego uprawnienia. Można robić wyjÄ…tki dla poszczególnych kanałów na ich ekranie edycji kontaktów. + + [*= Każdy w Twojej książce adresowej ] Każdy, kto nie znajduje siÄ™ w Twojej książce adresowej ma odmowÄ™ dostÄ™pu, ale każdy kogo zaakceptujesz jako kontakt, uzyska zezwolenie. Jest to sposób stosowany na wiÄ™kszoÅ›ci starszych platform. + + [*= Każdy na tym hubie ] Każdy, kto ma kanaÅ‚ w tym samym hubie co Ty, bÄ™dzie miaÅ‚ pozwolenie. Każdemu, kto jest zarejestrowany na innym hubie, odmawia siÄ™ dostÄ™pu. + + [*= Każdy w tej sieci ] Każdy w sieci $Projectname bÄ™dzie miaÅ‚ zatwierdzone to pozwolenie. Nawet zupeÅ‚nie obce osoby. Jednak każdemu, kto nie jest zalogowany (uwierzytelniony), tego dostÄ™pu siÄ™ odmiawia. + + [*= Każdy uwierzytelniony ] Jest to podobne do uprawnienia "każdy w tej sieci", z tym wyjÄ…tkiem, że może obejmować każdego, kto może uwierzytelnić siÄ™ w jakikolwiek sposób - a zatem może obejmować odwiedzajÄ…cych z innych sieci. + + [*= Token dostÄ™pu goÅ›cia] Umożliwia to udostÄ™pnianie pliku, folderu, zdjÄ™cia, albumu lub kanaÅ‚u okreÅ›lonej osobie lub grupie osób. Nie muszÄ… być czÅ‚onkami Hubzilli. Możesz ustawić ważność tokenu dostÄ™pu. + + [*= Każdy w Internecie ] Element jest caÅ‚kowicie publiczny. To pozwolenie umożliwia dostÄ™p każdemu. +[/dl] +[*= Indywidualne uprawnienia, to:] +[dl terms="i"] + [*= Można wyÅ›wietlać mój "publiczny" strumieÅ„ i posty. ] To uprawnienie okreÅ›la, kto może oglÄ…dać "strumieÅ„" Twojego kanaÅ‚u, czyli nieprywatne wpisy, które pojawiajÄ… siÄ™ na karcie "Strona główna", gdy jesteÅ› zalogowany. + + [*= Można wyÅ›wietlać mój "publiczny" profil kanaÅ‚u. ] To uprawnienie okreÅ›la, kto może wyÅ›wietlać profil Twojego kanaÅ‚u. Dotyczy to zakÅ‚adki "o mnie". + + [*= Można wyÅ›wietlać moje "publiczne" albumy zdjęć. ] To uprawnienie okreÅ›la, kto może wyÅ›wietlać Twoje albumy ze zdjÄ™ciami. Poszczególne zdjÄ™cia mogÄ… nadal być publikowane do bardziej prywatnej grupy osób. + + [*= Można wyÅ›wietlać mojÄ… "publicznÄ…" książkÄ™ adresowÄ…. ] To uprawnienie okreÅ›la, kto może wyÅ›wietlać Twoje kontakty. SÄ… to połączenia wyÅ›wietlane w sekcji "WyÅ›wietl połączenia". + + [*= Można wyÅ›wietlać mój "publiczny" magazyn plików. ] To uprawnienie okreÅ›la, kto może wyÅ›wietlać Twoje publiczne pliki przechowywane w "chmurze" serwisu. + + [*= Można wyÅ›wietlać moje "publiczne" strony. ] To uprawnienie okreÅ›la, kto może wyÅ›wietlać Twoje publiczne strony internetowe. + + [*= Można przesyÅ‚ać mi strumieÅ„ ich kanaÅ‚u i posty. ] To uprawnienie okreÅ›la, czyje wpisy bÄ™dÄ… wyÅ›wietlane na Twoim kanale. JeÅ›li Twój kanaÅ‚ jest kanaÅ‚em osobistym (tj. Ty jako osoba), prawdopodobnie chciaÅ‚byÅ› ustawić to przynajmniej tak, że "każdy z mojej książki adresowej". Osobisty kanaÅ‚ notatek prawdopodobnie chciaÅ‚byÅ› ustawić na "nikt oprócz mnie". Ustawienie tego na "każdy w sieci†spowoduje wyÅ›wietlenie wpisów od zupeÅ‚nie obcych osób, co jest dobrÄ… formÄ… rozeznania sieci. + + [*= Można publikować na stronie mojego kanaÅ‚u ("Å›cianie"). ] To uprawnienie okreÅ›la, kto może umieszczać swoje wpisy na Twojej Å›cianie po przejÅ›ciu do Twojego kanaÅ‚u. + + [*= Można komentować moje posty. ] To uprawnienie okreÅ›la, kto może komentować posty, które tworzysz. Zwykle chce siÄ™, aby pasowaÅ‚o to do uprawnienia "można wyÅ›wietlać mój publiczny strumieÅ„ i wpisyâ€. + + [*= Można wysyÅ‚ać mi prywatne wiadomoÅ›ci pocztowe. ] OkreÅ›la to, kto może wysyÅ‚ać Ci prywatne wiadomoÅ›ci (zotmail). + + [*= Można publikować zdjÄ™cia w moich albumach ze zdjÄ™ciami. ] To okreÅ›la, kto może publikować zdjÄ™cia w Twoich albumach. Jest to bardzo przydatne w przypadku kanałów przypominajÄ…cych forum, na których połączenia mogÄ… nie być ze sobÄ… połączone. + + [*= Można przekazywać dalej do wszystkich kontaktów z mojego kanaÅ‚u za pomocÄ… +tagów post. ] Użycie wzmianek (@-) spowoduje odtworzenie kopii twojego wpisu na okreÅ›lonym profilu, tak jakbyÅ› opublikowaÅ‚ go na Å›cianie kanaÅ‚u. To ustawienie okreÅ›la, czy jakieÅ› osoby mogÄ… w ten sposób publikować na Twoim kanale. + + [*= Można ze mnÄ… rozmawiać (jeÅ›li jestem dostÄ™pny). ] OkreÅ›la to, kto może dołączyć do publicznych czatów utworzonych na Twoim kanale. + + [*= Można zapisywać w moim "publicznym" magazynie plików. ] To okreÅ›la, kto może przesyÅ‚ać pliki do Twojego publicznego magazynu plików lub "chmury". + + [*= Można edytować moje "publiczne" strony. ] OkreÅ›la to, kto może edytować Twoje strony internetowe. Jest to przydatne w przypadku witryn typu wiki lub witryn z wieloma redaktorami. + + [*= Można zarzÄ…dzać zasobami mojego kanaÅ‚u. ] To okreÅ›la, kto może mieć peÅ‚nÄ… kontrolÄ™ nad Twoim kanaÅ‚em. Zwykle powinno być to ustawione na "nikt oprócz mnie". +[/dl][/dl] +[i]Uwaga:[/i] +Wtyczki (dodatki) mogÄ… zapewniać specjalne ustawienia uprawnieÅ„, wiÄ™c możesz otrzymać dodatkowe ustawienia uprawnieÅ„ wykraczajÄ…ce poza to, co opisano tutaj. + +JeÅ›li ustawisz którekolwiek z tych uprawnieÅ„ na "tylko te, na które wyraźnie zezwalam", możesz okreÅ›lać indywidualne uprawnienia na ekranie edycji połączenia. + +[h4][b]Koligacja[/b][/h4] + +Ekran edycji połączenia oferuje suwak do wyboru stopnia "przyjaźni" z połączeniem (to narzÄ™dzie można włączyć na karcie "Dodatkowe funkcje" na stronie "Ustawienia"). Potraktuj to jako miarÄ™ tego, jak bardzo ich lubisz lub nie lubisz. Wartość 1 jest dla osób, które lubisz, których wpisy chcesz widzieć caÅ‚y czas; 99 jest dla osób, na których Ci nie zależy i których wpisy możesz chcieć przeglÄ…dać tylko od czasu do czasu. Po przypisaniu tutaj wartoÅ›ci możesz użyć narzÄ™dzia koligacji na stronie matrycy do filtrowania treÅ›ci na podstawie tej liczby. + +Suwak na stronie matrycy ma zarówno wartość minimalnÄ…, jak i maksymalnÄ…. Wpisy bÄ™dÄ… wyÅ›wietlane tylko od osób mieszczÄ…cych siÄ™ w tym zakresie. Koligacja nie ma zwiÄ…zku z uprawnieniami i jest przydatna tylko w połączeniu z funkcjÄ… narzÄ™dzia koligacji. + +[h3]Tokeny dostÄ™pu goÅ›cia[/h3] +Tokeny dostÄ™pu goÅ›cia (czasami nazywane "tokenami dostÄ™pu Zot") umożliwiajÄ… udostÄ™pnianie pliku, folderu, zdjÄ™cia, albumu lub kanaÅ‚u okreÅ›lonej osobie lub grupie osób, które nie sÄ… czÅ‚onkami hubu Hubzilli. Te tokeny umożliwiajÄ… udostÄ™pnianie poszczególnych elementów poprzez wysÅ‚anie linku zawierajÄ…cego token w adresie URL; alternatywnie, osoby mogÄ… faktycznie logować siÄ™ przy użyciu poÅ›wiadczeÅ„ tokena, po czym mogÄ… bezproblemowo przeglÄ…dać zawartość udostÄ™pnionÄ… temu tokenowi. + +W celu utworzenia tokenów dostÄ™pu goÅ›cia i zarzÄ…dzać nimi, otwórz stronÄ™ ustawieÅ„ "Tokeny dostÄ™pu goÅ›cia". Przy każdym zaÅ‚adowaniu strony generowany jest losowy token, który umożliwia utworzenie specjalnego adresu URL zawierajÄ…cego ten token i opcjonalnie okreÅ›lenie daty wygaÅ›niÄ™cia. IstniejÄ…ce tokeny sÄ… wymienione poniżej okna dialogowego i można je edytować, wybierać lub usuwać. + +Tokenowi goÅ›cia można przyznać dodatkowe uprawnienia, rozszerzajÄ…c opcje "Indywidualnych uprawnieÅ„" i wybierajÄ…c ustawienia prywatnoÅ›ci, takie jak "Może wyÅ›wietlać strumieÅ„ i wpisy mojego kanaÅ‚u" lub "Może rozmawiać ze mnÄ…". + +[url=[baseurl]/help/feature/access_tokens]WiÄ™cej informacji...[/url] + +[img][baseurl]/doc/member/assets/zat_dialog.png[/img] + +[h3]JÄ™zyk znaczników[/h3] +$Projectname obsÅ‚uguje kilka jÄ™zyków znaczników do zaawansowanego formatowania treÅ›ci. DomyÅ›lnym jÄ™zykiem znaczników jest [url=[baseurl]/help/pl/member/bbcode]wÅ‚asny wariant BBcode[/url], dostosowany do użytku w Hubzilli. BBcode jest obsÅ‚ugiwany dla postów, stron wiki i elementów stron internetowych. Strony Wiki i elementy stron internetowych można również pisać przy użyciu standardowego jÄ™zyka Markdown. +[table border=0] +[tr][th]Typ treÅ›ci[/th][th]ObsÅ‚ugiwany jÄ™zyk[/th][/tr] +[tr][td]Post[/td][td][url=[baseurl]/help/pl/member/bbcode]BBcode[/url][/td][/tr] +[tr][td]Wiki[/td][td][url=[baseurl]/help/pl/member/bbcode]BBcode[/url], Markdown[/td][/tr] +[tr][td]Elementy stron WWW[/td][td][url=[baseurl]/help/pl/member/bbcode]BBcode[/url], Markdown, HTML[/td][/tr] +[/table] + +[h3]Tagi i wzmianki[/h3] +Podobnie jak wiele innych platform, $Projectname używa specjalnej notacji wewnÄ…trz wiadomoÅ›ci, aby wskazać "tagi" lub powiÄ…zania kontekstowe z innymi podmiotami. + +[h4][b]Wzmianki[/b][/h4] +KanaÅ‚y (profile) sÄ… oznaczane przez swojÄ… nazwÄ™ poprzedzonÄ… znakiem ed, np. [code]@Jacek[/code]. Jest to wykorzystywane w mechaniźmie wzmianek. + +Kiedy zaczniesz wspominać o kimÅ› w swoim poÅ›cie (wstawiajÄ…c znak @), mechanizm ten utworzy pole z autouzupeÅ‚nianiem, aby można byÅ‚o wybrać z Twoich bezpoÅ›rednich kontaktów okreÅ›lonÄ… osobÄ™ (kanaÅ‚). Możesz wybrać z listy ten kanaÅ‚, który chcesz wzmiankować. + +JeÅ›li wspomniana osoba znajduje siÄ™ na liÅ›cie odbiorców postu, otrzyma powiadomienie o tym znaczniku. + +[h4][b]Wzmianki dostarczania[/b][/h4] + +Znak wykrzyknika ([b]![/b]) oznacza [i]wzmiankÄ™ dostarczania[/i] wstawionÄ… na forum lub specjalnym kanale, która umożliwia rozesÅ‚anie wisu do wielu odbiorców. + +[code] +@Gardening - wzmiankowanie forum Gardening + +!Gardening - wzmiankowanie forum Gardening i równoczesne opublikowanie wpisu w "sieci" Gardening " (np. rozesÅ‚anie wpisu do wszystkich czÅ‚onków tej sieci, jeÅ›li ma siÄ™ na to pozwolenie). +[/code] + +Uwaga: w poprzednich wersjach, format wzmianki dostarczania miaÅ‚ postać [code]@forum+[.code] (plus na koÅ„cu). Ten mechanizm nie jest już obsÅ‚ugiwany. + +[h4][b]Wzmianki prywatnoÅ›ci[/b][/h4] +JeÅ›li chcesz ograniczyć wpis do jednej osoby lub kilku osób, możesz to zrobić, wybierajÄ…c kanaÅ‚y lub grupy prywatnoÅ›ci w narzÄ™dziu do ochrony prywatnoÅ›ci. Możesz także po prostu oznaczyć je tagiem prywatnoÅ›ci. Znacznik prywatnoÅ›ci to nazwa poprzedzona znakami [code]@![/code], co zmienia również uprawnienia prywatnoÅ›ci posta, tak aby zawieraÅ‚y tylko te osoby, którym chcesz dostarczyć post. Można wstawić wiÄ™cej niż jeden tag prywatnoÅ›ci, na przykÅ‚ad tagi [code]@!Bob[/code] i [code]@!Linda[/code] sposowdujÄ… wysÅ‚anie posta tylko do Boba i Lindy. Ten mechanizm zastÄ™puje selektor prywatnoÅ›ci. + +Fora mogÄ… być wzmiankowane w ten sam sposób. Wzmianka [code]!!dogs[/code] bÄ™dzie powodować publikowanie prywatnie na forum "dogs". Forum ponownie dostarczy post do wszystkich czÅ‚onków forum, ale Twoi obserwatorzy nie zobaczÄ… go, chyba że sÄ… również czÅ‚onkami forum "dogs". + +Można także oznaczyć grupy prywatnoÅ›ci, które sÄ… "publiczne". Gdy tworzysz lub edytujesz grupÄ™ prywatnoÅ›ci, jest dostÄ™pne pole wyboru, które umożliwia innym osobom zobaczenie czÅ‚onków grupy. JeÅ›li to pole jest zaznaczone dla grupy i oznaczysz post, na przykÅ‚ad tagiem [code]@!Friends[/code] - zostanie on ograniczony do grupy Friends. Zanim to zrobisz, sprawdź, czy grupa jest publiczna, ponieważ nie ma innego sposobu na wycofanie postu niz jego usuniÄ™cie. Nazwa grupy pojawi siÄ™ w poÅ›cie i powiadomi czÅ‚onków tej grupy, że sÄ… jej czÅ‚onkami. + +[h4][b]Wzmianki a komentarze[/b][/h4] +Powyższe mechanizmy majÄ… zastosowanie tylko do postów "najwyższego poziomu". Wzmianka o kanale z którymkolwiek z powyższych mechanizmów nie ma wpÅ‚ywu na komentarze, poza tym, że wzmiankowany kanaÅ‚ może otrzymać powiadomienie, jeÅ›li byÅ‚ już uwzglÄ™dniony w rozmowie jako odbiorca. + +[h4][b]Tagi tematyczne (hasztagi)[/b][/h4] +[i]Tagi tematyczne[/i], zwane też [i]hasztagami[/i], majÄ… format terminu poprzedzonego znakiem hash ([b]#[/b]). Powoduje to utworzenie w poÅ›cie łącza do ogólnoserwisowego wyszukiwania podanego terminu. Na przykÅ‚ad, [code]#cars[/code] zapewni link do wyszukiwania dla wszystkich postów zawierajÄ…cych sÅ‚owo kluczowe [code]cars[/code] w Twoim serwisie. W tagach tematycznych powinno siÄ™ używać terminów nie krótszych niż trzy znaki. Krótsze terminy wyszukiwania prawdopodobnie nie przyniosÄ… żadnych wyników wyszukiwania, chociaż zależy to od konfiguracji bazy danych. + +Tagi tematyczne zawierajÄ…ce same cyfry nie sÄ… zwykle dozwolone, np. [code]#1[/code]. JeÅ›li chcesz użyć hashtagu numerycznego, dodaj tekst opisowy, np. [code]#2012-wybory[/code] lub umieść caÅ‚y termin w podwójnych cudzysÅ‚owach (na przykÅ‚ad [code]#"2012"[/code]). Podwójne cudzysÅ‚owy sÄ… również wymagane, jeÅ›li termin zawiera spacje ([code]#"My tag[/code]`) i mogÄ… być wymagane, jeÅ›li tag zawiera znaki interpunkcyjne lub znaki diakrytyczne ([code]#"EndsWithPeriod."[/code], [code]#"Exciting!!!"[/code], [code]#"Ósmy pasażer"[/code] itp.). + +[h4][b]ZakÅ‚adki[/b][/h4] +ZakÅ‚adki wskazujÄ… link, który można zapisać w folderze zakÅ‚adek. UżywajÄ… sekwencji [code]#^[/code], po której nastÄ™puje link. CzÄ™sto sÄ… one generowane automatycznie. JeÅ›li zainstalowany jest dodatek "bookmarker", sekwencja ta zostanie przekonwertowana na ikonÄ™ zakÅ‚adki podczas przeglÄ…dania inline postu lub komentarza, a klikniÄ™cie ikony spowoduje zapisanie zakÅ‚adki. JeÅ›li dodatek bookmarker nie jest zainstalowany, można wykorzystać rozwijane menu posta, które zawiera łącze do zapisania zakÅ‚adki lub zakÅ‚adek. + +[h4][b]RÄ™czne wzmiankowanie[/b][/h4] +Na przykÅ‚ad, tag [code]@billy[/code] oznaczy połączenie, którego nazwa lub adres sieciowy to "billy" (dopasowanie dokÅ‚adne). JeÅ›li masz dwa połączenia z nazwÄ… lub adresem sieciowym billy, na przykÅ‚ad [code]billy@server1.hubzilla.org[/code] i [code]billy@server2.hubzilla2.org[/code], bÄ™dziesz musiaÅ‚ podać peÅ‚ny adres, inaczej wyniki bÄ™dÄ… niejednoznaczne i niewÅ‚aÅ›ciwa osoba może zostać oznaczona. + +Tag [code]@"Robert Johnson"[/code] oznaczy Roberta Johnsona. Podwójne cudzysÅ‚owy sÄ… wymagane, jeÅ›li oznaczona nazwa zawiera spacje. + +[h3]Strony internetowe[/h3] + +$Projectname umożliwia czÅ‚onkom i dozwolonym połączeniom tworzenie statycznych stron internetowych. Aby aktywować tÄ™ funkcjÄ™, włącz funkcjÄ™ [b]Strony internetowe[/b] w sekcji [b][url=[baseurl]/settings/features/]Dodatkowe funkcjonalnoÅ›ci[/url][/b]. + +Po włączeniu, na stronie kanaÅ‚u pojawi siÄ™ nowa karta zatytuÅ‚owana "Strony internetowe". KlikniÄ™cie tego linku przeniesie CiÄ™ do edytora stron internetowych. Strony bÄ™dÄ… dostÄ™pne pod adresem [b][baseurl]/page/[observer=1][observer.webname][/observer][observer=0]channelname[/observer]/pagelinktitle[/b] + +Pole "TytuÅ‚ linku do strony" umożliwia okreÅ›lenie tytuÅ‚u linku do strony tego adresu URL. JeÅ›li tytuÅ‚ linku do strony nie jest ustawiony, ustawimy go automatycznie, używajÄ…c identyfikatora wiadomoÅ›ci elementu. + +Pod polem tworzenia strony pojawi siÄ™ lista istniejÄ…cych stron z linkiem "Edytuj". KlikniÄ™cie tego przeniesie CiÄ™ do edytora podobnego do edytora postów, w którym możesz wprowadzać zmiany na swoich stronach internetowych. + +[h4][b]Używanie bloków[/b][/h4] + +Bloki mogÄ… być częściami stron internetowych. Podstawowy kod HTML bloku wyglÄ…da nastÄ™pujÄ…co: +[code] + <div> + Block Content + </div> + +[/code] + +JeÅ›li blok ma zawartość tekstowÄ… (html), może również zawierać elementy menu. Na przykÅ‚ad, zawartość: +[code] + <p>HTML block content</p> + [menu]menuname[/menu] + +[/code] +wytworzy HTML taki jak ten: +[code] + <div> + <p>HTML block content</p> + <div> + <ul> + <li><a href="#">Link 1</a></li> + <li><a href="#">Link 2</a></li> + <li><a href="#">Link 3</a></li> + </ul> + </div> + </div> + +[/code] + +Makro [code]$content[/code] umożliwia osadzenie caÅ‚ej treÅ›ci strony internetowej. W tym celu wystarczy utwórzyć taki blok: +[code] + $content + +[/code] +jako treść. Aby blok pojawiÅ‚ siÄ™ na stronie internetowej, musi być zdefiniowany w ukÅ‚adzie strony wewnÄ…trz regionu. +[code] + [region=aside] + [block]blockname[/block] + [/region] + +[/code] + +WyglÄ…d bloku można zmieniać w ukÅ‚adzie strony. + +W regionie można przypisać wÅ‚asne klasy (css). Ten kod: +[code] + [region=aside] + [block=myclass]blockname[/block] + [/region] + +[/code] +wytworzy taki HTML: +[code] + <div class="myclass"> + Block Content + </div> + +[/code] + +Za pomocÄ… zmiennej [code]wrap[/code] z bloku można usunąć otaczajÄ…ce go znaczniki [code]<div> </div>[/code]. Ten kod: +[code] + [region=aside] + [block][var=wrap]none[/var]blockname[/block] + [/region] + +[/code] +wytworzy taki HTML: +[code] + Treść bloku +[/code] + +[h4][b]NarzÄ™dzie importy elementów strony internetowej[/b][/h4] + +IstniejÄ… dwie metody importowania elementów strony internetowej: przesyÅ‚anie pliku ZIP lub odwoÅ‚ywanie siÄ™ do lokalnego folderu plików w chmurze. Obie metody wymagajÄ… okreÅ›lenia elementów strony sieci internetowej przy użyciu okreÅ›lonej struktury folderów. NarzÄ™dzie importu umożliwia zaimportowanie wszystkich elementów niezbÄ™dnych do zbudowania caÅ‚ej witryny lub zestawu witryn. Celem jest uwzglÄ™dnienie zewnÄ™trznego tworzenia stron internetowych, a także narzÄ™dzi upraszczajÄ…cych i automatyzujÄ…cych wdrażanie w hubie. + +[h5][b] Struktura folderu [/b][/h5] +Definicje elementów muszÄ… być przechowywane w katalogu głównym repozytorium w folderach o nazwie odpowiadajÄ…cej typowi elementu: +[code] + /pages/ + /blocks/ + /layouts/ +[/code] + +Każdy element tych typów musi być zdefiniowany w osobnym podfolderze przy użyciu dwóch plików: jednego w formacie JSON dla metadanych i drugiego w zwykÅ‚ym formacie testowym dla zawartoÅ›ci elementu. + +[h5][b] Elementy strony [/b][/h5] +Metadane elementu strony sÄ… zdefiniowane w pliku w formacie JSON o nazwie [code]strona.json[/code] z nastÄ™pujÄ…cymi wÅ‚aÅ›ciwoÅ›ciami: +[list] +[*] title +[*] pagelink +[*] mimetype +[*] layout +[*] contentfile +[/list] +[b]PrzykÅ‚ad[/b] + +Pliki: +[code] + /pages/my-page/page.json + /pages/my-page/my-page.bbcode +[/code] +Treść [code]page.json[/code]: +[code] + { + "title": "My Page", + "pagelink": "mypage", + "mimetype": "text/bbcode", + "layout": "my-layout", + "contentfile": "my-page.bbcode" + } +[/code] +[h5][b] Elementy ukÅ‚adu [/b][/h5] + +Metadane elementu ukÅ‚adu sÄ… zdefiniowane w pliku w formacie JSON o nazwie [code]layout.json[/code] z nastÄ™pujÄ…cymi wÅ‚aÅ›ciwoÅ›ciami: +[list] +[*] name +[*] description +[*] contentfile +[/list] +[b]PrzykÅ‚ad[/b] + +Pliki: +[code] + /layouts/my-layout/layout.json + /layouts/my-layout/my-layout.bbcode +[/code] +Treść [code]layout.json[/code]: +[code] + { + "name": "my-layout", + "description": "Layout for my project page", + "contentfile": "my-layout.bbcode" + } +[/code] + +[h5][b] Elementy bloku [/b][/h5] + +Metadane elementu bloku sÄ… okreÅ›lone w pliku w formacie JSON o nazwie [code]block.json[/code] z nastÄ™pujÄ…cymi wÅ‚aÅ›ciwoÅ›ciami: +[list] +[*] name +[*] title +[*] mimetype +[*] contentfile +[/list] +[b]PrzykÅ‚ad[/b] + +Pliki: +[code] + /blocks/my-block/block.json + /blocks/my-block/my-block.html +[/code] +Treść [code]block.json[/code]: + +[code] + { + "name": "my-block", + "title": "", + "mimetype": "text/html", + "contentfile": "my-block.html" + } +[/code] + +[h3]JÄ™zyk opisu stron Comanche[/h3] + +Comanche to jÄ™zyk znaczników podobny do [url=[baseurl]/help/member/bbcode]BBcode[/url], za pomocÄ… którego można tworzyć rozbudowane i zÅ‚ożone strony internetowe, łączÄ…c je z szeregu komponentów - z których niektóre sÄ… już wstÄ™pnie zbudowane i inne, które można skonstruować w locie. Comanche używa wÅ‚asnego jÄ™zyka opisu strony do tworzenia tych stron. + +Comanche przede wszystkim wybiera, jakie treÅ›ci pojawiÄ… siÄ™ w różnych [b]regionach[/b] strony. Regiony majÄ… swoje nazwy, które mogÄ… siÄ™ zmieniać w zależnoÅ›ci od wybranego szablonu ukÅ‚adu. + +[h4][b]Szablony strony[/b][/h4] +Obecnie dostÄ™pnych jest pięć szablonów ukÅ‚adów, ale w serwisie można udostÄ™pniać dodatkowe, wÅ‚asne ukÅ‚ady. + +[dl terms="b"] +[*= default] +DomyÅ›lny szablon zawiera definicjÄ™ regionu "nav" znajdujÄ…cego siÄ™ u góry, "aside" jako pasek boczny o staÅ‚ej szerokoÅ›ci, +"content" dla głównego regionu treÅ›ci i "footer" dla stopki strony. + +[*= full] +PeÅ‚ny szablon definiuje to samo, co szablon "default", z tÄ… różnicÄ…, że nie ma regionu "aside". + +[*= choklet] +Szablon "choklet" zapewnia kilka pÅ‚ynnych ukÅ‚adów, które można wybierać wedÅ‚ug odmiany: +[list] +[*] (domyÅ›lna odmiana) - ukÅ‚ad dwukolumnowy, podobny do szaablonu "default", ale jest bardziej pÅ‚ynny +[*] bannertwo - ukÅ‚ad dwukolumnowy z regionem "banner", zgodny z szablonem "default" na maÅ‚ych wyÅ›wietlaczach +[*] three - ukÅ‚ad trzykolumnowy (dodany region "right_aside" do szablonu domyÅ›lnego) +[*] edgestwo - ukÅ‚ad dwukolumnowy ze staÅ‚ymi marginesami bocznymi +[*] edgesthree - ukÅ‚ad trzykolumnowy ze staÅ‚ymi marginesami bocznymi +[*] full - ukÅ‚ad trzykolumnowy ze staÅ‚ymi marginesami bocznymi i dodanym obszarem "header" poniżej paska nawigacji +[/list] + +[*= redable] +Szablon do czytania dÅ‚uższych tekstów na peÅ‚nym ekranie (czyli bez paska nawigacyjnego). Trzy kolumny: "aside", "content" i "right_aside". +Aby zapewnić maksymalnÄ… czytelność, zaleca siÄ™ używanie tylko Å›rodkowej kolumny treÅ›ci. + +[*= zen] +Daje swobodÄ™ robienia wszystkiego samemu. Tylko pusta strona z obszarem zawartoÅ›ci. +[/dl] + +Aby wybrać szablon ukÅ‚adu, trzeba użyć tagu "template". + +[code] + [template]full[/template] + +[/code] + +Wybranie szablonu "choklet" z odmianÄ… "three": + +[code] + [template=three]choklet[/template] + +[/code] + +JeÅ›li nie okreÅ›lono innego szablonu, zostanie użyty szablon domyÅ›lny. W szablonie można używać dowolnych nazw dla regionów zawartoÅ›ci. Używa sie też tagów "region", aby zdecydować, jakie treÅ›ci umieÅ›cić w odpowiednich regionach. + +Zadefiniowane sÄ… też trzy "makra", które można użyć na stronie. +[code] + $htmlhead - wstawia zawartość nagłówka strony. + $nav - wstawia zawartość paska nawigacji. + $content - wstawia głównÄ… treść strony. + +[/code] + +DomyÅ›lnie, makro $nav jest umieszczane w regionie "nav" strony a $content w regionie "content". Tych makr potrzebujesz tylko wtedy, gdy chcesz zmienić rozmieszczenie tych elementów, aby zmienić kolejność lub przenieść je do innych regionów. + +Aby wybrać motyw dla swojej strony, użyj tagu "theme". +[code] + [theme]suckerberg[/theme] + +[/code] +Spowoduje to wybranie motywu o nazwie "suckerberg". DomyÅ›lnie używany jest preferowany motyw Twojego kanaÅ‚u. + +[code] + [theme=passion]suckerberg[/theme] + +[/code] +Spowoduje to wybranie motywu o nazwie "suckerberg" oraz wybór schematu "passion" (wariant motywu). Alternatywnie można użyć do tego zwiÄ™zÅ‚ej notacji motywu. + +[code] + [theme]suckerberg:passion[/theme] + +[/code] + +Notacja zwiÄ™zÅ‚a nie jest częściÄ… samego Comanche, ale jest rozpoznawana przez platformÄ™ $Projectname jako specyfikator motywu. + +[h4][b]Pasek nawigacji[/b][/h4] + +[code] + [navbar]tucson[/navbar] +[/code] + +Kod ten powoduje użycie szablonu paska nawigacyjnego "tucson" i reguÅ‚ CSS. DomyÅ›lnie stosowany jest szablon domyÅ›lny szablon paska nawigacyjnego. + +[h4][b]Regiony[/b][/h4] +Tak jak wspomniano wyżej, każdy region swojÄ… nazwÄ™. Wybrany eegion okreÅ›la używajÄ…c tagu "region", który zawiera nazwÄ™. Wszelkie treÅ›ci, które chcesz umieÅ›cić w tym regionie, powinny być umieszczone miÄ™dzy tagiem otwierajÄ…cego a zamykajÄ…cym. + +[code] + [region=htmlhead]....tutaj jest treść....[/region] + [region=aside]....tutaj jest treść....[/region] + [region=nav]....tutaj jest treść....[/region] + [region=content]....tutaj jest treść....[/region] + +[/code] + +[h4][b]CSS i Javascript[/b][/h4] +Jest możliwość włączenia bibliotek JavaScript i CSS w regionie "htmlhead". Obecnie korzystamy z bibliotek jQuery (JS), Bootstrap (CSS i JS) oraz Foundation (CSS i JS). +Ten kod spowoduje nadpisanie regionu htmlhead wybranego motywu. + +[code] + [region=htmlhead] + [css]bootstrap[/css] + [js]jquery[/js] + [js]bootstrap[/js] + [/region] + +[/code] + +[h4][b]Elementy menu i bloki[/b][/h4] +NarzÄ™dzia do tworzenia stron internetowych umożliwiajÄ… również tworzenie eleentów menu i bloków. DostarczajÄ… one fragment kodu, który można umieÅ›cić w dowolnych regionach i w dowolnej kolejnoÅ›ci. Każdy z takich fragmentów ma nazwÄ™, którÄ… definiuje siÄ™ podczas tworzenia elementów menu lub bloku. + +Ten kod: +[code] + [menu]mymenu[/menu] + +[/code] +spowoduje umieszczenie w tym miejscu menu o nazwie "mymenuâ€, ale miejsce to musi siÄ™ ono znajdować wewnÄ…trz regionu. + +Kod: +[code] + [menu=horizontal]mymenu[/menu] + +[/code] +spowoduje umieszczenie w tym miejscu menu o nazwie "mymenu", ale musi siÄ™ ono znajdować które musi znajdować wewnÄ…trz regionu. Dodatkowo zastosowano tu do menu klasÄ™ "horizontal". Klasa "horizontal" jest zdefiniowana w motwie "redbasic". Może być dostÄ™pna lub nie w innych motywach. + +W tym bloku: +[code] + [menu][var=wrap]none[/var]mymenu[/menu] + +[/code] +zmienna [code][var=wrap]none[/var][/code] usuwa z menu element [code]div[/code]. + +Ten kod: +[code] + [block]contributors[/block] +[/code] +umieszcza blok o nazwie "contributors" w regionie, w którym zostaÅ‚ wstawiony. + +Kod: +[code] + [block=someclass]contributors[/block] + +[/code] +też umieszcza blok o nazwie "contributors" w tym regionie, ale dodatkowo stosuje dla tego bloku klasÄ™ "someclass". Zamienia to domyÅ›lnÄ… klasÄ™ bloku "bblock widget". + +W bloku: +[code] + [block][var=wrap]none[/var]contributors[/block] + +[/code] +zmienna [code][var=wrap]none[/var][/code] usuwa z bloku opakowujÄ…cy go element [code]div[/code]. + +[h4][b]Widżety[/b][/h4] +Widżety to wykonywalne aplikacje dostarczane przez system, które można umieÅ›cić na swojej stronie. Niektóre widżety przyjmujÄ… argumenty, które pozwalajÄ… dostosować widżet do wÅ‚asnych potrzeb. Widżety systemowe sÄ… wymienione [url=help/Widgets]tutaj[/url]. Widżety mogÄ… być również tworzone w ramach wtyczek, motywów lub przez administratora witryny, aby zapewnić dodatkowe funkcje. + +Widżety i ich argumenty sÄ… okreÅ›lane za pomocÄ… tagów "widget" i "var". +[code] + [widget=recent_visitors][var=count]24[/var][/widget] + +[/code] + +Spowoduje to zaÅ‚adowanie widżetu „latest_visitors” i dostarcza mu argument "count" ustawiony na „24â€. + +[h4][b]Komentarze[/b][/h4] +Tag "comment" jest używany do wydzielenia komentarzy. Komentarze te nie pojawiÄ… siÄ™ na renderowanej stronie. + +[code] + [comment]This is a comment[/comment] + +[/code] + +[h4][b]Wykonanie warunkowe[/b][/h4] +Można użyć konstrukcji [code]if[/code] warunkowego wykonania kodu. Jest to obecnie oparte na zmiennej konfiguracji systemu [code]$config.system[/code] lub zmiennej [code]$observer[/code]. + +[code] + [if $config.system.foo] + ... zmienna konfiguracyjna system.foo przyjmuje wartość 'true'. + [else] + ... zmienna konfiguracyjna system.foo przyjmuje wartość 'false'. + [/if] + + [if $observer] + ... ta treść bÄ™dzie pokazywana tylko uwierzytelnionym użytownikom + [/if] + +[/code] + + Klauzula 'else' jest opcjonalna. + + Oprócz oceny logicznej obsÅ‚ugiwanych jest też kilka testów. + +[code] + [if $config.system.foo == bar] + ... zmienna konfiguracyjne system.foo jest równa Å‚aÅ„cuchowi 'bar' + [/if] + [if $config.system.foo != bar] + ... zmienna konfiguracyjne system.foo nie jest równa Å‚aÅ„cuchowi 'bar' + [/if] + [if $config.system.foo {} bar ] + ... zmienna konfiguracyjna system.foo jest prostÄ… tablicÄ… zawierajÄ…cÄ… zmiennÄ… 'bar' + [/if] + [if $config.system.foo {*} bar] + ... zmienna konfiguracyjna system.foo jest prostÄ… tablicÄ… zawierajÄ…cÄ… klucz o nazwie 'bar' + [/if] +[/code] + +[h4][b]ZÅ‚ożony przykÅ‚ad[/b][/h4] +[code] + [comment]użyj istniejÄ…cy szablon strony, który zawiera obszar banera oraz 3 kolumny poniżej[/comment] + + [template]3-column-with-header[/template] + + [comment]Użyj motyw "darknight"[/comment] + + [theme]darkknight[/theme] + + [comment]Użyj istniejÄ…ce menu nawigacyjne strony[/comment] + + [region=nav]$nav[/region] + + [region=side] + + [comment]Użyj wybranego przeze mnie menu i kilku widżetów[/comment] + + [menu]myfavouritemenu[/menu] + + [widget=recent_visitors] + [var=count]24[/var] + [var=names_only]1[/var] + [/widget] + + [widget=tagcloud][/widget] + [block]donate[/block] + + [/region] + + + + [region=middle] + + [comment]Pokaż normalnÄ… zawartość strony[/comment] + + $content + + [/region] + + + + [region=right] + + [comment]Pokaż mój skondensowany kanaÅ‚ RSS "wal" i zezwól na interakcjÄ™, jeÅ›li obserwator ma możliwość interakcji[/comment] + + [widget]channel[/widget] + + [/region] + +[/code] + + +[h3]Osobisty magazyn w chmurze[/h3] + +$Projectname umożliwia prywatne przechowywanie i udostÄ™pnianie znajomym dowolnych plików. Możesz przesÅ‚ać pliki ze swojego komputera do obszaru przechowywania lub skopiować je bezpoÅ›rednio z systemu operacyjnego przy użyciu protokoÅ‚u WebDAV. + +Funkcjonuje to podobnie do usÅ‚ug "chmurowych", takich jak [i]Dopbox[/i], [i]Dysk[/i] Google czy [i]One Drive[/i] Microsoftu. + +Na wielu serwerach publicznych mogÄ… obowiÄ…zywać ograniczenia dotyczÄ…ce przydzielonej powierzchni dyskowej. + +[h4][b]Załączniki plikowe[/b][/h4] + +Najszybszym i najÅ‚atwiejszym sposobem udostÄ™pniania plików sÄ… załączniki. W rzÄ™dzie ikon poniżej edytora statusu znajduje siÄ™ narzÄ™dzie do przesyÅ‚ania załączników. Kliknij narzÄ™dzie, wybierz plik i przeÅ›lij. Po zaÅ‚adowaniu pliku zobaczysz kod załącznika umieszczony w obszarze tekstowym. Nie edytuj tego kodu, ponieważ może to uniemożliwić Ci udostÄ™pnienie tego pliku znajomym. Możesz użyć okna dialogowego uprawnieÅ„ do publikowania lub hasztagów prywatnoÅ›ci, aby ograniczyć widoczność pliku - który zostanie ustawiony zgodnie z uprawnieniami wysyÅ‚anego postu. + +Aby usunąć załączniki lub zmienić uprawnienia do przechowywanych plików, odwiedź [observer=1][baseurl]/cloud/[observer.webname][/observer][observer=0][baseurl]/cloud/username, zastÄ™pujÄ…c [code]username[/code] pseudonimem, jaki podaÅ‚eÅ› podczas tworzenia kanaÅ‚u[/observer]. + +[h4][b]DostÄ™p internetowy[/b][/h4] + +Twoje pliki sÄ… widoczne w sieci pod adresem [observer=1][baseurl]/cloud/[observer.webname][/observer][observer=0][baseurl]/cloud/username[/observer] dla każdego, kto ma uprawnienia do ich przeglÄ…dania. JeÅ›li przeglÄ…dajÄ…cy ma wystarczajÄ…ce uprawnienia, może mieć również możliwość tworzenia nowych plików i folderów (katalogów) w interfejsie przeglÄ…darki. DostÄ™p internetowy powinnien być używane tylko w przypadku mniejszych plików i zdjęć (do kilku megabajtów), ponieważ wykorzystuje pamięć wewnÄ™trznÄ…. W przypadku wiÄ™kszych plików (filmy, muzyka itp.) przesyÅ‚aj je za pomocÄ… protokoÅ‚u WebDAV, cojest omówione w nastÄ™pnym rozdziale. Takie pliki bÄ™dzie można nadal pobierać za poÅ›rednictwem dostÄ™pu internetowego. + +[h4][b]DostÄ™p WebDAV[/b][/h4] + +WebDAV umożliwia kopiowanie plików bezpoÅ›rednio do lub z systemu operacyjnego komputera, gdzie Twój "magazyn chmurze" pojawia siÄ™ jako wirtualny dysk. DostÄ™p ten powinien być używany do przesyÅ‚ania dużych plików, takich jak wideo i audio, ponieważ nie jest ograniczony dostÄ™pnÄ… pamiÄ™ciÄ… wewnÄ™trzna. Zobacz [zrl=help/member/member_guide#Cloud_Desktop_Clients]Cloud Desktop Clients[/zrl] poniżej. + +[h4][b]DostÄ™p CalDAV i CardDAV na Androidzie[/b][/h4] + +Możesz zsynchronizować swój kalendarz i kontakty w systemie Android ze swoim hubem. + +Poniższe kroki zostaÅ‚y przetestowane pod kÄ…tem zasosowania [url=https://f-droid.org/en/packages/at.bitfire.davdroid/] DAVdroid [/url]: + +[list] +[*] zainstaluj DAVdroid +[*] dodaj konto +[*] użyj "URL" i "user name" do zalogowania siÄ™ +[list] +[*] podstawowy URL to [baseurl]/cdav +[*] Twoja nazwa użytkowka to [observer=1][observer.webname][/observer][observer=0]username[/observer] +[/list] +[/list] + +Aby udostÄ™pnić kalendarz odwiedź [observer.baseurl]/cdav/calendar + +[h4][b]Uprawnienia[/b][/h4] + +W przypadku korzystania z protokoÅ‚u WebDAV plik jest tworzony z domyÅ›lnymi uprawnieniami do plików kanaÅ‚u, których nie można zmienić z poziomu systemu operacyjnego. Może też nie być to tak restrykcyjne, jak byÅ› chciaÅ‚. Najlepiej, utwórz foldery (katalogi), nastÄ™pnie odwiedź swojÄ… "chmurÄ™" pod aadresem [observer=1][baseurl]/cloud/[observer.webname][/observer][observer=0][baseurl]/cloud/username[/observer], wybierz katalog i zmieÅ„ uprawnienia. Zrób to zanim umieÅ›cisz cokolwiek w katalogu. Uprawnienia do katalogu majÄ… pierwszeÅ„stwo, wiÄ™c możesz nastÄ™pnie umieÅ›cić pliki lub inne foldery w tym kontenerze i bÄ™dÄ… one chronione przed niechcianymi widzami przez ustawienie uprawnienia do katalogu. CzÄ™sto zdarza siÄ™, że użytkownicy tworzÄ… folder "osobisty" lub "prywatny", który jest ograniczony do nich samych. Możesz używać tego jako osobistej chmury do przechowywania wszystkiego z dowolnego miejsca w Internecie lub dowolnego komputera i jest to chroniony przed innymi. Możesz także utworzyć foldery dla "rodziny" lub "przyjaciele" za zgodÄ… udzielonÄ… odpowiednim grupom prywatnoÅ›ci. + +[h3]Klienty desktopowe dla chmury[/h3] + +[h4][b]Klienty dla Windows[/b][/h4] + +W Windows 7 poÅ‚aczenie WebDAV można nawiÄ…zać przy użyciu kreatora z graficznym interfejsem: +1. Kliknij lewym przyciskiem myszy na przycisk "Start", aby otworzyc menu "Start". +2. Kliknij prawym przyciskiem myszy na ikone "Mój komputer", aby uzyskac dostÄ™p do tego menu. +3. Kliknij lewym przysiskiem myszy na link "Mapuj dysk sieciowy...", aby otworzyć okno dialogowe kreatora połączeÅ„. +4. Wpisz '[baseurl]/dav/nickname' w polu tekstowym (zamieniajÄ…c 'nickname' na pseudonim swojego kanaÅ‚u) i kliknij przycisk "Gotowe". +5. Wpisz pseudonim kanaÅ‚u $Projectname. WAÅ»NE - bez znaku @ lub nazwy domeny +6. Wpisz swoje hasÅ‚o $Projectname + +[h4][b]Klienty dla Linux[/b][/h4] + +[h5][b]Montowanie katalogu w systemie plików[/b][/h5] + +Aby zainstalować katalog w chmurze jako system plików, musisz najpierw zainstalować davfs2. Dla wiÄ™kszoÅ›ci dystrybucji program ten jest dostÄ™pny w repozytoriach. Instalacja w Debianie: + +[code]sudo apt-get install davfs2[/code] + +NastÄ™pnie skonfiguruj davfs2: + +[code]sudo dpkg-reconfigure davfs2[/code] + +i wybierz "yes" przy zapytaniu. + +Teraz musisz dodać użytkownika, który ma mieć możliwość montowania dav, do grupy davfs2: + +[code]sudo usermod -aG davfs2 <DesktopUser>[/code] + +[b]Note:[/b] w niektórych systemach grupa użytkowników może być inna, +np. "network" w Arch Linux. W razie wÄ…tpliwoÅ›ci sprawdź dokumentacjÄ™ +davfs dla swojego konkretnego systemu operacyjnego. + +Edytuj /etc/fstab: + +[code]nano /etc/fstab[/code] + +aby uwzglÄ™dnić katalog w chmurze, dodajÄ…c: + +[code] +[baseurl]/dav/ /mount/point davfs user,noauto,uid=<DesktopUser>,file_mode=600,dir_mode=700 0 1 +[/code] + +gdzie [baseurl] jest adresem URL huba, /mount/point to lokalizacja, w której chcesz zamontować chmurÄ™, a <DesktopUser> to użytkownik, którego logujesz siÄ™ na swoim komputerze. Miej na uwadze, że jeÅ›li montujesz jako zwykÅ‚y użytkownik (nie root), punkt montowania musi znajdować siÄ™ w twoim katalogu domowym. + +Na przykÅ‚ad, jeÅ›li chciaÅ‚byÅ› zamontować swojÄ… chmurÄ™ w katalogu o nazwie 'cloud' w swoim katalogu domowym, a Twoja nazwa użytkownika to 'bob', zapis w fstab bÄ™dzie nastÄ™pujÄ…cy: + +[code][baseurl]/dav/ /home/bob/cloud davfs user,noauto,uid=bob,file_mode=600,dir_mode=700 0 1[/code] + +Teraz utówrz punkt montowania: + +[code]mkdir /home/bob/cloud[/code] + +oraz utwórz plik katalogu do przechowywania danych uwierzytelniania: + +[code]mkdir /home/bob/.davfs2[/code] + +Utwórz plik o nazwie 'secrets' + +[code]nano /home/bob/.davfs2/secrets[/code] + +i dodaj tam swoje dane uwierzytelniania w chmurze + +[code] +[baseurl]/dav <username> <password> +[/code] + +gdzie <username> i <password> to nazwa użytkownika i hasÅ‚o [i]na Twoim kanale w hubie[/i]. + +Nie pozwól, aby ten plik mógÅ‚ być zapisywany przez kogoÅ› nieupoważnionego: + +[code]chmod 600 /home/bob/.davfs2/secrets[/code] + +Na koniec, zamontuj dysk: + +[code]mount [baseurl]/dav[/code] + +Możesz teraz znaleźć swojÄ… chmurÄ™ w /home/bob/cloud i używać jej tak, jakby byÅ‚a częściÄ… lokalnego systemu plików - nawet jeÅ›li aplikacje, których używasz, same nie obsÅ‚ugujÄ… dav. + +[b]RozwiÄ…zywanie problemów[/b] + +W przypadku niektórych serwerów WWW i pewnych konfiguracji może siÄ™ okazać, że davfs2 tworzy pliki o rozmiarze pliku 0 bajtów, podczas gdy inni klienty dziaÅ‚ajÄ… dobrze. Zwykle jest to spowodowane pamiÄ™ciÄ… podrÄ™cznÄ… i blokadami. JeÅ›li wystÄ™puje ten problem, musisz edytować konfiguracjÄ™ davfs2. + +[code]sudo nano /etc/davfs2/davfs2.conf[/code] + +Twoja dystrybucja dostarczy przykÅ‚adowÄ… konfiguracjÄ™ i ten plik powinien już istnieć, jednak wiÄ™kszość jego treÅ›ci jest zakomentowana znakiem # na poczÄ…tku wiersza. + +Pierwszym krokiem jest usuniÄ™cie blokad. + +Edytuj wiersz use_locks, tak aby odczytywaÅ‚ [code]use_locks 0[/code]. + +Odłącz system plików, podłącz go ponownie i spróbuj skopiować plik z wiersza poleceÅ„. Zauważ, że powinieneÅ› skopiować nowy plik a nie nadpisywać starego. który zostaÅ‚ utwozony na potrzeby tego testu. Poczekaj minutÄ™ lub dwie, a nastÄ™pnie wykonaj polecenie [code]ls -l -h[/code] i sprawdź, czy rozmiar nowego pliku jest nadal wiÄ™kszy niż 0 bajtów. JeÅ›li tak, zatrzymaj siÄ™ na tym i nie rób nic wiÄ™cej. + +JeÅ›li to nadal nie zadziaÅ‚a, wyłącz pamięć podrÄ™cznÄ…. PamiÄ™taj, że ma to wpÅ‚yw na wydajność, wiÄ™c należy to robić tylko wtedy, gdy wyłączenie blokad nie rozwiÄ…zaÅ‚o problemu. Edytuj cache_size i ustaw jÄ… na [code]cache_size 0[/code], a także ustaw file_refresh na [code]file_refresh 0[/code]. Odmontuj system plików, ponownie go podłącz i przetestuj ponownie. + +JeÅ›li [i]nadal[/i] to nie dziaÅ‚a, jest jeszcze jedna rzecz, której możesz spróbować. (Ten jest spowodowany błędem w starszych wersjach samego dav2fs, wiÄ™c aktualizacja do nowej wersji może również pomóc). Włącz sÅ‚abe usuwanie etagów, ustawiajÄ…c [code]drop_weak_etags 1[]/code. Odmontuj i ponownie podłącz swój system plików, aby zastosować zmiany. + +[h5][b]Dolphin[/b][/h5] +Dolphin Browser to przeglÄ…darka internetowa dla Android i iOS. Odwiedź w niej [code]webdavs://example.com/dav[/code], gdzie [code]example.com[/code] to URL do Twojego huba. + +Gdy zostaniesz poproszony o podanie nazwy użytkownika i hasÅ‚a, wprowadź nazwÄ™ swojego kanaÅ‚u (pierwszÄ… część swojej strony internetowej - bez znaku @ i nazwy domeny) i hasÅ‚o do swojego normalnego konta. + +PamiÄ™taj, że jeÅ›li jesteÅ› już zalogowany do interfejsu WWW przez Konqueror, nie zostaniesz poproszony o dalsze uwierzytelnianie. + +[h5][b]Konqueror[/b][/h5] +Konqueror to przeglÄ…darka internetowa, meadżer plików i przeglÄ…darka dokumentów dla Å›rodowiska KDE. Wystarczy odwiedzić w niej serwis [code]webdavs://example.com/dav[/code] po zalogowaniu siÄ™ do swojego huba, gdzie [code]example.com[/code] to adres URL huba. + +JeÅ›li jesteÅ› zalogowany do swojego huba w normalny sposób, nie jest wymagane dalsze uwierzytelnianie. + +Ponadto, jeÅ›li ktoÅ› uwierzytelniÅ‚ siÄ™ w innym hubie podczas normalnej sesji przeglÄ…darki, Twoja tożsamość zostanie również przekazana do chmury dla tych hubów - co oznacza, że możesz uzyskać dostÄ™p do wszelkich prywatnych plików na dowolnym serwerze, o ile masz uprawnienia do ich przeglÄ…dania, pod warunkiem, że odwiedziÅ‚eÅ› tÄ™ witrynÄ™ wczeÅ›niej podczas sesji. + +Ta funkcja jest zwykle ograniczona do interfejsu sieciowego i nie jest dostÄ™pna dla żadnego innego Å›rodowiska graficznego niż KDE. + +[h5][b]Nautilus[/b][/h5] + +Nautilus to popularny menadżer plików dla Å›rodowiska GNOME. JeÅ›li sie niÄ… posÅ‚ugujesz: + +1. Otwórz okno przeglÄ…darki plików; +2. Wybierz z menu opcjÄ™ Plik > Połącz z serwerem...; +3. Wpisz davs://<domain_name>/dav/<your_channelname> i kliknij Połącz; +4. Zostaniesz poproszony o podanie nazwy kanaÅ‚u (tak samo jak poprzednio) i hasÅ‚o; +5. Twój osobisty katalog DAV zostanie udostęþniony w oknie przeglÄ…darki. + +[h5][b]Nemo[/b][/h5] + +Pierwszy sposób: + +wpisz w pasku adresowym "davs://<domain_name>/dav/<your_channelname>". + +Drugi sposób: + +1) Menu > Plik > Połącz z serwerem... +2) WypeÅ‚nij okna w formatce dialogowej: +- Sewer: hubzilla_domain_name +- Typ: Secure WebDAV (https) +- Folder: /dav +- Nazwa użytkownika: twoja_nazwa_kanaÅ‚u +- HasÅ‚o: twoje_hasÅ‚o + +Po otwarciu możesz ustawić zakÅ‚adkÄ™. + +[h5][b]Uwagi dotyczÄ…ce serwera[/b][/h5] + +ZgÅ‚oszono problemy z klientami używajÄ…cymi "chunked transfer encoding", które obejmuje usÅ‚ugi Apple iOS, a także narzÄ™dzia "AnyClient" i "CyberDuck". DziaÅ‚ajÄ… one dobrze w przypadku pobierania, ale przesyÅ‚anie czÄ™sto koÅ„czy siÄ™ plikami o zerowym rozmiarze. Jest to spowodowane nieprawidÅ‚owÄ… implementacjÄ… kodowania fragmentarycznego w niektórych obecnych implementacjach FCGI (fast-cgi). Apache dziaÅ‚ajÄ…cy z PHP jako moduÅ‚em nie ma tych problemów, ale podczas pracy pod FCGI może być konieczne użycie alternatywnych klientów lub użycie programu do przesyÅ‚ania internetowego. W chwili pisania tego artykuÅ‚u problem byÅ‚ otwarty i nie udostÄ™pniono żadnych aktualizacji przez co najmniej rok. JeÅ›li napotkasz pliki o rozmiarze zerowym z innymi klientami, zapoznaj siÄ™ z uwagami klienta; ponieważ czasami wystÄ™pujÄ… problemy z konfiguracjÄ…, które również mogÄ… powodować te objawy. + +[h3]Zapisane wyszukiwania[/h3] + +W celu szybkiego wyszukania informacji można skorzystać z widżetu "saved search". Ten widżet może być prezentowany jako narzÄ™dzie paska bocznego na Twojej stronie internetowej i prawdopodobnie na stronie Twojego kanaÅ‚u. Różni siÄ™ od narzÄ™dzia wyszukiwania "paska nawigacji" tym, że nie przeszukuje caÅ‚ej witryny, a jedynie podzbiór informacji dostÄ™pnych na Twoim kanale. + +Ponadto podane przez Ciebie frazy wyszukiwania mogÄ… aktywować jednorazowe wyszukiwanie lub zostać zapisane na liÅ›cie do ponownego wykorzystania. Zapisanie elementu wyszukiwania wywoÅ‚uje również przeszukiwanie, oprócz dodania go do zapisanej listy (która jest wyÅ›wietlana poniżej pola wprowadzania tekstu wyszukiwania). Każdy element na liÅ›cie może zostać odrzucony, jeÅ›li nie jest już potrzebny. + +Zapisany widżet wyszukiwania zapewni automatyczne uzupeÅ‚nianie kanałów (wyniki sÄ… poprzedzone znakiem @) i hashtagami (poprzedzonymi znakiem #). Nie trzeba wprowadzać tych tagów; chociaż wprowadzenie żądanego tagu zmniejszy wyniki autouzupeÅ‚niania, aby zawieraÅ‚y tylko istotne informacje. Zachowanie odwzorowuje siÄ™ nastÄ™pujÄ…co: + +[list] +[*]@name - przeszukuje strumienia sieci w poszukiwaniu postów lub komentarzy napisanych przez 'name'. Spowoduje to również zmianÄ™ uprawnieÅ„ edytora postów, aby zawieraÅ‚y tylko 'name'; jakby to byÅ‚a grupa prywatnoÅ›ci. +[*]#hashtag - przeszukauje strumieÅ„ sieci w poszukiwaniu postów zawierajÄ…cych #hashtag. +[*]text - przeszukaj strumieÅ„ sieci w poszukiwaniu postów zawierajÄ…cych 'text'. +[/list] + + +[h3]UsuniÄ™cie kanaÅ‚u lub konta[/h3] + +[h4][b]Usuniecie kanaÅ‚u[/b][/h4] + +Wybierz link 'UsuÅ„ kanaÅ‚' na stronie ustawieÅ„ kanaÅ‚u lub odwiedź URL [baseurl]/removeme. + +BÄ™dziesz musiaÅ‚ potwierdzić swoje hasÅ‚o i kanaÅ‚, na którym jesteÅ› obecnie zalogowany, zostanie usuniÄ™ty. + +[hl][i][b]To jest nieodwracalne.[/b][/i][/hl] + +JeÅ›li masz klony tożsamoÅ›ci na innych hubach, nie zostanÄ… one usuniete. Operacja ta spowoduje tylko usuniÄ™cie tej instancji kanaÅ‚u, która istnieje w hubie, na którym dokonujesz usuniÄ™cia kanaÅ‚u. + +[h4][b]Usuniecie konta[/b][/h4] + +Wybierz link 'UsuÅ„ konto' widoczny na stronie ustawieÅ„ konta lub odwiedź URL: [baseurl]/removeaccount + +BÄ™dziesz musiaÅ‚ potwierdzić swoje hasÅ‚o i konto, na którym jesteÅ› obecnie zalogowany, zostanie usuniÄ™te. + +[hl][i][b]To jest nieodwracalne.[/b][/i][/hl] + +Wszystkie Twoje kanaÅ‚y zostanÄ… usuniÄ™te. JeÅ›li masz klony tożsamoÅ›ci na innych hubach - nie zostanÄ… one usuniete. Operacja ta powoduje tylko usuniÄ™cie instancji kanałów, które istniejÄ… hubie, na którym dokonujesz tÄ… operacjÄ™. + diff --git a/doc/pl/toc.html b/doc/pl/toc.html new file mode 100644 index 000000000..cadc5676a --- /dev/null +++ b/doc/pl/toc.html @@ -0,0 +1,75 @@ +<div class="" id="accordion"> + <div class=""> + <div class=""> + <h3 class="panel-title"> + Poradniki + </h3> + </div> + <div id="tutorials" class="doco-section"> + <div class="flex-column"> + <a class="nav-link" href="/help/tutorials/personal_channel">Osobisty kanaÅ‚</a> + </div> + </div> + </div> + <div class=""> + <div class=""> + <h3 class="panel-title"> + Dla czÅ‚onków + </h3> + </div> + <div id="members" class="doco-section"> + <div class="flex-column"> + <a class="nav-link" href="/help/member/member_guide">Przewodnik</a> + <a class="nav-link" href="/help/member/bbcode">Informator o BBcode</a> + <a class="nav-link" href="/help/feature/additional/overview">Dodatkowe możliwoÅ›ci</a> + <a class="nav-link" href="/help/bugs">ZgÅ‚aszanie błędów</a> + <a class="nav-link" href="/help/member/member_faq">FAQ</a> + </div> + </div> + </div> + <div class="panel"> + <div class=""> + <h3 class="panel-title"> + Dla administratorów + </h3> + </div> + <div id="administrators" class="doco-section"> + <div class="flex-column"> + <a class="nav-link" href="/help/admin/administrator_guide">Przewodnik</a> + <a class="nav-link" href="/help/admin/hub_snapshots">Migawki huba</a> + <a class="nav-link" href="/help/database">Baza danych</a> + <a class="nav-link" href="/help/hidden_configs">Dodatkowa konfiguracja</a> + </div> + </div> + </div> + <div class="panel"> + <div class=""> + <h3 class="panel-title"> + Dla deweloperów + </h3> + </div> + <div id="developers" class="doco-section"> + <div class="flex-column"> + <a class="nav-link" href="/help/developer/developer_guide">Przewodnik</a> + <a class="nav-link" href="/help/developer/covenant">Kodeks postÄ™powania</a> + <a class="nav-link" href="/help/developer/zot_protocol">Protokół Zot</a> + <a class="nav-link" href="/help/developer/api_zot">API Zot</a> + <a class="nav-link" href="/help/hooklist">Zaczepy</a> + </div> + </div> + </div> + <div class="panel"> + <div class=""> + <h3 class="panel-title"> + Informacje o ... + </h3> + </div> + <div id="about" class="doco-section"> + <div class="flex-column"> + <a class="nav-link" href="/help/about/about">Platforma</a> + <a class="nav-link" href="/help/about/project">Projekt</a> + <a class="nav-link" href="/help/about/about_hub">Serwis HUBZILLA.PL</a> + </div> + </div> + </div> +</div> diff --git a/doc/pl/tutorials/assets/0965ace945f0c95ae38aa5bfedd230d2a7233d3915ac15d629f9dd845854.png b/doc/pl/tutorials/assets/0965ace945f0c95ae38aa5bfedd230d2a7233d3915ac15d629f9dd845854.png Binary files differnew file mode 100644 index 000000000..d5cf1093f --- /dev/null +++ b/doc/pl/tutorials/assets/0965ace945f0c95ae38aa5bfedd230d2a7233d3915ac15d629f9dd845854.png diff --git a/doc/pl/tutorials/assets/1ebe02c205962dd25035c441631745d16acdb7a44e50d148256c8ad26a67.png b/doc/pl/tutorials/assets/1ebe02c205962dd25035c441631745d16acdb7a44e50d148256c8ad26a67.png Binary files differnew file mode 100644 index 000000000..d613925aa --- /dev/null +++ b/doc/pl/tutorials/assets/1ebe02c205962dd25035c441631745d16acdb7a44e50d148256c8ad26a67.png diff --git a/doc/pl/tutorials/assets/2243e48ccea25bd907cce3dbd6fc9f7cd832a4c91a4c5dd294b7b219e7d8.png b/doc/pl/tutorials/assets/2243e48ccea25bd907cce3dbd6fc9f7cd832a4c91a4c5dd294b7b219e7d8.png Binary files differnew file mode 100644 index 000000000..c403bf806 --- /dev/null +++ b/doc/pl/tutorials/assets/2243e48ccea25bd907cce3dbd6fc9f7cd832a4c91a4c5dd294b7b219e7d8.png diff --git a/doc/pl/tutorials/assets/25eaad2435200f72a1dd3a00ba17a76ca6db4c246b3c4fa286b390cae7c8.png b/doc/pl/tutorials/assets/25eaad2435200f72a1dd3a00ba17a76ca6db4c246b3c4fa286b390cae7c8.png Binary files differnew file mode 100644 index 000000000..ca8ba6fb9 --- /dev/null +++ b/doc/pl/tutorials/assets/25eaad2435200f72a1dd3a00ba17a76ca6db4c246b3c4fa286b390cae7c8.png diff --git a/doc/pl/tutorials/assets/2b539d5a8474d6ec6dc91155b628d9be5f99ab04a78108ec404f53ec7bb5.png b/doc/pl/tutorials/assets/2b539d5a8474d6ec6dc91155b628d9be5f99ab04a78108ec404f53ec7bb5.png Binary files differnew file mode 100644 index 000000000..0da2d96e2 --- /dev/null +++ b/doc/pl/tutorials/assets/2b539d5a8474d6ec6dc91155b628d9be5f99ab04a78108ec404f53ec7bb5.png diff --git a/doc/pl/tutorials/assets/31f42a02bdbae095e0329db6c3814e2975979aff12f873f43d81724c5e61.png b/doc/pl/tutorials/assets/31f42a02bdbae095e0329db6c3814e2975979aff12f873f43d81724c5e61.png Binary files differnew file mode 100644 index 000000000..2a209b2be --- /dev/null +++ b/doc/pl/tutorials/assets/31f42a02bdbae095e0329db6c3814e2975979aff12f873f43d81724c5e61.png diff --git a/doc/pl/tutorials/assets/324247680b605fd214fd61aecd8f216fa8f5dfa0f16a04c8e968fdbc43d0.png b/doc/pl/tutorials/assets/324247680b605fd214fd61aecd8f216fa8f5dfa0f16a04c8e968fdbc43d0.png Binary files differnew file mode 100644 index 000000000..f992672b0 --- /dev/null +++ b/doc/pl/tutorials/assets/324247680b605fd214fd61aecd8f216fa8f5dfa0f16a04c8e968fdbc43d0.png diff --git a/doc/pl/tutorials/assets/3656a67dce40a1fc2515e9089217f2e136d4fcf8babe77bac00ecaad43ce.png b/doc/pl/tutorials/assets/3656a67dce40a1fc2515e9089217f2e136d4fcf8babe77bac00ecaad43ce.png Binary files differnew file mode 100644 index 000000000..b656192dc --- /dev/null +++ b/doc/pl/tutorials/assets/3656a67dce40a1fc2515e9089217f2e136d4fcf8babe77bac00ecaad43ce.png diff --git a/doc/pl/tutorials/assets/458a842c2ea0fbe3b7869bb14dfffe1e5be098d1cd6e590bbead25b4cc05.png b/doc/pl/tutorials/assets/458a842c2ea0fbe3b7869bb14dfffe1e5be098d1cd6e590bbead25b4cc05.png Binary files differnew file mode 100644 index 000000000..6129195b6 --- /dev/null +++ b/doc/pl/tutorials/assets/458a842c2ea0fbe3b7869bb14dfffe1e5be098d1cd6e590bbead25b4cc05.png diff --git a/doc/pl/tutorials/assets/4aaaf1e124514c8d6999a5fe1d07be5af460cda4ba6cde9106ebc1564bb0.png b/doc/pl/tutorials/assets/4aaaf1e124514c8d6999a5fe1d07be5af460cda4ba6cde9106ebc1564bb0.png Binary files differnew file mode 100644 index 000000000..923403fe9 --- /dev/null +++ b/doc/pl/tutorials/assets/4aaaf1e124514c8d6999a5fe1d07be5af460cda4ba6cde9106ebc1564bb0.png diff --git a/doc/pl/tutorials/assets/4cf326152797a8ecdf5630e921756f825ee00f8ee464d3ef9fed971d2852.png b/doc/pl/tutorials/assets/4cf326152797a8ecdf5630e921756f825ee00f8ee464d3ef9fed971d2852.png Binary files differnew file mode 100644 index 000000000..f158ad5d9 --- /dev/null +++ b/doc/pl/tutorials/assets/4cf326152797a8ecdf5630e921756f825ee00f8ee464d3ef9fed971d2852.png diff --git a/doc/pl/tutorials/assets/75d2927b7ad0d2043d4d3b6ba1364fac8ead173edd39340adaf78be11c9d.png b/doc/pl/tutorials/assets/75d2927b7ad0d2043d4d3b6ba1364fac8ead173edd39340adaf78be11c9d.png Binary files differnew file mode 100644 index 000000000..edc8b01cc --- /dev/null +++ b/doc/pl/tutorials/assets/75d2927b7ad0d2043d4d3b6ba1364fac8ead173edd39340adaf78be11c9d.png diff --git a/doc/pl/tutorials/assets/7c976a06662a1357b3da8ed0680d1a721c85f2ae2bdd5739a8def466010e.png b/doc/pl/tutorials/assets/7c976a06662a1357b3da8ed0680d1a721c85f2ae2bdd5739a8def466010e.png Binary files differnew file mode 100644 index 000000000..5b259058b --- /dev/null +++ b/doc/pl/tutorials/assets/7c976a06662a1357b3da8ed0680d1a721c85f2ae2bdd5739a8def466010e.png diff --git a/doc/pl/tutorials/assets/99a6efda4df631dfb2d2a849412044cc6a0f8aebeac289d28786f2649d24.png b/doc/pl/tutorials/assets/99a6efda4df631dfb2d2a849412044cc6a0f8aebeac289d28786f2649d24.png Binary files differnew file mode 100644 index 000000000..c03ffd18d --- /dev/null +++ b/doc/pl/tutorials/assets/99a6efda4df631dfb2d2a849412044cc6a0f8aebeac289d28786f2649d24.png diff --git a/doc/pl/tutorials/assets/9eae9fad774a4cd29e665961d35affbd053368056f562c58200fb41027b0.png b/doc/pl/tutorials/assets/9eae9fad774a4cd29e665961d35affbd053368056f562c58200fb41027b0.png Binary files differnew file mode 100644 index 000000000..65d4c5f0a --- /dev/null +++ b/doc/pl/tutorials/assets/9eae9fad774a4cd29e665961d35affbd053368056f562c58200fb41027b0.png diff --git a/doc/pl/tutorials/assets/b0bfdf02aef3710a37bb6092c3240b291eca8afa73133b3ac03b86f3302d.png b/doc/pl/tutorials/assets/b0bfdf02aef3710a37bb6092c3240b291eca8afa73133b3ac03b86f3302d.png Binary files differnew file mode 100644 index 000000000..45609a7bb --- /dev/null +++ b/doc/pl/tutorials/assets/b0bfdf02aef3710a37bb6092c3240b291eca8afa73133b3ac03b86f3302d.png diff --git a/doc/pl/tutorials/assets/b334915c03a665493915598c69c17a87c910a39db2cd3b5292e4623ea4c4.png b/doc/pl/tutorials/assets/b334915c03a665493915598c69c17a87c910a39db2cd3b5292e4623ea4c4.png Binary files differnew file mode 100644 index 000000000..d239d6965 --- /dev/null +++ b/doc/pl/tutorials/assets/b334915c03a665493915598c69c17a87c910a39db2cd3b5292e4623ea4c4.png diff --git a/doc/pl/tutorials/assets/b3eece28e8db67f1024af42055f0f24ed5e81ba622aca8cac576ccf5930e.png b/doc/pl/tutorials/assets/b3eece28e8db67f1024af42055f0f24ed5e81ba622aca8cac576ccf5930e.png Binary files differnew file mode 100644 index 000000000..45ed64d00 --- /dev/null +++ b/doc/pl/tutorials/assets/b3eece28e8db67f1024af42055f0f24ed5e81ba622aca8cac576ccf5930e.png diff --git a/doc/pl/tutorials/assets/bdbcf0ffd9004657237f6b7b7863da5a8e39a5bc17d2c67fa160efef2056.png b/doc/pl/tutorials/assets/bdbcf0ffd9004657237f6b7b7863da5a8e39a5bc17d2c67fa160efef2056.png Binary files differnew file mode 100644 index 000000000..fcaed8bef --- /dev/null +++ b/doc/pl/tutorials/assets/bdbcf0ffd9004657237f6b7b7863da5a8e39a5bc17d2c67fa160efef2056.png diff --git a/doc/pl/tutorials/assets/c4cad3e4c356dd2a227df79bd4dc6d47edf1b66ea243f005b6b452ec366b.png b/doc/pl/tutorials/assets/c4cad3e4c356dd2a227df79bd4dc6d47edf1b66ea243f005b6b452ec366b.png Binary files differnew file mode 100644 index 000000000..0ccfc8995 --- /dev/null +++ b/doc/pl/tutorials/assets/c4cad3e4c356dd2a227df79bd4dc6d47edf1b66ea243f005b6b452ec366b.png diff --git a/doc/pl/tutorials/assets/c9a880cc82ffa1f7c2f460397bb083bf7dc2a2b8f065e64da598b45b4a2b.png b/doc/pl/tutorials/assets/c9a880cc82ffa1f7c2f460397bb083bf7dc2a2b8f065e64da598b45b4a2b.png Binary files differnew file mode 100644 index 000000000..1cb4d2d22 --- /dev/null +++ b/doc/pl/tutorials/assets/c9a880cc82ffa1f7c2f460397bb083bf7dc2a2b8f065e64da598b45b4a2b.png diff --git a/doc/pl/tutorials/assets/d080e92d797af5e863fa39b2084c16a8410de1f7a6559633435817444aef.png b/doc/pl/tutorials/assets/d080e92d797af5e863fa39b2084c16a8410de1f7a6559633435817444aef.png Binary files differnew file mode 100644 index 000000000..22e4cb5d5 --- /dev/null +++ b/doc/pl/tutorials/assets/d080e92d797af5e863fa39b2084c16a8410de1f7a6559633435817444aef.png diff --git a/doc/pl/tutorials/assets/e05248fdc5688d6d24bde52432fdc7b39692a094559aa504de99352940b1.png b/doc/pl/tutorials/assets/e05248fdc5688d6d24bde52432fdc7b39692a094559aa504de99352940b1.png Binary files differnew file mode 100644 index 000000000..5674f5207 --- /dev/null +++ b/doc/pl/tutorials/assets/e05248fdc5688d6d24bde52432fdc7b39692a094559aa504de99352940b1.png diff --git a/doc/pl/tutorials/assets/e5d5674a34e848e2cce90a60fc416415271d9c51b81ad2a950fb0157222a.png b/doc/pl/tutorials/assets/e5d5674a34e848e2cce90a60fc416415271d9c51b81ad2a950fb0157222a.png Binary files differnew file mode 100644 index 000000000..e6b4a9974 --- /dev/null +++ b/doc/pl/tutorials/assets/e5d5674a34e848e2cce90a60fc416415271d9c51b81ad2a950fb0157222a.png diff --git a/doc/pl/tutorials/assets/ef78bc6aa3fafebd46f353514c907b3fdfe019918fc5553bb3f31388a36f.png b/doc/pl/tutorials/assets/ef78bc6aa3fafebd46f353514c907b3fdfe019918fc5553bb3f31388a36f.png Binary files differnew file mode 100644 index 000000000..8de042ae4 --- /dev/null +++ b/doc/pl/tutorials/assets/ef78bc6aa3fafebd46f353514c907b3fdfe019918fc5553bb3f31388a36f.png diff --git a/doc/pl/tutorials/assets/facb0bdfdecb4c779de9048cd14b417c0d76de17af476be5f296b78d70e9.png b/doc/pl/tutorials/assets/facb0bdfdecb4c779de9048cd14b417c0d76de17af476be5f296b78d70e9.png Binary files differnew file mode 100644 index 000000000..cec391fb4 --- /dev/null +++ b/doc/pl/tutorials/assets/facb0bdfdecb4c779de9048cd14b417c0d76de17af476be5f296b78d70e9.png diff --git a/doc/pl/tutorials/personal_channel.md b/doc/pl/tutorials/personal_channel.md new file mode 100644 index 000000000..6b96cf14a --- /dev/null +++ b/doc/pl/tutorials/personal_channel.md @@ -0,0 +1,116 @@ + +Ten poradnik trzeba wykonać w kolejnoÅ›ci, tak jakbyÅ› konfigurowaÅ‚ plik kanaÅ‚u po raz pierwszy. Przedstawia w naturalny sposób niektóre narzÄ™dzia i funkcje zwiÄ…zane z kanaÅ‚em osobistym. + +### Tworzenie nowego kanaÅ‚u + +Kiedy logujesz siÄ™ po raz pierwszy po rejestracji, musisz utworzyć kanaÅ‚ albo odwiedzić później stronÄ™ *https://your_website/new_channel*. + + + +Wprowadź swoje imiÄ™ i nazwisko oraz pseudonim dla adresu kanaÅ‚u, a nastÄ™pnie wybierz "rolÄ™". Zazwyczaj, jeÅ›li reprezentuje CiÄ™ osobisty kanaÅ‚, wybierz *SpoÅ‚eczność* z domyÅ›lnym poziomem prywatnoÅ›ci, który Ci odpowiada. JeÅ›li nie masz pewnoÅ›ci, wybierz opcjÄ™ *SpoÅ‚ecznoÅ›ciowe - głównie publiczne*, co umożliwia Å‚atwÄ… interakcjÄ™ i zapewnia prywatność, gdy jej potrzebujesz. Alternatywnie, ustawienie *SpoÅ‚ecznoÅ›ciowe - ograniczone* jest bardzo popularne wÅ›ród obroÅ„ców prywatnoÅ›ci, chociaż poznanie ludzi może wymagać nieco wiÄ™cej wysiÅ‚ku. Niezależnie od tego, które ustawienie wybierzesz, możesz zmienić je później, jeÅ›li zajdzie taka potrzeba. + +### Dodanie zdjÄ™cia profilowego + +Po utworzeniu nowego kanaÅ‚u zostaniesz przekierowany na stronÄ™ okreÅ›lonÄ… przez administratora witryny. DomyÅ›lnie jest to strona * Edytuj profil *. + +Z poziomu rozwijanego menu *NarzÄ™dzia profili* wybierz opcjÄ™ *ZmieÅ„ zdjÄ™cie profilowe* (lub po prostu kliknij zdjÄ™cie profilowe). + + + +PrzeÅ›lij swoje zdjÄ™cie i jeÅ›li to konieczne, zmieÅ„ rozmiar za pomocÄ… edytora obrazów. + + + +Po naciÅ›niÄ™ciu *Edycja zakoÅ„czona* nastÄ…pi przekierowanie z powrotem do edytora profili. + +> JeÅ›li masz problemy z wyÅ›wietleniem nowego zdjÄ™cia, może być konieczne +> wyczyszczenie pamiÄ™ci podrÄ™cznej przeglÄ…darki. + + + +Po powrocie na stronÄ™ głównÄ… kanaÅ‚u zobaczysz, że wpis powiadamiajÄ…cy innych o Twoim nowym zdjÄ™ciu profilowym, który zostaÅ‚ automatycznie opublikowany. + + + + +### Tworzenie wpisów + +Przejdź do strony głównej swojego kanaÅ‚u i otwórz edytor wpisów, naciskajÄ…c pole tekstowe *UdostÄ™pnij* u góry "Å›ciany" kanaÅ‚u. Wprowadź wiadomość, a nastÄ™pnie przeciÄ…gnij i upuść plik obrazu do do obszaru tekstowego edytora postów. Ewentualnie możesz użyć narzÄ™dzie *Załącz plik*, widoczne u doÅ‚u. + + + +Plik obrazu zostanie automatycznie przesÅ‚any i zapisany w plikach w chmurze, a łącze pojawi siÄ™ w oknie wpisu. NaciÅ›niÄ™cie przycisku podglÄ…du wpisu umożliwia podglÄ…d wpisu przed opublikowaniem. + + + +NaciÅ›nij przycisk kłódki obok przycisku *PrzeÅ›lij*. SPowoduje to otworzenie siÄ™ *ListÄ™ kontroli dostÄ™pu*, gdzie możesz dokÅ‚adnie okreÅ›lić, kto ma dostÄ™p do tego wpisu. + + + + +### Użycie przesÅ‚anego obrazu jako zdjÄ™cia na okÅ‚adkÄ™ kanaÅ‚u + +Jednym ze sposobów uatrakcyjnienia wyglÄ…du kanaÅ‚u jest dodanie zdjÄ™cia na okÅ‚adkÄ™, które bÄ™dÄ… widzieć użytkownicy po zaÅ‚adowaniu strony kanaÅ‚u. Zintegrowany system plików w chmurze pozwala wybrać w tym celu istniejÄ…ce zdjÄ™cie. + +Odwiedź swoje zdjÄ™cia w aplikacji *Photos*. + + + +Wybierz zdjÄ™cie, którego chcesz użyć i wybierz *Użyj jako zdjÄ™cia na okÅ‚adkÄ™* z rozwijanego menu *NarzÄ™dzia do zdjęć*. + + + +Przytnij obraz za pomocÄ… edytora zdjęć i zapisz zmiany. + + + +Gdy zaÅ‚adujesz stronÄ™ głównÄ… swojego kanaÅ‚u, najpierw zobaczysz zdjÄ™cie okÅ‚adkowe a strona kanaÅ‚u bÄ™dzie siÄ™ pojawiać w miarÄ™ przewijania w dół. + + + + +### Wykonywanie połączeÅ„ + +Tworzenie połączeÅ„ miÄ™dzy kanaÅ‚ami i udostÄ™pnianie treÅ›ci, to istosta komunikacji spoÅ‚ecznej. NawiÄ…zanie połączenia jest proste. JeÅ›li jeszcze nie wiesz, jak dotrzeć do strony domowej kanaÅ‚u, możesz spróbować przeszukać katalog, otwierajÄ…c łącze *Katalog* z menu po prawej stronie z boku górnego paska nawigacyjnego. + + + +Możesz połączyć siÄ™ bezpoÅ›rednio z poziomu katalogu za pomocÄ… przycisku *Połącz* lub możesz najpierw otworzyć stronÄ™ kanaÅ‚u i nacisnąć przycisk *Połącz* widoczny poniżej zdjÄ™cia profilowego. + + + +Po nawiÄ…zaniu połączenia zostaniesz natychmiast przeniesiony do strony edytora połączeÅ„, gdzie podejmujesz ważne decyzje dotyczÄ…ce tego, co planujesz udostÄ™pniać na tym kanale. + + + +Dwa ważne ustawienia to + +* Indywidualne uprawnienia dla nowo podłączonego kanaÅ‚u +* Grupy prywatnoÅ›ci, do których należy połączenie + +Indywidualne uprawnienia sÄ… w wiÄ™kszoÅ›ci Å‚atwe do zrozumienia, ale mogÄ… być na poczÄ…tku niejasne. Na przykÅ‚ad *Można wyÅ›wietlać mój magazyn plików i zdjęć* nie oznacza, że na podłączonym kanale każdy bÄ™dzie mógÅ‚ przeglÄ…dać wszystkie Twoje zdjÄ™cia i pliki! Oznacza to, że bÄ™dziesz mieć możliwość udostÄ™pniania zdjęć i plików za pomocÄ… tego kanaÅ‚u. Jest caÅ‚kiem możliwe, że pozwolisz komuÅ› czytać swoje wpisy, ale nie zezwolisz na oglÄ…danie zdjęć w tym wpisie. + +Grupy prywatnoÅ›ci umożliwiajÄ… wygodnie udostÄ™pniać elementy grupom osób. Można utworzyć dowolne grupy odpowiadajÄ…ce swoim potrzebom, otwierajÄ…c link *Dodaj grupÄ™ prywatnoÅ›ci*. + + + +W tym edytorze można przełączać siÄ™ miÄ™dzy istniejÄ…cymi grupami prywatnoÅ›ci i od razu sprawdzić, jakie kanaÅ‚y sÄ…, a jakie nie sÄ… czÅ‚onkami grupy. Wybranie ikony kanaÅ‚u w dowolnym polu spowoduje przeniesienie kanaÅ‚u do tej grupy. + + + +Podczas edycji ustawieÅ„ pojedynczego kanaÅ‚u można ustawić jego czÅ‚onkostwo w grupach prywatnoÅ›ci za pomocÄ… widżetu po lewej stronie: + + + +Połączenia to wzajemne zaangażowanie. KanaÅ‚, z którym siÄ™ łączysz, może mieć ustawionÄ… opcjÄ™ zatwierdzenia połączenia z innym kanaÅ‚em. Zostanie wówczas wysÅ‚ane do niego powiadomienie o proonowanym połączeniu: + + + +w którym znajduje siÄ™ link do strony edytora [*Połączenia*](https://grid.reticu.li/connections), gdzie można zdecydować, czy zezwolić na połączenie, czy nie. + + + +Po zatwierdzeniu połączenia dobrze jest otworzyć edytor połączeÅ„ indywidualnych, naciskajÄ…c przycisk edycji obok przycisku *UsuÅ„*. + + + diff --git a/include/attach.php b/include/attach.php index b4f697f81..9ba6be109 100644 --- a/include/attach.php +++ b/include/attach.php @@ -2987,10 +2987,7 @@ function attach_folder_select_list($channel_id) { if($r) { foreach($r as $rv) { - $x = attach_folder_rpaths($r,$rv); - if($x) { - $out[$x[0]] = $x[1]; - } + $out[$rv['hash']] = $rv['display_path']; } } @@ -3020,7 +3017,7 @@ function attach_folder_rpaths($all_folders,$that_folder) { if(! $found) $error = true; } - while((! $found) && (! $error) && ($parent_hash != '')); + while((! $error) && ($parent_hash != '')); } return (($error) ? false : [ $current_hash , $path ]); @@ -3067,8 +3064,7 @@ function attach_syspaths($channel_id,$attach_hash) { function attach_upgrade() { - - $r = q("select id, uid, hash from attach where os_path = '' and display_path = '' limit 100"); + $r = q("SELECT id, uid, hash FROM attach WHERE os_path = '' OR display_path = '' LIMIT 100"); if($r) { foreach($r as $rv) { $x = attach_syspaths($rv['uid'],$rv['hash']); diff --git a/include/bbcode.php b/include/bbcode.php index d79429719..e1a5c7e47 100644 --- a/include/bbcode.php +++ b/include/bbcode.php @@ -966,7 +966,7 @@ function bbtopoll($s) { $pl['poll_id'] = $match[1]; $pl['poll_question'] = $match[2]; - $match = ''; + $match = []; if(preg_match_all("/\[poll\-answer=(.*?)\](.*?)\[\/poll\-answer\]/is",$s,$match,PREG_SET_ORDER)) { $pl['answer'] = []; foreach($match as $m) { @@ -1349,7 +1349,7 @@ function bbcode($Text, $options = []) { // Check for table of content with params while(strpos($Text,'[toc') !== false) { $toc_id = 'toc-' . random_string(10); - $Text = preg_replace("/\[toc([^\]]+?)\]/ism", '<ul id="' . $toc_id . '" class="toc"$1></ul><script>$("#' . $toc_id . '").toc();</script>', $Text, 1); + $Text = preg_replace("/\[toc([^\]]+?)\]/ism", '<ul id="' . $toc_id . '" class="toc" $1></ul><script>$("#' . $toc_id . '").toc();</script>', $Text, 1); } // Check for centered text if (strpos($Text,'[/center]') !== false) { diff --git a/include/bookmarks.php b/include/bookmarks.php index 21456c871..145119347 100644 --- a/include/bookmarks.php +++ b/include/bookmarks.php @@ -18,7 +18,7 @@ function bookmark_add($channel,$sender,$taxonomy,$private,$opts = null) { $channel_id = $channel['channel_id']; if($private) - $iarr['contact_allow'] = array($channel['channel_hash']); + $iarr['contact_allow'] = array($channel['channel_hash']); $iarr['mitem_link'] = $taxonomy['url']; $iarr['mitem_desc'] = $taxonomy['term']; $iarr['mitem_flags'] = (($ischat) ? MENU_ITEM_CHATROOM : 0); @@ -41,34 +41,34 @@ function bookmark_add($channel,$sender,$taxonomy,$private,$opts = null) { if(! $menu_id) { $x = menu_list($arr['menu_channel_id'],$arr['menu_name'],$arr['menu_flags']); - if($x) + if($x) $menu_id = $x[0]['menu_id']; - else + else $menu_id = menu_create($arr); } if(! $menu_id) { logger('bookmark_add: unable to create menu ' . $arr['menu_name']); - return; + return; } logger('add_bookmark: menu_id ' . $menu_id); $r = q("select * from menu_item where mitem_link = '%s' and mitem_menu_id = %d and mitem_channel_id = %d limit 1", dbesc($iarr['mitem_link']), intval($menu_id), - intval($channel_id) + intval($channel_id) ); if($r) logger('add_bookmark: duplicate menu entry', LOGGER_DEBUG); if(! $r) { $r = menu_add_item($menu_id,$channel_id,$iarr); - menu_sync_packet($channel_id,get_observer_hash(),$menu_id); + menu_sync_packet($channel_id,get_observer_hash(),$menu_id); } return $r; } function get_bookmark_link($observer) { - if((! $observer) || ($observer['xchan_network'] !== 'zot')) + if((! $observer) || !in_array($observer['xchan_network'], ['zot6', 'zot'])) return ''; $h = @parse_url($observer['xchan_url']); diff --git a/include/cdav.php b/include/cdav.php index ef248a9fe..fcce0ec4a 100644 --- a/include/cdav.php +++ b/include/cdav.php @@ -111,7 +111,7 @@ function process_cdav_card($f, &$vcard, $edit = false) { function import_cdav_card($id, $ext, $table, $column, $objects, $profile, $backend, &$ids, $notice = false) { $i = 0; - $newid = (count($ids) ? false : true); + $newid = (count($ids) ? false : true); while ($object = $objects->getNext()) { @@ -161,7 +161,7 @@ function import_cdav_card($id, $ext, $table, $column, $objects, $profile, $backe ); } - if($notice && $exp == 'vcf') { + if($notice && $ext == 'vcf') { notice( '<strong>' . t('INVALID CARD DISMISSED!') . '</strong>' . EOL . '<strong>' . t('Name: ') . '</strong>' . (($object->FN) ? $object->FN : t('Unknown')) . EOL . diff --git a/include/channel.php b/include/channel.php index d610a0b9a..2d79cd074 100644 --- a/include/channel.php +++ b/include/channel.php @@ -651,7 +651,7 @@ function change_channel_keys($channel) { foreach($h as $hv) { $hv['hubloc_guid_sig'] = $sig; $hv['hubloc_hash'] = $hash; - $hv['hubloc_url_sig'] = base64url_encode(rsa_sign(z_root(),$modifed['channel_prvkey'])); + $hv['hubloc_url_sig'] = base64url_encode(rsa_sign(z_root(),$modified['channel_prvkey'])); hubloc_store_lowlevel($hv); } } diff --git a/include/connections.php b/include/connections.php index bd41e112e..87db7faa9 100644 --- a/include/connections.php +++ b/include/connections.php @@ -211,8 +211,8 @@ function mark_orphan_hubsxchans() { if($dirmode == DIRECTORY_MODE_NORMAL) return; - $r = q("update hubloc set hubloc_error = 1 where hubloc_error = 0 - and hubloc_network = 'zot' and hubloc_connected < %s - interval %s", + $r = q("UPDATE hubloc SET hubloc_error = 1 WHERE hubloc_error = 0 + AND hubloc_network IN ('zot6', 'zot') AND hubloc_connected < %s - INTERVAL %s", db_utcnow(), db_quoteinterval('36 day') ); @@ -357,7 +357,7 @@ function contact_remove($channel_id, $abook_id) { call_hooks('connection_remove',$x); - $archive = get_pconfig($channel_id, 'system','archive_removed_contacts'); + $archive = get_pconfig($channel_id, 'system', 'archive_removed_contacts'); if($archive) { q("update abook set abook_archived = 1 where abook_id = %d and abook_channel = %d", intval($abook_id), diff --git a/include/contact_widgets.php b/include/contact_widgets.php index 3b22a3c6d..a5f867b0f 100644 --- a/include/contact_widgets.php +++ b/include/contact_widgets.php @@ -71,35 +71,39 @@ function categories_widget($baseurl,$selected = '') { $item_normal = item_normal(); - $key = __FUNCTION__ . "-" . App::$profile['profile_uid']; - $content = Cache::get($key, '5 MINUTE'); + $key = __FUNCTION__ . "-" . App::$profile['profile_uid']; + $content = Cache::get($key, '5 MINUTE'); if (! $content) { - $r = q("select distinct(term.term) from term join item on term.oid = item.id - where item.uid = %d - and term.uid = item.uid - and term.ttype = %d - and term.otype = %d - and item.owner_xchan = '%s' - and item.item_wall = 1 - and item.verb != '%s' + + $content = Cache::get($key, '1 MONTH'); + + $arr = [ + "SELECT distinct(term.term) FROM term JOIN item ON term.oid = item.id + WHERE item.uid = %d + AND term.uid = item.uid + AND term.ttype = %d + AND term.otype = %d + AND item.owner_xchan = '%s' + AND item.item_wall = 1 + AND item.verb != '%s' $item_normal $sql_extra - order by term.term asc", + ORDER BY term.term ASC", intval(App::$profile['profile_uid']), intval(TERM_CATEGORY), intval(TERM_OBJ_POST), dbesc(App::$profile['channel_hash']), dbesc(ACTIVITY_UPDATE) - ); + ]; + + \Zotlabs\Daemon\Master::Summon([ 'Cache_query', $key, base64_encode(json_encode($arr)) ]); } - else - $r = unserialize($content); - $terms = array(); - if($r && count($r)) { + $r = unserialize($content); - Cache::set($key, serialize($r)); + $terms = []; + if($r && count($r)) { foreach($r as $rr) $terms[] = array('name' => $rr['term'], 'selected' => (($selected == $rr['term']) ? 'selected' : '')); diff --git a/include/conversation.php b/include/conversation.php index 6615b04c3..08d16a413 100644 --- a/include/conversation.php +++ b/include/conversation.php @@ -90,18 +90,18 @@ function item_redir_and_replace_images($body, $images, $cid) { function localize_item(&$item){ if (activity_match($item['verb'],ACTIVITY_LIKE) || activity_match($item['verb'],ACTIVITY_DISLIKE)){ - + if(! $item['obj']) return; if(intval($item['item_thread_top'])) - return; + return; $obj = json_decode($item['obj'],true); if((! $obj) && ($item['obj'])) { logger('localize_item: failed to decode object: ' . print_r($item['obj'],true)); } - + if(is_array($obj['author']) && $obj['author']['link']) $author_link = get_rel_link($obj['author']['link'],'alternate'); elseif(is_array($obj['actor']) && $obj['actor']['url']) @@ -167,7 +167,7 @@ function localize_item(&$item){ if($author_link && $author_name && $item_url) { $author = '[zrl=' . chanlink_url($item['author']['xchan_url']) . ']' . $item['author']['xchan_name'] . '[/zrl]'; $objauthor = '[zrl=' . chanlink_url($author_link) . ']' . $author_name . '[/zrl]'; - + $plink = '[zrl=' . zid($item_url) . ']' . $post_type . '[/zrl]'; if(activity_match($item['verb'],ACTIVITY_LIKE)) { @@ -189,7 +189,7 @@ function localize_item(&$item){ $item['shortlocalize'] = sprintf($shortbodyverb, '[bdi]' . $author_name . '[/bdi]', $post_type); $item['body'] = $item['localize'] = sprintf($bodyverb, '[bdi]' . $author . '[/bdi]', '[bdi]' . $objauthor . '[/bdi]', $plink); - if($Bphoto != "") + if($Bphoto != "") $item['body'] .= "\n\n\n" . '[zrl=' . chanlink_url($author_link) . '][zmg=80x80]' . $Bphoto . '[/zmg][/zrl]'; } @@ -201,7 +201,7 @@ function localize_item(&$item){ if (activity_match($item['verb'],ACTIVITY_FRIEND)) { - if ($item['obj_type'] == "" || $item['obj_type'] !== ACTIVITY_OBJ_PERSON) + if ($item['obj_type'] == "" || $item['obj_type'] !== ACTIVITY_OBJ_PERSON) return; $Aname = $item['author']['xchan_name']; @@ -209,7 +209,7 @@ function localize_item(&$item){ $obj= json_decode($item['obj'],true); - + $Blink = $Bphoto = ''; if($obj['link']) { @@ -282,7 +282,7 @@ function localize_item(&$item){ $Alink = $item['author']['xchan_url']; $A = '[zrl=' . chanlink_url($Alink) . '][bdi]' . $Aname . '[/bdi][/zrl]'; - + $txt = t('%1$s is %2$s','mood'); $item['body'] = sprintf($txt, $A, t($verb)); @@ -295,15 +295,15 @@ function localize_item(&$item){ // (and update to json storage) if (activity_match($item['verb'],ACTIVITY_TAG)) { - $r = q("SELECT * from item,contact WHERE + $r = q("SELECT * from item,contact WHERE item.contact-id=contact.id AND item.mid='%s';", dbesc($item['parent_mid'])); if(count($r)==0) return; $obj=$r[0]; - + $author = '[zrl=' . zid($item['author-link']) . ']' . $item['author-name'] . '[/zrl]'; $objauthor = '[zrl=' . zid($obj['author-link']) . ']' . $obj['author-name'] . '[/zrl]'; - + switch($obj['verb']){ case ACTIVITY_POST: switch ($obj['obj_type']){ @@ -416,7 +416,7 @@ function count_descendants($item) { * likes (etc.) can apply to other things besides posts. Check if they are post * children, in which case we handle them specially. Activities which are unrecognised * as having special meaning and hidden will be treated as posts or comments and visible - * in the stream. + * in the stream. * * @param array $item * @return boolean @@ -438,14 +438,14 @@ function visible_activity($item) { } // We only need edit activities for other federated protocols - // which do not support edits natively. While this does federate + // which do not support edits natively. While this does federate // edits, it presents a number of issues locally - such as #757 and #758. // The SQL check for an edit activity would not perform that well so to fix these issues - // requires an additional item flag (perhaps 'item_edit_activity') that we can add to the + // requires an additional item flag (perhaps 'item_edit_activity') that we can add to the // query for searches and notifications. - // For now we'll just forget about trying to make edits work on network protocols that - // don't support them. + // For now we'll just forget about trying to make edits work on network protocols that + // don't support them. // if(is_edit_activity($item)) // return false; @@ -455,7 +455,7 @@ function visible_activity($item) { /** * @brief Check if a given activity is an edit activity - * + * * * @param array $item * @return boolean @@ -463,11 +463,11 @@ function visible_activity($item) { function is_edit_activity($item) { - $post_types = [ ACTIVITY_OBJ_NOTE, ACTIVITY_OBJ_COMMENT, basename(ACTIVITY_OBJ_NOTE), basename(ACTIVITY_OBJ_COMMENT)]; + $post_types = [ ACTIVITY_OBJ_NOTE, ACTIVITY_OBJ_COMMENT, basename(ACTIVITY_OBJ_NOTE), basename(ACTIVITY_OBJ_COMMENT)]; - // In order to share edits with networks which have no concept of editing, we'll create + // In order to share edits with networks which have no concept of editing, we'll create // separate activities to indicate the edit. Our network will not require them, since our - // edits are automatically applied and the activity indicated. + // edits are automatically applied and the activity indicated. if(($item['verb'] === ACTIVITY_UPDATE) && (in_array($item['obj_type'],$post_types))) return true; @@ -678,12 +678,12 @@ function conversation($items, $mode, $update, $page_mode = 'traditional', $prepa foreach($items as $item) { - $x = [ - 'mode' => $mode, - 'item' => $item + $x = [ + 'mode' => $mode, + 'item' => $item ]; call_hooks('stream_item',$x); - + if($x['item']['blocked']) continue; @@ -699,7 +699,7 @@ function conversation($items, $mode, $update, $page_mode = 'traditional', $prepa $is_new = false; if($mode === 'search' || $mode === 'community') { - if(((activity_match($item['verb'],ACTIVITY_LIKE)) || (activity_match($item['verb'],ACTIVITY_DISLIKE))) + if(((activity_match($item['verb'],ACTIVITY_LIKE)) || (activity_match($item['verb'],ACTIVITY_DISLIKE))) && ($item['id'] != $item['parent'])) continue; } @@ -726,7 +726,7 @@ function conversation($items, $mode, $update, $page_mode = 'traditional', $prepa $drop = array( 'pagedropping' => $page_dropping, 'dropping' => $dropping, - 'select' => t('Select'), + 'select' => t('Select'), 'delete' => t('Delete'), ); @@ -739,6 +739,8 @@ function conversation($items, $mode, $update, $page_mode = 'traditional', $prepa ? t('Private Message') : false ); + $locktype = $item['item_private']; + $likebuttons = false; $shareable = false; @@ -769,7 +771,7 @@ function conversation($items, $mode, $update, $page_mode = 'traditional', $prepa $tmp_item = array( 'template' => $tpl, 'toplevel' => 'toplevel_item', - 'item_type' => intval($item['item_type']), + 'item_type' => intval($item['item_type']), 'mode' => $mode, 'approve' => t('Approve'), 'delete' => t('Delete'), @@ -783,6 +785,7 @@ function conversation($items, $mode, $update, $page_mode = 'traditional', $prepa 'name' => $profile_name, 'sparkle' => $sparkle, 'lock' => $lock, + 'locktype' => $locktype, 'thumb' => $profile_avatar, 'title' => $item['title'], 'body' => $body['html'], @@ -844,7 +847,7 @@ function conversation($items, $mode, $update, $page_mode = 'traditional', $prepa $conv = new Zotlabs\Lib\ThreadStream($mode, $preview, $uploading, $prepared_item); - // In the display mode we don't have a profile owner. + // In the display mode we don't have a profile owner. if($mode === 'display' && $items) $conv->set_profile_owner($items[0]['uid']); @@ -861,7 +864,7 @@ function conversation($items, $mode, $update, $page_mode = 'traditional', $prepa $x = [ 'mode' => $mode, 'item' => $item ]; call_hooks('stream_item',$x); - + if($x['item']['blocked']) continue; @@ -970,9 +973,9 @@ function best_link_url($item) { function thread_action_menu($item,$mode = '') { $menu = []; - + if((local_channel()) && local_channel() == $item['uid']) { - $menu[] = [ + $menu[] = [ 'menu' => 'view_source', 'title' => t('View Source'), 'icon' => 'code', @@ -982,7 +985,7 @@ function thread_action_menu($item,$mode = '') { if(! in_array($mode, [ 'network-new', 'search', 'community'])) { if($item['parent'] == $item['id'] && (get_observer_hash() != $item['author_xchan'])) { - $menu[] = [ + $menu[] = [ 'menu' => 'follow_thread', 'title' => t('Follow Thread'), 'icon' => 'plus', @@ -991,7 +994,7 @@ function thread_action_menu($item,$mode = '') { ]; } - $menu[] = [ + $menu[] = [ 'menu' => 'unfollow_thread', 'title' => t('Unfollow Thread'), 'icon' => 'minus', @@ -1018,7 +1021,7 @@ function author_is_pmable($xchan, $abook) { call_hooks('author_is_pmable',$x); if($x['result'] !== 'unset') return $x['result']; - + if($xchan['xchan_network'] === 'zot' && get_observer_hash()) return true; return false; @@ -1063,7 +1066,7 @@ function thread_author_menu($item, $mode = '') { if($contact) { $poke_link = ((Apps::system_app_installed($local_channel, 'Poke')) ? z_root() . '/poke/?f=&c=' . $contact['abook_id'] : ''); - if (! intval($contact['abook_self'])) + if (! intval($contact['abook_self'])) $contact_url = z_root() . '/connedit/' . $contact['abook_id']; $posts_link = z_root() . '/network/?cid=' . $contact['abook_id']; @@ -1075,7 +1078,7 @@ function thread_author_menu($item, $mode = '') { $ratings_url = (($rating_enabled) ? z_root() . '/ratings/' . urlencode($item['author_xchan']) : ''); if($profile_link) { - $menu[] = [ + $menu[] = [ 'menu' => 'view_profile', 'title' => t('View Profile'), 'icon' => 'fw', @@ -1085,7 +1088,7 @@ function thread_author_menu($item, $mode = '') { } if($posts_link) { - $menu[] = [ + $menu[] = [ 'menu' => 'view_posts', 'title' => t('Recent Activity'), 'icon' => 'fw', @@ -1095,7 +1098,7 @@ function thread_author_menu($item, $mode = '') { } if($follow_url) { - $menu[] = [ + $menu[] = [ 'menu' => 'follow', 'title' => t('Connect'), 'icon' => 'fw', @@ -1105,7 +1108,7 @@ function thread_author_menu($item, $mode = '') { } if($contact_url) { - $menu[] = [ + $menu[] = [ 'menu' => 'connedit', 'title' => t('Edit Connection'), 'icon' => 'fw', @@ -1115,7 +1118,7 @@ function thread_author_menu($item, $mode = '') { } if($pm_url) { - $menu[] = [ + $menu[] = [ 'menu' => 'prv_message', 'title' => t('Message'), 'icon' => 'fw', @@ -1125,7 +1128,7 @@ function thread_author_menu($item, $mode = '') { } if($ratings_url) { - $menu[] = [ + $menu[] = [ 'menu' => 'ratings', 'title' => t('Ratings'), 'icon' => 'fw', @@ -1135,7 +1138,7 @@ function thread_author_menu($item, $mode = '') { } if($poke_link) { - $menu[] = [ + $menu[] = [ 'menu' => 'poke', 'title' => t('Poke'), 'icon' => 'fw', @@ -1209,8 +1212,8 @@ function builtin_activity_puller($item, &$conv_responses) { if((activity_match($item['verb'], $verb)) && ($item['id'] != $item['parent'])) { $name = (($item['author']['xchan_name']) ? $item['author']['xchan_name'] : t('Unknown')); - $url = (($item['author_xchan'] && $item['author']['xchan_photo_s']) - ? '<a class="dropdown-item" href="' . chanlink_hash($item['author_xchan']) . '">' . '<img class="menu-img-1" src="' . zid($item['author']['xchan_photo_s']) . '" alt="' . urlencode($name) . '" /> ' . $name . '</a>' + $url = (($item['author_xchan'] && $item['author']['xchan_photo_s']) + ? '<a class="dropdown-item" href="' . chanlink_hash($item['author_xchan']) . '">' . '<img class="menu-img-1" src="' . zid($item['author']['xchan_photo_s']) . '" alt="' . urlencode($name) . '" /> ' . $name . '</a>' : '<a class="dropdown-item" href="#" class="disabled">' . $name . '</a>' ); @@ -1222,7 +1225,7 @@ function builtin_activity_puller($item, &$conv_responses) { if($item['obj_type'] === 'Answer') continue; - if(! ((isset($conv_responses[$mode][$item['thr_parent'] . '-l'])) + if(! ((isset($conv_responses[$mode][$item['thr_parent'] . '-l'])) && (is_array($conv_responses[$mode][$item['thr_parent'] . '-l'])))) $conv_responses[$mode][$item['thr_parent'] . '-l'] = array(); @@ -1297,9 +1300,9 @@ function status_editor($a, $x, $popup = false, $module='') { } /** - * This is our general purpose content editor. + * This is our general purpose content editor. * It was once nicknamed "jot" and you may see references to "jot" littered throughout the code. - * They are referring to the content editor or components thereof. + * They are referring to the content editor or components thereof. */ function hz_status_editor($a, $x, $popup = false) { @@ -1341,7 +1344,7 @@ function hz_status_editor($a, $x, $popup = false) { $weblink = (($mimetype === 'text/bbcode') ? t('Insert web link') : false); if(x($x, 'hide_weblink')) $weblink = false; - + $embedPhotos = t('Embed (existing) photo from your photo albums'); $writefiles = (($mimetype === 'text/bbcode') ? perm_is_allowed($x['profile_uid'], get_observer_hash(), 'write_storage') : false); @@ -1366,9 +1369,9 @@ function hz_status_editor($a, $x, $popup = false) { $webpage = ((x($x,'webpage')) ? $x['webpage'] : ''); $reset = ((x($x,'reset')) ? $x['reset'] : ''); - + $feature_auto_save_draft = ((feature_enabled($x['profile_uid'], 'auto_save_draft')) ? "true" : "false"); - + $tpl = get_markup_template('jot-header.tpl'); $tplmacros = [ @@ -1394,7 +1397,7 @@ function hz_status_editor($a, $x, $popup = false) { '$reset' => $reset ]; - call_hooks('jot_header_tpl_filter',$tplmacros); + call_hooks('jot_header_tpl_filter',$tplmacros); App::$page['htmlhead'] .= replace_macros($tpl, $tplmacros); $tpl = get_markup_template('jot.tpl'); @@ -1421,7 +1424,7 @@ function hz_status_editor($a, $x, $popup = false) { $catsenabled = ((feature_enabled($x['profile_uid'], 'categories') && (! $webpage)) ? 'categories' : ''); // avoid illegal offset errors - if(! array_key_exists('permissions',$x)) + if(! array_key_exists('permissions',$x)) $x['permissions'] = [ 'allow_cid' => '', 'allow_gid' => '', 'deny_cid' => '', 'deny_gid' => '' ]; $jotplugins = ''; @@ -1514,6 +1517,7 @@ function hz_status_editor($a, $x, $popup = false) { '$parent' => ((array_key_exists('parent',$x) && $x['parent']) ? $x['parent'] : 0), '$reset' => $reset, '$is_owner' => ((local_channel() && (local_channel() == $x['profile_uid'])) ? true : false), + '$customjotheaders' => '', '$custommoretoolsdropdown' => '', '$custommoretoolsbuttons' => '', '$customsubmitright' => [] @@ -1539,7 +1543,7 @@ function get_item_children($arr, $parent) { $thr_parent = $item['thr_parent']; if($thr_parent == '') $thr_parent = $item['parent_mid']; - + if($thr_parent == $parent['mid']) { $item['children'] = get_item_children($arr, $item); $children[] = $item; @@ -1698,9 +1702,9 @@ function prepare_page($item) { return replace_macros(get_markup_template($tpl), array( '$body' => $body['html'] )); - + } - + $tpl = get_pconfig($item['uid'], 'system', 'pagetemplate'); if (! $tpl) $tpl = 'page_display.tpl'; diff --git a/include/dba/dba_driver.php b/include/dba/dba_driver.php index b96601fec..b96601fec 100755..100644 --- a/include/dba/dba_driver.php +++ b/include/dba/dba_driver.php diff --git a/include/dba/dba_pdo.php b/include/dba/dba_pdo.php index 49f741601..49f741601 100755..100644 --- a/include/dba/dba_pdo.php +++ b/include/dba/dba_pdo.php diff --git a/include/dir_fns.php b/include/dir_fns.php index f477b35dd..88a1bb74f 100644 --- a/include/dir_fns.php +++ b/include/dir_fns.php @@ -16,7 +16,6 @@ require_once('include/permissions.php'); * @return array */ function find_upstream_directory($dirmode) { - global $DIRECTORY_FALLBACK_SERVERS; $preferred = get_config('system','directory_server'); @@ -28,7 +27,7 @@ function find_upstream_directory($dirmode) { ); if(($r) && ($r[0]['site_flags'] & DIRECTORY_MODE_STANDALONE)) { $preferred = ''; - } + } } @@ -39,14 +38,16 @@ function find_upstream_directory($dirmode) { * from our list of directory servers. However, if we're a directory * server ourself, point at the local instance * We will then set this value so this should only ever happen once. - * Ideally there will be an admin setting to change to a different + * Ideally there will be an admin setting to change to a different * directory server if you don't like our choice or if circumstances change. */ + $directory_fallback_servers = get_directory_fallback_servers(); + $dirmode = intval(get_config('system','directory_mode')); if ($dirmode == DIRECTORY_MODE_NORMAL) { - $toss = mt_rand(0,count($DIRECTORY_FALLBACK_SERVERS)); - $preferred = $DIRECTORY_FALLBACK_SERVERS[$toss]; + $toss = mt_rand(0,count($directory_fallback_servers)); + $preferred = $directory_fallback_servers[$toss]; set_config('system','directory_server',$preferred); } else{ set_config('system','directory_server',z_root()); @@ -94,7 +95,7 @@ function get_directory_setting($observer, $setting) { $ret = get_config('directory', $setting); - // 'safemode' is the default if there is no observer or no established preference. + // 'safemode' is the default if there is no observer or no established preference. if($setting == 'safemode' && $ret === false) $ret = 1; @@ -152,8 +153,8 @@ function dir_sort_links() { * * Checks the directory mode of this hub to see if it is some form of directory server. If it is, * get the directory realm of this hub. Fetch a list of all other directory servers in this realm and request - * a directory sync packet. This will contain both directory updates and new ratings. Store these all in the DB. - * In the case of updates, we will query each of them asynchronously from a poller task. Ratings are stored + * a directory sync packet. This will contain both directory updates and new ratings. Store these all in the DB. + * In the case of updates, we will query each of them asynchronously from a poller task. Ratings are stored * directly if the rater's signature matches. * * @param int $dirmode; @@ -189,7 +190,7 @@ function sync_directories($dirmode) { [ 'site_url' => DIRECTORY_FALLBACK_MASTER, 'site_flags' => DIRECTORY_MODE_PRIMARY, - 'site_update' => NULL_DATE, + 'site_update' => NULL_DATE, 'site_directory' => DIRECTORY_FALLBACK_MASTER . '/dirsearch', 'site_realm' => DIRECTORY_REALM, 'site_valid' => 1, @@ -335,11 +336,11 @@ function update_directory_entry($ud) { // modify the directory search to only return zot6 entries, and also modify this function // to *only* fetch the zot6 entries. // Otherwise we'll be showing duplicates or have a mostly empty directory for a good chunk of - // the transition period. Directory server load will likely increase "moderately" during this transition. - // The one month counter begins when the primary directory has upgraded to a release which uses this code. + // the transition period. Directory server load will likely increase "moderately" during this transition. + // The one month counter begins when the primary directory has upgraded to a release which uses this code. // Hubzilla channels running traditional zot which have not upgraded can or will be dropped from the directory or // "not found" at the end of the transition period as the directory will only serve zot6 entries at that time. - + $uri = Webfinger::zot_url($ud['ud_addr']); if($uri) { $record = Zotfinger::exec($uri); @@ -347,8 +348,8 @@ function update_directory_entry($ud) { // Check the HTTP signature $hsig = $record['signature']; - if($hsig && $hsig['signer'] === $url && $hsig['header_valid'] === true && $hsig['content_valid'] === true) { - $x = \Zotlabs\Lib\Libzot::import_xchan($record['data'], 0, $ud); + if($hsig && $hsig['signer'] === $uri && $hsig['header_valid'] === true && $hsig['content_valid'] === true) { + $x = Libzot::import_xchan($record['data'], 0, $ud); if($x['success']) { $success = true; } @@ -394,7 +395,7 @@ function local_dir_update($uid, $force) { $profile['description'] = $p[0]['pdesc']; $profile['birthday'] = $p[0]['dob']; - if ($age = age($p[0]['dob'],$p[0]['channel_timezone'],'')) + if ($age = age($p[0]['dob'],$p[0]['channel_timezone'],'')) $profile['age'] = $age; $profile['gender'] = $p[0]['gender']; diff --git a/include/help.php b/include/help.php index affe64495..ebf1ccc08 100644 --- a/include/help.php +++ b/include/help.php @@ -299,7 +299,7 @@ function load_context_help() { break; array_pop($args); - $path = implode($args,'/'); + $path = implode('/', $args); } return $context_help; diff --git a/include/html2plain.php b/include/html2plain.php index 979354079..fde70bd01 100644 --- a/include/html2plain.php +++ b/include/html2plain.php @@ -40,7 +40,7 @@ function breaklines($line, $level, $wraplength = 75) $newlines[] = $line; - return(implode($newlines, "\n")); + return(implode("\n", $newlines)); } function quotelevel($message, $wraplength = 75) @@ -73,7 +73,7 @@ function quotelevel($message, $wraplength = 75) if (!$startquote or ($line != '')) $newlines[] = breaklines($line, $currlevel, $wraplength); } - return(implode($newlines, "\n")); + return(implode("\n", $newlines)); } function collecturls($message) { diff --git a/include/import.php b/include/import.php index d02cc1e1f..8ce582ede 100644 --- a/include/import.php +++ b/include/import.php @@ -1358,7 +1358,7 @@ function sync_files($channel, $files) { $headers = []; $headers['Accept'] = 'application/x-zot+json' ; $headers['Sigtoken'] = random_string(); - $headers = HTTPSig::create_sig($headers,$channel['channel_prvkey'], 'acct:' . channel_reddress($channel),true,'sha512'); + $headers = HTTPSig::create_sig($headers, $channel['channel_prvkey'], channel_url($channel), true, 'sha512'); $x = z_post_url($fetch_url,$parr,$redirects,[ 'filep' => $fp, 'headers' => $headers]); fclose($fp); @@ -1463,13 +1463,13 @@ function sync_files($channel, $files) { $headers = []; $headers['Accept'] = 'application/x-zot+json' ; $headers['Sigtoken'] = random_string(); - $headers = HTTPSig::create_sig($headers,$channel['channel_prvkey'],'acct:' . channel_reddress($channel),true,'sha512'); + $headers = HTTPSig::create_sig($headers, $channel['channel_prvkey'], channel_url($channel), true, 'sha512'); $x = z_post_url($fetch_url,$parr,$redirects,[ 'filep' => $fp, 'headers' => $headers]); fclose($fp); // Override remote hub thumbnails storage settings - if(! boolval(get_config('system','filesystem_storage_thumbnails', 0))) { + if(! boolval(get_config('system','photo_storage_type', 1))) { $p['os_storage'] = 0; $p['content'] = file_get_contents($stored_image); @unlink($stored_image); diff --git a/include/items.php b/include/items.php index 2426c189f..83108455f 100755..100644 --- a/include/items.php +++ b/include/items.php @@ -11,6 +11,7 @@ use Zotlabs\Lib\ThreadListener; use Zotlabs\Lib\IConfig; use Zotlabs\Lib\Activity; use Zotlabs\Lib\Libsync; +use Zotlabs\Lib\Libzot; use Zotlabs\Access\PermissionLimits; use Zotlabs\Access\PermissionRoles; use Zotlabs\Access\AccessList; @@ -130,7 +131,7 @@ function collect_recipients($item, &$private_envelope,$include_groups = true) { case 'sit': case 'any': case 'con': - if($rr['xchan_network'] != 'zot') + if(!in_array($rr['xchan_network'], ['zot6', 'zot'])) break; case 'pub': case '': @@ -790,8 +791,8 @@ function get_item_elements($x,$allow_code = false) { dbesc($arr['author_xchan']) ); if($r) { - if($r[0]['xchan_pubkey'] && $r[0]['xchan_network'] === 'zot') { - if(rsa_verify($x['body'],base64url_decode($arr['sig']),$r[0]['xchan_pubkey'])) { + if($r[0]['xchan_pubkey'] && $r[0]['xchan_network'] === 'zot6') { + if(Libzot::verify($x['body'], $arr['sig'], $r[0]['xchan_pubkey'])) { $arr['item_verified'] = 1; } else { @@ -2206,6 +2207,7 @@ function item_store_update($arr, $allow_exec = false, $deliver = true) { return $ret; } + // override the unseen flag with the original $arr['item_unseen'] = $orig[0]['item_unseen']; @@ -2672,6 +2674,11 @@ function tag_deliver($uid, $item_id) { } if ($is_group && intval($item['item_private']) === 2 && intval($item['item_thread_top'])) { + + // do not turn the groups own direkt messages into group items + if($item['item_wall'] && $item['author_xchan'] === $u[0]['channel_hash']) + return; + // group delivery via DM if(perm_is_allowed($uid,$item['owner_xchan'],'post_wall') || perm_is_allowed($uid,$item['owner_xchan'],'tag_deliver')) { logger('group DM delivery for ' . $u[0]['channel_address']); @@ -2682,6 +2689,12 @@ function tag_deliver($uid, $item_id) { if ($is_group && intval($item['item_thread_top']) && intval($item['item_wall']) && $item['author_xchan'] !== $item['owner_xchan']) { + + if($item['resource_type'] === 'group_item') { + logger('resource_type group_item: already shared'); + return; + } + if (strpos($item['body'],'[/share]')) { logger('W2W post already shared'); return; @@ -3113,11 +3126,12 @@ function tgroup_check($uid, $item) { } } } -*/ + if(! $found) { logger('tgroup_check: mention was in a reshare or exceeded max_tagged_forums - ignoring'); continue; } +*/ return true; } @@ -3203,16 +3217,18 @@ function start_delivery_chain($channel, $item, $item_id, $parent, $group = false $arr = []; if ($edit) { + // process edit or delete action - $r = q("select * from item where source_xchan = '%s' and body like '%s' and uid = %d limit 1", - dbesc($item['owner_xchan']), - dbesc("%message_id='" . $item['mid'] . "'%"), - intval($channel['channel_id']) + $r = q("select * from item where uid = %d and resource_id = '%s' and source_xchan = '%s' and resource_type = 'group_item' limit 1", + intval($channel['channel_id']), + dbesc($item['mid']), + dbesc($item['author_xchan']) ); + if ($r) { if (intval($item['item_deleted'])) { - drop_item($r[0]['id'],false,DROPITEM_PHASE1); - Master::Summon([ 'Notifier','drop',$r[0]['id'] ]); + drop_item($r[0]['id'], false, DROPITEM_PHASE1); + Master::Summon([ 'Notifier', 'drop', $r[0]['id'] ]); return; } $arr['id'] = intval($r[0]['id']); @@ -3242,6 +3258,9 @@ function start_delivery_chain($channel, $item, $item_id, $parent, $group = false $arr['item_uplink'] = 0; $arr['source_xchan'] = $item['owner_xchan']; + $arr['resource_id'] = $item['mid']; + $arr['resource_type'] = 'group_item'; + $arr['item_private'] = (($channel['channel_allow_cid'] || $channel['channel_allow_gid'] || $channel['channel_deny_cid'] || $channel['channel_deny_gid']) ? 1 : 0); @@ -3263,12 +3282,13 @@ function start_delivery_chain($channel, $item, $item_id, $parent, $group = false "' message_id='" . $item['mid'] . "']"; if($item['title']) - $bb .= '[b]'.$item['title'].'[/b]'."\r\n"; + $bb .= '[h3][b]'.$item['title'].'[/b][/h3]'."\r\n"; $bb .= $item['body']; $bb .= "[/share]"; } $arr['body'] = $bb; + $arr['term'] = $item['term']; $arr['author_xchan'] = $channel['channel_hash']; $arr['owner_xchan'] = $channel['channel_hash']; @@ -3950,10 +3970,10 @@ function drop_item($id,$interactive = true,$stage = DROPITEM_NORMAL) { ); if($items) { foreach($items as $i) - delete_item_lowlevel($i,$stage,$force); + delete_item_lowlevel($i, $stage); } else - delete_item_lowlevel($item,$stage,$force); + delete_item_lowlevel($item, $stage); if(! $interactive) return 1; @@ -3987,7 +4007,6 @@ function drop_item($id,$interactive = true,$stage = DROPITEM_NORMAL) { * * @param array $item * @param int $stage - * @param boolean $force * @return boolean */ function delete_item_lowlevel($item, $stage = DROPITEM_NORMAL) { @@ -4299,54 +4318,54 @@ function fetch_post_tags($items, $link = false) { */ function zot_feed($uid, $observer_hash, $arr) { - $result = array(); - $mindate = null; + $result = []; + $mindate = null; $message_id = null; - $wall = true; + $wall = true; require_once('include/security.php'); - if(array_key_exists('mindate',$arr)) { - $mindate = datetime_convert('UTC','UTC',$arr['mindate']); + if (array_key_exists('mindate', $arr)) { + $mindate = datetime_convert('UTC', 'UTC', $arr['mindate']); } - if(array_key_exists('message_id',$arr)) { + if (array_key_exists('message_id', $arr)) { $message_id = $arr['message_id']; } - if(array_key_exists('wall',$arr)) { + if (array_key_exists('wall', $arr)) { $wall = intval($arr['wall']); } - if(! $mindate) + if (!$mindate) $mindate = NULL_DATE; $mindate = dbesc($mindate); logger('zot_feed: requested for uid ' . $uid . ' from observer ' . $observer_hash, LOGGER_DEBUG); - if($message_id) - logger('message_id: ' . $message_id,LOGGER_DEBUG); + if ($message_id) + logger('message_id: ' . $message_id, LOGGER_DEBUG); - if(! perm_is_allowed($uid,$observer_hash,'view_stream')) { + if (!perm_is_allowed($uid, $observer_hash, 'view_stream')) { logger('zot_feed: permission denied.'); return $result; } - if(! is_sys_channel($uid)) - $sql_extra = item_permissions_sql($uid,$observer_hash); + if (!is_sys_channel($uid)) + $sql_extra = item_permissions_sql($uid, $observer_hash); $limit = " LIMIT 5000 "; - if($mindate > NULL_DATE) { + if ($mindate > NULL_DATE) { $sql_extra .= " and ( created > '$mindate' or changed > '$mindate' ) "; } - if($message_id) { + if ($message_id) { $sql_extra .= " and mid = '" . dbesc($message_id) . "' "; - $limit = ''; + $limit = ''; } - if($wall) { + if ($wall) { $sql_extra .= " and item_wall = 1 "; } @@ -4355,17 +4374,17 @@ function zot_feed($uid, $observer_hash, $arr) { $item_normal = item_normal(); - if(is_sys_channel($uid)) { + if (is_sys_channel($uid)) { - $nonsys_uids = q("SELECT channel_id FROM channel WHERE channel_system = 0"); - $nonsys_uids_str = ids_to_querystr($nonsys_uids,'channel_id'); + $nonsys_uids = q("SELECT channel_id FROM channel WHERE channel_system = 0"); + $nonsys_uids_str = ids_to_querystr($nonsys_uids, 'channel_id'); $r = q("SELECT parent, postopts FROM item WHERE uid IN ( %s ) AND item_private = 0 $item_normal $sql_extra ORDER BY created ASC $limit", - intval($nonsys_uids_str) + dbesc($nonsys_uids_str) ); } else { @@ -4379,19 +4398,19 @@ function zot_feed($uid, $observer_hash, $arr) { $parents = []; - if($r) { - foreach($r as $rv) { - if(array_key_exists($rv['parent'],$parents)) + if ($r) { + foreach ($r as $rv) { + if (array_key_exists($rv['parent'], $parents)) continue; - if(strpos($rv['postopts'],'nodeliver') !== false) + if (strpos($rv['postopts'], 'nodeliver') !== false) continue; $parents[$rv['parent']] = $rv; - if(count($parents) > 200) + if (count($parents) > 200) break; } - $parents_str = ids_to_querystr($parents,'parent'); - $sys_query = ((is_sys_channel($uid)) ? $sql_extra : ''); + $parents_str = ids_to_querystr($parents, 'parent'); + $sys_query = ((is_sys_channel($uid)) ? $sql_extra : ''); $item_normal = item_normal(); $items = q("SELECT item.*, item.id AS item_id FROM item @@ -4400,25 +4419,23 @@ function zot_feed($uid, $observer_hash, $arr) { ); } - if($items) { + if ($items) { xchan_query($items); $items = fetch_post_tags($items); require_once('include/conversation.php'); - $items = conv_sort($items,'ascending'); + $items = conv_sort($items, 'ascending'); } else - $items = array(); + $items = []; - logger('zot_feed: number items: ' . count($items),LOGGER_DEBUG); + logger('zot_feed: number items: ' . count($items), LOGGER_DEBUG); - foreach($items as $item) + foreach ($items as $item) $result[] = encode_item($item); return $result; } - - function items_fetch($arr,$channel = null,$observer_hash = null,$client_mode = CLIENT_MODE_NORMAL,$module = 'network') { $result = array('success' => false); @@ -4458,7 +4475,7 @@ function items_fetch($arr,$channel = null,$observer_hash = null,$client_mode = C $sql_extra = " AND item.parent IN ( SELECT parent FROM item WHERE $item_uids and item_thread_top = 1 $sql_options $item_normal ) "; if($arr['since_id']) - $sql_extra .= " and item.id > " . $since_id . " "; + $sql_extra .= " and item.id > " . intval($arr['since_id']) . " "; if($arr['cat']) $sql_extra .= protect_sprintf(term_query('item', $arr['cat'], TERM_CATEGORY)); @@ -4543,9 +4560,11 @@ function items_fetch($arr,$channel = null,$observer_hash = null,$client_mode = C // only setup pagination on initial page view $pager_sql = ''; } else { - $itemspage = (($channel) ? get_pconfig($uid,'system','itemspage') : 10); - App::set_pager_itemspage(((intval($itemspage)) ? $itemspage : 10)); - $pager_sql = sprintf(" LIMIT %d OFFSET %d ", intval(App::$pager['itemspage']), intval(App::$pager['start'])); + if(! $arr['total']) { + $itemspage = (($channel) ? get_pconfig($uid,'system','itemspage') : 10); + App::set_pager_itemspage(((intval($itemspage)) ? $itemspage : 10)); + $pager_sql = sprintf(" LIMIT %d OFFSET %d ", intval(App::$pager['itemspage']), intval(App::$pager['start'])); + } } if (isset($arr['start']) && isset($arr['records'])) @@ -4581,7 +4600,6 @@ function items_fetch($arr,$channel = null,$observer_hash = null,$client_mode = C require_once('include/security.php'); $sql_extra .= item_permissions_sql($channel['channel_id'],$observer_hash); - if($arr['pages']) $item_restrict = " AND item_type = " . ITEM_TYPE_WEBPAGE . " "; else @@ -4594,11 +4612,23 @@ function items_fetch($arr,$channel = null,$observer_hash = null,$client_mode = C // "New Item View" - show all items unthreaded in reverse created date order - $items = q("SELECT item.*, item.id AS item_id FROM item + if ($arr['total']) { + $items = dbq("SELECT count(item.id) AS total FROM item WHERE $item_uids $item_restrict $simple_update - $sql_extra $sql_nets $sql_extra3 - ORDER BY item.received DESC $pager_sql" + $sql_extra $sql_nets $sql_extra3" + ); + if ($items) { + return intval($items[0]['total']); + } + return 0; + } + + $items = dbq("SELECT item.*, item.id AS item_id FROM item + WHERE $item_uids $item_restrict + $simple_update + $sql_extra $sql_nets $sql_extra3 + ORDER BY item.received DESC $pager_sql" ); require_once('include/items.php'); @@ -4619,7 +4649,7 @@ function items_fetch($arr,$channel = null,$observer_hash = null,$client_mode = C // Fetch a page full of parent items for this page - $r = q("SELECT distinct item.id AS item_id, item.$ordering FROM item + $r = dbq("SELECT distinct item.id AS item_id, item.$ordering FROM item left join abook on item.author_xchan = abook.abook_xchan WHERE $item_uids $item_restrict AND item.parent = item.id @@ -4630,7 +4660,7 @@ function items_fetch($arr,$channel = null,$observer_hash = null,$client_mode = C } else { // update - $r = q("SELECT item.parent AS item_id FROM item + $r = dbq("SELECT item.parent AS item_id FROM item left join abook on item.author_xchan = abook.abook_xchan WHERE $item_uids $item_restrict $simple_update and (abook.abook_blocked = 0 or abook.abook_flags is null) @@ -4705,7 +4735,7 @@ function webpage_to_namespace($webpage) { function update_remote_id($channel,$post_id,$webpage,$pagetitle,$namespace,$remote_id,$mid) { - if(! $post_id) + if(! intval($post_id)) return; $page_type = webpage_to_namespace($webpage); @@ -4727,7 +4757,7 @@ function update_remote_id($channel,$post_id,$webpage,$pagetitle,$namespace,$remo // as the entire mid. If it were the post_id the link would be less portable. IConfig::Set( - intval($post_id), + $post_id, 'system', $page_type, ($pagetitle) ? $pagetitle : substr($mid,0,16), diff --git a/include/js_strings.php b/include/js_strings.php index 6f559f4c4..e06e105fd 100644 --- a/include/js_strings.php +++ b/include/js_strings.php @@ -47,10 +47,10 @@ function js_strings() { 'days' => tt('%d days', '%d days', '%d'), 'months' => tt('%d months', '%d months', '%d'), 'years' => tt('%d years', '%d years', '%d'), - + // get plural function code 'plural_func' => tf(), - + '$t01' => ((t('timeago.prefixAgo') == 'timeago.prefixAgo') ? '' : ((t('timeago.prefixAgo') == 'NONE') ? '' : t('timeago.prefixAgo'))), '$t02' => ((t('timeago.prefixFromNow') == 'timeago.prefixFromNow') ? '' : ((t('timeago.prefixFromNow') == 'NONE') ? '' : t('timeago.prefixFromNow'))), '$t03' => ((t('timeago.suffixAgo') == 'timeago.suffixAgo') ? 'ago' : ((t('timeago.suffixAgo') == 'NONE') ? '' : t('timeago.suffixAgo'))), @@ -113,6 +113,9 @@ function js_strings() { '$month' => t('month','calendar'), '$week' => t('week','calendar'), '$day' => t('day','calendar'), - '$allday' => t('All day','calendar') + '$allday' => t('All day','calendar'), + + // mod cloud + '$download_info' => t('Please stand by while your download is being prepared.') )); } diff --git a/include/network.php b/include/network.php index bcd66cf85..f5ff48fce 100644 --- a/include/network.php +++ b/include/network.php @@ -1,8 +1,10 @@ <?php +use Zotlabs\Lib\LDSignatures; use Zotlabs\Lib\Zotfinger; use Zotlabs\Lib\Libzot; use Zotlabs\Lib\Queue; +use Zotlabs\Web\HTTPSig; /** * @file include/network.php @@ -404,6 +406,31 @@ function json_return_and_die($x, $content_type = 'application/json') { killme(); } +function as_return_and_die($obj,$channel) { + + $x = array_merge(['@context' => [ + ACTIVITYSTREAMS_JSONLD_REV, + 'https://w3id.org/security/v1', + z_root() . ZOT_APSCHEMA_REV + ]], $obj ); + + $headers = []; + $headers['Content-Type'] = 'application/ld+json; profile="https://www.w3.org/ns/activitystreams"' ; + $x['signature'] = LDSignatures::sign($x,$channel); + $ret = json_encode($x, JSON_UNESCAPED_SLASHES); + logger('data: ' . jindent($ret), LOGGER_DATA); + $headers['Date'] = datetime_convert('UTC','UTC', 'now', 'D, d M Y H:i:s \\G\\M\\T'); + $headers['Digest'] = HTTPSig::generate_digest_header($ret); + $headers['(request-target)'] = strtolower($_SERVER['REQUEST_METHOD']) . ' ' . $_SERVER['REQUEST_URI']; + + $h = HTTPSig::create_sig($headers,$channel['channel_prvkey'],channel_url($channel)); + HTTPSig::set_headers($h); + + echo $ret; + killme(); + +} + /** * @brief Send HTTP status header. * @@ -714,7 +741,7 @@ function sxml2array ( $xmlObject, $out = array () ) * @brief xml2array() will convert the given XML text to an array in the XML structure. * * Link: http://www.bin-co.com/php/scripts/xml2array/ - * Portions significantly re-written by mike@macgirvin.com + * Portions significantly re-written by mike@macgirvin.com * (namespaces, lowercase tags, get_attribute default changed, more...) * * Examples: $array = xml2array(file_get_contents('feed.xml')); @@ -1113,8 +1140,8 @@ function discover_by_webbie($webbie, $protocol = '') { // Check the HTTP signature $hsig = $record['signature']; - if($hsig && ($hsig['signer'] === $url || $hsig['signer'] === $link['href']) && $hsig['header_valid'] === true && $hsig['content_valid'] === true) - $hsig_valid = true; + if($hsig && $hsig['signer'] === $link['href'] && $hsig['header_valid'] === true && $hsig['content_valid'] === true) + $hsig_valid = true; if(! $hsig_valid) { logger('http signature not valid: ' . print_r($hsig,true)); @@ -1431,7 +1458,7 @@ function scrape_feed($url) { function do_delivery($deliveries, $force = false) { // $force is set if a site that wasn't responding suddenly returns to life. - // Try and shove through everything going to that site while it's responding. + // Try and shove through everything going to that site while it's responding. if(! (is_array($deliveries) && count($deliveries))) return; @@ -1978,7 +2005,7 @@ function getBestSupportedMimeType($mimeTypes = null, $acceptedTypes = false) { // check if there is a different quality if (strpos($a, ';q=')) { // divide "mime/type;q=X" into two parts: "mime/type" i "X" - list($a, $q) = explode(';q=', $a); + [$a, $q] = explode(';q=', $a); } // mime-type $a is accepted with the quality $q // WARNING: $q == 0 means, that mime-type isn’t supported! @@ -2069,7 +2096,7 @@ function get_request_string($url) { * Takes the output of parse_url and builds a URL from it * */ - + function unparse_url($parsed_url) { $scheme = isset($parsed_url['scheme']) ? $parsed_url['scheme'] . '://' : ''; $host = isset($parsed_url['host']) ? $parsed_url['host'] : ''; @@ -2081,4 +2108,4 @@ function unparse_url($parsed_url) { $query = isset($parsed_url['query']) ? '?' . $parsed_url['query'] : ''; $fragment = isset($parsed_url['fragment']) ? '#' . $parsed_url['fragment'] : ''; return "$scheme$user$pass$host$port$path$query$fragment"; -} +} diff --git a/include/oembed.php b/include/oembed.php index eeae7a174..1550eaacf 100755..100644 --- a/include/oembed.php +++ b/include/oembed.php @@ -189,6 +189,13 @@ function oembed_fetch_url($embedurl){ $entries = $xpath->query("//link[@type='application/json+oembed']"); foreach($entries as $e){ $href = $e->getAttributeNode("href")->nodeValue; + + // Youtube will happily hand us an http oembed URL even if we specify an https link; and the returned http link will fail with a 40x if you try and fetch it + // This is not our bug, but good luck getting google to fix it. + if (strpos($href,'http:') === 0 && strpos($href,'youtu') !== false) { + $href = str_replace('http:','https:', $href); + } + $x = z_fetch_url($href . '&maxwidth=' . App::$videowidth); if($x['success']) $txt = $x['body']; diff --git a/include/photo/photo_driver.php b/include/photo/photo_driver.php index f61919eea..87b1d96fe 100644 --- a/include/photo/photo_driver.php +++ b/include/photo/photo_driver.php @@ -64,15 +64,23 @@ function photo_factory($data, $type = null) { * * @param string $filename * Image filename - * @param string $headers (optional) - * Headers to check for Content-Type (from curl request) + * @param string $data (optional) + * Data array fetched from cURL with z_fetch_url * @return null|string Guessed mimetype */ -function guess_image_type($filename, $headers = '') { -// logger('Photo: guess_image_type: '.$filename . ($headers?' from curl headers':''), LOGGER_DEBUG); +function guess_image_type($filename, $data = '') { + + if($data) + $headers = (is_array($data) ? $data['header'] : $data); + + // logger('Photo: guess_image_type: '.$filename . ($headers?' from curl headers':''), LOGGER_DEBUG); + $type = null; $m = null; + $ph = photo_factory(''); + $types = $ph->supportedTypes(); + if($headers) { $hdrs = []; $h = explode("\n", $headers); @@ -81,19 +89,14 @@ function guess_image_type($filename, $headers = '') { $hdrs[strtolower($k)] = $v; } logger('Curl headers: ' .var_export($hdrs, true), LOGGER_DEBUG); - if(array_key_exists('content-type', $hdrs)) { - $ph = photo_factory(''); - $types = $ph->supportedTypes(); - - if(array_key_exists($hdrs['content-type'], $types)) - $type = $hdrs['content-type']; - } + if(array_key_exists('content-type', $hdrs) && array_key_exists($hdrs['content-type'], $types)) + $type = $hdrs['content-type']; } if(is_null($type)){ $ignore_imagick = get_config('system', 'ignore_imagick'); // Guessing from extension? Isn't that... dangerous? - if(class_exists('Imagick') && file_exists($filename) && is_readable($filename) && !$ignore_imagick) { + if(class_exists('Imagick') && ! $ignore_imagick) { $v = Imagick::getVersion(); preg_match('/ImageMagick ([0-9]+\.[0-9]+\.[0-9]+)/', $v['versionString'], $m); if(version_compare($m[1], '6.6.7') >= 0) { @@ -102,8 +105,18 @@ function guess_image_type($filename, $headers = '') { * but at least it comes from the data inside the image, * we won't be tricked by a manipulated extension */ - $image = new Imagick($filename); - $type = $image->getImageMimeType(); + $body = false; + if (strpos($filename, 'http') === false && file_exists($filename) && is_readable($filename)) + $body == file_get_contents($filename); + elseif (is_array($data) && array_key_exists('body', $data)) + $body = $data['body']; + if ($body) { + $image = new Imagick($filename); + $image->readImageBlob($body); + $r = $image->identifyImage(); + if ($r && is_array($r) && array_key_exists($r['mimetype'], $types)) + $type = $r['mimetype']; + } } else { // earlier imagick versions have issues with scaling png's @@ -115,8 +128,6 @@ function guess_image_type($filename, $headers = '') { if(is_null($type)) { $ext = pathinfo($filename, PATHINFO_EXTENSION); - $ph = photo_factory(''); - $types = $ph->supportedTypes(); foreach($types as $m => $e) { if($ext === $e) { $type = $m; @@ -124,12 +135,12 @@ function guess_image_type($filename, $headers = '') { } } - if(is_null($type) && (strpos($filename, 'http') === false)) { + if(is_null($type) && strpos($filename, 'http') === 0) { $size = getimagesize($filename); - $ph = photo_factory(''); - $types = $ph->supportedTypes(); - $type = ((array_key_exists($size['mime'], $types)) ? $size['mime'] : 'image/jpeg'); + if (array_key_exists($size['mime'], $types)) + $type = $size['mime']; } + if(is_null($type)) { if(strpos(strtolower($filename),'jpg') !== false) $type = 'image/jpeg'; @@ -139,8 +150,8 @@ function guess_image_type($filename, $headers = '') { $type = 'image/gif'; elseif(strpos(strtolower($filename),'png') !== false) $type = 'image/png'; - elseif(strpos(strtolower($filename),'webp') !== false) - $type = 'image/webp'; + elseif(strpos(strtolower($filename),'webp') !== false) + $type = 'image/webp'; } } @@ -205,7 +216,11 @@ function import_xchan_photo($photo, $xchan, $thing = false, $force = false) { if($thing) $hash = photo_new_resource(); else { - $r = q("SELECT resource_id, edited, mimetype, expires, description FROM photo WHERE xchan = '%s' AND photo_usage = %d AND imgscale = 4 LIMIT 1", dbesc($xchan), intval(PHOTO_XCHAN)); + $r = q("SELECT resource_id, edited, mimetype, expires, description FROM photo WHERE xchan = '%s' AND photo_usage = %d AND imgscale = %d LIMIT 1", + dbesc($xchan), + intval(PHOTO_XCHAN), + intval(PHOTO_RES_PROFILE_300) + ); if($r) { $hash = $r[0]['resource_id']; $modified = $r[0]['edited']; @@ -220,7 +235,7 @@ function import_xchan_photo($photo, $xchan, $thing = false, $force = false) { $photo_failure = false; $img_str = ''; - if($photo) { + if($photo && strpos($photo, z_root() . '/' . get_default_profile_photo()) === false) { if($force || empty($modified)) $result = z_fetch_url($photo, true); @@ -260,7 +275,7 @@ function import_xchan_photo($photo, $xchan, $thing = false, $force = false) { if($result['success']) { $img_str = $result['body']; - $type = guess_image_type($photo, $result['header']); + $type = guess_image_type($photo, $result); if(is_null($type)) $photo_failure = true; } @@ -316,26 +331,20 @@ function import_xchan_photo($photo, $xchan, $thing = false, $force = false) { 'filename' => basename($photo), 'album' => $album, 'photo_usage' => $flags, - 'imgscale' => 4, 'edited' => $modified, 'description' => (array_key_exists('etag', $hdrs) ? $hdrs['etag'] : ''), 'expires' => gmdate('Y-m-d H:i:s', (isset($expires) ? $expires : time() + 86400)) ]; - $r = $img->save($p); - if($r === false) - $photo_failure = true; + $r1 = $img->storeThumbnail($p, PHOTO_RES_PROFILE_300); $img->scaleImage(80); - $p['imgscale'] = 5; - $r = $img->save($p); - if($r === false) - $photo_failure = true; + $r2 = $img->storeThumbnail($p, PHOTO_RES_PROFILE_80); $img->scaleImage(48); - $p['imgscale'] = 6; - $r = $img->save($p); - if($r === false) + $r3 = $img->storeThumbnail($p, PHOTO_RES_PROFILE_48); + + if($r1 === false || $r2 === false || $r3 === false) $photo_failure = true; $photo = z_root() . '/photo/' . $hash . '-4'; @@ -379,8 +388,7 @@ function import_channel_photo_from_url($photo, $aid, $uid) { if($result['success']) { $img_str = $result['body']; - $type = guess_image_type($photo, $result['header']); - + $type = guess_image_type($photo, $result); import_channel_photo($img_str, $type, $aid, $uid); } } @@ -401,8 +409,17 @@ function import_channel_photo($photo, $type, $aid, $uid) { logger('Importing channel photo for ' . $uid, LOGGER_DEBUG); + $r = q("SELECT resource_id FROM photo WHERE uid = %d AND photo_usage = %d AND imgscale = %d", + intval($uid), + intval(PHOTO_PROFILE), + intval(PHOTO_RES_PROFILE_300) + ); + if ($r) + $hash = $r[0]['resource_id']; + else + $hash = photo_new_resource(); + $photo_failure = false; - $hash = photo_new_resource(); $filename = $hash; $img = photo_factory($photo, $type); @@ -415,31 +432,26 @@ function import_channel_photo($photo, $type, $aid, $uid) { 'resource_id' => $hash, 'filename' => $filename, 'album' => t('Profile Photos'), - 'photo_usage' => PHOTO_PROFILE, - 'imgscale' => 4, + 'photo_usage' => PHOTO_PROFILE ]; // photo size $img->scaleImageSquare(300); - $r = $img->save($p); - if($r === false) - $photo_failure = true; + $r1 = $img->storeThumbnail($p, PHOTO_RES_PROFILE_300); // thumb size $img->scaleImage(80); - $p['imgscale'] = 5; - $r = $img->save($p); - if($r === false) - $photo_failure = true; + $r2 = $img->storeThumbnail($p, PHOTO_RES_PROFILE_80); // micro size $img->scaleImage(48); - $p['imgscale'] = 6; - $r = $img->save($p); - if($r === false) + $r3 = $img->storeThumbnail($p, PHOTO_RES_PROFILE_48); + + if($r1 === false || $r2 === false || $r3 === false) $photo_failure = true; - } else { + } + else { logger('Invalid image.'); $photo_failure = true; } diff --git a/include/plugin.php b/include/plugin.php index c789ad522..c789ad522 100755..100644 --- a/include/plugin.php +++ b/include/plugin.php diff --git a/include/security.php b/include/security.php index c9df00f1e..40905925f 100644 --- a/include/security.php +++ b/include/security.php @@ -19,26 +19,26 @@ function authenticate_success($user_record, $channel = null, $login_initial = fa $lastlog_updated = false; - if(x($user_record, 'account_id')) { + if (x($user_record, 'account_id')) { App::$account = $user_record; $_SESSION['account_id'] = $user_record['account_id']; $_SESSION['authenticated'] = 1; - if($channel) + if ($channel) $uid_to_load = $channel['channel_id']; - if(! $uid_to_load) { - $uid_to_load = (((x($_SESSION,'uid')) && (intval($_SESSION['uid']))) + if (!$uid_to_load) { + $uid_to_load = (((x($_SESSION, 'uid')) && (intval($_SESSION['uid']))) ? intval($_SESSION['uid']) : intval(App::$account['account_default_channel']) ); } - if($uid_to_load) { + if ($uid_to_load) { change_channel($uid_to_load); } - if($login_initial || $update_lastlog) { + if ($login_initial || $update_lastlog) { q("update account set account_lastlog = '%s' where account_id = %d", dbesc(datetime_convert()), intval($_SESSION['account_id']) @@ -50,24 +50,24 @@ function authenticate_success($user_record, $channel = null, $login_initial = fa } - if(($login_initial) && (! $lastlog_updated)) { + if (($login_initial) && (!$lastlog_updated)) { call_hooks('logged_in', $user_record); // might want to log success here } - if($return || x($_SESSION, 'workflow')) { + if ($return || x($_SESSION, 'workflow')) { unset($_SESSION['workflow']); return; } - if((App::$module !== 'home') && x($_SESSION,'login_return_url') && strlen($_SESSION['login_return_url'])) { + if ((App::$module !== 'home') && x($_SESSION, 'login_return_url') && strlen($_SESSION['login_return_url'])) { $return_url = $_SESSION['login_return_url']; // don't let members get redirected to a raw ajax page update - this can happen // if DHCP changes the IP address at an unfortunate time and paranoia is turned on - if(strstr($return_url,'update_')) + if (strstr($return_url, 'update_')) $return_url = ''; unset($_SESSION['login_return_url']); @@ -76,11 +76,11 @@ function authenticate_success($user_record, $channel = null, $login_initial = fa /* This account has never created a channel. Send them to new_channel by default */ - if(App::$module === 'login') { + if (App::$module === 'login') { $r = q("select count(channel_id) as total from channel where channel_account_id = %d and channel_removed = 0 ", intval(App::$account['account_id']) ); - if(($r) && (! $r[0]['total'])) + if (($r) && (!$r[0]['total'])) goaway(z_root() . '/new_channel'); } @@ -88,14 +88,14 @@ function authenticate_success($user_record, $channel = null, $login_initial = fa } function atoken_login($atoken) { - if(! $atoken) + if (!$atoken) return false; $_SESSION['authenticated'] = 1; $_SESSION['visitor_id'] = $atoken['xchan_hash']; $_SESSION['atoken'] = $atoken['atoken_id']; - \App::set_observer($atoken); + App::set_observer($atoken); return true; } @@ -109,14 +109,14 @@ function atoken_login($atoken) { function atoken_xchan($atoken) { $c = channelx_by_n($atoken['atoken_uid']); - if($c) { + if ($c) { return [ 'atoken_id' => $atoken['atoken_id'], - 'xchan_hash' => substr($c['channel_hash'],0,16) . '.' . $atoken['atoken_name'], + 'xchan_hash' => substr($c['channel_hash'], 0, 16) . '.' . $atoken['atoken_name'], 'xchan_name' => $atoken['atoken_name'], - 'xchan_addr' => 'guest:' . $atoken['atoken_name'] . '@' . \App::get_hostname(), + 'xchan_addr' => 'guest:' . $atoken['atoken_name'] . '@' . App::get_hostname(), 'xchan_network' => 'unknown', - 'xchan_url' => z_root() . '/guest/' . substr($c['channel_hash'],0,16) . '.' . $atoken['atoken_name'], + 'xchan_url' => z_root() . '/guest/' . substr($c['channel_hash'], 0, 16) . '.' . $atoken['atoken_name'], 'xchan_hidden' => 1, 'xchan_photo_mimetype' => 'image/png', 'xchan_photo_l' => z_root() . '/' . get_default_profile_photo(300), @@ -133,16 +133,16 @@ function atoken_delete($atoken_id) { $r = q("select * from atoken where atoken_id = %d", intval($atoken_id) ); - if(! $r) + if (!$r) return; $c = q("select channel_id, channel_hash from channel where channel_id = %d", intval($r[0]['atoken_uid']) ); - if(! $c) + if (!$c) return; - $atoken_xchan = substr($c[0]['channel_hash'],0,16) . '.' . $r[0]['atoken_name']; + $atoken_xchan = substr($c[0]['channel_hash'], 0, 16) . '.' . $r[0]['atoken_name']; q("delete from atoken where atoken_id = %d", intval($atoken_id) @@ -168,41 +168,41 @@ function atoken_create_xchan($xchan) { $r = q("select xchan_hash from xchan where xchan_hash = '%s'", dbesc($xchan['xchan_hash']) ); - if($r) + if ($r) return; $xchan['xchan_guid'] = $xchan['xchan_hash']; $store = []; - foreach($xchan as $k => $v) { - if(strpos($k,'xchan_') === 0) { + foreach ($xchan as $k => $v) { + if (strpos($k, 'xchan_') === 0) { $store[$k] = $v; } } - - $r = xchan_store_lowlevel($store); + + xchan_store_lowlevel($store); return true; } -function atoken_abook($uid,$xchan_hash) { +function atoken_abook($uid, $xchan_hash) { - if(substr($xchan_hash,16,1) != '.') + if (substr($xchan_hash, 16, 1) != '.') return false; $r = q("select channel_hash from channel where channel_id = %d limit 1", intval($uid) ); - if(! $r) + if (!$r) return false; $x = q("select * from atoken where atoken_uid = %d and atoken_name = '%s'", intval($uid), - dbesc(substr($xchan_hash,17)) + dbesc(substr($xchan_hash, 17)) ); - if($x) { + if ($x) { $xchan = atoken_xchan($x[0]); $xchan['abook_blocked'] = 0; $xchan['abook_ignored'] = 0; @@ -215,12 +215,12 @@ function atoken_abook($uid,$xchan_hash) { function pseudo_abook($xchan) { - if(! $xchan) + if (!$xchan) return false; // set abook_pseudo to flag that we aren't really connected. - $xchan['abook_pseudo'] = 1; + $xchan['abook_pseudo'] = 1; $xchan['abook_blocked'] = 0; $xchan['abook_ignored'] = 0; $xchan['abook_pending'] = 0; @@ -240,7 +240,7 @@ function change_channel($change_channel) { $ret = false; - if($change_channel) { + if ($change_channel) { $r = q("select channel.*, xchan.* from channel left join xchan on channel.channel_hash = xchan.xchan_hash where channel_id = %d and channel_account_id = %d and channel_removed = 0 limit 1", intval($change_channel), @@ -249,7 +249,7 @@ function change_channel($change_channel) { // It's not there. Is this an administrator, and is this the sys channel? if (is_developer()) { - if (! $r) { + if (!$r) { if (is_site_admin()) { $r = q("select channel.*, xchan.* from channel left join xchan on channel.channel_hash = xchan.xchan_hash where channel_id = %d and channel_system = 1 and channel_removed = 0 limit 1", intval($change_channel) @@ -258,19 +258,19 @@ function change_channel($change_channel) { } } - if($r) { + if ($r) { $hash = $r[0]['channel_hash']; $_SESSION['uid'] = intval($r[0]['channel_id']); App::set_channel($r[0]); $_SESSION['theme'] = $r[0]['channel_theme']; - $_SESSION['mobile_theme'] = get_pconfig(local_channel(),'system', 'mobile_theme'); - $_SESSION['cloud_tiles'] = get_pconfig(local_channel(),'system', 'cloud_tiles'); + $_SESSION['mobile_theme'] = get_pconfig(local_channel(), 'system', 'mobile_theme'); + $_SESSION['cloud_tiles'] = get_pconfig(local_channel(), 'system', 'cloud_tiles'); date_default_timezone_set($r[0]['channel_timezone']); // Update the active timestamp at most once a day - if(substr($r[0]['channel_active'],0,10) !== substr(datetime_convert(),0,10)) { - $z = q("UPDATE channel SET channel_active = '%s' WHERE channel_id = %d", + if (substr($r[0]['channel_active'], 0, 10) !== substr(datetime_convert(), 0, 10)) { + q("UPDATE channel SET channel_active = '%s' WHERE channel_id = %d", dbesc(datetime_convert()), intval($r[0]['channel_id']) ); @@ -280,17 +280,17 @@ function change_channel($change_channel) { $x = q("select * from xchan where xchan_hash = '%s' limit 1", dbesc($hash) ); - if($x) { + if ($x) { $_SESSION['my_url'] = $x[0]['xchan_url']; $_SESSION['my_address'] = channel_reddress($r[0]); App::set_observer($x[0]); App::set_perms(get_all_perms(local_channel(), $hash)); } - if(! is_dir('store/' . $r[0]['channel_address'])) - @os_mkdir('store/' . $r[0]['channel_address'], STORAGE_DEFAULT_PERMISSIONS,true); + if (!is_dir('store/' . $r[0]['channel_address'])) + @os_mkdir('store/' . $r[0]['channel_address'], STORAGE_DEFAULT_PERMISSIONS, true); - $arr = [ 'channel_id' => $change_channel, 'chanx' => $ret ]; + $arr = ['channel_id' => $change_channel, 'chanx' => $ret]; call_hooks('change_channel', $arr); } @@ -333,18 +333,17 @@ function permissions_sql($owner_id, $remote_observer = null, $table = '') { if (($local_channel) && ($local_channel == $owner_id)) { return EMPTY_STR; } - /** - * Authenticated visitor. + * Authenticated visitor. */ else { - $observer = ((! is_null($remote_observer)) ? $remote_observer : get_observer_hash()); + $observer = ((!is_null($remote_observer)) ? $remote_observer : get_observer_hash()); if ($observer) { - $sec = get_security_ids($owner_id,$observer); + $sec = get_security_ids($owner_id, $observer); // always allow the channel owner, even if authenticated as a visitor @@ -354,14 +353,14 @@ function permissions_sql($owner_id, $remote_observer = null, $table = '') { return EMPTY_STR; } } - } + } if (is_array($sec['allow_cid']) && count($sec['allow_cid'])) { $ca = []; foreach ($sec['allow_cid'] as $c) { $ca[] = '<' . $c . '>'; } - $cs = implode('|',$ca); + $cs = implode('|', $ca); } else { $cs = '<<>>'; // should be impossible to match @@ -372,7 +371,7 @@ function permissions_sql($owner_id, $remote_observer = null, $table = '') { foreach ($sec['allow_gid'] as $g) { $ga[] = '<' . $g . '>'; } - $gs = implode('|',$ga); + $gs = implode('|', $ga); } else { $gs = '<<>>'; // should be impossible to match @@ -420,39 +419,38 @@ function item_permissions_sql($owner_id, $remote_observer = null) { * Profile owner - everything is visible */ - if(($local_channel) && ($local_channel == $owner_id)) { + if (($local_channel) && ($local_channel == $owner_id)) { $sql = ''; } - /** - * Authenticated visitor. + * Authenticated visitor. */ else { - $observer = (($remote_observer) ? $remote_observer : get_observer_hash()); + $observer = (($remote_observer) ? $remote_observer : get_observer_hash()); - if($observer) { + if ($observer) { - $scope = scopes_sql($owner_id,$observer); - $sec = get_security_ids($owner_id,$observer); + $scope = scopes_sql($owner_id, $observer); + $sec = get_security_ids($owner_id, $observer); // always allow the channel owner, even if authenticated as a visitor - if($sec['channel_id']) { - foreach($sec['channel_id'] as $ch) { - if($observer === $ch) { + if ($sec['channel_id']) { + foreach ($sec['channel_id'] as $ch) { + if ($observer === $ch) { return EMPTY_STR; } } - } + } if (is_array($sec['allow_cid']) && count($sec['allow_cid'])) { $ca = []; foreach ($sec['allow_cid'] as $c) { $ca[] = '<' . $c . '>'; } - $cs = implode('|',$ca); + $cs = implode('|', $ca); } else { $cs = '<<>>'; // should be impossible to match @@ -463,7 +461,7 @@ function item_permissions_sql($owner_id, $remote_observer = null) { foreach ($sec['allow_gid'] as $g) { $ga[] = '<' . $g . '>'; } - $gs = implode('|',$ga); + $gs = implode('|', $ga); } else { $gs = '<<>>'; // should be impossible to match @@ -493,21 +491,20 @@ function item_permissions_sql($owner_id, $remote_observer = null) { */ - -function scopes_sql($uid,$observer) { +function scopes_sql($uid, $observer) { $str = " and ( public_policy = 'authenticated' "; - if(! is_foreigner($observer)) + if (!is_foreigner($observer)) $str .= " or public_policy = 'network: red' "; - if(local_channel()) + if (local_channel()) $str .= " or public_policy = 'site: " . App::get_hostname() . "' "; $ab = q("select * from abook where abook_xchan = '%s' and abook_channel = %d limit 1", dbesc($observer), intval($uid) ); - if(! $ab) + if (!$ab) return $str . " ) "; - if($ab[0]['abook_pending']) + if ($ab[0]['abook_pending']) $str .= " or public_policy = 'any connections' "; $str .= " or public_policy = 'contacts' ) "; return $str; @@ -526,14 +523,14 @@ function public_permissions_sql($observer_hash) { if ($observer_hash) { - $sec = get_security_ids($owner_id,$observer_hash); + $sec = get_security_ids($owner_id, $observer_hash); if (is_array($sec['allow_cid']) && count($sec['allow_cid'])) { $ca = []; foreach ($sec['allow_cid'] as $c) { $ca[] = '<' . $c . '>'; } - $cs = implode('|',$ca); + $cs = implode('|', $ca); } else { $cs = '<<>>'; // should be impossible to match @@ -544,7 +541,7 @@ function public_permissions_sql($observer_hash) { foreach ($sec['allow_gid'] as $g) { $ga[] = '<' . $g . '>'; } - $gs = implode('|',$ga); + $gs = implode('|', $ga); } else { $gs = '<<>>'; // should be impossible to match @@ -598,7 +595,7 @@ function check_form_security_token($typename = '', $formname = 'form_security_to $x = explode('.', $hash); if (time() > (IntVal($x[0]) + $max_livetime) || time() < (IntVal($x[0]) + $min_livetime)) - return false; + return false; $sec_hash = hash('whirlpool', App::$observer['xchan_guid'] . ((local_channel()) ? App::$channel['channel_prvkey'] : '') . session_id() . $x[0] . $typename); @@ -606,16 +603,19 @@ function check_form_security_token($typename = '', $formname = 'form_security_to } function check_form_security_std_err_msg() { + /** @noinspection PhpToStringImplementationInspection */ return t('The form security token was not correct. This probably happened because the form has been opened for too long (>3 hours) before submitting it.') . EOL; } + function check_form_security_token_redirectOnErr($err_redirect, $typename = '', $formname = 'form_security_token') { if (!check_form_security_token($typename, $formname)) { logger('check_form_security_token failed: user ' . App::$observer['xchan_name'] . ' - form element ' . $typename); logger('check_form_security_token failed: _REQUEST data: ' . print_r($_REQUEST, true), LOGGER_DATA); - notice( check_form_security_std_err_msg() ); - goaway(z_root() . $err_redirect ); + notice(check_form_security_std_err_msg()); + goaway(z_root() . $err_redirect); } } + function check_form_security_token_ForbiddenOnErr($typename = '', $formname = 'form_security_token') { if (!check_form_security_token($typename, $formname)) { logger('check_form_security_token failed: user ' . App::$observer['xchan_name'] . ' - form element ' . $typename); @@ -636,7 +636,7 @@ function init_groups_visitor($contact_id) { dbesc($contact_id) ); - if (! $x) { + if (!$x) { return $groups; } @@ -648,8 +648,8 @@ function init_groups_visitor($contact_id) { dbesc($x[0]['xchan_pubkey']) ); - if($xchans) { - $hashes = ids_to_querystr($xchans,'xchan_hash',true); + if ($xchans) { + $hashes = ids_to_querystr($xchans, 'xchan_hash', true); } // private profiles are treated as a virtual group @@ -672,21 +672,19 @@ function init_groups_visitor($contact_id) { } - - function get_security_ids($channel_id, $ob_hash) { - $ret = [ - 'channel_id' => [], - 'allow_cid' => [], - 'allow_gid' => [] + $ret = [ + 'channel_id' => [], + 'allow_cid' => [], + 'allow_gid' => [] ]; - if($channel_id) { + if ($channel_id) { $ch = q("select channel_hash, channel_portable_id from channel where channel_id = %d", - intval($channel_id) + intval($channel_id) ); - if($ch) { + if ($ch) { $ret['channel_id'][] = $ch[0]['channel_hash']; $ret['channel_id'][] = $ch[0]['channel_portable_id']; } @@ -709,13 +707,13 @@ function get_security_ids($channel_id, $ob_hash) { ); if ($xchans) { - $ret['allow_cid'] = ids_to_array($xchans,'xchan_hash'); - $hashes = ids_to_querystr($xchans,'xchan_hash',true); + $ret['allow_cid'] = ids_to_array($xchans, 'xchan_hash'); + $hashes = ids_to_querystr($xchans, 'xchan_hash', true); // private profiles are treated as a virtual group $r = q("SELECT abook_profile from abook where abook_xchan in ( " . protect_sprintf($hashes) . " ) and abook_profile != '' "); - if($r) { + if ($r) { foreach ($r as $rv) { $groups[] = 'vp.' . $rv['abook_profile']; } @@ -724,7 +722,7 @@ function get_security_ids($channel_id, $ob_hash) { // physical groups this identity is a member of $r = q("SELECT hash FROM pgrp left join pgrp_member on pgrp.id = pgrp_member.gid WHERE xchan in ( " . protect_sprintf($hashes) . " ) "); - if($r) { + if ($r) { foreach ($r as $rv) { $groups[] = $rv['hash']; } @@ -746,39 +744,39 @@ function get_security_ids($channel_id, $ob_hash) { // will likely be too expensive. // Returns a string list of comma separated channel_ids suitable for direct inclusion in a SQL query -function stream_perms_api_uids($perms = NULL, $limit = 0, $rand = 0 ) { - $perms = is_null($perms) ? (PERMS_SITE|PERMS_NETWORK|PERMS_PUBLIC) : $perms; +function stream_perms_api_uids($perms = NULL, $limit = 0, $rand = 0) { + $perms = is_null($perms) ? (PERMS_SITE | PERMS_NETWORK | PERMS_PUBLIC) : $perms; $ret = array(); $limit_sql = (($limit) ? " LIMIT " . intval($limit) . " " : ''); $random_sql = (($rand) ? " ORDER BY " . db_getfunc('RAND') . " " : ''); - if(local_channel()) + if (local_channel()) $ret[] = local_channel(); $x = q("select uid, v from pconfig where cat = 'perm_limits' and k = 'view_stream' "); - if($x) { + if ($x) { $y = []; - foreach($x as $xv) { - if(intval($xv['v']) & $perms) { + foreach ($x as $xv) { + if (intval($xv['v']) & $perms) { $y[] = $xv; } } - if($y) { - $ids = ids_to_querystr($y,'uid'); + if ($y) { + $ids = ids_to_querystr($y, 'uid'); $r = q("select channel_id from channel where channel_id in ( $ids ) and ( channel_pageflags & %d ) = 0 and channel_system = 0 and channel_removed = 0 $random_sql $limit_sql ", - intval(PAGE_ADULT|PAGE_CENSORED) + intval(PAGE_ADULT | PAGE_CENSORED) ); - if($r) { - foreach($r as $rr) - if(! in_array($rr['channel_id'], $ret)) + if ($r) { + foreach ($r as $rr) + if (!in_array($rr['channel_id'], $ret)) $ret[] = $rr['channel_id']; } } } $str = ''; - if($ret) { - foreach($ret as $rr) { - if($str) + if ($ret) { + foreach ($ret as $rr) { + if ($str) $str .= ','; $str .= intval($rr); } @@ -791,39 +789,39 @@ function stream_perms_api_uids($perms = NULL, $limit = 0, $rand = 0 ) { return $str; } -function stream_perms_xchans($perms = NULL ) { - $perms = is_null($perms) ? (PERMS_SITE|PERMS_NETWORK|PERMS_PUBLIC) : $perms; +function stream_perms_xchans($perms = NULL) { + $perms = is_null($perms) ? (PERMS_SITE | PERMS_NETWORK | PERMS_PUBLIC) : $perms; $ret = array(); - if(local_channel()) + if (local_channel()) $ret[] = get_observer_hash(); $x = q("select uid, v from pconfig where cat = 'perm_limits' and k = 'view_stream' "); - if($x) { + if ($x) { $y = []; - foreach($x as $xv) { - if(intval($xv['v']) & $perms) { + foreach ($x as $xv) { + if (intval($xv['v']) & $perms) { $y[] = $xv; } } - if($y) { - $ids = ids_to_querystr($y,'uid'); + if ($y) { + $ids = ids_to_querystr($y, 'uid'); $r = q("select channel_hash from channel where channel_id in ( $ids ) and ( channel_pageflags & %d ) = 0 and channel_system = 0 and channel_removed = 0 ", - intval(PAGE_ADULT|PAGE_CENSORED) + intval(PAGE_ADULT | PAGE_CENSORED) ); - if($r) { - foreach($r as $rr) - if(! in_array($rr['channel_hash'], $ret)) + if ($r) { + foreach ($r as $rr) + if (!in_array($rr['channel_hash'], $ret)) $ret[] = $rr['channel_hash']; } } } $str = ''; - if($ret) { - foreach($ret as $rr) { - if($str) + if ($ret) { + foreach ($ret as $rr) { + if ($str) $str .= ','; $str .= "'" . dbesc($rr) . "'"; } diff --git a/include/taxonomy.php b/include/taxonomy.php index e06568d19..7745b6a5b 100644 --- a/include/taxonomy.php +++ b/include/taxonomy.php @@ -354,30 +354,32 @@ function pub_tagadelic($net,$site,$limit,$recent,$safemode,$type) { $sql_extra .= " and not term.term in ( " . stringify_array($unsafetags,true) . ") "; } } - - - $key = __FUNCTION__ . "-" . md5($site . $recent . $safemode . $limit . $type); - $content = Cache::get($key, '1 MINUTE'); - - if(! $content) { - // Fetch tags - $r = q("SELECT term, count(term) AS total FROM term LEFT JOIN item ON term.oid = item.id - where term.ttype = %d - and otype = %d and item_type = %d - $sql_extra $uids $item_normal - group by term order by total desc %s", - intval($type), - intval(TERM_OBJ_POST), - intval(ITEM_TYPE_POST), - ((intval($count)) ? "limit $count" : '') - ); - } else - $r = unserialize($content); - - if(! $r) - return array(); - else - Cache::set($key, serialize($r)); + + $key = __FUNCTION__ . "-" . md5($site . $recent . $safemode . $limit . $type); + + $content = Cache::get($key, '5 MINUTE'); + if(! $content) { + + $content = Cache::get($key, '1 MONTH'); + $arr = [ + "SELECT term, count(term) AS total FROM term LEFT JOIN item ON term.oid = item.id + WHERE term.ttype = %d + AND otype = %d + AND item_type = %d + $sql_extra $uids $item_normal + GROUP BY term ORDER BY total DESC %s", + intval($type), + intval(TERM_OBJ_POST), + intval(ITEM_TYPE_POST), + (intval($count) ? "LIMIT $count" : '') + ]; + + \Zotlabs\Daemon\Master::Summon([ 'Cache_query', $key, base64_encode(json_encode($arr)) ]); + } + + $r = unserialize($content); + if(! $r) + return []; return Zotlabs\Text\Tagadelic::calc($r); } diff --git a/include/text.php b/include/text.php index 76df9e17b..1e08d136c 100644 --- a/include/text.php +++ b/include/text.php @@ -7,7 +7,7 @@ use Zotlabs\Lib as Zlib; use Michelf\MarkdownExtra; use Ramsey\Uuid\Uuid; -use Ramsey\Uuid\Exception\UnsatisfiedDependencyException; +use Ramsey\Uuid\Exception\UnableToBuildUuidException; use Zotlabs\Lib\SvgSanitizer; @@ -1801,7 +1801,7 @@ function prepare_body(&$item,$attach = false,$opts = false) { $tags = format_hashtags($item); - if($item['resource_type']) + if($item['resource_type'] == 'photo') $mentions = format_mentions($item); $categories = format_categories($item,$writeable); @@ -3824,7 +3824,7 @@ function new_uuid() { try { $hash = Uuid::uuid4()->toString(); - } catch (UnsatisfiedDependencyException $e) { + } catch (UnableToBuildUuidException $e) { $hash = random_string(48); } @@ -3842,7 +3842,7 @@ function uuid_from_url($url) { try { $hash = Uuid::uuid5(Uuid::NAMESPACE_URL, $url)->toString(); - } catch (UnsatisfiedDependencyException $e) { + } catch (UnableToBuildUuidException $e) { $hash = md5($url); } return $hash; diff --git a/index.php b/index.php index d47bda27e..d47bda27e 100755..100644 --- a/index.php +++ b/index.php diff --git a/install/htconfig.sample.php b/install/htconfig.sample.php index 509942530..509942530 100755..100644 --- a/install/htconfig.sample.php +++ b/install/htconfig.sample.php diff --git a/library/ASNValue.class.php b/library/ASNValue.class.php index 7a3c5d20e..7c17d10b4 100644 --- a/library/ASNValue.class.php +++ b/library/ASNValue.class.php @@ -110,7 +110,7 @@ class ASNValue function SetIntBuffer($Value) { if (strlen($Value) > 1) { - $firstByte = ord($Value{0}); + $firstByte = ord($Value[0]); if ($firstByte & 0x80) { //first bit set $Value = chr(0x00) . $Value; } @@ -122,7 +122,7 @@ class ASNValue function GetIntBuffer() { $result = $this->Value; - if (ord($result{0}) == 0x00) { + if (ord($result[0]) == 0x00) { $result = substr($result, 1); } diff --git a/library/jgrowl/examples/jgrowl.html b/library/jgrowl/examples/jgrowl.html index e10fdd6cb..e10fdd6cb 100755..100644 --- a/library/jgrowl/examples/jgrowl.html +++ b/library/jgrowl/examples/jgrowl.html diff --git a/library/jgrowl/jquery.jgrowl.js b/library/jgrowl/jquery.jgrowl.js index d5444d438..d5444d438 100755..100644 --- a/library/jgrowl/jquery.jgrowl.js +++ b/library/jgrowl/jquery.jgrowl.js diff --git a/library/jgrowl/less/jgrowl.core.less b/library/jgrowl/less/jgrowl.core.less index e3f8d4873..e3f8d4873 100755..100644 --- a/library/jgrowl/less/jgrowl.core.less +++ b/library/jgrowl/less/jgrowl.core.less diff --git a/library/kzykhys/git/test/PHPGit/Command/ShortlogCommandTest.php b/library/kzykhys/git/test/PHPGit/Command/ShortlogCommandTest.php index 48967cab1..48967cab1 100755..100644 --- a/library/kzykhys/git/test/PHPGit/Command/ShortlogCommandTest.php +++ b/library/kzykhys/git/test/PHPGit/Command/ShortlogCommandTest.php diff --git a/tests/travis/gen_apidocs.sh b/tests/travis/gen_apidocs.sh index e5938e1e8..e5938e1e8 100755..100644 --- a/tests/travis/gen_apidocs.sh +++ b/tests/travis/gen_apidocs.sh diff --git a/tests/travis/prepare.sh b/tests/travis/prepare.sh index 267b4ec46..267b4ec46 100755..100644 --- a/tests/travis/prepare.sh +++ b/tests/travis/prepare.sh diff --git a/tests/travis/prepare_mysql.sh b/tests/travis/prepare_mysql.sh index 5b1c96d78..5b1c96d78 100755..100644 --- a/tests/travis/prepare_mysql.sh +++ b/tests/travis/prepare_mysql.sh diff --git a/tests/travis/prepare_pgsql.sh b/tests/travis/prepare_pgsql.sh index c6b12e4d6..c6b12e4d6 100755..100644 --- a/tests/travis/prepare_pgsql.sh +++ b/tests/travis/prepare_pgsql.sh diff --git a/util/.htaccess b/util/.htaccess index a0a0d72d9..a0a0d72d9 100644..100755 --- a/util/.htaccess +++ b/util/.htaccess diff --git a/util/Doxyfile b/util/Doxyfile index 14464df81..14464df81 100644..100755 --- a/util/Doxyfile +++ b/util/Doxyfile diff --git a/util/Doxygen.footer b/util/Doxygen.footer index fd40910d9..fd40910d9 100644..100755 --- a/util/Doxygen.footer +++ b/util/Doxygen.footer diff --git a/util/Doxygen_phpvarfilter.php b/util/Doxygen_phpvarfilter.php index da6cf1666..da6cf1666 100644..100755 --- a/util/Doxygen_phpvarfilter.php +++ b/util/Doxygen_phpvarfilter.php diff --git a/util/README b/util/README index d67c54e45..d67c54e45 100644..100755 --- a/util/README +++ b/util/README diff --git a/util/config.md b/util/config.md index 3b834fe01..3b834fe01 100644..100755 --- a/util/config.md +++ b/util/config.md diff --git a/util/connect b/util/connect index 7ceda300f..44128d580 100755 --- a/util/connect +++ b/util/connect @@ -2,6 +2,7 @@ <?php use Zotlabs\Lib\Libsync; +use Zotlabs\Lib\Connect; // connect utility @@ -11,7 +12,6 @@ if(! file_exists('include/cli_startup.php')) { } require_once('include/cli_startup.php'); -require_once('include/follow.php'); cli_startup(); @@ -33,7 +33,7 @@ cli_startup(); exit(1); } - $result = new_contact($c['channel_id'],$argv[2],$c,false,false); + $result = Connect::connect($channel, $argv[2]); if($result['success'] == false) { echo $result['message']; diff --git a/util/db_update.php b/util/db_update.php index 8fc7c7616..8fc7c7616 100644..100755 --- a/util/db_update.php +++ b/util/db_update.php diff --git a/util/docblox_errorchecker.php b/util/docblox_errorchecker.php index af4c76444..af4c76444 100644..100755 --- a/util/docblox_errorchecker.php +++ b/util/docblox_errorchecker.php diff --git a/util/extract.php b/util/extract.php index bc838c712..bc838c712 100644..100755 --- a/util/extract.php +++ b/util/extract.php diff --git a/util/fpostit/README b/util/fpostit/README index 39b7c5761..39b7c5761 100644..100755 --- a/util/fpostit/README +++ b/util/fpostit/README diff --git a/util/fpostit/fpostit.js b/util/fpostit/fpostit.js index a6c75aba8..a6c75aba8 100644..100755 --- a/util/fpostit/fpostit.js +++ b/util/fpostit/fpostit.js diff --git a/util/fpostit/fpostit.php b/util/fpostit/fpostit.php index 491d81f6d..491d81f6d 100644..100755 --- a/util/fpostit/fpostit.php +++ b/util/fpostit/fpostit.php diff --git a/util/fpostit/friendika-32.png b/util/fpostit/friendika-32.png Binary files differindex 61764bf20..61764bf20 100644..100755 --- a/util/fpostit/friendika-32.png +++ b/util/fpostit/friendika-32.png diff --git a/util/fresh.md b/util/fresh.md index 7bdf87ff3..7bdf87ff3 100644..100755 --- a/util/fresh.md +++ b/util/fresh.md diff --git a/util/generate-hooks-index/.gitignore b/util/generate-hooks-index/.gitignore index c53038ec0..c53038ec0 100644..100755 --- a/util/generate-hooks-index/.gitignore +++ b/util/generate-hooks-index/.gitignore diff --git a/util/generate-hooks-index/CHANGELOG.md b/util/generate-hooks-index/CHANGELOG.md index 5e3bde1c9..5e3bde1c9 100644..100755 --- a/util/generate-hooks-index/CHANGELOG.md +++ b/util/generate-hooks-index/CHANGELOG.md diff --git a/util/generate-hooks-index/LICENSE b/util/generate-hooks-index/LICENSE index 7689f30ef..7689f30ef 100644..100755 --- a/util/generate-hooks-index/LICENSE +++ b/util/generate-hooks-index/LICENSE diff --git a/util/generate-hooks-index/README.md b/util/generate-hooks-index/README.md index a3d4f7666..a3d4f7666 100644..100755 --- a/util/generate-hooks-index/README.md +++ b/util/generate-hooks-index/README.md diff --git a/util/generate-hooks-index/doc/intro.md b/util/generate-hooks-index/doc/intro.md index 203ef8b8c..203ef8b8c 100644..100755 --- a/util/generate-hooks-index/doc/intro.md +++ b/util/generate-hooks-index/doc/intro.md diff --git a/util/generate-hooks-index/project.clj b/util/generate-hooks-index/project.clj index dc0b92f51..dc0b92f51 100644..100755 --- a/util/generate-hooks-index/project.clj +++ b/util/generate-hooks-index/project.clj diff --git a/util/generate-hooks-index/src/generate_hooks_index/core.clj b/util/generate-hooks-index/src/generate_hooks_index/core.clj index 2112647b0..2112647b0 100644..100755 --- a/util/generate-hooks-index/src/generate_hooks_index/core.clj +++ b/util/generate-hooks-index/src/generate_hooks_index/core.clj diff --git a/util/generate-hooks-index/test/generate_hooks_index/core_test.clj b/util/generate-hooks-index/test/generate_hooks_index/core_test.clj index 913864ce4..913864ce4 100644..100755 --- a/util/generate-hooks-index/test/generate_hooks_index/core_test.clj +++ b/util/generate-hooks-index/test/generate_hooks_index/core_test.clj diff --git a/util/hmessages.po b/util/hmessages.po index 5600f9fda..961e07f2f 100644..100755 --- a/util/hmessages.po +++ b/util/hmessages.po @@ -6,9 +6,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: 5.1.2\n" +"Project-Id-Version: 5.2.1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-10-25 07:30+0000\n" +"POT-Creation-Date: 2021-01-21 12:07+0100\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" @@ -17,15477 +17,15694 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: ../../view/theme/redbasic/php/config.php:15 -#: ../../addon/cart/submodules/orderoptions.php:335 -#: ../../addon/cart/submodules/orderoptions.php:359 -#: ../../addon/cart/submodules/orderoptions.php:435 -#: ../../addon/cart/submodules/orderoptions.php:459 ../../include/text.php:3379 -#: ../../Zotlabs/Module/Admin/Site.php:185 -msgid "Default" -msgstr "" - -#: ../../view/theme/redbasic/php/config.php:16 -#: ../../view/theme/redbasic/php/config.php:19 -msgid "Focus (Hubzilla default)" -msgstr "" - -#: ../../view/theme/redbasic/php/config.php:94 -#: ../../addon/channelreputation/channelreputation.php:143 -#: ../../addon/openclipatar/openclipatar.php:53 -#: ../../addon/photocache/Mod_Photocache.php:67 -#: ../../addon/redred/Mod_Redred.php:90 ../../addon/redphotos/redphotos.php:136 -#: ../../addon/statusnet/Mod_Statusnet.php:193 -#: ../../addon/statusnet/Mod_Statusnet.php:251 -#: ../../addon/statusnet/Mod_Statusnet.php:306 -#: ../../addon/statusnet/statusnet.php:602 ../../addon/rtof/Mod_Rtof.php:72 -#: ../../addon/wppost/Mod_Wppost.php:109 -#: ../../addon/content_import/Mod_content_import.php:142 -#: ../../addon/openstreetmap/openstreetmap.php:155 -#: ../../addon/ijpost/Mod_Ijpost.php:72 -#: ../../addon/pubcrawl/Mod_Pubcrawl.php:65 -#: ../../addon/dwpost/Mod_Dwpost.php:80 -#: ../../addon/startpage/Mod_Startpage.php:73 ../../addon/mail/Mod_Mail.php:310 -#: ../../addon/twitter/Mod_Twitter.php:184 -#: ../../addon/pumpio/Mod_Pumpio.php:115 -#: ../../addon/cart/submodules/subscriptions.php:410 -#: ../../addon/cart/submodules/hzservices.php:643 -#: ../../addon/cart/submodules/orderoptions.php:312 -#: ../../addon/cart/submodules/orderoptions.php:412 -#: ../../addon/cart/submodules/manualcat.php:248 -#: ../../addon/cart/Settings/Cart.php:132 -#: ../../addon/cart/Settings/Cart.php:142 ../../addon/cart/cart.php:1376 -#: ../../addon/nofed/Mod_Nofed.php:53 -#: ../../addon/smileybutton/Mod_Smileybutton.php:55 -#: ../../addon/redfiles/redfiles.php:124 ../../addon/diaspora/diaspora.php:75 -#: ../../addon/diaspora/Mod_Diaspora.php:100 ../../addon/piwik/piwik.php:95 -#: ../../addon/workflow/workflow.php:1461 -#: ../../addon/workflow/workflow.php:1520 -#: ../../addon/workflow/workflow.php:1639 -#: ../../addon/workflow/workflow.php:2742 -#: ../../addon/workflow/Settings/Mod_WorkflowSettings.php:94 -#: ../../addon/likebanner/likebanner.php:57 -#: ../../addon/fuzzloc/Mod_Fuzzloc.php:56 ../../addon/hubwall/hubwall.php:95 -#: ../../addon/flashcards/Mod_Flashcards.php:262 -#: ../../addon/libertree/Mod_Libertree.php:70 ../../addon/logrot/logrot.php:35 -#: ../../addon/skeleton/Mod_Skeleton.php:51 -#: ../../addon/socialauth/Mod_SocialAuth.php:330 -#: ../../addon/nsfw/Mod_Nsfw.php:61 ../../addon/mailtest/mailtest.php:100 -#: ../../addon/ljpost/Mod_Ljpost.php:82 ../../addon/hzfiles/hzfiles.php:86 -#: ../../addon/pageheader/Mod_Pageheader.php:54 ../../addon/irc/irc.php:45 -#: ../../addon/xmpp/Mod_Xmpp.php:70 ../../include/js_strings.php:22 -#: ../../Zotlabs/Widget/Wiki_pages.php:42 -#: ../../Zotlabs/Widget/Wiki_pages.php:99 -#: ../../Zotlabs/Widget/Eventstools.php:16 ../../Zotlabs/Module/Tokens.php:188 -#: ../../Zotlabs/Module/Import_items.php:129 -#: ../../Zotlabs/Module/Import.php:649 ../../Zotlabs/Module/Setup.php:304 -#: ../../Zotlabs/Module/Setup.php:344 ../../Zotlabs/Module/Group.php:151 -#: ../../Zotlabs/Module/Group.php:167 ../../Zotlabs/Module/Oauth.php:111 -#: ../../Zotlabs/Module/Chat.php:209 ../../Zotlabs/Module/Chat.php:248 -#: ../../Zotlabs/Module/Poke.php:217 ../../Zotlabs/Module/Mitem.php:259 -#: ../../Zotlabs/Module/Filestorage.php:203 -#: ../../Zotlabs/Module/Connect.php:107 ../../Zotlabs/Module/Editpost.php:86 -#: ../../Zotlabs/Module/Admin/Themes.php:158 -#: ../../Zotlabs/Module/Admin/Features.php:66 -#: ../../Zotlabs/Module/Admin/Security.php:120 -#: ../../Zotlabs/Module/Admin/Accounts.php:168 -#: ../../Zotlabs/Module/Admin/Site.php:287 -#: ../../Zotlabs/Module/Admin/Logs.php:84 -#: ../../Zotlabs/Module/Admin/Channels.php:147 -#: ../../Zotlabs/Module/Admin/Account_edit.php:73 -#: ../../Zotlabs/Module/Admin/Profs.php:178 -#: ../../Zotlabs/Module/Admin/Addons.php:442 -#: ../../Zotlabs/Module/Events.php:501 ../../Zotlabs/Module/Permcats.php:129 -#: ../../Zotlabs/Module/Mood.php:158 ../../Zotlabs/Module/Appman.php:155 -#: ../../Zotlabs/Module/Email_validation.php:40 -#: ../../Zotlabs/Module/Photos.php:1057 ../../Zotlabs/Module/Photos.php:1097 -#: ../../Zotlabs/Module/Photos.php:1215 ../../Zotlabs/Module/Profiles.php:725 -#: ../../Zotlabs/Module/Invite.php:168 ../../Zotlabs/Module/Xchan.php:15 -#: ../../Zotlabs/Module/Affinity.php:87 ../../Zotlabs/Module/Rate.php:166 -#: ../../Zotlabs/Module/Settings/Network.php:62 -#: ../../Zotlabs/Module/Settings/Features.php:48 -#: ../../Zotlabs/Module/Settings/Channel.php:495 -#: ../../Zotlabs/Module/Settings/Account.php:103 -#: ../../Zotlabs/Module/Settings/Events.php:42 -#: ../../Zotlabs/Module/Settings/Manage.php:43 -#: ../../Zotlabs/Module/Settings/Channel_home.php:91 -#: ../../Zotlabs/Module/Settings/Calendar.php:42 -#: ../../Zotlabs/Module/Settings/Display.php:190 -#: ../../Zotlabs/Module/Settings/Directory.php:42 -#: ../../Zotlabs/Module/Settings/Editor.php:42 -#: ../../Zotlabs/Module/Settings/Connections.php:42 -#: ../../Zotlabs/Module/Settings/Photos.php:42 -#: ../../Zotlabs/Module/Settings/Profiles.php:52 -#: ../../Zotlabs/Module/Settings/Conversation.php:49 -#: ../../Zotlabs/Module/Defperms.php:266 ../../Zotlabs/Module/Pconfig.php:116 -#: ../../Zotlabs/Module/Oauth2.php:116 ../../Zotlabs/Module/Thing.php:328 -#: ../../Zotlabs/Module/Thing.php:381 ../../Zotlabs/Module/Pdledit.php:108 -#: ../../Zotlabs/Module/Wiki.php:215 ../../Zotlabs/Module/Connedit.php:907 -#: ../../Zotlabs/Module/Locs.php:125 ../../Zotlabs/Module/Sources.php:125 -#: ../../Zotlabs/Module/Sources.php:162 ../../Zotlabs/Lib/ThreadItem.php:825 -msgid "Submit" -msgstr "" - -#: ../../view/theme/redbasic/php/config.php:98 -msgid "Theme settings" +#: ../../Zotlabs/Access/Permissions.php:56 +msgid "Can view my channel stream and posts" msgstr "" -#: ../../view/theme/redbasic/php/config.php:99 -msgid "Narrow navbar" +#: ../../Zotlabs/Access/Permissions.php:57 +msgid "Can send me their channel stream and posts" msgstr "" -#: ../../view/theme/redbasic/php/config.php:99 -#: ../../view/theme/redbasic/php/config.php:116 -#: ../../addon/channelreputation/channelreputation.php:111 -#: ../../addon/redred/Mod_Redred.php:63 -#: ../../addon/statusnet/Mod_Statusnet.php:260 -#: ../../addon/statusnet/Mod_Statusnet.php:282 -#: ../../addon/statusnet/Mod_Statusnet.php:291 ../../addon/rtof/Mod_Rtof.php:49 -#: ../../addon/wppost/Mod_Wppost.php:86 ../../addon/wppost/Mod_Wppost.php:90 -#: ../../addon/wppost/Mod_Wppost.php:94 -#: ../../addon/content_import/Mod_content_import.php:137 -#: ../../addon/content_import/Mod_content_import.php:138 -#: ../../addon/ijpost/Mod_Ijpost.php:61 -#: ../../addon/pubcrawl/Mod_Pubcrawl.php:45 -#: ../../addon/dwpost/Mod_Dwpost.php:61 ../../addon/dwpost/Mod_Dwpost.php:65 -#: ../../addon/twitter/Mod_Twitter.php:162 -#: ../../addon/twitter/Mod_Twitter.php:171 ../../addon/pumpio/Mod_Pumpio.php:94 -#: ../../addon/pumpio/Mod_Pumpio.php:98 ../../addon/pumpio/Mod_Pumpio.php:102 -#: ../../addon/cart/submodules/subscriptions.php:153 -#: ../../addon/cart/submodules/subscriptions.php:425 -#: ../../addon/cart/submodules/hzservices.php:65 -#: ../../addon/cart/submodules/hzservices.php:649 -#: ../../addon/cart/submodules/hzservices.php:653 -#: ../../addon/cart/submodules/orderoptions.php:72 -#: ../../addon/cart/submodules/orderoptions.php:338 -#: ../../addon/cart/submodules/orderoptions.php:362 -#: ../../addon/cart/submodules/orderoptions.php:438 -#: ../../addon/cart/submodules/orderoptions.php:462 -#: ../../addon/cart/submodules/paypalbutton.php:87 -#: ../../addon/cart/submodules/paypalbutton.php:95 -#: ../../addon/cart/submodules/paypalbuttonV2.php:88 -#: ../../addon/cart/submodules/paypalbuttonV2.php:96 -#: ../../addon/cart/submodules/manualcat.php:63 -#: ../../addon/cart/submodules/manualcat.php:254 -#: ../../addon/cart/submodules/manualcat.php:258 -#: ../../addon/cart/Settings/Cart.php:61 ../../addon/cart/Settings/Cart.php:73 -#: ../../addon/cart/cart.php:1370 ../../addon/nofed/Mod_Nofed.php:42 -#: ../../addon/smileybutton/Mod_Smileybutton.php:44 -#: ../../addon/libertree/Mod_Libertree.php:59 -#: ../../addon/socialauth/Mod_SocialAuth.php:214 -#: ../../addon/ljpost/Mod_Ljpost.php:63 ../../addon/ljpost/Mod_Ljpost.php:67 -#: ../../addon/ljpost/Mod_Ljpost.php:71 ../../include/conversation.php:1463 -#: ../../include/dir_fns.php:142 ../../include/dir_fns.php:143 -#: ../../include/dir_fns.php:144 ../../Zotlabs/Module/Import.php:638 -#: ../../Zotlabs/Module/Import.php:642 ../../Zotlabs/Module/Import.php:643 -#: ../../Zotlabs/Module/Mitem.php:176 ../../Zotlabs/Module/Mitem.php:177 -#: ../../Zotlabs/Module/Mitem.php:256 ../../Zotlabs/Module/Mitem.php:257 -#: ../../Zotlabs/Module/Filestorage.php:198 -#: ../../Zotlabs/Module/Filestorage.php:206 -#: ../../Zotlabs/Module/Admin/Site.php:253 ../../Zotlabs/Module/Events.php:478 -#: ../../Zotlabs/Module/Events.php:479 ../../Zotlabs/Module/Api.php:99 -#: ../../Zotlabs/Module/Photos.php:672 ../../Zotlabs/Module/Profiles.php:683 -#: ../../Zotlabs/Module/Settings/Channel.php:311 -#: ../../Zotlabs/Module/Settings/Display.php:90 -#: ../../Zotlabs/Module/Menu.php:163 ../../Zotlabs/Module/Menu.php:222 -#: ../../Zotlabs/Module/Defperms.php:198 ../../Zotlabs/Module/Wiki.php:227 -#: ../../Zotlabs/Module/Wiki.php:228 ../../Zotlabs/Module/Connedit.php:414 -#: ../../Zotlabs/Module/Connedit.php:799 ../../Zotlabs/Module/Sources.php:124 -#: ../../Zotlabs/Module/Sources.php:159 ../../Zotlabs/Lib/Libzotdir.php:162 -#: ../../Zotlabs/Lib/Libzotdir.php:163 ../../Zotlabs/Lib/Libzotdir.php:165 -#: ../../Zotlabs/Storage/Browser.php:411 ../../boot.php:1703 -msgid "No" +#: ../../Zotlabs/Access/Permissions.php:58 +msgid "Can view my default channel profile" msgstr "" -#: ../../view/theme/redbasic/php/config.php:99 -#: ../../view/theme/redbasic/php/config.php:116 -#: ../../addon/channelreputation/channelreputation.php:111 -#: ../../addon/redred/Mod_Redred.php:63 -#: ../../addon/statusnet/Mod_Statusnet.php:260 -#: ../../addon/statusnet/Mod_Statusnet.php:282 -#: ../../addon/statusnet/Mod_Statusnet.php:291 ../../addon/rtof/Mod_Rtof.php:49 -#: ../../addon/wppost/Mod_Wppost.php:86 ../../addon/wppost/Mod_Wppost.php:90 -#: ../../addon/wppost/Mod_Wppost.php:94 -#: ../../addon/content_import/Mod_content_import.php:137 -#: ../../addon/content_import/Mod_content_import.php:138 -#: ../../addon/ijpost/Mod_Ijpost.php:61 -#: ../../addon/pubcrawl/Mod_Pubcrawl.php:45 -#: ../../addon/dwpost/Mod_Dwpost.php:61 ../../addon/dwpost/Mod_Dwpost.php:65 -#: ../../addon/twitter/Mod_Twitter.php:162 -#: ../../addon/twitter/Mod_Twitter.php:171 ../../addon/pumpio/Mod_Pumpio.php:94 -#: ../../addon/pumpio/Mod_Pumpio.php:98 ../../addon/pumpio/Mod_Pumpio.php:102 -#: ../../addon/cart/submodules/subscriptions.php:153 -#: ../../addon/cart/submodules/subscriptions.php:425 -#: ../../addon/cart/submodules/hzservices.php:65 -#: ../../addon/cart/submodules/hzservices.php:649 -#: ../../addon/cart/submodules/hzservices.php:653 -#: ../../addon/cart/submodules/orderoptions.php:72 -#: ../../addon/cart/submodules/orderoptions.php:337 -#: ../../addon/cart/submodules/orderoptions.php:361 -#: ../../addon/cart/submodules/orderoptions.php:437 -#: ../../addon/cart/submodules/orderoptions.php:461 -#: ../../addon/cart/submodules/paypalbutton.php:87 -#: ../../addon/cart/submodules/paypalbutton.php:95 -#: ../../addon/cart/submodules/paypalbuttonV2.php:88 -#: ../../addon/cart/submodules/paypalbuttonV2.php:96 -#: ../../addon/cart/submodules/manualcat.php:63 -#: ../../addon/cart/submodules/manualcat.php:254 -#: ../../addon/cart/submodules/manualcat.php:258 -#: ../../addon/cart/Settings/Cart.php:61 ../../addon/cart/Settings/Cart.php:73 -#: ../../addon/cart/cart.php:1370 ../../addon/nofed/Mod_Nofed.php:42 -#: ../../addon/smileybutton/Mod_Smileybutton.php:44 -#: ../../addon/libertree/Mod_Libertree.php:59 -#: ../../addon/socialauth/Mod_SocialAuth.php:214 -#: ../../addon/ljpost/Mod_Ljpost.php:63 ../../addon/ljpost/Mod_Ljpost.php:67 -#: ../../addon/ljpost/Mod_Ljpost.php:71 ../../include/conversation.php:1463 -#: ../../include/dir_fns.php:142 ../../include/dir_fns.php:143 -#: ../../include/dir_fns.php:144 ../../Zotlabs/Module/Import.php:638 -#: ../../Zotlabs/Module/Import.php:642 ../../Zotlabs/Module/Import.php:643 -#: ../../Zotlabs/Module/Mitem.php:176 ../../Zotlabs/Module/Mitem.php:177 -#: ../../Zotlabs/Module/Mitem.php:256 ../../Zotlabs/Module/Mitem.php:257 -#: ../../Zotlabs/Module/Filestorage.php:198 -#: ../../Zotlabs/Module/Filestorage.php:206 -#: ../../Zotlabs/Module/Admin/Site.php:255 ../../Zotlabs/Module/Events.php:478 -#: ../../Zotlabs/Module/Events.php:479 ../../Zotlabs/Module/Api.php:98 -#: ../../Zotlabs/Module/Photos.php:672 ../../Zotlabs/Module/Profiles.php:683 -#: ../../Zotlabs/Module/Settings/Channel.php:311 -#: ../../Zotlabs/Module/Settings/Display.php:90 -#: ../../Zotlabs/Module/Menu.php:163 ../../Zotlabs/Module/Menu.php:222 -#: ../../Zotlabs/Module/Defperms.php:198 ../../Zotlabs/Module/Wiki.php:227 -#: ../../Zotlabs/Module/Wiki.php:228 ../../Zotlabs/Module/Connedit.php:414 -#: ../../Zotlabs/Module/Sources.php:124 ../../Zotlabs/Module/Sources.php:159 -#: ../../Zotlabs/Lib/Libzotdir.php:162 ../../Zotlabs/Lib/Libzotdir.php:163 -#: ../../Zotlabs/Lib/Libzotdir.php:165 ../../Zotlabs/Storage/Browser.php:411 -#: ../../boot.php:1703 -msgid "Yes" +#: ../../Zotlabs/Access/Permissions.php:59 +msgid "Can view my connections" msgstr "" -#: ../../view/theme/redbasic/php/config.php:100 -msgid "Navigation bar background color" +#: ../../Zotlabs/Access/Permissions.php:60 +msgid "Can view my file storage and photos" msgstr "" -#: ../../view/theme/redbasic/php/config.php:101 -msgid "Navigation bar icon color " +#: ../../Zotlabs/Access/Permissions.php:61 +msgid "Can upload/modify my file storage and photos" msgstr "" -#: ../../view/theme/redbasic/php/config.php:102 -msgid "Navigation bar active icon color " +#: ../../Zotlabs/Access/Permissions.php:62 +msgid "Can view my channel webpages" msgstr "" -#: ../../view/theme/redbasic/php/config.php:103 -msgid "Link color" +#: ../../Zotlabs/Access/Permissions.php:63 +msgid "Can view my wiki pages" msgstr "" -#: ../../view/theme/redbasic/php/config.php:104 -msgid "Set font-color for banner" +#: ../../Zotlabs/Access/Permissions.php:64 +msgid "Can create/edit my channel webpages" msgstr "" -#: ../../view/theme/redbasic/php/config.php:105 -msgid "Set the background color" +#: ../../Zotlabs/Access/Permissions.php:65 +msgid "Can write to my wiki pages" msgstr "" -#: ../../view/theme/redbasic/php/config.php:106 -msgid "Set the background image" +#: ../../Zotlabs/Access/Permissions.php:66 +msgid "Can post on my channel (wall) page" msgstr "" -#: ../../view/theme/redbasic/php/config.php:107 -msgid "Set the background color of items" +#: ../../Zotlabs/Access/Permissions.php:67 +msgid "Can comment on or like my posts" msgstr "" -#: ../../view/theme/redbasic/php/config.php:108 -msgid "Set the background color of comments" +#: ../../Zotlabs/Access/Permissions.php:68 +msgid "Can send me private mail messages" msgstr "" -#: ../../view/theme/redbasic/php/config.php:109 -msgid "Set font-size for the entire application" +#: ../../Zotlabs/Access/Permissions.php:69 +msgid "Can like/dislike profiles and profile things" msgstr "" -#: ../../view/theme/redbasic/php/config.php:109 -msgid "Examples: 1rem, 100%, 16px" +#: ../../Zotlabs/Access/Permissions.php:70 +msgid "Can forward to all my channel connections via ! mentions in posts" msgstr "" -#: ../../view/theme/redbasic/php/config.php:110 -msgid "Set font-color for posts and comments" +#: ../../Zotlabs/Access/Permissions.php:71 +msgid "Can chat with me" msgstr "" -#: ../../view/theme/redbasic/php/config.php:111 -msgid "Set radius of corners" +#: ../../Zotlabs/Access/Permissions.php:72 +msgid "Can source my public posts in derived channels" msgstr "" -#: ../../view/theme/redbasic/php/config.php:111 -msgid "Example: 4px" +#: ../../Zotlabs/Access/Permissions.php:73 +msgid "Can administer my channel" msgstr "" -#: ../../view/theme/redbasic/php/config.php:112 -msgid "Set shadow depth of photos" +#: ../../Zotlabs/Access/PermissionRoles.php:287 +msgid "Social Networking" msgstr "" -#: ../../view/theme/redbasic/php/config.php:113 -msgid "Set maximum width of content region in pixel" +#: ../../Zotlabs/Access/PermissionRoles.php:288 +msgid "Social - Federation" msgstr "" -#: ../../view/theme/redbasic/php/config.php:113 -msgid "Leave empty for default width" +#: ../../Zotlabs/Access/PermissionRoles.php:289 +msgid "Social - Mostly Public" msgstr "" -#: ../../view/theme/redbasic/php/config.php:114 -msgid "Set size of conversation author photo" +#: ../../Zotlabs/Access/PermissionRoles.php:290 +msgid "Social - Restricted" msgstr "" -#: ../../view/theme/redbasic/php/config.php:115 -msgid "Set size of followup author photos" +#: ../../Zotlabs/Access/PermissionRoles.php:291 +msgid "Social - Private" msgstr "" -#: ../../view/theme/redbasic/php/config.php:116 -msgid "Show advanced settings" +#: ../../Zotlabs/Access/PermissionRoles.php:294 +msgid "Community Forum" msgstr "" -#: ../../util/nconfig.php:34 -msgid "Source channel not found." +#: ../../Zotlabs/Access/PermissionRoles.php:295 +msgid "Forum - Mostly Public" msgstr "" -#: ../../addon/channelreputation/channelreputation.php:101 -#: ../../addon/channelreputation/channelreputation.php:102 -#: ../../addon/cart/myshop.php:144 ../../addon/cart/myshop.php:180 -#: ../../addon/cart/myshop.php:214 ../../addon/cart/myshop.php:261 -#: ../../addon/cart/myshop.php:296 ../../addon/cart/myshop.php:319 -msgid "Access Denied" +#: ../../Zotlabs/Access/PermissionRoles.php:296 +msgid "Forum - Restricted" msgstr "" -#: ../../addon/channelreputation/channelreputation.php:109 -msgid "Enable Community Moderation" +#: ../../Zotlabs/Access/PermissionRoles.php:297 +msgid "Forum - Private" msgstr "" -#: ../../addon/channelreputation/channelreputation.php:117 -msgid "Reputation automatically given to new members" +#: ../../Zotlabs/Access/PermissionRoles.php:300 +msgid "Feed Republish" msgstr "" -#: ../../addon/channelreputation/channelreputation.php:118 -msgid "Reputation will never fall below this value" +#: ../../Zotlabs/Access/PermissionRoles.php:301 +msgid "Feed - Mostly Public" msgstr "" -#: ../../addon/channelreputation/channelreputation.php:119 -msgid "Minimum reputation before posting is allowed" +#: ../../Zotlabs/Access/PermissionRoles.php:302 +msgid "Feed - Restricted" msgstr "" -#: ../../addon/channelreputation/channelreputation.php:120 -msgid "Minimum reputation before commenting is allowed" +#: ../../Zotlabs/Access/PermissionRoles.php:305 +msgid "Special Purpose" msgstr "" -#: ../../addon/channelreputation/channelreputation.php:121 -msgid "Minimum reputation before a member is able to moderate other posts" +#: ../../Zotlabs/Access/PermissionRoles.php:306 +msgid "Special - Celebrity/Soapbox" msgstr "" -#: ../../addon/channelreputation/channelreputation.php:122 -msgid "" -"Max ratio of moderator's reputation that can be added to/deducted from " -"reputation of person being moderated" +#: ../../Zotlabs/Access/PermissionRoles.php:307 +msgid "Special - Group Repository" msgstr "" -#: ../../addon/channelreputation/channelreputation.php:123 -msgid "Reputation \"cost\" to post" +#: ../../Zotlabs/Access/PermissionRoles.php:310 +#: ../../Zotlabs/Module/Cdav.php:1384 ../../Zotlabs/Module/Profiles.php:797 +#: ../../Zotlabs/Module/Connedit.php:927 ../../include/selectors.php:60 +#: ../../include/selectors.php:77 ../../include/selectors.php:115 +#: ../../include/selectors.php:151 ../../include/connections.php:741 +#: ../../include/connections.php:748 ../../include/event.php:1429 +#: ../../include/event.php:1436 +msgid "Other" msgstr "" -#: ../../addon/channelreputation/channelreputation.php:124 -msgid "Reputation \"cost\" to comment" +#: ../../Zotlabs/Access/PermissionRoles.php:311 +msgid "Custom/Expert Mode" msgstr "" -#: ../../addon/channelreputation/channelreputation.php:125 -msgid "" -"Reputation automatically recovers at this rate per hour until it reaches " -"minimum_to_post" +#: ../../Zotlabs/Module/Authtest.php:16 ../../Zotlabs/Module/Pdledit.php:35 +#: ../../Zotlabs/Module/Api.php:24 ../../Zotlabs/Module/Events.php:277 +#: ../../Zotlabs/Module/Bookmarks.php:70 ../../Zotlabs/Module/Webpages.php:133 +#: ../../Zotlabs/Module/Profiles.php:200 ../../Zotlabs/Module/Profiles.php:637 +#: ../../Zotlabs/Module/Like.php:230 ../../Zotlabs/Module/Defperms.php:182 +#: ../../Zotlabs/Module/Layouts.php:71 ../../Zotlabs/Module/Layouts.php:78 +#: ../../Zotlabs/Module/Layouts.php:89 ../../Zotlabs/Module/Group.php:15 +#: ../../Zotlabs/Module/Group.php:31 ../../Zotlabs/Module/Appman.php:87 +#: ../../Zotlabs/Module/Message.php:18 ../../Zotlabs/Module/Moderate.php:15 +#: ../../Zotlabs/Module/New_channel.php:105 +#: ../../Zotlabs/Module/New_channel.php:130 +#: ../../Zotlabs/Module/Filestorage.php:20 +#: ../../Zotlabs/Module/Filestorage.php:78 +#: ../../Zotlabs/Module/Filestorage.php:96 +#: ../../Zotlabs/Module/Filestorage.php:119 +#: ../../Zotlabs/Module/Filestorage.php:165 +#: ../../Zotlabs/Module/Card_edit.php:51 +#: ../../Zotlabs/Module/Viewconnections.php:28 +#: ../../Zotlabs/Module/Viewconnections.php:33 ../../Zotlabs/Module/Wiki.php:59 +#: ../../Zotlabs/Module/Wiki.php:285 ../../Zotlabs/Module/Wiki.php:428 +#: ../../Zotlabs/Module/Blocks.php:73 ../../Zotlabs/Module/Blocks.php:80 +#: ../../Zotlabs/Module/Locs.php:100 ../../Zotlabs/Module/Connedit.php:396 +#: ../../Zotlabs/Module/Profile_photo.php:338 +#: ../../Zotlabs/Module/Profile_photo.php:351 +#: ../../Zotlabs/Module/Sharedwithme.php:19 +#: ../../Zotlabs/Module/Editlayout.php:67 +#: ../../Zotlabs/Module/Editlayout.php:90 ../../Zotlabs/Module/Manage.php:10 +#: ../../Zotlabs/Module/Item.php:485 ../../Zotlabs/Module/Item.php:504 +#: ../../Zotlabs/Module/Item.php:514 ../../Zotlabs/Module/Item.php:1442 +#: ../../Zotlabs/Module/Rate.php:113 ../../Zotlabs/Module/Page.php:34 +#: ../../Zotlabs/Module/Page.php:133 ../../Zotlabs/Module/Achievements.php:34 +#: ../../Zotlabs/Module/Regmod.php:20 ../../Zotlabs/Module/Editblock.php:67 +#: ../../Zotlabs/Module/Chat.php:113 ../../Zotlabs/Module/Chat.php:118 +#: ../../Zotlabs/Module/Vote.php:19 ../../Zotlabs/Module/Display.php:425 +#: ../../Zotlabs/Module/Photos.php:71 ../../Zotlabs/Module/Channel.php:177 +#: ../../Zotlabs/Module/Channel.php:332 ../../Zotlabs/Module/Channel.php:371 +#: ../../Zotlabs/Module/Cards.php:86 ../../Zotlabs/Module/Connections.php:32 +#: ../../Zotlabs/Module/Editpost.php:17 ../../Zotlabs/Module/Block.php:24 +#: ../../Zotlabs/Module/Block.php:74 ../../Zotlabs/Module/Common.php:38 +#: ../../Zotlabs/Module/Editwebpage.php:68 +#: ../../Zotlabs/Module/Editwebpage.php:89 +#: ../../Zotlabs/Module/Editwebpage.php:107 +#: ../../Zotlabs/Module/Editwebpage.php:121 ../../Zotlabs/Module/Profile.php:85 +#: ../../Zotlabs/Module/Profile.php:101 +#: ../../Zotlabs/Module/Article_edit.php:51 ../../Zotlabs/Module/Thing.php:282 +#: ../../Zotlabs/Module/Thing.php:302 ../../Zotlabs/Module/Thing.php:343 +#: ../../Zotlabs/Module/Suggest.php:32 +#: ../../Zotlabs/Module/Notifications.php:11 +#: ../../Zotlabs/Module/Articles.php:89 ../../Zotlabs/Module/Setup.php:206 +#: ../../Zotlabs/Module/Mitem.php:129 ../../Zotlabs/Module/Mood.php:126 +#: ../../Zotlabs/Module/Register.php:80 +#: ../../Zotlabs/Module/Channel_calendar.php:230 +#: ../../Zotlabs/Module/Invite.php:21 ../../Zotlabs/Module/Invite.php:102 +#: ../../Zotlabs/Module/Service_limits.php:11 +#: ../../Zotlabs/Module/Cover_photo.php:341 +#: ../../Zotlabs/Module/Cover_photo.php:354 ../../Zotlabs/Module/Menu.php:130 +#: ../../Zotlabs/Module/Menu.php:141 ../../Zotlabs/Module/Sources.php:80 +#: ../../Zotlabs/Module/Poke.php:157 ../../Zotlabs/Module/Network.php:19 +#: ../../Zotlabs/Module/Attach_edit.php:90 +#: ../../Zotlabs/Module/Attach_edit.php:99 +#: ../../Zotlabs/Module/Attach_edit.php:106 +#: ../../Zotlabs/Module/Settings.php:59 ../../Zotlabs/Module/Viewsrc.php:19 +#: ../../Zotlabs/Web/WebServer.php:116 ../../Zotlabs/Lib/Chatroom.php:135 +#: ../../include/photos.php:27 ../../include/attach.php:156 +#: ../../include/attach.php:205 ../../include/attach.php:278 +#: ../../include/attach.php:329 ../../include/attach.php:424 +#: ../../include/attach.php:438 ../../include/attach.php:445 +#: ../../include/attach.php:527 ../../include/attach.php:1091 +#: ../../include/attach.php:1164 ../../include/attach.php:1327 +#: ../../include/items.php:3996 +#: ../../extend/addon/hzaddons/openid/Mod_Id.php:53 +#: ../../extend/addon/hzaddons/keepout/keepout.php:36 +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:25 +#: ../../extend/addon/hzaddons/pumpio/pumpio.php:44 +msgid "Permission denied." msgstr "" -#: ../../addon/channelreputation/channelreputation.php:126 -msgid "" -"When minimum_to_moderate > reputation > minimum_to_post reputation recovers " -"at this rate per hour" +#: ../../Zotlabs/Module/Pdledit.php:27 +msgid "Layout updated." msgstr "" -#: ../../addon/channelreputation/channelreputation.php:140 -msgid "Community Moderation Settings" +#: ../../Zotlabs/Module/Pdledit.php:43 +msgid "PDL Editor App" msgstr "" -#: ../../addon/channelreputation/channelreputation.php:232 -msgid "Channel Reputation" +#: ../../Zotlabs/Module/Pdledit.php:43 ../../Zotlabs/Module/Cdav.php:876 +#: ../../Zotlabs/Module/Bookmarks.php:78 ../../Zotlabs/Module/Webpages.php:48 +#: ../../Zotlabs/Module/Defperms.php:190 ../../Zotlabs/Module/Pubstream.php:20 +#: ../../Zotlabs/Module/Group.php:107 ../../Zotlabs/Module/Oauth.php:100 +#: ../../Zotlabs/Module/Oauth2.php:106 ../../Zotlabs/Module/Wiki.php:52 +#: ../../Zotlabs/Module/Chat.php:100 ../../Zotlabs/Module/Uexport.php:61 +#: ../../Zotlabs/Module/Cards.php:51 ../../Zotlabs/Module/Affinity.php:52 +#: ../../Zotlabs/Module/Randprof.php:29 ../../Zotlabs/Module/Suggest.php:40 +#: ../../Zotlabs/Module/Notes.php:57 ../../Zotlabs/Module/Tokens.php:99 +#: ../../Zotlabs/Module/Articles.php:52 ../../Zotlabs/Module/Mood.php:134 +#: ../../Zotlabs/Module/Permcats.php:63 ../../Zotlabs/Module/Probe.php:18 +#: ../../Zotlabs/Module/Invite.php:110 ../../Zotlabs/Module/Lang.php:17 +#: ../../Zotlabs/Module/Sources.php:88 ../../Zotlabs/Module/Poke.php:165 +#: ../../extend/addon/hzaddons/gnusoc/Mod_Gnusoc.php:22 +#: ../../extend/addon/hzaddons/skeleton/Mod_Skeleton.php:32 +#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:50 +#: ../../extend/addon/hzaddons/diaspora/Mod_Diaspora.php:58 +#: ../../extend/addon/hzaddons/hideaside/Mod_Hideaside.php:23 +#: ../../extend/addon/hzaddons/ljpost/Mod_Ljpost.php:38 +#: ../../extend/addon/hzaddons/xmpp/Mod_Xmpp.php:35 +#: ../../extend/addon/hzaddons/superblock/Mod_Superblock.php:20 +#: ../../extend/addon/hzaddons/planets/Mod_Planets.php:20 +#: ../../extend/addon/hzaddons/nsfw/Mod_Nsfw.php:33 +#: ../../extend/addon/hzaddons/photocache/Mod_Photocache.php:42 +#: ../../extend/addon/hzaddons/libertree/Mod_Libertree.php:35 +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:146 +#: ../../extend/addon/hzaddons/pubcrawl/Mod_Pubcrawl.php:40 +#: ../../extend/addon/hzaddons/ijpost/Mod_Ijpost.php:35 +#: ../../extend/addon/hzaddons/sendzid/Mod_Sendzid.php:20 +#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:78 +#: ../../extend/addon/hzaddons/dwpost/Mod_Dwpost.php:39 +#: ../../extend/addon/hzaddons/nofed/Mod_Nofed.php:33 +#: ../../extend/addon/hzaddons/hsse/Mod_Hsse.php:21 +#: ../../extend/addon/hzaddons/pageheader/Mod_Pageheader.php:34 +#: ../../extend/addon/hzaddons/gallery/Mod_Gallery.php:58 +#: ../../extend/addon/hzaddons/smileybutton/Mod_Smileybutton.php:35 +#: ../../extend/addon/hzaddons/rtof/Mod_Rtof.php:36 +#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:43 +#: ../../extend/addon/hzaddons/authchoose/Mod_Authchoose.php:28 +#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:53 +#: ../../extend/addon/hzaddons/nsabait/Mod_Nsabait.php:20 +#: ../../extend/addon/hzaddons/rainbowtag/Mod_Rainbowtag.php:21 +#: ../../extend/addon/hzaddons/fuzzloc/Mod_Fuzzloc.php:34 +#: ../../extend/addon/hzaddons/startpage/Mod_Startpage.php:50 +msgid "Not Installed" msgstr "" -#: ../../addon/channelreputation/channelreputation.php:233 -#: ../../include/acl_selectors.php:146 ../../Zotlabs/Widget/Pinned.php:160 -#: ../../Zotlabs/Module/Photos.php:1274 ../../Zotlabs/Lib/ThreadItem.php:495 -msgid "Close" +#: ../../Zotlabs/Module/Pdledit.php:44 +msgid "Provides the ability to edit system page layouts" msgstr "" -#: ../../addon/channelreputation/channelreputation.php:236 -msgid "An Error has occurred." +#: ../../Zotlabs/Module/Pdledit.php:57 ../../Zotlabs/Module/Pdledit.php:100 +msgid "Edit System Page Description" msgstr "" -#: ../../addon/channelreputation/channelreputation.php:254 -msgid "Upvote" +#: ../../Zotlabs/Module/Pdledit.php:78 +msgid "(modified)" msgstr "" -#: ../../addon/channelreputation/channelreputation.php:255 -msgid "Downvote" +#: ../../Zotlabs/Module/Pdledit.php:78 ../../Zotlabs/Module/Lostpass.php:133 +msgid "Reset" msgstr "" -#: ../../addon/channelreputation/channelreputation.php:414 -msgid "Can moderate reputation on my channel." +#: ../../Zotlabs/Module/Pdledit.php:95 +msgid "Layout not found." msgstr "" -#: ../../addon/superblock/superblock.php:337 -msgid "Block Completely" +#: ../../Zotlabs/Module/Pdledit.php:101 +msgid "Module Name:" msgstr "" -#: ../../addon/superblock/Mod_Superblock.php:20 -msgid "Superblock App" +#: ../../Zotlabs/Module/Pdledit.php:102 +msgid "Layout Help" msgstr "" -#: ../../addon/superblock/Mod_Superblock.php:20 -#: ../../addon/nsabait/Mod_Nsabait.php:20 -#: ../../addon/rainbowtag/Mod_Rainbowtag.php:21 -#: ../../addon/photocache/Mod_Photocache.php:42 -#: ../../addon/gallery/Mod_Gallery.php:58 -#: ../../addon/planets/Mod_Planets.php:20 ../../addon/redred/Mod_Redred.php:50 -#: ../../addon/statusnet/Mod_Statusnet.php:146 ../../addon/rtof/Mod_Rtof.php:36 -#: ../../addon/wppost/Mod_Wppost.php:43 ../../addon/hsse/Mod_Hsse.php:21 -#: ../../addon/ijpost/Mod_Ijpost.php:35 -#: ../../addon/pubcrawl/Mod_Pubcrawl.php:40 -#: ../../addon/dwpost/Mod_Dwpost.php:39 -#: ../../addon/startpage/Mod_Startpage.php:50 -#: ../../addon/twitter/Mod_Twitter.php:78 ../../addon/pumpio/Mod_Pumpio.php:53 -#: ../../addon/sendzid/Mod_Sendzid.php:20 ../../addon/nofed/Mod_Nofed.php:33 -#: ../../addon/smileybutton/Mod_Smileybutton.php:35 -#: ../../addon/diaspora/Mod_Diaspora.php:58 -#: ../../addon/fuzzloc/Mod_Fuzzloc.php:34 -#: ../../addon/libertree/Mod_Libertree.php:35 -#: ../../addon/hideaside/Mod_Hideaside.php:23 -#: ../../addon/skeleton/Mod_Skeleton.php:32 ../../addon/nsfw/Mod_Nsfw.php:33 -#: ../../addon/gnusoc/Mod_Gnusoc.php:22 ../../addon/ljpost/Mod_Ljpost.php:38 -#: ../../addon/authchoose/Mod_Authchoose.php:28 -#: ../../addon/pageheader/Mod_Pageheader.php:34 -#: ../../addon/xmpp/Mod_Xmpp.php:35 ../../Zotlabs/Module/Tokens.php:99 -#: ../../Zotlabs/Module/Group.php:107 ../../Zotlabs/Module/Oauth.php:100 -#: ../../Zotlabs/Module/Chat.php:100 ../../Zotlabs/Module/Poke.php:165 -#: ../../Zotlabs/Module/Cdav.php:872 ../../Zotlabs/Module/Webpages.php:48 -#: ../../Zotlabs/Module/Pubstream.php:20 ../../Zotlabs/Module/Permcats.php:63 -#: ../../Zotlabs/Module/Lang.php:17 ../../Zotlabs/Module/Uexport.php:61 -#: ../../Zotlabs/Module/Mood.php:134 ../../Zotlabs/Module/Cards.php:51 -#: ../../Zotlabs/Module/Articles.php:52 ../../Zotlabs/Module/Bookmarks.php:78 -#: ../../Zotlabs/Module/Probe.php:18 ../../Zotlabs/Module/Invite.php:110 -#: ../../Zotlabs/Module/Notes.php:57 ../../Zotlabs/Module/Affinity.php:52 -#: ../../Zotlabs/Module/Defperms.php:190 ../../Zotlabs/Module/Oauth2.php:106 -#: ../../Zotlabs/Module/Randprof.php:29 ../../Zotlabs/Module/Pdledit.php:43 -#: ../../Zotlabs/Module/Wiki.php:52 ../../Zotlabs/Module/Suggest.php:40 -#: ../../Zotlabs/Module/Sources.php:88 -msgid "Not Installed" +#: ../../Zotlabs/Module/Pdledit.php:103 +msgid "Edit another layout" msgstr "" -#: ../../addon/superblock/Mod_Superblock.php:21 -msgid "Block channels" +#: ../../Zotlabs/Module/Pdledit.php:104 +msgid "System layout" msgstr "" -#: ../../addon/superblock/Mod_Superblock.php:63 -msgid "superblock settings updated" +#: ../../Zotlabs/Module/Pdledit.php:108 ../../Zotlabs/Module/Events.php:501 +#: ../../Zotlabs/Module/Profiles.php:725 ../../Zotlabs/Module/Import.php:645 +#: ../../Zotlabs/Module/Defperms.php:266 ../../Zotlabs/Module/Group.php:151 +#: ../../Zotlabs/Module/Group.php:167 ../../Zotlabs/Module/Appman.php:155 +#: ../../Zotlabs/Module/Oauth.php:111 ../../Zotlabs/Module/Import_items.php:129 +#: ../../Zotlabs/Module/Connect.php:107 +#: ../../Zotlabs/Module/Filestorage.php:208 ../../Zotlabs/Module/Oauth2.php:116 +#: ../../Zotlabs/Module/Wiki.php:215 ../../Zotlabs/Module/Locs.php:132 +#: ../../Zotlabs/Module/Connedit.php:896 ../../Zotlabs/Module/Rate.php:166 +#: ../../Zotlabs/Module/Xchan.php:15 ../../Zotlabs/Module/Chat.php:209 +#: ../../Zotlabs/Module/Chat.php:248 ../../Zotlabs/Module/Photos.php:1058 +#: ../../Zotlabs/Module/Photos.php:1098 ../../Zotlabs/Module/Photos.php:1216 +#: ../../Zotlabs/Module/Editpost.php:86 ../../Zotlabs/Module/Affinity.php:87 +#: ../../Zotlabs/Module/Pconfig.php:116 +#: ../../Zotlabs/Module/Admin/Themes.php:158 +#: ../../Zotlabs/Module/Admin/Security.php:120 +#: ../../Zotlabs/Module/Admin/Accounts.php:168 +#: ../../Zotlabs/Module/Admin/Features.php:66 +#: ../../Zotlabs/Module/Admin/Channels.php:147 +#: ../../Zotlabs/Module/Admin/Logs.php:84 +#: ../../Zotlabs/Module/Admin/Account_edit.php:73 +#: ../../Zotlabs/Module/Admin/Addons.php:442 +#: ../../Zotlabs/Module/Admin/Site.php:293 +#: ../../Zotlabs/Module/Admin/Profs.php:178 ../../Zotlabs/Module/Thing.php:328 +#: ../../Zotlabs/Module/Thing.php:381 +#: ../../Zotlabs/Module/Email_validation.php:40 +#: ../../Zotlabs/Module/Tokens.php:188 ../../Zotlabs/Module/Setup.php:304 +#: ../../Zotlabs/Module/Setup.php:344 ../../Zotlabs/Module/Mitem.php:259 +#: ../../Zotlabs/Module/Mood.php:158 ../../Zotlabs/Module/Permcats.php:129 +#: ../../Zotlabs/Module/Settings/Account.php:103 +#: ../../Zotlabs/Module/Settings/Events.php:42 +#: ../../Zotlabs/Module/Settings/Profiles.php:52 +#: ../../Zotlabs/Module/Settings/Editor.php:42 +#: ../../Zotlabs/Module/Settings/Features.php:48 +#: ../../Zotlabs/Module/Settings/Manage.php:43 +#: ../../Zotlabs/Module/Settings/Display.php:188 +#: ../../Zotlabs/Module/Settings/Photos.php:42 +#: ../../Zotlabs/Module/Settings/Channel.php:495 +#: ../../Zotlabs/Module/Settings/Connections.php:42 +#: ../../Zotlabs/Module/Settings/Calendar.php:42 +#: ../../Zotlabs/Module/Settings/Directory.php:42 +#: ../../Zotlabs/Module/Settings/Channel_home.php:91 +#: ../../Zotlabs/Module/Settings/Network.php:62 +#: ../../Zotlabs/Module/Settings/Conversation.php:49 +#: ../../Zotlabs/Module/Invite.php:168 ../../Zotlabs/Module/Sources.php:125 +#: ../../Zotlabs/Module/Sources.php:162 ../../Zotlabs/Module/Poke.php:217 +#: ../../Zotlabs/Storage/Browser.php:382 ../../Zotlabs/Lib/ThreadItem.php:825 +#: ../../Zotlabs/Widget/Wiki_pages.php:42 +#: ../../Zotlabs/Widget/Wiki_pages.php:99 +#: ../../Zotlabs/Widget/Eventstools.php:16 ../../include/js_strings.php:22 +#: ../../extend/addon/hzaddons/irc/irc.php:45 +#: ../../extend/addon/hzaddons/hubwall/hubwall.php:95 +#: ../../extend/addon/hzaddons/likebanner/likebanner.php:57 +#: ../../extend/addon/hzaddons/piwik/piwik.php:95 +#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:143 +#: ../../extend/addon/hzaddons/skeleton/Mod_Skeleton.php:51 +#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:90 +#: ../../extend/addon/hzaddons/cart/cart.php:1376 +#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:312 +#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:412 +#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:643 +#: ../../extend/addon/hzaddons/cart/submodules/subscriptions.php:410 +#: ../../extend/addon/hzaddons/cart/submodules/manualcat.php:248 +#: ../../extend/addon/hzaddons/cart/Settings/Cart.php:132 +#: ../../extend/addon/hzaddons/cart/Settings/Cart.php:142 +#: ../../extend/addon/hzaddons/hzfiles/hzfiles.php:86 +#: ../../extend/addon/hzaddons/diaspora/Mod_Diaspora.php:100 +#: ../../extend/addon/hzaddons/diaspora/diaspora.php:75 +#: ../../extend/addon/hzaddons/openstreetmap/openstreetmap.php:155 +#: ../../extend/addon/hzaddons/ljpost/Mod_Ljpost.php:82 +#: ../../extend/addon/hzaddons/workflow/workflow.php:1461 +#: ../../extend/addon/hzaddons/workflow/workflow.php:1520 +#: ../../extend/addon/hzaddons/workflow/workflow.php:1639 +#: ../../extend/addon/hzaddons/workflow/workflow.php:2742 +#: ../../extend/addon/hzaddons/workflow/Settings/Mod_WorkflowSettings.php:94 +#: ../../extend/addon/hzaddons/xmpp/Mod_Xmpp.php:70 +#: ../../extend/addon/hzaddons/nsfw/Mod_Nsfw.php:61 +#: ../../extend/addon/hzaddons/photocache/Mod_Photocache.php:67 +#: ../../extend/addon/hzaddons/libertree/Mod_Libertree.php:70 +#: ../../extend/addon/hzaddons/statusnet/statusnet.php:602 +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:193 +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:251 +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:306 +#: ../../extend/addon/hzaddons/pubcrawl/Mod_Pubcrawl.php:65 +#: ../../extend/addon/hzaddons/ijpost/Mod_Ijpost.php:72 +#: ../../extend/addon/hzaddons/flashcards/Mod_Flashcards.php:262 +#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:330 +#: ../../extend/addon/hzaddons/redphotos/redphotos.php:136 +#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:184 +#: ../../extend/addon/hzaddons/dwpost/Mod_Dwpost.php:80 +#: ../../extend/addon/hzaddons/nofed/Mod_Nofed.php:53 +#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:142 +#: ../../extend/addon/hzaddons/pageheader/Mod_Pageheader.php:54 +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:310 +#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:53 +#: ../../extend/addon/hzaddons/smileybutton/Mod_Smileybutton.php:55 +#: ../../extend/addon/hzaddons/rtof/Mod_Rtof.php:72 +#: ../../extend/addon/hzaddons/logrot/logrot.php:35 +#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:109 +#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:115 +#: ../../extend/addon/hzaddons/mailtest/mailtest.php:100 +#: ../../extend/addon/hzaddons/redfiles/redfiles.php:124 +#: ../../extend/addon/hzaddons/fuzzloc/Mod_Fuzzloc.php:56 +#: ../../extend/addon/hzaddons/startpage/Mod_Startpage.php:73 +#: ../../view/theme/redbasic/php/config.php:94 +msgid "Submit" msgstr "" -#: ../../addon/superblock/Mod_Superblock.php:87 -msgid "Currently blocked" +#: ../../Zotlabs/Module/Z6trans.php:19 +msgid "Update to Hubzilla 5.0 step 2" msgstr "" -#: ../../addon/superblock/Mod_Superblock.php:89 -msgid "No channels currently blocked" +#: ../../Zotlabs/Module/Z6trans.php:21 +msgid "To complete the update please run" msgstr "" -#: ../../addon/superblock/Mod_Superblock.php:91 -#: ../../Zotlabs/Module/Tagrm.php:137 ../../Zotlabs/Module/Admin/Addons.php:459 -#: ../../Zotlabs/Module/Profile_photo.php:501 -#: ../../Zotlabs/Module/Cover_photo.php:424 ../../Zotlabs/Module/Photos.php:995 -msgid "Remove" +#: ../../Zotlabs/Module/Z6trans.php:23 +msgid "php util/z6convert.php" msgstr "" -#: ../../addon/nsabait/Mod_Nsabait.php:20 -#: ../../addon/nsabait/Mod_Nsabait.php:24 -msgid "NSA Bait App" +#: ../../Zotlabs/Module/Z6trans.php:25 +msgid "from the terminal." msgstr "" -#: ../../addon/nsabait/Mod_Nsabait.php:24 -#: ../../addon/rainbowtag/Mod_Rainbowtag.php:26 -#: ../../addon/planets/Mod_Planets.php:23 ../../addon/hsse/Mod_Hsse.php:26 -#: ../../addon/hideaside/Mod_Hideaside.php:27 -#: ../../addon/authchoose/Mod_Authchoose.php:33 -msgid "Installed" +#: ../../Zotlabs/Module/Dreport.php:10 ../../Zotlabs/Module/Dreport.php:82 +#: ../../Zotlabs/Module/Profperm.php:28 ../../Zotlabs/Module/Cloud.php:123 +#: ../../Zotlabs/Module/Like.php:332 ../../Zotlabs/Module/Group.php:99 +#: ../../Zotlabs/Module/Import_items.php:120 +#: ../../Zotlabs/Module/Subthread.php:86 ../../Zotlabs/Module/Share.php:72 +#: ../../Zotlabs/Web/WebServer.php:115 ../../include/items.php:439 +#: ../../extend/addon/hzaddons/hzfiles/hzfiles.php:75 +#: ../../extend/addon/hzaddons/redphotos/redphotos.php:119 +#: ../../extend/addon/hzaddons/redfiles/redfiles.php:109 +msgid "Permission denied" msgstr "" -#: ../../addon/nsabait/Mod_Nsabait.php:26 -msgid "Make yourself a political target" +#: ../../Zotlabs/Module/Dreport.php:59 +msgid "Invalid message" msgstr "" -#: ../../addon/visage/Mod_Visage.php:21 -msgid "Who viewed my channel/profile" +#: ../../Zotlabs/Module/Dreport.php:93 +msgid "no results" msgstr "" -#: ../../addon/visage/Mod_Visage.php:25 -msgid "Recent Channel/Profile Viewers" +#: ../../Zotlabs/Module/Dreport.php:107 +msgid "channel sync processed" msgstr "" -#: ../../addon/visage/Mod_Visage.php:36 -msgid "No entries." +#: ../../Zotlabs/Module/Dreport.php:111 +msgid "queued" msgstr "" -#: ../../addon/openclipatar/openclipatar.php:50 -#: ../../addon/openclipatar/openclipatar.php:128 -msgid "System defaults:" +#: ../../Zotlabs/Module/Dreport.php:115 +msgid "posted" msgstr "" -#: ../../addon/openclipatar/openclipatar.php:54 -msgid "Preferred Clipart IDs" +#: ../../Zotlabs/Module/Dreport.php:119 +msgid "accepted for delivery" msgstr "" -#: ../../addon/openclipatar/openclipatar.php:54 -msgid "List of preferred clipart ids. These will be shown first." +#: ../../Zotlabs/Module/Dreport.php:123 +msgid "updated" msgstr "" -#: ../../addon/openclipatar/openclipatar.php:55 -msgid "Default Search Term" +#: ../../Zotlabs/Module/Dreport.php:126 +msgid "update ignored" msgstr "" -#: ../../addon/openclipatar/openclipatar.php:55 -msgid "The default search term. These will be shown second." +#: ../../Zotlabs/Module/Dreport.php:129 +msgid "permission denied" msgstr "" -#: ../../addon/openclipatar/openclipatar.php:56 -msgid "Return After" +#: ../../Zotlabs/Module/Dreport.php:133 +msgid "recipient not found" msgstr "" -#: ../../addon/openclipatar/openclipatar.php:56 -msgid "Page to load after image selection." +#: ../../Zotlabs/Module/Dreport.php:136 +msgid "mail recalled" msgstr "" -#: ../../addon/openclipatar/openclipatar.php:57 ../../include/nav.php:112 -#: ../../include/conversation.php:1077 ../../Zotlabs/Module/Connedit.php:611 -#: ../../Zotlabs/Lib/Apps.php:344 -msgid "View Profile" +#: ../../Zotlabs/Module/Dreport.php:139 +msgid "duplicate mail received" msgstr "" -#: ../../addon/openclipatar/openclipatar.php:58 ../../include/nav.php:117 -#: ../../include/channel.php:1528 -msgid "Edit Profile" +#: ../../Zotlabs/Module/Dreport.php:142 +msgid "mail delivered" msgstr "" -#: ../../addon/openclipatar/openclipatar.php:59 -msgid "Profile List" +#: ../../Zotlabs/Module/Dreport.php:162 +#, php-format +msgid "Delivery report for %1$s" msgstr "" -#: ../../addon/openclipatar/openclipatar.php:61 -msgid "Order of Preferred" +#: ../../Zotlabs/Module/Dreport.php:166 ../../Zotlabs/Widget/Wiki_pages.php:41 +#: ../../Zotlabs/Widget/Wiki_pages.php:98 +msgid "Options" msgstr "" -#: ../../addon/openclipatar/openclipatar.php:61 -msgid "Sort order of preferred clipart ids." +#: ../../Zotlabs/Module/Dreport.php:167 +msgid "Redeliver" msgstr "" -#: ../../addon/openclipatar/openclipatar.php:62 -#: ../../addon/openclipatar/openclipatar.php:68 -msgid "Newest first" +#: ../../Zotlabs/Module/Profperm.php:34 ../../Zotlabs/Module/Profperm.php:63 +msgid "Invalid profile identifier." msgstr "" -#: ../../addon/openclipatar/openclipatar.php:65 -msgid "As entered" +#: ../../Zotlabs/Module/Profperm.php:111 +msgid "Profile Visibility Editor" msgstr "" -#: ../../addon/openclipatar/openclipatar.php:67 -msgid "Order of other" +#: ../../Zotlabs/Module/Profperm.php:113 ../../Zotlabs/Lib/Apps.php:362 +#: ../../include/channel.php:1886 +msgid "Profile" msgstr "" -#: ../../addon/openclipatar/openclipatar.php:67 -msgid "Sort order of other clipart ids." +#: ../../Zotlabs/Module/Profperm.php:115 +msgid "Click on a contact to add or remove." msgstr "" -#: ../../addon/openclipatar/openclipatar.php:69 -msgid "Most downloaded first" +#: ../../Zotlabs/Module/Profperm.php:124 +msgid "Visible To" msgstr "" -#: ../../addon/openclipatar/openclipatar.php:70 -msgid "Most liked first" +#: ../../Zotlabs/Module/Profperm.php:140 +#: ../../Zotlabs/Module/Connections.php:217 +msgid "All Connections" msgstr "" -#: ../../addon/openclipatar/openclipatar.php:72 -msgid "Preferred IDs Message" +#: ../../Zotlabs/Module/Cloud.php:120 +msgid "Not found" msgstr "" -#: ../../addon/openclipatar/openclipatar.php:72 -msgid "Message to display above preferred results." +#: ../../Zotlabs/Module/Cloud.php:126 +msgid "Please refresh page" msgstr "" -#: ../../addon/openclipatar/openclipatar.php:78 -msgid "Uploaded by: " +#: ../../Zotlabs/Module/Cloud.php:129 +msgid "Unknown error" msgstr "" -#: ../../addon/openclipatar/openclipatar.php:78 -msgid "Drawn by: " +#: ../../Zotlabs/Module/Authorize.php:17 +msgid "Unknown App" msgstr "" -#: ../../addon/openclipatar/openclipatar.php:182 -#: ../../addon/openclipatar/openclipatar.php:194 -msgid "Use this image" +#: ../../Zotlabs/Module/Authorize.php:29 +msgid "Authorize" msgstr "" -#: ../../addon/openclipatar/openclipatar.php:192 -msgid "Or select from a free OpenClipart.org image:" +#: ../../Zotlabs/Module/Authorize.php:30 +#, php-format +msgid "Do you authorize the app %s to access your channel data?" msgstr "" -#: ../../addon/openclipatar/openclipatar.php:195 -msgid "Search Term" +#: ../../Zotlabs/Module/Authorize.php:32 ../../include/acl_selectors.php:146 +msgid "Allow" msgstr "" -#: ../../addon/openclipatar/openclipatar.php:232 -msgid "Unknown error. Please try again later." +#: ../../Zotlabs/Module/Authorize.php:33 +#: ../../Zotlabs/Module/Admin/Accounts.php:174 +msgid "Deny" msgstr "" -#: ../../addon/openclipatar/openclipatar.php:298 -#: ../../Zotlabs/Module/Profile_photo.php:254 -msgid "" -"Shift-reload the page or clear browser cache if the new photo does not " -"display immediately." +#: ../../Zotlabs/Module/Cdav.php:818 ../../Zotlabs/Module/Events.php:28 +msgid "Calendar entries imported." msgstr "" -#: ../../addon/openclipatar/openclipatar.php:308 -msgid "Profile photo updated successfully." +#: ../../Zotlabs/Module/Cdav.php:820 ../../Zotlabs/Module/Events.php:30 +msgid "No calendar entries found." msgstr "" -#: ../../addon/bookmarker/bookmarker.php:38 -#: ../../Zotlabs/Lib/ThreadItem.php:472 -msgid "Save Bookmarks" +#: ../../Zotlabs/Module/Cdav.php:876 +msgid "CardDAV App" msgstr "" -#: ../../addon/queueworker/Mod_Queueworker.php:77 -msgid "Max queueworker threads" +#: ../../Zotlabs/Module/Cdav.php:877 +msgid "CalDAV capable addressbook" msgstr "" -#: ../../addon/queueworker/Mod_Queueworker.php:91 -msgid "Assume workers dead after ___ seconds" +#: ../../Zotlabs/Module/Cdav.php:943 ../../Zotlabs/Module/Cal.php:167 +#: ../../Zotlabs/Module/Channel_calendar.php:393 +msgid "Link to source" msgstr "" -#: ../../addon/queueworker/Mod_Queueworker.php:105 -msgid "" -"Pause before starting next task: (microseconds. Minimum 100 = .0001 seconds)" +#: ../../Zotlabs/Module/Cdav.php:1009 ../../Zotlabs/Module/Events.php:468 +msgid "Event title" msgstr "" -#: ../../addon/queueworker/Mod_Queueworker.php:116 -msgid "Queueworker Settings" +#: ../../Zotlabs/Module/Cdav.php:1010 ../../Zotlabs/Module/Events.php:474 +msgid "Start date and time" msgstr "" -#: ../../addon/queueworker/Mod_Queueworker.php:119 ../../include/text.php:1151 -#: ../../include/text.php:1163 ../../Zotlabs/Widget/Notes.php:23 -#: ../../Zotlabs/Module/Admin/Profs.php:94 -#: ../../Zotlabs/Module/Admin/Profs.php:114 ../../Zotlabs/Module/Filer.php:53 -#: ../../Zotlabs/Module/Rbmark.php:32 ../../Zotlabs/Module/Rbmark.php:104 -msgid "Save" +#: ../../Zotlabs/Module/Cdav.php:1011 +msgid "End date and time" msgstr "" -#: ../../addon/rainbowtag/Mod_Rainbowtag.php:15 -msgid "Add some colour to tag clouds" +#: ../../Zotlabs/Module/Cdav.php:1012 ../../Zotlabs/Module/Events.php:497 +msgid "Timezone:" msgstr "" -#: ../../addon/rainbowtag/Mod_Rainbowtag.php:21 -#: ../../addon/rainbowtag/Mod_Rainbowtag.php:26 -msgid "Rainbow Tag App" +#: ../../Zotlabs/Module/Cdav.php:1014 ../../Zotlabs/Module/Events.php:481 +#: ../../Zotlabs/Module/Appman.php:145 ../../Zotlabs/Module/Rbmark.php:101 +#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:173 +#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:655 +#: ../../extend/addon/hzaddons/cart/submodules/manualcat.php:260 +msgid "Description" msgstr "" -#: ../../addon/rainbowtag/Mod_Rainbowtag.php:34 -msgid "Rainbow Tag" +#: ../../Zotlabs/Module/Cdav.php:1015 ../../Zotlabs/Module/Events.php:483 +#: ../../Zotlabs/Module/Profiles.php:511 ../../Zotlabs/Module/Profiles.php:736 +#: ../../Zotlabs/Module/Locs.php:128 ../../Zotlabs/Module/Pubsites.php:53 +#: ../../include/js_strings.php:25 +msgid "Location" msgstr "" -#: ../../addon/photocache/Mod_Photocache.php:27 -msgid "Photo Cache settings saved." +#: ../../Zotlabs/Module/Cdav.php:1035 ../../Zotlabs/Module/Events.php:697 +#: ../../Zotlabs/Module/Events.php:706 ../../Zotlabs/Module/Photos.php:947 +#: ../../Zotlabs/Module/Cal.php:205 +msgid "Previous" msgstr "" -#: ../../addon/photocache/Mod_Photocache.php:36 -msgid "" -"Photo Cache addon saves a copy of images from external sites locally to " -"increase your anonymity in the web." +#: ../../Zotlabs/Module/Cdav.php:1036 ../../Zotlabs/Module/Events.php:698 +#: ../../Zotlabs/Module/Events.php:707 ../../Zotlabs/Module/Photos.php:956 +#: ../../Zotlabs/Module/Cal.php:206 ../../Zotlabs/Module/Setup.php:260 +msgid "Next" msgstr "" -#: ../../addon/photocache/Mod_Photocache.php:42 -msgid "Photo Cache App" +#: ../../Zotlabs/Module/Cdav.php:1037 ../../Zotlabs/Module/Events.php:708 +#: ../../Zotlabs/Module/Cal.php:207 +msgid "Today" msgstr "" -#: ../../addon/photocache/Mod_Photocache.php:53 -msgid "Minimal photo size for caching" +#: ../../Zotlabs/Module/Cdav.php:1038 ../../Zotlabs/Module/Events.php:703 +msgid "Month" msgstr "" -#: ../../addon/photocache/Mod_Photocache.php:55 -msgid "In pixels. From 1 up to 1024, 0 will be replaced with system default." +#: ../../Zotlabs/Module/Cdav.php:1039 ../../Zotlabs/Module/Events.php:704 +msgid "Week" msgstr "" -#: ../../addon/photocache/Mod_Photocache.php:64 -msgid "Photo Cache" +#: ../../Zotlabs/Module/Cdav.php:1040 ../../Zotlabs/Module/Events.php:705 +msgid "Day" msgstr "" -#: ../../addon/gallery/gallery.php:43 ../../addon/gallery/Mod_Gallery.php:136 -msgid "Gallery" +#: ../../Zotlabs/Module/Cdav.php:1041 +msgid "List month" msgstr "" -#: ../../addon/gallery/gallery.php:46 -msgid "Photo Gallery" +#: ../../Zotlabs/Module/Cdav.php:1042 +msgid "List week" msgstr "" -#: ../../addon/gallery/Mod_Gallery.php:49 ../../include/channel.php:1425 -#: ../../Zotlabs/Module/Hcard.php:12 ../../Zotlabs/Module/Editwebpage.php:32 -#: ../../Zotlabs/Module/Profile.php:20 ../../Zotlabs/Module/Webpages.php:39 -#: ../../Zotlabs/Module/Filestorage.php:53 ../../Zotlabs/Module/Connect.php:17 -#: ../../Zotlabs/Module/Achievements.php:15 ../../Zotlabs/Module/Cards.php:42 -#: ../../Zotlabs/Module/Blocks.php:33 ../../Zotlabs/Module/Editblock.php:31 -#: ../../Zotlabs/Module/Editlayout.php:31 ../../Zotlabs/Module/Articles.php:43 -#: ../../Zotlabs/Module/Menu.php:92 ../../Zotlabs/Module/Layouts.php:31 -msgid "Requested profile is not available." +#: ../../Zotlabs/Module/Cdav.php:1043 +msgid "List day" msgstr "" -#: ../../addon/gallery/Mod_Gallery.php:58 -msgid "Gallery App" +#: ../../Zotlabs/Module/Cdav.php:1051 +msgid "More" msgstr "" -#: ../../addon/gallery/Mod_Gallery.php:59 -msgid "A simple gallery for your photo albums" +#: ../../Zotlabs/Module/Cdav.php:1052 +msgid "Less" msgstr "" -#: ../../addon/planets/Mod_Planets.php:20 -#: ../../addon/planets/Mod_Planets.php:23 -msgid "Random Planet App" +#: ../../Zotlabs/Module/Cdav.php:1053 ../../Zotlabs/Module/Cdav.php:1388 +#: ../../Zotlabs/Module/Profiles.php:801 ../../Zotlabs/Module/Oauth.php:53 +#: ../../Zotlabs/Module/Oauth.php:137 ../../Zotlabs/Module/Oauth2.php:58 +#: ../../Zotlabs/Module/Oauth2.php:144 ../../Zotlabs/Module/Connedit.php:931 +#: ../../Zotlabs/Module/Admin/Addons.php:457 ../../Zotlabs/Lib/Apps.php:536 +msgid "Update" msgstr "" -#: ../../addon/planets/Mod_Planets.php:25 -msgid "" -"Set a random planet from the Star Wars Empire as your location when posting" +#: ../../Zotlabs/Module/Cdav.php:1054 +msgid "Select calendar" msgstr "" -#: ../../addon/openid/Mod_Id.php:53 ../../addon/mail/Mod_Mail.php:25 -#: ../../addon/pumpio/pumpio.php:44 ../../addon/keepout/keepout.php:36 -#: ../../include/photos.php:27 ../../include/items.php:3966 -#: ../../include/attach.php:156 ../../include/attach.php:205 -#: ../../include/attach.php:278 ../../include/attach.php:386 -#: ../../include/attach.php:400 ../../include/attach.php:407 -#: ../../include/attach.php:489 ../../include/attach.php:1055 -#: ../../include/attach.php:1129 ../../include/attach.php:1292 -#: ../../Zotlabs/Module/Article_edit.php:51 ../../Zotlabs/Module/Network.php:19 -#: ../../Zotlabs/Module/Register.php:80 ../../Zotlabs/Module/Setup.php:206 -#: ../../Zotlabs/Module/Viewconnections.php:28 -#: ../../Zotlabs/Module/Viewconnections.php:33 -#: ../../Zotlabs/Module/Channel.php:181 ../../Zotlabs/Module/Channel.php:348 -#: ../../Zotlabs/Module/Channel.php:387 ../../Zotlabs/Module/Group.php:15 -#: ../../Zotlabs/Module/Group.php:31 ../../Zotlabs/Module/Card_edit.php:51 -#: ../../Zotlabs/Module/Editwebpage.php:68 -#: ../../Zotlabs/Module/Editwebpage.php:89 -#: ../../Zotlabs/Module/Editwebpage.php:107 -#: ../../Zotlabs/Module/Editwebpage.php:121 ../../Zotlabs/Module/Chat.php:113 -#: ../../Zotlabs/Module/Chat.php:118 -#: ../../Zotlabs/Module/Channel_calendar.php:230 -#: ../../Zotlabs/Module/Like.php:193 ../../Zotlabs/Module/Poke.php:157 -#: ../../Zotlabs/Module/Item.php:483 ../../Zotlabs/Module/Item.php:502 -#: ../../Zotlabs/Module/Item.php:512 ../../Zotlabs/Module/Item.php:1428 -#: ../../Zotlabs/Module/Mitem.php:129 ../../Zotlabs/Module/Profile.php:85 -#: ../../Zotlabs/Module/Profile.php:101 -#: ../../Zotlabs/Module/Sharedwithme.php:19 -#: ../../Zotlabs/Module/Webpages.php:133 -#: ../../Zotlabs/Module/Filestorage.php:17 -#: ../../Zotlabs/Module/Filestorage.php:72 -#: ../../Zotlabs/Module/Filestorage.php:90 -#: ../../Zotlabs/Module/Filestorage.php:113 -#: ../../Zotlabs/Module/Filestorage.php:160 -#: ../../Zotlabs/Module/Editpost.php:17 -#: ../../Zotlabs/Module/Achievements.php:34 ../../Zotlabs/Module/Events.php:277 -#: ../../Zotlabs/Module/Manage.php:10 ../../Zotlabs/Module/Authtest.php:16 -#: ../../Zotlabs/Module/Viewsrc.php:19 ../../Zotlabs/Module/Moderate.php:15 -#: ../../Zotlabs/Module/Display.php:442 ../../Zotlabs/Module/Common.php:38 -#: ../../Zotlabs/Module/New_channel.php:105 -#: ../../Zotlabs/Module/New_channel.php:130 -#: ../../Zotlabs/Module/Service_limits.php:11 ../../Zotlabs/Module/Mood.php:126 -#: ../../Zotlabs/Module/Appman.php:87 ../../Zotlabs/Module/Cards.php:86 -#: ../../Zotlabs/Module/Api.php:24 ../../Zotlabs/Module/Regmod.php:20 -#: ../../Zotlabs/Module/Blocks.php:73 ../../Zotlabs/Module/Blocks.php:80 -#: ../../Zotlabs/Module/Message.php:18 ../../Zotlabs/Module/Vote.php:19 -#: ../../Zotlabs/Module/Profile_photo.php:338 -#: ../../Zotlabs/Module/Profile_photo.php:351 -#: ../../Zotlabs/Module/Editblock.php:67 ../../Zotlabs/Module/Settings.php:59 -#: ../../Zotlabs/Module/Editlayout.php:67 -#: ../../Zotlabs/Module/Editlayout.php:90 -#: ../../Zotlabs/Module/Connections.php:32 -#: ../../Zotlabs/Module/Cover_photo.php:341 -#: ../../Zotlabs/Module/Cover_photo.php:354 ../../Zotlabs/Module/Photos.php:71 -#: ../../Zotlabs/Module/Page.php:34 ../../Zotlabs/Module/Page.php:133 -#: ../../Zotlabs/Module/Profiles.php:200 ../../Zotlabs/Module/Profiles.php:637 -#: ../../Zotlabs/Module/Articles.php:89 ../../Zotlabs/Module/Bookmarks.php:70 -#: ../../Zotlabs/Module/Invite.php:21 ../../Zotlabs/Module/Invite.php:102 -#: ../../Zotlabs/Module/Block.php:24 ../../Zotlabs/Module/Block.php:74 -#: ../../Zotlabs/Module/Rate.php:113 ../../Zotlabs/Module/Menu.php:130 -#: ../../Zotlabs/Module/Menu.php:141 ../../Zotlabs/Module/Defperms.php:182 -#: ../../Zotlabs/Module/Thing.php:282 ../../Zotlabs/Module/Thing.php:302 -#: ../../Zotlabs/Module/Thing.php:343 ../../Zotlabs/Module/Pdledit.php:35 -#: ../../Zotlabs/Module/Wiki.php:59 ../../Zotlabs/Module/Wiki.php:285 -#: ../../Zotlabs/Module/Wiki.php:428 ../../Zotlabs/Module/Suggest.php:32 -#: ../../Zotlabs/Module/Connedit.php:407 -#: ../../Zotlabs/Module/Notifications.php:11 -#: ../../Zotlabs/Module/Layouts.php:71 ../../Zotlabs/Module/Layouts.php:78 -#: ../../Zotlabs/Module/Layouts.php:89 ../../Zotlabs/Module/Locs.php:91 -#: ../../Zotlabs/Module/Sources.php:80 ../../Zotlabs/Lib/Chatroom.php:135 -#: ../../Zotlabs/Web/WebServer.php:116 -msgid "Permission denied." +#: ../../Zotlabs/Module/Cdav.php:1055 ../../Zotlabs/Widget/Cdav.php:143 +msgid "Channel Calendars" msgstr "" -#: ../../addon/openid/Mod_Id.php:85 ../../include/selectors.php:60 -#: ../../include/selectors.php:77 ../../include/channel.php:1708 -msgid "Male" +#: ../../Zotlabs/Module/Cdav.php:1055 ../../Zotlabs/Widget/Cdav.php:129 +#: ../../Zotlabs/Widget/Cdav.php:143 +msgid "CalDAV Calendars" msgstr "" -#: ../../addon/openid/Mod_Id.php:87 ../../include/selectors.php:60 -#: ../../include/selectors.php:77 ../../include/channel.php:1706 -msgid "Female" +#: ../../Zotlabs/Module/Cdav.php:1056 ../../Zotlabs/Module/Cdav.php:1389 +#: ../../Zotlabs/Module/Webpages.php:257 ../../Zotlabs/Module/Profiles.php:802 +#: ../../Zotlabs/Module/Oauth.php:174 ../../Zotlabs/Module/Card_edit.php:129 +#: ../../Zotlabs/Module/Oauth2.php:195 ../../Zotlabs/Module/Blocks.php:162 +#: ../../Zotlabs/Module/Connedit.php:660 ../../Zotlabs/Module/Connedit.php:932 +#: ../../Zotlabs/Module/Editlayout.php:138 +#: ../../Zotlabs/Module/Editblock.php:139 ../../Zotlabs/Module/Photos.php:1179 +#: ../../Zotlabs/Module/Connections.php:328 +#: ../../Zotlabs/Module/Editwebpage.php:167 +#: ../../Zotlabs/Module/Article_edit.php:128 +#: ../../Zotlabs/Module/Admin/Accounts.php:175 +#: ../../Zotlabs/Module/Admin/Channels.php:149 +#: ../../Zotlabs/Module/Admin/Profs.php:176 ../../Zotlabs/Module/Thing.php:269 +#: ../../Zotlabs/Storage/Browser.php:384 ../../Zotlabs/Lib/Apps.php:558 +#: ../../Zotlabs/Lib/ThreadItem.php:170 ../../include/conversation.php:730 +#: ../../include/conversation.php:775 +msgid "Delete" msgstr "" -#: ../../addon/openid/Mod_Openid.php:30 -msgid "OpenID protocol error. No ID returned." +#: ../../Zotlabs/Module/Cdav.php:1057 +msgid "Delete all" msgstr "" -#: ../../addon/openid/Mod_Openid.php:76 ../../addon/openid/Mod_Openid.php:178 -#: ../../Zotlabs/Zot/Auth.php:264 -#, php-format -msgid "Welcome %s. Remote authentication successful." +#: ../../Zotlabs/Module/Cdav.php:1058 ../../Zotlabs/Module/Cdav.php:1390 +#: ../../Zotlabs/Module/Filer.php:56 ../../Zotlabs/Module/Profiles.php:803 +#: ../../Zotlabs/Module/Oauth.php:112 ../../Zotlabs/Module/Oauth.php:138 +#: ../../Zotlabs/Module/Card_edit.php:131 ../../Zotlabs/Module/Oauth2.php:117 +#: ../../Zotlabs/Module/Oauth2.php:145 ../../Zotlabs/Module/Wiki.php:368 +#: ../../Zotlabs/Module/Wiki.php:401 ../../Zotlabs/Module/Fbrowser.php:66 +#: ../../Zotlabs/Module/Fbrowser.php:88 ../../Zotlabs/Module/Connedit.php:933 +#: ../../Zotlabs/Module/Profile_photo.php:507 +#: ../../Zotlabs/Module/Editlayout.php:140 +#: ../../Zotlabs/Module/Editblock.php:141 ../../Zotlabs/Module/Editpost.php:110 +#: ../../Zotlabs/Module/Tagrm.php:15 ../../Zotlabs/Module/Tagrm.php:138 +#: ../../Zotlabs/Module/Editwebpage.php:169 +#: ../../Zotlabs/Module/Article_edit.php:130 +#: ../../Zotlabs/Module/Admin/Addons.php:427 +#: ../../Zotlabs/Module/Cover_photo.php:428 +#: ../../Zotlabs/Storage/Browser.php:383 ../../include/conversation.php:1458 +#: ../../include/conversation.php:1511 +#: ../../extend/addon/hzaddons/hsse/hsse.php:209 +#: ../../extend/addon/hzaddons/hsse/hsse.php:258 +msgid "Cancel" msgstr "" -#: ../../addon/openid/Mod_Openid.php:188 ../../include/auth.php:320 -msgid "Login failed." +#: ../../Zotlabs/Module/Cdav.php:1059 ../../Zotlabs/Module/Cdav.php:1387 +#: ../../Zotlabs/Module/Webpages.php:254 ../../Zotlabs/Module/Profiles.php:800 +#: ../../Zotlabs/Module/Layouts.php:185 +#: ../../Zotlabs/Module/New_channel.php:189 ../../Zotlabs/Module/Blocks.php:159 +#: ../../Zotlabs/Module/Connedit.php:930 ../../Zotlabs/Module/Cards.php:113 +#: ../../Zotlabs/Module/Articles.php:117 ../../Zotlabs/Module/Menu.php:182 +#: ../../Zotlabs/Storage/Browser.php:365 ../../Zotlabs/Storage/Browser.php:538 +#: ../../Zotlabs/Widget/Cdav.php:140 ../../Zotlabs/Widget/Cdav.php:178 +msgid "Create" msgstr "" -#: ../../addon/openid/openid.php:49 -msgid "" -"We encountered a problem while logging in with the OpenID you provided. " -"Please check the correct spelling of the ID." +#: ../../Zotlabs/Module/Cdav.php:1060 +msgid "Sorry! Editing of recurrent events is not yet implemented." msgstr "" -#: ../../addon/openid/openid.php:49 -msgid "The error message was:" +#: ../../Zotlabs/Module/Cdav.php:1070 ../../Zotlabs/Storage/Browser.php:293 +#: ../../Zotlabs/Storage/Browser.php:388 ../../Zotlabs/Storage/Browser.php:403 +#: ../../Zotlabs/Widget/Appcategories.php:43 +#: ../../include/contact_widgets.php:108 ../../include/contact_widgets.php:152 +#: ../../include/contact_widgets.php:197 ../../include/contact_widgets.php:232 +#: ../../include/taxonomy.php:418 ../../include/taxonomy.php:500 +#: ../../include/taxonomy.php:520 ../../include/taxonomy.php:541 +msgid "Categories" msgstr "" -#: ../../addon/openid/MysqlProvider.php:52 -msgid "First Name" +#: ../../Zotlabs/Module/Cdav.php:1372 ../../Zotlabs/Module/Group.php:155 +#: ../../Zotlabs/Module/Oauth.php:113 ../../Zotlabs/Module/Oauth.php:139 +#: ../../Zotlabs/Module/Oauth2.php:118 ../../Zotlabs/Module/Oauth2.php:146 +#: ../../Zotlabs/Module/Wiki.php:218 ../../Zotlabs/Module/Connedit.php:915 +#: ../../Zotlabs/Module/Sharedwithme.php:106 ../../Zotlabs/Module/Chat.php:257 +#: ../../Zotlabs/Module/Admin/Channels.php:159 +#: ../../Zotlabs/Storage/Browser.php:377 +#: ../../Zotlabs/Lib/NativeWikiPage.php:564 +#: ../../Zotlabs/Widget/Wiki_page_history.php:22 +#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:172 +msgid "Name" msgstr "" -#: ../../addon/openid/MysqlProvider.php:53 -msgid "Last Name" +#: ../../Zotlabs/Module/Cdav.php:1373 ../../Zotlabs/Module/Connedit.php:916 +msgid "Organisation" msgstr "" -#: ../../addon/openid/MysqlProvider.php:54 ../../addon/redred/Mod_Redred.php:75 -msgid "Nickname" +#: ../../Zotlabs/Module/Cdav.php:1374 ../../Zotlabs/Module/Connedit.php:917 +#: ../../extend/addon/hzaddons/workflow/workflow.php:2617 +#: ../../extend/addon/hzaddons/workflow/workflow.php:2678 +msgid "Title" msgstr "" -#: ../../addon/openid/MysqlProvider.php:55 -msgid "Full Name" +#: ../../Zotlabs/Module/Cdav.php:1375 ../../Zotlabs/Module/Profiles.php:788 +#: ../../Zotlabs/Module/Connedit.php:918 +msgid "Phone" msgstr "" -#: ../../addon/openid/MysqlProvider.php:56 -#: ../../addon/openid/MysqlProvider.php:57 ../../addon/redred/Mod_Redred.php:71 -#: ../../addon/rtof/Mod_Rtof.php:57 ../../include/network.php:1736 -#: ../../Zotlabs/Module/Cdav.php:1372 +#: ../../Zotlabs/Module/Cdav.php:1376 ../../Zotlabs/Module/Profiles.php:789 +#: ../../Zotlabs/Module/Connedit.php:919 #: ../../Zotlabs/Module/Admin/Accounts.php:171 -#: ../../Zotlabs/Module/Admin/Accounts.php:183 -#: ../../Zotlabs/Module/Profiles.php:789 ../../Zotlabs/Module/Connedit.php:930 +#: ../../Zotlabs/Module/Admin/Accounts.php:183 ../../include/network.php:1737 +#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:71 +#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:56 +#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:57 +#: ../../extend/addon/hzaddons/rtof/Mod_Rtof.php:57 msgid "Email" msgstr "" -#: ../../addon/openid/MysqlProvider.php:58 -#: ../../addon/openid/MysqlProvider.php:59 -#: ../../addon/openid/MysqlProvider.php:60 ../../Zotlabs/Lib/Apps.php:361 -msgid "Profile Photo" +#: ../../Zotlabs/Module/Cdav.php:1377 ../../Zotlabs/Module/Profiles.php:790 +#: ../../Zotlabs/Module/Connedit.php:920 +msgid "Instant messenger" msgstr "" -#: ../../addon/openid/MysqlProvider.php:61 -msgid "Profile Photo 16px" +#: ../../Zotlabs/Module/Cdav.php:1378 ../../Zotlabs/Module/Profiles.php:791 +#: ../../Zotlabs/Module/Connedit.php:921 +msgid "Website" msgstr "" -#: ../../addon/openid/MysqlProvider.php:62 -msgid "Profile Photo 32px" +#: ../../Zotlabs/Module/Cdav.php:1379 ../../Zotlabs/Module/Profiles.php:504 +#: ../../Zotlabs/Module/Profiles.php:792 ../../Zotlabs/Module/Locs.php:129 +#: ../../Zotlabs/Module/Connedit.php:922 +#: ../../Zotlabs/Module/Admin/Channels.php:160 +msgid "Address" msgstr "" -#: ../../addon/openid/MysqlProvider.php:63 -msgid "Profile Photo 48px" +#: ../../Zotlabs/Module/Cdav.php:1380 ../../Zotlabs/Module/Profiles.php:793 +#: ../../Zotlabs/Module/Connedit.php:923 +msgid "Note" msgstr "" -#: ../../addon/openid/MysqlProvider.php:64 -msgid "Profile Photo 64px" +#: ../../Zotlabs/Module/Cdav.php:1381 ../../Zotlabs/Module/Profiles.php:794 +#: ../../Zotlabs/Module/Connedit.php:924 ../../include/connections.php:734 +#: ../../include/event.php:1422 +msgid "Mobile" msgstr "" -#: ../../addon/openid/MysqlProvider.php:65 -msgid "Profile Photo 80px" +#: ../../Zotlabs/Module/Cdav.php:1382 ../../Zotlabs/Module/Profiles.php:795 +#: ../../Zotlabs/Module/Connedit.php:925 ../../include/connections.php:735 +#: ../../include/event.php:1423 +msgid "Home" msgstr "" -#: ../../addon/openid/MysqlProvider.php:66 -msgid "Profile Photo 128px" +#: ../../Zotlabs/Module/Cdav.php:1383 ../../Zotlabs/Module/Profiles.php:796 +#: ../../Zotlabs/Module/Connedit.php:926 ../../include/connections.php:738 +#: ../../include/event.php:1426 +msgid "Work" msgstr "" -#: ../../addon/openid/MysqlProvider.php:67 ../../include/event.php:123 -msgid "Timezone" +#: ../../Zotlabs/Module/Cdav.php:1385 ../../Zotlabs/Module/Profiles.php:798 +#: ../../Zotlabs/Module/Connedit.php:928 +msgid "Add Contact" msgstr "" -#: ../../addon/openid/MysqlProvider.php:68 -#: ../../Zotlabs/Module/Profiles.php:769 -msgid "Homepage URL" +#: ../../Zotlabs/Module/Cdav.php:1386 ../../Zotlabs/Module/Profiles.php:799 +#: ../../Zotlabs/Module/Connedit.php:929 +msgid "Add Field" msgstr "" -#: ../../addon/openid/MysqlProvider.php:69 ../../Zotlabs/Lib/Apps.php:359 -msgid "Language" +#: ../../Zotlabs/Module/Cdav.php:1391 ../../Zotlabs/Module/Connedit.php:934 +msgid "P.O. Box" msgstr "" -#: ../../addon/openid/MysqlProvider.php:70 -msgid "Birth Year" +#: ../../Zotlabs/Module/Cdav.php:1392 ../../Zotlabs/Module/Connedit.php:935 +msgid "Additional" msgstr "" -#: ../../addon/openid/MysqlProvider.php:71 -msgid "Birth Month" +#: ../../Zotlabs/Module/Cdav.php:1393 ../../Zotlabs/Module/Connedit.php:936 +msgid "Street" msgstr "" -#: ../../addon/openid/MysqlProvider.php:72 -msgid "Birth Day" +#: ../../Zotlabs/Module/Cdav.php:1394 ../../Zotlabs/Module/Connedit.php:937 +msgid "Locality" msgstr "" -#: ../../addon/openid/MysqlProvider.php:73 -msgid "Birthdate" +#: ../../Zotlabs/Module/Cdav.php:1395 ../../Zotlabs/Module/Connedit.php:938 +msgid "Region" msgstr "" -#: ../../addon/openid/MysqlProvider.php:74 -#: ../../Zotlabs/Module/Profiles.php:488 -msgid "Gender" +#: ../../Zotlabs/Module/Cdav.php:1396 ../../Zotlabs/Module/Connedit.php:939 +msgid "ZIP Code" msgstr "" -#: ../../addon/moremoods/moremoods.php:19 -msgid "lonely" +#: ../../Zotlabs/Module/Cdav.php:1397 ../../Zotlabs/Module/Profiles.php:759 +#: ../../Zotlabs/Module/Connedit.php:940 +msgid "Country" msgstr "" -#: ../../addon/moremoods/moremoods.php:20 -msgid "drunk" +#: ../../Zotlabs/Module/Cdav.php:1456 +msgid "Default Calendar" msgstr "" -#: ../../addon/moremoods/moremoods.php:21 -msgid "horny" +#: ../../Zotlabs/Module/Cdav.php:1467 +msgid "Default Addressbook" msgstr "" -#: ../../addon/moremoods/moremoods.php:22 -msgid "stoned" +#: ../../Zotlabs/Module/Api.php:74 ../../Zotlabs/Module/Api.php:95 +msgid "Authorize application connection" msgstr "" -#: ../../addon/moremoods/moremoods.php:23 -msgid "fucked up" +#: ../../Zotlabs/Module/Api.php:75 +msgid "Return to your app and insert this Security Code:" msgstr "" -#: ../../addon/moremoods/moremoods.php:24 -msgid "clusterfucked" +#: ../../Zotlabs/Module/Api.php:85 +msgid "Please login to continue." msgstr "" -#: ../../addon/moremoods/moremoods.php:25 -msgid "crazy" +#: ../../Zotlabs/Module/Api.php:97 +msgid "" +"Do you want to authorize this application to access your posts and contacts, " +"and/or create new posts for you?" msgstr "" -#: ../../addon/moremoods/moremoods.php:26 -msgid "hurt" +#: ../../Zotlabs/Module/Api.php:98 ../../Zotlabs/Module/Events.php:478 +#: ../../Zotlabs/Module/Events.php:479 ../../Zotlabs/Module/Profiles.php:683 +#: ../../Zotlabs/Module/Import.php:634 ../../Zotlabs/Module/Import.php:638 +#: ../../Zotlabs/Module/Import.php:639 ../../Zotlabs/Module/Defperms.php:198 +#: ../../Zotlabs/Module/Filestorage.php:203 +#: ../../Zotlabs/Module/Filestorage.php:211 ../../Zotlabs/Module/Wiki.php:227 +#: ../../Zotlabs/Module/Wiki.php:228 ../../Zotlabs/Module/Connedit.php:403 +#: ../../Zotlabs/Module/Photos.php:673 ../../Zotlabs/Module/Admin/Site.php:261 +#: ../../Zotlabs/Module/Mitem.php:176 ../../Zotlabs/Module/Mitem.php:177 +#: ../../Zotlabs/Module/Mitem.php:256 ../../Zotlabs/Module/Mitem.php:257 +#: ../../Zotlabs/Module/Settings/Display.php:88 +#: ../../Zotlabs/Module/Settings/Channel.php:311 +#: ../../Zotlabs/Module/Menu.php:163 ../../Zotlabs/Module/Menu.php:222 +#: ../../Zotlabs/Module/Sources.php:124 ../../Zotlabs/Module/Sources.php:159 +#: ../../Zotlabs/Storage/Browser.php:310 ../../Zotlabs/Storage/Browser.php:311 +#: ../../Zotlabs/Storage/Browser.php:312 ../../Zotlabs/Storage/Browser.php:389 +#: ../../Zotlabs/Storage/Browser.php:391 ../../Zotlabs/Storage/Browser.php:552 +#: ../../Zotlabs/Lib/Libzotdir.php:165 ../../Zotlabs/Lib/Libzotdir.php:166 +#: ../../Zotlabs/Lib/Libzotdir.php:168 ../../include/conversation.php:1466 +#: ../../include/dir_fns.php:143 ../../include/dir_fns.php:144 +#: ../../include/dir_fns.php:145 +#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:111 +#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:63 +#: ../../extend/addon/hzaddons/cart/cart.php:1370 +#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:72 +#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:337 +#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:361 +#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:437 +#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:461 +#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:65 +#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:649 +#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:653 +#: ../../extend/addon/hzaddons/cart/submodules/subscriptions.php:153 +#: ../../extend/addon/hzaddons/cart/submodules/subscriptions.php:425 +#: ../../extend/addon/hzaddons/cart/submodules/paypalbuttonV2.php:88 +#: ../../extend/addon/hzaddons/cart/submodules/paypalbuttonV2.php:96 +#: ../../extend/addon/hzaddons/cart/submodules/paypalbutton.php:87 +#: ../../extend/addon/hzaddons/cart/submodules/paypalbutton.php:95 +#: ../../extend/addon/hzaddons/cart/submodules/manualcat.php:63 +#: ../../extend/addon/hzaddons/cart/submodules/manualcat.php:254 +#: ../../extend/addon/hzaddons/cart/submodules/manualcat.php:258 +#: ../../extend/addon/hzaddons/cart/Settings/Cart.php:61 +#: ../../extend/addon/hzaddons/cart/Settings/Cart.php:73 +#: ../../extend/addon/hzaddons/ljpost/Mod_Ljpost.php:63 +#: ../../extend/addon/hzaddons/ljpost/Mod_Ljpost.php:67 +#: ../../extend/addon/hzaddons/ljpost/Mod_Ljpost.php:71 +#: ../../extend/addon/hzaddons/libertree/Mod_Libertree.php:59 +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:260 +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:282 +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:291 +#: ../../extend/addon/hzaddons/pubcrawl/Mod_Pubcrawl.php:45 +#: ../../extend/addon/hzaddons/ijpost/Mod_Ijpost.php:61 +#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:214 +#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:162 +#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:171 +#: ../../extend/addon/hzaddons/dwpost/Mod_Dwpost.php:61 +#: ../../extend/addon/hzaddons/dwpost/Mod_Dwpost.php:65 +#: ../../extend/addon/hzaddons/nofed/Mod_Nofed.php:42 +#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:137 +#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:138 +#: ../../extend/addon/hzaddons/smileybutton/Mod_Smileybutton.php:44 +#: ../../extend/addon/hzaddons/rtof/Mod_Rtof.php:49 +#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:86 +#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:90 +#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:94 +#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:94 +#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:98 +#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:102 +#: ../../view/theme/redbasic/php/config.php:99 +#: ../../view/theme/redbasic/php/config.php:116 ../../boot.php:1710 +msgid "Yes" msgstr "" -#: ../../addon/moremoods/moremoods.php:27 -msgid "sleepy" +#: ../../Zotlabs/Module/Api.php:99 ../../Zotlabs/Module/Events.php:478 +#: ../../Zotlabs/Module/Events.php:479 ../../Zotlabs/Module/Profiles.php:683 +#: ../../Zotlabs/Module/Import.php:634 ../../Zotlabs/Module/Import.php:638 +#: ../../Zotlabs/Module/Import.php:639 ../../Zotlabs/Module/Defperms.php:198 +#: ../../Zotlabs/Module/Filestorage.php:203 +#: ../../Zotlabs/Module/Filestorage.php:211 ../../Zotlabs/Module/Wiki.php:227 +#: ../../Zotlabs/Module/Wiki.php:228 ../../Zotlabs/Module/Connedit.php:403 +#: ../../Zotlabs/Module/Connedit.php:788 ../../Zotlabs/Module/Photos.php:673 +#: ../../Zotlabs/Module/Admin/Site.php:259 ../../Zotlabs/Module/Mitem.php:176 +#: ../../Zotlabs/Module/Mitem.php:177 ../../Zotlabs/Module/Mitem.php:256 +#: ../../Zotlabs/Module/Mitem.php:257 +#: ../../Zotlabs/Module/Settings/Display.php:88 +#: ../../Zotlabs/Module/Settings/Channel.php:311 +#: ../../Zotlabs/Module/Menu.php:163 ../../Zotlabs/Module/Menu.php:222 +#: ../../Zotlabs/Module/Sources.php:124 ../../Zotlabs/Module/Sources.php:159 +#: ../../Zotlabs/Storage/Browser.php:310 ../../Zotlabs/Storage/Browser.php:311 +#: ../../Zotlabs/Storage/Browser.php:312 ../../Zotlabs/Storage/Browser.php:389 +#: ../../Zotlabs/Storage/Browser.php:391 ../../Zotlabs/Storage/Browser.php:552 +#: ../../Zotlabs/Lib/Libzotdir.php:165 ../../Zotlabs/Lib/Libzotdir.php:166 +#: ../../Zotlabs/Lib/Libzotdir.php:168 ../../include/conversation.php:1466 +#: ../../include/dir_fns.php:143 ../../include/dir_fns.php:144 +#: ../../include/dir_fns.php:145 +#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:111 +#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:63 +#: ../../extend/addon/hzaddons/cart/cart.php:1370 +#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:72 +#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:338 +#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:362 +#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:438 +#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:462 +#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:65 +#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:649 +#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:653 +#: ../../extend/addon/hzaddons/cart/submodules/subscriptions.php:153 +#: ../../extend/addon/hzaddons/cart/submodules/subscriptions.php:425 +#: ../../extend/addon/hzaddons/cart/submodules/paypalbuttonV2.php:88 +#: ../../extend/addon/hzaddons/cart/submodules/paypalbuttonV2.php:96 +#: ../../extend/addon/hzaddons/cart/submodules/paypalbutton.php:87 +#: ../../extend/addon/hzaddons/cart/submodules/paypalbutton.php:95 +#: ../../extend/addon/hzaddons/cart/submodules/manualcat.php:63 +#: ../../extend/addon/hzaddons/cart/submodules/manualcat.php:254 +#: ../../extend/addon/hzaddons/cart/submodules/manualcat.php:258 +#: ../../extend/addon/hzaddons/cart/Settings/Cart.php:61 +#: ../../extend/addon/hzaddons/cart/Settings/Cart.php:73 +#: ../../extend/addon/hzaddons/ljpost/Mod_Ljpost.php:63 +#: ../../extend/addon/hzaddons/ljpost/Mod_Ljpost.php:67 +#: ../../extend/addon/hzaddons/ljpost/Mod_Ljpost.php:71 +#: ../../extend/addon/hzaddons/libertree/Mod_Libertree.php:59 +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:260 +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:282 +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:291 +#: ../../extend/addon/hzaddons/pubcrawl/Mod_Pubcrawl.php:45 +#: ../../extend/addon/hzaddons/ijpost/Mod_Ijpost.php:61 +#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:214 +#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:162 +#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:171 +#: ../../extend/addon/hzaddons/dwpost/Mod_Dwpost.php:61 +#: ../../extend/addon/hzaddons/dwpost/Mod_Dwpost.php:65 +#: ../../extend/addon/hzaddons/nofed/Mod_Nofed.php:42 +#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:137 +#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:138 +#: ../../extend/addon/hzaddons/smileybutton/Mod_Smileybutton.php:44 +#: ../../extend/addon/hzaddons/rtof/Mod_Rtof.php:49 +#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:86 +#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:90 +#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:94 +#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:94 +#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:98 +#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:102 +#: ../../view/theme/redbasic/php/config.php:99 +#: ../../view/theme/redbasic/php/config.php:116 ../../boot.php:1710 +msgid "No" msgstr "" -#: ../../addon/moremoods/moremoods.php:28 -msgid "grumpy" +#: ../../Zotlabs/Module/Dirsearch.php:28 ../../Zotlabs/Module/Regdir.php:52 +msgid "This site is not a directory server" msgstr "" -#: ../../addon/moremoods/moremoods.php:29 -msgid "high" +#: ../../Zotlabs/Module/Dirsearch.php:37 +msgid "This directory server requires an access token" msgstr "" -#: ../../addon/moremoods/moremoods.php:30 -msgid "semi-conscious" +#: ../../Zotlabs/Module/Filer.php:53 +msgid "Enter a folder name" msgstr "" -#: ../../addon/moremoods/moremoods.php:31 -msgid "in love" +#: ../../Zotlabs/Module/Filer.php:53 +msgid "or select an existing folder (doubleclick)" msgstr "" -#: ../../addon/moremoods/moremoods.php:32 -msgid "in lust" +#: ../../Zotlabs/Module/Filer.php:54 ../../Zotlabs/Module/Admin/Profs.php:94 +#: ../../Zotlabs/Module/Admin/Profs.php:114 ../../Zotlabs/Module/Rbmark.php:32 +#: ../../Zotlabs/Module/Rbmark.php:104 ../../Zotlabs/Widget/Notes.php:23 +#: ../../include/text.php:1151 ../../include/text.php:1163 +#: ../../extend/addon/hzaddons/queueworker/Mod_Queueworker.php:119 +msgid "Save" msgstr "" -#: ../../addon/moremoods/moremoods.php:33 -msgid "naked" +#: ../../Zotlabs/Module/Filer.php:55 ../../Zotlabs/Lib/ThreadItem.php:184 +msgid "Save to Folder" msgstr "" -#: ../../addon/moremoods/moremoods.php:34 -msgid "stinky" +#: ../../Zotlabs/Module/Events.php:113 +#: ../../Zotlabs/Module/Channel_calendar.php:57 +msgid "Event can not end before it has started." msgstr "" -#: ../../addon/moremoods/moremoods.php:35 -msgid "sweaty" +#: ../../Zotlabs/Module/Events.php:115 ../../Zotlabs/Module/Events.php:124 +#: ../../Zotlabs/Module/Events.php:146 +#: ../../Zotlabs/Module/Channel_calendar.php:59 +#: ../../Zotlabs/Module/Channel_calendar.php:67 +#: ../../Zotlabs/Module/Channel_calendar.php:84 +msgid "Unable to generate preview." msgstr "" -#: ../../addon/moremoods/moremoods.php:36 -msgid "bleeding out" +#: ../../Zotlabs/Module/Events.php:122 +#: ../../Zotlabs/Module/Channel_calendar.php:65 +msgid "Event title and start time are required." msgstr "" -#: ../../addon/moremoods/moremoods.php:37 -msgid "victorious" +#: ../../Zotlabs/Module/Events.php:144 ../../Zotlabs/Module/Events.php:271 +#: ../../Zotlabs/Module/Channel_calendar.php:82 +#: ../../Zotlabs/Module/Channel_calendar.php:224 +msgid "Event not found." msgstr "" -#: ../../addon/moremoods/moremoods.php:38 -msgid "defeated" +#: ../../Zotlabs/Module/Events.php:266 ../../Zotlabs/Module/Like.php:435 +#: ../../Zotlabs/Module/Tagger.php:75 +#: ../../Zotlabs/Module/Channel_calendar.php:219 +#: ../../include/conversation.php:132 ../../include/text.php:2255 +#: ../../include/event.php:1259 +msgid "event" msgstr "" -#: ../../addon/moremoods/moremoods.php:39 -msgid "envious" +#: ../../Zotlabs/Module/Events.php:468 +msgid "Edit event title" msgstr "" -#: ../../addon/moremoods/moremoods.php:40 -msgid "jealous" +#: ../../Zotlabs/Module/Events.php:468 ../../Zotlabs/Module/Events.php:473 +#: ../../Zotlabs/Module/Profiles.php:747 ../../Zotlabs/Module/Profiles.php:751 +#: ../../Zotlabs/Module/Appman.php:143 ../../Zotlabs/Module/Appman.php:144 +#: ../../include/datetime.php:211 +#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:334 +#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:358 +#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:434 +#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:458 +msgid "Required" msgstr "" -#: ../../addon/dirstats/dirstats.php:94 -msgid "Hubzilla Directory Stats" +#: ../../Zotlabs/Module/Events.php:470 +msgid "Categories (comma-separated list)" msgstr "" -#: ../../addon/dirstats/dirstats.php:95 -msgid "Total Hubs" +#: ../../Zotlabs/Module/Events.php:471 +msgid "Edit Category" msgstr "" -#: ../../addon/dirstats/dirstats.php:97 -msgid "Hubzilla Hubs" +#: ../../Zotlabs/Module/Events.php:471 +msgid "Category" msgstr "" -#: ../../addon/dirstats/dirstats.php:99 -msgid "Friendica Hubs" +#: ../../Zotlabs/Module/Events.php:474 +msgid "Edit start date and time" msgstr "" -#: ../../addon/dirstats/dirstats.php:101 -msgid "Diaspora Pods" +#: ../../Zotlabs/Module/Events.php:475 ../../Zotlabs/Module/Events.php:478 +msgid "Finish date and time are not known or not relevant" msgstr "" -#: ../../addon/dirstats/dirstats.php:103 -msgid "Hubzilla Channels" +#: ../../Zotlabs/Module/Events.php:477 +msgid "Edit finish date and time" msgstr "" -#: ../../addon/dirstats/dirstats.php:105 -msgid "Friendica Channels" +#: ../../Zotlabs/Module/Events.php:477 +msgid "Finish date and time" msgstr "" -#: ../../addon/dirstats/dirstats.php:107 -msgid "Diaspora Channels" +#: ../../Zotlabs/Module/Events.php:479 ../../Zotlabs/Module/Events.php:480 +msgid "Adjust for viewer timezone" msgstr "" -#: ../../addon/dirstats/dirstats.php:109 -msgid "Aged 35 and above" +#: ../../Zotlabs/Module/Events.php:479 +msgid "" +"Important for events that happen in a particular place. Not practical for " +"global holidays." msgstr "" -#: ../../addon/dirstats/dirstats.php:111 -msgid "Aged 34 and under" +#: ../../Zotlabs/Module/Events.php:481 +msgid "Edit Description" msgstr "" -#: ../../addon/dirstats/dirstats.php:113 -msgid "Average Age" +#: ../../Zotlabs/Module/Events.php:483 +msgid "Edit Location" msgstr "" -#: ../../addon/dirstats/dirstats.php:115 -msgid "Known Chatrooms" +#: ../../Zotlabs/Module/Events.php:486 ../../Zotlabs/Module/Webpages.php:262 +#: ../../Zotlabs/Module/Photos.php:1099 ../../Zotlabs/Lib/ThreadItem.php:835 +#: ../../include/conversation.php:1402 +#: ../../extend/addon/hzaddons/hsse/hsse.php:153 +msgid "Preview" msgstr "" -#: ../../addon/dirstats/dirstats.php:117 -msgid "Known Tags" +#: ../../Zotlabs/Module/Events.php:487 ../../include/conversation.php:1478 +#: ../../extend/addon/hzaddons/hsse/hsse.php:225 +msgid "Permission settings" msgstr "" -#: ../../addon/dirstats/dirstats.php:119 -msgid "" -"Please note Diaspora and Friendica statistics are merely those **this " -"directory** is aware of, and not all those known in the network. This also " -"applies to chatrooms," +#: ../../Zotlabs/Module/Events.php:502 +msgid "Advanced Options" msgstr "" -#: ../../addon/redred/Mod_Redred.php:24 -msgid "Channel is required." +#: ../../Zotlabs/Module/Events.php:613 +msgid "l, F j" msgstr "" -#: ../../addon/redred/Mod_Redred.php:29 ../../Zotlabs/Module/Network.php:329 -msgid "Invalid channel." +#: ../../Zotlabs/Module/Events.php:641 +#: ../../Zotlabs/Module/Channel_calendar.php:371 +msgid "Edit event" msgstr "" -#: ../../addon/redred/Mod_Redred.php:38 -msgid "Hubzilla Crosspost Connector Settings saved." +#: ../../Zotlabs/Module/Events.php:643 +#: ../../Zotlabs/Module/Channel_calendar.php:373 +msgid "Delete event" msgstr "" -#: ../../addon/redred/Mod_Redred.php:50 -#: ../../addon/statusnet/Mod_Statusnet.php:146 -msgid "Hubzilla Crosspost Connector App" +#: ../../Zotlabs/Module/Events.php:669 ../../include/text.php:2074 +msgid "Link to Source" msgstr "" -#: ../../addon/redred/Mod_Redred.php:51 -msgid "Relay public postings to another Hubzilla channel" +#: ../../Zotlabs/Module/Events.php:677 +#: ../../Zotlabs/Module/Channel_calendar.php:407 +msgid "calendar" msgstr "" -#: ../../addon/redred/Mod_Redred.php:63 -msgid "Send public postings to Hubzilla channel by default" +#: ../../Zotlabs/Module/Events.php:696 +msgid "Edit Event" msgstr "" -#: ../../addon/redred/Mod_Redred.php:67 -msgid "Hubzilla API Path" +#: ../../Zotlabs/Module/Events.php:696 +msgid "Create Event" msgstr "" -#: ../../addon/redred/Mod_Redred.php:67 ../../addon/rtof/Mod_Rtof.php:53 -msgid "https://{sitename}/api" +#: ../../Zotlabs/Module/Events.php:699 ../../include/channel.php:1889 +msgid "Export" msgstr "" -#: ../../addon/redred/Mod_Redred.php:71 -msgid "Hubzilla login name" +#: ../../Zotlabs/Module/Events.php:702 ../../Zotlabs/Module/Webpages.php:261 +#: ../../Zotlabs/Module/Layouts.php:198 ../../Zotlabs/Module/Wiki.php:213 +#: ../../Zotlabs/Module/Wiki.php:409 ../../Zotlabs/Module/Blocks.php:166 +#: ../../Zotlabs/Module/Pubsites.php:61 +msgid "View" msgstr "" -#: ../../addon/redred/Mod_Redred.php:75 -msgid "Hubzilla channel name" +#: ../../Zotlabs/Module/Events.php:739 +msgid "Event removed" msgstr "" -#: ../../addon/redred/Mod_Redred.php:79 -msgid "Hubzilla password" +#: ../../Zotlabs/Module/Events.php:742 +#: ../../Zotlabs/Module/Channel_calendar.php:494 +msgid "Failed to remove event" msgstr "" -#: ../../addon/redred/Mod_Redred.php:87 -msgid "Hubzilla Crosspost Connector" +#: ../../Zotlabs/Module/Help.php:23 +msgid "Documentation Search" msgstr "" -#: ../../addon/redred/redred.php:50 -msgid "Post to Hubzilla" +#: ../../Zotlabs/Module/Help.php:83 ../../include/nav.php:434 +msgid "About" msgstr "" -#: ../../addon/redphotos/redphotos.php:106 -msgid "Photos imported" +#: ../../Zotlabs/Module/Help.php:84 ../../Zotlabs/Module/Group.php:156 +msgid "Members" msgstr "" -#: ../../addon/redphotos/redphotos.php:119 -#: ../../addon/redfiles/redfiles.php:109 ../../addon/hzfiles/hzfiles.php:75 -#: ../../include/items.php:439 ../../Zotlabs/Module/Import_items.php:120 -#: ../../Zotlabs/Module/Profperm.php:28 ../../Zotlabs/Module/Group.php:99 -#: ../../Zotlabs/Module/Like.php:295 ../../Zotlabs/Module/Cloud.php:119 -#: ../../Zotlabs/Module/Share.php:72 ../../Zotlabs/Module/Subthread.php:86 -#: ../../Zotlabs/Module/Dreport.php:10 ../../Zotlabs/Module/Dreport.php:82 -#: ../../Zotlabs/Web/WebServer.php:115 -msgid "Permission denied" +#: ../../Zotlabs/Module/Help.php:85 +msgid "Administrators" msgstr "" -#: ../../addon/redphotos/redphotos.php:129 -msgid "Redmatrix Photo Album Import" +#: ../../Zotlabs/Module/Help.php:86 +msgid "Developers" msgstr "" -#: ../../addon/redphotos/redphotos.php:130 -msgid "This will import all your Redmatrix photo albums to this channel." +#: ../../Zotlabs/Module/Help.php:87 +msgid "Tutorials" msgstr "" -#: ../../addon/redphotos/redphotos.php:131 -#: ../../addon/redfiles/redfiles.php:121 -msgid "Redmatrix Server base URL" +#: ../../Zotlabs/Module/Help.php:98 +msgid "$Projectname Documentation" msgstr "" -#: ../../addon/redphotos/redphotos.php:132 -#: ../../addon/redfiles/redfiles.php:122 -msgid "Redmatrix Login Username" +#: ../../Zotlabs/Module/Help.php:99 +msgid "Contents" msgstr "" -#: ../../addon/redphotos/redphotos.php:133 -#: ../../addon/redfiles/redfiles.php:123 -msgid "Redmatrix Login Password" +#: ../../Zotlabs/Module/Bookmarks.php:62 +msgid "Bookmark added" msgstr "" -#: ../../addon/redphotos/redphotos.php:134 -msgid "Import just this album" +#: ../../Zotlabs/Module/Bookmarks.php:78 +msgid "Bookmarks App" msgstr "" -#: ../../addon/redphotos/redphotos.php:134 -msgid "Leave blank to import all albums" +#: ../../Zotlabs/Module/Bookmarks.php:79 +msgid "Bookmark links from posts and manage them" msgstr "" -#: ../../addon/redphotos/redphotos.php:135 -msgid "Maximum count to import" +#: ../../Zotlabs/Module/Bookmarks.php:92 +msgid "My Bookmarks" msgstr "" -#: ../../addon/redphotos/redphotos.php:135 -msgid "0 or blank to import all available" +#: ../../Zotlabs/Module/Bookmarks.php:103 +msgid "My Connections Bookmarks" msgstr "" -#: ../../addon/redphotos/redphotohelper.php:71 ../../addon/pubcrawl/as.php:1841 -#: ../../addon/diaspora/Receiver.php:1597 ../../include/text.php:2252 -#: ../../include/conversation.php:128 ../../Zotlabs/Module/Like.php:386 -#: ../../Zotlabs/Module/Tagger.php:71 ../../Zotlabs/Module/Subthread.php:112 -#: ../../Zotlabs/Lib/Activity.php:2953 -msgid "photo" +#: ../../Zotlabs/Module/Webpages.php:39 ../../Zotlabs/Module/Layouts.php:31 +#: ../../Zotlabs/Module/Connect.php:17 ../../Zotlabs/Module/Filestorage.php:59 +#: ../../Zotlabs/Module/Blocks.php:33 ../../Zotlabs/Module/Editlayout.php:31 +#: ../../Zotlabs/Module/Achievements.php:15 +#: ../../Zotlabs/Module/Editblock.php:31 ../../Zotlabs/Module/Cards.php:42 +#: ../../Zotlabs/Module/Editwebpage.php:32 ../../Zotlabs/Module/Profile.php:20 +#: ../../Zotlabs/Module/Articles.php:43 ../../Zotlabs/Module/Hcard.php:12 +#: ../../Zotlabs/Module/Menu.php:92 ../../include/channel.php:1439 +#: ../../extend/addon/hzaddons/gallery/Mod_Gallery.php:49 +msgid "Requested profile is not available." msgstr "" -#: ../../addon/statusnet/Mod_Statusnet.php:61 -msgid "" -"Please contact your site administrator.<br />The provided API URL is not " -"valid." +#: ../../Zotlabs/Module/Webpages.php:48 +msgid "Webpages App" msgstr "" -#: ../../addon/statusnet/Mod_Statusnet.php:98 -msgid "We could not contact the GNU social API with the Path you entered." +#: ../../Zotlabs/Module/Webpages.php:49 +msgid "Provide managed web pages on your channel" msgstr "" -#: ../../addon/statusnet/Mod_Statusnet.php:130 -msgid "GNU social settings updated." +#: ../../Zotlabs/Module/Webpages.php:69 +msgid "Import Webpage Elements" msgstr "" -#: ../../addon/statusnet/Mod_Statusnet.php:147 -msgid "" -"Relay public postings to a connected GNU social account (formerly StatusNet)" +#: ../../Zotlabs/Module/Webpages.php:70 +msgid "Import selected" msgstr "" -#: ../../addon/statusnet/Mod_Statusnet.php:181 -msgid "Globally Available GNU social OAuthKeys" +#: ../../Zotlabs/Module/Webpages.php:93 +msgid "Export Webpage Elements" msgstr "" -#: ../../addon/statusnet/Mod_Statusnet.php:183 -msgid "" -"There are preconfigured OAuth key pairs for some GNU social servers " -"available. If you are using one of them, please use these credentials.<br /" -">If not feel free to connect to any other GNU social instance (see below)." +#: ../../Zotlabs/Module/Webpages.php:94 +msgid "Export selected" msgstr "" -#: ../../addon/statusnet/Mod_Statusnet.php:198 -msgid "Provide your own OAuth Credentials" +#: ../../Zotlabs/Module/Webpages.php:252 ../../Zotlabs/Lib/Apps.php:341 +#: ../../include/nav.php:524 +msgid "Webpages" msgstr "" -#: ../../addon/statusnet/Mod_Statusnet.php:200 -msgid "" -"No consumer key pair for GNU social found. Register your Hubzilla Account as " -"an desktop client on your GNU social account, copy the consumer key pair " -"here and enter the API base root.<br />Before you register your own OAuth " -"key pair ask the administrator if there is already a key pair for this " -"Hubzilla installation at your favourite GNU social installation." +#: ../../Zotlabs/Module/Webpages.php:255 ../../Zotlabs/Module/Layouts.php:193 +#: ../../Zotlabs/Module/Group.php:253 ../../Zotlabs/Module/Oauth.php:173 +#: ../../Zotlabs/Module/Card_edit.php:99 ../../Zotlabs/Module/Oauth2.php:194 +#: ../../Zotlabs/Module/Wiki.php:211 ../../Zotlabs/Module/Wiki.php:384 +#: ../../Zotlabs/Module/Blocks.php:160 ../../Zotlabs/Module/Editlayout.php:114 +#: ../../Zotlabs/Module/Editblock.php:114 +#: ../../Zotlabs/Module/Connections.php:320 +#: ../../Zotlabs/Module/Connections.php:362 +#: ../../Zotlabs/Module/Connections.php:382 +#: ../../Zotlabs/Module/Editwebpage.php:142 +#: ../../Zotlabs/Module/Article_edit.php:98 +#: ../../Zotlabs/Module/Admin/Profs.php:175 ../../Zotlabs/Module/Thing.php:268 +#: ../../Zotlabs/Module/Menu.php:176 ../../Zotlabs/Lib/Apps.php:557 +#: ../../Zotlabs/Lib/ThreadItem.php:148 ../../Zotlabs/Widget/Cdav.php:138 +#: ../../Zotlabs/Widget/Cdav.php:175 ../../include/channel.php:1538 +#: ../../include/channel.php:1542 ../../include/menu.php:120 +msgid "Edit" msgstr "" -#: ../../addon/statusnet/Mod_Statusnet.php:204 -msgid "OAuth Consumer Key" +#: ../../Zotlabs/Module/Webpages.php:256 ../../Zotlabs/Module/Layouts.php:194 +#: ../../Zotlabs/Module/Wiki.php:301 ../../Zotlabs/Module/Blocks.php:161 +#: ../../Zotlabs/Module/Photos.php:1078 ../../Zotlabs/Widget/Cdav.php:136 +#: ../../include/conversation.php:1435 +#: ../../extend/addon/hzaddons/hsse/hsse.php:186 +msgid "Share" msgstr "" -#: ../../addon/statusnet/Mod_Statusnet.php:208 -msgid "OAuth Consumer Secret" +#: ../../Zotlabs/Module/Webpages.php:263 +msgid "Actions" msgstr "" -#: ../../addon/statusnet/Mod_Statusnet.php:212 -msgid "Base API Path" +#: ../../Zotlabs/Module/Webpages.php:264 +msgid "Page Link" msgstr "" -#: ../../addon/statusnet/Mod_Statusnet.php:212 -msgid "Remember the trailing /" +#: ../../Zotlabs/Module/Webpages.php:265 +msgid "Page Title" msgstr "" -#: ../../addon/statusnet/Mod_Statusnet.php:216 -msgid "GNU social application name" +#: ../../Zotlabs/Module/Webpages.php:266 ../../Zotlabs/Module/Layouts.php:191 +#: ../../Zotlabs/Module/Blocks.php:157 ../../Zotlabs/Module/Menu.php:178 +msgid "Created" msgstr "" -#: ../../addon/statusnet/Mod_Statusnet.php:239 -msgid "" -"To connect to your GNU social account click the button below to get a " -"security code from GNU social which you have to copy into the input box " -"below and submit the form. Only your <strong>public</strong> posts will be " -"posted to GNU social." +#: ../../Zotlabs/Module/Webpages.php:267 ../../Zotlabs/Module/Layouts.php:192 +#: ../../Zotlabs/Module/Blocks.php:158 ../../Zotlabs/Module/Menu.php:179 +msgid "Edited" msgstr "" -#: ../../addon/statusnet/Mod_Statusnet.php:241 -msgid "Log in with GNU social" +#: ../../Zotlabs/Module/Webpages.php:295 +msgid "Invalid file type." msgstr "" -#: ../../addon/statusnet/Mod_Statusnet.php:244 -msgid "Copy the security code from GNU social here" +#: ../../Zotlabs/Module/Webpages.php:307 +msgid "Error opening zip file" msgstr "" -#: ../../addon/statusnet/Mod_Statusnet.php:254 -msgid "Cancel Connection Process" +#: ../../Zotlabs/Module/Webpages.php:318 +msgid "Invalid folder path." msgstr "" -#: ../../addon/statusnet/Mod_Statusnet.php:256 -msgid "Current GNU social API is" +#: ../../Zotlabs/Module/Webpages.php:345 +msgid "No webpage elements detected." msgstr "" -#: ../../addon/statusnet/Mod_Statusnet.php:260 -msgid "Cancel GNU social Connection" +#: ../../Zotlabs/Module/Webpages.php:420 +msgid "Import complete." msgstr "" -#: ../../addon/statusnet/Mod_Statusnet.php:272 -#: ../../addon/twitter/Mod_Twitter.php:147 -msgid "Currently connected to: " +#: ../../Zotlabs/Module/Profiles.php:26 ../../Zotlabs/Module/Profiles.php:186 +#: ../../Zotlabs/Module/Profiles.php:243 ../../Zotlabs/Module/Profiles.php:661 +msgid "Profile not found." msgstr "" -#: ../../addon/statusnet/Mod_Statusnet.php:277 -msgid "" -"<strong>Note</strong>: Due your privacy settings (<em>Hide your profile " -"details from unknown viewers?</em>) the link potentially included in public " -"postings relayed to GNU social will lead the visitor to a blank page " -"informing the visitor that the access to your profile has been restricted." +#: ../../Zotlabs/Module/Profiles.php:46 +msgid "Profile deleted." msgstr "" -#: ../../addon/statusnet/Mod_Statusnet.php:282 -msgid "Post to GNU social by default" +#: ../../Zotlabs/Module/Profiles.php:70 ../../Zotlabs/Module/Profiles.php:107 +msgid "Profile-" msgstr "" -#: ../../addon/statusnet/Mod_Statusnet.php:282 -msgid "" -"If enabled your public postings will be posted to the associated GNU-social " -"account by default" +#: ../../Zotlabs/Module/Profiles.php:92 ../../Zotlabs/Module/Profiles.php:129 +msgid "New profile created." msgstr "" -#: ../../addon/statusnet/Mod_Statusnet.php:291 -#: ../../addon/twitter/Mod_Twitter.php:171 -msgid "Clear OAuth configuration" +#: ../../Zotlabs/Module/Profiles.php:113 +msgid "Profile unavailable to clone." msgstr "" -#: ../../addon/statusnet/Mod_Statusnet.php:303 -msgid "GNU-Social Crosspost Connector" +#: ../../Zotlabs/Module/Profiles.php:148 +msgid "Profile unavailable to export." msgstr "" -#: ../../addon/statusnet/statusnet.php:145 -msgid "Post to GNU social" +#: ../../Zotlabs/Module/Profiles.php:254 +msgid "Profile Name is required." msgstr "" -#: ../../addon/statusnet/statusnet.php:593 -#: ../../Zotlabs/Module/Admin/Site.php:295 -msgid "Site name" +#: ../../Zotlabs/Module/Profiles.php:461 +msgid "Marital Status" msgstr "" -#: ../../addon/statusnet/statusnet.php:594 -msgid "API URL" +#: ../../Zotlabs/Module/Profiles.php:465 +msgid "Romantic Partner" msgstr "" -#: ../../addon/statusnet/statusnet.php:595 ../../addon/twitter/twitter.php:506 -#: ../../Zotlabs/Module/Oauth.php:115 ../../Zotlabs/Module/Oauth.php:141 -#: ../../Zotlabs/Module/Oauth2.php:119 ../../Zotlabs/Module/Oauth2.php:147 -msgid "Consumer Secret" +#: ../../Zotlabs/Module/Profiles.php:469 ../../Zotlabs/Module/Profiles.php:774 +msgid "Likes" msgstr "" -#: ../../addon/statusnet/statusnet.php:596 ../../addon/twitter/twitter.php:505 -#: ../../Zotlabs/Module/Oauth.php:114 ../../Zotlabs/Module/Oauth.php:140 -msgid "Consumer Key" +#: ../../Zotlabs/Module/Profiles.php:473 ../../Zotlabs/Module/Profiles.php:775 +msgid "Dislikes" msgstr "" -#: ../../addon/statusnet/statusnet.php:597 -msgid "Application name" +#: ../../Zotlabs/Module/Profiles.php:477 ../../Zotlabs/Module/Profiles.php:782 +msgid "Work/Employment" msgstr "" -#: ../../addon/rtof/Mod_Rtof.php:24 -msgid "Friendica Crosspost Connector Settings saved." +#: ../../Zotlabs/Module/Profiles.php:480 +msgid "Religion" msgstr "" -#: ../../addon/rtof/Mod_Rtof.php:36 -msgid "Friendica Crosspost Connector App" +#: ../../Zotlabs/Module/Profiles.php:484 +msgid "Political Views" msgstr "" -#: ../../addon/rtof/Mod_Rtof.php:37 -msgid "Relay public postings to a connected Friendica account" +#: ../../Zotlabs/Module/Profiles.php:488 +#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:74 +msgid "Gender" msgstr "" -#: ../../addon/rtof/Mod_Rtof.php:49 -msgid "Send public postings to Friendica by default" +#: ../../Zotlabs/Module/Profiles.php:492 +msgid "Sexual Preference" msgstr "" -#: ../../addon/rtof/Mod_Rtof.php:53 -msgid "Friendica API Path" +#: ../../Zotlabs/Module/Profiles.php:496 +msgid "Homepage" msgstr "" -#: ../../addon/rtof/Mod_Rtof.php:57 -msgid "Friendica login name" +#: ../../Zotlabs/Module/Profiles.php:500 +msgid "Interests" msgstr "" -#: ../../addon/rtof/Mod_Rtof.php:61 -msgid "Friendica password" +#: ../../Zotlabs/Module/Profiles.php:596 +msgid "Profile updated." msgstr "" -#: ../../addon/rtof/Mod_Rtof.php:69 -msgid "Friendica Crosspost Connector" +#: ../../Zotlabs/Module/Profiles.php:680 +msgid "Hide your connections list from viewers of this profile" msgstr "" -#: ../../addon/rtof/rtof.php:51 -msgid "Post to Friendica" +#: ../../Zotlabs/Module/Profiles.php:724 +msgid "Edit Profile Details" msgstr "" -#: ../../addon/wppost/wppost.php:46 -msgid "Post to WordPress" +#: ../../Zotlabs/Module/Profiles.php:726 +msgid "View this profile" msgstr "" -#: ../../addon/wppost/wppost.php:173 ../../addon/wppost/Mod_Wppost.php:98 -#: ../../addon/dwpost/Mod_Dwpost.php:69 ../../addon/dwpost/dwpost.php:134 -#: ../../addon/ljpost/ljpost.php:134 ../../Zotlabs/Module/Wiki.php:384 -msgid "Source" +#: ../../Zotlabs/Module/Profiles.php:727 ../../Zotlabs/Module/Profiles.php:826 +#: ../../include/channel.php:1561 +msgid "Edit visibility" msgstr "" -#: ../../addon/wppost/Mod_Wppost.php:30 -msgid "Wordpress Settings saved." +#: ../../Zotlabs/Module/Profiles.php:728 +msgid "Profile Tools" msgstr "" -#: ../../addon/wppost/Mod_Wppost.php:43 -msgid "Wordpress Post App" +#: ../../Zotlabs/Module/Profiles.php:729 +msgid "Change cover photo" msgstr "" -#: ../../addon/wppost/Mod_Wppost.php:44 -msgid "Post to WordPress or anything else which uses the wordpress XMLRPC API" +#: ../../Zotlabs/Module/Profiles.php:730 ../../include/channel.php:1531 +msgid "Change profile photo" msgstr "" -#: ../../addon/wppost/Mod_Wppost.php:69 -msgid "WordPress username" +#: ../../Zotlabs/Module/Profiles.php:731 +msgid "Create a new profile using these settings" msgstr "" -#: ../../addon/wppost/Mod_Wppost.php:73 -msgid "WordPress password" +#: ../../Zotlabs/Module/Profiles.php:732 +msgid "Clone this profile" msgstr "" -#: ../../addon/wppost/Mod_Wppost.php:77 -msgid "WordPress API URL" +#: ../../Zotlabs/Module/Profiles.php:733 +msgid "Delete this profile" msgstr "" -#: ../../addon/wppost/Mod_Wppost.php:78 -msgid "Typically https://your-blog.tld/xmlrpc.php" +#: ../../Zotlabs/Module/Profiles.php:734 +msgid "Add profile things" msgstr "" -#: ../../addon/wppost/Mod_Wppost.php:81 -msgid "WordPress blogid" +#: ../../Zotlabs/Module/Profiles.php:735 +msgid "Personal" msgstr "" -#: ../../addon/wppost/Mod_Wppost.php:82 -msgid "For multi-user sites such as wordpress.com, otherwise leave blank" +#: ../../Zotlabs/Module/Profiles.php:737 +msgid "Relationship" msgstr "" -#: ../../addon/wppost/Mod_Wppost.php:86 -msgid "Post to WordPress by default" +#: ../../Zotlabs/Module/Profiles.php:738 ../../Zotlabs/Widget/Newmember.php:51 +#: ../../include/datetime.php:58 +msgid "Miscellaneous" msgstr "" -#: ../../addon/wppost/Mod_Wppost.php:90 -msgid "Forward comments (requires hubzilla_wp plugin)" +#: ../../Zotlabs/Module/Profiles.php:740 +msgid "Import profile from file" msgstr "" -#: ../../addon/wppost/Mod_Wppost.php:94 ../../addon/dwpost/Mod_Dwpost.php:65 -#: ../../addon/ljpost/Mod_Ljpost.php:71 -msgid "Add link to original post" +#: ../../Zotlabs/Module/Profiles.php:741 +msgid "Export profile to file" msgstr "" -#: ../../addon/wppost/Mod_Wppost.php:98 ../../addon/dwpost/Mod_Dwpost.php:69 -msgid "Link description (default:" +#: ../../Zotlabs/Module/Profiles.php:742 +msgid "Your gender" msgstr "" -#: ../../addon/wppost/Mod_Wppost.php:106 -msgid "Wordpress Post" +#: ../../Zotlabs/Module/Profiles.php:743 +msgid "Marital status" msgstr "" -#: ../../addon/content_import/Mod_content_import.php:27 -msgid "No server specified" +#: ../../Zotlabs/Module/Profiles.php:744 +msgid "Sexual preference" msgstr "" -#: ../../addon/content_import/Mod_content_import.php:73 -msgid "Posts imported" +#: ../../Zotlabs/Module/Profiles.php:747 +msgid "Profile name" msgstr "" -#: ../../addon/content_import/Mod_content_import.php:113 -msgid "Files imported" +#: ../../Zotlabs/Module/Profiles.php:749 +msgid "This is your default profile." msgstr "" -#: ../../addon/content_import/Mod_content_import.php:122 -msgid "" -"This addon app copies existing content and file storage to a cloned/copied " -"channel. Once the app is installed, visit the newly installed app. This will " -"allow you to set the location of your original channel and an optional date " -"range of files/conversations to copy." +#: ../../Zotlabs/Module/Profiles.php:751 +msgid "Your full name" msgstr "" -#: ../../addon/content_import/Mod_content_import.php:135 -#: ../../Zotlabs/Lib/Apps.php:332 -msgid "Content Import" +#: ../../Zotlabs/Module/Profiles.php:752 +msgid "Short title/tescription" msgstr "" -#: ../../addon/content_import/Mod_content_import.php:136 -msgid "" -"This will import all your conversations and cloud files from a cloned " -"channel on another server. This may take a while if you have lots of posts " -"and or files." +#: ../../Zotlabs/Module/Profiles.php:752 +msgid "Maximal 190 characters" msgstr "" -#: ../../addon/content_import/Mod_content_import.php:137 -msgid "Include posts" +#: ../../Zotlabs/Module/Profiles.php:755 +msgid "Street address" msgstr "" -#: ../../addon/content_import/Mod_content_import.php:137 -msgid "Conversations, Articles, Cards, and other posted content" +#: ../../Zotlabs/Module/Profiles.php:756 +msgid "Locality/City" msgstr "" -#: ../../addon/content_import/Mod_content_import.php:138 -msgid "Include files" +#: ../../Zotlabs/Module/Profiles.php:757 +msgid "Region/State" msgstr "" -#: ../../addon/content_import/Mod_content_import.php:138 -msgid "Files, Photos and other cloud storage" +#: ../../Zotlabs/Module/Profiles.php:758 +msgid "Postal/Zip code" msgstr "" -#: ../../addon/content_import/Mod_content_import.php:139 -msgid "Original Server base URL" +#: ../../Zotlabs/Module/Profiles.php:764 +msgid "Who (if applicable)" msgstr "" -#: ../../addon/content_import/Mod_content_import.php:140 -#: ../../addon/hzfiles/hzfiles.php:84 -msgid "Since modified date yyyy-mm-dd" +#: ../../Zotlabs/Module/Profiles.php:764 +msgid "Examples: cathy123, Cathy Williams, cathy@example.com" msgstr "" -#: ../../addon/content_import/Mod_content_import.php:141 -#: ../../addon/hzfiles/hzfiles.php:85 -msgid "Until modified date yyyy-mm-dd" +#: ../../Zotlabs/Module/Profiles.php:765 +msgid "Since (date)" msgstr "" -#: ../../addon/hsse/hsse.php:82 ../../include/conversation.php:1325 -msgid "Set your location" +#: ../../Zotlabs/Module/Profiles.php:768 +msgid "Tell us about yourself" msgstr "" -#: ../../addon/hsse/hsse.php:83 ../../include/conversation.php:1326 -msgid "Clear browser location" +#: ../../Zotlabs/Module/Profiles.php:769 +#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:68 +msgid "Homepage URL" msgstr "" -#: ../../addon/hsse/hsse.php:95 ../../addon/mail/Mod_Mail.php:166 -#: ../../addon/mail/Mod_Mail.php:309 ../../include/conversation.php:1338 -#: ../../Zotlabs/Module/Article_edit.php:100 -#: ../../Zotlabs/Module/Card_edit.php:101 -#: ../../Zotlabs/Module/Editwebpage.php:143 ../../Zotlabs/Module/Chat.php:220 -#: ../../Zotlabs/Module/Editblock.php:116 -msgid "Insert web link" +#: ../../Zotlabs/Module/Profiles.php:770 +msgid "Hometown" msgstr "" -#: ../../addon/hsse/hsse.php:99 ../../include/conversation.php:1342 -msgid "Embed (existing) photo from your photo albums" +#: ../../Zotlabs/Module/Profiles.php:771 +msgid "Political views" msgstr "" -#: ../../addon/hsse/hsse.php:134 ../../addon/mail/Mod_Mail.php:119 -#: ../../addon/mail/Mod_Mail.php:240 ../../include/conversation.php:1377 -#: ../../Zotlabs/Module/Chat.php:218 -msgid "Please enter a link URL:" +#: ../../Zotlabs/Module/Profiles.php:772 +msgid "Religious views" msgstr "" -#: ../../addon/hsse/hsse.php:135 ../../include/conversation.php:1378 -msgid "Tag term:" +#: ../../Zotlabs/Module/Profiles.php:773 +msgid "Keywords used in directory listings" msgstr "" -#: ../../addon/hsse/hsse.php:136 ../../include/conversation.php:1379 -msgid "Where are you right now?" +#: ../../Zotlabs/Module/Profiles.php:773 +msgid "Example: fishing photography software" msgstr "" -#: ../../addon/hsse/hsse.php:139 ../../include/conversation.php:1382 -#: ../../Zotlabs/Module/Profile_photo.php:509 -#: ../../Zotlabs/Module/Cover_photo.php:430 ../../Zotlabs/Module/Wiki.php:403 -msgid "Choose images to embed" +#: ../../Zotlabs/Module/Profiles.php:776 +msgid "Musical interests" msgstr "" -#: ../../addon/hsse/hsse.php:140 ../../include/conversation.php:1383 -#: ../../Zotlabs/Module/Profile_photo.php:510 -#: ../../Zotlabs/Module/Cover_photo.php:431 ../../Zotlabs/Module/Wiki.php:404 -msgid "Choose an album" +#: ../../Zotlabs/Module/Profiles.php:777 +msgid "Books, literature" msgstr "" -#: ../../addon/hsse/hsse.php:141 ../../include/conversation.php:1384 -msgid "Choose a different album..." +#: ../../Zotlabs/Module/Profiles.php:778 +msgid "Television" msgstr "" -#: ../../addon/hsse/hsse.php:142 ../../include/conversation.php:1385 -#: ../../Zotlabs/Module/Profile_photo.php:512 -#: ../../Zotlabs/Module/Cover_photo.php:433 ../../Zotlabs/Module/Wiki.php:406 -msgid "Error getting album list" +#: ../../Zotlabs/Module/Profiles.php:779 +msgid "Film/Dance/Culture/Entertainment" msgstr "" -#: ../../addon/hsse/hsse.php:143 ../../include/conversation.php:1386 -#: ../../Zotlabs/Module/Profile_photo.php:513 -#: ../../Zotlabs/Module/Cover_photo.php:434 ../../Zotlabs/Module/Wiki.php:407 -msgid "Error getting photo link" +#: ../../Zotlabs/Module/Profiles.php:780 +msgid "Hobbies/Interests" msgstr "" -#: ../../addon/hsse/hsse.php:144 ../../include/conversation.php:1387 -#: ../../Zotlabs/Module/Profile_photo.php:514 -#: ../../Zotlabs/Module/Cover_photo.php:435 ../../Zotlabs/Module/Wiki.php:408 -msgid "Error getting album" +#: ../../Zotlabs/Module/Profiles.php:781 +msgid "Love/Romance" msgstr "" -#: ../../addon/hsse/hsse.php:145 ../../include/conversation.php:1388 -msgid "Comments enabled" +#: ../../Zotlabs/Module/Profiles.php:783 +msgid "School/Education" msgstr "" -#: ../../addon/hsse/hsse.php:146 ../../include/conversation.php:1389 -msgid "Comments disabled" +#: ../../Zotlabs/Module/Profiles.php:784 +msgid "Contact information and social networks" msgstr "" -#: ../../addon/hsse/hsse.php:153 ../../include/conversation.php:1399 -#: ../../Zotlabs/Module/Webpages.php:262 ../../Zotlabs/Module/Events.php:486 -#: ../../Zotlabs/Module/Photos.php:1098 ../../Zotlabs/Lib/ThreadItem.php:835 -msgid "Preview" +#: ../../Zotlabs/Module/Profiles.php:785 +msgid "My other channels" msgstr "" -#: ../../addon/hsse/hsse.php:186 ../../include/conversation.php:1432 -#: ../../Zotlabs/Widget/Cdav.php:136 ../../Zotlabs/Module/Webpages.php:256 -#: ../../Zotlabs/Module/Blocks.php:161 ../../Zotlabs/Module/Photos.php:1077 -#: ../../Zotlabs/Module/Wiki.php:301 ../../Zotlabs/Module/Layouts.php:194 -msgid "Share" +#: ../../Zotlabs/Module/Profiles.php:787 +msgid "Communications" msgstr "" -#: ../../addon/hsse/hsse.php:195 ../../include/conversation.php:1441 -msgid "Page link name" +#: ../../Zotlabs/Module/Profiles.php:822 ../../include/channel.php:1557 +msgid "Profile Image" msgstr "" -#: ../../addon/hsse/hsse.php:198 ../../include/conversation.php:1444 -msgid "Post as" +#: ../../Zotlabs/Module/Profiles.php:832 ../../include/channel.php:1538 +#: ../../include/nav.php:115 +msgid "Edit Profiles" msgstr "" -#: ../../addon/hsse/hsse.php:200 ../../include/conversation.php:1446 -#: ../../Zotlabs/Lib/ThreadItem.php:826 -msgid "Bold" +#: ../../Zotlabs/Module/Profiles.php:833 ../../Zotlabs/Module/Wiki.php:214 +#: ../../Zotlabs/Module/Manage.php:145 ../../Zotlabs/Module/Chat.php:262 +msgid "Create New" msgstr "" -#: ../../addon/hsse/hsse.php:201 ../../include/conversation.php:1447 -#: ../../Zotlabs/Lib/ThreadItem.php:827 -msgid "Italic" +#: ../../Zotlabs/Module/Import.php:68 ../../Zotlabs/Module/Import_items.php:48 +msgid "Nothing to import." msgstr "" -#: ../../addon/hsse/hsse.php:202 ../../include/conversation.php:1448 -#: ../../Zotlabs/Lib/ThreadItem.php:828 -msgid "Underline" +#: ../../Zotlabs/Module/Import.php:83 ../../Zotlabs/Module/Import.php:99 +#: ../../Zotlabs/Module/Import_items.php:72 +msgid "Unable to download data from old server" msgstr "" -#: ../../addon/hsse/hsse.php:203 ../../include/conversation.php:1449 -#: ../../Zotlabs/Lib/ThreadItem.php:829 -msgid "Quote" +#: ../../Zotlabs/Module/Import.php:106 ../../Zotlabs/Module/Import_items.php:77 +msgid "Imported file is empty." msgstr "" -#: ../../addon/hsse/hsse.php:204 ../../include/conversation.php:1450 -#: ../../Zotlabs/Lib/ThreadItem.php:830 -msgid "Code" +#: ../../Zotlabs/Module/Import.php:162 +#, php-format +msgid "Your service plan only allows %d channels." msgstr "" -#: ../../addon/hsse/hsse.php:205 ../../include/conversation.php:1451 -#: ../../Zotlabs/Lib/ThreadItem.php:832 -msgid "Attach/Upload file" +#: ../../Zotlabs/Module/Import.php:189 +msgid "No channel. Import failed." msgstr "" -#: ../../addon/hsse/hsse.php:208 ../../include/conversation.php:1454 -#: ../../Zotlabs/Module/Wiki.php:400 -msgid "Embed an image from your albums" +#: ../../Zotlabs/Module/Import.php:593 +#: ../../extend/addon/hzaddons/diaspora/import_diaspora.php:142 +msgid "Import completed." msgstr "" -#: ../../addon/hsse/hsse.php:209 ../../addon/hsse/hsse.php:258 -#: ../../include/conversation.php:1455 ../../include/conversation.php:1508 -#: ../../Zotlabs/Module/Article_edit.php:130 -#: ../../Zotlabs/Module/Fbrowser.php:66 ../../Zotlabs/Module/Fbrowser.php:88 -#: ../../Zotlabs/Module/Card_edit.php:131 ../../Zotlabs/Module/Oauth.php:112 -#: ../../Zotlabs/Module/Oauth.php:138 ../../Zotlabs/Module/Editwebpage.php:169 -#: ../../Zotlabs/Module/Cdav.php:1054 ../../Zotlabs/Module/Cdav.php:1386 -#: ../../Zotlabs/Module/Tagrm.php:15 ../../Zotlabs/Module/Tagrm.php:138 -#: ../../Zotlabs/Module/Editpost.php:110 -#: ../../Zotlabs/Module/Admin/Addons.php:427 -#: ../../Zotlabs/Module/Profile_photo.php:507 -#: ../../Zotlabs/Module/Editblock.php:141 ../../Zotlabs/Module/Filer.php:55 -#: ../../Zotlabs/Module/Editlayout.php:140 -#: ../../Zotlabs/Module/Cover_photo.php:428 -#: ../../Zotlabs/Module/Profiles.php:803 ../../Zotlabs/Module/Oauth2.php:117 -#: ../../Zotlabs/Module/Oauth2.php:145 ../../Zotlabs/Module/Wiki.php:368 -#: ../../Zotlabs/Module/Wiki.php:401 ../../Zotlabs/Module/Connedit.php:944 -msgid "Cancel" +#: ../../Zotlabs/Module/Import.php:621 +msgid "You must be logged in to use this feature." msgstr "" -#: ../../addon/hsse/hsse.php:210 ../../addon/hsse/hsse.php:257 -#: ../../include/conversation.php:1456 ../../include/conversation.php:1507 -#: ../../Zotlabs/Module/Profile_photo.php:508 -#: ../../Zotlabs/Module/Cover_photo.php:429 ../../Zotlabs/Module/Wiki.php:402 -msgid "OK" +#: ../../Zotlabs/Module/Import.php:626 +msgid "Import Channel" msgstr "" -#: ../../addon/hsse/hsse.php:212 ../../include/conversation.php:1458 -msgid "Toggle voting" +#: ../../Zotlabs/Module/Import.php:627 +msgid "" +"Use this form to import an existing channel from a different server/hub. You " +"may retrieve the channel identity from the old server/hub via the network or " +"provide an export file." msgstr "" -#: ../../addon/hsse/hsse.php:215 ../../include/conversation.php:1465 -msgid "Disable comments" +#: ../../Zotlabs/Module/Import.php:628 +#: ../../Zotlabs/Module/Import_items.php:127 +msgid "File to Upload" msgstr "" -#: ../../addon/hsse/hsse.php:216 ../../include/conversation.php:1466 -msgid "Toggle comments" +#: ../../Zotlabs/Module/Import.php:629 +msgid "Or provide the old server/hub details" msgstr "" -#: ../../addon/hsse/hsse.php:221 ../../include/conversation.php:1471 -#: ../../Zotlabs/Module/Article_edit.php:116 -#: ../../Zotlabs/Module/Card_edit.php:117 -#: ../../Zotlabs/Module/Editblock.php:129 ../../Zotlabs/Module/Photos.php:673 -#: ../../Zotlabs/Module/Photos.php:1043 -msgid "Title (optional)" +#: ../../Zotlabs/Module/Import.php:631 +msgid "Your old identity address (xyz@example.com)" msgstr "" -#: ../../addon/hsse/hsse.php:224 ../../include/conversation.php:1474 -msgid "Categories (optional, comma-separated list)" +#: ../../Zotlabs/Module/Import.php:632 +msgid "Your old login email address" msgstr "" -#: ../../addon/hsse/hsse.php:225 ../../include/conversation.php:1475 -#: ../../Zotlabs/Module/Events.php:487 -msgid "Permission settings" +#: ../../Zotlabs/Module/Import.php:633 +msgid "Your old login password" msgstr "" -#: ../../addon/hsse/hsse.php:247 ../../include/conversation.php:1497 -msgid "Other networks and post services" +#: ../../Zotlabs/Module/Import.php:634 +msgid "Import a few months of posts if possible (limited by available memory" msgstr "" -#: ../../addon/hsse/hsse.php:250 ../../addon/mail/Mod_Mail.php:170 -#: ../../addon/mail/Mod_Mail.php:313 ../../include/conversation.php:1500 -msgid "Set expiration date" +#: ../../Zotlabs/Module/Import.php:636 +msgid "" +"For either option, please choose whether to make this hub your new primary " +"address, or whether your old location should continue this role. You will be " +"able to post from either location, but only one can be marked as the primary " +"location for files, photos, and media." msgstr "" -#: ../../addon/hsse/hsse.php:253 ../../include/conversation.php:1503 -msgid "Set publish date" +#: ../../Zotlabs/Module/Import.php:638 +msgid "Make this hub my primary location" msgstr "" -#: ../../addon/hsse/hsse.php:255 ../../addon/mail/Mod_Mail.php:172 -#: ../../addon/mail/Mod_Mail.php:315 ../../include/conversation.php:1505 -#: ../../Zotlabs/Module/Chat.php:219 ../../Zotlabs/Lib/ThreadItem.php:839 -msgid "Encrypt text" +#: ../../Zotlabs/Module/Import.php:639 +msgid "Move this channel (disable all previous locations)" msgstr "" -#: ../../addon/hsse/Mod_Hsse.php:15 -msgid "WYSIWYG status editor" +#: ../../Zotlabs/Module/Import.php:640 +msgid "Use this channel nickname instead of the one provided" msgstr "" -#: ../../addon/hsse/Mod_Hsse.php:21 ../../addon/hsse/Mod_Hsse.php:26 -msgid "WYSIWYG Status App" +#: ../../Zotlabs/Module/Import.php:640 +msgid "" +"Leave blank to keep your existing channel nickname. You will be randomly " +"assigned a similar nickname if either name is already allocated on this site." msgstr "" -#: ../../addon/hsse/Mod_Hsse.php:34 -msgid "WYSIWYG Status" +#: ../../Zotlabs/Module/Import.php:642 +msgid "" +"This process may take several minutes to complete. Please submit the form " +"only once and leave this page open until finished." msgstr "" -#: ../../addon/openstreetmap/openstreetmap.php:133 -msgid "View Larger" +#: ../../Zotlabs/Module/Like.php:93 +msgid "Like/Dislike" msgstr "" -#: ../../addon/openstreetmap/openstreetmap.php:156 -msgid "Tile Server URL" +#: ../../Zotlabs/Module/Like.php:98 +msgid "This action is restricted to members." msgstr "" -#: ../../addon/openstreetmap/openstreetmap.php:156 +#: ../../Zotlabs/Module/Like.php:99 msgid "" -"A list of <a href=\"http://wiki.openstreetmap.org/wiki/TMS\" target=\"_blank" -"\">public tile servers</a>" -msgstr "" - -#: ../../addon/openstreetmap/openstreetmap.php:157 -msgid "Nominatim (reverse geocoding) Server URL" +"Please <a href=\"rmagic\">login with your $Projectname ID</a> or <a href=" +"\"register\">register as a new $Projectname member</a> to continue." msgstr "" -#: ../../addon/openstreetmap/openstreetmap.php:157 -msgid "" -"A list of <a href=\"http://wiki.openstreetmap.org/wiki/Nominatim\" target=" -"\"_blank\">Nominatim servers</a>" +#: ../../Zotlabs/Module/Like.php:154 ../../Zotlabs/Module/Like.php:180 +#: ../../Zotlabs/Module/Like.php:218 +msgid "Invalid request." msgstr "" -#: ../../addon/openstreetmap/openstreetmap.php:158 -msgid "Default zoom" +#: ../../Zotlabs/Module/Like.php:166 ../../include/conversation.php:135 +msgid "channel" msgstr "" -#: ../../addon/openstreetmap/openstreetmap.php:158 -msgid "" -"The default zoom level. (1:world, 18:highest, also depends on tile server)" +#: ../../Zotlabs/Module/Like.php:195 +msgid "thing" msgstr "" -#: ../../addon/openstreetmap/openstreetmap.php:159 -msgid "Include marker on map" +#: ../../Zotlabs/Module/Like.php:241 +msgid "Channel unavailable." msgstr "" -#: ../../addon/openstreetmap/openstreetmap.php:159 -msgid "Include a marker on the map." +#: ../../Zotlabs/Module/Like.php:277 +msgid "Previous action reversed." msgstr "" -#: ../../addon/openstreetmap/openstreetmap.php:171 -#: ../../addon/rendezvous/rendezvous.php:82 ../../addon/twitter/twitter.php:494 -#: ../../addon/msgfooter/msgfooter.php:54 ../../addon/diaspora/diaspora.php:93 -#: ../../addon/piwik/piwik.php:116 ../../addon/logrot/logrot.php:54 -#: ../../addon/xmpp/xmpp.php:54 ../../Zotlabs/Module/Settings/Channel.php:267 -#: ../../Zotlabs/Module/Defperms.php:112 -msgid "Settings updated." +#: ../../Zotlabs/Module/Like.php:433 ../../Zotlabs/Module/Tagger.php:71 +#: ../../Zotlabs/Module/Subthread.php:112 ../../Zotlabs/Lib/Activity.php:2971 +#: ../../include/conversation.php:128 ../../include/text.php:2252 +#: ../../extend/addon/hzaddons/diaspora/Receiver.php:1597 +#: ../../extend/addon/hzaddons/pubcrawl/as.php:1895 +#: ../../extend/addon/hzaddons/redphotos/redphotohelper.php:71 +msgid "photo" msgstr "" -#: ../../addon/ijpost/Mod_Ijpost.php:23 -msgid "Insane Journal Crosspost Connector Settings saved." +#: ../../Zotlabs/Module/Like.php:433 ../../Zotlabs/Module/Subthread.php:112 +#: ../../extend/addon/hzaddons/diaspora/Receiver.php:1597 +#: ../../extend/addon/hzaddons/pubcrawl/as.php:1895 +msgid "status" msgstr "" -#: ../../addon/ijpost/Mod_Ijpost.php:35 -msgid "Insane Journal Crosspost Connector App" +#: ../../Zotlabs/Module/Like.php:469 ../../Zotlabs/Lib/Activity.php:3006 +#: ../../include/conversation.php:174 +#: ../../extend/addon/hzaddons/diaspora/Receiver.php:1537 +#: ../../extend/addon/hzaddons/pubcrawl/as.php:1932 +#, php-format +msgid "%1$s likes %2$s's %3$s" msgstr "" -#: ../../addon/ijpost/Mod_Ijpost.php:36 -msgid "Relay public postings to Insane Journal" +#: ../../Zotlabs/Module/Like.php:471 ../../Zotlabs/Lib/Activity.php:3008 +#: ../../include/conversation.php:177 +#: ../../extend/addon/hzaddons/pubcrawl/as.php:1934 +#, php-format +msgid "%1$s doesn't like %2$s's %3$s" msgstr "" -#: ../../addon/ijpost/Mod_Ijpost.php:53 -msgid "InsaneJournal username" +#: ../../Zotlabs/Module/Like.php:473 +#, php-format +msgid "%1$s agrees with %2$s's %3$s" msgstr "" -#: ../../addon/ijpost/Mod_Ijpost.php:57 -msgid "InsaneJournal password" +#: ../../Zotlabs/Module/Like.php:475 +#, php-format +msgid "%1$s doesn't agree with %2$s's %3$s" msgstr "" -#: ../../addon/ijpost/Mod_Ijpost.php:61 -msgid "Post to InsaneJournal by default" +#: ../../Zotlabs/Module/Like.php:477 +#, php-format +msgid "%1$s abstains from a decision on %2$s's %3$s" msgstr "" -#: ../../addon/ijpost/Mod_Ijpost.php:69 -msgid "Insane Journal Crosspost Connector" +#: ../../Zotlabs/Module/Like.php:479 +#: ../../extend/addon/hzaddons/diaspora/Receiver.php:2184 +#, php-format +msgid "%1$s is attending %2$s's %3$s" msgstr "" -#: ../../addon/ijpost/ijpost.php:44 -msgid "Post to Insane Journal" +#: ../../Zotlabs/Module/Like.php:481 +#: ../../extend/addon/hzaddons/diaspora/Receiver.php:2186 +#, php-format +msgid "%1$s is not attending %2$s's %3$s" msgstr "" -#: ../../addon/wholikesme/wholikesme.php:29 -msgid "Who likes me?" +#: ../../Zotlabs/Module/Like.php:483 +#: ../../extend/addon/hzaddons/diaspora/Receiver.php:2188 +#, php-format +msgid "%1$s may attend %2$s's %3$s" msgstr "" -#: ../../addon/qrator/qrator.php:48 -msgid "QR code" +#: ../../Zotlabs/Module/Like.php:592 +msgid "Action completed." msgstr "" -#: ../../addon/qrator/qrator.php:63 -msgid "QR Generator" +#: ../../Zotlabs/Module/Like.php:593 +msgid "Thank you." msgstr "" -#: ../../addon/qrator/qrator.php:64 -msgid "Enter some text" +#: ../../Zotlabs/Module/Defperms.php:68 ../../Zotlabs/Module/Connedit.php:89 +msgid "Could not access contact record." msgstr "" -#: ../../addon/pubcrawl/as.php:1135 ../../include/cdav.php:158 -#: ../../include/cdav.php:159 ../../include/cdav.php:167 -#: ../../include/conversation.php:1208 ../../Zotlabs/Widget/Album.php:84 -#: ../../Zotlabs/Widget/Pinned.php:270 ../../Zotlabs/Widget/Portfolio.php:95 -#: ../../Zotlabs/Module/Embedphotos.php:176 ../../Zotlabs/Module/Photos.php:792 -#: ../../Zotlabs/Module/Photos.php:1254 ../../Zotlabs/Lib/Activity.php:1492 -#: ../../Zotlabs/Lib/Apps.php:1112 ../../Zotlabs/Lib/Apps.php:1196 -#: ../../Zotlabs/Storage/Browser.php:164 -msgid "Unknown" +#: ../../Zotlabs/Module/Defperms.php:112 +#: ../../Zotlabs/Module/Settings/Channel.php:267 +#: ../../extend/addon/hzaddons/msgfooter/msgfooter.php:54 +#: ../../extend/addon/hzaddons/piwik/piwik.php:116 +#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:82 +#: ../../extend/addon/hzaddons/diaspora/diaspora.php:93 +#: ../../extend/addon/hzaddons/openstreetmap/openstreetmap.php:171 +#: ../../extend/addon/hzaddons/xmpp/xmpp.php:54 +#: ../../extend/addon/hzaddons/twitter/twitter.php:494 +#: ../../extend/addon/hzaddons/logrot/logrot.php:54 +msgid "Settings updated." msgstr "" -#: ../../addon/pubcrawl/as.php:1429 ../../addon/pubcrawl/as.php:1679 -#: ../../addon/pubcrawl/as.php:1887 ../../include/network.php:1735 -#: ../../Zotlabs/Lib/Activity.php:2803 ../../Zotlabs/Lib/Activity.php:2997 -msgid "ActivityPub" +#: ../../Zotlabs/Module/Defperms.php:190 +msgid "Default Permissions App" msgstr "" -#: ../../addon/pubcrawl/as.php:1841 ../../addon/diaspora/Receiver.php:1597 -#: ../../Zotlabs/Module/Like.php:386 ../../Zotlabs/Module/Subthread.php:112 -msgid "status" +#: ../../Zotlabs/Module/Defperms.php:191 +msgid "Set custom default permissions for new connections" msgstr "" -#: ../../addon/pubcrawl/as.php:1878 ../../addon/diaspora/Receiver.php:1537 -#: ../../include/conversation.php:174 ../../Zotlabs/Module/Like.php:422 -#: ../../Zotlabs/Lib/Activity.php:2988 -#, php-format -msgid "%1$s likes %2$s's %3$s" +#: ../../Zotlabs/Module/Defperms.php:255 ../../Zotlabs/Module/Connedit.php:859 +msgid "Connection Default Permissions" msgstr "" -#: ../../addon/pubcrawl/as.php:1880 ../../include/conversation.php:177 -#: ../../Zotlabs/Module/Like.php:424 ../../Zotlabs/Lib/Activity.php:2990 -#, php-format -msgid "%1$s doesn't like %2$s's %3$s" +#: ../../Zotlabs/Module/Defperms.php:256 ../../Zotlabs/Module/Connedit.php:860 +msgid "Apply these permissions automatically" msgstr "" -#: ../../addon/pubcrawl/Mod_Pubcrawl.php:25 -msgid "ActivityPub Protocol Settings updated." +#: ../../Zotlabs/Module/Defperms.php:256 +#: ../../Zotlabs/Module/Settings/Channel.php:472 +msgid "" +"If enabled, connection requests will be approved without your interaction" msgstr "" -#: ../../addon/pubcrawl/Mod_Pubcrawl.php:34 -msgid "" -"The activitypub protocol does not support location independence. Connections " -"you make within that network may be unreachable from alternate channel " -"locations." +#: ../../Zotlabs/Module/Defperms.php:257 ../../Zotlabs/Module/Connedit.php:861 +msgid "Permission role" msgstr "" -#: ../../addon/pubcrawl/Mod_Pubcrawl.php:40 -msgid "Activitypub Protocol App" +#: ../../Zotlabs/Module/Defperms.php:257 +#: ../../Zotlabs/Module/New_channel.php:157 +#: ../../Zotlabs/Module/New_channel.php:164 +#: ../../Zotlabs/Module/Connedit.php:861 +#: ../../Zotlabs/Widget/Notifications.php:182 ../../include/nav.php:324 +msgid "Loading" msgstr "" -#: ../../addon/pubcrawl/Mod_Pubcrawl.php:50 -msgid "Deliver to ActivityPub recipients in privacy groups" +#: ../../Zotlabs/Module/Defperms.php:258 ../../Zotlabs/Module/Connedit.php:862 +msgid "Add permission role" msgstr "" -#: ../../addon/pubcrawl/Mod_Pubcrawl.php:50 +#: ../../Zotlabs/Module/Defperms.php:262 ../../Zotlabs/Module/Connedit.php:875 msgid "" -"May result in a large number of mentions and expose all the members of your " -"privacy group" +"The permissions indicated on this page will be applied to all new " +"connections." msgstr "" -#: ../../addon/pubcrawl/Mod_Pubcrawl.php:54 -msgid "Send multi-media HTML articles" +#: ../../Zotlabs/Module/Defperms.php:263 +msgid "Automatic approval settings" msgstr "" -#: ../../addon/pubcrawl/Mod_Pubcrawl.php:54 -msgid "Not supported by some microblog services such as Mastodon" +#: ../../Zotlabs/Module/Defperms.php:265 ../../Zotlabs/Module/Connedit.php:895 +#: ../../Zotlabs/Module/Tokens.php:183 ../../Zotlabs/Module/Permcats.php:124 +msgid "inherited" msgstr "" -#: ../../addon/pubcrawl/Mod_Pubcrawl.php:62 -msgid "Activitypub Protocol" +#: ../../Zotlabs/Module/Defperms.php:267 ../../Zotlabs/Module/Connedit.php:900 +#: ../../Zotlabs/Module/Tokens.php:181 ../../Zotlabs/Module/Permcats.php:122 +msgid "My Settings" msgstr "" -#: ../../addon/ldapauth/ldapauth.php:70 -msgid "An account has been created for you." +#: ../../Zotlabs/Module/Defperms.php:270 ../../Zotlabs/Module/Connedit.php:902 +#: ../../Zotlabs/Module/Tokens.php:186 ../../Zotlabs/Module/Permcats.php:127 +msgid "Individual Permissions" msgstr "" -#: ../../addon/ldapauth/ldapauth.php:77 -msgid "Authentication successful but rejected: account creation is disabled." +#: ../../Zotlabs/Module/Defperms.php:271 +msgid "" +"Some individual permissions may have been preset or locked based on your " +"channel type and privacy settings." msgstr "" -#: ../../addon/dwpost/Mod_Dwpost.php:26 -msgid "Dreamwidth Crosspost Connector Settings saved." +#: ../../Zotlabs/Module/Layouts.php:129 ../../Zotlabs/Module/Layouts.php:189 +#: ../../Zotlabs/Module/Editlayout.php:128 +msgid "Layout Name" msgstr "" -#: ../../addon/dwpost/Mod_Dwpost.php:39 -msgid "Dreamwidth Crosspost Connector App" +#: ../../Zotlabs/Module/Layouts.php:132 ../../Zotlabs/Module/Editlayout.php:129 +msgid "Layout Description (Optional)" msgstr "" -#: ../../addon/dwpost/Mod_Dwpost.php:40 -msgid "Relay public posts to Dreamwidth" +#: ../../Zotlabs/Module/Layouts.php:184 ../../include/text.php:2700 +msgid "Layouts" msgstr "" -#: ../../addon/dwpost/Mod_Dwpost.php:53 -msgid "Dreamwidth username" +#: ../../Zotlabs/Module/Layouts.php:186 ../../Zotlabs/Lib/Apps.php:348 +#: ../../include/nav.php:174 ../../include/nav.php:320 +#: ../../include/help.php:117 ../../include/help.php:125 +msgid "Help" msgstr "" -#: ../../addon/dwpost/Mod_Dwpost.php:57 -msgid "Dreamwidth password" +#: ../../Zotlabs/Module/Layouts.php:186 +msgid "Comanche page description language help" msgstr "" -#: ../../addon/dwpost/Mod_Dwpost.php:61 -msgid "Post to Dreamwidth by default" +#: ../../Zotlabs/Module/Layouts.php:190 +msgid "Layout Description" msgstr "" -#: ../../addon/dwpost/Mod_Dwpost.php:77 -msgid "Dreamwidth Crosspost Connector" +#: ../../Zotlabs/Module/Layouts.php:195 +msgid "Download PDL file" msgstr "" -#: ../../addon/dwpost/dwpost.php:49 -msgid "Post to Dreamwidth" +#: ../../Zotlabs/Module/Pubstream.php:20 +msgid "Public Stream App" msgstr "" -#: ../../addon/morepokes/morepokes.php:19 -msgid "bitchslap" +#: ../../Zotlabs/Module/Pubstream.php:21 +msgid "The unmoderated public stream of this hub" msgstr "" -#: ../../addon/morepokes/morepokes.php:19 -msgid "bitchslapped" +#: ../../Zotlabs/Module/Pubstream.php:95 ../../Zotlabs/Module/Display.php:76 +#: ../../Zotlabs/Module/Channel.php:224 ../../Zotlabs/Module/Hq.php:125 +#: ../../Zotlabs/Module/Network.php:205 +msgid "Reset form" msgstr "" -#: ../../addon/morepokes/morepokes.php:20 -msgid "shag" +#: ../../Zotlabs/Module/Pubstream.php:105 ../../Zotlabs/Lib/Apps.php:375 +#: ../../Zotlabs/Widget/Notifications.php:162 +msgid "Public Stream" msgstr "" -#: ../../addon/morepokes/morepokes.php:20 -msgid "shagged" +#: ../../Zotlabs/Module/Sse_bs.php:540 ../../Zotlabs/Module/Ping.php:672 +msgid "Private forum" msgstr "" -#: ../../addon/morepokes/morepokes.php:21 -msgid "patent" +#: ../../Zotlabs/Module/Sse_bs.php:540 ../../Zotlabs/Module/Ping.php:672 +msgid "Public forum" msgstr "" -#: ../../addon/morepokes/morepokes.php:21 -msgid "patented" +#: ../../Zotlabs/Module/Group.php:46 +msgid "Privacy group created." msgstr "" -#: ../../addon/morepokes/morepokes.php:22 -msgid "hug" +#: ../../Zotlabs/Module/Group.php:49 +msgid "Could not create privacy group." msgstr "" -#: ../../addon/morepokes/morepokes.php:22 -msgid "hugged" +#: ../../Zotlabs/Module/Group.php:62 ../../Zotlabs/Module/Group.php:214 +#: ../../include/items.php:4491 +msgid "Privacy group not found." msgstr "" -#: ../../addon/morepokes/morepokes.php:23 -msgid "murder" +#: ../../Zotlabs/Module/Group.php:81 +msgid "Privacy group updated." msgstr "" -#: ../../addon/morepokes/morepokes.php:23 -msgid "murdered" +#: ../../Zotlabs/Module/Group.php:107 +msgid "Privacy Groups App" msgstr "" -#: ../../addon/morepokes/morepokes.php:24 -msgid "worship" +#: ../../Zotlabs/Module/Group.php:108 +msgid "Management of privacy groups" msgstr "" -#: ../../addon/morepokes/morepokes.php:24 -msgid "worshipped" +#: ../../Zotlabs/Module/Group.php:142 ../../Zotlabs/Module/Group.php:154 +#: ../../Zotlabs/Lib/Group.php:324 ../../Zotlabs/Lib/Apps.php:364 +#: ../../Zotlabs/Widget/Activity_filter.php:82 ../../include/group.php:321 +#: ../../include/acl_selectors.php:86 ../../include/nav.php:101 +msgid "Privacy Groups" msgstr "" -#: ../../addon/morepokes/morepokes.php:25 -msgid "kiss" +#: ../../Zotlabs/Module/Group.php:143 +msgid "Add Group" msgstr "" -#: ../../addon/morepokes/morepokes.php:25 -msgid "kissed" +#: ../../Zotlabs/Module/Group.php:147 +msgid "Privacy group name" msgstr "" -#: ../../addon/morepokes/morepokes.php:26 -msgid "tempt" +#: ../../Zotlabs/Module/Group.php:148 ../../Zotlabs/Module/Group.php:257 +msgid "Members are visible to other channels" msgstr "" -#: ../../addon/morepokes/morepokes.php:26 -msgid "tempted" +#: ../../Zotlabs/Module/Group.php:183 +msgid "Privacy group removed." msgstr "" -#: ../../addon/morepokes/morepokes.php:27 -msgid "raise eyebrows at" +#: ../../Zotlabs/Module/Group.php:186 +msgid "Unable to remove privacy group." msgstr "" -#: ../../addon/morepokes/morepokes.php:27 -msgid "raised their eyebrows at" +#: ../../Zotlabs/Module/Group.php:252 +#, php-format +msgid "Privacy Group: %s" msgstr "" -#: ../../addon/morepokes/morepokes.php:28 -msgid "insult" +#: ../../Zotlabs/Module/Group.php:254 +msgid "Privacy group name: " msgstr "" -#: ../../addon/morepokes/morepokes.php:28 -msgid "insulted" +#: ../../Zotlabs/Module/Group.php:259 +msgid "Delete Group" msgstr "" -#: ../../addon/morepokes/morepokes.php:29 -msgid "praise" +#: ../../Zotlabs/Module/Group.php:270 +msgid "Group members" msgstr "" -#: ../../addon/morepokes/morepokes.php:29 -msgid "praised" +#: ../../Zotlabs/Module/Group.php:272 +msgid "Not in this group" msgstr "" -#: ../../addon/morepokes/morepokes.php:30 -msgid "be dubious of" +#: ../../Zotlabs/Module/Group.php:304 +msgid "Click a channel to toggle membership" msgstr "" -#: ../../addon/morepokes/morepokes.php:30 -msgid "was dubious of" +#: ../../Zotlabs/Module/Removeme.php:35 +msgid "" +"Channel removals are not allowed within 48 hours of changing the account " +"password." msgstr "" -#: ../../addon/morepokes/morepokes.php:31 -msgid "eat" +#: ../../Zotlabs/Module/Removeme.php:60 +msgid "Remove This Channel" msgstr "" -#: ../../addon/morepokes/morepokes.php:31 -msgid "ate" +#: ../../Zotlabs/Module/Removeme.php:61 ../../Zotlabs/Module/Changeaddr.php:78 +#: ../../Zotlabs/Module/Removeaccount.php:58 +msgid "WARNING: " msgstr "" -#: ../../addon/morepokes/morepokes.php:32 -msgid "giggle and fawn at" +#: ../../Zotlabs/Module/Removeme.php:61 +msgid "This channel will be completely removed from the network. " msgstr "" -#: ../../addon/morepokes/morepokes.php:32 -msgid "giggled and fawned at" +#: ../../Zotlabs/Module/Removeme.php:61 +#: ../../Zotlabs/Module/Removeaccount.php:58 +msgid "This action is permanent and can not be undone!" msgstr "" -#: ../../addon/morepokes/morepokes.php:33 -msgid "doubt" +#: ../../Zotlabs/Module/Removeme.php:62 ../../Zotlabs/Module/Changeaddr.php:79 +#: ../../Zotlabs/Module/Removeaccount.php:59 +msgid "Please enter your password for verification:" msgstr "" -#: ../../addon/morepokes/morepokes.php:33 -msgid "doubted" +#: ../../Zotlabs/Module/Removeme.php:64 +#: ../../Zotlabs/Module/Settings/Channel.php:596 +msgid "Remove Channel" msgstr "" -#: ../../addon/morepokes/morepokes.php:34 -msgid "glare" +#: ../../Zotlabs/Module/Appman.php:39 ../../Zotlabs/Module/Appman.php:56 +msgid "App installed." msgstr "" -#: ../../addon/morepokes/morepokes.php:34 -msgid "glared at" +#: ../../Zotlabs/Module/Appman.php:49 +msgid "Malformed app." msgstr "" -#: ../../addon/morepokes/morepokes.php:35 -msgid "fuck" +#: ../../Zotlabs/Module/Appman.php:132 +msgid "Embed code" msgstr "" -#: ../../addon/morepokes/morepokes.php:35 -msgid "fucked" +#: ../../Zotlabs/Module/Appman.php:138 +msgid "Edit App" msgstr "" -#: ../../addon/morepokes/morepokes.php:36 -msgid "bonk" +#: ../../Zotlabs/Module/Appman.php:138 +msgid "Create App" msgstr "" -#: ../../addon/morepokes/morepokes.php:36 -msgid "bonked" +#: ../../Zotlabs/Module/Appman.php:143 +msgid "Name of app" msgstr "" -#: ../../addon/morepokes/morepokes.php:37 -msgid "declare undying love for" +#: ../../Zotlabs/Module/Appman.php:144 +msgid "Location (URL) of app" msgstr "" -#: ../../addon/morepokes/morepokes.php:37 -msgid "declared undying love for" +#: ../../Zotlabs/Module/Appman.php:146 +msgid "Photo icon URL" msgstr "" -#: ../../addon/rendezvous/rendezvous.php:57 -msgid "Errors encountered deleting database table " +#: ../../Zotlabs/Module/Appman.php:146 +msgid "80 x 80 pixels - optional" msgstr "" -#: ../../addon/rendezvous/rendezvous.php:95 ../../addon/twitter/twitter.php:503 -msgid "Submit Settings" +#: ../../Zotlabs/Module/Appman.php:147 +msgid "Categories (optional, comma separated list)" msgstr "" -#: ../../addon/rendezvous/rendezvous.php:96 -msgid "Drop tables when uninstalling?" +#: ../../Zotlabs/Module/Appman.php:148 +msgid "Version ID" msgstr "" -#: ../../addon/rendezvous/rendezvous.php:96 -msgid "" -"If checked, the Rendezvous database tables will be deleted when the plugin " -"is uninstalled." +#: ../../Zotlabs/Module/Appman.php:149 +msgid "Price of app" msgstr "" -#: ../../addon/rendezvous/rendezvous.php:97 -msgid "Mapbox Access Token" +#: ../../Zotlabs/Module/Appman.php:150 +msgid "Location (URL) to purchase app" msgstr "" -#: ../../addon/rendezvous/rendezvous.php:97 +#: ../../Zotlabs/Module/Changeaddr.php:35 msgid "" -"If you enter a Mapbox access token, it will be used to retrieve map tiles " -"from Mapbox instead of the default OpenStreetMap tile server." +"Channel name changes are not allowed within 48 hours of changing the account " +"password." msgstr "" -#: ../../addon/rendezvous/rendezvous.php:162 -msgid "Rendezvous" +#: ../../Zotlabs/Module/Changeaddr.php:46 ../../include/channel.php:225 +#: ../../include/channel.php:706 +msgid "Reserved nickname. Please choose another." msgstr "" -#: ../../addon/rendezvous/rendezvous.php:167 +#: ../../Zotlabs/Module/Changeaddr.php:51 ../../include/channel.php:230 +#: ../../include/channel.php:711 msgid "" -"This identity has been deleted by another member due to inactivity. Please " -"press the \"New identity\" button or refresh the page to register a new " -"identity. You may use the same name." +"Nickname has unsupported characters or is already being used on this site." msgstr "" -#: ../../addon/rendezvous/rendezvous.php:168 -msgid "Welcome to Rendezvous!" +#: ../../Zotlabs/Module/Changeaddr.php:77 +msgid "Change channel nickname/address" msgstr "" -#: ../../addon/rendezvous/rendezvous.php:169 -msgid "" -"Enter your name to join this rendezvous. To begin sharing your location with " -"the other members, tap the GPS control. When your location is discovered, a " -"red dot will appear and others will be able to see you on the map." +#: ../../Zotlabs/Module/Changeaddr.php:78 +msgid "Any/all connections on other networks will be lost!" msgstr "" -#: ../../addon/rendezvous/rendezvous.php:171 -msgid "Let's meet here" +#: ../../Zotlabs/Module/Changeaddr.php:80 +msgid "New channel address" msgstr "" -#: ../../addon/rendezvous/rendezvous.php:172 -#: ../../Zotlabs/Widget/Wiki_page_history.php:22 -#: ../../Zotlabs/Module/Group.php:155 ../../Zotlabs/Module/Oauth.php:113 -#: ../../Zotlabs/Module/Oauth.php:139 ../../Zotlabs/Module/Chat.php:257 -#: ../../Zotlabs/Module/Cdav.php:1368 ../../Zotlabs/Module/Sharedwithme.php:106 -#: ../../Zotlabs/Module/Admin/Channels.php:159 -#: ../../Zotlabs/Module/Oauth2.php:118 ../../Zotlabs/Module/Oauth2.php:146 -#: ../../Zotlabs/Module/Wiki.php:218 ../../Zotlabs/Module/Connedit.php:926 -#: ../../Zotlabs/Lib/NativeWikiPage.php:564 -#: ../../Zotlabs/Storage/Browser.php:291 -msgid "Name" +#: ../../Zotlabs/Module/Changeaddr.php:81 +msgid "Rename Channel" msgstr "" -#: ../../addon/rendezvous/rendezvous.php:173 -#: ../../addon/cart/submodules/hzservices.php:655 -#: ../../addon/cart/submodules/manualcat.php:260 -#: ../../Zotlabs/Module/Cdav.php:1010 ../../Zotlabs/Module/Events.php:481 -#: ../../Zotlabs/Module/Appman.php:145 ../../Zotlabs/Module/Rbmark.php:101 -msgid "Description" +#: ../../Zotlabs/Module/Oauth.php:45 +msgid "Name is required" msgstr "" -#: ../../addon/rendezvous/rendezvous.php:174 -msgid "New marker" +#: ../../Zotlabs/Module/Oauth.php:49 +msgid "Key and Secret are required" msgstr "" -#: ../../addon/rendezvous/rendezvous.php:175 -msgid "Edit marker" +#: ../../Zotlabs/Module/Oauth.php:100 +msgid "OAuth Apps Manager App" msgstr "" -#: ../../addon/rendezvous/rendezvous.php:176 -msgid "New identity" +#: ../../Zotlabs/Module/Oauth.php:101 +msgid "OAuth authentication tokens for mobile and remote apps" msgstr "" -#: ../../addon/rendezvous/rendezvous.php:177 -msgid "Delete marker" +#: ../../Zotlabs/Module/Oauth.php:110 ../../Zotlabs/Module/Oauth.php:136 +#: ../../Zotlabs/Module/Oauth.php:172 ../../Zotlabs/Module/Oauth2.php:143 +#: ../../Zotlabs/Module/Oauth2.php:193 +msgid "Add application" msgstr "" -#: ../../addon/rendezvous/rendezvous.php:178 -msgid "Delete member" +#: ../../Zotlabs/Module/Oauth.php:113 ../../Zotlabs/Module/Oauth2.php:118 +#: ../../Zotlabs/Module/Oauth2.php:146 +msgid "Name of application" msgstr "" -#: ../../addon/rendezvous/rendezvous.php:179 -msgid "Edit proximity alert" +#: ../../Zotlabs/Module/Oauth.php:114 ../../Zotlabs/Module/Oauth.php:140 +#: ../../extend/addon/hzaddons/statusnet/statusnet.php:596 +#: ../../extend/addon/hzaddons/twitter/twitter.php:505 +msgid "Consumer Key" msgstr "" -#: ../../addon/rendezvous/rendezvous.php:180 -msgid "" -"A proximity alert will be issued when this member is within a certain radius " -"of you.<br><br>Enter a radius in meters (0 to disable):" +#: ../../Zotlabs/Module/Oauth.php:114 ../../Zotlabs/Module/Oauth.php:115 +#: ../../Zotlabs/Module/Oauth2.php:119 ../../Zotlabs/Module/Oauth2.php:147 +msgid "Automatically generated - change if desired. Max length 20" msgstr "" -#: ../../addon/rendezvous/rendezvous.php:180 -#: ../../addon/rendezvous/rendezvous.php:185 -msgid "distance" +#: ../../Zotlabs/Module/Oauth.php:115 ../../Zotlabs/Module/Oauth.php:141 +#: ../../Zotlabs/Module/Oauth2.php:119 ../../Zotlabs/Module/Oauth2.php:147 +#: ../../extend/addon/hzaddons/statusnet/statusnet.php:595 +#: ../../extend/addon/hzaddons/twitter/twitter.php:506 +msgid "Consumer Secret" msgstr "" -#: ../../addon/rendezvous/rendezvous.php:181 -msgid "Proximity alert distance (meters)" +#: ../../Zotlabs/Module/Oauth.php:116 ../../Zotlabs/Module/Oauth.php:142 +#: ../../Zotlabs/Module/Oauth2.php:120 ../../Zotlabs/Module/Oauth2.php:148 +msgid "Redirect" msgstr "" -#: ../../addon/rendezvous/rendezvous.php:182 -#: ../../addon/rendezvous/rendezvous.php:184 +#: ../../Zotlabs/Module/Oauth.php:116 ../../Zotlabs/Module/Oauth2.php:120 +#: ../../Zotlabs/Module/Oauth2.php:148 msgid "" -"A proximity alert will be issued when you are within a certain radius of the " -"marker location.<br><br>Enter a radius in meters (0 to disable):" +"Redirect URI - leave blank unless your application specifically requires this" msgstr "" -#: ../../addon/rendezvous/rendezvous.php:183 -msgid "Marker proximity alert" +#: ../../Zotlabs/Module/Oauth.php:117 ../../Zotlabs/Module/Oauth.php:143 +msgid "Icon url" msgstr "" -#: ../../addon/rendezvous/rendezvous.php:186 -msgid "Reminder note" +#: ../../Zotlabs/Module/Oauth.php:117 ../../Zotlabs/Module/Sources.php:123 +#: ../../Zotlabs/Module/Sources.php:158 +msgid "Optional" msgstr "" -#: ../../addon/rendezvous/rendezvous.php:187 -msgid "" -"Enter a note to be displayed when you are within the specified proximity..." +#: ../../Zotlabs/Module/Oauth.php:128 +msgid "Application not found." msgstr "" -#: ../../addon/rendezvous/rendezvous.php:199 -msgid "Add new rendezvous" +#: ../../Zotlabs/Module/Oauth.php:171 +msgid "Connected OAuth Apps" msgstr "" -#: ../../addon/rendezvous/rendezvous.php:200 -msgid "" -"Create a new rendezvous and share the access link with those you wish to " -"invite to the group. Those who open the link become members of the " -"rendezvous. They can view other member locations, add markers to the map, or " -"share their own locations with the group." +#: ../../Zotlabs/Module/Oauth.php:175 ../../Zotlabs/Module/Oauth2.php:196 +msgid "Client key starts with" msgstr "" -#: ../../addon/rendezvous/rendezvous.php:232 -msgid "You have no rendezvous. Press the button above to create a rendezvous!" +#: ../../Zotlabs/Module/Oauth.php:176 ../../Zotlabs/Module/Oauth2.php:197 +msgid "No name" msgstr "" -#: ../../addon/rendezvous/rendezvous.php:401 ../../Zotlabs/Module/Setup.php:718 -msgid "Errors encountered creating database tables." +#: ../../Zotlabs/Module/Oauth.php:177 ../../Zotlabs/Module/Oauth2.php:198 +msgid "Remove authorization" msgstr "" -#: ../../addon/startpage/Mod_Startpage.php:50 -msgid "Startpage App" +#: ../../Zotlabs/Module/Email_resend.php:12 +#: ../../Zotlabs/Module/Email_validation.php:24 +msgid "Token verification failed." msgstr "" -#: ../../addon/startpage/Mod_Startpage.php:51 -msgid "Set a preferred page to load on login from home page" +#: ../../Zotlabs/Module/Email_resend.php:30 +msgid "Email verification resent" msgstr "" -#: ../../addon/startpage/Mod_Startpage.php:62 -msgid "Page to load after login" +#: ../../Zotlabs/Module/Email_resend.php:33 +msgid "Unable to resend email verification message." msgstr "" -#: ../../addon/startpage/Mod_Startpage.php:62 -msgid "" -"Examples: "apps", "network?f=&gid=37" (privacy " -"collection), "channel" or "notifications/system" (leave " -"blank for default network page (grid)." +#: ../../Zotlabs/Module/Search.php:17 +#: ../../Zotlabs/Module/Viewconnections.php:23 +#: ../../Zotlabs/Module/Display.php:26 ../../Zotlabs/Module/Photos.php:519 +#: ../../Zotlabs/Module/Directory.php:73 ../../Zotlabs/Module/Directory.php:78 +#: ../../Zotlabs/Module/Ratings.php:83 +msgid "Public access denied." msgstr "" -#: ../../addon/startpage/Mod_Startpage.php:70 -msgid "Startpage" +#: ../../Zotlabs/Module/Search.php:41 ../../Zotlabs/Module/Connections.php:378 +#: ../../Zotlabs/Lib/Apps.php:353 ../../Zotlabs/Widget/Sitesearch.php:31 +#: ../../Zotlabs/Widget/Activity_filter.php:193 ../../include/text.php:1150 +#: ../../include/text.php:1162 ../../include/acl_selectors.php:148 +#: ../../include/nav.php:188 +msgid "Search" msgstr "" -#: ../../addon/mail/Mod_Mail.php:39 -msgid "Messages" +#: ../../Zotlabs/Module/Search.php:222 +#, php-format +msgid "Items tagged with: %s" msgstr "" -#: ../../addon/mail/Mod_Mail.php:52 -msgid "message" +#: ../../Zotlabs/Module/Search.php:224 +#, php-format +msgid "Search results for: %s" msgstr "" -#: ../../addon/mail/Mod_Mail.php:92 -msgid "Message recalled." +#: ../../Zotlabs/Module/Moderate.php:67 +msgid "Comment approved" msgstr "" -#: ../../addon/mail/Mod_Mail.php:105 -msgid "Conversation removed." +#: ../../Zotlabs/Module/Moderate.php:71 +msgid "Comment deleted" msgstr "" -#: ../../addon/mail/Mod_Mail.php:120 ../../addon/mail/Mod_Mail.php:241 -msgid "Expires YYYY-MM-DD HH:MM" +#: ../../Zotlabs/Module/Rpost.php:150 ../../Zotlabs/Module/Editpost.php:109 +msgid "Edit post" msgstr "" -#: ../../addon/mail/Mod_Mail.php:148 -msgid "Requested channel is not in this network" +#: ../../Zotlabs/Module/Oexchange.php:27 +msgid "Unable to find your hub." msgstr "" -#: ../../addon/mail/Mod_Mail.php:156 -msgid "Send Private Message" +#: ../../Zotlabs/Module/Oexchange.php:41 +msgid "Post successful." msgstr "" -#: ../../addon/mail/Mod_Mail.php:157 ../../addon/mail/Mod_Mail.php:300 -msgid "To:" +#: ../../Zotlabs/Module/Chanview.php:95 ../../Zotlabs/Module/Card_edit.php:44 +#: ../../Zotlabs/Module/Wall_upload.php:31 ../../Zotlabs/Module/Page.php:75 +#: ../../Zotlabs/Module/Block.php:41 ../../Zotlabs/Module/Article_edit.php:44 +#: ../../Zotlabs/Module/Attach.php:21 ../../Zotlabs/Module/Cal.php:31 +#: ../../Zotlabs/Module/Attach_edit.php:52 +msgid "Channel not found." msgstr "" -#: ../../addon/mail/Mod_Mail.php:160 ../../addon/mail/Mod_Mail.php:302 -msgid "Subject:" +#: ../../Zotlabs/Module/Chanview.php:132 +msgid "toggle full screen mode" msgstr "" -#: ../../addon/mail/Mod_Mail.php:163 ../../Zotlabs/Module/Invite.php:157 -msgid "Your message:" +#: ../../Zotlabs/Module/Tagger.php:50 +msgid "Post not found." msgstr "" -#: ../../addon/mail/Mod_Mail.php:165 ../../addon/mail/Mod_Mail.php:308 -msgid "Attach file" +#: ../../Zotlabs/Module/Tagger.php:79 ../../Zotlabs/Lib/Activity.php:2971 +#: ../../include/conversation.php:158 ../../include/text.php:2258 +#: ../../include/markdown.php:204 ../../include/bbcode.php:523 +msgid "post" msgstr "" -#: ../../addon/mail/Mod_Mail.php:167 -msgid "Send" +#: ../../Zotlabs/Module/Tagger.php:81 ../../include/conversation.php:160 +#: ../../include/text.php:2260 +msgid "comment" msgstr "" -#: ../../addon/mail/Mod_Mail.php:271 -msgid "Delete message" +#: ../../Zotlabs/Module/Tagger.php:121 +#, php-format +msgid "%1$s tagged %2$s's %3$s with %4$s" msgstr "" -#: ../../addon/mail/Mod_Mail.php:272 -msgid "Delivery report" +#: ../../Zotlabs/Module/Import_items.php:93 +#, php-format +msgid "Warning: Database versions differ by %1$d updates." msgstr "" -#: ../../addon/mail/Mod_Mail.php:273 -msgid "Recall message" +#: ../../Zotlabs/Module/Import_items.php:108 +msgid "Import completed" msgstr "" -#: ../../addon/mail/Mod_Mail.php:275 -msgid "Message has been recalled." +#: ../../Zotlabs/Module/Import_items.php:125 +msgid "Import Items" msgstr "" -#: ../../addon/mail/Mod_Mail.php:293 -msgid "Delete Conversation" +#: ../../Zotlabs/Module/Import_items.php:126 +msgid "Use this form to import existing posts and content from an export file." msgstr "" -#: ../../addon/mail/Mod_Mail.php:295 -msgid "" -"No secure communications available. You <strong>may</strong> be able to " -"respond from the sender's profile page." +#: ../../Zotlabs/Module/Connect.php:65 ../../Zotlabs/Module/Connect.php:118 +msgid "Continue" msgstr "" -#: ../../addon/mail/Mod_Mail.php:299 -msgid "Send Reply" +#: ../../Zotlabs/Module/Connect.php:99 +msgid "Premium Channel Setup" msgstr "" -#: ../../addon/mail/Mod_Mail.php:304 -#, php-format -msgid "Your message for %s (%s):" +#: ../../Zotlabs/Module/Connect.php:101 +msgid "Enable premium channel connection restrictions" msgstr "" -#: ../../addon/mail/Mod_Mail.php:384 -msgid "Unable to lookup recipient." +#: ../../Zotlabs/Module/Connect.php:102 +msgid "" +"Please enter your restrictions or conditions, such as paypal receipt, usage " +"guidelines, etc." msgstr "" -#: ../../addon/mail/Mod_Mail.php:391 -msgid "Unable to communicate with requested channel." +#: ../../Zotlabs/Module/Connect.php:104 ../../Zotlabs/Module/Connect.php:124 +msgid "" +"This channel may require additional steps or acknowledgement of the " +"following conditions prior to connecting:" msgstr "" -#: ../../addon/mail/Mod_Mail.php:398 -msgid "Cannot verify requested channel." +#: ../../Zotlabs/Module/Connect.php:105 +msgid "" +"Potential connections will then see the following text before proceeding:" msgstr "" -#: ../../addon/mail/Mod_Mail.php:416 -msgid "Selected channel has private message restrictions. Send failed." +#: ../../Zotlabs/Module/Connect.php:106 ../../Zotlabs/Module/Connect.php:127 +msgid "" +"By continuing, I certify that I have complied with any instructions provided " +"on this page." msgstr "" -#: ../../addon/adultphotoflag/adultphotoflag.php:24 -msgid "Flag Adult Photos" +#: ../../Zotlabs/Module/Connect.php:115 +msgid "(No specific instructions have been provided by the channel owner.)" msgstr "" -#: ../../addon/adultphotoflag/adultphotoflag.php:25 -msgid "" -"Provide photo edit option to hide inappropriate photos from default album " -"view" +#: ../../Zotlabs/Module/Connect.php:123 +msgid "Restricted or Premium Channel" msgstr "" -#: ../../addon/upgrade_info/upgrade_info.php:48 -msgid "Your channel has been upgraded to $Projectname version" +#: ../../Zotlabs/Module/New_channel.php:147 ../../Zotlabs/Module/Manage.php:138 +#, php-format +msgid "You have created %1$.0f of %2$.0f allowed channels." msgstr "" -#: ../../addon/upgrade_info/upgrade_info.php:50 -msgid "Please have a look at the" +#: ../../Zotlabs/Module/New_channel.php:159 +msgid "Your real name is recommended." msgstr "" -#: ../../addon/upgrade_info/upgrade_info.php:52 -msgid "git history" +#: ../../Zotlabs/Module/New_channel.php:160 +msgid "" +"Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"Aviation " +"Group\"" msgstr "" -#: ../../addon/upgrade_info/upgrade_info.php:54 -msgid "change log" +#: ../../Zotlabs/Module/New_channel.php:165 +msgid "" +"This will be used to create a unique network address (like an email address)." msgstr "" -#: ../../addon/upgrade_info/upgrade_info.php:55 -msgid "for further info." +#: ../../Zotlabs/Module/New_channel.php:167 +msgid "Allowed characters are a-z 0-9, - and _" msgstr "" -#: ../../addon/upgrade_info/upgrade_info.php:60 -msgid "Upgrade Info" +#: ../../Zotlabs/Module/New_channel.php:175 +msgid "Channel name" msgstr "" -#: ../../addon/upgrade_info/upgrade_info.php:64 -msgid "Do not show this again" +#: ../../Zotlabs/Module/New_channel.php:177 +#: ../../Zotlabs/Module/Register.php:263 +msgid "Choose a short nickname" msgstr "" -#: ../../addon/twitter/Mod_Twitter.php:65 -msgid "Twitter settings updated." +#: ../../Zotlabs/Module/New_channel.php:178 +#: ../../Zotlabs/Module/Register.php:264 +#: ../../Zotlabs/Module/Settings/Channel.php:537 +msgid "Channel role and privacy" msgstr "" -#: ../../addon/twitter/Mod_Twitter.php:78 -msgid "Twitter Crosspost Connector App" +#: ../../Zotlabs/Module/New_channel.php:178 +msgid "" +"Select a channel permission role compatible with your usage needs and " +"privacy requirements." msgstr "" -#: ../../addon/twitter/Mod_Twitter.php:79 -msgid "Relay public posts to Twitter" +#: ../../Zotlabs/Module/New_channel.php:178 +#: ../../Zotlabs/Module/Register.php:264 +msgid "Read more about channel permission roles" msgstr "" -#: ../../addon/twitter/Mod_Twitter.php:103 -msgid "" -"No consumer key pair for Twitter found. Please contact your site " -"administrator." +#: ../../Zotlabs/Module/New_channel.php:181 +msgid "Create a Channel" msgstr "" -#: ../../addon/twitter/Mod_Twitter.php:125 +#: ../../Zotlabs/Module/New_channel.php:182 msgid "" -"At this Hubzilla instance the Twitter plugin was enabled but you have not " -"yet connected your account to your Twitter account. To do so click the " -"button below to get a PIN from Twitter which you have to copy into the input " -"box below and submit the form. Only your <strong>public</strong> posts will " -"be posted to Twitter." +"A channel is a unique network identity. It can represent a person (social " +"network profile), a forum (group), a business or celebrity page, a newsfeed, " +"and many other things." msgstr "" -#: ../../addon/twitter/Mod_Twitter.php:127 -msgid "Log in with Twitter" +#: ../../Zotlabs/Module/New_channel.php:183 +msgid "" +"or <a href=\"import\">import an existing channel</a> from another location." msgstr "" -#: ../../addon/twitter/Mod_Twitter.php:130 -msgid "Copy the PIN from Twitter here" +#: ../../Zotlabs/Module/New_channel.php:188 +msgid "Validate" msgstr "" -#: ../../addon/twitter/Mod_Twitter.php:152 -msgid "" -"<strong>Note:</strong> Due your privacy settings (<em>Hide your profile " -"details from unknown viewers?</em>) the link potentially included in public " -"postings relayed to Twitter will lead the visitor to a blank page informing " -"the visitor that the access to your profile has been restricted." +#: ../../Zotlabs/Module/Apps.php:50 ../../Zotlabs/Widget/Appstore.php:14 +msgid "Available Apps" msgstr "" -#: ../../addon/twitter/Mod_Twitter.php:157 -msgid "Twitter post length" +#: ../../Zotlabs/Module/Apps.php:50 +msgid "Installed Apps" msgstr "" -#: ../../addon/twitter/Mod_Twitter.php:157 -msgid "Maximum tweet length" +#: ../../Zotlabs/Module/Apps.php:53 +msgid "Manage Apps" msgstr "" -#: ../../addon/twitter/Mod_Twitter.php:162 -msgid "Send public postings to Twitter by default" +#: ../../Zotlabs/Module/Apps.php:54 +msgid "Create Custom App" msgstr "" -#: ../../addon/twitter/Mod_Twitter.php:162 +#: ../../Zotlabs/Module/Removeaccount.php:35 msgid "" -"If enabled your public postings will be posted to the associated Twitter " -"account by default" -msgstr "" - -#: ../../addon/twitter/Mod_Twitter.php:181 -msgid "Twitter Crosspost Connector" +"Account removals are not allowed within 48 hours of changing the account " +"password." msgstr "" -#: ../../addon/twitter/twitter.php:109 -msgid "Post to Twitter" +#: ../../Zotlabs/Module/Removeaccount.php:57 +msgid "Remove This Account" msgstr "" -#: ../../addon/pumpio/pumpio.php:152 -msgid "You are now authenticated to pumpio." +#: ../../Zotlabs/Module/Removeaccount.php:58 +msgid "" +"This account and all its channels will be completely removed from the " +"network. " msgstr "" -#: ../../addon/pumpio/pumpio.php:153 -msgid "return to the featured settings page" +#: ../../Zotlabs/Module/Removeaccount.php:61 +#: ../../Zotlabs/Module/Settings/Account.php:105 +msgid "Remove Account" msgstr "" -#: ../../addon/pumpio/pumpio.php:168 -msgid "Post to Pump.io" +#: ../../Zotlabs/Module/Filestorage.php:14 +#: ../../Zotlabs/Module/Filestorage.php:53 +msgid "Deprecated!" msgstr "" -#: ../../addon/pumpio/Mod_Pumpio.php:40 -msgid "Pump.io Settings saved." +#: ../../Zotlabs/Module/Filestorage.php:29 ../../Zotlabs/Module/Display.php:42 +#: ../../Zotlabs/Module/Display.php:429 ../../Zotlabs/Module/Admin.php:62 +#: ../../Zotlabs/Module/Admin/Themes.php:72 +#: ../../Zotlabs/Module/Admin/Addons.php:260 ../../Zotlabs/Module/Thing.php:96 +#: ../../Zotlabs/Module/Viewsrc.php:25 ../../include/items.php:3919 +#: ../../extend/addon/hzaddons/flashcards/Mod_Flashcards.php:284 +#: ../../extend/addon/hzaddons/flashcards/Mod_Flashcards.php:285 +msgid "Item not found." msgstr "" -#: ../../addon/pumpio/Mod_Pumpio.php:53 -msgid "Pump.io Crosspost Connector App" +#: ../../Zotlabs/Module/Filestorage.php:109 +#: ../../Zotlabs/Module/Attach_edit.php:69 +msgid "File not found." msgstr "" -#: ../../addon/pumpio/Mod_Pumpio.php:54 -msgid "Relay public posts to pump.io" +#: ../../Zotlabs/Module/Filestorage.php:157 +msgid "Permission Denied." msgstr "" -#: ../../addon/pumpio/Mod_Pumpio.php:73 -msgid "Pump.io servername" +#: ../../Zotlabs/Module/Filestorage.php:190 +msgid "Edit file permissions" msgstr "" -#: ../../addon/pumpio/Mod_Pumpio.php:73 -msgid "Without \"http://\" or \"https://\"" +#: ../../Zotlabs/Module/Filestorage.php:195 +#: ../../Zotlabs/Module/Connedit.php:682 ../../Zotlabs/Module/Chat.php:241 +#: ../../Zotlabs/Module/Photos.php:678 ../../Zotlabs/Module/Photos.php:1047 +#: ../../Zotlabs/Module/Thing.php:321 ../../Zotlabs/Module/Thing.php:374 +#: ../../include/acl_selectors.php:153 +#: ../../extend/addon/hzaddons/flashcards/Mod_Flashcards.php:254 +msgid "Permissions" msgstr "" -#: ../../addon/pumpio/Mod_Pumpio.php:77 -msgid "Pump.io username" +#: ../../Zotlabs/Module/Filestorage.php:202 +#: ../../extend/addon/hzaddons/flashcards/Mod_Flashcards.php:261 +msgid "Set/edit permissions" msgstr "" -#: ../../addon/pumpio/Mod_Pumpio.php:77 -msgid "Without the servername" +#: ../../Zotlabs/Module/Filestorage.php:203 +msgid "Include all files and sub folders" msgstr "" -#: ../../addon/pumpio/Mod_Pumpio.php:88 -msgid "You are not authenticated to pumpio" +#: ../../Zotlabs/Module/Filestorage.php:204 +msgid "Return to file list" msgstr "" -#: ../../addon/pumpio/Mod_Pumpio.php:90 -msgid "(Re-)Authenticate your pump.io connection" +#: ../../Zotlabs/Module/Filestorage.php:206 +#: ../../Zotlabs/Storage/Browser.php:386 +msgid "Copy/paste this code to attach file to a post" msgstr "" -#: ../../addon/pumpio/Mod_Pumpio.php:94 -msgid "Post to pump.io by default" +#: ../../Zotlabs/Module/Filestorage.php:207 +#: ../../Zotlabs/Storage/Browser.php:387 +msgid "Copy/paste this URL to link file from a web page" msgstr "" -#: ../../addon/pumpio/Mod_Pumpio.php:98 -msgid "Should posts be public" +#: ../../Zotlabs/Module/Filestorage.php:209 +msgid "Share this file" msgstr "" -#: ../../addon/pumpio/Mod_Pumpio.php:102 -msgid "Mirror all public posts" +#: ../../Zotlabs/Module/Filestorage.php:210 +msgid "Show URL to this file" msgstr "" -#: ../../addon/pumpio/Mod_Pumpio.php:112 -msgid "Pump.io Crosspost Connector" +#: ../../Zotlabs/Module/Filestorage.php:211 +#: ../../Zotlabs/Storage/Browser.php:552 +msgid "Show in your contacts shared folder" msgstr "" -#: ../../addon/gravatar/gravatar.php:123 -msgid "generic profile image" +#: ../../Zotlabs/Module/Card_edit.php:17 ../../Zotlabs/Module/Card_edit.php:33 +#: ../../Zotlabs/Module/Editlayout.php:79 ../../Zotlabs/Module/Editblock.php:79 +#: ../../Zotlabs/Module/Editblock.php:95 ../../Zotlabs/Module/Editpost.php:24 +#: ../../Zotlabs/Module/Editwebpage.php:80 +#: ../../Zotlabs/Module/Article_edit.php:17 +#: ../../Zotlabs/Module/Article_edit.php:33 +msgid "Item not found" msgstr "" -#: ../../addon/gravatar/gravatar.php:124 -msgid "random geometric pattern" +#: ../../Zotlabs/Module/Card_edit.php:101 +#: ../../Zotlabs/Module/Editblock.php:116 ../../Zotlabs/Module/Chat.php:220 +#: ../../Zotlabs/Module/Editwebpage.php:143 +#: ../../Zotlabs/Module/Article_edit.php:100 +#: ../../include/conversation.php:1341 +#: ../../extend/addon/hzaddons/hsse/hsse.php:95 +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:166 +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:309 +msgid "Insert web link" msgstr "" -#: ../../addon/gravatar/gravatar.php:125 -msgid "monster face" +#: ../../Zotlabs/Module/Card_edit.php:117 +#: ../../Zotlabs/Module/Editblock.php:129 ../../Zotlabs/Module/Photos.php:674 +#: ../../Zotlabs/Module/Photos.php:1044 +#: ../../Zotlabs/Module/Article_edit.php:116 +#: ../../include/conversation.php:1474 +#: ../../extend/addon/hzaddons/hsse/hsse.php:221 +msgid "Title (optional)" msgstr "" -#: ../../addon/gravatar/gravatar.php:126 -msgid "computer generated face" +#: ../../Zotlabs/Module/Card_edit.php:128 +msgid "Edit Card" msgstr "" -#: ../../addon/gravatar/gravatar.php:127 -msgid "retro arcade style face" +#: ../../Zotlabs/Module/Viewconnections.php:65 +msgid "No connections." msgstr "" -#: ../../addon/gravatar/gravatar.php:128 -msgid "Hub default profile photo" +#: ../../Zotlabs/Module/Viewconnections.php:80 +#: ../../Zotlabs/Module/Connections.php:288 ../../include/text.php:1044 +msgid "Accepts" msgstr "" -#: ../../addon/gravatar/gravatar.php:143 -msgid "Information" +#: ../../Zotlabs/Module/Viewconnections.php:83 +#: ../../Zotlabs/Module/Connections.php:291 ../../include/text.php:1047 +msgid "Comments" msgstr "" -#: ../../addon/gravatar/gravatar.php:143 -msgid "" -"Libravatar addon is installed, too. Please disable Libravatar addon or this " -"Gravatar addon.<br>The Libravatar addon will fall back to Gravatar if " -"nothing was found at Libravatar." +#: ../../Zotlabs/Module/Viewconnections.php:88 +#: ../../Zotlabs/Module/Connections.php:296 ../../include/text.php:1052 +msgid "Stream items" msgstr "" -#: ../../addon/gravatar/gravatar.php:150 ../../addon/msgfooter/msgfooter.php:46 -#: ../../addon/xmpp/xmpp.php:43 -msgid "Save Settings" +#: ../../Zotlabs/Module/Viewconnections.php:93 +#: ../../Zotlabs/Module/Connections.php:301 ../../include/text.php:1057 +msgid "Wall posts" msgstr "" -#: ../../addon/gravatar/gravatar.php:151 -msgid "Default avatar image" +#: ../../Zotlabs/Module/Viewconnections.php:97 +#: ../../Zotlabs/Module/Connections.php:305 ../../include/text.php:1061 +msgid "Nothing" msgstr "" -#: ../../addon/gravatar/gravatar.php:151 -msgid "Select default avatar image if none was found at Gravatar. See README" +#: ../../Zotlabs/Module/Viewconnections.php:105 +#, php-format +msgid "Visit %s's profile [%s]" msgstr "" -#: ../../addon/gravatar/gravatar.php:152 -msgid "Rating of images" +#: ../../Zotlabs/Module/Viewconnections.php:135 +msgid "View Connections" msgstr "" -#: ../../addon/gravatar/gravatar.php:152 -msgid "Select the appropriate avatar rating for your site. See README" +#: ../../Zotlabs/Module/Oauth2.php:54 +msgid "Name and Secret are required" msgstr "" -#: ../../addon/gravatar/gravatar.php:165 -msgid "Gravatar settings updated." +#: ../../Zotlabs/Module/Oauth2.php:106 +msgid "OAuth2 Apps Manager App" msgstr "" -#: ../../addon/msgfooter/msgfooter.php:47 -msgid "text to include in all outgoing posts from this site" +#: ../../Zotlabs/Module/Oauth2.php:107 +msgid "OAuth2 authenticatication tokens for mobile and remote apps" msgstr "" -#: ../../addon/sendzid/Mod_Sendzid.php:14 -msgid "Send your identity to all websites" +#: ../../Zotlabs/Module/Oauth2.php:115 +msgid "Add OAuth2 application" msgstr "" -#: ../../addon/sendzid/Mod_Sendzid.php:20 -msgid "Sendzid App" +#: ../../Zotlabs/Module/Oauth2.php:121 ../../Zotlabs/Module/Oauth2.php:149 +msgid "Grant Types" msgstr "" -#: ../../addon/sendzid/Mod_Sendzid.php:32 -msgid "Send ZID" +#: ../../Zotlabs/Module/Oauth2.php:121 ../../Zotlabs/Module/Oauth2.php:122 +msgid "leave blank unless your application sepcifically requires this" msgstr "" -#: ../../addon/cart/widgets/catalogitem.php:57 -#: ../../addon/cart/submodules/hzservices.php:658 -#: ../../addon/cart/submodules/manualcat.php:263 -msgid "Price" +#: ../../Zotlabs/Module/Oauth2.php:122 ../../Zotlabs/Module/Oauth2.php:150 +msgid "Authorization scope" msgstr "" -#: ../../addon/cart/manual_payments.php:7 -msgid "Error: order mismatch. Please try again." +#: ../../Zotlabs/Module/Oauth2.php:134 +msgid "OAuth2 Application not found." msgstr "" -#: ../../addon/cart/manual_payments.php:61 -msgid "Manual payments are not enabled." +#: ../../Zotlabs/Module/Oauth2.php:149 ../../Zotlabs/Module/Oauth2.php:150 +msgid "leave blank unless your application specifically requires this" msgstr "" -#: ../../addon/cart/manual_payments.php:68 -#: ../../addon/cart/submodules/paypalbutton.php:392 -#: ../../addon/cart/submodules/paypalbuttonV2.php:409 -#: ../../addon/cart/cart.php:1578 -msgid "Order not found." +#: ../../Zotlabs/Module/Oauth2.php:192 +msgid "Connected OAuth2 Apps" msgstr "" -#: ../../addon/cart/manual_payments.php:77 -msgid "Finished" +#: ../../Zotlabs/Module/Wiki.php:35 +#: ../../extend/addon/hzaddons/cart/cart.php:1410 +#: ../../extend/addon/hzaddons/flashcards/Mod_Flashcards.php:51 +msgid "Profile Unavailable." msgstr "" -#: ../../addon/cart/manual_payments.php:93 -#: ../../addon/cart/submodules/paypalbutton.php:456 -#: ../../addon/cart/submodules/paypalbuttonV2.php:478 -#: ../../addon/cart/myshop.php:37 ../../addon/cart/cart.php:1556 -#: ../../Zotlabs/Module/Wiki.php:77 -msgid "Invalid channel" +#: ../../Zotlabs/Module/Wiki.php:52 +msgid "Wiki App" msgstr "" -#: ../../addon/cart/submodules/subscriptions.php:151 -msgid "Enable Subscription Management Module" +#: ../../Zotlabs/Module/Wiki.php:53 +msgid "Provide a wiki for your channel" msgstr "" -#: ../../addon/cart/submodules/subscriptions.php:223 -msgid "" -"Cannot include subscription items with different terms in the same order." +#: ../../Zotlabs/Module/Wiki.php:77 +#: ../../extend/addon/hzaddons/cart/cart.php:1556 +#: ../../extend/addon/hzaddons/cart/submodules/paypalbuttonV2.php:478 +#: ../../extend/addon/hzaddons/cart/submodules/paypalbutton.php:456 +#: ../../extend/addon/hzaddons/cart/myshop.php:37 +#: ../../extend/addon/hzaddons/cart/manual_payments.php:93 +msgid "Invalid channel" msgstr "" -#: ../../addon/cart/submodules/subscriptions.php:372 -msgid "Select Subscription to Edit" +#: ../../Zotlabs/Module/Wiki.php:133 +msgid "Error retrieving wiki" msgstr "" -#: ../../addon/cart/submodules/subscriptions.php:380 -msgid "Edit Subscriptions" +#: ../../Zotlabs/Module/Wiki.php:140 +msgid "Error creating zip file export folder" msgstr "" -#: ../../addon/cart/submodules/subscriptions.php:414 -msgid "Subscription SKU" +#: ../../Zotlabs/Module/Wiki.php:191 +msgid "Error downloading wiki: " msgstr "" -#: ../../addon/cart/submodules/subscriptions.php:419 -msgid "Catalog Description" +#: ../../Zotlabs/Module/Wiki.php:206 ../../Zotlabs/Widget/Wiki_list.php:15 +#: ../../include/nav.php:536 +msgid "Wikis" msgstr "" -#: ../../addon/cart/submodules/subscriptions.php:423 -msgid "Subscription available for purchase." +#: ../../Zotlabs/Module/Wiki.php:212 ../../Zotlabs/Storage/Browser.php:404 +msgid "Download" msgstr "" -#: ../../addon/cart/submodules/subscriptions.php:428 -msgid "Maximum active subscriptions to this item per account." +#: ../../Zotlabs/Module/Wiki.php:216 +msgid "Wiki name" msgstr "" -#: ../../addon/cart/submodules/subscriptions.php:431 -msgid "Subscription price." +#: ../../Zotlabs/Module/Wiki.php:217 +msgid "Content type" msgstr "" -#: ../../addon/cart/submodules/subscriptions.php:435 -msgid "Quantity" +#: ../../Zotlabs/Module/Wiki.php:217 ../../Zotlabs/Module/Wiki.php:371 +#: ../../Zotlabs/Widget/Wiki_pages.php:38 +#: ../../Zotlabs/Widget/Wiki_pages.php:95 ../../include/text.php:2116 +#: ../../extend/addon/hzaddons/mdpost/mdpost.php:41 +msgid "Markdown" msgstr "" -#: ../../addon/cart/submodules/subscriptions.php:439 -msgid "Term" +#: ../../Zotlabs/Module/Wiki.php:217 ../../Zotlabs/Module/Wiki.php:371 +#: ../../Zotlabs/Widget/Wiki_pages.php:38 +#: ../../Zotlabs/Widget/Wiki_pages.php:95 ../../include/text.php:2114 +msgid "BBcode" msgstr "" -#: ../../addon/cart/submodules/hzservices.php:63 -msgid "Enable Hubzilla Services Module" +#: ../../Zotlabs/Module/Wiki.php:217 ../../Zotlabs/Widget/Wiki_pages.php:38 +#: ../../Zotlabs/Widget/Wiki_pages.php:95 ../../include/text.php:2117 +msgid "Text" msgstr "" -#: ../../addon/cart/submodules/hzservices.php:162 -#: ../../addon/cart/submodules/manualcat.php:172 -msgid "New Sku" +#: ../../Zotlabs/Module/Wiki.php:219 ../../Zotlabs/Storage/Browser.php:378 +msgid "Type" msgstr "" -#: ../../addon/cart/submodules/hzservices.php:197 -#: ../../addon/cart/submodules/manualcat.php:208 -msgid "Cannot save edits to locked item." +#: ../../Zotlabs/Module/Wiki.php:220 +msgid "Any type" msgstr "" -#: ../../addon/cart/submodules/hzservices.php:246 -#: ../../addon/cart/submodules/hzservices.php:333 -msgid "SKU not found." +#: ../../Zotlabs/Module/Wiki.php:227 +msgid "Lock content type" msgstr "" -#: ../../addon/cart/submodules/hzservices.php:299 -#: ../../addon/cart/submodules/hzservices.php:303 -msgid "Invalid Activation Directive." +#: ../../Zotlabs/Module/Wiki.php:228 +msgid "Create a status post for this wiki" msgstr "" -#: ../../addon/cart/submodules/hzservices.php:374 -#: ../../addon/cart/submodules/hzservices.php:378 -msgid "Invalid Deactivation Directive." +#: ../../Zotlabs/Module/Wiki.php:229 +msgid "Edit Wiki Name" msgstr "" -#: ../../addon/cart/submodules/hzservices.php:564 -msgid "Add to this privacy group" +#: ../../Zotlabs/Module/Wiki.php:274 +msgid "Wiki not found" msgstr "" -#: ../../addon/cart/submodules/hzservices.php:580 -msgid "Set user service class" +#: ../../Zotlabs/Module/Wiki.php:300 +msgid "Rename page" msgstr "" -#: ../../addon/cart/submodules/hzservices.php:607 -msgid "You must be using a local account to purchase this service." +#: ../../Zotlabs/Module/Wiki.php:321 +msgid "Error retrieving page content" msgstr "" -#: ../../addon/cart/submodules/hzservices.php:647 -#: ../../addon/cart/submodules/manualcat.php:252 -msgid "Changes Locked" +#: ../../Zotlabs/Module/Wiki.php:329 ../../Zotlabs/Module/Wiki.php:331 +msgid "New page" msgstr "" -#: ../../addon/cart/submodules/hzservices.php:651 -#: ../../addon/cart/submodules/manualcat.php:256 -msgid "Item available for purchase." +#: ../../Zotlabs/Module/Wiki.php:366 +msgid "Revision Comparison" msgstr "" -#: ../../addon/cart/submodules/hzservices.php:661 -#: ../../addon/cart/submodules/manualcat.php:266 -msgid "Photo URL" +#: ../../Zotlabs/Module/Wiki.php:367 ../../Zotlabs/Lib/NativeWikiPage.php:567 +#: ../../Zotlabs/Widget/Wiki_page_history.php:25 +msgid "Revert" msgstr "" -#: ../../addon/cart/submodules/hzservices.php:665 -msgid "Add buyer to privacy group" +#: ../../Zotlabs/Module/Wiki.php:374 +msgid "Short description of your changes (optional)" msgstr "" -#: ../../addon/cart/submodules/hzservices.php:670 -msgid "Add buyer as connection" +#: ../../Zotlabs/Module/Wiki.php:384 +#: ../../extend/addon/hzaddons/ljpost/ljpost.php:134 +#: ../../extend/addon/hzaddons/dwpost/Mod_Dwpost.php:69 +#: ../../extend/addon/hzaddons/dwpost/dwpost.php:134 +#: ../../extend/addon/hzaddons/wppost/wppost.php:173 +#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:98 +msgid "Source" msgstr "" -#: ../../addon/cart/submodules/hzservices.php:678 -#: ../../addon/cart/submodules/hzservices.php:720 -msgid "Set Service Class" +#: ../../Zotlabs/Module/Wiki.php:394 +msgid "New page name" msgstr "" -#: ../../addon/cart/submodules/orderoptions.php:70 -msgid "Enable Order/Item Options" +#: ../../Zotlabs/Module/Wiki.php:399 +msgid "Embed image from photo albums" msgstr "" -#: ../../addon/cart/submodules/orderoptions.php:333 -#: ../../addon/cart/submodules/orderoptions.php:357 -#: ../../addon/cart/submodules/orderoptions.php:433 -#: ../../addon/cart/submodules/orderoptions.php:457 -msgid "Label" +#: ../../Zotlabs/Module/Wiki.php:400 ../../include/conversation.php:1457 +#: ../../extend/addon/hzaddons/hsse/hsse.php:208 +msgid "Embed an image from your albums" msgstr "" -#: ../../addon/cart/submodules/orderoptions.php:334 -#: ../../addon/cart/submodules/orderoptions.php:358 -#: ../../addon/cart/submodules/orderoptions.php:434 -#: ../../addon/cart/submodules/orderoptions.php:458 -#: ../../include/datetime.php:211 ../../Zotlabs/Module/Events.php:468 -#: ../../Zotlabs/Module/Events.php:473 ../../Zotlabs/Module/Appman.php:143 -#: ../../Zotlabs/Module/Appman.php:144 ../../Zotlabs/Module/Profiles.php:747 -#: ../../Zotlabs/Module/Profiles.php:751 -msgid "Required" +#: ../../Zotlabs/Module/Wiki.php:402 ../../Zotlabs/Module/Profile_photo.php:508 +#: ../../Zotlabs/Module/Cover_photo.php:429 ../../include/conversation.php:1459 +#: ../../include/conversation.php:1510 +#: ../../extend/addon/hzaddons/hsse/hsse.php:210 +#: ../../extend/addon/hzaddons/hsse/hsse.php:257 +msgid "OK" msgstr "" -#: ../../addon/cart/submodules/orderoptions.php:336 -#: ../../addon/cart/submodules/orderoptions.php:360 -#: ../../addon/cart/submodules/orderoptions.php:436 -#: ../../addon/cart/submodules/orderoptions.php:460 -msgid "Instructions" +#: ../../Zotlabs/Module/Wiki.php:403 ../../Zotlabs/Module/Profile_photo.php:509 +#: ../../Zotlabs/Module/Cover_photo.php:430 ../../include/conversation.php:1385 +#: ../../extend/addon/hzaddons/hsse/hsse.php:139 +msgid "Choose images to embed" msgstr "" -#: ../../addon/cart/submodules/paypalbutton.php:85 -msgid "Enable Paypal Button Module" +#: ../../Zotlabs/Module/Wiki.php:404 ../../Zotlabs/Module/Profile_photo.php:510 +#: ../../Zotlabs/Module/Cover_photo.php:431 ../../include/conversation.php:1386 +#: ../../extend/addon/hzaddons/hsse/hsse.php:140 +msgid "Choose an album" msgstr "" -#: ../../addon/cart/submodules/paypalbutton.php:93 -#: ../../addon/cart/submodules/paypalbuttonV2.php:94 -msgid "Use Production Key" +#: ../../Zotlabs/Module/Wiki.php:405 ../../Zotlabs/Module/Profile_photo.php:511 +#: ../../Zotlabs/Module/Cover_photo.php:432 +msgid "Choose a different album" msgstr "" -#: ../../addon/cart/submodules/paypalbutton.php:100 -#: ../../addon/cart/submodules/paypalbuttonV2.php:101 -msgid "Paypal Sandbox Client Key" +#: ../../Zotlabs/Module/Wiki.php:406 ../../Zotlabs/Module/Profile_photo.php:512 +#: ../../Zotlabs/Module/Cover_photo.php:433 ../../include/conversation.php:1388 +#: ../../extend/addon/hzaddons/hsse/hsse.php:142 +msgid "Error getting album list" msgstr "" -#: ../../addon/cart/submodules/paypalbutton.php:107 -#: ../../addon/cart/submodules/paypalbuttonV2.php:108 -msgid "Paypal Sandbox Secret Key" +#: ../../Zotlabs/Module/Wiki.php:407 ../../Zotlabs/Module/Profile_photo.php:513 +#: ../../Zotlabs/Module/Cover_photo.php:434 ../../include/conversation.php:1389 +#: ../../extend/addon/hzaddons/hsse/hsse.php:143 +msgid "Error getting photo link" msgstr "" -#: ../../addon/cart/submodules/paypalbutton.php:113 -#: ../../addon/cart/submodules/paypalbuttonV2.php:114 -msgid "Paypal Production Client Key" +#: ../../Zotlabs/Module/Wiki.php:408 ../../Zotlabs/Module/Profile_photo.php:514 +#: ../../Zotlabs/Module/Cover_photo.php:435 ../../include/conversation.php:1390 +#: ../../extend/addon/hzaddons/hsse/hsse.php:144 +msgid "Error getting album" msgstr "" -#: ../../addon/cart/submodules/paypalbutton.php:120 -#: ../../addon/cart/submodules/paypalbuttonV2.php:121 -msgid "Paypal Production Secret Key" +#: ../../Zotlabs/Module/Wiki.php:410 +msgid "History" msgstr "" -#: ../../addon/cart/submodules/paypalbutton.php:252 -#: ../../addon/cart/submodules/paypalbuttonV2.php:264 -msgid "Paypal button payments are not enabled." +#: ../../Zotlabs/Module/Wiki.php:488 +msgid "Error creating wiki. Invalid name." msgstr "" -#: ../../addon/cart/submodules/paypalbutton.php:270 -#: ../../addon/cart/submodules/paypalbuttonV2.php:282 -msgid "" -"Paypal button payments are not properly configured. Please choose another " -"payment option." +#: ../../Zotlabs/Module/Wiki.php:495 +msgid "A wiki with this name already exists." msgstr "" -#: ../../addon/cart/submodules/paypalbuttonV2.php:86 -msgid "Enable Paypal Button Module (API-v2)" +#: ../../Zotlabs/Module/Wiki.php:508 +msgid "Wiki created, but error creating Home page." msgstr "" -#: ../../addon/cart/submodules/manualcat.php:61 -msgid "Enable Manual Cart Module" +#: ../../Zotlabs/Module/Wiki.php:515 +msgid "Error creating wiki" msgstr "" -#: ../../addon/cart/myshop.php:30 -msgid "Access Denied." +#: ../../Zotlabs/Module/Wiki.php:539 +msgid "Error updating wiki. Invalid name." msgstr "" -#: ../../addon/cart/myshop.php:112 ../../addon/cart/cart.php:1446 -msgid "Order Not Found" +#: ../../Zotlabs/Module/Wiki.php:559 +msgid "Error updating wiki" msgstr "" -#: ../../addon/cart/myshop.php:189 ../../addon/cart/myshop.php:223 -#: ../../addon/cart/myshop.php:271 ../../addon/cart/myshop.php:329 -msgid "Invalid Item" +#: ../../Zotlabs/Module/Wiki.php:574 +msgid "Wiki delete permission denied." msgstr "" -#: ../../addon/cart/Settings/Cart.php:58 -msgid "Enable Test Catalog" +#: ../../Zotlabs/Module/Wiki.php:584 +msgid "Error deleting wiki" msgstr "" -#: ../../addon/cart/Settings/Cart.php:70 -msgid "Enable Manual Payments" +#: ../../Zotlabs/Module/Wiki.php:617 +msgid "New page created" msgstr "" -#: ../../addon/cart/Settings/Cart.php:90 -msgid "Base Merchant Currency" +#: ../../Zotlabs/Module/Wiki.php:739 +msgid "Cannot delete Home" msgstr "" -#: ../../addon/cart/Settings/Cart.php:129 ../../addon/cart/cart.php:1375 -msgid "Cart Settings" +#: ../../Zotlabs/Module/Wiki.php:803 +msgid "Current Revision" msgstr "" -#: ../../addon/cart/cart.php:252 -msgid "DB Cleanup Failure" +#: ../../Zotlabs/Module/Wiki.php:803 +msgid "Selected Revision" msgstr "" -#: ../../addon/cart/cart.php:674 -msgid "[cart] Item Added" +#: ../../Zotlabs/Module/Wiki.php:853 +msgid "You must be authenticated." msgstr "" -#: ../../addon/cart/cart.php:1063 -msgid "Order already checked out." +#: ../../Zotlabs/Module/Blocks.php:97 ../../Zotlabs/Module/Blocks.php:155 +#: ../../Zotlabs/Module/Editblock.php:113 +msgid "Block Name" msgstr "" -#: ../../addon/cart/cart.php:1368 -msgid "Drop database tables when uninstalling." +#: ../../Zotlabs/Module/Blocks.php:154 ../../include/text.php:2698 +msgid "Blocks" msgstr "" -#: ../../addon/cart/cart.php:1387 ../../addon/cart/cart.php:1390 -msgid "Shop" +#: ../../Zotlabs/Module/Blocks.php:156 +msgid "Block Title" msgstr "" -#: ../../addon/cart/cart.php:1410 ../../addon/flashcards/Mod_Flashcards.php:51 -#: ../../Zotlabs/Module/Wiki.php:35 -msgid "Profile Unavailable." +#: ../../Zotlabs/Module/Dircensor.php:42 +msgid "Entry censored" msgstr "" -#: ../../addon/cart/cart.php:1507 -msgid "Cart utilities for orders and payments" +#: ../../Zotlabs/Module/Dircensor.php:45 +msgid "Entry uncensored" msgstr "" -#: ../../addon/cart/cart.php:1545 -msgid "You must be logged into the Grid to shop." +#: ../../Zotlabs/Module/Locs.php:27 ../../Zotlabs/Module/Locs.php:66 +msgid "Location not found." msgstr "" -#: ../../addon/cart/cart.php:1592 -msgid "Access denied." +#: ../../Zotlabs/Module/Locs.php:75 +msgid "Location lookup failed." msgstr "" -#: ../../addon/cart/cart.php:1644 ../../addon/cart/cart.php:1787 -msgid "No Order Found" +#: ../../Zotlabs/Module/Locs.php:79 +msgid "" +"Please select another location to become primary before removing the primary " +"location." msgstr "" -#: ../../addon/cart/cart.php:1653 -msgid "An unknown error has occurred Please start again." +#: ../../Zotlabs/Module/Locs.php:108 +msgid "Syncing locations" msgstr "" -#: ../../addon/cart/cart.php:1796 -msgid "Requirements not met." +#: ../../Zotlabs/Module/Locs.php:117 +msgid "No locations found." msgstr "" -#: ../../addon/cart/cart.php:1796 -msgid "Review your order and complete any needed requirements." +#: ../../Zotlabs/Module/Locs.php:127 +msgid "Manage Channel Locations" msgstr "" -#: ../../addon/cart/cart.php:1822 -msgid "Invalid Payment Type. Please start again." +#: ../../Zotlabs/Module/Locs.php:130 +#: ../../extend/addon/hzaddons/workflow/workflow.php:285 +msgid "Primary" msgstr "" -#: ../../addon/cart/cart.php:1829 -msgid "Order not found" +#: ../../Zotlabs/Module/Locs.php:131 ../../Zotlabs/Module/Menu.php:177 +msgid "Drop" msgstr "" -#: ../../addon/nofed/Mod_Nofed.php:21 -msgid "nofed Settings saved." +#: ../../Zotlabs/Module/Locs.php:133 +msgid "Sync Now" msgstr "" -#: ../../addon/nofed/Mod_Nofed.php:33 -msgid "No Federation App" +#: ../../Zotlabs/Module/Locs.php:134 +msgid "Please wait several minutes between consecutive operations." msgstr "" -#: ../../addon/nofed/Mod_Nofed.php:34 +#: ../../Zotlabs/Module/Locs.php:135 msgid "" -"Prevent posting from being federated to anybody. It will exist only on your " -"channel page." +"When possible, drop a location by logging into that website/hub and removing " +"your channel." msgstr "" -#: ../../addon/nofed/Mod_Nofed.php:42 -msgid "Federate posts by default" +#: ../../Zotlabs/Module/Locs.php:136 +msgid "Use this form to drop the location if the hub is no longer operating." msgstr "" -#: ../../addon/nofed/Mod_Nofed.php:50 -msgid "No Federation" +#: ../../Zotlabs/Module/Chatsvc.php:131 +msgid "Away" msgstr "" -#: ../../addon/nofed/nofed.php:47 -msgid "Federate" +#: ../../Zotlabs/Module/Chatsvc.php:136 +msgid "Online" msgstr "" -#: ../../addon/smileybutton/Mod_Smileybutton.php:35 -msgid "Smileybutton App" +#: ../../Zotlabs/Module/Fbrowser.php:29 ../../Zotlabs/Lib/Apps.php:345 +#: ../../include/features.php:369 ../../include/nav.php:444 +msgid "Photos" msgstr "" -#: ../../addon/smileybutton/Mod_Smileybutton.php:36 -msgid "Adds a smileybutton to the jot editor" +#: ../../Zotlabs/Module/Fbrowser.php:85 ../../Zotlabs/Storage/Browser.php:351 +#: ../../Zotlabs/Lib/Apps.php:340 ../../include/nav.php:452 +msgid "Files" msgstr "" -#: ../../addon/smileybutton/Mod_Smileybutton.php:44 -msgid "Hide the button and show the smilies directly." +#: ../../Zotlabs/Module/Connedit.php:120 +msgid "Could not locate selected profile." msgstr "" -#: ../../addon/smileybutton/Mod_Smileybutton.php:52 -msgid "Smileybutton Settings" +#: ../../Zotlabs/Module/Connedit.php:264 +msgid "Connection updated." msgstr "" -#: ../../addon/redfiles/redfilehelper.php:64 ../../include/attach.php:2035 -msgid "file" +#: ../../Zotlabs/Module/Connedit.php:266 +msgid "Failed to update connection record." msgstr "" -#: ../../addon/redfiles/redfiles.php:119 -msgid "Redmatrix File Storage Import" +#: ../../Zotlabs/Module/Connedit.php:309 +msgid "is now connected to" msgstr "" -#: ../../addon/redfiles/redfiles.php:120 -msgid "This will import all your Redmatrix cloud files to this channel." +#: ../../Zotlabs/Module/Connedit.php:434 +msgid "Could not access address book record." msgstr "" -#: ../../addon/diaspora/diaspora.php:66 -msgid "" -"Please install the statistics addon to be able to configure a diaspora relay" +#: ../../Zotlabs/Module/Connedit.php:482 ../../Zotlabs/Module/Connedit.php:486 +msgid "Refresh failed - channel is currently unavailable." msgstr "" -#: ../../addon/diaspora/diaspora.php:76 -msgid "Diaspora Relay Handle" +#: ../../Zotlabs/Module/Connedit.php:501 ../../Zotlabs/Module/Connedit.php:510 +#: ../../Zotlabs/Module/Connedit.php:519 ../../Zotlabs/Module/Connedit.php:528 +#: ../../Zotlabs/Module/Connedit.php:541 +msgid "Unable to set address book parameters." msgstr "" -#: ../../addon/diaspora/diaspora.php:76 -msgid "Address of a diaspora relay. Example: relay@diasporarelay.tld" +#: ../../Zotlabs/Module/Connedit.php:560 +msgid "Connection has been removed." msgstr "" -#: ../../addon/diaspora/diaspora.php:96 -msgid "Diaspora relay could not be imported" +#: ../../Zotlabs/Module/Connedit.php:600 ../../Zotlabs/Lib/Apps.php:344 +#: ../../include/conversation.php:1080 ../../include/nav.php:112 +#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:57 +msgid "View Profile" msgstr "" -#: ../../addon/diaspora/p.php:48 ../../addon/diaspora/util.php:336 -#: ../../addon/diaspora/util.php:349 ../../Zotlabs/Lib/Enotify.php:61 -msgid "$projectname" +#: ../../Zotlabs/Module/Connedit.php:603 +#, php-format +msgid "View %s's profile" msgstr "" -#: ../../addon/diaspora/import_diaspora.php:19 -msgid "No username found in import file." +#: ../../Zotlabs/Module/Connedit.php:607 +msgid "Refresh Permissions" msgstr "" -#: ../../addon/diaspora/import_diaspora.php:44 ../../include/import.php:76 -msgid "Unable to create a unique channel address. Import failed." +#: ../../Zotlabs/Module/Connedit.php:610 +msgid "Fetch updated permissions" msgstr "" -#: ../../addon/diaspora/import_diaspora.php:142 -#: ../../Zotlabs/Module/Import.php:597 -msgid "Import completed." +#: ../../Zotlabs/Module/Connedit.php:614 +msgid "Refresh Photo" msgstr "" -#: ../../addon/diaspora/Mod_Diaspora.php:43 -msgid "Diaspora Protocol Settings updated." +#: ../../Zotlabs/Module/Connedit.php:617 +msgid "Fetch updated photo" msgstr "" -#: ../../addon/diaspora/Mod_Diaspora.php:52 -msgid "" -"The diaspora protocol does not support location independence. Connections " -"you make within that network may be unreachable from alternate channel " -"locations." +#: ../../Zotlabs/Module/Connedit.php:621 ../../include/conversation.php:1090 +msgid "Recent Activity" msgstr "" -#: ../../addon/diaspora/Mod_Diaspora.php:58 -msgid "Diaspora Protocol App" +#: ../../Zotlabs/Module/Connedit.php:624 +msgid "View recent posts and comments" msgstr "" -#: ../../addon/diaspora/Mod_Diaspora.php:75 -msgid "Allow any Diaspora member to comment on your public posts" +#: ../../Zotlabs/Module/Connedit.php:628 +#: ../../Zotlabs/Module/Admin/Accounts.php:177 +msgid "Unblock" msgstr "" -#: ../../addon/diaspora/Mod_Diaspora.php:79 -msgid "Prevent your hashtags from being redirected to other sites" +#: ../../Zotlabs/Module/Connedit.php:628 +#: ../../Zotlabs/Module/Admin/Accounts.php:176 +msgid "Block" msgstr "" -#: ../../addon/diaspora/Mod_Diaspora.php:83 -msgid "Sign and forward posts and comments with no existing Diaspora signature" +#: ../../Zotlabs/Module/Connedit.php:631 +msgid "Block (or Unblock) all communications with this connection" msgstr "" -#: ../../addon/diaspora/Mod_Diaspora.php:88 -msgid "Followed hashtags (comma separated, do not include the #)" +#: ../../Zotlabs/Module/Connedit.php:632 +msgid "This connection is blocked!" msgstr "" -#: ../../addon/diaspora/Mod_Diaspora.php:97 -msgid "Diaspora Protocol" +#: ../../Zotlabs/Module/Connedit.php:636 +msgid "Unignore" msgstr "" -#: ../../addon/diaspora/Receiver.php:1541 -#, php-format -msgid "%1$s dislikes %2$s's %3$s" +#: ../../Zotlabs/Module/Connedit.php:636 +#: ../../Zotlabs/Module/Connections.php:344 +msgid "Ignore" msgstr "" -#: ../../addon/diaspora/Receiver.php:2184 ../../Zotlabs/Module/Like.php:432 -#, php-format -msgid "%1$s is attending %2$s's %3$s" +#: ../../Zotlabs/Module/Connedit.php:639 +msgid "Ignore (or Unignore) all inbound communications from this connection" msgstr "" -#: ../../addon/diaspora/Receiver.php:2186 ../../Zotlabs/Module/Like.php:434 -#, php-format -msgid "%1$s is not attending %2$s's %3$s" +#: ../../Zotlabs/Module/Connedit.php:640 +msgid "This connection is ignored!" msgstr "" -#: ../../addon/diaspora/Receiver.php:2188 ../../Zotlabs/Module/Like.php:436 -#, php-format -msgid "%1$s may attend %2$s's %3$s" +#: ../../Zotlabs/Module/Connedit.php:644 +msgid "Unarchive" msgstr "" -#: ../../addon/piwik/piwik.php:85 -msgid "" -"This website is tracked using the <a href='http://www.piwik.org'>Piwik</a> " -"analytics tool." +#: ../../Zotlabs/Module/Connedit.php:644 +msgid "Archive" msgstr "" -#: ../../addon/piwik/piwik.php:88 -#, php-format +#: ../../Zotlabs/Module/Connedit.php:647 msgid "" -"If you do not want that your visits are logged this way you <a href='%s'>can " -"set a cookie to prevent Piwik from tracking further visits of the site</a> " -"(opt-out)." +"Archive (or Unarchive) this connection - mark channel dead but keep content" msgstr "" -#: ../../addon/piwik/piwik.php:96 -msgid "Piwik Base URL" +#: ../../Zotlabs/Module/Connedit.php:648 +msgid "This connection is archived!" msgstr "" -#: ../../addon/piwik/piwik.php:96 -msgid "" -"Absolute path to your Piwik installation. (without protocol (http/s), with " -"trailing slash)" +#: ../../Zotlabs/Module/Connedit.php:652 +msgid "Unhide" msgstr "" -#: ../../addon/piwik/piwik.php:97 -msgid "Site ID" +#: ../../Zotlabs/Module/Connedit.php:652 +msgid "Hide" msgstr "" -#: ../../addon/piwik/piwik.php:98 -msgid "Show opt-out cookie link?" +#: ../../Zotlabs/Module/Connedit.php:655 +msgid "Hide or Unhide this connection from your other connections" msgstr "" -#: ../../addon/piwik/piwik.php:99 -msgid "Asynchronous tracking" +#: ../../Zotlabs/Module/Connedit.php:656 +msgid "This connection is hidden!" msgstr "" -#: ../../addon/piwik/piwik.php:100 -msgid "Enable frontend JavaScript error tracking" +#: ../../Zotlabs/Module/Connedit.php:663 +msgid "Delete this connection" msgstr "" -#: ../../addon/piwik/piwik.php:100 -msgid "This feature requires Piwik >= 2.2.0" +#: ../../Zotlabs/Module/Connedit.php:671 +msgid "Fetch Vcard" msgstr "" -#: ../../addon/workflow/workflow.php:222 -msgid "Workflow user." +#: ../../Zotlabs/Module/Connedit.php:674 +msgid "Fetch electronic calling card for this connection" msgstr "" -#: ../../addon/workflow/workflow.php:272 -msgid "This channel" +#: ../../Zotlabs/Module/Connedit.php:685 +msgid "Open Individual Permissions section by default" msgstr "" -#: ../../addon/workflow/workflow.php:285 ../../Zotlabs/Module/Locs.php:123 -msgid "Primary" +#: ../../Zotlabs/Module/Connedit.php:708 +msgid "Affinity" msgstr "" -#: ../../addon/workflow/workflow.php:541 ../../addon/workflow/workflow.php:1437 -#: ../../addon/workflow/workflow.php:1456 -msgid "Workflow" +#: ../../Zotlabs/Module/Connedit.php:711 +msgid "Open Set Affinity section by default" msgstr "" -#: ../../addon/workflow/workflow.php:1425 -msgid "No Workflows Available" +#: ../../Zotlabs/Module/Connedit.php:715 ../../Zotlabs/Widget/Affinity.php:30 +msgid "Me" msgstr "" -#: ../../addon/workflow/workflow.php:1455 -msgid "Add item to which workflow" +#: ../../Zotlabs/Module/Connedit.php:716 ../../Zotlabs/Widget/Affinity.php:31 +msgid "Family" msgstr "" -#: ../../addon/workflow/workflow.php:1515 -#: ../../addon/workflow/workflow.php:1634 -msgid "Create Workflow Item" +#: ../../Zotlabs/Module/Connedit.php:717 +#: ../../Zotlabs/Module/Settings/Channel.php:71 +#: ../../Zotlabs/Module/Settings/Channel.php:75 +#: ../../Zotlabs/Module/Settings/Channel.php:76 +#: ../../Zotlabs/Module/Settings/Channel.php:79 +#: ../../Zotlabs/Module/Settings/Channel.php:90 +#: ../../Zotlabs/Widget/Affinity.php:32 ../../include/channel.php:505 +#: ../../include/channel.php:506 ../../include/channel.php:513 +#: ../../include/selectors.php:134 +msgid "Friends" msgstr "" -#: ../../addon/workflow/workflow.php:2596 -msgid "Link" +#: ../../Zotlabs/Module/Connedit.php:718 ../../Zotlabs/Widget/Affinity.php:33 +msgid "Acquaintances" msgstr "" -#: ../../addon/workflow/workflow.php:2598 -msgid "Web link." +#: ../../Zotlabs/Module/Connedit.php:719 +#: ../../Zotlabs/Module/Connections.php:97 +#: ../../Zotlabs/Module/Connections.php:111 +#: ../../Zotlabs/Widget/Affinity.php:34 +msgid "All" msgstr "" -#: ../../addon/workflow/workflow.php:2617 -#: ../../addon/workflow/workflow.php:2678 ../../Zotlabs/Module/Cdav.php:1370 -#: ../../Zotlabs/Module/Connedit.php:928 -msgid "Title" +#: ../../Zotlabs/Module/Connedit.php:748 +msgid "Filter" msgstr "" -#: ../../addon/workflow/workflow.php:2619 -#: ../../addon/workflow/workflow.php:2680 -msgid "Brief description or title" +#: ../../Zotlabs/Module/Connedit.php:751 +msgid "Open Custom Filter section by default" msgstr "" -#: ../../addon/workflow/workflow.php:2625 ../../Zotlabs/Widget/Notes.php:21 -#: ../../Zotlabs/Lib/Apps.php:370 -msgid "Notes" +#: ../../Zotlabs/Module/Connedit.php:788 +msgid "Approve this connection" msgstr "" -#: ../../addon/workflow/workflow.php:2627 -#: ../../addon/workflow/workflow.php:2688 -msgid "Notes and Info" +#: ../../Zotlabs/Module/Connedit.php:788 +msgid "Accept connection to allow communication" msgstr "" -#: ../../addon/workflow/workflow.php:2686 -msgid "Body" +#: ../../Zotlabs/Module/Connedit.php:793 +msgid "Set Affinity" msgstr "" -#: ../../addon/workflow/Settings/Mod_WorkflowSettings.php:101 -msgid "Workflow Settings" +#: ../../Zotlabs/Module/Connedit.php:796 +msgid "Set Profile" msgstr "" -#: ../../addon/donate/donate.php:21 -msgid "Project Servers and Resources" +#: ../../Zotlabs/Module/Connedit.php:799 +msgid "Set Affinity & Profile" msgstr "" -#: ../../addon/donate/donate.php:22 -msgid "Project Creator and Tech Lead" +#: ../../Zotlabs/Module/Connedit.php:847 +msgid "This connection is unreachable from this location." msgstr "" -#: ../../addon/donate/donate.php:49 -msgid "" -"And the hundreds of other people and organisations who helped make the " -"Hubzilla possible." +#: ../../Zotlabs/Module/Connedit.php:848 +msgid "This connection may be unreachable from other channel locations." msgstr "" -#: ../../addon/donate/donate.php:52 -msgid "" -"The Redmatrix/Hubzilla projects are provided primarily by volunteers giving " -"their time and expertise - and often paying out of pocket for services they " -"share with others." +#: ../../Zotlabs/Module/Connedit.php:850 +msgid "Location independence is not supported by their network." msgstr "" -#: ../../addon/donate/donate.php:53 +#: ../../Zotlabs/Module/Connedit.php:856 msgid "" -"There is no corporate funding and no ads, and we do not collect and sell " -"your personal information. (We don't control your personal information - " -"<strong>you do</strong>.)" +"This connection is unreachable from this location. Location independence is " +"not supported by their network." msgstr "" -#: ../../addon/donate/donate.php:54 -msgid "" -"Help support our ground-breaking work in decentralisation, web identity, and " -"privacy." +#: ../../Zotlabs/Module/Connedit.php:859 ../../include/items.php:4524 +#, php-format +msgid "Connection: %s" msgstr "" -#: ../../addon/donate/donate.php:56 -msgid "" -"Your donations keep servers and services running and also helps us to " -"provide innovative new features and continued development." +#: ../../Zotlabs/Module/Connedit.php:860 +msgid "Connection requests will be approved without your interaction" msgstr "" -#: ../../addon/donate/donate.php:59 -msgid "Donate" +#: ../../Zotlabs/Module/Connedit.php:869 +msgid "This connection's primary address is" msgstr "" -#: ../../addon/donate/donate.php:61 -msgid "" -"Choose a project, developer, or public hub to support with a one-time " -"donation" +#: ../../Zotlabs/Module/Connedit.php:870 +msgid "Available locations:" msgstr "" -#: ../../addon/donate/donate.php:62 -msgid "Donate Now" +#: ../../Zotlabs/Module/Connedit.php:876 +msgid "Connection Tools" msgstr "" -#: ../../addon/donate/donate.php:63 -msgid "" -"<strong><em>Or</em></strong> become a project sponsor (Hubzilla Project only)" +#: ../../Zotlabs/Module/Connedit.php:878 +msgid "Slide to adjust your degree of friendship" msgstr "" -#: ../../addon/donate/donate.php:64 -msgid "" -"Please indicate if you would like your first name or full name (or nothing) " -"to appear in our sponsor listing" +#: ../../Zotlabs/Module/Connedit.php:879 ../../Zotlabs/Module/Rate.php:155 +#: ../../include/js_strings.php:20 +msgid "Rating" msgstr "" -#: ../../addon/donate/donate.php:65 -msgid "Sponsor" +#: ../../Zotlabs/Module/Connedit.php:880 +msgid "Slide to adjust your rating" msgstr "" -#: ../../addon/donate/donate.php:68 -msgid "Special thanks to: " +#: ../../Zotlabs/Module/Connedit.php:881 ../../Zotlabs/Module/Connedit.php:886 +msgid "Optionally explain your rating" msgstr "" -#: ../../addon/likebanner/likebanner.php:51 -msgid "Your Webbie:" +#: ../../Zotlabs/Module/Connedit.php:883 +msgid "Custom Filter" msgstr "" -#: ../../addon/likebanner/likebanner.php:54 -msgid "Fontsize (px):" +#: ../../Zotlabs/Module/Connedit.php:884 +msgid "Only import posts with this text" msgstr "" -#: ../../addon/likebanner/likebanner.php:68 -msgid "Link:" +#: ../../Zotlabs/Module/Connedit.php:884 ../../Zotlabs/Module/Connedit.php:885 +#: ../../Zotlabs/Module/Admin/Site.php:327 +#: ../../Zotlabs/Module/Admin/Site.php:328 +msgid "" +"words one per line or #tags or /patterns/ or lang=xx, leave blank to import " +"all posts" msgstr "" -#: ../../addon/likebanner/likebanner.php:70 -msgid "Like us on Hubzilla" +#: ../../Zotlabs/Module/Connedit.php:885 +msgid "Do not import posts with this text" msgstr "" -#: ../../addon/likebanner/likebanner.php:72 -msgid "Embed:" +#: ../../Zotlabs/Module/Connedit.php:887 +msgid "This information is public!" msgstr "" -#: ../../addon/opensearch/opensearch.php:26 -#, php-format -msgctxt "opensearch" -msgid "Search %1$s (%2$s)" +#: ../../Zotlabs/Module/Connedit.php:892 +msgid "Connection Pending Approval" msgstr "" -#: ../../addon/opensearch/opensearch.php:28 -msgctxt "opensearch" -msgid "$Projectname" +#: ../../Zotlabs/Module/Connedit.php:897 +#, php-format +msgid "" +"Please choose the profile you would like to display to %s when viewing your " +"profile securely." msgstr "" -#: ../../addon/opensearch/opensearch.php:42 ../../Zotlabs/Module/Home.php:72 -#: ../../Zotlabs/Module/Home.php:80 ../../Zotlabs/Lib/Enotify.php:66 -msgid "$Projectname" +#: ../../Zotlabs/Module/Connedit.php:899 ../../Zotlabs/Module/Tokens.php:180 +msgid "Their Settings" msgstr "" -#: ../../addon/opensearch/opensearch.php:43 -msgid "Search $Projectname" +#: ../../Zotlabs/Module/Connedit.php:903 ../../Zotlabs/Module/Tokens.php:187 +#: ../../Zotlabs/Module/Permcats.php:128 +msgid "" +"Some permissions may be inherited from your channel's <a href=\"settings" +"\"><strong>privacy settings</strong></a>, which have higher priority than " +"individual settings. You can <strong>not</strong> change those settings here." msgstr "" -#: ../../addon/fuzzloc/Mod_Fuzzloc.php:22 -msgid "Fuzzloc Settings updated." +#: ../../Zotlabs/Module/Connedit.php:904 +msgid "" +"Some permissions may be inherited from your channel's <a href=\"settings" +"\"><strong>privacy settings</strong></a>, which have higher priority than " +"individual settings. You can change those settings here but they wont have " +"any impact unless the inherited setting changes." msgstr "" -#: ../../addon/fuzzloc/Mod_Fuzzloc.php:34 -msgid "Fuzzy Location App" +#: ../../Zotlabs/Module/Connedit.php:905 +msgid "Last update:" msgstr "" -#: ../../addon/fuzzloc/Mod_Fuzzloc.php:35 -msgid "" -"Blur your precise location if your channel uses browser location mapping" +#: ../../Zotlabs/Module/Connedit.php:913 +msgid "Details" msgstr "" -#: ../../addon/fuzzloc/Mod_Fuzzloc.php:40 -msgid "Minimum offset in meters" +#: ../../Zotlabs/Module/Profile_photo.php:93 +#: ../../Zotlabs/Module/Cover_photo.php:85 +msgid "Image uploaded but image cropping failed." msgstr "" -#: ../../addon/fuzzloc/Mod_Fuzzloc.php:44 -msgid "Maximum offset in meters" +#: ../../Zotlabs/Module/Profile_photo.php:147 +#: ../../Zotlabs/Module/Profile_photo.php:284 +#: ../../include/photo/photo_driver.php:417 +msgid "Profile Photos" msgstr "" -#: ../../addon/fuzzloc/Mod_Fuzzloc.php:53 -msgid "Fuzzy Location" +#: ../../Zotlabs/Module/Profile_photo.php:166 +#: ../../Zotlabs/Module/Cover_photo.php:212 +msgid "Image resize failed." msgstr "" -#: ../../addon/hubwall/hubwall.php:19 -msgid "Send email to all members" +#: ../../Zotlabs/Module/Profile_photo.php:254 +#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:298 +msgid "" +"Shift-reload the page or clear browser cache if the new photo does not " +"display immediately." msgstr "" -#: ../../addon/hubwall/hubwall.php:33 ../../Zotlabs/Lib/Enotify.php:65 -#, php-format -msgid "%s Administrator" +#: ../../Zotlabs/Module/Profile_photo.php:261 +#: ../../Zotlabs/Module/Cover_photo.php:241 ../../include/photos.php:196 +msgid "Unable to process image" msgstr "" -#: ../../addon/hubwall/hubwall.php:50 ../../addon/mailtest/mailtest.php:50 -msgid "No recipients found." +#: ../../Zotlabs/Module/Profile_photo.php:296 +#: ../../Zotlabs/Module/Cover_photo.php:265 +msgid "Image upload failed." msgstr "" -#: ../../addon/hubwall/hubwall.php:73 -#, php-format -msgid "%1$d of %2$d messages sent." +#: ../../Zotlabs/Module/Profile_photo.php:315 +#: ../../Zotlabs/Module/Cover_photo.php:282 +msgid "Unable to process image." msgstr "" -#: ../../addon/hubwall/hubwall.php:81 -msgid "Send email to all hub members." +#: ../../Zotlabs/Module/Profile_photo.php:379 +#: ../../Zotlabs/Module/Profile_photo.php:431 +#: ../../Zotlabs/Module/Cover_photo.php:367 +#: ../../Zotlabs/Module/Cover_photo.php:382 +msgid "Photo not available." msgstr "" -#: ../../addon/hubwall/hubwall.php:92 ../../addon/mailtest/mailtest.php:96 -msgid "Message subject" +#: ../../Zotlabs/Module/Profile_photo.php:495 +msgid "" +"Your default profile photo is visible to anybody on the internet. Profile " +"photos for alternate profiles will inherit the permissions of the profile" msgstr "" -#: ../../addon/hubwall/hubwall.php:93 -msgid "Sender Email address" +#: ../../Zotlabs/Module/Profile_photo.php:495 +msgid "" +"Your profile photo is visible to anybody on the internet and may be " +"distributed to other websites." msgstr "" -#: ../../addon/hubwall/hubwall.php:94 -msgid "Test mode (only send to hub administrator)" +#: ../../Zotlabs/Module/Profile_photo.php:497 +#: ../../Zotlabs/Module/Cover_photo.php:420 +msgid "Upload File:" msgstr "" -#: ../../addon/notifyadmin/notifyadmin.php:34 -msgid "New registration" +#: ../../Zotlabs/Module/Profile_photo.php:498 +#: ../../Zotlabs/Module/Cover_photo.php:421 +msgid "Select a profile:" msgstr "" -#: ../../addon/notifyadmin/notifyadmin.php:40 -#: ../../Zotlabs/Module/Invite.php:90 -#, php-format -msgid "%s : Message delivery failed." +#: ../../Zotlabs/Module/Profile_photo.php:499 +msgid "Use Photo for Profile" msgstr "" -#: ../../addon/notifyadmin/notifyadmin.php:42 -#, php-format -msgid "Message sent to %s. New account registration: %s" +#: ../../Zotlabs/Module/Profile_photo.php:499 +msgid "Change Profile Photo" msgstr "" -#: ../../addon/flashcards/Mod_Flashcards.php:218 -msgid "Not allowed." +#: ../../Zotlabs/Module/Profile_photo.php:500 +msgid "Use" msgstr "" -#: ../../addon/flashcards/Mod_Flashcards.php:254 -#: ../../include/acl_selectors.php:144 ../../Zotlabs/Module/Chat.php:241 -#: ../../Zotlabs/Module/Filestorage.php:190 ../../Zotlabs/Module/Photos.php:677 -#: ../../Zotlabs/Module/Photos.php:1046 ../../Zotlabs/Module/Thing.php:321 -#: ../../Zotlabs/Module/Thing.php:374 ../../Zotlabs/Module/Connedit.php:693 -msgid "Permissions" +#: ../../Zotlabs/Module/Profile_photo.php:500 +#: ../../Zotlabs/Module/Photos.php:688 ../../Zotlabs/Module/Cover_photo.php:423 +#: ../../Zotlabs/Module/Embedphotos.php:188 +#: ../../Zotlabs/Storage/Browser.php:540 ../../Zotlabs/Widget/Cdav.php:146 +#: ../../Zotlabs/Widget/Cdav.php:182 ../../Zotlabs/Widget/Portfolio.php:110 +#: ../../Zotlabs/Widget/Album.php:97 +msgid "Upload" msgstr "" -#: ../../addon/flashcards/Mod_Flashcards.php:261 -#: ../../Zotlabs/Module/Filestorage.php:197 -msgid "Set/edit permissions" +#: ../../Zotlabs/Module/Profile_photo.php:501 +#: ../../Zotlabs/Module/Photos.php:996 ../../Zotlabs/Module/Tagrm.php:137 +#: ../../Zotlabs/Module/Admin/Addons.php:459 +#: ../../Zotlabs/Module/Cover_photo.php:424 +#: ../../extend/addon/hzaddons/superblock/Mod_Superblock.php:91 +msgid "Remove" msgstr "" -#: ../../addon/flashcards/Mod_Flashcards.php:284 -#: ../../addon/flashcards/Mod_Flashcards.php:285 ../../include/items.php:3889 -#: ../../Zotlabs/Module/Filestorage.php:26 -#: ../../Zotlabs/Module/Admin/Themes.php:72 -#: ../../Zotlabs/Module/Admin/Addons.php:260 -#: ../../Zotlabs/Module/Viewsrc.php:25 ../../Zotlabs/Module/Display.php:45 -#: ../../Zotlabs/Module/Display.php:446 ../../Zotlabs/Module/Admin.php:62 -#: ../../Zotlabs/Module/Thing.php:96 -msgid "Item not found." +#: ../../Zotlabs/Module/Profile_photo.php:505 +#: ../../Zotlabs/Module/Profile_photo.php:506 +#: ../../Zotlabs/Module/Cover_photo.php:426 +#: ../../Zotlabs/Module/Cover_photo.php:427 +msgid "Use a photo from your albums" msgstr "" -#: ../../addon/libertree/libertree.php:43 -msgid "Post to Libertree" +#: ../../Zotlabs/Module/Profile_photo.php:516 +#: ../../Zotlabs/Module/Cover_photo.php:438 +msgid "Select existing photo" msgstr "" -#: ../../addon/libertree/Mod_Libertree.php:25 -msgid "Libertree Crosspost Connector Settings saved." +#: ../../Zotlabs/Module/Profile_photo.php:535 +#: ../../Zotlabs/Module/Cover_photo.php:455 +msgid "Crop Image" msgstr "" -#: ../../addon/libertree/Mod_Libertree.php:35 -msgid "Libertree Crosspost Connector App" +#: ../../Zotlabs/Module/Profile_photo.php:536 +#: ../../Zotlabs/Module/Cover_photo.php:456 +msgid "Please adjust the image cropping for optimum viewing." msgstr "" -#: ../../addon/libertree/Mod_Libertree.php:36 -msgid "Relay public posts to Libertree" +#: ../../Zotlabs/Module/Profile_photo.php:538 +#: ../../Zotlabs/Module/Cover_photo.php:458 +msgid "Done Editing" msgstr "" -#: ../../addon/libertree/Mod_Libertree.php:51 -msgid "Libertree API token" +#: ../../Zotlabs/Module/Sharedwithme.php:105 +msgid "Files: shared with me" msgstr "" -#: ../../addon/libertree/Mod_Libertree.php:55 -msgid "Libertree site URL" +#: ../../Zotlabs/Module/Sharedwithme.php:107 +msgid "NEW" msgstr "" -#: ../../addon/libertree/Mod_Libertree.php:59 -msgid "Post to Libertree by default" +#: ../../Zotlabs/Module/Sharedwithme.php:108 +#: ../../Zotlabs/Storage/Browser.php:379 ../../include/text.php:1562 +msgid "Size" msgstr "" -#: ../../addon/libertree/Mod_Libertree.php:67 -msgid "Libertree Crosspost Connector" +#: ../../Zotlabs/Module/Sharedwithme.php:109 +#: ../../Zotlabs/Storage/Browser.php:380 +msgid "Last Modified" msgstr "" -#: ../../addon/randpost/randpost.php:97 -msgid "You're welcome." +#: ../../Zotlabs/Module/Sharedwithme.php:110 +msgid "Remove all files" msgstr "" -#: ../../addon/randpost/randpost.php:98 -msgid "Ah shucks..." +#: ../../Zotlabs/Module/Sharedwithme.php:111 +msgid "Remove this file" msgstr "" -#: ../../addon/randpost/randpost.php:99 -msgid "Don't mention it." +#: ../../Zotlabs/Module/Editlayout.php:137 +msgid "Edit Layout" msgstr "" -#: ../../addon/randpost/randpost.php:100 -msgid "<blush>" +#: ../../Zotlabs/Module/Manage.php:145 +msgid "Create a new channel" msgstr "" -#: ../../addon/buglink/buglink.php:16 ../../Zotlabs/Lib/Apps.php:328 -msgid "Report Bug" +#: ../../Zotlabs/Module/Manage.php:170 ../../Zotlabs/Lib/Apps.php:337 +#: ../../include/nav.php:98 +msgid "Channel Manager" msgstr "" -#: ../../addon/totp/Mod_Totp.php:23 -msgid "TOTP Two-Step Verification" +#: ../../Zotlabs/Module/Manage.php:171 +msgid "Current Channel" msgstr "" -#: ../../addon/totp/Mod_Totp.php:24 -msgid "Enter the 2-step verification generated by your authenticator app:" +#: ../../Zotlabs/Module/Manage.php:173 +msgid "Switch to one of your channels by selecting it." msgstr "" -#: ../../addon/totp/Mod_Totp.php:25 -msgid "Success!" +#: ../../Zotlabs/Module/Manage.php:174 +msgid "Default Channel" msgstr "" -#: ../../addon/totp/Mod_Totp.php:26 -msgid "Invalid code, please try again." +#: ../../Zotlabs/Module/Manage.php:175 +msgid "Make Default" msgstr "" -#: ../../addon/totp/Mod_Totp.php:27 -msgid "Too many invalid codes..." +#: ../../Zotlabs/Module/Manage.php:178 +#, php-format +msgid "%d new messages" msgstr "" -#: ../../addon/totp/Mod_Totp.php:28 -msgid "Verify" +#: ../../Zotlabs/Module/Manage.php:179 +#, php-format +msgid "%d new introductions" msgstr "" -#: ../../addon/totp/Settings/Totp.php:90 -msgid "" -"You haven't set a TOTP secret yet.\n" -"Please click the button below to generate one and register this site\n" -"with your preferred authenticator app." +#: ../../Zotlabs/Module/Manage.php:181 +msgid "Delegated Channel" msgstr "" -#: ../../addon/totp/Settings/Totp.php:93 -msgid "Your TOTP secret is" +#: ../../Zotlabs/Module/Follow.php:93 +msgid "Connection added." msgstr "" -#: ../../addon/totp/Settings/Totp.php:94 -msgid "" -"Be sure to save it somewhere in case you lose or replace your mobile " -"device.\n" -"Use your mobile device to scan the QR code below to register this site\n" -"with your preferred authenticator app." +#: ../../Zotlabs/Module/Item.php:450 ../../Zotlabs/Module/Pin.php:35 +msgid "Unable to locate original post." msgstr "" -#: ../../addon/totp/Settings/Totp.php:99 -msgid "Test" +#: ../../Zotlabs/Module/Item.php:736 +msgid "Empty post discarded." msgstr "" -#: ../../addon/totp/Settings/Totp.php:100 -msgid "Generate New Secret" +#: ../../Zotlabs/Module/Item.php:1187 +msgid "Duplicate post suppressed." msgstr "" -#: ../../addon/totp/Settings/Totp.php:101 -msgid "Go" +#: ../../Zotlabs/Module/Item.php:1332 +msgid "System error. Post not saved." msgstr "" -#: ../../addon/totp/Settings/Totp.php:102 -msgid "Enter your password" +#: ../../Zotlabs/Module/Item.php:1366 +msgid "Your comment is awaiting approval." msgstr "" -#: ../../addon/totp/Settings/Totp.php:103 -msgid "enter TOTP code from your device" +#: ../../Zotlabs/Module/Item.php:1496 +msgid "Unable to obtain post information from database." msgstr "" -#: ../../addon/totp/Settings/Totp.php:104 -msgid "Pass!" +#: ../../Zotlabs/Module/Item.php:1503 +#, php-format +msgid "You have reached your limit of %1$.0f top level posts." msgstr "" -#: ../../addon/totp/Settings/Totp.php:105 -msgid "Fail" +#: ../../Zotlabs/Module/Item.php:1510 +#, php-format +msgid "You have reached your limit of %1$.0f webpages." msgstr "" -#: ../../addon/totp/Settings/Totp.php:106 -msgid "Incorrect password, try again." +#: ../../Zotlabs/Module/Rate.php:156 +msgid "Website:" msgstr "" -#: ../../addon/totp/Settings/Totp.php:107 -msgid "Record your new TOTP secret and rescan the QR code above." +#: ../../Zotlabs/Module/Rate.php:159 +#, php-format +msgid "Remote Channel [%s] (not yet known on this site)" msgstr "" -#: ../../addon/totp/Settings/Totp.php:115 -msgid "TOTP Settings" +#: ../../Zotlabs/Module/Rate.php:160 +msgid "Rating (this information is public)" msgstr "" -#: ../../addon/logrot/logrot.php:36 -msgid "Logfile archive directory" +#: ../../Zotlabs/Module/Rate.php:161 +msgid "Optionally explain your rating (this information is public)" msgstr "" -#: ../../addon/logrot/logrot.php:36 -msgid "Directory to store rotated logs" +#: ../../Zotlabs/Module/Page.php:39 ../../Zotlabs/Module/Block.php:29 +msgid "Invalid item." msgstr "" -#: ../../addon/logrot/logrot.php:37 -msgid "Logfile size in bytes before rotating" +#: ../../Zotlabs/Module/Page.php:136 ../../Zotlabs/Module/Display.php:136 +#: ../../Zotlabs/Module/Display.php:153 ../../Zotlabs/Module/Display.php:173 +#: ../../Zotlabs/Module/Display.php:179 ../../Zotlabs/Module/Block.php:77 +#: ../../Zotlabs/Web/Router.php:185 ../../Zotlabs/Lib/NativeWikiPage.php:521 +#: ../../include/help.php:132 +msgid "Page not found." msgstr "" -#: ../../addon/logrot/logrot.php:38 -msgid "Number of logfiles to retain" +#: ../../Zotlabs/Module/Page.php:173 +msgid "" +"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod " +"tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, " +"quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo " +"consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse " +"cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat " +"non proident, sunt in culpa qui officia deserunt mollit anim id est laborum." msgstr "" -#: ../../addon/testdrive/testdrive.php:104 -#, php-format -msgid "Your account on %s will expire in a few days." +#: ../../Zotlabs/Module/Xchan.php:10 +msgid "Xchan Lookup" msgstr "" -#: ../../addon/testdrive/testdrive.php:105 -msgid "Your $Productname test account is about to expire." +#: ../../Zotlabs/Module/Xchan.php:13 +msgid "Lookup xchan beginning with (or webbie): " msgstr "" -#: ../../addon/hideaside/Mod_Hideaside.php:23 -#: ../../addon/hideaside/Mod_Hideaside.php:27 -msgid "Hide Aside App" +#: ../../Zotlabs/Module/Xchan.php:41 ../../Zotlabs/Module/Mitem.php:134 +#: ../../Zotlabs/Module/Menu.php:232 +msgid "Not found." msgstr "" -#: ../../addon/hideaside/Mod_Hideaside.php:24 -#: ../../addon/hideaside/Mod_Hideaside.php:28 -msgid "Fade out aside areas after a while when using endless scroll" +#: ../../Zotlabs/Module/Achievements.php:38 +msgid "Some blurb about what to do when you're new here" msgstr "" -#: ../../addon/skeleton/Mod_Skeleton.php:32 -msgid "Skeleton App" +#: ../../Zotlabs/Module/Subthread.php:143 +#, php-format +msgid "%1$s is following %2$s's %3$s" msgstr "" -#: ../../addon/skeleton/Mod_Skeleton.php:33 -msgid "A skeleton for addons, you can copy/paste" +#: ../../Zotlabs/Module/Subthread.php:145 +#, php-format +msgid "%1$s stopped following %2$s's %3$s" msgstr "" -#: ../../addon/skeleton/Mod_Skeleton.php:40 -msgid "Some setting" +#: ../../Zotlabs/Module/Regmod.php:15 +msgid "Please login." msgstr "" -#: ../../addon/skeleton/Mod_Skeleton.php:40 -msgid "A setting" +#: ../../Zotlabs/Module/Editblock.php:138 +msgid "Edit Block" msgstr "" -#: ../../addon/skeleton/Mod_Skeleton.php:48 -msgid "Skeleton Settings" +#: ../../Zotlabs/Module/Impel.php:43 ../../include/bbcode.php:316 +msgid "webpage" msgstr "" -#: ../../addon/socialauth/Mod_SocialAuth.php:104 -#: ../../addon/socialauth/Mod_SocialAuth.php:176 -msgid "Network error" +#: ../../Zotlabs/Module/Impel.php:48 ../../include/bbcode.php:322 +msgid "block" msgstr "" -#: ../../addon/socialauth/Mod_SocialAuth.php:108 -#: ../../addon/socialauth/Mod_SocialAuth.php:180 -msgid "API error" +#: ../../Zotlabs/Module/Impel.php:53 ../../include/bbcode.php:319 +msgid "layout" msgstr "" -#: ../../addon/socialauth/Mod_SocialAuth.php:112 -#: ../../addon/socialauth/Mod_SocialAuth.php:184 -msgid "Unknown issue" +#: ../../Zotlabs/Module/Impel.php:60 ../../include/bbcode.php:325 +msgid "menu" msgstr "" -#: ../../addon/socialauth/Mod_SocialAuth.php:168 -msgid "Unable to login using email address " +#: ../../Zotlabs/Module/Impel.php:185 +#, php-format +msgid "%s element installed" msgstr "" -#: ../../addon/socialauth/Mod_SocialAuth.php:202 -msgid "Sign in to Hubzilla using a social account" +#: ../../Zotlabs/Module/Impel.php:188 +#, php-format +msgid "%s element installation failed" msgstr "" -#: ../../addon/socialauth/Mod_SocialAuth.php:207 -msgid "Social Authentication using your social media account" +#: ../../Zotlabs/Module/Pubsites.php:25 ../../Zotlabs/Widget/Pubsites.php:12 +msgid "Public Hubs" msgstr "" -#: ../../addon/socialauth/Mod_SocialAuth.php:211 +#: ../../Zotlabs/Module/Pubsites.php:28 msgid "" -"This app enables one or more social provider sign-in buttons on the login " -"page." +"The listed hubs allow public registration for the $Projectname network. All " +"hubs in the network are interlinked so membership on any of them conveys " +"membership in the network as a whole. Some hubs may require subscription or " +"provide tiered service plans. The hub itself <strong>may</strong> provide " +"additional details." msgstr "" -#: ../../addon/socialauth/Mod_SocialAuth.php:229 -msgid "Add an identity provider" +#: ../../Zotlabs/Module/Pubsites.php:34 +msgid "Hub URL" msgstr "" -#: ../../addon/socialauth/Mod_SocialAuth.php:256 -msgid "Enable " +#: ../../Zotlabs/Module/Pubsites.php:34 +msgid "Access Type" msgstr "" -#: ../../addon/socialauth/Mod_SocialAuth.php:263 -msgid "Key" +#: ../../Zotlabs/Module/Pubsites.php:34 +msgid "Registration Policy" msgstr "" -#: ../../addon/socialauth/Mod_SocialAuth.php:263 -#: ../../addon/socialauth/Mod_SocialAuth.php:268 -#: ../../addon/socialauth/Mod_SocialAuth.php:284 -#: ../../addon/socialauth/Mod_SocialAuth.php:297 -msgid "Word" +#: ../../Zotlabs/Module/Pubsites.php:34 +msgid "Stats" msgstr "" -#: ../../addon/socialauth/Mod_SocialAuth.php:268 -msgid "Secret" +#: ../../Zotlabs/Module/Pubsites.php:34 +msgid "Software" msgstr "" -#: ../../addon/socialauth/Mod_SocialAuth.php:297 -msgid "Add a custom provider" +#: ../../Zotlabs/Module/Pubsites.php:36 ../../Zotlabs/Module/Ratings.php:97 +#: ../../include/conversation.php:1130 +msgid "Ratings" msgstr "" -#: ../../addon/socialauth/Mod_SocialAuth.php:317 -msgid "Remove an identity provider" +#: ../../Zotlabs/Module/Pubsites.php:50 +msgid "Rate" msgstr "" -#: ../../addon/socialauth/Mod_SocialAuth.php:327 -msgid "Social authentication" +#: ../../Zotlabs/Module/Chat.php:29 ../../Zotlabs/Module/Channel.php:42 +#: ../../Zotlabs/Module/Ochannel.php:32 +msgid "You must be logged in to see this page." msgstr "" -#: ../../addon/socialauth/Mod_SocialAuth.php:366 -msgid "Error while saving provider settings" +#: ../../Zotlabs/Module/Chat.php:100 +msgid "Chatrooms App" msgstr "" -#: ../../addon/socialauth/Mod_SocialAuth.php:382 -msgid "Custom provider already exists" +#: ../../Zotlabs/Module/Chat.php:101 +msgid "Access Controlled Chatrooms" msgstr "" -#: ../../addon/socialauth/Mod_SocialAuth.php:399 -msgid "Social authentication settings saved." +#: ../../Zotlabs/Module/Chat.php:194 +msgid "Room not found" msgstr "" -#: ../../addon/nsfw/nsfw.php:152 -msgid "Possible adult content" +#: ../../Zotlabs/Module/Chat.php:210 +msgid "Leave Room" msgstr "" -#: ../../addon/nsfw/nsfw.php:167 -#, php-format -msgid "%s - view" +#: ../../Zotlabs/Module/Chat.php:211 +msgid "Delete Room" msgstr "" -#: ../../addon/nsfw/Mod_Nsfw.php:22 -msgid "NSFW Settings saved." +#: ../../Zotlabs/Module/Chat.php:212 +msgid "I am away right now" msgstr "" -#: ../../addon/nsfw/Mod_Nsfw.php:33 -msgid "NSFW App" +#: ../../Zotlabs/Module/Chat.php:213 +msgid "I am online" msgstr "" -#: ../../addon/nsfw/Mod_Nsfw.php:34 -msgid "Collapse content that contains predefined words" +#: ../../Zotlabs/Module/Chat.php:215 +msgid "Bookmark this room" msgstr "" -#: ../../addon/nsfw/Mod_Nsfw.php:44 -msgid "" -"This app looks in posts for the words/text you specify below, and collapses " -"any content containing those keywords so it is not displayed at " -"inappropriate times, such as sexual innuendo that may be improper in a work " -"setting. It is polite and recommended to tag any content containing nudity " -"with #NSFW. This filter can also match any other word/text you specify, and " -"can thereby be used as a general purpose content filter." +#: ../../Zotlabs/Module/Chat.php:218 ../../include/conversation.php:1380 +#: ../../extend/addon/hzaddons/hsse/hsse.php:134 +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:119 +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:240 +msgid "Please enter a link URL:" msgstr "" -#: ../../addon/nsfw/Mod_Nsfw.php:49 -msgid "Comma separated list of keywords to hide" +#: ../../Zotlabs/Module/Chat.php:219 ../../Zotlabs/Lib/ThreadItem.php:839 +#: ../../include/conversation.php:1508 +#: ../../extend/addon/hzaddons/hsse/hsse.php:255 +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:172 +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:315 +msgid "Encrypt text" msgstr "" -#: ../../addon/nsfw/Mod_Nsfw.php:49 -msgid "Word, /regular-expression/, lang=xx, lang!=xx" +#: ../../Zotlabs/Module/Chat.php:238 +msgid "New Chatroom" msgstr "" -#: ../../addon/nsfw/Mod_Nsfw.php:58 -msgid "NSFW" +#: ../../Zotlabs/Module/Chat.php:239 +msgid "Chatroom name" msgstr "" -#: ../../addon/upload_limits/upload_limits.php:25 -msgid "Show Upload Limits" +#: ../../Zotlabs/Module/Chat.php:240 +msgid "Expiration of chats (minutes)" msgstr "" -#: ../../addon/upload_limits/upload_limits.php:27 -msgid "Hubzilla configured maximum size: " +#: ../../Zotlabs/Module/Chat.php:256 +#, php-format +msgid "%1$s's Chatrooms" msgstr "" -#: ../../addon/upload_limits/upload_limits.php:28 -msgid "PHP upload_max_filesize: " +#: ../../Zotlabs/Module/Chat.php:261 +msgid "No chatrooms available" msgstr "" -#: ../../addon/upload_limits/upload_limits.php:29 -msgid "PHP post_max_size (must be larger than upload_max_filesize): " +#: ../../Zotlabs/Module/Chat.php:265 +msgid "Expiration" msgstr "" -#: ../../addon/tictac/tictac.php:21 -msgid "Three Dimensional Tic-Tac-Toe" +#: ../../Zotlabs/Module/Chat.php:266 +msgid "min" msgstr "" -#: ../../addon/tictac/tictac.php:54 -msgid "3D Tic-Tac-Toe" +#: ../../Zotlabs/Module/Uexport.php:61 +msgid "Channel Export App" msgstr "" -#: ../../addon/tictac/tictac.php:59 -msgid "New game" +#: ../../Zotlabs/Module/Uexport.php:62 +msgid "Export your channel" msgstr "" -#: ../../addon/tictac/tictac.php:60 -msgid "New game with handicap" +#: ../../Zotlabs/Module/Uexport.php:72 ../../Zotlabs/Module/Uexport.php:73 +msgid "Export Channel" msgstr "" -#: ../../addon/tictac/tictac.php:61 +#: ../../Zotlabs/Module/Uexport.php:74 msgid "" -"Three dimensional tic-tac-toe is just like the traditional game except that " -"it is played on multiple levels simultaneously. " +"Export your basic channel information to a file. This acts as a backup of " +"your connections, permissions, profile and basic data, which can be used to " +"import your data to a new server hub, but does not contain your content." msgstr "" -#: ../../addon/tictac/tictac.php:62 +#: ../../Zotlabs/Module/Uexport.php:75 +msgid "Export Content" +msgstr "" + +#: ../../Zotlabs/Module/Uexport.php:76 msgid "" -"In this case there are three levels. You win by getting three in a row on " -"any level, as well as up, down, and diagonally across the different levels." +"Export your channel information and recent content to a JSON backup that can " +"be restored or imported to another server hub. This backs up all of your " +"connections, permissions, profile data and several months of posts. This " +"file may be VERY large. Please be patient - it may take several minutes for " +"this download to begin." +msgstr "" + +#: ../../Zotlabs/Module/Uexport.php:78 +msgid "Export your posts from a given year." msgstr "" -#: ../../addon/tictac/tictac.php:64 +#: ../../Zotlabs/Module/Uexport.php:80 msgid "" -"The handicap game disables the center position on the middle level because " -"the player claiming this square often has an unfair advantage." +"You may also export your posts and conversations for a particular year or " +"month. Adjust the date in your browser location bar to select other dates. " +"If the export fails (possibly due to memory exhaustion on your server hub), " +"please try again selecting a more limited date range." msgstr "" -#: ../../addon/tictac/tictac.php:183 -msgid "You go first..." +#: ../../Zotlabs/Module/Uexport.php:81 +#, php-format +msgid "" +"To select all posts for a given year, such as this year, visit <a href=\"%1$s" +"\">%2$s</a>" msgstr "" -#: ../../addon/tictac/tictac.php:188 -msgid "I'm going first this time..." +#: ../../Zotlabs/Module/Uexport.php:82 +#, php-format +msgid "" +"To select all posts for a given month, such as January of this year, visit " +"<a href=\"%1$s\">%2$s</a>" msgstr "" -#: ../../addon/tictac/tictac.php:194 -msgid "You won!" +#: ../../Zotlabs/Module/Uexport.php:83 +#, php-format +msgid "" +"These content files may be imported or restored by visiting <a href=\"%1$s\">" +"%2$s</a> on any site containing your channel. For best results please import " +"or restore these in date order (oldest first)." msgstr "" -#: ../../addon/tictac/tictac.php:200 ../../addon/tictac/tictac.php:225 -msgid "\"Cat\" game!" +#: ../../Zotlabs/Module/Lostpass.php:19 +msgid "No valid account found." msgstr "" -#: ../../addon/tictac/tictac.php:223 -msgid "I won!" +#: ../../Zotlabs/Module/Lostpass.php:33 +msgid "Password reset request issued. Check your email." msgstr "" -#: ../../addon/gnusoc/gnusoc.php:451 -msgid "Follow" +#: ../../Zotlabs/Module/Lostpass.php:39 ../../Zotlabs/Module/Lostpass.php:108 +#, php-format +msgid "Site Member (%s)" msgstr "" -#: ../../addon/gnusoc/gnusoc.php:454 +#: ../../Zotlabs/Module/Lostpass.php:44 ../../Zotlabs/Module/Lostpass.php:49 #, php-format -msgid "%1$s is now following %2$s" +msgid "Password reset requested at %s" msgstr "" -#: ../../addon/gnusoc/Mod_Gnusoc.php:16 +#: ../../Zotlabs/Module/Lostpass.php:68 msgid "" -"The GNU-Social protocol does not support location independence. Connections " -"you make within that network may be unreachable from alternate channel " -"locations." +"Request could not be verified. (You may have previously submitted it.) " +"Password reset failed." msgstr "" -#: ../../addon/gnusoc/Mod_Gnusoc.php:22 -msgid "GNU-Social Protocol App" +#: ../../Zotlabs/Module/Lostpass.php:91 ../../boot.php:1714 +msgid "Password Reset" msgstr "" -#: ../../addon/gnusoc/Mod_Gnusoc.php:34 -msgid "GNU-Social Protocol" +#: ../../Zotlabs/Module/Lostpass.php:92 +msgid "Your password has been reset as requested." msgstr "" -#: ../../addon/mailtest/mailtest.php:19 -msgid "Send test email" +#: ../../Zotlabs/Module/Lostpass.php:93 +msgid "Your new password is" msgstr "" -#: ../../addon/mailtest/mailtest.php:66 -msgid "Mail sent." +#: ../../Zotlabs/Module/Lostpass.php:94 +msgid "Save or copy your new password - and then" msgstr "" -#: ../../addon/mailtest/mailtest.php:68 -msgid "Sending of mail failed." +#: ../../Zotlabs/Module/Lostpass.php:95 +msgid "click here to login" msgstr "" -#: ../../addon/mailtest/mailtest.php:77 -msgid "Mail Test" +#: ../../Zotlabs/Module/Lostpass.php:96 +msgid "" +"Your password may be changed from the <em>Settings</em> page after " +"successful login." msgstr "" -#: ../../addon/ljpost/Mod_Ljpost.php:38 -msgid "Livejournal Crosspost Connector App" +#: ../../Zotlabs/Module/Lostpass.php:117 +#, php-format +msgid "Your password has changed at %s" msgstr "" -#: ../../addon/ljpost/Mod_Ljpost.php:39 -msgid "Relay public posts to Livejournal" +#: ../../Zotlabs/Module/Lostpass.php:130 +msgid "Forgot your Password?" msgstr "" -#: ../../addon/ljpost/Mod_Ljpost.php:55 -msgid "Livejournal username" +#: ../../Zotlabs/Module/Lostpass.php:131 +msgid "" +"Enter your email address and submit to have your password reset. Then check " +"your email for further instructions." msgstr "" -#: ../../addon/ljpost/Mod_Ljpost.php:59 -msgid "Livejournal password" +#: ../../Zotlabs/Module/Lostpass.php:132 +msgid "Email Address" msgstr "" -#: ../../addon/ljpost/Mod_Ljpost.php:63 -msgid "Post to Livejournal by default" +#: ../../Zotlabs/Module/Vote.php:40 +msgid "Poll not found." msgstr "" -#: ../../addon/ljpost/Mod_Ljpost.php:67 -msgid "Send wall-to-wall posts to Livejournal" +#: ../../Zotlabs/Module/Vote.php:71 +msgid "Invalid response." msgstr "" -#: ../../addon/ljpost/Mod_Ljpost.php:79 -msgid "Livejournal Crosspost Connector" +#: ../../Zotlabs/Module/Vote.php:132 +msgid "Response submitted. Updates may not appear instantly." msgstr "" -#: ../../addon/ljpost/ljpost.php:49 -msgid "Post to Livejournal" +#: ../../Zotlabs/Module/Ping.php:337 ../../Zotlabs/Lib/Enotify.php:948 +msgid "sent you a private message" msgstr "" -#: ../../addon/ljpost/ljpost.php:127 -msgid "Posted by" +#: ../../Zotlabs/Module/Ping.php:393 ../../Zotlabs/Lib/Enotify.php:914 +msgid "added your channel" msgstr "" -#: ../../addon/mdpost/mdpost.php:41 ../../include/text.php:2116 -#: ../../Zotlabs/Widget/Wiki_pages.php:38 -#: ../../Zotlabs/Widget/Wiki_pages.php:95 ../../Zotlabs/Module/Wiki.php:217 -#: ../../Zotlabs/Module/Wiki.php:371 -msgid "Markdown" +#: ../../Zotlabs/Module/Ping.php:418 ../../Zotlabs/Lib/Enotify.php:986 +msgid "requires approval" msgstr "" -#: ../../addon/mdpost/mdpost.php:42 -msgid "Use markdown for editing posts" +#: ../../Zotlabs/Module/Ping.php:428 ../../Zotlabs/Lib/Enotify.php:957 +msgid "g A l F d" msgstr "" -#: ../../addon/hzfiles/hzfiles.php:81 -msgid "Hubzilla File Storage Import" +#: ../../Zotlabs/Module/Ping.php:446 ../../Zotlabs/Lib/Enotify.php:960 +msgid "[today]" msgstr "" -#: ../../addon/hzfiles/hzfiles.php:82 -msgid "This will import all your cloud files from another server." +#: ../../Zotlabs/Module/Ping.php:456 +msgid "posted an event" msgstr "" -#: ../../addon/hzfiles/hzfiles.php:83 -msgid "Hubzilla Server base URL" +#: ../../Zotlabs/Module/Ping.php:490 ../../Zotlabs/Lib/Enotify.php:829 +#: ../../Zotlabs/Lib/Enotify.php:931 +msgid "shared a file with you" msgstr "" -#: ../../addon/authchoose/Mod_Authchoose.php:22 +#: ../../Zotlabs/Module/Display.php:359 ../../Zotlabs/Module/Channel.php:449 msgid "" -"Allow magic authentication only to websites of your immediate connections" +"You must enable javascript for your browser to be able to view this content." msgstr "" -#: ../../addon/authchoose/Mod_Authchoose.php:28 -#: ../../addon/authchoose/Mod_Authchoose.php:33 -msgid "Authchoose App" +#: ../../Zotlabs/Module/Display.php:377 +msgid "Article" msgstr "" -#: ../../addon/authchoose/Mod_Authchoose.php:39 -msgid "Authchoose" +#: ../../Zotlabs/Module/Display.php:422 +msgid "Item has been removed." msgstr "" -#: ../../addon/pageheader/Mod_Pageheader.php:22 -msgid "pageheader Settings saved." +#: ../../Zotlabs/Module/Admin.php:96 +#: ../../Zotlabs/Module/Admin/Accounts.php:167 +#: ../../Zotlabs/Module/Admin/Accounts.php:180 +#: ../../Zotlabs/Widget/Admin.php:23 +msgid "Accounts" msgstr "" -#: ../../addon/pageheader/Mod_Pageheader.php:34 -msgid "Page Header App" +#: ../../Zotlabs/Module/Admin.php:97 +msgid "Blocked accounts" msgstr "" -#: ../../addon/pageheader/Mod_Pageheader.php:35 -msgid "Inserts a page header" +#: ../../Zotlabs/Module/Admin.php:98 +msgid "Expired accounts" msgstr "" -#: ../../addon/pageheader/Mod_Pageheader.php:43 -msgid "Message to display on every page on this server" +#: ../../Zotlabs/Module/Admin.php:99 +msgid "Expiring accounts" msgstr "" -#: ../../addon/pageheader/Mod_Pageheader.php:51 -msgid "Page Header" +#: ../../Zotlabs/Module/Admin.php:114 +#: ../../Zotlabs/Module/Admin/Channels.php:146 +#: ../../Zotlabs/Widget/Admin.php:24 +msgid "Channels" msgstr "" -#: ../../addon/irc/Mod_Irc.php:23 ../../addon/irc/irc.php:41 -msgid "Popular Channels" +#: ../../Zotlabs/Module/Admin.php:120 +msgid "Message queues" msgstr "" -#: ../../addon/irc/irc.php:37 -msgid "Channels to auto connect" +#: ../../Zotlabs/Module/Admin.php:134 +msgid "Your software should be updated" msgstr "" -#: ../../addon/irc/irc.php:37 ../../addon/irc/irc.php:41 -msgid "Comma separated list" +#: ../../Zotlabs/Module/Admin.php:138 ../../Zotlabs/Module/Admin/Themes.php:122 +#: ../../Zotlabs/Module/Admin/Themes.php:156 +#: ../../Zotlabs/Module/Admin/Security.php:98 +#: ../../Zotlabs/Module/Admin/Accounts.php:166 +#: ../../Zotlabs/Module/Admin/Channels.php:145 +#: ../../Zotlabs/Module/Admin/Logs.php:82 +#: ../../Zotlabs/Module/Admin/Addons.php:342 +#: ../../Zotlabs/Module/Admin/Addons.php:440 +#: ../../Zotlabs/Module/Admin/Site.php:291 +msgid "Administration" msgstr "" -#: ../../addon/irc/irc.php:45 -msgid "IRC Settings" +#: ../../Zotlabs/Module/Admin.php:139 +msgid "Summary" msgstr "" -#: ../../addon/irc/irc.php:54 -msgid "IRC settings saved." +#: ../../Zotlabs/Module/Admin.php:142 +msgid "Registered accounts" msgstr "" -#: ../../addon/irc/irc.php:58 -msgid "IRC Chatroom" +#: ../../Zotlabs/Module/Admin.php:143 +msgid "Pending registrations" msgstr "" -#: ../../addon/xmpp/xmpp.php:44 -msgid "Jabber BOSH host" +#: ../../Zotlabs/Module/Admin.php:144 +msgid "Registered channels" msgstr "" -#: ../../addon/xmpp/xmpp.php:45 -msgid "Use central userbase" +#: ../../Zotlabs/Module/Admin.php:145 +msgid "Active addons" msgstr "" -#: ../../addon/xmpp/xmpp.php:45 -msgid "" -"If enabled, members will automatically login to an ejabberd server that has " -"to be installed on this machine with synchronized credentials via the " -"\"auth_ejabberd.php\" script." +#: ../../Zotlabs/Module/Admin.php:146 +msgid "Version" msgstr "" -#: ../../addon/xmpp/Mod_Xmpp.php:23 -msgid "XMPP settings updated." +#: ../../Zotlabs/Module/Admin.php:147 +msgid "Repository version (master)" msgstr "" -#: ../../addon/xmpp/Mod_Xmpp.php:35 -msgid "XMPP App" +#: ../../Zotlabs/Module/Admin.php:148 +msgid "Repository version (dev)" msgstr "" -#: ../../addon/xmpp/Mod_Xmpp.php:36 -msgid "Embedded XMPP (Jabber) client" +#: ../../Zotlabs/Module/Photos.php:80 +msgid "Page owner information could not be retrieved." msgstr "" -#: ../../addon/xmpp/Mod_Xmpp.php:52 -msgid "Individual credentials" +#: ../../Zotlabs/Module/Photos.php:96 ../../Zotlabs/Module/Photos.php:115 +msgid "Album not found." msgstr "" -#: ../../addon/xmpp/Mod_Xmpp.php:58 -msgid "Jabber BOSH server" +#: ../../Zotlabs/Module/Photos.php:105 +msgid "Delete Album" msgstr "" -#: ../../addon/xmpp/Mod_Xmpp.php:67 -msgid "XMPP Settings" +#: ../../Zotlabs/Module/Photos.php:176 ../../Zotlabs/Module/Photos.php:1059 +msgid "Delete Photo" msgstr "" -#: ../../include/zot.php:775 -msgid "Invalid data packet" +#: ../../Zotlabs/Module/Photos.php:530 +msgid "No photos selected" msgstr "" -#: ../../include/zot.php:802 ../../Zotlabs/Lib/Libzot.php:656 -msgid "Unable to verify channel signature" +#: ../../Zotlabs/Module/Photos.php:579 +msgid "Access to this item is restricted." msgstr "" -#: ../../include/zot.php:2657 ../../Zotlabs/Lib/Libsync.php:740 +#: ../../Zotlabs/Module/Photos.php:622 #, php-format -msgid "Unable to verify site signature for %s" +msgid "%1$.2f MB of %2$.2f MB photo storage used." msgstr "" -#: ../../include/zot.php:4372 -msgid "invalid target signature" +#: ../../Zotlabs/Module/Photos.php:625 +#, php-format +msgid "%1$.2f MB photo storage used." msgstr "" -#: ../../include/text.php:522 -msgid "prev" +#: ../../Zotlabs/Module/Photos.php:667 +msgid "Upload Photos" msgstr "" -#: ../../include/text.php:524 -msgid "first" +#: ../../Zotlabs/Module/Photos.php:671 +msgid "Enter an album name" msgstr "" -#: ../../include/text.php:553 -msgid "last" +#: ../../Zotlabs/Module/Photos.php:672 +msgid "or select an existing album (doubleclick)" msgstr "" -#: ../../include/text.php:556 -msgid "next" +#: ../../Zotlabs/Module/Photos.php:673 +msgid "Create a status post for this upload" msgstr "" -#: ../../include/text.php:574 -msgid "older" +#: ../../Zotlabs/Module/Photos.php:675 +msgid "Description (optional)" msgstr "" -#: ../../include/text.php:576 -msgid "newer" +#: ../../Zotlabs/Module/Photos.php:761 +msgid "Show Newest First" msgstr "" -#: ../../include/text.php:1024 -msgid "No connections" +#: ../../Zotlabs/Module/Photos.php:763 +msgid "Show Oldest First" msgstr "" -#: ../../include/text.php:1036 ../../include/features.php:133 -#: ../../Zotlabs/Module/Connections.php:374 ../../Zotlabs/Lib/Apps.php:333 -msgid "Connections" +#: ../../Zotlabs/Module/Photos.php:787 ../../Zotlabs/Module/Photos.php:1333 +#: ../../Zotlabs/Module/Embedphotos.php:170 +#: ../../Zotlabs/Widget/Portfolio.php:87 ../../Zotlabs/Widget/Album.php:78 +msgid "View Photo" msgstr "" -#: ../../include/text.php:1044 ../../Zotlabs/Module/Viewconnections.php:80 -#: ../../Zotlabs/Module/Connections.php:288 -msgid "Accepts" +#: ../../Zotlabs/Module/Photos.php:793 ../../Zotlabs/Module/Photos.php:1255 +#: ../../Zotlabs/Module/Embedphotos.php:176 ../../Zotlabs/Lib/Apps.php:1112 +#: ../../Zotlabs/Lib/Apps.php:1196 ../../Zotlabs/Lib/Activity.php:1508 +#: ../../Zotlabs/Widget/Portfolio.php:95 ../../Zotlabs/Widget/Pinned.php:270 +#: ../../Zotlabs/Widget/Album.php:84 ../../include/conversation.php:1211 +#: ../../include/cdav.php:158 ../../include/cdav.php:159 +#: ../../include/cdav.php:167 ../../extend/addon/hzaddons/pubcrawl/as.php:1187 +msgid "Unknown" msgstr "" -#: ../../include/text.php:1047 ../../Zotlabs/Module/Viewconnections.php:83 -#: ../../Zotlabs/Module/Connections.php:291 -msgid "Comments" +#: ../../Zotlabs/Module/Photos.php:818 ../../Zotlabs/Module/Embedphotos.php:186 +#: ../../Zotlabs/Widget/Portfolio.php:108 ../../Zotlabs/Widget/Album.php:95 +msgid "Edit Album" msgstr "" -#: ../../include/text.php:1052 ../../Zotlabs/Module/Viewconnections.php:88 -#: ../../Zotlabs/Module/Connections.php:296 -msgid "Stream items" +#: ../../Zotlabs/Module/Photos.php:820 ../../Zotlabs/Module/Photos.php:1364 +msgid "Add Photos" msgstr "" -#: ../../include/text.php:1057 ../../Zotlabs/Module/Viewconnections.php:93 -#: ../../Zotlabs/Module/Connections.php:301 -msgid "Wall posts" +#: ../../Zotlabs/Module/Photos.php:868 +msgid "Permission denied. Access to this item may be restricted." msgstr "" -#: ../../include/text.php:1061 ../../Zotlabs/Module/Viewconnections.php:97 -#: ../../Zotlabs/Module/Connections.php:305 -msgid "Nothing" +#: ../../Zotlabs/Module/Photos.php:870 +msgid "Photo not available" msgstr "" -#: ../../include/text.php:1076 -#, php-format -msgid "View all %s connections" +#: ../../Zotlabs/Module/Photos.php:928 +msgid "Use as profile photo" msgstr "" -#: ../../include/text.php:1139 -#, php-format -msgid "Network: %s" +#: ../../Zotlabs/Module/Photos.php:929 +msgid "Use as cover photo" msgstr "" -#: ../../include/text.php:1150 ../../include/text.php:1162 -#: ../../include/nav.php:188 ../../include/acl_selectors.php:139 -#: ../../Zotlabs/Widget/Sitesearch.php:31 -#: ../../Zotlabs/Widget/Activity_filter.php:193 -#: ../../Zotlabs/Module/Search.php:44 ../../Zotlabs/Module/Connections.php:378 -#: ../../Zotlabs/Lib/Apps.php:353 -msgid "Search" +#: ../../Zotlabs/Module/Photos.php:936 +msgid "Private Photo" msgstr "" -#: ../../include/text.php:1242 ../../include/text.php:1246 -msgid "poke" +#: ../../Zotlabs/Module/Photos.php:951 +msgid "View Full Size" msgstr "" -#: ../../include/text.php:1242 ../../include/text.php:1246 -#: ../../include/conversation.php:267 -msgid "poked" +#: ../../Zotlabs/Module/Photos.php:1033 +msgid "Edit photo" msgstr "" -#: ../../include/text.php:1247 -msgid "ping" +#: ../../Zotlabs/Module/Photos.php:1035 +msgid "Rotate CW (right)" msgstr "" -#: ../../include/text.php:1247 -msgid "pinged" +#: ../../Zotlabs/Module/Photos.php:1036 +msgid "Rotate CCW (left)" msgstr "" -#: ../../include/text.php:1248 -msgid "prod" +#: ../../Zotlabs/Module/Photos.php:1039 +msgid "Move photo to album" msgstr "" -#: ../../include/text.php:1248 -msgid "prodded" +#: ../../Zotlabs/Module/Photos.php:1040 +msgid "Enter a new album name" msgstr "" -#: ../../include/text.php:1249 -msgid "slap" +#: ../../Zotlabs/Module/Photos.php:1041 +msgid "or select an existing one (doubleclick)" msgstr "" -#: ../../include/text.php:1249 -msgid "slapped" +#: ../../Zotlabs/Module/Photos.php:1046 +msgid "Add a Tag" msgstr "" -#: ../../include/text.php:1250 -msgid "finger" +#: ../../Zotlabs/Module/Photos.php:1054 +msgid "Example: @bob, @Barbara_Jensen, @jim@example.com" msgstr "" -#: ../../include/text.php:1250 -msgid "fingered" +#: ../../Zotlabs/Module/Photos.php:1057 +msgid "Flag as adult in album view" msgstr "" -#: ../../include/text.php:1251 -msgid "rebuff" +#: ../../Zotlabs/Module/Photos.php:1076 ../../Zotlabs/Lib/ThreadItem.php:317 +msgid "I like this (toggle)" msgstr "" -#: ../../include/text.php:1251 -msgid "rebuffed" +#: ../../Zotlabs/Module/Photos.php:1077 ../../Zotlabs/Lib/ThreadItem.php:318 +msgid "I don't like this (toggle)" msgstr "" -#: ../../include/text.php:1274 -msgid "happy" +#: ../../Zotlabs/Module/Photos.php:1079 ../../Zotlabs/Lib/ThreadItem.php:501 +#: ../../include/conversation.php:827 +msgid "Please wait" msgstr "" -#: ../../include/text.php:1275 -msgid "sad" +#: ../../Zotlabs/Module/Photos.php:1095 ../../Zotlabs/Module/Photos.php:1213 +#: ../../Zotlabs/Lib/ThreadItem.php:822 +msgid "This is you" msgstr "" -#: ../../include/text.php:1276 -msgid "mellow" +#: ../../Zotlabs/Module/Photos.php:1097 ../../Zotlabs/Module/Photos.php:1215 +#: ../../Zotlabs/Lib/ThreadItem.php:824 ../../include/js_strings.php:6 +msgid "Comment" msgstr "" -#: ../../include/text.php:1277 -msgid "tired" +#: ../../Zotlabs/Module/Photos.php:1113 ../../include/conversation.php:652 +msgctxt "title" +msgid "Likes" msgstr "" -#: ../../include/text.php:1278 -msgid "perky" +#: ../../Zotlabs/Module/Photos.php:1113 ../../include/conversation.php:653 +msgctxt "title" +msgid "Dislikes" msgstr "" -#: ../../include/text.php:1279 -msgid "angry" +#: ../../Zotlabs/Module/Photos.php:1114 ../../Zotlabs/Widget/Pinned.php:77 +#: ../../include/conversation.php:654 +msgctxt "title" +msgid "Agree" msgstr "" -#: ../../include/text.php:1280 -msgid "stupefied" +#: ../../Zotlabs/Module/Photos.php:1114 ../../Zotlabs/Widget/Pinned.php:78 +#: ../../include/conversation.php:655 +msgctxt "title" +msgid "Disagree" msgstr "" -#: ../../include/text.php:1281 -msgid "puzzled" +#: ../../Zotlabs/Module/Photos.php:1114 ../../Zotlabs/Widget/Pinned.php:79 +#: ../../include/conversation.php:656 +msgctxt "title" +msgid "Abstain" msgstr "" -#: ../../include/text.php:1282 -msgid "interested" +#: ../../Zotlabs/Module/Photos.php:1115 ../../Zotlabs/Widget/Pinned.php:66 +#: ../../include/conversation.php:657 +msgctxt "title" +msgid "Attending" msgstr "" -#: ../../include/text.php:1283 -msgid "bitter" +#: ../../Zotlabs/Module/Photos.php:1115 ../../Zotlabs/Widget/Pinned.php:67 +#: ../../include/conversation.php:658 +msgctxt "title" +msgid "Not attending" msgstr "" -#: ../../include/text.php:1284 -msgid "cheerful" +#: ../../Zotlabs/Module/Photos.php:1115 ../../Zotlabs/Widget/Pinned.php:68 +#: ../../include/conversation.php:659 +msgctxt "title" +msgid "Might attend" msgstr "" -#: ../../include/text.php:1285 -msgid "alive" +#: ../../Zotlabs/Module/Photos.php:1132 ../../Zotlabs/Module/Photos.php:1144 +#: ../../Zotlabs/Lib/ThreadItem.php:238 ../../Zotlabs/Lib/ThreadItem.php:250 +msgid "View all" msgstr "" -#: ../../include/text.php:1286 -msgid "annoyed" -msgstr "" +#: ../../Zotlabs/Module/Photos.php:1136 ../../Zotlabs/Lib/ThreadItem.php:242 +#: ../../include/conversation.php:1749 ../../include/channel.php:1781 +#: ../../include/taxonomy.php:668 +msgctxt "noun" +msgid "Like" +msgid_plural "Likes" +msgstr[0] "" +msgstr[1] "" -#: ../../include/text.php:1287 -msgid "anxious" -msgstr "" +#: ../../Zotlabs/Module/Photos.php:1141 ../../Zotlabs/Lib/ThreadItem.php:247 +#: ../../include/conversation.php:1752 +msgctxt "noun" +msgid "Dislike" +msgid_plural "Dislikes" +msgstr[0] "" +msgstr[1] "" -#: ../../include/text.php:1288 -msgid "cranky" +#: ../../Zotlabs/Module/Photos.php:1247 +msgid "Photo Tools" msgstr "" -#: ../../include/text.php:1289 -msgid "disturbed" +#: ../../Zotlabs/Module/Photos.php:1256 +msgid "In This Photo:" msgstr "" -#: ../../include/text.php:1290 -msgid "frustrated" +#: ../../Zotlabs/Module/Photos.php:1261 +msgid "Map" msgstr "" -#: ../../include/text.php:1291 -msgid "depressed" +#: ../../Zotlabs/Module/Photos.php:1269 ../../Zotlabs/Lib/ThreadItem.php:489 +msgctxt "noun" +msgid "Likes" msgstr "" -#: ../../include/text.php:1292 -msgid "motivated" +#: ../../Zotlabs/Module/Photos.php:1270 ../../Zotlabs/Lib/ThreadItem.php:490 +msgctxt "noun" +msgid "Dislikes" msgstr "" -#: ../../include/text.php:1293 -msgid "relaxed" +#: ../../Zotlabs/Module/Photos.php:1275 ../../Zotlabs/Storage/Browser.php:411 +#: ../../Zotlabs/Lib/ThreadItem.php:495 ../../Zotlabs/Widget/Pinned.php:160 +#: ../../include/acl_selectors.php:155 +#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:233 +msgid "Close" msgstr "" -#: ../../include/text.php:1294 -msgid "surprised" +#: ../../Zotlabs/Module/Photos.php:1348 ../../Zotlabs/Module/Photos.php:1361 +#: ../../Zotlabs/Module/Photos.php:1362 ../../include/photos.php:667 +msgid "Recent Photos" msgstr "" -#: ../../include/text.php:1482 ../../include/js_strings.php:99 -msgid "Monday" +#: ../../Zotlabs/Module/Channel.php:99 ../../Zotlabs/Module/Profile.php:45 +#: ../../Zotlabs/Module/Hcard.php:37 +msgid "Posts and comments" msgstr "" -#: ../../include/text.php:1482 ../../include/js_strings.php:100 -msgid "Tuesday" +#: ../../Zotlabs/Module/Channel.php:106 ../../Zotlabs/Module/Profile.php:52 +#: ../../Zotlabs/Module/Hcard.php:44 +msgid "Only posts" msgstr "" -#: ../../include/text.php:1482 ../../include/js_strings.php:101 -msgid "Wednesday" +#: ../../Zotlabs/Module/Channel.php:174 +msgid "Insufficient permissions. Request redirected to profile page." msgstr "" -#: ../../include/text.php:1482 ../../include/js_strings.php:102 -msgid "Thursday" +#: ../../Zotlabs/Module/Channel.php:189 ../../Zotlabs/Module/Network.php:164 +msgid "Search Results For:" msgstr "" -#: ../../include/text.php:1482 ../../include/js_strings.php:103 -msgid "Friday" +#: ../../Zotlabs/Module/Cards.php:51 +msgid "Cards App" msgstr "" -#: ../../include/text.php:1482 ../../include/js_strings.php:104 -msgid "Saturday" +#: ../../Zotlabs/Module/Cards.php:52 +msgid "Create personal planning cards" msgstr "" -#: ../../include/text.php:1482 ../../include/js_strings.php:98 -msgid "Sunday" +#: ../../Zotlabs/Module/Cards.php:112 +msgid "Add Card" msgstr "" -#: ../../include/text.php:1486 ../../include/js_strings.php:74 -msgid "January" +#: ../../Zotlabs/Module/Cards.php:207 ../../Zotlabs/Lib/Apps.php:326 +#: ../../include/nav.php:501 +msgid "Cards" msgstr "" -#: ../../include/text.php:1486 ../../include/js_strings.php:75 -msgid "February" +#: ../../Zotlabs/Module/Go.php:21 +msgid "This page is available only to site members" msgstr "" -#: ../../include/text.php:1486 ../../include/js_strings.php:76 -msgid "March" +#: ../../Zotlabs/Module/Go.php:27 +msgid "Welcome" msgstr "" -#: ../../include/text.php:1486 ../../include/js_strings.php:77 -msgid "April" +#: ../../Zotlabs/Module/Go.php:29 +msgid "What would you like to do?" msgstr "" -#: ../../include/text.php:1486 -msgid "May" +#: ../../Zotlabs/Module/Go.php:31 +msgid "" +"Please bookmark this page if you would like to return to it in the future" msgstr "" -#: ../../include/text.php:1486 ../../include/js_strings.php:79 -msgid "June" +#: ../../Zotlabs/Module/Go.php:35 +msgid "Upload a profile photo" msgstr "" -#: ../../include/text.php:1486 ../../include/js_strings.php:80 -msgid "July" +#: ../../Zotlabs/Module/Go.php:36 +msgid "Upload a cover photo" msgstr "" -#: ../../include/text.php:1486 ../../include/js_strings.php:81 -msgid "August" +#: ../../Zotlabs/Module/Go.php:37 +msgid "Edit your default profile" msgstr "" -#: ../../include/text.php:1486 ../../include/js_strings.php:82 -msgid "September" +#: ../../Zotlabs/Module/Go.php:38 ../../Zotlabs/Widget/Newmember.php:41 +msgid "View friend suggestions" msgstr "" -#: ../../include/text.php:1486 ../../include/js_strings.php:83 -msgid "October" +#: ../../Zotlabs/Module/Go.php:39 +msgid "View the channel directory" msgstr "" -#: ../../include/text.php:1486 ../../include/js_strings.php:84 -msgid "November" +#: ../../Zotlabs/Module/Go.php:40 +msgid "View/edit your channel settings" msgstr "" -#: ../../include/text.php:1486 ../../include/js_strings.php:85 -msgid "December" +#: ../../Zotlabs/Module/Go.php:41 +msgid "View the site or project documentation" msgstr "" -#: ../../include/text.php:1560 -msgid "Unknown Attachment" +#: ../../Zotlabs/Module/Go.php:42 +msgid "Visit your channel homepage" msgstr "" -#: ../../include/text.php:1562 ../../Zotlabs/Module/Sharedwithme.php:108 -#: ../../Zotlabs/Storage/Browser.php:293 -msgid "Size" +#: ../../Zotlabs/Module/Go.php:43 +msgid "" +"View your connections and/or add somebody whose address you already know" msgstr "" -#: ../../include/text.php:1562 ../../include/feedutils.php:871 -msgid "unknown" +#: ../../Zotlabs/Module/Go.php:44 +msgid "" +"View your personal stream (this may be empty until you add some connections)" msgstr "" -#: ../../include/text.php:1598 -msgid "remove category" +#: ../../Zotlabs/Module/Go.php:52 +msgid "View the public stream. Warning: this content is not moderated" msgstr "" -#: ../../include/text.php:1674 -msgid "remove from file" +#: ../../Zotlabs/Module/Connections.php:58 +#: ../../Zotlabs/Module/Connections.php:115 +#: ../../Zotlabs/Module/Connections.php:273 +msgid "Active" msgstr "" -#: ../../include/text.php:1843 ../../include/message.php:13 -msgid "Download binary/encrypted content" +#: ../../Zotlabs/Module/Connections.php:63 +#: ../../Zotlabs/Module/Connections.php:181 +#: ../../Zotlabs/Module/Connections.php:278 +msgid "Blocked" msgstr "" -#: ../../include/text.php:1914 -msgid "Poll has ended." +#: ../../Zotlabs/Module/Connections.php:68 +#: ../../Zotlabs/Module/Connections.php:188 +#: ../../Zotlabs/Module/Connections.php:277 +msgid "Ignored" msgstr "" -#: ../../include/text.php:1917 -#, php-format -msgid "Poll ends: %s" +#: ../../Zotlabs/Module/Connections.php:73 +#: ../../Zotlabs/Module/Connections.php:202 +#: ../../Zotlabs/Module/Connections.php:276 +msgid "Hidden" msgstr "" -#: ../../include/text.php:1922 ../../Zotlabs/Lib/ThreadItem.php:444 -msgid "Vote" +#: ../../Zotlabs/Module/Connections.php:78 +#: ../../Zotlabs/Module/Connections.php:195 +msgid "Archived/Unreachable" msgstr "" -#: ../../include/text.php:2074 ../../Zotlabs/Module/Events.php:669 -msgid "Link to Source" +#: ../../Zotlabs/Module/Connections.php:83 +#: ../../Zotlabs/Module/Connections.php:92 +#: ../../Zotlabs/Module/Notifications.php:50 ../../Zotlabs/Module/Menu.php:180 +msgid "New" msgstr "" -#: ../../include/text.php:2096 ../../include/language.php:424 -msgid "default" +#: ../../Zotlabs/Module/Connections.php:157 +msgid "Active Connections" msgstr "" -#: ../../include/text.php:2104 -msgid "Page layout" +#: ../../Zotlabs/Module/Connections.php:160 +msgid "Show active connections" msgstr "" -#: ../../include/text.php:2104 -msgid "You can create your own with the layouts tool" +#: ../../Zotlabs/Module/Connections.php:164 +#: ../../Zotlabs/Widget/Notifications.php:104 +msgid "New Connections" msgstr "" -#: ../../include/text.php:2114 ../../Zotlabs/Widget/Wiki_pages.php:38 -#: ../../Zotlabs/Widget/Wiki_pages.php:95 ../../Zotlabs/Module/Wiki.php:217 -#: ../../Zotlabs/Module/Wiki.php:371 -msgid "BBcode" +#: ../../Zotlabs/Module/Connections.php:167 +msgid "Show pending (new) connections" msgstr "" -#: ../../include/text.php:2115 -msgid "HTML" +#: ../../Zotlabs/Module/Connections.php:184 +msgid "Only show blocked connections" msgstr "" -#: ../../include/text.php:2117 ../../Zotlabs/Widget/Wiki_pages.php:38 -#: ../../Zotlabs/Widget/Wiki_pages.php:95 ../../Zotlabs/Module/Wiki.php:217 -msgid "Text" +#: ../../Zotlabs/Module/Connections.php:191 +msgid "Only show ignored connections" msgstr "" -#: ../../include/text.php:2118 -msgid "Comanche Layout" +#: ../../Zotlabs/Module/Connections.php:198 +msgid "Only show archived/unreachable connections" msgstr "" -#: ../../include/text.php:2123 -msgid "PHP" +#: ../../Zotlabs/Module/Connections.php:205 +msgid "Only show hidden connections" msgstr "" -#: ../../include/text.php:2132 -msgid "Page content type" +#: ../../Zotlabs/Module/Connections.php:220 +msgid "Show all connections" msgstr "" -#: ../../include/text.php:2255 ../../include/event.php:1259 -#: ../../include/conversation.php:132 -#: ../../Zotlabs/Module/Channel_calendar.php:219 -#: ../../Zotlabs/Module/Like.php:388 ../../Zotlabs/Module/Tagger.php:75 -#: ../../Zotlabs/Module/Events.php:266 -msgid "event" +#: ../../Zotlabs/Module/Connections.php:274 +msgid "Pending approval" msgstr "" -#: ../../include/text.php:2258 ../../include/conversation.php:158 -#: ../../include/bbcode.php:523 ../../include/markdown.php:204 -#: ../../Zotlabs/Module/Tagger.php:79 ../../Zotlabs/Lib/Activity.php:2953 -msgid "post" +#: ../../Zotlabs/Module/Connections.php:275 +msgid "Archived" msgstr "" -#: ../../include/text.php:2260 ../../include/conversation.php:160 -#: ../../Zotlabs/Module/Tagger.php:81 -msgid "comment" +#: ../../Zotlabs/Module/Connections.php:279 +msgid "Not connected at this location" msgstr "" -#: ../../include/text.php:2265 -msgid "activity" +#: ../../Zotlabs/Module/Connections.php:318 +#, php-format +msgid "%1$s [%2$s]" msgstr "" -#: ../../include/text.php:2268 -msgid "poll" +#: ../../Zotlabs/Module/Connections.php:319 +msgid "Edit connection" msgstr "" -#: ../../include/text.php:2369 -msgid "a-z, 0-9, -, and _ only" +#: ../../Zotlabs/Module/Connections.php:321 +msgid "Delete connection" msgstr "" -#: ../../include/text.php:2695 -msgid "Design Tools" +#: ../../Zotlabs/Module/Connections.php:330 +msgid "Channel address" msgstr "" -#: ../../include/text.php:2698 ../../Zotlabs/Module/Blocks.php:154 -msgid "Blocks" +#: ../../Zotlabs/Module/Connections.php:332 ../../include/features.php:291 +msgid "Network" msgstr "" -#: ../../include/text.php:2699 ../../Zotlabs/Module/Menu.php:171 -msgid "Menus" +#: ../../Zotlabs/Module/Connections.php:335 +msgid "Call" msgstr "" -#: ../../include/text.php:2700 ../../Zotlabs/Module/Layouts.php:184 -msgid "Layouts" +#: ../../Zotlabs/Module/Connections.php:337 +msgid "Status" msgstr "" -#: ../../include/text.php:2701 -msgid "Pages" +#: ../../Zotlabs/Module/Connections.php:339 +msgid "Connected" msgstr "" -#: ../../include/text.php:2713 -msgid "Import" +#: ../../Zotlabs/Module/Connections.php:341 +msgid "Approve connection" msgstr "" -#: ../../include/text.php:2714 -msgid "Import website..." +#: ../../Zotlabs/Module/Connections.php:342 +#: ../../Zotlabs/Module/Admin/Accounts.php:173 +#: ../../include/conversation.php:774 +msgid "Approve" msgstr "" -#: ../../include/text.php:2715 -msgid "Select folder to import" +#: ../../Zotlabs/Module/Connections.php:343 +msgid "Ignore connection" msgstr "" -#: ../../include/text.php:2716 -msgid "Import from a zipped folder:" +#: ../../Zotlabs/Module/Connections.php:345 +msgid "Recent activity" msgstr "" -#: ../../include/text.php:2717 -msgid "Import from cloud files:" +#: ../../Zotlabs/Module/Connections.php:349 ../../Zotlabs/Module/Suggest.php:71 +#: ../../Zotlabs/Module/Directory.php:370 ../../Zotlabs/Widget/Follow.php:32 +#: ../../Zotlabs/Widget/Suggestions.php:46 ../../include/conversation.php:1100 +#: ../../include/channel.php:1618 ../../include/connections.php:110 +msgid "Connect" msgstr "" -#: ../../include/text.php:2718 -msgid "/cloud/channel/path/to/folder" +#: ../../Zotlabs/Module/Connections.php:351 +msgid "Connect at this location" msgstr "" -#: ../../include/text.php:2719 -msgid "Enter path to website files" +#: ../../Zotlabs/Module/Connections.php:374 ../../Zotlabs/Lib/Apps.php:333 +#: ../../include/features.php:133 ../../include/text.php:1036 +msgid "Connections" msgstr "" -#: ../../include/text.php:2720 -msgid "Select folder" +#: ../../Zotlabs/Module/Connections.php:379 +msgid "Search your connections" msgstr "" -#: ../../include/text.php:2721 -msgid "Export website..." +#: ../../Zotlabs/Module/Connections.php:380 +msgid "Connections search" msgstr "" -#: ../../include/text.php:2722 -msgid "Export to a zip file" +#: ../../Zotlabs/Module/Connections.php:381 +#: ../../Zotlabs/Module/Directory.php:433 +#: ../../Zotlabs/Module/Directory.php:438 ../../include/contact_widgets.php:23 +msgid "Find" msgstr "" -#: ../../include/text.php:2723 -msgid "website.zip" +#: ../../Zotlabs/Module/Editpost.php:38 ../../Zotlabs/Module/Editpost.php:43 +msgid "Item is not editable" msgstr "" -#: ../../include/text.php:2724 -msgid "Enter a name for the zip file." +#: ../../Zotlabs/Module/Tagrm.php:48 ../../Zotlabs/Module/Tagrm.php:98 +msgid "Tag removed" msgstr "" -#: ../../include/text.php:2725 -msgid "Export to cloud files" +#: ../../Zotlabs/Module/Tagrm.php:123 +msgid "Remove Item Tag" msgstr "" -#: ../../include/text.php:2726 -msgid "/path/to/export/folder" +#: ../../Zotlabs/Module/Tagrm.php:125 +msgid "Select a tag to remove: " msgstr "" -#: ../../include/text.php:2727 -msgid "Enter a path to a cloud files destination." +#: ../../Zotlabs/Module/Affinity.php:35 +msgid "Affinity Tool settings updated." msgstr "" -#: ../../include/text.php:2728 -msgid "Specify folder" +#: ../../Zotlabs/Module/Affinity.php:47 +msgid "" +"This app presents a slider control in your connection editor and also on " +"your network page. The slider represents your degree of friendship " +"(affinity) with each connection. It allows you to zoom in or out and display " +"conversations from only your closest friends or everybody in your stream." msgstr "" -#: ../../include/text.php:3101 ../../Zotlabs/Storage/Browser.php:131 -msgid "Collection" +#: ../../Zotlabs/Module/Affinity.php:52 +msgid "Affinity Tool App" msgstr "" -#: ../../include/opengraph.php:56 -#, php-format -msgid "This is the home page of %s." +#: ../../Zotlabs/Module/Affinity.php:57 +msgid "" +"The numbers below represent the minimum and maximum slider default positions " +"for your network/stream page as a percentage." msgstr "" -#: ../../include/event.php:33 ../../include/event.php:110 -msgid "l F d, Y \\@ g:i A" +#: ../../Zotlabs/Module/Affinity.php:64 +msgid "Default maximum affinity level" msgstr "" -#: ../../include/event.php:41 -msgid "Starts:" +#: ../../Zotlabs/Module/Affinity.php:64 +msgid "0-99 default 99" msgstr "" -#: ../../include/event.php:51 -msgid "Finishes:" +#: ../../Zotlabs/Module/Affinity.php:70 +msgid "Default minimum affinity level" msgstr "" -#: ../../include/event.php:63 ../../include/event.php:134 -#: ../../include/channel.php:1619 ../../Zotlabs/Module/Directory.php:352 -msgid "Location:" +#: ../../Zotlabs/Module/Affinity.php:70 +msgid "0-99 - default 0" msgstr "" -#: ../../include/event.php:110 -msgid "l F d, Y" +#: ../../Zotlabs/Module/Affinity.php:76 +msgid "Persistent affinity levels" msgstr "" -#: ../../include/event.php:114 -msgid "Start:" +#: ../../Zotlabs/Module/Affinity.php:76 +msgid "" +"If disabled the max and min levels will be reset to default after page reload" msgstr "" -#: ../../include/event.php:118 -msgid "End:" +#: ../../Zotlabs/Module/Affinity.php:84 +msgid "Affinity Tool Settings" msgstr "" -#: ../../include/event.php:1106 -msgid "This event has been added to your calendar." +#: ../../Zotlabs/Module/Common.php:14 +msgid "No channel." msgstr "" -#: ../../include/event.php:1337 -msgid "Not specified" +#: ../../Zotlabs/Module/Common.php:45 +msgid "No connections in common." msgstr "" -#: ../../include/event.php:1338 -msgid "Needs Action" +#: ../../Zotlabs/Module/Common.php:65 +msgid "View Common Connections" msgstr "" -#: ../../include/event.php:1339 -msgid "Completed" +#: ../../Zotlabs/Module/Share.php:104 ../../Zotlabs/Lib/Activity.php:2133 +#, php-format +msgid "🔁 Repeated %1$s's %2$s" msgstr "" -#: ../../include/event.php:1340 -msgid "In Process" +#: ../../Zotlabs/Module/Share.php:120 +msgid "Post repeated" msgstr "" -#: ../../include/event.php:1341 -msgid "Cancelled" +#: ../../Zotlabs/Module/Editwebpage.php:139 +msgid "Page link" msgstr "" -#: ../../include/event.php:1422 ../../include/connections.php:733 -#: ../../Zotlabs/Module/Cdav.php:1377 ../../Zotlabs/Module/Profiles.php:794 -#: ../../Zotlabs/Module/Connedit.php:935 -msgid "Mobile" +#: ../../Zotlabs/Module/Editwebpage.php:166 +msgid "Edit Webpage" msgstr "" -#: ../../include/event.php:1423 ../../include/connections.php:734 -#: ../../Zotlabs/Module/Cdav.php:1378 ../../Zotlabs/Module/Profiles.php:795 -#: ../../Zotlabs/Module/Connedit.php:936 -msgid "Home" +#: ../../Zotlabs/Module/Profile.php:93 +msgid "vcard" msgstr "" -#: ../../include/event.php:1424 ../../include/connections.php:735 -msgid "Home, Voice" +#: ../../Zotlabs/Module/Article_edit.php:127 +msgid "Edit Article" msgstr "" -#: ../../include/event.php:1425 ../../include/connections.php:736 -msgid "Home, Fax" +#: ../../Zotlabs/Module/Rmagic.php:46 +msgid "Authentication failed." msgstr "" -#: ../../include/event.php:1426 ../../include/connections.php:737 -#: ../../Zotlabs/Module/Cdav.php:1379 ../../Zotlabs/Module/Profiles.php:796 -#: ../../Zotlabs/Module/Connedit.php:937 -msgid "Work" +#: ../../Zotlabs/Module/Rmagic.php:96 ../../include/channel.php:2597 +#: ../../boot.php:1706 +msgid "Remote Authentication" msgstr "" -#: ../../include/event.php:1427 ../../include/connections.php:738 -msgid "Work, Voice" +#: ../../Zotlabs/Module/Rmagic.php:97 ../../include/channel.php:2598 +msgid "Enter your channel address (e.g. channel@example.com)" msgstr "" -#: ../../include/event.php:1428 ../../include/connections.php:739 -msgid "Work, Fax" +#: ../../Zotlabs/Module/Rmagic.php:98 ../../include/channel.php:2599 +msgid "Authenticate" msgstr "" -#: ../../include/event.php:1429 ../../include/event.php:1436 -#: ../../include/selectors.php:60 ../../include/selectors.php:77 -#: ../../include/selectors.php:115 ../../include/selectors.php:151 -#: ../../include/connections.php:740 ../../include/connections.php:747 -#: ../../Zotlabs/Module/Cdav.php:1380 ../../Zotlabs/Module/Profiles.php:797 -#: ../../Zotlabs/Module/Connedit.php:938 -#: ../../Zotlabs/Access/PermissionRoles.php:310 -msgid "Other" +#: ../../Zotlabs/Module/Attach.php:67 +msgid "Item not available." msgstr "" -#: ../../include/features.php:55 ../../Zotlabs/Module/Admin/Features.php:55 -#: ../../Zotlabs/Module/Admin/Features.php:56 -#: ../../Zotlabs/Module/Settings/Features.php:38 -msgid "Off" +#: ../../Zotlabs/Module/Pconfig.php:32 ../../Zotlabs/Module/Pconfig.php:68 +msgid "This setting requires special processing and editing has been blocked." msgstr "" -#: ../../include/features.php:55 ../../Zotlabs/Module/Admin/Features.php:55 -#: ../../Zotlabs/Module/Admin/Features.php:56 -#: ../../Zotlabs/Module/Settings/Features.php:38 -msgid "On" +#: ../../Zotlabs/Module/Pconfig.php:57 +msgid "Configuration Editor" msgstr "" -#: ../../include/features.php:82 ../../include/nav.php:463 -#: ../../include/nav.php:466 ../../Zotlabs/Lib/Apps.php:346 -#: ../../Zotlabs/Storage/Browser.php:140 -msgid "Calendar" +#: ../../Zotlabs/Module/Pconfig.php:58 +msgid "" +"Warning: Changing some settings could render your channel inoperable. Please " +"leave this page unless you are comfortable with and knowledgeable about how " +"to correctly use this feature." msgstr "" -#: ../../include/features.php:86 -msgid "Start calendar week on Monday" +#: ../../Zotlabs/Module/Randprof.php:29 +msgid "Random Channel App" msgstr "" -#: ../../include/features.php:87 -msgid "Default is Sunday" +#: ../../Zotlabs/Module/Randprof.php:30 +msgid "Visit a random channel in the $Projectname network" msgstr "" -#: ../../include/features.php:94 -msgid "Event Timezone Selection" +#: ../../Zotlabs/Module/Admin/Themes.php:26 +msgid "Theme settings updated." msgstr "" -#: ../../include/features.php:95 -msgid "Allow event creation in timezones other than your own." +#: ../../Zotlabs/Module/Admin/Themes.php:61 +msgid "No themes found." msgstr "" -#: ../../include/features.php:104 ../../Zotlabs/Lib/Apps.php:343 -msgid "Channel Home" +#: ../../Zotlabs/Module/Admin/Themes.php:95 +#: ../../Zotlabs/Module/Admin/Addons.php:311 +msgid "Disable" msgstr "" -#: ../../include/features.php:108 -msgid "Search by Date" +#: ../../Zotlabs/Module/Admin/Themes.php:97 +#: ../../Zotlabs/Module/Admin/Addons.php:314 +msgid "Enable" msgstr "" -#: ../../include/features.php:109 -msgid "Ability to select posts by date ranges" +#: ../../Zotlabs/Module/Admin/Themes.php:116 +msgid "Screenshot" msgstr "" -#: ../../include/features.php:116 -msgid "Tag Cloud" +#: ../../Zotlabs/Module/Admin/Themes.php:123 +#: ../../Zotlabs/Module/Admin/Themes.php:157 ../../Zotlabs/Widget/Admin.php:28 +msgid "Themes" msgstr "" -#: ../../include/features.php:117 -msgid "Provide a personal tag cloud on your channel page" +#: ../../Zotlabs/Module/Admin/Themes.php:124 +#: ../../Zotlabs/Module/Admin/Addons.php:344 +msgid "Toggle" msgstr "" -#: ../../include/features.php:124 ../../include/features.php:359 -msgid "Use blog/list mode" +#: ../../Zotlabs/Module/Admin/Themes.php:125 +#: ../../Zotlabs/Module/Admin/Addons.php:345 ../../Zotlabs/Lib/Apps.php:339 +#: ../../Zotlabs/Widget/Settings_menu.php:61 +#: ../../Zotlabs/Widget/Newmember.php:53 ../../include/nav.php:103 +msgid "Settings" msgstr "" -#: ../../include/features.php:125 ../../include/features.php:360 -msgid "Comments will be displayed separately" +#: ../../Zotlabs/Module/Admin/Themes.php:134 +#: ../../Zotlabs/Module/Admin/Addons.php:352 +msgid "Author: " msgstr "" -#: ../../include/features.php:137 -msgid "Connection Filtering" +#: ../../Zotlabs/Module/Admin/Themes.php:135 +#: ../../Zotlabs/Module/Admin/Addons.php:353 +msgid "Maintainer: " msgstr "" -#: ../../include/features.php:138 -msgid "Filter incoming posts from connections based on keywords/content" +#: ../../Zotlabs/Module/Admin/Themes.php:162 +msgid "[Experimental]" msgstr "" -#: ../../include/features.php:146 -msgid "Conversation" +#: ../../Zotlabs/Module/Admin/Themes.php:163 +msgid "[Unsupported]" msgstr "" -#: ../../include/features.php:158 -msgid "Emoji Reactions" +#: ../../Zotlabs/Module/Admin/Security.php:89 +msgid "" +"By default, unfiltered HTML is allowed in embedded media. This is inherently " +"insecure." msgstr "" -#: ../../include/features.php:159 -msgid "Add emoji reaction ability to posts" +#: ../../Zotlabs/Module/Admin/Security.php:92 +msgid "" +"The recommended setting is to only allow unfiltered HTML from the following " +"sites:" msgstr "" -#: ../../include/features.php:166 -msgid "Dislike Posts" +#: ../../Zotlabs/Module/Admin/Security.php:93 +msgid "" +"https://youtube.com/<br />https://www.youtube.com/<br />https://youtu.be/" +"<br />https://vimeo.com/<br />https://soundcloud.com/<br />" msgstr "" -#: ../../include/features.php:167 -msgid "Ability to dislike posts/comments" +#: ../../Zotlabs/Module/Admin/Security.php:94 +msgid "" +"All other embedded content will be filtered, <strong>unless</strong> " +"embedded content from that site is explicitly blocked." msgstr "" -#: ../../include/features.php:174 -msgid "Star Posts" +#: ../../Zotlabs/Module/Admin/Security.php:99 ../../Zotlabs/Widget/Admin.php:25 +msgid "Security" msgstr "" -#: ../../include/features.php:175 -msgid "Ability to mark special posts with a star indicator" +#: ../../Zotlabs/Module/Admin/Security.php:101 +msgid "Block public" msgstr "" -#: ../../include/features.php:182 -msgid "Reply on comment" +#: ../../Zotlabs/Module/Admin/Security.php:101 +msgid "" +"Check to block public access to all otherwise public personal pages on this " +"site unless you are currently authenticated." msgstr "" -#: ../../include/features.php:183 -msgid "Ability to reply on selected comment" +#: ../../Zotlabs/Module/Admin/Security.php:102 +msgid "Provide a cloud root directory" msgstr "" -#: ../../include/features.php:192 ../../Zotlabs/Lib/Apps.php:347 -msgid "Directory" +#: ../../Zotlabs/Module/Admin/Security.php:102 +msgid "" +"The cloud root directory lists all channel names which provide public files" msgstr "" -#: ../../include/features.php:196 -msgid "Advanced Directory Search" +#: ../../Zotlabs/Module/Admin/Security.php:103 +msgid "Show total disk space available to cloud uploads" msgstr "" -#: ../../include/features.php:197 -msgid "Allows creation of complex directory search queries" +#: ../../Zotlabs/Module/Admin/Security.php:104 +msgid "Set \"Transport Security\" HTTP header" msgstr "" -#: ../../include/features.php:206 -msgid "Editor" +#: ../../Zotlabs/Module/Admin/Security.php:105 +msgid "Set \"Content Security Policy\" HTTP header" msgstr "" -#: ../../include/features.php:210 -msgid "Post Categories" +#: ../../Zotlabs/Module/Admin/Security.php:106 +msgid "Allowed email domains" msgstr "" -#: ../../include/features.php:211 -msgid "Add categories to your posts" +#: ../../Zotlabs/Module/Admin/Security.php:106 +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 "" -#: ../../include/features.php:219 -msgid "Large Photos" +#: ../../Zotlabs/Module/Admin/Security.php:107 +msgid "Not allowed email domains" msgstr "" -#: ../../include/features.php:220 +#: ../../Zotlabs/Module/Admin/Security.php:107 msgid "" -"Include large (1024px) photo thumbnails in posts. If not enabled, use small " -"(640px) photo thumbnails" +"Comma separated list of domains which are not allowed in email addresses for " +"registrations to this site. Wildcards are accepted. Empty to allow any " +"domains, unless allowed domains have been defined." msgstr "" -#: ../../include/features.php:227 -msgid "Even More Encryption" +#: ../../Zotlabs/Module/Admin/Security.php:108 +msgid "Allow communications only from these sites" msgstr "" -#: ../../include/features.php:228 +#: ../../Zotlabs/Module/Admin/Security.php:108 msgid "" -"Allow optional encryption of content end-to-end with a shared secret key" +"One site per line. Leave empty to allow communication from anywhere by " +"default" msgstr "" -#: ../../include/features.php:235 -msgid "Disable Comments" +#: ../../Zotlabs/Module/Admin/Security.php:109 +msgid "Block communications from these sites" msgstr "" -#: ../../include/features.php:236 -msgid "Provide the option to disable comments for a post" +#: ../../Zotlabs/Module/Admin/Security.php:110 +msgid "Allow communications only from these channels" msgstr "" -#: ../../include/features.php:243 -msgid "Delayed Posting" +#: ../../Zotlabs/Module/Admin/Security.php:110 +msgid "" +"One channel (hash) per line. Leave empty to allow from any channel by default" msgstr "" -#: ../../include/features.php:244 -msgid "Allow posts to be published at a later date" +#: ../../Zotlabs/Module/Admin/Security.php:111 +msgid "Block communications from these channels" msgstr "" -#: ../../include/features.php:251 -msgid "Content Expiration" +#: ../../Zotlabs/Module/Admin/Security.php:112 +msgid "Only allow embeds from secure (SSL) websites and links." msgstr "" -#: ../../include/features.php:252 -msgid "Remove posts/comments and/or private messages at a future time" +#: ../../Zotlabs/Module/Admin/Security.php:113 +msgid "Allow unfiltered embedded HTML content only from these domains" msgstr "" -#: ../../include/features.php:259 -msgid "Suppress Duplicate Posts/Comments" +#: ../../Zotlabs/Module/Admin/Security.php:113 +msgid "One site per line. By default embedded content is filtered." msgstr "" -#: ../../include/features.php:260 -msgid "" -"Prevent posts with identical content to be published with less than two " -"minutes in between submissions." +#: ../../Zotlabs/Module/Admin/Security.php:114 +msgid "Block embedded HTML from these domains" msgstr "" -#: ../../include/features.php:267 -msgid "Auto-save drafts of posts and comments" +#: ../../Zotlabs/Module/Admin/Security.php:115 +msgid "Allow SVG thumbnails in file browser" msgstr "" -#: ../../include/features.php:268 -msgid "" -"Automatically saves post and comment drafts in local browser storage to help " -"prevent accidental loss of compositions" +#: ../../Zotlabs/Module/Admin/Security.php:115 +msgid "WARNING: SVG images may contain malicious code." msgstr "" -#: ../../include/features.php:277 -msgid "Manage" +#: ../../Zotlabs/Module/Admin/Security.php:116 +msgid "Allow embedded (inline) PDF files" msgstr "" -#: ../../include/features.php:281 -msgid "Navigation Channel Select" -msgstr "" +#: ../../Zotlabs/Module/Admin/Accounts.php:37 +#, php-format +msgid "%s account blocked/unblocked" +msgid_plural "%s account blocked/unblocked" +msgstr[0] "" +msgstr[1] "" -#: ../../include/features.php:282 -msgid "Change channels directly from within the navigation dropdown menu" -msgstr "" +#: ../../Zotlabs/Module/Admin/Accounts.php:44 +#, php-format +msgid "%s account deleted" +msgid_plural "%s accounts deleted" +msgstr[0] "" +msgstr[1] "" -#: ../../include/features.php:291 ../../Zotlabs/Module/Connections.php:332 -msgid "Network" +#: ../../Zotlabs/Module/Admin/Accounts.php:80 +msgid "Account not found" msgstr "" -#: ../../include/features.php:295 -msgid "Events Filter" +#: ../../Zotlabs/Module/Admin/Accounts.php:91 ../../include/channel.php:2757 +#, php-format +msgid "Account '%s' deleted" msgstr "" -#: ../../include/features.php:296 -msgid "Ability to display only events" +#: ../../Zotlabs/Module/Admin/Accounts.php:99 +#, php-format +msgid "Account '%s' blocked" msgstr "" -#: ../../include/features.php:303 -msgid "Polls Filter" +#: ../../Zotlabs/Module/Admin/Accounts.php:107 +#, php-format +msgid "Account '%s' unblocked" msgstr "" -#: ../../include/features.php:304 -msgid "Ability to display only polls" +#: ../../Zotlabs/Module/Admin/Accounts.php:169 +#: ../../Zotlabs/Module/Admin/Channels.php:148 +msgid "select all" msgstr "" -#: ../../include/features.php:311 ../../Zotlabs/Widget/Savedsearch.php:83 -msgid "Saved Searches" +#: ../../Zotlabs/Module/Admin/Accounts.php:170 +msgid "Registrations waiting for confirm" msgstr "" -#: ../../include/features.php:312 -msgid "Save search terms for re-use" +#: ../../Zotlabs/Module/Admin/Accounts.php:171 +msgid "Request date" msgstr "" -#: ../../include/features.php:319 ../../include/contact_widgets.php:53 -#: ../../Zotlabs/Widget/Activity_filter.php:179 -#: ../../Zotlabs/Widget/Filer.php:28 -msgid "Saved Folders" +#: ../../Zotlabs/Module/Admin/Accounts.php:172 +msgid "No registrations." msgstr "" -#: ../../include/features.php:320 -msgid "Ability to file posts under folders" +#: ../../Zotlabs/Module/Admin/Accounts.php:182 +msgid "ID" msgstr "" -#: ../../include/features.php:327 -msgid "Alternate Stream Order" +#: ../../Zotlabs/Module/Admin/Accounts.php:184 +msgid "All Channels" msgstr "" -#: ../../include/features.php:328 -msgid "" -"Ability to order the stream by last post date, last comment date or " -"unthreaded activities" +#: ../../Zotlabs/Module/Admin/Accounts.php:185 +msgid "Register date" msgstr "" -#: ../../include/features.php:335 -msgid "Contact Filter" +#: ../../Zotlabs/Module/Admin/Accounts.php:186 +msgid "Last login" msgstr "" -#: ../../include/features.php:336 -msgid "Ability to display only posts of a selected contact" +#: ../../Zotlabs/Module/Admin/Accounts.php:187 +msgid "Expires" msgstr "" -#: ../../include/features.php:343 -msgid "Forum Filter" +#: ../../Zotlabs/Module/Admin/Accounts.php:188 +msgid "Service Class" msgstr "" -#: ../../include/features.php:344 -msgid "Ability to display only posts of a specific forum" +#: ../../Zotlabs/Module/Admin/Accounts.php:190 +msgid "" +"Selected accounts will be deleted!\\n\\nEverything these accounts had posted " +"on this site will be permanently deleted!\\n\\nAre you sure?" msgstr "" -#: ../../include/features.php:351 -msgid "Personal Posts Filter" +#: ../../Zotlabs/Module/Admin/Accounts.php:191 +msgid "" +"The account {0} will be deleted!\\n\\nEverything this account has posted on " +"this site will be permanently deleted!\\n\\nAre you sure?" msgstr "" -#: ../../include/features.php:352 -msgid "Ability to display only posts that you've interacted on" +#: ../../Zotlabs/Module/Admin/Features.php:55 +#: ../../Zotlabs/Module/Admin/Features.php:56 +#: ../../Zotlabs/Module/Settings/Features.php:38 ../../include/features.php:55 +msgid "Off" msgstr "" -#: ../../include/features.php:369 ../../include/nav.php:444 -#: ../../Zotlabs/Module/Fbrowser.php:29 ../../Zotlabs/Lib/Apps.php:345 -msgid "Photos" +#: ../../Zotlabs/Module/Admin/Features.php:55 +#: ../../Zotlabs/Module/Admin/Features.php:56 +#: ../../Zotlabs/Module/Settings/Features.php:38 ../../include/features.php:55 +msgid "On" msgstr "" -#: ../../include/features.php:373 -msgid "Photo Location" +#: ../../Zotlabs/Module/Admin/Features.php:56 +#, php-format +msgid "Lock feature %s" msgstr "" -#: ../../include/features.php:374 -msgid "If location data is available on uploaded photos, link this to a map." +#: ../../Zotlabs/Module/Admin/Features.php:64 +msgid "Manage Additional Features" msgstr "" -#: ../../include/features.php:383 ../../Zotlabs/Lib/Apps.php:363 -msgid "Profiles" +#: ../../Zotlabs/Module/Admin/Queue.php:35 +msgid "Queue Statistics" msgstr "" -#: ../../include/features.php:387 -msgid "Advanced Profiles" +#: ../../Zotlabs/Module/Admin/Queue.php:36 +msgid "Total Entries" msgstr "" -#: ../../include/features.php:388 -msgid "Additional profile sections and selections" +#: ../../Zotlabs/Module/Admin/Queue.php:37 +msgid "Priority" msgstr "" -#: ../../include/features.php:395 -msgid "Profile Import/Export" +#: ../../Zotlabs/Module/Admin/Queue.php:38 +msgid "Destination URL" msgstr "" -#: ../../include/features.php:396 -msgid "Save and load profile details across sites/channels" +#: ../../Zotlabs/Module/Admin/Queue.php:39 +msgid "Mark hub permanently offline" msgstr "" -#: ../../include/features.php:403 -msgid "Multiple Profiles" +#: ../../Zotlabs/Module/Admin/Queue.php:40 +msgid "Empty queue for this hub" msgstr "" -#: ../../include/features.php:404 -msgid "Ability to create multiple profiles" +#: ../../Zotlabs/Module/Admin/Queue.php:41 +msgid "Last known contact" msgstr "" -#: ../../include/security.php:609 -msgid "" -"The form security token was not correct. This probably happened because the " -"form has been opened for too long (>3 hours) before submitting it." +#: ../../Zotlabs/Module/Admin/Dbsync.php:19 +#: ../../Zotlabs/Module/Admin/Dbsync.php:59 +msgid "Update has been marked successful" msgstr "" -#: ../../include/js_strings.php:5 -msgid "Delete this item?" +#: ../../Zotlabs/Module/Admin/Dbsync.php:32 +#, php-format +msgid "Verification of update %s failed. Check system logs." msgstr "" -#: ../../include/js_strings.php:6 ../../Zotlabs/Module/Photos.php:1096 -#: ../../Zotlabs/Module/Photos.php:1214 ../../Zotlabs/Lib/ThreadItem.php:824 -msgid "Comment" +#: ../../Zotlabs/Module/Admin/Dbsync.php:35 +#: ../../Zotlabs/Module/Admin/Dbsync.php:74 +#, php-format +msgid "Update %s was successfully applied." msgstr "" -#: ../../include/js_strings.php:7 ../../Zotlabs/Lib/ThreadItem.php:533 +#: ../../Zotlabs/Module/Admin/Dbsync.php:39 #, php-format -msgid "%s show all" +msgid "Verifying update %s did not return a status. Unknown if it succeeded." msgstr "" -#: ../../include/js_strings.php:8 +#: ../../Zotlabs/Module/Admin/Dbsync.php:42 #, php-format -msgid "%s show less" +msgid "Update %s does not contain a verification function." msgstr "" -#: ../../include/js_strings.php:9 +#: ../../Zotlabs/Module/Admin/Dbsync.php:46 +#: ../../Zotlabs/Module/Admin/Dbsync.php:81 #, php-format -msgid "%s expand" +msgid "Update function %s could not be found." msgstr "" -#: ../../include/js_strings.php:10 +#: ../../Zotlabs/Module/Admin/Dbsync.php:71 #, php-format -msgid "%s collapse" +msgid "Executing update procedure %s failed. Check system logs." msgstr "" -#: ../../include/js_strings.php:11 -msgid "Password too short" +#: ../../Zotlabs/Module/Admin/Dbsync.php:78 +#, php-format +msgid "" +"Update %s did not return a status. It cannot be determined if it was " +"successful." msgstr "" -#: ../../include/js_strings.php:12 -msgid "Passwords do not match" +#: ../../Zotlabs/Module/Admin/Dbsync.php:99 +msgid "Failed Updates" msgstr "" -#: ../../include/js_strings.php:13 -msgid "everybody" +#: ../../Zotlabs/Module/Admin/Dbsync.php:101 +msgid "Mark success (if update was manually applied)" msgstr "" -#: ../../include/js_strings.php:14 -msgid "Secret Passphrase" +#: ../../Zotlabs/Module/Admin/Dbsync.php:102 +msgid "Attempt to verify this update if a verification procedure exists" msgstr "" -#: ../../include/js_strings.php:15 -msgid "Passphrase hint" +#: ../../Zotlabs/Module/Admin/Dbsync.php:103 +msgid "Attempt to execute this update step automatically" msgstr "" -#: ../../include/js_strings.php:16 -msgid "Notice: Permissions have changed but have not yet been submitted." +#: ../../Zotlabs/Module/Admin/Dbsync.php:108 +msgid "No failed updates." msgstr "" -#: ../../include/js_strings.php:17 -msgid "close all" -msgstr "" +#: ../../Zotlabs/Module/Admin/Channels.php:31 +#, php-format +msgid "%s channel censored/uncensored" +msgid_plural "%s channels censored/uncensored" +msgstr[0] "" +msgstr[1] "" -#: ../../include/js_strings.php:18 -msgid "Nothing new here" -msgstr "" +#: ../../Zotlabs/Module/Admin/Channels.php:40 +#, php-format +msgid "%s channel code allowed/disallowed" +msgid_plural "%s channels code allowed/disallowed" +msgstr[0] "" +msgstr[1] "" -#: ../../include/js_strings.php:19 -msgid "Rate This Channel (this is public)" -msgstr "" +#: ../../Zotlabs/Module/Admin/Channels.php:46 +#, php-format +msgid "%s channel deleted" +msgid_plural "%s channels deleted" +msgstr[0] "" +msgstr[1] "" -#: ../../include/js_strings.php:20 ../../Zotlabs/Module/Rate.php:155 -#: ../../Zotlabs/Module/Connedit.php:890 -msgid "Rating" +#: ../../Zotlabs/Module/Admin/Channels.php:65 +msgid "Channel not found" msgstr "" -#: ../../include/js_strings.php:21 -msgid "Describe (optional)" +#: ../../Zotlabs/Module/Admin/Channels.php:75 +#, php-format +msgid "Channel '%s' deleted" msgstr "" -#: ../../include/js_strings.php:23 -msgid "Please enter a link URL" +#: ../../Zotlabs/Module/Admin/Channels.php:87 +#, php-format +msgid "Channel '%s' censored" msgstr "" -#: ../../include/js_strings.php:24 -msgid "Unsaved changes. Are you sure you wish to leave this page?" +#: ../../Zotlabs/Module/Admin/Channels.php:87 +#, php-format +msgid "Channel '%s' uncensored" msgstr "" -#: ../../include/js_strings.php:25 ../../Zotlabs/Module/Pubsites.php:52 -#: ../../Zotlabs/Module/Cdav.php:1011 ../../Zotlabs/Module/Events.php:483 -#: ../../Zotlabs/Module/Profiles.php:511 ../../Zotlabs/Module/Profiles.php:736 -#: ../../Zotlabs/Module/Locs.php:121 -msgid "Location" +#: ../../Zotlabs/Module/Admin/Channels.php:98 +#, php-format +msgid "Channel '%s' code allowed" msgstr "" -#: ../../include/js_strings.php:26 -msgid "lovely" +#: ../../Zotlabs/Module/Admin/Channels.php:98 +#, php-format +msgid "Channel '%s' code disallowed" msgstr "" -#: ../../include/js_strings.php:27 -msgid "wonderful" +#: ../../Zotlabs/Module/Admin/Channels.php:150 +#: ../../Zotlabs/Module/Directory.php:362 +msgid "Censor" msgstr "" -#: ../../include/js_strings.php:28 -msgid "fantastic" +#: ../../Zotlabs/Module/Admin/Channels.php:151 +#: ../../Zotlabs/Module/Directory.php:362 +msgid "Uncensor" msgstr "" -#: ../../include/js_strings.php:29 -msgid "great" +#: ../../Zotlabs/Module/Admin/Channels.php:152 +msgid "Allow Code" msgstr "" -#: ../../include/js_strings.php:30 -msgid "" -"Your chosen nickname was either already taken or not valid. Please use our " -"suggestion (" +#: ../../Zotlabs/Module/Admin/Channels.php:153 +msgid "Disallow Code" msgstr "" -#: ../../include/js_strings.php:31 -msgid ") or enter a new one." +#: ../../Zotlabs/Module/Admin/Channels.php:154 ../../include/nav.php:421 +msgid "Channel" msgstr "" -#: ../../include/js_strings.php:32 -msgid "Thank you, this nickname is valid." +#: ../../Zotlabs/Module/Admin/Channels.php:158 +msgid "UID" msgstr "" -#: ../../include/js_strings.php:33 -msgid "A channel name is required." +#: ../../Zotlabs/Module/Admin/Channels.php:162 +msgid "" +"Selected channels will be deleted!\\n\\nEverything that was posted in these " +"channels on this site will be permanently deleted!\\n\\nAre you sure?" msgstr "" -#: ../../include/js_strings.php:34 -msgid "This is a " +#: ../../Zotlabs/Module/Admin/Channels.php:163 +msgid "" +"The channel {0} will be deleted!\\n\\nEverything that was posted in this " +"channel on this site will be permanently deleted!\\n\\nAre you sure?" msgstr "" -#: ../../include/js_strings.php:35 -msgid " channel name" +#: ../../Zotlabs/Module/Admin/Logs.php:28 +msgid "Log settings updated." msgstr "" -#: ../../include/js_strings.php:36 -msgid "Back to reply" +#: ../../Zotlabs/Module/Admin/Logs.php:83 ../../Zotlabs/Widget/Admin.php:48 +#: ../../Zotlabs/Widget/Admin.php:58 +msgid "Logs" msgstr "" -#: ../../include/js_strings.php:37 -msgid "Pinned" +#: ../../Zotlabs/Module/Admin/Logs.php:85 +msgid "Clear" msgstr "" -#: ../../include/js_strings.php:38 ../../Zotlabs/Lib/ThreadItem.php:471 -msgid "Pin to the top" +#: ../../Zotlabs/Module/Admin/Logs.php:91 +msgid "Debugging" msgstr "" -#: ../../include/js_strings.php:39 ../../Zotlabs/Widget/Pinned.php:157 -#: ../../Zotlabs/Lib/ThreadItem.php:471 -msgid "Unpin from the top" +#: ../../Zotlabs/Module/Admin/Logs.php:92 +msgid "Log file" msgstr "" -#: ../../include/js_strings.php:45 -#, php-format -msgid "%d minutes" -msgid_plural "%d minutes" -msgstr[0] "" -msgstr[1] "" - -#: ../../include/js_strings.php:46 -#, php-format -msgid "about %d hours" -msgid_plural "about %d hours" -msgstr[0] "" -msgstr[1] "" +#: ../../Zotlabs/Module/Admin/Logs.php:92 +msgid "" +"Must be writable by web server. Relative to your top-level webserver " +"directory." +msgstr "" -#: ../../include/js_strings.php:47 -#, php-format -msgid "%d days" -msgid_plural "%d days" -msgstr[0] "" -msgstr[1] "" +#: ../../Zotlabs/Module/Admin/Logs.php:93 +msgid "Log level" +msgstr "" -#: ../../include/js_strings.php:48 +#: ../../Zotlabs/Module/Admin/Account_edit.php:29 #, php-format -msgid "%d months" -msgid_plural "%d months" -msgstr[0] "" -msgstr[1] "" +msgid "Password changed for account %d." +msgstr "" -#: ../../include/js_strings.php:49 -#, php-format -msgid "%d years" -msgid_plural "%d years" -msgstr[0] "" -msgstr[1] "" +#: ../../Zotlabs/Module/Admin/Account_edit.php:46 +msgid "Account settings updated." +msgstr "" -#: ../../include/js_strings.php:54 -msgid "timeago.prefixAgo" +#: ../../Zotlabs/Module/Admin/Account_edit.php:61 +msgid "Account not found." msgstr "" -#: ../../include/js_strings.php:55 -msgid "timeago.prefixFromNow" +#: ../../Zotlabs/Module/Admin/Account_edit.php:68 +msgid "Account Edit" msgstr "" -#: ../../include/js_strings.php:56 -msgid "timeago.suffixAgo" +#: ../../Zotlabs/Module/Admin/Account_edit.php:69 +msgid "New Password" msgstr "" -#: ../../include/js_strings.php:57 -msgid "timeago.suffixFromNow" +#: ../../Zotlabs/Module/Admin/Account_edit.php:70 +msgid "New Password again" msgstr "" -#: ../../include/js_strings.php:60 -msgid "less than a minute" +#: ../../Zotlabs/Module/Admin/Account_edit.php:71 +msgid "Account language (for emails)" msgstr "" -#: ../../include/js_strings.php:61 -msgid "about a minute" +#: ../../Zotlabs/Module/Admin/Account_edit.php:72 +msgid "Service class" msgstr "" -#: ../../include/js_strings.php:63 -msgid "about an hour" +#: ../../Zotlabs/Module/Admin/Addons.php:290 +#, php-format +msgid "Plugin %s disabled." msgstr "" -#: ../../include/js_strings.php:65 -msgid "a day" +#: ../../Zotlabs/Module/Admin/Addons.php:295 +#, php-format +msgid "Plugin %s enabled." msgstr "" -#: ../../include/js_strings.php:67 -msgid "about a month" +#: ../../Zotlabs/Module/Admin/Addons.php:343 +#: ../../Zotlabs/Module/Admin/Addons.php:441 ../../Zotlabs/Widget/Admin.php:27 +msgid "Addons" msgstr "" -#: ../../include/js_strings.php:69 -msgid "about a year" +#: ../../Zotlabs/Module/Admin/Addons.php:354 +msgid "Minimum project version: " msgstr "" -#: ../../include/js_strings.php:71 -msgid " " +#: ../../Zotlabs/Module/Admin/Addons.php:355 +msgid "Maximum project version: " msgstr "" -#: ../../include/js_strings.php:72 -msgid "timeago.numbers" +#: ../../Zotlabs/Module/Admin/Addons.php:356 +msgid "Minimum PHP version: " msgstr "" -#: ../../include/js_strings.php:78 -msgctxt "long" -msgid "May" +#: ../../Zotlabs/Module/Admin/Addons.php:357 +msgid "Compatible Server Roles: " msgstr "" -#: ../../include/js_strings.php:86 -msgid "Jan" +#: ../../Zotlabs/Module/Admin/Addons.php:358 +msgid "Requires: " msgstr "" -#: ../../include/js_strings.php:87 -msgid "Feb" +#: ../../Zotlabs/Module/Admin/Addons.php:359 +#: ../../Zotlabs/Module/Admin/Addons.php:446 +msgid "Disabled - version incompatibility" msgstr "" -#: ../../include/js_strings.php:88 -msgid "Mar" +#: ../../Zotlabs/Module/Admin/Addons.php:415 +msgid "Enter the public git repository URL of the addon repo." msgstr "" -#: ../../include/js_strings.php:89 -msgid "Apr" +#: ../../Zotlabs/Module/Admin/Addons.php:416 +msgid "Addon repo git URL" msgstr "" -#: ../../include/js_strings.php:90 -msgctxt "short" -msgid "May" +#: ../../Zotlabs/Module/Admin/Addons.php:417 +msgid "Custom repo name" msgstr "" -#: ../../include/js_strings.php:91 -msgid "Jun" +#: ../../Zotlabs/Module/Admin/Addons.php:417 +msgid "(optional)" msgstr "" -#: ../../include/js_strings.php:92 -msgid "Jul" +#: ../../Zotlabs/Module/Admin/Addons.php:418 +msgid "Download Addon Repo" msgstr "" -#: ../../include/js_strings.php:93 -msgid "Aug" +#: ../../Zotlabs/Module/Admin/Addons.php:425 +msgid "Install new repo" msgstr "" -#: ../../include/js_strings.php:94 -msgid "Sep" +#: ../../Zotlabs/Module/Admin/Addons.php:426 ../../Zotlabs/Lib/Apps.php:536 +msgid "Install" msgstr "" -#: ../../include/js_strings.php:95 -msgid "Oct" +#: ../../Zotlabs/Module/Admin/Addons.php:449 +msgid "Manage Repos" msgstr "" -#: ../../include/js_strings.php:96 -msgid "Nov" +#: ../../Zotlabs/Module/Admin/Addons.php:450 +msgid "Installed Addon Repositories" msgstr "" -#: ../../include/js_strings.php:97 -msgid "Dec" +#: ../../Zotlabs/Module/Admin/Addons.php:451 +msgid "Install a New Addon Repository" msgstr "" -#: ../../include/js_strings.php:105 -msgid "Sun" +#: ../../Zotlabs/Module/Admin/Addons.php:458 +msgid "Switch branch" msgstr "" -#: ../../include/js_strings.php:106 -msgid "Mon" +#: ../../Zotlabs/Module/Admin/Site.php:165 +msgid "Site settings updated." msgstr "" -#: ../../include/js_strings.php:107 -msgid "Tue" +#: ../../Zotlabs/Module/Admin/Site.php:191 ../../include/text.php:3381 +#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:335 +#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:359 +#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:435 +#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:459 +#: ../../view/theme/redbasic/php/config.php:15 +msgid "Default" msgstr "" -#: ../../include/js_strings.php:108 -msgid "Wed" +#: ../../Zotlabs/Module/Admin/Site.php:202 +#: ../../Zotlabs/Module/Settings/Display.php:118 +#, php-format +msgid "%s - (Incompatible)" msgstr "" -#: ../../include/js_strings.php:109 -msgid "Thu" +#: ../../Zotlabs/Module/Admin/Site.php:209 +msgid "mobile" msgstr "" -#: ../../include/js_strings.php:110 -msgid "Fri" +#: ../../Zotlabs/Module/Admin/Site.php:211 +msgid "experimental" msgstr "" -#: ../../include/js_strings.php:111 -msgid "Sat" +#: ../../Zotlabs/Module/Admin/Site.php:213 +msgid "unsupported" msgstr "" -#: ../../include/js_strings.php:112 -msgctxt "calendar" -msgid "today" +#: ../../Zotlabs/Module/Admin/Site.php:260 +msgid "Yes - with approval" msgstr "" -#: ../../include/js_strings.php:113 -msgctxt "calendar" -msgid "month" +#: ../../Zotlabs/Module/Admin/Site.php:266 +msgid "My site is not a public server" msgstr "" -#: ../../include/js_strings.php:114 -msgctxt "calendar" -msgid "week" +#: ../../Zotlabs/Module/Admin/Site.php:267 +msgid "My site has paid access only" msgstr "" -#: ../../include/js_strings.php:115 -msgctxt "calendar" -msgid "day" +#: ../../Zotlabs/Module/Admin/Site.php:268 +msgid "My site has free access only" msgstr "" -#: ../../include/js_strings.php:116 -msgctxt "calendar" -msgid "All day" +#: ../../Zotlabs/Module/Admin/Site.php:269 +msgid "My site offers free accounts with optional paid upgrades" msgstr "" -#: ../../include/help.php:80 -msgid "Help:" +#: ../../Zotlabs/Module/Admin/Site.php:283 +msgid "Default permission role for new accounts" msgstr "" -#: ../../include/help.php:117 ../../include/help.php:125 -#: ../../include/nav.php:174 ../../include/nav.php:320 -#: ../../Zotlabs/Module/Layouts.php:186 ../../Zotlabs/Lib/Apps.php:348 -msgid "Help" +#: ../../Zotlabs/Module/Admin/Site.php:283 +msgid "" +"This role will be used for the first channel created after registration." msgstr "" -#: ../../include/help.php:129 -msgid "Not Found" +#: ../../Zotlabs/Module/Admin/Site.php:292 ../../Zotlabs/Widget/Admin.php:22 +msgid "Site" msgstr "" -#: ../../include/help.php:132 ../../Zotlabs/Module/Display.php:139 -#: ../../Zotlabs/Module/Display.php:156 ../../Zotlabs/Module/Display.php:176 -#: ../../Zotlabs/Module/Display.php:182 ../../Zotlabs/Module/Page.php:136 -#: ../../Zotlabs/Module/Block.php:77 ../../Zotlabs/Lib/NativeWikiPage.php:521 -#: ../../Zotlabs/Web/Router.php:185 -msgid "Page not found." +#: ../../Zotlabs/Module/Admin/Site.php:294 +#: ../../Zotlabs/Module/Register.php:277 +msgid "Registration" msgstr "" -#: ../../include/photos.php:151 -#, php-format -msgid "Image exceeds website size limit of %lu bytes" +#: ../../Zotlabs/Module/Admin/Site.php:295 +msgid "File upload" msgstr "" -#: ../../include/photos.php:162 -msgid "Image file is empty." +#: ../../Zotlabs/Module/Admin/Site.php:296 +msgid "Policies" msgstr "" -#: ../../include/photos.php:196 ../../Zotlabs/Module/Profile_photo.php:261 -#: ../../Zotlabs/Module/Cover_photo.php:241 -msgid "Unable to process image" +#: ../../Zotlabs/Module/Admin/Site.php:297 ../../include/contact_widgets.php:16 +#: ../../include/acl_selectors.php:144 +msgid "Advanced" msgstr "" -#: ../../include/photos.php:324 -msgid "Photo storage failed." +#: ../../Zotlabs/Module/Admin/Site.php:301 +#: ../../extend/addon/hzaddons/statusnet/statusnet.php:593 +msgid "Site name" msgstr "" -#: ../../include/photos.php:373 -msgid "a new photo" +#: ../../Zotlabs/Module/Admin/Site.php:303 +msgid "Banner/Logo" msgstr "" -#: ../../include/photos.php:377 -#, php-format -msgctxt "photo_upload" -msgid "%1$s posted %2$s to %3$s" +#: ../../Zotlabs/Module/Admin/Site.php:303 +msgid "Unfiltered HTML/CSS/JS is allowed" msgstr "" -#: ../../include/photos.php:666 ../../include/nav.php:447 -msgid "Photo Albums" +#: ../../Zotlabs/Module/Admin/Site.php:304 +msgid "Administrator Information" msgstr "" -#: ../../include/photos.php:667 ../../Zotlabs/Module/Photos.php:1347 -#: ../../Zotlabs/Module/Photos.php:1360 ../../Zotlabs/Module/Photos.php:1361 -msgid "Recent Photos" +#: ../../Zotlabs/Module/Admin/Site.php:304 +msgid "" +"Contact information for site administrators. Displayed on siteinfo page. " +"BBCode can be used here" msgstr "" -#: ../../include/photos.php:671 -msgid "Upload New Photos" +#: ../../Zotlabs/Module/Admin/Site.php:305 ../../Zotlabs/Module/Siteinfo.php:24 +msgid "Site Information" msgstr "" -#: ../../include/network.php:1730 ../../include/network.php:1731 -msgid "Friendica" +#: ../../Zotlabs/Module/Admin/Site.php:305 +msgid "" +"Publicly visible description of this site. Displayed on siteinfo page. " +"BBCode can be used here" msgstr "" -#: ../../include/network.php:1732 -msgid "OStatus" +#: ../../Zotlabs/Module/Admin/Site.php:306 +msgid "System language" msgstr "" -#: ../../include/network.php:1733 -msgid "GNU-Social" +#: ../../Zotlabs/Module/Admin/Site.php:307 +msgid "System theme" msgstr "" -#: ../../include/network.php:1734 -msgid "RSS/Atom" +#: ../../Zotlabs/Module/Admin/Site.php:307 +msgid "" +"Default system theme - may be over-ridden by user profiles - <a href='#' " +"id='cnftheme'>change theme settings</a>" msgstr "" -#: ../../include/network.php:1737 -msgid "Diaspora" +#: ../../Zotlabs/Module/Admin/Site.php:310 +msgid "Allow Feeds as Connections" msgstr "" -#: ../../include/network.php:1738 -msgid "Facebook" +#: ../../Zotlabs/Module/Admin/Site.php:310 +msgid "(Heavy system resource usage)" msgstr "" -#: ../../include/network.php:1739 -msgid "Zot" +#: ../../Zotlabs/Module/Admin/Site.php:311 +msgid "Maximum image size" msgstr "" -#: ../../include/network.php:1740 -msgid "LinkedIn" +#: ../../Zotlabs/Module/Admin/Site.php:311 +msgid "" +"Maximum size in bytes of uploaded images. Default is 0, which means no " +"limits." msgstr "" -#: ../../include/network.php:1741 -msgid "XMPP/IM" +#: ../../Zotlabs/Module/Admin/Site.php:312 +msgid "Does this site allow new member registration?" msgstr "" -#: ../../include/network.php:1742 -msgid "MySpace" +#: ../../Zotlabs/Module/Admin/Site.php:313 +msgid "Invitation only" msgstr "" -#: ../../include/activities.php:42 -msgid " and " +#: ../../Zotlabs/Module/Admin/Site.php:313 +msgid "" +"Only allow new member registrations with an invitation code. Above register " +"policy must be set to Yes." msgstr "" -#: ../../include/activities.php:50 -msgid "public profile" +#: ../../Zotlabs/Module/Admin/Site.php:314 +msgid "Minimum age" msgstr "" -#: ../../include/activities.php:59 -#, php-format -msgid "%1$s changed %2$s to “%3$s”" +#: ../../Zotlabs/Module/Admin/Site.php:314 +msgid "Minimum age (in years) for who may register on this site." msgstr "" -#: ../../include/activities.php:60 -#, php-format -msgid "Visit %1$s's %2$s" +#: ../../Zotlabs/Module/Admin/Site.php:315 +msgid "Which best describes the types of account offered by this hub?" msgstr "" -#: ../../include/activities.php:63 -#, php-format -msgid "%1$s has an updated %2$s, changing %3$s." +#: ../../Zotlabs/Module/Admin/Site.php:315 +msgid "This is displayed on the public server site list." msgstr "" -#: ../../include/contact_widgets.php:11 -#, php-format -msgid "%d invitation available" -msgid_plural "%d invitations available" -msgstr[0] "" -msgstr[1] "" +#: ../../Zotlabs/Module/Admin/Site.php:316 +msgid "Register text" +msgstr "" -#: ../../include/contact_widgets.php:16 ../../include/acl_selectors.php:135 -#: ../../Zotlabs/Module/Admin/Site.php:291 -msgid "Advanced" +#: ../../Zotlabs/Module/Admin/Site.php:316 +msgid "Will be displayed prominently on the registration page." msgstr "" -#: ../../include/contact_widgets.php:19 -msgid "Find Channels" +#: ../../Zotlabs/Module/Admin/Site.php:318 +msgid "Site homepage to show visitors (default: login box)" msgstr "" -#: ../../include/contact_widgets.php:20 -msgid "Enter name or interest" +#: ../../Zotlabs/Module/Admin/Site.php:318 +msgid "" +"example: 'pubstream' to show public stream, 'page/sys/home' to show a system " +"webpage called 'home' or 'include:home.html' to include a file." msgstr "" -#: ../../include/contact_widgets.php:21 -msgid "Connect/Follow" +#: ../../Zotlabs/Module/Admin/Site.php:319 +msgid "Preserve site homepage URL" msgstr "" -#: ../../include/contact_widgets.php:22 -msgid "Examples: Robert Morgenstein, Fishing" +#: ../../Zotlabs/Module/Admin/Site.php:319 +msgid "" +"Present the site homepage in a frame at the original location instead of " +"redirecting" msgstr "" -#: ../../include/contact_widgets.php:23 ../../Zotlabs/Module/Directory.php:431 -#: ../../Zotlabs/Module/Directory.php:436 -#: ../../Zotlabs/Module/Connections.php:381 -msgid "Find" +#: ../../Zotlabs/Module/Admin/Site.php:320 +msgid "Accounts abandoned after x days" msgstr "" -#: ../../include/contact_widgets.php:24 ../../Zotlabs/Module/Directory.php:435 -#: ../../Zotlabs/Module/Suggest.php:79 -msgid "Channel Suggestions" +#: ../../Zotlabs/Module/Admin/Site.php:320 +msgid "" +"Will not waste system resources polling external sites for abandonded " +"accounts. Enter 0 for no time limit." msgstr "" -#: ../../include/contact_widgets.php:26 -msgid "Random Profile" +#: ../../Zotlabs/Module/Admin/Site.php:321 +msgid "Allowed friend domains" msgstr "" -#: ../../include/contact_widgets.php:27 -msgid "Invite Friends" +#: ../../Zotlabs/Module/Admin/Site.php:321 +msgid "" +"Comma separated list of domains which are allowed to establish friendships " +"with this site. Wildcards are accepted. Empty to allow any domains" msgstr "" -#: ../../include/contact_widgets.php:29 -msgid "Advanced example: name=fred and country=iceland" +#: ../../Zotlabs/Module/Admin/Site.php:322 +msgid "Verify Email Addresses" msgstr "" -#: ../../include/contact_widgets.php:56 ../../include/contact_widgets.php:99 -#: ../../include/contact_widgets.php:142 ../../include/contact_widgets.php:187 -#: ../../Zotlabs/Widget/Appcategories.php:46 ../../Zotlabs/Widget/Filer.php:31 -msgid "Everything" +#: ../../Zotlabs/Module/Admin/Site.php:322 +msgid "" +"Check to verify email addresses used in account registration (recommended)." msgstr "" -#: ../../include/contact_widgets.php:96 ../../include/contact_widgets.php:139 -#: ../../include/contact_widgets.php:184 ../../include/taxonomy.php:409 -#: ../../include/taxonomy.php:491 ../../include/taxonomy.php:511 -#: ../../include/taxonomy.php:532 ../../Zotlabs/Widget/Appcategories.php:43 -#: ../../Zotlabs/Module/Cdav.php:1066 -msgid "Categories" +#: ../../Zotlabs/Module/Admin/Site.php:323 +msgid "Force publish" msgstr "" -#: ../../include/contact_widgets.php:218 -msgid "Common Connections" +#: ../../Zotlabs/Module/Admin/Site.php:323 +msgid "" +"Check to force all profiles on this site to be listed in the site directory." msgstr "" -#: ../../include/contact_widgets.php:222 -#, php-format -msgid "View all %d common connections" +#: ../../Zotlabs/Module/Admin/Site.php:324 +msgid "Import Public Streams" msgstr "" -#: ../../include/language.php:437 -msgid "Select an alternate language" +#: ../../Zotlabs/Module/Admin/Site.php:324 +msgid "" +"Import and allow access to public content pulled from other sites. Warning: " +"this content is unmoderated." msgstr "" -#: ../../include/import.php:29 -msgid "Unable to import a removed channel." +#: ../../Zotlabs/Module/Admin/Site.php:325 +msgid "Site only Public Streams" msgstr "" -#: ../../include/import.php:55 +#: ../../Zotlabs/Module/Admin/Site.php:325 msgid "" -"Cannot create a duplicate channel identifier on this system. Import failed." +"Allow access to public content originating only from this site if Imported " +"Public Streams are disabled." msgstr "" -#: ../../include/import.php:121 -msgid "Cloned channel not found. Import failed." +#: ../../Zotlabs/Module/Admin/Site.php:326 +msgid "Allow anybody on the internet to access the Public streams" msgstr "" -#: ../../include/nav.php:92 -msgid "Remote authentication" +#: ../../Zotlabs/Module/Admin/Site.php:326 +msgid "" +"Disable to require authentication before viewing. Warning: this content is " +"unmoderated." msgstr "" -#: ../../include/nav.php:92 -msgid "Click to authenticate to your home hub" +#: ../../Zotlabs/Module/Admin/Site.php:327 +msgid "Only import Public stream posts with this text" msgstr "" -#: ../../include/nav.php:98 ../../Zotlabs/Module/Manage.php:170 -#: ../../Zotlabs/Lib/Apps.php:337 -msgid "Channel Manager" +#: ../../Zotlabs/Module/Admin/Site.php:328 +msgid "Do not import Public stream posts with this text" msgstr "" -#: ../../include/nav.php:98 -msgid "Manage your channels" +#: ../../Zotlabs/Module/Admin/Site.php:331 +msgid "Login on Homepage" msgstr "" -#: ../../include/nav.php:101 ../../include/group.php:321 -#: ../../include/acl_selectors.php:87 -#: ../../Zotlabs/Widget/Activity_filter.php:82 -#: ../../Zotlabs/Module/Group.php:142 ../../Zotlabs/Module/Group.php:154 -#: ../../Zotlabs/Lib/Group.php:324 ../../Zotlabs/Lib/Apps.php:364 -msgid "Privacy Groups" +#: ../../Zotlabs/Module/Admin/Site.php:331 +msgid "" +"Present a login box to visitors on the home page if no other content has " +"been configured." msgstr "" -#: ../../include/nav.php:101 -msgid "Manage your privacy groups" +#: ../../Zotlabs/Module/Admin/Site.php:332 +msgid "Enable context help" msgstr "" -#: ../../include/nav.php:103 ../../Zotlabs/Widget/Settings_menu.php:61 -#: ../../Zotlabs/Widget/Newmember.php:53 -#: ../../Zotlabs/Module/Admin/Themes.php:125 -#: ../../Zotlabs/Module/Admin/Addons.php:345 ../../Zotlabs/Lib/Apps.php:339 -msgid "Settings" +#: ../../Zotlabs/Module/Admin/Site.php:332 +msgid "" +"Display contextual help for the current page when the help button is pressed." msgstr "" -#: ../../include/nav.php:103 -msgid "Account/Channel Settings" +#: ../../Zotlabs/Module/Admin/Site.php:334 +msgid "Reply-to email address for system generated email." msgstr "" -#: ../../include/nav.php:109 ../../include/nav.php:138 -#: ../../include/nav.php:157 ../../boot.php:1697 -msgid "Logout" +#: ../../Zotlabs/Module/Admin/Site.php:335 +msgid "Sender (From) email address for system generated email." msgstr "" -#: ../../include/nav.php:109 ../../include/nav.php:138 -msgid "End this session" +#: ../../Zotlabs/Module/Admin/Site.php:336 +msgid "Name of email sender for system generated email." msgstr "" -#: ../../include/nav.php:112 -msgid "Your profile page" +#: ../../Zotlabs/Module/Admin/Site.php:338 +msgid "Directory Server URL" msgstr "" -#: ../../include/nav.php:115 ../../include/channel.php:1524 -#: ../../Zotlabs/Module/Profiles.php:832 -msgid "Edit Profiles" +#: ../../Zotlabs/Module/Admin/Site.php:338 +msgid "Default directory server" msgstr "" -#: ../../include/nav.php:115 -msgid "Manage/Edit profiles" +#: ../../Zotlabs/Module/Admin/Site.php:340 +msgid "Enable SSE Notifications" msgstr "" -#: ../../include/nav.php:117 ../../Zotlabs/Widget/Newmember.php:35 -msgid "Edit your profile" +#: ../../Zotlabs/Module/Admin/Site.php:340 +msgid "" +"If disabled, traditional polling will be used. Warning: this setting might " +"not be suited for shared hosting" msgstr "" -#: ../../include/nav.php:124 ../../include/nav.php:128 -#: ../../Zotlabs/Lib/Apps.php:336 ../../boot.php:1698 -msgid "Login" +#: ../../Zotlabs/Module/Admin/Site.php:342 +msgid "Proxy user" msgstr "" -#: ../../include/nav.php:124 ../../include/nav.php:128 -msgid "Sign in" +#: ../../Zotlabs/Module/Admin/Site.php:343 +msgid "Proxy URL" msgstr "" -#: ../../include/nav.php:155 -msgid "Take me home" +#: ../../Zotlabs/Module/Admin/Site.php:344 +msgid "Network timeout" msgstr "" -#: ../../include/nav.php:157 -msgid "Log me out of this site" +#: ../../Zotlabs/Module/Admin/Site.php:344 +msgid "Value is in seconds. Set to 0 for unlimited (not recommended)." msgstr "" -#: ../../include/nav.php:162 ../../Zotlabs/Module/Register.php:293 -#: ../../boot.php:1678 -msgid "Register" +#: ../../Zotlabs/Module/Admin/Site.php:345 +msgid "Delivery interval" msgstr "" -#: ../../include/nav.php:162 -msgid "Create an account" +#: ../../Zotlabs/Module/Admin/Site.php:345 +msgid "" +"Delay background delivery processes by this many seconds to reduce system " +"load. Recommend: 4-5 for shared hosts, 2-3 for virtual private servers. 0-1 " +"for large dedicated servers." msgstr "" -#: ../../include/nav.php:174 -msgid "Help and documentation" +#: ../../Zotlabs/Module/Admin/Site.php:346 +msgid "Deliveries per process" msgstr "" -#: ../../include/nav.php:188 -msgid "Search site @name, !forum, #tag, ?docs, content" +#: ../../Zotlabs/Module/Admin/Site.php:346 +msgid "" +"Number of deliveries to attempt in a single operating system process. Adjust " +"if necessary to tune system performance. Recommend: 1-5." msgstr "" -#: ../../include/nav.php:194 ../../Zotlabs/Widget/Admin.php:55 -msgid "Admin" +#: ../../Zotlabs/Module/Admin/Site.php:347 +msgid "Queue Threshold" msgstr "" -#: ../../include/nav.php:194 -msgid "Site Setup and Configuration" +#: ../../Zotlabs/Module/Admin/Site.php:347 +msgid "" +"Always defer immediate delivery if queue contains more than this number of " +"entries." msgstr "" -#: ../../include/nav.php:324 ../../Zotlabs/Widget/Notifications.php:182 -#: ../../Zotlabs/Module/New_channel.php:157 -#: ../../Zotlabs/Module/New_channel.php:164 -#: ../../Zotlabs/Module/Defperms.php:257 ../../Zotlabs/Module/Connedit.php:872 -msgid "Loading" +#: ../../Zotlabs/Module/Admin/Site.php:348 +msgid "Poll interval" msgstr "" -#: ../../include/nav.php:330 -msgid "@name, !forum, #tag, ?doc, content" +#: ../../Zotlabs/Module/Admin/Site.php:348 +msgid "" +"Delay background polling processes by this many seconds to reduce system " +"load. If 0, use delivery interval." msgstr "" -#: ../../include/nav.php:331 -msgid "Please wait..." +#: ../../Zotlabs/Module/Admin/Site.php:349 +msgid "Path to ImageMagick convert program" msgstr "" -#: ../../include/nav.php:337 -msgid "Add Apps" +#: ../../Zotlabs/Module/Admin/Site.php:349 +msgid "" +"If set, use this program to generate photo thumbnails for huge images ( > " +"4000 pixels in either dimension), otherwise memory exhaustion may occur. " +"Example: /usr/bin/convert" msgstr "" -#: ../../include/nav.php:338 -msgid "Arrange Apps" +#: ../../Zotlabs/Module/Admin/Site.php:350 +msgid "Maximum Load Average" msgstr "" -#: ../../include/nav.php:339 -msgid "Toggle System Apps" +#: ../../Zotlabs/Module/Admin/Site.php:350 +msgid "" +"Maximum system load before delivery and poll processes are deferred - " +"default 50." msgstr "" -#: ../../include/nav.php:421 ../../Zotlabs/Module/Admin/Channels.php:154 -msgid "Channel" +#: ../../Zotlabs/Module/Admin/Site.php:351 +msgid "Expiration period in days for imported (grid/network) content" msgstr "" -#: ../../include/nav.php:424 -msgid "Status Messages and Posts" +#: ../../Zotlabs/Module/Admin/Site.php:351 +msgid "0 for no expiration of imported content" msgstr "" -#: ../../include/nav.php:434 ../../Zotlabs/Module/Help.php:83 -msgid "About" +#: ../../Zotlabs/Module/Admin/Site.php:352 +msgid "" +"Do not expire any posts which have comments less than this many days ago" msgstr "" -#: ../../include/nav.php:437 -msgid "Profile Details" +#: ../../Zotlabs/Module/Admin/Site.php:354 +msgid "" +"Public servers: Optional landing (marketing) webpage for new registrants" msgstr "" -#: ../../include/nav.php:452 ../../Zotlabs/Module/Fbrowser.php:85 -#: ../../Zotlabs/Lib/Apps.php:340 ../../Zotlabs/Storage/Browser.php:278 -msgid "Files" +#: ../../Zotlabs/Module/Admin/Site.php:354 +#, php-format +msgid "Create this page first. Default is %s/register" msgstr "" -#: ../../include/nav.php:455 -msgid "Files and Storage" +#: ../../Zotlabs/Module/Admin/Site.php:355 +msgid "Page to display after creating a new channel" msgstr "" -#: ../../include/nav.php:477 ../../include/nav.php:480 -#: ../../Zotlabs/Widget/Chatroom_list.php:16 ../../Zotlabs/Lib/Apps.php:330 -msgid "Chatrooms" +#: ../../Zotlabs/Module/Admin/Site.php:355 +msgid "Default: profiles" msgstr "" -#: ../../include/nav.php:490 ../../Zotlabs/Lib/Apps.php:329 -msgid "Bookmarks" +#: ../../Zotlabs/Module/Admin/Site.php:357 +msgid "Optional: site location" msgstr "" -#: ../../include/nav.php:493 -msgid "Saved Bookmarks" +#: ../../Zotlabs/Module/Admin/Site.php:357 +msgid "Region or country" msgstr "" -#: ../../include/nav.php:501 ../../Zotlabs/Module/Cards.php:207 -#: ../../Zotlabs/Lib/Apps.php:326 -msgid "Cards" +#: ../../Zotlabs/Module/Admin/Profs.php:89 +msgid "New Profile Field" msgstr "" -#: ../../include/nav.php:504 -msgid "View Cards" +#: ../../Zotlabs/Module/Admin/Profs.php:90 +#: ../../Zotlabs/Module/Admin/Profs.php:110 +msgid "Field nickname" msgstr "" -#: ../../include/nav.php:512 ../../Zotlabs/Module/Articles.php:226 -#: ../../Zotlabs/Lib/Apps.php:325 -msgid "Articles" +#: ../../Zotlabs/Module/Admin/Profs.php:90 +#: ../../Zotlabs/Module/Admin/Profs.php:110 +msgid "System name of field" msgstr "" -#: ../../include/nav.php:515 -msgid "View Articles" +#: ../../Zotlabs/Module/Admin/Profs.php:91 +#: ../../Zotlabs/Module/Admin/Profs.php:111 +msgid "Input type" msgstr "" -#: ../../include/nav.php:524 ../../Zotlabs/Module/Webpages.php:252 -#: ../../Zotlabs/Lib/Apps.php:341 -msgid "Webpages" +#: ../../Zotlabs/Module/Admin/Profs.php:92 +#: ../../Zotlabs/Module/Admin/Profs.php:112 +msgid "Field Name" msgstr "" -#: ../../include/nav.php:527 -msgid "View Webpages" +#: ../../Zotlabs/Module/Admin/Profs.php:92 +#: ../../Zotlabs/Module/Admin/Profs.php:112 +msgid "Label on profile pages" msgstr "" -#: ../../include/nav.php:536 ../../Zotlabs/Widget/Wiki_list.php:15 -#: ../../Zotlabs/Module/Wiki.php:206 -msgid "Wikis" +#: ../../Zotlabs/Module/Admin/Profs.php:93 +#: ../../Zotlabs/Module/Admin/Profs.php:113 +msgid "Help text" msgstr "" -#: ../../include/nav.php:539 ../../Zotlabs/Lib/Apps.php:342 -msgid "Wiki" +#: ../../Zotlabs/Module/Admin/Profs.php:93 +#: ../../Zotlabs/Module/Admin/Profs.php:113 +msgid "Additional info (optional)" msgstr "" -#: ../../include/auth.php:194 -msgid "Delegation session ended." +#: ../../Zotlabs/Module/Admin/Profs.php:103 +msgid "Field definition not found" msgstr "" -#: ../../include/auth.php:198 -msgid "Logged out." +#: ../../Zotlabs/Module/Admin/Profs.php:109 +msgid "Edit Profile Field" msgstr "" -#: ../../include/auth.php:294 -msgid "Email validation is incomplete. Please check your email." +#: ../../Zotlabs/Module/Admin/Profs.php:168 ../../Zotlabs/Widget/Admin.php:30 +msgid "Profile Fields" msgstr "" -#: ../../include/auth.php:310 -msgid "Failed authentication" +#: ../../Zotlabs/Module/Admin/Profs.php:169 +msgid "Basic Profile Fields" msgstr "" -#: ../../include/datetime.php:58 ../../Zotlabs/Widget/Newmember.php:51 -#: ../../Zotlabs/Module/Profiles.php:738 -msgid "Miscellaneous" +#: ../../Zotlabs/Module/Admin/Profs.php:170 +msgid "Advanced Profile Fields" msgstr "" -#: ../../include/datetime.php:140 -msgid "Birthday" +#: ../../Zotlabs/Module/Admin/Profs.php:170 +msgid "(In addition to basic fields)" msgstr "" -#: ../../include/datetime.php:140 -msgid "Age: " +#: ../../Zotlabs/Module/Admin/Profs.php:172 +msgid "All available fields" msgstr "" -#: ../../include/datetime.php:140 -msgid "YYYY-MM-DD or MM-DD" +#: ../../Zotlabs/Module/Admin/Profs.php:173 +msgid "Custom Fields" msgstr "" -#: ../../include/datetime.php:238 ../../boot.php:2702 -msgid "never" +#: ../../Zotlabs/Module/Admin/Profs.php:177 +msgid "Create Custom Field" msgstr "" -#: ../../include/datetime.php:244 -msgid "less than a second ago" +#: ../../Zotlabs/Module/Notify.php:61 ../../Zotlabs/Module/Notifications.php:55 +msgid "No more system notifications." msgstr "" -#: ../../include/datetime.php:262 -#, php-format -msgctxt "e.g. 22 hours ago, 1 minute ago" -msgid "%1$d %2$s ago" +#: ../../Zotlabs/Module/Notify.php:65 ../../Zotlabs/Module/Notifications.php:59 +msgid "System Notifications" msgstr "" -#: ../../include/datetime.php:273 -msgctxt "relative_date" -msgid "year" -msgid_plural "years" -msgstr[0] "" -msgstr[1] "" +#: ../../Zotlabs/Module/Cal.php:64 +msgid "Permissions denied." +msgstr "" -#: ../../include/datetime.php:276 -msgctxt "relative_date" -msgid "month" -msgid_plural "months" -msgstr[0] "" -msgstr[1] "" +#: ../../Zotlabs/Module/Thing.php:122 +msgid "Thing updated" +msgstr "" -#: ../../include/datetime.php:279 -msgctxt "relative_date" -msgid "week" -msgid_plural "weeks" -msgstr[0] "" -msgstr[1] "" +#: ../../Zotlabs/Module/Thing.php:174 +msgid "Object store: failed" +msgstr "" -#: ../../include/datetime.php:282 -msgctxt "relative_date" -msgid "day" -msgid_plural "days" -msgstr[0] "" -msgstr[1] "" +#: ../../Zotlabs/Module/Thing.php:178 +msgid "Thing added" +msgstr "" -#: ../../include/datetime.php:285 -msgctxt "relative_date" -msgid "hour" -msgid_plural "hours" -msgstr[0] "" -msgstr[1] "" +#: ../../Zotlabs/Module/Thing.php:204 +#, php-format +msgid "OBJ: %1$s %2$s %3$s" +msgstr "" -#: ../../include/datetime.php:288 -msgctxt "relative_date" -msgid "minute" -msgid_plural "minutes" -msgstr[0] "" -msgstr[1] "" +#: ../../Zotlabs/Module/Thing.php:267 +msgid "Show Thing" +msgstr "" -#: ../../include/datetime.php:291 -msgctxt "relative_date" -msgid "second" -msgid_plural "seconds" -msgstr[0] "" -msgstr[1] "" +#: ../../Zotlabs/Module/Thing.php:274 +msgid "item not found." +msgstr "" -#: ../../include/datetime.php:520 -#, php-format -msgid "%1$s's birthday" +#: ../../Zotlabs/Module/Thing.php:307 +msgid "Edit Thing" msgstr "" -#: ../../include/datetime.php:521 -#, php-format -msgid "Happy Birthday %1$s" +#: ../../Zotlabs/Module/Thing.php:309 ../../Zotlabs/Module/Thing.php:366 +msgid "Select a profile" msgstr "" -#: ../../include/cdav.php:157 -msgid "INVALID EVENT DISMISSED!" +#: ../../Zotlabs/Module/Thing.php:313 ../../Zotlabs/Module/Thing.php:369 +msgid "Post an activity" msgstr "" -#: ../../include/cdav.php:158 -msgid "Summary: " +#: ../../Zotlabs/Module/Thing.php:313 ../../Zotlabs/Module/Thing.php:369 +msgid "Only sends to viewers of the applicable profile" msgstr "" -#: ../../include/cdav.php:159 -msgid "Date: " +#: ../../Zotlabs/Module/Thing.php:315 ../../Zotlabs/Module/Thing.php:371 +msgid "Name of thing e.g. something" msgstr "" -#: ../../include/cdav.php:160 ../../include/cdav.php:168 -msgid "Reason: " +#: ../../Zotlabs/Module/Thing.php:317 ../../Zotlabs/Module/Thing.php:372 +msgid "URL of thing (optional)" msgstr "" -#: ../../include/cdav.php:166 -msgid "INVALID CARD DISMISSED!" +#: ../../Zotlabs/Module/Thing.php:319 ../../Zotlabs/Module/Thing.php:373 +msgid "URL for photo of thing (optional)" msgstr "" -#: ../../include/cdav.php:167 -msgid "Name: " +#: ../../Zotlabs/Module/Thing.php:364 +msgid "Add Thing to your Profile" msgstr "" -#: ../../include/follow.php:37 ../../Zotlabs/Lib/Connect.php:46 -#: ../../Zotlabs/Lib/Connect.php:143 -msgid "Channel is blocked on this site." +#: ../../Zotlabs/Module/Suggest.php:40 +msgid "Suggest Channels App" msgstr "" -#: ../../include/follow.php:42 ../../Zotlabs/Lib/Connect.php:51 -msgid "Channel location missing." +#: ../../Zotlabs/Module/Suggest.php:41 +msgid "" +"Suggestions for channels in the $Projectname network you might be interested " +"in" msgstr "" -#: ../../include/follow.php:84 -msgid "Response from remote channel was incomplete." +#: ../../Zotlabs/Module/Suggest.php:54 +msgid "" +"No suggestions available. If this is a new site, please try again in 24 " +"hours." msgstr "" -#: ../../include/follow.php:96 -msgid "Premium channel - please visit:" +#: ../../Zotlabs/Module/Suggest.php:73 ../../Zotlabs/Widget/Suggestions.php:48 +msgid "Ignore/Hide" msgstr "" -#: ../../include/follow.php:110 -msgid "Channel was deleted and no longer exists." +#: ../../Zotlabs/Module/Suggest.php:79 ../../Zotlabs/Module/Directory.php:437 +#: ../../include/contact_widgets.php:24 +msgid "Channel Suggestions" msgstr "" -#: ../../include/follow.php:166 ../../Zotlabs/Lib/Connect.php:103 -msgid "Remote channel or protocol unavailable." +#: ../../Zotlabs/Module/Email_validation.php:36 +msgid "Email Verification Required" msgstr "" -#: ../../include/follow.php:190 ../../Zotlabs/Lib/Connect.php:137 -msgid "Channel discovery failed." +#: ../../Zotlabs/Module/Email_validation.php:37 +#, php-format +msgid "" +"A verification token was sent to your email address [%s]. Enter that token " +"here to complete the account verification step. Please allow a few minutes " +"for delivery, and check your spam folder if you do not see the message." msgstr "" -#: ../../include/follow.php:202 ../../Zotlabs/Lib/Connect.php:155 -msgid "Protocol disabled." +#: ../../Zotlabs/Module/Email_validation.php:38 +msgid "Resend Email" msgstr "" -#: ../../include/follow.php:213 ../../Zotlabs/Lib/Connect.php:167 -msgid "Cannot connect to yourself." +#: ../../Zotlabs/Module/Email_validation.php:41 +msgid "Validation token" msgstr "" -#: ../../include/conversation.php:135 ../../Zotlabs/Module/Like.php:129 -msgid "channel" +#: ../../Zotlabs/Module/Notes.php:57 +msgid "Notes App" msgstr "" -#: ../../include/conversation.php:183 -#, php-format -msgid "likes %1$s's %2$s" +#: ../../Zotlabs/Module/Notes.php:58 +msgid "A simple notes app with a widget (note: notes are not encrypted)" msgstr "" -#: ../../include/conversation.php:186 +#: ../../Zotlabs/Module/Tokens.php:39 #, php-format -msgid "doesn't like %1$s's %2$s" +msgid "This channel is limited to %d tokens" msgstr "" -#: ../../include/conversation.php:226 ../../include/conversation.php:228 -#, php-format -msgid "%1$s is now connected with %2$s" +#: ../../Zotlabs/Module/Tokens.php:45 +msgid "Name and Password are required." msgstr "" -#: ../../include/conversation.php:263 -#, php-format -msgid "%1$s poked %2$s" +#: ../../Zotlabs/Module/Tokens.php:85 +msgid "Token saved." msgstr "" -#: ../../include/conversation.php:286 ../../Zotlabs/Module/Mood.php:76 -#, php-format -msgctxt "mood" -msgid "%1$s is %2$s" +#: ../../Zotlabs/Module/Tokens.php:99 +msgid "Guest Access App" msgstr "" -#: ../../include/conversation.php:515 ../../Zotlabs/Lib/ThreadItem.php:500 -msgid "This is an unsaved preview" +#: ../../Zotlabs/Module/Tokens.php:100 +msgid "Create access tokens so that non-members can access private content" msgstr "" -#: ../../include/conversation.php:651 ../../Zotlabs/Module/Photos.php:1112 -msgctxt "title" -msgid "Likes" +#: ../../Zotlabs/Module/Tokens.php:133 +msgid "" +"Use this form to create temporary access identifiers to share things with " +"non-members. These identities may be used in Access Control Lists and " +"visitors may login using these credentials to access private content." msgstr "" -#: ../../include/conversation.php:652 ../../Zotlabs/Module/Photos.php:1112 -msgctxt "title" -msgid "Dislikes" +#: ../../Zotlabs/Module/Tokens.php:135 +msgid "" +"You may also provide <em>dropbox</em> style access links to friends and " +"associates by adding the Login Password to any specific site URL as shown. " +"Examples:" msgstr "" -#: ../../include/conversation.php:653 ../../Zotlabs/Widget/Pinned.php:77 -#: ../../Zotlabs/Module/Photos.php:1113 -msgctxt "title" -msgid "Agree" +#: ../../Zotlabs/Module/Tokens.php:170 +msgid "Guest Access Tokens" msgstr "" -#: ../../include/conversation.php:654 ../../Zotlabs/Widget/Pinned.php:78 -#: ../../Zotlabs/Module/Photos.php:1113 -msgctxt "title" -msgid "Disagree" +#: ../../Zotlabs/Module/Tokens.php:177 +msgid "Login Name" msgstr "" -#: ../../include/conversation.php:655 ../../Zotlabs/Widget/Pinned.php:79 -#: ../../Zotlabs/Module/Photos.php:1113 -msgctxt "title" -msgid "Abstain" +#: ../../Zotlabs/Module/Tokens.php:178 +msgid "Login Password" msgstr "" -#: ../../include/conversation.php:656 ../../Zotlabs/Widget/Pinned.php:66 -#: ../../Zotlabs/Module/Photos.php:1114 -msgctxt "title" -msgid "Attending" +#: ../../Zotlabs/Module/Tokens.php:179 +msgid "Expires (yyyy-mm-dd)" msgstr "" -#: ../../include/conversation.php:657 ../../Zotlabs/Widget/Pinned.php:67 -#: ../../Zotlabs/Module/Photos.php:1114 -msgctxt "title" -msgid "Not attending" +#: ../../Zotlabs/Module/Apporder.php:47 +msgid "Change Order of Pinned Navbar Apps" msgstr "" -#: ../../include/conversation.php:658 ../../Zotlabs/Widget/Pinned.php:68 -#: ../../Zotlabs/Module/Photos.php:1114 -msgctxt "title" -msgid "Might attend" +#: ../../Zotlabs/Module/Apporder.php:47 +msgid "Change Order of App Tray Apps" msgstr "" -#: ../../include/conversation.php:728 ../../Zotlabs/Lib/ThreadItem.php:180 -msgid "Select" +#: ../../Zotlabs/Module/Apporder.php:48 +msgid "" +"Use arrows to move the corresponding app left (top) or right (bottom) in the " +"navbar" msgstr "" -#: ../../include/conversation.php:729 ../../include/conversation.php:774 -#: ../../Zotlabs/Module/Article_edit.php:128 -#: ../../Zotlabs/Module/Card_edit.php:129 ../../Zotlabs/Module/Oauth.php:174 -#: ../../Zotlabs/Module/Editwebpage.php:167 ../../Zotlabs/Module/Cdav.php:1052 -#: ../../Zotlabs/Module/Cdav.php:1385 ../../Zotlabs/Module/Webpages.php:257 -#: ../../Zotlabs/Module/Admin/Accounts.php:175 -#: ../../Zotlabs/Module/Admin/Channels.php:149 -#: ../../Zotlabs/Module/Admin/Profs.php:176 ../../Zotlabs/Module/Blocks.php:162 -#: ../../Zotlabs/Module/Editblock.php:139 -#: ../../Zotlabs/Module/Editlayout.php:138 -#: ../../Zotlabs/Module/Connections.php:328 -#: ../../Zotlabs/Module/Photos.php:1178 ../../Zotlabs/Module/Profiles.php:802 -#: ../../Zotlabs/Module/Oauth2.php:195 ../../Zotlabs/Module/Thing.php:269 -#: ../../Zotlabs/Module/Connedit.php:671 ../../Zotlabs/Module/Connedit.php:943 -#: ../../Zotlabs/Lib/Apps.php:558 ../../Zotlabs/Lib/ThreadItem.php:170 -#: ../../Zotlabs/Storage/Browser.php:297 -msgid "Delete" +#: ../../Zotlabs/Module/Apporder.php:48 +msgid "Use arrows to move the corresponding app up or down in the app tray" msgstr "" -#: ../../include/conversation.php:733 ../../Zotlabs/Lib/ThreadItem.php:273 -msgid "Toggle Star Status" +#: ../../Zotlabs/Module/Notifications.php:60 +#: ../../Zotlabs/Lib/ThreadItem.php:482 +msgid "Mark all seen" msgstr "" -#: ../../include/conversation.php:738 ../../Zotlabs/Lib/ThreadItem.php:103 -msgid "Private Message" +#: ../../Zotlabs/Module/Home.php:72 ../../Zotlabs/Module/Home.php:80 +#: ../../Zotlabs/Lib/Enotify.php:66 +#: ../../extend/addon/hzaddons/opensearch/opensearch.php:42 +msgid "$Projectname" msgstr "" -#: ../../include/conversation.php:745 ../../Zotlabs/Widget/Pinned.php:88 -#: ../../Zotlabs/Lib/ThreadItem.php:284 -msgid "Message signature validated" +#: ../../Zotlabs/Module/Home.php:90 +#, php-format +msgid "Welcome to %s" msgstr "" -#: ../../include/conversation.php:746 ../../Zotlabs/Widget/Pinned.php:89 -#: ../../Zotlabs/Lib/ThreadItem.php:285 -msgid "Message signature incorrect" +#: ../../Zotlabs/Module/Articles.php:52 +msgid "Articles App" msgstr "" -#: ../../include/conversation.php:773 -#: ../../Zotlabs/Module/Admin/Accounts.php:173 -#: ../../Zotlabs/Module/Connections.php:342 -msgid "Approve" +#: ../../Zotlabs/Module/Articles.php:53 +msgid "Create interactive articles" msgstr "" -#: ../../include/conversation.php:778 -#, php-format -msgid "View %s's profile @ %s" +#: ../../Zotlabs/Module/Articles.php:116 +msgid "Add Article" msgstr "" -#: ../../include/conversation.php:798 -msgid "Categories:" +#: ../../Zotlabs/Module/Articles.php:226 ../../Zotlabs/Lib/Apps.php:325 +#: ../../include/nav.php:512 +msgid "Articles" msgstr "" -#: ../../include/conversation.php:799 -msgid "Filed under:" +#: ../../Zotlabs/Module/Setup.php:167 +msgid "$Projectname Server - Setup" msgstr "" -#: ../../include/conversation.php:805 ../../Zotlabs/Widget/Pinned.php:133 -#: ../../Zotlabs/Lib/ThreadItem.php:429 -#, php-format -msgid "from %s" +#: ../../Zotlabs/Module/Setup.php:171 +msgid "Could not connect to database." msgstr "" -#: ../../include/conversation.php:808 ../../Zotlabs/Widget/Pinned.php:136 -#: ../../Zotlabs/Lib/ThreadItem.php:432 -#, php-format -msgid "last edited: %s" +#: ../../Zotlabs/Module/Setup.php:175 +msgid "" +"Could not connect to specified site URL. Possible SSL certificate or DNS " +"issue." msgstr "" -#: ../../include/conversation.php:809 ../../Zotlabs/Widget/Pinned.php:137 -#: ../../Zotlabs/Lib/ThreadItem.php:433 -#, php-format -msgid "Expires: %s" +#: ../../Zotlabs/Module/Setup.php:182 +msgid "Could not create table." msgstr "" -#: ../../include/conversation.php:824 -msgid "View in context" +#: ../../Zotlabs/Module/Setup.php:188 +msgid "Your site database has been installed." msgstr "" -#: ../../include/conversation.php:826 ../../Zotlabs/Module/Photos.php:1078 -#: ../../Zotlabs/Lib/ThreadItem.php:501 -msgid "Please wait" +#: ../../Zotlabs/Module/Setup.php:194 +msgid "" +"You may need to import the file \"install/schema_xxx.sql\" manually using a " +"database client." msgstr "" -#: ../../include/conversation.php:925 -msgid "remove" +#: ../../Zotlabs/Module/Setup.php:195 ../../Zotlabs/Module/Setup.php:259 +#: ../../Zotlabs/Module/Setup.php:766 +msgid "Please see the file \"install/INSTALL.txt\"." msgstr "" -#: ../../include/conversation.php:929 -msgid "Loading..." +#: ../../Zotlabs/Module/Setup.php:256 +msgid "System check" msgstr "" -#: ../../include/conversation.php:930 ../../Zotlabs/Lib/ThreadItem.php:301 -msgid "Conversation Tools" +#: ../../Zotlabs/Module/Setup.php:261 +msgid "Check again" msgstr "" -#: ../../include/conversation.php:931 -msgid "Delete Selected Items" +#: ../../Zotlabs/Module/Setup.php:282 +msgid "Database connection" msgstr "" -#: ../../include/conversation.php:974 -msgid "View Source" +#: ../../Zotlabs/Module/Setup.php:283 +msgid "" +"In order to install $Projectname we need to know how to connect to your " +"database." msgstr "" -#: ../../include/conversation.php:984 -msgid "Follow Thread" +#: ../../Zotlabs/Module/Setup.php:284 +msgid "" +"Please contact your hosting provider or site administrator if you have " +"questions about these settings." msgstr "" -#: ../../include/conversation.php:993 -msgid "Unfollow Thread" +#: ../../Zotlabs/Module/Setup.php:285 +msgid "" +"The database you specify below should already exist. If it does not, please " +"create it before continuing." msgstr "" -#: ../../include/conversation.php:1087 ../../Zotlabs/Module/Connedit.php:632 -msgid "Recent Activity" +#: ../../Zotlabs/Module/Setup.php:289 +msgid "Database Server Name" msgstr "" -#: ../../include/conversation.php:1097 ../../include/connections.php:110 -#: ../../include/channel.php:1604 ../../Zotlabs/Widget/Suggestions.php:46 -#: ../../Zotlabs/Widget/Follow.php:32 ../../Zotlabs/Module/Directory.php:368 -#: ../../Zotlabs/Module/Connections.php:349 ../../Zotlabs/Module/Suggest.php:71 -msgid "Connect" +#: ../../Zotlabs/Module/Setup.php:289 +msgid "Default is 127.0.0.1" msgstr "" -#: ../../include/conversation.php:1107 -msgid "Edit Connection" +#: ../../Zotlabs/Module/Setup.php:290 +msgid "Database Port" msgstr "" -#: ../../include/conversation.php:1117 -msgid "Message" +#: ../../Zotlabs/Module/Setup.php:290 +msgid "Communication port number - use 0 for default" msgstr "" -#: ../../include/conversation.php:1127 ../../Zotlabs/Module/Pubsites.php:35 -#: ../../Zotlabs/Module/Ratings.php:97 -msgid "Ratings" +#: ../../Zotlabs/Module/Setup.php:291 +msgid "Database Login Name" msgstr "" -#: ../../include/conversation.php:1137 ../../Zotlabs/Module/Poke.php:199 -#: ../../Zotlabs/Lib/Apps.php:351 -msgid "Poke" +#: ../../Zotlabs/Module/Setup.php:292 +msgid "Database Login Password" msgstr "" -#: ../../include/conversation.php:1259 -#, php-format -msgid "%s likes this." +#: ../../Zotlabs/Module/Setup.php:293 +msgid "Database Name" msgstr "" -#: ../../include/conversation.php:1259 -#, php-format -msgid "%s doesn't like this." +#: ../../Zotlabs/Module/Setup.php:294 +msgid "Database Type" msgstr "" -#: ../../include/conversation.php:1263 -#, php-format -msgid "<span %1$s>%2$d people</span> like this." -msgid_plural "<span %1$s>%2$d people</span> like this." -msgstr[0] "" -msgstr[1] "" +#: ../../Zotlabs/Module/Setup.php:296 ../../Zotlabs/Module/Setup.php:336 +msgid "Site administrator email address" +msgstr "" -#: ../../include/conversation.php:1265 -#, php-format -msgid "<span %1$s>%2$d people</span> don't like this." -msgid_plural "<span %1$s>%2$d people</span> don't like this." -msgstr[0] "" -msgstr[1] "" +#: ../../Zotlabs/Module/Setup.php:296 ../../Zotlabs/Module/Setup.php:336 +msgid "" +"Your account email address must match this in order to use the web admin " +"panel." +msgstr "" -#: ../../include/conversation.php:1271 -msgid "and" +#: ../../Zotlabs/Module/Setup.php:297 ../../Zotlabs/Module/Setup.php:338 +msgid "Website URL" msgstr "" -#: ../../include/conversation.php:1274 -#, php-format -msgid ", and %d other people" -msgid_plural ", and %d other people" -msgstr[0] "" -msgstr[1] "" +#: ../../Zotlabs/Module/Setup.php:297 ../../Zotlabs/Module/Setup.php:338 +msgid "Please use SSL (https) URL if available." +msgstr "" -#: ../../include/conversation.php:1275 -#, php-format -msgid "%s like this." +#: ../../Zotlabs/Module/Setup.php:298 ../../Zotlabs/Module/Setup.php:340 +msgid "Please select a default timezone for your website" msgstr "" -#: ../../include/conversation.php:1275 -#, php-format -msgid "%s don't like this." +#: ../../Zotlabs/Module/Setup.php:325 +msgid "Site settings" msgstr "" -#: ../../include/conversation.php:1459 -msgid "Toggle poll" +#: ../../Zotlabs/Module/Setup.php:379 +msgid "PHP version 7.1 or greater is required." msgstr "" -#: ../../include/conversation.php:1460 -msgid "Option" +#: ../../Zotlabs/Module/Setup.php:380 +msgid "PHP version" msgstr "" -#: ../../include/conversation.php:1461 -msgid "Add option" +#: ../../Zotlabs/Module/Setup.php:396 +msgid "Could not find a command line version of PHP in the web server PATH." msgstr "" -#: ../../include/conversation.php:1462 -msgid "Minutes" +#: ../../Zotlabs/Module/Setup.php:397 +msgid "" +"If you don't have a command line version of PHP installed on server, you " +"will not be able to run background polling via cron." msgstr "" -#: ../../include/conversation.php:1462 -msgid "Hours" +#: ../../Zotlabs/Module/Setup.php:401 +msgid "PHP executable path" msgstr "" -#: ../../include/conversation.php:1462 -msgid "Days" +#: ../../Zotlabs/Module/Setup.php:401 +msgid "" +"Enter full path to php executable. You can leave this blank to continue the " +"installation." msgstr "" -#: ../../include/conversation.php:1463 -msgid "Allow multiple answers" +#: ../../Zotlabs/Module/Setup.php:406 +msgid "Command line PHP" msgstr "" -#: ../../include/conversation.php:1746 ../../include/taxonomy.php:659 -#: ../../include/channel.php:1767 ../../Zotlabs/Module/Photos.php:1135 -#: ../../Zotlabs/Lib/ThreadItem.php:242 -msgctxt "noun" -msgid "Like" -msgid_plural "Likes" -msgstr[0] "" -msgstr[1] "" +#: ../../Zotlabs/Module/Setup.php:416 +msgid "" +"Unable to check command line PHP, as shell_exec() is disabled. This is " +"required." +msgstr "" -#: ../../include/conversation.php:1749 ../../Zotlabs/Module/Photos.php:1140 -#: ../../Zotlabs/Lib/ThreadItem.php:247 -msgctxt "noun" -msgid "Dislike" -msgid_plural "Dislikes" -msgstr[0] "" -msgstr[1] "" +#: ../../Zotlabs/Module/Setup.php:420 +msgid "" +"The command line version of PHP on your system does not have " +"\"register_argc_argv\" enabled." +msgstr "" -#: ../../include/conversation.php:1752 -msgctxt "noun" -msgid "Attending" -msgid_plural "Attending" -msgstr[0] "" -msgstr[1] "" +#: ../../Zotlabs/Module/Setup.php:421 +msgid "This is required for message delivery to work." +msgstr "" -#: ../../include/conversation.php:1755 -msgctxt "noun" -msgid "Not Attending" -msgid_plural "Not Attending" -msgstr[0] "" -msgstr[1] "" +#: ../../Zotlabs/Module/Setup.php:424 +msgid "PHP register_argc_argv" +msgstr "" -#: ../../include/conversation.php:1758 -msgctxt "noun" -msgid "Undecided" -msgid_plural "Undecided" -msgstr[0] "" -msgstr[1] "" +#: ../../Zotlabs/Module/Setup.php:444 +msgid "" +"This is not sufficient to upload larger images or files. You should be able " +"to upload at least 4 MB at once." +msgstr "" -#: ../../include/conversation.php:1761 -msgctxt "noun" -msgid "Agree" -msgid_plural "Agrees" -msgstr[0] "" -msgstr[1] "" +#: ../../Zotlabs/Module/Setup.php:446 +#, php-format +msgid "" +"Your max allowed total upload size is set to %s. Maximum size of one file to " +"upload is set to %s. You are allowed to upload up to %d files at once." +msgstr "" -#: ../../include/conversation.php:1764 -msgctxt "noun" -msgid "Disagree" -msgid_plural "Disagrees" -msgstr[0] "" -msgstr[1] "" +#: ../../Zotlabs/Module/Setup.php:452 +msgid "You can adjust these settings in the server php.ini file." +msgstr "" -#: ../../include/conversation.php:1767 -msgctxt "noun" -msgid "Abstain" -msgid_plural "Abstains" -msgstr[0] "" -msgstr[1] "" +#: ../../Zotlabs/Module/Setup.php:454 +msgid "PHP upload limits" +msgstr "" -#: ../../include/selectors.php:18 -msgid "Profile to assign new connections" +#: ../../Zotlabs/Module/Setup.php:477 +msgid "" +"Error: the \"openssl_pkey_new\" function on this system is not able to " +"generate encryption keys" msgstr "" -#: ../../include/selectors.php:41 -msgid "Frequently" +#: ../../Zotlabs/Module/Setup.php:478 +msgid "" +"If running under Windows, please see \"http://www.php.net/manual/en/openssl." +"installation.php\"." msgstr "" -#: ../../include/selectors.php:42 -msgid "Hourly" +#: ../../Zotlabs/Module/Setup.php:481 +msgid "Generate encryption keys" msgstr "" -#: ../../include/selectors.php:43 -msgid "Twice daily" +#: ../../Zotlabs/Module/Setup.php:498 +msgid "libCurl PHP module" msgstr "" -#: ../../include/selectors.php:44 -msgid "Daily" +#: ../../Zotlabs/Module/Setup.php:499 +msgid "GD graphics PHP module" msgstr "" -#: ../../include/selectors.php:45 -msgid "Weekly" +#: ../../Zotlabs/Module/Setup.php:500 +msgid "OpenSSL PHP module" msgstr "" -#: ../../include/selectors.php:46 -msgid "Monthly" +#: ../../Zotlabs/Module/Setup.php:501 +msgid "PDO database PHP module" msgstr "" -#: ../../include/selectors.php:60 -msgid "Currently Male" +#: ../../Zotlabs/Module/Setup.php:502 +msgid "mb_string PHP module" msgstr "" -#: ../../include/selectors.php:60 -msgid "Currently Female" +#: ../../Zotlabs/Module/Setup.php:503 +msgid "xml PHP module" msgstr "" -#: ../../include/selectors.php:60 -msgid "Mostly Male" +#: ../../Zotlabs/Module/Setup.php:504 +msgid "zip PHP module" msgstr "" -#: ../../include/selectors.php:60 -msgid "Mostly Female" +#: ../../Zotlabs/Module/Setup.php:508 ../../Zotlabs/Module/Setup.php:510 +msgid "Apache mod_rewrite module" msgstr "" -#: ../../include/selectors.php:60 -msgid "Transgender" +#: ../../Zotlabs/Module/Setup.php:508 +msgid "" +"Error: Apache webserver mod-rewrite module is required but not installed." msgstr "" -#: ../../include/selectors.php:60 -msgid "Intersex" +#: ../../Zotlabs/Module/Setup.php:514 ../../Zotlabs/Module/Setup.php:517 +msgid "exec" msgstr "" -#: ../../include/selectors.php:60 -msgid "Transsexual" +#: ../../Zotlabs/Module/Setup.php:514 +msgid "" +"Error: exec is required but is either not installed or has been disabled in " +"php.ini" msgstr "" -#: ../../include/selectors.php:60 -msgid "Hermaphrodite" +#: ../../Zotlabs/Module/Setup.php:520 ../../Zotlabs/Module/Setup.php:523 +msgid "shell_exec" msgstr "" -#: ../../include/selectors.php:60 ../../include/channel.php:1712 -msgid "Neuter" +#: ../../Zotlabs/Module/Setup.php:520 +msgid "" +"Error: shell_exec is required but is either not installed or has been " +"disabled in php.ini" msgstr "" -#: ../../include/selectors.php:60 ../../include/channel.php:1714 -msgid "Non-specific" +#: ../../Zotlabs/Module/Setup.php:528 +msgid "Error: libCURL PHP module required but not installed." msgstr "" -#: ../../include/selectors.php:60 -msgid "Undecided" +#: ../../Zotlabs/Module/Setup.php:532 +msgid "" +"Error: GD PHP module with JPEG support or ImageMagick graphics library " +"required but not installed." msgstr "" -#: ../../include/selectors.php:96 ../../include/selectors.php:115 -msgid "Males" +#: ../../Zotlabs/Module/Setup.php:536 +msgid "Error: openssl PHP module required but not installed." msgstr "" -#: ../../include/selectors.php:96 ../../include/selectors.php:115 -msgid "Females" +#: ../../Zotlabs/Module/Setup.php:542 +msgid "" +"Error: PDO database PHP module missing a driver for either mysql or pgsql." msgstr "" -#: ../../include/selectors.php:96 -msgid "Gay" +#: ../../Zotlabs/Module/Setup.php:547 +msgid "Error: PDO database PHP module required but not installed." msgstr "" -#: ../../include/selectors.php:96 -msgid "Lesbian" +#: ../../Zotlabs/Module/Setup.php:551 +msgid "Error: mb_string PHP module required but not installed." msgstr "" -#: ../../include/selectors.php:96 -msgid "No Preference" +#: ../../Zotlabs/Module/Setup.php:555 +msgid "Error: xml PHP module required for DAV but not installed." msgstr "" -#: ../../include/selectors.php:96 -msgid "Bisexual" +#: ../../Zotlabs/Module/Setup.php:559 +msgid "Error: zip PHP module required but not installed." msgstr "" -#: ../../include/selectors.php:96 -msgid "Autosexual" +#: ../../Zotlabs/Module/Setup.php:578 ../../Zotlabs/Module/Setup.php:587 +msgid ".htconfig.php is writable" msgstr "" -#: ../../include/selectors.php:96 -msgid "Abstinent" +#: ../../Zotlabs/Module/Setup.php:583 +msgid "" +"The web installer needs to be able to create a file called \".htconfig.php\" " +"in the top folder of your web server and it is unable to do so." msgstr "" -#: ../../include/selectors.php:96 -msgid "Virgin" +#: ../../Zotlabs/Module/Setup.php:584 +msgid "" +"This is most often a permission setting, as the web server may not be able " +"to write files in your folder - even if you can." msgstr "" -#: ../../include/selectors.php:96 -msgid "Deviant" +#: ../../Zotlabs/Module/Setup.php:585 +msgid "Please see install/INSTALL.txt for additional information." msgstr "" -#: ../../include/selectors.php:96 -msgid "Fetish" +#: ../../Zotlabs/Module/Setup.php:601 +msgid "" +"This software uses the Smarty3 template engine to render its web views. " +"Smarty3 compiles templates to PHP to speed up rendering." msgstr "" -#: ../../include/selectors.php:96 -msgid "Oodles" +#: ../../Zotlabs/Module/Setup.php:602 +#, php-format +msgid "" +"In order to store these compiled templates, the web server needs to have " +"write access to the directory %s under the top level web folder." msgstr "" -#: ../../include/selectors.php:96 -msgid "Nonsexual" +#: ../../Zotlabs/Module/Setup.php:603 ../../Zotlabs/Module/Setup.php:624 +msgid "" +"Please ensure that the user that your web server runs as (e.g. www-data) has " +"write access to this folder." msgstr "" -#: ../../include/selectors.php:134 ../../include/selectors.php:151 -msgid "Single" +#: ../../Zotlabs/Module/Setup.php:604 +#, php-format +msgid "" +"Note: as a security measure, you should give the web server write access to " +"%s only--not the template files (.tpl) that it contains." msgstr "" -#: ../../include/selectors.php:134 -msgid "Lonely" +#: ../../Zotlabs/Module/Setup.php:607 +#, php-format +msgid "%s is writable" msgstr "" -#: ../../include/selectors.php:134 -msgid "Available" +#: ../../Zotlabs/Module/Setup.php:623 +msgid "" +"This software uses the store directory to save uploaded files. The web " +"server needs to have write access to the store directory under the top level " +"web folder" msgstr "" -#: ../../include/selectors.php:134 -msgid "Unavailable" +#: ../../Zotlabs/Module/Setup.php:627 +msgid "store is writable" msgstr "" -#: ../../include/selectors.php:134 -msgid "Has crush" +#: ../../Zotlabs/Module/Setup.php:659 +msgid "" +"SSL certificate cannot be validated. Fix certificate or disable https access " +"to this site." msgstr "" -#: ../../include/selectors.php:134 -msgid "Infatuated" +#: ../../Zotlabs/Module/Setup.php:660 +msgid "" +"If you have https access to your website or allow connections to TCP port " +"443 (the https: port), you MUST use a browser-valid certificate. You MUST " +"NOT use self-signed certificates!" msgstr "" -#: ../../include/selectors.php:134 ../../include/selectors.php:151 -msgid "Dating" +#: ../../Zotlabs/Module/Setup.php:661 +msgid "" +"This restriction is incorporated because public posts from you may for " +"example contain references to images on your own hub." msgstr "" -#: ../../include/selectors.php:134 -msgid "Unfaithful" +#: ../../Zotlabs/Module/Setup.php:662 +msgid "" +"If your certificate is not recognized, members of other sites (who may " +"themselves have valid certificates) will get a warning message on their own " +"site complaining about security issues." msgstr "" -#: ../../include/selectors.php:134 -msgid "Sex Addict" +#: ../../Zotlabs/Module/Setup.php:663 +msgid "" +"This can cause usability issues elsewhere (not just on your own site) so we " +"must insist on this requirement." msgstr "" -#: ../../include/selectors.php:134 ../../include/channel.php:505 -#: ../../include/channel.php:506 ../../include/channel.php:513 -#: ../../Zotlabs/Widget/Affinity.php:32 -#: ../../Zotlabs/Module/Settings/Channel.php:71 -#: ../../Zotlabs/Module/Settings/Channel.php:75 -#: ../../Zotlabs/Module/Settings/Channel.php:76 -#: ../../Zotlabs/Module/Settings/Channel.php:79 -#: ../../Zotlabs/Module/Settings/Channel.php:90 -#: ../../Zotlabs/Module/Connedit.php:728 -msgid "Friends" +#: ../../Zotlabs/Module/Setup.php:664 +msgid "" +"Providers are available that issue free certificates which are browser-valid." msgstr "" -#: ../../include/selectors.php:134 -msgid "Friends/Benefits" +#: ../../Zotlabs/Module/Setup.php:665 +msgid "" +"If you are confident that the certificate is valid and signed by a trusted " +"authority, check to see if you have failed to install an intermediate cert. " +"These are not normally required by browsers, but are required for server-to-" +"server communications." msgstr "" -#: ../../include/selectors.php:134 -msgid "Casual" +#: ../../Zotlabs/Module/Setup.php:667 +msgid "SSL certificate validation" msgstr "" -#: ../../include/selectors.php:134 -msgid "Engaged" +#: ../../Zotlabs/Module/Setup.php:673 +msgid "" +"Url rewrite in .htaccess is not working. Check your server configuration." +"Test: " msgstr "" -#: ../../include/selectors.php:134 ../../include/selectors.php:151 -msgid "Married" +#: ../../Zotlabs/Module/Setup.php:676 +msgid "Url rewrite is working" msgstr "" -#: ../../include/selectors.php:134 -msgid "Imaginarily married" +#: ../../Zotlabs/Module/Setup.php:689 +msgid "" +"The database configuration file \".htconfig.php\" could not be written. " +"Please use the enclosed text to create a configuration file in your web " +"server root." msgstr "" -#: ../../include/selectors.php:134 -msgid "Partners" +#: ../../Zotlabs/Module/Setup.php:718 +#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:401 +msgid "Errors encountered creating database tables." msgstr "" -#: ../../include/selectors.php:134 ../../include/selectors.php:151 -msgid "Cohabiting" +#: ../../Zotlabs/Module/Setup.php:764 +msgid "<h1>What next?</h1>" msgstr "" -#: ../../include/selectors.php:134 -msgid "Common law" +#: ../../Zotlabs/Module/Setup.php:765 +msgid "" +"IMPORTANT: You will need to [manually] setup a scheduled task for the poller." msgstr "" -#: ../../include/selectors.php:134 -msgid "Happy" +#: ../../Zotlabs/Module/Directory.php:122 +msgid "No default suggestions were found." msgstr "" -#: ../../include/selectors.php:134 -msgid "Not looking" +#: ../../Zotlabs/Module/Directory.php:282 +#, php-format +msgid "%d rating" +msgid_plural "%d ratings" +msgstr[0] "" +msgstr[1] "" + +#: ../../Zotlabs/Module/Directory.php:293 +msgid "Gender: " msgstr "" -#: ../../include/selectors.php:134 -msgid "Swinger" +#: ../../Zotlabs/Module/Directory.php:295 +msgid "Status: " msgstr "" -#: ../../include/selectors.php:134 -msgid "Betrayed" +#: ../../Zotlabs/Module/Directory.php:297 +msgid "Homepage: " msgstr "" -#: ../../include/selectors.php:134 ../../include/selectors.php:151 -msgid "Separated" +#: ../../Zotlabs/Module/Directory.php:349 ../../include/channel.php:1806 +msgid "Age:" msgstr "" -#: ../../include/selectors.php:134 -msgid "Unstable" +#: ../../Zotlabs/Module/Directory.php:354 ../../include/channel.php:1633 +#: ../../include/event.php:63 ../../include/event.php:134 +msgid "Location:" msgstr "" -#: ../../include/selectors.php:134 ../../include/selectors.php:151 -msgid "Divorced" +#: ../../Zotlabs/Module/Directory.php:360 +msgid "Description:" msgstr "" -#: ../../include/selectors.php:134 -msgid "Imaginarily divorced" +#: ../../Zotlabs/Module/Directory.php:367 ../../include/channel.php:1835 +msgid "Hometown:" msgstr "" -#: ../../include/selectors.php:134 ../../include/selectors.php:151 -msgid "Widowed" +#: ../../Zotlabs/Module/Directory.php:369 ../../include/channel.php:1841 +msgid "About:" msgstr "" -#: ../../include/selectors.php:134 -msgid "Uncertain" +#: ../../Zotlabs/Module/Directory.php:371 +msgid "Public Forum:" msgstr "" -#: ../../include/selectors.php:134 ../../include/selectors.php:151 -msgid "It's complicated" +#: ../../Zotlabs/Module/Directory.php:374 +msgid "Keywords: " msgstr "" -#: ../../include/selectors.php:134 -msgid "Don't care" +#: ../../Zotlabs/Module/Directory.php:377 +msgid "Don't suggest" msgstr "" -#: ../../include/selectors.php:134 -msgid "Ask me" +#: ../../Zotlabs/Module/Directory.php:379 +msgid "Common connections (estimated):" msgstr "" -#: ../../include/connections.php:133 -msgid "New window" +#: ../../Zotlabs/Module/Directory.php:428 +msgid "Global Directory" msgstr "" -#: ../../include/connections.php:134 -msgid "Open the selected location in a different window or browser tab" +#: ../../Zotlabs/Module/Directory.php:428 +msgid "Local Directory" msgstr "" -#: ../../include/group.php:23 ../../Zotlabs/Lib/Group.php:28 -msgid "" -"A deleted group with this name was revived. Existing item permissions " -"<strong>may</strong> apply to this group and any future members. If this is " -"not what you intended, please create another group with a different name." +#: ../../Zotlabs/Module/Directory.php:434 +msgid "Finding:" msgstr "" -#: ../../include/group.php:265 ../../Zotlabs/Lib/Group.php:270 -msgid "Add new connections to this privacy group" +#: ../../Zotlabs/Module/Directory.php:439 +msgid "next page" msgstr "" -#: ../../include/group.php:299 ../../Zotlabs/Lib/AccessList.php:311 -#: ../../Zotlabs/Lib/Group.php:302 -msgid "edit" +#: ../../Zotlabs/Module/Directory.php:439 +msgid "previous page" msgstr "" -#: ../../include/group.php:322 ../../Zotlabs/Lib/Group.php:325 -msgid "Edit group" +#: ../../Zotlabs/Module/Directory.php:440 +msgid "Sort options" msgstr "" -#: ../../include/group.php:323 ../../Zotlabs/Lib/Group.php:326 -msgid "Add privacy group" +#: ../../Zotlabs/Module/Directory.php:441 +msgid "Alphabetic" msgstr "" -#: ../../include/group.php:324 ../../Zotlabs/Lib/Group.php:327 -msgid "Channels not in any privacy group" +#: ../../Zotlabs/Module/Directory.php:442 +msgid "Reverse Alphabetic" msgstr "" -#: ../../include/group.php:326 ../../Zotlabs/Widget/Savedsearch.php:84 -#: ../../Zotlabs/Lib/AccessList.php:336 ../../Zotlabs/Lib/Group.php:329 -msgid "add" +#: ../../Zotlabs/Module/Directory.php:443 +msgid "Newest to Oldest" msgstr "" -#: ../../include/taxonomy.php:320 -msgid "Trending" +#: ../../Zotlabs/Module/Directory.php:444 +msgid "Oldest to Newest" msgstr "" -#: ../../include/taxonomy.php:320 ../../include/taxonomy.php:449 -#: ../../include/taxonomy.php:470 ../../Zotlabs/Widget/Tagcloud.php:22 -msgid "Tags" +#: ../../Zotlabs/Module/Directory.php:461 +msgid "No entries (some entries may be hidden)." msgstr "" -#: ../../include/taxonomy.php:550 -msgid "Keywords" +#: ../../Zotlabs/Module/Mitem.php:31 ../../Zotlabs/Module/Menu.php:209 +msgid "Menu not found." msgstr "" -#: ../../include/taxonomy.php:571 -msgid "have" +#: ../../Zotlabs/Module/Mitem.php:63 +msgid "Unable to create element." msgstr "" -#: ../../include/taxonomy.php:571 -msgid "has" +#: ../../Zotlabs/Module/Mitem.php:87 +msgid "Unable to update menu element." msgstr "" -#: ../../include/taxonomy.php:572 -msgid "want" +#: ../../Zotlabs/Module/Mitem.php:103 +msgid "Unable to add menu element." msgstr "" -#: ../../include/taxonomy.php:572 -msgid "wants" +#: ../../Zotlabs/Module/Mitem.php:167 ../../Zotlabs/Module/Mitem.php:246 +msgid "Menu Item Permissions" msgstr "" -#: ../../include/taxonomy.php:573 ../../Zotlabs/Lib/ThreadItem.php:317 -msgid "like" +#: ../../Zotlabs/Module/Mitem.php:168 ../../Zotlabs/Module/Mitem.php:247 +#: ../../Zotlabs/Module/Settings/Channel.php:528 +msgid "(click to open/close)" msgstr "" -#: ../../include/taxonomy.php:573 -msgid "likes" +#: ../../Zotlabs/Module/Mitem.php:174 ../../Zotlabs/Module/Mitem.php:191 +msgid "Link Name" msgstr "" -#: ../../include/taxonomy.php:574 ../../Zotlabs/Lib/ThreadItem.php:318 -msgid "dislike" +#: ../../Zotlabs/Module/Mitem.php:175 ../../Zotlabs/Module/Mitem.php:255 +msgid "Link or Submenu Target" msgstr "" -#: ../../include/taxonomy.php:574 -msgid "dislikes" +#: ../../Zotlabs/Module/Mitem.php:175 +msgid "Enter URL of the link or select a menu name to create a submenu" msgstr "" -#: ../../include/items.php:999 ../../include/items.php:1059 -msgid "(Unknown)" +#: ../../Zotlabs/Module/Mitem.php:176 ../../Zotlabs/Module/Mitem.php:256 +msgid "Use magic-auth if available" msgstr "" -#: ../../include/items.php:1247 -msgid "Visible to anybody on the internet." +#: ../../Zotlabs/Module/Mitem.php:177 ../../Zotlabs/Module/Mitem.php:257 +msgid "Open link in new window" msgstr "" -#: ../../include/items.php:1249 -msgid "Visible to you only." +#: ../../Zotlabs/Module/Mitem.php:178 ../../Zotlabs/Module/Mitem.php:258 +msgid "Order in list" msgstr "" -#: ../../include/items.php:1251 -msgid "Visible to anybody in this network." +#: ../../Zotlabs/Module/Mitem.php:178 ../../Zotlabs/Module/Mitem.php:258 +msgid "Higher numbers will sink to bottom of listing" msgstr "" -#: ../../include/items.php:1253 -msgid "Visible to anybody authenticated." +#: ../../Zotlabs/Module/Mitem.php:179 +msgid "Submit and finish" msgstr "" -#: ../../include/items.php:1255 -#, php-format -msgid "Visible to anybody on %s." +#: ../../Zotlabs/Module/Mitem.php:180 +msgid "Submit and continue" msgstr "" -#: ../../include/items.php:1257 -msgid "Visible to all connections." +#: ../../Zotlabs/Module/Mitem.php:189 +msgid "Menu:" msgstr "" -#: ../../include/items.php:1259 -msgid "Visible to approved connections." +#: ../../Zotlabs/Module/Mitem.php:192 +msgid "Link Target" msgstr "" -#: ../../include/items.php:1261 -msgid "Visible to specific connections." +#: ../../Zotlabs/Module/Mitem.php:195 +msgid "Edit menu" msgstr "" -#: ../../include/items.php:4466 ../../Zotlabs/Module/Group.php:62 -#: ../../Zotlabs/Module/Group.php:214 -msgid "Privacy group not found." +#: ../../Zotlabs/Module/Mitem.php:198 +msgid "Edit element" msgstr "" -#: ../../include/items.php:4482 -msgid "Privacy group is empty." +#: ../../Zotlabs/Module/Mitem.php:199 +msgid "Drop element" msgstr "" -#: ../../include/items.php:4489 -#, php-format -msgid "Privacy group: %s" +#: ../../Zotlabs/Module/Mitem.php:200 +msgid "New element" msgstr "" -#: ../../include/items.php:4499 ../../Zotlabs/Module/Connedit.php:870 -#, php-format -msgid "Connection: %s" +#: ../../Zotlabs/Module/Mitem.php:201 +msgid "Edit this menu container" msgstr "" -#: ../../include/items.php:4501 -msgid "Connection not found." +#: ../../Zotlabs/Module/Mitem.php:202 +msgid "Add menu element" msgstr "" -#: ../../include/items.php:4835 ../../Zotlabs/Module/Cover_photo.php:297 -msgid "female" +#: ../../Zotlabs/Module/Mitem.php:203 +msgid "Delete this menu item" msgstr "" -#: ../../include/items.php:4836 ../../Zotlabs/Module/Cover_photo.php:298 -#, php-format -msgid "%1$s updated her %2$s" +#: ../../Zotlabs/Module/Mitem.php:204 +msgid "Edit this menu item" msgstr "" -#: ../../include/items.php:4837 ../../Zotlabs/Module/Cover_photo.php:299 -msgid "male" +#: ../../Zotlabs/Module/Mitem.php:222 +msgid "Menu item not found." msgstr "" -#: ../../include/items.php:4838 ../../Zotlabs/Module/Cover_photo.php:300 -#, php-format -msgid "%1$s updated his %2$s" +#: ../../Zotlabs/Module/Mitem.php:235 +msgid "Menu item deleted." msgstr "" -#: ../../include/items.php:4840 ../../Zotlabs/Module/Cover_photo.php:302 -#, php-format -msgid "%1$s updated their %2$s" +#: ../../Zotlabs/Module/Mitem.php:237 +msgid "Menu item could not be deleted." msgstr "" -#: ../../include/items.php:4842 -msgid "profile photo" +#: ../../Zotlabs/Module/Mitem.php:244 +msgid "Edit Menu Element" msgstr "" -#: ../../include/items.php:5034 -#, php-format -msgid "[Edited %s]" +#: ../../Zotlabs/Module/Mitem.php:254 +msgid "Link text" msgstr "" -#: ../../include/items.php:5034 -msgctxt "edit_activity" -msgid "Post" +#: ../../Zotlabs/Module/Mood.php:76 ../../include/conversation.php:286 +#, php-format +msgctxt "mood" +msgid "%1$s is %2$s" msgstr "" -#: ../../include/items.php:5034 -msgctxt "edit_activity" -msgid "Comment" +#: ../../Zotlabs/Module/Mood.php:134 +msgid "Mood App" msgstr "" -#: ../../include/account.php:36 -msgid "Not a valid email address" +#: ../../Zotlabs/Module/Mood.php:135 ../../Zotlabs/Module/Mood.php:155 +msgid "Set your current mood and tell your friends" msgstr "" -#: ../../include/account.php:38 -msgid "Your email domain is not among those allowed on this site" +#: ../../Zotlabs/Module/Mood.php:154 ../../Zotlabs/Lib/Apps.php:350 +msgid "Mood" msgstr "" -#: ../../include/account.php:44 -msgid "Your email address is already registered at this site." +#: ../../Zotlabs/Module/Permcats.php:29 +msgid "Permission category name is required." msgstr "" -#: ../../include/account.php:76 -msgid "An invitation is required." +#: ../../Zotlabs/Module/Permcats.php:48 +msgid "Permission category saved." msgstr "" -#: ../../include/account.php:80 -msgid "Invitation could not be verified." +#: ../../Zotlabs/Module/Permcats.php:63 +msgid "Permission Categories App" msgstr "" -#: ../../include/account.php:156 -msgid "Please enter the required information." +#: ../../Zotlabs/Module/Permcats.php:64 +msgid "Create custom connection permission limits" msgstr "" -#: ../../include/account.php:223 -msgid "Failed to store account information." +#: ../../Zotlabs/Module/Permcats.php:80 +msgid "" +"Use this form to create permission rules for various classes of people or " +"connections." msgstr "" -#: ../../include/account.php:311 -#, php-format -msgid "Registration confirmation for %s" +#: ../../Zotlabs/Module/Permcats.php:113 ../../Zotlabs/Lib/Apps.php:374 +msgid "Permission Categories" msgstr "" -#: ../../include/account.php:380 -#, php-format -msgid "Registration request at %s" +#: ../../Zotlabs/Module/Permcats.php:121 +msgid "Permission category name" msgstr "" -#: ../../include/account.php:402 -msgid "your registration password" +#: ../../Zotlabs/Module/Ratings.php:70 +msgid "No ratings" msgstr "" -#: ../../include/account.php:408 ../../include/account.php:471 -#, php-format -msgid "Registration details for %s" +#: ../../Zotlabs/Module/Ratings.php:98 +msgid "Rating: " msgstr "" -#: ../../include/account.php:482 -msgid "Account approved." +#: ../../Zotlabs/Module/Ratings.php:99 +msgid "Website: " msgstr "" -#: ../../include/account.php:522 -#, php-format -msgid "Registration revoked for %s" +#: ../../Zotlabs/Module/Ratings.php:101 +msgid "Description: " msgstr "" -#: ../../include/account.php:805 ../../include/account.php:807 -msgid "Click here to upgrade." +#: ../../Zotlabs/Module/Register.php:52 +msgid "Maximum daily site registrations exceeded. Please try again tomorrow." msgstr "" -#: ../../include/account.php:813 -msgid "This action exceeds the limits set by your subscription plan." +#: ../../Zotlabs/Module/Register.php:58 +msgid "" +"Please indicate acceptance of the Terms of Service. Registration failed." msgstr "" -#: ../../include/account.php:818 -msgid "This action is not available under your subscription plan." +#: ../../Zotlabs/Module/Register.php:92 +msgid "Passwords do not match." msgstr "" -#: ../../include/photo/photo_driver.php:413 -#: ../../Zotlabs/Module/Profile_photo.php:147 -#: ../../Zotlabs/Module/Profile_photo.php:284 -msgid "Profile Photos" +#: ../../Zotlabs/Module/Register.php:135 +msgid "Registration successful. Continue to create your first channel..." msgstr "" -#: ../../include/attach.php:273 ../../include/attach.php:381 -msgid "Item was not found." +#: ../../Zotlabs/Module/Register.php:138 +msgid "" +"Registration successful. Please check your email for validation instructions." msgstr "" -#: ../../include/attach.php:290 -msgid "Unknown error." +#: ../../Zotlabs/Module/Register.php:145 +msgid "Your registration is pending approval by the site owner." msgstr "" -#: ../../include/attach.php:574 -msgid "No source file." +#: ../../Zotlabs/Module/Register.php:148 +msgid "Your registration can not be processed." msgstr "" -#: ../../include/attach.php:596 -msgid "Cannot locate file to replace" +#: ../../Zotlabs/Module/Register.php:195 +msgid "Registration on this hub is disabled." msgstr "" -#: ../../include/attach.php:615 -msgid "Cannot locate file to revise/update" +#: ../../Zotlabs/Module/Register.php:204 +msgid "Registration on this hub is by approval only." msgstr "" -#: ../../include/attach.php:759 -#, php-format -msgid "File exceeds size limit of %d" +#: ../../Zotlabs/Module/Register.php:205 ../../Zotlabs/Module/Register.php:214 +msgid "<a href=\"pubsites\">Register at another affiliated hub.</a>" msgstr "" -#: ../../include/attach.php:780 -#, php-format -msgid "You have reached your limit of %1$.0f Mbytes attachment storage." +#: ../../Zotlabs/Module/Register.php:213 +msgid "Registration on this hub is by invitation only." msgstr "" -#: ../../include/attach.php:968 -msgid "File upload failed. Possible system limit or action terminated." +#: ../../Zotlabs/Module/Register.php:224 +msgid "" +"This site has exceeded the number of allowed daily account registrations. " +"Please try again tomorrow." msgstr "" -#: ../../include/attach.php:997 -msgid "Stored file could not be verified. Upload failed." +#: ../../Zotlabs/Module/Register.php:239 ../../Zotlabs/Module/Siteinfo.php:28 +msgid "Terms of Service" msgstr "" -#: ../../include/attach.php:1069 ../../include/attach.php:1085 -msgid "Path not available." +#: ../../Zotlabs/Module/Register.php:245 +#, php-format +msgid "I accept the %s for this website" msgstr "" -#: ../../include/attach.php:1134 ../../include/attach.php:1297 -msgid "Empty pathname" +#: ../../Zotlabs/Module/Register.php:252 +#, php-format +msgid "I am over %s years of age and accept the %s for this website" msgstr "" -#: ../../include/attach.php:1160 -msgid "duplicate filename or path" +#: ../../Zotlabs/Module/Register.php:257 +msgid "Your email address" msgstr "" -#: ../../include/attach.php:1185 -msgid "Path not found." +#: ../../Zotlabs/Module/Register.php:258 +msgid "Choose a password" msgstr "" -#: ../../include/attach.php:1253 -msgid "mkdir failed." +#: ../../Zotlabs/Module/Register.php:259 +msgid "Please re-enter your password" msgstr "" -#: ../../include/attach.php:1257 -msgid "database storage failed." +#: ../../Zotlabs/Module/Register.php:260 +msgid "Please enter your invitation code" msgstr "" -#: ../../include/attach.php:1303 -msgid "Empty path" +#: ../../Zotlabs/Module/Register.php:261 +msgid "Your Name" msgstr "" -#: ../../include/attach.php:2035 -#, php-format -msgid "%s shared a %s with you" +#: ../../Zotlabs/Module/Register.php:261 +msgid "Real names are preferred." msgstr "" -#: ../../include/bookmarks.php:34 +#: ../../Zotlabs/Module/Register.php:263 #, php-format -msgid "%1$s's bookmarks" +msgid "" +"Your nickname will be used to create an easy to remember channel address e." +"g. nickname%s" msgstr "" -#: ../../include/menu.php:120 ../../include/channel.php:1524 -#: ../../include/channel.php:1528 ../../Zotlabs/Widget/Cdav.php:138 -#: ../../Zotlabs/Widget/Cdav.php:175 ../../Zotlabs/Module/Article_edit.php:98 -#: ../../Zotlabs/Module/Group.php:253 ../../Zotlabs/Module/Card_edit.php:99 -#: ../../Zotlabs/Module/Oauth.php:173 ../../Zotlabs/Module/Editwebpage.php:142 -#: ../../Zotlabs/Module/Webpages.php:255 -#: ../../Zotlabs/Module/Admin/Profs.php:175 ../../Zotlabs/Module/Blocks.php:160 -#: ../../Zotlabs/Module/Editblock.php:114 -#: ../../Zotlabs/Module/Editlayout.php:114 -#: ../../Zotlabs/Module/Connections.php:320 -#: ../../Zotlabs/Module/Connections.php:362 -#: ../../Zotlabs/Module/Connections.php:382 ../../Zotlabs/Module/Menu.php:176 -#: ../../Zotlabs/Module/Oauth2.php:194 ../../Zotlabs/Module/Thing.php:268 -#: ../../Zotlabs/Module/Wiki.php:211 ../../Zotlabs/Module/Wiki.php:384 -#: ../../Zotlabs/Module/Layouts.php:193 ../../Zotlabs/Lib/Apps.php:557 -#: ../../Zotlabs/Lib/ThreadItem.php:148 ../../Zotlabs/Storage/Browser.php:296 -msgid "Edit" +#: ../../Zotlabs/Module/Register.php:264 +msgid "" +"Select a channel permission role for your usage needs and privacy " +"requirements." msgstr "" -#: ../../include/bbcode.php:221 ../../include/bbcode.php:896 -#: ../../include/bbcode.php:1486 ../../include/bbcode.php:1494 -msgid "Image/photo" +#: ../../Zotlabs/Module/Register.php:265 +msgid "no" msgstr "" -#: ../../include/bbcode.php:268 ../../include/bbcode.php:1511 -msgid "Encrypted content" +#: ../../Zotlabs/Module/Register.php:265 +msgid "yes" msgstr "" -#: ../../include/bbcode.php:302 -#, php-format -msgid "Install %1$s element %2$s" +#: ../../Zotlabs/Module/Register.php:293 ../../include/nav.php:162 +#: ../../boot.php:1685 +msgid "Register" msgstr "" -#: ../../include/bbcode.php:306 -#, php-format +#: ../../Zotlabs/Module/Register.php:294 msgid "" -"This post contains an installable %s element, however you lack permissions " -"to install it on this site." +"This site requires email verification. After completing this form, please " +"check your email for further instructions." msgstr "" -#: ../../include/bbcode.php:316 ../../Zotlabs/Module/Impel.php:43 -msgid "webpage" +#: ../../Zotlabs/Module/Acl.php:123 ../../Zotlabs/Module/Lockview.php:117 +#: ../../Zotlabs/Module/Lockview.php:153 +msgctxt "acl" +msgid "Profile" msgstr "" -#: ../../include/bbcode.php:319 ../../Zotlabs/Module/Impel.php:53 -msgid "layout" +#: ../../Zotlabs/Module/Acl.php:370 +msgid "network" msgstr "" -#: ../../include/bbcode.php:322 ../../Zotlabs/Module/Impel.php:48 -msgid "block" +#: ../../Zotlabs/Module/Settings/Featured.php:25 +msgid "No feature settings configured" msgstr "" -#: ../../include/bbcode.php:325 ../../Zotlabs/Module/Impel.php:60 -msgid "menu" +#: ../../Zotlabs/Module/Settings/Featured.php:34 +msgid "Addon Settings" msgstr "" -#: ../../include/bbcode.php:519 -msgid "card" +#: ../../Zotlabs/Module/Settings/Featured.php:35 +msgid "Please save/submit changes to any panel before opening another." msgstr "" -#: ../../include/bbcode.php:521 -msgid "article" +#: ../../Zotlabs/Module/Settings/Account.php:19 +msgid "Not valid email." msgstr "" -#: ../../include/bbcode.php:527 ../../include/markdown.php:202 -#, php-format -msgid "%1$s wrote the following %2$s %3$s" +#: ../../Zotlabs/Module/Settings/Account.php:22 +msgid "Protected email address. Cannot change to that email." msgstr "" -#: ../../include/bbcode.php:604 ../../include/bbcode.php:612 -msgid "Click to open/close" +#: ../../Zotlabs/Module/Settings/Account.php:31 +msgid "System failure storing new email. Please try again." msgstr "" -#: ../../include/bbcode.php:612 ../../include/markdown.php:251 -msgid "spoiler" +#: ../../Zotlabs/Module/Settings/Account.php:48 +msgid "Password verification failed." msgstr "" -#: ../../include/bbcode.php:625 -msgid "View article" +#: ../../Zotlabs/Module/Settings/Account.php:55 +msgid "Passwords do not match. Password unchanged." msgstr "" -#: ../../include/bbcode.php:625 -msgid "View summary" +#: ../../Zotlabs/Module/Settings/Account.php:59 +msgid "Empty passwords are not allowed. Password unchanged." msgstr "" -#: ../../include/bbcode.php:1018 ../../include/bbcode.php:1190 -#: ../../Zotlabs/Lib/NativeWikiPage.php:606 -msgid "Different viewers will see this text differently" +#: ../../Zotlabs/Module/Settings/Account.php:73 +msgid "Password changed." msgstr "" -#: ../../include/bbcode.php:1474 -msgid "$1 wrote:" +#: ../../Zotlabs/Module/Settings/Account.php:75 +msgid "Password update failed. Please try again." msgstr "" -#: ../../include/channel.php:46 -msgid "Unable to obtain identity information from database" +#: ../../Zotlabs/Module/Settings/Account.php:99 +msgid "Account Settings" msgstr "" -#: ../../include/channel.php:79 -msgid "Empty name" +#: ../../Zotlabs/Module/Settings/Account.php:100 +msgid "Current Password" msgstr "" -#: ../../include/channel.php:82 -msgid "Name too long" +#: ../../Zotlabs/Module/Settings/Account.php:101 +msgid "Enter New Password" msgstr "" -#: ../../include/channel.php:199 -msgid "No account identifier" +#: ../../Zotlabs/Module/Settings/Account.php:102 +msgid "Confirm New Password" msgstr "" -#: ../../include/channel.php:211 -msgid "Nickname is required." +#: ../../Zotlabs/Module/Settings/Account.php:102 +msgid "Leave password fields blank unless changing" msgstr "" -#: ../../include/channel.php:225 ../../include/channel.php:706 -#: ../../Zotlabs/Module/Changeaddr.php:46 -msgid "Reserved nickname. Please choose another." +#: ../../Zotlabs/Module/Settings/Account.php:104 +#: ../../Zotlabs/Module/Settings/Channel.php:502 +msgid "Email Address:" msgstr "" -#: ../../include/channel.php:230 ../../include/channel.php:711 -#: ../../Zotlabs/Module/Changeaddr.php:51 -msgid "" -"Nickname has unsupported characters or is already being used on this site." +#: ../../Zotlabs/Module/Settings/Account.php:106 +msgid "Remove this account including all its channels" msgstr "" -#: ../../include/channel.php:294 -msgid "Unable to retrieve created identity" +#: ../../Zotlabs/Module/Settings/Events.php:40 +msgid "Events Settings" msgstr "" -#: ../../include/channel.php:441 -msgid "Default Profile" +#: ../../Zotlabs/Module/Settings/Profiles.php:49 +msgid "Profiles Settings" msgstr "" -#: ../../include/channel.php:639 ../../include/channel.php:728 -msgid "Unable to retrieve modified identity" +#: ../../Zotlabs/Module/Settings/Editor.php:40 +msgid "Editor Settings" msgstr "" -#: ../../include/channel.php:1371 -msgid "Requested channel is not available." +#: ../../Zotlabs/Module/Settings/Features.php:45 +msgid "Additional Features" msgstr "" -#: ../../include/channel.php:1517 ../../Zotlabs/Module/Profiles.php:730 -msgid "Change profile photo" +#: ../../Zotlabs/Module/Settings/Manage.php:41 +msgid "Channel Manager Settings" msgstr "" -#: ../../include/channel.php:1525 -msgid "Create New Profile" +#: ../../Zotlabs/Module/Settings/Display.php:127 +#, php-format +msgid "%s - (Experimental)" msgstr "" -#: ../../include/channel.php:1543 ../../Zotlabs/Module/Profiles.php:822 -msgid "Profile Image" +#: ../../Zotlabs/Module/Settings/Display.php:183 +msgid "Display Settings" msgstr "" -#: ../../include/channel.php:1546 -msgid "Visible to everybody" +#: ../../Zotlabs/Module/Settings/Display.php:184 +msgid "Theme Settings" msgstr "" -#: ../../include/channel.php:1547 ../../Zotlabs/Module/Profiles.php:727 -#: ../../Zotlabs/Module/Profiles.php:826 -msgid "Edit visibility" +#: ../../Zotlabs/Module/Settings/Display.php:185 +msgid "Custom Theme Settings" msgstr "" -#: ../../include/channel.php:1623 ../../include/channel.php:1751 -msgid "Gender:" +#: ../../Zotlabs/Module/Settings/Display.php:186 +msgid "Content Settings" msgstr "" -#: ../../include/channel.php:1624 ../../include/channel.php:1795 -msgid "Status:" +#: ../../Zotlabs/Module/Settings/Display.php:192 +msgid "Display Theme:" msgstr "" -#: ../../include/channel.php:1625 ../../include/channel.php:1819 -msgid "Homepage:" +#: ../../Zotlabs/Module/Settings/Display.php:193 +msgid "Select scheme" msgstr "" -#: ../../include/channel.php:1626 -msgid "Online Now" +#: ../../Zotlabs/Module/Settings/Display.php:195 +msgid "Preload images before rendering the page" msgstr "" -#: ../../include/channel.php:1679 -msgid "Change your profile photo" +#: ../../Zotlabs/Module/Settings/Display.php:195 +msgid "" +"The subjective page load time will be longer but the page will be ready when " +"displayed" msgstr "" -#: ../../include/channel.php:1710 -msgid "Trans" +#: ../../Zotlabs/Module/Settings/Display.php:196 +msgid "Enable user zoom on mobile devices" msgstr "" -#: ../../include/channel.php:1749 ../../Zotlabs/Module/Settings/Channel.php:501 -msgid "Full Name:" +#: ../../Zotlabs/Module/Settings/Display.php:197 +msgid "Update browser every xx seconds" msgstr "" -#: ../../include/channel.php:1756 -msgid "Like this channel" +#: ../../Zotlabs/Module/Settings/Display.php:197 +msgid "Minimum of 10 seconds, no maximum" msgstr "" -#: ../../include/channel.php:1780 -msgid "j F, Y" +#: ../../Zotlabs/Module/Settings/Display.php:198 +msgid "Maximum number of conversations to load at any time:" msgstr "" -#: ../../include/channel.php:1781 -msgid "j F" +#: ../../Zotlabs/Module/Settings/Display.php:198 +msgid "Maximum of 30 items" msgstr "" -#: ../../include/channel.php:1788 -msgid "Birthday:" +#: ../../Zotlabs/Module/Settings/Display.php:199 +msgid "Show emoticons (smilies) as images" msgstr "" -#: ../../include/channel.php:1792 ../../Zotlabs/Module/Directory.php:347 -msgid "Age:" +#: ../../Zotlabs/Module/Settings/Display.php:200 +msgid "Provide channel menu in navigation bar" msgstr "" -#: ../../include/channel.php:1801 -#, php-format -msgid "for %1$d %2$s" +#: ../../Zotlabs/Module/Settings/Display.php:200 +msgid "Default: channel menu located in app menu" msgstr "" -#: ../../include/channel.php:1813 -msgid "Tags:" +#: ../../Zotlabs/Module/Settings/Display.php:201 +msgid "Link post titles to source" msgstr "" -#: ../../include/channel.php:1817 -msgid "Sexual Preference:" +#: ../../Zotlabs/Module/Settings/Display.php:203 +#: ../../Zotlabs/Widget/Newmember.php:75 +msgid "New Member Links" msgstr "" -#: ../../include/channel.php:1821 ../../Zotlabs/Module/Directory.php:365 -msgid "Hometown:" +#: ../../Zotlabs/Module/Settings/Display.php:203 +msgid "Display new member quick links menu" msgstr "" -#: ../../include/channel.php:1823 -msgid "Political Views:" +#: ../../Zotlabs/Module/Settings/Photos.php:40 +msgid "Photos Settings" msgstr "" -#: ../../include/channel.php:1825 -msgid "Religion:" +#: ../../Zotlabs/Module/Settings/Channel.php:329 +msgid "Nobody except yourself" msgstr "" -#: ../../include/channel.php:1827 ../../Zotlabs/Module/Directory.php:367 -msgid "About:" +#: ../../Zotlabs/Module/Settings/Channel.php:330 +msgid "Only those you specifically allow" msgstr "" -#: ../../include/channel.php:1829 -msgid "Hobbies/Interests:" +#: ../../Zotlabs/Module/Settings/Channel.php:331 +msgid "Approved connections" msgstr "" -#: ../../include/channel.php:1831 -msgid "Likes:" +#: ../../Zotlabs/Module/Settings/Channel.php:332 +msgid "Any connections" msgstr "" -#: ../../include/channel.php:1833 -msgid "Dislikes:" +#: ../../Zotlabs/Module/Settings/Channel.php:333 +msgid "Anybody on this website" msgstr "" -#: ../../include/channel.php:1835 -msgid "Contact information and Social Networks:" +#: ../../Zotlabs/Module/Settings/Channel.php:334 +msgid "Anybody in this network" msgstr "" -#: ../../include/channel.php:1837 -msgid "My other channels:" +#: ../../Zotlabs/Module/Settings/Channel.php:335 +msgid "Anybody authenticated" msgstr "" -#: ../../include/channel.php:1839 -msgid "Musical interests:" +#: ../../Zotlabs/Module/Settings/Channel.php:336 +msgid "Anybody on the internet" msgstr "" -#: ../../include/channel.php:1841 -msgid "Books, literature:" +#: ../../Zotlabs/Module/Settings/Channel.php:411 +msgid "Publish your default profile in the network directory" msgstr "" -#: ../../include/channel.php:1843 -msgid "Television:" +#: ../../Zotlabs/Module/Settings/Channel.php:416 +msgid "Allow us to suggest you as a potential friend to new members?" msgstr "" -#: ../../include/channel.php:1845 -msgid "Film/dance/culture/entertainment:" +#: ../../Zotlabs/Module/Settings/Channel.php:420 +msgid "or" msgstr "" -#: ../../include/channel.php:1847 -msgid "Love/Romance:" +#: ../../Zotlabs/Module/Settings/Channel.php:429 +msgid "Your channel address is" msgstr "" -#: ../../include/channel.php:1849 -msgid "Work/employment:" +#: ../../Zotlabs/Module/Settings/Channel.php:432 +msgid "Your files/photos are accessible via WebDAV at" msgstr "" -#: ../../include/channel.php:1851 -msgid "School/education:" +#: ../../Zotlabs/Module/Settings/Channel.php:472 +msgid "Automatic membership approval" msgstr "" -#: ../../include/channel.php:1872 ../../Zotlabs/Module/Profperm.php:113 -#: ../../Zotlabs/Lib/Apps.php:362 -msgid "Profile" +#: ../../Zotlabs/Module/Settings/Channel.php:493 +msgid "Channel Settings" msgstr "" -#: ../../include/channel.php:1874 -msgid "Like this thing" +#: ../../Zotlabs/Module/Settings/Channel.php:500 +msgid "Basic Settings" msgstr "" -#: ../../include/channel.php:1875 ../../Zotlabs/Module/Events.php:699 -msgid "Export" +#: ../../Zotlabs/Module/Settings/Channel.php:501 ../../include/channel.php:1763 +msgid "Full Name:" msgstr "" -#: ../../include/channel.php:2314 ../../Zotlabs/Module/Cover_photo.php:304 -msgid "cover photo" +#: ../../Zotlabs/Module/Settings/Channel.php:503 +msgid "Your Timezone:" msgstr "" -#: ../../include/channel.php:2603 ../../Zotlabs/Module/Rmagic.php:96 -#: ../../boot.php:1699 -msgid "Remote Authentication" +#: ../../Zotlabs/Module/Settings/Channel.php:504 +msgid "Default Post Location:" msgstr "" -#: ../../include/channel.php:2604 ../../Zotlabs/Module/Rmagic.php:97 -msgid "Enter your channel address (e.g. channel@example.com)" +#: ../../Zotlabs/Module/Settings/Channel.php:504 +msgid "Geographical location to display on your posts" msgstr "" -#: ../../include/channel.php:2605 ../../Zotlabs/Module/Rmagic.php:98 -msgid "Authenticate" +#: ../../Zotlabs/Module/Settings/Channel.php:505 +msgid "Use Browser Location:" msgstr "" -#: ../../include/channel.php:2763 ../../Zotlabs/Module/Admin/Accounts.php:91 -#, php-format -msgid "Account '%s' deleted" +#: ../../Zotlabs/Module/Settings/Channel.php:507 +msgid "Adult Content" msgstr "" -#: ../../include/acl_selectors.php:33 -#: ../../Zotlabs/Lib/PermissionDescription.php:34 -msgid "Visible to your default audience" +#: ../../Zotlabs/Module/Settings/Channel.php:507 +msgid "" +"This channel frequently or regularly publishes adult content. (Please tag " +"any adult material and/or nudity with #NSFW)" msgstr "" -#: ../../include/acl_selectors.php:100 -msgid "Profile-Based Privacy Groups" +#: ../../Zotlabs/Module/Settings/Channel.php:509 +msgid "Security and Privacy Settings" msgstr "" -#: ../../include/acl_selectors.php:113 ../../Zotlabs/Widget/Forums.php:100 -#: ../../Zotlabs/Widget/Activity_filter.php:115 -#: ../../Zotlabs/Widget/Notifications.php:139 -#: ../../Zotlabs/Widget/Notifications.php:140 -msgid "Forums" +#: ../../Zotlabs/Module/Settings/Channel.php:511 +msgid "Your permissions are already configured. Click to view/adjust" msgstr "" -#: ../../include/acl_selectors.php:115 -msgid "Private Forum" +#: ../../Zotlabs/Module/Settings/Channel.php:513 +msgid "Hide my online presence" msgstr "" -#: ../../include/acl_selectors.php:126 -#: ../../Zotlabs/Lib/PermissionDescription.php:107 -msgid "Only me" +#: ../../Zotlabs/Module/Settings/Channel.php:513 +msgid "Prevents displaying in your profile that you are online" msgstr "" -#: ../../include/acl_selectors.php:133 -msgid "Share with" +#: ../../Zotlabs/Module/Settings/Channel.php:515 +msgid "Simple Privacy Settings:" msgstr "" -#: ../../include/acl_selectors.php:134 -msgid "Custom selection" +#: ../../Zotlabs/Module/Settings/Channel.php:516 +msgid "" +"Very Public - <em>extremely permissive (should be used with caution)</em>" msgstr "" -#: ../../include/acl_selectors.php:136 +#: ../../Zotlabs/Module/Settings/Channel.php:517 msgid "" -"Select \"Allow\" to allow viewing. \"Don't allow\" lets you override and " -"limit the scope of \"Allow\"." +"Typical - <em>default public, privacy when desired (similar to social " +"network permissions but with improved privacy)</em>" msgstr "" -#: ../../include/acl_selectors.php:137 ../../Zotlabs/Module/Authorize.php:32 -msgid "Allow" +#: ../../Zotlabs/Module/Settings/Channel.php:518 +msgid "Private - <em>default private, never open or public</em>" msgstr "" -#: ../../include/acl_selectors.php:138 -msgid "Don't allow" +#: ../../Zotlabs/Module/Settings/Channel.php:519 +msgid "Blocked - <em>default blocked to/from everybody</em>" msgstr "" -#: ../../include/acl_selectors.php:171 -#, php-format +#: ../../Zotlabs/Module/Settings/Channel.php:521 +msgid "Allow others to tag your posts" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Channel.php:521 msgid "" -"Post permissions %s cannot be changed %s after a post is shared.</br />These " -"permissions set who is allowed to view the post." +"Often used by the community to retro-actively flag inappropriate content" msgstr "" -#: ../../include/oembed.php:153 -msgid "View PDF" +#: ../../Zotlabs/Module/Settings/Channel.php:523 +msgid "Channel Permission Limits" msgstr "" -#: ../../include/oembed.php:357 -msgid " by " +#: ../../Zotlabs/Module/Settings/Channel.php:525 +msgid "Expire other channel content after this many days" msgstr "" -#: ../../include/oembed.php:358 -msgid " on " +#: ../../Zotlabs/Module/Settings/Channel.php:525 +msgid "0 or blank to use the website limit." msgstr "" -#: ../../include/oembed.php:387 -msgid "Embedded content" +#: ../../Zotlabs/Module/Settings/Channel.php:525 +#, php-format +msgid "This website expires after %d days." msgstr "" -#: ../../include/oembed.php:396 -msgid "Embedding disabled" +#: ../../Zotlabs/Module/Settings/Channel.php:525 +msgid "This website does not expire imported content." msgstr "" -#: ../../include/dir_fns.php:140 ../../Zotlabs/Lib/Libzotdir.php:160 -msgid "Directory Options" +#: ../../Zotlabs/Module/Settings/Channel.php:525 +msgid "The website limit takes precedence if lower than your limit." msgstr "" -#: ../../include/dir_fns.php:142 ../../Zotlabs/Lib/Libzotdir.php:162 -msgid "Safe Mode" +#: ../../Zotlabs/Module/Settings/Channel.php:526 +msgid "Maximum Friend Requests/Day:" msgstr "" -#: ../../include/dir_fns.php:143 ../../Zotlabs/Lib/Libzotdir.php:163 -msgid "Public Forums Only" +#: ../../Zotlabs/Module/Settings/Channel.php:526 +msgid "May reduce spam activity" msgstr "" -#: ../../include/dir_fns.php:144 ../../Zotlabs/Lib/Libzotdir.php:165 -msgid "This Website Only" +#: ../../Zotlabs/Module/Settings/Channel.php:527 +msgid "Default Privacy Group" msgstr "" -#: ../../include/zid.php:364 -#, php-format -msgid "OpenWebAuth: %1$s welcomes %2$s" +#: ../../Zotlabs/Module/Settings/Channel.php:529 +msgid "Use my default audience setting for the type of object published" msgstr "" -#: ../../include/message.php:41 -msgid "Unable to determine sender." +#: ../../Zotlabs/Module/Settings/Channel.php:538 +msgid "Default permissions category" msgstr "" -#: ../../include/message.php:80 -msgid "No recipient provided." +#: ../../Zotlabs/Module/Settings/Channel.php:544 +msgid "Maximum private messages per day from unknown people:" msgstr "" -#: ../../include/message.php:85 -msgid "[no subject]" +#: ../../Zotlabs/Module/Settings/Channel.php:544 +msgid "Useful to reduce spamming" msgstr "" -#: ../../include/message.php:214 -msgid "Stored post could not be verified." +#: ../../Zotlabs/Module/Settings/Channel.php:547 +#: ../../Zotlabs/Lib/Enotify.php:68 +msgid "Notification Settings" msgstr "" -#: ../../Zotlabs/Widget/Activity_order.php:90 -msgid "Commented Date" +#: ../../Zotlabs/Module/Settings/Channel.php:548 +msgid "By default post a status message when:" msgstr "" -#: ../../Zotlabs/Widget/Activity_order.php:94 -msgid "Order by last commented date" +#: ../../Zotlabs/Module/Settings/Channel.php:549 +msgid "accepting a friend request" msgstr "" -#: ../../Zotlabs/Widget/Activity_order.php:97 -msgid "Posted Date" +#: ../../Zotlabs/Module/Settings/Channel.php:550 +msgid "joining a forum/community" msgstr "" -#: ../../Zotlabs/Widget/Activity_order.php:101 -msgid "Order by last posted date" +#: ../../Zotlabs/Module/Settings/Channel.php:551 +msgid "making an <em>interesting</em> profile change" msgstr "" -#: ../../Zotlabs/Widget/Activity_order.php:104 -msgid "Date Unthreaded" +#: ../../Zotlabs/Module/Settings/Channel.php:552 +msgid "Send a notification email when:" msgstr "" -#: ../../Zotlabs/Widget/Activity_order.php:108 -msgid "Order unthreaded by date" +#: ../../Zotlabs/Module/Settings/Channel.php:553 +msgid "You receive a connection request" msgstr "" -#: ../../Zotlabs/Widget/Activity_order.php:123 -msgid "Stream Order" +#: ../../Zotlabs/Module/Settings/Channel.php:554 +msgid "Your connections are confirmed" msgstr "" -#: ../../Zotlabs/Widget/Archive.php:43 -msgid "Archives" +#: ../../Zotlabs/Module/Settings/Channel.php:555 +msgid "Someone writes on your profile wall" msgstr "" -#: ../../Zotlabs/Widget/Wiki_pages.php:34 -#: ../../Zotlabs/Widget/Wiki_pages.php:91 -msgid "Add new page" +#: ../../Zotlabs/Module/Settings/Channel.php:556 +msgid "Someone writes a followup comment" msgstr "" -#: ../../Zotlabs/Widget/Wiki_pages.php:41 -#: ../../Zotlabs/Widget/Wiki_pages.php:98 ../../Zotlabs/Module/Dreport.php:166 -msgid "Options" +#: ../../Zotlabs/Module/Settings/Channel.php:557 +msgid "You receive a private message" msgstr "" -#: ../../Zotlabs/Widget/Wiki_pages.php:85 -msgid "Wiki Pages" +#: ../../Zotlabs/Module/Settings/Channel.php:558 +msgid "You receive a friend suggestion" msgstr "" -#: ../../Zotlabs/Widget/Wiki_pages.php:96 -msgid "Page name" +#: ../../Zotlabs/Module/Settings/Channel.php:559 +msgid "You are tagged in a post" msgstr "" -#: ../../Zotlabs/Widget/Album.php:78 ../../Zotlabs/Widget/Portfolio.php:87 -#: ../../Zotlabs/Module/Embedphotos.php:170 ../../Zotlabs/Module/Photos.php:786 -#: ../../Zotlabs/Module/Photos.php:1332 -msgid "View Photo" +#: ../../Zotlabs/Module/Settings/Channel.php:560 +msgid "You are poked/prodded/etc. in a post" msgstr "" -#: ../../Zotlabs/Widget/Album.php:95 ../../Zotlabs/Widget/Portfolio.php:108 -#: ../../Zotlabs/Module/Embedphotos.php:186 ../../Zotlabs/Module/Photos.php:817 -msgid "Edit Album" +#: ../../Zotlabs/Module/Settings/Channel.php:562 +msgid "Someone likes your post/comment" msgstr "" -#: ../../Zotlabs/Widget/Album.php:97 ../../Zotlabs/Widget/Cdav.php:146 -#: ../../Zotlabs/Widget/Cdav.php:182 ../../Zotlabs/Widget/Portfolio.php:110 -#: ../../Zotlabs/Module/Embedphotos.php:188 -#: ../../Zotlabs/Module/Profile_photo.php:500 -#: ../../Zotlabs/Module/Cover_photo.php:423 ../../Zotlabs/Module/Photos.php:687 -#: ../../Zotlabs/Storage/Browser.php:398 -msgid "Upload" +#: ../../Zotlabs/Module/Settings/Channel.php:565 +msgid "Show visual notifications including:" msgstr "" -#: ../../Zotlabs/Widget/Tasklist.php:23 -msgid "Tasks" +#: ../../Zotlabs/Module/Settings/Channel.php:567 +msgid "Unseen stream activity" msgstr "" -#: ../../Zotlabs/Widget/Pubsites.php:12 ../../Zotlabs/Module/Pubsites.php:24 -msgid "Public Hubs" +#: ../../Zotlabs/Module/Settings/Channel.php:568 +msgid "Unseen channel activity" msgstr "" -#: ../../Zotlabs/Widget/Conversations.php:17 -msgid "Received Messages" +#: ../../Zotlabs/Module/Settings/Channel.php:569 +msgid "Unseen private messages" msgstr "" -#: ../../Zotlabs/Widget/Conversations.php:21 -msgid "Sent Messages" +#: ../../Zotlabs/Module/Settings/Channel.php:569 +#: ../../Zotlabs/Module/Settings/Channel.php:574 +#: ../../Zotlabs/Module/Settings/Channel.php:575 +#: ../../Zotlabs/Module/Settings/Channel.php:576 +msgid "Recommended" msgstr "" -#: ../../Zotlabs/Widget/Conversations.php:25 -msgid "Conversations" +#: ../../Zotlabs/Module/Settings/Channel.php:570 +msgid "Upcoming events" msgstr "" -#: ../../Zotlabs/Widget/Conversations.php:37 -msgid "No messages." +#: ../../Zotlabs/Module/Settings/Channel.php:571 +msgid "Events today" msgstr "" -#: ../../Zotlabs/Widget/Conversations.php:57 -msgid "Delete conversation" +#: ../../Zotlabs/Module/Settings/Channel.php:572 +msgid "Upcoming birthdays" msgstr "" -#: ../../Zotlabs/Widget/Chatroom_members.php:11 -msgid "Chat Members" +#: ../../Zotlabs/Module/Settings/Channel.php:572 +msgid "Not available in all themes" msgstr "" -#: ../../Zotlabs/Widget/Pinned.php:70 ../../Zotlabs/Lib/ThreadItem.php:205 -msgid "I will attend" +#: ../../Zotlabs/Module/Settings/Channel.php:573 +msgid "System (personal) notifications" msgstr "" -#: ../../Zotlabs/Widget/Pinned.php:70 ../../Zotlabs/Lib/ThreadItem.php:205 -msgid "I will not attend" +#: ../../Zotlabs/Module/Settings/Channel.php:574 +msgid "System info messages" msgstr "" -#: ../../Zotlabs/Widget/Pinned.php:70 ../../Zotlabs/Lib/ThreadItem.php:205 -msgid "I might attend" +#: ../../Zotlabs/Module/Settings/Channel.php:575 +msgid "System critical alerts" msgstr "" -#: ../../Zotlabs/Widget/Pinned.php:81 ../../Zotlabs/Lib/ThreadItem.php:219 -msgid "I agree" +#: ../../Zotlabs/Module/Settings/Channel.php:576 +msgid "New connections" msgstr "" -#: ../../Zotlabs/Widget/Pinned.php:81 ../../Zotlabs/Lib/ThreadItem.php:219 -msgid "I disagree" +#: ../../Zotlabs/Module/Settings/Channel.php:577 +msgid "System Registrations" msgstr "" -#: ../../Zotlabs/Widget/Pinned.php:81 ../../Zotlabs/Lib/ThreadItem.php:219 -msgid "I abstain" +#: ../../Zotlabs/Module/Settings/Channel.php:578 +msgid "Unseen shared files" msgstr "" -#: ../../Zotlabs/Widget/Pinned.php:99 ../../Zotlabs/Lib/ThreadItem.php:329 -msgid "Share This" +#: ../../Zotlabs/Module/Settings/Channel.php:579 +msgid "Unseen public stream activity" msgstr "" -#: ../../Zotlabs/Widget/Pinned.php:99 ../../Zotlabs/Lib/ThreadItem.php:329 -msgid "share" +#: ../../Zotlabs/Module/Settings/Channel.php:580 +msgid "Unseen likes and dislikes" msgstr "" -#: ../../Zotlabs/Widget/Pinned.php:123 ../../Zotlabs/Widget/Pinned.php:124 -#, php-format -msgid "View %s's profile - %s" +#: ../../Zotlabs/Module/Settings/Channel.php:581 +msgid "Unseen forum posts" msgstr "" -#: ../../Zotlabs/Widget/Pinned.php:128 ../../Zotlabs/Lib/ThreadItem.php:413 -msgid "via" +#: ../../Zotlabs/Module/Settings/Channel.php:582 +msgid "Email notification hub (hostname)" msgstr "" -#: ../../Zotlabs/Widget/Pinned.php:143 ../../Zotlabs/Lib/ThreadItem.php:443 -msgid "Attendance Options" +#: ../../Zotlabs/Module/Settings/Channel.php:582 +#, php-format +msgid "" +"If your channel is mirrored to multiple hubs, set this to your preferred " +"location. This will prevent duplicate email notifications. Example: %s" msgstr "" -#: ../../Zotlabs/Widget/Pinned.php:144 ../../Zotlabs/Lib/ThreadItem.php:445 -msgid "Voting Options" +#: ../../Zotlabs/Module/Settings/Channel.php:583 +msgid "Show new wall posts, private messages and connections under Notices" msgstr "" -#: ../../Zotlabs/Widget/Pinned.php:156 ../../Zotlabs/Lib/ThreadItem.php:469 -msgid "Pinned post" +#: ../../Zotlabs/Module/Settings/Channel.php:585 +msgid "Notify me of events this many days in advance" msgstr "" -#: ../../Zotlabs/Widget/Pinned.php:158 -msgid "Don't show" +#: ../../Zotlabs/Module/Settings/Channel.php:585 +msgid "Must be greater than 0" msgstr "" -#: ../../Zotlabs/Widget/Activity.php:50 -msgctxt "widget" -msgid "Activity" +#: ../../Zotlabs/Module/Settings/Channel.php:590 +msgid "Advanced Account/Page Type Settings" msgstr "" -#: ../../Zotlabs/Widget/Cdav.php:37 -msgid "Select Channel" +#: ../../Zotlabs/Module/Settings/Channel.php:591 +msgid "Change the behaviour of this account for special situations" msgstr "" -#: ../../Zotlabs/Widget/Cdav.php:42 -msgid "Read-write" +#: ../../Zotlabs/Module/Settings/Channel.php:593 +msgid "Miscellaneous Settings" msgstr "" -#: ../../Zotlabs/Widget/Cdav.php:43 -msgid "Read-only" +#: ../../Zotlabs/Module/Settings/Channel.php:594 +msgid "Default photo upload folder" msgstr "" -#: ../../Zotlabs/Widget/Cdav.php:127 -msgid "Channel Calendar" +#: ../../Zotlabs/Module/Settings/Channel.php:594 +#: ../../Zotlabs/Module/Settings/Channel.php:595 +msgid "%Y - current year, %m - current month" msgstr "" -#: ../../Zotlabs/Widget/Cdav.php:129 ../../Zotlabs/Widget/Cdav.php:143 -#: ../../Zotlabs/Module/Cdav.php:1051 -msgid "CalDAV Calendars" +#: ../../Zotlabs/Module/Settings/Channel.php:595 +msgid "Default file upload folder" msgstr "" -#: ../../Zotlabs/Widget/Cdav.php:131 -msgid "Shared CalDAV Calendars" +#: ../../Zotlabs/Module/Settings/Channel.php:597 +msgid "Remove this channel." msgstr "" -#: ../../Zotlabs/Widget/Cdav.php:135 -msgid "Share this calendar" +#: ../../Zotlabs/Module/Settings/Connections.php:40 +msgid "Connections Settings" msgstr "" -#: ../../Zotlabs/Widget/Cdav.php:137 -msgid "Calendar name and color" +#: ../../Zotlabs/Module/Settings/Calendar.php:40 +msgid "Calendar Settings" msgstr "" -#: ../../Zotlabs/Widget/Cdav.php:139 -msgid "Create new CalDAV calendar" +#: ../../Zotlabs/Module/Settings/Directory.php:40 +msgid "Directory Settings" msgstr "" -#: ../../Zotlabs/Widget/Cdav.php:140 ../../Zotlabs/Widget/Cdav.php:178 -#: ../../Zotlabs/Module/Cdav.php:1055 ../../Zotlabs/Module/Cdav.php:1383 -#: ../../Zotlabs/Module/Webpages.php:254 -#: ../../Zotlabs/Module/New_channel.php:189 ../../Zotlabs/Module/Cards.php:113 -#: ../../Zotlabs/Module/Blocks.php:159 ../../Zotlabs/Module/Profiles.php:800 -#: ../../Zotlabs/Module/Articles.php:117 ../../Zotlabs/Module/Menu.php:182 -#: ../../Zotlabs/Module/Connedit.php:941 ../../Zotlabs/Module/Layouts.php:185 -#: ../../Zotlabs/Storage/Browser.php:282 ../../Zotlabs/Storage/Browser.php:396 -msgid "Create" +#: ../../Zotlabs/Module/Settings/Channel_home.php:46 +#: ../../Zotlabs/Module/Settings/Network.php:42 +msgid "Max height of content (in pixels)" msgstr "" -#: ../../Zotlabs/Widget/Cdav.php:141 -msgid "Calendar Name" +#: ../../Zotlabs/Module/Settings/Channel_home.php:48 +#: ../../Zotlabs/Module/Settings/Network.php:44 +msgid "Click to expand content exceeding this height" msgstr "" -#: ../../Zotlabs/Widget/Cdav.php:142 -msgid "Calendar Tools" +#: ../../Zotlabs/Module/Settings/Channel_home.php:61 +msgid "Personal menu to display in your channel pages" msgstr "" -#: ../../Zotlabs/Widget/Cdav.php:143 ../../Zotlabs/Module/Cdav.php:1051 -msgid "Channel Calendars" +#: ../../Zotlabs/Module/Settings/Channel_home.php:88 +msgid "Channel Home Settings" msgstr "" -#: ../../Zotlabs/Widget/Cdav.php:144 -msgid "Import calendar" +#: ../../Zotlabs/Module/Settings/Network.php:59 +msgid "Stream Settings" msgstr "" -#: ../../Zotlabs/Widget/Cdav.php:145 -msgid "Select a calendar to import to" +#: ../../Zotlabs/Module/Settings/Conversation.php:23 +msgid "Settings saved." msgstr "" -#: ../../Zotlabs/Widget/Cdav.php:172 -msgid "Addressbooks" +#: ../../Zotlabs/Module/Settings/Conversation.php:25 +msgid "Settings saved. Reload page please." msgstr "" -#: ../../Zotlabs/Widget/Cdav.php:174 -msgid "Addressbook name" +#: ../../Zotlabs/Module/Settings/Conversation.php:47 +msgid "Conversation Settings" msgstr "" -#: ../../Zotlabs/Widget/Cdav.php:176 -msgid "Create new addressbook" +#: ../../Zotlabs/Module/Probe.php:18 +msgid "Remote Diagnostics App" msgstr "" -#: ../../Zotlabs/Widget/Cdav.php:177 -msgid "Addressbook Name" +#: ../../Zotlabs/Module/Probe.php:19 +msgid "Perform diagnostics on remote channels" msgstr "" -#: ../../Zotlabs/Widget/Cdav.php:179 -msgid "Addressbook Tools" +#: ../../Zotlabs/Module/Invite.php:37 +msgid "Total invitation limit exceeded." msgstr "" -#: ../../Zotlabs/Widget/Cdav.php:180 -msgid "Import addressbook" +#: ../../Zotlabs/Module/Invite.php:61 +#, php-format +msgid "%s : Not a valid email address." msgstr "" -#: ../../Zotlabs/Widget/Cdav.php:181 -msgid "Select an addressbook to import to" +#: ../../Zotlabs/Module/Invite.php:75 +msgid "Please join us on $Projectname" msgstr "" -#: ../../Zotlabs/Widget/Savedsearch.php:75 -msgid "Remove term" +#: ../../Zotlabs/Module/Invite.php:85 +msgid "Invitation limit exceeded. Please contact your site administrator." msgstr "" -#: ../../Zotlabs/Widget/Suggestedchats.php:32 -msgid "Suggested Chatrooms" +#: ../../Zotlabs/Module/Invite.php:90 +#: ../../extend/addon/hzaddons/notifyadmin/notifyadmin.php:40 +#, php-format +msgid "%s : Message delivery failed." msgstr "" -#: ../../Zotlabs/Widget/Settings_menu.php:32 -msgid "Account settings" +#: ../../Zotlabs/Module/Invite.php:94 +#, php-format +msgid "%d message sent." +msgid_plural "%d messages sent." +msgstr[0] "" +msgstr[1] "" + +#: ../../Zotlabs/Module/Invite.php:110 +msgid "Invite App" msgstr "" -#: ../../Zotlabs/Widget/Settings_menu.php:38 -msgid "Channel settings" +#: ../../Zotlabs/Module/Invite.php:111 +msgid "Send email invitations to join this network" msgstr "" -#: ../../Zotlabs/Widget/Settings_menu.php:46 -msgid "Display settings" +#: ../../Zotlabs/Module/Invite.php:124 +msgid "You have no more invitations available" msgstr "" -#: ../../Zotlabs/Widget/Settings_menu.php:53 -msgid "Manage locations" +#: ../../Zotlabs/Module/Invite.php:155 +msgid "Send invitations" msgstr "" -#: ../../Zotlabs/Widget/Chatroom_list.php:20 -msgid "Overview" +#: ../../Zotlabs/Module/Invite.php:156 +msgid "Enter email addresses, one per line:" msgstr "" -#: ../../Zotlabs/Widget/Suggestions.php:48 ../../Zotlabs/Module/Suggest.php:73 -msgid "Ignore/Hide" +#: ../../Zotlabs/Module/Invite.php:157 +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:163 +msgid "Your message:" msgstr "" -#: ../../Zotlabs/Widget/Suggestions.php:53 -msgid "Suggestions" +#: ../../Zotlabs/Module/Invite.php:158 +msgid "Please join my community on $Projectname." msgstr "" -#: ../../Zotlabs/Widget/Suggestions.php:54 -msgid "See more..." +#: ../../Zotlabs/Module/Invite.php:160 +msgid "You will need to supply this invitation code:" msgstr "" -#: ../../Zotlabs/Widget/Bookmarkedchats.php:24 -msgid "Bookmarked Chatrooms" +#: ../../Zotlabs/Module/Invite.php:161 +msgid "1. Register at any $Projectname location (they are all inter-connected)" msgstr "" -#: ../../Zotlabs/Widget/Wiki_page_history.php:23 -#: ../../Zotlabs/Lib/NativeWikiPage.php:565 -msgctxt "wiki_history" -msgid "Message" +#: ../../Zotlabs/Module/Invite.php:163 +msgid "2. Enter my $Projectname network address into the site searchbar." msgstr "" -#: ../../Zotlabs/Widget/Wiki_page_history.php:24 -#: ../../Zotlabs/Lib/NativeWikiPage.php:566 -msgid "Date" +#: ../../Zotlabs/Module/Invite.php:164 +msgid "or visit" msgstr "" -#: ../../Zotlabs/Widget/Wiki_page_history.php:25 -#: ../../Zotlabs/Module/Wiki.php:367 ../../Zotlabs/Lib/NativeWikiPage.php:567 -msgid "Revert" +#: ../../Zotlabs/Module/Invite.php:166 +msgid "3. Click [Connect]" msgstr "" -#: ../../Zotlabs/Widget/Wiki_page_history.php:26 -#: ../../Zotlabs/Lib/NativeWikiPage.php:568 -msgid "Compare" +#: ../../Zotlabs/Module/Siteinfo.php:21 +msgid "About this site" msgstr "" -#: ../../Zotlabs/Widget/Hq_controls.php:14 -msgid "HQ Control Panel" +#: ../../Zotlabs/Module/Siteinfo.php:22 +msgid "Site Name" msgstr "" -#: ../../Zotlabs/Widget/Hq_controls.php:17 -msgid "Create a new post" +#: ../../Zotlabs/Module/Siteinfo.php:26 +msgid "Administrator" msgstr "" -#: ../../Zotlabs/Widget/Mailmenu.php:13 -msgid "Private Mail Menu" +#: ../../Zotlabs/Module/Siteinfo.php:29 +msgid "Software and Project information" msgstr "" -#: ../../Zotlabs/Widget/Mailmenu.php:15 -msgid "Combined View" +#: ../../Zotlabs/Module/Siteinfo.php:30 +msgid "This site is powered by $Projectname" msgstr "" -#: ../../Zotlabs/Widget/Mailmenu.php:20 -msgid "Inbox" +#: ../../Zotlabs/Module/Siteinfo.php:31 +msgid "" +"Federated and decentralised networking and identity services provided by Zot" msgstr "" -#: ../../Zotlabs/Widget/Mailmenu.php:25 -msgid "Outbox" +#: ../../Zotlabs/Module/Siteinfo.php:34 +msgid "Additional federated transport protocols:" msgstr "" -#: ../../Zotlabs/Widget/Mailmenu.php:30 -msgid "New Message" +#: ../../Zotlabs/Module/Siteinfo.php:36 +#, php-format +msgid "Version %s" msgstr "" -#: ../../Zotlabs/Widget/Photo.php:48 ../../Zotlabs/Widget/Photo_rand.php:58 -msgid "photo/image" +#: ../../Zotlabs/Module/Siteinfo.php:37 +msgid "Project homepage" msgstr "" -#: ../../Zotlabs/Widget/Admin.php:22 ../../Zotlabs/Module/Admin/Site.php:286 -msgid "Site" +#: ../../Zotlabs/Module/Siteinfo.php:38 +msgid "Developer homepage" msgstr "" -#: ../../Zotlabs/Widget/Admin.php:23 -#: ../../Zotlabs/Module/Admin/Accounts.php:167 -#: ../../Zotlabs/Module/Admin/Accounts.php:180 -#: ../../Zotlabs/Module/Admin.php:96 -msgid "Accounts" +#: ../../Zotlabs/Module/Service_limits.php:23 +msgid "No service class restrictions found." msgstr "" -#: ../../Zotlabs/Widget/Admin.php:23 ../../Zotlabs/Widget/Admin.php:60 -msgid "Member registrations waiting for confirmation" +#: ../../Zotlabs/Module/Rbmark.php:94 +msgid "Select a bookmark folder" msgstr "" -#: ../../Zotlabs/Widget/Admin.php:24 -#: ../../Zotlabs/Module/Admin/Channels.php:146 -#: ../../Zotlabs/Module/Admin.php:114 -msgid "Channels" +#: ../../Zotlabs/Module/Rbmark.php:99 +msgid "Save Bookmark" msgstr "" -#: ../../Zotlabs/Widget/Admin.php:25 ../../Zotlabs/Module/Admin/Security.php:99 -msgid "Security" +#: ../../Zotlabs/Module/Rbmark.php:100 +msgid "URL of bookmark" msgstr "" -#: ../../Zotlabs/Widget/Admin.php:26 ../../Zotlabs/Lib/Apps.php:358 -msgid "Features" +#: ../../Zotlabs/Module/Rbmark.php:105 +msgid "Or enter new bookmark folder name" msgstr "" -#: ../../Zotlabs/Widget/Admin.php:27 ../../Zotlabs/Module/Admin/Addons.php:343 -#: ../../Zotlabs/Module/Admin/Addons.php:441 -msgid "Addons" +#: ../../Zotlabs/Module/Lang.php:17 +msgid "Language App" msgstr "" -#: ../../Zotlabs/Widget/Admin.php:28 ../../Zotlabs/Module/Admin/Themes.php:123 -#: ../../Zotlabs/Module/Admin/Themes.php:157 -msgid "Themes" +#: ../../Zotlabs/Module/Lang.php:18 +msgid "Change UI language" msgstr "" -#: ../../Zotlabs/Widget/Admin.php:29 -msgid "Inspect queue" +#: ../../Zotlabs/Module/Hq.php:131 +msgid "Welcome to Hubzilla!" msgstr "" -#: ../../Zotlabs/Widget/Admin.php:30 ../../Zotlabs/Module/Admin/Profs.php:168 -msgid "Profile Fields" +#: ../../Zotlabs/Module/Hq.php:131 +msgid "You have got no unseen posts..." msgstr "" -#: ../../Zotlabs/Widget/Admin.php:31 -msgid "DB updates" +#: ../../Zotlabs/Module/Cover_photo.php:196 +#: ../../Zotlabs/Module/Cover_photo.php:254 +msgid "Cover Photos" msgstr "" -#: ../../Zotlabs/Widget/Admin.php:48 ../../Zotlabs/Widget/Admin.php:58 -#: ../../Zotlabs/Module/Admin/Logs.php:83 -msgid "Logs" +#: ../../Zotlabs/Module/Cover_photo.php:297 ../../include/items.php:4860 +msgid "female" msgstr "" -#: ../../Zotlabs/Widget/Admin.php:56 -msgid "Addon Features" +#: ../../Zotlabs/Module/Cover_photo.php:298 ../../include/items.php:4861 +#, php-format +msgid "%1$s updated her %2$s" msgstr "" -#: ../../Zotlabs/Widget/Activity_filter.php:33 -msgid "Direct Messages" +#: ../../Zotlabs/Module/Cover_photo.php:299 ../../include/items.php:4862 +msgid "male" msgstr "" -#: ../../Zotlabs/Widget/Activity_filter.php:37 -msgid "Show direct (private) messages" +#: ../../Zotlabs/Module/Cover_photo.php:300 ../../include/items.php:4863 +#, php-format +msgid "%1$s updated his %2$s" msgstr "" -#: ../../Zotlabs/Widget/Activity_filter.php:42 -msgid "Events" +#: ../../Zotlabs/Module/Cover_photo.php:302 ../../include/items.php:4865 +#, php-format +msgid "%1$s updated their %2$s" msgstr "" -#: ../../Zotlabs/Widget/Activity_filter.php:46 -msgid "Show posts that include events" +#: ../../Zotlabs/Module/Cover_photo.php:304 ../../include/channel.php:2328 +msgid "cover photo" msgstr "" -#: ../../Zotlabs/Widget/Activity_filter.php:52 -msgid "Polls" +#: ../../Zotlabs/Module/Cover_photo.php:418 +msgid "Your cover photo may be visible to anybody on the internet" msgstr "" -#: ../../Zotlabs/Widget/Activity_filter.php:56 -msgid "Show posts that include polls" +#: ../../Zotlabs/Module/Cover_photo.php:422 +msgid "Change Cover Photo" msgstr "" -#: ../../Zotlabs/Widget/Activity_filter.php:77 -#, php-format -msgid "Show posts related to the %s privacy group" +#: ../../Zotlabs/Module/Menu.php:68 +msgid "Unable to update menu." msgstr "" -#: ../../Zotlabs/Widget/Activity_filter.php:86 -msgid "Show my privacy groups" +#: ../../Zotlabs/Module/Menu.php:79 +msgid "Unable to create menu." msgstr "" -#: ../../Zotlabs/Widget/Activity_filter.php:108 -msgid "Show posts to this forum" +#: ../../Zotlabs/Module/Menu.php:161 ../../Zotlabs/Module/Menu.php:174 +msgid "Menu Name" msgstr "" -#: ../../Zotlabs/Widget/Activity_filter.php:119 -msgid "Show forums" +#: ../../Zotlabs/Module/Menu.php:161 +msgid "Unique name (not visible on webpage) - required" msgstr "" -#: ../../Zotlabs/Widget/Activity_filter.php:133 -msgid "Starred Posts" +#: ../../Zotlabs/Module/Menu.php:162 ../../Zotlabs/Module/Menu.php:175 +msgid "Menu Title" msgstr "" -#: ../../Zotlabs/Widget/Activity_filter.php:137 -msgid "Show posts that I have starred" +#: ../../Zotlabs/Module/Menu.php:162 +msgid "Visible on webpage - leave empty for no title" msgstr "" -#: ../../Zotlabs/Widget/Activity_filter.php:148 -msgid "Personal Posts" +#: ../../Zotlabs/Module/Menu.php:163 +msgid "Allow Bookmarks" msgstr "" -#: ../../Zotlabs/Widget/Activity_filter.php:152 -msgid "Show posts that mention or involve me" +#: ../../Zotlabs/Module/Menu.php:163 ../../Zotlabs/Module/Menu.php:222 +msgid "Menu may be used to store saved bookmarks" msgstr "" -#: ../../Zotlabs/Widget/Activity_filter.php:173 -#, php-format -msgid "Show posts that I have filed to %s" +#: ../../Zotlabs/Module/Menu.php:164 ../../Zotlabs/Module/Menu.php:225 +msgid "Submit and proceed" msgstr "" -#: ../../Zotlabs/Widget/Activity_filter.php:183 -msgid "Show filed post categories" +#: ../../Zotlabs/Module/Menu.php:171 ../../include/text.php:2699 +msgid "Menus" msgstr "" -#: ../../Zotlabs/Widget/Activity_filter.php:197 -msgid "Panel search" +#: ../../Zotlabs/Module/Menu.php:181 +msgid "Bookmarks allowed" msgstr "" -#: ../../Zotlabs/Widget/Activity_filter.php:207 -msgid "Filter by name" +#: ../../Zotlabs/Module/Menu.php:183 +msgid "Delete this menu" msgstr "" -#: ../../Zotlabs/Widget/Activity_filter.php:222 -msgid "Remove active filter" +#: ../../Zotlabs/Module/Menu.php:184 ../../Zotlabs/Module/Menu.php:219 +msgid "Edit menu contents" msgstr "" -#: ../../Zotlabs/Widget/Activity_filter.php:238 -msgid "Stream Filters" +#: ../../Zotlabs/Module/Menu.php:185 +msgid "Edit this menu" msgstr "" -#: ../../Zotlabs/Widget/Appstore.php:11 -msgid "App Collections" +#: ../../Zotlabs/Module/Menu.php:201 +msgid "Menu could not be deleted." msgstr "" -#: ../../Zotlabs/Widget/Appstore.php:13 -msgid "Installed apps" +#: ../../Zotlabs/Module/Menu.php:214 +msgid "Edit Menu" msgstr "" -#: ../../Zotlabs/Widget/Appstore.php:14 ../../Zotlabs/Module/Apps.php:50 -msgid "Available Apps" +#: ../../Zotlabs/Module/Menu.php:218 +msgid "Add or remove entries to this menu" msgstr "" -#: ../../Zotlabs/Widget/Eventstools.php:13 -msgid "Events Tools" +#: ../../Zotlabs/Module/Menu.php:220 +msgid "Menu name" msgstr "" -#: ../../Zotlabs/Widget/Eventstools.php:14 -msgid "Export Calendar" +#: ../../Zotlabs/Module/Menu.php:220 +msgid "Must be unique, only seen by you" msgstr "" -#: ../../Zotlabs/Widget/Eventstools.php:15 -msgid "Import Calendar" +#: ../../Zotlabs/Module/Menu.php:221 +msgid "Menu title" msgstr "" -#: ../../Zotlabs/Widget/Rating.php:51 -msgid "Rating Tools" +#: ../../Zotlabs/Module/Menu.php:221 +msgid "Menu title as seen by others" msgstr "" -#: ../../Zotlabs/Widget/Rating.php:55 ../../Zotlabs/Widget/Rating.php:57 -msgid "Rate Me" +#: ../../Zotlabs/Module/Menu.php:222 +msgid "Allow bookmarks" msgstr "" -#: ../../Zotlabs/Widget/Rating.php:60 -msgid "View Ratings" +#: ../../Zotlabs/Module/Sources.php:41 +msgid "Failed to create source. No channel selected." msgstr "" -#: ../../Zotlabs/Widget/Cover_photo.php:65 -msgid "Click to show more" +#: ../../Zotlabs/Module/Sources.php:57 +msgid "Source created." msgstr "" -#: ../../Zotlabs/Widget/Follow.php:22 -#, php-format -msgid "You have %1$.0f of %2$.0f allowed connections." +#: ../../Zotlabs/Module/Sources.php:70 +msgid "Source updated." msgstr "" -#: ../../Zotlabs/Widget/Follow.php:29 -msgid "Add New Connection" +#: ../../Zotlabs/Module/Sources.php:88 +msgid "Sources App" msgstr "" -#: ../../Zotlabs/Widget/Follow.php:30 -msgid "Enter channel address" +#: ../../Zotlabs/Module/Sources.php:89 +msgid "Automatically import channel content from other channels or feeds" msgstr "" -#: ../../Zotlabs/Widget/Follow.php:31 -msgid "Examples: bob@example.com, https://example.com/barbara" +#: ../../Zotlabs/Module/Sources.php:101 +msgid "*" msgstr "" -#: ../../Zotlabs/Widget/Newmember.php:31 -msgid "Profile Creation" +#: ../../Zotlabs/Module/Sources.php:107 ../../Zotlabs/Lib/Apps.php:368 +msgid "Channel Sources" msgstr "" -#: ../../Zotlabs/Widget/Newmember.php:33 -msgid "Upload profile photo" +#: ../../Zotlabs/Module/Sources.php:108 +msgid "Manage remote sources of content for your channel." msgstr "" -#: ../../Zotlabs/Widget/Newmember.php:34 -msgid "Upload cover photo" +#: ../../Zotlabs/Module/Sources.php:109 ../../Zotlabs/Module/Sources.php:119 +msgid "New Source" msgstr "" -#: ../../Zotlabs/Widget/Newmember.php:38 -msgid "Find and Connect with others" +#: ../../Zotlabs/Module/Sources.php:120 ../../Zotlabs/Module/Sources.php:154 +msgid "" +"Import all or selected content from the following channel into this channel " +"and distribute it according to your channel settings." msgstr "" -#: ../../Zotlabs/Widget/Newmember.php:40 -msgid "View the directory" +#: ../../Zotlabs/Module/Sources.php:121 ../../Zotlabs/Module/Sources.php:155 +msgid "Only import content with these words (one per line)" msgstr "" -#: ../../Zotlabs/Widget/Newmember.php:41 ../../Zotlabs/Module/Go.php:38 -msgid "View friend suggestions" +#: ../../Zotlabs/Module/Sources.php:121 ../../Zotlabs/Module/Sources.php:155 +msgid "Leave blank to import all public content" msgstr "" -#: ../../Zotlabs/Widget/Newmember.php:42 -msgid "Manage your connections" +#: ../../Zotlabs/Module/Sources.php:122 ../../Zotlabs/Module/Sources.php:161 +msgid "Channel Name" msgstr "" -#: ../../Zotlabs/Widget/Newmember.php:45 -msgid "Communicate" +#: ../../Zotlabs/Module/Sources.php:123 ../../Zotlabs/Module/Sources.php:158 +msgid "" +"Add the following categories to posts imported from this source (comma " +"separated)" msgstr "" -#: ../../Zotlabs/Widget/Newmember.php:47 -msgid "View your channel homepage" +#: ../../Zotlabs/Module/Sources.php:124 ../../Zotlabs/Module/Sources.php:159 +msgid "Resend posts with this channel as author" msgstr "" -#: ../../Zotlabs/Widget/Newmember.php:48 -msgid "View your network stream" +#: ../../Zotlabs/Module/Sources.php:124 ../../Zotlabs/Module/Sources.php:159 +msgid "Copyrights may apply" msgstr "" -#: ../../Zotlabs/Widget/Newmember.php:54 -msgid "Documentation" +#: ../../Zotlabs/Module/Sources.php:144 ../../Zotlabs/Module/Sources.php:174 +msgid "Source not found." msgstr "" -#: ../../Zotlabs/Widget/Newmember.php:57 -msgid "Missing Features?" +#: ../../Zotlabs/Module/Sources.php:151 +msgid "Edit Source" msgstr "" -#: ../../Zotlabs/Widget/Newmember.php:59 -msgid "Pin apps to navigation bar" +#: ../../Zotlabs/Module/Sources.php:152 +msgid "Delete Source" msgstr "" -#: ../../Zotlabs/Widget/Newmember.php:60 -msgid "Install more apps" +#: ../../Zotlabs/Module/Sources.php:182 +msgid "Source removed" msgstr "" -#: ../../Zotlabs/Widget/Newmember.php:71 -msgid "View public stream" +#: ../../Zotlabs/Module/Sources.php:184 +msgid "Unable to remove source." msgstr "" -#: ../../Zotlabs/Widget/Newmember.php:75 -#: ../../Zotlabs/Module/Settings/Display.php:206 -msgid "New Member Links" +#: ../../Zotlabs/Module/Poke.php:165 +msgid "Poke App" msgstr "" -#: ../../Zotlabs/Widget/Affinity.php:30 ../../Zotlabs/Module/Connedit.php:726 -msgid "Me" +#: ../../Zotlabs/Module/Poke.php:166 +msgid "Poke somebody in your addressbook" msgstr "" -#: ../../Zotlabs/Widget/Affinity.php:31 ../../Zotlabs/Module/Connedit.php:727 -msgid "Family" +#: ../../Zotlabs/Module/Poke.php:199 ../../Zotlabs/Lib/Apps.php:351 +#: ../../include/conversation.php:1140 +msgid "Poke" msgstr "" -#: ../../Zotlabs/Widget/Affinity.php:33 ../../Zotlabs/Module/Connedit.php:729 -msgid "Acquaintances" +#: ../../Zotlabs/Module/Poke.php:200 +msgid "Poke somebody" msgstr "" -#: ../../Zotlabs/Widget/Affinity.php:34 ../../Zotlabs/Module/Connections.php:97 -#: ../../Zotlabs/Module/Connections.php:111 -#: ../../Zotlabs/Module/Connedit.php:730 -msgid "All" +#: ../../Zotlabs/Module/Poke.php:203 +msgid "Poke/Prod" msgstr "" -#: ../../Zotlabs/Widget/Affinity.php:54 -msgid "Refresh" +#: ../../Zotlabs/Module/Poke.php:204 +msgid "Poke, prod or do other things to somebody" msgstr "" -#: ../../Zotlabs/Widget/Notifications.php:16 -msgid "New Network Activity" +#: ../../Zotlabs/Module/Poke.php:211 +msgid "Recipient" msgstr "" -#: ../../Zotlabs/Widget/Notifications.php:17 -msgid "New Network Activity Notifications" +#: ../../Zotlabs/Module/Poke.php:212 +msgid "Choose what you wish to do to recipient" msgstr "" -#: ../../Zotlabs/Widget/Notifications.php:20 -msgid "View your network activity" +#: ../../Zotlabs/Module/Poke.php:215 ../../Zotlabs/Module/Poke.php:216 +msgid "Make this post private" msgstr "" -#: ../../Zotlabs/Widget/Notifications.php:23 -#: ../../Zotlabs/Widget/Notifications.php:62 -msgid "Mark all notifications read" +#: ../../Zotlabs/Module/Network.php:105 +msgid "No such group" msgstr "" -#: ../../Zotlabs/Widget/Notifications.php:26 -#: ../../Zotlabs/Widget/Notifications.php:46 -#: ../../Zotlabs/Widget/Notifications.php:65 -#: ../../Zotlabs/Widget/Notifications.php:172 -msgid "Show new posts only" +#: ../../Zotlabs/Module/Network.php:152 +msgid "No such channel" msgstr "" -#: ../../Zotlabs/Widget/Notifications.php:27 -#: ../../Zotlabs/Widget/Notifications.php:47 -#: ../../Zotlabs/Widget/Notifications.php:66 -#: ../../Zotlabs/Widget/Notifications.php:142 -#: ../../Zotlabs/Widget/Notifications.php:173 -msgid "Filter by name or address" +#: ../../Zotlabs/Module/Network.php:239 +msgid "Privacy group is empty" msgstr "" -#: ../../Zotlabs/Widget/Notifications.php:36 -msgid "New Home Activity" +#: ../../Zotlabs/Module/Network.php:249 +msgid "Privacy group: " msgstr "" -#: ../../Zotlabs/Widget/Notifications.php:37 -msgid "New Home Activity Notifications" +#: ../../Zotlabs/Module/Network.php:322 +#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:29 +msgid "Invalid channel." msgstr "" -#: ../../Zotlabs/Widget/Notifications.php:40 -msgid "View your home activity" +#: ../../Zotlabs/Module/Attach_edit.php:118 +msgid "Can not copy folder into itself." msgstr "" -#: ../../Zotlabs/Widget/Notifications.php:43 -#: ../../Zotlabs/Widget/Notifications.php:169 -msgid "Mark all notifications seen" +#: ../../Zotlabs/Module/Attach_edit.php:131 +#, php-format +msgid "Can not move folder \"%s\" into itself." msgstr "" -#: ../../Zotlabs/Widget/Notifications.php:55 -msgid "New Direct Messages" +#: ../../Zotlabs/Module/Viewsrc.php:43 +msgid "item" msgstr "" -#: ../../Zotlabs/Widget/Notifications.php:56 -msgid "New Direct Messages Notifications" +#: ../../Zotlabs/Module/Lockview.php:75 +msgid "Remote privacy information not available." msgstr "" -#: ../../Zotlabs/Widget/Notifications.php:59 -msgid "View your direct messages" +#: ../../Zotlabs/Module/Lockview.php:96 +msgid "Visible to:" msgstr "" -#: ../../Zotlabs/Widget/Notifications.php:74 -msgid "New Mails" +#: ../../Zotlabs/Storage/Browser.php:292 +msgid "Change filename to" msgstr "" -#: ../../Zotlabs/Widget/Notifications.php:75 -msgid "New Mails Notifications" +#: ../../Zotlabs/Storage/Browser.php:309 ../../Zotlabs/Storage/Browser.php:390 +msgid "Select a target location" msgstr "" -#: ../../Zotlabs/Widget/Notifications.php:78 -msgid "View your private mails" +#: ../../Zotlabs/Storage/Browser.php:310 ../../Zotlabs/Storage/Browser.php:391 +msgid "Copy to target location" msgstr "" -#: ../../Zotlabs/Widget/Notifications.php:81 -msgid "Mark all messages seen" +#: ../../Zotlabs/Storage/Browser.php:311 ../../Zotlabs/Storage/Browser.php:389 +msgid "Set permissions for all files and sub folders" msgstr "" -#: ../../Zotlabs/Widget/Notifications.php:89 -msgid "New Events" +#: ../../Zotlabs/Storage/Browser.php:312 +msgid "Notify your contacts about this file" msgstr "" -#: ../../Zotlabs/Widget/Notifications.php:90 -msgid "New Events Notifications" +#: ../../Zotlabs/Storage/Browser.php:351 +msgid "File category" msgstr "" -#: ../../Zotlabs/Widget/Notifications.php:93 -msgid "View events" +#: ../../Zotlabs/Storage/Browser.php:362 +msgid "Total" msgstr "" -#: ../../Zotlabs/Widget/Notifications.php:96 -msgid "Mark all events seen" +#: ../../Zotlabs/Storage/Browser.php:364 +msgid "Shared" msgstr "" -#: ../../Zotlabs/Widget/Notifications.php:104 -#: ../../Zotlabs/Module/Connections.php:164 -msgid "New Connections" +#: ../../Zotlabs/Storage/Browser.php:366 +msgid "Add Files" msgstr "" -#: ../../Zotlabs/Widget/Notifications.php:105 -msgid "New Connections Notifications" +#: ../../Zotlabs/Storage/Browser.php:369 ../../Zotlabs/Lib/ThreadItem.php:174 +msgid "Admin Delete" msgstr "" -#: ../../Zotlabs/Widget/Notifications.php:108 -msgid "View all connections" +#: ../../Zotlabs/Storage/Browser.php:381 +msgid "parent" msgstr "" -#: ../../Zotlabs/Widget/Notifications.php:116 -msgid "New Files" +#: ../../Zotlabs/Storage/Browser.php:399 +msgid "Select All" msgstr "" -#: ../../Zotlabs/Widget/Notifications.php:117 -msgid "New Files Notifications" +#: ../../Zotlabs/Storage/Browser.php:400 +msgid "Bulk Actions" msgstr "" -#: ../../Zotlabs/Widget/Notifications.php:124 -#: ../../Zotlabs/Widget/Notifications.php:125 -msgid "Notices" +#: ../../Zotlabs/Storage/Browser.php:401 +msgid "Adjust Permissions" msgstr "" -#: ../../Zotlabs/Widget/Notifications.php:128 -msgid "View all notices" +#: ../../Zotlabs/Storage/Browser.php:402 +msgid "Move or Copy" msgstr "" -#: ../../Zotlabs/Widget/Notifications.php:131 -msgid "Mark all notices seen" +#: ../../Zotlabs/Storage/Browser.php:405 +msgid "Info" msgstr "" -#: ../../Zotlabs/Widget/Notifications.php:152 -msgid "New Registrations" +#: ../../Zotlabs/Storage/Browser.php:406 +msgid "Rename" msgstr "" -#: ../../Zotlabs/Widget/Notifications.php:153 -msgid "New Registrations Notifications" +#: ../../Zotlabs/Storage/Browser.php:407 ../../Zotlabs/Lib/Apps.php:360 +msgid "Post" msgstr "" -#: ../../Zotlabs/Widget/Notifications.php:162 -#: ../../Zotlabs/Module/Pubstream.php:114 ../../Zotlabs/Lib/Apps.php:375 -msgid "Public Stream" +#: ../../Zotlabs/Storage/Browser.php:408 +msgid "Attachment BBcode" msgstr "" -#: ../../Zotlabs/Widget/Notifications.php:163 -msgid "Public Stream Notifications" +#: ../../Zotlabs/Storage/Browser.php:409 +msgid "Embed BBcode" msgstr "" -#: ../../Zotlabs/Widget/Notifications.php:166 -msgid "View the public stream" +#: ../../Zotlabs/Storage/Browser.php:410 +msgid "Link BBcode" msgstr "" -#: ../../Zotlabs/Widget/Notifications.php:181 -msgid "Sorry, you have got no notifications at the moment" +#: ../../Zotlabs/Storage/Browser.php:480 +#, php-format +msgid "You are using %1$s of your available file storage." msgstr "" -#: ../../Zotlabs/Module/Tokens.php:39 +#: ../../Zotlabs/Storage/Browser.php:485 #, php-format -msgid "This channel is limited to %d tokens" +msgid "You are using %1$s of %2$s available file storage. (%3$s%)" msgstr "" -#: ../../Zotlabs/Module/Tokens.php:45 -msgid "Name and Password are required." +#: ../../Zotlabs/Storage/Browser.php:496 +msgid "WARNING:" msgstr "" -#: ../../Zotlabs/Module/Tokens.php:85 -msgid "Token saved." +#: ../../Zotlabs/Storage/Browser.php:537 +msgid "Create new folder" msgstr "" -#: ../../Zotlabs/Module/Tokens.php:99 -msgid "Guest Access App" +#: ../../Zotlabs/Storage/Browser.php:539 +msgid "Upload file" msgstr "" -#: ../../Zotlabs/Module/Tokens.php:100 -msgid "Create access tokens so that non-members can access private content" +#: ../../Zotlabs/Storage/Browser.php:551 +msgid "Drop files here to immediately upload" msgstr "" -#: ../../Zotlabs/Module/Tokens.php:133 +#: ../../Zotlabs/Storage/Browser.php:554 msgid "" -"Use this form to create temporary access identifiers to share things with " -"non-members. These identities may be used in Access Control Lists and " -"visitors may login using these credentials to access private content." +"You can select files via the upload button or drop them right here or into " +"an existing folder." msgstr "" -#: ../../Zotlabs/Module/Tokens.php:135 +#: ../../Zotlabs/Zot/Auth.php:152 msgid "" -"You may also provide <em>dropbox</em> style access links to friends and " -"associates by adding the Login Password to any specific site URL as shown. " -"Examples:" +"Remote authentication blocked. You are logged into this site locally. Please " +"logout and retry." msgstr "" -#: ../../Zotlabs/Module/Tokens.php:170 -msgid "Guest Access Tokens" +#: ../../Zotlabs/Zot/Auth.php:264 +#: ../../extend/addon/hzaddons/openid/Mod_Openid.php:76 +#: ../../extend/addon/hzaddons/openid/Mod_Openid.php:178 +#, php-format +msgid "Welcome %s. Remote authentication successful." msgstr "" -#: ../../Zotlabs/Module/Tokens.php:177 -msgid "Login Name" +#: ../../Zotlabs/Lib/Group.php:28 ../../include/group.php:23 +msgid "" +"A deleted group with this name was revived. Existing item permissions " +"<strong>may</strong> apply to this group and any future members. If this is " +"not what you intended, please create another group with a different name." msgstr "" -#: ../../Zotlabs/Module/Tokens.php:178 -msgid "Login Password" +#: ../../Zotlabs/Lib/Group.php:270 ../../include/group.php:265 +msgid "Add new connections to this privacy group" msgstr "" -#: ../../Zotlabs/Module/Tokens.php:179 -msgid "Expires (yyyy-mm-dd)" +#: ../../Zotlabs/Lib/Group.php:302 ../../Zotlabs/Lib/AccessList.php:311 +#: ../../include/group.php:299 +msgid "edit" msgstr "" -#: ../../Zotlabs/Module/Tokens.php:180 ../../Zotlabs/Module/Connedit.php:910 -msgid "Their Settings" +#: ../../Zotlabs/Lib/Group.php:325 ../../include/group.php:322 +msgid "Edit group" msgstr "" -#: ../../Zotlabs/Module/Tokens.php:181 ../../Zotlabs/Module/Permcats.php:122 -#: ../../Zotlabs/Module/Defperms.php:267 ../../Zotlabs/Module/Connedit.php:911 -msgid "My Settings" +#: ../../Zotlabs/Lib/Group.php:326 ../../include/group.php:323 +msgid "Add privacy group" msgstr "" -#: ../../Zotlabs/Module/Tokens.php:183 ../../Zotlabs/Module/Permcats.php:124 -#: ../../Zotlabs/Module/Defperms.php:265 ../../Zotlabs/Module/Connedit.php:906 -msgid "inherited" +#: ../../Zotlabs/Lib/Group.php:327 ../../include/group.php:324 +msgid "Channels not in any privacy group" msgstr "" -#: ../../Zotlabs/Module/Tokens.php:186 ../../Zotlabs/Module/Permcats.php:127 -#: ../../Zotlabs/Module/Defperms.php:270 ../../Zotlabs/Module/Connedit.php:913 -msgid "Individual Permissions" +#: ../../Zotlabs/Lib/Group.php:329 ../../Zotlabs/Lib/AccessList.php:336 +#: ../../Zotlabs/Widget/Savedsearch.php:84 ../../include/group.php:326 +msgid "add" msgstr "" -#: ../../Zotlabs/Module/Tokens.php:187 ../../Zotlabs/Module/Permcats.php:128 -#: ../../Zotlabs/Module/Connedit.php:914 -msgid "" -"Some permissions may be inherited from your channel's <a href=\"settings" -"\"><strong>privacy settings</strong></a>, which have higher priority than " -"individual settings. You can <strong>not</strong> change those settings here." +#: ../../Zotlabs/Lib/Connect.php:46 ../../Zotlabs/Lib/Connect.php:143 +#: ../../include/follow.php:37 +msgid "Channel is blocked on this site." msgstr "" -#: ../../Zotlabs/Module/Article_edit.php:17 -#: ../../Zotlabs/Module/Article_edit.php:33 -#: ../../Zotlabs/Module/Card_edit.php:17 ../../Zotlabs/Module/Card_edit.php:33 -#: ../../Zotlabs/Module/Editwebpage.php:80 ../../Zotlabs/Module/Editpost.php:24 -#: ../../Zotlabs/Module/Editblock.php:79 ../../Zotlabs/Module/Editblock.php:95 -#: ../../Zotlabs/Module/Editlayout.php:79 -msgid "Item not found" +#: ../../Zotlabs/Lib/Connect.php:51 ../../include/follow.php:42 +msgid "Channel location missing." msgstr "" -#: ../../Zotlabs/Module/Article_edit.php:44 -#: ../../Zotlabs/Module/Wall_upload.php:31 -#: ../../Zotlabs/Module/Card_edit.php:44 ../../Zotlabs/Module/Chanview.php:95 -#: ../../Zotlabs/Module/Cal.php:31 ../../Zotlabs/Module/Page.php:75 -#: ../../Zotlabs/Module/Block.php:41 -msgid "Channel not found." +#: ../../Zotlabs/Lib/Connect.php:103 ../../include/follow.php:166 +msgid "Remote channel or protocol unavailable." msgstr "" -#: ../../Zotlabs/Module/Article_edit.php:127 -msgid "Edit Article" +#: ../../Zotlabs/Lib/Connect.php:137 ../../include/follow.php:190 +msgid "Channel discovery failed." msgstr "" -#: ../../Zotlabs/Module/Network.php:110 -msgid "No such group" +#: ../../Zotlabs/Lib/Connect.php:155 ../../include/follow.php:202 +msgid "Protocol disabled." msgstr "" -#: ../../Zotlabs/Module/Network.php:157 -msgid "No such channel" +#: ../../Zotlabs/Lib/Connect.php:167 ../../include/follow.php:213 +msgid "Cannot connect to yourself." msgstr "" -#: ../../Zotlabs/Module/Network.php:169 ../../Zotlabs/Module/Channel.php:195 -msgid "Search Results For:" +#: ../../Zotlabs/Lib/Connect.php:271 +msgid "error saving data" msgstr "" -#: ../../Zotlabs/Module/Network.php:210 ../../Zotlabs/Module/Channel.php:230 -#: ../../Zotlabs/Module/Hq.php:134 ../../Zotlabs/Module/Pubstream.php:99 -#: ../../Zotlabs/Module/Display.php:79 -msgid "Reset form" +#: ../../Zotlabs/Lib/Apps.php:323 +msgid "Apps" msgstr "" -#: ../../Zotlabs/Module/Network.php:246 -msgid "Privacy group is empty" +#: ../../Zotlabs/Lib/Apps.php:324 +msgid "Affinity Tool" msgstr "" -#: ../../Zotlabs/Module/Network.php:256 -msgid "Privacy group: " +#: ../../Zotlabs/Lib/Apps.php:327 +msgid "Site Admin" msgstr "" -#: ../../Zotlabs/Module/Import_items.php:48 ../../Zotlabs/Module/Import.php:68 -msgid "Nothing to import." +#: ../../Zotlabs/Lib/Apps.php:328 +#: ../../extend/addon/hzaddons/buglink/buglink.php:16 +msgid "Report Bug" msgstr "" -#: ../../Zotlabs/Module/Import_items.php:72 ../../Zotlabs/Module/Import.php:83 -#: ../../Zotlabs/Module/Import.php:99 -msgid "Unable to download data from old server" +#: ../../Zotlabs/Lib/Apps.php:329 ../../include/nav.php:490 +msgid "Bookmarks" msgstr "" -#: ../../Zotlabs/Module/Import_items.php:77 ../../Zotlabs/Module/Import.php:106 -msgid "Imported file is empty." +#: ../../Zotlabs/Lib/Apps.php:330 ../../Zotlabs/Widget/Chatroom_list.php:16 +#: ../../include/nav.php:477 ../../include/nav.php:480 +msgid "Chatrooms" msgstr "" -#: ../../Zotlabs/Module/Import_items.php:93 -#, php-format -msgid "Warning: Database versions differ by %1$d updates." +#: ../../Zotlabs/Lib/Apps.php:331 +msgid "Content Filter" msgstr "" -#: ../../Zotlabs/Module/Import_items.php:108 -msgid "Import completed" +#: ../../Zotlabs/Lib/Apps.php:332 +#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:135 +msgid "Content Import" msgstr "" -#: ../../Zotlabs/Module/Import_items.php:125 -msgid "Import Items" +#: ../../Zotlabs/Lib/Apps.php:334 +msgid "Remote Diagnostics" msgstr "" -#: ../../Zotlabs/Module/Import_items.php:126 -msgid "Use this form to import existing posts and content from an export file." +#: ../../Zotlabs/Lib/Apps.php:335 +msgid "Suggest Channels" msgstr "" -#: ../../Zotlabs/Module/Import_items.php:127 -#: ../../Zotlabs/Module/Import.php:632 -msgid "File to Upload" +#: ../../Zotlabs/Lib/Apps.php:336 ../../include/nav.php:124 +#: ../../include/nav.php:128 ../../boot.php:1705 +msgid "Login" msgstr "" -#: ../../Zotlabs/Module/Import.php:162 -#, php-format -msgid "Your service plan only allows %d channels." +#: ../../Zotlabs/Lib/Apps.php:338 +msgid "Stream" msgstr "" -#: ../../Zotlabs/Module/Import.php:189 -msgid "No channel. Import failed." +#: ../../Zotlabs/Lib/Apps.php:342 ../../include/nav.php:539 +msgid "Wiki" msgstr "" -#: ../../Zotlabs/Module/Import.php:625 -msgid "You must be logged in to use this feature." +#: ../../Zotlabs/Lib/Apps.php:343 ../../include/features.php:104 +msgid "Channel Home" msgstr "" -#: ../../Zotlabs/Module/Import.php:630 -msgid "Import Channel" +#: ../../Zotlabs/Lib/Apps.php:346 ../../include/features.php:82 +#: ../../include/nav.php:463 ../../include/nav.php:466 +msgid "Calendar" msgstr "" -#: ../../Zotlabs/Module/Import.php:631 -msgid "" -"Use this form to import an existing channel from a different server/hub. You " -"may retrieve the channel identity from the old server/hub via the network or " -"provide an export file." +#: ../../Zotlabs/Lib/Apps.php:347 ../../include/features.php:192 +msgid "Directory" msgstr "" -#: ../../Zotlabs/Module/Import.php:633 -msgid "Or provide the old server/hub details" +#: ../../Zotlabs/Lib/Apps.php:349 +msgid "Mail" msgstr "" -#: ../../Zotlabs/Module/Import.php:635 -msgid "Your old identity address (xyz@example.com)" +#: ../../Zotlabs/Lib/Apps.php:352 +msgid "Chat" msgstr "" -#: ../../Zotlabs/Module/Import.php:636 -msgid "Your old login email address" +#: ../../Zotlabs/Lib/Apps.php:354 +msgid "Probe" msgstr "" -#: ../../Zotlabs/Module/Import.php:637 -msgid "Your old login password" +#: ../../Zotlabs/Lib/Apps.php:355 +msgid "Suggest" msgstr "" -#: ../../Zotlabs/Module/Import.php:638 -msgid "Import a few months of posts if possible (limited by available memory" +#: ../../Zotlabs/Lib/Apps.php:356 +msgid "Random Channel" msgstr "" -#: ../../Zotlabs/Module/Import.php:640 -msgid "" -"For either option, please choose whether to make this hub your new primary " -"address, or whether your old location should continue this role. You will be " -"able to post from either location, but only one can be marked as the primary " -"location for files, photos, and media." +#: ../../Zotlabs/Lib/Apps.php:357 +msgid "Invite" msgstr "" -#: ../../Zotlabs/Module/Import.php:642 -msgid "Make this hub my primary location" +#: ../../Zotlabs/Lib/Apps.php:358 ../../Zotlabs/Widget/Admin.php:26 +msgid "Features" msgstr "" -#: ../../Zotlabs/Module/Import.php:643 -msgid "Move this channel (disable all previous locations)" +#: ../../Zotlabs/Lib/Apps.php:359 +#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:69 +msgid "Language" msgstr "" -#: ../../Zotlabs/Module/Import.php:644 -msgid "Use this channel nickname instead of the one provided" +#: ../../Zotlabs/Lib/Apps.php:361 +#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:58 +#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:59 +#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:60 +msgid "Profile Photo" msgstr "" -#: ../../Zotlabs/Module/Import.php:644 -msgid "" -"Leave blank to keep your existing channel nickname. You will be randomly " -"assigned a similar nickname if either name is already allocated on this site." +#: ../../Zotlabs/Lib/Apps.php:363 ../../include/features.php:383 +msgid "Profiles" msgstr "" -#: ../../Zotlabs/Module/Import.php:646 -msgid "" -"This process may take several minutes to complete. Please submit the form " -"only once and leave this page open until finished." +#: ../../Zotlabs/Lib/Apps.php:365 +msgid "Notifications" msgstr "" -#: ../../Zotlabs/Module/Ochannel.php:32 ../../Zotlabs/Module/Channel.php:42 -#: ../../Zotlabs/Module/Chat.php:29 -msgid "You must be logged in to see this page." +#: ../../Zotlabs/Lib/Apps.php:366 +msgid "Order Apps" msgstr "" -#: ../../Zotlabs/Module/Z6trans.php:19 -msgid "Update to Hubzilla 5.0 step 2" +#: ../../Zotlabs/Lib/Apps.php:367 +msgid "CardDAV" msgstr "" -#: ../../Zotlabs/Module/Z6trans.php:21 -msgid "To complete the update please run" +#: ../../Zotlabs/Lib/Apps.php:369 +msgid "Guest Access" msgstr "" -#: ../../Zotlabs/Module/Z6trans.php:23 -msgid "php util/z6convert.php" +#: ../../Zotlabs/Lib/Apps.php:370 ../../Zotlabs/Widget/Notes.php:21 +#: ../../extend/addon/hzaddons/workflow/workflow.php:2625 +msgid "Notes" msgstr "" -#: ../../Zotlabs/Module/Z6trans.php:25 -msgid "from the terminal." +#: ../../Zotlabs/Lib/Apps.php:371 +msgid "OAuth Apps Manager" msgstr "" -#: ../../Zotlabs/Module/Register.php:52 -msgid "Maximum daily site registrations exceeded. Please try again tomorrow." +#: ../../Zotlabs/Lib/Apps.php:372 +msgid "OAuth2 Apps Manager" msgstr "" -#: ../../Zotlabs/Module/Register.php:58 -msgid "" -"Please indicate acceptance of the Terms of Service. Registration failed." +#: ../../Zotlabs/Lib/Apps.php:373 +msgid "PDL Editor" msgstr "" -#: ../../Zotlabs/Module/Register.php:92 -msgid "Passwords do not match." +#: ../../Zotlabs/Lib/Apps.php:376 +msgid "My Chatrooms" msgstr "" -#: ../../Zotlabs/Module/Register.php:135 -msgid "Registration successful. Continue to create your first channel..." +#: ../../Zotlabs/Lib/Apps.php:377 +msgid "Channel Export" msgstr "" -#: ../../Zotlabs/Module/Register.php:138 -msgid "" -"Registration successful. Please check your email for validation instructions." +#: ../../Zotlabs/Lib/Apps.php:554 +msgid "Purchase" msgstr "" -#: ../../Zotlabs/Module/Register.php:145 -msgid "Your registration is pending approval by the site owner." +#: ../../Zotlabs/Lib/Apps.php:559 +msgid "Undelete" msgstr "" -#: ../../Zotlabs/Module/Register.php:148 -msgid "Your registration can not be processed." +#: ../../Zotlabs/Lib/Apps.php:569 +msgid "Add to app-tray" msgstr "" -#: ../../Zotlabs/Module/Register.php:195 -msgid "Registration on this hub is disabled." +#: ../../Zotlabs/Lib/Apps.php:570 +msgid "Remove from app-tray" msgstr "" -#: ../../Zotlabs/Module/Register.php:204 -msgid "Registration on this hub is by approval only." +#: ../../Zotlabs/Lib/Apps.php:571 +msgid "Pin to navbar" msgstr "" -#: ../../Zotlabs/Module/Register.php:205 ../../Zotlabs/Module/Register.php:214 -msgid "<a href=\"pubsites\">Register at another affiliated hub.</a>" +#: ../../Zotlabs/Lib/Apps.php:572 +msgid "Unpin from navbar" msgstr "" -#: ../../Zotlabs/Module/Register.php:213 -msgid "Registration on this hub is by invitation only." +#: ../../Zotlabs/Lib/DB_Upgrade.php:67 +msgid "Source code of failed update: " msgstr "" -#: ../../Zotlabs/Module/Register.php:224 -msgid "" -"This site has exceeded the number of allowed daily account registrations. " -"Please try again tomorrow." +#: ../../Zotlabs/Lib/DB_Upgrade.php:88 +#, php-format +msgid "Update Error at %s" msgstr "" -#: ../../Zotlabs/Module/Register.php:239 ../../Zotlabs/Module/Siteinfo.php:28 -msgid "Terms of Service" +#: ../../Zotlabs/Lib/DB_Upgrade.php:94 +#, php-format +msgid "Update %s failed. See error logs." msgstr "" -#: ../../Zotlabs/Module/Register.php:245 -#, php-format -msgid "I accept the %s for this website" +#: ../../Zotlabs/Lib/AccessList.php:28 +msgid "" +"A deleted list with this name was revived. Existing item permissions " +"<strong>may</strong> apply to this list and any future members. If this is " +"not what you intended, please create another list with a different name." msgstr "" -#: ../../Zotlabs/Module/Register.php:252 -#, php-format -msgid "I am over %s years of age and accept the %s for this website" +#: ../../Zotlabs/Lib/AccessList.php:286 +msgid "Add new connections to this access list" msgstr "" -#: ../../Zotlabs/Module/Register.php:257 -msgid "Your email address" +#: ../../Zotlabs/Lib/AccessList.php:331 +msgid "Lists" msgstr "" -#: ../../Zotlabs/Module/Register.php:258 -msgid "Choose a password" +#: ../../Zotlabs/Lib/AccessList.php:332 +msgid "Edit list" msgstr "" -#: ../../Zotlabs/Module/Register.php:259 -msgid "Please re-enter your password" +#: ../../Zotlabs/Lib/AccessList.php:333 +msgid "Create new list" msgstr "" -#: ../../Zotlabs/Module/Register.php:260 -msgid "Please enter your invitation code" +#: ../../Zotlabs/Lib/AccessList.php:334 +msgid "Channels not in any access list" msgstr "" -#: ../../Zotlabs/Module/Register.php:261 -msgid "Your Name" +#: ../../Zotlabs/Lib/Chatroom.php:25 +msgid "Missing room name" msgstr "" -#: ../../Zotlabs/Module/Register.php:261 -msgid "Real names are preferred." +#: ../../Zotlabs/Lib/Chatroom.php:34 +msgid "Duplicate room name" msgstr "" -#: ../../Zotlabs/Module/Register.php:263 -#: ../../Zotlabs/Module/New_channel.php:177 -msgid "Choose a short nickname" +#: ../../Zotlabs/Lib/Chatroom.php:84 ../../Zotlabs/Lib/Chatroom.php:92 +msgid "Invalid room specifier." msgstr "" -#: ../../Zotlabs/Module/Register.php:263 -#, php-format -msgid "" -"Your nickname will be used to create an easy to remember channel address e." -"g. nickname%s" +#: ../../Zotlabs/Lib/Chatroom.php:124 +msgid "Room not found." msgstr "" -#: ../../Zotlabs/Module/Register.php:264 -#: ../../Zotlabs/Module/New_channel.php:178 -#: ../../Zotlabs/Module/Settings/Channel.php:537 -msgid "Channel role and privacy" +#: ../../Zotlabs/Lib/Chatroom.php:145 +msgid "Room is full" msgstr "" -#: ../../Zotlabs/Module/Register.php:264 -msgid "" -"Select a channel permission role for your usage needs and privacy " -"requirements." +#: ../../Zotlabs/Lib/Techlevels.php:10 +msgid "0. Beginner/Basic" msgstr "" -#: ../../Zotlabs/Module/Register.php:264 -#: ../../Zotlabs/Module/New_channel.php:178 -msgid "Read more about channel permission roles" +#: ../../Zotlabs/Lib/Techlevels.php:11 +msgid "1. Novice - not skilled but willing to learn" msgstr "" -#: ../../Zotlabs/Module/Register.php:265 -msgid "no" +#: ../../Zotlabs/Lib/Techlevels.php:12 +msgid "2. Intermediate - somewhat comfortable" msgstr "" -#: ../../Zotlabs/Module/Register.php:265 -msgid "yes" +#: ../../Zotlabs/Lib/Techlevels.php:13 +msgid "3. Advanced - very comfortable" msgstr "" -#: ../../Zotlabs/Module/Register.php:277 -#: ../../Zotlabs/Module/Admin/Site.php:288 -msgid "Registration" +#: ../../Zotlabs/Lib/Techlevels.php:14 +msgid "4. Expert - I can write computer code" msgstr "" -#: ../../Zotlabs/Module/Register.php:294 -msgid "" -"This site requires email verification. After completing this form, please " -"check your email for further instructions." +#: ../../Zotlabs/Lib/Techlevels.php:15 +msgid "5. Wizard - I probably know more than you do" msgstr "" -#: ../../Zotlabs/Module/Search.php:17 -#: ../../Zotlabs/Module/Viewconnections.php:23 -#: ../../Zotlabs/Module/Ratings.php:83 ../../Zotlabs/Module/Display.php:29 -#: ../../Zotlabs/Module/Directory.php:71 ../../Zotlabs/Module/Directory.php:76 -#: ../../Zotlabs/Module/Photos.php:518 -msgid "Public access denied." +#: ../../Zotlabs/Lib/Enotify.php:60 +msgid "$Projectname Notification" msgstr "" -#: ../../Zotlabs/Module/Search.php:231 -#, php-format -msgid "Items tagged with: %s" +#: ../../Zotlabs/Lib/Enotify.php:61 +#: ../../extend/addon/hzaddons/diaspora/util.php:336 +#: ../../extend/addon/hzaddons/diaspora/util.php:349 +#: ../../extend/addon/hzaddons/diaspora/p.php:48 +msgid "$projectname" msgstr "" -#: ../../Zotlabs/Module/Search.php:233 -#, php-format -msgid "Search results for: %s" +#: ../../Zotlabs/Lib/Enotify.php:63 +msgid "Thank You," msgstr "" -#: ../../Zotlabs/Module/Setup.php:167 -msgid "$Projectname Server - Setup" +#: ../../Zotlabs/Lib/Enotify.php:65 +#: ../../extend/addon/hzaddons/hubwall/hubwall.php:33 +#, php-format +msgid "%s Administrator" msgstr "" -#: ../../Zotlabs/Module/Setup.php:171 -msgid "Could not connect to database." +#: ../../Zotlabs/Lib/Enotify.php:66 +#, php-format +msgid "This email was sent by %1$s at %2$s." msgstr "" -#: ../../Zotlabs/Module/Setup.php:175 +#: ../../Zotlabs/Lib/Enotify.php:67 +#, php-format msgid "" -"Could not connect to specified site URL. Possible SSL certificate or DNS " -"issue." +"To stop receiving these messages, please adjust your Notification Settings " +"at %s" msgstr "" -#: ../../Zotlabs/Module/Setup.php:182 -msgid "Could not create table." +#: ../../Zotlabs/Lib/Enotify.php:68 +#, php-format +msgid "To stop receiving these messages, please adjust your %s." msgstr "" -#: ../../Zotlabs/Module/Setup.php:188 -msgid "Your site database has been installed." +#: ../../Zotlabs/Lib/Enotify.php:123 +#, php-format +msgid "%s <!item_type!>" msgstr "" -#: ../../Zotlabs/Module/Setup.php:194 -msgid "" -"You may need to import the file \"install/schema_xxx.sql\" manually using a " -"database client." +#: ../../Zotlabs/Lib/Enotify.php:127 +#, php-format +msgid "[$Projectname:Notify] New mail received at %s" msgstr "" -#: ../../Zotlabs/Module/Setup.php:195 ../../Zotlabs/Module/Setup.php:259 -#: ../../Zotlabs/Module/Setup.php:766 -msgid "Please see the file \"install/INSTALL.txt\"." +#: ../../Zotlabs/Lib/Enotify.php:129 +#, php-format +msgid "%1$s sent you a new private message at %2$s." msgstr "" -#: ../../Zotlabs/Module/Setup.php:256 -msgid "System check" +#: ../../Zotlabs/Lib/Enotify.php:130 +#, php-format +msgid "%1$s sent you %2$s." msgstr "" -#: ../../Zotlabs/Module/Setup.php:260 ../../Zotlabs/Module/Cdav.php:1032 -#: ../../Zotlabs/Module/Events.php:698 ../../Zotlabs/Module/Events.php:707 -#: ../../Zotlabs/Module/Cal.php:206 ../../Zotlabs/Module/Photos.php:955 -msgid "Next" +#: ../../Zotlabs/Lib/Enotify.php:130 +msgid "a private message" msgstr "" -#: ../../Zotlabs/Module/Setup.php:261 -msgid "Check again" +#: ../../Zotlabs/Lib/Enotify.php:131 +#, php-format +msgid "Please visit %s to view and/or reply to your private messages." msgstr "" -#: ../../Zotlabs/Module/Setup.php:282 -msgid "Database connection" +#: ../../Zotlabs/Lib/Enotify.php:144 +msgid "commented on" msgstr "" -#: ../../Zotlabs/Module/Setup.php:283 -msgid "" -"In order to install $Projectname we need to know how to connect to your " -"database." +#: ../../Zotlabs/Lib/Enotify.php:157 +msgid "liked" msgstr "" -#: ../../Zotlabs/Module/Setup.php:284 -msgid "" -"Please contact your hosting provider or site administrator if you have " -"questions about these settings." +#: ../../Zotlabs/Lib/Enotify.php:160 +msgid "disliked" msgstr "" -#: ../../Zotlabs/Module/Setup.php:285 -msgid "" -"The database you specify below should already exist. If it does not, please " -"create it before continuing." +#: ../../Zotlabs/Lib/Enotify.php:165 +msgid "voted on" msgstr "" -#: ../../Zotlabs/Module/Setup.php:289 -msgid "Database Server Name" +#: ../../Zotlabs/Lib/Enotify.php:208 +#, php-format +msgid "%1$s %2$s [zrl=%3$s]a %4$s[/zrl]" msgstr "" -#: ../../Zotlabs/Module/Setup.php:289 -msgid "Default is 127.0.0.1" +#: ../../Zotlabs/Lib/Enotify.php:216 +#, php-format +msgid "%1$s %2$s [zrl=%3$s]%4$s's %5$s[/zrl]" msgstr "" -#: ../../Zotlabs/Module/Setup.php:290 -msgid "Database Port" +#: ../../Zotlabs/Lib/Enotify.php:225 +#, php-format +msgid "%1$s %2$s [zrl=%3$s]your %4$s[/zrl]" msgstr "" -#: ../../Zotlabs/Module/Setup.php:290 -msgid "Communication port number - use 0 for default" +#: ../../Zotlabs/Lib/Enotify.php:237 +#, php-format +msgid "[$Projectname:Notify] Moderated Comment to conversation #%1$d by %2$s" msgstr "" -#: ../../Zotlabs/Module/Setup.php:291 -msgid "Database Login Name" +#: ../../Zotlabs/Lib/Enotify.php:239 +#, php-format +msgid "[$Projectname:Notify] Comment to conversation #%1$d by %2$s" msgstr "" -#: ../../Zotlabs/Module/Setup.php:292 -msgid "Database Login Password" +#: ../../Zotlabs/Lib/Enotify.php:240 +#, php-format +msgid "%1$s commented on an item/conversation you have been following." msgstr "" -#: ../../Zotlabs/Module/Setup.php:293 -msgid "Database Name" +#: ../../Zotlabs/Lib/Enotify.php:243 ../../Zotlabs/Lib/Enotify.php:324 +#: ../../Zotlabs/Lib/Enotify.php:340 ../../Zotlabs/Lib/Enotify.php:365 +#: ../../Zotlabs/Lib/Enotify.php:382 ../../Zotlabs/Lib/Enotify.php:395 +#, php-format +msgid "Please visit %s to view and/or reply to the conversation." msgstr "" -#: ../../Zotlabs/Module/Setup.php:294 -msgid "Database Type" +#: ../../Zotlabs/Lib/Enotify.php:247 ../../Zotlabs/Lib/Enotify.php:248 +#, php-format +msgid "Please visit %s to approve or reject this comment." msgstr "" -#: ../../Zotlabs/Module/Setup.php:296 ../../Zotlabs/Module/Setup.php:336 -msgid "Site administrator email address" +#: ../../Zotlabs/Lib/Enotify.php:306 +#, php-format +msgid "%1$s liked [zrl=%2$s]your %3$s[/zrl]" msgstr "" -#: ../../Zotlabs/Module/Setup.php:296 ../../Zotlabs/Module/Setup.php:336 -msgid "" -"Your account email address must match this in order to use the web admin " -"panel." +#: ../../Zotlabs/Lib/Enotify.php:320 +#, php-format +msgid "[$Projectname:Notify] Like received to conversation #%1$d by %2$s" msgstr "" -#: ../../Zotlabs/Module/Setup.php:297 ../../Zotlabs/Module/Setup.php:338 -msgid "Website URL" +#: ../../Zotlabs/Lib/Enotify.php:321 +#, php-format +msgid "%1$s liked an item/conversation you created." msgstr "" -#: ../../Zotlabs/Module/Setup.php:297 ../../Zotlabs/Module/Setup.php:338 -msgid "Please use SSL (https) URL if available." +#: ../../Zotlabs/Lib/Enotify.php:332 +#, php-format +msgid "[$Projectname:Notify] %s posted to your profile wall" msgstr "" -#: ../../Zotlabs/Module/Setup.php:298 ../../Zotlabs/Module/Setup.php:340 -msgid "Please select a default timezone for your website" +#: ../../Zotlabs/Lib/Enotify.php:334 +#, php-format +msgid "%1$s posted to your profile wall at %2$s" msgstr "" -#: ../../Zotlabs/Module/Setup.php:325 -msgid "Site settings" +#: ../../Zotlabs/Lib/Enotify.php:336 +#, php-format +msgid "%1$s posted to [zrl=%2$s]your wall[/zrl]" msgstr "" -#: ../../Zotlabs/Module/Setup.php:379 -msgid "PHP version 7.1 or greater is required." +#: ../../Zotlabs/Lib/Enotify.php:359 +#, php-format +msgid "[$Projectname:Notify] %s tagged you" msgstr "" -#: ../../Zotlabs/Module/Setup.php:380 -msgid "PHP version" +#: ../../Zotlabs/Lib/Enotify.php:360 +#, php-format +msgid "%1$s tagged you at %2$s" msgstr "" -#: ../../Zotlabs/Module/Setup.php:396 -msgid "Could not find a command line version of PHP in the web server PATH." +#: ../../Zotlabs/Lib/Enotify.php:361 +#, php-format +msgid "%1$s [zrl=%2$s]tagged you[/zrl]." msgstr "" -#: ../../Zotlabs/Module/Setup.php:397 -msgid "" -"If you don't have a command line version of PHP installed on server, you " -"will not be able to run background polling via cron." +#: ../../Zotlabs/Lib/Enotify.php:372 +#, php-format +msgid "[$Projectname:Notify] %1$s poked you" msgstr "" -#: ../../Zotlabs/Module/Setup.php:401 -msgid "PHP executable path" +#: ../../Zotlabs/Lib/Enotify.php:373 +#, php-format +msgid "%1$s poked you at %2$s" msgstr "" -#: ../../Zotlabs/Module/Setup.php:401 -msgid "" -"Enter full path to php executable. You can leave this blank to continue the " -"installation." +#: ../../Zotlabs/Lib/Enotify.php:374 +#, php-format +msgid "%1$s [zrl=%2$s]poked you[/zrl]." msgstr "" -#: ../../Zotlabs/Module/Setup.php:406 -msgid "Command line PHP" +#: ../../Zotlabs/Lib/Enotify.php:389 +#, php-format +msgid "[$Projectname:Notify] %s tagged your post" msgstr "" -#: ../../Zotlabs/Module/Setup.php:416 -msgid "" -"Unable to check command line PHP, as shell_exec() is disabled. This is " -"required." +#: ../../Zotlabs/Lib/Enotify.php:390 +#, php-format +msgid "%1$s tagged your post at %2$s" msgstr "" -#: ../../Zotlabs/Module/Setup.php:420 -msgid "" -"The command line version of PHP on your system does not have " -"\"register_argc_argv\" enabled." +#: ../../Zotlabs/Lib/Enotify.php:391 +#, php-format +msgid "%1$s tagged [zrl=%2$s]your post[/zrl]" msgstr "" -#: ../../Zotlabs/Module/Setup.php:421 -msgid "This is required for message delivery to work." +#: ../../Zotlabs/Lib/Enotify.php:402 +msgid "[$Projectname:Notify] Introduction received" msgstr "" -#: ../../Zotlabs/Module/Setup.php:424 -msgid "PHP register_argc_argv" +#: ../../Zotlabs/Lib/Enotify.php:403 +#, php-format +msgid "You've received an new connection request from '%1$s' at %2$s" msgstr "" -#: ../../Zotlabs/Module/Setup.php:444 -msgid "" -"This is not sufficient to upload larger images or files. You should be able " -"to upload at least 4 MB at once." +#: ../../Zotlabs/Lib/Enotify.php:404 +#, php-format +msgid "You've received [zrl=%1$s]a new connection request[/zrl] from %2$s." msgstr "" -#: ../../Zotlabs/Module/Setup.php:446 +#: ../../Zotlabs/Lib/Enotify.php:407 ../../Zotlabs/Lib/Enotify.php:425 #, php-format -msgid "" -"Your max allowed total upload size is set to %s. Maximum size of one file to " -"upload is set to %s. You are allowed to upload up to %d files at once." +msgid "You may visit their profile at %s" msgstr "" -#: ../../Zotlabs/Module/Setup.php:452 -msgid "You can adjust these settings in the server php.ini file." +#: ../../Zotlabs/Lib/Enotify.php:409 +#, php-format +msgid "Please visit %s to approve or reject the connection request." msgstr "" -#: ../../Zotlabs/Module/Setup.php:454 -msgid "PHP upload limits" +#: ../../Zotlabs/Lib/Enotify.php:416 +msgid "[$Projectname:Notify] Friend suggestion received" msgstr "" -#: ../../Zotlabs/Module/Setup.php:477 -msgid "" -"Error: the \"openssl_pkey_new\" function on this system is not able to " -"generate encryption keys" +#: ../../Zotlabs/Lib/Enotify.php:417 +#, php-format +msgid "You've received a friend suggestion from '%1$s' at %2$s" msgstr "" -#: ../../Zotlabs/Module/Setup.php:478 -msgid "" -"If running under Windows, please see \"http://www.php.net/manual/en/openssl." -"installation.php\"." +#: ../../Zotlabs/Lib/Enotify.php:418 +#, php-format +msgid "You've received [zrl=%1$s]a friend suggestion[/zrl] for %2$s from %3$s." msgstr "" -#: ../../Zotlabs/Module/Setup.php:481 -msgid "Generate encryption keys" +#: ../../Zotlabs/Lib/Enotify.php:423 +msgid "Name:" msgstr "" -#: ../../Zotlabs/Module/Setup.php:498 -msgid "libCurl PHP module" +#: ../../Zotlabs/Lib/Enotify.php:424 +msgid "Photo:" msgstr "" -#: ../../Zotlabs/Module/Setup.php:499 -msgid "GD graphics PHP module" +#: ../../Zotlabs/Lib/Enotify.php:427 +#, php-format +msgid "Please visit %s to approve or reject the suggestion." msgstr "" -#: ../../Zotlabs/Module/Setup.php:500 -msgid "OpenSSL PHP module" +#: ../../Zotlabs/Lib/Enotify.php:652 +msgid "[$Projectname:Notify]" msgstr "" -#: ../../Zotlabs/Module/Setup.php:501 -msgid "PDO database PHP module" +#: ../../Zotlabs/Lib/Enotify.php:820 +msgid "created a new poll" msgstr "" -#: ../../Zotlabs/Module/Setup.php:502 -msgid "mb_string PHP module" +#: ../../Zotlabs/Lib/Enotify.php:820 +msgid "created a new post" msgstr "" -#: ../../Zotlabs/Module/Setup.php:503 -msgid "xml PHP module" +#: ../../Zotlabs/Lib/Enotify.php:821 +#, php-format +msgid "voted on %s's poll" msgstr "" -#: ../../Zotlabs/Module/Setup.php:504 -msgid "zip PHP module" +#: ../../Zotlabs/Lib/Enotify.php:821 +#, php-format +msgid "commented on %s's post" msgstr "" -#: ../../Zotlabs/Module/Setup.php:508 ../../Zotlabs/Module/Setup.php:510 -msgid "Apache mod_rewrite module" +#: ../../Zotlabs/Lib/Enotify.php:825 +#, php-format +msgid "repeated %s's post" msgstr "" -#: ../../Zotlabs/Module/Setup.php:508 -msgid "" -"Error: Apache webserver mod-rewrite module is required but not installed." +#: ../../Zotlabs/Lib/Enotify.php:837 +#, php-format +msgid "edited a post dated %s" msgstr "" -#: ../../Zotlabs/Module/Setup.php:514 ../../Zotlabs/Module/Setup.php:517 -msgid "exec" +#: ../../Zotlabs/Lib/Enotify.php:841 +#, php-format +msgid "edited a comment dated %s" msgstr "" -#: ../../Zotlabs/Module/Setup.php:514 -msgid "" -"Error: exec is required but is either not installed or has been disabled in " -"php.ini" +#: ../../Zotlabs/Lib/Enotify.php:970 +msgid "created an event" msgstr "" -#: ../../Zotlabs/Module/Setup.php:520 ../../Zotlabs/Module/Setup.php:523 -msgid "shell_exec" +#: ../../Zotlabs/Lib/Libsync.php:740 ../../include/zot.php:2657 +#, php-format +msgid "Unable to verify site signature for %s" msgstr "" -#: ../../Zotlabs/Module/Setup.php:520 -msgid "" -"Error: shell_exec is required but is either not installed or has been " -"disabled in php.ini" +#: ../../Zotlabs/Lib/NativeWikiPage.php:42 +#: ../../Zotlabs/Lib/NativeWikiPage.php:94 +msgid "(No Title)" msgstr "" -#: ../../Zotlabs/Module/Setup.php:528 -msgid "Error: libCURL PHP module required but not installed." +#: ../../Zotlabs/Lib/NativeWikiPage.php:109 +msgid "Wiki page create failed." msgstr "" -#: ../../Zotlabs/Module/Setup.php:532 -msgid "" -"Error: GD PHP module with JPEG support or ImageMagick graphics library " -"required but not installed." +#: ../../Zotlabs/Lib/NativeWikiPage.php:122 +msgid "Wiki not found." msgstr "" -#: ../../Zotlabs/Module/Setup.php:536 -msgid "Error: openssl PHP module required but not installed." +#: ../../Zotlabs/Lib/NativeWikiPage.php:133 +msgid "Destination name already exists" msgstr "" -#: ../../Zotlabs/Module/Setup.php:542 -msgid "" -"Error: PDO database PHP module missing a driver for either mysql or pgsql." +#: ../../Zotlabs/Lib/NativeWikiPage.php:166 +#: ../../Zotlabs/Lib/NativeWikiPage.php:362 +msgid "Page not found" msgstr "" -#: ../../Zotlabs/Module/Setup.php:547 -msgid "Error: PDO database PHP module required but not installed." +#: ../../Zotlabs/Lib/NativeWikiPage.php:197 +msgid "Error reading page content" msgstr "" -#: ../../Zotlabs/Module/Setup.php:551 -msgid "Error: mb_string PHP module required but not installed." +#: ../../Zotlabs/Lib/NativeWikiPage.php:353 +#: ../../Zotlabs/Lib/NativeWikiPage.php:402 +#: ../../Zotlabs/Lib/NativeWikiPage.php:469 +#: ../../Zotlabs/Lib/NativeWikiPage.php:510 +msgid "Error reading wiki" msgstr "" -#: ../../Zotlabs/Module/Setup.php:555 -msgid "Error: xml PHP module required for DAV but not installed." +#: ../../Zotlabs/Lib/NativeWikiPage.php:390 +msgid "Page update failed." msgstr "" -#: ../../Zotlabs/Module/Setup.php:559 -msgid "Error: zip PHP module required but not installed." +#: ../../Zotlabs/Lib/NativeWikiPage.php:424 +msgid "Nothing deleted" msgstr "" -#: ../../Zotlabs/Module/Setup.php:578 ../../Zotlabs/Module/Setup.php:587 -msgid ".htconfig.php is writable" +#: ../../Zotlabs/Lib/NativeWikiPage.php:490 +msgid "Compare: object not found." msgstr "" -#: ../../Zotlabs/Module/Setup.php:583 -msgid "" -"The web installer needs to be able to create a file called \".htconfig.php\" " -"in the top folder of your web server and it is unable to do so." +#: ../../Zotlabs/Lib/NativeWikiPage.php:496 +msgid "Page updated" msgstr "" -#: ../../Zotlabs/Module/Setup.php:584 -msgid "" -"This is most often a permission setting, as the web server may not be able " -"to write files in your folder - even if you can." +#: ../../Zotlabs/Lib/NativeWikiPage.php:499 +msgid "Untitled" msgstr "" -#: ../../Zotlabs/Module/Setup.php:585 -msgid "Please see install/INSTALL.txt for additional information." +#: ../../Zotlabs/Lib/NativeWikiPage.php:505 +msgid "Wiki resource_id required for git commit" msgstr "" -#: ../../Zotlabs/Module/Setup.php:601 -msgid "" -"This software uses the Smarty3 template engine to render its web views. " -"Smarty3 compiles templates to PHP to speed up rendering." +#: ../../Zotlabs/Lib/NativeWikiPage.php:565 +#: ../../Zotlabs/Widget/Wiki_page_history.php:23 +msgctxt "wiki_history" +msgid "Message" msgstr "" -#: ../../Zotlabs/Module/Setup.php:602 -#, php-format -msgid "" -"In order to store these compiled templates, the web server needs to have " -"write access to the directory %s under the top level web folder." +#: ../../Zotlabs/Lib/NativeWikiPage.php:566 +#: ../../Zotlabs/Widget/Wiki_page_history.php:24 +msgid "Date" msgstr "" -#: ../../Zotlabs/Module/Setup.php:603 ../../Zotlabs/Module/Setup.php:624 -msgid "" -"Please ensure that the user that your web server runs as (e.g. www-data) has " -"write access to this folder." +#: ../../Zotlabs/Lib/NativeWikiPage.php:568 +#: ../../Zotlabs/Widget/Wiki_page_history.php:26 +msgid "Compare" msgstr "" -#: ../../Zotlabs/Module/Setup.php:604 -#, php-format -msgid "" -"Note: as a security measure, you should give the web server write access to " -"%s only--not the template files (.tpl) that it contains." +#: ../../Zotlabs/Lib/NativeWikiPage.php:606 ../../include/bbcode.php:1018 +#: ../../include/bbcode.php:1190 +msgid "Different viewers will see this text differently" msgstr "" -#: ../../Zotlabs/Module/Setup.php:607 -#, php-format -msgid "%s is writable" +#: ../../Zotlabs/Lib/ThreadItem.php:103 ../../include/conversation.php:739 +msgid "Private Message" msgstr "" -#: ../../Zotlabs/Module/Setup.php:623 -msgid "" -"This software uses the store directory to save uploaded files. The web " -"server needs to have write access to the store directory under the top level " -"web folder" +#: ../../Zotlabs/Lib/ThreadItem.php:130 +msgid "Privacy conflict. Discretion advised." msgstr "" -#: ../../Zotlabs/Module/Setup.php:627 -msgid "store is writable" +#: ../../Zotlabs/Lib/ThreadItem.php:180 ../../include/conversation.php:729 +msgid "Select" msgstr "" -#: ../../Zotlabs/Module/Setup.php:659 -msgid "" -"SSL certificate cannot be validated. Fix certificate or disable https access " -"to this site." +#: ../../Zotlabs/Lib/ThreadItem.php:205 ../../Zotlabs/Widget/Pinned.php:70 +msgid "I will attend" msgstr "" -#: ../../Zotlabs/Module/Setup.php:660 -msgid "" -"If you have https access to your website or allow connections to TCP port " -"443 (the https: port), you MUST use a browser-valid certificate. You MUST " -"NOT use self-signed certificates!" +#: ../../Zotlabs/Lib/ThreadItem.php:205 ../../Zotlabs/Widget/Pinned.php:70 +msgid "I will not attend" msgstr "" -#: ../../Zotlabs/Module/Setup.php:661 -msgid "" -"This restriction is incorporated because public posts from you may for " -"example contain references to images on your own hub." +#: ../../Zotlabs/Lib/ThreadItem.php:205 ../../Zotlabs/Widget/Pinned.php:70 +msgid "I might attend" msgstr "" -#: ../../Zotlabs/Module/Setup.php:662 -msgid "" -"If your certificate is not recognized, members of other sites (who may " -"themselves have valid certificates) will get a warning message on their own " -"site complaining about security issues." +#: ../../Zotlabs/Lib/ThreadItem.php:219 ../../Zotlabs/Widget/Pinned.php:81 +msgid "I agree" msgstr "" -#: ../../Zotlabs/Module/Setup.php:663 -msgid "" -"This can cause usability issues elsewhere (not just on your own site) so we " -"must insist on this requirement." +#: ../../Zotlabs/Lib/ThreadItem.php:219 ../../Zotlabs/Widget/Pinned.php:81 +msgid "I disagree" msgstr "" -#: ../../Zotlabs/Module/Setup.php:664 -msgid "" -"Providers are available that issue free certificates which are browser-valid." +#: ../../Zotlabs/Lib/ThreadItem.php:219 ../../Zotlabs/Widget/Pinned.php:81 +msgid "I abstain" msgstr "" -#: ../../Zotlabs/Module/Setup.php:665 -msgid "" -"If you are confident that the certificate is valid and signed by a trusted " -"authority, check to see if you have failed to install an intermediate cert. " -"These are not normally required by browsers, but are required for server-to-" -"server communications." +#: ../../Zotlabs/Lib/ThreadItem.php:273 ../../include/conversation.php:734 +msgid "Toggle Star Status" msgstr "" -#: ../../Zotlabs/Module/Setup.php:667 -msgid "SSL certificate validation" +#: ../../Zotlabs/Lib/ThreadItem.php:284 ../../Zotlabs/Widget/Pinned.php:88 +#: ../../include/conversation.php:746 +msgid "Message signature validated" msgstr "" -#: ../../Zotlabs/Module/Setup.php:673 -msgid "" -"Url rewrite in .htaccess is not working. Check your server configuration." -"Test: " +#: ../../Zotlabs/Lib/ThreadItem.php:285 ../../Zotlabs/Widget/Pinned.php:89 +#: ../../include/conversation.php:747 +msgid "Message signature incorrect" msgstr "" -#: ../../Zotlabs/Module/Setup.php:676 -msgid "Url rewrite is working" +#: ../../Zotlabs/Lib/ThreadItem.php:301 ../../include/conversation.php:933 +msgid "Conversation Tools" msgstr "" -#: ../../Zotlabs/Module/Setup.php:689 -msgid "" -"The database configuration file \".htconfig.php\" could not be written. " -"Please use the enclosed text to create a configuration file in your web " -"server root." +#: ../../Zotlabs/Lib/ThreadItem.php:317 ../../include/taxonomy.php:582 +msgid "like" msgstr "" -#: ../../Zotlabs/Module/Setup.php:764 -msgid "<h1>What next?</h1>" +#: ../../Zotlabs/Lib/ThreadItem.php:318 ../../include/taxonomy.php:583 +msgid "dislike" msgstr "" -#: ../../Zotlabs/Module/Setup.php:765 -msgid "" -"IMPORTANT: You will need to [manually] setup a scheduled task for the poller." +#: ../../Zotlabs/Lib/ThreadItem.php:319 +msgid "Reply on this comment" msgstr "" -#: ../../Zotlabs/Module/Viewconnections.php:65 -msgid "No connections." +#: ../../Zotlabs/Lib/ThreadItem.php:319 +msgid "reply" msgstr "" -#: ../../Zotlabs/Module/Viewconnections.php:105 -#, php-format -msgid "Visit %s's profile [%s]" +#: ../../Zotlabs/Lib/ThreadItem.php:319 +msgid "Reply to" msgstr "" -#: ../../Zotlabs/Module/Viewconnections.php:135 -msgid "View Connections" +#: ../../Zotlabs/Lib/ThreadItem.php:329 ../../Zotlabs/Widget/Pinned.php:99 +msgid "Share This" msgstr "" -#: ../../Zotlabs/Module/Pubsites.php:27 -msgid "" -"The listed hubs allow public registration for the $Projectname network. All " -"hubs in the network are interlinked so membership on any of them conveys " -"membership in the network as a whole. Some hubs may require subscription or " -"provide tiered service plans. The hub itself <strong>may</strong> provide " -"additional details." +#: ../../Zotlabs/Lib/ThreadItem.php:329 ../../Zotlabs/Widget/Pinned.php:99 +msgid "share" msgstr "" -#: ../../Zotlabs/Module/Pubsites.php:33 -msgid "Hub URL" +#: ../../Zotlabs/Lib/ThreadItem.php:339 +msgid "Delivery Report" msgstr "" -#: ../../Zotlabs/Module/Pubsites.php:33 -msgid "Access Type" -msgstr "" +#: ../../Zotlabs/Lib/ThreadItem.php:358 +#, php-format +msgid "%d comment" +msgid_plural "%d comments" +msgstr[0] "" +msgstr[1] "" -#: ../../Zotlabs/Module/Pubsites.php:33 -msgid "Registration Policy" +#: ../../Zotlabs/Lib/ThreadItem.php:359 +#, php-format +msgid "%d unseen" msgstr "" -#: ../../Zotlabs/Module/Pubsites.php:33 -msgid "Stats" +#: ../../Zotlabs/Lib/ThreadItem.php:412 +msgid "to" msgstr "" -#: ../../Zotlabs/Module/Pubsites.php:33 -msgid "Software" +#: ../../Zotlabs/Lib/ThreadItem.php:413 ../../Zotlabs/Widget/Pinned.php:128 +msgid "via" msgstr "" -#: ../../Zotlabs/Module/Pubsites.php:49 -msgid "Rate" +#: ../../Zotlabs/Lib/ThreadItem.php:414 +msgid "Wall-to-Wall" msgstr "" -#: ../../Zotlabs/Module/Pubsites.php:60 ../../Zotlabs/Module/Webpages.php:261 -#: ../../Zotlabs/Module/Events.php:702 ../../Zotlabs/Module/Blocks.php:166 -#: ../../Zotlabs/Module/Wiki.php:213 ../../Zotlabs/Module/Wiki.php:409 -#: ../../Zotlabs/Module/Layouts.php:198 -msgid "View" +#: ../../Zotlabs/Lib/ThreadItem.php:415 +msgid "via Wall-To-Wall:" msgstr "" -#: ../../Zotlabs/Module/Channel.php:99 ../../Zotlabs/Module/Hcard.php:37 -#: ../../Zotlabs/Module/Profile.php:45 -msgid "Posts and comments" +#: ../../Zotlabs/Lib/ThreadItem.php:429 ../../Zotlabs/Widget/Pinned.php:133 +#: ../../include/conversation.php:806 +#, php-format +msgid "from %s" msgstr "" -#: ../../Zotlabs/Module/Channel.php:106 ../../Zotlabs/Module/Hcard.php:44 -#: ../../Zotlabs/Module/Profile.php:52 -msgid "Only posts" +#: ../../Zotlabs/Lib/ThreadItem.php:432 ../../Zotlabs/Widget/Pinned.php:136 +#: ../../include/conversation.php:809 +#, php-format +msgid "last edited: %s" msgstr "" -#: ../../Zotlabs/Module/Channel.php:178 -msgid "Insufficient permissions. Request redirected to profile page." +#: ../../Zotlabs/Lib/ThreadItem.php:433 ../../Zotlabs/Widget/Pinned.php:137 +#: ../../include/conversation.php:810 +#, php-format +msgid "Expires: %s" msgstr "" -#: ../../Zotlabs/Module/Channel.php:465 ../../Zotlabs/Module/Display.php:376 -msgid "" -"You must enable javascript for your browser to be able to view this content." +#: ../../Zotlabs/Lib/ThreadItem.php:442 +msgid "Attend" msgstr "" -#: ../../Zotlabs/Module/Profperm.php:34 ../../Zotlabs/Module/Profperm.php:63 -msgid "Invalid profile identifier." +#: ../../Zotlabs/Lib/ThreadItem.php:443 ../../Zotlabs/Widget/Pinned.php:143 +msgid "Attendance Options" msgstr "" -#: ../../Zotlabs/Module/Profperm.php:111 -msgid "Profile Visibility Editor" +#: ../../Zotlabs/Lib/ThreadItem.php:444 ../../include/text.php:1922 +msgid "Vote" msgstr "" -#: ../../Zotlabs/Module/Profperm.php:115 -msgid "Click on a contact to add or remove." +#: ../../Zotlabs/Lib/ThreadItem.php:445 ../../Zotlabs/Widget/Pinned.php:144 +msgid "Voting Options" msgstr "" -#: ../../Zotlabs/Module/Profperm.php:124 -msgid "Visible To" +#: ../../Zotlabs/Lib/ThreadItem.php:460 +msgid "Go to previous comment" msgstr "" -#: ../../Zotlabs/Module/Profperm.php:140 -#: ../../Zotlabs/Module/Connections.php:217 -msgid "All Connections" +#: ../../Zotlabs/Lib/ThreadItem.php:469 ../../Zotlabs/Widget/Pinned.php:156 +msgid "Pinned post" msgstr "" -#: ../../Zotlabs/Module/Group.php:46 -msgid "Privacy group created." +#: ../../Zotlabs/Lib/ThreadItem.php:471 ../../Zotlabs/Widget/Pinned.php:157 +#: ../../include/js_strings.php:39 +msgid "Unpin from the top" msgstr "" -#: ../../Zotlabs/Module/Group.php:49 -msgid "Could not create privacy group." +#: ../../Zotlabs/Lib/ThreadItem.php:471 ../../include/js_strings.php:38 +msgid "Pin to the top" msgstr "" -#: ../../Zotlabs/Module/Group.php:81 -msgid "Privacy group updated." +#: ../../Zotlabs/Lib/ThreadItem.php:472 +#: ../../extend/addon/hzaddons/bookmarker/bookmarker.php:38 +msgid "Save Bookmarks" msgstr "" -#: ../../Zotlabs/Module/Group.php:107 -msgid "Privacy Groups App" +#: ../../Zotlabs/Lib/ThreadItem.php:473 +msgid "Add to Calendar" msgstr "" -#: ../../Zotlabs/Module/Group.php:108 -msgid "Management of privacy groups" +#: ../../Zotlabs/Lib/ThreadItem.php:500 ../../include/conversation.php:516 +msgid "This is an unsaved preview" msgstr "" -#: ../../Zotlabs/Module/Group.php:143 -msgid "Add Group" +#: ../../Zotlabs/Lib/ThreadItem.php:533 ../../include/js_strings.php:7 +#, php-format +msgid "%s show all" msgstr "" -#: ../../Zotlabs/Module/Group.php:147 -msgid "Privacy group name" +#: ../../Zotlabs/Lib/ThreadItem.php:826 ../../include/conversation.php:1449 +#: ../../extend/addon/hzaddons/hsse/hsse.php:200 +msgid "Bold" msgstr "" -#: ../../Zotlabs/Module/Group.php:148 ../../Zotlabs/Module/Group.php:257 -msgid "Members are visible to other channels" +#: ../../Zotlabs/Lib/ThreadItem.php:827 ../../include/conversation.php:1450 +#: ../../extend/addon/hzaddons/hsse/hsse.php:201 +msgid "Italic" msgstr "" -#: ../../Zotlabs/Module/Group.php:156 ../../Zotlabs/Module/Help.php:84 -msgid "Members" +#: ../../Zotlabs/Lib/ThreadItem.php:828 ../../include/conversation.php:1451 +#: ../../extend/addon/hzaddons/hsse/hsse.php:202 +msgid "Underline" msgstr "" -#: ../../Zotlabs/Module/Group.php:183 -msgid "Privacy group removed." +#: ../../Zotlabs/Lib/ThreadItem.php:829 ../../include/conversation.php:1452 +#: ../../extend/addon/hzaddons/hsse/hsse.php:203 +msgid "Quote" msgstr "" -#: ../../Zotlabs/Module/Group.php:186 -msgid "Unable to remove privacy group." +#: ../../Zotlabs/Lib/ThreadItem.php:830 ../../include/conversation.php:1453 +#: ../../extend/addon/hzaddons/hsse/hsse.php:204 +msgid "Code" msgstr "" -#: ../../Zotlabs/Module/Group.php:252 -#, php-format -msgid "Privacy Group: %s" +#: ../../Zotlabs/Lib/ThreadItem.php:831 +msgid "Image" msgstr "" -#: ../../Zotlabs/Module/Group.php:254 -msgid "Privacy group name: " +#: ../../Zotlabs/Lib/ThreadItem.php:832 ../../include/conversation.php:1454 +#: ../../extend/addon/hzaddons/hsse/hsse.php:205 +msgid "Attach/Upload file" msgstr "" -#: ../../Zotlabs/Module/Group.php:259 -msgid "Delete Group" +#: ../../Zotlabs/Lib/ThreadItem.php:833 +msgid "Insert Link" msgstr "" -#: ../../Zotlabs/Module/Group.php:270 -msgid "Group members" +#: ../../Zotlabs/Lib/ThreadItem.php:834 +msgid "Video" msgstr "" -#: ../../Zotlabs/Module/Group.php:272 -msgid "Not in this group" +#: ../../Zotlabs/Lib/ThreadItem.php:844 +msgid "Your full name (required)" msgstr "" -#: ../../Zotlabs/Module/Group.php:304 -msgid "Click a channel to toggle membership" +#: ../../Zotlabs/Lib/ThreadItem.php:845 +msgid "Your email address (required)" msgstr "" -#: ../../Zotlabs/Module/Card_edit.php:128 -msgid "Edit Card" +#: ../../Zotlabs/Lib/ThreadItem.php:846 +msgid "Your website URL (optional)" msgstr "" -#: ../../Zotlabs/Module/Go.php:21 -msgid "This page is available only to site members" +#: ../../Zotlabs/Lib/Activity.php:2110 +#, php-format +msgid "Likes %1$s's %2$s" msgstr "" -#: ../../Zotlabs/Module/Go.php:27 -msgid "Welcome" +#: ../../Zotlabs/Lib/Activity.php:2113 +#, php-format +msgid "Doesn't like %1$s's %2$s" msgstr "" -#: ../../Zotlabs/Module/Go.php:29 -msgid "What would you like to do?" +#: ../../Zotlabs/Lib/Activity.php:2119 +#, php-format +msgid "Will attend %s's event" msgstr "" -#: ../../Zotlabs/Module/Go.php:31 -msgid "" -"Please bookmark this page if you would like to return to it in the future" +#: ../../Zotlabs/Lib/Activity.php:2122 +#, php-format +msgid "Will not attend %s's event" msgstr "" -#: ../../Zotlabs/Module/Go.php:35 -msgid "Upload a profile photo" +#: ../../Zotlabs/Lib/Activity.php:2125 +#, php-format +msgid "May attend %s's event" msgstr "" -#: ../../Zotlabs/Module/Go.php:36 -msgid "Upload a cover photo" +#: ../../Zotlabs/Lib/Activity.php:2128 +#, php-format +msgid "May not attend %s's event" msgstr "" -#: ../../Zotlabs/Module/Go.php:37 -msgid "Edit your default profile" +#: ../../Zotlabs/Lib/Activity.php:2821 ../../Zotlabs/Lib/Activity.php:3015 +#: ../../include/network.php:1736 +#: ../../extend/addon/hzaddons/pubcrawl/as.php:1479 +#: ../../extend/addon/hzaddons/pubcrawl/as.php:1733 +#: ../../extend/addon/hzaddons/pubcrawl/as.php:1941 +msgid "ActivityPub" msgstr "" -#: ../../Zotlabs/Module/Go.php:39 -msgid "View the channel directory" +#: ../../Zotlabs/Lib/NativeWiki.php:145 +msgid "Wiki updated successfully" msgstr "" -#: ../../Zotlabs/Module/Go.php:40 -msgid "View/edit your channel settings" +#: ../../Zotlabs/Lib/NativeWiki.php:199 +msgid "Wiki files deleted successfully" msgstr "" -#: ../../Zotlabs/Module/Go.php:41 -msgid "View the site or project documentation" +#: ../../Zotlabs/Lib/Libzotdir.php:163 ../../include/dir_fns.php:141 +msgid "Directory Options" msgstr "" -#: ../../Zotlabs/Module/Go.php:42 -msgid "Visit your channel homepage" +#: ../../Zotlabs/Lib/Libzotdir.php:165 ../../include/dir_fns.php:143 +msgid "Safe Mode" msgstr "" -#: ../../Zotlabs/Module/Go.php:43 -msgid "" -"View your connections and/or add somebody whose address you already know" +#: ../../Zotlabs/Lib/Libzotdir.php:166 ../../include/dir_fns.php:144 +msgid "Public Forums Only" msgstr "" -#: ../../Zotlabs/Module/Go.php:44 -msgid "" -"View your personal stream (this may be empty until you add some connections)" +#: ../../Zotlabs/Lib/Libzotdir.php:168 ../../include/dir_fns.php:145 +msgid "This Website Only" msgstr "" -#: ../../Zotlabs/Module/Go.php:52 -msgid "View the public stream. Warning: this content is not moderated" +#: ../../Zotlabs/Lib/Permcat.php:82 +msgctxt "permcat" +msgid "default" msgstr "" -#: ../../Zotlabs/Module/Oauth.php:45 -msgid "Name is required" +#: ../../Zotlabs/Lib/Permcat.php:133 +msgctxt "permcat" +msgid "follower" msgstr "" -#: ../../Zotlabs/Module/Oauth.php:49 -msgid "Key and Secret are required" +#: ../../Zotlabs/Lib/Permcat.php:137 +msgctxt "permcat" +msgid "contributor" msgstr "" -#: ../../Zotlabs/Module/Oauth.php:53 ../../Zotlabs/Module/Oauth.php:137 -#: ../../Zotlabs/Module/Cdav.php:1049 ../../Zotlabs/Module/Cdav.php:1384 -#: ../../Zotlabs/Module/Admin/Addons.php:457 -#: ../../Zotlabs/Module/Profiles.php:801 ../../Zotlabs/Module/Oauth2.php:58 -#: ../../Zotlabs/Module/Oauth2.php:144 ../../Zotlabs/Module/Connedit.php:942 -#: ../../Zotlabs/Lib/Apps.php:536 -msgid "Update" +#: ../../Zotlabs/Lib/Permcat.php:141 +msgctxt "permcat" +msgid "publisher" msgstr "" -#: ../../Zotlabs/Module/Oauth.php:100 -msgid "OAuth Apps Manager App" +#: ../../Zotlabs/Lib/Libzot.php:656 ../../include/zot.php:802 +msgid "Unable to verify channel signature" msgstr "" -#: ../../Zotlabs/Module/Oauth.php:101 -msgid "OAuth authentication tokens for mobile and remote apps" +#: ../../Zotlabs/Lib/PermissionDescription.php:34 +#: ../../include/acl_selectors.php:33 +msgid "Visible to your default audience" msgstr "" -#: ../../Zotlabs/Module/Oauth.php:110 ../../Zotlabs/Module/Oauth.php:136 -#: ../../Zotlabs/Module/Oauth.php:172 ../../Zotlabs/Module/Oauth2.php:143 -#: ../../Zotlabs/Module/Oauth2.php:193 -msgid "Add application" +#: ../../Zotlabs/Lib/PermissionDescription.php:107 +#: ../../include/acl_selectors.php:135 +msgid "Only me" msgstr "" -#: ../../Zotlabs/Module/Oauth.php:113 ../../Zotlabs/Module/Oauth2.php:118 -#: ../../Zotlabs/Module/Oauth2.php:146 -msgid "Name of application" +#: ../../Zotlabs/Lib/PermissionDescription.php:108 +msgid "Public" msgstr "" -#: ../../Zotlabs/Module/Oauth.php:114 ../../Zotlabs/Module/Oauth.php:115 -#: ../../Zotlabs/Module/Oauth2.php:119 ../../Zotlabs/Module/Oauth2.php:147 -msgid "Automatically generated - change if desired. Max length 20" +#: ../../Zotlabs/Lib/PermissionDescription.php:109 +msgid "Anybody in the $Projectname network" msgstr "" -#: ../../Zotlabs/Module/Oauth.php:116 ../../Zotlabs/Module/Oauth.php:142 -#: ../../Zotlabs/Module/Oauth2.php:120 ../../Zotlabs/Module/Oauth2.php:148 -msgid "Redirect" +#: ../../Zotlabs/Lib/PermissionDescription.php:110 +#, php-format +msgid "Any account on %s" msgstr "" -#: ../../Zotlabs/Module/Oauth.php:116 ../../Zotlabs/Module/Oauth2.php:120 -#: ../../Zotlabs/Module/Oauth2.php:148 -msgid "" -"Redirect URI - leave blank unless your application specifically requires this" +#: ../../Zotlabs/Lib/PermissionDescription.php:111 +msgid "Any of my connections" msgstr "" -#: ../../Zotlabs/Module/Oauth.php:117 ../../Zotlabs/Module/Oauth.php:143 -msgid "Icon url" +#: ../../Zotlabs/Lib/PermissionDescription.php:112 +msgid "Only connections I specifically allow" msgstr "" -#: ../../Zotlabs/Module/Oauth.php:117 ../../Zotlabs/Module/Sources.php:123 -#: ../../Zotlabs/Module/Sources.php:158 -msgid "Optional" +#: ../../Zotlabs/Lib/PermissionDescription.php:113 +msgid "Anybody authenticated (could include visitors from other networks)" msgstr "" -#: ../../Zotlabs/Module/Oauth.php:128 -msgid "Application not found." +#: ../../Zotlabs/Lib/PermissionDescription.php:114 +msgid "Any connections including those who haven't yet been approved" msgstr "" -#: ../../Zotlabs/Module/Oauth.php:171 -msgid "Connected OAuth Apps" +#: ../../Zotlabs/Lib/PermissionDescription.php:150 +msgid "" +"This is your default setting for the audience of your normal stream, and " +"posts." msgstr "" -#: ../../Zotlabs/Module/Oauth.php:175 ../../Zotlabs/Module/Oauth2.php:196 -msgid "Client key starts with" +#: ../../Zotlabs/Lib/PermissionDescription.php:151 +msgid "" +"This is your default setting for who can view your default channel profile" msgstr "" -#: ../../Zotlabs/Module/Oauth.php:176 ../../Zotlabs/Module/Oauth2.php:197 -msgid "No name" +#: ../../Zotlabs/Lib/PermissionDescription.php:152 +msgid "This is your default setting for who can view your connections" msgstr "" -#: ../../Zotlabs/Module/Oauth.php:177 ../../Zotlabs/Module/Oauth2.php:198 -msgid "Remove authorization" +#: ../../Zotlabs/Lib/PermissionDescription.php:153 +msgid "" +"This is your default setting for who can view your file storage and photos" msgstr "" -#: ../../Zotlabs/Module/Editwebpage.php:139 -msgid "Page link" +#: ../../Zotlabs/Lib/PermissionDescription.php:154 +msgid "This is your default setting for the audience of your webpages" msgstr "" -#: ../../Zotlabs/Module/Editwebpage.php:166 -msgid "Edit Webpage" +#: ../../Zotlabs/Widget/Appcategories.php:46 ../../Zotlabs/Widget/Filer.php:31 +#: ../../include/contact_widgets.php:56 ../../include/contact_widgets.php:111 +#: ../../include/contact_widgets.php:155 ../../include/contact_widgets.php:200 +#: ../../include/contact_widgets.php:235 +msgid "Everything" msgstr "" -#: ../../Zotlabs/Module/Dirsearch.php:28 ../../Zotlabs/Module/Regdir.php:52 -msgid "This site is not a directory server" +#: ../../Zotlabs/Widget/Cdav.php:37 +msgid "Select Channel" msgstr "" -#: ../../Zotlabs/Module/Dirsearch.php:37 -msgid "This directory server requires an access token" +#: ../../Zotlabs/Widget/Cdav.php:42 +msgid "Read-write" msgstr "" -#: ../../Zotlabs/Module/Hq.php:140 -msgid "Welcome to Hubzilla!" +#: ../../Zotlabs/Widget/Cdav.php:43 +msgid "Read-only" msgstr "" -#: ../../Zotlabs/Module/Hq.php:140 -msgid "You have got no unseen posts..." +#: ../../Zotlabs/Widget/Cdav.php:127 +msgid "Channel Calendar" msgstr "" -#: ../../Zotlabs/Module/Pin.php:35 ../../Zotlabs/Module/Item.php:448 -msgid "Unable to locate original post." +#: ../../Zotlabs/Widget/Cdav.php:131 +msgid "Shared CalDAV Calendars" msgstr "" -#: ../../Zotlabs/Module/Chat.php:100 -msgid "Chatrooms App" +#: ../../Zotlabs/Widget/Cdav.php:135 +msgid "Share this calendar" msgstr "" -#: ../../Zotlabs/Module/Chat.php:101 -msgid "Access Controlled Chatrooms" +#: ../../Zotlabs/Widget/Cdav.php:137 +msgid "Calendar name and color" msgstr "" -#: ../../Zotlabs/Module/Chat.php:194 -msgid "Room not found" +#: ../../Zotlabs/Widget/Cdav.php:139 +msgid "Create new CalDAV calendar" msgstr "" -#: ../../Zotlabs/Module/Chat.php:210 -msgid "Leave Room" +#: ../../Zotlabs/Widget/Cdav.php:141 +msgid "Calendar Name" msgstr "" -#: ../../Zotlabs/Module/Chat.php:211 -msgid "Delete Room" +#: ../../Zotlabs/Widget/Cdav.php:142 +msgid "Calendar Tools" msgstr "" -#: ../../Zotlabs/Module/Chat.php:212 -msgid "I am away right now" +#: ../../Zotlabs/Widget/Cdav.php:144 +msgid "Import calendar" msgstr "" -#: ../../Zotlabs/Module/Chat.php:213 -msgid "I am online" +#: ../../Zotlabs/Widget/Cdav.php:145 +msgid "Select a calendar to import to" msgstr "" -#: ../../Zotlabs/Module/Chat.php:215 -msgid "Bookmark this room" +#: ../../Zotlabs/Widget/Cdav.php:172 +msgid "Addressbooks" msgstr "" -#: ../../Zotlabs/Module/Chat.php:238 -msgid "New Chatroom" +#: ../../Zotlabs/Widget/Cdav.php:174 +msgid "Addressbook name" msgstr "" -#: ../../Zotlabs/Module/Chat.php:239 -msgid "Chatroom name" +#: ../../Zotlabs/Widget/Cdav.php:176 +msgid "Create new addressbook" msgstr "" -#: ../../Zotlabs/Module/Chat.php:240 -msgid "Expiration of chats (minutes)" +#: ../../Zotlabs/Widget/Cdav.php:177 +msgid "Addressbook Name" msgstr "" -#: ../../Zotlabs/Module/Chat.php:256 -#, php-format -msgid "%1$s's Chatrooms" +#: ../../Zotlabs/Widget/Cdav.php:179 +msgid "Addressbook Tools" msgstr "" -#: ../../Zotlabs/Module/Chat.php:261 -msgid "No chatrooms available" +#: ../../Zotlabs/Widget/Cdav.php:180 +msgid "Import addressbook" msgstr "" -#: ../../Zotlabs/Module/Chat.php:262 ../../Zotlabs/Module/Manage.php:145 -#: ../../Zotlabs/Module/Profiles.php:833 ../../Zotlabs/Module/Wiki.php:214 -msgid "Create New" +#: ../../Zotlabs/Widget/Cdav.php:181 +msgid "Select an addressbook to import to" msgstr "" -#: ../../Zotlabs/Module/Chat.php:265 -msgid "Expiration" +#: ../../Zotlabs/Widget/Filer.php:28 +#: ../../Zotlabs/Widget/Activity_filter.php:179 +#: ../../include/contact_widgets.php:53 ../../include/features.php:319 +msgid "Saved Folders" msgstr "" -#: ../../Zotlabs/Module/Chat.php:266 -msgid "min" +#: ../../Zotlabs/Widget/Tagcloud.php:22 ../../include/taxonomy.php:323 +#: ../../include/taxonomy.php:458 ../../include/taxonomy.php:479 +msgid "Tags" msgstr "" -#: ../../Zotlabs/Module/Channel_calendar.php:57 -#: ../../Zotlabs/Module/Events.php:113 -msgid "Event can not end before it has started." +#: ../../Zotlabs/Widget/Archive.php:43 +msgid "Archives" msgstr "" -#: ../../Zotlabs/Module/Channel_calendar.php:59 -#: ../../Zotlabs/Module/Channel_calendar.php:67 -#: ../../Zotlabs/Module/Channel_calendar.php:84 -#: ../../Zotlabs/Module/Events.php:115 ../../Zotlabs/Module/Events.php:124 -#: ../../Zotlabs/Module/Events.php:146 -msgid "Unable to generate preview." +#: ../../Zotlabs/Widget/Chatroom_members.php:11 +msgid "Chat Members" msgstr "" -#: ../../Zotlabs/Module/Channel_calendar.php:65 -#: ../../Zotlabs/Module/Events.php:122 -msgid "Event title and start time are required." +#: ../../Zotlabs/Widget/Rating.php:51 +msgid "Rating Tools" msgstr "" -#: ../../Zotlabs/Module/Channel_calendar.php:82 -#: ../../Zotlabs/Module/Channel_calendar.php:224 -#: ../../Zotlabs/Module/Events.php:144 ../../Zotlabs/Module/Events.php:271 -msgid "Event not found." +#: ../../Zotlabs/Widget/Rating.php:55 ../../Zotlabs/Widget/Rating.php:57 +msgid "Rate Me" msgstr "" -#: ../../Zotlabs/Module/Channel_calendar.php:371 -#: ../../Zotlabs/Module/Events.php:641 -msgid "Edit event" +#: ../../Zotlabs/Widget/Rating.php:60 +msgid "View Ratings" msgstr "" -#: ../../Zotlabs/Module/Channel_calendar.php:373 -#: ../../Zotlabs/Module/Events.php:643 -msgid "Delete event" +#: ../../Zotlabs/Widget/Wiki_pages.php:34 +#: ../../Zotlabs/Widget/Wiki_pages.php:91 +msgid "Add new page" msgstr "" -#: ../../Zotlabs/Module/Channel_calendar.php:393 -#: ../../Zotlabs/Module/Cdav.php:939 ../../Zotlabs/Module/Cal.php:167 -msgid "Link to source" +#: ../../Zotlabs/Widget/Wiki_pages.php:85 +msgid "Wiki Pages" msgstr "" -#: ../../Zotlabs/Module/Channel_calendar.php:407 -#: ../../Zotlabs/Module/Events.php:677 -msgid "calendar" +#: ../../Zotlabs/Widget/Wiki_pages.php:96 +msgid "Page name" msgstr "" -#: ../../Zotlabs/Module/Channel_calendar.php:494 -#: ../../Zotlabs/Module/Events.php:742 -msgid "Failed to remove event" +#: ../../Zotlabs/Widget/Bookmarkedchats.php:24 +msgid "Bookmarked Chatrooms" msgstr "" -#: ../../Zotlabs/Module/Like.php:57 -msgid "Like/Dislike" +#: ../../Zotlabs/Widget/Photo.php:48 ../../Zotlabs/Widget/Photo_rand.php:58 +msgid "photo/image" msgstr "" -#: ../../Zotlabs/Module/Like.php:62 -msgid "This action is restricted to members." +#: ../../Zotlabs/Widget/Forums.php:100 +#: ../../Zotlabs/Widget/Activity_filter.php:115 +#: ../../Zotlabs/Widget/Notifications.php:139 +#: ../../Zotlabs/Widget/Notifications.php:140 +#: ../../include/acl_selectors.php:124 +msgid "Forums" msgstr "" -#: ../../Zotlabs/Module/Like.php:63 -msgid "" -"Please <a href=\"rmagic\">login with your $Projectname ID</a> or <a href=" -"\"register\">register as a new $Projectname member</a> to continue." +#: ../../Zotlabs/Widget/Savedsearch.php:75 +msgid "Remove term" msgstr "" -#: ../../Zotlabs/Module/Like.php:117 ../../Zotlabs/Module/Like.php:143 -#: ../../Zotlabs/Module/Like.php:181 -msgid "Invalid request." +#: ../../Zotlabs/Widget/Savedsearch.php:83 ../../include/features.php:311 +msgid "Saved Searches" msgstr "" -#: ../../Zotlabs/Module/Like.php:158 -msgid "thing" +#: ../../Zotlabs/Widget/Follow.php:22 +#, php-format +msgid "You have %1$.0f of %2$.0f allowed connections." msgstr "" -#: ../../Zotlabs/Module/Like.php:204 -msgid "Channel unavailable." +#: ../../Zotlabs/Widget/Follow.php:29 +msgid "Add New Connection" msgstr "" -#: ../../Zotlabs/Module/Like.php:240 -msgid "Previous action reversed." +#: ../../Zotlabs/Widget/Follow.php:30 +msgid "Enter channel address" msgstr "" -#: ../../Zotlabs/Module/Like.php:426 -#, php-format -msgid "%1$s agrees with %2$s's %3$s" +#: ../../Zotlabs/Widget/Follow.php:31 +msgid "Examples: bob@example.com, https://example.com/barbara" msgstr "" -#: ../../Zotlabs/Module/Like.php:428 -#, php-format -msgid "%1$s doesn't agree with %2$s's %3$s" +#: ../../Zotlabs/Widget/Suggestions.php:53 +msgid "Suggestions" msgstr "" -#: ../../Zotlabs/Module/Like.php:430 -#, php-format -msgid "%1$s abstains from a decision on %2$s's %3$s" +#: ../../Zotlabs/Widget/Suggestions.php:54 +msgid "See more..." msgstr "" -#: ../../Zotlabs/Module/Like.php:547 -msgid "Action completed." +#: ../../Zotlabs/Widget/Tasklist.php:23 +msgid "Tasks" msgstr "" -#: ../../Zotlabs/Module/Like.php:548 -msgid "Thank you." +#: ../../Zotlabs/Widget/Admin.php:23 ../../Zotlabs/Widget/Admin.php:60 +msgid "Member registrations waiting for confirmation" msgstr "" -#: ../../Zotlabs/Module/Poke.php:165 -msgid "Poke App" +#: ../../Zotlabs/Widget/Admin.php:29 +msgid "Inspect queue" msgstr "" -#: ../../Zotlabs/Module/Poke.php:166 -msgid "Poke somebody in your addressbook" +#: ../../Zotlabs/Widget/Admin.php:31 +msgid "DB updates" msgstr "" -#: ../../Zotlabs/Module/Poke.php:200 -msgid "Poke somebody" +#: ../../Zotlabs/Widget/Admin.php:55 ../../include/nav.php:194 +msgid "Admin" msgstr "" -#: ../../Zotlabs/Module/Poke.php:203 -msgid "Poke/Prod" +#: ../../Zotlabs/Widget/Admin.php:56 +msgid "Addon Features" msgstr "" -#: ../../Zotlabs/Module/Poke.php:204 -msgid "Poke, prod or do other things to somebody" +#: ../../Zotlabs/Widget/Chatroom_list.php:20 +msgid "Overview" msgstr "" -#: ../../Zotlabs/Module/Poke.php:211 -msgid "Recipient" +#: ../../Zotlabs/Widget/Appstore.php:11 +msgid "App Collections" msgstr "" -#: ../../Zotlabs/Module/Poke.php:212 -msgid "Choose what you wish to do to recipient" +#: ../../Zotlabs/Widget/Appstore.php:13 +msgid "Installed apps" msgstr "" -#: ../../Zotlabs/Module/Poke.php:215 ../../Zotlabs/Module/Poke.php:216 -msgid "Make this post private" +#: ../../Zotlabs/Widget/Activity_order.php:90 +msgid "Commented Date" msgstr "" -#: ../../Zotlabs/Module/Cdav.php:814 ../../Zotlabs/Module/Events.php:28 -msgid "Calendar entries imported." +#: ../../Zotlabs/Widget/Activity_order.php:94 +msgid "Order by last commented date" msgstr "" -#: ../../Zotlabs/Module/Cdav.php:816 ../../Zotlabs/Module/Events.php:30 -msgid "No calendar entries found." +#: ../../Zotlabs/Widget/Activity_order.php:97 +msgid "Posted Date" msgstr "" -#: ../../Zotlabs/Module/Cdav.php:872 -msgid "CardDAV App" +#: ../../Zotlabs/Widget/Activity_order.php:101 +msgid "Order by last posted date" msgstr "" -#: ../../Zotlabs/Module/Cdav.php:873 -msgid "CalDAV capable addressbook" +#: ../../Zotlabs/Widget/Activity_order.php:104 +msgid "Date Unthreaded" msgstr "" -#: ../../Zotlabs/Module/Cdav.php:1005 ../../Zotlabs/Module/Events.php:468 -msgid "Event title" +#: ../../Zotlabs/Widget/Activity_order.php:108 +msgid "Order unthreaded by date" msgstr "" -#: ../../Zotlabs/Module/Cdav.php:1006 ../../Zotlabs/Module/Events.php:474 -msgid "Start date and time" +#: ../../Zotlabs/Widget/Activity_order.php:123 +msgid "Stream Order" msgstr "" -#: ../../Zotlabs/Module/Cdav.php:1007 -msgid "End date and time" +#: ../../Zotlabs/Widget/Mailmenu.php:13 +msgid "Private Mail Menu" msgstr "" -#: ../../Zotlabs/Module/Cdav.php:1008 ../../Zotlabs/Module/Events.php:497 -msgid "Timezone:" +#: ../../Zotlabs/Widget/Mailmenu.php:15 +msgid "Combined View" msgstr "" -#: ../../Zotlabs/Module/Cdav.php:1031 ../../Zotlabs/Module/Events.php:697 -#: ../../Zotlabs/Module/Events.php:706 ../../Zotlabs/Module/Cal.php:205 -#: ../../Zotlabs/Module/Photos.php:946 -msgid "Previous" +#: ../../Zotlabs/Widget/Mailmenu.php:20 +msgid "Inbox" msgstr "" -#: ../../Zotlabs/Module/Cdav.php:1033 ../../Zotlabs/Module/Events.php:708 -#: ../../Zotlabs/Module/Cal.php:207 -msgid "Today" +#: ../../Zotlabs/Widget/Mailmenu.php:25 +msgid "Outbox" msgstr "" -#: ../../Zotlabs/Module/Cdav.php:1034 ../../Zotlabs/Module/Events.php:703 -msgid "Month" +#: ../../Zotlabs/Widget/Mailmenu.php:30 +msgid "New Message" msgstr "" -#: ../../Zotlabs/Module/Cdav.php:1035 ../../Zotlabs/Module/Events.php:704 -msgid "Week" +#: ../../Zotlabs/Widget/Affinity.php:54 +msgid "Refresh" msgstr "" -#: ../../Zotlabs/Module/Cdav.php:1036 ../../Zotlabs/Module/Events.php:705 -msgid "Day" +#: ../../Zotlabs/Widget/Hq_controls.php:14 +msgid "HQ Control Panel" msgstr "" -#: ../../Zotlabs/Module/Cdav.php:1037 -msgid "List month" +#: ../../Zotlabs/Widget/Hq_controls.php:17 +msgid "Create a new post" msgstr "" -#: ../../Zotlabs/Module/Cdav.php:1038 -msgid "List week" +#: ../../Zotlabs/Widget/Eventstools.php:13 +msgid "Events Tools" msgstr "" -#: ../../Zotlabs/Module/Cdav.php:1039 -msgid "List day" +#: ../../Zotlabs/Widget/Eventstools.php:14 +msgid "Export Calendar" msgstr "" -#: ../../Zotlabs/Module/Cdav.php:1047 -msgid "More" +#: ../../Zotlabs/Widget/Eventstools.php:15 +msgid "Import Calendar" msgstr "" -#: ../../Zotlabs/Module/Cdav.php:1048 -msgid "Less" +#: ../../Zotlabs/Widget/Activity_filter.php:33 +msgid "Direct Messages" msgstr "" -#: ../../Zotlabs/Module/Cdav.php:1050 -msgid "Select calendar" +#: ../../Zotlabs/Widget/Activity_filter.php:37 +msgid "Show direct (private) messages" msgstr "" -#: ../../Zotlabs/Module/Cdav.php:1053 -msgid "Delete all" +#: ../../Zotlabs/Widget/Activity_filter.php:42 +msgid "Events" msgstr "" -#: ../../Zotlabs/Module/Cdav.php:1056 -msgid "Sorry! Editing of recurrent events is not yet implemented." +#: ../../Zotlabs/Widget/Activity_filter.php:46 +msgid "Show posts that include events" msgstr "" -#: ../../Zotlabs/Module/Cdav.php:1369 ../../Zotlabs/Module/Connedit.php:927 -msgid "Organisation" +#: ../../Zotlabs/Widget/Activity_filter.php:52 +msgid "Polls" msgstr "" -#: ../../Zotlabs/Module/Cdav.php:1371 ../../Zotlabs/Module/Profiles.php:788 -#: ../../Zotlabs/Module/Connedit.php:929 -msgid "Phone" +#: ../../Zotlabs/Widget/Activity_filter.php:56 +msgid "Show posts that include polls" msgstr "" -#: ../../Zotlabs/Module/Cdav.php:1373 ../../Zotlabs/Module/Profiles.php:790 -#: ../../Zotlabs/Module/Connedit.php:931 -msgid "Instant messenger" +#: ../../Zotlabs/Widget/Activity_filter.php:77 +#, php-format +msgid "Show posts related to the %s privacy group" msgstr "" -#: ../../Zotlabs/Module/Cdav.php:1374 ../../Zotlabs/Module/Profiles.php:791 -#: ../../Zotlabs/Module/Connedit.php:932 -msgid "Website" +#: ../../Zotlabs/Widget/Activity_filter.php:86 +msgid "Show my privacy groups" msgstr "" -#: ../../Zotlabs/Module/Cdav.php:1375 -#: ../../Zotlabs/Module/Admin/Channels.php:160 -#: ../../Zotlabs/Module/Profiles.php:504 ../../Zotlabs/Module/Profiles.php:792 -#: ../../Zotlabs/Module/Connedit.php:933 ../../Zotlabs/Module/Locs.php:122 -msgid "Address" +#: ../../Zotlabs/Widget/Activity_filter.php:108 +msgid "Show posts to this forum" msgstr "" -#: ../../Zotlabs/Module/Cdav.php:1376 ../../Zotlabs/Module/Profiles.php:793 -#: ../../Zotlabs/Module/Connedit.php:934 -msgid "Note" +#: ../../Zotlabs/Widget/Activity_filter.php:119 +msgid "Show forums" msgstr "" -#: ../../Zotlabs/Module/Cdav.php:1381 ../../Zotlabs/Module/Profiles.php:798 -#: ../../Zotlabs/Module/Connedit.php:939 -msgid "Add Contact" +#: ../../Zotlabs/Widget/Activity_filter.php:133 +msgid "Starred Posts" msgstr "" -#: ../../Zotlabs/Module/Cdav.php:1382 ../../Zotlabs/Module/Profiles.php:799 -#: ../../Zotlabs/Module/Connedit.php:940 -msgid "Add Field" +#: ../../Zotlabs/Widget/Activity_filter.php:137 +msgid "Show posts that I have starred" msgstr "" -#: ../../Zotlabs/Module/Cdav.php:1387 ../../Zotlabs/Module/Connedit.php:945 -msgid "P.O. Box" +#: ../../Zotlabs/Widget/Activity_filter.php:148 +msgid "Personal Posts" msgstr "" -#: ../../Zotlabs/Module/Cdav.php:1388 ../../Zotlabs/Module/Connedit.php:946 -msgid "Additional" +#: ../../Zotlabs/Widget/Activity_filter.php:152 +msgid "Show posts that mention or involve me" msgstr "" -#: ../../Zotlabs/Module/Cdav.php:1389 ../../Zotlabs/Module/Connedit.php:947 -msgid "Street" +#: ../../Zotlabs/Widget/Activity_filter.php:173 +#, php-format +msgid "Show posts that I have filed to %s" msgstr "" -#: ../../Zotlabs/Module/Cdav.php:1390 ../../Zotlabs/Module/Connedit.php:948 -msgid "Locality" +#: ../../Zotlabs/Widget/Activity_filter.php:183 +msgid "Show filed post categories" msgstr "" -#: ../../Zotlabs/Module/Cdav.php:1391 ../../Zotlabs/Module/Connedit.php:949 -msgid "Region" +#: ../../Zotlabs/Widget/Activity_filter.php:197 +msgid "Panel search" msgstr "" -#: ../../Zotlabs/Module/Cdav.php:1392 ../../Zotlabs/Module/Connedit.php:950 -msgid "ZIP Code" +#: ../../Zotlabs/Widget/Activity_filter.php:207 +msgid "Filter by name" msgstr "" -#: ../../Zotlabs/Module/Cdav.php:1393 ../../Zotlabs/Module/Profiles.php:759 -#: ../../Zotlabs/Module/Connedit.php:951 -msgid "Country" +#: ../../Zotlabs/Widget/Activity_filter.php:222 +msgid "Remove active filter" msgstr "" -#: ../../Zotlabs/Module/Cdav.php:1452 -msgid "Default Calendar" +#: ../../Zotlabs/Widget/Activity_filter.php:238 +msgid "Stream Filters" msgstr "" -#: ../../Zotlabs/Module/Cdav.php:1463 -msgid "Default Addressbook" +#: ../../Zotlabs/Widget/Activity.php:50 +msgctxt "widget" +msgid "Activity" msgstr "" -#: ../../Zotlabs/Module/Lockview.php:75 -msgid "Remote privacy information not available." +#: ../../Zotlabs/Widget/Notifications.php:16 +msgid "New Network Activity" msgstr "" -#: ../../Zotlabs/Module/Lockview.php:96 -msgid "Visible to:" +#: ../../Zotlabs/Widget/Notifications.php:17 +msgid "New Network Activity Notifications" msgstr "" -#: ../../Zotlabs/Module/Lockview.php:117 ../../Zotlabs/Module/Lockview.php:153 -#: ../../Zotlabs/Module/Acl.php:121 -msgctxt "acl" -msgid "Profile" +#: ../../Zotlabs/Widget/Notifications.php:20 +msgid "View your network activity" msgstr "" -#: ../../Zotlabs/Module/Item.php:734 -msgid "Empty post discarded." +#: ../../Zotlabs/Widget/Notifications.php:23 +#: ../../Zotlabs/Widget/Notifications.php:62 +msgid "Mark all notifications read" msgstr "" -#: ../../Zotlabs/Module/Item.php:1186 -msgid "Duplicate post suppressed." +#: ../../Zotlabs/Widget/Notifications.php:26 +#: ../../Zotlabs/Widget/Notifications.php:46 +#: ../../Zotlabs/Widget/Notifications.php:65 +#: ../../Zotlabs/Widget/Notifications.php:172 +msgid "Show new posts only" msgstr "" -#: ../../Zotlabs/Module/Item.php:1331 -msgid "System error. Post not saved." +#: ../../Zotlabs/Widget/Notifications.php:27 +#: ../../Zotlabs/Widget/Notifications.php:47 +#: ../../Zotlabs/Widget/Notifications.php:66 +#: ../../Zotlabs/Widget/Notifications.php:142 +#: ../../Zotlabs/Widget/Notifications.php:173 +msgid "Filter by name or address" msgstr "" -#: ../../Zotlabs/Module/Item.php:1365 -msgid "Your comment is awaiting approval." +#: ../../Zotlabs/Widget/Notifications.php:36 +msgid "New Home Activity" msgstr "" -#: ../../Zotlabs/Module/Item.php:1482 -msgid "Unable to obtain post information from database." +#: ../../Zotlabs/Widget/Notifications.php:37 +msgid "New Home Activity Notifications" msgstr "" -#: ../../Zotlabs/Module/Item.php:1489 -#, php-format -msgid "You have reached your limit of %1$.0f top level posts." +#: ../../Zotlabs/Widget/Notifications.php:40 +msgid "View your home activity" msgstr "" -#: ../../Zotlabs/Module/Item.php:1496 -#, php-format -msgid "You have reached your limit of %1$.0f webpages." +#: ../../Zotlabs/Widget/Notifications.php:43 +#: ../../Zotlabs/Widget/Notifications.php:169 +msgid "Mark all notifications seen" msgstr "" -#: ../../Zotlabs/Module/Mitem.php:31 ../../Zotlabs/Module/Menu.php:209 -msgid "Menu not found." +#: ../../Zotlabs/Widget/Notifications.php:55 +msgid "New Direct Messages" msgstr "" -#: ../../Zotlabs/Module/Mitem.php:63 -msgid "Unable to create element." +#: ../../Zotlabs/Widget/Notifications.php:56 +msgid "New Direct Messages Notifications" msgstr "" -#: ../../Zotlabs/Module/Mitem.php:87 -msgid "Unable to update menu element." +#: ../../Zotlabs/Widget/Notifications.php:59 +msgid "View your direct messages" msgstr "" -#: ../../Zotlabs/Module/Mitem.php:103 -msgid "Unable to add menu element." +#: ../../Zotlabs/Widget/Notifications.php:74 +msgid "New Mails" msgstr "" -#: ../../Zotlabs/Module/Mitem.php:134 ../../Zotlabs/Module/Xchan.php:41 -#: ../../Zotlabs/Module/Menu.php:232 -msgid "Not found." +#: ../../Zotlabs/Widget/Notifications.php:75 +msgid "New Mails Notifications" msgstr "" -#: ../../Zotlabs/Module/Mitem.php:167 ../../Zotlabs/Module/Mitem.php:246 -msgid "Menu Item Permissions" +#: ../../Zotlabs/Widget/Notifications.php:78 +msgid "View your private mails" msgstr "" -#: ../../Zotlabs/Module/Mitem.php:168 ../../Zotlabs/Module/Mitem.php:247 -#: ../../Zotlabs/Module/Settings/Channel.php:528 -msgid "(click to open/close)" +#: ../../Zotlabs/Widget/Notifications.php:81 +msgid "Mark all messages seen" msgstr "" -#: ../../Zotlabs/Module/Mitem.php:174 ../../Zotlabs/Module/Mitem.php:191 -msgid "Link Name" +#: ../../Zotlabs/Widget/Notifications.php:89 +msgid "New Events" msgstr "" -#: ../../Zotlabs/Module/Mitem.php:175 ../../Zotlabs/Module/Mitem.php:255 -msgid "Link or Submenu Target" +#: ../../Zotlabs/Widget/Notifications.php:90 +msgid "New Events Notifications" msgstr "" -#: ../../Zotlabs/Module/Mitem.php:175 -msgid "Enter URL of the link or select a menu name to create a submenu" +#: ../../Zotlabs/Widget/Notifications.php:93 +msgid "View events" msgstr "" -#: ../../Zotlabs/Module/Mitem.php:176 ../../Zotlabs/Module/Mitem.php:256 -msgid "Use magic-auth if available" +#: ../../Zotlabs/Widget/Notifications.php:96 +msgid "Mark all events seen" msgstr "" -#: ../../Zotlabs/Module/Mitem.php:177 ../../Zotlabs/Module/Mitem.php:257 -msgid "Open link in new window" +#: ../../Zotlabs/Widget/Notifications.php:105 +msgid "New Connections Notifications" msgstr "" -#: ../../Zotlabs/Module/Mitem.php:178 ../../Zotlabs/Module/Mitem.php:258 -msgid "Order in list" +#: ../../Zotlabs/Widget/Notifications.php:108 +msgid "View all connections" msgstr "" -#: ../../Zotlabs/Module/Mitem.php:178 ../../Zotlabs/Module/Mitem.php:258 -msgid "Higher numbers will sink to bottom of listing" +#: ../../Zotlabs/Widget/Notifications.php:116 +msgid "New Files" msgstr "" -#: ../../Zotlabs/Module/Mitem.php:179 -msgid "Submit and finish" +#: ../../Zotlabs/Widget/Notifications.php:117 +msgid "New Files Notifications" msgstr "" -#: ../../Zotlabs/Module/Mitem.php:180 -msgid "Submit and continue" +#: ../../Zotlabs/Widget/Notifications.php:124 +#: ../../Zotlabs/Widget/Notifications.php:125 +msgid "Notices" msgstr "" -#: ../../Zotlabs/Module/Mitem.php:189 -msgid "Menu:" +#: ../../Zotlabs/Widget/Notifications.php:128 +msgid "View all notices" msgstr "" -#: ../../Zotlabs/Module/Mitem.php:192 -msgid "Link Target" +#: ../../Zotlabs/Widget/Notifications.php:131 +msgid "Mark all notices seen" msgstr "" -#: ../../Zotlabs/Module/Mitem.php:195 -msgid "Edit menu" +#: ../../Zotlabs/Widget/Notifications.php:152 +msgid "New Registrations" msgstr "" -#: ../../Zotlabs/Module/Mitem.php:198 -msgid "Edit element" +#: ../../Zotlabs/Widget/Notifications.php:153 +msgid "New Registrations Notifications" msgstr "" -#: ../../Zotlabs/Module/Mitem.php:199 -msgid "Drop element" +#: ../../Zotlabs/Widget/Notifications.php:163 +msgid "Public Stream Notifications" msgstr "" -#: ../../Zotlabs/Module/Mitem.php:200 -msgid "New element" +#: ../../Zotlabs/Widget/Notifications.php:166 +msgid "View the public stream" msgstr "" -#: ../../Zotlabs/Module/Mitem.php:201 -msgid "Edit this menu container" +#: ../../Zotlabs/Widget/Notifications.php:181 +msgid "Sorry, you have got no notifications at the moment" msgstr "" -#: ../../Zotlabs/Module/Mitem.php:202 -msgid "Add menu element" +#: ../../Zotlabs/Widget/Pinned.php:123 ../../Zotlabs/Widget/Pinned.php:124 +#, php-format +msgid "View %s's profile - %s" msgstr "" -#: ../../Zotlabs/Module/Mitem.php:203 -msgid "Delete this menu item" +#: ../../Zotlabs/Widget/Pinned.php:158 +msgid "Don't show" msgstr "" -#: ../../Zotlabs/Module/Mitem.php:204 -msgid "Edit this menu item" +#: ../../Zotlabs/Widget/Settings_menu.php:32 +msgid "Account settings" msgstr "" -#: ../../Zotlabs/Module/Mitem.php:222 -msgid "Menu item not found." +#: ../../Zotlabs/Widget/Settings_menu.php:38 +msgid "Channel settings" msgstr "" -#: ../../Zotlabs/Module/Mitem.php:235 -msgid "Menu item deleted." +#: ../../Zotlabs/Widget/Settings_menu.php:46 +msgid "Display settings" msgstr "" -#: ../../Zotlabs/Module/Mitem.php:237 -msgid "Menu item could not be deleted." +#: ../../Zotlabs/Widget/Settings_menu.php:53 +msgid "Manage locations" msgstr "" -#: ../../Zotlabs/Module/Mitem.php:244 -msgid "Edit Menu Element" +#: ../../Zotlabs/Widget/Suggestedchats.php:32 +msgid "Suggested Chatrooms" msgstr "" -#: ../../Zotlabs/Module/Mitem.php:254 -msgid "Link text" +#: ../../Zotlabs/Widget/Conversations.php:17 +msgid "Received Messages" msgstr "" -#: ../../Zotlabs/Module/Profile.php:93 -msgid "vcard" +#: ../../Zotlabs/Widget/Conversations.php:21 +msgid "Sent Messages" msgstr "" -#: ../../Zotlabs/Module/Sharedwithme.php:105 -msgid "Files: shared with me" +#: ../../Zotlabs/Widget/Conversations.php:25 +msgid "Conversations" msgstr "" -#: ../../Zotlabs/Module/Sharedwithme.php:107 -msgid "NEW" +#: ../../Zotlabs/Widget/Conversations.php:37 +msgid "No messages." msgstr "" -#: ../../Zotlabs/Module/Sharedwithme.php:109 -#: ../../Zotlabs/Storage/Browser.php:294 -msgid "Last Modified" +#: ../../Zotlabs/Widget/Conversations.php:57 +msgid "Delete conversation" msgstr "" -#: ../../Zotlabs/Module/Sharedwithme.php:110 -msgid "Remove all files" +#: ../../Zotlabs/Widget/Newmember.php:31 +msgid "Profile Creation" msgstr "" -#: ../../Zotlabs/Module/Sharedwithme.php:111 -msgid "Remove this file" +#: ../../Zotlabs/Widget/Newmember.php:33 +msgid "Upload profile photo" msgstr "" -#: ../../Zotlabs/Module/Help.php:23 -msgid "Documentation Search" +#: ../../Zotlabs/Widget/Newmember.php:34 +msgid "Upload cover photo" msgstr "" -#: ../../Zotlabs/Module/Help.php:85 -msgid "Administrators" +#: ../../Zotlabs/Widget/Newmember.php:35 ../../include/nav.php:117 +msgid "Edit your profile" msgstr "" -#: ../../Zotlabs/Module/Help.php:86 -msgid "Developers" +#: ../../Zotlabs/Widget/Newmember.php:38 +msgid "Find and Connect with others" msgstr "" -#: ../../Zotlabs/Module/Help.php:87 -msgid "Tutorials" +#: ../../Zotlabs/Widget/Newmember.php:40 +msgid "View the directory" msgstr "" -#: ../../Zotlabs/Module/Help.php:98 -msgid "$Projectname Documentation" +#: ../../Zotlabs/Widget/Newmember.php:42 +msgid "Manage your connections" msgstr "" -#: ../../Zotlabs/Module/Help.php:99 -msgid "Contents" +#: ../../Zotlabs/Widget/Newmember.php:45 +msgid "Communicate" msgstr "" -#: ../../Zotlabs/Module/Webpages.php:48 -msgid "Webpages App" +#: ../../Zotlabs/Widget/Newmember.php:47 +msgid "View your channel homepage" msgstr "" -#: ../../Zotlabs/Module/Webpages.php:49 -msgid "Provide managed web pages on your channel" +#: ../../Zotlabs/Widget/Newmember.php:48 +msgid "View your network stream" msgstr "" -#: ../../Zotlabs/Module/Webpages.php:69 -msgid "Import Webpage Elements" +#: ../../Zotlabs/Widget/Newmember.php:54 +msgid "Documentation" msgstr "" -#: ../../Zotlabs/Module/Webpages.php:70 -msgid "Import selected" +#: ../../Zotlabs/Widget/Newmember.php:57 +msgid "Missing Features?" msgstr "" -#: ../../Zotlabs/Module/Webpages.php:93 -msgid "Export Webpage Elements" +#: ../../Zotlabs/Widget/Newmember.php:59 +msgid "Pin apps to navigation bar" msgstr "" -#: ../../Zotlabs/Module/Webpages.php:94 -msgid "Export selected" +#: ../../Zotlabs/Widget/Newmember.php:60 +msgid "Install more apps" msgstr "" -#: ../../Zotlabs/Module/Webpages.php:263 -msgid "Actions" +#: ../../Zotlabs/Widget/Newmember.php:71 +msgid "View public stream" msgstr "" -#: ../../Zotlabs/Module/Webpages.php:264 -msgid "Page Link" +#: ../../Zotlabs/Widget/Cover_photo.php:65 +msgid "Click to show more" msgstr "" -#: ../../Zotlabs/Module/Webpages.php:265 -msgid "Page Title" +#: ../../util/nconfig.php:34 +msgid "Source channel not found." msgstr "" -#: ../../Zotlabs/Module/Webpages.php:266 ../../Zotlabs/Module/Blocks.php:157 -#: ../../Zotlabs/Module/Menu.php:178 ../../Zotlabs/Module/Layouts.php:191 -msgid "Created" -msgstr "" +#: ../../include/contact_widgets.php:11 +#, php-format +msgid "%d invitation available" +msgid_plural "%d invitations available" +msgstr[0] "" +msgstr[1] "" -#: ../../Zotlabs/Module/Webpages.php:267 ../../Zotlabs/Module/Blocks.php:158 -#: ../../Zotlabs/Module/Menu.php:179 ../../Zotlabs/Module/Layouts.php:192 -msgid "Edited" +#: ../../include/contact_widgets.php:19 +msgid "Find Channels" msgstr "" -#: ../../Zotlabs/Module/Webpages.php:295 -msgid "Invalid file type." +#: ../../include/contact_widgets.php:20 +msgid "Enter name or interest" msgstr "" -#: ../../Zotlabs/Module/Webpages.php:307 -msgid "Error opening zip file" +#: ../../include/contact_widgets.php:21 +msgid "Connect/Follow" msgstr "" -#: ../../Zotlabs/Module/Webpages.php:318 -msgid "Invalid folder path." +#: ../../include/contact_widgets.php:22 +msgid "Examples: Robert Morgenstein, Fishing" msgstr "" -#: ../../Zotlabs/Module/Webpages.php:345 -msgid "No webpage elements detected." +#: ../../include/contact_widgets.php:26 +msgid "Random Profile" msgstr "" -#: ../../Zotlabs/Module/Webpages.php:420 -msgid "Import complete." +#: ../../include/contact_widgets.php:27 +msgid "Invite Friends" msgstr "" -#: ../../Zotlabs/Module/Filestorage.php:103 -msgid "File not found." +#: ../../include/contact_widgets.php:29 +msgid "Advanced example: name=fred and country=iceland" msgstr "" -#: ../../Zotlabs/Module/Filestorage.php:152 -msgid "Permission Denied." +#: ../../include/contact_widgets.php:265 +msgid "Common Connections" msgstr "" -#: ../../Zotlabs/Module/Filestorage.php:185 -msgid "Edit file permissions" +#: ../../include/contact_widgets.php:269 +#, php-format +msgid "View all %d common connections" msgstr "" -#: ../../Zotlabs/Module/Filestorage.php:198 -msgid "Include all files and sub folders" +#: ../../include/conversation.php:183 +#, php-format +msgid "likes %1$s's %2$s" msgstr "" -#: ../../Zotlabs/Module/Filestorage.php:199 -msgid "Return to file list" +#: ../../include/conversation.php:186 +#, php-format +msgid "doesn't like %1$s's %2$s" msgstr "" -#: ../../Zotlabs/Module/Filestorage.php:201 -msgid "Copy/paste this code to attach file to a post" +#: ../../include/conversation.php:226 ../../include/conversation.php:228 +#, php-format +msgid "%1$s is now connected with %2$s" msgstr "" -#: ../../Zotlabs/Module/Filestorage.php:202 -msgid "Copy/paste this URL to link file from a web page" +#: ../../include/conversation.php:263 +#, php-format +msgid "%1$s poked %2$s" msgstr "" -#: ../../Zotlabs/Module/Filestorage.php:204 -msgid "Share this file" +#: ../../include/conversation.php:267 ../../include/text.php:1242 +#: ../../include/text.php:1246 +msgid "poked" msgstr "" -#: ../../Zotlabs/Module/Filestorage.php:205 -msgid "Show URL to this file" +#: ../../include/conversation.php:779 +#, php-format +msgid "View %s's profile @ %s" msgstr "" -#: ../../Zotlabs/Module/Filestorage.php:206 -#: ../../Zotlabs/Storage/Browser.php:411 -msgid "Show in your contacts shared folder" +#: ../../include/conversation.php:799 +msgid "Categories:" msgstr "" -#: ../../Zotlabs/Module/Tagrm.php:48 ../../Zotlabs/Module/Tagrm.php:98 -msgid "Tag removed" +#: ../../include/conversation.php:800 +msgid "Filed under:" msgstr "" -#: ../../Zotlabs/Module/Tagrm.php:123 -msgid "Remove Item Tag" +#: ../../include/conversation.php:825 +msgid "View in context" msgstr "" -#: ../../Zotlabs/Module/Tagrm.php:125 -msgid "Select a tag to remove: " +#: ../../include/conversation.php:928 +msgid "remove" msgstr "" -#: ../../Zotlabs/Module/Connect.php:65 ../../Zotlabs/Module/Connect.php:118 -msgid "Continue" +#: ../../include/conversation.php:932 +msgid "Loading..." msgstr "" -#: ../../Zotlabs/Module/Connect.php:99 -msgid "Premium Channel Setup" +#: ../../include/conversation.php:934 +msgid "Delete Selected Items" msgstr "" -#: ../../Zotlabs/Module/Connect.php:101 -msgid "Enable premium channel connection restrictions" +#: ../../include/conversation.php:977 +msgid "View Source" msgstr "" -#: ../../Zotlabs/Module/Connect.php:102 -msgid "" -"Please enter your restrictions or conditions, such as paypal receipt, usage " -"guidelines, etc." +#: ../../include/conversation.php:987 +msgid "Follow Thread" msgstr "" -#: ../../Zotlabs/Module/Connect.php:104 ../../Zotlabs/Module/Connect.php:124 -msgid "" -"This channel may require additional steps or acknowledgement of the " -"following conditions prior to connecting:" +#: ../../include/conversation.php:996 +msgid "Unfollow Thread" msgstr "" -#: ../../Zotlabs/Module/Connect.php:105 -msgid "" -"Potential connections will then see the following text before proceeding:" +#: ../../include/conversation.php:1110 +msgid "Edit Connection" msgstr "" -#: ../../Zotlabs/Module/Connect.php:106 ../../Zotlabs/Module/Connect.php:127 -msgid "" -"By continuing, I certify that I have complied with any instructions provided " -"on this page." +#: ../../include/conversation.php:1120 +msgid "Message" msgstr "" -#: ../../Zotlabs/Module/Connect.php:115 -msgid "(No specific instructions have been provided by the channel owner.)" +#: ../../include/conversation.php:1262 +#, php-format +msgid "%s likes this." msgstr "" -#: ../../Zotlabs/Module/Connect.php:123 -msgid "Restricted or Premium Channel" +#: ../../include/conversation.php:1262 +#, php-format +msgid "%s doesn't like this." msgstr "" -#: ../../Zotlabs/Module/Cloud.php:116 -msgid "Not found" -msgstr "" +#: ../../include/conversation.php:1266 +#, php-format +msgid "<span %1$s>%2$d people</span> like this." +msgid_plural "<span %1$s>%2$d people</span> like this." +msgstr[0] "" +msgstr[1] "" -#: ../../Zotlabs/Module/Cloud.php:122 -msgid "Please refresh page" +#: ../../include/conversation.php:1268 +#, php-format +msgid "<span %1$s>%2$d people</span> don't like this." +msgid_plural "<span %1$s>%2$d people</span> don't like this." +msgstr[0] "" +msgstr[1] "" + +#: ../../include/conversation.php:1274 +msgid "and" msgstr "" -#: ../../Zotlabs/Module/Cloud.php:125 -msgid "Unknown error" +#: ../../include/conversation.php:1277 +#, php-format +msgid ", and %d other people" +msgid_plural ", and %d other people" +msgstr[0] "" +msgstr[1] "" + +#: ../../include/conversation.php:1278 +#, php-format +msgid "%s like this." msgstr "" -#: ../../Zotlabs/Module/Share.php:104 ../../Zotlabs/Lib/Activity.php:2119 +#: ../../include/conversation.php:1278 #, php-format -msgid "🔁 Repeated %1$s's %2$s" +msgid "%s don't like this." msgstr "" -#: ../../Zotlabs/Module/Share.php:120 -msgid "Post repeated" +#: ../../include/conversation.php:1328 +#: ../../extend/addon/hzaddons/hsse/hsse.php:82 +msgid "Set your location" msgstr "" -#: ../../Zotlabs/Module/Acl.php:361 -msgid "network" +#: ../../include/conversation.php:1329 +#: ../../extend/addon/hzaddons/hsse/hsse.php:83 +msgid "Clear browser location" msgstr "" -#: ../../Zotlabs/Module/Editpost.php:38 ../../Zotlabs/Module/Editpost.php:43 -msgid "Item is not editable" +#: ../../include/conversation.php:1345 +#: ../../extend/addon/hzaddons/hsse/hsse.php:99 +msgid "Embed (existing) photo from your photo albums" msgstr "" -#: ../../Zotlabs/Module/Editpost.php:109 ../../Zotlabs/Module/Rpost.php:144 -msgid "Edit post" +#: ../../include/conversation.php:1381 +#: ../../extend/addon/hzaddons/hsse/hsse.php:135 +msgid "Tag term:" msgstr "" -#: ../../Zotlabs/Module/Tagger.php:50 -msgid "Post not found." +#: ../../include/conversation.php:1382 +#: ../../extend/addon/hzaddons/hsse/hsse.php:136 +msgid "Where are you right now?" msgstr "" -#: ../../Zotlabs/Module/Tagger.php:121 -#, php-format -msgid "%1$s tagged %2$s's %3$s with %4$s" +#: ../../include/conversation.php:1387 +#: ../../extend/addon/hzaddons/hsse/hsse.php:141 +msgid "Choose a different album..." msgstr "" -#: ../../Zotlabs/Module/Authorize.php:17 -msgid "Unknown App" +#: ../../include/conversation.php:1391 +#: ../../extend/addon/hzaddons/hsse/hsse.php:145 +msgid "Comments enabled" msgstr "" -#: ../../Zotlabs/Module/Authorize.php:29 -msgid "Authorize" +#: ../../include/conversation.php:1392 +#: ../../extend/addon/hzaddons/hsse/hsse.php:146 +msgid "Comments disabled" msgstr "" -#: ../../Zotlabs/Module/Authorize.php:30 -#, php-format -msgid "Do you authorize the app %s to access your channel data?" +#: ../../include/conversation.php:1444 +#: ../../extend/addon/hzaddons/hsse/hsse.php:195 +msgid "Page link name" msgstr "" -#: ../../Zotlabs/Module/Authorize.php:33 -#: ../../Zotlabs/Module/Admin/Accounts.php:174 -msgid "Deny" +#: ../../include/conversation.php:1447 +#: ../../extend/addon/hzaddons/hsse/hsse.php:198 +msgid "Post as" msgstr "" -#: ../../Zotlabs/Module/Admin/Queue.php:35 -msgid "Queue Statistics" +#: ../../include/conversation.php:1461 +#: ../../extend/addon/hzaddons/hsse/hsse.php:212 +msgid "Toggle voting" msgstr "" -#: ../../Zotlabs/Module/Admin/Queue.php:36 -msgid "Total Entries" +#: ../../include/conversation.php:1462 +msgid "Toggle poll" msgstr "" -#: ../../Zotlabs/Module/Admin/Queue.php:37 -msgid "Priority" +#: ../../include/conversation.php:1463 +msgid "Option" msgstr "" -#: ../../Zotlabs/Module/Admin/Queue.php:38 -msgid "Destination URL" +#: ../../include/conversation.php:1464 +msgid "Add option" msgstr "" -#: ../../Zotlabs/Module/Admin/Queue.php:39 -msgid "Mark hub permanently offline" +#: ../../include/conversation.php:1465 +msgid "Minutes" msgstr "" -#: ../../Zotlabs/Module/Admin/Queue.php:40 -msgid "Empty queue for this hub" +#: ../../include/conversation.php:1465 +msgid "Hours" msgstr "" -#: ../../Zotlabs/Module/Admin/Queue.php:41 -msgid "Last known contact" +#: ../../include/conversation.php:1465 +msgid "Days" msgstr "" -#: ../../Zotlabs/Module/Admin/Themes.php:26 -msgid "Theme settings updated." +#: ../../include/conversation.php:1466 +msgid "Allow multiple answers" msgstr "" -#: ../../Zotlabs/Module/Admin/Themes.php:61 -msgid "No themes found." +#: ../../include/conversation.php:1468 +#: ../../extend/addon/hzaddons/hsse/hsse.php:215 +msgid "Disable comments" msgstr "" -#: ../../Zotlabs/Module/Admin/Themes.php:95 -#: ../../Zotlabs/Module/Admin/Addons.php:311 -msgid "Disable" +#: ../../include/conversation.php:1469 +#: ../../extend/addon/hzaddons/hsse/hsse.php:216 +msgid "Toggle comments" msgstr "" -#: ../../Zotlabs/Module/Admin/Themes.php:97 -#: ../../Zotlabs/Module/Admin/Addons.php:314 -msgid "Enable" +#: ../../include/conversation.php:1477 +#: ../../extend/addon/hzaddons/hsse/hsse.php:224 +msgid "Categories (optional, comma-separated list)" msgstr "" -#: ../../Zotlabs/Module/Admin/Themes.php:116 -msgid "Screenshot" +#: ../../include/conversation.php:1500 +#: ../../extend/addon/hzaddons/hsse/hsse.php:247 +msgid "Other networks and post services" msgstr "" -#: ../../Zotlabs/Module/Admin/Themes.php:122 -#: ../../Zotlabs/Module/Admin/Themes.php:156 -#: ../../Zotlabs/Module/Admin/Security.php:98 -#: ../../Zotlabs/Module/Admin/Accounts.php:166 -#: ../../Zotlabs/Module/Admin/Site.php:285 -#: ../../Zotlabs/Module/Admin/Logs.php:82 -#: ../../Zotlabs/Module/Admin/Channels.php:145 -#: ../../Zotlabs/Module/Admin/Addons.php:342 -#: ../../Zotlabs/Module/Admin/Addons.php:440 ../../Zotlabs/Module/Admin.php:138 -msgid "Administration" +#: ../../include/conversation.php:1503 +#: ../../extend/addon/hzaddons/hsse/hsse.php:250 +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:170 +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:313 +msgid "Set expiration date" msgstr "" -#: ../../Zotlabs/Module/Admin/Themes.php:124 -#: ../../Zotlabs/Module/Admin/Addons.php:344 -msgid "Toggle" +#: ../../include/conversation.php:1506 +#: ../../extend/addon/hzaddons/hsse/hsse.php:253 +msgid "Set publish date" msgstr "" -#: ../../Zotlabs/Module/Admin/Themes.php:134 -#: ../../Zotlabs/Module/Admin/Addons.php:352 -msgid "Author: " +#: ../../include/conversation.php:1755 +msgctxt "noun" +msgid "Attending" +msgid_plural "Attending" +msgstr[0] "" +msgstr[1] "" + +#: ../../include/conversation.php:1758 +msgctxt "noun" +msgid "Not Attending" +msgid_plural "Not Attending" +msgstr[0] "" +msgstr[1] "" + +#: ../../include/conversation.php:1761 +msgctxt "noun" +msgid "Undecided" +msgid_plural "Undecided" +msgstr[0] "" +msgstr[1] "" + +#: ../../include/conversation.php:1764 +msgctxt "noun" +msgid "Agree" +msgid_plural "Agrees" +msgstr[0] "" +msgstr[1] "" + +#: ../../include/conversation.php:1767 +msgctxt "noun" +msgid "Disagree" +msgid_plural "Disagrees" +msgstr[0] "" +msgstr[1] "" + +#: ../../include/conversation.php:1770 +msgctxt "noun" +msgid "Abstain" +msgid_plural "Abstains" +msgstr[0] "" +msgstr[1] "" + +#: ../../include/channel.php:46 +msgid "Unable to obtain identity information from database" msgstr "" -#: ../../Zotlabs/Module/Admin/Themes.php:135 -#: ../../Zotlabs/Module/Admin/Addons.php:353 -msgid "Maintainer: " +#: ../../include/channel.php:79 +msgid "Empty name" msgstr "" -#: ../../Zotlabs/Module/Admin/Themes.php:162 -msgid "[Experimental]" +#: ../../include/channel.php:82 +msgid "Name too long" msgstr "" -#: ../../Zotlabs/Module/Admin/Themes.php:163 -msgid "[Unsupported]" +#: ../../include/channel.php:199 +msgid "No account identifier" msgstr "" -#: ../../Zotlabs/Module/Admin/Features.php:56 -#, php-format -msgid "Lock feature %s" +#: ../../include/channel.php:211 +msgid "Nickname is required." msgstr "" -#: ../../Zotlabs/Module/Admin/Features.php:64 -msgid "Manage Additional Features" +#: ../../include/channel.php:294 +msgid "Unable to retrieve created identity" msgstr "" -#: ../../Zotlabs/Module/Admin/Security.php:89 -msgid "" -"By default, unfiltered HTML is allowed in embedded media. This is inherently " -"insecure." +#: ../../include/channel.php:441 +msgid "Default Profile" msgstr "" -#: ../../Zotlabs/Module/Admin/Security.php:92 -msgid "" -"The recommended setting is to only allow unfiltered HTML from the following " -"sites:" +#: ../../include/channel.php:639 ../../include/channel.php:728 +msgid "Unable to retrieve modified identity" msgstr "" -#: ../../Zotlabs/Module/Admin/Security.php:93 -msgid "" -"https://youtube.com/<br />https://www.youtube.com/<br />https://youtu.be/" -"<br />https://vimeo.com/<br />https://soundcloud.com/<br />" +#: ../../include/channel.php:1385 +msgid "Requested channel is not available." msgstr "" -#: ../../Zotlabs/Module/Admin/Security.php:94 -msgid "" -"All other embedded content will be filtered, <strong>unless</strong> " -"embedded content from that site is explicitly blocked." +#: ../../include/channel.php:1539 +msgid "Create New Profile" msgstr "" -#: ../../Zotlabs/Module/Admin/Security.php:101 -msgid "Block public" +#: ../../include/channel.php:1542 ../../include/nav.php:117 +#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:58 +msgid "Edit Profile" msgstr "" -#: ../../Zotlabs/Module/Admin/Security.php:101 -msgid "" -"Check to block public access to all otherwise public personal pages on this " -"site unless you are currently authenticated." +#: ../../include/channel.php:1560 +msgid "Visible to everybody" msgstr "" -#: ../../Zotlabs/Module/Admin/Security.php:102 -msgid "Provide a cloud root directory" +#: ../../include/channel.php:1637 ../../include/channel.php:1765 +msgid "Gender:" msgstr "" -#: ../../Zotlabs/Module/Admin/Security.php:102 -msgid "" -"The cloud root directory lists all channel names which provide public files" +#: ../../include/channel.php:1638 ../../include/channel.php:1809 +msgid "Status:" msgstr "" -#: ../../Zotlabs/Module/Admin/Security.php:103 -msgid "Show total disk space available to cloud uploads" +#: ../../include/channel.php:1639 ../../include/channel.php:1833 +msgid "Homepage:" msgstr "" -#: ../../Zotlabs/Module/Admin/Security.php:104 -msgid "Set \"Transport Security\" HTTP header" +#: ../../include/channel.php:1640 +msgid "Online Now" msgstr "" -#: ../../Zotlabs/Module/Admin/Security.php:105 -msgid "Set \"Content Security Policy\" HTTP header" +#: ../../include/channel.php:1693 +msgid "Change your profile photo" msgstr "" -#: ../../Zotlabs/Module/Admin/Security.php:106 -msgid "Allowed email domains" +#: ../../include/channel.php:1720 ../../include/selectors.php:60 +#: ../../include/selectors.php:77 +#: ../../extend/addon/hzaddons/openid/Mod_Id.php:87 +msgid "Female" msgstr "" -#: ../../Zotlabs/Module/Admin/Security.php:106 -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" +#: ../../include/channel.php:1722 ../../include/selectors.php:60 +#: ../../include/selectors.php:77 +#: ../../extend/addon/hzaddons/openid/Mod_Id.php:85 +msgid "Male" msgstr "" -#: ../../Zotlabs/Module/Admin/Security.php:107 -msgid "Not allowed email domains" +#: ../../include/channel.php:1724 +msgid "Trans" msgstr "" -#: ../../Zotlabs/Module/Admin/Security.php:107 -msgid "" -"Comma separated list of domains which are not allowed in email addresses for " -"registrations to this site. Wildcards are accepted. Empty to allow any " -"domains, unless allowed domains have been defined." +#: ../../include/channel.php:1726 ../../include/selectors.php:60 +msgid "Neuter" msgstr "" -#: ../../Zotlabs/Module/Admin/Security.php:108 -msgid "Allow communications only from these sites" +#: ../../include/channel.php:1728 ../../include/selectors.php:60 +msgid "Non-specific" msgstr "" -#: ../../Zotlabs/Module/Admin/Security.php:108 -msgid "" -"One site per line. Leave empty to allow communication from anywhere by " -"default" +#: ../../include/channel.php:1770 +msgid "Like this channel" msgstr "" -#: ../../Zotlabs/Module/Admin/Security.php:109 -msgid "Block communications from these sites" +#: ../../include/channel.php:1794 +msgid "j F, Y" msgstr "" -#: ../../Zotlabs/Module/Admin/Security.php:110 -msgid "Allow communications only from these channels" +#: ../../include/channel.php:1795 +msgid "j F" msgstr "" -#: ../../Zotlabs/Module/Admin/Security.php:110 -msgid "" -"One channel (hash) per line. Leave empty to allow from any channel by default" +#: ../../include/channel.php:1802 +msgid "Birthday:" msgstr "" -#: ../../Zotlabs/Module/Admin/Security.php:111 -msgid "Block communications from these channels" +#: ../../include/channel.php:1815 +#, php-format +msgid "for %1$d %2$s" msgstr "" -#: ../../Zotlabs/Module/Admin/Security.php:112 -msgid "Only allow embeds from secure (SSL) websites and links." +#: ../../include/channel.php:1827 +msgid "Tags:" msgstr "" -#: ../../Zotlabs/Module/Admin/Security.php:113 -msgid "Allow unfiltered embedded HTML content only from these domains" +#: ../../include/channel.php:1831 +msgid "Sexual Preference:" msgstr "" -#: ../../Zotlabs/Module/Admin/Security.php:113 -msgid "One site per line. By default embedded content is filtered." +#: ../../include/channel.php:1837 +msgid "Political Views:" msgstr "" -#: ../../Zotlabs/Module/Admin/Security.php:114 -msgid "Block embedded HTML from these domains" +#: ../../include/channel.php:1839 +msgid "Religion:" msgstr "" -#: ../../Zotlabs/Module/Admin/Security.php:115 -msgid "Allow SVG thumbnails in file browser" +#: ../../include/channel.php:1843 +msgid "Hobbies/Interests:" msgstr "" -#: ../../Zotlabs/Module/Admin/Security.php:115 -msgid "WARNING: SVG images may contain malicious code." +#: ../../include/channel.php:1845 +msgid "Likes:" msgstr "" -#: ../../Zotlabs/Module/Admin/Security.php:116 -msgid "Allow embedded (inline) PDF files" +#: ../../include/channel.php:1847 +msgid "Dislikes:" msgstr "" -#: ../../Zotlabs/Module/Admin/Accounts.php:37 -#, php-format -msgid "%s account blocked/unblocked" -msgid_plural "%s account blocked/unblocked" -msgstr[0] "" -msgstr[1] "" +#: ../../include/channel.php:1849 +msgid "Contact information and Social Networks:" +msgstr "" -#: ../../Zotlabs/Module/Admin/Accounts.php:44 -#, php-format -msgid "%s account deleted" -msgid_plural "%s accounts deleted" -msgstr[0] "" -msgstr[1] "" +#: ../../include/channel.php:1851 +msgid "My other channels:" +msgstr "" -#: ../../Zotlabs/Module/Admin/Accounts.php:80 -msgid "Account not found" +#: ../../include/channel.php:1853 +msgid "Musical interests:" msgstr "" -#: ../../Zotlabs/Module/Admin/Accounts.php:99 -#, php-format -msgid "Account '%s' blocked" +#: ../../include/channel.php:1855 +msgid "Books, literature:" msgstr "" -#: ../../Zotlabs/Module/Admin/Accounts.php:107 -#, php-format -msgid "Account '%s' unblocked" +#: ../../include/channel.php:1857 +msgid "Television:" msgstr "" -#: ../../Zotlabs/Module/Admin/Accounts.php:169 -#: ../../Zotlabs/Module/Admin/Channels.php:148 -msgid "select all" +#: ../../include/channel.php:1859 +msgid "Film/dance/culture/entertainment:" msgstr "" -#: ../../Zotlabs/Module/Admin/Accounts.php:170 -msgid "Registrations waiting for confirm" +#: ../../include/channel.php:1861 +msgid "Love/Romance:" msgstr "" -#: ../../Zotlabs/Module/Admin/Accounts.php:171 -msgid "Request date" +#: ../../include/channel.php:1863 +msgid "Work/employment:" msgstr "" -#: ../../Zotlabs/Module/Admin/Accounts.php:172 -msgid "No registrations." +#: ../../include/channel.php:1865 +msgid "School/education:" msgstr "" -#: ../../Zotlabs/Module/Admin/Accounts.php:176 -#: ../../Zotlabs/Module/Connedit.php:639 -msgid "Block" +#: ../../include/channel.php:1888 +msgid "Like this thing" msgstr "" -#: ../../Zotlabs/Module/Admin/Accounts.php:177 -#: ../../Zotlabs/Module/Connedit.php:639 -msgid "Unblock" +#: ../../include/features.php:86 +msgid "Start calendar week on Monday" msgstr "" -#: ../../Zotlabs/Module/Admin/Accounts.php:182 -msgid "ID" +#: ../../include/features.php:87 +msgid "Default is Sunday" msgstr "" -#: ../../Zotlabs/Module/Admin/Accounts.php:184 -msgid "All Channels" +#: ../../include/features.php:94 +msgid "Event Timezone Selection" msgstr "" -#: ../../Zotlabs/Module/Admin/Accounts.php:185 -msgid "Register date" +#: ../../include/features.php:95 +msgid "Allow event creation in timezones other than your own." msgstr "" -#: ../../Zotlabs/Module/Admin/Accounts.php:186 -msgid "Last login" +#: ../../include/features.php:108 +msgid "Search by Date" msgstr "" -#: ../../Zotlabs/Module/Admin/Accounts.php:187 -msgid "Expires" +#: ../../include/features.php:109 +msgid "Ability to select posts by date ranges" msgstr "" -#: ../../Zotlabs/Module/Admin/Accounts.php:188 -msgid "Service Class" +#: ../../include/features.php:116 +msgid "Tag Cloud" msgstr "" -#: ../../Zotlabs/Module/Admin/Accounts.php:190 -msgid "" -"Selected accounts will be deleted!\\n\\nEverything these accounts had posted " -"on this site will be permanently deleted!\\n\\nAre you sure?" +#: ../../include/features.php:117 +msgid "Provide a personal tag cloud on your channel page" msgstr "" -#: ../../Zotlabs/Module/Admin/Accounts.php:191 -msgid "" -"The account {0} will be deleted!\\n\\nEverything this account has posted on " -"this site will be permanently deleted!\\n\\nAre you sure?" +#: ../../include/features.php:124 ../../include/features.php:359 +msgid "Use blog/list mode" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:159 -msgid "Site settings updated." +#: ../../include/features.php:125 ../../include/features.php:360 +msgid "Comments will be displayed separately" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:196 -#: ../../Zotlabs/Module/Settings/Display.php:120 -#, php-format -msgid "%s - (Incompatible)" +#: ../../include/features.php:137 +msgid "Connection Filtering" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:203 -msgid "mobile" +#: ../../include/features.php:138 +msgid "Filter incoming posts from connections based on keywords/content" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:205 -msgid "experimental" +#: ../../include/features.php:146 +msgid "Conversation" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:207 -msgid "unsupported" +#: ../../include/features.php:158 +msgid "Emoji Reactions" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:254 -msgid "Yes - with approval" +#: ../../include/features.php:159 +msgid "Add emoji reaction ability to posts" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:260 -msgid "My site is not a public server" +#: ../../include/features.php:166 +msgid "Dislike Posts" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:261 -msgid "My site has paid access only" +#: ../../include/features.php:167 +msgid "Ability to dislike posts/comments" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:262 -msgid "My site has free access only" +#: ../../include/features.php:174 +msgid "Star Posts" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:263 -msgid "My site offers free accounts with optional paid upgrades" +#: ../../include/features.php:175 +msgid "Ability to mark special posts with a star indicator" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:277 -msgid "Default permission role for new accounts" +#: ../../include/features.php:182 +msgid "Reply on comment" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:277 -msgid "" -"This role will be used for the first channel created after registration." +#: ../../include/features.php:183 +msgid "Ability to reply on selected comment" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:289 -msgid "File upload" +#: ../../include/features.php:196 +msgid "Advanced Directory Search" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:290 -msgid "Policies" +#: ../../include/features.php:197 +msgid "Allows creation of complex directory search queries" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:297 -msgid "Banner/Logo" +#: ../../include/features.php:206 +msgid "Editor" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:297 -msgid "Unfiltered HTML/CSS/JS is allowed" +#: ../../include/features.php:210 +msgid "Post Categories" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:298 -msgid "Administrator Information" +#: ../../include/features.php:211 +msgid "Add categories to your posts" +msgstr "" + +#: ../../include/features.php:219 +msgid "Large Photos" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:298 +#: ../../include/features.php:220 msgid "" -"Contact information for site administrators. Displayed on siteinfo page. " -"BBCode can be used here" +"Include large (1024px) photo thumbnails in posts. If not enabled, use small " +"(640px) photo thumbnails" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:299 ../../Zotlabs/Module/Siteinfo.php:24 -msgid "Site Information" +#: ../../include/features.php:227 +msgid "Even More Encryption" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:299 +#: ../../include/features.php:228 msgid "" -"Publicly visible description of this site. Displayed on siteinfo page. " -"BBCode can be used here" +"Allow optional encryption of content end-to-end with a shared secret key" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:300 -msgid "System language" +#: ../../include/features.php:235 +msgid "Disable Comments" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:301 -msgid "System theme" +#: ../../include/features.php:236 +msgid "Provide the option to disable comments for a post" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:301 -msgid "" -"Default system theme - may be over-ridden by user profiles - <a href='#' " -"id='cnftheme'>change theme settings</a>" +#: ../../include/features.php:243 +msgid "Delayed Posting" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:304 -msgid "Allow Feeds as Connections" +#: ../../include/features.php:244 +msgid "Allow posts to be published at a later date" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:304 -msgid "(Heavy system resource usage)" +#: ../../include/features.php:251 +msgid "Content Expiration" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:305 -msgid "Maximum image size" +#: ../../include/features.php:252 +msgid "Remove posts/comments and/or private messages at a future time" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:305 -msgid "" -"Maximum size in bytes of uploaded images. Default is 0, which means no " -"limits." +#: ../../include/features.php:259 +msgid "Suppress Duplicate Posts/Comments" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:306 -msgid "Does this site allow new member registration?" +#: ../../include/features.php:260 +msgid "" +"Prevent posts with identical content to be published with less than two " +"minutes in between submissions." msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:307 -msgid "Invitation only" +#: ../../include/features.php:267 +msgid "Auto-save drafts of posts and comments" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:307 +#: ../../include/features.php:268 msgid "" -"Only allow new member registrations with an invitation code. Above register " -"policy must be set to Yes." +"Automatically saves post and comment drafts in local browser storage to help " +"prevent accidental loss of compositions" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:308 -msgid "Minimum age" +#: ../../include/features.php:277 +msgid "Manage" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:308 -msgid "Minimum age (in years) for who may register on this site." +#: ../../include/features.php:281 +msgid "Navigation Channel Select" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:309 -msgid "Which best describes the types of account offered by this hub?" +#: ../../include/features.php:282 +msgid "Change channels directly from within the navigation dropdown menu" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:309 -msgid "This is displayed on the public server site list." +#: ../../include/features.php:295 +msgid "Events Filter" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:310 -msgid "Register text" +#: ../../include/features.php:296 +msgid "Ability to display only events" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:310 -msgid "Will be displayed prominently on the registration page." +#: ../../include/features.php:303 +msgid "Polls Filter" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:312 -msgid "Site homepage to show visitors (default: login box)" +#: ../../include/features.php:304 +msgid "Ability to display only polls" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:312 -msgid "" -"example: 'pubstream' to show public stream, 'page/sys/home' to show a system " -"webpage called 'home' or 'include:home.html' to include a file." +#: ../../include/features.php:312 +msgid "Save search terms for re-use" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:313 -msgid "Preserve site homepage URL" +#: ../../include/features.php:320 +msgid "Ability to file posts under folders" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:313 +#: ../../include/features.php:327 +msgid "Alternate Stream Order" +msgstr "" + +#: ../../include/features.php:328 msgid "" -"Present the site homepage in a frame at the original location instead of " -"redirecting" +"Ability to order the stream by last post date, last comment date or " +"unthreaded activities" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:314 -msgid "Accounts abandoned after x days" +#: ../../include/features.php:335 +msgid "Contact Filter" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:314 -msgid "" -"Will not waste system resources polling external sites for abandonded " -"accounts. Enter 0 for no time limit." +#: ../../include/features.php:336 +msgid "Ability to display only posts of a selected contact" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:315 -msgid "Allowed friend domains" +#: ../../include/features.php:343 +msgid "Forum Filter" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:315 -msgid "" -"Comma separated list of domains which are allowed to establish friendships " -"with this site. Wildcards are accepted. Empty to allow any domains" +#: ../../include/features.php:344 +msgid "Ability to display only posts of a specific forum" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:316 -msgid "Verify Email Addresses" +#: ../../include/features.php:351 +msgid "Personal Posts Filter" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:316 -msgid "" -"Check to verify email addresses used in account registration (recommended)." +#: ../../include/features.php:352 +msgid "Ability to display only posts that you've interacted on" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:317 -msgid "Force publish" +#: ../../include/features.php:373 +msgid "Photo Location" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:317 -msgid "" -"Check to force all profiles on this site to be listed in the site directory." +#: ../../include/features.php:374 +msgid "If location data is available on uploaded photos, link this to a map." msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:318 -msgid "Import Public Streams" +#: ../../include/features.php:387 +msgid "Advanced Profiles" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:318 -msgid "" -"Import and allow access to public content pulled from other sites. Warning: " -"this content is unmoderated." +#: ../../include/features.php:388 +msgid "Additional profile sections and selections" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:319 -msgid "Site only Public Streams" +#: ../../include/features.php:395 +msgid "Profile Import/Export" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:319 -msgid "" -"Allow access to public content originating only from this site if Imported " -"Public Streams are disabled." +#: ../../include/features.php:396 +msgid "Save and load profile details across sites/channels" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:320 -msgid "Allow anybody on the internet to access the Public streams" +#: ../../include/features.php:403 +msgid "Multiple Profiles" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:320 -msgid "" -"Disable to require authentication before viewing. Warning: this content is " -"unmoderated." +#: ../../include/features.php:404 +msgid "Ability to create multiple profiles" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:321 -msgid "Only import Public stream posts with this text" +#: ../../include/auth.php:194 +msgid "Delegation session ended." msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:321 -#: ../../Zotlabs/Module/Admin/Site.php:322 -#: ../../Zotlabs/Module/Connedit.php:895 ../../Zotlabs/Module/Connedit.php:896 -msgid "" -"words one per line or #tags or /patterns/ or lang=xx, leave blank to import " -"all posts" +#: ../../include/auth.php:198 +msgid "Logged out." msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:322 -msgid "Do not import Public stream posts with this text" +#: ../../include/auth.php:294 +msgid "Email validation is incomplete. Please check your email." msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:325 -msgid "Login on Homepage" +#: ../../include/auth.php:310 +msgid "Failed authentication" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:325 -msgid "" -"Present a login box to visitors on the home page if no other content has " -"been configured." +#: ../../include/auth.php:320 +#: ../../extend/addon/hzaddons/openid/Mod_Openid.php:188 +msgid "Login failed." msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:326 -msgid "Enable context help" +#: ../../include/text.php:522 +msgid "prev" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:326 -msgid "" -"Display contextual help for the current page when the help button is pressed." +#: ../../include/text.php:524 +msgid "first" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:328 -msgid "Reply-to email address for system generated email." +#: ../../include/text.php:553 +msgid "last" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:329 -msgid "Sender (From) email address for system generated email." +#: ../../include/text.php:556 +msgid "next" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:330 -msgid "Name of email sender for system generated email." +#: ../../include/text.php:574 +msgid "older" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:332 -msgid "Directory Server URL" +#: ../../include/text.php:576 +msgid "newer" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:332 -msgid "Default directory server" +#: ../../include/text.php:1024 +msgid "No connections" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:334 -msgid "Proxy user" +#: ../../include/text.php:1076 +#, php-format +msgid "View all %s connections" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:335 -msgid "Proxy URL" +#: ../../include/text.php:1139 +#, php-format +msgid "Network: %s" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:336 -msgid "Network timeout" +#: ../../include/text.php:1242 ../../include/text.php:1246 +msgid "poke" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:336 -msgid "Value is in seconds. Set to 0 for unlimited (not recommended)." +#: ../../include/text.php:1247 +msgid "ping" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:337 -msgid "Delivery interval" +#: ../../include/text.php:1247 +msgid "pinged" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:337 -msgid "" -"Delay background delivery processes by this many seconds to reduce system " -"load. Recommend: 4-5 for shared hosts, 2-3 for virtual private servers. 0-1 " -"for large dedicated servers." +#: ../../include/text.php:1248 +msgid "prod" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:338 -msgid "Deliveries per process" +#: ../../include/text.php:1248 +msgid "prodded" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:338 -msgid "" -"Number of deliveries to attempt in a single operating system process. Adjust " -"if necessary to tune system performance. Recommend: 1-5." +#: ../../include/text.php:1249 +msgid "slap" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:339 -msgid "Queue Threshold" +#: ../../include/text.php:1249 +msgid "slapped" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:339 -msgid "" -"Always defer immediate delivery if queue contains more than this number of " -"entries." +#: ../../include/text.php:1250 +msgid "finger" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:340 -msgid "Poll interval" +#: ../../include/text.php:1250 +msgid "fingered" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:340 -msgid "" -"Delay background polling processes by this many seconds to reduce system " -"load. If 0, use delivery interval." +#: ../../include/text.php:1251 +msgid "rebuff" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:341 -msgid "Path to ImageMagick convert program" +#: ../../include/text.php:1251 +msgid "rebuffed" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:341 -msgid "" -"If set, use this program to generate photo thumbnails for huge images ( > " -"4000 pixels in either dimension), otherwise memory exhaustion may occur. " -"Example: /usr/bin/convert" +#: ../../include/text.php:1274 +msgid "happy" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:342 -msgid "Maximum Load Average" +#: ../../include/text.php:1275 +msgid "sad" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:342 -msgid "" -"Maximum system load before delivery and poll processes are deferred - " -"default 50." +#: ../../include/text.php:1276 +msgid "mellow" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:343 -msgid "Expiration period in days for imported (grid/network) content" +#: ../../include/text.php:1277 +msgid "tired" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:343 -msgid "0 for no expiration of imported content" +#: ../../include/text.php:1278 +msgid "perky" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:344 -msgid "" -"Do not expire any posts which have comments less than this many days ago" +#: ../../include/text.php:1279 +msgid "angry" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:346 -msgid "" -"Public servers: Optional landing (marketing) webpage for new registrants" +#: ../../include/text.php:1280 +msgid "stupefied" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:346 -#, php-format -msgid "Create this page first. Default is %s/register" +#: ../../include/text.php:1281 +msgid "puzzled" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:347 -msgid "Page to display after creating a new channel" +#: ../../include/text.php:1282 +msgid "interested" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:347 -msgid "Default: profiles" +#: ../../include/text.php:1283 +msgid "bitter" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:349 -msgid "Optional: site location" +#: ../../include/text.php:1284 +msgid "cheerful" msgstr "" -#: ../../Zotlabs/Module/Admin/Site.php:349 -msgid "Region or country" +#: ../../include/text.php:1285 +msgid "alive" msgstr "" -#: ../../Zotlabs/Module/Admin/Logs.php:28 -msgid "Log settings updated." +#: ../../include/text.php:1286 +msgid "annoyed" msgstr "" -#: ../../Zotlabs/Module/Admin/Logs.php:85 -msgid "Clear" +#: ../../include/text.php:1287 +msgid "anxious" msgstr "" -#: ../../Zotlabs/Module/Admin/Logs.php:91 -msgid "Debugging" +#: ../../include/text.php:1288 +msgid "cranky" msgstr "" -#: ../../Zotlabs/Module/Admin/Logs.php:92 -msgid "Log file" +#: ../../include/text.php:1289 +msgid "disturbed" msgstr "" -#: ../../Zotlabs/Module/Admin/Logs.php:92 -msgid "" -"Must be writable by web server. Relative to your top-level webserver " -"directory." +#: ../../include/text.php:1290 +msgid "frustrated" msgstr "" -#: ../../Zotlabs/Module/Admin/Logs.php:93 -msgid "Log level" +#: ../../include/text.php:1291 +msgid "depressed" msgstr "" -#: ../../Zotlabs/Module/Admin/Channels.php:31 -#, php-format -msgid "%s channel censored/uncensored" -msgid_plural "%s channels censored/uncensored" -msgstr[0] "" -msgstr[1] "" +#: ../../include/text.php:1292 +msgid "motivated" +msgstr "" -#: ../../Zotlabs/Module/Admin/Channels.php:40 -#, php-format -msgid "%s channel code allowed/disallowed" -msgid_plural "%s channels code allowed/disallowed" -msgstr[0] "" -msgstr[1] "" +#: ../../include/text.php:1293 +msgid "relaxed" +msgstr "" -#: ../../Zotlabs/Module/Admin/Channels.php:46 -#, php-format -msgid "%s channel deleted" -msgid_plural "%s channels deleted" -msgstr[0] "" -msgstr[1] "" +#: ../../include/text.php:1294 +msgid "surprised" +msgstr "" -#: ../../Zotlabs/Module/Admin/Channels.php:65 -msgid "Channel not found" +#: ../../include/text.php:1482 ../../include/js_strings.php:99 +msgid "Monday" msgstr "" -#: ../../Zotlabs/Module/Admin/Channels.php:75 -#, php-format -msgid "Channel '%s' deleted" +#: ../../include/text.php:1482 ../../include/js_strings.php:100 +msgid "Tuesday" msgstr "" -#: ../../Zotlabs/Module/Admin/Channels.php:87 -#, php-format -msgid "Channel '%s' censored" +#: ../../include/text.php:1482 ../../include/js_strings.php:101 +msgid "Wednesday" msgstr "" -#: ../../Zotlabs/Module/Admin/Channels.php:87 -#, php-format -msgid "Channel '%s' uncensored" +#: ../../include/text.php:1482 ../../include/js_strings.php:102 +msgid "Thursday" msgstr "" -#: ../../Zotlabs/Module/Admin/Channels.php:98 -#, php-format -msgid "Channel '%s' code allowed" +#: ../../include/text.php:1482 ../../include/js_strings.php:103 +msgid "Friday" msgstr "" -#: ../../Zotlabs/Module/Admin/Channels.php:98 -#, php-format -msgid "Channel '%s' code disallowed" +#: ../../include/text.php:1482 ../../include/js_strings.php:104 +msgid "Saturday" msgstr "" -#: ../../Zotlabs/Module/Admin/Channels.php:150 -#: ../../Zotlabs/Module/Directory.php:360 -msgid "Censor" +#: ../../include/text.php:1482 ../../include/js_strings.php:98 +msgid "Sunday" msgstr "" -#: ../../Zotlabs/Module/Admin/Channels.php:151 -#: ../../Zotlabs/Module/Directory.php:360 -msgid "Uncensor" +#: ../../include/text.php:1486 ../../include/js_strings.php:74 +msgid "January" msgstr "" -#: ../../Zotlabs/Module/Admin/Channels.php:152 -msgid "Allow Code" +#: ../../include/text.php:1486 ../../include/js_strings.php:75 +msgid "February" msgstr "" -#: ../../Zotlabs/Module/Admin/Channels.php:153 -msgid "Disallow Code" +#: ../../include/text.php:1486 ../../include/js_strings.php:76 +msgid "March" msgstr "" -#: ../../Zotlabs/Module/Admin/Channels.php:158 -msgid "UID" +#: ../../include/text.php:1486 ../../include/js_strings.php:77 +msgid "April" msgstr "" -#: ../../Zotlabs/Module/Admin/Channels.php:162 -msgid "" -"Selected channels will be deleted!\\n\\nEverything that was posted in these " -"channels on this site will be permanently deleted!\\n\\nAre you sure?" +#: ../../include/text.php:1486 +msgid "May" msgstr "" -#: ../../Zotlabs/Module/Admin/Channels.php:163 -msgid "" -"The channel {0} will be deleted!\\n\\nEverything that was posted in this " -"channel on this site will be permanently deleted!\\n\\nAre you sure?" +#: ../../include/text.php:1486 ../../include/js_strings.php:79 +msgid "June" msgstr "" -#: ../../Zotlabs/Module/Admin/Account_edit.php:29 -#, php-format -msgid "Password changed for account %d." +#: ../../include/text.php:1486 ../../include/js_strings.php:80 +msgid "July" msgstr "" -#: ../../Zotlabs/Module/Admin/Account_edit.php:46 -msgid "Account settings updated." +#: ../../include/text.php:1486 ../../include/js_strings.php:81 +msgid "August" msgstr "" -#: ../../Zotlabs/Module/Admin/Account_edit.php:61 -msgid "Account not found." +#: ../../include/text.php:1486 ../../include/js_strings.php:82 +msgid "September" msgstr "" -#: ../../Zotlabs/Module/Admin/Account_edit.php:68 -msgid "Account Edit" +#: ../../include/text.php:1486 ../../include/js_strings.php:83 +msgid "October" msgstr "" -#: ../../Zotlabs/Module/Admin/Account_edit.php:69 -msgid "New Password" +#: ../../include/text.php:1486 ../../include/js_strings.php:84 +msgid "November" msgstr "" -#: ../../Zotlabs/Module/Admin/Account_edit.php:70 -msgid "New Password again" +#: ../../include/text.php:1486 ../../include/js_strings.php:85 +msgid "December" msgstr "" -#: ../../Zotlabs/Module/Admin/Account_edit.php:71 -msgid "Account language (for emails)" +#: ../../include/text.php:1560 +msgid "Unknown Attachment" msgstr "" -#: ../../Zotlabs/Module/Admin/Account_edit.php:72 -msgid "Service class" +#: ../../include/text.php:1562 ../../include/feedutils.php:873 +msgid "unknown" msgstr "" -#: ../../Zotlabs/Module/Admin/Profs.php:89 -msgid "New Profile Field" +#: ../../include/text.php:1598 +msgid "remove category" msgstr "" -#: ../../Zotlabs/Module/Admin/Profs.php:90 -#: ../../Zotlabs/Module/Admin/Profs.php:110 -msgid "Field nickname" +#: ../../include/text.php:1674 +msgid "remove from file" msgstr "" -#: ../../Zotlabs/Module/Admin/Profs.php:90 -#: ../../Zotlabs/Module/Admin/Profs.php:110 -msgid "System name of field" +#: ../../include/text.php:1843 ../../include/message.php:13 +msgid "Download binary/encrypted content" msgstr "" -#: ../../Zotlabs/Module/Admin/Profs.php:91 -#: ../../Zotlabs/Module/Admin/Profs.php:111 -msgid "Input type" +#: ../../include/text.php:1914 +msgid "Poll has ended." msgstr "" -#: ../../Zotlabs/Module/Admin/Profs.php:92 -#: ../../Zotlabs/Module/Admin/Profs.php:112 -msgid "Field Name" +#: ../../include/text.php:1917 +#, php-format +msgid "Poll ends: %s" msgstr "" -#: ../../Zotlabs/Module/Admin/Profs.php:92 -#: ../../Zotlabs/Module/Admin/Profs.php:112 -msgid "Label on profile pages" +#: ../../include/text.php:2096 ../../include/language.php:424 +msgid "default" msgstr "" -#: ../../Zotlabs/Module/Admin/Profs.php:93 -#: ../../Zotlabs/Module/Admin/Profs.php:113 -msgid "Help text" +#: ../../include/text.php:2104 +msgid "Page layout" msgstr "" -#: ../../Zotlabs/Module/Admin/Profs.php:93 -#: ../../Zotlabs/Module/Admin/Profs.php:113 -msgid "Additional info (optional)" +#: ../../include/text.php:2104 +msgid "You can create your own with the layouts tool" msgstr "" -#: ../../Zotlabs/Module/Admin/Profs.php:103 -msgid "Field definition not found" +#: ../../include/text.php:2115 +msgid "HTML" msgstr "" -#: ../../Zotlabs/Module/Admin/Profs.php:109 -msgid "Edit Profile Field" +#: ../../include/text.php:2118 +msgid "Comanche Layout" msgstr "" -#: ../../Zotlabs/Module/Admin/Profs.php:169 -msgid "Basic Profile Fields" +#: ../../include/text.php:2123 +msgid "PHP" msgstr "" -#: ../../Zotlabs/Module/Admin/Profs.php:170 -msgid "Advanced Profile Fields" +#: ../../include/text.php:2132 +msgid "Page content type" msgstr "" -#: ../../Zotlabs/Module/Admin/Profs.php:170 -msgid "(In addition to basic fields)" +#: ../../include/text.php:2265 +msgid "activity" msgstr "" -#: ../../Zotlabs/Module/Admin/Profs.php:172 -msgid "All available fields" +#: ../../include/text.php:2268 +msgid "poll" msgstr "" -#: ../../Zotlabs/Module/Admin/Profs.php:173 -msgid "Custom Fields" +#: ../../include/text.php:2369 +msgid "a-z, 0-9, -, and _ only" msgstr "" -#: ../../Zotlabs/Module/Admin/Profs.php:177 -msgid "Create Custom Field" +#: ../../include/text.php:2695 +msgid "Design Tools" msgstr "" -#: ../../Zotlabs/Module/Admin/Dbsync.php:19 -#: ../../Zotlabs/Module/Admin/Dbsync.php:59 -msgid "Update has been marked successful" +#: ../../include/text.php:2701 +msgid "Pages" msgstr "" -#: ../../Zotlabs/Module/Admin/Dbsync.php:32 -#, php-format -msgid "Verification of update %s failed. Check system logs." +#: ../../include/text.php:2713 +msgid "Import" msgstr "" -#: ../../Zotlabs/Module/Admin/Dbsync.php:35 -#: ../../Zotlabs/Module/Admin/Dbsync.php:74 -#, php-format -msgid "Update %s was successfully applied." +#: ../../include/text.php:2714 +msgid "Import website..." msgstr "" -#: ../../Zotlabs/Module/Admin/Dbsync.php:39 -#, php-format -msgid "Verifying update %s did not return a status. Unknown if it succeeded." +#: ../../include/text.php:2715 +msgid "Select folder to import" msgstr "" -#: ../../Zotlabs/Module/Admin/Dbsync.php:42 -#, php-format -msgid "Update %s does not contain a verification function." +#: ../../include/text.php:2716 +msgid "Import from a zipped folder:" msgstr "" -#: ../../Zotlabs/Module/Admin/Dbsync.php:46 -#: ../../Zotlabs/Module/Admin/Dbsync.php:81 -#, php-format -msgid "Update function %s could not be found." +#: ../../include/text.php:2717 +msgid "Import from cloud files:" msgstr "" -#: ../../Zotlabs/Module/Admin/Dbsync.php:71 -#, php-format -msgid "Executing update procedure %s failed. Check system logs." +#: ../../include/text.php:2718 +msgid "/cloud/channel/path/to/folder" msgstr "" -#: ../../Zotlabs/Module/Admin/Dbsync.php:78 -#, php-format -msgid "" -"Update %s did not return a status. It cannot be determined if it was " -"successful." +#: ../../include/text.php:2719 +msgid "Enter path to website files" msgstr "" -#: ../../Zotlabs/Module/Admin/Dbsync.php:99 -msgid "Failed Updates" +#: ../../include/text.php:2720 +msgid "Select folder" msgstr "" -#: ../../Zotlabs/Module/Admin/Dbsync.php:101 -msgid "Mark success (if update was manually applied)" +#: ../../include/text.php:2721 +msgid "Export website..." msgstr "" -#: ../../Zotlabs/Module/Admin/Dbsync.php:102 -msgid "Attempt to verify this update if a verification procedure exists" +#: ../../include/text.php:2722 +msgid "Export to a zip file" msgstr "" -#: ../../Zotlabs/Module/Admin/Dbsync.php:103 -msgid "Attempt to execute this update step automatically" +#: ../../include/text.php:2723 +msgid "website.zip" msgstr "" -#: ../../Zotlabs/Module/Admin/Dbsync.php:108 -msgid "No failed updates." +#: ../../include/text.php:2724 +msgid "Enter a name for the zip file." msgstr "" -#: ../../Zotlabs/Module/Admin/Addons.php:290 -#, php-format -msgid "Plugin %s disabled." +#: ../../include/text.php:2725 +msgid "Export to cloud files" msgstr "" -#: ../../Zotlabs/Module/Admin/Addons.php:295 -#, php-format -msgid "Plugin %s enabled." +#: ../../include/text.php:2726 +msgid "/path/to/export/folder" msgstr "" -#: ../../Zotlabs/Module/Admin/Addons.php:354 -msgid "Minimum project version: " +#: ../../include/text.php:2727 +msgid "Enter a path to a cloud files destination." msgstr "" -#: ../../Zotlabs/Module/Admin/Addons.php:355 -msgid "Maximum project version: " +#: ../../include/text.php:2728 +msgid "Specify folder" msgstr "" -#: ../../Zotlabs/Module/Admin/Addons.php:356 -msgid "Minimum PHP version: " +#: ../../include/message.php:41 +msgid "Unable to determine sender." msgstr "" -#: ../../Zotlabs/Module/Admin/Addons.php:357 -msgid "Compatible Server Roles: " +#: ../../include/message.php:80 +msgid "No recipient provided." msgstr "" -#: ../../Zotlabs/Module/Admin/Addons.php:358 -msgid "Requires: " +#: ../../include/message.php:85 +msgid "[no subject]" msgstr "" -#: ../../Zotlabs/Module/Admin/Addons.php:359 -#: ../../Zotlabs/Module/Admin/Addons.php:446 -msgid "Disabled - version incompatibility" +#: ../../include/message.php:214 +msgid "Stored post could not be verified." msgstr "" -#: ../../Zotlabs/Module/Admin/Addons.php:415 -msgid "Enter the public git repository URL of the addon repo." +#: ../../include/markdown.php:202 ../../include/bbcode.php:527 +#, php-format +msgid "%1$s wrote the following %2$s %3$s" msgstr "" -#: ../../Zotlabs/Module/Admin/Addons.php:416 -msgid "Addon repo git URL" +#: ../../include/markdown.php:251 ../../include/bbcode.php:612 +msgid "spoiler" msgstr "" -#: ../../Zotlabs/Module/Admin/Addons.php:417 -msgid "Custom repo name" +#: ../../include/acl_selectors.php:99 +msgid "Profile-Based Privacy Groups" msgstr "" -#: ../../Zotlabs/Module/Admin/Addons.php:417 -msgid "(optional)" +#: ../../include/acl_selectors.php:118 +msgid "Private Forum" msgstr "" -#: ../../Zotlabs/Module/Admin/Addons.php:418 -msgid "Download Addon Repo" +#: ../../include/acl_selectors.php:142 +msgid "Share with" msgstr "" -#: ../../Zotlabs/Module/Admin/Addons.php:425 -msgid "Install new repo" +#: ../../include/acl_selectors.php:143 +msgid "Custom selection" msgstr "" -#: ../../Zotlabs/Module/Admin/Addons.php:426 ../../Zotlabs/Lib/Apps.php:536 -msgid "Install" +#: ../../include/acl_selectors.php:145 +msgid "" +"Select \"Allow\" to allow viewing. \"Don't allow\" lets you override and " +"limit the scope of \"Allow\"." msgstr "" -#: ../../Zotlabs/Module/Admin/Addons.php:449 -msgid "Manage Repos" +#: ../../include/acl_selectors.php:147 +msgid "Don't allow" msgstr "" -#: ../../Zotlabs/Module/Admin/Addons.php:450 -msgid "Installed Addon Repositories" +#: ../../include/acl_selectors.php:180 +#, php-format +msgid "" +"Post permissions %s cannot be changed %s after a post is shared.</br />These " +"permissions set who is allowed to view the post." msgstr "" -#: ../../Zotlabs/Module/Admin/Addons.php:451 -msgid "Install a New Addon Repository" +#: ../../include/opengraph.php:56 +#, php-format +msgid "This is the home page of %s." msgstr "" -#: ../../Zotlabs/Module/Admin/Addons.php:458 -msgid "Switch branch" +#: ../../include/taxonomy.php:323 +msgid "Trending" msgstr "" -#: ../../Zotlabs/Module/Apps.php:50 -msgid "Installed Apps" +#: ../../include/taxonomy.php:559 +msgid "Keywords" msgstr "" -#: ../../Zotlabs/Module/Apps.php:53 -msgid "Manage Apps" +#: ../../include/taxonomy.php:580 +msgid "have" msgstr "" -#: ../../Zotlabs/Module/Apps.php:54 -msgid "Create Custom App" +#: ../../include/taxonomy.php:580 +msgid "has" msgstr "" -#: ../../Zotlabs/Module/Achievements.php:38 -msgid "Some blurb about what to do when you're new here" +#: ../../include/taxonomy.php:581 +msgid "want" msgstr "" -#: ../../Zotlabs/Module/Removeme.php:35 -msgid "" -"Channel removals are not allowed within 48 hours of changing the account " -"password." +#: ../../include/taxonomy.php:581 +msgid "wants" msgstr "" -#: ../../Zotlabs/Module/Removeme.php:60 -msgid "Remove This Channel" +#: ../../include/taxonomy.php:582 +msgid "likes" msgstr "" -#: ../../Zotlabs/Module/Removeme.php:61 -#: ../../Zotlabs/Module/Removeaccount.php:58 -#: ../../Zotlabs/Module/Changeaddr.php:78 -msgid "WARNING: " +#: ../../include/taxonomy.php:583 +msgid "dislikes" msgstr "" -#: ../../Zotlabs/Module/Removeme.php:61 -msgid "This channel will be completely removed from the network. " +#: ../../include/import.php:29 +msgid "Unable to import a removed channel." msgstr "" -#: ../../Zotlabs/Module/Removeme.php:61 -#: ../../Zotlabs/Module/Removeaccount.php:58 -msgid "This action is permanent and can not be undone!" +#: ../../include/import.php:55 +msgid "" +"Cannot create a duplicate channel identifier on this system. Import failed." msgstr "" -#: ../../Zotlabs/Module/Removeme.php:62 -#: ../../Zotlabs/Module/Removeaccount.php:59 -#: ../../Zotlabs/Module/Changeaddr.php:79 -msgid "Please enter your password for verification:" +#: ../../include/import.php:76 +#: ../../extend/addon/hzaddons/diaspora/import_diaspora.php:44 +msgid "Unable to create a unique channel address. Import failed." msgstr "" -#: ../../Zotlabs/Module/Removeme.php:64 -#: ../../Zotlabs/Module/Settings/Channel.php:596 -msgid "Remove Channel" +#: ../../include/import.php:121 +msgid "Cloned channel not found. Import failed." msgstr "" -#: ../../Zotlabs/Module/Events.php:468 -msgid "Edit event title" +#: ../../include/nav.php:92 +msgid "Remote authentication" msgstr "" -#: ../../Zotlabs/Module/Events.php:470 -msgid "Categories (comma-separated list)" +#: ../../include/nav.php:92 +msgid "Click to authenticate to your home hub" msgstr "" -#: ../../Zotlabs/Module/Events.php:471 -msgid "Edit Category" +#: ../../include/nav.php:98 +msgid "Manage your channels" msgstr "" -#: ../../Zotlabs/Module/Events.php:471 -msgid "Category" +#: ../../include/nav.php:101 +msgid "Manage your privacy groups" msgstr "" -#: ../../Zotlabs/Module/Events.php:474 -msgid "Edit start date and time" +#: ../../include/nav.php:103 +msgid "Account/Channel Settings" msgstr "" -#: ../../Zotlabs/Module/Events.php:475 ../../Zotlabs/Module/Events.php:478 -msgid "Finish date and time are not known or not relevant" +#: ../../include/nav.php:109 ../../include/nav.php:138 +#: ../../include/nav.php:157 ../../boot.php:1704 +msgid "Logout" msgstr "" -#: ../../Zotlabs/Module/Events.php:477 -msgid "Edit finish date and time" +#: ../../include/nav.php:109 ../../include/nav.php:138 +msgid "End this session" msgstr "" -#: ../../Zotlabs/Module/Events.php:477 -msgid "Finish date and time" +#: ../../include/nav.php:112 +msgid "Your profile page" msgstr "" -#: ../../Zotlabs/Module/Events.php:479 ../../Zotlabs/Module/Events.php:480 -msgid "Adjust for viewer timezone" +#: ../../include/nav.php:115 +msgid "Manage/Edit profiles" msgstr "" -#: ../../Zotlabs/Module/Events.php:479 -msgid "" -"Important for events that happen in a particular place. Not practical for " -"global holidays." +#: ../../include/nav.php:124 ../../include/nav.php:128 +msgid "Sign in" msgstr "" -#: ../../Zotlabs/Module/Events.php:481 -msgid "Edit Description" +#: ../../include/nav.php:155 +msgid "Take me home" msgstr "" -#: ../../Zotlabs/Module/Events.php:483 -msgid "Edit Location" +#: ../../include/nav.php:157 +msgid "Log me out of this site" msgstr "" -#: ../../Zotlabs/Module/Events.php:502 -msgid "Advanced Options" +#: ../../include/nav.php:162 +msgid "Create an account" msgstr "" -#: ../../Zotlabs/Module/Events.php:613 -msgid "l, F j" +#: ../../include/nav.php:174 +msgid "Help and documentation" msgstr "" -#: ../../Zotlabs/Module/Events.php:696 -msgid "Edit Event" +#: ../../include/nav.php:188 +msgid "Search site @name, !forum, #tag, ?docs, content" msgstr "" -#: ../../Zotlabs/Module/Events.php:696 -msgid "Create Event" +#: ../../include/nav.php:194 +msgid "Site Setup and Configuration" msgstr "" -#: ../../Zotlabs/Module/Events.php:739 -msgid "Event removed" +#: ../../include/nav.php:330 +msgid "@name, !forum, #tag, ?doc, content" msgstr "" -#: ../../Zotlabs/Module/Manage.php:138 ../../Zotlabs/Module/New_channel.php:147 -#, php-format -msgid "You have created %1$.0f of %2$.0f allowed channels." +#: ../../include/nav.php:331 +msgid "Please wait..." msgstr "" -#: ../../Zotlabs/Module/Manage.php:145 -msgid "Create a new channel" +#: ../../include/nav.php:337 +msgid "Add Apps" msgstr "" -#: ../../Zotlabs/Module/Manage.php:171 -msgid "Current Channel" +#: ../../include/nav.php:338 +msgid "Arrange Apps" msgstr "" -#: ../../Zotlabs/Module/Manage.php:173 -msgid "Switch to one of your channels by selecting it." +#: ../../include/nav.php:339 +msgid "Toggle System Apps" msgstr "" -#: ../../Zotlabs/Module/Manage.php:174 -msgid "Default Channel" +#: ../../include/nav.php:424 +msgid "Status Messages and Posts" msgstr "" -#: ../../Zotlabs/Module/Manage.php:175 -msgid "Make Default" +#: ../../include/nav.php:437 +msgid "Profile Details" msgstr "" -#: ../../Zotlabs/Module/Manage.php:178 -#, php-format -msgid "%d new messages" +#: ../../include/nav.php:447 ../../include/photos.php:666 +msgid "Photo Albums" msgstr "" -#: ../../Zotlabs/Module/Manage.php:179 -#, php-format -msgid "%d new introductions" +#: ../../include/nav.php:455 +msgid "Files and Storage" msgstr "" -#: ../../Zotlabs/Module/Manage.php:181 -msgid "Delegated Channel" +#: ../../include/nav.php:493 +msgid "Saved Bookmarks" msgstr "" -#: ../../Zotlabs/Module/Chanview.php:132 -msgid "toggle full screen mode" +#: ../../include/nav.php:504 +msgid "View Cards" msgstr "" -#: ../../Zotlabs/Module/Pubstream.php:20 -msgid "Public Stream App" +#: ../../include/nav.php:515 +msgid "View Articles" msgstr "" -#: ../../Zotlabs/Module/Pubstream.php:21 -msgid "The unmoderated public stream of this hub" +#: ../../include/nav.php:527 +msgid "View Webpages" msgstr "" -#: ../../Zotlabs/Module/Chatsvc.php:131 -msgid "Away" +#: ../../include/language.php:437 +msgid "Select an alternate language" msgstr "" -#: ../../Zotlabs/Module/Chatsvc.php:136 -msgid "Online" +#: ../../include/zid.php:360 +#, php-format +msgid "OpenWebAuth: %1$s welcomes %2$s" msgstr "" -#: ../../Zotlabs/Module/Permcats.php:29 -msgid "Permission category name is required." +#: ../../include/bookmarks.php:34 +#, php-format +msgid "%1$s's bookmarks" msgstr "" -#: ../../Zotlabs/Module/Permcats.php:48 -msgid "Permission category saved." +#: ../../include/activities.php:42 +msgid " and " msgstr "" -#: ../../Zotlabs/Module/Permcats.php:63 -msgid "Permission Categories App" +#: ../../include/activities.php:50 +msgid "public profile" msgstr "" -#: ../../Zotlabs/Module/Permcats.php:64 -msgid "Create custom connection permission limits" +#: ../../include/activities.php:59 +#, php-format +msgid "%1$s changed %2$s to “%3$s”" msgstr "" -#: ../../Zotlabs/Module/Permcats.php:80 -msgid "" -"Use this form to create permission rules for various classes of people or " -"connections." +#: ../../include/activities.php:60 +#, php-format +msgid "Visit %1$s's %2$s" msgstr "" -#: ../../Zotlabs/Module/Permcats.php:113 ../../Zotlabs/Lib/Apps.php:374 -msgid "Permission Categories" +#: ../../include/activities.php:63 +#, php-format +msgid "%1$s has an updated %2$s, changing %3$s." msgstr "" -#: ../../Zotlabs/Module/Permcats.php:121 -msgid "Permission category name" +#: ../../include/cdav.php:157 +msgid "INVALID EVENT DISMISSED!" msgstr "" -#: ../../Zotlabs/Module/Email_resend.php:12 -#: ../../Zotlabs/Module/Email_validation.php:24 -msgid "Token verification failed." +#: ../../include/cdav.php:158 +msgid "Summary: " msgstr "" -#: ../../Zotlabs/Module/Email_resend.php:30 -msgid "Email verification resent" +#: ../../include/cdav.php:159 +msgid "Date: " msgstr "" -#: ../../Zotlabs/Module/Email_resend.php:33 -msgid "Unable to resend email verification message." +#: ../../include/cdav.php:160 ../../include/cdav.php:168 +msgid "Reason: " msgstr "" -#: ../../Zotlabs/Module/Ratings.php:70 -msgid "No ratings" +#: ../../include/cdav.php:166 +msgid "INVALID CARD DISMISSED!" msgstr "" -#: ../../Zotlabs/Module/Ratings.php:98 -msgid "Rating: " +#: ../../include/cdav.php:167 +msgid "Name: " msgstr "" -#: ../../Zotlabs/Module/Ratings.php:99 -msgid "Website: " +#: ../../include/photos.php:151 +#, php-format +msgid "Image exceeds website size limit of %lu bytes" msgstr "" -#: ../../Zotlabs/Module/Ratings.php:101 -msgid "Description: " +#: ../../include/photos.php:162 +msgid "Image file is empty." msgstr "" -#: ../../Zotlabs/Module/Cal.php:64 -msgid "Permissions denied." +#: ../../include/photos.php:324 +msgid "Photo storage failed." msgstr "" -#: ../../Zotlabs/Module/Viewsrc.php:43 -msgid "item" +#: ../../include/photos.php:373 +msgid "a new photo" msgstr "" -#: ../../Zotlabs/Module/Apporder.php:47 -msgid "Change Order of Pinned Navbar Apps" +#: ../../include/photos.php:377 +#, php-format +msgctxt "photo_upload" +msgid "%1$s posted %2$s to %3$s" msgstr "" -#: ../../Zotlabs/Module/Apporder.php:47 -msgid "Change Order of App Tray Apps" +#: ../../include/photos.php:671 +msgid "Upload New Photos" msgstr "" -#: ../../Zotlabs/Module/Apporder.php:48 -msgid "" -"Use arrows to move the corresponding app left (top) or right (bottom) in the " -"navbar" +#: ../../include/js_strings.php:5 +msgid "Delete this item?" msgstr "" -#: ../../Zotlabs/Module/Apporder.php:48 -msgid "Use arrows to move the corresponding app up or down in the app tray" +#: ../../include/js_strings.php:8 +#, php-format +msgid "%s show less" msgstr "" -#: ../../Zotlabs/Module/Oexchange.php:27 -msgid "Unable to find your hub." +#: ../../include/js_strings.php:9 +#, php-format +msgid "%s expand" msgstr "" -#: ../../Zotlabs/Module/Oexchange.php:41 -msgid "Post successful." +#: ../../include/js_strings.php:10 +#, php-format +msgid "%s collapse" msgstr "" -#: ../../Zotlabs/Module/Moderate.php:67 -msgid "Comment approved" +#: ../../include/js_strings.php:11 +msgid "Password too short" msgstr "" -#: ../../Zotlabs/Module/Moderate.php:71 -msgid "Comment deleted" +#: ../../include/js_strings.php:12 +msgid "Passwords do not match" msgstr "" -#: ../../Zotlabs/Module/Removeaccount.php:35 -msgid "" -"Account removals are not allowed within 48 hours of changing the account " -"password." +#: ../../include/js_strings.php:13 +msgid "everybody" msgstr "" -#: ../../Zotlabs/Module/Removeaccount.php:57 -msgid "Remove This Account" +#: ../../include/js_strings.php:14 +msgid "Secret Passphrase" msgstr "" -#: ../../Zotlabs/Module/Removeaccount.php:58 -msgid "" -"This account and all its channels will be completely removed from the " -"network. " +#: ../../include/js_strings.php:15 +msgid "Passphrase hint" msgstr "" -#: ../../Zotlabs/Module/Removeaccount.php:61 -#: ../../Zotlabs/Module/Settings/Account.php:105 -msgid "Remove Account" +#: ../../include/js_strings.php:16 +msgid "Notice: Permissions have changed but have not yet been submitted." msgstr "" -#: ../../Zotlabs/Module/Lang.php:17 -msgid "Language App" +#: ../../include/js_strings.php:17 +msgid "close all" msgstr "" -#: ../../Zotlabs/Module/Lang.php:18 -msgid "Change UI language" +#: ../../include/js_strings.php:18 +msgid "Nothing new here" msgstr "" -#: ../../Zotlabs/Module/Uexport.php:61 -msgid "Channel Export App" +#: ../../include/js_strings.php:19 +msgid "Rate This Channel (this is public)" msgstr "" -#: ../../Zotlabs/Module/Uexport.php:62 -msgid "Export your channel" +#: ../../include/js_strings.php:21 +msgid "Describe (optional)" msgstr "" -#: ../../Zotlabs/Module/Uexport.php:72 ../../Zotlabs/Module/Uexport.php:73 -msgid "Export Channel" +#: ../../include/js_strings.php:23 +msgid "Please enter a link URL" msgstr "" -#: ../../Zotlabs/Module/Uexport.php:74 -msgid "" -"Export your basic channel information to a file. This acts as a backup of " -"your connections, permissions, profile and basic data, which can be used to " -"import your data to a new server hub, but does not contain your content." +#: ../../include/js_strings.php:24 +msgid "Unsaved changes. Are you sure you wish to leave this page?" msgstr "" -#: ../../Zotlabs/Module/Uexport.php:75 -msgid "Export Content" +#: ../../include/js_strings.php:26 +msgid "lovely" msgstr "" -#: ../../Zotlabs/Module/Uexport.php:76 -msgid "" -"Export your channel information and recent content to a JSON backup that can " -"be restored or imported to another server hub. This backs up all of your " -"connections, permissions, profile data and several months of posts. This " -"file may be VERY large. Please be patient - it may take several minutes for " -"this download to begin." +#: ../../include/js_strings.php:27 +msgid "wonderful" msgstr "" -#: ../../Zotlabs/Module/Uexport.php:78 -msgid "Export your posts from a given year." +#: ../../include/js_strings.php:28 +msgid "fantastic" msgstr "" -#: ../../Zotlabs/Module/Uexport.php:80 -msgid "" -"You may also export your posts and conversations for a particular year or " -"month. Adjust the date in your browser location bar to select other dates. " -"If the export fails (possibly due to memory exhaustion on your server hub), " -"please try again selecting a more limited date range." +#: ../../include/js_strings.php:29 +msgid "great" msgstr "" -#: ../../Zotlabs/Module/Uexport.php:81 -#, php-format +#: ../../include/js_strings.php:30 msgid "" -"To select all posts for a given year, such as this year, visit <a href=\"%1$s" -"\">%2$s</a>" +"Your chosen nickname was either already taken or not valid. Please use our " +"suggestion (" msgstr "" -#: ../../Zotlabs/Module/Uexport.php:82 -#, php-format -msgid "" -"To select all posts for a given month, such as January of this year, visit " -"<a href=\"%1$s\">%2$s</a>" +#: ../../include/js_strings.php:31 +msgid ") or enter a new one." msgstr "" -#: ../../Zotlabs/Module/Uexport.php:83 -#, php-format -msgid "" -"These content files may be imported or restored by visiting <a href=\"%1$s\">" -"%2$s</a> on any site containing your channel. For best results please import " -"or restore these in date order (oldest first)." +#: ../../include/js_strings.php:32 +msgid "Thank you, this nickname is valid." msgstr "" -#: ../../Zotlabs/Module/Display.php:394 -msgid "Article" +#: ../../include/js_strings.php:33 +msgid "A channel name is required." msgstr "" -#: ../../Zotlabs/Module/Display.php:439 -msgid "Item has been removed." +#: ../../include/js_strings.php:34 +msgid "This is a " msgstr "" -#: ../../Zotlabs/Module/Common.php:14 -msgid "No channel." +#: ../../include/js_strings.php:35 +msgid " channel name" msgstr "" -#: ../../Zotlabs/Module/Common.php:45 -msgid "No connections in common." +#: ../../include/js_strings.php:36 +msgid "Back to reply" msgstr "" -#: ../../Zotlabs/Module/Common.php:65 -msgid "View Common Connections" +#: ../../include/js_strings.php:37 +msgid "Pinned" msgstr "" -#: ../../Zotlabs/Module/Impel.php:185 +#: ../../include/js_strings.php:45 #, php-format -msgid "%s element installed" -msgstr "" +msgid "%d minutes" +msgid_plural "%d minutes" +msgstr[0] "" +msgstr[1] "" -#: ../../Zotlabs/Module/Impel.php:188 +#: ../../include/js_strings.php:46 #, php-format -msgid "%s element installation failed" -msgstr "" +msgid "about %d hours" +msgid_plural "about %d hours" +msgstr[0] "" +msgstr[1] "" -#: ../../Zotlabs/Module/New_channel.php:159 -msgid "Your real name is recommended." +#: ../../include/js_strings.php:47 +#, php-format +msgid "%d days" +msgid_plural "%d days" +msgstr[0] "" +msgstr[1] "" + +#: ../../include/js_strings.php:48 +#, php-format +msgid "%d months" +msgid_plural "%d months" +msgstr[0] "" +msgstr[1] "" + +#: ../../include/js_strings.php:49 +#, php-format +msgid "%d years" +msgid_plural "%d years" +msgstr[0] "" +msgstr[1] "" + +#: ../../include/js_strings.php:54 +msgid "timeago.prefixAgo" msgstr "" -#: ../../Zotlabs/Module/New_channel.php:160 -msgid "" -"Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"Aviation " -"Group\"" +#: ../../include/js_strings.php:55 +msgid "timeago.prefixFromNow" msgstr "" -#: ../../Zotlabs/Module/New_channel.php:165 -msgid "" -"This will be used to create a unique network address (like an email address)." +#: ../../include/js_strings.php:56 +msgid "timeago.suffixAgo" msgstr "" -#: ../../Zotlabs/Module/New_channel.php:167 -msgid "Allowed characters are a-z 0-9, - and _" +#: ../../include/js_strings.php:57 +msgid "timeago.suffixFromNow" msgstr "" -#: ../../Zotlabs/Module/New_channel.php:175 -msgid "Channel name" +#: ../../include/js_strings.php:60 +msgid "less than a minute" msgstr "" -#: ../../Zotlabs/Module/New_channel.php:178 -msgid "" -"Select a channel permission role compatible with your usage needs and " -"privacy requirements." +#: ../../include/js_strings.php:61 +msgid "about a minute" msgstr "" -#: ../../Zotlabs/Module/New_channel.php:181 -msgid "Create a Channel" +#: ../../include/js_strings.php:63 +msgid "about an hour" msgstr "" -#: ../../Zotlabs/Module/New_channel.php:182 -msgid "" -"A channel is a unique network identity. It can represent a person (social " -"network profile), a forum (group), a business or celebrity page, a newsfeed, " -"and many other things." +#: ../../include/js_strings.php:65 +msgid "a day" msgstr "" -#: ../../Zotlabs/Module/New_channel.php:183 -msgid "" -"or <a href=\"import\">import an existing channel</a> from another location." +#: ../../include/js_strings.php:67 +msgid "about a month" msgstr "" -#: ../../Zotlabs/Module/New_channel.php:188 -msgid "Validate" +#: ../../include/js_strings.php:69 +msgid "about a year" msgstr "" -#: ../../Zotlabs/Module/Ping.php:337 ../../Zotlabs/Lib/Enotify.php:948 -msgid "sent you a private message" +#: ../../include/js_strings.php:71 +msgid " " msgstr "" -#: ../../Zotlabs/Module/Ping.php:393 ../../Zotlabs/Lib/Enotify.php:914 -msgid "added your channel" +#: ../../include/js_strings.php:72 +msgid "timeago.numbers" msgstr "" -#: ../../Zotlabs/Module/Ping.php:418 ../../Zotlabs/Lib/Enotify.php:986 -msgid "requires approval" +#: ../../include/js_strings.php:78 +msgctxt "long" +msgid "May" msgstr "" -#: ../../Zotlabs/Module/Ping.php:428 ../../Zotlabs/Lib/Enotify.php:957 -msgid "g A l F d" +#: ../../include/js_strings.php:86 +msgid "Jan" msgstr "" -#: ../../Zotlabs/Module/Ping.php:446 ../../Zotlabs/Lib/Enotify.php:960 -msgid "[today]" +#: ../../include/js_strings.php:87 +msgid "Feb" msgstr "" -#: ../../Zotlabs/Module/Ping.php:456 -msgid "posted an event" +#: ../../include/js_strings.php:88 +msgid "Mar" msgstr "" -#: ../../Zotlabs/Module/Ping.php:490 ../../Zotlabs/Lib/Enotify.php:829 -#: ../../Zotlabs/Lib/Enotify.php:931 -msgid "shared a file with you" +#: ../../include/js_strings.php:89 +msgid "Apr" msgstr "" -#: ../../Zotlabs/Module/Ping.php:672 ../../Zotlabs/Module/Sse_bs.php:539 -msgid "Private forum" +#: ../../include/js_strings.php:90 +msgctxt "short" +msgid "May" msgstr "" -#: ../../Zotlabs/Module/Ping.php:672 ../../Zotlabs/Module/Sse_bs.php:539 -msgid "Public forum" +#: ../../include/js_strings.php:91 +msgid "Jun" msgstr "" -#: ../../Zotlabs/Module/Dircensor.php:42 -msgid "Entry censored" +#: ../../include/js_strings.php:92 +msgid "Jul" msgstr "" -#: ../../Zotlabs/Module/Dircensor.php:45 -msgid "Entry uncensored" +#: ../../include/js_strings.php:93 +msgid "Aug" msgstr "" -#: ../../Zotlabs/Module/Service_limits.php:23 -msgid "No service class restrictions found." +#: ../../include/js_strings.php:94 +msgid "Sep" msgstr "" -#: ../../Zotlabs/Module/Mood.php:134 -msgid "Mood App" +#: ../../include/js_strings.php:95 +msgid "Oct" msgstr "" -#: ../../Zotlabs/Module/Mood.php:135 ../../Zotlabs/Module/Mood.php:155 -msgid "Set your current mood and tell your friends" +#: ../../include/js_strings.php:96 +msgid "Nov" msgstr "" -#: ../../Zotlabs/Module/Mood.php:154 ../../Zotlabs/Lib/Apps.php:350 -msgid "Mood" +#: ../../include/js_strings.php:97 +msgid "Dec" msgstr "" -#: ../../Zotlabs/Module/Siteinfo.php:21 -msgid "About this site" +#: ../../include/js_strings.php:105 +msgid "Sun" msgstr "" -#: ../../Zotlabs/Module/Siteinfo.php:22 -msgid "Site Name" +#: ../../include/js_strings.php:106 +msgid "Mon" msgstr "" -#: ../../Zotlabs/Module/Siteinfo.php:26 -msgid "Administrator" +#: ../../include/js_strings.php:107 +msgid "Tue" msgstr "" -#: ../../Zotlabs/Module/Siteinfo.php:29 -msgid "Software and Project information" +#: ../../include/js_strings.php:108 +msgid "Wed" msgstr "" -#: ../../Zotlabs/Module/Siteinfo.php:30 -msgid "This site is powered by $Projectname" +#: ../../include/js_strings.php:109 +msgid "Thu" msgstr "" -#: ../../Zotlabs/Module/Siteinfo.php:31 -msgid "" -"Federated and decentralised networking and identity services provided by Zot" +#: ../../include/js_strings.php:110 +msgid "Fri" msgstr "" -#: ../../Zotlabs/Module/Siteinfo.php:34 -msgid "Additional federated transport protocols:" +#: ../../include/js_strings.php:111 +msgid "Sat" msgstr "" -#: ../../Zotlabs/Module/Siteinfo.php:36 -#, php-format -msgid "Version %s" +#: ../../include/js_strings.php:112 +msgctxt "calendar" +msgid "today" msgstr "" -#: ../../Zotlabs/Module/Siteinfo.php:37 -msgid "Project homepage" +#: ../../include/js_strings.php:113 +msgctxt "calendar" +msgid "month" msgstr "" -#: ../../Zotlabs/Module/Siteinfo.php:38 -msgid "Developer homepage" +#: ../../include/js_strings.php:114 +msgctxt "calendar" +msgid "week" msgstr "" -#: ../../Zotlabs/Module/Appman.php:39 ../../Zotlabs/Module/Appman.php:56 -msgid "App installed." +#: ../../include/js_strings.php:115 +msgctxt "calendar" +msgid "day" msgstr "" -#: ../../Zotlabs/Module/Appman.php:49 -msgid "Malformed app." +#: ../../include/js_strings.php:116 +msgctxt "calendar" +msgid "All day" msgstr "" -#: ../../Zotlabs/Module/Appman.php:132 -msgid "Embed code" +#: ../../include/js_strings.php:119 +msgid "Please stand by while your download is being prepared." msgstr "" -#: ../../Zotlabs/Module/Appman.php:138 -msgid "Edit App" +#: ../../include/security.php:609 +msgid "" +"The form security token was not correct. This probably happened because the " +"form has been opened for too long (>3 hours) before submitting it." msgstr "" -#: ../../Zotlabs/Module/Appman.php:138 -msgid "Create App" +#: ../../include/selectors.php:18 +msgid "Profile to assign new connections" msgstr "" -#: ../../Zotlabs/Module/Appman.php:143 -msgid "Name of app" +#: ../../include/selectors.php:41 +msgid "Frequently" msgstr "" -#: ../../Zotlabs/Module/Appman.php:144 -msgid "Location (URL) of app" +#: ../../include/selectors.php:42 +msgid "Hourly" msgstr "" -#: ../../Zotlabs/Module/Appman.php:146 -msgid "Photo icon URL" +#: ../../include/selectors.php:43 +msgid "Twice daily" msgstr "" -#: ../../Zotlabs/Module/Appman.php:146 -msgid "80 x 80 pixels - optional" +#: ../../include/selectors.php:44 +msgid "Daily" msgstr "" -#: ../../Zotlabs/Module/Appman.php:147 -msgid "Categories (optional, comma separated list)" +#: ../../include/selectors.php:45 +msgid "Weekly" msgstr "" -#: ../../Zotlabs/Module/Appman.php:148 -msgid "Version ID" +#: ../../include/selectors.php:46 +msgid "Monthly" msgstr "" -#: ../../Zotlabs/Module/Appman.php:149 -msgid "Price of app" +#: ../../include/selectors.php:60 +msgid "Currently Male" msgstr "" -#: ../../Zotlabs/Module/Appman.php:150 -msgid "Location (URL) to purchase app" +#: ../../include/selectors.php:60 +msgid "Currently Female" msgstr "" -#: ../../Zotlabs/Module/Admin.php:97 -msgid "Blocked accounts" +#: ../../include/selectors.php:60 +msgid "Mostly Male" msgstr "" -#: ../../Zotlabs/Module/Admin.php:98 -msgid "Expired accounts" +#: ../../include/selectors.php:60 +msgid "Mostly Female" msgstr "" -#: ../../Zotlabs/Module/Admin.php:99 -msgid "Expiring accounts" +#: ../../include/selectors.php:60 +msgid "Transgender" msgstr "" -#: ../../Zotlabs/Module/Admin.php:120 -msgid "Message queues" +#: ../../include/selectors.php:60 +msgid "Intersex" msgstr "" -#: ../../Zotlabs/Module/Admin.php:134 -msgid "Your software should be updated" +#: ../../include/selectors.php:60 +msgid "Transsexual" msgstr "" -#: ../../Zotlabs/Module/Admin.php:139 -msgid "Summary" +#: ../../include/selectors.php:60 +msgid "Hermaphrodite" msgstr "" -#: ../../Zotlabs/Module/Admin.php:142 -msgid "Registered accounts" +#: ../../include/selectors.php:60 +msgid "Undecided" msgstr "" -#: ../../Zotlabs/Module/Admin.php:143 -msgid "Pending registrations" +#: ../../include/selectors.php:96 ../../include/selectors.php:115 +msgid "Males" msgstr "" -#: ../../Zotlabs/Module/Admin.php:144 -msgid "Registered channels" +#: ../../include/selectors.php:96 ../../include/selectors.php:115 +msgid "Females" msgstr "" -#: ../../Zotlabs/Module/Admin.php:145 -msgid "Active addons" +#: ../../include/selectors.php:96 +msgid "Gay" msgstr "" -#: ../../Zotlabs/Module/Admin.php:146 -msgid "Version" +#: ../../include/selectors.php:96 +msgid "Lesbian" msgstr "" -#: ../../Zotlabs/Module/Admin.php:147 -msgid "Repository version (master)" +#: ../../include/selectors.php:96 +msgid "No Preference" msgstr "" -#: ../../Zotlabs/Module/Admin.php:148 -msgid "Repository version (dev)" +#: ../../include/selectors.php:96 +msgid "Bisexual" msgstr "" -#: ../../Zotlabs/Module/Cards.php:51 -msgid "Cards App" +#: ../../include/selectors.php:96 +msgid "Autosexual" msgstr "" -#: ../../Zotlabs/Module/Cards.php:52 -msgid "Create personal planning cards" +#: ../../include/selectors.php:96 +msgid "Abstinent" msgstr "" -#: ../../Zotlabs/Module/Cards.php:112 -msgid "Add Card" +#: ../../include/selectors.php:96 +msgid "Virgin" msgstr "" -#: ../../Zotlabs/Module/Directory.php:120 -msgid "No default suggestions were found." +#: ../../include/selectors.php:96 +msgid "Deviant" msgstr "" -#: ../../Zotlabs/Module/Directory.php:280 -#, php-format -msgid "%d rating" -msgid_plural "%d ratings" -msgstr[0] "" -msgstr[1] "" +#: ../../include/selectors.php:96 +msgid "Fetish" +msgstr "" -#: ../../Zotlabs/Module/Directory.php:291 -msgid "Gender: " +#: ../../include/selectors.php:96 +msgid "Oodles" msgstr "" -#: ../../Zotlabs/Module/Directory.php:293 -msgid "Status: " +#: ../../include/selectors.php:96 +msgid "Nonsexual" msgstr "" -#: ../../Zotlabs/Module/Directory.php:295 -msgid "Homepage: " +#: ../../include/selectors.php:134 ../../include/selectors.php:151 +msgid "Single" msgstr "" -#: ../../Zotlabs/Module/Directory.php:358 -msgid "Description:" +#: ../../include/selectors.php:134 +msgid "Lonely" msgstr "" -#: ../../Zotlabs/Module/Directory.php:369 -msgid "Public Forum:" +#: ../../include/selectors.php:134 +msgid "Available" msgstr "" -#: ../../Zotlabs/Module/Directory.php:372 -msgid "Keywords: " +#: ../../include/selectors.php:134 +msgid "Unavailable" msgstr "" -#: ../../Zotlabs/Module/Directory.php:375 -msgid "Don't suggest" +#: ../../include/selectors.php:134 +msgid "Has crush" msgstr "" -#: ../../Zotlabs/Module/Directory.php:377 -msgid "Common connections (estimated):" +#: ../../include/selectors.php:134 +msgid "Infatuated" msgstr "" -#: ../../Zotlabs/Module/Directory.php:426 -msgid "Global Directory" +#: ../../include/selectors.php:134 ../../include/selectors.php:151 +msgid "Dating" msgstr "" -#: ../../Zotlabs/Module/Directory.php:426 -msgid "Local Directory" +#: ../../include/selectors.php:134 +msgid "Unfaithful" msgstr "" -#: ../../Zotlabs/Module/Directory.php:432 -msgid "Finding:" +#: ../../include/selectors.php:134 +msgid "Sex Addict" msgstr "" -#: ../../Zotlabs/Module/Directory.php:437 -msgid "next page" +#: ../../include/selectors.php:134 +msgid "Friends/Benefits" msgstr "" -#: ../../Zotlabs/Module/Directory.php:437 -msgid "previous page" +#: ../../include/selectors.php:134 +msgid "Casual" msgstr "" -#: ../../Zotlabs/Module/Directory.php:438 -msgid "Sort options" +#: ../../include/selectors.php:134 +msgid "Engaged" msgstr "" -#: ../../Zotlabs/Module/Directory.php:439 -msgid "Alphabetic" +#: ../../include/selectors.php:134 ../../include/selectors.php:151 +msgid "Married" msgstr "" -#: ../../Zotlabs/Module/Directory.php:440 -msgid "Reverse Alphabetic" +#: ../../include/selectors.php:134 +msgid "Imaginarily married" msgstr "" -#: ../../Zotlabs/Module/Directory.php:441 -msgid "Newest to Oldest" +#: ../../include/selectors.php:134 +msgid "Partners" msgstr "" -#: ../../Zotlabs/Module/Directory.php:442 -msgid "Oldest to Newest" +#: ../../include/selectors.php:134 ../../include/selectors.php:151 +msgid "Cohabiting" msgstr "" -#: ../../Zotlabs/Module/Directory.php:459 -msgid "No entries (some entries may be hidden)." +#: ../../include/selectors.php:134 +msgid "Common law" msgstr "" -#: ../../Zotlabs/Module/Api.php:74 ../../Zotlabs/Module/Api.php:95 -msgid "Authorize application connection" +#: ../../include/selectors.php:134 +msgid "Happy" msgstr "" -#: ../../Zotlabs/Module/Api.php:75 -msgid "Return to your app and insert this Security Code:" +#: ../../include/selectors.php:134 +msgid "Not looking" msgstr "" -#: ../../Zotlabs/Module/Api.php:85 -msgid "Please login to continue." +#: ../../include/selectors.php:134 +msgid "Swinger" msgstr "" -#: ../../Zotlabs/Module/Api.php:97 -msgid "" -"Do you want to authorize this application to access your posts and contacts, " -"and/or create new posts for you?" +#: ../../include/selectors.php:134 +msgid "Betrayed" msgstr "" -#: ../../Zotlabs/Module/Regmod.php:15 -msgid "Please login." +#: ../../include/selectors.php:134 ../../include/selectors.php:151 +msgid "Separated" msgstr "" -#: ../../Zotlabs/Module/Blocks.php:97 ../../Zotlabs/Module/Blocks.php:155 -#: ../../Zotlabs/Module/Editblock.php:113 -msgid "Block Name" +#: ../../include/selectors.php:134 +msgid "Unstable" msgstr "" -#: ../../Zotlabs/Module/Blocks.php:156 -msgid "Block Title" +#: ../../include/selectors.php:134 ../../include/selectors.php:151 +msgid "Divorced" msgstr "" -#: ../../Zotlabs/Module/Email_validation.php:36 -msgid "Email Verification Required" +#: ../../include/selectors.php:134 +msgid "Imaginarily divorced" msgstr "" -#: ../../Zotlabs/Module/Email_validation.php:37 -#, php-format -msgid "" -"A verification token was sent to your email address [%s]. Enter that token " -"here to complete the account verification step. Please allow a few minutes " -"for delivery, and check your spam folder if you do not see the message." +#: ../../include/selectors.php:134 ../../include/selectors.php:151 +msgid "Widowed" msgstr "" -#: ../../Zotlabs/Module/Email_validation.php:38 -msgid "Resend Email" +#: ../../include/selectors.php:134 +msgid "Uncertain" msgstr "" -#: ../../Zotlabs/Module/Email_validation.php:41 -msgid "Validation token" +#: ../../include/selectors.php:134 ../../include/selectors.php:151 +msgid "It's complicated" msgstr "" -#: ../../Zotlabs/Module/Attach.php:13 -msgid "Item not available." +#: ../../include/selectors.php:134 +msgid "Don't care" msgstr "" -#: ../../Zotlabs/Module/Vote.php:40 -msgid "Poll not found." +#: ../../include/selectors.php:134 +msgid "Ask me" msgstr "" -#: ../../Zotlabs/Module/Vote.php:71 -msgid "Invalid response." +#: ../../include/network.php:1731 ../../include/network.php:1732 +msgid "Friendica" msgstr "" -#: ../../Zotlabs/Module/Vote.php:132 -msgid "Response submitted. Updates may not appear instantly." +#: ../../include/network.php:1733 +msgid "OStatus" msgstr "" -#: ../../Zotlabs/Module/Profile_photo.php:93 -#: ../../Zotlabs/Module/Cover_photo.php:85 -msgid "Image uploaded but image cropping failed." +#: ../../include/network.php:1734 +msgid "GNU-Social" msgstr "" -#: ../../Zotlabs/Module/Profile_photo.php:166 -#: ../../Zotlabs/Module/Cover_photo.php:212 -msgid "Image resize failed." +#: ../../include/network.php:1735 +msgid "RSS/Atom" msgstr "" -#: ../../Zotlabs/Module/Profile_photo.php:296 -#: ../../Zotlabs/Module/Cover_photo.php:265 -msgid "Image upload failed." +#: ../../include/network.php:1738 +msgid "Diaspora" msgstr "" -#: ../../Zotlabs/Module/Profile_photo.php:315 -#: ../../Zotlabs/Module/Cover_photo.php:282 -msgid "Unable to process image." +#: ../../include/network.php:1739 +msgid "Facebook" msgstr "" -#: ../../Zotlabs/Module/Profile_photo.php:379 -#: ../../Zotlabs/Module/Profile_photo.php:431 -#: ../../Zotlabs/Module/Cover_photo.php:367 -#: ../../Zotlabs/Module/Cover_photo.php:382 -msgid "Photo not available." +#: ../../include/network.php:1740 +msgid "Zot" msgstr "" -#: ../../Zotlabs/Module/Profile_photo.php:495 -msgid "" -"Your default profile photo is visible to anybody on the internet. Profile " -"photos for alternate profiles will inherit the permissions of the profile" +#: ../../include/network.php:1741 +msgid "LinkedIn" msgstr "" -#: ../../Zotlabs/Module/Profile_photo.php:495 -msgid "" -"Your profile photo is visible to anybody on the internet and may be " -"distributed to other websites." +#: ../../include/network.php:1742 +msgid "XMPP/IM" msgstr "" -#: ../../Zotlabs/Module/Profile_photo.php:497 -#: ../../Zotlabs/Module/Cover_photo.php:420 -msgid "Upload File:" +#: ../../include/network.php:1743 +msgid "MySpace" msgstr "" -#: ../../Zotlabs/Module/Profile_photo.php:498 -#: ../../Zotlabs/Module/Cover_photo.php:421 -msgid "Select a profile:" +#: ../../include/account.php:36 +msgid "Not a valid email address" msgstr "" -#: ../../Zotlabs/Module/Profile_photo.php:499 -msgid "Use Photo for Profile" +#: ../../include/account.php:38 +msgid "Your email domain is not among those allowed on this site" msgstr "" -#: ../../Zotlabs/Module/Profile_photo.php:499 -msgid "Change Profile Photo" +#: ../../include/account.php:44 +msgid "Your email address is already registered at this site." msgstr "" -#: ../../Zotlabs/Module/Profile_photo.php:500 -msgid "Use" +#: ../../include/account.php:76 +msgid "An invitation is required." msgstr "" -#: ../../Zotlabs/Module/Profile_photo.php:505 -#: ../../Zotlabs/Module/Profile_photo.php:506 -#: ../../Zotlabs/Module/Cover_photo.php:426 -#: ../../Zotlabs/Module/Cover_photo.php:427 -msgid "Use a photo from your albums" +#: ../../include/account.php:80 +msgid "Invitation could not be verified." msgstr "" -#: ../../Zotlabs/Module/Profile_photo.php:511 -#: ../../Zotlabs/Module/Cover_photo.php:432 ../../Zotlabs/Module/Wiki.php:405 -msgid "Choose a different album" +#: ../../include/account.php:156 +msgid "Please enter the required information." msgstr "" -#: ../../Zotlabs/Module/Profile_photo.php:516 -#: ../../Zotlabs/Module/Cover_photo.php:438 -msgid "Select existing photo" +#: ../../include/account.php:223 +msgid "Failed to store account information." msgstr "" -#: ../../Zotlabs/Module/Profile_photo.php:535 -#: ../../Zotlabs/Module/Cover_photo.php:455 -msgid "Crop Image" +#: ../../include/account.php:311 +#, php-format +msgid "Registration confirmation for %s" msgstr "" -#: ../../Zotlabs/Module/Profile_photo.php:536 -#: ../../Zotlabs/Module/Cover_photo.php:456 -msgid "Please adjust the image cropping for optimum viewing." +#: ../../include/account.php:380 +#, php-format +msgid "Registration request at %s" msgstr "" -#: ../../Zotlabs/Module/Profile_photo.php:538 -#: ../../Zotlabs/Module/Cover_photo.php:458 -msgid "Done Editing" +#: ../../include/account.php:402 +msgid "your registration password" msgstr "" -#: ../../Zotlabs/Module/Editblock.php:138 -msgid "Edit Block" +#: ../../include/account.php:408 ../../include/account.php:471 +#, php-format +msgid "Registration details for %s" msgstr "" -#: ../../Zotlabs/Module/Filer.php:52 -msgid "Enter a folder name" +#: ../../include/account.php:482 +msgid "Account approved." msgstr "" -#: ../../Zotlabs/Module/Filer.php:52 -msgid "or select an existing folder (doubleclick)" +#: ../../include/account.php:522 +#, php-format +msgid "Registration revoked for %s" msgstr "" -#: ../../Zotlabs/Module/Filer.php:54 ../../Zotlabs/Lib/ThreadItem.php:184 -msgid "Save to Folder" +#: ../../include/account.php:805 ../../include/account.php:807 +msgid "Click here to upgrade." msgstr "" -#: ../../Zotlabs/Module/Editlayout.php:128 ../../Zotlabs/Module/Layouts.php:129 -#: ../../Zotlabs/Module/Layouts.php:189 -msgid "Layout Name" +#: ../../include/account.php:813 +msgid "This action exceeds the limits set by your subscription plan." msgstr "" -#: ../../Zotlabs/Module/Editlayout.php:129 ../../Zotlabs/Module/Layouts.php:132 -msgid "Layout Description (Optional)" +#: ../../include/account.php:818 +msgid "This action is not available under your subscription plan." msgstr "" -#: ../../Zotlabs/Module/Editlayout.php:137 -msgid "Edit Layout" +#: ../../include/help.php:80 +msgid "Help:" msgstr "" -#: ../../Zotlabs/Module/Connections.php:58 -#: ../../Zotlabs/Module/Connections.php:115 -#: ../../Zotlabs/Module/Connections.php:273 -msgid "Active" +#: ../../include/help.php:129 +msgid "Not Found" msgstr "" -#: ../../Zotlabs/Module/Connections.php:63 -#: ../../Zotlabs/Module/Connections.php:181 -#: ../../Zotlabs/Module/Connections.php:278 -msgid "Blocked" +#: ../../include/attach.php:273 ../../include/attach.php:324 +#: ../../include/attach.php:419 +msgid "Item was not found." msgstr "" -#: ../../Zotlabs/Module/Connections.php:68 -#: ../../Zotlabs/Module/Connections.php:188 -#: ../../Zotlabs/Module/Connections.php:277 -msgid "Ignored" +#: ../../include/attach.php:290 +msgid "Unknown error." msgstr "" -#: ../../Zotlabs/Module/Connections.php:73 -#: ../../Zotlabs/Module/Connections.php:202 -#: ../../Zotlabs/Module/Connections.php:276 -msgid "Hidden" +#: ../../include/attach.php:612 +msgid "No source file." msgstr "" -#: ../../Zotlabs/Module/Connections.php:78 -#: ../../Zotlabs/Module/Connections.php:195 -msgid "Archived/Unreachable" +#: ../../include/attach.php:634 +msgid "Cannot locate file to replace" msgstr "" -#: ../../Zotlabs/Module/Connections.php:83 -#: ../../Zotlabs/Module/Connections.php:92 ../../Zotlabs/Module/Menu.php:180 -#: ../../Zotlabs/Module/Notifications.php:50 -msgid "New" +#: ../../include/attach.php:653 +msgid "Cannot locate file to revise/update" msgstr "" -#: ../../Zotlabs/Module/Connections.php:157 -msgid "Active Connections" +#: ../../include/attach.php:795 +#, php-format +msgid "File exceeds size limit of %d" msgstr "" -#: ../../Zotlabs/Module/Connections.php:160 -msgid "Show active connections" +#: ../../include/attach.php:816 +#, php-format +msgid "You have reached your limit of %1$.0f Mbytes attachment storage." msgstr "" -#: ../../Zotlabs/Module/Connections.php:167 -msgid "Show pending (new) connections" +#: ../../include/attach.php:1004 +msgid "File upload failed. Possible system limit or action terminated." msgstr "" -#: ../../Zotlabs/Module/Connections.php:184 -msgid "Only show blocked connections" +#: ../../include/attach.php:1033 +msgid "Stored file could not be verified. Upload failed." msgstr "" -#: ../../Zotlabs/Module/Connections.php:191 -msgid "Only show ignored connections" +#: ../../include/attach.php:1105 ../../include/attach.php:1121 +msgid "Path not available." msgstr "" -#: ../../Zotlabs/Module/Connections.php:198 -msgid "Only show archived/unreachable connections" +#: ../../include/attach.php:1169 ../../include/attach.php:1332 +msgid "Empty pathname" msgstr "" -#: ../../Zotlabs/Module/Connections.php:205 -msgid "Only show hidden connections" +#: ../../include/attach.php:1195 +msgid "duplicate filename or path" msgstr "" -#: ../../Zotlabs/Module/Connections.php:220 -msgid "Show all connections" +#: ../../include/attach.php:1220 +msgid "Path not found." msgstr "" -#: ../../Zotlabs/Module/Connections.php:274 -msgid "Pending approval" +#: ../../include/attach.php:1288 +msgid "mkdir failed." msgstr "" -#: ../../Zotlabs/Module/Connections.php:275 -msgid "Archived" +#: ../../include/attach.php:1292 +msgid "database storage failed." msgstr "" -#: ../../Zotlabs/Module/Connections.php:279 -msgid "Not connected at this location" +#: ../../include/attach.php:1338 +msgid "Empty path" msgstr "" -#: ../../Zotlabs/Module/Connections.php:318 +#: ../../include/attach.php:2099 #, php-format -msgid "%1$s [%2$s]" +msgid "%s shared a %s with you" msgstr "" -#: ../../Zotlabs/Module/Connections.php:319 -msgid "Edit connection" +#: ../../include/attach.php:2099 +#: ../../extend/addon/hzaddons/redfiles/redfilehelper.php:64 +msgid "file" msgstr "" -#: ../../Zotlabs/Module/Connections.php:321 -msgid "Delete connection" +#: ../../include/connections.php:134 +msgid "New window" msgstr "" -#: ../../Zotlabs/Module/Connections.php:330 -msgid "Channel address" +#: ../../include/connections.php:135 +msgid "Open the selected location in a different window or browser tab" msgstr "" -#: ../../Zotlabs/Module/Connections.php:335 -msgid "Call" +#: ../../include/connections.php:736 ../../include/event.php:1424 +msgid "Home, Voice" msgstr "" -#: ../../Zotlabs/Module/Connections.php:337 -msgid "Status" +#: ../../include/connections.php:737 ../../include/event.php:1425 +msgid "Home, Fax" msgstr "" -#: ../../Zotlabs/Module/Connections.php:339 -msgid "Connected" +#: ../../include/connections.php:739 ../../include/event.php:1427 +msgid "Work, Voice" msgstr "" -#: ../../Zotlabs/Module/Connections.php:341 -msgid "Approve connection" +#: ../../include/connections.php:740 ../../include/event.php:1428 +msgid "Work, Fax" msgstr "" -#: ../../Zotlabs/Module/Connections.php:343 -msgid "Ignore connection" +#: ../../include/oembed.php:153 +msgid "View PDF" msgstr "" -#: ../../Zotlabs/Module/Connections.php:344 -#: ../../Zotlabs/Module/Connedit.php:647 -msgid "Ignore" +#: ../../include/oembed.php:357 +msgid " by " msgstr "" -#: ../../Zotlabs/Module/Connections.php:345 -msgid "Recent activity" +#: ../../include/oembed.php:358 +msgid " on " msgstr "" -#: ../../Zotlabs/Module/Connections.php:351 -msgid "Connect at this location" +#: ../../include/oembed.php:387 +msgid "Embedded content" msgstr "" -#: ../../Zotlabs/Module/Connections.php:379 -msgid "Search your connections" +#: ../../include/oembed.php:396 +msgid "Embedding disabled" msgstr "" -#: ../../Zotlabs/Module/Connections.php:380 -msgid "Connections search" +#: ../../include/event.php:33 ../../include/event.php:110 +msgid "l F d, Y \\@ g:i A" msgstr "" -#: ../../Zotlabs/Module/Cover_photo.php:196 -#: ../../Zotlabs/Module/Cover_photo.php:254 -msgid "Cover Photos" +#: ../../include/event.php:41 +msgid "Starts:" msgstr "" -#: ../../Zotlabs/Module/Cover_photo.php:418 -msgid "Your cover photo may be visible to anybody on the internet" +#: ../../include/event.php:51 +msgid "Finishes:" msgstr "" -#: ../../Zotlabs/Module/Cover_photo.php:422 -msgid "Change Cover Photo" +#: ../../include/event.php:110 +msgid "l F d, Y" msgstr "" -#: ../../Zotlabs/Module/Photos.php:80 -msgid "Page owner information could not be retrieved." +#: ../../include/event.php:114 +msgid "Start:" msgstr "" -#: ../../Zotlabs/Module/Photos.php:96 ../../Zotlabs/Module/Photos.php:115 -msgid "Album not found." +#: ../../include/event.php:118 +msgid "End:" msgstr "" -#: ../../Zotlabs/Module/Photos.php:105 -msgid "Delete Album" +#: ../../include/event.php:123 +#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:67 +msgid "Timezone" msgstr "" -#: ../../Zotlabs/Module/Photos.php:176 ../../Zotlabs/Module/Photos.php:1058 -msgid "Delete Photo" +#: ../../include/event.php:1106 +msgid "This event has been added to your calendar." msgstr "" -#: ../../Zotlabs/Module/Photos.php:529 -msgid "No photos selected" +#: ../../include/event.php:1337 +msgid "Not specified" msgstr "" -#: ../../Zotlabs/Module/Photos.php:578 -msgid "Access to this item is restricted." +#: ../../include/event.php:1338 +msgid "Needs Action" msgstr "" -#: ../../Zotlabs/Module/Photos.php:621 -#, php-format -msgid "%1$.2f MB of %2$.2f MB photo storage used." +#: ../../include/event.php:1339 +msgid "Completed" msgstr "" -#: ../../Zotlabs/Module/Photos.php:624 -#, php-format -msgid "%1$.2f MB photo storage used." +#: ../../include/event.php:1340 +msgid "In Process" msgstr "" -#: ../../Zotlabs/Module/Photos.php:666 -msgid "Upload Photos" +#: ../../include/event.php:1341 +msgid "Cancelled" msgstr "" -#: ../../Zotlabs/Module/Photos.php:670 -msgid "Enter an album name" +#: ../../include/datetime.php:140 +msgid "Birthday" msgstr "" -#: ../../Zotlabs/Module/Photos.php:671 -msgid "or select an existing album (doubleclick)" +#: ../../include/datetime.php:140 +msgid "Age: " msgstr "" -#: ../../Zotlabs/Module/Photos.php:672 -msgid "Create a status post for this upload" +#: ../../include/datetime.php:140 +msgid "YYYY-MM-DD or MM-DD" msgstr "" -#: ../../Zotlabs/Module/Photos.php:674 -msgid "Description (optional)" +#: ../../include/datetime.php:238 ../../boot.php:2709 +msgid "never" msgstr "" -#: ../../Zotlabs/Module/Photos.php:760 -msgid "Show Newest First" +#: ../../include/datetime.php:244 +msgid "less than a second ago" msgstr "" -#: ../../Zotlabs/Module/Photos.php:762 -msgid "Show Oldest First" +#: ../../include/datetime.php:262 +#, php-format +msgctxt "e.g. 22 hours ago, 1 minute ago" +msgid "%1$d %2$s ago" msgstr "" -#: ../../Zotlabs/Module/Photos.php:819 ../../Zotlabs/Module/Photos.php:1363 -msgid "Add Photos" -msgstr "" +#: ../../include/datetime.php:273 +msgctxt "relative_date" +msgid "year" +msgid_plural "years" +msgstr[0] "" +msgstr[1] "" -#: ../../Zotlabs/Module/Photos.php:867 -msgid "Permission denied. Access to this item may be restricted." -msgstr "" +#: ../../include/datetime.php:276 +msgctxt "relative_date" +msgid "month" +msgid_plural "months" +msgstr[0] "" +msgstr[1] "" -#: ../../Zotlabs/Module/Photos.php:869 -msgid "Photo not available" +#: ../../include/datetime.php:279 +msgctxt "relative_date" +msgid "week" +msgid_plural "weeks" +msgstr[0] "" +msgstr[1] "" + +#: ../../include/datetime.php:282 +msgctxt "relative_date" +msgid "day" +msgid_plural "days" +msgstr[0] "" +msgstr[1] "" + +#: ../../include/datetime.php:285 +msgctxt "relative_date" +msgid "hour" +msgid_plural "hours" +msgstr[0] "" +msgstr[1] "" + +#: ../../include/datetime.php:288 +msgctxt "relative_date" +msgid "minute" +msgid_plural "minutes" +msgstr[0] "" +msgstr[1] "" + +#: ../../include/datetime.php:291 +msgctxt "relative_date" +msgid "second" +msgid_plural "seconds" +msgstr[0] "" +msgstr[1] "" + +#: ../../include/datetime.php:520 +#, php-format +msgid "%1$s's birthday" msgstr "" -#: ../../Zotlabs/Module/Photos.php:927 -msgid "Use as profile photo" +#: ../../include/datetime.php:521 +#, php-format +msgid "Happy Birthday %1$s" msgstr "" -#: ../../Zotlabs/Module/Photos.php:928 -msgid "Use as cover photo" +#: ../../include/items.php:999 ../../include/items.php:1059 +msgid "(Unknown)" msgstr "" -#: ../../Zotlabs/Module/Photos.php:935 -msgid "Private Photo" +#: ../../include/items.php:1247 +msgid "Visible to anybody on the internet." msgstr "" -#: ../../Zotlabs/Module/Photos.php:950 -msgid "View Full Size" +#: ../../include/items.php:1249 +msgid "Visible to you only." msgstr "" -#: ../../Zotlabs/Module/Photos.php:1032 -msgid "Edit photo" +#: ../../include/items.php:1251 +msgid "Visible to anybody in this network." msgstr "" -#: ../../Zotlabs/Module/Photos.php:1034 -msgid "Rotate CW (right)" +#: ../../include/items.php:1253 +msgid "Visible to anybody authenticated." msgstr "" -#: ../../Zotlabs/Module/Photos.php:1035 -msgid "Rotate CCW (left)" +#: ../../include/items.php:1255 +#, php-format +msgid "Visible to anybody on %s." msgstr "" -#: ../../Zotlabs/Module/Photos.php:1038 -msgid "Move photo to album" +#: ../../include/items.php:1257 +msgid "Visible to all connections." msgstr "" -#: ../../Zotlabs/Module/Photos.php:1039 -msgid "Enter a new album name" +#: ../../include/items.php:1259 +msgid "Visible to approved connections." msgstr "" -#: ../../Zotlabs/Module/Photos.php:1040 -msgid "or select an existing one (doubleclick)" +#: ../../include/items.php:1261 +msgid "Visible to specific connections." msgstr "" -#: ../../Zotlabs/Module/Photos.php:1045 -msgid "Add a Tag" +#: ../../include/items.php:4507 +msgid "Privacy group is empty." msgstr "" -#: ../../Zotlabs/Module/Photos.php:1053 -msgid "Example: @bob, @Barbara_Jensen, @jim@example.com" +#: ../../include/items.php:4514 +#, php-format +msgid "Privacy group: %s" msgstr "" -#: ../../Zotlabs/Module/Photos.php:1056 -msgid "Flag as adult in album view" +#: ../../include/items.php:4526 +msgid "Connection not found." msgstr "" -#: ../../Zotlabs/Module/Photos.php:1075 ../../Zotlabs/Lib/ThreadItem.php:317 -msgid "I like this (toggle)" +#: ../../include/items.php:4867 +msgid "profile photo" msgstr "" -#: ../../Zotlabs/Module/Photos.php:1076 ../../Zotlabs/Lib/ThreadItem.php:318 -msgid "I don't like this (toggle)" +#: ../../include/items.php:5059 +#, php-format +msgid "[Edited %s]" msgstr "" -#: ../../Zotlabs/Module/Photos.php:1094 ../../Zotlabs/Module/Photos.php:1212 -#: ../../Zotlabs/Lib/ThreadItem.php:822 -msgid "This is you" +#: ../../include/items.php:5059 +msgctxt "edit_activity" +msgid "Post" msgstr "" -#: ../../Zotlabs/Module/Photos.php:1131 ../../Zotlabs/Module/Photos.php:1143 -#: ../../Zotlabs/Lib/ThreadItem.php:238 ../../Zotlabs/Lib/ThreadItem.php:250 -msgid "View all" +#: ../../include/items.php:5059 +msgctxt "edit_activity" +msgid "Comment" msgstr "" -#: ../../Zotlabs/Module/Photos.php:1246 -msgid "Photo Tools" +#: ../../include/follow.php:84 +msgid "Response from remote channel was incomplete." msgstr "" -#: ../../Zotlabs/Module/Photos.php:1255 -msgid "In This Photo:" +#: ../../include/follow.php:96 +msgid "Premium channel - please visit:" msgstr "" -#: ../../Zotlabs/Module/Photos.php:1260 -msgid "Map" +#: ../../include/follow.php:110 +msgid "Channel was deleted and no longer exists." msgstr "" -#: ../../Zotlabs/Module/Photos.php:1268 ../../Zotlabs/Lib/ThreadItem.php:489 -msgctxt "noun" -msgid "Likes" +#: ../../include/zot.php:775 +msgid "Invalid data packet" msgstr "" -#: ../../Zotlabs/Module/Photos.php:1269 ../../Zotlabs/Lib/ThreadItem.php:490 -msgctxt "noun" -msgid "Dislikes" +#: ../../include/zot.php:4372 +msgid "invalid target signature" msgstr "" -#: ../../Zotlabs/Module/Lostpass.php:19 -msgid "No valid account found." +#: ../../include/bbcode.php:221 ../../include/bbcode.php:896 +#: ../../include/bbcode.php:1486 ../../include/bbcode.php:1494 +msgid "Image/photo" msgstr "" -#: ../../Zotlabs/Module/Lostpass.php:33 -msgid "Password reset request issued. Check your email." +#: ../../include/bbcode.php:268 ../../include/bbcode.php:1511 +msgid "Encrypted content" msgstr "" -#: ../../Zotlabs/Module/Lostpass.php:39 ../../Zotlabs/Module/Lostpass.php:108 +#: ../../include/bbcode.php:302 #, php-format -msgid "Site Member (%s)" +msgid "Install %1$s element %2$s" msgstr "" -#: ../../Zotlabs/Module/Lostpass.php:44 ../../Zotlabs/Module/Lostpass.php:49 +#: ../../include/bbcode.php:306 #, php-format -msgid "Password reset requested at %s" +msgid "" +"This post contains an installable %s element, however you lack permissions " +"to install it on this site." msgstr "" -#: ../../Zotlabs/Module/Lostpass.php:68 -msgid "" -"Request could not be verified. (You may have previously submitted it.) " -"Password reset failed." +#: ../../include/bbcode.php:519 +msgid "card" msgstr "" -#: ../../Zotlabs/Module/Lostpass.php:91 ../../boot.php:1707 -msgid "Password Reset" +#: ../../include/bbcode.php:521 +msgid "article" msgstr "" -#: ../../Zotlabs/Module/Lostpass.php:92 -msgid "Your password has been reset as requested." +#: ../../include/bbcode.php:604 ../../include/bbcode.php:612 +msgid "Click to open/close" msgstr "" -#: ../../Zotlabs/Module/Lostpass.php:93 -msgid "Your new password is" +#: ../../include/bbcode.php:625 +msgid "View article" msgstr "" -#: ../../Zotlabs/Module/Lostpass.php:94 -msgid "Save or copy your new password - and then" +#: ../../include/bbcode.php:625 +msgid "View summary" msgstr "" -#: ../../Zotlabs/Module/Lostpass.php:95 -msgid "click here to login" +#: ../../include/bbcode.php:1474 +msgid "$1 wrote:" msgstr "" -#: ../../Zotlabs/Module/Lostpass.php:96 -msgid "" -"Your password may be changed from the <em>Settings</em> page after " -"successful login." +#: ../../extend/addon/hzaddons/gnusoc/gnusoc.php:451 +msgid "Follow" msgstr "" -#: ../../Zotlabs/Module/Lostpass.php:117 +#: ../../extend/addon/hzaddons/gnusoc/gnusoc.php:454 #, php-format -msgid "Your password has changed at %s" +msgid "%1$s is now following %2$s" msgstr "" -#: ../../Zotlabs/Module/Lostpass.php:130 -msgid "Forgot your Password?" +#: ../../extend/addon/hzaddons/gnusoc/Mod_Gnusoc.php:16 +msgid "" +"The GNU-Social protocol does not support location independence. Connections " +"you make within that network may be unreachable from alternate channel " +"locations." msgstr "" -#: ../../Zotlabs/Module/Lostpass.php:131 -msgid "" -"Enter your email address and submit to have your password reset. Then check " -"your email for further instructions." +#: ../../extend/addon/hzaddons/gnusoc/Mod_Gnusoc.php:22 +msgid "GNU-Social Protocol App" msgstr "" -#: ../../Zotlabs/Module/Lostpass.php:132 -msgid "Email Address" +#: ../../extend/addon/hzaddons/gnusoc/Mod_Gnusoc.php:34 +msgid "GNU-Social Protocol" msgstr "" -#: ../../Zotlabs/Module/Lostpass.php:133 ../../Zotlabs/Module/Pdledit.php:78 -msgid "Reset" +#: ../../extend/addon/hzaddons/qrator/qrator.php:48 +msgid "QR code" msgstr "" -#: ../../Zotlabs/Module/Follow.php:93 -msgid "Connection added." +#: ../../extend/addon/hzaddons/qrator/qrator.php:63 +msgid "QR Generator" msgstr "" -#: ../../Zotlabs/Module/Page.php:39 ../../Zotlabs/Module/Block.php:29 -msgid "Invalid item." +#: ../../extend/addon/hzaddons/qrator/qrator.php:64 +msgid "Enter some text" msgstr "" -#: ../../Zotlabs/Module/Page.php:173 -msgid "" -"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod " -"tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, " -"quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo " -"consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse " -"cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat " -"non proident, sunt in culpa qui officia deserunt mollit anim id est laborum." +#: ../../extend/addon/hzaddons/irc/Mod_Irc.php:23 +#: ../../extend/addon/hzaddons/irc/irc.php:41 +msgid "Popular Channels" msgstr "" -#: ../../Zotlabs/Module/Profiles.php:26 ../../Zotlabs/Module/Profiles.php:186 -#: ../../Zotlabs/Module/Profiles.php:243 ../../Zotlabs/Module/Profiles.php:661 -msgid "Profile not found." +#: ../../extend/addon/hzaddons/irc/irc.php:37 +msgid "Channels to auto connect" msgstr "" -#: ../../Zotlabs/Module/Profiles.php:46 -msgid "Profile deleted." +#: ../../extend/addon/hzaddons/irc/irc.php:37 +#: ../../extend/addon/hzaddons/irc/irc.php:41 +msgid "Comma separated list" msgstr "" -#: ../../Zotlabs/Module/Profiles.php:70 ../../Zotlabs/Module/Profiles.php:107 -msgid "Profile-" +#: ../../extend/addon/hzaddons/irc/irc.php:45 +msgid "IRC Settings" msgstr "" -#: ../../Zotlabs/Module/Profiles.php:92 ../../Zotlabs/Module/Profiles.php:129 -msgid "New profile created." +#: ../../extend/addon/hzaddons/irc/irc.php:54 +msgid "IRC settings saved." msgstr "" -#: ../../Zotlabs/Module/Profiles.php:113 -msgid "Profile unavailable to clone." +#: ../../extend/addon/hzaddons/irc/irc.php:58 +msgid "IRC Chatroom" msgstr "" -#: ../../Zotlabs/Module/Profiles.php:148 -msgid "Profile unavailable to export." +#: ../../extend/addon/hzaddons/hubwall/hubwall.php:19 +msgid "Send email to all members" msgstr "" -#: ../../Zotlabs/Module/Profiles.php:254 -msgid "Profile Name is required." +#: ../../extend/addon/hzaddons/hubwall/hubwall.php:50 +#: ../../extend/addon/hzaddons/mailtest/mailtest.php:50 +msgid "No recipients found." msgstr "" -#: ../../Zotlabs/Module/Profiles.php:461 -msgid "Marital Status" +#: ../../extend/addon/hzaddons/hubwall/hubwall.php:73 +#, php-format +msgid "%1$d of %2$d messages sent." msgstr "" -#: ../../Zotlabs/Module/Profiles.php:465 -msgid "Romantic Partner" +#: ../../extend/addon/hzaddons/hubwall/hubwall.php:81 +msgid "Send email to all hub members." msgstr "" -#: ../../Zotlabs/Module/Profiles.php:469 ../../Zotlabs/Module/Profiles.php:774 -msgid "Likes" +#: ../../extend/addon/hzaddons/hubwall/hubwall.php:92 +#: ../../extend/addon/hzaddons/mailtest/mailtest.php:96 +msgid "Message subject" msgstr "" -#: ../../Zotlabs/Module/Profiles.php:473 ../../Zotlabs/Module/Profiles.php:775 -msgid "Dislikes" +#: ../../extend/addon/hzaddons/hubwall/hubwall.php:93 +msgid "Sender Email address" msgstr "" -#: ../../Zotlabs/Module/Profiles.php:477 ../../Zotlabs/Module/Profiles.php:782 -msgid "Work/Employment" +#: ../../extend/addon/hzaddons/hubwall/hubwall.php:94 +msgid "Test mode (only send to hub administrator)" msgstr "" -#: ../../Zotlabs/Module/Profiles.php:480 -msgid "Religion" +#: ../../extend/addon/hzaddons/likebanner/likebanner.php:51 +msgid "Your Webbie:" msgstr "" -#: ../../Zotlabs/Module/Profiles.php:484 -msgid "Political Views" +#: ../../extend/addon/hzaddons/likebanner/likebanner.php:54 +msgid "Fontsize (px):" msgstr "" -#: ../../Zotlabs/Module/Profiles.php:492 -msgid "Sexual Preference" +#: ../../extend/addon/hzaddons/likebanner/likebanner.php:68 +msgid "Link:" msgstr "" -#: ../../Zotlabs/Module/Profiles.php:496 -msgid "Homepage" +#: ../../extend/addon/hzaddons/likebanner/likebanner.php:70 +msgid "Like us on Hubzilla" msgstr "" -#: ../../Zotlabs/Module/Profiles.php:500 -msgid "Interests" +#: ../../extend/addon/hzaddons/likebanner/likebanner.php:72 +msgid "Embed:" msgstr "" -#: ../../Zotlabs/Module/Profiles.php:596 -msgid "Profile updated." +#: ../../extend/addon/hzaddons/msgfooter/msgfooter.php:46 +#: ../../extend/addon/hzaddons/xmpp/xmpp.php:43 +#: ../../extend/addon/hzaddons/gravatar/gravatar.php:150 +msgid "Save Settings" msgstr "" -#: ../../Zotlabs/Module/Profiles.php:680 -msgid "Hide your connections list from viewers of this profile" +#: ../../extend/addon/hzaddons/msgfooter/msgfooter.php:47 +msgid "text to include in all outgoing posts from this site" msgstr "" -#: ../../Zotlabs/Module/Profiles.php:724 -msgid "Edit Profile Details" +#: ../../extend/addon/hzaddons/moremoods/moremoods.php:19 +msgid "lonely" msgstr "" -#: ../../Zotlabs/Module/Profiles.php:726 -msgid "View this profile" +#: ../../extend/addon/hzaddons/moremoods/moremoods.php:20 +msgid "drunk" msgstr "" -#: ../../Zotlabs/Module/Profiles.php:728 -msgid "Profile Tools" +#: ../../extend/addon/hzaddons/moremoods/moremoods.php:21 +msgid "horny" msgstr "" -#: ../../Zotlabs/Module/Profiles.php:729 -msgid "Change cover photo" +#: ../../extend/addon/hzaddons/moremoods/moremoods.php:22 +msgid "stoned" msgstr "" -#: ../../Zotlabs/Module/Profiles.php:731 -msgid "Create a new profile using these settings" +#: ../../extend/addon/hzaddons/moremoods/moremoods.php:23 +msgid "fucked up" msgstr "" -#: ../../Zotlabs/Module/Profiles.php:732 -msgid "Clone this profile" +#: ../../extend/addon/hzaddons/moremoods/moremoods.php:24 +msgid "clusterfucked" msgstr "" -#: ../../Zotlabs/Module/Profiles.php:733 -msgid "Delete this profile" +#: ../../extend/addon/hzaddons/moremoods/moremoods.php:25 +msgid "crazy" msgstr "" -#: ../../Zotlabs/Module/Profiles.php:734 -msgid "Add profile things" +#: ../../extend/addon/hzaddons/moremoods/moremoods.php:26 +msgid "hurt" msgstr "" -#: ../../Zotlabs/Module/Profiles.php:735 -msgid "Personal" +#: ../../extend/addon/hzaddons/moremoods/moremoods.php:27 +msgid "sleepy" msgstr "" -#: ../../Zotlabs/Module/Profiles.php:737 -msgid "Relationship" +#: ../../extend/addon/hzaddons/moremoods/moremoods.php:28 +msgid "grumpy" msgstr "" -#: ../../Zotlabs/Module/Profiles.php:740 -msgid "Import profile from file" +#: ../../extend/addon/hzaddons/moremoods/moremoods.php:29 +msgid "high" msgstr "" -#: ../../Zotlabs/Module/Profiles.php:741 -msgid "Export profile to file" +#: ../../extend/addon/hzaddons/moremoods/moremoods.php:30 +msgid "semi-conscious" msgstr "" -#: ../../Zotlabs/Module/Profiles.php:742 -msgid "Your gender" +#: ../../extend/addon/hzaddons/moremoods/moremoods.php:31 +msgid "in love" msgstr "" -#: ../../Zotlabs/Module/Profiles.php:743 -msgid "Marital status" +#: ../../extend/addon/hzaddons/moremoods/moremoods.php:32 +msgid "in lust" msgstr "" -#: ../../Zotlabs/Module/Profiles.php:744 -msgid "Sexual preference" +#: ../../extend/addon/hzaddons/moremoods/moremoods.php:33 +msgid "naked" msgstr "" -#: ../../Zotlabs/Module/Profiles.php:747 -msgid "Profile name" +#: ../../extend/addon/hzaddons/moremoods/moremoods.php:34 +msgid "stinky" msgstr "" -#: ../../Zotlabs/Module/Profiles.php:749 -msgid "This is your default profile." +#: ../../extend/addon/hzaddons/moremoods/moremoods.php:35 +msgid "sweaty" msgstr "" -#: ../../Zotlabs/Module/Profiles.php:751 -msgid "Your full name" +#: ../../extend/addon/hzaddons/moremoods/moremoods.php:36 +msgid "bleeding out" msgstr "" -#: ../../Zotlabs/Module/Profiles.php:752 -msgid "Title/Description" +#: ../../extend/addon/hzaddons/moremoods/moremoods.php:37 +msgid "victorious" msgstr "" -#: ../../Zotlabs/Module/Profiles.php:755 -msgid "Street address" +#: ../../extend/addon/hzaddons/moremoods/moremoods.php:38 +msgid "defeated" msgstr "" -#: ../../Zotlabs/Module/Profiles.php:756 -msgid "Locality/City" +#: ../../extend/addon/hzaddons/moremoods/moremoods.php:39 +msgid "envious" msgstr "" -#: ../../Zotlabs/Module/Profiles.php:757 -msgid "Region/State" +#: ../../extend/addon/hzaddons/moremoods/moremoods.php:40 +msgid "jealous" msgstr "" -#: ../../Zotlabs/Module/Profiles.php:758 -msgid "Postal/Zip code" +#: ../../extend/addon/hzaddons/piwik/piwik.php:85 +msgid "" +"This website is tracked using the <a href='http://www.piwik.org'>Piwik</a> " +"analytics tool." msgstr "" -#: ../../Zotlabs/Module/Profiles.php:764 -msgid "Who (if applicable)" +#: ../../extend/addon/hzaddons/piwik/piwik.php:88 +#, php-format +msgid "" +"If you do not want that your visits are logged this way you <a href='%s'>can " +"set a cookie to prevent Piwik from tracking further visits of the site</a> " +"(opt-out)." msgstr "" -#: ../../Zotlabs/Module/Profiles.php:764 -msgid "Examples: cathy123, Cathy Williams, cathy@example.com" +#: ../../extend/addon/hzaddons/piwik/piwik.php:96 +msgid "Piwik Base URL" msgstr "" -#: ../../Zotlabs/Module/Profiles.php:765 -msgid "Since (date)" +#: ../../extend/addon/hzaddons/piwik/piwik.php:96 +msgid "" +"Absolute path to your Piwik installation. (without protocol (http/s), with " +"trailing slash)" msgstr "" -#: ../../Zotlabs/Module/Profiles.php:768 -msgid "Tell us about yourself" +#: ../../extend/addon/hzaddons/piwik/piwik.php:97 +msgid "Site ID" msgstr "" -#: ../../Zotlabs/Module/Profiles.php:770 -msgid "Hometown" +#: ../../extend/addon/hzaddons/piwik/piwik.php:98 +msgid "Show opt-out cookie link?" msgstr "" -#: ../../Zotlabs/Module/Profiles.php:771 -msgid "Political views" +#: ../../extend/addon/hzaddons/piwik/piwik.php:99 +msgid "Asynchronous tracking" msgstr "" -#: ../../Zotlabs/Module/Profiles.php:772 -msgid "Religious views" +#: ../../extend/addon/hzaddons/piwik/piwik.php:100 +msgid "Enable frontend JavaScript error tracking" msgstr "" -#: ../../Zotlabs/Module/Profiles.php:773 -msgid "Keywords used in directory listings" +#: ../../extend/addon/hzaddons/piwik/piwik.php:100 +msgid "This feature requires Piwik >= 2.2.0" msgstr "" -#: ../../Zotlabs/Module/Profiles.php:773 -msgid "Example: fishing photography software" +#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:101 +#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:102 +#: ../../extend/addon/hzaddons/cart/myshop.php:144 +#: ../../extend/addon/hzaddons/cart/myshop.php:180 +#: ../../extend/addon/hzaddons/cart/myshop.php:214 +#: ../../extend/addon/hzaddons/cart/myshop.php:261 +#: ../../extend/addon/hzaddons/cart/myshop.php:296 +#: ../../extend/addon/hzaddons/cart/myshop.php:319 +msgid "Access Denied" msgstr "" -#: ../../Zotlabs/Module/Profiles.php:776 -msgid "Musical interests" +#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:109 +msgid "Enable Community Moderation" msgstr "" -#: ../../Zotlabs/Module/Profiles.php:777 -msgid "Books, literature" +#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:117 +msgid "Reputation automatically given to new members" msgstr "" -#: ../../Zotlabs/Module/Profiles.php:778 -msgid "Television" +#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:118 +msgid "Reputation will never fall below this value" msgstr "" -#: ../../Zotlabs/Module/Profiles.php:779 -msgid "Film/Dance/Culture/Entertainment" +#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:119 +msgid "Minimum reputation before posting is allowed" msgstr "" -#: ../../Zotlabs/Module/Profiles.php:780 -msgid "Hobbies/Interests" +#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:120 +msgid "Minimum reputation before commenting is allowed" msgstr "" -#: ../../Zotlabs/Module/Profiles.php:781 -msgid "Love/Romance" +#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:121 +msgid "Minimum reputation before a member is able to moderate other posts" msgstr "" -#: ../../Zotlabs/Module/Profiles.php:783 -msgid "School/Education" +#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:122 +msgid "" +"Max ratio of moderator's reputation that can be added to/deducted from " +"reputation of person being moderated" msgstr "" -#: ../../Zotlabs/Module/Profiles.php:784 -msgid "Contact information and social networks" +#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:123 +msgid "Reputation \"cost\" to post" msgstr "" -#: ../../Zotlabs/Module/Profiles.php:785 -msgid "My other channels" +#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:124 +msgid "Reputation \"cost\" to comment" msgstr "" -#: ../../Zotlabs/Module/Profiles.php:787 -msgid "Communications" +#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:125 +msgid "" +"Reputation automatically recovers at this rate per hour until it reaches " +"minimum_to_post" msgstr "" -#: ../../Zotlabs/Module/Subthread.php:143 -#, php-format -msgid "%1$s is following %2$s's %3$s" +#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:126 +msgid "" +"When minimum_to_moderate > reputation > minimum_to_post reputation recovers " +"at this rate per hour" msgstr "" -#: ../../Zotlabs/Module/Subthread.php:145 -#, php-format -msgid "%1$s stopped following %2$s's %3$s" +#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:140 +msgid "Community Moderation Settings" msgstr "" -#: ../../Zotlabs/Module/Articles.php:52 -msgid "Articles App" +#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:232 +msgid "Channel Reputation" msgstr "" -#: ../../Zotlabs/Module/Articles.php:53 -msgid "Create interactive articles" +#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:236 +msgid "An Error has occurred." msgstr "" -#: ../../Zotlabs/Module/Articles.php:116 -msgid "Add Article" +#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:254 +msgid "Upvote" msgstr "" -#: ../../Zotlabs/Module/Bookmarks.php:62 -msgid "Bookmark added" +#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:255 +msgid "Downvote" msgstr "" -#: ../../Zotlabs/Module/Bookmarks.php:78 -msgid "Bookmarks App" +#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:414 +msgid "Can moderate reputation on my channel." msgstr "" -#: ../../Zotlabs/Module/Bookmarks.php:79 -msgid "Bookmark links from posts and manage them" +#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:57 +msgid "Errors encountered deleting database table " msgstr "" -#: ../../Zotlabs/Module/Bookmarks.php:92 -msgid "My Bookmarks" +#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:95 +#: ../../extend/addon/hzaddons/twitter/twitter.php:503 +msgid "Submit Settings" msgstr "" -#: ../../Zotlabs/Module/Bookmarks.php:103 -msgid "My Connections Bookmarks" +#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:96 +msgid "Drop tables when uninstalling?" msgstr "" -#: ../../Zotlabs/Module/Probe.php:18 -msgid "Remote Diagnostics App" +#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:96 +msgid "" +"If checked, the Rendezvous database tables will be deleted when the plugin " +"is uninstalled." msgstr "" -#: ../../Zotlabs/Module/Probe.php:19 -msgid "Perform diagnostics on remote channels" +#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:97 +msgid "Mapbox Access Token" msgstr "" -#: ../../Zotlabs/Module/Changeaddr.php:35 +#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:97 msgid "" -"Channel name changes are not allowed within 48 hours of changing the account " -"password." +"If you enter a Mapbox access token, it will be used to retrieve map tiles " +"from Mapbox instead of the default OpenStreetMap tile server." msgstr "" -#: ../../Zotlabs/Module/Changeaddr.php:77 -msgid "Change channel nickname/address" +#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:162 +msgid "Rendezvous" msgstr "" -#: ../../Zotlabs/Module/Changeaddr.php:78 -msgid "Any/all connections on other networks will be lost!" +#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:167 +msgid "" +"This identity has been deleted by another member due to inactivity. Please " +"press the \"New identity\" button or refresh the page to register a new " +"identity. You may use the same name." msgstr "" -#: ../../Zotlabs/Module/Changeaddr.php:80 -msgid "New channel address" +#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:168 +msgid "Welcome to Rendezvous!" msgstr "" -#: ../../Zotlabs/Module/Changeaddr.php:81 -msgid "Rename Channel" +#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:169 +msgid "" +"Enter your name to join this rendezvous. To begin sharing your location with " +"the other members, tap the GPS control. When your location is discovered, a " +"red dot will appear and others will be able to see you on the map." msgstr "" -#: ../../Zotlabs/Module/Invite.php:37 -msgid "Total invitation limit exceeded." +#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:171 +msgid "Let's meet here" msgstr "" -#: ../../Zotlabs/Module/Invite.php:61 -#, php-format -msgid "%s : Not a valid email address." +#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:174 +msgid "New marker" msgstr "" -#: ../../Zotlabs/Module/Invite.php:75 -msgid "Please join us on $Projectname" +#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:175 +msgid "Edit marker" msgstr "" -#: ../../Zotlabs/Module/Invite.php:85 -msgid "Invitation limit exceeded. Please contact your site administrator." +#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:176 +msgid "New identity" msgstr "" -#: ../../Zotlabs/Module/Invite.php:94 -#, php-format -msgid "%d message sent." -msgid_plural "%d messages sent." -msgstr[0] "" -msgstr[1] "" - -#: ../../Zotlabs/Module/Invite.php:110 -msgid "Invite App" +#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:177 +msgid "Delete marker" msgstr "" -#: ../../Zotlabs/Module/Invite.php:111 -msgid "Send email invitations to join this network" +#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:178 +msgid "Delete member" msgstr "" -#: ../../Zotlabs/Module/Invite.php:124 -msgid "You have no more invitations available" +#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:179 +msgid "Edit proximity alert" msgstr "" -#: ../../Zotlabs/Module/Invite.php:155 -msgid "Send invitations" +#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:180 +msgid "" +"A proximity alert will be issued when this member is within a certain radius " +"of you.<br><br>Enter a radius in meters (0 to disable):" msgstr "" -#: ../../Zotlabs/Module/Invite.php:156 -msgid "Enter email addresses, one per line:" +#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:180 +#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:185 +msgid "distance" msgstr "" -#: ../../Zotlabs/Module/Invite.php:158 -msgid "Please join my community on $Projectname." +#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:181 +msgid "Proximity alert distance (meters)" msgstr "" -#: ../../Zotlabs/Module/Invite.php:160 -msgid "You will need to supply this invitation code:" +#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:182 +#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:184 +msgid "" +"A proximity alert will be issued when you are within a certain radius of the " +"marker location.<br><br>Enter a radius in meters (0 to disable):" msgstr "" -#: ../../Zotlabs/Module/Invite.php:161 -msgid "1. Register at any $Projectname location (they are all inter-connected)" +#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:183 +msgid "Marker proximity alert" msgstr "" -#: ../../Zotlabs/Module/Invite.php:163 -msgid "2. Enter my $Projectname network address into the site searchbar." +#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:186 +msgid "Reminder note" msgstr "" -#: ../../Zotlabs/Module/Invite.php:164 -msgid "or visit" +#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:187 +msgid "" +"Enter a note to be displayed when you are within the specified proximity..." msgstr "" -#: ../../Zotlabs/Module/Invite.php:166 -msgid "3. Click [Connect]" +#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:199 +msgid "Add new rendezvous" msgstr "" -#: ../../Zotlabs/Module/Notes.php:57 -msgid "Notes App" +#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:200 +msgid "" +"Create a new rendezvous and share the access link with those you wish to " +"invite to the group. Those who open the link become members of the " +"rendezvous. They can view other member locations, add markers to the map, or " +"share their own locations with the group." msgstr "" -#: ../../Zotlabs/Module/Notes.php:58 -msgid "A simple notes app with a widget (note: notes are not encrypted)" +#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:232 +msgid "You have no rendezvous. Press the button above to create a rendezvous!" msgstr "" -#: ../../Zotlabs/Module/Xchan.php:10 -msgid "Xchan Lookup" +#: ../../extend/addon/hzaddons/skeleton/Mod_Skeleton.php:32 +msgid "Skeleton App" msgstr "" -#: ../../Zotlabs/Module/Xchan.php:13 -msgid "Lookup xchan beginning with (or webbie): " +#: ../../extend/addon/hzaddons/skeleton/Mod_Skeleton.php:33 +msgid "A skeleton for addons, you can copy/paste" msgstr "" -#: ../../Zotlabs/Module/Affinity.php:35 -msgid "Affinity Tool settings updated." +#: ../../extend/addon/hzaddons/skeleton/Mod_Skeleton.php:40 +msgid "Some setting" msgstr "" -#: ../../Zotlabs/Module/Affinity.php:47 -msgid "" -"This app presents a slider control in your connection editor and also on " -"your network page. The slider represents your degree of friendship " -"(affinity) with each connection. It allows you to zoom in or out and display " -"conversations from only your closest friends or everybody in your stream." +#: ../../extend/addon/hzaddons/skeleton/Mod_Skeleton.php:40 +msgid "A setting" msgstr "" -#: ../../Zotlabs/Module/Affinity.php:52 -msgid "Affinity Tool App" +#: ../../extend/addon/hzaddons/skeleton/Mod_Skeleton.php:48 +msgid "Skeleton Settings" msgstr "" -#: ../../Zotlabs/Module/Affinity.php:57 -msgid "" -"The numbers below represent the minimum and maximum slider default positions " -"for your network/stream page as a percentage." +#: ../../extend/addon/hzaddons/redred/redred.php:50 +msgid "Post to Hubzilla" msgstr "" -#: ../../Zotlabs/Module/Affinity.php:64 -msgid "Default maximum affinity level" +#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:24 +msgid "Channel is required." msgstr "" -#: ../../Zotlabs/Module/Affinity.php:64 -msgid "0-99 default 99" +#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:38 +msgid "Hubzilla Crosspost Connector Settings saved." msgstr "" -#: ../../Zotlabs/Module/Affinity.php:70 -msgid "Default minimum affinity level" +#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:50 +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:146 +msgid "Hubzilla Crosspost Connector App" msgstr "" -#: ../../Zotlabs/Module/Affinity.php:70 -msgid "0-99 - default 0" +#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:51 +msgid "Relay public postings to another Hubzilla channel" msgstr "" -#: ../../Zotlabs/Module/Affinity.php:76 -msgid "Persistent affinity levels" +#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:63 +msgid "Send public postings to Hubzilla channel by default" msgstr "" -#: ../../Zotlabs/Module/Affinity.php:76 -msgid "" -"If disabled the max and min levels will be reset to default after page reload" +#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:67 +msgid "Hubzilla API Path" msgstr "" -#: ../../Zotlabs/Module/Affinity.php:84 -msgid "Affinity Tool Settings" +#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:67 +#: ../../extend/addon/hzaddons/rtof/Mod_Rtof.php:53 +msgid "https://{sitename}/api" msgstr "" -#: ../../Zotlabs/Module/Rate.php:156 -msgid "Website:" +#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:71 +msgid "Hubzilla login name" msgstr "" -#: ../../Zotlabs/Module/Rate.php:159 -#, php-format -msgid "Remote Channel [%s] (not yet known on this site)" +#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:75 +msgid "Hubzilla channel name" msgstr "" -#: ../../Zotlabs/Module/Rate.php:160 -msgid "Rating (this information is public)" +#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:75 +#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:54 +msgid "Nickname" msgstr "" -#: ../../Zotlabs/Module/Rate.php:161 -msgid "Optionally explain your rating (this information is public)" +#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:79 +msgid "Hubzilla password" msgstr "" -#: ../../Zotlabs/Module/Settings/Network.php:42 -#: ../../Zotlabs/Module/Settings/Channel_home.php:46 -msgid "Max height of content (in pixels)" +#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:87 +msgid "Hubzilla Crosspost Connector" msgstr "" -#: ../../Zotlabs/Module/Settings/Network.php:44 -#: ../../Zotlabs/Module/Settings/Channel_home.php:48 -msgid "Click to expand content exceeding this height" +#: ../../extend/addon/hzaddons/totp/Mod_Totp.php:23 +msgid "TOTP Two-Step Verification" msgstr "" -#: ../../Zotlabs/Module/Settings/Network.php:59 -msgid "Stream Settings" +#: ../../extend/addon/hzaddons/totp/Mod_Totp.php:24 +msgid "Enter the 2-step verification generated by your authenticator app:" msgstr "" -#: ../../Zotlabs/Module/Settings/Features.php:45 -msgid "Additional Features" +#: ../../extend/addon/hzaddons/totp/Mod_Totp.php:25 +msgid "Success!" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:329 -msgid "Nobody except yourself" +#: ../../extend/addon/hzaddons/totp/Mod_Totp.php:26 +msgid "Invalid code, please try again." msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:330 -msgid "Only those you specifically allow" +#: ../../extend/addon/hzaddons/totp/Mod_Totp.php:27 +msgid "Too many invalid codes..." msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:331 -msgid "Approved connections" +#: ../../extend/addon/hzaddons/totp/Mod_Totp.php:28 +msgid "Verify" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:332 -msgid "Any connections" +#: ../../extend/addon/hzaddons/totp/Settings/Totp.php:90 +msgid "" +"You haven't set a TOTP secret yet.\n" +"Please click the button below to generate one and register this site\n" +"with your preferred authenticator app." msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:333 -msgid "Anybody on this website" +#: ../../extend/addon/hzaddons/totp/Settings/Totp.php:93 +msgid "Your TOTP secret is" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:334 -msgid "Anybody in this network" +#: ../../extend/addon/hzaddons/totp/Settings/Totp.php:94 +msgid "" +"Be sure to save it somewhere in case you lose or replace your mobile " +"device.\n" +"Use your mobile device to scan the QR code below to register this site\n" +"with your preferred authenticator app." msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:335 -msgid "Anybody authenticated" +#: ../../extend/addon/hzaddons/totp/Settings/Totp.php:99 +msgid "Test" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:336 -msgid "Anybody on the internet" +#: ../../extend/addon/hzaddons/totp/Settings/Totp.php:100 +msgid "Generate New Secret" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:411 -msgid "Publish your default profile in the network directory" +#: ../../extend/addon/hzaddons/totp/Settings/Totp.php:101 +msgid "Go" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:416 -msgid "Allow us to suggest you as a potential friend to new members?" +#: ../../extend/addon/hzaddons/totp/Settings/Totp.php:102 +msgid "Enter your password" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:420 -msgid "or" +#: ../../extend/addon/hzaddons/totp/Settings/Totp.php:103 +msgid "enter TOTP code from your device" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:429 -msgid "Your channel address is" +#: ../../extend/addon/hzaddons/totp/Settings/Totp.php:104 +msgid "Pass!" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:432 -msgid "Your files/photos are accessible via WebDAV at" +#: ../../extend/addon/hzaddons/totp/Settings/Totp.php:105 +msgid "Fail" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:472 -msgid "Automatic membership approval" +#: ../../extend/addon/hzaddons/totp/Settings/Totp.php:106 +msgid "Incorrect password, try again." msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:472 -#: ../../Zotlabs/Module/Defperms.php:256 -msgid "" -"If enabled, connection requests will be approved without your interaction" +#: ../../extend/addon/hzaddons/totp/Settings/Totp.php:107 +msgid "Record your new TOTP secret and rescan the QR code above." msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:493 -msgid "Channel Settings" +#: ../../extend/addon/hzaddons/totp/Settings/Totp.php:115 +msgid "TOTP Settings" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:500 -msgid "Basic Settings" +#: ../../extend/addon/hzaddons/testdrive/testdrive.php:104 +#, php-format +msgid "Your account on %s will expire in a few days." msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:502 -#: ../../Zotlabs/Module/Settings/Account.php:104 -msgid "Email Address:" +#: ../../extend/addon/hzaddons/testdrive/testdrive.php:105 +msgid "Your $Productname test account is about to expire." msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:503 -msgid "Your Timezone:" +#: ../../extend/addon/hzaddons/ldapauth/ldapauth.php:70 +msgid "An account has been created for you." msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:504 -msgid "Default Post Location:" +#: ../../extend/addon/hzaddons/ldapauth/ldapauth.php:77 +msgid "Authentication successful but rejected: account creation is disabled." msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:504 -msgid "Geographical location to display on your posts" +#: ../../extend/addon/hzaddons/cart/cart.php:252 +msgid "DB Cleanup Failure" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:505 -msgid "Use Browser Location:" +#: ../../extend/addon/hzaddons/cart/cart.php:674 +msgid "[cart] Item Added" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:507 -msgid "Adult Content" +#: ../../extend/addon/hzaddons/cart/cart.php:1063 +msgid "Order already checked out." msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:507 -msgid "" -"This channel frequently or regularly publishes adult content. (Please tag " -"any adult material and/or nudity with #NSFW)" +#: ../../extend/addon/hzaddons/cart/cart.php:1368 +msgid "Drop database tables when uninstalling." msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:509 -msgid "Security and Privacy Settings" +#: ../../extend/addon/hzaddons/cart/cart.php:1375 +#: ../../extend/addon/hzaddons/cart/Settings/Cart.php:129 +msgid "Cart Settings" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:511 -msgid "Your permissions are already configured. Click to view/adjust" +#: ../../extend/addon/hzaddons/cart/cart.php:1387 +#: ../../extend/addon/hzaddons/cart/cart.php:1390 +msgid "Shop" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:513 -msgid "Hide my online presence" +#: ../../extend/addon/hzaddons/cart/cart.php:1446 +#: ../../extend/addon/hzaddons/cart/myshop.php:112 +msgid "Order Not Found" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:513 -msgid "Prevents displaying in your profile that you are online" +#: ../../extend/addon/hzaddons/cart/cart.php:1507 +msgid "Cart utilities for orders and payments" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:515 -msgid "Simple Privacy Settings:" +#: ../../extend/addon/hzaddons/cart/cart.php:1545 +msgid "You must be logged into the Grid to shop." msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:516 -msgid "" -"Very Public - <em>extremely permissive (should be used with caution)</em>" +#: ../../extend/addon/hzaddons/cart/cart.php:1578 +#: ../../extend/addon/hzaddons/cart/submodules/paypalbuttonV2.php:409 +#: ../../extend/addon/hzaddons/cart/submodules/paypalbutton.php:392 +#: ../../extend/addon/hzaddons/cart/manual_payments.php:68 +msgid "Order not found." msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:517 -msgid "" -"Typical - <em>default public, privacy when desired (similar to social " -"network permissions but with improved privacy)</em>" +#: ../../extend/addon/hzaddons/cart/cart.php:1592 +msgid "Access denied." msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:518 -msgid "Private - <em>default private, never open or public</em>" +#: ../../extend/addon/hzaddons/cart/cart.php:1644 +#: ../../extend/addon/hzaddons/cart/cart.php:1787 +msgid "No Order Found" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:519 -msgid "Blocked - <em>default blocked to/from everybody</em>" +#: ../../extend/addon/hzaddons/cart/cart.php:1653 +msgid "An unknown error has occurred Please start again." msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:521 -msgid "Allow others to tag your posts" +#: ../../extend/addon/hzaddons/cart/cart.php:1796 +msgid "Requirements not met." msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:521 -msgid "" -"Often used by the community to retro-actively flag inappropriate content" +#: ../../extend/addon/hzaddons/cart/cart.php:1796 +msgid "Review your order and complete any needed requirements." msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:523 -msgid "Channel Permission Limits" +#: ../../extend/addon/hzaddons/cart/cart.php:1822 +msgid "Invalid Payment Type. Please start again." msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:525 -msgid "Expire other channel content after this many days" +#: ../../extend/addon/hzaddons/cart/cart.php:1829 +msgid "Order not found" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:525 -msgid "0 or blank to use the website limit." +#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:70 +msgid "Enable Order/Item Options" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:525 -#, php-format -msgid "This website expires after %d days." +#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:333 +#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:357 +#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:433 +#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:457 +msgid "Label" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:525 -msgid "This website does not expire imported content." +#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:336 +#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:360 +#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:436 +#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:460 +msgid "Instructions" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:525 -msgid "The website limit takes precedence if lower than your limit." +#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:63 +msgid "Enable Hubzilla Services Module" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:526 -msgid "Maximum Friend Requests/Day:" +#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:162 +#: ../../extend/addon/hzaddons/cart/submodules/manualcat.php:172 +msgid "New Sku" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:526 -msgid "May reduce spam activity" +#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:197 +#: ../../extend/addon/hzaddons/cart/submodules/manualcat.php:208 +msgid "Cannot save edits to locked item." msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:527 -msgid "Default Privacy Group" +#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:246 +#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:333 +msgid "SKU not found." msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:529 -msgid "Use my default audience setting for the type of object published" +#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:299 +#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:303 +msgid "Invalid Activation Directive." msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:538 -msgid "Default permissions category" +#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:374 +#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:378 +msgid "Invalid Deactivation Directive." msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:544 -msgid "Maximum private messages per day from unknown people:" +#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:564 +msgid "Add to this privacy group" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:544 -msgid "Useful to reduce spamming" +#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:580 +msgid "Set user service class" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:547 -#: ../../Zotlabs/Lib/Enotify.php:68 -msgid "Notification Settings" +#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:607 +msgid "You must be using a local account to purchase this service." msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:548 -msgid "By default post a status message when:" +#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:647 +#: ../../extend/addon/hzaddons/cart/submodules/manualcat.php:252 +msgid "Changes Locked" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:549 -msgid "accepting a friend request" +#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:651 +#: ../../extend/addon/hzaddons/cart/submodules/manualcat.php:256 +msgid "Item available for purchase." msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:550 -msgid "joining a forum/community" +#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:658 +#: ../../extend/addon/hzaddons/cart/submodules/manualcat.php:263 +#: ../../extend/addon/hzaddons/cart/widgets/catalogitem.php:57 +msgid "Price" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:551 -msgid "making an <em>interesting</em> profile change" +#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:661 +#: ../../extend/addon/hzaddons/cart/submodules/manualcat.php:266 +msgid "Photo URL" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:552 -msgid "Send a notification email when:" +#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:665 +msgid "Add buyer to privacy group" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:553 -msgid "You receive a connection request" +#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:670 +msgid "Add buyer as connection" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:554 -msgid "Your connections are confirmed" +#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:678 +#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:720 +msgid "Set Service Class" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:555 -msgid "Someone writes on your profile wall" +#: ../../extend/addon/hzaddons/cart/submodules/subscriptions.php:151 +msgid "Enable Subscription Management Module" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:556 -msgid "Someone writes a followup comment" +#: ../../extend/addon/hzaddons/cart/submodules/subscriptions.php:223 +msgid "" +"Cannot include subscription items with different terms in the same order." msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:557 -msgid "You receive a private message" +#: ../../extend/addon/hzaddons/cart/submodules/subscriptions.php:372 +msgid "Select Subscription to Edit" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:558 -msgid "You receive a friend suggestion" +#: ../../extend/addon/hzaddons/cart/submodules/subscriptions.php:380 +msgid "Edit Subscriptions" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:559 -msgid "You are tagged in a post" +#: ../../extend/addon/hzaddons/cart/submodules/subscriptions.php:414 +msgid "Subscription SKU" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:560 -msgid "You are poked/prodded/etc. in a post" +#: ../../extend/addon/hzaddons/cart/submodules/subscriptions.php:419 +msgid "Catalog Description" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:562 -msgid "Someone likes your post/comment" +#: ../../extend/addon/hzaddons/cart/submodules/subscriptions.php:423 +msgid "Subscription available for purchase." msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:565 -msgid "Show visual notifications including:" +#: ../../extend/addon/hzaddons/cart/submodules/subscriptions.php:428 +msgid "Maximum active subscriptions to this item per account." msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:567 -msgid "Unseen stream activity" +#: ../../extend/addon/hzaddons/cart/submodules/subscriptions.php:431 +msgid "Subscription price." msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:568 -msgid "Unseen channel activity" +#: ../../extend/addon/hzaddons/cart/submodules/subscriptions.php:435 +msgid "Quantity" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:569 -msgid "Unseen private messages" +#: ../../extend/addon/hzaddons/cart/submodules/subscriptions.php:439 +msgid "Term" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:569 -#: ../../Zotlabs/Module/Settings/Channel.php:574 -#: ../../Zotlabs/Module/Settings/Channel.php:575 -#: ../../Zotlabs/Module/Settings/Channel.php:576 -msgid "Recommended" +#: ../../extend/addon/hzaddons/cart/submodules/paypalbuttonV2.php:86 +msgid "Enable Paypal Button Module (API-v2)" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:570 -msgid "Upcoming events" +#: ../../extend/addon/hzaddons/cart/submodules/paypalbuttonV2.php:94 +#: ../../extend/addon/hzaddons/cart/submodules/paypalbutton.php:93 +msgid "Use Production Key" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:571 -msgid "Events today" +#: ../../extend/addon/hzaddons/cart/submodules/paypalbuttonV2.php:101 +#: ../../extend/addon/hzaddons/cart/submodules/paypalbutton.php:100 +msgid "Paypal Sandbox Client Key" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:572 -msgid "Upcoming birthdays" +#: ../../extend/addon/hzaddons/cart/submodules/paypalbuttonV2.php:108 +#: ../../extend/addon/hzaddons/cart/submodules/paypalbutton.php:107 +msgid "Paypal Sandbox Secret Key" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:572 -msgid "Not available in all themes" +#: ../../extend/addon/hzaddons/cart/submodules/paypalbuttonV2.php:114 +#: ../../extend/addon/hzaddons/cart/submodules/paypalbutton.php:113 +msgid "Paypal Production Client Key" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:573 -msgid "System (personal) notifications" +#: ../../extend/addon/hzaddons/cart/submodules/paypalbuttonV2.php:121 +#: ../../extend/addon/hzaddons/cart/submodules/paypalbutton.php:120 +msgid "Paypal Production Secret Key" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:574 -msgid "System info messages" +#: ../../extend/addon/hzaddons/cart/submodules/paypalbuttonV2.php:264 +#: ../../extend/addon/hzaddons/cart/submodules/paypalbutton.php:252 +msgid "Paypal button payments are not enabled." msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:575 -msgid "System critical alerts" +#: ../../extend/addon/hzaddons/cart/submodules/paypalbuttonV2.php:282 +#: ../../extend/addon/hzaddons/cart/submodules/paypalbutton.php:270 +msgid "" +"Paypal button payments are not properly configured. Please choose another " +"payment option." msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:576 -msgid "New connections" +#: ../../extend/addon/hzaddons/cart/submodules/paypalbutton.php:85 +msgid "Enable Paypal Button Module" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:577 -msgid "System Registrations" +#: ../../extend/addon/hzaddons/cart/submodules/manualcat.php:61 +msgid "Enable Manual Cart Module" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:578 -msgid "Unseen shared files" +#: ../../extend/addon/hzaddons/cart/myshop.php:30 +msgid "Access Denied." msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:579 -msgid "Unseen public stream activity" +#: ../../extend/addon/hzaddons/cart/myshop.php:189 +#: ../../extend/addon/hzaddons/cart/myshop.php:223 +#: ../../extend/addon/hzaddons/cart/myshop.php:271 +#: ../../extend/addon/hzaddons/cart/myshop.php:329 +msgid "Invalid Item" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:580 -msgid "Unseen likes and dislikes" +#: ../../extend/addon/hzaddons/cart/manual_payments.php:7 +msgid "Error: order mismatch. Please try again." msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:581 -msgid "Unseen forum posts" +#: ../../extend/addon/hzaddons/cart/manual_payments.php:61 +msgid "Manual payments are not enabled." msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:582 -msgid "Email notification hub (hostname)" +#: ../../extend/addon/hzaddons/cart/manual_payments.php:77 +msgid "Finished" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:582 -#, php-format -msgid "" -"If your channel is mirrored to multiple hubs, set this to your preferred " -"location. This will prevent duplicate email notifications. Example: %s" +#: ../../extend/addon/hzaddons/cart/Settings/Cart.php:58 +msgid "Enable Test Catalog" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:583 -msgid "Show new wall posts, private messages and connections under Notices" +#: ../../extend/addon/hzaddons/cart/Settings/Cart.php:70 +msgid "Enable Manual Payments" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:585 -msgid "Notify me of events this many days in advance" +#: ../../extend/addon/hzaddons/cart/Settings/Cart.php:90 +msgid "Base Merchant Currency" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:585 -msgid "Must be greater than 0" +#: ../../extend/addon/hzaddons/openid/openid.php:49 +msgid "" +"We encountered a problem while logging in with the OpenID you provided. " +"Please check the correct spelling of the ID." msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:590 -msgid "Advanced Account/Page Type Settings" +#: ../../extend/addon/hzaddons/openid/openid.php:49 +msgid "The error message was:" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:591 -msgid "Change the behaviour of this account for special situations" +#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:52 +msgid "First Name" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:593 -msgid "Miscellaneous Settings" +#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:53 +msgid "Last Name" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:594 -msgid "Default photo upload folder" +#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:55 +msgid "Full Name" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:594 -#: ../../Zotlabs/Module/Settings/Channel.php:595 -msgid "%Y - current year, %m - current month" +#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:61 +msgid "Profile Photo 16px" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:595 -msgid "Default file upload folder" +#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:62 +msgid "Profile Photo 32px" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel.php:597 -msgid "Remove this channel." +#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:63 +msgid "Profile Photo 48px" msgstr "" -#: ../../Zotlabs/Module/Settings/Account.php:19 -msgid "Not valid email." +#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:64 +msgid "Profile Photo 64px" msgstr "" -#: ../../Zotlabs/Module/Settings/Account.php:22 -msgid "Protected email address. Cannot change to that email." +#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:65 +msgid "Profile Photo 80px" msgstr "" -#: ../../Zotlabs/Module/Settings/Account.php:31 -msgid "System failure storing new email. Please try again." +#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:66 +msgid "Profile Photo 128px" msgstr "" -#: ../../Zotlabs/Module/Settings/Account.php:48 -msgid "Password verification failed." +#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:70 +msgid "Birth Year" msgstr "" -#: ../../Zotlabs/Module/Settings/Account.php:55 -msgid "Passwords do not match. Password unchanged." +#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:71 +msgid "Birth Month" msgstr "" -#: ../../Zotlabs/Module/Settings/Account.php:59 -msgid "Empty passwords are not allowed. Password unchanged." +#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:72 +msgid "Birth Day" msgstr "" -#: ../../Zotlabs/Module/Settings/Account.php:73 -msgid "Password changed." +#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:73 +msgid "Birthdate" msgstr "" -#: ../../Zotlabs/Module/Settings/Account.php:75 -msgid "Password update failed. Please try again." +#: ../../extend/addon/hzaddons/openid/Mod_Openid.php:30 +msgid "OpenID protocol error. No ID returned." msgstr "" -#: ../../Zotlabs/Module/Settings/Account.php:99 -msgid "Account Settings" +#: ../../extend/addon/hzaddons/hzfiles/hzfiles.php:81 +msgid "Hubzilla File Storage Import" msgstr "" -#: ../../Zotlabs/Module/Settings/Account.php:100 -msgid "Current Password" +#: ../../extend/addon/hzaddons/hzfiles/hzfiles.php:82 +msgid "This will import all your cloud files from another server." msgstr "" -#: ../../Zotlabs/Module/Settings/Account.php:101 -msgid "Enter New Password" +#: ../../extend/addon/hzaddons/hzfiles/hzfiles.php:83 +msgid "Hubzilla Server base URL" msgstr "" -#: ../../Zotlabs/Module/Settings/Account.php:102 -msgid "Confirm New Password" +#: ../../extend/addon/hzaddons/hzfiles/hzfiles.php:84 +#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:140 +msgid "Since modified date yyyy-mm-dd" msgstr "" -#: ../../Zotlabs/Module/Settings/Account.php:102 -msgid "Leave password fields blank unless changing" +#: ../../extend/addon/hzaddons/hzfiles/hzfiles.php:85 +#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:141 +msgid "Until modified date yyyy-mm-dd" msgstr "" -#: ../../Zotlabs/Module/Settings/Account.php:106 -msgid "Remove this account including all its channels" +#: ../../extend/addon/hzaddons/diaspora/Mod_Diaspora.php:43 +msgid "Diaspora Protocol Settings updated." msgstr "" -#: ../../Zotlabs/Module/Settings/Featured.php:25 -msgid "No feature settings configured" +#: ../../extend/addon/hzaddons/diaspora/Mod_Diaspora.php:52 +msgid "" +"The diaspora protocol does not support location independence. Connections " +"you make within that network may be unreachable from alternate channel " +"locations." msgstr "" -#: ../../Zotlabs/Module/Settings/Featured.php:34 -msgid "Addon Settings" +#: ../../extend/addon/hzaddons/diaspora/Mod_Diaspora.php:58 +msgid "Diaspora Protocol App" msgstr "" -#: ../../Zotlabs/Module/Settings/Featured.php:35 -msgid "Please save/submit changes to any panel before opening another." +#: ../../extend/addon/hzaddons/diaspora/Mod_Diaspora.php:75 +msgid "Allow any Diaspora member to comment on your public posts" msgstr "" -#: ../../Zotlabs/Module/Settings/Events.php:40 -msgid "Events Settings" +#: ../../extend/addon/hzaddons/diaspora/Mod_Diaspora.php:79 +msgid "Prevent your hashtags from being redirected to other sites" msgstr "" -#: ../../Zotlabs/Module/Settings/Manage.php:41 -msgid "Channel Manager Settings" +#: ../../extend/addon/hzaddons/diaspora/Mod_Diaspora.php:83 +msgid "Sign and forward posts and comments with no existing Diaspora signature" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel_home.php:61 -msgid "Personal menu to display in your channel pages" +#: ../../extend/addon/hzaddons/diaspora/Mod_Diaspora.php:88 +msgid "Followed hashtags (comma separated, do not include the #)" msgstr "" -#: ../../Zotlabs/Module/Settings/Channel_home.php:88 -msgid "Channel Home Settings" +#: ../../extend/addon/hzaddons/diaspora/Mod_Diaspora.php:97 +msgid "Diaspora Protocol" msgstr "" -#: ../../Zotlabs/Module/Settings/Calendar.php:40 -msgid "Calendar Settings" +#: ../../extend/addon/hzaddons/diaspora/import_diaspora.php:19 +msgid "No username found in import file." msgstr "" -#: ../../Zotlabs/Module/Settings/Display.php:129 +#: ../../extend/addon/hzaddons/diaspora/Receiver.php:1541 #, php-format -msgid "%s - (Experimental)" +msgid "%1$s dislikes %2$s's %3$s" msgstr "" -#: ../../Zotlabs/Module/Settings/Display.php:185 -msgid "Display Settings" +#: ../../extend/addon/hzaddons/diaspora/diaspora.php:66 +msgid "" +"Please install the statistics addon to be able to configure a diaspora relay" msgstr "" -#: ../../Zotlabs/Module/Settings/Display.php:186 -msgid "Theme Settings" +#: ../../extend/addon/hzaddons/diaspora/diaspora.php:76 +msgid "Diaspora Relay Handle" msgstr "" -#: ../../Zotlabs/Module/Settings/Display.php:187 -msgid "Custom Theme Settings" +#: ../../extend/addon/hzaddons/diaspora/diaspora.php:76 +msgid "Address of a diaspora relay. Example: relay@diasporarelay.tld" msgstr "" -#: ../../Zotlabs/Module/Settings/Display.php:188 -msgid "Content Settings" +#: ../../extend/addon/hzaddons/diaspora/diaspora.php:96 +msgid "Diaspora relay could not be imported" msgstr "" -#: ../../Zotlabs/Module/Settings/Display.php:194 -msgid "Display Theme:" +#: ../../extend/addon/hzaddons/dirstats/dirstats.php:94 +msgid "Hubzilla Directory Stats" msgstr "" -#: ../../Zotlabs/Module/Settings/Display.php:195 -msgid "Select scheme" +#: ../../extend/addon/hzaddons/dirstats/dirstats.php:95 +msgid "Total Hubs" msgstr "" -#: ../../Zotlabs/Module/Settings/Display.php:197 -msgid "Preload images before rendering the page" +#: ../../extend/addon/hzaddons/dirstats/dirstats.php:97 +msgid "Hubzilla Hubs" msgstr "" -#: ../../Zotlabs/Module/Settings/Display.php:197 -msgid "" -"The subjective page load time will be longer but the page will be ready when " -"displayed" +#: ../../extend/addon/hzaddons/dirstats/dirstats.php:99 +msgid "Friendica Hubs" msgstr "" -#: ../../Zotlabs/Module/Settings/Display.php:198 -msgid "Enable user zoom on mobile devices" +#: ../../extend/addon/hzaddons/dirstats/dirstats.php:101 +msgid "Diaspora Pods" msgstr "" -#: ../../Zotlabs/Module/Settings/Display.php:199 -msgid "Update browser every xx seconds" +#: ../../extend/addon/hzaddons/dirstats/dirstats.php:103 +msgid "Hubzilla Channels" msgstr "" -#: ../../Zotlabs/Module/Settings/Display.php:199 -msgid "Minimum of 10 seconds, no maximum" +#: ../../extend/addon/hzaddons/dirstats/dirstats.php:105 +msgid "Friendica Channels" msgstr "" -#: ../../Zotlabs/Module/Settings/Display.php:200 -msgid "Maximum number of conversations to load at any time:" +#: ../../extend/addon/hzaddons/dirstats/dirstats.php:107 +msgid "Diaspora Channels" msgstr "" -#: ../../Zotlabs/Module/Settings/Display.php:200 -msgid "Maximum of 30 items" +#: ../../extend/addon/hzaddons/dirstats/dirstats.php:109 +msgid "Aged 35 and above" msgstr "" -#: ../../Zotlabs/Module/Settings/Display.php:201 -msgid "Show emoticons (smilies) as images" +#: ../../extend/addon/hzaddons/dirstats/dirstats.php:111 +msgid "Aged 34 and under" msgstr "" -#: ../../Zotlabs/Module/Settings/Display.php:202 -msgid "Provide channel menu in navigation bar" +#: ../../extend/addon/hzaddons/dirstats/dirstats.php:113 +msgid "Average Age" msgstr "" -#: ../../Zotlabs/Module/Settings/Display.php:202 -msgid "Default: channel menu located in app menu" +#: ../../extend/addon/hzaddons/dirstats/dirstats.php:115 +msgid "Known Chatrooms" msgstr "" -#: ../../Zotlabs/Module/Settings/Display.php:203 -msgid "Manual conversation updates" +#: ../../extend/addon/hzaddons/dirstats/dirstats.php:117 +msgid "Known Tags" msgstr "" -#: ../../Zotlabs/Module/Settings/Display.php:203 -msgid "Default is on, turning this off may increase screen jumping" +#: ../../extend/addon/hzaddons/dirstats/dirstats.php:119 +msgid "" +"Please note Diaspora and Friendica statistics are merely those **this " +"directory** is aware of, and not all those known in the network. This also " +"applies to chatrooms," msgstr "" -#: ../../Zotlabs/Module/Settings/Display.php:204 -msgid "Link post titles to source" +#: ../../extend/addon/hzaddons/upload_limits/upload_limits.php:25 +msgid "Show Upload Limits" msgstr "" -#: ../../Zotlabs/Module/Settings/Display.php:206 -msgid "Display new member quick links menu" +#: ../../extend/addon/hzaddons/upload_limits/upload_limits.php:27 +msgid "Hubzilla configured maximum size: " msgstr "" -#: ../../Zotlabs/Module/Settings/Directory.php:40 -msgid "Directory Settings" +#: ../../extend/addon/hzaddons/upload_limits/upload_limits.php:28 +msgid "PHP upload_max_filesize: " msgstr "" -#: ../../Zotlabs/Module/Settings/Editor.php:40 -msgid "Editor Settings" +#: ../../extend/addon/hzaddons/upload_limits/upload_limits.php:29 +msgid "PHP post_max_size (must be larger than upload_max_filesize): " msgstr "" -#: ../../Zotlabs/Module/Settings/Connections.php:40 -msgid "Connections Settings" +#: ../../extend/addon/hzaddons/hideaside/Mod_Hideaside.php:23 +#: ../../extend/addon/hzaddons/hideaside/Mod_Hideaside.php:27 +msgid "Hide Aside App" msgstr "" -#: ../../Zotlabs/Module/Settings/Photos.php:40 -msgid "Photos Settings" +#: ../../extend/addon/hzaddons/hideaside/Mod_Hideaside.php:24 +#: ../../extend/addon/hzaddons/hideaside/Mod_Hideaside.php:28 +msgid "Fade out aside areas after a while when using endless scroll" msgstr "" -#: ../../Zotlabs/Module/Settings/Profiles.php:49 -msgid "Profiles Settings" +#: ../../extend/addon/hzaddons/hideaside/Mod_Hideaside.php:27 +#: ../../extend/addon/hzaddons/planets/Mod_Planets.php:23 +#: ../../extend/addon/hzaddons/hsse/Mod_Hsse.php:26 +#: ../../extend/addon/hzaddons/authchoose/Mod_Authchoose.php:33 +#: ../../extend/addon/hzaddons/nsabait/Mod_Nsabait.php:24 +#: ../../extend/addon/hzaddons/rainbowtag/Mod_Rainbowtag.php:26 +msgid "Installed" msgstr "" -#: ../../Zotlabs/Module/Settings/Conversation.php:23 -msgid "Settings saved." +#: ../../extend/addon/hzaddons/randpost/randpost.php:97 +msgid "You're welcome." msgstr "" -#: ../../Zotlabs/Module/Settings/Conversation.php:25 -msgid "Settings saved. Reload page please." +#: ../../extend/addon/hzaddons/randpost/randpost.php:98 +msgid "Ah shucks..." msgstr "" -#: ../../Zotlabs/Module/Settings/Conversation.php:47 -msgid "Conversation Settings" +#: ../../extend/addon/hzaddons/randpost/randpost.php:99 +msgid "Don't mention it." msgstr "" -#: ../../Zotlabs/Module/Menu.php:68 -msgid "Unable to update menu." +#: ../../extend/addon/hzaddons/randpost/randpost.php:100 +msgid "<blush>" msgstr "" -#: ../../Zotlabs/Module/Menu.php:79 -msgid "Unable to create menu." +#: ../../extend/addon/hzaddons/openstreetmap/openstreetmap.php:133 +msgid "View Larger" msgstr "" -#: ../../Zotlabs/Module/Menu.php:161 ../../Zotlabs/Module/Menu.php:174 -msgid "Menu Name" +#: ../../extend/addon/hzaddons/openstreetmap/openstreetmap.php:156 +msgid "Tile Server URL" msgstr "" -#: ../../Zotlabs/Module/Menu.php:161 -msgid "Unique name (not visible on webpage) - required" +#: ../../extend/addon/hzaddons/openstreetmap/openstreetmap.php:156 +msgid "" +"A list of <a href=\"http://wiki.openstreetmap.org/wiki/TMS\" target=\"_blank" +"\">public tile servers</a>" msgstr "" -#: ../../Zotlabs/Module/Menu.php:162 ../../Zotlabs/Module/Menu.php:175 -msgid "Menu Title" +#: ../../extend/addon/hzaddons/openstreetmap/openstreetmap.php:157 +msgid "Nominatim (reverse geocoding) Server URL" msgstr "" -#: ../../Zotlabs/Module/Menu.php:162 -msgid "Visible on webpage - leave empty for no title" +#: ../../extend/addon/hzaddons/openstreetmap/openstreetmap.php:157 +msgid "" +"A list of <a href=\"http://wiki.openstreetmap.org/wiki/Nominatim\" target=" +"\"_blank\">Nominatim servers</a>" msgstr "" -#: ../../Zotlabs/Module/Menu.php:163 -msgid "Allow Bookmarks" +#: ../../extend/addon/hzaddons/openstreetmap/openstreetmap.php:158 +msgid "Default zoom" msgstr "" -#: ../../Zotlabs/Module/Menu.php:163 ../../Zotlabs/Module/Menu.php:222 -msgid "Menu may be used to store saved bookmarks" +#: ../../extend/addon/hzaddons/openstreetmap/openstreetmap.php:158 +msgid "" +"The default zoom level. (1:world, 18:highest, also depends on tile server)" msgstr "" -#: ../../Zotlabs/Module/Menu.php:164 ../../Zotlabs/Module/Menu.php:225 -msgid "Submit and proceed" +#: ../../extend/addon/hzaddons/openstreetmap/openstreetmap.php:159 +msgid "Include marker on map" msgstr "" -#: ../../Zotlabs/Module/Menu.php:177 ../../Zotlabs/Module/Locs.php:124 -msgid "Drop" +#: ../../extend/addon/hzaddons/openstreetmap/openstreetmap.php:159 +msgid "Include a marker on the map." msgstr "" -#: ../../Zotlabs/Module/Menu.php:181 -msgid "Bookmarks allowed" +#: ../../extend/addon/hzaddons/ljpost/Mod_Ljpost.php:38 +msgid "Livejournal Crosspost Connector App" msgstr "" -#: ../../Zotlabs/Module/Menu.php:183 -msgid "Delete this menu" +#: ../../extend/addon/hzaddons/ljpost/Mod_Ljpost.php:39 +msgid "Relay public posts to Livejournal" msgstr "" -#: ../../Zotlabs/Module/Menu.php:184 ../../Zotlabs/Module/Menu.php:219 -msgid "Edit menu contents" +#: ../../extend/addon/hzaddons/ljpost/Mod_Ljpost.php:55 +msgid "Livejournal username" msgstr "" -#: ../../Zotlabs/Module/Menu.php:185 -msgid "Edit this menu" +#: ../../extend/addon/hzaddons/ljpost/Mod_Ljpost.php:59 +msgid "Livejournal password" msgstr "" -#: ../../Zotlabs/Module/Menu.php:201 -msgid "Menu could not be deleted." +#: ../../extend/addon/hzaddons/ljpost/Mod_Ljpost.php:63 +msgid "Post to Livejournal by default" msgstr "" -#: ../../Zotlabs/Module/Menu.php:214 -msgid "Edit Menu" +#: ../../extend/addon/hzaddons/ljpost/Mod_Ljpost.php:67 +msgid "Send wall-to-wall posts to Livejournal" msgstr "" -#: ../../Zotlabs/Module/Menu.php:218 -msgid "Add or remove entries to this menu" +#: ../../extend/addon/hzaddons/ljpost/Mod_Ljpost.php:71 +#: ../../extend/addon/hzaddons/dwpost/Mod_Dwpost.php:65 +#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:94 +msgid "Add link to original post" msgstr "" -#: ../../Zotlabs/Module/Menu.php:220 -msgid "Menu name" +#: ../../extend/addon/hzaddons/ljpost/Mod_Ljpost.php:79 +msgid "Livejournal Crosspost Connector" msgstr "" -#: ../../Zotlabs/Module/Menu.php:220 -msgid "Must be unique, only seen by you" +#: ../../extend/addon/hzaddons/ljpost/ljpost.php:49 +msgid "Post to Livejournal" msgstr "" -#: ../../Zotlabs/Module/Menu.php:221 -msgid "Menu title" +#: ../../extend/addon/hzaddons/ljpost/ljpost.php:127 +msgid "Posted by" msgstr "" -#: ../../Zotlabs/Module/Menu.php:221 -msgid "Menu title as seen by others" +#: ../../extend/addon/hzaddons/workflow/workflow.php:222 +msgid "Workflow user." msgstr "" -#: ../../Zotlabs/Module/Menu.php:222 -msgid "Allow bookmarks" +#: ../../extend/addon/hzaddons/workflow/workflow.php:272 +msgid "This channel" msgstr "" -#: ../../Zotlabs/Module/Defperms.php:68 ../../Zotlabs/Module/Connedit.php:89 -msgid "Could not access contact record." +#: ../../extend/addon/hzaddons/workflow/workflow.php:541 +#: ../../extend/addon/hzaddons/workflow/workflow.php:1437 +#: ../../extend/addon/hzaddons/workflow/workflow.php:1456 +msgid "Workflow" msgstr "" -#: ../../Zotlabs/Module/Defperms.php:190 -msgid "Default Permissions App" +#: ../../extend/addon/hzaddons/workflow/workflow.php:1425 +msgid "No Workflows Available" msgstr "" -#: ../../Zotlabs/Module/Defperms.php:191 -msgid "Set custom default permissions for new connections" +#: ../../extend/addon/hzaddons/workflow/workflow.php:1455 +msgid "Add item to which workflow" msgstr "" -#: ../../Zotlabs/Module/Defperms.php:255 ../../Zotlabs/Module/Connedit.php:870 -msgid "Connection Default Permissions" +#: ../../extend/addon/hzaddons/workflow/workflow.php:1515 +#: ../../extend/addon/hzaddons/workflow/workflow.php:1634 +msgid "Create Workflow Item" msgstr "" -#: ../../Zotlabs/Module/Defperms.php:256 ../../Zotlabs/Module/Connedit.php:871 -msgid "Apply these permissions automatically" +#: ../../extend/addon/hzaddons/workflow/workflow.php:2596 +msgid "Link" msgstr "" -#: ../../Zotlabs/Module/Defperms.php:257 ../../Zotlabs/Module/Connedit.php:872 -msgid "Permission role" +#: ../../extend/addon/hzaddons/workflow/workflow.php:2598 +msgid "Web link." msgstr "" -#: ../../Zotlabs/Module/Defperms.php:258 ../../Zotlabs/Module/Connedit.php:873 -msgid "Add permission role" +#: ../../extend/addon/hzaddons/workflow/workflow.php:2619 +#: ../../extend/addon/hzaddons/workflow/workflow.php:2680 +msgid "Brief description or title" msgstr "" -#: ../../Zotlabs/Module/Defperms.php:262 ../../Zotlabs/Module/Connedit.php:886 -msgid "" -"The permissions indicated on this page will be applied to all new " -"connections." +#: ../../extend/addon/hzaddons/workflow/workflow.php:2627 +#: ../../extend/addon/hzaddons/workflow/workflow.php:2688 +msgid "Notes and Info" msgstr "" -#: ../../Zotlabs/Module/Defperms.php:263 -msgid "Automatic approval settings" +#: ../../extend/addon/hzaddons/workflow/workflow.php:2686 +msgid "Body" msgstr "" -#: ../../Zotlabs/Module/Defperms.php:271 -msgid "" -"Some individual permissions may have been preset or locked based on your " -"channel type and privacy settings." +#: ../../extend/addon/hzaddons/workflow/Settings/Mod_WorkflowSettings.php:101 +msgid "Workflow Settings" msgstr "" -#: ../../Zotlabs/Module/Pconfig.php:32 ../../Zotlabs/Module/Pconfig.php:68 -msgid "This setting requires special processing and editing has been blocked." +#: ../../extend/addon/hzaddons/xmpp/xmpp.php:44 +msgid "Jabber BOSH host" msgstr "" -#: ../../Zotlabs/Module/Pconfig.php:57 -msgid "Configuration Editor" +#: ../../extend/addon/hzaddons/xmpp/xmpp.php:45 +msgid "Use central userbase" msgstr "" -#: ../../Zotlabs/Module/Pconfig.php:58 +#: ../../extend/addon/hzaddons/xmpp/xmpp.php:45 msgid "" -"Warning: Changing some settings could render your channel inoperable. Please " -"leave this page unless you are comfortable with and knowledgeable about how " -"to correctly use this feature." +"If enabled, members will automatically login to an ejabberd server that has " +"to be installed on this machine with synchronized credentials via the " +"\"auth_ejabberd.php\" script." msgstr "" -#: ../../Zotlabs/Module/Oauth2.php:54 -msgid "Name and Secret are required" +#: ../../extend/addon/hzaddons/xmpp/Mod_Xmpp.php:23 +msgid "XMPP settings updated." msgstr "" -#: ../../Zotlabs/Module/Oauth2.php:106 -msgid "OAuth2 Apps Manager App" +#: ../../extend/addon/hzaddons/xmpp/Mod_Xmpp.php:35 +msgid "XMPP App" msgstr "" -#: ../../Zotlabs/Module/Oauth2.php:107 -msgid "OAuth2 authenticatication tokens for mobile and remote apps" +#: ../../extend/addon/hzaddons/xmpp/Mod_Xmpp.php:36 +msgid "Embedded XMPP (Jabber) client" msgstr "" -#: ../../Zotlabs/Module/Oauth2.php:115 -msgid "Add OAuth2 application" +#: ../../extend/addon/hzaddons/xmpp/Mod_Xmpp.php:52 +msgid "Individual credentials" msgstr "" -#: ../../Zotlabs/Module/Oauth2.php:121 ../../Zotlabs/Module/Oauth2.php:149 -msgid "Grant Types" +#: ../../extend/addon/hzaddons/xmpp/Mod_Xmpp.php:58 +msgid "Jabber BOSH server" msgstr "" -#: ../../Zotlabs/Module/Oauth2.php:121 ../../Zotlabs/Module/Oauth2.php:122 -msgid "leave blank unless your application sepcifically requires this" +#: ../../extend/addon/hzaddons/xmpp/Mod_Xmpp.php:67 +msgid "XMPP Settings" msgstr "" -#: ../../Zotlabs/Module/Oauth2.php:122 ../../Zotlabs/Module/Oauth2.php:150 -msgid "Authorization scope" +#: ../../extend/addon/hzaddons/superblock/Mod_Superblock.php:20 +msgid "Superblock App" msgstr "" -#: ../../Zotlabs/Module/Oauth2.php:134 -msgid "OAuth2 Application not found." +#: ../../extend/addon/hzaddons/superblock/Mod_Superblock.php:21 +msgid "Block channels" msgstr "" -#: ../../Zotlabs/Module/Oauth2.php:149 ../../Zotlabs/Module/Oauth2.php:150 -msgid "leave blank unless your application specifically requires this" +#: ../../extend/addon/hzaddons/superblock/Mod_Superblock.php:63 +msgid "superblock settings updated" msgstr "" -#: ../../Zotlabs/Module/Oauth2.php:192 -msgid "Connected OAuth2 Apps" +#: ../../extend/addon/hzaddons/superblock/Mod_Superblock.php:87 +msgid "Currently blocked" msgstr "" -#: ../../Zotlabs/Module/Randprof.php:29 -msgid "Random Channel App" +#: ../../extend/addon/hzaddons/superblock/Mod_Superblock.php:89 +msgid "No channels currently blocked" msgstr "" -#: ../../Zotlabs/Module/Randprof.php:30 -msgid "Visit a random channel in the $Projectname network" +#: ../../extend/addon/hzaddons/superblock/superblock.php:337 +msgid "Block Completely" msgstr "" -#: ../../Zotlabs/Module/Dreport.php:59 -msgid "Invalid message" +#: ../../extend/addon/hzaddons/planets/Mod_Planets.php:20 +#: ../../extend/addon/hzaddons/planets/Mod_Planets.php:23 +msgid "Random Planet App" msgstr "" -#: ../../Zotlabs/Module/Dreport.php:93 -msgid "no results" +#: ../../extend/addon/hzaddons/planets/Mod_Planets.php:25 +msgid "" +"Set a random planet from the Star Wars Empire as your location when posting" msgstr "" -#: ../../Zotlabs/Module/Dreport.php:107 -msgid "channel sync processed" +#: ../../extend/addon/hzaddons/nsfw/nsfw.php:152 +msgid "Possible adult content" msgstr "" -#: ../../Zotlabs/Module/Dreport.php:111 -msgid "queued" +#: ../../extend/addon/hzaddons/nsfw/nsfw.php:167 +#, php-format +msgid "%s - view" msgstr "" -#: ../../Zotlabs/Module/Dreport.php:115 -msgid "posted" +#: ../../extend/addon/hzaddons/nsfw/Mod_Nsfw.php:22 +msgid "NSFW Settings saved." msgstr "" -#: ../../Zotlabs/Module/Dreport.php:119 -msgid "accepted for delivery" +#: ../../extend/addon/hzaddons/nsfw/Mod_Nsfw.php:33 +msgid "NSFW App" msgstr "" -#: ../../Zotlabs/Module/Dreport.php:123 -msgid "updated" +#: ../../extend/addon/hzaddons/nsfw/Mod_Nsfw.php:34 +msgid "Collapse content that contains predefined words" msgstr "" -#: ../../Zotlabs/Module/Dreport.php:126 -msgid "update ignored" +#: ../../extend/addon/hzaddons/nsfw/Mod_Nsfw.php:44 +msgid "" +"This app looks in posts for the words/text you specify below, and collapses " +"any content containing those keywords so it is not displayed at " +"inappropriate times, such as sexual innuendo that may be improper in a work " +"setting. It is polite and recommended to tag any content containing nudity " +"with #NSFW. This filter can also match any other word/text you specify, and " +"can thereby be used as a general purpose content filter." msgstr "" -#: ../../Zotlabs/Module/Dreport.php:129 -msgid "permission denied" +#: ../../extend/addon/hzaddons/nsfw/Mod_Nsfw.php:49 +msgid "Comma separated list of keywords to hide" msgstr "" -#: ../../Zotlabs/Module/Dreport.php:133 -msgid "recipient not found" +#: ../../extend/addon/hzaddons/nsfw/Mod_Nsfw.php:49 +msgid "Word, /regular-expression/, lang=xx, lang!=xx" msgstr "" -#: ../../Zotlabs/Module/Dreport.php:136 -msgid "mail recalled" +#: ../../extend/addon/hzaddons/nsfw/Mod_Nsfw.php:58 +msgid "NSFW" msgstr "" -#: ../../Zotlabs/Module/Dreport.php:139 -msgid "duplicate mail received" +#: ../../extend/addon/hzaddons/tictac/tictac.php:21 +msgid "Three Dimensional Tic-Tac-Toe" msgstr "" -#: ../../Zotlabs/Module/Dreport.php:142 -msgid "mail delivered" +#: ../../extend/addon/hzaddons/tictac/tictac.php:54 +msgid "3D Tic-Tac-Toe" msgstr "" -#: ../../Zotlabs/Module/Dreport.php:162 -#, php-format -msgid "Delivery report for %1$s" +#: ../../extend/addon/hzaddons/tictac/tictac.php:59 +msgid "New game" msgstr "" -#: ../../Zotlabs/Module/Dreport.php:167 -msgid "Redeliver" +#: ../../extend/addon/hzaddons/tictac/tictac.php:60 +msgid "New game with handicap" msgstr "" -#: ../../Zotlabs/Module/Thing.php:122 -msgid "Thing updated" +#: ../../extend/addon/hzaddons/tictac/tictac.php:61 +msgid "" +"Three dimensional tic-tac-toe is just like the traditional game except that " +"it is played on multiple levels simultaneously. " msgstr "" -#: ../../Zotlabs/Module/Thing.php:174 -msgid "Object store: failed" +#: ../../extend/addon/hzaddons/tictac/tictac.php:62 +msgid "" +"In this case there are three levels. You win by getting three in a row on " +"any level, as well as up, down, and diagonally across the different levels." msgstr "" -#: ../../Zotlabs/Module/Thing.php:178 -msgid "Thing added" +#: ../../extend/addon/hzaddons/tictac/tictac.php:64 +msgid "" +"The handicap game disables the center position on the middle level because " +"the player claiming this square often has an unfair advantage." msgstr "" -#: ../../Zotlabs/Module/Thing.php:204 -#, php-format -msgid "OBJ: %1$s %2$s %3$s" +#: ../../extend/addon/hzaddons/tictac/tictac.php:183 +msgid "You go first..." msgstr "" -#: ../../Zotlabs/Module/Thing.php:267 -msgid "Show Thing" +#: ../../extend/addon/hzaddons/tictac/tictac.php:188 +msgid "I'm going first this time..." msgstr "" -#: ../../Zotlabs/Module/Thing.php:274 -msgid "item not found." +#: ../../extend/addon/hzaddons/tictac/tictac.php:194 +msgid "You won!" msgstr "" -#: ../../Zotlabs/Module/Thing.php:307 -msgid "Edit Thing" +#: ../../extend/addon/hzaddons/tictac/tictac.php:200 +#: ../../extend/addon/hzaddons/tictac/tictac.php:225 +msgid "\"Cat\" game!" msgstr "" -#: ../../Zotlabs/Module/Thing.php:309 ../../Zotlabs/Module/Thing.php:366 -msgid "Select a profile" +#: ../../extend/addon/hzaddons/tictac/tictac.php:223 +msgid "I won!" msgstr "" -#: ../../Zotlabs/Module/Thing.php:313 ../../Zotlabs/Module/Thing.php:369 -msgid "Post an activity" +#: ../../extend/addon/hzaddons/photocache/Mod_Photocache.php:27 +msgid "Photo Cache settings saved." msgstr "" -#: ../../Zotlabs/Module/Thing.php:313 ../../Zotlabs/Module/Thing.php:369 -msgid "Only sends to viewers of the applicable profile" +#: ../../extend/addon/hzaddons/photocache/Mod_Photocache.php:36 +msgid "" +"Photo Cache addon saves a copy of images from external sites locally to " +"increase your anonymity in the web." msgstr "" -#: ../../Zotlabs/Module/Thing.php:315 ../../Zotlabs/Module/Thing.php:371 -msgid "Name of thing e.g. something" +#: ../../extend/addon/hzaddons/photocache/Mod_Photocache.php:42 +msgid "Photo Cache App" msgstr "" -#: ../../Zotlabs/Module/Thing.php:317 ../../Zotlabs/Module/Thing.php:372 -msgid "URL of thing (optional)" +#: ../../extend/addon/hzaddons/photocache/Mod_Photocache.php:53 +msgid "Minimal photo size for caching" msgstr "" -#: ../../Zotlabs/Module/Thing.php:319 ../../Zotlabs/Module/Thing.php:373 -msgid "URL for photo of thing (optional)" +#: ../../extend/addon/hzaddons/photocache/Mod_Photocache.php:55 +msgid "In pixels. From 1 up to 1024, 0 will be replaced with system default." msgstr "" -#: ../../Zotlabs/Module/Thing.php:364 -msgid "Add Thing to your Profile" +#: ../../extend/addon/hzaddons/photocache/Mod_Photocache.php:64 +msgid "Photo Cache" msgstr "" -#: ../../Zotlabs/Module/Rmagic.php:46 -msgid "Authentication failed." +#: ../../extend/addon/hzaddons/opensearch/opensearch.php:26 +#, php-format +msgctxt "opensearch" +msgid "Search %1$s (%2$s)" msgstr "" -#: ../../Zotlabs/Module/Pdledit.php:27 -msgid "Layout updated." +#: ../../extend/addon/hzaddons/opensearch/opensearch.php:28 +msgctxt "opensearch" +msgid "$Projectname" msgstr "" -#: ../../Zotlabs/Module/Pdledit.php:43 -msgid "PDL Editor App" +#: ../../extend/addon/hzaddons/opensearch/opensearch.php:43 +msgid "Search $Projectname" msgstr "" -#: ../../Zotlabs/Module/Pdledit.php:44 -msgid "Provides the ability to edit system page layouts" +#: ../../extend/addon/hzaddons/libertree/Mod_Libertree.php:25 +msgid "Libertree Crosspost Connector Settings saved." msgstr "" -#: ../../Zotlabs/Module/Pdledit.php:57 ../../Zotlabs/Module/Pdledit.php:100 -msgid "Edit System Page Description" +#: ../../extend/addon/hzaddons/libertree/Mod_Libertree.php:35 +msgid "Libertree Crosspost Connector App" msgstr "" -#: ../../Zotlabs/Module/Pdledit.php:78 -msgid "(modified)" +#: ../../extend/addon/hzaddons/libertree/Mod_Libertree.php:36 +msgid "Relay public posts to Libertree" msgstr "" -#: ../../Zotlabs/Module/Pdledit.php:95 -msgid "Layout not found." +#: ../../extend/addon/hzaddons/libertree/Mod_Libertree.php:51 +msgid "Libertree API token" msgstr "" -#: ../../Zotlabs/Module/Pdledit.php:101 -msgid "Module Name:" +#: ../../extend/addon/hzaddons/libertree/Mod_Libertree.php:55 +msgid "Libertree site URL" msgstr "" -#: ../../Zotlabs/Module/Pdledit.php:102 -msgid "Layout Help" +#: ../../extend/addon/hzaddons/libertree/Mod_Libertree.php:59 +msgid "Post to Libertree by default" msgstr "" -#: ../../Zotlabs/Module/Pdledit.php:103 -msgid "Edit another layout" +#: ../../extend/addon/hzaddons/libertree/Mod_Libertree.php:67 +msgid "Libertree Crosspost Connector" msgstr "" -#: ../../Zotlabs/Module/Pdledit.php:104 -msgid "System layout" +#: ../../extend/addon/hzaddons/libertree/libertree.php:43 +msgid "Post to Libertree" msgstr "" -#: ../../Zotlabs/Module/Wiki.php:52 -msgid "Wiki App" +#: ../../extend/addon/hzaddons/adultphotoflag/adultphotoflag.php:24 +msgid "Flag Adult Photos" msgstr "" -#: ../../Zotlabs/Module/Wiki.php:53 -msgid "Provide a wiki for your channel" +#: ../../extend/addon/hzaddons/adultphotoflag/adultphotoflag.php:25 +msgid "" +"Provide photo edit option to hide inappropriate photos from default album " +"view" msgstr "" -#: ../../Zotlabs/Module/Wiki.php:133 -msgid "Error retrieving wiki" +#: ../../extend/addon/hzaddons/statusnet/statusnet.php:145 +msgid "Post to GNU social" msgstr "" -#: ../../Zotlabs/Module/Wiki.php:140 -msgid "Error creating zip file export folder" +#: ../../extend/addon/hzaddons/statusnet/statusnet.php:594 +msgid "API URL" msgstr "" -#: ../../Zotlabs/Module/Wiki.php:191 -msgid "Error downloading wiki: " +#: ../../extend/addon/hzaddons/statusnet/statusnet.php:597 +msgid "Application name" msgstr "" -#: ../../Zotlabs/Module/Wiki.php:212 -msgid "Download" +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:61 +msgid "" +"Please contact your site administrator.<br />The provided API URL is not " +"valid." msgstr "" -#: ../../Zotlabs/Module/Wiki.php:216 -msgid "Wiki name" +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:98 +msgid "We could not contact the GNU social API with the Path you entered." msgstr "" -#: ../../Zotlabs/Module/Wiki.php:217 -msgid "Content type" +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:130 +msgid "GNU social settings updated." msgstr "" -#: ../../Zotlabs/Module/Wiki.php:219 ../../Zotlabs/Storage/Browser.php:292 -msgid "Type" +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:147 +msgid "" +"Relay public postings to a connected GNU social account (formerly StatusNet)" msgstr "" -#: ../../Zotlabs/Module/Wiki.php:220 -msgid "Any type" +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:181 +msgid "Globally Available GNU social OAuthKeys" msgstr "" -#: ../../Zotlabs/Module/Wiki.php:227 -msgid "Lock content type" +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:183 +msgid "" +"There are preconfigured OAuth key pairs for some GNU social servers " +"available. If you are using one of them, please use these credentials.<br /" +">If not feel free to connect to any other GNU social instance (see below)." msgstr "" -#: ../../Zotlabs/Module/Wiki.php:228 -msgid "Create a status post for this wiki" +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:198 +msgid "Provide your own OAuth Credentials" msgstr "" -#: ../../Zotlabs/Module/Wiki.php:229 -msgid "Edit Wiki Name" +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:200 +msgid "" +"No consumer key pair for GNU social found. Register your Hubzilla Account as " +"an desktop client on your GNU social account, copy the consumer key pair " +"here and enter the API base root.<br />Before you register your own OAuth " +"key pair ask the administrator if there is already a key pair for this " +"Hubzilla installation at your favourite GNU social installation." msgstr "" -#: ../../Zotlabs/Module/Wiki.php:274 -msgid "Wiki not found" +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:204 +msgid "OAuth Consumer Key" msgstr "" -#: ../../Zotlabs/Module/Wiki.php:300 -msgid "Rename page" +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:208 +msgid "OAuth Consumer Secret" msgstr "" -#: ../../Zotlabs/Module/Wiki.php:321 -msgid "Error retrieving page content" +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:212 +msgid "Base API Path" msgstr "" -#: ../../Zotlabs/Module/Wiki.php:329 ../../Zotlabs/Module/Wiki.php:331 -msgid "New page" +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:212 +msgid "Remember the trailing /" msgstr "" -#: ../../Zotlabs/Module/Wiki.php:366 -msgid "Revision Comparison" +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:216 +msgid "GNU social application name" msgstr "" -#: ../../Zotlabs/Module/Wiki.php:374 -msgid "Short description of your changes (optional)" +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:239 +msgid "" +"To connect to your GNU social account click the button below to get a " +"security code from GNU social which you have to copy into the input box " +"below and submit the form. Only your <strong>public</strong> posts will be " +"posted to GNU social." msgstr "" -#: ../../Zotlabs/Module/Wiki.php:394 -msgid "New page name" +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:241 +msgid "Log in with GNU social" msgstr "" -#: ../../Zotlabs/Module/Wiki.php:399 -msgid "Embed image from photo albums" +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:244 +msgid "Copy the security code from GNU social here" msgstr "" -#: ../../Zotlabs/Module/Wiki.php:410 -msgid "History" +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:254 +msgid "Cancel Connection Process" msgstr "" -#: ../../Zotlabs/Module/Wiki.php:488 -msgid "Error creating wiki. Invalid name." +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:256 +msgid "Current GNU social API is" msgstr "" -#: ../../Zotlabs/Module/Wiki.php:495 -msgid "A wiki with this name already exists." +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:260 +msgid "Cancel GNU social Connection" msgstr "" -#: ../../Zotlabs/Module/Wiki.php:508 -msgid "Wiki created, but error creating Home page." +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:272 +#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:147 +msgid "Currently connected to: " msgstr "" -#: ../../Zotlabs/Module/Wiki.php:515 -msgid "Error creating wiki" +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:277 +msgid "" +"<strong>Note</strong>: Due your privacy settings (<em>Hide your profile " +"details from unknown viewers?</em>) the link potentially included in public " +"postings relayed to GNU social will lead the visitor to a blank page " +"informing the visitor that the access to your profile has been restricted." msgstr "" -#: ../../Zotlabs/Module/Wiki.php:539 -msgid "Error updating wiki. Invalid name." +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:282 +msgid "Post to GNU social by default" msgstr "" -#: ../../Zotlabs/Module/Wiki.php:559 -msgid "Error updating wiki" +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:282 +msgid "" +"If enabled your public postings will be posted to the associated GNU-social " +"account by default" msgstr "" -#: ../../Zotlabs/Module/Wiki.php:574 -msgid "Wiki delete permission denied." +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:291 +#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:171 +msgid "Clear OAuth configuration" msgstr "" -#: ../../Zotlabs/Module/Wiki.php:584 -msgid "Error deleting wiki" +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:303 +msgid "GNU-Social Crosspost Connector" msgstr "" -#: ../../Zotlabs/Module/Wiki.php:617 -msgid "New page created" +#: ../../extend/addon/hzaddons/wholikesme/wholikesme.php:29 +msgid "Who likes me?" msgstr "" -#: ../../Zotlabs/Module/Wiki.php:739 -msgid "Cannot delete Home" +#: ../../extend/addon/hzaddons/pubcrawl/Mod_Pubcrawl.php:25 +msgid "ActivityPub Protocol Settings updated." msgstr "" -#: ../../Zotlabs/Module/Wiki.php:803 -msgid "Current Revision" +#: ../../extend/addon/hzaddons/pubcrawl/Mod_Pubcrawl.php:34 +msgid "" +"The activitypub protocol does not support location independence. Connections " +"you make within that network may be unreachable from alternate channel " +"locations." msgstr "" -#: ../../Zotlabs/Module/Wiki.php:803 -msgid "Selected Revision" +#: ../../extend/addon/hzaddons/pubcrawl/Mod_Pubcrawl.php:40 +msgid "Activitypub Protocol App" msgstr "" -#: ../../Zotlabs/Module/Wiki.php:853 -msgid "You must be authenticated." +#: ../../extend/addon/hzaddons/pubcrawl/Mod_Pubcrawl.php:50 +msgid "Deliver to ActivityPub recipients in privacy groups" msgstr "" -#: ../../Zotlabs/Module/Home.php:90 -#, php-format -msgid "Welcome to %s" +#: ../../extend/addon/hzaddons/pubcrawl/Mod_Pubcrawl.php:50 +msgid "" +"May result in a large number of mentions and expose all the members of your " +"privacy group" msgstr "" -#: ../../Zotlabs/Module/Suggest.php:40 -msgid "Suggest Channels App" +#: ../../extend/addon/hzaddons/pubcrawl/Mod_Pubcrawl.php:54 +msgid "Send multi-media HTML articles" msgstr "" -#: ../../Zotlabs/Module/Suggest.php:41 -msgid "" -"Suggestions for channels in the $Projectname network you might be interested " -"in" +#: ../../extend/addon/hzaddons/pubcrawl/Mod_Pubcrawl.php:54 +msgid "Not supported by some microblog services such as Mastodon" msgstr "" -#: ../../Zotlabs/Module/Suggest.php:54 -msgid "" -"No suggestions available. If this is a new site, please try again in 24 " -"hours." +#: ../../extend/addon/hzaddons/pubcrawl/Mod_Pubcrawl.php:62 +msgid "Activitypub Protocol" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:120 -msgid "Could not locate selected profile." +#: ../../extend/addon/hzaddons/ijpost/ijpost.php:44 +msgid "Post to Insane Journal" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:264 -msgid "Connection updated." +#: ../../extend/addon/hzaddons/ijpost/Mod_Ijpost.php:23 +msgid "Insane Journal Crosspost Connector Settings saved." msgstr "" -#: ../../Zotlabs/Module/Connedit.php:266 -msgid "Failed to update connection record." +#: ../../extend/addon/hzaddons/ijpost/Mod_Ijpost.php:35 +msgid "Insane Journal Crosspost Connector App" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:320 -msgid "is now connected to" +#: ../../extend/addon/hzaddons/ijpost/Mod_Ijpost.php:36 +msgid "Relay public postings to Insane Journal" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:445 -msgid "Could not access address book record." +#: ../../extend/addon/hzaddons/ijpost/Mod_Ijpost.php:53 +msgid "InsaneJournal username" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:493 ../../Zotlabs/Module/Connedit.php:497 -msgid "Refresh failed - channel is currently unavailable." +#: ../../extend/addon/hzaddons/ijpost/Mod_Ijpost.php:57 +msgid "InsaneJournal password" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:512 ../../Zotlabs/Module/Connedit.php:521 -#: ../../Zotlabs/Module/Connedit.php:530 ../../Zotlabs/Module/Connedit.php:539 -#: ../../Zotlabs/Module/Connedit.php:552 -msgid "Unable to set address book parameters." +#: ../../extend/addon/hzaddons/ijpost/Mod_Ijpost.php:61 +msgid "Post to InsaneJournal by default" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:571 -msgid "Connection has been removed." +#: ../../extend/addon/hzaddons/ijpost/Mod_Ijpost.php:69 +msgid "Insane Journal Crosspost Connector" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:614 -#, php-format -msgid "View %s's profile" +#: ../../extend/addon/hzaddons/queueworker/Mod_Queueworker.php:77 +msgid "Max queueworker threads" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:618 -msgid "Refresh Permissions" +#: ../../extend/addon/hzaddons/queueworker/Mod_Queueworker.php:91 +msgid "Assume workers dead after ___ seconds" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:621 -msgid "Fetch updated permissions" +#: ../../extend/addon/hzaddons/queueworker/Mod_Queueworker.php:105 +msgid "" +"Pause before starting next task: (microseconds. Minimum 100 = .0001 seconds)" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:625 -msgid "Refresh Photo" +#: ../../extend/addon/hzaddons/queueworker/Mod_Queueworker.php:116 +msgid "Queueworker Settings" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:628 -msgid "Fetch updated photo" +#: ../../extend/addon/hzaddons/flashcards/Mod_Flashcards.php:218 +msgid "Not allowed." msgstr "" -#: ../../Zotlabs/Module/Connedit.php:635 -msgid "View recent posts and comments" +#: ../../extend/addon/hzaddons/gravatar/gravatar.php:123 +msgid "generic profile image" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:642 -msgid "Block (or Unblock) all communications with this connection" +#: ../../extend/addon/hzaddons/gravatar/gravatar.php:124 +msgid "random geometric pattern" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:643 -msgid "This connection is blocked!" +#: ../../extend/addon/hzaddons/gravatar/gravatar.php:125 +msgid "monster face" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:647 -msgid "Unignore" +#: ../../extend/addon/hzaddons/gravatar/gravatar.php:126 +msgid "computer generated face" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:650 -msgid "Ignore (or Unignore) all inbound communications from this connection" +#: ../../extend/addon/hzaddons/gravatar/gravatar.php:127 +msgid "retro arcade style face" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:651 -msgid "This connection is ignored!" +#: ../../extend/addon/hzaddons/gravatar/gravatar.php:128 +msgid "Hub default profile photo" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:655 -msgid "Unarchive" +#: ../../extend/addon/hzaddons/gravatar/gravatar.php:143 +msgid "Information" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:655 -msgid "Archive" +#: ../../extend/addon/hzaddons/gravatar/gravatar.php:143 +msgid "" +"Libravatar addon is installed, too. Please disable Libravatar addon or this " +"Gravatar addon.<br>The Libravatar addon will fall back to Gravatar if " +"nothing was found at Libravatar." msgstr "" -#: ../../Zotlabs/Module/Connedit.php:658 -msgid "" -"Archive (or Unarchive) this connection - mark channel dead but keep content" +#: ../../extend/addon/hzaddons/gravatar/gravatar.php:151 +msgid "Default avatar image" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:659 -msgid "This connection is archived!" +#: ../../extend/addon/hzaddons/gravatar/gravatar.php:151 +msgid "Select default avatar image if none was found at Gravatar. See README" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:663 -msgid "Unhide" +#: ../../extend/addon/hzaddons/gravatar/gravatar.php:152 +msgid "Rating of images" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:663 -msgid "Hide" +#: ../../extend/addon/hzaddons/gravatar/gravatar.php:152 +msgid "Select the appropriate avatar rating for your site. See README" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:666 -msgid "Hide or Unhide this connection from your other connections" +#: ../../extend/addon/hzaddons/gravatar/gravatar.php:165 +msgid "Gravatar settings updated." msgstr "" -#: ../../Zotlabs/Module/Connedit.php:667 -msgid "This connection is hidden!" +#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:104 +#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:176 +msgid "Network error" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:674 -msgid "Delete this connection" +#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:108 +#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:180 +msgid "API error" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:682 -msgid "Fetch Vcard" +#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:112 +#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:184 +msgid "Unknown issue" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:685 -msgid "Fetch electronic calling card for this connection" +#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:168 +msgid "Unable to login using email address " msgstr "" -#: ../../Zotlabs/Module/Connedit.php:696 -msgid "Open Individual Permissions section by default" +#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:202 +msgid "Sign in to Hubzilla using a social account" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:719 -msgid "Affinity" +#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:207 +msgid "Social Authentication using your social media account" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:722 -msgid "Open Set Affinity section by default" +#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:211 +msgid "" +"This app enables one or more social provider sign-in buttons on the login " +"page." msgstr "" -#: ../../Zotlabs/Module/Connedit.php:759 -msgid "Filter" +#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:229 +msgid "Add an identity provider" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:762 -msgid "Open Custom Filter section by default" +#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:256 +msgid "Enable " msgstr "" -#: ../../Zotlabs/Module/Connedit.php:799 -msgid "Approve this connection" +#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:263 +msgid "Key" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:799 -msgid "Accept connection to allow communication" +#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:263 +#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:268 +#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:284 +#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:297 +msgid "Word" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:804 -msgid "Set Affinity" +#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:268 +msgid "Secret" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:807 -msgid "Set Profile" +#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:297 +msgid "Add a custom provider" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:810 -msgid "Set Affinity & Profile" +#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:317 +msgid "Remove an identity provider" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:858 -msgid "This connection is unreachable from this location." +#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:327 +msgid "Social authentication" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:859 -msgid "This connection may be unreachable from other channel locations." +#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:366 +msgid "Error while saving provider settings" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:861 -msgid "Location independence is not supported by their network." +#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:382 +msgid "Custom provider already exists" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:867 -msgid "" -"This connection is unreachable from this location. Location independence is " -"not supported by their network." +#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:399 +msgid "Social authentication settings saved." msgstr "" -#: ../../Zotlabs/Module/Connedit.php:871 -msgid "Connection requests will be approved without your interaction" +#: ../../extend/addon/hzaddons/sendzid/Mod_Sendzid.php:14 +msgid "Send your identity to all websites" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:880 -msgid "This connection's primary address is" +#: ../../extend/addon/hzaddons/sendzid/Mod_Sendzid.php:20 +msgid "Sendzid App" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:881 -msgid "Available locations:" +#: ../../extend/addon/hzaddons/sendzid/Mod_Sendzid.php:32 +msgid "Send ZID" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:887 -msgid "Connection Tools" +#: ../../extend/addon/hzaddons/redphotos/redphotos.php:106 +msgid "Photos imported" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:889 -msgid "Slide to adjust your degree of friendship" +#: ../../extend/addon/hzaddons/redphotos/redphotos.php:129 +msgid "Redmatrix Photo Album Import" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:891 -msgid "Slide to adjust your rating" +#: ../../extend/addon/hzaddons/redphotos/redphotos.php:130 +msgid "This will import all your Redmatrix photo albums to this channel." msgstr "" -#: ../../Zotlabs/Module/Connedit.php:892 ../../Zotlabs/Module/Connedit.php:897 -msgid "Optionally explain your rating" +#: ../../extend/addon/hzaddons/redphotos/redphotos.php:131 +#: ../../extend/addon/hzaddons/redfiles/redfiles.php:121 +msgid "Redmatrix Server base URL" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:894 -msgid "Custom Filter" +#: ../../extend/addon/hzaddons/redphotos/redphotos.php:132 +#: ../../extend/addon/hzaddons/redfiles/redfiles.php:122 +msgid "Redmatrix Login Username" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:895 -msgid "Only import posts with this text" +#: ../../extend/addon/hzaddons/redphotos/redphotos.php:133 +#: ../../extend/addon/hzaddons/redfiles/redfiles.php:123 +msgid "Redmatrix Login Password" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:896 -msgid "Do not import posts with this text" +#: ../../extend/addon/hzaddons/redphotos/redphotos.php:134 +msgid "Import just this album" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:898 -msgid "This information is public!" +#: ../../extend/addon/hzaddons/redphotos/redphotos.php:134 +msgid "Leave blank to import all albums" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:903 -msgid "Connection Pending Approval" +#: ../../extend/addon/hzaddons/redphotos/redphotos.php:135 +msgid "Maximum count to import" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:908 -#, php-format -msgid "" -"Please choose the profile you would like to display to %s when viewing your " -"profile securely." +#: ../../extend/addon/hzaddons/redphotos/redphotos.php:135 +msgid "0 or blank to import all available" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:915 -msgid "" -"Some permissions may be inherited from your channel's <a href=\"settings" -"\"><strong>privacy settings</strong></a>, which have higher priority than " -"individual settings. You can change those settings here but they wont have " -"any impact unless the inherited setting changes." +#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:65 +msgid "Twitter settings updated." msgstr "" -#: ../../Zotlabs/Module/Connedit.php:916 -msgid "Last update:" +#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:78 +msgid "Twitter Crosspost Connector App" msgstr "" -#: ../../Zotlabs/Module/Connedit.php:924 -msgid "Details" +#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:79 +msgid "Relay public posts to Twitter" msgstr "" -#: ../../Zotlabs/Module/Notifications.php:55 ../../Zotlabs/Module/Notify.php:61 -msgid "No more system notifications." +#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:103 +msgid "" +"No consumer key pair for Twitter found. Please contact your site " +"administrator." msgstr "" -#: ../../Zotlabs/Module/Notifications.php:59 ../../Zotlabs/Module/Notify.php:65 -msgid "System Notifications" +#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:125 +msgid "" +"At this Hubzilla instance the Twitter plugin was enabled but you have not " +"yet connected your account to your Twitter account. To do so click the " +"button below to get a PIN from Twitter which you have to copy into the input " +"box below and submit the form. Only your <strong>public</strong> posts will " +"be posted to Twitter." msgstr "" -#: ../../Zotlabs/Module/Notifications.php:60 -#: ../../Zotlabs/Lib/ThreadItem.php:482 -msgid "Mark all seen" +#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:127 +msgid "Log in with Twitter" msgstr "" -#: ../../Zotlabs/Module/Layouts.php:186 -msgid "Comanche page description language help" +#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:130 +msgid "Copy the PIN from Twitter here" msgstr "" -#: ../../Zotlabs/Module/Layouts.php:190 -msgid "Layout Description" +#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:152 +msgid "" +"<strong>Note:</strong> Due your privacy settings (<em>Hide your profile " +"details from unknown viewers?</em>) the link potentially included in public " +"postings relayed to Twitter will lead the visitor to a blank page informing " +"the visitor that the access to your profile has been restricted." msgstr "" -#: ../../Zotlabs/Module/Layouts.php:195 -msgid "Download PDL file" +#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:157 +msgid "Twitter post length" msgstr "" -#: ../../Zotlabs/Module/Locs.php:27 ../../Zotlabs/Module/Locs.php:57 -msgid "Location not found." +#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:157 +msgid "Maximum tweet length" msgstr "" -#: ../../Zotlabs/Module/Locs.php:65 -msgid "Location lookup failed." +#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:162 +msgid "Send public postings to Twitter by default" msgstr "" -#: ../../Zotlabs/Module/Locs.php:69 +#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:162 msgid "" -"Please select another location to become primary before removing the primary " -"location." +"If enabled your public postings will be posted to the associated Twitter " +"account by default" msgstr "" -#: ../../Zotlabs/Module/Locs.php:99 -msgid "Syncing locations" +#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:181 +msgid "Twitter Crosspost Connector" msgstr "" -#: ../../Zotlabs/Module/Locs.php:109 -msgid "No locations found." +#: ../../extend/addon/hzaddons/twitter/twitter.php:109 +msgid "Post to Twitter" msgstr "" -#: ../../Zotlabs/Module/Locs.php:120 -msgid "Manage Channel Locations" +#: ../../extend/addon/hzaddons/donate/donate.php:21 +msgid "Project Servers and Resources" msgstr "" -#: ../../Zotlabs/Module/Locs.php:126 -msgid "Sync Now" +#: ../../extend/addon/hzaddons/donate/donate.php:22 +msgid "Project Creator and Tech Lead" msgstr "" -#: ../../Zotlabs/Module/Locs.php:127 -msgid "Please wait several minutes between consecutive operations." +#: ../../extend/addon/hzaddons/donate/donate.php:49 +msgid "" +"And the hundreds of other people and organisations who helped make the " +"Hubzilla possible." msgstr "" -#: ../../Zotlabs/Module/Locs.php:128 +#: ../../extend/addon/hzaddons/donate/donate.php:52 msgid "" -"When possible, drop a location by logging into that website/hub and removing " -"your channel." +"The Redmatrix/Hubzilla projects are provided primarily by volunteers giving " +"their time and expertise - and often paying out of pocket for services they " +"share with others." msgstr "" -#: ../../Zotlabs/Module/Locs.php:129 -msgid "Use this form to drop the location if the hub is no longer operating." +#: ../../extend/addon/hzaddons/donate/donate.php:53 +msgid "" +"There is no corporate funding and no ads, and we do not collect and sell " +"your personal information. (We don't control your personal information - " +"<strong>you do</strong>.)" msgstr "" -#: ../../Zotlabs/Module/Sources.php:41 -msgid "Failed to create source. No channel selected." +#: ../../extend/addon/hzaddons/donate/donate.php:54 +msgid "" +"Help support our ground-breaking work in decentralisation, web identity, and " +"privacy." msgstr "" -#: ../../Zotlabs/Module/Sources.php:57 -msgid "Source created." +#: ../../extend/addon/hzaddons/donate/donate.php:56 +msgid "" +"Your donations keep servers and services running and also helps us to " +"provide innovative new features and continued development." msgstr "" -#: ../../Zotlabs/Module/Sources.php:70 -msgid "Source updated." +#: ../../extend/addon/hzaddons/donate/donate.php:59 +msgid "Donate" msgstr "" -#: ../../Zotlabs/Module/Sources.php:88 -msgid "Sources App" +#: ../../extend/addon/hzaddons/donate/donate.php:61 +msgid "" +"Choose a project, developer, or public hub to support with a one-time " +"donation" msgstr "" -#: ../../Zotlabs/Module/Sources.php:89 -msgid "Automatically import channel content from other channels or feeds" +#: ../../extend/addon/hzaddons/donate/donate.php:62 +msgid "Donate Now" msgstr "" -#: ../../Zotlabs/Module/Sources.php:101 -msgid "*" +#: ../../extend/addon/hzaddons/donate/donate.php:63 +msgid "" +"<strong><em>Or</em></strong> become a project sponsor (Hubzilla Project only)" msgstr "" -#: ../../Zotlabs/Module/Sources.php:107 ../../Zotlabs/Lib/Apps.php:368 -msgid "Channel Sources" +#: ../../extend/addon/hzaddons/donate/donate.php:64 +msgid "" +"Please indicate if you would like your first name or full name (or nothing) " +"to appear in our sponsor listing" msgstr "" -#: ../../Zotlabs/Module/Sources.php:108 -msgid "Manage remote sources of content for your channel." +#: ../../extend/addon/hzaddons/donate/donate.php:65 +msgid "Sponsor" msgstr "" -#: ../../Zotlabs/Module/Sources.php:109 ../../Zotlabs/Module/Sources.php:119 -msgid "New Source" +#: ../../extend/addon/hzaddons/donate/donate.php:68 +msgid "Special thanks to: " msgstr "" -#: ../../Zotlabs/Module/Sources.php:120 ../../Zotlabs/Module/Sources.php:154 -msgid "" -"Import all or selected content from the following channel into this channel " -"and distribute it according to your channel settings." +#: ../../extend/addon/hzaddons/dwpost/Mod_Dwpost.php:26 +msgid "Dreamwidth Crosspost Connector Settings saved." msgstr "" -#: ../../Zotlabs/Module/Sources.php:121 ../../Zotlabs/Module/Sources.php:155 -msgid "Only import content with these words (one per line)" +#: ../../extend/addon/hzaddons/dwpost/Mod_Dwpost.php:39 +msgid "Dreamwidth Crosspost Connector App" msgstr "" -#: ../../Zotlabs/Module/Sources.php:121 ../../Zotlabs/Module/Sources.php:155 -msgid "Leave blank to import all public content" +#: ../../extend/addon/hzaddons/dwpost/Mod_Dwpost.php:40 +msgid "Relay public posts to Dreamwidth" msgstr "" -#: ../../Zotlabs/Module/Sources.php:122 ../../Zotlabs/Module/Sources.php:161 -msgid "Channel Name" +#: ../../extend/addon/hzaddons/dwpost/Mod_Dwpost.php:53 +msgid "Dreamwidth username" msgstr "" -#: ../../Zotlabs/Module/Sources.php:123 ../../Zotlabs/Module/Sources.php:158 -msgid "" -"Add the following categories to posts imported from this source (comma " -"separated)" +#: ../../extend/addon/hzaddons/dwpost/Mod_Dwpost.php:57 +msgid "Dreamwidth password" msgstr "" -#: ../../Zotlabs/Module/Sources.php:124 ../../Zotlabs/Module/Sources.php:159 -msgid "Resend posts with this channel as author" +#: ../../extend/addon/hzaddons/dwpost/Mod_Dwpost.php:61 +msgid "Post to Dreamwidth by default" msgstr "" -#: ../../Zotlabs/Module/Sources.php:124 ../../Zotlabs/Module/Sources.php:159 -msgid "Copyrights may apply" +#: ../../extend/addon/hzaddons/dwpost/Mod_Dwpost.php:69 +#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:98 +msgid "Link description (default:" msgstr "" -#: ../../Zotlabs/Module/Sources.php:144 ../../Zotlabs/Module/Sources.php:174 -msgid "Source not found." +#: ../../extend/addon/hzaddons/dwpost/Mod_Dwpost.php:77 +msgid "Dreamwidth Crosspost Connector" msgstr "" -#: ../../Zotlabs/Module/Sources.php:151 -msgid "Edit Source" +#: ../../extend/addon/hzaddons/dwpost/dwpost.php:49 +msgid "Post to Dreamwidth" msgstr "" -#: ../../Zotlabs/Module/Sources.php:152 -msgid "Delete Source" +#: ../../extend/addon/hzaddons/nofed/Mod_Nofed.php:21 +msgid "nofed Settings saved." msgstr "" -#: ../../Zotlabs/Module/Sources.php:182 -msgid "Source removed" +#: ../../extend/addon/hzaddons/nofed/Mod_Nofed.php:33 +msgid "No Federation App" msgstr "" -#: ../../Zotlabs/Module/Sources.php:184 -msgid "Unable to remove source." +#: ../../extend/addon/hzaddons/nofed/Mod_Nofed.php:34 +msgid "" +"Prevent posting from being federated to anybody. It will exist only on your " +"channel page." msgstr "" -#: ../../Zotlabs/Module/Rbmark.php:94 -msgid "Select a bookmark folder" +#: ../../extend/addon/hzaddons/nofed/Mod_Nofed.php:42 +msgid "Federate posts by default" msgstr "" -#: ../../Zotlabs/Module/Rbmark.php:99 -msgid "Save Bookmark" +#: ../../extend/addon/hzaddons/nofed/Mod_Nofed.php:50 +msgid "No Federation" msgstr "" -#: ../../Zotlabs/Module/Rbmark.php:100 -msgid "URL of bookmark" +#: ../../extend/addon/hzaddons/nofed/nofed.php:47 +msgid "Federate" msgstr "" -#: ../../Zotlabs/Module/Rbmark.php:105 -msgid "Or enter new bookmark folder name" +#: ../../extend/addon/hzaddons/hsse/Mod_Hsse.php:15 +msgid "WYSIWYG status editor" msgstr "" -#: ../../Zotlabs/Zot/Auth.php:152 -msgid "" -"Remote authentication blocked. You are logged into this site locally. Please " -"logout and retry." +#: ../../extend/addon/hzaddons/hsse/Mod_Hsse.php:21 +#: ../../extend/addon/hzaddons/hsse/Mod_Hsse.php:26 +msgid "WYSIWYG Status App" msgstr "" -#: ../../Zotlabs/Lib/AccessList.php:28 -msgid "" -"A deleted list with this name was revived. Existing item permissions " -"<strong>may</strong> apply to this list and any future members. If this is " -"not what you intended, please create another list with a different name." +#: ../../extend/addon/hzaddons/hsse/Mod_Hsse.php:34 +msgid "WYSIWYG Status" msgstr "" -#: ../../Zotlabs/Lib/AccessList.php:286 -msgid "Add new connections to this access list" +#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:27 +msgid "No server specified" msgstr "" -#: ../../Zotlabs/Lib/AccessList.php:331 -msgid "Lists" +#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:73 +msgid "Posts imported" msgstr "" -#: ../../Zotlabs/Lib/AccessList.php:332 -msgid "Edit list" +#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:113 +msgid "Files imported" msgstr "" -#: ../../Zotlabs/Lib/AccessList.php:333 -msgid "Create new list" +#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:122 +msgid "" +"This addon app copies existing content and file storage to a cloned/copied " +"channel. Once the app is installed, visit the newly installed app. This will " +"allow you to set the location of your original channel and an optional date " +"range of files/conversations to copy." msgstr "" -#: ../../Zotlabs/Lib/AccessList.php:334 -msgid "Channels not in any access list" +#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:136 +msgid "" +"This will import all your conversations and cloud files from a cloned " +"channel on another server. This may take a while if you have lots of posts " +"and or files." msgstr "" -#: ../../Zotlabs/Lib/Permcat.php:82 -msgctxt "permcat" -msgid "default" +#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:137 +msgid "Include posts" msgstr "" -#: ../../Zotlabs/Lib/Permcat.php:133 -msgctxt "permcat" -msgid "follower" +#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:137 +msgid "Conversations, Articles, Cards, and other posted content" msgstr "" -#: ../../Zotlabs/Lib/Permcat.php:137 -msgctxt "permcat" -msgid "contributor" +#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:138 +msgid "Include files" msgstr "" -#: ../../Zotlabs/Lib/Permcat.php:141 -msgctxt "permcat" -msgid "publisher" +#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:138 +msgid "Files, Photos and other cloud storage" msgstr "" -#: ../../Zotlabs/Lib/Activity.php:2096 -#, php-format -msgid "Likes %1$s's %2$s" +#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:139 +msgid "Original Server base URL" msgstr "" -#: ../../Zotlabs/Lib/Activity.php:2099 -#, php-format -msgid "Doesn't like %1$s's %2$s" +#: ../../extend/addon/hzaddons/upgrade_info/upgrade_info.php:48 +msgid "Your channel has been upgraded to $Projectname version" msgstr "" -#: ../../Zotlabs/Lib/Activity.php:2105 -#, php-format -msgid "Will attend %s's event" +#: ../../extend/addon/hzaddons/upgrade_info/upgrade_info.php:50 +msgid "Please have a look at the" msgstr "" -#: ../../Zotlabs/Lib/Activity.php:2108 -#, php-format -msgid "Will not attend %s's event" +#: ../../extend/addon/hzaddons/upgrade_info/upgrade_info.php:52 +msgid "git history" msgstr "" -#: ../../Zotlabs/Lib/Activity.php:2111 -#, php-format -msgid "May attend %s's event" +#: ../../extend/addon/hzaddons/upgrade_info/upgrade_info.php:54 +msgid "change log" msgstr "" -#: ../../Zotlabs/Lib/Activity.php:2114 -#, php-format -msgid "May not attend %s's event" +#: ../../extend/addon/hzaddons/upgrade_info/upgrade_info.php:55 +msgid "for further info." msgstr "" -#: ../../Zotlabs/Lib/Enotify.php:60 -msgid "$Projectname Notification" +#: ../../extend/addon/hzaddons/upgrade_info/upgrade_info.php:60 +msgid "Upgrade Info" msgstr "" -#: ../../Zotlabs/Lib/Enotify.php:63 -msgid "Thank You," +#: ../../extend/addon/hzaddons/upgrade_info/upgrade_info.php:64 +msgid "Do not show this again" msgstr "" -#: ../../Zotlabs/Lib/Enotify.php:66 -#, php-format -msgid "This email was sent by %1$s at %2$s." +#: ../../extend/addon/hzaddons/pageheader/Mod_Pageheader.php:22 +msgid "pageheader Settings saved." msgstr "" -#: ../../Zotlabs/Lib/Enotify.php:67 -#, php-format -msgid "" -"To stop receiving these messages, please adjust your Notification Settings " -"at %s" +#: ../../extend/addon/hzaddons/pageheader/Mod_Pageheader.php:34 +msgid "Page Header App" msgstr "" -#: ../../Zotlabs/Lib/Enotify.php:68 -#, php-format -msgid "To stop receiving these messages, please adjust your %s." +#: ../../extend/addon/hzaddons/pageheader/Mod_Pageheader.php:35 +msgid "Inserts a page header" msgstr "" -#: ../../Zotlabs/Lib/Enotify.php:123 -#, php-format -msgid "%s <!item_type!>" +#: ../../extend/addon/hzaddons/pageheader/Mod_Pageheader.php:43 +msgid "Message to display on every page on this server" msgstr "" -#: ../../Zotlabs/Lib/Enotify.php:127 -#, php-format -msgid "[$Projectname:Notify] New mail received at %s" +#: ../../extend/addon/hzaddons/pageheader/Mod_Pageheader.php:51 +msgid "Page Header" msgstr "" -#: ../../Zotlabs/Lib/Enotify.php:129 -#, php-format -msgid "%1$s sent you a new private message at %2$s." +#: ../../extend/addon/hzaddons/visage/Mod_Visage.php:21 +msgid "Who viewed my channel/profile" msgstr "" -#: ../../Zotlabs/Lib/Enotify.php:130 -#, php-format -msgid "%1$s sent you %2$s." +#: ../../extend/addon/hzaddons/visage/Mod_Visage.php:25 +msgid "Recent Channel/Profile Viewers" msgstr "" -#: ../../Zotlabs/Lib/Enotify.php:130 -msgid "a private message" +#: ../../extend/addon/hzaddons/visage/Mod_Visage.php:36 +msgid "No entries." msgstr "" -#: ../../Zotlabs/Lib/Enotify.php:131 -#, php-format -msgid "Please visit %s to view and/or reply to your private messages." +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:39 +msgid "Messages" msgstr "" -#: ../../Zotlabs/Lib/Enotify.php:144 -msgid "commented on" +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:52 +msgid "message" msgstr "" -#: ../../Zotlabs/Lib/Enotify.php:157 -msgid "liked" +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:92 +msgid "Message recalled." msgstr "" -#: ../../Zotlabs/Lib/Enotify.php:160 -msgid "disliked" +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:105 +msgid "Conversation removed." msgstr "" -#: ../../Zotlabs/Lib/Enotify.php:165 -msgid "voted on" +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:120 +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:241 +msgid "Expires YYYY-MM-DD HH:MM" msgstr "" -#: ../../Zotlabs/Lib/Enotify.php:208 -#, php-format -msgid "%1$s %2$s [zrl=%3$s]a %4$s[/zrl]" +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:148 +msgid "Requested channel is not in this network" msgstr "" -#: ../../Zotlabs/Lib/Enotify.php:216 -#, php-format -msgid "%1$s %2$s [zrl=%3$s]%4$s's %5$s[/zrl]" +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:156 +msgid "Send Private Message" msgstr "" -#: ../../Zotlabs/Lib/Enotify.php:225 -#, php-format -msgid "%1$s %2$s [zrl=%3$s]your %4$s[/zrl]" +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:157 +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:300 +msgid "To:" msgstr "" -#: ../../Zotlabs/Lib/Enotify.php:237 -#, php-format -msgid "[$Projectname:Notify] Moderated Comment to conversation #%1$d by %2$s" +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:160 +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:302 +msgid "Subject:" msgstr "" -#: ../../Zotlabs/Lib/Enotify.php:239 -#, php-format -msgid "[$Projectname:Notify] Comment to conversation #%1$d by %2$s" +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:165 +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:308 +msgid "Attach file" msgstr "" -#: ../../Zotlabs/Lib/Enotify.php:240 -#, php-format -msgid "%1$s commented on an item/conversation you have been following." +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:167 +msgid "Send" msgstr "" -#: ../../Zotlabs/Lib/Enotify.php:243 ../../Zotlabs/Lib/Enotify.php:324 -#: ../../Zotlabs/Lib/Enotify.php:340 ../../Zotlabs/Lib/Enotify.php:365 -#: ../../Zotlabs/Lib/Enotify.php:382 ../../Zotlabs/Lib/Enotify.php:395 -#, php-format -msgid "Please visit %s to view and/or reply to the conversation." +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:271 +msgid "Delete message" msgstr "" -#: ../../Zotlabs/Lib/Enotify.php:247 ../../Zotlabs/Lib/Enotify.php:248 -#, php-format -msgid "Please visit %s to approve or reject this comment." +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:272 +msgid "Delivery report" msgstr "" -#: ../../Zotlabs/Lib/Enotify.php:306 -#, php-format -msgid "%1$s liked [zrl=%2$s]your %3$s[/zrl]" +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:273 +msgid "Recall message" msgstr "" -#: ../../Zotlabs/Lib/Enotify.php:320 -#, php-format -msgid "[$Projectname:Notify] Like received to conversation #%1$d by %2$s" +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:275 +msgid "Message has been recalled." msgstr "" -#: ../../Zotlabs/Lib/Enotify.php:321 -#, php-format -msgid "%1$s liked an item/conversation you created." +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:293 +msgid "Delete Conversation" msgstr "" -#: ../../Zotlabs/Lib/Enotify.php:332 -#, php-format -msgid "[$Projectname:Notify] %s posted to your profile wall" +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:295 +msgid "" +"No secure communications available. You <strong>may</strong> be able to " +"respond from the sender's profile page." msgstr "" -#: ../../Zotlabs/Lib/Enotify.php:334 -#, php-format -msgid "%1$s posted to your profile wall at %2$s" +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:299 +msgid "Send Reply" msgstr "" -#: ../../Zotlabs/Lib/Enotify.php:336 +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:304 #, php-format -msgid "%1$s posted to [zrl=%2$s]your wall[/zrl]" +msgid "Your message for %s (%s):" msgstr "" -#: ../../Zotlabs/Lib/Enotify.php:359 -#, php-format -msgid "[$Projectname:Notify] %s tagged you" +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:384 +msgid "Unable to lookup recipient." msgstr "" -#: ../../Zotlabs/Lib/Enotify.php:360 -#, php-format -msgid "%1$s tagged you at %2$s" +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:391 +msgid "Unable to communicate with requested channel." msgstr "" -#: ../../Zotlabs/Lib/Enotify.php:361 -#, php-format -msgid "%1$s [zrl=%2$s]tagged you[/zrl]." +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:398 +msgid "Cannot verify requested channel." msgstr "" -#: ../../Zotlabs/Lib/Enotify.php:372 -#, php-format -msgid "[$Projectname:Notify] %1$s poked you" +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:416 +msgid "Selected channel has private message restrictions. Send failed." msgstr "" -#: ../../Zotlabs/Lib/Enotify.php:373 -#, php-format -msgid "%1$s poked you at %2$s" +#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:50 +#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:128 +msgid "System defaults:" msgstr "" -#: ../../Zotlabs/Lib/Enotify.php:374 -#, php-format -msgid "%1$s [zrl=%2$s]poked you[/zrl]." +#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:54 +msgid "Preferred Clipart IDs" msgstr "" -#: ../../Zotlabs/Lib/Enotify.php:389 -#, php-format -msgid "[$Projectname:Notify] %s tagged your post" +#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:54 +msgid "List of preferred clipart ids. These will be shown first." msgstr "" -#: ../../Zotlabs/Lib/Enotify.php:390 -#, php-format -msgid "%1$s tagged your post at %2$s" +#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:55 +msgid "Default Search Term" msgstr "" -#: ../../Zotlabs/Lib/Enotify.php:391 -#, php-format -msgid "%1$s tagged [zrl=%2$s]your post[/zrl]" +#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:55 +msgid "The default search term. These will be shown second." msgstr "" -#: ../../Zotlabs/Lib/Enotify.php:402 -msgid "[$Projectname:Notify] Introduction received" +#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:56 +msgid "Return After" msgstr "" -#: ../../Zotlabs/Lib/Enotify.php:403 -#, php-format -msgid "You've received an new connection request from '%1$s' at %2$s" +#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:56 +msgid "Page to load after image selection." msgstr "" -#: ../../Zotlabs/Lib/Enotify.php:404 -#, php-format -msgid "You've received [zrl=%1$s]a new connection request[/zrl] from %2$s." +#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:59 +msgid "Profile List" msgstr "" -#: ../../Zotlabs/Lib/Enotify.php:407 ../../Zotlabs/Lib/Enotify.php:425 -#, php-format -msgid "You may visit their profile at %s" +#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:61 +msgid "Order of Preferred" msgstr "" -#: ../../Zotlabs/Lib/Enotify.php:409 -#, php-format -msgid "Please visit %s to approve or reject the connection request." +#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:61 +msgid "Sort order of preferred clipart ids." msgstr "" -#: ../../Zotlabs/Lib/Enotify.php:416 -msgid "[$Projectname:Notify] Friend suggestion received" +#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:62 +#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:68 +msgid "Newest first" msgstr "" -#: ../../Zotlabs/Lib/Enotify.php:417 -#, php-format -msgid "You've received a friend suggestion from '%1$s' at %2$s" +#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:65 +msgid "As entered" msgstr "" -#: ../../Zotlabs/Lib/Enotify.php:418 -#, php-format -msgid "You've received [zrl=%1$s]a friend suggestion[/zrl] for %2$s from %3$s." +#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:67 +msgid "Order of other" msgstr "" -#: ../../Zotlabs/Lib/Enotify.php:423 -msgid "Name:" +#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:67 +msgid "Sort order of other clipart ids." msgstr "" -#: ../../Zotlabs/Lib/Enotify.php:424 -msgid "Photo:" +#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:69 +msgid "Most downloaded first" msgstr "" -#: ../../Zotlabs/Lib/Enotify.php:427 -#, php-format -msgid "Please visit %s to approve or reject the suggestion." +#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:70 +msgid "Most liked first" msgstr "" -#: ../../Zotlabs/Lib/Enotify.php:652 -msgid "[$Projectname:Notify]" +#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:72 +msgid "Preferred IDs Message" msgstr "" -#: ../../Zotlabs/Lib/Enotify.php:820 -msgid "created a new poll" +#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:72 +msgid "Message to display above preferred results." msgstr "" -#: ../../Zotlabs/Lib/Enotify.php:820 -msgid "created a new post" +#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:78 +msgid "Uploaded by: " msgstr "" -#: ../../Zotlabs/Lib/Enotify.php:821 -#, php-format -msgid "voted on %s's poll" +#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:78 +msgid "Drawn by: " msgstr "" -#: ../../Zotlabs/Lib/Enotify.php:821 -#, php-format -msgid "commented on %s's post" +#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:182 +#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:194 +msgid "Use this image" msgstr "" -#: ../../Zotlabs/Lib/Enotify.php:825 -#, php-format -msgid "repeated %s's post" +#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:192 +msgid "Or select from a free OpenClipart.org image:" msgstr "" -#: ../../Zotlabs/Lib/Enotify.php:837 -#, php-format -msgid "edited a post dated %s" +#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:195 +msgid "Search Term" msgstr "" -#: ../../Zotlabs/Lib/Enotify.php:841 -#, php-format -msgid "edited a comment dated %s" +#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:232 +msgid "Unknown error. Please try again later." msgstr "" -#: ../../Zotlabs/Lib/Enotify.php:970 -msgid "created an event" +#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:308 +msgid "Profile photo updated successfully." msgstr "" -#: ../../Zotlabs/Lib/Connect.php:271 -msgid "error saving data" +#: ../../extend/addon/hzaddons/gallery/gallery.php:43 +#: ../../extend/addon/hzaddons/gallery/Mod_Gallery.php:136 +msgid "Gallery" msgstr "" -#: ../../Zotlabs/Lib/Chatroom.php:25 -msgid "Missing room name" +#: ../../extend/addon/hzaddons/gallery/gallery.php:46 +msgid "Photo Gallery" msgstr "" -#: ../../Zotlabs/Lib/Chatroom.php:34 -msgid "Duplicate room name" +#: ../../extend/addon/hzaddons/gallery/Mod_Gallery.php:58 +msgid "Gallery App" msgstr "" -#: ../../Zotlabs/Lib/Chatroom.php:84 ../../Zotlabs/Lib/Chatroom.php:92 -msgid "Invalid room specifier." +#: ../../extend/addon/hzaddons/gallery/Mod_Gallery.php:59 +msgid "A simple gallery for your photo albums" msgstr "" -#: ../../Zotlabs/Lib/Chatroom.php:124 -msgid "Room not found." +#: ../../extend/addon/hzaddons/smileybutton/Mod_Smileybutton.php:35 +msgid "Smileybutton App" msgstr "" -#: ../../Zotlabs/Lib/Chatroom.php:145 -msgid "Room is full" +#: ../../extend/addon/hzaddons/smileybutton/Mod_Smileybutton.php:36 +msgid "Adds a smileybutton to the jot editor" msgstr "" -#: ../../Zotlabs/Lib/NativeWiki.php:145 -msgid "Wiki updated successfully" +#: ../../extend/addon/hzaddons/smileybutton/Mod_Smileybutton.php:44 +msgid "Hide the button and show the smilies directly." msgstr "" -#: ../../Zotlabs/Lib/NativeWiki.php:199 -msgid "Wiki files deleted successfully" +#: ../../extend/addon/hzaddons/smileybutton/Mod_Smileybutton.php:52 +msgid "Smileybutton Settings" msgstr "" -#: ../../Zotlabs/Lib/Apps.php:323 -msgid "Apps" +#: ../../extend/addon/hzaddons/rtof/rtof.php:51 +msgid "Post to Friendica" msgstr "" -#: ../../Zotlabs/Lib/Apps.php:324 -msgid "Affinity Tool" +#: ../../extend/addon/hzaddons/rtof/Mod_Rtof.php:24 +msgid "Friendica Crosspost Connector Settings saved." msgstr "" -#: ../../Zotlabs/Lib/Apps.php:327 -msgid "Site Admin" +#: ../../extend/addon/hzaddons/rtof/Mod_Rtof.php:36 +msgid "Friendica Crosspost Connector App" msgstr "" -#: ../../Zotlabs/Lib/Apps.php:331 -msgid "Content Filter" +#: ../../extend/addon/hzaddons/rtof/Mod_Rtof.php:37 +msgid "Relay public postings to a connected Friendica account" msgstr "" -#: ../../Zotlabs/Lib/Apps.php:334 -msgid "Remote Diagnostics" +#: ../../extend/addon/hzaddons/rtof/Mod_Rtof.php:49 +msgid "Send public postings to Friendica by default" msgstr "" -#: ../../Zotlabs/Lib/Apps.php:335 -msgid "Suggest Channels" +#: ../../extend/addon/hzaddons/rtof/Mod_Rtof.php:53 +msgid "Friendica API Path" msgstr "" -#: ../../Zotlabs/Lib/Apps.php:338 -msgid "Stream" +#: ../../extend/addon/hzaddons/rtof/Mod_Rtof.php:57 +msgid "Friendica login name" msgstr "" -#: ../../Zotlabs/Lib/Apps.php:349 -msgid "Mail" +#: ../../extend/addon/hzaddons/rtof/Mod_Rtof.php:61 +msgid "Friendica password" msgstr "" -#: ../../Zotlabs/Lib/Apps.php:352 -msgid "Chat" +#: ../../extend/addon/hzaddons/rtof/Mod_Rtof.php:69 +msgid "Friendica Crosspost Connector" msgstr "" -#: ../../Zotlabs/Lib/Apps.php:354 -msgid "Probe" +#: ../../extend/addon/hzaddons/logrot/logrot.php:36 +msgid "Logfile archive directory" msgstr "" -#: ../../Zotlabs/Lib/Apps.php:355 -msgid "Suggest" +#: ../../extend/addon/hzaddons/logrot/logrot.php:36 +msgid "Directory to store rotated logs" msgstr "" -#: ../../Zotlabs/Lib/Apps.php:356 -msgid "Random Channel" +#: ../../extend/addon/hzaddons/logrot/logrot.php:37 +msgid "Logfile size in bytes before rotating" msgstr "" -#: ../../Zotlabs/Lib/Apps.php:357 -msgid "Invite" +#: ../../extend/addon/hzaddons/logrot/logrot.php:38 +msgid "Number of logfiles to retain" msgstr "" -#: ../../Zotlabs/Lib/Apps.php:360 -msgid "Post" +#: ../../extend/addon/hzaddons/wppost/wppost.php:46 +msgid "Post to WordPress" msgstr "" -#: ../../Zotlabs/Lib/Apps.php:365 -msgid "Notifications" +#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:30 +msgid "Wordpress Settings saved." msgstr "" -#: ../../Zotlabs/Lib/Apps.php:366 -msgid "Order Apps" +#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:43 +msgid "Wordpress Post App" msgstr "" -#: ../../Zotlabs/Lib/Apps.php:367 -msgid "CardDAV" +#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:44 +msgid "Post to WordPress or anything else which uses the wordpress XMLRPC API" msgstr "" -#: ../../Zotlabs/Lib/Apps.php:369 -msgid "Guest Access" +#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:69 +msgid "WordPress username" msgstr "" -#: ../../Zotlabs/Lib/Apps.php:371 -msgid "OAuth Apps Manager" +#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:73 +msgid "WordPress password" msgstr "" -#: ../../Zotlabs/Lib/Apps.php:372 -msgid "OAuth2 Apps Manager" +#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:77 +msgid "WordPress API URL" msgstr "" -#: ../../Zotlabs/Lib/Apps.php:373 -msgid "PDL Editor" +#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:78 +msgid "Typically https://your-blog.tld/xmlrpc.php" msgstr "" -#: ../../Zotlabs/Lib/Apps.php:376 -msgid "My Chatrooms" +#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:81 +msgid "WordPress blogid" msgstr "" -#: ../../Zotlabs/Lib/Apps.php:377 -msgid "Channel Export" +#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:82 +msgid "For multi-user sites such as wordpress.com, otherwise leave blank" msgstr "" -#: ../../Zotlabs/Lib/Apps.php:554 -msgid "Purchase" +#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:86 +msgid "Post to WordPress by default" msgstr "" -#: ../../Zotlabs/Lib/Apps.php:559 -msgid "Undelete" +#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:90 +msgid "Forward comments (requires hubzilla_wp plugin)" msgstr "" -#: ../../Zotlabs/Lib/Apps.php:569 -msgid "Add to app-tray" +#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:106 +msgid "Wordpress Post" msgstr "" -#: ../../Zotlabs/Lib/Apps.php:570 -msgid "Remove from app-tray" +#: ../../extend/addon/hzaddons/authchoose/Mod_Authchoose.php:22 +msgid "" +"Allow magic authentication only to websites of your immediate connections" msgstr "" -#: ../../Zotlabs/Lib/Apps.php:571 -msgid "Pin to navbar" +#: ../../extend/addon/hzaddons/authchoose/Mod_Authchoose.php:28 +#: ../../extend/addon/hzaddons/authchoose/Mod_Authchoose.php:33 +msgid "Authchoose App" msgstr "" -#: ../../Zotlabs/Lib/Apps.php:572 -msgid "Unpin from navbar" +#: ../../extend/addon/hzaddons/authchoose/Mod_Authchoose.php:39 +msgid "Authchoose" msgstr "" -#: ../../Zotlabs/Lib/Techlevels.php:10 -msgid "0. Beginner/Basic" +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:19 +msgid "bitchslap" msgstr "" -#: ../../Zotlabs/Lib/Techlevels.php:11 -msgid "1. Novice - not skilled but willing to learn" +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:19 +msgid "bitchslapped" msgstr "" -#: ../../Zotlabs/Lib/Techlevels.php:12 -msgid "2. Intermediate - somewhat comfortable" +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:20 +msgid "shag" msgstr "" -#: ../../Zotlabs/Lib/Techlevels.php:13 -msgid "3. Advanced - very comfortable" +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:20 +msgid "shagged" msgstr "" -#: ../../Zotlabs/Lib/Techlevels.php:14 -msgid "4. Expert - I can write computer code" +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:21 +msgid "patent" msgstr "" -#: ../../Zotlabs/Lib/Techlevels.php:15 -msgid "5. Wizard - I probably know more than you do" +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:21 +msgid "patented" msgstr "" -#: ../../Zotlabs/Lib/NativeWikiPage.php:42 -#: ../../Zotlabs/Lib/NativeWikiPage.php:94 -msgid "(No Title)" +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:22 +msgid "hug" msgstr "" -#: ../../Zotlabs/Lib/NativeWikiPage.php:109 -msgid "Wiki page create failed." +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:22 +msgid "hugged" msgstr "" -#: ../../Zotlabs/Lib/NativeWikiPage.php:122 -msgid "Wiki not found." +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:23 +msgid "murder" msgstr "" -#: ../../Zotlabs/Lib/NativeWikiPage.php:133 -msgid "Destination name already exists" +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:23 +msgid "murdered" msgstr "" -#: ../../Zotlabs/Lib/NativeWikiPage.php:166 -#: ../../Zotlabs/Lib/NativeWikiPage.php:362 -msgid "Page not found" +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:24 +msgid "worship" msgstr "" -#: ../../Zotlabs/Lib/NativeWikiPage.php:197 -msgid "Error reading page content" +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:24 +msgid "worshipped" msgstr "" -#: ../../Zotlabs/Lib/NativeWikiPage.php:353 -#: ../../Zotlabs/Lib/NativeWikiPage.php:402 -#: ../../Zotlabs/Lib/NativeWikiPage.php:469 -#: ../../Zotlabs/Lib/NativeWikiPage.php:510 -msgid "Error reading wiki" +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:25 +msgid "kiss" msgstr "" -#: ../../Zotlabs/Lib/NativeWikiPage.php:390 -msgid "Page update failed." +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:25 +msgid "kissed" msgstr "" -#: ../../Zotlabs/Lib/NativeWikiPage.php:424 -msgid "Nothing deleted" +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:26 +msgid "tempt" msgstr "" -#: ../../Zotlabs/Lib/NativeWikiPage.php:490 -msgid "Compare: object not found." +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:26 +msgid "tempted" msgstr "" -#: ../../Zotlabs/Lib/NativeWikiPage.php:496 -msgid "Page updated" +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:27 +msgid "raise eyebrows at" msgstr "" -#: ../../Zotlabs/Lib/NativeWikiPage.php:499 -msgid "Untitled" +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:27 +msgid "raised their eyebrows at" msgstr "" -#: ../../Zotlabs/Lib/NativeWikiPage.php:505 -msgid "Wiki resource_id required for git commit" +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:28 +msgid "insult" msgstr "" -#: ../../Zotlabs/Lib/ThreadItem.php:130 -msgid "Privacy conflict. Discretion advised." +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:28 +msgid "insulted" msgstr "" -#: ../../Zotlabs/Lib/ThreadItem.php:174 ../../Zotlabs/Storage/Browser.php:286 -msgid "Admin Delete" +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:29 +msgid "praise" msgstr "" -#: ../../Zotlabs/Lib/ThreadItem.php:319 -msgid "Reply on this comment" +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:29 +msgid "praised" msgstr "" -#: ../../Zotlabs/Lib/ThreadItem.php:319 -msgid "reply" +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:30 +msgid "be dubious of" msgstr "" -#: ../../Zotlabs/Lib/ThreadItem.php:319 -msgid "Reply to" +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:30 +msgid "was dubious of" msgstr "" -#: ../../Zotlabs/Lib/ThreadItem.php:339 -msgid "Delivery Report" +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:31 +msgid "eat" msgstr "" -#: ../../Zotlabs/Lib/ThreadItem.php:358 -#, php-format -msgid "%d comment" -msgid_plural "%d comments" -msgstr[0] "" -msgstr[1] "" - -#: ../../Zotlabs/Lib/ThreadItem.php:359 -#, php-format -msgid "%d unseen" +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:31 +msgid "ate" msgstr "" -#: ../../Zotlabs/Lib/ThreadItem.php:412 -msgid "to" +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:32 +msgid "giggle and fawn at" msgstr "" -#: ../../Zotlabs/Lib/ThreadItem.php:414 -msgid "Wall-to-Wall" +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:32 +msgid "giggled and fawned at" msgstr "" -#: ../../Zotlabs/Lib/ThreadItem.php:415 -msgid "via Wall-To-Wall:" +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:33 +msgid "doubt" msgstr "" -#: ../../Zotlabs/Lib/ThreadItem.php:442 -msgid "Attend" +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:33 +msgid "doubted" msgstr "" -#: ../../Zotlabs/Lib/ThreadItem.php:460 -msgid "Go to previous comment" +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:34 +msgid "glare" msgstr "" -#: ../../Zotlabs/Lib/ThreadItem.php:473 -msgid "Add to Calendar" +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:34 +msgid "glared at" msgstr "" -#: ../../Zotlabs/Lib/ThreadItem.php:831 -msgid "Image" +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:35 +msgid "fuck" msgstr "" -#: ../../Zotlabs/Lib/ThreadItem.php:833 -msgid "Insert Link" +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:35 +msgid "fucked" msgstr "" -#: ../../Zotlabs/Lib/ThreadItem.php:834 -msgid "Video" +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:36 +msgid "bonk" msgstr "" -#: ../../Zotlabs/Lib/ThreadItem.php:844 -msgid "Your full name (required)" +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:36 +msgid "bonked" msgstr "" -#: ../../Zotlabs/Lib/ThreadItem.php:845 -msgid "Your email address (required)" +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:37 +msgid "declare undying love for" msgstr "" -#: ../../Zotlabs/Lib/ThreadItem.php:846 -msgid "Your website URL (optional)" +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:37 +msgid "declared undying love for" msgstr "" -#: ../../Zotlabs/Lib/DB_Upgrade.php:67 -msgid "Source code of failed update: " +#: ../../extend/addon/hzaddons/notifyadmin/notifyadmin.php:34 +msgid "New registration" msgstr "" -#: ../../Zotlabs/Lib/DB_Upgrade.php:88 +#: ../../extend/addon/hzaddons/notifyadmin/notifyadmin.php:42 #, php-format -msgid "Update Error at %s" +msgid "Message sent to %s. New account registration: %s" msgstr "" -#: ../../Zotlabs/Lib/DB_Upgrade.php:94 -#, php-format -msgid "Update %s failed. See error logs." +#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:40 +msgid "Pump.io Settings saved." msgstr "" -#: ../../Zotlabs/Lib/PermissionDescription.php:108 -msgid "Public" +#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:53 +msgid "Pump.io Crosspost Connector App" msgstr "" -#: ../../Zotlabs/Lib/PermissionDescription.php:109 -msgid "Anybody in the $Projectname network" +#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:54 +msgid "Relay public posts to pump.io" msgstr "" -#: ../../Zotlabs/Lib/PermissionDescription.php:110 -#, php-format -msgid "Any account on %s" +#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:73 +msgid "Pump.io servername" msgstr "" -#: ../../Zotlabs/Lib/PermissionDescription.php:111 -msgid "Any of my connections" +#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:73 +msgid "Without \"http://\" or \"https://\"" msgstr "" -#: ../../Zotlabs/Lib/PermissionDescription.php:112 -msgid "Only connections I specifically allow" +#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:77 +msgid "Pump.io username" msgstr "" -#: ../../Zotlabs/Lib/PermissionDescription.php:113 -msgid "Anybody authenticated (could include visitors from other networks)" +#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:77 +msgid "Without the servername" msgstr "" -#: ../../Zotlabs/Lib/PermissionDescription.php:114 -msgid "Any connections including those who haven't yet been approved" +#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:88 +msgid "You are not authenticated to pumpio" msgstr "" -#: ../../Zotlabs/Lib/PermissionDescription.php:150 -msgid "" -"This is your default setting for the audience of your normal stream, and " -"posts." +#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:90 +msgid "(Re-)Authenticate your pump.io connection" msgstr "" -#: ../../Zotlabs/Lib/PermissionDescription.php:151 -msgid "" -"This is your default setting for who can view your default channel profile" +#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:94 +msgid "Post to pump.io by default" msgstr "" -#: ../../Zotlabs/Lib/PermissionDescription.php:152 -msgid "This is your default setting for who can view your connections" +#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:98 +msgid "Should posts be public" msgstr "" -#: ../../Zotlabs/Lib/PermissionDescription.php:153 -msgid "" -"This is your default setting for who can view your file storage and photos" +#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:102 +msgid "Mirror all public posts" msgstr "" -#: ../../Zotlabs/Lib/PermissionDescription.php:154 -msgid "This is your default setting for the audience of your webpages" +#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:112 +msgid "Pump.io Crosspost Connector" msgstr "" -#: ../../Zotlabs/Access/PermissionRoles.php:287 -msgid "Social Networking" +#: ../../extend/addon/hzaddons/pumpio/pumpio.php:152 +msgid "You are now authenticated to pumpio." msgstr "" -#: ../../Zotlabs/Access/PermissionRoles.php:288 -msgid "Social - Federation" +#: ../../extend/addon/hzaddons/pumpio/pumpio.php:153 +msgid "return to the featured settings page" msgstr "" -#: ../../Zotlabs/Access/PermissionRoles.php:289 -msgid "Social - Mostly Public" +#: ../../extend/addon/hzaddons/pumpio/pumpio.php:168 +msgid "Post to Pump.io" msgstr "" -#: ../../Zotlabs/Access/PermissionRoles.php:290 -msgid "Social - Restricted" +#: ../../extend/addon/hzaddons/nsabait/Mod_Nsabait.php:20 +#: ../../extend/addon/hzaddons/nsabait/Mod_Nsabait.php:24 +msgid "NSA Bait App" msgstr "" -#: ../../Zotlabs/Access/PermissionRoles.php:291 -msgid "Social - Private" +#: ../../extend/addon/hzaddons/nsabait/Mod_Nsabait.php:26 +msgid "Make yourself a political target" msgstr "" -#: ../../Zotlabs/Access/PermissionRoles.php:294 -msgid "Community Forum" +#: ../../extend/addon/hzaddons/rainbowtag/Mod_Rainbowtag.php:15 +msgid "Add some colour to tag clouds" msgstr "" -#: ../../Zotlabs/Access/PermissionRoles.php:295 -msgid "Forum - Mostly Public" +#: ../../extend/addon/hzaddons/rainbowtag/Mod_Rainbowtag.php:21 +#: ../../extend/addon/hzaddons/rainbowtag/Mod_Rainbowtag.php:26 +msgid "Rainbow Tag App" msgstr "" -#: ../../Zotlabs/Access/PermissionRoles.php:296 -msgid "Forum - Restricted" +#: ../../extend/addon/hzaddons/rainbowtag/Mod_Rainbowtag.php:34 +msgid "Rainbow Tag" msgstr "" -#: ../../Zotlabs/Access/PermissionRoles.php:297 -msgid "Forum - Private" +#: ../../extend/addon/hzaddons/mailtest/mailtest.php:19 +msgid "Send test email" msgstr "" -#: ../../Zotlabs/Access/PermissionRoles.php:300 -msgid "Feed Republish" +#: ../../extend/addon/hzaddons/mailtest/mailtest.php:66 +msgid "Mail sent." msgstr "" -#: ../../Zotlabs/Access/PermissionRoles.php:301 -msgid "Feed - Mostly Public" +#: ../../extend/addon/hzaddons/mailtest/mailtest.php:68 +msgid "Sending of mail failed." msgstr "" -#: ../../Zotlabs/Access/PermissionRoles.php:302 -msgid "Feed - Restricted" +#: ../../extend/addon/hzaddons/mailtest/mailtest.php:77 +msgid "Mail Test" msgstr "" -#: ../../Zotlabs/Access/PermissionRoles.php:305 -msgid "Special Purpose" +#: ../../extend/addon/hzaddons/redfiles/redfiles.php:119 +msgid "Redmatrix File Storage Import" msgstr "" -#: ../../Zotlabs/Access/PermissionRoles.php:306 -msgid "Special - Celebrity/Soapbox" +#: ../../extend/addon/hzaddons/redfiles/redfiles.php:120 +msgid "This will import all your Redmatrix cloud files to this channel." msgstr "" -#: ../../Zotlabs/Access/PermissionRoles.php:307 -msgid "Special - Group Repository" +#: ../../extend/addon/hzaddons/mdpost/mdpost.php:42 +msgid "Use markdown for editing posts" msgstr "" -#: ../../Zotlabs/Access/PermissionRoles.php:311 -msgid "Custom/Expert Mode" +#: ../../extend/addon/hzaddons/fuzzloc/Mod_Fuzzloc.php:22 +msgid "Fuzzloc Settings updated." msgstr "" -#: ../../Zotlabs/Access/Permissions.php:56 -msgid "Can view my channel stream and posts" +#: ../../extend/addon/hzaddons/fuzzloc/Mod_Fuzzloc.php:34 +msgid "Fuzzy Location App" msgstr "" -#: ../../Zotlabs/Access/Permissions.php:57 -msgid "Can send me their channel stream and posts" +#: ../../extend/addon/hzaddons/fuzzloc/Mod_Fuzzloc.php:35 +msgid "" +"Blur your precise location if your channel uses browser location mapping" msgstr "" -#: ../../Zotlabs/Access/Permissions.php:58 -msgid "Can view my default channel profile" +#: ../../extend/addon/hzaddons/fuzzloc/Mod_Fuzzloc.php:40 +msgid "Minimum offset in meters" msgstr "" -#: ../../Zotlabs/Access/Permissions.php:59 -msgid "Can view my connections" +#: ../../extend/addon/hzaddons/fuzzloc/Mod_Fuzzloc.php:44 +msgid "Maximum offset in meters" msgstr "" -#: ../../Zotlabs/Access/Permissions.php:60 -msgid "Can view my file storage and photos" +#: ../../extend/addon/hzaddons/fuzzloc/Mod_Fuzzloc.php:53 +msgid "Fuzzy Location" msgstr "" -#: ../../Zotlabs/Access/Permissions.php:61 -msgid "Can upload/modify my file storage and photos" +#: ../../extend/addon/hzaddons/startpage/Mod_Startpage.php:50 +msgid "Startpage App" msgstr "" -#: ../../Zotlabs/Access/Permissions.php:62 -msgid "Can view my channel webpages" +#: ../../extend/addon/hzaddons/startpage/Mod_Startpage.php:51 +msgid "Set a preferred page to load on login from home page" msgstr "" -#: ../../Zotlabs/Access/Permissions.php:63 -msgid "Can view my wiki pages" +#: ../../extend/addon/hzaddons/startpage/Mod_Startpage.php:62 +msgid "Page to load after login" msgstr "" -#: ../../Zotlabs/Access/Permissions.php:64 -msgid "Can create/edit my channel webpages" +#: ../../extend/addon/hzaddons/startpage/Mod_Startpage.php:62 +msgid "" +"Examples: "apps", "network?f=&gid=37" (privacy " +"collection), "channel" or "notifications/system" (leave " +"blank for default network page (grid)." msgstr "" -#: ../../Zotlabs/Access/Permissions.php:65 -msgid "Can write to my wiki pages" +#: ../../extend/addon/hzaddons/startpage/Mod_Startpage.php:70 +msgid "Startpage" msgstr "" -#: ../../Zotlabs/Access/Permissions.php:66 -msgid "Can post on my channel (wall) page" +#: ../../view/theme/redbasic/php/config.php:16 +#: ../../view/theme/redbasic/php/config.php:19 +msgid "Focus (Hubzilla default)" msgstr "" -#: ../../Zotlabs/Access/Permissions.php:67 -msgid "Can comment on or like my posts" +#: ../../view/theme/redbasic/php/config.php:98 +msgid "Theme settings" msgstr "" -#: ../../Zotlabs/Access/Permissions.php:68 -msgid "Can send me private mail messages" +#: ../../view/theme/redbasic/php/config.php:99 +msgid "Narrow navbar" msgstr "" -#: ../../Zotlabs/Access/Permissions.php:69 -msgid "Can like/dislike profiles and profile things" +#: ../../view/theme/redbasic/php/config.php:100 +msgid "Navigation bar background color" msgstr "" -#: ../../Zotlabs/Access/Permissions.php:70 -msgid "Can forward to all my channel connections via ! mentions in posts" +#: ../../view/theme/redbasic/php/config.php:101 +msgid "Navigation bar icon color " msgstr "" -#: ../../Zotlabs/Access/Permissions.php:71 -msgid "Can chat with me" +#: ../../view/theme/redbasic/php/config.php:102 +msgid "Navigation bar active icon color " msgstr "" -#: ../../Zotlabs/Access/Permissions.php:72 -msgid "Can source my public posts in derived channels" +#: ../../view/theme/redbasic/php/config.php:103 +msgid "Link color" msgstr "" -#: ../../Zotlabs/Access/Permissions.php:73 -msgid "Can administer my channel" +#: ../../view/theme/redbasic/php/config.php:104 +msgid "Set font-color for banner" msgstr "" -#: ../../Zotlabs/Storage/Browser.php:107 ../../Zotlabs/Storage/Browser.php:295 -msgid "parent" +#: ../../view/theme/redbasic/php/config.php:105 +msgid "Set the background color" msgstr "" -#: ../../Zotlabs/Storage/Browser.php:134 -msgid "Principal" +#: ../../view/theme/redbasic/php/config.php:106 +msgid "Set the background image" msgstr "" -#: ../../Zotlabs/Storage/Browser.php:137 -msgid "Addressbook" +#: ../../view/theme/redbasic/php/config.php:107 +msgid "Set the background color of items" msgstr "" -#: ../../Zotlabs/Storage/Browser.php:143 -msgid "Schedule Inbox" +#: ../../view/theme/redbasic/php/config.php:108 +msgid "Set the background color of comments" msgstr "" -#: ../../Zotlabs/Storage/Browser.php:146 -msgid "Schedule Outbox" +#: ../../view/theme/redbasic/php/config.php:109 +msgid "Set font-size for the entire application" msgstr "" -#: ../../Zotlabs/Storage/Browser.php:279 -msgid "Total" +#: ../../view/theme/redbasic/php/config.php:109 +msgid "Examples: 1rem, 100%, 16px" msgstr "" -#: ../../Zotlabs/Storage/Browser.php:281 -msgid "Shared" +#: ../../view/theme/redbasic/php/config.php:110 +msgid "Set font-color for posts and comments" msgstr "" -#: ../../Zotlabs/Storage/Browser.php:283 -msgid "Add Files" +#: ../../view/theme/redbasic/php/config.php:111 +msgid "Set radius of corners" msgstr "" -#: ../../Zotlabs/Storage/Browser.php:367 -#, php-format -msgid "You are using %1$s of your available file storage." +#: ../../view/theme/redbasic/php/config.php:111 +msgid "Example: 4px" msgstr "" -#: ../../Zotlabs/Storage/Browser.php:372 -#, php-format -msgid "You are using %1$s of %2$s available file storage. (%3$s%)" +#: ../../view/theme/redbasic/php/config.php:112 +msgid "Set shadow depth of photos" msgstr "" -#: ../../Zotlabs/Storage/Browser.php:383 -msgid "WARNING:" +#: ../../view/theme/redbasic/php/config.php:113 +msgid "Set maximum width of content region in pixel" msgstr "" -#: ../../Zotlabs/Storage/Browser.php:395 -msgid "Create new folder" +#: ../../view/theme/redbasic/php/config.php:113 +msgid "Leave empty for default width" msgstr "" -#: ../../Zotlabs/Storage/Browser.php:397 -msgid "Upload file" +#: ../../view/theme/redbasic/php/config.php:114 +msgid "Set size of conversation author photo" msgstr "" -#: ../../Zotlabs/Storage/Browser.php:410 -msgid "Drop files here to immediately upload" +#: ../../view/theme/redbasic/php/config.php:115 +msgid "Set size of followup author photos" +msgstr "" + +#: ../../view/theme/redbasic/php/config.php:116 +msgid "Show advanced settings" msgstr "" -#: ../../boot.php:1677 +#: ../../boot.php:1684 msgid "Create an account to access services and applications" msgstr "" -#: ../../boot.php:1701 +#: ../../boot.php:1708 msgid "Login/Email" msgstr "" -#: ../../boot.php:1702 +#: ../../boot.php:1709 msgid "Password" msgstr "" -#: ../../boot.php:1703 +#: ../../boot.php:1710 msgid "Remember me" msgstr "" -#: ../../boot.php:1706 +#: ../../boot.php:1713 msgid "Forgot your password?" msgstr "" -#: ../../boot.php:2575 +#: ../../boot.php:2582 #, php-format msgid "[$Projectname] Website SSL error for %s" msgstr "" -#: ../../boot.php:2580 +#: ../../boot.php:2587 msgid "Website SSL certificate is not valid. Please correct." msgstr "" -#: ../../boot.php:2696 +#: ../../boot.php:2703 #, php-format msgid "[$Projectname] Cron tasks not running on %s" msgstr "" -#: ../../boot.php:2701 +#: ../../boot.php:2708 msgid "Cron/Scheduled tasks not running." msgstr "" diff --git a/util/hstrings.php b/util/hstrings.php index 1fe63b7f7..1fe63b7f7 100644..100755 --- a/util/hstrings.php +++ b/util/hstrings.php diff --git a/util/hubzilla_er/Makefile b/util/hubzilla_er/Makefile index f36f01007..f36f01007 100644..100755 --- a/util/hubzilla_er/Makefile +++ b/util/hubzilla_er/Makefile diff --git a/util/messages.po b/util/messages.po index dd847e9e0..dd847e9e0 100644..100755 --- a/util/messages.po +++ b/util/messages.po diff --git a/util/nconfig.php b/util/nconfig.php index a7cf350d0..a7cf350d0 100644..100755 --- a/util/nconfig.php +++ b/util/nconfig.php diff --git a/util/php2po.php b/util/php2po.php index ca33f8b01..ca33f8b01 100644..100755 --- a/util/php2po.php +++ b/util/php2po.php diff --git a/util/po2php.php b/util/po2php.php index 535e5567c..535e5567c 100644..100755 --- a/util/po2php.php +++ b/util/po2php.php diff --git a/util/shredder/jansson-2.6.tar.gz b/util/shredder/jansson-2.6.tar.gz Binary files differindex 51f1598be..51f1598be 100644..100755 --- a/util/shredder/jansson-2.6.tar.gz +++ b/util/shredder/jansson-2.6.tar.gz diff --git a/util/shredder/jshon.tar.gz b/util/shredder/jshon.tar.gz Binary files differindex ea9880ca1..ea9880ca1 100644..100755 --- a/util/shredder/jshon.tar.gz +++ b/util/shredder/jshon.tar.gz diff --git a/util/shredder/readme b/util/shredder/readme index 44ed6f45c..44ed6f45c 100644..100755 --- a/util/shredder/readme +++ b/util/shredder/readme diff --git a/util/storageconv b/util/storageconv index 992c906b8..52bb77fbb 100755 --- a/util/storageconv +++ b/util/storageconv @@ -18,6 +18,8 @@ require_once('include/cli_startup.php'); cli_startup(); +use Zotlabs\Lib\Hashpath; + if($argc == 1) { usage(); killme(); @@ -25,15 +27,20 @@ if($argc == 1) { if($argc == 2) { - $storage = (intval(get_config('system','filesystem_storage_thumbnails', 0)) > 0 ? 1 : 0); + $storage = (intval(get_config('system','photo_storage_type', 1)) > 0 ? 1 : 0); echo 'Current storage set to: ' . ($storage ? 'filesystem' : 'SQL database') . PHP_EOL; switch($argv[1]) { case 'stats': $x = q("SELECT COUNT(resource_id) AS qty FROM photo WHERE photo_usage = 0 AND os_storage = 1 AND imgscale = 0"); echo 'Local images: ' . $x[0]['qty'] . PHP_EOL; - $x = q("SELECT COUNT(id) AS qty FROM photo WHERE resource_id IN (SELECT DISTINCT resource_id FROM photo WHERE photo_usage = 0 and os_storage = 1) AND imgscale > 0"); - echo 'Thumbnails total: ' . $x[0]['qty'] . PHP_EOL; - $x = q("SELECT COUNT(id) AS qty FROM photo WHERE resource_id IN (SELECT DISTINCT resource_id FROM photo WHERE photo_usage = 0 and os_storage = 1) AND os_storage != %d AND imgscale > 0", + $x = q("SELECT COUNT(resource_id) AS qty FROM photo WHERE photo_usage = 0 AND imgscale > 0"); + echo 'Image thumbnails: ' . $x[0]['qty'] . PHP_EOL; + $xx = intval($x[0]['qty']); + $x = q("SELECT COUNT(resource_id) AS qty FROM photo WHERE photo_usage IN (1, 2)"); + echo 'Imported profiles thumbnails: ' . $x[0]['qty'] . PHP_EOL; + $xx += intval($x[0]['qty']); + echo 'Thumbnails total: ' . $xx . PHP_EOL; + $x = q("SELECT COUNT(id) AS qty FROM photo WHERE os_storage != %d AND imgscale > 0", $storage ); echo 'Thumbnails to convert: ' . $x[0]['qty'] . PHP_EOL; @@ -41,87 +48,108 @@ if($argc == 2) { case 'fs': if($storage == 0) { - echo 'Please set system.filesystem_storage_thumbnails to 1 before move thumbnails to filesystem storage' . PHP_EOL; + echo 'Please set system.photo_storage_type to 1 before move thumbnails to filesystem storage' . PHP_EOL; break; } - $x = q("SELECT resource_id, content FROM photo WHERE photo_usage = 0 AND os_storage = 1 AND imgscale = 0"); + $cur_id = 0; + $i = 0; - if($x) { - foreach($x as $xx) { - - $n = q("SELECT id, imgscale, content FROM photo WHERE resource_id = '%s' AND os_storage != %d AND imgscale > 0", - dbesc($xx['resource_id']), - $storage - ); + $r = dbq("SELECT COUNT(id) AS max_num FROM photo WHERE os_storage = 0 AND imgscale > 0"); + $max_num = $r[0]['max_num']; - $img_path = dbunescbin($xx['content']); - - foreach($n as $nn) { - - echo '.'; - - $filename = $img_path . '-' . $nn['imgscale']; + while ($i < $max_num) { + + $x = q("SELECT id, uid, resource_id, content, imgscale FROM photo WHERE id > %d AND os_storage = 0 AND imgscale > 0 ORDER BY id LIMIT 10", + intval($cur_id) + ); - if(! file_put_contents($filename, dbunescbin($nn['content']))) { - echo 'Failed to save file ' . $filename . PHP_EOL; + if($x) { + foreach($x as $xx) { + + if ($xx['uid'] == 0 || in_array($xx['imgscale'], [4, 5, 6])) + $filename = Hashpath::path($xx['resource_id'], 'store/[data]/[xchan]', 2, 1) . '-' . $xx['imgscale']; + else { + $z = q("SELECT channel_address FROM channel WHERE channel_id = %d", + intval($xx['uid']) + ); + $filename = 'store/' . $z[0]['channel_address'] . '/' . $xx['resource_id'] . '-' . $xx['imgscale']; + } + + if(! file_put_contents($filename, dbunescbin($xx['content']))) { + echo PHP_EOL . 'Failed to save file ' . $filename . PHP_EOL; continue; } - + $z = q("UPDATE photo SET content = '%s', os_storage = 1 WHERE id = %d", dbescbin($filename), - intval($nn['id']) + intval($xx['id']) ); if(! $z) { @unlink($filename); - echo 'Failed to update metadata for saved file ' . $filename . PHP_EOL; + echo PHP_EOL . 'Failed to update metadata for saved file ' . $filename . PHP_EOL; } + $cur_id = $xx['id']; + + echo '.'; + $i++; } } + echo ($i % 100 == 0 ? $i : ''); } + echo $i . PHP_EOL . 'Total thumbnails processed: ' . $i; break; case 'db': if($storage == 1) { - echo 'Please set system.filesystem_storage_thumbnails to 0 before move thumbnails to SQL database storage' . PHP_EOL; + echo 'Please set system.photo_storage_type to 0 before move thumbnails to SQL database storage' . PHP_EOL; break; } - $x = q("SELECT resource_id FROM photo WHERE photo_usage = 0 AND os_storage = 1 AND imgscale = 0"); - - if($x) { - foreach($x as $xx) { + $cur_id = 0; + $i = 0; - $n = q("SELECT id, content FROM photo WHERE resource_id = '%s' AND os_storage != %d AND imgscale > 0", - dbesc($xx['resource_id']), - $storage - ); - - foreach($n as $nn) { - - echo '.'; + $r = dbq("SELECT COUNT(id) AS max_num FROM photo WHERE os_storage = 1 AND imgscale > 0"); + $max_num = $r[0]['max_num']; + + while ($i < $max_num) { + + $x = q("SELECT id, uid, resource_id, content, imgscale FROM photo WHERE id > %d AND os_storage = 1 AND imgscale > 0 ORDER BY id LIMIT 10", + intval($cur_id) + ); + + if($x) { + foreach($x as $xx) { - $filename = dbunescbin($nn['content']); + $filename = dbunescbin($xx['content']); + $content = file_get_contents($filename); if($content) { $z = q("UPDATE photo SET content = '%s', os_storage = 0 WHERE id = %d", dbescbin($content), - intval($nn['id']) + intval($xx['id']) ); if(! $z) { - echo 'Failed to update stored file metadata ' . $filename . PHP_EOL; + echo PHP_EOL . 'Failed to update stored file metadata ' . $filename . PHP_EOL; continue; } @unlink($filename); } else - echo 'Can not read file contents ' . $filename . PHP_EOL; + echo PHP_EOL . 'Can not read file contents ' . $filename . PHP_EOL; + + $cur_id = $xx['id']; + + echo '.'; + $i++; } } + echo ($i % 100 == 0 ? $i : ''); } + echo $i . PHP_EOL . 'Total files processed: ' . $i; break; default: @@ -129,6 +157,5 @@ if($argc == 2) { return; } - echo PHP_EOL; } diff --git a/util/storageconv.sh b/util/storageconv.sh new file mode 100755 index 000000000..90abdf0ef --- /dev/null +++ b/util/storageconv.sh @@ -0,0 +1,6 @@ +#!/bin/sh + +WWWUSER=$(ps aux | egrep '([a|A]pache|[h|H]ttpd|lighttpd|[n|N]ginx|h2o)' | awk '{ print $1}' | uniq | grep -v `whoami` | tail -1) + +sudo -u $WWWUSER php util/storageconv $* + diff --git a/util/strings.php b/util/strings.php index 1fe63b7f7..1fe63b7f7 100644..100755 --- a/util/strings.php +++ b/util/strings.php diff --git a/util/tpldebug.php b/util/tpldebug.php index 80da410dc..80da410dc 100644..100755 --- a/util/tpldebug.php +++ b/util/tpldebug.php diff --git a/util/typo.php b/util/typo.php index bed5fa5f6..bed5fa5f6 100644..100755 --- a/util/typo.php +++ b/util/typo.php diff --git a/util/typohelper.php b/util/typohelper.php index 52c144ab7..52c144ab7 100644..100755 --- a/util/typohelper.php +++ b/util/typohelper.php diff --git a/util/z6convert.php b/util/z6convert.php index 5cc306753..5cc306753 100644..100755 --- a/util/z6convert.php +++ b/util/z6convert.php diff --git a/util/zotsh/README.txt b/util/zotsh/README.txt index 58e8d4bd0..58e8d4bd0 100644..100755 --- a/util/zotsh/README.txt +++ b/util/zotsh/README.txt diff --git a/util/zotsh/easywebdav/LICENSE b/util/zotsh/easywebdav/LICENSE index 4f24108f8..4f24108f8 100644..100755 --- a/util/zotsh/easywebdav/LICENSE +++ b/util/zotsh/easywebdav/LICENSE diff --git a/util/zotsh/easywebdav/__init__.py b/util/zotsh/easywebdav/__init__.py index 3bc2cad2a..3bc2cad2a 100644..100755 --- a/util/zotsh/easywebdav/__init__.py +++ b/util/zotsh/easywebdav/__init__.py diff --git a/util/zotsh/easywebdav/__init__.pyc b/util/zotsh/easywebdav/__init__.pyc Binary files differindex 61b28285f..61b28285f 100644..100755 --- a/util/zotsh/easywebdav/__init__.pyc +++ b/util/zotsh/easywebdav/__init__.pyc diff --git a/util/zotsh/easywebdav/__version__.py b/util/zotsh/easywebdav/__version__.py index d293e3a30..d293e3a30 100644..100755 --- a/util/zotsh/easywebdav/__version__.py +++ b/util/zotsh/easywebdav/__version__.py diff --git a/util/zotsh/easywebdav/__version__.pyc b/util/zotsh/easywebdav/__version__.pyc Binary files differindex ceb251aeb..ceb251aeb 100644..100755 --- a/util/zotsh/easywebdav/__version__.pyc +++ b/util/zotsh/easywebdav/__version__.pyc diff --git a/util/zotsh/easywebdav/client.py b/util/zotsh/easywebdav/client.py index 3b420b143..3b420b143 100644..100755 --- a/util/zotsh/easywebdav/client.py +++ b/util/zotsh/easywebdav/client.py diff --git a/util/zotsh/easywebdav/client.pyc b/util/zotsh/easywebdav/client.pyc Binary files differindex 86dd3aece..86dd3aece 100644..100755 --- a/util/zotsh/easywebdav/client.pyc +++ b/util/zotsh/easywebdav/client.pyc diff --git a/vendor/commerceguys/intl/scripts/fetch_data.sh b/vendor/commerceguys/intl/scripts/fetch_data.sh index 804ecc1a1..804ecc1a1 100755..100644 --- a/vendor/commerceguys/intl/scripts/fetch_data.sh +++ b/vendor/commerceguys/intl/scripts/fetch_data.sh diff --git a/vendor/composer/autoload_classmap.php b/vendor/composer/autoload_classmap.php index 62282b235..26b7fec8e 100644 --- a/vendor/composer/autoload_classmap.php +++ b/vendor/composer/autoload_classmap.php @@ -277,6 +277,7 @@ return array( 'ID3Parser\\ID3Parser' => $vendorDir . '/lukasreschke/id3parser/src/ID3Parser.php', 'ID3Parser\\getID3\\Tags\\getid3_id3v1' => $vendorDir . '/lukasreschke/id3parser/src/getID3/Tags/getid3_id3v1.php', 'ID3Parser\\getID3\\Tags\\getid3_id3v2' => $vendorDir . '/lukasreschke/id3parser/src/getID3/Tags/getid3_id3v2.php', + 'ID3Parser\\getID3\\getID3' => $vendorDir . '/lukasreschke/id3parser/src/getID3/getID3.php', 'ID3Parser\\getID3\\getid3_exception' => $vendorDir . '/lukasreschke/id3parser/src/getID3/getid3_exception.php', 'ID3Parser\\getID3\\getid3_handler' => $vendorDir . '/lukasreschke/id3parser/src/getID3/getid3_handler.php', 'ID3Parser\\getID3\\getid3_lib' => $vendorDir . '/lukasreschke/id3parser/src/getID3/getid3_lib.php', @@ -1398,19 +1399,6 @@ return array( 'Zotlabs\\Storage\\File' => $baseDir . '/Zotlabs/Storage/File.php', 'Zotlabs\\Storage\\GitRepo' => $baseDir . '/Zotlabs/Storage/GitRepo.php', 'Zotlabs\\Storage\\ZotOauth2Pdo' => $baseDir . '/Zotlabs/Storage/ZotOauth2Pdo.php', - 'Zotlabs\\Tests\\Unit\\Access\\AccessListTest' => $baseDir . '/tests/unit/Access/AccessListTest.php', - 'Zotlabs\\Tests\\Unit\\Access\\PermissionLimitsTest' => $baseDir . '/tests/unit/Access/PermissionLimitsTest.php', - 'Zotlabs\\Tests\\Unit\\Access\\PermissionRolesTest' => $baseDir . '/tests/unit/Access/PermissionRolesTest.php', - 'Zotlabs\\Tests\\Unit\\Access\\PermissionsTest' => $baseDir . '/tests/unit/Access/PermissionsTest.php', - 'Zotlabs\\Tests\\Unit\\Lib\\PermissionDescriptionTest' => $baseDir . '/tests/unit/Lib/PermissionDescriptionTest.php', - 'Zotlabs\\Tests\\Unit\\Photo\\PhotoGdTest' => $baseDir . '/tests/unit/Photo/PhotoGdTest.php', - 'Zotlabs\\Tests\\Unit\\UnitTestCase' => $baseDir . '/tests/unit/UnitTestCase.php', - 'Zotlabs\\Tests\\Unit\\Web\\HttpSigTest' => $baseDir . '/tests/unit/Web/HttpSigTest.php', - 'Zotlabs\\Tests\\Unit\\includes\\FeedutilsTest' => $baseDir . '/tests/unit/includes/FeedutilsTest.php', - 'Zotlabs\\Tests\\Unit\\includes\\LanguageTest' => $baseDir . '/tests/unit/includes/LanguageTest.php', - 'Zotlabs\\Tests\\Unit\\includes\\MarkdownTest' => $baseDir . '/tests/unit/includes/MarkdownTest.php', - 'Zotlabs\\Tests\\Unit\\includes\\PhotodriverTest' => $baseDir . '/tests/unit/includes/PhotodriverTest.php', - 'Zotlabs\\Tests\\Unit\\includes\\TextTest' => $baseDir . '/tests/unit/includes/TextTest.php', 'Zotlabs\\Text\\Tagadelic' => $baseDir . '/Zotlabs/Text/Tagadelic.php', 'Zotlabs\\Thumbs\\Epubthumb' => $baseDir . '/Zotlabs/Thumbs/Epubthumb.php', 'Zotlabs\\Thumbs\\Mp3audio' => $baseDir . '/Zotlabs/Thumbs/Mp3audio.php', @@ -1657,6 +1645,7 @@ return array( 'Zotlabs\\Update\\_1237' => $baseDir . '/Zotlabs/Update/_1237.php', 'Zotlabs\\Update\\_1238' => $baseDir . '/Zotlabs/Update/_1238.php', 'Zotlabs\\Update\\_1239' => $baseDir . '/Zotlabs/Update/_1239.php', + 'Zotlabs\\Update\\_1240' => $baseDir . '/Zotlabs/Update/_1240.php', 'Zotlabs\\Web\\Controller' => $baseDir . '/Zotlabs/Web/Controller.php', 'Zotlabs\\Web\\HTTPHeaders' => $baseDir . '/Zotlabs/Web/HTTPHeaders.php', 'Zotlabs\\Web\\HTTPSig' => $baseDir . '/Zotlabs/Web/HTTPSig.php', diff --git a/vendor/composer/autoload_psr4.php b/vendor/composer/autoload_psr4.php index ed5a7935c..59c2faa28 100644 --- a/vendor/composer/autoload_psr4.php +++ b/vendor/composer/autoload_psr4.php @@ -6,7 +6,6 @@ $vendorDir = dirname(dirname(__FILE__)); $baseDir = dirname($vendorDir); return array( - 'Zotlabs\\Tests\\Unit\\' => array($baseDir . '/tests/unit'), 'Zotlabs\\' => array($baseDir . '/Zotlabs'), 'Symfony\\Polyfill\\Ctype\\' => array($vendorDir . '/symfony/polyfill-ctype'), 'Sabre\\Xml\\' => array($vendorDir . '/sabre/xml/lib'), diff --git a/vendor/composer/autoload_static.php b/vendor/composer/autoload_static.php index d88fe41d9..6988dc0b4 100644 --- a/vendor/composer/autoload_static.php +++ b/vendor/composer/autoload_static.php @@ -22,7 +22,6 @@ class ComposerStaticInit7b34d7e50a62201ec5d5e526a5b8b35d public static $prefixLengthsPsr4 = array ( 'Z' => array ( - 'Zotlabs\\Tests\\Unit\\' => 19, 'Zotlabs\\' => 8, ), 'S' => @@ -74,10 +73,6 @@ class ComposerStaticInit7b34d7e50a62201ec5d5e526a5b8b35d ); public static $prefixDirsPsr4 = array ( - 'Zotlabs\\Tests\\Unit\\' => - array ( - 0 => __DIR__ . '/../..' . '/tests/unit', - ), 'Zotlabs\\' => array ( 0 => __DIR__ . '/../..' . '/Zotlabs', @@ -463,6 +458,7 @@ class ComposerStaticInit7b34d7e50a62201ec5d5e526a5b8b35d 'ID3Parser\\ID3Parser' => __DIR__ . '/..' . '/lukasreschke/id3parser/src/ID3Parser.php', 'ID3Parser\\getID3\\Tags\\getid3_id3v1' => __DIR__ . '/..' . '/lukasreschke/id3parser/src/getID3/Tags/getid3_id3v1.php', 'ID3Parser\\getID3\\Tags\\getid3_id3v2' => __DIR__ . '/..' . '/lukasreschke/id3parser/src/getID3/Tags/getid3_id3v2.php', + 'ID3Parser\\getID3\\getID3' => __DIR__ . '/..' . '/lukasreschke/id3parser/src/getID3/getID3.php', 'ID3Parser\\getID3\\getid3_exception' => __DIR__ . '/..' . '/lukasreschke/id3parser/src/getID3/getid3_exception.php', 'ID3Parser\\getID3\\getid3_handler' => __DIR__ . '/..' . '/lukasreschke/id3parser/src/getID3/getid3_handler.php', 'ID3Parser\\getID3\\getid3_lib' => __DIR__ . '/..' . '/lukasreschke/id3parser/src/getID3/getid3_lib.php', @@ -1584,19 +1580,6 @@ class ComposerStaticInit7b34d7e50a62201ec5d5e526a5b8b35d 'Zotlabs\\Storage\\File' => __DIR__ . '/../..' . '/Zotlabs/Storage/File.php', 'Zotlabs\\Storage\\GitRepo' => __DIR__ . '/../..' . '/Zotlabs/Storage/GitRepo.php', 'Zotlabs\\Storage\\ZotOauth2Pdo' => __DIR__ . '/../..' . '/Zotlabs/Storage/ZotOauth2Pdo.php', - 'Zotlabs\\Tests\\Unit\\Access\\AccessListTest' => __DIR__ . '/../..' . '/tests/unit/Access/AccessListTest.php', - 'Zotlabs\\Tests\\Unit\\Access\\PermissionLimitsTest' => __DIR__ . '/../..' . '/tests/unit/Access/PermissionLimitsTest.php', - 'Zotlabs\\Tests\\Unit\\Access\\PermissionRolesTest' => __DIR__ . '/../..' . '/tests/unit/Access/PermissionRolesTest.php', - 'Zotlabs\\Tests\\Unit\\Access\\PermissionsTest' => __DIR__ . '/../..' . '/tests/unit/Access/PermissionsTest.php', - 'Zotlabs\\Tests\\Unit\\Lib\\PermissionDescriptionTest' => __DIR__ . '/../..' . '/tests/unit/Lib/PermissionDescriptionTest.php', - 'Zotlabs\\Tests\\Unit\\Photo\\PhotoGdTest' => __DIR__ . '/../..' . '/tests/unit/Photo/PhotoGdTest.php', - 'Zotlabs\\Tests\\Unit\\UnitTestCase' => __DIR__ . '/../..' . '/tests/unit/UnitTestCase.php', - 'Zotlabs\\Tests\\Unit\\Web\\HttpSigTest' => __DIR__ . '/../..' . '/tests/unit/Web/HttpSigTest.php', - 'Zotlabs\\Tests\\Unit\\includes\\FeedutilsTest' => __DIR__ . '/../..' . '/tests/unit/includes/FeedutilsTest.php', - 'Zotlabs\\Tests\\Unit\\includes\\LanguageTest' => __DIR__ . '/../..' . '/tests/unit/includes/LanguageTest.php', - 'Zotlabs\\Tests\\Unit\\includes\\MarkdownTest' => __DIR__ . '/../..' . '/tests/unit/includes/MarkdownTest.php', - 'Zotlabs\\Tests\\Unit\\includes\\PhotodriverTest' => __DIR__ . '/../..' . '/tests/unit/includes/PhotodriverTest.php', - 'Zotlabs\\Tests\\Unit\\includes\\TextTest' => __DIR__ . '/../..' . '/tests/unit/includes/TextTest.php', 'Zotlabs\\Text\\Tagadelic' => __DIR__ . '/../..' . '/Zotlabs/Text/Tagadelic.php', 'Zotlabs\\Thumbs\\Epubthumb' => __DIR__ . '/../..' . '/Zotlabs/Thumbs/Epubthumb.php', 'Zotlabs\\Thumbs\\Mp3audio' => __DIR__ . '/../..' . '/Zotlabs/Thumbs/Mp3audio.php', @@ -1843,6 +1826,7 @@ class ComposerStaticInit7b34d7e50a62201ec5d5e526a5b8b35d 'Zotlabs\\Update\\_1237' => __DIR__ . '/../..' . '/Zotlabs/Update/_1237.php', 'Zotlabs\\Update\\_1238' => __DIR__ . '/../..' . '/Zotlabs/Update/_1238.php', 'Zotlabs\\Update\\_1239' => __DIR__ . '/../..' . '/Zotlabs/Update/_1239.php', + 'Zotlabs\\Update\\_1240' => __DIR__ . '/../..' . '/Zotlabs/Update/_1240.php', 'Zotlabs\\Web\\Controller' => __DIR__ . '/../..' . '/Zotlabs/Web/Controller.php', 'Zotlabs\\Web\\HTTPHeaders' => __DIR__ . '/../..' . '/Zotlabs/Web/HTTPHeaders.php', 'Zotlabs\\Web\\HTTPSig' => __DIR__ . '/../..' . '/Zotlabs/Web/HTTPSig.php', diff --git a/vendor/league/html-to-markdown/bin/html-to-markdown b/vendor/league/html-to-markdown/bin/html-to-markdown index 2815a7cef..2815a7cef 100755..100644 --- a/vendor/league/html-to-markdown/bin/html-to-markdown +++ b/vendor/league/html-to-markdown/bin/html-to-markdown diff --git a/vendor/lukasreschke/id3parser/src/getID3/getid3.php b/vendor/lukasreschke/id3parser/src/getID3/getID3.php index 5e36f9fec..5e36f9fec 100644 --- a/vendor/lukasreschke/id3parser/src/getID3/getid3.php +++ b/vendor/lukasreschke/id3parser/src/getID3/getID3.php diff --git a/vendor/sabre/dav/bin/build.php b/vendor/sabre/dav/bin/build.php index 54174a777..54174a777 100755..100644 --- a/vendor/sabre/dav/bin/build.php +++ b/vendor/sabre/dav/bin/build.php diff --git a/vendor/sabre/dav/bin/googlecode_upload.py b/vendor/sabre/dav/bin/googlecode_upload.py index caafd5ded..caafd5ded 100755..100644 --- a/vendor/sabre/dav/bin/googlecode_upload.py +++ b/vendor/sabre/dav/bin/googlecode_upload.py diff --git a/vendor/sabre/dav/bin/migrateto20.php b/vendor/sabre/dav/bin/migrateto20.php index c7a8d9e35..c7a8d9e35 100755..100644 --- a/vendor/sabre/dav/bin/migrateto20.php +++ b/vendor/sabre/dav/bin/migrateto20.php diff --git a/vendor/sabre/dav/bin/migrateto21.php b/vendor/sabre/dav/bin/migrateto21.php index 909643583..909643583 100755..100644 --- a/vendor/sabre/dav/bin/migrateto21.php +++ b/vendor/sabre/dav/bin/migrateto21.php diff --git a/vendor/sabre/dav/bin/migrateto30.php b/vendor/sabre/dav/bin/migrateto30.php index 25e544c2a..25e544c2a 100755..100644 --- a/vendor/sabre/dav/bin/migrateto30.php +++ b/vendor/sabre/dav/bin/migrateto30.php diff --git a/vendor/sabre/dav/bin/migrateto32.php b/vendor/sabre/dav/bin/migrateto32.php index 57fd35507..57fd35507 100755..100644 --- a/vendor/sabre/dav/bin/migrateto32.php +++ b/vendor/sabre/dav/bin/migrateto32.php diff --git a/vendor/sabre/dav/bin/naturalselection b/vendor/sabre/dav/bin/naturalselection index 7e20439c1..7e20439c1 100755..100644 --- a/vendor/sabre/dav/bin/naturalselection +++ b/vendor/sabre/dav/bin/naturalselection diff --git a/vendor/sabre/dav/bin/sabredav b/vendor/sabre/dav/bin/sabredav index 032371ba8..032371ba8 100755..100644 --- a/vendor/sabre/dav/bin/sabredav +++ b/vendor/sabre/dav/bin/sabredav diff --git a/vendor/sabre/dav/bin/sabredav.php b/vendor/sabre/dav/bin/sabredav.php index 28341b587..28341b587 100755..100644 --- a/vendor/sabre/dav/bin/sabredav.php +++ b/vendor/sabre/dav/bin/sabredav.php diff --git a/vendor/sabre/vobject/bin/bench.php b/vendor/sabre/vobject/bin/bench.php index 0a2736fa6..0a2736fa6 100755..100644 --- a/vendor/sabre/vobject/bin/bench.php +++ b/vendor/sabre/vobject/bin/bench.php diff --git a/vendor/sabre/vobject/bin/fetch_windows_zones.php b/vendor/sabre/vobject/bin/fetch_windows_zones.php index 9c4e51abd..9c4e51abd 100755..100644 --- a/vendor/sabre/vobject/bin/fetch_windows_zones.php +++ b/vendor/sabre/vobject/bin/fetch_windows_zones.php diff --git a/vendor/sabre/vobject/bin/generate_vcards b/vendor/sabre/vobject/bin/generate_vcards index 4663c3c16..4663c3c16 100755..100644 --- a/vendor/sabre/vobject/bin/generate_vcards +++ b/vendor/sabre/vobject/bin/generate_vcards diff --git a/vendor/sabre/vobject/bin/generateicalendardata.php b/vendor/sabre/vobject/bin/generateicalendardata.php index 62b6107c5..62b6107c5 100755..100644 --- a/vendor/sabre/vobject/bin/generateicalendardata.php +++ b/vendor/sabre/vobject/bin/generateicalendardata.php diff --git a/vendor/sabre/vobject/bin/mergeduplicates.php b/vendor/sabre/vobject/bin/mergeduplicates.php index e6cde73dd..e6cde73dd 100755..100644 --- a/vendor/sabre/vobject/bin/mergeduplicates.php +++ b/vendor/sabre/vobject/bin/mergeduplicates.php diff --git a/vendor/sabre/vobject/bin/vobject b/vendor/sabre/vobject/bin/vobject index 2aca7e729..2aca7e729 100755..100644 --- a/vendor/sabre/vobject/bin/vobject +++ b/vendor/sabre/vobject/bin/vobject diff --git a/vendor/simplepie/simplepie/.travis.yml b/vendor/simplepie/simplepie/.travis.yml index e44352dbb..e44352dbb 100755..100644 --- a/vendor/simplepie/simplepie/.travis.yml +++ b/vendor/simplepie/simplepie/.travis.yml diff --git a/vendor/simplepie/simplepie/library/SimplePie.php b/vendor/simplepie/simplepie/library/SimplePie.php index a6a5a9e13..a6a5a9e13 100755..100644 --- a/vendor/simplepie/simplepie/library/SimplePie.php +++ b/vendor/simplepie/simplepie/library/SimplePie.php diff --git a/vendor/simplepie/simplepie/library/SimplePie/Cache/Memcached.php b/vendor/simplepie/simplepie/library/SimplePie/Cache/Memcached.php index 0b40d87c8..0b40d87c8 100755..100644 --- a/vendor/simplepie/simplepie/library/SimplePie/Cache/Memcached.php +++ b/vendor/simplepie/simplepie/library/SimplePie/Cache/Memcached.php diff --git a/vendor/simplepie/simplepie/library/SimplePie/Registry.php b/vendor/simplepie/simplepie/library/SimplePie/Registry.php index bf3baf179..bf3baf179 100755..100644 --- a/vendor/simplepie/simplepie/library/SimplePie/Registry.php +++ b/vendor/simplepie/simplepie/library/SimplePie/Registry.php diff --git a/vendor/twbs/bootstrap/build/change-version.js b/vendor/twbs/bootstrap/build/change-version.js index e2de874d7..e2de874d7 100755..100644 --- a/vendor/twbs/bootstrap/build/change-version.js +++ b/vendor/twbs/bootstrap/build/change-version.js diff --git a/vendor/twbs/bootstrap/build/ship.sh b/vendor/twbs/bootstrap/build/ship.sh index f1c5e38e3..f1c5e38e3 100755..100644 --- a/vendor/twbs/bootstrap/build/ship.sh +++ b/vendor/twbs/bootstrap/build/ship.sh diff --git a/view/css/conversation.css b/view/css/conversation.css index 77e56e200..06da8528c 100644 --- a/view/css/conversation.css +++ b/view/css/conversation.css @@ -18,7 +18,8 @@ #jot-title-wrap, #jot-pagetitle-wrap, -#jot-category-wrap { +#jot-category-wrap, +#jot-customjotheaders-wrap { border-bottom: 1px solid rgba(0, 0, 0, .2); } @@ -28,7 +29,8 @@ } #jot-title-wrap input, -#jot-pagetitle-wrap input { +#jot-pagetitle-wrap input, +#jot-customjotheaders-wrap { padding: 0.5rem; } diff --git a/view/js/main.js b/view/js/main.js index 3e3fd057c..cd95a8a0b 100644 --- a/view/js/main.js +++ b/view/js/main.js @@ -1152,7 +1152,10 @@ function dolike(ident, verb) { if(typeof conv_mode == typeof undefined) conv_mode = ''; - $.get('like/' + ident.toString() + '?verb=' + verb + '&conv_mode=' + conv_mode, function (data) { + if(typeof page_mode == typeof undefined) + page_mode = ''; + + $.get('like/' + ident.toString() + '?verb=' + verb + '&conv_mode=' + conv_mode + '&page_mode=' + page_mode, function (data) { if(data.success) { // this is a bit tricky since the top level thread wrapper wraps the whole thread if($('#thread-wrapper-' + data.orig_id).hasClass('toplevel_item')) { diff --git a/view/js/mod_cloud.js b/view/js/mod_cloud.js index 8fb66c5aa..5ca1f52a9 100644 --- a/view/js/mod_cloud.js +++ b/view/js/mod_cloud.js @@ -68,7 +68,7 @@ $(document).ready(function () { close_and_deactivate_all_panels(); $('body').css('cursor', 'wait'); - $.jGrowl('Please stand by while your download is being prepared...', { sticky: false, theme: 'info', life: 10000 }); + $.jGrowl(aStr.download_info, { sticky: false, theme: 'info', life: 10000 }); let data = [ {name: 'attach_path', value: window.location.pathname}, @@ -296,7 +296,7 @@ $(document).ready(function () { close_and_deactivate_all_panels(); $('body').css('cursor', 'wait'); - $.jGrowl('Please stand by while your download is being prepared...', { sticky: false, theme: 'info', life: 10000 }); + $.jGrowl(aStr.download_info, { sticky: false, theme: 'info', life: 10000 }); post_data.push( {name: 'attach_path', value: window.location.pathname}, diff --git a/view/js/sse_worker.js b/view/js/sse_worker.js index 78e4aa51b..78e4aa51b 100755..100644 --- a/view/js/sse_worker.js +++ b/view/js/sse_worker.js diff --git a/view/pl/cert_bad_eml.tpl b/view/pl/cert_bad_eml.tpl new file mode 100644 index 000000000..cd1a62251 --- /dev/null +++ b/view/pl/cert_bad_eml.tpl @@ -0,0 +1,19 @@ +Komunikat serwera WWW pod adresem {{$sitename}}; + +Rutynowa kontrola wskazuje, że certyfikat SSL dla tej witryny jest +nieważny. Twój serwis internetowy nie może w peÅ‚ni uczestniczyć w Hubzilli +dopóki ten problem nie zostanie rozwiÄ…zany. Sprawdź swój certyfikat i swojego +dostawcÄ™ certyfikatu lub usÅ‚ugodawcÄ™, aby upewnić siÄ™, że jest on "akceptowany +przez przeglÄ…darkę†i prawidÅ‚owo zainstalowany. Certyfikaty z podpisem wÅ‚asnym +NIE SÄ„ OBSÅUGIWANE i NIE SÄ„ DOZWOLONE w Hubzilli. + +Sprawdzenie odbywa siÄ™ poprzez pobranie adresu URL z Twojej witryny z włączonym +Å›cisÅ‚ym sprawdzaniem SSL, a jeÅ›li to siÄ™ nie powiedzie, ponowne sprawdzenie z SSL +z kontrolÄ… wyłączonÄ…. Możliwe, że może to spowodować przejÅ›ciowy komunikat błędu, +lecz jeÅ›li ostatnio wprowadzono zmiany w konfiguracji lub jeÅ›li otrzymujesz tÄ™ +wiadomość wiÄ™cej niż raz, sprawdź swój certyfikat. + +Komunikat o błędzie to '{{$error}}'. + +Przepraszam za utrudnienia, + Twój serwer WWW na {{$siteurl}}
\ No newline at end of file diff --git a/view/pl/cron_bad_eml.tpl b/view/pl/cron_bad_eml.tpl new file mode 100644 index 000000000..809499971 --- /dev/null +++ b/view/pl/cron_bad_eml.tpl @@ -0,0 +1,16 @@ +Komunikat serwera WWW pod adresem {{$sitename}}; + +Rutynowa kontrola wskazuje, że zaplanowane zadania konserwacyjne na tym +serwisie internetowym nie działają. Przejrzyj swoje zadania "cron" lub plik +równoważnego mechanizmu w systemie operacyjnym i upewnij się, że mechanizm +ten jest uruchomiony. Proszę zapoznać się z instrukcjami w pliku INSTALLm jeśli +widzisz tą wiadomość po raz pierwszy. Jeśli te zadania konserwacyjne działały +do tej pory normalnie, sprawdź, czy coś mogło się nie udać, ponieważ nie obecnie +nie działają. Kontrola ta przeprowadzana jest mniej więcej co trzy dni. + +Komunikat błędu brzmi: '{{$error}}'. + +Ostatnia pozytywna kontrola odbyła się '{{$lastdate}}'. + +Przepraszam za utrudnienia, + Twój serwer WWW na {{$siteurl}}
\ No newline at end of file diff --git a/view/pl/hmessages.po b/view/pl/hmessages.po new file mode 100644 index 000000000..5ef34eb5e --- /dev/null +++ b/view/pl/hmessages.po @@ -0,0 +1,16452 @@ +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-01-21 12:07+0100\n" +"PO-Revision-Date: \n" +"Last-Translator: Andrzej BudziÅ„ski <astabski@gmail.com>\n" +"Language-Team: \n" +"Language: pl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : 2));\n" +"X-Generator: Poedit 2.3\n" + +#: ../../Zotlabs/Access/Permissions.php:56 +msgid "Can view my channel stream and posts" +msgstr "Może wyÅ›wietlać strumieÅ„ i posty z mojego kanaÅ‚u" + +#: ../../Zotlabs/Access/Permissions.php:57 +msgid "Can send me their channel stream and posts" +msgstr "Może przesyÅ‚ać mi strumieÅ„ swojego kanaÅ‚u i posty" + +#: ../../Zotlabs/Access/Permissions.php:58 +msgid "Can view my default channel profile" +msgstr "Może wyÅ›wietlać mój domyÅ›lny profil kanaÅ‚u" + +#: ../../Zotlabs/Access/Permissions.php:59 +msgid "Can view my connections" +msgstr "Może wyÅ›wietlać moje połączenia" + +#: ../../Zotlabs/Access/Permissions.php:60 +msgid "Can view my file storage and photos" +msgstr "Może wyÅ›wietlać moje przechowywane pliki i zdjÄ™cia" + +#: ../../Zotlabs/Access/Permissions.php:61 +msgid "Can upload/modify my file storage and photos" +msgstr "Może przesyÅ‚ać/modyfikować moje przechowywane pliki i zdjÄ™cia" + +#: ../../Zotlabs/Access/Permissions.php:62 +msgid "Can view my channel webpages" +msgstr "Może wyÅ›wietlać strony internetowe mojego kanaÅ‚u" + +#: ../../Zotlabs/Access/Permissions.php:63 +msgid "Can view my wiki pages" +msgstr "Może przeglÄ…dać moje strony wiki" + +#: ../../Zotlabs/Access/Permissions.php:64 +msgid "Can create/edit my channel webpages" +msgstr "Może tworzyć/edytować strony internetowe mojego kanaÅ‚u" + +#: ../../Zotlabs/Access/Permissions.php:65 +msgid "Can write to my wiki pages" +msgstr "Może pisać na moich stronach wiki" + +#: ../../Zotlabs/Access/Permissions.php:66 +msgid "Can post on my channel (wall) page" +msgstr "Może publikować na stronie mojego kanaÅ‚u (tablicy)" + +#: ../../Zotlabs/Access/Permissions.php:67 +msgid "Can comment on or like my posts" +msgstr "Może komentować lub polubić moje posty" + +#: ../../Zotlabs/Access/Permissions.php:68 +msgid "Can send me private mail messages" +msgstr "Może wysyÅ‚ać mi prywatne wiadomoÅ›ci e-mail" + +#: ../../Zotlabs/Access/Permissions.php:69 +msgid "Can like/dislike profiles and profile things" +msgstr "Może polubiać/dezaprobować profile i rzeczy w profilach" + +#: ../../Zotlabs/Access/Permissions.php:70 +msgid "Can forward to all my channel connections via ! mentions in posts" +msgstr "" +"Może przekazywać informacje do wszystkich moich połączeÅ„ kanaÅ‚owych za " +"poÅ›rednictwem !wzmianki w postach" + +#: ../../Zotlabs/Access/Permissions.php:71 +msgid "Can chat with me" +msgstr "Może ze mnÄ… rozmawiać" + +#: ../../Zotlabs/Access/Permissions.php:72 +msgid "Can source my public posts in derived channels" +msgstr "Może pozyskiwać moje publiczne posty w kanaÅ‚ach pochodnych" + +#: ../../Zotlabs/Access/Permissions.php:73 +msgid "Can administer my channel" +msgstr "Może zarzÄ…dzać moim kanaÅ‚em" + +#: ../../Zotlabs/Access/PermissionRoles.php:287 +msgid "Social Networking" +msgstr "Sieć spoÅ‚ecznoÅ›ciowa" + +#: ../../Zotlabs/Access/PermissionRoles.php:288 +msgid "Social - Federation" +msgstr "SpoÅ‚ecznoÅ›ciowy - federacyjny" + +#: ../../Zotlabs/Access/PermissionRoles.php:289 +msgid "Social - Mostly Public" +msgstr "SpoÅ‚ecznoÅ›ciowy - głównie publiczny" + +#: ../../Zotlabs/Access/PermissionRoles.php:290 +msgid "Social - Restricted" +msgstr "SpoÅ‚ecznoÅ›ciowy - ograniczony" + +#: ../../Zotlabs/Access/PermissionRoles.php:291 +msgid "Social - Private" +msgstr "SpoÅ‚ecznoÅ›ciowy - prywatny" + +#: ../../Zotlabs/Access/PermissionRoles.php:294 +msgid "Community Forum" +msgstr "Forum spoÅ‚ecznoÅ›ciowe" + +#: ../../Zotlabs/Access/PermissionRoles.php:295 +msgid "Forum - Mostly Public" +msgstr "Forum - głównie publiczne" + +#: ../../Zotlabs/Access/PermissionRoles.php:296 +msgid "Forum - Restricted" +msgstr "Forum - ograniczone" + +#: ../../Zotlabs/Access/PermissionRoles.php:297 +msgid "Forum - Private" +msgstr "Forum - prywatne" + +#: ../../Zotlabs/Access/PermissionRoles.php:300 +msgid "Feed Republish" +msgstr "Opublikuj ponownie kanaÅ‚ RSS" + +#: ../../Zotlabs/Access/PermissionRoles.php:301 +msgid "Feed - Mostly Public" +msgstr "KanaÅ‚ RSS - głównie publiczny" + +#: ../../Zotlabs/Access/PermissionRoles.php:302 +msgid "Feed - Restricted" +msgstr "KanaÅ‚ RSS - ograniczony" + +#: ../../Zotlabs/Access/PermissionRoles.php:305 +msgid "Special Purpose" +msgstr "Specjalnego celu" + +#: ../../Zotlabs/Access/PermissionRoles.php:306 +msgid "Special - Celebrity/Soapbox" +msgstr "Specjalne - celebryckie i mównice" + +#: ../../Zotlabs/Access/PermissionRoles.php:307 +msgid "Special - Group Repository" +msgstr "Specjalne - repozytorium grupowe" + +#: ../../Zotlabs/Access/PermissionRoles.php:310 +#: ../../Zotlabs/Module/Cdav.php:1384 ../../Zotlabs/Module/Profiles.php:797 +#: ../../Zotlabs/Module/Connedit.php:927 ../../include/selectors.php:60 +#: ../../include/selectors.php:77 ../../include/selectors.php:115 +#: ../../include/selectors.php:151 ../../include/connections.php:741 +#: ../../include/connections.php:748 ../../include/event.php:1429 +#: ../../include/event.php:1436 +msgid "Other" +msgstr "Inny" + +#: ../../Zotlabs/Access/PermissionRoles.php:311 +msgid "Custom/Expert Mode" +msgstr "Tryb niestandardowy/ekspercki" + +#: ../../Zotlabs/Module/Authtest.php:16 ../../Zotlabs/Module/Pdledit.php:35 +#: ../../Zotlabs/Module/Api.php:24 ../../Zotlabs/Module/Events.php:277 +#: ../../Zotlabs/Module/Bookmarks.php:70 ../../Zotlabs/Module/Webpages.php:133 +#: ../../Zotlabs/Module/Profiles.php:200 ../../Zotlabs/Module/Profiles.php:637 +#: ../../Zotlabs/Module/Like.php:230 ../../Zotlabs/Module/Defperms.php:182 +#: ../../Zotlabs/Module/Layouts.php:71 ../../Zotlabs/Module/Layouts.php:78 +#: ../../Zotlabs/Module/Layouts.php:89 ../../Zotlabs/Module/Group.php:15 +#: ../../Zotlabs/Module/Group.php:31 ../../Zotlabs/Module/Appman.php:87 +#: ../../Zotlabs/Module/Message.php:18 ../../Zotlabs/Module/Moderate.php:15 +#: ../../Zotlabs/Module/New_channel.php:105 +#: ../../Zotlabs/Module/New_channel.php:130 +#: ../../Zotlabs/Module/Filestorage.php:20 +#: ../../Zotlabs/Module/Filestorage.php:78 +#: ../../Zotlabs/Module/Filestorage.php:96 +#: ../../Zotlabs/Module/Filestorage.php:119 +#: ../../Zotlabs/Module/Filestorage.php:165 +#: ../../Zotlabs/Module/Card_edit.php:51 +#: ../../Zotlabs/Module/Viewconnections.php:28 +#: ../../Zotlabs/Module/Viewconnections.php:33 ../../Zotlabs/Module/Wiki.php:59 +#: ../../Zotlabs/Module/Wiki.php:285 ../../Zotlabs/Module/Wiki.php:428 +#: ../../Zotlabs/Module/Blocks.php:73 ../../Zotlabs/Module/Blocks.php:80 +#: ../../Zotlabs/Module/Locs.php:100 ../../Zotlabs/Module/Connedit.php:396 +#: ../../Zotlabs/Module/Profile_photo.php:338 +#: ../../Zotlabs/Module/Profile_photo.php:351 +#: ../../Zotlabs/Module/Sharedwithme.php:19 +#: ../../Zotlabs/Module/Editlayout.php:67 +#: ../../Zotlabs/Module/Editlayout.php:90 ../../Zotlabs/Module/Manage.php:10 +#: ../../Zotlabs/Module/Item.php:485 ../../Zotlabs/Module/Item.php:504 +#: ../../Zotlabs/Module/Item.php:514 ../../Zotlabs/Module/Item.php:1442 +#: ../../Zotlabs/Module/Rate.php:113 ../../Zotlabs/Module/Page.php:34 +#: ../../Zotlabs/Module/Page.php:133 ../../Zotlabs/Module/Achievements.php:34 +#: ../../Zotlabs/Module/Regmod.php:20 ../../Zotlabs/Module/Editblock.php:67 +#: ../../Zotlabs/Module/Chat.php:113 ../../Zotlabs/Module/Chat.php:118 +#: ../../Zotlabs/Module/Vote.php:19 ../../Zotlabs/Module/Display.php:425 +#: ../../Zotlabs/Module/Photos.php:71 ../../Zotlabs/Module/Channel.php:177 +#: ../../Zotlabs/Module/Channel.php:332 ../../Zotlabs/Module/Channel.php:371 +#: ../../Zotlabs/Module/Cards.php:86 ../../Zotlabs/Module/Connections.php:32 +#: ../../Zotlabs/Module/Editpost.php:17 ../../Zotlabs/Module/Block.php:24 +#: ../../Zotlabs/Module/Block.php:74 ../../Zotlabs/Module/Common.php:38 +#: ../../Zotlabs/Module/Editwebpage.php:68 +#: ../../Zotlabs/Module/Editwebpage.php:89 +#: ../../Zotlabs/Module/Editwebpage.php:107 +#: ../../Zotlabs/Module/Editwebpage.php:121 ../../Zotlabs/Module/Profile.php:85 +#: ../../Zotlabs/Module/Profile.php:101 +#: ../../Zotlabs/Module/Article_edit.php:51 ../../Zotlabs/Module/Thing.php:282 +#: ../../Zotlabs/Module/Thing.php:302 ../../Zotlabs/Module/Thing.php:343 +#: ../../Zotlabs/Module/Suggest.php:32 +#: ../../Zotlabs/Module/Notifications.php:11 +#: ../../Zotlabs/Module/Articles.php:89 ../../Zotlabs/Module/Setup.php:206 +#: ../../Zotlabs/Module/Mitem.php:129 ../../Zotlabs/Module/Mood.php:126 +#: ../../Zotlabs/Module/Register.php:80 +#: ../../Zotlabs/Module/Channel_calendar.php:230 +#: ../../Zotlabs/Module/Invite.php:21 ../../Zotlabs/Module/Invite.php:102 +#: ../../Zotlabs/Module/Service_limits.php:11 +#: ../../Zotlabs/Module/Cover_photo.php:341 +#: ../../Zotlabs/Module/Cover_photo.php:354 ../../Zotlabs/Module/Menu.php:130 +#: ../../Zotlabs/Module/Menu.php:141 ../../Zotlabs/Module/Sources.php:80 +#: ../../Zotlabs/Module/Poke.php:157 ../../Zotlabs/Module/Network.php:19 +#: ../../Zotlabs/Module/Attach_edit.php:90 +#: ../../Zotlabs/Module/Attach_edit.php:99 +#: ../../Zotlabs/Module/Attach_edit.php:106 +#: ../../Zotlabs/Module/Settings.php:59 ../../Zotlabs/Module/Viewsrc.php:19 +#: ../../Zotlabs/Web/WebServer.php:116 ../../Zotlabs/Lib/Chatroom.php:135 +#: ../../include/photos.php:27 ../../include/attach.php:156 +#: ../../include/attach.php:205 ../../include/attach.php:278 +#: ../../include/attach.php:329 ../../include/attach.php:424 +#: ../../include/attach.php:438 ../../include/attach.php:445 +#: ../../include/attach.php:527 ../../include/attach.php:1091 +#: ../../include/attach.php:1164 ../../include/attach.php:1327 +#: ../../include/items.php:3996 +#: ../../extend/addon/hzaddons/openid/Mod_Id.php:53 +#: ../../extend/addon/hzaddons/keepout/keepout.php:36 +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:25 +#: ../../extend/addon/hzaddons/pumpio/pumpio.php:44 +msgid "Permission denied." +msgstr "DostÄ™p zabroniony." + +#: ../../Zotlabs/Module/Pdledit.php:27 +msgid "Layout updated." +msgstr "Zaktualizowano ukÅ‚ad." + +#: ../../Zotlabs/Module/Pdledit.php:43 +msgid "PDL Editor App" +msgstr "Aplikacja PDL Editor" + +#: ../../Zotlabs/Module/Pdledit.php:43 ../../Zotlabs/Module/Cdav.php:876 +#: ../../Zotlabs/Module/Bookmarks.php:78 ../../Zotlabs/Module/Webpages.php:48 +#: ../../Zotlabs/Module/Defperms.php:190 ../../Zotlabs/Module/Pubstream.php:20 +#: ../../Zotlabs/Module/Group.php:107 ../../Zotlabs/Module/Oauth.php:100 +#: ../../Zotlabs/Module/Oauth2.php:106 ../../Zotlabs/Module/Wiki.php:52 +#: ../../Zotlabs/Module/Chat.php:100 ../../Zotlabs/Module/Uexport.php:61 +#: ../../Zotlabs/Module/Cards.php:51 ../../Zotlabs/Module/Affinity.php:52 +#: ../../Zotlabs/Module/Randprof.php:29 ../../Zotlabs/Module/Suggest.php:40 +#: ../../Zotlabs/Module/Notes.php:57 ../../Zotlabs/Module/Tokens.php:99 +#: ../../Zotlabs/Module/Articles.php:52 ../../Zotlabs/Module/Mood.php:134 +#: ../../Zotlabs/Module/Permcats.php:63 ../../Zotlabs/Module/Probe.php:18 +#: ../../Zotlabs/Module/Invite.php:110 ../../Zotlabs/Module/Lang.php:17 +#: ../../Zotlabs/Module/Sources.php:88 ../../Zotlabs/Module/Poke.php:165 +#: ../../extend/addon/hzaddons/gnusoc/Mod_Gnusoc.php:22 +#: ../../extend/addon/hzaddons/skeleton/Mod_Skeleton.php:32 +#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:50 +#: ../../extend/addon/hzaddons/diaspora/Mod_Diaspora.php:58 +#: ../../extend/addon/hzaddons/hideaside/Mod_Hideaside.php:23 +#: ../../extend/addon/hzaddons/ljpost/Mod_Ljpost.php:38 +#: ../../extend/addon/hzaddons/xmpp/Mod_Xmpp.php:35 +#: ../../extend/addon/hzaddons/superblock/Mod_Superblock.php:20 +#: ../../extend/addon/hzaddons/planets/Mod_Planets.php:20 +#: ../../extend/addon/hzaddons/nsfw/Mod_Nsfw.php:33 +#: ../../extend/addon/hzaddons/photocache/Mod_Photocache.php:42 +#: ../../extend/addon/hzaddons/libertree/Mod_Libertree.php:35 +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:146 +#: ../../extend/addon/hzaddons/pubcrawl/Mod_Pubcrawl.php:40 +#: ../../extend/addon/hzaddons/ijpost/Mod_Ijpost.php:35 +#: ../../extend/addon/hzaddons/sendzid/Mod_Sendzid.php:20 +#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:78 +#: ../../extend/addon/hzaddons/dwpost/Mod_Dwpost.php:39 +#: ../../extend/addon/hzaddons/nofed/Mod_Nofed.php:33 +#: ../../extend/addon/hzaddons/hsse/Mod_Hsse.php:21 +#: ../../extend/addon/hzaddons/pageheader/Mod_Pageheader.php:34 +#: ../../extend/addon/hzaddons/gallery/Mod_Gallery.php:58 +#: ../../extend/addon/hzaddons/smileybutton/Mod_Smileybutton.php:35 +#: ../../extend/addon/hzaddons/rtof/Mod_Rtof.php:36 +#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:43 +#: ../../extend/addon/hzaddons/authchoose/Mod_Authchoose.php:28 +#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:53 +#: ../../extend/addon/hzaddons/nsabait/Mod_Nsabait.php:20 +#: ../../extend/addon/hzaddons/rainbowtag/Mod_Rainbowtag.php:21 +#: ../../extend/addon/hzaddons/fuzzloc/Mod_Fuzzloc.php:34 +#: ../../extend/addon/hzaddons/startpage/Mod_Startpage.php:50 +msgid "Not Installed" +msgstr "Nie zainstalowano" + +#: ../../Zotlabs/Module/Pdledit.php:44 +msgid "Provides the ability to edit system page layouts" +msgstr "Zapewnia możliwość edycji ukÅ‚adów stron systemowych" + +#: ../../Zotlabs/Module/Pdledit.php:57 ../../Zotlabs/Module/Pdledit.php:100 +msgid "Edit System Page Description" +msgstr "Edytuj opis strony systemowej" + +#: ../../Zotlabs/Module/Pdledit.php:78 +msgid "(modified)" +msgstr "(zmodyfikowany)" + +#: ../../Zotlabs/Module/Pdledit.php:78 ../../Zotlabs/Module/Lostpass.php:133 +msgid "Reset" +msgstr "Resetuj" + +#: ../../Zotlabs/Module/Pdledit.php:95 +msgid "Layout not found." +msgstr "Nie znaleziono ukÅ‚adu." + +#: ../../Zotlabs/Module/Pdledit.php:101 +msgid "Module Name:" +msgstr "Nazwa moduÅ‚u:" + +#: ../../Zotlabs/Module/Pdledit.php:102 +msgid "Layout Help" +msgstr "Pomoc dotyczÄ…ca ukÅ‚adu" + +#: ../../Zotlabs/Module/Pdledit.php:103 +msgid "Edit another layout" +msgstr "Edytuj inny ukÅ‚ad" + +#: ../../Zotlabs/Module/Pdledit.php:104 +msgid "System layout" +msgstr "UkÅ‚ad systemowy" + +#: ../../Zotlabs/Module/Pdledit.php:108 ../../Zotlabs/Module/Events.php:501 +#: ../../Zotlabs/Module/Profiles.php:725 ../../Zotlabs/Module/Import.php:645 +#: ../../Zotlabs/Module/Defperms.php:266 ../../Zotlabs/Module/Group.php:151 +#: ../../Zotlabs/Module/Group.php:167 ../../Zotlabs/Module/Appman.php:155 +#: ../../Zotlabs/Module/Oauth.php:111 ../../Zotlabs/Module/Import_items.php:129 +#: ../../Zotlabs/Module/Connect.php:107 +#: ../../Zotlabs/Module/Filestorage.php:208 ../../Zotlabs/Module/Oauth2.php:116 +#: ../../Zotlabs/Module/Wiki.php:215 ../../Zotlabs/Module/Locs.php:132 +#: ../../Zotlabs/Module/Connedit.php:896 ../../Zotlabs/Module/Rate.php:166 +#: ../../Zotlabs/Module/Xchan.php:15 ../../Zotlabs/Module/Chat.php:209 +#: ../../Zotlabs/Module/Chat.php:248 ../../Zotlabs/Module/Photos.php:1058 +#: ../../Zotlabs/Module/Photos.php:1098 ../../Zotlabs/Module/Photos.php:1216 +#: ../../Zotlabs/Module/Editpost.php:86 ../../Zotlabs/Module/Affinity.php:87 +#: ../../Zotlabs/Module/Pconfig.php:116 +#: ../../Zotlabs/Module/Admin/Themes.php:158 +#: ../../Zotlabs/Module/Admin/Security.php:120 +#: ../../Zotlabs/Module/Admin/Accounts.php:168 +#: ../../Zotlabs/Module/Admin/Features.php:66 +#: ../../Zotlabs/Module/Admin/Channels.php:147 +#: ../../Zotlabs/Module/Admin/Logs.php:84 +#: ../../Zotlabs/Module/Admin/Account_edit.php:73 +#: ../../Zotlabs/Module/Admin/Addons.php:442 +#: ../../Zotlabs/Module/Admin/Site.php:293 +#: ../../Zotlabs/Module/Admin/Profs.php:178 ../../Zotlabs/Module/Thing.php:328 +#: ../../Zotlabs/Module/Thing.php:381 +#: ../../Zotlabs/Module/Email_validation.php:40 +#: ../../Zotlabs/Module/Tokens.php:188 ../../Zotlabs/Module/Setup.php:304 +#: ../../Zotlabs/Module/Setup.php:344 ../../Zotlabs/Module/Mitem.php:259 +#: ../../Zotlabs/Module/Mood.php:158 ../../Zotlabs/Module/Permcats.php:129 +#: ../../Zotlabs/Module/Settings/Account.php:103 +#: ../../Zotlabs/Module/Settings/Events.php:42 +#: ../../Zotlabs/Module/Settings/Profiles.php:52 +#: ../../Zotlabs/Module/Settings/Editor.php:42 +#: ../../Zotlabs/Module/Settings/Features.php:48 +#: ../../Zotlabs/Module/Settings/Manage.php:43 +#: ../../Zotlabs/Module/Settings/Display.php:188 +#: ../../Zotlabs/Module/Settings/Photos.php:42 +#: ../../Zotlabs/Module/Settings/Channel.php:495 +#: ../../Zotlabs/Module/Settings/Connections.php:42 +#: ../../Zotlabs/Module/Settings/Calendar.php:42 +#: ../../Zotlabs/Module/Settings/Directory.php:42 +#: ../../Zotlabs/Module/Settings/Channel_home.php:91 +#: ../../Zotlabs/Module/Settings/Network.php:62 +#: ../../Zotlabs/Module/Settings/Conversation.php:49 +#: ../../Zotlabs/Module/Invite.php:168 ../../Zotlabs/Module/Sources.php:125 +#: ../../Zotlabs/Module/Sources.php:162 ../../Zotlabs/Module/Poke.php:217 +#: ../../Zotlabs/Storage/Browser.php:382 ../../Zotlabs/Lib/ThreadItem.php:825 +#: ../../Zotlabs/Widget/Wiki_pages.php:42 +#: ../../Zotlabs/Widget/Wiki_pages.php:99 +#: ../../Zotlabs/Widget/Eventstools.php:16 ../../include/js_strings.php:22 +#: ../../extend/addon/hzaddons/irc/irc.php:45 +#: ../../extend/addon/hzaddons/hubwall/hubwall.php:95 +#: ../../extend/addon/hzaddons/likebanner/likebanner.php:57 +#: ../../extend/addon/hzaddons/piwik/piwik.php:95 +#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:143 +#: ../../extend/addon/hzaddons/skeleton/Mod_Skeleton.php:51 +#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:90 +#: ../../extend/addon/hzaddons/cart/cart.php:1376 +#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:312 +#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:412 +#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:643 +#: ../../extend/addon/hzaddons/cart/submodules/subscriptions.php:410 +#: ../../extend/addon/hzaddons/cart/submodules/manualcat.php:248 +#: ../../extend/addon/hzaddons/cart/Settings/Cart.php:132 +#: ../../extend/addon/hzaddons/cart/Settings/Cart.php:142 +#: ../../extend/addon/hzaddons/hzfiles/hzfiles.php:86 +#: ../../extend/addon/hzaddons/diaspora/Mod_Diaspora.php:100 +#: ../../extend/addon/hzaddons/diaspora/diaspora.php:75 +#: ../../extend/addon/hzaddons/openstreetmap/openstreetmap.php:155 +#: ../../extend/addon/hzaddons/ljpost/Mod_Ljpost.php:82 +#: ../../extend/addon/hzaddons/workflow/workflow.php:1461 +#: ../../extend/addon/hzaddons/workflow/workflow.php:1520 +#: ../../extend/addon/hzaddons/workflow/workflow.php:1639 +#: ../../extend/addon/hzaddons/workflow/workflow.php:2742 +#: ../../extend/addon/hzaddons/workflow/Settings/Mod_WorkflowSettings.php:94 +#: ../../extend/addon/hzaddons/xmpp/Mod_Xmpp.php:70 +#: ../../extend/addon/hzaddons/nsfw/Mod_Nsfw.php:61 +#: ../../extend/addon/hzaddons/photocache/Mod_Photocache.php:67 +#: ../../extend/addon/hzaddons/libertree/Mod_Libertree.php:70 +#: ../../extend/addon/hzaddons/statusnet/statusnet.php:602 +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:193 +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:251 +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:306 +#: ../../extend/addon/hzaddons/pubcrawl/Mod_Pubcrawl.php:65 +#: ../../extend/addon/hzaddons/ijpost/Mod_Ijpost.php:72 +#: ../../extend/addon/hzaddons/flashcards/Mod_Flashcards.php:262 +#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:330 +#: ../../extend/addon/hzaddons/redphotos/redphotos.php:136 +#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:184 +#: ../../extend/addon/hzaddons/dwpost/Mod_Dwpost.php:80 +#: ../../extend/addon/hzaddons/nofed/Mod_Nofed.php:53 +#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:142 +#: ../../extend/addon/hzaddons/pageheader/Mod_Pageheader.php:54 +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:310 +#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:53 +#: ../../extend/addon/hzaddons/smileybutton/Mod_Smileybutton.php:55 +#: ../../extend/addon/hzaddons/rtof/Mod_Rtof.php:72 +#: ../../extend/addon/hzaddons/logrot/logrot.php:35 +#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:109 +#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:115 +#: ../../extend/addon/hzaddons/mailtest/mailtest.php:100 +#: ../../extend/addon/hzaddons/redfiles/redfiles.php:124 +#: ../../extend/addon/hzaddons/fuzzloc/Mod_Fuzzloc.php:56 +#: ../../extend/addon/hzaddons/startpage/Mod_Startpage.php:73 +#: ../../view/theme/redbasic/php/config.php:94 +msgid "Submit" +msgstr "Zatwierdź" + +#: ../../Zotlabs/Module/Z6trans.php:19 +msgid "Update to Hubzilla 5.0 step 2" +msgstr "Zaktualizuj do Hubzilli 5.0 krok 2" + +#: ../../Zotlabs/Module/Z6trans.php:21 +msgid "To complete the update please run" +msgstr "Uruchom, aby zakoÅ„czyć aktualizacjÄ™" + +#: ../../Zotlabs/Module/Z6trans.php:23 +msgid "php util/z6convert.php" +msgstr "php util/z6convert.php" + +#: ../../Zotlabs/Module/Z6trans.php:25 +msgid "from the terminal." +msgstr "z terminala." + +#: ../../Zotlabs/Module/Dreport.php:10 ../../Zotlabs/Module/Dreport.php:82 +#: ../../Zotlabs/Module/Profperm.php:28 ../../Zotlabs/Module/Cloud.php:123 +#: ../../Zotlabs/Module/Like.php:332 ../../Zotlabs/Module/Group.php:99 +#: ../../Zotlabs/Module/Import_items.php:120 +#: ../../Zotlabs/Module/Subthread.php:86 ../../Zotlabs/Module/Share.php:72 +#: ../../Zotlabs/Web/WebServer.php:115 ../../include/items.php:439 +#: ../../extend/addon/hzaddons/hzfiles/hzfiles.php:75 +#: ../../extend/addon/hzaddons/redphotos/redphotos.php:119 +#: ../../extend/addon/hzaddons/redfiles/redfiles.php:109 +msgid "Permission denied" +msgstr "DostÄ™p zabroniony" + +#: ../../Zotlabs/Module/Dreport.php:59 +msgid "Invalid message" +msgstr "NieprawidÅ‚owa wiadomość" + +#: ../../Zotlabs/Module/Dreport.php:93 +msgid "no results" +msgstr "brak wyników" + +#: ../../Zotlabs/Module/Dreport.php:107 +msgid "channel sync processed" +msgstr "synchronizacja kanałów zostaÅ‚a przetworzona" + +#: ../../Zotlabs/Module/Dreport.php:111 +msgid "queued" +msgstr "w kolejce" + +#: ../../Zotlabs/Module/Dreport.php:115 +msgid "posted" +msgstr "opublikowane" + +#: ../../Zotlabs/Module/Dreport.php:119 +msgid "accepted for delivery" +msgstr "przyjÄ™ty do dostawy" + +#: ../../Zotlabs/Module/Dreport.php:123 +msgid "updated" +msgstr "zaktualizowany" + +#: ../../Zotlabs/Module/Dreport.php:126 +msgid "update ignored" +msgstr "aktualizacja zignorowana" + +#: ../../Zotlabs/Module/Dreport.php:129 +msgid "permission denied" +msgstr "dostÄ™p zabroniony" + +#: ../../Zotlabs/Module/Dreport.php:133 +msgid "recipient not found" +msgstr "nie znaleziono odbiorcy" + +#: ../../Zotlabs/Module/Dreport.php:136 +msgid "mail recalled" +msgstr "mail odwoÅ‚any" + +#: ../../Zotlabs/Module/Dreport.php:139 +msgid "duplicate mail received" +msgstr "otrzymano powielonÄ… wiadomość" + +#: ../../Zotlabs/Module/Dreport.php:142 +msgid "mail delivered" +msgstr "dostarczono pocztÄ™" + +#: ../../Zotlabs/Module/Dreport.php:162 +#, php-format +msgid "Delivery report for %1$s" +msgstr "Raport dostarczenia dla %1$s" + +#: ../../Zotlabs/Module/Dreport.php:166 ../../Zotlabs/Widget/Wiki_pages.php:41 +#: ../../Zotlabs/Widget/Wiki_pages.php:98 +msgid "Options" +msgstr "Opcje" + +#: ../../Zotlabs/Module/Dreport.php:167 +msgid "Redeliver" +msgstr "Dostarcz ponownie" + +#: ../../Zotlabs/Module/Profperm.php:34 ../../Zotlabs/Module/Profperm.php:63 +msgid "Invalid profile identifier." +msgstr "NieprawidÅ‚owy identyfikator profilu." + +#: ../../Zotlabs/Module/Profperm.php:111 +msgid "Profile Visibility Editor" +msgstr "Edytor widocznoÅ›ci profilu" + +#: ../../Zotlabs/Module/Profperm.php:113 ../../Zotlabs/Lib/Apps.php:362 +#: ../../include/channel.php:1886 +msgid "Profile" +msgstr "Profil" + +#: ../../Zotlabs/Module/Profperm.php:115 +msgid "Click on a contact to add or remove." +msgstr "Kliknij kontakt, który chcesz dodać lub usunąć." + +#: ../../Zotlabs/Module/Profperm.php:124 +msgid "Visible To" +msgstr "Widoczne dla" + +#: ../../Zotlabs/Module/Profperm.php:140 +#: ../../Zotlabs/Module/Connections.php:217 +msgid "All Connections" +msgstr "Wszystkie połączenia" + +#: ../../Zotlabs/Module/Cloud.php:120 +msgid "Not found" +msgstr "Nie znaleziono" + +#: ../../Zotlabs/Module/Cloud.php:126 +msgid "Please refresh page" +msgstr "OdÅ›wież stronÄ™" + +#: ../../Zotlabs/Module/Cloud.php:129 +msgid "Unknown error" +msgstr "Nieznany błąd" + +#: ../../Zotlabs/Module/Authorize.php:17 +msgid "Unknown App" +msgstr "Aplikacja nieznana" + +#: ../../Zotlabs/Module/Authorize.php:29 +msgid "Authorize" +msgstr "Autoryzuj" + +#: ../../Zotlabs/Module/Authorize.php:30 +#, php-format +msgid "Do you authorize the app %s to access your channel data?" +msgstr "Czy zezwalasz aplikacji %s na dostÄ™p do danych Twojego kanaÅ‚u?" + +#: ../../Zotlabs/Module/Authorize.php:32 ../../include/acl_selectors.php:146 +msgid "Allow" +msgstr "Zezwól" + +#: ../../Zotlabs/Module/Authorize.php:33 +#: ../../Zotlabs/Module/Admin/Accounts.php:174 +msgid "Deny" +msgstr "ZabroÅ„" + +#: ../../Zotlabs/Module/Cdav.php:818 ../../Zotlabs/Module/Events.php:28 +msgid "Calendar entries imported." +msgstr "Zaimportowano wpisy kalendarza." + +#: ../../Zotlabs/Module/Cdav.php:820 ../../Zotlabs/Module/Events.php:30 +msgid "No calendar entries found." +msgstr "Nie znaleziono wpisów kalendarza." + +#: ../../Zotlabs/Module/Cdav.php:876 +msgid "CardDAV App" +msgstr "Aplikacja CardDAV" + +#: ../../Zotlabs/Module/Cdav.php:877 +msgid "CalDAV capable addressbook" +msgstr "Książka adresowa z obsÅ‚ugÄ… CalDAV" + +#: ../../Zotlabs/Module/Cdav.php:943 ../../Zotlabs/Module/Cal.php:167 +#: ../../Zotlabs/Module/Channel_calendar.php:393 +msgid "Link to source" +msgstr "Link do źródÅ‚a" + +#: ../../Zotlabs/Module/Cdav.php:1009 ../../Zotlabs/Module/Events.php:468 +msgid "Event title" +msgstr "TytuÅ‚ wydarzenia" + +#: ../../Zotlabs/Module/Cdav.php:1010 ../../Zotlabs/Module/Events.php:474 +msgid "Start date and time" +msgstr "Data i godzina rozpoczÄ™cia" + +#: ../../Zotlabs/Module/Cdav.php:1011 +msgid "End date and time" +msgstr "Data i godzina zakoÅ„czenia" + +#: ../../Zotlabs/Module/Cdav.php:1012 ../../Zotlabs/Module/Events.php:497 +msgid "Timezone:" +msgstr "Strefa czasowa:" + +#: ../../Zotlabs/Module/Cdav.php:1014 ../../Zotlabs/Module/Events.php:481 +#: ../../Zotlabs/Module/Appman.php:145 ../../Zotlabs/Module/Rbmark.php:101 +#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:173 +#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:655 +#: ../../extend/addon/hzaddons/cart/submodules/manualcat.php:260 +msgid "Description" +msgstr "Opis" + +#: ../../Zotlabs/Module/Cdav.php:1015 ../../Zotlabs/Module/Events.php:483 +#: ../../Zotlabs/Module/Profiles.php:511 ../../Zotlabs/Module/Profiles.php:736 +#: ../../Zotlabs/Module/Locs.php:128 ../../Zotlabs/Module/Pubsites.php:53 +#: ../../include/js_strings.php:25 +msgid "Location" +msgstr "Lokalizacja" + +#: ../../Zotlabs/Module/Cdav.php:1035 ../../Zotlabs/Module/Events.php:697 +#: ../../Zotlabs/Module/Events.php:706 ../../Zotlabs/Module/Photos.php:947 +#: ../../Zotlabs/Module/Cal.php:205 +msgid "Previous" +msgstr "Poprzedni" + +#: ../../Zotlabs/Module/Cdav.php:1036 ../../Zotlabs/Module/Events.php:698 +#: ../../Zotlabs/Module/Events.php:707 ../../Zotlabs/Module/Photos.php:956 +#: ../../Zotlabs/Module/Cal.php:206 ../../Zotlabs/Module/Setup.php:260 +msgid "Next" +msgstr "Nastęþny" + +#: ../../Zotlabs/Module/Cdav.php:1037 ../../Zotlabs/Module/Events.php:708 +#: ../../Zotlabs/Module/Cal.php:207 +msgid "Today" +msgstr "Dzisiaj" + +#: ../../Zotlabs/Module/Cdav.php:1038 ../../Zotlabs/Module/Events.php:703 +msgid "Month" +msgstr "MiesiÄ…c" + +#: ../../Zotlabs/Module/Cdav.php:1039 ../../Zotlabs/Module/Events.php:704 +msgid "Week" +msgstr "TydzieÅ„" + +#: ../../Zotlabs/Module/Cdav.php:1040 ../../Zotlabs/Module/Events.php:705 +msgid "Day" +msgstr "DzieÅ„" + +#: ../../Zotlabs/Module/Cdav.php:1041 +msgid "List month" +msgstr "WymieÅ„ miesiÄ…c" + +#: ../../Zotlabs/Module/Cdav.php:1042 +msgid "List week" +msgstr "WymieÅ„ tydzieÅ„" + +#: ../../Zotlabs/Module/Cdav.php:1043 +msgid "List day" +msgstr "WymieÅ„ dzieÅ„" + +#: ../../Zotlabs/Module/Cdav.php:1051 +msgid "More" +msgstr "WiÄ™cej" + +#: ../../Zotlabs/Module/Cdav.php:1052 +msgid "Less" +msgstr "Mniej" + +#: ../../Zotlabs/Module/Cdav.php:1053 ../../Zotlabs/Module/Cdav.php:1388 +#: ../../Zotlabs/Module/Profiles.php:801 ../../Zotlabs/Module/Oauth.php:53 +#: ../../Zotlabs/Module/Oauth.php:137 ../../Zotlabs/Module/Oauth2.php:58 +#: ../../Zotlabs/Module/Oauth2.php:144 ../../Zotlabs/Module/Connedit.php:931 +#: ../../Zotlabs/Module/Admin/Addons.php:457 ../../Zotlabs/Lib/Apps.php:536 +msgid "Update" +msgstr "Zaktualizuj" + +#: ../../Zotlabs/Module/Cdav.php:1054 +msgid "Select calendar" +msgstr "Wybierz kalendarz" + +#: ../../Zotlabs/Module/Cdav.php:1055 ../../Zotlabs/Widget/Cdav.php:143 +msgid "Channel Calendars" +msgstr "Kalendarze kanaÅ‚u" + +#: ../../Zotlabs/Module/Cdav.php:1055 ../../Zotlabs/Widget/Cdav.php:129 +#: ../../Zotlabs/Widget/Cdav.php:143 +msgid "CalDAV Calendars" +msgstr "Kalendarze CalDAV" + +#: ../../Zotlabs/Module/Cdav.php:1056 ../../Zotlabs/Module/Cdav.php:1389 +#: ../../Zotlabs/Module/Webpages.php:257 ../../Zotlabs/Module/Profiles.php:802 +#: ../../Zotlabs/Module/Oauth.php:174 ../../Zotlabs/Module/Card_edit.php:129 +#: ../../Zotlabs/Module/Oauth2.php:195 ../../Zotlabs/Module/Blocks.php:162 +#: ../../Zotlabs/Module/Connedit.php:660 ../../Zotlabs/Module/Connedit.php:932 +#: ../../Zotlabs/Module/Editlayout.php:138 +#: ../../Zotlabs/Module/Editblock.php:139 ../../Zotlabs/Module/Photos.php:1179 +#: ../../Zotlabs/Module/Connections.php:328 +#: ../../Zotlabs/Module/Editwebpage.php:167 +#: ../../Zotlabs/Module/Article_edit.php:128 +#: ../../Zotlabs/Module/Admin/Accounts.php:175 +#: ../../Zotlabs/Module/Admin/Channels.php:149 +#: ../../Zotlabs/Module/Admin/Profs.php:176 ../../Zotlabs/Module/Thing.php:269 +#: ../../Zotlabs/Storage/Browser.php:384 ../../Zotlabs/Lib/Apps.php:558 +#: ../../Zotlabs/Lib/ThreadItem.php:170 ../../include/conversation.php:730 +#: ../../include/conversation.php:775 +msgid "Delete" +msgstr "UsuÅ„" + +#: ../../Zotlabs/Module/Cdav.php:1057 +msgid "Delete all" +msgstr "UsuÅ„ wszystko" + +#: ../../Zotlabs/Module/Cdav.php:1058 ../../Zotlabs/Module/Cdav.php:1390 +#: ../../Zotlabs/Module/Filer.php:56 ../../Zotlabs/Module/Profiles.php:803 +#: ../../Zotlabs/Module/Oauth.php:112 ../../Zotlabs/Module/Oauth.php:138 +#: ../../Zotlabs/Module/Card_edit.php:131 ../../Zotlabs/Module/Oauth2.php:117 +#: ../../Zotlabs/Module/Oauth2.php:145 ../../Zotlabs/Module/Wiki.php:368 +#: ../../Zotlabs/Module/Wiki.php:401 ../../Zotlabs/Module/Fbrowser.php:66 +#: ../../Zotlabs/Module/Fbrowser.php:88 ../../Zotlabs/Module/Connedit.php:933 +#: ../../Zotlabs/Module/Profile_photo.php:507 +#: ../../Zotlabs/Module/Editlayout.php:140 +#: ../../Zotlabs/Module/Editblock.php:141 ../../Zotlabs/Module/Editpost.php:110 +#: ../../Zotlabs/Module/Tagrm.php:15 ../../Zotlabs/Module/Tagrm.php:138 +#: ../../Zotlabs/Module/Editwebpage.php:169 +#: ../../Zotlabs/Module/Article_edit.php:130 +#: ../../Zotlabs/Module/Admin/Addons.php:427 +#: ../../Zotlabs/Module/Cover_photo.php:428 +#: ../../Zotlabs/Storage/Browser.php:383 ../../include/conversation.php:1458 +#: ../../include/conversation.php:1511 +#: ../../extend/addon/hzaddons/hsse/hsse.php:209 +#: ../../extend/addon/hzaddons/hsse/hsse.php:258 +msgid "Cancel" +msgstr "Anuluj" + +#: ../../Zotlabs/Module/Cdav.php:1059 ../../Zotlabs/Module/Cdav.php:1387 +#: ../../Zotlabs/Module/Webpages.php:254 ../../Zotlabs/Module/Profiles.php:800 +#: ../../Zotlabs/Module/Layouts.php:185 +#: ../../Zotlabs/Module/New_channel.php:189 ../../Zotlabs/Module/Blocks.php:159 +#: ../../Zotlabs/Module/Connedit.php:930 ../../Zotlabs/Module/Cards.php:113 +#: ../../Zotlabs/Module/Articles.php:117 ../../Zotlabs/Module/Menu.php:182 +#: ../../Zotlabs/Storage/Browser.php:365 ../../Zotlabs/Storage/Browser.php:538 +#: ../../Zotlabs/Widget/Cdav.php:140 ../../Zotlabs/Widget/Cdav.php:178 +msgid "Create" +msgstr "Utwórz" + +#: ../../Zotlabs/Module/Cdav.php:1060 +msgid "Sorry! Editing of recurrent events is not yet implemented." +msgstr "" +"Przepraszamy! Edycja powtarzajÄ…cych siÄ™ wydarzeÅ„ nie zostaÅ‚a jeszcze " +"zaimplementowana." + +#: ../../Zotlabs/Module/Cdav.php:1070 ../../Zotlabs/Storage/Browser.php:293 +#: ../../Zotlabs/Storage/Browser.php:388 ../../Zotlabs/Storage/Browser.php:403 +#: ../../Zotlabs/Widget/Appcategories.php:43 +#: ../../include/contact_widgets.php:108 ../../include/contact_widgets.php:152 +#: ../../include/contact_widgets.php:197 ../../include/contact_widgets.php:232 +#: ../../include/taxonomy.php:418 ../../include/taxonomy.php:500 +#: ../../include/taxonomy.php:520 ../../include/taxonomy.php:541 +msgid "Categories" +msgstr "Kategorie" + +#: ../../Zotlabs/Module/Cdav.php:1372 ../../Zotlabs/Module/Group.php:155 +#: ../../Zotlabs/Module/Oauth.php:113 ../../Zotlabs/Module/Oauth.php:139 +#: ../../Zotlabs/Module/Oauth2.php:118 ../../Zotlabs/Module/Oauth2.php:146 +#: ../../Zotlabs/Module/Wiki.php:218 ../../Zotlabs/Module/Connedit.php:915 +#: ../../Zotlabs/Module/Sharedwithme.php:106 ../../Zotlabs/Module/Chat.php:257 +#: ../../Zotlabs/Module/Admin/Channels.php:159 +#: ../../Zotlabs/Storage/Browser.php:377 +#: ../../Zotlabs/Lib/NativeWikiPage.php:564 +#: ../../Zotlabs/Widget/Wiki_page_history.php:22 +#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:172 +msgid "Name" +msgstr "Nazwa" + +#: ../../Zotlabs/Module/Cdav.php:1373 ../../Zotlabs/Module/Connedit.php:916 +msgid "Organisation" +msgstr "Organizacja" + +#: ../../Zotlabs/Module/Cdav.php:1374 ../../Zotlabs/Module/Connedit.php:917 +#: ../../extend/addon/hzaddons/workflow/workflow.php:2617 +#: ../../extend/addon/hzaddons/workflow/workflow.php:2678 +msgid "Title" +msgstr "TytuÅ‚" + +#: ../../Zotlabs/Module/Cdav.php:1375 ../../Zotlabs/Module/Profiles.php:788 +#: ../../Zotlabs/Module/Connedit.php:918 +msgid "Phone" +msgstr "Numer telefonu" + +#: ../../Zotlabs/Module/Cdav.php:1376 ../../Zotlabs/Module/Profiles.php:789 +#: ../../Zotlabs/Module/Connedit.php:919 +#: ../../Zotlabs/Module/Admin/Accounts.php:171 +#: ../../Zotlabs/Module/Admin/Accounts.php:183 ../../include/network.php:1737 +#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:71 +#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:56 +#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:57 +#: ../../extend/addon/hzaddons/rtof/Mod_Rtof.php:57 +msgid "Email" +msgstr "Adres e-mail" + +#: ../../Zotlabs/Module/Cdav.php:1377 ../../Zotlabs/Module/Profiles.php:790 +#: ../../Zotlabs/Module/Connedit.php:920 +msgid "Instant messenger" +msgstr "Komunikator internetowy" + +#: ../../Zotlabs/Module/Cdav.php:1378 ../../Zotlabs/Module/Profiles.php:791 +#: ../../Zotlabs/Module/Connedit.php:921 +msgid "Website" +msgstr "Strona internetowa" + +#: ../../Zotlabs/Module/Cdav.php:1379 ../../Zotlabs/Module/Profiles.php:504 +#: ../../Zotlabs/Module/Profiles.php:792 ../../Zotlabs/Module/Locs.php:129 +#: ../../Zotlabs/Module/Connedit.php:922 +#: ../../Zotlabs/Module/Admin/Channels.php:160 +msgid "Address" +msgstr "Adres" + +#: ../../Zotlabs/Module/Cdav.php:1380 ../../Zotlabs/Module/Profiles.php:793 +#: ../../Zotlabs/Module/Connedit.php:923 +msgid "Note" +msgstr "Uwagi" + +#: ../../Zotlabs/Module/Cdav.php:1381 ../../Zotlabs/Module/Profiles.php:794 +#: ../../Zotlabs/Module/Connedit.php:924 ../../include/connections.php:734 +#: ../../include/event.php:1422 +msgid "Mobile" +msgstr "Komórka" + +#: ../../Zotlabs/Module/Cdav.php:1382 ../../Zotlabs/Module/Profiles.php:795 +#: ../../Zotlabs/Module/Connedit.php:925 ../../include/connections.php:735 +#: ../../include/event.php:1423 +msgid "Home" +msgstr "Domowy" + +#: ../../Zotlabs/Module/Cdav.php:1383 ../../Zotlabs/Module/Profiles.php:796 +#: ../../Zotlabs/Module/Connedit.php:926 ../../include/connections.php:738 +#: ../../include/event.php:1426 +msgid "Work" +msgstr "Praca" + +#: ../../Zotlabs/Module/Cdav.php:1385 ../../Zotlabs/Module/Profiles.php:798 +#: ../../Zotlabs/Module/Connedit.php:928 +msgid "Add Contact" +msgstr "Dodaj kontakt" + +#: ../../Zotlabs/Module/Cdav.php:1386 ../../Zotlabs/Module/Profiles.php:799 +#: ../../Zotlabs/Module/Connedit.php:929 +msgid "Add Field" +msgstr "Dodaj pole" + +#: ../../Zotlabs/Module/Cdav.php:1391 ../../Zotlabs/Module/Connedit.php:934 +msgid "P.O. Box" +msgstr "Skrytka pocztowa" + +#: ../../Zotlabs/Module/Cdav.php:1392 ../../Zotlabs/Module/Connedit.php:935 +msgid "Additional" +msgstr "Dodatkowe informacje" + +#: ../../Zotlabs/Module/Cdav.php:1393 ../../Zotlabs/Module/Connedit.php:936 +msgid "Street" +msgstr "Ulica" + +#: ../../Zotlabs/Module/Cdav.php:1394 ../../Zotlabs/Module/Connedit.php:937 +msgid "Locality" +msgstr "Miejscowość" + +#: ../../Zotlabs/Module/Cdav.php:1395 ../../Zotlabs/Module/Connedit.php:938 +msgid "Region" +msgstr "Region" + +#: ../../Zotlabs/Module/Cdav.php:1396 ../../Zotlabs/Module/Connedit.php:939 +msgid "ZIP Code" +msgstr "Kod pocztowy" + +#: ../../Zotlabs/Module/Cdav.php:1397 ../../Zotlabs/Module/Profiles.php:759 +#: ../../Zotlabs/Module/Connedit.php:940 +msgid "Country" +msgstr "PaÅ„stwo" + +#: ../../Zotlabs/Module/Cdav.php:1456 +msgid "Default Calendar" +msgstr "DomyÅ›lny kalendarz" + +#: ../../Zotlabs/Module/Cdav.php:1467 +msgid "Default Addressbook" +msgstr "DomyÅ›lna książka adresowa" + +#: ../../Zotlabs/Module/Api.php:74 ../../Zotlabs/Module/Api.php:95 +msgid "Authorize application connection" +msgstr "Autoryzuj połączenie aplikacji" + +#: ../../Zotlabs/Module/Api.php:75 +msgid "Return to your app and insert this Security Code:" +msgstr "Wróć do aplikacji i wprowadź ten kod bezpieczeÅ„stwa:" + +#: ../../Zotlabs/Module/Api.php:85 +msgid "Please login to continue." +msgstr "ProszÄ™ siÄ™ zalogować, aby kontynuować." + +#: ../../Zotlabs/Module/Api.php:97 +msgid "" +"Do you want to authorize this application to access your posts and contacts, " +"and/or create new posts for you?" +msgstr "" +"Czy chcesz zezwolić tej aplikacji na dostÄ™p do Twoich postów i kontaktów " +"albo tworzenie dla Ciebie nowych postów ?" + +#: ../../Zotlabs/Module/Api.php:98 ../../Zotlabs/Module/Events.php:478 +#: ../../Zotlabs/Module/Events.php:479 ../../Zotlabs/Module/Profiles.php:683 +#: ../../Zotlabs/Module/Import.php:634 ../../Zotlabs/Module/Import.php:638 +#: ../../Zotlabs/Module/Import.php:639 ../../Zotlabs/Module/Defperms.php:198 +#: ../../Zotlabs/Module/Filestorage.php:203 +#: ../../Zotlabs/Module/Filestorage.php:211 ../../Zotlabs/Module/Wiki.php:227 +#: ../../Zotlabs/Module/Wiki.php:228 ../../Zotlabs/Module/Connedit.php:403 +#: ../../Zotlabs/Module/Photos.php:673 ../../Zotlabs/Module/Admin/Site.php:261 +#: ../../Zotlabs/Module/Mitem.php:176 ../../Zotlabs/Module/Mitem.php:177 +#: ../../Zotlabs/Module/Mitem.php:256 ../../Zotlabs/Module/Mitem.php:257 +#: ../../Zotlabs/Module/Settings/Display.php:88 +#: ../../Zotlabs/Module/Settings/Channel.php:311 +#: ../../Zotlabs/Module/Menu.php:163 ../../Zotlabs/Module/Menu.php:222 +#: ../../Zotlabs/Module/Sources.php:124 ../../Zotlabs/Module/Sources.php:159 +#: ../../Zotlabs/Storage/Browser.php:310 ../../Zotlabs/Storage/Browser.php:311 +#: ../../Zotlabs/Storage/Browser.php:312 ../../Zotlabs/Storage/Browser.php:389 +#: ../../Zotlabs/Storage/Browser.php:391 ../../Zotlabs/Storage/Browser.php:552 +#: ../../Zotlabs/Lib/Libzotdir.php:165 ../../Zotlabs/Lib/Libzotdir.php:166 +#: ../../Zotlabs/Lib/Libzotdir.php:168 ../../include/conversation.php:1466 +#: ../../include/dir_fns.php:143 ../../include/dir_fns.php:144 +#: ../../include/dir_fns.php:145 +#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:111 +#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:63 +#: ../../extend/addon/hzaddons/cart/cart.php:1370 +#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:72 +#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:337 +#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:361 +#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:437 +#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:461 +#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:65 +#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:649 +#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:653 +#: ../../extend/addon/hzaddons/cart/submodules/subscriptions.php:153 +#: ../../extend/addon/hzaddons/cart/submodules/subscriptions.php:425 +#: ../../extend/addon/hzaddons/cart/submodules/paypalbuttonV2.php:88 +#: ../../extend/addon/hzaddons/cart/submodules/paypalbuttonV2.php:96 +#: ../../extend/addon/hzaddons/cart/submodules/paypalbutton.php:87 +#: ../../extend/addon/hzaddons/cart/submodules/paypalbutton.php:95 +#: ../../extend/addon/hzaddons/cart/submodules/manualcat.php:63 +#: ../../extend/addon/hzaddons/cart/submodules/manualcat.php:254 +#: ../../extend/addon/hzaddons/cart/submodules/manualcat.php:258 +#: ../../extend/addon/hzaddons/cart/Settings/Cart.php:61 +#: ../../extend/addon/hzaddons/cart/Settings/Cart.php:73 +#: ../../extend/addon/hzaddons/ljpost/Mod_Ljpost.php:63 +#: ../../extend/addon/hzaddons/ljpost/Mod_Ljpost.php:67 +#: ../../extend/addon/hzaddons/ljpost/Mod_Ljpost.php:71 +#: ../../extend/addon/hzaddons/libertree/Mod_Libertree.php:59 +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:260 +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:282 +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:291 +#: ../../extend/addon/hzaddons/pubcrawl/Mod_Pubcrawl.php:45 +#: ../../extend/addon/hzaddons/ijpost/Mod_Ijpost.php:61 +#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:214 +#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:162 +#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:171 +#: ../../extend/addon/hzaddons/dwpost/Mod_Dwpost.php:61 +#: ../../extend/addon/hzaddons/dwpost/Mod_Dwpost.php:65 +#: ../../extend/addon/hzaddons/nofed/Mod_Nofed.php:42 +#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:137 +#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:138 +#: ../../extend/addon/hzaddons/smileybutton/Mod_Smileybutton.php:44 +#: ../../extend/addon/hzaddons/rtof/Mod_Rtof.php:49 +#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:86 +#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:90 +#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:94 +#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:94 +#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:98 +#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:102 +#: ../../view/theme/redbasic/php/config.php:99 +#: ../../view/theme/redbasic/php/config.php:116 ../../boot.php:1710 +msgid "Yes" +msgstr "Tak" + +#: ../../Zotlabs/Module/Api.php:99 ../../Zotlabs/Module/Events.php:478 +#: ../../Zotlabs/Module/Events.php:479 ../../Zotlabs/Module/Profiles.php:683 +#: ../../Zotlabs/Module/Import.php:634 ../../Zotlabs/Module/Import.php:638 +#: ../../Zotlabs/Module/Import.php:639 ../../Zotlabs/Module/Defperms.php:198 +#: ../../Zotlabs/Module/Filestorage.php:203 +#: ../../Zotlabs/Module/Filestorage.php:211 ../../Zotlabs/Module/Wiki.php:227 +#: ../../Zotlabs/Module/Wiki.php:228 ../../Zotlabs/Module/Connedit.php:403 +#: ../../Zotlabs/Module/Connedit.php:788 ../../Zotlabs/Module/Photos.php:673 +#: ../../Zotlabs/Module/Admin/Site.php:259 ../../Zotlabs/Module/Mitem.php:176 +#: ../../Zotlabs/Module/Mitem.php:177 ../../Zotlabs/Module/Mitem.php:256 +#: ../../Zotlabs/Module/Mitem.php:257 +#: ../../Zotlabs/Module/Settings/Display.php:88 +#: ../../Zotlabs/Module/Settings/Channel.php:311 +#: ../../Zotlabs/Module/Menu.php:163 ../../Zotlabs/Module/Menu.php:222 +#: ../../Zotlabs/Module/Sources.php:124 ../../Zotlabs/Module/Sources.php:159 +#: ../../Zotlabs/Storage/Browser.php:310 ../../Zotlabs/Storage/Browser.php:311 +#: ../../Zotlabs/Storage/Browser.php:312 ../../Zotlabs/Storage/Browser.php:389 +#: ../../Zotlabs/Storage/Browser.php:391 ../../Zotlabs/Storage/Browser.php:552 +#: ../../Zotlabs/Lib/Libzotdir.php:165 ../../Zotlabs/Lib/Libzotdir.php:166 +#: ../../Zotlabs/Lib/Libzotdir.php:168 ../../include/conversation.php:1466 +#: ../../include/dir_fns.php:143 ../../include/dir_fns.php:144 +#: ../../include/dir_fns.php:145 +#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:111 +#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:63 +#: ../../extend/addon/hzaddons/cart/cart.php:1370 +#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:72 +#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:338 +#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:362 +#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:438 +#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:462 +#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:65 +#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:649 +#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:653 +#: ../../extend/addon/hzaddons/cart/submodules/subscriptions.php:153 +#: ../../extend/addon/hzaddons/cart/submodules/subscriptions.php:425 +#: ../../extend/addon/hzaddons/cart/submodules/paypalbuttonV2.php:88 +#: ../../extend/addon/hzaddons/cart/submodules/paypalbuttonV2.php:96 +#: ../../extend/addon/hzaddons/cart/submodules/paypalbutton.php:87 +#: ../../extend/addon/hzaddons/cart/submodules/paypalbutton.php:95 +#: ../../extend/addon/hzaddons/cart/submodules/manualcat.php:63 +#: ../../extend/addon/hzaddons/cart/submodules/manualcat.php:254 +#: ../../extend/addon/hzaddons/cart/submodules/manualcat.php:258 +#: ../../extend/addon/hzaddons/cart/Settings/Cart.php:61 +#: ../../extend/addon/hzaddons/cart/Settings/Cart.php:73 +#: ../../extend/addon/hzaddons/ljpost/Mod_Ljpost.php:63 +#: ../../extend/addon/hzaddons/ljpost/Mod_Ljpost.php:67 +#: ../../extend/addon/hzaddons/ljpost/Mod_Ljpost.php:71 +#: ../../extend/addon/hzaddons/libertree/Mod_Libertree.php:59 +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:260 +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:282 +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:291 +#: ../../extend/addon/hzaddons/pubcrawl/Mod_Pubcrawl.php:45 +#: ../../extend/addon/hzaddons/ijpost/Mod_Ijpost.php:61 +#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:214 +#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:162 +#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:171 +#: ../../extend/addon/hzaddons/dwpost/Mod_Dwpost.php:61 +#: ../../extend/addon/hzaddons/dwpost/Mod_Dwpost.php:65 +#: ../../extend/addon/hzaddons/nofed/Mod_Nofed.php:42 +#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:137 +#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:138 +#: ../../extend/addon/hzaddons/smileybutton/Mod_Smileybutton.php:44 +#: ../../extend/addon/hzaddons/rtof/Mod_Rtof.php:49 +#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:86 +#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:90 +#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:94 +#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:94 +#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:98 +#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:102 +#: ../../view/theme/redbasic/php/config.php:99 +#: ../../view/theme/redbasic/php/config.php:116 ../../boot.php:1710 +msgid "No" +msgstr "Nie" + +#: ../../Zotlabs/Module/Dirsearch.php:28 ../../Zotlabs/Module/Regdir.php:52 +msgid "This site is not a directory server" +msgstr "Ta witryna nie jest serwerem katalogów" + +#: ../../Zotlabs/Module/Dirsearch.php:37 +msgid "This directory server requires an access token" +msgstr "Ten serwer katalogowy wymaga tokenu dostÄ™pu" + +#: ../../Zotlabs/Module/Filer.php:53 +msgid "Enter a folder name" +msgstr "Wprowadź nazwÄ™ folderu" + +#: ../../Zotlabs/Module/Filer.php:53 +msgid "or select an existing folder (doubleclick)" +msgstr "lub wybierz istniejÄ…cy folder (kliknij dwukrotnie)" + +#: ../../Zotlabs/Module/Filer.php:54 ../../Zotlabs/Module/Admin/Profs.php:94 +#: ../../Zotlabs/Module/Admin/Profs.php:114 ../../Zotlabs/Module/Rbmark.php:32 +#: ../../Zotlabs/Module/Rbmark.php:104 ../../Zotlabs/Widget/Notes.php:23 +#: ../../include/text.php:1151 ../../include/text.php:1163 +#: ../../extend/addon/hzaddons/queueworker/Mod_Queueworker.php:119 +msgid "Save" +msgstr "Zapisz" + +#: ../../Zotlabs/Module/Filer.php:55 ../../Zotlabs/Lib/ThreadItem.php:184 +msgid "Save to Folder" +msgstr "Zapisz do folderu" + +#: ../../Zotlabs/Module/Events.php:113 +#: ../../Zotlabs/Module/Channel_calendar.php:57 +msgid "Event can not end before it has started." +msgstr "Wydarzenie nie może zakoÅ„czyć siÄ™ przed rozpoczÄ™ciem." + +#: ../../Zotlabs/Module/Events.php:115 ../../Zotlabs/Module/Events.php:124 +#: ../../Zotlabs/Module/Events.php:146 +#: ../../Zotlabs/Module/Channel_calendar.php:59 +#: ../../Zotlabs/Module/Channel_calendar.php:67 +#: ../../Zotlabs/Module/Channel_calendar.php:84 +msgid "Unable to generate preview." +msgstr "Nie można wygenerować podglÄ…du." + +#: ../../Zotlabs/Module/Events.php:122 +#: ../../Zotlabs/Module/Channel_calendar.php:65 +msgid "Event title and start time are required." +msgstr "Wymaga siÄ™ wprowadzenie tytuÅ‚u wydarzenia i godziny rozpoczÄ™cia." + +#: ../../Zotlabs/Module/Events.php:144 ../../Zotlabs/Module/Events.php:271 +#: ../../Zotlabs/Module/Channel_calendar.php:82 +#: ../../Zotlabs/Module/Channel_calendar.php:224 +msgid "Event not found." +msgstr "Nie znaleziono wydarzenia." + +#: ../../Zotlabs/Module/Events.php:266 ../../Zotlabs/Module/Like.php:435 +#: ../../Zotlabs/Module/Tagger.php:75 +#: ../../Zotlabs/Module/Channel_calendar.php:219 +#: ../../include/conversation.php:132 ../../include/text.php:2255 +#: ../../include/event.php:1259 +msgid "event" +msgstr "wydarzenie" + +#: ../../Zotlabs/Module/Events.php:468 +msgid "Edit event title" +msgstr "Edytuj tytuÅ‚ wydarzenia" + +#: ../../Zotlabs/Module/Events.php:468 ../../Zotlabs/Module/Events.php:473 +#: ../../Zotlabs/Module/Profiles.php:747 ../../Zotlabs/Module/Profiles.php:751 +#: ../../Zotlabs/Module/Appman.php:143 ../../Zotlabs/Module/Appman.php:144 +#: ../../include/datetime.php:211 +#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:334 +#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:358 +#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:434 +#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:458 +msgid "Required" +msgstr "Wymagane" + +#: ../../Zotlabs/Module/Events.php:470 +msgid "Categories (comma-separated list)" +msgstr "Kategorie (lista rozdzielana przecinkami)" + +#: ../../Zotlabs/Module/Events.php:471 +msgid "Edit Category" +msgstr "Edytuj kategoriÄ™" + +#: ../../Zotlabs/Module/Events.php:471 +msgid "Category" +msgstr "Kategoria" + +#: ../../Zotlabs/Module/Events.php:474 +msgid "Edit start date and time" +msgstr "Edytuj datÄ™ i godzinÄ™ rozpoczÄ™cia" + +#: ../../Zotlabs/Module/Events.php:475 ../../Zotlabs/Module/Events.php:478 +msgid "Finish date and time are not known or not relevant" +msgstr "Data i godzina zakoÅ„czenia nie sÄ… znane lub nie majÄ… znaczenia" + +#: ../../Zotlabs/Module/Events.php:477 +msgid "Edit finish date and time" +msgstr "Edytuj datÄ™ i godzinÄ™ zakoÅ„czenia" + +#: ../../Zotlabs/Module/Events.php:477 +msgid "Finish date and time" +msgstr "Data i godzina zakoÅ„czenia" + +#: ../../Zotlabs/Module/Events.php:479 ../../Zotlabs/Module/Events.php:480 +msgid "Adjust for viewer timezone" +msgstr "Dostosuj do strefy czasowej widza" + +#: ../../Zotlabs/Module/Events.php:479 +msgid "" +"Important for events that happen in a particular place. Not practical for " +"global holidays." +msgstr "" +"Ważne dla wydarzeÅ„, które majÄ… miejsce w okreÅ›lonym miejscu. Niepraktyczne " +"na globalne Å›wiÄ™ta." + +#: ../../Zotlabs/Module/Events.php:481 +msgid "Edit Description" +msgstr "Edytuj opis" + +#: ../../Zotlabs/Module/Events.php:483 +msgid "Edit Location" +msgstr "Edytuj lokalizacjÄ™" + +#: ../../Zotlabs/Module/Events.php:486 ../../Zotlabs/Module/Webpages.php:262 +#: ../../Zotlabs/Module/Photos.php:1099 ../../Zotlabs/Lib/ThreadItem.php:835 +#: ../../include/conversation.php:1402 +#: ../../extend/addon/hzaddons/hsse/hsse.php:153 +msgid "Preview" +msgstr "PodglÄ…d" + +#: ../../Zotlabs/Module/Events.php:487 ../../include/conversation.php:1478 +#: ../../extend/addon/hzaddons/hsse/hsse.php:225 +msgid "Permission settings" +msgstr "Ustawienia dostÄ™pu" + +#: ../../Zotlabs/Module/Events.php:502 +msgid "Advanced Options" +msgstr "Zaawansowane opcje" + +#: ../../Zotlabs/Module/Events.php:613 +msgid "l, F j" +msgstr "l, F j" + +#: ../../Zotlabs/Module/Events.php:641 +#: ../../Zotlabs/Module/Channel_calendar.php:371 +msgid "Edit event" +msgstr "Edytuj wydarzenie" + +#: ../../Zotlabs/Module/Events.php:643 +#: ../../Zotlabs/Module/Channel_calendar.php:373 +msgid "Delete event" +msgstr "UsuÅ„ wydarzenie" + +#: ../../Zotlabs/Module/Events.php:669 ../../include/text.php:2074 +msgid "Link to Source" +msgstr "Link do źródÅ‚a" + +#: ../../Zotlabs/Module/Events.php:677 +#: ../../Zotlabs/Module/Channel_calendar.php:407 +msgid "calendar" +msgstr "kalendarz" + +#: ../../Zotlabs/Module/Events.php:696 +msgid "Edit Event" +msgstr "Edytuj wydarzenie" + +#: ../../Zotlabs/Module/Events.php:696 +msgid "Create Event" +msgstr "Utwórz wydarzenie" + +#: ../../Zotlabs/Module/Events.php:699 ../../include/channel.php:1889 +msgid "Export" +msgstr "Eksport" + +#: ../../Zotlabs/Module/Events.php:702 ../../Zotlabs/Module/Webpages.php:261 +#: ../../Zotlabs/Module/Layouts.php:198 ../../Zotlabs/Module/Wiki.php:213 +#: ../../Zotlabs/Module/Wiki.php:409 ../../Zotlabs/Module/Blocks.php:166 +#: ../../Zotlabs/Module/Pubsites.php:61 +msgid "View" +msgstr "Widok" + +#: ../../Zotlabs/Module/Events.php:739 +msgid "Event removed" +msgstr "Wydarzenie usuniÄ™te" + +#: ../../Zotlabs/Module/Events.php:742 +#: ../../Zotlabs/Module/Channel_calendar.php:494 +msgid "Failed to remove event" +msgstr "Nie udaÅ‚o siÄ™ usunąć wydarzenia" + +#: ../../Zotlabs/Module/Help.php:23 +msgid "Documentation Search" +msgstr "Przeszukaj dokumentacjÄ™" + +#: ../../Zotlabs/Module/Help.php:83 ../../include/nav.php:434 +msgid "About" +msgstr "O platformie Hubzilla" + +#: ../../Zotlabs/Module/Help.php:84 ../../Zotlabs/Module/Group.php:156 +msgid "Members" +msgstr "Dla czÅ‚onków" + +#: ../../Zotlabs/Module/Help.php:85 +msgid "Administrators" +msgstr "Dla administratorów" + +#: ../../Zotlabs/Module/Help.php:86 +msgid "Developers" +msgstr "Dla deweloperów" + +#: ../../Zotlabs/Module/Help.php:87 +msgid "Tutorials" +msgstr "Poradniki" + +#: ../../Zotlabs/Module/Help.php:98 +msgid "$Projectname Documentation" +msgstr "Dokumentacja $Projectname" + +#: ../../Zotlabs/Module/Help.php:99 +msgid "Contents" +msgstr "Spis treÅ›ci" + +#: ../../Zotlabs/Module/Bookmarks.php:62 +msgid "Bookmark added" +msgstr "Dodano zakÅ‚adkÄ™" + +#: ../../Zotlabs/Module/Bookmarks.php:78 +msgid "Bookmarks App" +msgstr "Aplikacja Bookmarks" + +#: ../../Zotlabs/Module/Bookmarks.php:79 +msgid "Bookmark links from posts and manage them" +msgstr "Dodaj do zakÅ‚adek linki z postów i zarzÄ…dzaj nimi" + +#: ../../Zotlabs/Module/Bookmarks.php:92 +msgid "My Bookmarks" +msgstr "Moje zakÅ‚adki" + +#: ../../Zotlabs/Module/Bookmarks.php:103 +msgid "My Connections Bookmarks" +msgstr "Moje zakÅ‚adki połączeÅ„" + +#: ../../Zotlabs/Module/Webpages.php:39 ../../Zotlabs/Module/Layouts.php:31 +#: ../../Zotlabs/Module/Connect.php:17 ../../Zotlabs/Module/Filestorage.php:59 +#: ../../Zotlabs/Module/Blocks.php:33 ../../Zotlabs/Module/Editlayout.php:31 +#: ../../Zotlabs/Module/Achievements.php:15 +#: ../../Zotlabs/Module/Editblock.php:31 ../../Zotlabs/Module/Cards.php:42 +#: ../../Zotlabs/Module/Editwebpage.php:32 ../../Zotlabs/Module/Profile.php:20 +#: ../../Zotlabs/Module/Articles.php:43 ../../Zotlabs/Module/Hcard.php:12 +#: ../../Zotlabs/Module/Menu.php:92 ../../include/channel.php:1439 +#: ../../extend/addon/hzaddons/gallery/Mod_Gallery.php:49 +msgid "Requested profile is not available." +msgstr "Żądany profil nie jest dostÄ™pny." + +#: ../../Zotlabs/Module/Webpages.php:48 +msgid "Webpages App" +msgstr "Aplikacja Webpages" + +#: ../../Zotlabs/Module/Webpages.php:49 +msgid "Provide managed web pages on your channel" +msgstr "UdostÄ™pnij zarzÄ…dzane strony internetowe na swoim kanale" + +#: ../../Zotlabs/Module/Webpages.php:69 +msgid "Import Webpage Elements" +msgstr "Importuj elementy strony internetowej" + +#: ../../Zotlabs/Module/Webpages.php:70 +msgid "Import selected" +msgstr "Importuj wybrane" + +#: ../../Zotlabs/Module/Webpages.php:93 +msgid "Export Webpage Elements" +msgstr "Eksportuj elementy strony internetowej" + +#: ../../Zotlabs/Module/Webpages.php:94 +msgid "Export selected" +msgstr "Eksportuj wybrane" + +#: ../../Zotlabs/Module/Webpages.php:252 ../../Zotlabs/Lib/Apps.php:341 +#: ../../include/nav.php:524 +msgid "Webpages" +msgstr "Witryny internetowe" + +#: ../../Zotlabs/Module/Webpages.php:255 ../../Zotlabs/Module/Layouts.php:193 +#: ../../Zotlabs/Module/Group.php:253 ../../Zotlabs/Module/Oauth.php:173 +#: ../../Zotlabs/Module/Card_edit.php:99 ../../Zotlabs/Module/Oauth2.php:194 +#: ../../Zotlabs/Module/Wiki.php:211 ../../Zotlabs/Module/Wiki.php:384 +#: ../../Zotlabs/Module/Blocks.php:160 ../../Zotlabs/Module/Editlayout.php:114 +#: ../../Zotlabs/Module/Editblock.php:114 +#: ../../Zotlabs/Module/Connections.php:320 +#: ../../Zotlabs/Module/Connections.php:362 +#: ../../Zotlabs/Module/Connections.php:382 +#: ../../Zotlabs/Module/Editwebpage.php:142 +#: ../../Zotlabs/Module/Article_edit.php:98 +#: ../../Zotlabs/Module/Admin/Profs.php:175 ../../Zotlabs/Module/Thing.php:268 +#: ../../Zotlabs/Module/Menu.php:176 ../../Zotlabs/Lib/Apps.php:557 +#: ../../Zotlabs/Lib/ThreadItem.php:148 ../../Zotlabs/Widget/Cdav.php:138 +#: ../../Zotlabs/Widget/Cdav.php:175 ../../include/channel.php:1538 +#: ../../include/channel.php:1542 ../../include/menu.php:120 +msgid "Edit" +msgstr "Edytuj" + +#: ../../Zotlabs/Module/Webpages.php:256 ../../Zotlabs/Module/Layouts.php:194 +#: ../../Zotlabs/Module/Wiki.php:301 ../../Zotlabs/Module/Blocks.php:161 +#: ../../Zotlabs/Module/Photos.php:1078 ../../Zotlabs/Widget/Cdav.php:136 +#: ../../include/conversation.php:1435 +#: ../../extend/addon/hzaddons/hsse/hsse.php:186 +msgid "Share" +msgstr "UdostÄ™pnij" + +#: ../../Zotlabs/Module/Webpages.php:263 +msgid "Actions" +msgstr "Akcje" + +#: ../../Zotlabs/Module/Webpages.php:264 +msgid "Page Link" +msgstr "Link do strony" + +#: ../../Zotlabs/Module/Webpages.php:265 +msgid "Page Title" +msgstr "TytuÅ‚ strony" + +#: ../../Zotlabs/Module/Webpages.php:266 ../../Zotlabs/Module/Layouts.php:191 +#: ../../Zotlabs/Module/Blocks.php:157 ../../Zotlabs/Module/Menu.php:178 +msgid "Created" +msgstr "Utworzono" + +#: ../../Zotlabs/Module/Webpages.php:267 ../../Zotlabs/Module/Layouts.php:192 +#: ../../Zotlabs/Module/Blocks.php:158 ../../Zotlabs/Module/Menu.php:179 +msgid "Edited" +msgstr "Edytowano" + +#: ../../Zotlabs/Module/Webpages.php:295 +msgid "Invalid file type." +msgstr "ZÅ‚y typ pliku." + +#: ../../Zotlabs/Module/Webpages.php:307 +msgid "Error opening zip file" +msgstr "Błąd podczas otwierania pliku zip" + +#: ../../Zotlabs/Module/Webpages.php:318 +msgid "Invalid folder path." +msgstr "NieprawidÅ‚owa Å›cieżka folderu." + +#: ../../Zotlabs/Module/Webpages.php:345 +msgid "No webpage elements detected." +msgstr "Nie wykryto żadnych elementów strony internetowej." + +#: ../../Zotlabs/Module/Webpages.php:420 +msgid "Import complete." +msgstr "Import zakoÅ„czony." + +#: ../../Zotlabs/Module/Profiles.php:26 ../../Zotlabs/Module/Profiles.php:186 +#: ../../Zotlabs/Module/Profiles.php:243 ../../Zotlabs/Module/Profiles.php:661 +msgid "Profile not found." +msgstr "Nie znaleziono profilu." + +#: ../../Zotlabs/Module/Profiles.php:46 +msgid "Profile deleted." +msgstr "Profil usuniÄ™ty." + +#: ../../Zotlabs/Module/Profiles.php:70 ../../Zotlabs/Module/Profiles.php:107 +msgid "Profile-" +msgstr "Profil-" + +#: ../../Zotlabs/Module/Profiles.php:92 ../../Zotlabs/Module/Profiles.php:129 +msgid "New profile created." +msgstr "Utworzono nowy profil." + +#: ../../Zotlabs/Module/Profiles.php:113 +msgid "Profile unavailable to clone." +msgstr "Profil niedostÄ™pny do sklonowania." + +#: ../../Zotlabs/Module/Profiles.php:148 +msgid "Profile unavailable to export." +msgstr "Profil niedostÄ™pny do wyeksportowania." + +#: ../../Zotlabs/Module/Profiles.php:254 +msgid "Profile Name is required." +msgstr "Wymaga siÄ™ podania nazwy profilu." + +#: ../../Zotlabs/Module/Profiles.php:461 +msgid "Marital Status" +msgstr "Stan cywilny" + +#: ../../Zotlabs/Module/Profiles.php:465 +msgid "Romantic Partner" +msgstr "Partner romantyczny" + +#: ../../Zotlabs/Module/Profiles.php:469 ../../Zotlabs/Module/Profiles.php:774 +msgid "Likes" +msgstr "Polubienia" + +#: ../../Zotlabs/Module/Profiles.php:473 ../../Zotlabs/Module/Profiles.php:775 +msgid "Dislikes" +msgstr "Dezaprobaty" + +#: ../../Zotlabs/Module/Profiles.php:477 ../../Zotlabs/Module/Profiles.php:782 +msgid "Work/Employment" +msgstr "Praca/Zatrudnienie" + +#: ../../Zotlabs/Module/Profiles.php:480 +msgid "Religion" +msgstr "Religia" + +#: ../../Zotlabs/Module/Profiles.php:484 +msgid "Political Views" +msgstr "PoglÄ…dy polityczny" + +#: ../../Zotlabs/Module/Profiles.php:488 +#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:74 +msgid "Gender" +msgstr "PÅ‚eć" + +#: ../../Zotlabs/Module/Profiles.php:492 +msgid "Sexual Preference" +msgstr "Prefernecje seksualne" + +#: ../../Zotlabs/Module/Profiles.php:496 +msgid "Homepage" +msgstr "Strona domowa" + +#: ../../Zotlabs/Module/Profiles.php:500 +msgid "Interests" +msgstr "Zainteresowania" + +#: ../../Zotlabs/Module/Profiles.php:596 +msgid "Profile updated." +msgstr "Profil zostaÅ‚ zaktualizowany." + +#: ../../Zotlabs/Module/Profiles.php:680 +msgid "Hide your connections list from viewers of this profile" +msgstr "Ukryj swojÄ… listÄ™ kontaktów przed przeglÄ…dajÄ…cymi ten profil" + +#: ../../Zotlabs/Module/Profiles.php:724 +msgid "Edit Profile Details" +msgstr "Edytuj szczegóły profilu" + +#: ../../Zotlabs/Module/Profiles.php:726 +msgid "View this profile" +msgstr "Zobacz ten profil" + +#: ../../Zotlabs/Module/Profiles.php:727 ../../Zotlabs/Module/Profiles.php:826 +#: ../../include/channel.php:1561 +msgid "Edit visibility" +msgstr "Edytuj dostÄ™pność" + +#: ../../Zotlabs/Module/Profiles.php:728 +msgid "Profile Tools" +msgstr "NarzÄ™dzia profili" + +#: ../../Zotlabs/Module/Profiles.php:729 +msgid "Change cover photo" +msgstr "ZmieÅ„ zdjÄ™cie okÅ‚adkowe" + +#: ../../Zotlabs/Module/Profiles.php:730 ../../include/channel.php:1531 +msgid "Change profile photo" +msgstr "ZmieÅ„ zdjÄ™cie profilowe" + +#: ../../Zotlabs/Module/Profiles.php:731 +msgid "Create a new profile using these settings" +msgstr "Utwórz nowy profil, korzystajÄ…c z tych ustawieÅ„" + +#: ../../Zotlabs/Module/Profiles.php:732 +msgid "Clone this profile" +msgstr "Sklonuj ten profil" + +#: ../../Zotlabs/Module/Profiles.php:733 +msgid "Delete this profile" +msgstr "UsuÅ„ ten profil" + +#: ../../Zotlabs/Module/Profiles.php:734 +msgid "Add profile things" +msgstr "Dodaj elementy profilu" + +#: ../../Zotlabs/Module/Profiles.php:735 +msgid "Personal" +msgstr "Osobisty" + +#: ../../Zotlabs/Module/Profiles.php:737 +msgid "Relationship" +msgstr "Relacja" + +#: ../../Zotlabs/Module/Profiles.php:738 ../../Zotlabs/Widget/Newmember.php:51 +#: ../../include/datetime.php:58 +msgid "Miscellaneous" +msgstr "Różne" + +#: ../../Zotlabs/Module/Profiles.php:740 +msgid "Import profile from file" +msgstr "Importuj profil z pliku" + +#: ../../Zotlabs/Module/Profiles.php:741 +msgid "Export profile to file" +msgstr "Eksportuj profil do pliku" + +#: ../../Zotlabs/Module/Profiles.php:742 +msgid "Your gender" +msgstr "Twoja pÅ‚eć" + +#: ../../Zotlabs/Module/Profiles.php:743 +msgid "Marital status" +msgstr "Stan cywilny" + +#: ../../Zotlabs/Module/Profiles.php:744 +msgid "Sexual preference" +msgstr "Preferencje seksualne" + +#: ../../Zotlabs/Module/Profiles.php:747 +msgid "Profile name" +msgstr "Nazwa profilu" + +#: ../../Zotlabs/Module/Profiles.php:749 +msgid "This is your default profile." +msgstr "To jest Twój profil domyÅ›lny." + +#: ../../Zotlabs/Module/Profiles.php:751 +msgid "Your full name" +msgstr "Twoje imiÄ™ i nazwisko lub peÅ‚na nazwa" + +#: ../../Zotlabs/Module/Profiles.php:752 +msgid "Short title/tescription" +msgstr "Krótki tytuÅ‚/opis" + +#: ../../Zotlabs/Module/Profiles.php:752 +msgid "Maximal 190 characters" +msgstr "Maksymalnie 190 znaków" + +#: ../../Zotlabs/Module/Profiles.php:755 +msgid "Street address" +msgstr "Ulica" + +#: ../../Zotlabs/Module/Profiles.php:756 +msgid "Locality/City" +msgstr "Miejscowość" + +#: ../../Zotlabs/Module/Profiles.php:757 +msgid "Region/State" +msgstr "Region/Stan" + +#: ../../Zotlabs/Module/Profiles.php:758 +msgid "Postal/Zip code" +msgstr "Kod pocztowy" + +#: ../../Zotlabs/Module/Profiles.php:764 +msgid "Who (if applicable)" +msgstr "Kto (jeÅ›li dotyczy)" + +#: ../../Zotlabs/Module/Profiles.php:764 +msgid "Examples: cathy123, Cathy Williams, cathy@example.com" +msgstr "PrzykÅ‚ady: jan123, Jan Kowalski, jan@example.com" + +#: ../../Zotlabs/Module/Profiles.php:765 +msgid "Since (date)" +msgstr "Od (data)" + +#: ../../Zotlabs/Module/Profiles.php:768 +msgid "Tell us about yourself" +msgstr "Opowiedz nam o sobie" + +#: ../../Zotlabs/Module/Profiles.php:769 +#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:68 +msgid "Homepage URL" +msgstr "Adres URL strony domowej" + +#: ../../Zotlabs/Module/Profiles.php:770 +msgid "Hometown" +msgstr "Miejscowość zamieszkania" + +#: ../../Zotlabs/Module/Profiles.php:771 +msgid "Political views" +msgstr "PoglÄ…dy polityczne" + +#: ../../Zotlabs/Module/Profiles.php:772 +msgid "Religious views" +msgstr "PoglÄ…dy religijne" + +#: ../../Zotlabs/Module/Profiles.php:773 +msgid "Keywords used in directory listings" +msgstr "SÅ‚owa kluczowe używane w wykazach katalogów" + +#: ../../Zotlabs/Module/Profiles.php:773 +msgid "Example: fishing photography software" +msgstr "PrzykÅ‚ad: oprogramowanie do fotografii wÄ™dkarskiej" + +#: ../../Zotlabs/Module/Profiles.php:776 +msgid "Musical interests" +msgstr "Zainteresowania muzyczne" + +#: ../../Zotlabs/Module/Profiles.php:777 +msgid "Books, literature" +msgstr "KsiÄ…zki, literatura" + +#: ../../Zotlabs/Module/Profiles.php:778 +msgid "Television" +msgstr "Telewizja" + +#: ../../Zotlabs/Module/Profiles.php:779 +msgid "Film/Dance/Culture/Entertainment" +msgstr "Film/Dance/Culture/Entertainment" + +#: ../../Zotlabs/Module/Profiles.php:780 +msgid "Hobbies/Interests" +msgstr "Zainteresowania" + +#: ../../Zotlabs/Module/Profiles.php:781 +msgid "Love/Romance" +msgstr "MiÅ‚ość/romans" + +#: ../../Zotlabs/Module/Profiles.php:783 +msgid "School/Education" +msgstr "Edukacja szkolna" + +#: ../../Zotlabs/Module/Profiles.php:784 +msgid "Contact information and social networks" +msgstr "Informacje kontaktowe i sieci spoÅ‚ecznoÅ›ciowe" + +#: ../../Zotlabs/Module/Profiles.php:785 +msgid "My other channels" +msgstr "Moje inne kanaÅ‚y" + +#: ../../Zotlabs/Module/Profiles.php:787 +msgid "Communications" +msgstr "Komunikacja" + +#: ../../Zotlabs/Module/Profiles.php:822 ../../include/channel.php:1557 +msgid "Profile Image" +msgstr "Obraz profilowy" + +#: ../../Zotlabs/Module/Profiles.php:832 ../../include/channel.php:1538 +#: ../../include/nav.php:115 +msgid "Edit Profiles" +msgstr "Edytuj profile" + +#: ../../Zotlabs/Module/Profiles.php:833 ../../Zotlabs/Module/Wiki.php:214 +#: ../../Zotlabs/Module/Manage.php:145 ../../Zotlabs/Module/Chat.php:262 +msgid "Create New" +msgstr "Utwórz nowy" + +#: ../../Zotlabs/Module/Import.php:68 ../../Zotlabs/Module/Import_items.php:48 +msgid "Nothing to import." +msgstr "Nie ma nic do zaimportowania." + +#: ../../Zotlabs/Module/Import.php:83 ../../Zotlabs/Module/Import.php:99 +#: ../../Zotlabs/Module/Import_items.php:72 +msgid "Unable to download data from old server" +msgstr "Nie można pobrać danych ze starego serwera" + +#: ../../Zotlabs/Module/Import.php:106 ../../Zotlabs/Module/Import_items.php:77 +msgid "Imported file is empty." +msgstr "Zaimportowany plik jest pusty." + +#: ../../Zotlabs/Module/Import.php:162 +#, php-format +msgid "Your service plan only allows %d channels." +msgstr "Twój plan usÅ‚ug obejmuje tylko %d kanaÅ‚(y)/kanałów." + +#: ../../Zotlabs/Module/Import.php:189 +msgid "No channel. Import failed." +msgstr "Brak kanaÅ‚u. Import nieudany." + +#: ../../Zotlabs/Module/Import.php:593 +#: ../../extend/addon/hzaddons/diaspora/import_diaspora.php:142 +msgid "Import completed." +msgstr "Import zakoÅ„czony." + +#: ../../Zotlabs/Module/Import.php:621 +msgid "You must be logged in to use this feature." +msgstr "Trzeba siÄ™ zalogować, aby korzystać z tej funkcji." + +#: ../../Zotlabs/Module/Import.php:626 +msgid "Import Channel" +msgstr "Importuj kanaÅ‚" + +#: ../../Zotlabs/Module/Import.php:627 +msgid "" +"Use this form to import an existing channel from a different server/hub. You " +"may retrieve the channel identity from the old server/hub via the network or " +"provide an export file." +msgstr "" +"Użyj tego formularza, aby zaimportować istniejÄ…cy kanaÅ‚ z innego serwera/" +"huba. Możesz pobrać tożsamość kanaÅ‚u ze starego serwera/huba przez sieć lub " +"dostarczyć plik eksportu." + +#: ../../Zotlabs/Module/Import.php:628 +#: ../../Zotlabs/Module/Import_items.php:127 +msgid "File to Upload" +msgstr "Plik do przesÅ‚ania" + +#: ../../Zotlabs/Module/Import.php:629 +msgid "Or provide the old server/hub details" +msgstr "Lub podaj szczegóły starego serwera/huba" + +#: ../../Zotlabs/Module/Import.php:631 +msgid "Your old identity address (xyz@example.com)" +msgstr "Twój stary adres tożsamoÅ›ci (xyz@example.com)" + +#: ../../Zotlabs/Module/Import.php:632 +msgid "Your old login email address" +msgstr "Twój stary adres e-mail logowania" + +#: ../../Zotlabs/Module/Import.php:633 +msgid "Your old login password" +msgstr "Twoje stare hasÅ‚o logowania" + +#: ../../Zotlabs/Module/Import.php:634 +msgid "Import a few months of posts if possible (limited by available memory" +msgstr "" +"Zaimportuj posty z kilku miesiÄ™cy, jeÅ›li to możliwe (ograniczone dostÄ™pnÄ… " +"pamiÄ™ciÄ…" + +#: ../../Zotlabs/Module/Import.php:636 +msgid "" +"For either option, please choose whether to make this hub your new primary " +"address, or whether your old location should continue this role. You will be " +"able to post from either location, but only one can be marked as the primary " +"location for files, photos, and media." +msgstr "" +"W obu przypadkach wybierz, czy chcesz ustawić ten hub jako nowy adres " +"podstawowy, czy też rolÄ™ tÄ… powinna peÅ‚nić Twoja stara lokalizacja. BÄ™dziesz " +"mógÅ‚/mogÅ‚a publikować z dowolnej lokalizacji, ale tylko jedna z nich może " +"być oznaczona jako główna lokalizacja plików, zdjęć i multimediów." + +#: ../../Zotlabs/Module/Import.php:638 +msgid "Make this hub my primary location" +msgstr "Ustaw ten hub ako mojÄ… głównÄ… lokalizacjÄ™" + +#: ../../Zotlabs/Module/Import.php:639 +msgid "Move this channel (disable all previous locations)" +msgstr "PrzenieÅ› ten kanaÅ‚ (wyłącz wszystkie poprzednie lokalizacje)" + +#: ../../Zotlabs/Module/Import.php:640 +msgid "Use this channel nickname instead of the one provided" +msgstr "Użyj tego pseudonimu kanaÅ‚u zamiast podanego" + +#: ../../Zotlabs/Module/Import.php:640 +msgid "" +"Leave blank to keep your existing channel nickname. You will be randomly " +"assigned a similar nickname if either name is already allocated on this site." +msgstr "" +"Pozostaw puste, aby zachować istniejÄ…cy pseudonim kanaÅ‚u. Otrzymasz losowo " +"podobny pseudonim, jeÅ›li któryÅ› z nich jest już przydzielony na tej stronie." + +#: ../../Zotlabs/Module/Import.php:642 +msgid "" +"This process may take several minutes to complete. Please submit the form " +"only once and leave this page open until finished." +msgstr "" +"Ten proces może zająć kilka minut. PrzeÅ›lij formularz tylko raz i pozostaw " +"tÄ™ stronÄ™ otwartÄ… do zakoÅ„czenia procedury." + +#: ../../Zotlabs/Module/Like.php:93 +msgid "Like/Dislike" +msgstr "Polub/Dezaprobuj" + +#: ../../Zotlabs/Module/Like.php:98 +msgid "This action is restricted to members." +msgstr "Ta akcja jest ograniczona do czÅ‚onków." + +#: ../../Zotlabs/Module/Like.php:99 +msgid "" +"Please <a href=\"rmagic\">login with your $Projectname ID</a> or <a href=" +"\"register\">register as a new $Projectname member</a> to continue." +msgstr "" +"Aby kontynuować, <a href=\"rmagic\">zaloguj siÄ™ za pomocÄ… ID $Projectname</" +"a> lub <a href=\"register\">zarejestruj siÄ™ jako nowy czÅ‚onek $Projectname</" +"a>." + +#: ../../Zotlabs/Module/Like.php:154 ../../Zotlabs/Module/Like.php:180 +#: ../../Zotlabs/Module/Like.php:218 +msgid "Invalid request." +msgstr "NieprawidÅ‚owe żądanie." + +#: ../../Zotlabs/Module/Like.php:166 ../../include/conversation.php:135 +msgid "channel" +msgstr "kanaÅ‚" + +#: ../../Zotlabs/Module/Like.php:195 +msgid "thing" +msgstr "rzecz" + +#: ../../Zotlabs/Module/Like.php:241 +msgid "Channel unavailable." +msgstr "KanaÅ‚ niedostÄ™pny." + +#: ../../Zotlabs/Module/Like.php:277 +msgid "Previous action reversed." +msgstr "Poprzednia czynność zostaÅ‚a cofniÄ™ta." + +#: ../../Zotlabs/Module/Like.php:433 ../../Zotlabs/Module/Tagger.php:71 +#: ../../Zotlabs/Module/Subthread.php:112 ../../Zotlabs/Lib/Activity.php:2971 +#: ../../include/conversation.php:128 ../../include/text.php:2252 +#: ../../extend/addon/hzaddons/diaspora/Receiver.php:1597 +#: ../../extend/addon/hzaddons/pubcrawl/as.php:1895 +#: ../../extend/addon/hzaddons/redphotos/redphotohelper.php:71 +msgid "photo" +msgstr "zdjecie" + +#: ../../Zotlabs/Module/Like.php:433 ../../Zotlabs/Module/Subthread.php:112 +#: ../../extend/addon/hzaddons/diaspora/Receiver.php:1597 +#: ../../extend/addon/hzaddons/pubcrawl/as.php:1895 +msgid "status" +msgstr "stan" + +#: ../../Zotlabs/Module/Like.php:469 ../../Zotlabs/Lib/Activity.php:3006 +#: ../../include/conversation.php:174 +#: ../../extend/addon/hzaddons/diaspora/Receiver.php:1537 +#: ../../extend/addon/hzaddons/pubcrawl/as.php:1932 +#, php-format +msgid "%1$s likes %2$s's %3$s" +msgstr "%1$s polubieÅ„ %2$s %3$s" + +#: ../../Zotlabs/Module/Like.php:471 ../../Zotlabs/Lib/Activity.php:3008 +#: ../../include/conversation.php:177 +#: ../../extend/addon/hzaddons/pubcrawl/as.php:1934 +#, php-format +msgid "%1$s doesn't like %2$s's %3$s" +msgstr "%1$s sezaprobat %2$s %3$s" + +#: ../../Zotlabs/Module/Like.php:473 +#, php-format +msgid "%1$s agrees with %2$s's %3$s" +msgstr "%1$s zgadza siÄ™ z %3$s dla %2$s" + +#: ../../Zotlabs/Module/Like.php:475 +#, php-format +msgid "%1$s doesn't agree with %2$s's %3$s" +msgstr "%1$s nie zgadza siÄ™ z %3$s dla %2$s" + +#: ../../Zotlabs/Module/Like.php:477 +#, php-format +msgid "%1$s abstains from a decision on %2$s's %3$s" +msgstr "%1$s wstrzymuje siÄ™ od decyzji w sprawie %3$s dla %2$s" + +#: ../../Zotlabs/Module/Like.php:479 +#: ../../extend/addon/hzaddons/diaspora/Receiver.php:2184 +#, php-format +msgid "%1$s is attending %2$s's %3$s" +msgstr "%1$s uczesticzy %2$s %3$s" + +#: ../../Zotlabs/Module/Like.php:481 +#: ../../extend/addon/hzaddons/diaspora/Receiver.php:2186 +#, php-format +msgid "%1$s is not attending %2$s's %3$s" +msgstr "%1$s nie uczestniczy %2$s %3$s" + +#: ../../Zotlabs/Module/Like.php:483 +#: ../../extend/addon/hzaddons/diaspora/Receiver.php:2188 +#, php-format +msgid "%1$s may attend %2$s's %3$s" +msgstr "%1$s może uczestniczyć %2$s %3$s" + +#: ../../Zotlabs/Module/Like.php:592 +msgid "Action completed." +msgstr "Akcja zakoÅ„czona." + +#: ../../Zotlabs/Module/Like.php:593 +msgid "Thank you." +msgstr "DziÄ™kujemy." + +#: ../../Zotlabs/Module/Defperms.php:68 ../../Zotlabs/Module/Connedit.php:89 +msgid "Could not access contact record." +msgstr "Brak dostÄ™pu do rekordu kontaktu." + +#: ../../Zotlabs/Module/Defperms.php:112 +#: ../../Zotlabs/Module/Settings/Channel.php:267 +#: ../../extend/addon/hzaddons/msgfooter/msgfooter.php:54 +#: ../../extend/addon/hzaddons/piwik/piwik.php:116 +#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:82 +#: ../../extend/addon/hzaddons/diaspora/diaspora.php:93 +#: ../../extend/addon/hzaddons/openstreetmap/openstreetmap.php:171 +#: ../../extend/addon/hzaddons/xmpp/xmpp.php:54 +#: ../../extend/addon/hzaddons/twitter/twitter.php:494 +#: ../../extend/addon/hzaddons/logrot/logrot.php:54 +msgid "Settings updated." +msgstr "Zaktualizowano ustawienia." + +#: ../../Zotlabs/Module/Defperms.php:190 +msgid "Default Permissions App" +msgstr "Aplikacja Default Permissions" + +#: ../../Zotlabs/Module/Defperms.php:191 +msgid "Set custom default permissions for new connections" +msgstr "Ustaw niestandardowe uprawnienia domyÅ›lne dla nowych połączeÅ„" + +#: ../../Zotlabs/Module/Defperms.php:255 ../../Zotlabs/Module/Connedit.php:859 +msgid "Connection Default Permissions" +msgstr "DomyÅ›lne uprawnienia połączenia" + +#: ../../Zotlabs/Module/Defperms.php:256 ../../Zotlabs/Module/Connedit.php:860 +msgid "Apply these permissions automatically" +msgstr "Zastosuj te uprawnienia automatycznie" + +#: ../../Zotlabs/Module/Defperms.php:256 +#: ../../Zotlabs/Module/Settings/Channel.php:472 +msgid "" +"If enabled, connection requests will be approved without your interaction" +msgstr "" +"JeÅ›li jest włączone, proÅ›by o połączenie bÄ™dÄ… zatwierdzane bez Twojej " +"interakcji" + +#: ../../Zotlabs/Module/Defperms.php:257 ../../Zotlabs/Module/Connedit.php:861 +msgid "Permission role" +msgstr "Rola uprawnieÅ„" + +#: ../../Zotlabs/Module/Defperms.php:257 +#: ../../Zotlabs/Module/New_channel.php:157 +#: ../../Zotlabs/Module/New_channel.php:164 +#: ../../Zotlabs/Module/Connedit.php:861 +#: ../../Zotlabs/Widget/Notifications.php:182 ../../include/nav.php:324 +msgid "Loading" +msgstr "Åadowanie" + +#: ../../Zotlabs/Module/Defperms.php:258 ../../Zotlabs/Module/Connedit.php:862 +msgid "Add permission role" +msgstr "Dodaj rolÄ™ uprawnieÅ„" + +#: ../../Zotlabs/Module/Defperms.php:262 ../../Zotlabs/Module/Connedit.php:875 +msgid "" +"The permissions indicated on this page will be applied to all new " +"connections." +msgstr "" +"Uprawnienia wskazane na tej stronie zostanÄ… zastosowane do wszystkich nowych " +"połączeÅ„." + +#: ../../Zotlabs/Module/Defperms.php:263 +msgid "Automatic approval settings" +msgstr "Ustawienia automatycznego zatwierdzania" + +#: ../../Zotlabs/Module/Defperms.php:265 ../../Zotlabs/Module/Connedit.php:895 +#: ../../Zotlabs/Module/Tokens.php:183 ../../Zotlabs/Module/Permcats.php:124 +msgid "inherited" +msgstr "dziedziczone" + +#: ../../Zotlabs/Module/Defperms.php:267 ../../Zotlabs/Module/Connedit.php:900 +#: ../../Zotlabs/Module/Tokens.php:181 ../../Zotlabs/Module/Permcats.php:122 +msgid "My Settings" +msgstr "Moje ustawienia" + +#: ../../Zotlabs/Module/Defperms.php:270 ../../Zotlabs/Module/Connedit.php:902 +#: ../../Zotlabs/Module/Tokens.php:186 ../../Zotlabs/Module/Permcats.php:127 +msgid "Individual Permissions" +msgstr "Uprawnienia indywidualne" + +#: ../../Zotlabs/Module/Defperms.php:271 +msgid "" +"Some individual permissions may have been preset or locked based on your " +"channel type and privacy settings." +msgstr "" +"Niektóre indywidualne uprawnienia mogÅ‚y zostać wstÄ™pnie ustawione lub " +"zablokowane w zależnoÅ›ci od typu kanaÅ‚u i ustawieÅ„ prywatnoÅ›ci." + +#: ../../Zotlabs/Module/Layouts.php:129 ../../Zotlabs/Module/Layouts.php:189 +#: ../../Zotlabs/Module/Editlayout.php:128 +msgid "Layout Name" +msgstr "Nazwa ukÅ‚adu" + +#: ../../Zotlabs/Module/Layouts.php:132 ../../Zotlabs/Module/Editlayout.php:129 +msgid "Layout Description (Optional)" +msgstr "Opis ukÅ‚adu (opcjonalnie)" + +#: ../../Zotlabs/Module/Layouts.php:184 ../../include/text.php:2700 +msgid "Layouts" +msgstr "UkÅ‚ady" + +#: ../../Zotlabs/Module/Layouts.php:186 ../../Zotlabs/Lib/Apps.php:348 +#: ../../include/nav.php:174 ../../include/nav.php:320 +#: ../../include/help.php:117 ../../include/help.php:125 +msgid "Help" +msgstr "Pomoc" + +#: ../../Zotlabs/Module/Layouts.php:186 +msgid "Comanche page description language help" +msgstr "Pomoc w zakresie jÄ™zyka opisu strony Comanche" + +#: ../../Zotlabs/Module/Layouts.php:190 +msgid "Layout Description" +msgstr "Opis ukÅ‚adu" + +#: ../../Zotlabs/Module/Layouts.php:195 +msgid "Download PDL file" +msgstr "Pobierz plik PDL" + +#: ../../Zotlabs/Module/Pubstream.php:20 +msgid "Public Stream App" +msgstr "Aplikacja Public Stream" + +#: ../../Zotlabs/Module/Pubstream.php:21 +msgid "The unmoderated public stream of this hub" +msgstr "Niemoderowany strumieÅ„ publiczny tego huba" + +#: ../../Zotlabs/Module/Pubstream.php:95 ../../Zotlabs/Module/Display.php:76 +#: ../../Zotlabs/Module/Channel.php:224 ../../Zotlabs/Module/Hq.php:125 +#: ../../Zotlabs/Module/Network.php:205 +msgid "Reset form" +msgstr "Resetuj formularz" + +#: ../../Zotlabs/Module/Pubstream.php:105 ../../Zotlabs/Lib/Apps.php:375 +#: ../../Zotlabs/Widget/Notifications.php:162 +msgid "Public Stream" +msgstr "StrumieÅ„ publiczny" + +#: ../../Zotlabs/Module/Sse_bs.php:540 ../../Zotlabs/Module/Ping.php:672 +msgid "Private forum" +msgstr "Prywatne forum" + +#: ../../Zotlabs/Module/Sse_bs.php:540 ../../Zotlabs/Module/Ping.php:672 +msgid "Public forum" +msgstr "Publiczne forum" + +#: ../../Zotlabs/Module/Group.php:46 +msgid "Privacy group created." +msgstr "Utworzono grupÄ™ prywatnoÅ›ci." + +#: ../../Zotlabs/Module/Group.php:49 +msgid "Could not create privacy group." +msgstr "Nie udaÅ‚o siÄ™ utworzyć grupy prywatnoÅ›ci." + +#: ../../Zotlabs/Module/Group.php:62 ../../Zotlabs/Module/Group.php:214 +#: ../../include/items.php:4491 +msgid "Privacy group not found." +msgstr "Nie znaleziono grupy prywatnoÅ›ci." + +#: ../../Zotlabs/Module/Group.php:81 +msgid "Privacy group updated." +msgstr "Grupa prywatnoÅ›ci zostaÅ‚a zaktualizowana." + +#: ../../Zotlabs/Module/Group.php:107 +msgid "Privacy Groups App" +msgstr "Aplikacja Privacy Groups" + +#: ../../Zotlabs/Module/Group.php:108 +msgid "Management of privacy groups" +msgstr "ZarzÄ…dzanie grupami prywatnoÅ›ci" + +#: ../../Zotlabs/Module/Group.php:142 ../../Zotlabs/Module/Group.php:154 +#: ../../Zotlabs/Lib/Group.php:324 ../../Zotlabs/Lib/Apps.php:364 +#: ../../Zotlabs/Widget/Activity_filter.php:82 ../../include/group.php:321 +#: ../../include/acl_selectors.php:86 ../../include/nav.php:101 +msgid "Privacy Groups" +msgstr "Grupy prywatnoÅ›ci" + +#: ../../Zotlabs/Module/Group.php:143 +msgid "Add Group" +msgstr "Dodaj grupÄ™" + +#: ../../Zotlabs/Module/Group.php:147 +msgid "Privacy group name" +msgstr "Nazwa grupy prywatnoÅ›ci" + +#: ../../Zotlabs/Module/Group.php:148 ../../Zotlabs/Module/Group.php:257 +msgid "Members are visible to other channels" +msgstr "CzÅ‚onkowie sÄ… widoczni dla innych kanałów" + +#: ../../Zotlabs/Module/Group.php:183 +msgid "Privacy group removed." +msgstr "Grupa prywatnoÅ›ci zostaÅ‚a usuniÄ™ta." + +#: ../../Zotlabs/Module/Group.php:186 +msgid "Unable to remove privacy group." +msgstr "Nie można usunąć grupy prywatnoÅ›ci." + +#: ../../Zotlabs/Module/Group.php:252 +#, php-format +msgid "Privacy Group: %s" +msgstr "Grupa prywatnoÅ›ci: %s" + +#: ../../Zotlabs/Module/Group.php:254 +msgid "Privacy group name: " +msgstr "Nazwa grupy prywatnoÅ›ci: " + +#: ../../Zotlabs/Module/Group.php:259 +msgid "Delete Group" +msgstr "UsuÅ„ grupÄ™" + +#: ../../Zotlabs/Module/Group.php:270 +msgid "Group members" +msgstr "CzÅ‚onkowie grupy" + +#: ../../Zotlabs/Module/Group.php:272 +msgid "Not in this group" +msgstr "Nie w tej grupie" + +#: ../../Zotlabs/Module/Group.php:304 +msgid "Click a channel to toggle membership" +msgstr "Kliknij kanaÅ‚, aby przełączyć czÅ‚onkostwo" + +#: ../../Zotlabs/Module/Removeme.php:35 +msgid "" +"Channel removals are not allowed within 48 hours of changing the account " +"password." +msgstr "" +"UsuniÄ™cie kanaÅ‚u nie jest dozwolone w ciÄ…gu 48 godzin od zmiany hasÅ‚a do " +"konta." + +#: ../../Zotlabs/Module/Removeme.php:60 +msgid "Remove This Channel" +msgstr "UsuÅ„ ten kanaÅ‚" + +#: ../../Zotlabs/Module/Removeme.php:61 ../../Zotlabs/Module/Changeaddr.php:78 +#: ../../Zotlabs/Module/Removeaccount.php:58 +msgid "WARNING: " +msgstr "UWAGA: " + +#: ../../Zotlabs/Module/Removeme.php:61 +msgid "This channel will be completely removed from the network. " +msgstr "Ten kanaÅ‚ zostanie caÅ‚kowicie usuniÄ™ty z sieci. " + +#: ../../Zotlabs/Module/Removeme.php:61 +#: ../../Zotlabs/Module/Removeaccount.php:58 +msgid "This action is permanent and can not be undone!" +msgstr "Ta akcja jest bezpowrotna i nie można jej cofnąć!" + +#: ../../Zotlabs/Module/Removeme.php:62 ../../Zotlabs/Module/Changeaddr.php:79 +#: ../../Zotlabs/Module/Removeaccount.php:59 +msgid "Please enter your password for verification:" +msgstr "Wprowadź hasÅ‚o do weryfikacji:" + +#: ../../Zotlabs/Module/Removeme.php:64 +#: ../../Zotlabs/Module/Settings/Channel.php:596 +msgid "Remove Channel" +msgstr "UsuÅ„ kanaÅ‚" + +#: ../../Zotlabs/Module/Appman.php:39 ../../Zotlabs/Module/Appman.php:56 +msgid "App installed." +msgstr "Aplikacja zostaÅ‚a zainstalowana." + +#: ../../Zotlabs/Module/Appman.php:49 +msgid "Malformed app." +msgstr "NieprawidÅ‚owa aplikacja." + +#: ../../Zotlabs/Module/Appman.php:132 +msgid "Embed code" +msgstr "Osadzony kod" + +#: ../../Zotlabs/Module/Appman.php:138 +msgid "Edit App" +msgstr "Edutuj aplikacjÄ™" + +#: ../../Zotlabs/Module/Appman.php:138 +msgid "Create App" +msgstr "Utwórz aplikacjÄ™" + +#: ../../Zotlabs/Module/Appman.php:143 +msgid "Name of app" +msgstr "Nazwa aplikacji" + +#: ../../Zotlabs/Module/Appman.php:144 +msgid "Location (URL) of app" +msgstr "Lokalizacja (URL) aplikacji" + +#: ../../Zotlabs/Module/Appman.php:146 +msgid "Photo icon URL" +msgstr "Adres URL ikony zdjÄ™cia" + +#: ../../Zotlabs/Module/Appman.php:146 +msgid "80 x 80 pixels - optional" +msgstr "80 x 80 pikseli - opcjonalnie" + +#: ../../Zotlabs/Module/Appman.php:147 +msgid "Categories (optional, comma separated list)" +msgstr "Kategorie (opcjonalne, lista rozdzielana przecinkami)" + +#: ../../Zotlabs/Module/Appman.php:148 +msgid "Version ID" +msgstr "ID wesji" + +#: ../../Zotlabs/Module/Appman.php:149 +msgid "Price of app" +msgstr "Cena aplikacji" + +#: ../../Zotlabs/Module/Appman.php:150 +msgid "Location (URL) to purchase app" +msgstr "Lokalizacja (URL) do zakupu aplikacji" + +#: ../../Zotlabs/Module/Changeaddr.php:35 +msgid "" +"Channel name changes are not allowed within 48 hours of changing the account " +"password." +msgstr "" +"Zmiana nazwy kanaÅ‚u jest niedozwolona w ciÄ…gu 48 godzin od zmiany hasÅ‚a do " +"konta." + +#: ../../Zotlabs/Module/Changeaddr.php:46 ../../include/channel.php:225 +#: ../../include/channel.php:706 +msgid "Reserved nickname. Please choose another." +msgstr "Zarezerwowany pseudonim. ProszÄ™ wybrać inny." + +#: ../../Zotlabs/Module/Changeaddr.php:51 ../../include/channel.php:230 +#: ../../include/channel.php:711 +msgid "" +"Nickname has unsupported characters or is already being used on this site." +msgstr "" +"Pseudonim zawiera nieobsÅ‚ugiwane znaki lub jest już używany w tym serwisie." + +#: ../../Zotlabs/Module/Changeaddr.php:77 +msgid "Change channel nickname/address" +msgstr "ZmieÅ„ krótkÄ… nazwÄ™/adres kanaÅ‚u" + +#: ../../Zotlabs/Module/Changeaddr.php:78 +msgid "Any/all connections on other networks will be lost!" +msgstr "Wszystkie połączenia w innych sieciach zostanÄ… utracone!" + +#: ../../Zotlabs/Module/Changeaddr.php:80 +msgid "New channel address" +msgstr "Nowy adres kanaÅ‚u" + +#: ../../Zotlabs/Module/Changeaddr.php:81 +msgid "Rename Channel" +msgstr "ZmieÅ„ nazwÄ™ kanaÅ‚u" + +#: ../../Zotlabs/Module/Oauth.php:45 +msgid "Name is required" +msgstr "Wymaga siÄ™ podania nazwy" + +#: ../../Zotlabs/Module/Oauth.php:49 +msgid "Key and Secret are required" +msgstr "Wymaga siÄ™ wprowadzenia klucza i sekretu" + +#: ../../Zotlabs/Module/Oauth.php:100 +msgid "OAuth Apps Manager App" +msgstr "Aplikacja OAuth Apps Manager" + +#: ../../Zotlabs/Module/Oauth.php:101 +msgid "OAuth authentication tokens for mobile and remote apps" +msgstr "Tokeny uwierzytelniania OAuth dla aplikacji mobilnych i zdalnych" + +#: ../../Zotlabs/Module/Oauth.php:110 ../../Zotlabs/Module/Oauth.php:136 +#: ../../Zotlabs/Module/Oauth.php:172 ../../Zotlabs/Module/Oauth2.php:143 +#: ../../Zotlabs/Module/Oauth2.php:193 +msgid "Add application" +msgstr "Dodaj aplikacjÄ™" + +#: ../../Zotlabs/Module/Oauth.php:113 ../../Zotlabs/Module/Oauth2.php:118 +#: ../../Zotlabs/Module/Oauth2.php:146 +msgid "Name of application" +msgstr "Nazwa aplikacji" + +#: ../../Zotlabs/Module/Oauth.php:114 ../../Zotlabs/Module/Oauth.php:140 +#: ../../extend/addon/hzaddons/statusnet/statusnet.php:596 +#: ../../extend/addon/hzaddons/twitter/twitter.php:505 +msgid "Consumer Key" +msgstr "Klucz konsumenta" + +#: ../../Zotlabs/Module/Oauth.php:114 ../../Zotlabs/Module/Oauth.php:115 +#: ../../Zotlabs/Module/Oauth2.php:119 ../../Zotlabs/Module/Oauth2.php:147 +msgid "Automatically generated - change if desired. Max length 20" +msgstr "" +"Wygenerowane automatycznie - w razie potrzeby zmieÅ„. Maksymalna dÅ‚ugość 20" + +#: ../../Zotlabs/Module/Oauth.php:115 ../../Zotlabs/Module/Oauth.php:141 +#: ../../Zotlabs/Module/Oauth2.php:119 ../../Zotlabs/Module/Oauth2.php:147 +#: ../../extend/addon/hzaddons/statusnet/statusnet.php:595 +#: ../../extend/addon/hzaddons/twitter/twitter.php:506 +msgid "Consumer Secret" +msgstr "HasÅ‚o konsumenta" + +#: ../../Zotlabs/Module/Oauth.php:116 ../../Zotlabs/Module/Oauth.php:142 +#: ../../Zotlabs/Module/Oauth2.php:120 ../../Zotlabs/Module/Oauth2.php:148 +msgid "Redirect" +msgstr "Przekierowanie" + +#: ../../Zotlabs/Module/Oauth.php:116 ../../Zotlabs/Module/Oauth2.php:120 +#: ../../Zotlabs/Module/Oauth2.php:148 +msgid "" +"Redirect URI - leave blank unless your application specifically requires this" +msgstr "" +"Identyfikator URI przekierowania - pozostaw puste, chyba że aplikacja tego " +"wymaga" + +#: ../../Zotlabs/Module/Oauth.php:117 ../../Zotlabs/Module/Oauth.php:143 +msgid "Icon url" +msgstr "URL ikony" + +#: ../../Zotlabs/Module/Oauth.php:117 ../../Zotlabs/Module/Sources.php:123 +#: ../../Zotlabs/Module/Sources.php:158 +msgid "Optional" +msgstr "Opcjonalne" + +#: ../../Zotlabs/Module/Oauth.php:128 +msgid "Application not found." +msgstr "Aplikacji nie znaleziono." + +#: ../../Zotlabs/Module/Oauth.php:171 +msgid "Connected OAuth Apps" +msgstr "Połączone aplikacje OAuth" + +#: ../../Zotlabs/Module/Oauth.php:175 ../../Zotlabs/Module/Oauth2.php:196 +msgid "Client key starts with" +msgstr "Klucz klienta zaczyna siÄ™ od" + +#: ../../Zotlabs/Module/Oauth.php:176 ../../Zotlabs/Module/Oauth2.php:197 +msgid "No name" +msgstr "Brak nazwy" + +#: ../../Zotlabs/Module/Oauth.php:177 ../../Zotlabs/Module/Oauth2.php:198 +msgid "Remove authorization" +msgstr "UsuÅ„ autoryzacjÄ™" + +#: ../../Zotlabs/Module/Email_resend.php:12 +#: ../../Zotlabs/Module/Email_validation.php:24 +msgid "Token verification failed." +msgstr "Weryfikacja tokena nie powiodÅ‚a siÄ™." + +#: ../../Zotlabs/Module/Email_resend.php:30 +msgid "Email verification resent" +msgstr "Weryfikacja adresu e-mail zostaÅ‚a wysÅ‚ana ponownie" + +#: ../../Zotlabs/Module/Email_resend.php:33 +msgid "Unable to resend email verification message." +msgstr "Nie można ponownie wysÅ‚ać weryfikacyjnÄ… wiadomość e-mail." + +#: ../../Zotlabs/Module/Search.php:17 +#: ../../Zotlabs/Module/Viewconnections.php:23 +#: ../../Zotlabs/Module/Display.php:26 ../../Zotlabs/Module/Photos.php:519 +#: ../../Zotlabs/Module/Directory.php:73 ../../Zotlabs/Module/Directory.php:78 +#: ../../Zotlabs/Module/Ratings.php:83 +msgid "Public access denied." +msgstr "Odmowa dostÄ™pu publicznego." + +#: ../../Zotlabs/Module/Search.php:41 ../../Zotlabs/Module/Connections.php:378 +#: ../../Zotlabs/Lib/Apps.php:353 ../../Zotlabs/Widget/Sitesearch.php:31 +#: ../../Zotlabs/Widget/Activity_filter.php:193 ../../include/text.php:1150 +#: ../../include/text.php:1162 ../../include/acl_selectors.php:148 +#: ../../include/nav.php:188 +msgid "Search" +msgstr "Szukaj" + +#: ../../Zotlabs/Module/Search.php:222 +#, php-format +msgid "Items tagged with: %s" +msgstr "Elementy oznaczone tagiem: %s" + +#: ../../Zotlabs/Module/Search.php:224 +#, php-format +msgid "Search results for: %s" +msgstr "Wyniki wyszukiwania dla: %s" + +#: ../../Zotlabs/Module/Moderate.php:67 +msgid "Comment approved" +msgstr "Komentarz zatwierdzony" + +#: ../../Zotlabs/Module/Moderate.php:71 +msgid "Comment deleted" +msgstr "Komentarz usuniety" + +#: ../../Zotlabs/Module/Rpost.php:150 ../../Zotlabs/Module/Editpost.php:109 +msgid "Edit post" +msgstr "Edytuj post" + +#: ../../Zotlabs/Module/Oexchange.php:27 +msgid "Unable to find your hub." +msgstr "Nie można znaleźć Twojego huba." + +#: ../../Zotlabs/Module/Oexchange.php:41 +msgid "Post successful." +msgstr "Opublikowanie powiodÅ‚o siÄ™." + +#: ../../Zotlabs/Module/Chanview.php:95 ../../Zotlabs/Module/Card_edit.php:44 +#: ../../Zotlabs/Module/Wall_upload.php:31 ../../Zotlabs/Module/Page.php:75 +#: ../../Zotlabs/Module/Block.php:41 ../../Zotlabs/Module/Article_edit.php:44 +#: ../../Zotlabs/Module/Attach.php:21 ../../Zotlabs/Module/Cal.php:31 +#: ../../Zotlabs/Module/Attach_edit.php:52 +msgid "Channel not found." +msgstr "Nie znaleziono kanaÅ‚u." + +#: ../../Zotlabs/Module/Chanview.php:132 +msgid "toggle full screen mode" +msgstr "przełącz tryb peÅ‚nego ekranu" + +#: ../../Zotlabs/Module/Tagger.php:50 +msgid "Post not found." +msgstr "Nie znaleziono postu." + +#: ../../Zotlabs/Module/Tagger.php:79 ../../Zotlabs/Lib/Activity.php:2971 +#: ../../include/conversation.php:158 ../../include/text.php:2258 +#: ../../include/markdown.php:204 ../../include/bbcode.php:523 +msgid "post" +msgstr "post" + +#: ../../Zotlabs/Module/Tagger.php:81 ../../include/conversation.php:160 +#: ../../include/text.php:2260 +msgid "comment" +msgstr "komentarz" + +#: ../../Zotlabs/Module/Tagger.php:121 +#, php-format +msgid "%1$s tagged %2$s's %3$s with %4$s" +msgstr "%1$s oznaczono tagiem %3$s %2$s w %4$s" + +#: ../../Zotlabs/Module/Import_items.php:93 +#, php-format +msgid "Warning: Database versions differ by %1$d updates." +msgstr "Ostrzeżenie: wersje baz danych różniÄ… siÄ™ o %1$d aktualizacji." + +#: ../../Zotlabs/Module/Import_items.php:108 +msgid "Import completed" +msgstr "Import zakoÅ„czony" + +#: ../../Zotlabs/Module/Import_items.php:125 +msgid "Import Items" +msgstr "Importuj elementy" + +#: ../../Zotlabs/Module/Import_items.php:126 +msgid "Use this form to import existing posts and content from an export file." +msgstr "" +"Użyj tego formularza, aby zaimportować istniejÄ…ce posty i treść z pliku " +"eksportu." + +#: ../../Zotlabs/Module/Connect.php:65 ../../Zotlabs/Module/Connect.php:118 +msgid "Continue" +msgstr "Kontynuj" + +#: ../../Zotlabs/Module/Connect.php:99 +msgid "Premium Channel Setup" +msgstr "Konfiguracja kanaÅ‚u Premium" + +#: ../../Zotlabs/Module/Connect.php:101 +msgid "Enable premium channel connection restrictions" +msgstr "Włącz ograniczenia połączeÅ„ z kanaÅ‚em premium" + +#: ../../Zotlabs/Module/Connect.php:102 +msgid "" +"Please enter your restrictions or conditions, such as paypal receipt, usage " +"guidelines, etc." +msgstr "" +"Podaj swoje ograniczenia lub warunki, takie jak pokwitowanie PayPal, " +"wytyczne dotyczÄ…ce użytkowania itp." + +#: ../../Zotlabs/Module/Connect.php:104 ../../Zotlabs/Module/Connect.php:124 +msgid "" +"This channel may require additional steps or acknowledgement of the " +"following conditions prior to connecting:" +msgstr "" +"Ten kanaÅ‚, przed podłączeniem, może wymagać dodatkowych kroków lub " +"potwierdzenia nastÄ™pujÄ…cych warunków:" + +#: ../../Zotlabs/Module/Connect.php:105 +msgid "" +"Potential connections will then see the following text before proceeding:" +msgstr "Potencjalne połączenia zobaczÄ… nastÄ™pujÄ…cy tekst przed kontynuowaniem:" + +#: ../../Zotlabs/Module/Connect.php:106 ../../Zotlabs/Module/Connect.php:127 +msgid "" +"By continuing, I certify that I have complied with any instructions provided " +"on this page." +msgstr "" +"KontynuujÄ…c, oÅ›wiadczam, że postÄ™powaÅ‚em zgodnie z instrukcjami podanymi na " +"tej stronie." + +#: ../../Zotlabs/Module/Connect.php:115 +msgid "(No specific instructions have been provided by the channel owner.)" +msgstr "(WÅ‚aÅ›ciciel kanaÅ‚u nie przekazaÅ‚ żadnych szczegółowych instrukcji.)" + +#: ../../Zotlabs/Module/Connect.php:123 +msgid "Restricted or Premium Channel" +msgstr "KanaÅ‚ z ograniczeniami lub premium" + +#: ../../Zotlabs/Module/New_channel.php:147 ../../Zotlabs/Module/Manage.php:138 +#, php-format +msgid "You have created %1$.0f of %2$.0f allowed channels." +msgstr "Utworzno %1$ .0f z %2$.0f dozwolonych kanałów." + +#: ../../Zotlabs/Module/New_channel.php:159 +msgid "Your real name is recommended." +msgstr "Zalecane jest podania prawdziwego imienia i nazwiska lub nazwy." + +#: ../../Zotlabs/Module/New_channel.php:160 +msgid "" +"Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"Aviation " +"Group\"" +msgstr "" +"PrzykÅ‚ady: \"Bob Jameson\", \"Lisa i jej konie\", \"PiÅ‚ka nożna\", \"Grupa " +"lotnicza\"" + +#: ../../Zotlabs/Module/New_channel.php:165 +msgid "" +"This will be used to create a unique network address (like an email address)." +msgstr "" +"Zostanie to zastosowane do utworzenia unikalnego adresu sieciowego " +"(podobnego do adresu e-mail)." + +#: ../../Zotlabs/Module/New_channel.php:167 +msgid "Allowed characters are a-z 0-9, - and _" +msgstr "Dozwolone znaki, to a-z 0-9, - oraz _" + +#: ../../Zotlabs/Module/New_channel.php:175 +msgid "Channel name" +msgstr "Nazwa kanaÅ‚u" + +#: ../../Zotlabs/Module/New_channel.php:177 +#: ../../Zotlabs/Module/Register.php:263 +msgid "Choose a short nickname" +msgstr "Wybierz krótki pseudonim" + +#: ../../Zotlabs/Module/New_channel.php:178 +#: ../../Zotlabs/Module/Register.php:264 +#: ../../Zotlabs/Module/Settings/Channel.php:537 +msgid "Channel role and privacy" +msgstr "Rola kanaÅ‚u i prywatność" + +#: ../../Zotlabs/Module/New_channel.php:178 +msgid "" +"Select a channel permission role compatible with your usage needs and " +"privacy requirements." +msgstr "" +"Wybierz rolÄ™ uprawnieÅ„ do kanaÅ‚u, zgodnÄ… z Twoimi potrzebami użytkowania i " +"wymaganiami dotyczÄ…cymi prywatnoÅ›ci." + +#: ../../Zotlabs/Module/New_channel.php:178 +#: ../../Zotlabs/Module/Register.php:264 +msgid "Read more about channel permission roles" +msgstr "Przeczytaj wiÄ™cej o rolach uprawnieÅ„ do kanaÅ‚u" + +#: ../../Zotlabs/Module/New_channel.php:181 +msgid "Create a Channel" +msgstr "Utwórz kanaÅ‚" + +#: ../../Zotlabs/Module/New_channel.php:182 +msgid "" +"A channel is a unique network identity. It can represent a person (social " +"network profile), a forum (group), a business or celebrity page, a newsfeed, " +"and many other things." +msgstr "" +"KanaÅ‚ to unikalna tożsamość sieciowa. Może reprezentować osobÄ™ (profil sieci " +"spoÅ‚ecznoÅ›ciowej), forum (grupÄ™), stronÄ™ biznesowÄ… lub celebryckÄ…, kanaÅ‚ " +"informacyjny i wiele innych rzeczy." + +#: ../../Zotlabs/Module/New_channel.php:183 +msgid "" +"or <a href=\"import\">import an existing channel</a> from another location." +msgstr "" +"lub <a href=\"import\">zaimportuj istniejÄ…cy kanaÅ‚</a> z innej lokalizacji." + +#: ../../Zotlabs/Module/New_channel.php:188 +msgid "Validate" +msgstr "Zalegalizuj" + +#: ../../Zotlabs/Module/Apps.php:50 ../../Zotlabs/Widget/Appstore.php:14 +msgid "Available Apps" +msgstr "DostÄ™pne aplikacje" + +#: ../../Zotlabs/Module/Apps.php:50 +msgid "Installed Apps" +msgstr "Zainstalowane aplikacje" + +#: ../../Zotlabs/Module/Apps.php:53 +msgid "Manage Apps" +msgstr "ZarzÄ…dzaj aplikacjami" + +#: ../../Zotlabs/Module/Apps.php:54 +msgid "Create Custom App" +msgstr "Utwórz wÅ‚asnÄ… aplikacjÄ™" + +#: ../../Zotlabs/Module/Removeaccount.php:35 +msgid "" +"Account removals are not allowed within 48 hours of changing the account " +"password." +msgstr "" +"UsuniÄ™cie konta nie jest dozwolone w ciÄ…gu 48 godzin od zmiany hasÅ‚a do " +"konta." + +#: ../../Zotlabs/Module/Removeaccount.php:57 +msgid "Remove This Account" +msgstr "UsuÅ„ to konto" + +#: ../../Zotlabs/Module/Removeaccount.php:58 +msgid "" +"This account and all its channels will be completely removed from the " +"network. " +msgstr "To konto i wszystkie jego kanaÅ‚y zostanÄ… caÅ‚kowicie usuniÄ™te z sieci. " + +#: ../../Zotlabs/Module/Removeaccount.php:61 +#: ../../Zotlabs/Module/Settings/Account.php:105 +msgid "Remove Account" +msgstr "UsuÅ„ konto" + +#: ../../Zotlabs/Module/Filestorage.php:14 +#: ../../Zotlabs/Module/Filestorage.php:53 +msgid "Deprecated!" +msgstr "PrzestarzaÅ‚e!" + +#: ../../Zotlabs/Module/Filestorage.php:29 ../../Zotlabs/Module/Display.php:42 +#: ../../Zotlabs/Module/Display.php:429 ../../Zotlabs/Module/Admin.php:62 +#: ../../Zotlabs/Module/Admin/Themes.php:72 +#: ../../Zotlabs/Module/Admin/Addons.php:260 ../../Zotlabs/Module/Thing.php:96 +#: ../../Zotlabs/Module/Viewsrc.php:25 ../../include/items.php:3919 +#: ../../extend/addon/hzaddons/flashcards/Mod_Flashcards.php:284 +#: ../../extend/addon/hzaddons/flashcards/Mod_Flashcards.php:285 +msgid "Item not found." +msgstr "Nie znaleziono elementu." + +#: ../../Zotlabs/Module/Filestorage.php:109 +#: ../../Zotlabs/Module/Attach_edit.php:69 +msgid "File not found." +msgstr "Nie znaleziono pliku." + +#: ../../Zotlabs/Module/Filestorage.php:157 +msgid "Permission Denied." +msgstr "Odmowa dostÄ™pu." + +#: ../../Zotlabs/Module/Filestorage.php:190 +msgid "Edit file permissions" +msgstr "Edytuj uprawnienia do plików" + +#: ../../Zotlabs/Module/Filestorage.php:195 +#: ../../Zotlabs/Module/Connedit.php:682 ../../Zotlabs/Module/Chat.php:241 +#: ../../Zotlabs/Module/Photos.php:678 ../../Zotlabs/Module/Photos.php:1047 +#: ../../Zotlabs/Module/Thing.php:321 ../../Zotlabs/Module/Thing.php:374 +#: ../../include/acl_selectors.php:153 +#: ../../extend/addon/hzaddons/flashcards/Mod_Flashcards.php:254 +msgid "Permissions" +msgstr "Uprawnienia" + +#: ../../Zotlabs/Module/Filestorage.php:202 +#: ../../extend/addon/hzaddons/flashcards/Mod_Flashcards.php:261 +msgid "Set/edit permissions" +msgstr "Ustaw/edytuj uprawnienia" + +#: ../../Zotlabs/Module/Filestorage.php:203 +msgid "Include all files and sub folders" +msgstr "UwzglÄ™dnij wszystkie pliki i podfoldery" + +#: ../../Zotlabs/Module/Filestorage.php:204 +msgid "Return to file list" +msgstr "Wróć do listy plików" + +#: ../../Zotlabs/Module/Filestorage.php:206 +#: ../../Zotlabs/Storage/Browser.php:386 +msgid "Copy/paste this code to attach file to a post" +msgstr "Skopiuj/wklej ten kod, aby dołączyć plik do postu" + +#: ../../Zotlabs/Module/Filestorage.php:207 +#: ../../Zotlabs/Storage/Browser.php:387 +msgid "Copy/paste this URL to link file from a web page" +msgstr "Skopiuj/wklej ten adres URL, aby zlinkować plik na stron internetowej" + +#: ../../Zotlabs/Module/Filestorage.php:209 +msgid "Share this file" +msgstr "UdostÄ™pnij ten plik" + +#: ../../Zotlabs/Module/Filestorage.php:210 +msgid "Show URL to this file" +msgstr "Pokaż adres URL do tego pliku" + +#: ../../Zotlabs/Module/Filestorage.php:211 +#: ../../Zotlabs/Storage/Browser.php:552 +msgid "Show in your contacts shared folder" +msgstr "Pokaż w folderze udostÄ™pnionym kontaktów" + +#: ../../Zotlabs/Module/Card_edit.php:17 ../../Zotlabs/Module/Card_edit.php:33 +#: ../../Zotlabs/Module/Editlayout.php:79 ../../Zotlabs/Module/Editblock.php:79 +#: ../../Zotlabs/Module/Editblock.php:95 ../../Zotlabs/Module/Editpost.php:24 +#: ../../Zotlabs/Module/Editwebpage.php:80 +#: ../../Zotlabs/Module/Article_edit.php:17 +#: ../../Zotlabs/Module/Article_edit.php:33 +msgid "Item not found" +msgstr "Nie znaleziono elementu" + +#: ../../Zotlabs/Module/Card_edit.php:101 +#: ../../Zotlabs/Module/Editblock.php:116 ../../Zotlabs/Module/Chat.php:220 +#: ../../Zotlabs/Module/Editwebpage.php:143 +#: ../../Zotlabs/Module/Article_edit.php:100 +#: ../../include/conversation.php:1341 +#: ../../extend/addon/hzaddons/hsse/hsse.php:95 +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:166 +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:309 +msgid "Insert web link" +msgstr "Wstaw link internetowy" + +#: ../../Zotlabs/Module/Card_edit.php:117 +#: ../../Zotlabs/Module/Editblock.php:129 ../../Zotlabs/Module/Photos.php:674 +#: ../../Zotlabs/Module/Photos.php:1044 +#: ../../Zotlabs/Module/Article_edit.php:116 +#: ../../include/conversation.php:1474 +#: ../../extend/addon/hzaddons/hsse/hsse.php:221 +msgid "Title (optional)" +msgstr "TytuÅ‚ (opcjonalnie)" + +#: ../../Zotlabs/Module/Card_edit.php:128 +msgid "Edit Card" +msgstr "Edytuj kartÄ™" + +#: ../../Zotlabs/Module/Viewconnections.php:65 +msgid "No connections." +msgstr "Brak połączeÅ„." + +#: ../../Zotlabs/Module/Viewconnections.php:80 +#: ../../Zotlabs/Module/Connections.php:288 ../../include/text.php:1044 +msgid "Accepts" +msgstr "Akceptacje" + +#: ../../Zotlabs/Module/Viewconnections.php:83 +#: ../../Zotlabs/Module/Connections.php:291 ../../include/text.php:1047 +msgid "Comments" +msgstr "Komentarze" + +#: ../../Zotlabs/Module/Viewconnections.php:88 +#: ../../Zotlabs/Module/Connections.php:296 ../../include/text.php:1052 +msgid "Stream items" +msgstr "Elementy strumienia" + +#: ../../Zotlabs/Module/Viewconnections.php:93 +#: ../../Zotlabs/Module/Connections.php:301 ../../include/text.php:1057 +msgid "Wall posts" +msgstr "Åšciana postów" + +#: ../../Zotlabs/Module/Viewconnections.php:97 +#: ../../Zotlabs/Module/Connections.php:305 ../../include/text.php:1061 +msgid "Nothing" +msgstr "Nic" + +#: ../../Zotlabs/Module/Viewconnections.php:105 +#, php-format +msgid "Visit %s's profile [%s]" +msgstr "Odwiedź profil %s [%s]" + +#: ../../Zotlabs/Module/Viewconnections.php:135 +msgid "View Connections" +msgstr "Pokaż połączenia" + +#: ../../Zotlabs/Module/Oauth2.php:54 +msgid "Name and Secret are required" +msgstr "Wymagane jest ustawienie imienia i sekretu" + +#: ../../Zotlabs/Module/Oauth2.php:106 +msgid "OAuth2 Apps Manager App" +msgstr "Aplikacja OAuth2 Apps Manager" + +#: ../../Zotlabs/Module/Oauth2.php:107 +msgid "OAuth2 authenticatication tokens for mobile and remote apps" +msgstr "Tokeny uwierzytelniajÄ…ce OAuth2 dla aplikacji mobilnych i zdalnych" + +#: ../../Zotlabs/Module/Oauth2.php:115 +msgid "Add OAuth2 application" +msgstr "Dodaj aplikacjÄ™ OAuth2" + +#: ../../Zotlabs/Module/Oauth2.php:121 ../../Zotlabs/Module/Oauth2.php:149 +msgid "Grant Types" +msgstr "Rodzaje dofinansowaÅ„" + +#: ../../Zotlabs/Module/Oauth2.php:121 ../../Zotlabs/Module/Oauth2.php:122 +msgid "leave blank unless your application sepcifically requires this" +msgstr "pozostaw puste, chyba że Twoja aplikacja wyraźnie tego wymaga" + +#: ../../Zotlabs/Module/Oauth2.php:122 ../../Zotlabs/Module/Oauth2.php:150 +msgid "Authorization scope" +msgstr "Zakres uprawnieÅ„" + +#: ../../Zotlabs/Module/Oauth2.php:134 +msgid "OAuth2 Application not found." +msgstr "Nie znaleziono aplikacji OAuth2." + +#: ../../Zotlabs/Module/Oauth2.php:149 ../../Zotlabs/Module/Oauth2.php:150 +msgid "leave blank unless your application specifically requires this" +msgstr "pozostaw puste, chyba że Twoja aplikacja wyraźnie tego wymaga" + +#: ../../Zotlabs/Module/Oauth2.php:192 +msgid "Connected OAuth2 Apps" +msgstr "Aplikacje połączeń OAuth2" + +#: ../../Zotlabs/Module/Wiki.php:35 +#: ../../extend/addon/hzaddons/cart/cart.php:1410 +#: ../../extend/addon/hzaddons/flashcards/Mod_Flashcards.php:51 +msgid "Profile Unavailable." +msgstr "Profil niedostÄ™pny." + +#: ../../Zotlabs/Module/Wiki.php:52 +msgid "Wiki App" +msgstr "Aplikacja Wiki" + +#: ../../Zotlabs/Module/Wiki.php:53 +msgid "Provide a wiki for your channel" +msgstr "UdostÄ™pnij wiki dla swojego kanaÅ‚u" + +#: ../../Zotlabs/Module/Wiki.php:77 +#: ../../extend/addon/hzaddons/cart/cart.php:1556 +#: ../../extend/addon/hzaddons/cart/submodules/paypalbuttonV2.php:478 +#: ../../extend/addon/hzaddons/cart/submodules/paypalbutton.php:456 +#: ../../extend/addon/hzaddons/cart/myshop.php:37 +#: ../../extend/addon/hzaddons/cart/manual_payments.php:93 +msgid "Invalid channel" +msgstr "ZÅ‚y kanaÅ‚" + +#: ../../Zotlabs/Module/Wiki.php:133 +msgid "Error retrieving wiki" +msgstr "Błąd podczas pobierania wiki" + +#: ../../Zotlabs/Module/Wiki.php:140 +msgid "Error creating zip file export folder" +msgstr "Błąd podczas tworzenia folderu eksportu pliku ZIP" + +#: ../../Zotlabs/Module/Wiki.php:191 +msgid "Error downloading wiki: " +msgstr "Błąd podczas pobierania wiki: " + +#: ../../Zotlabs/Module/Wiki.php:206 ../../Zotlabs/Widget/Wiki_list.php:15 +#: ../../include/nav.php:536 +msgid "Wikis" +msgstr "Wiki" + +#: ../../Zotlabs/Module/Wiki.php:212 ../../Zotlabs/Storage/Browser.php:404 +msgid "Download" +msgstr "Pobierz" + +#: ../../Zotlabs/Module/Wiki.php:216 +msgid "Wiki name" +msgstr "Nazwa wiki" + +#: ../../Zotlabs/Module/Wiki.php:217 +msgid "Content type" +msgstr "Rodzaj treÅ›ci" + +#: ../../Zotlabs/Module/Wiki.php:217 ../../Zotlabs/Module/Wiki.php:371 +#: ../../Zotlabs/Widget/Wiki_pages.php:38 +#: ../../Zotlabs/Widget/Wiki_pages.php:95 ../../include/text.php:2116 +#: ../../extend/addon/hzaddons/mdpost/mdpost.php:41 +msgid "Markdown" +msgstr "Markdown" + +#: ../../Zotlabs/Module/Wiki.php:217 ../../Zotlabs/Module/Wiki.php:371 +#: ../../Zotlabs/Widget/Wiki_pages.php:38 +#: ../../Zotlabs/Widget/Wiki_pages.php:95 ../../include/text.php:2114 +msgid "BBcode" +msgstr "BBcode" + +#: ../../Zotlabs/Module/Wiki.php:217 ../../Zotlabs/Widget/Wiki_pages.php:38 +#: ../../Zotlabs/Widget/Wiki_pages.php:95 ../../include/text.php:2117 +msgid "Text" +msgstr "Text" + +#: ../../Zotlabs/Module/Wiki.php:219 ../../Zotlabs/Storage/Browser.php:378 +msgid "Type" +msgstr "Rodzaj" + +#: ../../Zotlabs/Module/Wiki.php:220 +msgid "Any type" +msgstr "Dwolny rodzaj" + +#: ../../Zotlabs/Module/Wiki.php:227 +msgid "Lock content type" +msgstr "Zablokuj rodzaj treÅ›ci" + +#: ../../Zotlabs/Module/Wiki.php:228 +msgid "Create a status post for this wiki" +msgstr "Utwórz post statusu dla tego wiki" + +#: ../../Zotlabs/Module/Wiki.php:229 +msgid "Edit Wiki Name" +msgstr "Edytuj nazwÄ™ wiki" + +#: ../../Zotlabs/Module/Wiki.php:274 +msgid "Wiki not found" +msgstr "Nie znaleziono wiki" + +#: ../../Zotlabs/Module/Wiki.php:300 +msgid "Rename page" +msgstr "ZieÅ„ nazwÄ™ strony" + +#: ../../Zotlabs/Module/Wiki.php:321 +msgid "Error retrieving page content" +msgstr "Błąd podczas pobierania treÅ›ci strony" + +#: ../../Zotlabs/Module/Wiki.php:329 ../../Zotlabs/Module/Wiki.php:331 +msgid "New page" +msgstr "Nowa strona" + +#: ../../Zotlabs/Module/Wiki.php:366 +msgid "Revision Comparison" +msgstr "Porównanie wersji" + +#: ../../Zotlabs/Module/Wiki.php:367 ../../Zotlabs/Lib/NativeWikiPage.php:567 +#: ../../Zotlabs/Widget/Wiki_page_history.php:25 +msgid "Revert" +msgstr "Odwróć" + +#: ../../Zotlabs/Module/Wiki.php:374 +msgid "Short description of your changes (optional)" +msgstr "Krótki opis zmian (opcjonalnie)" + +#: ../../Zotlabs/Module/Wiki.php:384 +#: ../../extend/addon/hzaddons/ljpost/ljpost.php:134 +#: ../../extend/addon/hzaddons/dwpost/Mod_Dwpost.php:69 +#: ../../extend/addon/hzaddons/dwpost/dwpost.php:134 +#: ../../extend/addon/hzaddons/wppost/wppost.php:173 +#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:98 +msgid "Source" +msgstr "ŹródÅ‚o" + +#: ../../Zotlabs/Module/Wiki.php:394 +msgid "New page name" +msgstr "Nowa nazwa strony" + +#: ../../Zotlabs/Module/Wiki.php:399 +msgid "Embed image from photo albums" +msgstr "Osadź obraz z albumów fotograficznych" + +#: ../../Zotlabs/Module/Wiki.php:400 ../../include/conversation.php:1457 +#: ../../extend/addon/hzaddons/hsse/hsse.php:208 +msgid "Embed an image from your albums" +msgstr "Osadź obraz ze swoich albumów" + +#: ../../Zotlabs/Module/Wiki.php:402 ../../Zotlabs/Module/Profile_photo.php:508 +#: ../../Zotlabs/Module/Cover_photo.php:429 ../../include/conversation.php:1459 +#: ../../include/conversation.php:1510 +#: ../../extend/addon/hzaddons/hsse/hsse.php:210 +#: ../../extend/addon/hzaddons/hsse/hsse.php:257 +msgid "OK" +msgstr "Dobrze" + +#: ../../Zotlabs/Module/Wiki.php:403 ../../Zotlabs/Module/Profile_photo.php:509 +#: ../../Zotlabs/Module/Cover_photo.php:430 ../../include/conversation.php:1385 +#: ../../extend/addon/hzaddons/hsse/hsse.php:139 +msgid "Choose images to embed" +msgstr "Wybierz zdjÄ™cie do osadzenia" + +#: ../../Zotlabs/Module/Wiki.php:404 ../../Zotlabs/Module/Profile_photo.php:510 +#: ../../Zotlabs/Module/Cover_photo.php:431 ../../include/conversation.php:1386 +#: ../../extend/addon/hzaddons/hsse/hsse.php:140 +msgid "Choose an album" +msgstr "Wybierz album" + +#: ../../Zotlabs/Module/Wiki.php:405 ../../Zotlabs/Module/Profile_photo.php:511 +#: ../../Zotlabs/Module/Cover_photo.php:432 +msgid "Choose a different album" +msgstr "Wybierz inny album" + +#: ../../Zotlabs/Module/Wiki.php:406 ../../Zotlabs/Module/Profile_photo.php:512 +#: ../../Zotlabs/Module/Cover_photo.php:433 ../../include/conversation.php:1388 +#: ../../extend/addon/hzaddons/hsse/hsse.php:142 +msgid "Error getting album list" +msgstr "Błąd podczas pobierania listy albumów" + +#: ../../Zotlabs/Module/Wiki.php:407 ../../Zotlabs/Module/Profile_photo.php:513 +#: ../../Zotlabs/Module/Cover_photo.php:434 ../../include/conversation.php:1389 +#: ../../extend/addon/hzaddons/hsse/hsse.php:143 +msgid "Error getting photo link" +msgstr "Błąd podczas pobierania linku do zdjÄ™cia" + +#: ../../Zotlabs/Module/Wiki.php:408 ../../Zotlabs/Module/Profile_photo.php:514 +#: ../../Zotlabs/Module/Cover_photo.php:435 ../../include/conversation.php:1390 +#: ../../extend/addon/hzaddons/hsse/hsse.php:144 +msgid "Error getting album" +msgstr "Błąd podczas pobierania albumu" + +#: ../../Zotlabs/Module/Wiki.php:410 +msgid "History" +msgstr "Historia" + +#: ../../Zotlabs/Module/Wiki.php:488 +msgid "Error creating wiki. Invalid name." +msgstr "Błąd podczas tworzenia wiki. nieprawidÅ‚owa nazwa." + +#: ../../Zotlabs/Module/Wiki.php:495 +msgid "A wiki with this name already exists." +msgstr "Wiki o tej nazwie już istnieje." + +#: ../../Zotlabs/Module/Wiki.php:508 +msgid "Wiki created, but error creating Home page." +msgstr "Utworzono wiki, ale podczas tworzenia strony głównej wystÄ…piÅ‚ błąd." + +#: ../../Zotlabs/Module/Wiki.php:515 +msgid "Error creating wiki" +msgstr "Błąd podczas tworzenia wiki" + +#: ../../Zotlabs/Module/Wiki.php:539 +msgid "Error updating wiki. Invalid name." +msgstr "Błąd podczas aktualizowania wiki. Błędna nazwa." + +#: ../../Zotlabs/Module/Wiki.php:559 +msgid "Error updating wiki" +msgstr "Błąd podczas aktualizowania wiki" + +#: ../../Zotlabs/Module/Wiki.php:574 +msgid "Wiki delete permission denied." +msgstr "Odmowa pozwolenia na usuniÄ™cie Wiki." + +#: ../../Zotlabs/Module/Wiki.php:584 +msgid "Error deleting wiki" +msgstr "Błąd podczas usuwania wiki" + +#: ../../Zotlabs/Module/Wiki.php:617 +msgid "New page created" +msgstr "Utworzono nowÄ… stronÄ™" + +#: ../../Zotlabs/Module/Wiki.php:739 +msgid "Cannot delete Home" +msgstr "Nie można usunąć strony głównej" + +#: ../../Zotlabs/Module/Wiki.php:803 +msgid "Current Revision" +msgstr "Bieżąca wersja" + +#: ../../Zotlabs/Module/Wiki.php:803 +msgid "Selected Revision" +msgstr "Wybrana wersja" + +#: ../../Zotlabs/Module/Wiki.php:853 +msgid "You must be authenticated." +msgstr "Trzeba być uwierzytelnionym." + +#: ../../Zotlabs/Module/Blocks.php:97 ../../Zotlabs/Module/Blocks.php:155 +#: ../../Zotlabs/Module/Editblock.php:113 +msgid "Block Name" +msgstr "Nazwa bloku" + +#: ../../Zotlabs/Module/Blocks.php:154 ../../include/text.php:2698 +msgid "Blocks" +msgstr "Bloki" + +#: ../../Zotlabs/Module/Blocks.php:156 +msgid "Block Title" +msgstr "TytuÅ‚ bloku" + +#: ../../Zotlabs/Module/Dircensor.php:42 +msgid "Entry censored" +msgstr "Wpis ocenzurowany" + +#: ../../Zotlabs/Module/Dircensor.php:45 +msgid "Entry uncensored" +msgstr "Wpis nieocenzurowany" + +#: ../../Zotlabs/Module/Locs.php:27 ../../Zotlabs/Module/Locs.php:66 +msgid "Location not found." +msgstr "Nie znaleziono lokalizacjid." + +#: ../../Zotlabs/Module/Locs.php:75 +msgid "Location lookup failed." +msgstr "Wyszukiwanie lokalizacji nie powiodÅ‚o siÄ™." + +#: ../../Zotlabs/Module/Locs.php:79 +msgid "" +"Please select another location to become primary before removing the primary " +"location." +msgstr "" +"Przed usuniÄ™ciem lokalizacji podstawowej wybierz innÄ… lokalizacjÄ™ jako " +"głównÄ…." + +#: ../../Zotlabs/Module/Locs.php:108 +msgid "Syncing locations" +msgstr "SynchronizujÄ™ lokalizacje" + +#: ../../Zotlabs/Module/Locs.php:117 +msgid "No locations found." +msgstr "Nie znaleziono żadnych lokalizacji." + +#: ../../Zotlabs/Module/Locs.php:127 +msgid "Manage Channel Locations" +msgstr "ZarzÄ…dzaj lokalizacjami kanałów" + +#: ../../Zotlabs/Module/Locs.php:130 +#: ../../extend/addon/hzaddons/workflow/workflow.php:285 +msgid "Primary" +msgstr "Podstawowy" + +#: ../../Zotlabs/Module/Locs.php:131 ../../Zotlabs/Module/Menu.php:177 +msgid "Drop" +msgstr "Upuść" + +#: ../../Zotlabs/Module/Locs.php:133 +msgid "Sync Now" +msgstr "Synchronizuj teraz" + +#: ../../Zotlabs/Module/Locs.php:134 +msgid "Please wait several minutes between consecutive operations." +msgstr "Poczekaj kilka minut miÄ™dzy kolejnymi operacjami." + +#: ../../Zotlabs/Module/Locs.php:135 +msgid "" +"When possible, drop a location by logging into that website/hub and removing " +"your channel." +msgstr "" +"JeÅ›li to możliwe, upuść lokalizacjÄ™, logujÄ…c siÄ™ do tego huba i usuwajÄ…c " +"swój kanaÅ‚." + +#: ../../Zotlabs/Module/Locs.php:136 +msgid "Use this form to drop the location if the hub is no longer operating." +msgstr "" +"Użyj tego formularza, aby usunąć lokalizacjÄ™, jeÅ›li hub już nie dziaÅ‚a." + +#: ../../Zotlabs/Module/Chatsvc.php:131 +msgid "Away" +msgstr "Z dala" + +#: ../../Zotlabs/Module/Chatsvc.php:136 +msgid "Online" +msgstr "Na linii" + +#: ../../Zotlabs/Module/Fbrowser.php:29 ../../Zotlabs/Lib/Apps.php:345 +#: ../../include/features.php:369 ../../include/nav.php:444 +msgid "Photos" +msgstr "ZdjÄ™cia" + +#: ../../Zotlabs/Module/Fbrowser.php:85 ../../Zotlabs/Storage/Browser.php:351 +#: ../../Zotlabs/Lib/Apps.php:340 ../../include/nav.php:452 +msgid "Files" +msgstr "Pliki" + +#: ../../Zotlabs/Module/Connedit.php:120 +msgid "Could not locate selected profile." +msgstr "Nie udaÅ‚o siÄ™ znaleźć wybranego profilu." + +#: ../../Zotlabs/Module/Connedit.php:264 +msgid "Connection updated." +msgstr "Zaktualizowano połączenie." + +#: ../../Zotlabs/Module/Connedit.php:266 +msgid "Failed to update connection record." +msgstr "Nie udaÅ‚o siÄ™ zaktualizować rekordu połączenia." + +#: ../../Zotlabs/Module/Connedit.php:309 +msgid "is now connected to" +msgstr "jest teraz połączony z" + +#: ../../Zotlabs/Module/Connedit.php:434 +msgid "Could not access address book record." +msgstr "Nie można uzyskać dostÄ™pu do rekordu książki adresowej." + +#: ../../Zotlabs/Module/Connedit.php:482 ../../Zotlabs/Module/Connedit.php:486 +msgid "Refresh failed - channel is currently unavailable." +msgstr "OdÅ›wieżenie nie powiodÅ‚o siÄ™ - kanaÅ‚ jest obecnie niedostÄ™pny." + +#: ../../Zotlabs/Module/Connedit.php:501 ../../Zotlabs/Module/Connedit.php:510 +#: ../../Zotlabs/Module/Connedit.php:519 ../../Zotlabs/Module/Connedit.php:528 +#: ../../Zotlabs/Module/Connedit.php:541 +msgid "Unable to set address book parameters." +msgstr "Nie można ustawić parametrów książki adresowej." + +#: ../../Zotlabs/Module/Connedit.php:560 +msgid "Connection has been removed." +msgstr "Połączenie zostaÅ‚o usuniÄ™te." + +#: ../../Zotlabs/Module/Connedit.php:600 ../../Zotlabs/Lib/Apps.php:344 +#: ../../include/conversation.php:1080 ../../include/nav.php:112 +#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:57 +msgid "View Profile" +msgstr "WyÅ›wietl profil" + +#: ../../Zotlabs/Module/Connedit.php:603 +#, php-format +msgid "View %s's profile" +msgstr "WyÅ›wietl profil %s" + +#: ../../Zotlabs/Module/Connedit.php:607 +msgid "Refresh Permissions" +msgstr "OdÅ›wież uprawnienia" + +#: ../../Zotlabs/Module/Connedit.php:610 +msgid "Fetch updated permissions" +msgstr "Pobierz zaktualizowane uprawnienia" + +#: ../../Zotlabs/Module/Connedit.php:614 +msgid "Refresh Photo" +msgstr "OdÅ›wież zdjÄ™cie" + +#: ../../Zotlabs/Module/Connedit.php:617 +msgid "Fetch updated photo" +msgstr "Pobierz zaktualizowane zdjÄ™cie" + +#: ../../Zotlabs/Module/Connedit.php:621 ../../include/conversation.php:1090 +msgid "Recent Activity" +msgstr "Ostatnia aktywność" + +#: ../../Zotlabs/Module/Connedit.php:624 +msgid "View recent posts and comments" +msgstr "WyÅ›wietl najnowsze posty i komentarze" + +#: ../../Zotlabs/Module/Connedit.php:628 +#: ../../Zotlabs/Module/Admin/Accounts.php:177 +msgid "Unblock" +msgstr "Odblokuj" + +#: ../../Zotlabs/Module/Connedit.php:628 +#: ../../Zotlabs/Module/Admin/Accounts.php:176 +msgid "Block" +msgstr "Zablokuj" + +#: ../../Zotlabs/Module/Connedit.php:631 +msgid "Block (or Unblock) all communications with this connection" +msgstr "Zablokuj (lub odblokuj) całą komunikacjÄ™ z tym połączeniem" + +#: ../../Zotlabs/Module/Connedit.php:632 +msgid "This connection is blocked!" +msgstr "To połączenie jest zablokowane!" + +#: ../../Zotlabs/Module/Connedit.php:636 +msgid "Unignore" +msgstr "Nie ignoruj" + +#: ../../Zotlabs/Module/Connedit.php:636 +#: ../../Zotlabs/Module/Connections.php:344 +msgid "Ignore" +msgstr "Ignoruj" + +#: ../../Zotlabs/Module/Connedit.php:639 +msgid "Ignore (or Unignore) all inbound communications from this connection" +msgstr "Ignoruj (lub przywróć) całą komunikacjÄ™ przychodzÄ…cÄ… z tego połączenia" + +#: ../../Zotlabs/Module/Connedit.php:640 +msgid "This connection is ignored!" +msgstr "To połączenie jest ignorowane!" + +#: ../../Zotlabs/Module/Connedit.php:644 +msgid "Unarchive" +msgstr "Przywróć z archiwum" + +#: ../../Zotlabs/Module/Connedit.php:644 +msgid "Archive" +msgstr "Archiwizuj" + +#: ../../Zotlabs/Module/Connedit.php:647 +msgid "" +"Archive (or Unarchive) this connection - mark channel dead but keep content" +msgstr "" +"Archiwizuj (lub przywróć) to połączenie - zaznacz kanaÅ‚ jako martwy, ale " +"zachowaj zawartość" + +#: ../../Zotlabs/Module/Connedit.php:648 +msgid "This connection is archived!" +msgstr "To połączenie zostaÅ‚o zarchiwizowane!" + +#: ../../Zotlabs/Module/Connedit.php:652 +msgid "Unhide" +msgstr "Odkryj" + +#: ../../Zotlabs/Module/Connedit.php:652 +msgid "Hide" +msgstr "Ukryj" + +#: ../../Zotlabs/Module/Connedit.php:655 +msgid "Hide or Unhide this connection from your other connections" +msgstr "Ukryj lub odkryj to połączenie przed innymi kontaktami" + +#: ../../Zotlabs/Module/Connedit.php:656 +msgid "This connection is hidden!" +msgstr "To połączenie jest ukryte!" + +#: ../../Zotlabs/Module/Connedit.php:663 +msgid "Delete this connection" +msgstr "UsuÅ„ to połączenie" + +#: ../../Zotlabs/Module/Connedit.php:671 +msgid "Fetch Vcard" +msgstr "Pobierz Vcard" + +#: ../../Zotlabs/Module/Connedit.php:674 +msgid "Fetch electronic calling card for this connection" +msgstr "Pobierz elektronicznÄ… kartÄ™ telefonicznÄ… dla tego połączenia" + +#: ../../Zotlabs/Module/Connedit.php:685 +msgid "Open Individual Permissions section by default" +msgstr "Otwórz domyÅ›lnie sekcjÄ™ Uprawnienia indywidualne" + +#: ../../Zotlabs/Module/Connedit.php:708 +msgid "Affinity" +msgstr "Koligacja" + +#: ../../Zotlabs/Module/Connedit.php:711 +msgid "Open Set Affinity section by default" +msgstr "Otwieraj domyÅ›lnie sekcjÄ™ Ustaw koligacjÄ™" + +#: ../../Zotlabs/Module/Connedit.php:715 ../../Zotlabs/Widget/Affinity.php:30 +msgid "Me" +msgstr "Ja" + +#: ../../Zotlabs/Module/Connedit.php:716 ../../Zotlabs/Widget/Affinity.php:31 +msgid "Family" +msgstr "Rodzina" + +#: ../../Zotlabs/Module/Connedit.php:717 +#: ../../Zotlabs/Module/Settings/Channel.php:71 +#: ../../Zotlabs/Module/Settings/Channel.php:75 +#: ../../Zotlabs/Module/Settings/Channel.php:76 +#: ../../Zotlabs/Module/Settings/Channel.php:79 +#: ../../Zotlabs/Module/Settings/Channel.php:90 +#: ../../Zotlabs/Widget/Affinity.php:32 ../../include/channel.php:505 +#: ../../include/channel.php:506 ../../include/channel.php:513 +#: ../../include/selectors.php:134 +msgid "Friends" +msgstr "Przyjaciele" + +#: ../../Zotlabs/Module/Connedit.php:718 ../../Zotlabs/Widget/Affinity.php:33 +msgid "Acquaintances" +msgstr "Znajomi" + +#: ../../Zotlabs/Module/Connedit.php:719 +#: ../../Zotlabs/Module/Connections.php:97 +#: ../../Zotlabs/Module/Connections.php:111 +#: ../../Zotlabs/Widget/Affinity.php:34 +msgid "All" +msgstr "Wszyscy" + +#: ../../Zotlabs/Module/Connedit.php:748 +msgid "Filter" +msgstr "Filtr" + +#: ../../Zotlabs/Module/Connedit.php:751 +msgid "Open Custom Filter section by default" +msgstr "Otwieraj domyÅ›lnie sekcjÄ™ Filtr niestandardowy" + +#: ../../Zotlabs/Module/Connedit.php:788 +msgid "Approve this connection" +msgstr "Zatwierdź to połączenie" + +#: ../../Zotlabs/Module/Connedit.php:788 +msgid "Accept connection to allow communication" +msgstr "Zaakceptuj połączenie, aby umożliwić komunikacjÄ™" + +#: ../../Zotlabs/Module/Connedit.php:793 +msgid "Set Affinity" +msgstr "Ustaw skoligacenie" + +#: ../../Zotlabs/Module/Connedit.php:796 +msgid "Set Profile" +msgstr "Ustaw profil" + +#: ../../Zotlabs/Module/Connedit.php:799 +msgid "Set Affinity & Profile" +msgstr "Ustaw skoligacenie i profil" + +#: ../../Zotlabs/Module/Connedit.php:847 +msgid "This connection is unreachable from this location." +msgstr "To połączenie jest nieosiÄ…galne z tej lokalizacji." + +#: ../../Zotlabs/Module/Connedit.php:848 +msgid "This connection may be unreachable from other channel locations." +msgstr "To połączenie może być nieosiÄ…galne z innych lokalizacji kanaÅ‚u." + +#: ../../Zotlabs/Module/Connedit.php:850 +msgid "Location independence is not supported by their network." +msgstr "Niezależność lokalizacji nie jest obsÅ‚ugiwana przez ich sieć." + +#: ../../Zotlabs/Module/Connedit.php:856 +msgid "" +"This connection is unreachable from this location. Location independence is " +"not supported by their network." +msgstr "" +"To połączenie jest nieosiÄ…galne z tej lokalizacji. Niezależność lokalizacji " +"nie jest obsÅ‚ugiwana przez ich sieć." + +#: ../../Zotlabs/Module/Connedit.php:859 ../../include/items.php:4524 +#, php-format +msgid "Connection: %s" +msgstr "Połączenie: %s" + +#: ../../Zotlabs/Module/Connedit.php:860 +msgid "Connection requests will be approved without your interaction" +msgstr "ProÅ›by o połączenie zostanÄ… zatwierdzone bez Twojej interakcji" + +#: ../../Zotlabs/Module/Connedit.php:869 +msgid "This connection's primary address is" +msgstr "Podstawowy adres tego połączenia to" + +#: ../../Zotlabs/Module/Connedit.php:870 +msgid "Available locations:" +msgstr "DostÄ™pne lokalizacje:" + +#: ../../Zotlabs/Module/Connedit.php:876 +msgid "Connection Tools" +msgstr "NarzÄ™dzia połączeÅ„" + +#: ../../Zotlabs/Module/Connedit.php:878 +msgid "Slide to adjust your degree of friendship" +msgstr "PrzesuÅ„, aby dostosować stopieÅ„ przyjaźni" + +#: ../../Zotlabs/Module/Connedit.php:879 ../../Zotlabs/Module/Rate.php:155 +#: ../../include/js_strings.php:20 +msgid "Rating" +msgstr "Ocena" + +#: ../../Zotlabs/Module/Connedit.php:880 +msgid "Slide to adjust your rating" +msgstr "PrzesuÅ„, aby dostosować swojÄ… ocenÄ™" + +#: ../../Zotlabs/Module/Connedit.php:881 ../../Zotlabs/Module/Connedit.php:886 +msgid "Optionally explain your rating" +msgstr "Ewentualnie wyjaÅ›nij swojÄ… ocenÄ™" + +#: ../../Zotlabs/Module/Connedit.php:883 +msgid "Custom Filter" +msgstr "WÅ‚asny filtr" + +#: ../../Zotlabs/Module/Connedit.php:884 +msgid "Only import posts with this text" +msgstr "Importuj tylko posty z tym tekstem" + +#: ../../Zotlabs/Module/Connedit.php:884 ../../Zotlabs/Module/Connedit.php:885 +#: ../../Zotlabs/Module/Admin/Site.php:327 +#: ../../Zotlabs/Module/Admin/Site.php:328 +msgid "" +"words one per line or #tags or /patterns/ or lang=xx, leave blank to import " +"all posts" +msgstr "" +"sÅ‚owa po jednym w wierszu lub #tags lub /patterns/ lub lang=xx, pozostaw " +"puste, aby zaimportować wszystkie posty" + +#: ../../Zotlabs/Module/Connedit.php:885 +msgid "Do not import posts with this text" +msgstr "Nie importuj postów z tym tekstem" + +#: ../../Zotlabs/Module/Connedit.php:887 +msgid "This information is public!" +msgstr "Ta informacja jest publiczna!" + +#: ../../Zotlabs/Module/Connedit.php:892 +msgid "Connection Pending Approval" +msgstr "Połączenie oczekujÄ…ce na zatwierdzenie" + +#: ../../Zotlabs/Module/Connedit.php:897 +#, php-format +msgid "" +"Please choose the profile you would like to display to %s when viewing your " +"profile securely." +msgstr "" +"Wybierz profil, który chcesz wyÅ›wietlić dla %s, podczas bezpiecznego " +"przeglÄ…dania swojego profilu." + +#: ../../Zotlabs/Module/Connedit.php:899 ../../Zotlabs/Module/Tokens.php:180 +msgid "Their Settings" +msgstr "Ich ustawienia" + +#: ../../Zotlabs/Module/Connedit.php:903 ../../Zotlabs/Module/Tokens.php:187 +#: ../../Zotlabs/Module/Permcats.php:128 +msgid "" +"Some permissions may be inherited from your channel's <a href=\"settings" +"\"><strong>privacy settings</strong></a>, which have higher priority than " +"individual settings. You can <strong>not</strong> change those settings here." +msgstr "" +"Niektóre uprawnienia mogÄ… być dziedziczone z <a href=\"settings" +"\"><strong>ustawieÅ„ prywatnoÅ›ci</strong></a> Twojego kanaÅ‚u, które majÄ… " +"wyższy priorytet niż indywidualne ustawienia. <strong>Nie możesz</strong> " +"tutaj zmienić tych ustawieÅ„." + +#: ../../Zotlabs/Module/Connedit.php:904 +msgid "" +"Some permissions may be inherited from your channel's <a href=\"settings" +"\"><strong>privacy settings</strong></a>, which have higher priority than " +"individual settings. You can change those settings here but they wont have " +"any impact unless the inherited setting changes." +msgstr "" +"Niektóre uprawnienia mogÄ… być dziedziczone z <a href=\"settings" +"\"><strong>ustawieÅ„ prywatnoÅ›ci</strong></a> Twojego kanaÅ‚u, te które majÄ… " +"wyższy priorytet niż indywidualne ustawienia. Możesz zmienić te ustawienia " +"tutaj, ale nie bÄ™dÄ… one miaÅ‚y żadnego wpÅ‚ywu, chyba że odziedziczone " +"ustawienie ulegnie zmianie." + +#: ../../Zotlabs/Module/Connedit.php:905 +msgid "Last update:" +msgstr "Ostatnia aktualizacja:" + +#: ../../Zotlabs/Module/Connedit.php:913 +msgid "Details" +msgstr "Szczegóły" + +#: ../../Zotlabs/Module/Profile_photo.php:93 +#: ../../Zotlabs/Module/Cover_photo.php:85 +msgid "Image uploaded but image cropping failed." +msgstr "Obraz zostaÅ‚ przesÅ‚any, ale przycinanie obrazu nie powiodÅ‚o siÄ™." + +#: ../../Zotlabs/Module/Profile_photo.php:147 +#: ../../Zotlabs/Module/Profile_photo.php:284 +#: ../../include/photo/photo_driver.php:417 +msgid "Profile Photos" +msgstr "ZdjÄ™cia profilowe" + +#: ../../Zotlabs/Module/Profile_photo.php:166 +#: ../../Zotlabs/Module/Cover_photo.php:212 +msgid "Image resize failed." +msgstr "Zmiana rozmiaru obrazu nie powiodÅ‚a siÄ™." + +#: ../../Zotlabs/Module/Profile_photo.php:254 +#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:298 +msgid "" +"Shift-reload the page or clear browser cache if the new photo does not " +"display immediately." +msgstr "" +"Shift-przeÅ‚aduj stronÄ™ lub wyczyść pamięć podrÄ™cznÄ… przeglÄ…darki, jeÅ›li nowe " +"zdjÄ™cie nie zostanie wyÅ›wietlone od razu." + +#: ../../Zotlabs/Module/Profile_photo.php:261 +#: ../../Zotlabs/Module/Cover_photo.php:241 ../../include/photos.php:196 +msgid "Unable to process image" +msgstr "Nie można przetworzyć obrazu" + +#: ../../Zotlabs/Module/Profile_photo.php:296 +#: ../../Zotlabs/Module/Cover_photo.php:265 +msgid "Image upload failed." +msgstr "PrzesyÅ‚anie obrazu nie powiodÅ‚o siÄ™." + +#: ../../Zotlabs/Module/Profile_photo.php:315 +#: ../../Zotlabs/Module/Cover_photo.php:282 +msgid "Unable to process image." +msgstr "Nie można przetworzyć obrazu." + +#: ../../Zotlabs/Module/Profile_photo.php:379 +#: ../../Zotlabs/Module/Profile_photo.php:431 +#: ../../Zotlabs/Module/Cover_photo.php:367 +#: ../../Zotlabs/Module/Cover_photo.php:382 +msgid "Photo not available." +msgstr "ZdjÄ™cie nie jest dostÄ™pne." + +#: ../../Zotlabs/Module/Profile_photo.php:495 +msgid "" +"Your default profile photo is visible to anybody on the internet. Profile " +"photos for alternate profiles will inherit the permissions of the profile" +msgstr "" +"Twoje domyÅ›lne zdjÄ™cie profilowe jest widoczne dla każdego w internecie. " +"ZdjÄ™cia profilowe dla profili alternatywnych odziedziczÄ… uprawnienia profilu" + +#: ../../Zotlabs/Module/Profile_photo.php:495 +msgid "" +"Your profile photo is visible to anybody on the internet and may be " +"distributed to other websites." +msgstr "" +"Twoje zdjÄ™cie profilowe jest widoczne dla każdego w internecie i może być " +"rozpowszechniane na innych stronach internetowych." + +#: ../../Zotlabs/Module/Profile_photo.php:497 +#: ../../Zotlabs/Module/Cover_photo.php:420 +msgid "Upload File:" +msgstr "PrzesÅ‚anie pliku:" + +#: ../../Zotlabs/Module/Profile_photo.php:498 +#: ../../Zotlabs/Module/Cover_photo.php:421 +msgid "Select a profile:" +msgstr "Wybierz profil:" + +#: ../../Zotlabs/Module/Profile_photo.php:499 +msgid "Use Photo for Profile" +msgstr "Użyj zdjÄ™cia do profilu" + +#: ../../Zotlabs/Module/Profile_photo.php:499 +msgid "Change Profile Photo" +msgstr "ZmieÅ„ zdjÄ™cie profilowe" + +#: ../../Zotlabs/Module/Profile_photo.php:500 +msgid "Use" +msgstr "Użyj" + +#: ../../Zotlabs/Module/Profile_photo.php:500 +#: ../../Zotlabs/Module/Photos.php:688 ../../Zotlabs/Module/Cover_photo.php:423 +#: ../../Zotlabs/Module/Embedphotos.php:188 +#: ../../Zotlabs/Storage/Browser.php:540 ../../Zotlabs/Widget/Cdav.php:146 +#: ../../Zotlabs/Widget/Cdav.php:182 ../../Zotlabs/Widget/Portfolio.php:110 +#: ../../Zotlabs/Widget/Album.php:97 +msgid "Upload" +msgstr "PrzeÅ›lij" + +#: ../../Zotlabs/Module/Profile_photo.php:501 +#: ../../Zotlabs/Module/Photos.php:996 ../../Zotlabs/Module/Tagrm.php:137 +#: ../../Zotlabs/Module/Admin/Addons.php:459 +#: ../../Zotlabs/Module/Cover_photo.php:424 +#: ../../extend/addon/hzaddons/superblock/Mod_Superblock.php:91 +msgid "Remove" +msgstr "UsuÅ„" + +#: ../../Zotlabs/Module/Profile_photo.php:505 +#: ../../Zotlabs/Module/Profile_photo.php:506 +#: ../../Zotlabs/Module/Cover_photo.php:426 +#: ../../Zotlabs/Module/Cover_photo.php:427 +msgid "Use a photo from your albums" +msgstr "Użyj zdjÄ™cia ze swoich albumów" + +#: ../../Zotlabs/Module/Profile_photo.php:516 +#: ../../Zotlabs/Module/Cover_photo.php:438 +msgid "Select existing photo" +msgstr "Wybierz istniejÄ…ce zdjÄ™cie" + +#: ../../Zotlabs/Module/Profile_photo.php:535 +#: ../../Zotlabs/Module/Cover_photo.php:455 +msgid "Crop Image" +msgstr "Przytnij zdjÄ™cie" + +#: ../../Zotlabs/Module/Profile_photo.php:536 +#: ../../Zotlabs/Module/Cover_photo.php:456 +msgid "Please adjust the image cropping for optimum viewing." +msgstr "Dostosuj kadrowanie obrazu, aby uzyskać optymalne wyÅ›wietlanie." + +#: ../../Zotlabs/Module/Profile_photo.php:538 +#: ../../Zotlabs/Module/Cover_photo.php:458 +msgid "Done Editing" +msgstr "ZakoÅ„czono edycjÄ™" + +#: ../../Zotlabs/Module/Sharedwithme.php:105 +msgid "Files: shared with me" +msgstr "Pliki: udostÄ™pnione mi" + +#: ../../Zotlabs/Module/Sharedwithme.php:107 +msgid "NEW" +msgstr "NOWY" + +#: ../../Zotlabs/Module/Sharedwithme.php:108 +#: ../../Zotlabs/Storage/Browser.php:379 ../../include/text.php:1562 +msgid "Size" +msgstr "Rozmiar" + +#: ../../Zotlabs/Module/Sharedwithme.php:109 +#: ../../Zotlabs/Storage/Browser.php:380 +msgid "Last Modified" +msgstr "Ostatnio zmodyfikowane" + +#: ../../Zotlabs/Module/Sharedwithme.php:110 +msgid "Remove all files" +msgstr "UsuÅ„ wszystkie pliki" + +#: ../../Zotlabs/Module/Sharedwithme.php:111 +msgid "Remove this file" +msgstr "UsuÅ„ ten plik" + +#: ../../Zotlabs/Module/Editlayout.php:137 +msgid "Edit Layout" +msgstr "Edytuj ukÅ‚ad" + +#: ../../Zotlabs/Module/Manage.php:145 +msgid "Create a new channel" +msgstr "Utwórz nowy kanaÅ‚" + +#: ../../Zotlabs/Module/Manage.php:170 ../../Zotlabs/Lib/Apps.php:337 +#: ../../include/nav.php:98 +msgid "Channel Manager" +msgstr "Menadżer kanałów" + +#: ../../Zotlabs/Module/Manage.php:171 +msgid "Current Channel" +msgstr "Bieżący kanaÅ‚" + +#: ../../Zotlabs/Module/Manage.php:173 +msgid "Switch to one of your channels by selecting it." +msgstr "Przełącz siÄ™ na jeden ze swoich kanałów, wybierajÄ…c go." + +#: ../../Zotlabs/Module/Manage.php:174 +msgid "Default Channel" +msgstr "DomyÅ›lny kanaÅ‚" + +#: ../../Zotlabs/Module/Manage.php:175 +msgid "Make Default" +msgstr "Ustaw jako domyÅ›lny" + +#: ../../Zotlabs/Module/Manage.php:178 +#, php-format +msgid "%d new messages" +msgstr "%d nowych wiadomoÅ›ci" + +#: ../../Zotlabs/Module/Manage.php:179 +#, php-format +msgid "%d new introductions" +msgstr "%d nowych wprowadzeÅ„" + +#: ../../Zotlabs/Module/Manage.php:181 +msgid "Delegated Channel" +msgstr "Deleguj kanaÅ‚" + +#: ../../Zotlabs/Module/Follow.php:93 +msgid "Connection added." +msgstr "Dodano połączenie." + +#: ../../Zotlabs/Module/Item.php:450 ../../Zotlabs/Module/Pin.php:35 +msgid "Unable to locate original post." +msgstr "Nie można znaleźć oryginalnego postu." + +#: ../../Zotlabs/Module/Item.php:736 +msgid "Empty post discarded." +msgstr "Pusty post zostaÅ‚ odrzucony." + +#: ../../Zotlabs/Module/Item.php:1187 +msgid "Duplicate post suppressed." +msgstr "Powielony post zostaÅ‚ wyłączony." + +#: ../../Zotlabs/Module/Item.php:1332 +msgid "System error. Post not saved." +msgstr "Błąd systemu. Post nie zostaÅ‚ zapisany." + +#: ../../Zotlabs/Module/Item.php:1366 +msgid "Your comment is awaiting approval." +msgstr "Twój komentarz oczekuje na zatwierdzenie." + +#: ../../Zotlabs/Module/Item.php:1496 +msgid "Unable to obtain post information from database." +msgstr "Nie można uzyskać z bazy danych informacji o tym poÅ›cie." + +#: ../../Zotlabs/Module/Item.php:1503 +#, php-format +msgid "You have reached your limit of %1$.0f top level posts." +msgstr "OsiÄ…gniÄ™ty zostaÅ‚ limit %1$.0f postów najwyższego poziomu." + +#: ../../Zotlabs/Module/Item.php:1510 +#, php-format +msgid "You have reached your limit of %1$.0f webpages." +msgstr "OsiÄ…gniÄ™ty zostaÅ‚ limit %1$.0f stron internetowych." + +#: ../../Zotlabs/Module/Rate.php:156 +msgid "Website:" +msgstr "Serwis internetowy:" + +#: ../../Zotlabs/Module/Rate.php:159 +#, php-format +msgid "Remote Channel [%s] (not yet known on this site)" +msgstr "KanaÅ‚ zdalny [% s] (jeszcze nieznany w tym serwisie)" + +#: ../../Zotlabs/Module/Rate.php:160 +msgid "Rating (this information is public)" +msgstr "Ocena (ta informacja jest publiczna)" + +#: ../../Zotlabs/Module/Rate.php:161 +msgid "Optionally explain your rating (this information is public)" +msgstr "Ewentualnie wyjaÅ›nij swojÄ… ocenÄ™ (ta informacja jest publiczna)" + +#: ../../Zotlabs/Module/Page.php:39 ../../Zotlabs/Module/Block.php:29 +msgid "Invalid item." +msgstr "NieprawidÅ‚owy element." + +#: ../../Zotlabs/Module/Page.php:136 ../../Zotlabs/Module/Display.php:136 +#: ../../Zotlabs/Module/Display.php:153 ../../Zotlabs/Module/Display.php:173 +#: ../../Zotlabs/Module/Display.php:179 ../../Zotlabs/Module/Block.php:77 +#: ../../Zotlabs/Web/Router.php:185 ../../Zotlabs/Lib/NativeWikiPage.php:521 +#: ../../include/help.php:132 +msgid "Page not found." +msgstr "Nie znaleziono strony." + +#: ../../Zotlabs/Module/Page.php:173 +msgid "" +"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod " +"tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, " +"quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo " +"consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse " +"cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat " +"non proident, sunt in culpa qui officia deserunt mollit anim id est laborum." +msgstr "" +"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod " +"tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, " +"quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo " +"consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse " +"cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat " +"non proident, sunt in culpa qui officia deserunt mollit anim id est laborum." + +#: ../../Zotlabs/Module/Xchan.php:10 +msgid "Xchan Lookup" +msgstr "Wyszukiwanie xchan" + +#: ../../Zotlabs/Module/Xchan.php:13 +msgid "Lookup xchan beginning with (or webbie): " +msgstr "Wyszukaj xchan (lub webbie) zaczynajÄ…c od: " + +#: ../../Zotlabs/Module/Xchan.php:41 ../../Zotlabs/Module/Mitem.php:134 +#: ../../Zotlabs/Module/Menu.php:232 +msgid "Not found." +msgstr "Nie znaleziono." + +#: ../../Zotlabs/Module/Achievements.php:38 +msgid "Some blurb about what to do when you're new here" +msgstr "Kilka uwag o tym, co robisz, gdy jesteÅ› tu nowy" + +#: ../../Zotlabs/Module/Subthread.php:143 +#, php-format +msgid "%1$s is following %2$s's %3$s" +msgstr "%1$s obserwuje %3$s %2$s" + +#: ../../Zotlabs/Module/Subthread.php:145 +#, php-format +msgid "%1$s stopped following %2$s's %3$s" +msgstr "%1$s przestaÅ‚ obserwować %3$s %2$s" + +#: ../../Zotlabs/Module/Regmod.php:15 +msgid "Please login." +msgstr "ProszÄ™ siÄ™ zalogować." + +#: ../../Zotlabs/Module/Editblock.php:138 +msgid "Edit Block" +msgstr "Edytuj blok" + +#: ../../Zotlabs/Module/Impel.php:43 ../../include/bbcode.php:316 +msgid "webpage" +msgstr "strona internetowa" + +#: ../../Zotlabs/Module/Impel.php:48 ../../include/bbcode.php:322 +msgid "block" +msgstr "blok" + +#: ../../Zotlabs/Module/Impel.php:53 ../../include/bbcode.php:319 +msgid "layout" +msgstr "ukÅ‚ad" + +#: ../../Zotlabs/Module/Impel.php:60 ../../include/bbcode.php:325 +msgid "menu" +msgstr "menu" + +#: ../../Zotlabs/Module/Impel.php:185 +#, php-format +msgid "%s element installed" +msgstr "Element %s zainstalowany" + +#: ../../Zotlabs/Module/Impel.php:188 +#, php-format +msgid "%s element installation failed" +msgstr "Instalacja elementu %s nie powiodÅ‚a siÄ™" + +#: ../../Zotlabs/Module/Pubsites.php:25 ../../Zotlabs/Widget/Pubsites.php:12 +msgid "Public Hubs" +msgstr "Huby publiczne" + +#: ../../Zotlabs/Module/Pubsites.php:28 +msgid "" +"The listed hubs allow public registration for the $Projectname network. All " +"hubs in the network are interlinked so membership on any of them conveys " +"membership in the network as a whole. Some hubs may require subscription or " +"provide tiered service plans. The hub itself <strong>may</strong> provide " +"additional details." +msgstr "" +"Wymienione huby umożliwiajÄ… publicznÄ… rejestracjÄ™ w sieci $Projectname. " +"Wszystkie huby w sieci sÄ… ze sobÄ… połączone, wiÄ™c czÅ‚onkostwo w " +"którymkolwiek z nich oznacza czÅ‚onkostwo w caÅ‚ej sieci. Niektóre huby mogÄ… " +"wymagać subskrypcji lub oferować warstwowe plany usÅ‚ug. Sam hub <strong> " +"może </strong> podać dodatkowe szczegóły." + +#: ../../Zotlabs/Module/Pubsites.php:34 +msgid "Hub URL" +msgstr "Adres URL huba" + +#: ../../Zotlabs/Module/Pubsites.php:34 +msgid "Access Type" +msgstr "Typ dostÄ™pu" + +#: ../../Zotlabs/Module/Pubsites.php:34 +msgid "Registration Policy" +msgstr "Zasady rejestracji" + +#: ../../Zotlabs/Module/Pubsites.php:34 +msgid "Stats" +msgstr "Statystyki" + +#: ../../Zotlabs/Module/Pubsites.php:34 +msgid "Software" +msgstr "Oprogramowanie" + +#: ../../Zotlabs/Module/Pubsites.php:36 ../../Zotlabs/Module/Ratings.php:97 +#: ../../include/conversation.php:1130 +msgid "Ratings" +msgstr "Oceny" + +#: ../../Zotlabs/Module/Pubsites.php:50 +msgid "Rate" +msgstr "Ocena" + +#: ../../Zotlabs/Module/Chat.php:29 ../../Zotlabs/Module/Channel.php:42 +#: ../../Zotlabs/Module/Ochannel.php:32 +msgid "You must be logged in to see this page." +msgstr "Musisz być zalogowany, aby zobaczyć tÄ™ stronÄ™." + +#: ../../Zotlabs/Module/Chat.php:100 +msgid "Chatrooms App" +msgstr "Aplikacja Chatrooms" + +#: ../../Zotlabs/Module/Chat.php:101 +msgid "Access Controlled Chatrooms" +msgstr "DostÄ™p do kontrolowanych czatów" + +#: ../../Zotlabs/Module/Chat.php:194 +msgid "Room not found" +msgstr "Nie znaleziono pokoju" + +#: ../../Zotlabs/Module/Chat.php:210 +msgid "Leave Room" +msgstr "Opuść pokój" + +#: ../../Zotlabs/Module/Chat.php:211 +msgid "Delete Room" +msgstr "UsuÅ„ pokój" + +#: ../../Zotlabs/Module/Chat.php:212 +msgid "I am away right now" +msgstr "Nie ma mnie teraz" + +#: ../../Zotlabs/Module/Chat.php:213 +msgid "I am online" +msgstr "Jestem dostÄ™pny" + +#: ../../Zotlabs/Module/Chat.php:215 +msgid "Bookmark this room" +msgstr "Zaznacz ten pokój" + +#: ../../Zotlabs/Module/Chat.php:218 ../../include/conversation.php:1380 +#: ../../extend/addon/hzaddons/hsse/hsse.php:134 +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:119 +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:240 +msgid "Please enter a link URL:" +msgstr "ProszÄ™ wprowadzić adres URL linku:" + +#: ../../Zotlabs/Module/Chat.php:219 ../../Zotlabs/Lib/ThreadItem.php:839 +#: ../../include/conversation.php:1508 +#: ../../extend/addon/hzaddons/hsse/hsse.php:255 +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:172 +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:315 +msgid "Encrypt text" +msgstr "Szyfruj tekst" + +#: ../../Zotlabs/Module/Chat.php:238 +msgid "New Chatroom" +msgstr "Nowy czat" + +#: ../../Zotlabs/Module/Chat.php:239 +msgid "Chatroom name" +msgstr "Nazwa czatu" + +#: ../../Zotlabs/Module/Chat.php:240 +msgid "Expiration of chats (minutes)" +msgstr "WygaÅ›niÄ™cie czatów (minuty)" + +#: ../../Zotlabs/Module/Chat.php:256 +#, php-format +msgid "%1$s's Chatrooms" +msgstr "Czaty %1$s" + +#: ../../Zotlabs/Module/Chat.php:261 +msgid "No chatrooms available" +msgstr "Brak dostÄ™pnych czatów" + +#: ../../Zotlabs/Module/Chat.php:265 +msgid "Expiration" +msgstr "WygaÅ›niÄ™cie" + +#: ../../Zotlabs/Module/Chat.php:266 +msgid "min" +msgstr "min" + +#: ../../Zotlabs/Module/Uexport.php:61 +msgid "Channel Export App" +msgstr "Aplikacja Channel Export" + +#: ../../Zotlabs/Module/Uexport.php:62 +msgid "Export your channel" +msgstr "Wyeksportuj swój kanaÅ‚" + +#: ../../Zotlabs/Module/Uexport.php:72 ../../Zotlabs/Module/Uexport.php:73 +msgid "Export Channel" +msgstr "Eksport kanaÅ‚u" + +#: ../../Zotlabs/Module/Uexport.php:74 +msgid "" +"Export your basic channel information to a file. This acts as a backup of " +"your connections, permissions, profile and basic data, which can be used to " +"import your data to a new server hub, but does not contain your content." +msgstr "" +"Wyeksportuj do pliku podstawowe informacje o kanale. DziaÅ‚a to jako kopia " +"zapasowa połączeÅ„, uprawnieÅ„, profilu i podstawowych danych, których można " +"użyć do zaimportowania danych do nowego huba, ale nie zawiera treÅ›ci." + +#: ../../Zotlabs/Module/Uexport.php:75 +msgid "Export Content" +msgstr "Eksport treÅ›ci" + +#: ../../Zotlabs/Module/Uexport.php:76 +msgid "" +"Export your channel information and recent content to a JSON backup that can " +"be restored or imported to another server hub. This backs up all of your " +"connections, permissions, profile data and several months of posts. This " +"file may be VERY large. Please be patient - it may take several minutes for " +"this download to begin." +msgstr "" +"Wyeksportuj informacje o kanale i najnowsze treÅ›ci do kopii zapasowej JSON, " +"którÄ… można przywrócić lub zaimportować do innego huba. Tworzy to kopie " +"zapasowe wszystkich połączeÅ„, uprawnieÅ„, danych profilu i kilku miesiÄ™cy " +"postów. Ten plik może być BARDZO duży. Prosimy o cierpliwość - rozpoczÄ™cie " +"pobierania może zająć kilka minut." + +#: ../../Zotlabs/Module/Uexport.php:78 +msgid "Export your posts from a given year." +msgstr "Eksportuj swoje posty z danego roku." + +#: ../../Zotlabs/Module/Uexport.php:80 +msgid "" +"You may also export your posts and conversations for a particular year or " +"month. Adjust the date in your browser location bar to select other dates. " +"If the export fails (possibly due to memory exhaustion on your server hub), " +"please try again selecting a more limited date range." +msgstr "" +"Można także wyeksportować swoje posty i rozmowy z okreÅ›lonego rok lub " +"miesiÄ…ca. Dostosuj datÄ™ na pasku adresu przeglÄ…darki, aby wybrać inne daty. " +"JeÅ›li eksport siÄ™ nie powiedzie (prawdopodobnie z powodu wyczerpania pamiÄ™ci " +"w serwera huba), spróbuj ponownie, wybierajÄ…c bardziej ograniczony zakres " +"dat." + +#: ../../Zotlabs/Module/Uexport.php:81 +#, php-format +msgid "" +"To select all posts for a given year, such as this year, visit <a href=\"%1$s" +"\">%2$s</a>" +msgstr "" +"Aby wybrać wszystkie posty z danego roku, na przykÅ‚ad tego roku, odwiedź <a " +"href=\"%1$s\">%2$s</a>" + +#: ../../Zotlabs/Module/Uexport.php:82 +#, php-format +msgid "" +"To select all posts for a given month, such as January of this year, visit " +"<a href=\"%1$s\">%2$s</a>" +msgstr "" +"Aby wybrać wszystkie posty z danego miesiÄ…ca, np. stycznia tego roku, " +"odwiedź <a href=\"%1$s\">%2$s</a>" + +#: ../../Zotlabs/Module/Uexport.php:83 +#, php-format +msgid "" +"These content files may be imported or restored by visiting <a href=\"%1$s\">" +"%2$s</a> on any site containing your channel. For best results please import " +"or restore these in date order (oldest first)." +msgstr "" +"Te pliki treÅ›ci można zaimportować lub przywrócić, odwiedzajÄ…c stronÄ™ <a " +"href=\"%1$s\">%2$s</a> w dowolnym serwisie zawierajÄ…cym Twój kanaÅ‚. Aby " +"uzyskać najlepsze wyniki, zaimportuj lub przywróć je w kolejnoÅ›ci (od " +"najstarszych)." + +#: ../../Zotlabs/Module/Lostpass.php:19 +msgid "No valid account found." +msgstr "Nie znaleziono prawidÅ‚owego konta." + +#: ../../Zotlabs/Module/Lostpass.php:33 +msgid "Password reset request issued. Check your email." +msgstr "WysÅ‚ano proÅ›bÄ™ o zresetowanie hasÅ‚a. Sprawdź swojÄ… skrzynkÄ™ e-mail." + +#: ../../Zotlabs/Module/Lostpass.php:39 ../../Zotlabs/Module/Lostpass.php:108 +#, php-format +msgid "Site Member (%s)" +msgstr "CzÅ‚onek serwisu (%s)" + +#: ../../Zotlabs/Module/Lostpass.php:44 ../../Zotlabs/Module/Lostpass.php:49 +#, php-format +msgid "Password reset requested at %s" +msgstr "Zresetowano hasÅ‚o na %s" + +#: ../../Zotlabs/Module/Lostpass.php:68 +msgid "" +"Request could not be verified. (You may have previously submitted it.) " +"Password reset failed." +msgstr "" +"Nie można zweryfikować żądania. (Możliwe, że zostaÅ‚o już przesÅ‚ane). " +"Resetowanie hasÅ‚a nie powiodÅ‚o siÄ™." + +#: ../../Zotlabs/Module/Lostpass.php:91 ../../boot.php:1714 +msgid "Password Reset" +msgstr "Resetowanie hasÅ‚a" + +#: ../../Zotlabs/Module/Lostpass.php:92 +msgid "Your password has been reset as requested." +msgstr "Twoje hasÅ‚o zostaÅ‚o zresetowane zgodnie z żądaniem." + +#: ../../Zotlabs/Module/Lostpass.php:93 +msgid "Your new password is" +msgstr "Twoje nowe hasÅ‚o to" + +#: ../../Zotlabs/Module/Lostpass.php:94 +msgid "Save or copy your new password - and then" +msgstr "Zapisz lub skopiuj nowe hasÅ‚o - a nastÄ™pnie" + +#: ../../Zotlabs/Module/Lostpass.php:95 +msgid "click here to login" +msgstr "kliknij tutaj aby siÄ™ zalogować" + +#: ../../Zotlabs/Module/Lostpass.php:96 +msgid "" +"Your password may be changed from the <em>Settings</em> page after " +"successful login." +msgstr "" +"Twoje hasÅ‚o może zostać zmienione na stronie <em>Ustawienia</em> po " +"pomyÅ›lnym zalogowaniu." + +#: ../../Zotlabs/Module/Lostpass.php:117 +#, php-format +msgid "Your password has changed at %s" +msgstr "Twoje hasÅ‚o zostaÅ‚o zmienione na %s" + +#: ../../Zotlabs/Module/Lostpass.php:130 +msgid "Forgot your Password?" +msgstr "ZapomniaÅ‚eÅ› hasÅ‚a?" + +#: ../../Zotlabs/Module/Lostpass.php:131 +msgid "" +"Enter your email address and submit to have your password reset. Then check " +"your email for further instructions." +msgstr "" +"Wpisz swój adres e-mail i przeÅ›lij, aby zresetować hasÅ‚o. NastÄ™pnie sprawdź " +"swoja skrzynkÄ™ e-mail, aby uzyskać dalsze instrukcje." + +#: ../../Zotlabs/Module/Lostpass.php:132 +msgid "Email Address" +msgstr "Adres e-mail" + +#: ../../Zotlabs/Module/Vote.php:40 +msgid "Poll not found." +msgstr "Nie znaleziono ankiety." + +#: ../../Zotlabs/Module/Vote.php:71 +msgid "Invalid response." +msgstr "NieprawidÅ‚owa odpowiedź." + +#: ../../Zotlabs/Module/Vote.php:132 +msgid "Response submitted. Updates may not appear instantly." +msgstr "Odpowiedź przesÅ‚ana. Aktualizacje mogÄ… nie pojawiać siÄ™ natychmiast." + +#: ../../Zotlabs/Module/Ping.php:337 ../../Zotlabs/Lib/Enotify.php:948 +msgid "sent you a private message" +msgstr "wysÅ‚aÅ‚ Ci prywatnÄ… wiadomość" + +#: ../../Zotlabs/Module/Ping.php:393 ../../Zotlabs/Lib/Enotify.php:914 +msgid "added your channel" +msgstr "dodaÅ‚ Twój kanaÅ‚" + +#: ../../Zotlabs/Module/Ping.php:418 ../../Zotlabs/Lib/Enotify.php:986 +msgid "requires approval" +msgstr "wymaga zatwierdzenia" + +#: ../../Zotlabs/Module/Ping.php:428 ../../Zotlabs/Lib/Enotify.php:957 +msgid "g A l F d" +msgstr "g A l F d" + +#: ../../Zotlabs/Module/Ping.php:446 ../../Zotlabs/Lib/Enotify.php:960 +msgid "[today]" +msgstr "[dzisiaj]" + +#: ../../Zotlabs/Module/Ping.php:456 +msgid "posted an event" +msgstr "opublikowaÅ‚ wydarzenie" + +#: ../../Zotlabs/Module/Ping.php:490 ../../Zotlabs/Lib/Enotify.php:829 +#: ../../Zotlabs/Lib/Enotify.php:931 +msgid "shared a file with you" +msgstr "udostÄ™pniÅ‚ Ci plik" + +#: ../../Zotlabs/Module/Display.php:359 ../../Zotlabs/Module/Channel.php:449 +msgid "" +"You must enable javascript for your browser to be able to view this content." +msgstr "" +"Aby przeglÄ…dać te treÅ›ci, musisz włączyć obsÅ‚ugÄ™ JavaScript w swojej " +"przeglÄ…darce." + +#: ../../Zotlabs/Module/Display.php:377 +msgid "Article" +msgstr "ArtykuÅ‚" + +#: ../../Zotlabs/Module/Display.php:422 +msgid "Item has been removed." +msgstr "Element zostaÅ‚ usuniÄ™ty." + +#: ../../Zotlabs/Module/Admin.php:96 +#: ../../Zotlabs/Module/Admin/Accounts.php:167 +#: ../../Zotlabs/Module/Admin/Accounts.php:180 +#: ../../Zotlabs/Widget/Admin.php:23 +msgid "Accounts" +msgstr "Konta" + +#: ../../Zotlabs/Module/Admin.php:97 +msgid "Blocked accounts" +msgstr "Zablokowane konta" + +#: ../../Zotlabs/Module/Admin.php:98 +msgid "Expired accounts" +msgstr "WygasÅ‚e konta" + +#: ../../Zotlabs/Module/Admin.php:99 +msgid "Expiring accounts" +msgstr "WygasajÄ…ce konta" + +#: ../../Zotlabs/Module/Admin.php:114 +#: ../../Zotlabs/Module/Admin/Channels.php:146 +#: ../../Zotlabs/Widget/Admin.php:24 +msgid "Channels" +msgstr "KanaÅ‚y" + +#: ../../Zotlabs/Module/Admin.php:120 +msgid "Message queues" +msgstr "Kolejki wiadomoÅ›ci" + +#: ../../Zotlabs/Module/Admin.php:134 +msgid "Your software should be updated" +msgstr "Twoje oprogramowanie powinno zostać zaktualizowane" + +#: ../../Zotlabs/Module/Admin.php:138 ../../Zotlabs/Module/Admin/Themes.php:122 +#: ../../Zotlabs/Module/Admin/Themes.php:156 +#: ../../Zotlabs/Module/Admin/Security.php:98 +#: ../../Zotlabs/Module/Admin/Accounts.php:166 +#: ../../Zotlabs/Module/Admin/Channels.php:145 +#: ../../Zotlabs/Module/Admin/Logs.php:82 +#: ../../Zotlabs/Module/Admin/Addons.php:342 +#: ../../Zotlabs/Module/Admin/Addons.php:440 +#: ../../Zotlabs/Module/Admin/Site.php:291 +msgid "Administration" +msgstr "Administracja" + +#: ../../Zotlabs/Module/Admin.php:139 +msgid "Summary" +msgstr "Posumowanie" + +#: ../../Zotlabs/Module/Admin.php:142 +msgid "Registered accounts" +msgstr "Zarejestrowane konta" + +#: ../../Zotlabs/Module/Admin.php:143 +msgid "Pending registrations" +msgstr "Rejestracja oczekujÄ…ca" + +#: ../../Zotlabs/Module/Admin.php:144 +msgid "Registered channels" +msgstr "Zarejestrowane kanaÅ‚y" + +#: ../../Zotlabs/Module/Admin.php:145 +msgid "Active addons" +msgstr "Aktywne dodatki" + +#: ../../Zotlabs/Module/Admin.php:146 +msgid "Version" +msgstr "Wersja" + +#: ../../Zotlabs/Module/Admin.php:147 +msgid "Repository version (master)" +msgstr "Wersja repozytorium (master)" + +#: ../../Zotlabs/Module/Admin.php:148 +msgid "Repository version (dev)" +msgstr "Wersja repozytorium (dev)" + +#: ../../Zotlabs/Module/Photos.php:80 +msgid "Page owner information could not be retrieved." +msgstr "Nie można pobrać informacji o wÅ‚aÅ›cicielu strony." + +#: ../../Zotlabs/Module/Photos.php:96 ../../Zotlabs/Module/Photos.php:115 +msgid "Album not found." +msgstr "Nie znaleziono albumu." + +#: ../../Zotlabs/Module/Photos.php:105 +msgid "Delete Album" +msgstr "UsuÅ„ album" + +#: ../../Zotlabs/Module/Photos.php:176 ../../Zotlabs/Module/Photos.php:1059 +msgid "Delete Photo" +msgstr "UsuÅ„ zdjÄ™cie" + +#: ../../Zotlabs/Module/Photos.php:530 +msgid "No photos selected" +msgstr "Nie wybrano zdjęć" + +#: ../../Zotlabs/Module/Photos.php:579 +msgid "Access to this item is restricted." +msgstr "DostÄ™p do tego elementu jest ograniczony." + +#: ../../Zotlabs/Module/Photos.php:622 +#, php-format +msgid "%1$.2f MB of %2$.2f MB photo storage used." +msgstr "Wykorzystane miejsce na zdjÄ™cia: %1$.2f MB z %2$.2f MB." + +#: ../../Zotlabs/Module/Photos.php:625 +#, php-format +msgid "%1$.2f MB photo storage used." +msgstr "Wykorzystane miejsce na zdjÄ™cia: %1$.2f MB." + +#: ../../Zotlabs/Module/Photos.php:667 +msgid "Upload Photos" +msgstr "PrzeÅ›lij zdjÄ™cia" + +#: ../../Zotlabs/Module/Photos.php:671 +msgid "Enter an album name" +msgstr "Wpisz nazwÄ™ albumu" + +#: ../../Zotlabs/Module/Photos.php:672 +msgid "or select an existing album (doubleclick)" +msgstr "lub wybierz istniejÄ…cy album (podwójne klikniÄ™cie)" + +#: ../../Zotlabs/Module/Photos.php:673 +msgid "Create a status post for this upload" +msgstr "Utwórz post o stanie tego przesyÅ‚ania" + +#: ../../Zotlabs/Module/Photos.php:675 +msgid "Description (optional)" +msgstr "Opis (opcjonalnie)" + +#: ../../Zotlabs/Module/Photos.php:761 +msgid "Show Newest First" +msgstr "Pokaż najpierw najnowsze" + +#: ../../Zotlabs/Module/Photos.php:763 +msgid "Show Oldest First" +msgstr "Pokaż najpierw najstarsze" + +#: ../../Zotlabs/Module/Photos.php:787 ../../Zotlabs/Module/Photos.php:1333 +#: ../../Zotlabs/Module/Embedphotos.php:170 +#: ../../Zotlabs/Widget/Portfolio.php:87 ../../Zotlabs/Widget/Album.php:78 +msgid "View Photo" +msgstr "Zobacz zdjÄ™cie" + +#: ../../Zotlabs/Module/Photos.php:793 ../../Zotlabs/Module/Photos.php:1255 +#: ../../Zotlabs/Module/Embedphotos.php:176 ../../Zotlabs/Lib/Apps.php:1112 +#: ../../Zotlabs/Lib/Apps.php:1196 ../../Zotlabs/Lib/Activity.php:1508 +#: ../../Zotlabs/Widget/Portfolio.php:95 ../../Zotlabs/Widget/Pinned.php:270 +#: ../../Zotlabs/Widget/Album.php:84 ../../include/conversation.php:1211 +#: ../../include/cdav.php:158 ../../include/cdav.php:159 +#: ../../include/cdav.php:167 ../../extend/addon/hzaddons/pubcrawl/as.php:1187 +msgid "Unknown" +msgstr "Nieznane" + +#: ../../Zotlabs/Module/Photos.php:818 ../../Zotlabs/Module/Embedphotos.php:186 +#: ../../Zotlabs/Widget/Portfolio.php:108 ../../Zotlabs/Widget/Album.php:95 +msgid "Edit Album" +msgstr "Edytuj album" + +#: ../../Zotlabs/Module/Photos.php:820 ../../Zotlabs/Module/Photos.php:1364 +msgid "Add Photos" +msgstr "Dodaj zdjÄ™cia" + +#: ../../Zotlabs/Module/Photos.php:868 +msgid "Permission denied. Access to this item may be restricted." +msgstr "Odmowa dostęþu. DostÄ™p do tej pozycji może być ograniczony." + +#: ../../Zotlabs/Module/Photos.php:870 +msgid "Photo not available" +msgstr "ZdjÄ™cie niedostÄ™pne" + +#: ../../Zotlabs/Module/Photos.php:928 +msgid "Use as profile photo" +msgstr "Użyj jako zdjÄ™cie profilowe" + +#: ../../Zotlabs/Module/Photos.php:929 +msgid "Use as cover photo" +msgstr "Użyj jako zdjÄ™cia okÅ‚adkowe" + +#: ../../Zotlabs/Module/Photos.php:936 +msgid "Private Photo" +msgstr "ZdjÄ™cie prywatne" + +#: ../../Zotlabs/Module/Photos.php:951 +msgid "View Full Size" +msgstr "Zobacz peÅ‚ny rozmiar" + +#: ../../Zotlabs/Module/Photos.php:1033 +msgid "Edit photo" +msgstr "Edutuj zdjÄ™cie" + +#: ../../Zotlabs/Module/Photos.php:1035 +msgid "Rotate CW (right)" +msgstr "Obróć w prawo" + +#: ../../Zotlabs/Module/Photos.php:1036 +msgid "Rotate CCW (left)" +msgstr "Obróć w lewo" + +#: ../../Zotlabs/Module/Photos.php:1039 +msgid "Move photo to album" +msgstr "PrzenieÅ› zdjÄ™cie do albumu" + +#: ../../Zotlabs/Module/Photos.php:1040 +msgid "Enter a new album name" +msgstr "Wpisz nowÄ… nazwÄ™ albumu" + +#: ../../Zotlabs/Module/Photos.php:1041 +msgid "or select an existing one (doubleclick)" +msgstr "lub wybierz istniejÄ…cy (podwójne klikniÄ™cie)" + +#: ../../Zotlabs/Module/Photos.php:1046 +msgid "Add a Tag" +msgstr "Dodaj tag" + +#: ../../Zotlabs/Module/Photos.php:1054 +msgid "Example: @bob, @Barbara_Jensen, @jim@example.com" +msgstr "PrzykÅ‚ad: @bob, @Barbara_Jensen, @jim@example.com" + +#: ../../Zotlabs/Module/Photos.php:1057 +msgid "Flag as adult in album view" +msgstr "Oznacz jako \"dla dorosÅ‚ych\" w widoku albumu" + +#: ../../Zotlabs/Module/Photos.php:1076 ../../Zotlabs/Lib/ThreadItem.php:317 +msgid "I like this (toggle)" +msgstr "LubiÄ™ to (przełącz)" + +#: ../../Zotlabs/Module/Photos.php:1077 ../../Zotlabs/Lib/ThreadItem.php:318 +msgid "I don't like this (toggle)" +msgstr "Nie podoba mi siÄ™ to (przełącz)" + +#: ../../Zotlabs/Module/Photos.php:1079 ../../Zotlabs/Lib/ThreadItem.php:501 +#: ../../include/conversation.php:827 +msgid "Please wait" +msgstr "ProszÄ™ czekać" + +#: ../../Zotlabs/Module/Photos.php:1095 ../../Zotlabs/Module/Photos.php:1213 +#: ../../Zotlabs/Lib/ThreadItem.php:822 +msgid "This is you" +msgstr "To jesteÅ› ty" + +#: ../../Zotlabs/Module/Photos.php:1097 ../../Zotlabs/Module/Photos.php:1215 +#: ../../Zotlabs/Lib/ThreadItem.php:824 ../../include/js_strings.php:6 +msgid "Comment" +msgstr "Komentarz" + +#: ../../Zotlabs/Module/Photos.php:1113 ../../include/conversation.php:652 +msgctxt "title" +msgid "Likes" +msgstr "Polubienia" + +#: ../../Zotlabs/Module/Photos.php:1113 ../../include/conversation.php:653 +msgctxt "title" +msgid "Dislikes" +msgstr "Dezaprobaty" + +#: ../../Zotlabs/Module/Photos.php:1114 ../../Zotlabs/Widget/Pinned.php:77 +#: ../../include/conversation.php:654 +msgctxt "title" +msgid "Agree" +msgstr "Zgoda" + +#: ../../Zotlabs/Module/Photos.php:1114 ../../Zotlabs/Widget/Pinned.php:78 +#: ../../include/conversation.php:655 +msgctxt "title" +msgid "Disagree" +msgstr "Sprzeciw" + +#: ../../Zotlabs/Module/Photos.php:1114 ../../Zotlabs/Widget/Pinned.php:79 +#: ../../include/conversation.php:656 +msgctxt "title" +msgid "Abstain" +msgstr "WstrzymujÄ™ siÄ™" + +#: ../../Zotlabs/Module/Photos.php:1115 ../../Zotlabs/Widget/Pinned.php:66 +#: ../../include/conversation.php:657 +msgctxt "title" +msgid "Attending" +msgstr "UczestniczÄ™" + +#: ../../Zotlabs/Module/Photos.php:1115 ../../Zotlabs/Widget/Pinned.php:67 +#: ../../include/conversation.php:658 +msgctxt "title" +msgid "Not attending" +msgstr "Nie uczestniczÄ™" + +#: ../../Zotlabs/Module/Photos.php:1115 ../../Zotlabs/Widget/Pinned.php:68 +#: ../../include/conversation.php:659 +msgctxt "title" +msgid "Might attend" +msgstr "MogÄ™ uczestniczyć" + +#: ../../Zotlabs/Module/Photos.php:1132 ../../Zotlabs/Module/Photos.php:1144 +#: ../../Zotlabs/Lib/ThreadItem.php:238 ../../Zotlabs/Lib/ThreadItem.php:250 +msgid "View all" +msgstr "Pokaż wszystkie" + +#: ../../Zotlabs/Module/Photos.php:1136 ../../Zotlabs/Lib/ThreadItem.php:242 +#: ../../include/conversation.php:1749 ../../include/channel.php:1781 +#: ../../include/taxonomy.php:668 +msgctxt "noun" +msgid "Like" +msgid_plural "Likes" +msgstr[0] "Lubi" +msgstr[1] "LubiÄ…" +msgstr[2] "Lubi" + +#: ../../Zotlabs/Module/Photos.php:1141 ../../Zotlabs/Lib/ThreadItem.php:247 +#: ../../include/conversation.php:1752 +msgctxt "noun" +msgid "Dislike" +msgid_plural "Dislikes" +msgstr[0] "Nie lubi" +msgstr[1] "Nie lubiÄ…" +msgstr[2] "Nie lubi" + +#: ../../Zotlabs/Module/Photos.php:1247 +msgid "Photo Tools" +msgstr "NarzÄ™dzia fotograficzne" + +#: ../../Zotlabs/Module/Photos.php:1256 +msgid "In This Photo:" +msgstr "Na tym zdjÄ™ciu:" + +#: ../../Zotlabs/Module/Photos.php:1261 +msgid "Map" +msgstr "Mapa" + +#: ../../Zotlabs/Module/Photos.php:1269 ../../Zotlabs/Lib/ThreadItem.php:489 +msgctxt "noun" +msgid "Likes" +msgstr "Polubienia" + +#: ../../Zotlabs/Module/Photos.php:1270 ../../Zotlabs/Lib/ThreadItem.php:490 +msgctxt "noun" +msgid "Dislikes" +msgstr "Dezaprobaty" + +#: ../../Zotlabs/Module/Photos.php:1275 ../../Zotlabs/Storage/Browser.php:411 +#: ../../Zotlabs/Lib/ThreadItem.php:495 ../../Zotlabs/Widget/Pinned.php:160 +#: ../../include/acl_selectors.php:155 +#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:233 +msgid "Close" +msgstr "ZamkniÄ™te" + +#: ../../Zotlabs/Module/Photos.php:1348 ../../Zotlabs/Module/Photos.php:1361 +#: ../../Zotlabs/Module/Photos.php:1362 ../../include/photos.php:667 +msgid "Recent Photos" +msgstr "Najnowsze zdjÄ™cia" + +#: ../../Zotlabs/Module/Channel.php:99 ../../Zotlabs/Module/Profile.php:45 +#: ../../Zotlabs/Module/Hcard.php:37 +msgid "Posts and comments" +msgstr "Posty i komentarze" + +#: ../../Zotlabs/Module/Channel.php:106 ../../Zotlabs/Module/Profile.php:52 +#: ../../Zotlabs/Module/Hcard.php:44 +msgid "Only posts" +msgstr "Tylko posty" + +#: ../../Zotlabs/Module/Channel.php:174 +msgid "Insufficient permissions. Request redirected to profile page." +msgstr "" +"NiewystarczajÄ…ce uprawnienia. Żądanie zostaÅ‚o przekierowane na stronÄ™ " +"profilu." + +#: ../../Zotlabs/Module/Channel.php:189 ../../Zotlabs/Module/Network.php:164 +msgid "Search Results For:" +msgstr "Wyniki wyszukiwania dla:" + +#: ../../Zotlabs/Module/Cards.php:51 +msgid "Cards App" +msgstr "Aplikacja Cards" + +#: ../../Zotlabs/Module/Cards.php:52 +msgid "Create personal planning cards" +msgstr "Twórz osobiste karty planowania" + +#: ../../Zotlabs/Module/Cards.php:112 +msgid "Add Card" +msgstr "Dodaj kartÄ™" + +#: ../../Zotlabs/Module/Cards.php:207 ../../Zotlabs/Lib/Apps.php:326 +#: ../../include/nav.php:501 +msgid "Cards" +msgstr "Karty" + +#: ../../Zotlabs/Module/Go.php:21 +msgid "This page is available only to site members" +msgstr "Ta strona jest dostÄ™pna tylko dla czÅ‚onków serwisu" + +#: ../../Zotlabs/Module/Go.php:27 +msgid "Welcome" +msgstr "Witamy" + +#: ../../Zotlabs/Module/Go.php:29 +msgid "What would you like to do?" +msgstr "Co chciaÅ‚byÅ› zrobić?" + +#: ../../Zotlabs/Module/Go.php:31 +msgid "" +"Please bookmark this page if you would like to return to it in the future" +msgstr "Dodaj tÄ™ stronÄ™ do zakÅ‚adek, jeÅ›li chcesz wrócić do niej w przyszÅ‚oÅ›ci" + +#: ../../Zotlabs/Module/Go.php:35 +msgid "Upload a profile photo" +msgstr "PrzeÅ›lij zdjÄ™cie profilowe" + +#: ../../Zotlabs/Module/Go.php:36 +msgid "Upload a cover photo" +msgstr "PrzeÅ›lij zdjÄ™cie na okÅ‚adkÄ™" + +#: ../../Zotlabs/Module/Go.php:37 +msgid "Edit your default profile" +msgstr "Edytuj swój domyÅ›lny profil" + +#: ../../Zotlabs/Module/Go.php:38 ../../Zotlabs/Widget/Newmember.php:41 +msgid "View friend suggestions" +msgstr "Zobacz propozycje znajomoÅ›ci" + +#: ../../Zotlabs/Module/Go.php:39 +msgid "View the channel directory" +msgstr "WyÅ›wietl katalog kanałów" + +#: ../../Zotlabs/Module/Go.php:40 +msgid "View/edit your channel settings" +msgstr "WyÅ›wietl/edytuj ustawienia swojego kanaÅ‚u" + +#: ../../Zotlabs/Module/Go.php:41 +msgid "View the site or project documentation" +msgstr "WyÅ›wietl witrynÄ™ lub dokumentacjÄ™ projektu" + +#: ../../Zotlabs/Module/Go.php:42 +msgid "Visit your channel homepage" +msgstr "Odwiedź stronÄ™ głównÄ… swojego kanaÅ‚u" + +#: ../../Zotlabs/Module/Go.php:43 +msgid "" +"View your connections and/or add somebody whose address you already know" +msgstr "WyÅ›wietl swoje kontakty albo dodaj osobÄ™, której adres już znasz" + +#: ../../Zotlabs/Module/Go.php:44 +msgid "" +"View your personal stream (this may be empty until you add some connections)" +msgstr "" +"WyÅ›wietl swój osobisty strumieÅ„ (może być pusty, dopóki nie dodasz " +"niektórych połączeÅ„)" + +#: ../../Zotlabs/Module/Go.php:52 +msgid "View the public stream. Warning: this content is not moderated" +msgstr "" +"WyÅ›wietl strumieÅ„ publiczny. Ostrzeżenie: ta zawartość nie jest moderowana" + +#: ../../Zotlabs/Module/Connections.php:58 +#: ../../Zotlabs/Module/Connections.php:115 +#: ../../Zotlabs/Module/Connections.php:273 +msgid "Active" +msgstr "Aktywny" + +#: ../../Zotlabs/Module/Connections.php:63 +#: ../../Zotlabs/Module/Connections.php:181 +#: ../../Zotlabs/Module/Connections.php:278 +msgid "Blocked" +msgstr "Zablokowany" + +#: ../../Zotlabs/Module/Connections.php:68 +#: ../../Zotlabs/Module/Connections.php:188 +#: ../../Zotlabs/Module/Connections.php:277 +msgid "Ignored" +msgstr "Ignorowany" + +#: ../../Zotlabs/Module/Connections.php:73 +#: ../../Zotlabs/Module/Connections.php:202 +#: ../../Zotlabs/Module/Connections.php:276 +msgid "Hidden" +msgstr "Ukryty" + +#: ../../Zotlabs/Module/Connections.php:78 +#: ../../Zotlabs/Module/Connections.php:195 +msgid "Archived/Unreachable" +msgstr "Zarchiwizowane/NieosiÄ…galne" + +#: ../../Zotlabs/Module/Connections.php:83 +#: ../../Zotlabs/Module/Connections.php:92 +#: ../../Zotlabs/Module/Notifications.php:50 ../../Zotlabs/Module/Menu.php:180 +msgid "New" +msgstr "Nowy" + +#: ../../Zotlabs/Module/Connections.php:157 +msgid "Active Connections" +msgstr "Aktywne połączenia" + +#: ../../Zotlabs/Module/Connections.php:160 +msgid "Show active connections" +msgstr "Pokaż aktywne połączenia" + +#: ../../Zotlabs/Module/Connections.php:164 +#: ../../Zotlabs/Widget/Notifications.php:104 +msgid "New Connections" +msgstr "Nowe połączenia" + +#: ../../Zotlabs/Module/Connections.php:167 +msgid "Show pending (new) connections" +msgstr "Pokaż oczekujÄ…ce (nowe) połączenia" + +#: ../../Zotlabs/Module/Connections.php:184 +msgid "Only show blocked connections" +msgstr "Pokaż tylko zablokowane połączenia" + +#: ../../Zotlabs/Module/Connections.php:191 +msgid "Only show ignored connections" +msgstr "Pokaż tylko ignorowane połączenia" + +#: ../../Zotlabs/Module/Connections.php:198 +msgid "Only show archived/unreachable connections" +msgstr "Pokaż tylko zarchiwizowane/nieosiÄ…galne połączenia" + +#: ../../Zotlabs/Module/Connections.php:205 +msgid "Only show hidden connections" +msgstr "Pokaż tylko ukryte połączenia" + +#: ../../Zotlabs/Module/Connections.php:220 +msgid "Show all connections" +msgstr "Pokaż wszystkie połączenia" + +#: ../../Zotlabs/Module/Connections.php:274 +msgid "Pending approval" +msgstr "W oczekiwaniu na zatwierdzenie" + +#: ../../Zotlabs/Module/Connections.php:275 +msgid "Archived" +msgstr "Zarchiwizowane" + +#: ../../Zotlabs/Module/Connections.php:279 +msgid "Not connected at this location" +msgstr "Brak połączenia w tej lokalizacji" + +#: ../../Zotlabs/Module/Connections.php:318 +#, php-format +msgid "%1$s [%2$s]" +msgstr "%1$s [%2$s]" + +#: ../../Zotlabs/Module/Connections.php:319 +msgid "Edit connection" +msgstr "Edytuj połączenie" + +#: ../../Zotlabs/Module/Connections.php:321 +msgid "Delete connection" +msgstr "UsuÅ„ połączenie" + +#: ../../Zotlabs/Module/Connections.php:330 +msgid "Channel address" +msgstr "Adres kanaÅ‚u" + +#: ../../Zotlabs/Module/Connections.php:332 ../../include/features.php:291 +msgid "Network" +msgstr "Sieć" + +#: ../../Zotlabs/Module/Connections.php:335 +msgid "Call" +msgstr "Połączenie" + +#: ../../Zotlabs/Module/Connections.php:337 +msgid "Status" +msgstr "Stan" + +#: ../../Zotlabs/Module/Connections.php:339 +msgid "Connected" +msgstr "Połączene" + +#: ../../Zotlabs/Module/Connections.php:341 +msgid "Approve connection" +msgstr "Zatwierdź połączenie" + +#: ../../Zotlabs/Module/Connections.php:342 +#: ../../Zotlabs/Module/Admin/Accounts.php:173 +#: ../../include/conversation.php:774 +msgid "Approve" +msgstr "Zatwierdź" + +#: ../../Zotlabs/Module/Connections.php:343 +msgid "Ignore connection" +msgstr "Ignoruj połączenie" + +#: ../../Zotlabs/Module/Connections.php:345 +msgid "Recent activity" +msgstr "Ostatnia aktywność" + +#: ../../Zotlabs/Module/Connections.php:349 ../../Zotlabs/Module/Suggest.php:71 +#: ../../Zotlabs/Module/Directory.php:370 ../../Zotlabs/Widget/Follow.php:32 +#: ../../Zotlabs/Widget/Suggestions.php:46 ../../include/conversation.php:1100 +#: ../../include/channel.php:1618 ../../include/connections.php:110 +msgid "Connect" +msgstr "Połączenie" + +#: ../../Zotlabs/Module/Connections.php:351 +msgid "Connect at this location" +msgstr "Połącz w tej lokalizacji" + +#: ../../Zotlabs/Module/Connections.php:374 ../../Zotlabs/Lib/Apps.php:333 +#: ../../include/features.php:133 ../../include/text.php:1036 +msgid "Connections" +msgstr "Połączenia" + +#: ../../Zotlabs/Module/Connections.php:379 +msgid "Search your connections" +msgstr "Wyszukaj swoje połączenia" + +#: ../../Zotlabs/Module/Connections.php:380 +msgid "Connections search" +msgstr "Wyszukiwanie połączeÅ„" + +#: ../../Zotlabs/Module/Connections.php:381 +#: ../../Zotlabs/Module/Directory.php:433 +#: ../../Zotlabs/Module/Directory.php:438 ../../include/contact_widgets.php:23 +msgid "Find" +msgstr "Znajdź" + +#: ../../Zotlabs/Module/Editpost.php:38 ../../Zotlabs/Module/Editpost.php:43 +msgid "Item is not editable" +msgstr "Elementu nie można edytować" + +#: ../../Zotlabs/Module/Tagrm.php:48 ../../Zotlabs/Module/Tagrm.php:98 +msgid "Tag removed" +msgstr "Tag zostaÅ‚ usuniÄ™ty" + +#: ../../Zotlabs/Module/Tagrm.php:123 +msgid "Remove Item Tag" +msgstr "UsuÅ„ tag elementy" + +#: ../../Zotlabs/Module/Tagrm.php:125 +msgid "Select a tag to remove: " +msgstr "Wybierz tag do usuniÄ™cia: " + +#: ../../Zotlabs/Module/Affinity.php:35 +msgid "Affinity Tool settings updated." +msgstr "Zaktualizowano ustawienia narzÄ™dzia Affinity." + +#: ../../Zotlabs/Module/Affinity.php:47 +msgid "" +"This app presents a slider control in your connection editor and also on " +"your network page. The slider represents your degree of friendship " +"(affinity) with each connection. It allows you to zoom in or out and display " +"conversations from only your closest friends or everybody in your stream." +msgstr "" +"Ta aplikacja przedstawia suwak w edytorze połączeÅ„, a także na stronie " +"internetowej. Suwak przedstawia stopieÅ„ przyjaźni (koligacji) z każdym " +"połączeniem. Umożliwia powiÄ™kszanie i pomniejszanie oraz wyÅ›wietlanie rozmów " +"tylko od najbliższych znajomych lub wszystkich w strumieniu." + +#: ../../Zotlabs/Module/Affinity.php:52 +msgid "Affinity Tool App" +msgstr "Aplikacja Affinity Tool" + +#: ../../Zotlabs/Module/Affinity.php:57 +msgid "" +"The numbers below represent the minimum and maximum slider default positions " +"for your network/stream page as a percentage." +msgstr "" +"Poniższe liczby przedstawiajÄ… minimalne i maksymalne domyÅ›lne pozycje " +"suwaków na stronie sieci/strumienia w procentach." + +#: ../../Zotlabs/Module/Affinity.php:64 +msgid "Default maximum affinity level" +msgstr "DomyÅ›lny maksymalny poziom wiÄ™zi" + +#: ../../Zotlabs/Module/Affinity.php:64 +msgid "0-99 default 99" +msgstr "0-99, domyÅ›lnie 99" + +#: ../../Zotlabs/Module/Affinity.php:70 +msgid "Default minimum affinity level" +msgstr "DomyÅ›lny minimalny poziom wiÄ™zi" + +#: ../../Zotlabs/Module/Affinity.php:70 +msgid "0-99 - default 0" +msgstr "0-99, domyÅ›lnie 0" + +#: ../../Zotlabs/Module/Affinity.php:76 +msgid "Persistent affinity levels" +msgstr "TrwaÅ‚e poziomy wiÄ™zi" + +#: ../../Zotlabs/Module/Affinity.php:76 +msgid "" +"If disabled the max and min levels will be reset to default after page reload" +msgstr "" +"JeÅ›li wyłączone, maksymalne i minimalne poziomy zostanÄ… zresetowane do " +"wartoÅ›ci domyÅ›lnych po ponownym zaÅ‚adowaniu strony" + +#: ../../Zotlabs/Module/Affinity.php:84 +msgid "Affinity Tool Settings" +msgstr "Ustawienia Affinity Tool" + +#: ../../Zotlabs/Module/Common.php:14 +msgid "No channel." +msgstr "Brak kanaÅ‚u." + +#: ../../Zotlabs/Module/Common.php:45 +msgid "No connections in common." +msgstr "Brak wspólnych połączeÅ„." + +#: ../../Zotlabs/Module/Common.php:65 +msgid "View Common Connections" +msgstr "WyÅ›wietl typowe połączenia" + +#: ../../Zotlabs/Module/Share.php:104 ../../Zotlabs/Lib/Activity.php:2133 +#, php-format +msgid "🔁 Repeated %1$s's %2$s" +msgstr "🔁 Powtórzony %2$s %1$s" + +#: ../../Zotlabs/Module/Share.php:120 +msgid "Post repeated" +msgstr "Post powtórzony" + +#: ../../Zotlabs/Module/Editwebpage.php:139 +msgid "Page link" +msgstr "Link do strony" + +#: ../../Zotlabs/Module/Editwebpage.php:166 +msgid "Edit Webpage" +msgstr "Edytuj stronÄ™ internetowÄ…" + +#: ../../Zotlabs/Module/Profile.php:93 +msgid "vcard" +msgstr "vcard" + +#: ../../Zotlabs/Module/Article_edit.php:127 +msgid "Edit Article" +msgstr "Edutuj artykuÅ‚" + +#: ../../Zotlabs/Module/Rmagic.php:46 +msgid "Authentication failed." +msgstr "Uwierzytelnianie nie powiodÅ‚o siÄ™." + +#: ../../Zotlabs/Module/Rmagic.php:96 ../../include/channel.php:2597 +#: ../../boot.php:1706 +msgid "Remote Authentication" +msgstr "Zdalne uwierzytelnianie" + +#: ../../Zotlabs/Module/Rmagic.php:97 ../../include/channel.php:2598 +msgid "Enter your channel address (e.g. channel@example.com)" +msgstr "Wpisz adres swojego kanaÅ‚u (np. kanaÅ‚@example.com)" + +#: ../../Zotlabs/Module/Rmagic.php:98 ../../include/channel.php:2599 +msgid "Authenticate" +msgstr "Uwierzytelnianie" + +#: ../../Zotlabs/Module/Attach.php:67 +msgid "Item not available." +msgstr "Element nie jest dostÄ™pny." + +#: ../../Zotlabs/Module/Pconfig.php:32 ../../Zotlabs/Module/Pconfig.php:68 +msgid "This setting requires special processing and editing has been blocked." +msgstr "" +"To ustawienie wymaga specjalnego przetwarzania, a edycja zostaÅ‚a zablokowana." + +#: ../../Zotlabs/Module/Pconfig.php:57 +msgid "Configuration Editor" +msgstr "Edytor konfiguracji" + +#: ../../Zotlabs/Module/Pconfig.php:58 +msgid "" +"Warning: Changing some settings could render your channel inoperable. Please " +"leave this page unless you are comfortable with and knowledgeable about how " +"to correctly use this feature." +msgstr "" +"Ostrzeżenie: zmiana niektórych ustawieÅ„ może spowodować, że Twój kanaÅ‚ " +"przestanie dziaÅ‚ać. Opuść tÄ™ stronÄ™, chyba że czujesz siÄ™ komfortowo i nie " +"wiesz, jak prawidÅ‚owo korzystać z tej funkcji." + +#: ../../Zotlabs/Module/Randprof.php:29 +msgid "Random Channel App" +msgstr "Aplikacja Random Channel" + +#: ../../Zotlabs/Module/Randprof.php:30 +msgid "Visit a random channel in the $Projectname network" +msgstr "Odwiedź losowy kanaÅ‚ w sieci $Projectname" + +#: ../../Zotlabs/Module/Admin/Themes.php:26 +msgid "Theme settings updated." +msgstr "Zaktualizowano ustawienia motywu." + +#: ../../Zotlabs/Module/Admin/Themes.php:61 +msgid "No themes found." +msgstr "Nie znaleziono motywów." + +#: ../../Zotlabs/Module/Admin/Themes.php:95 +#: ../../Zotlabs/Module/Admin/Addons.php:311 +msgid "Disable" +msgstr "Wyłącz" + +#: ../../Zotlabs/Module/Admin/Themes.php:97 +#: ../../Zotlabs/Module/Admin/Addons.php:314 +msgid "Enable" +msgstr "Włącz" + +#: ../../Zotlabs/Module/Admin/Themes.php:116 +msgid "Screenshot" +msgstr "Zrzut ekranu" + +#: ../../Zotlabs/Module/Admin/Themes.php:123 +#: ../../Zotlabs/Module/Admin/Themes.php:157 ../../Zotlabs/Widget/Admin.php:28 +msgid "Themes" +msgstr "Motywy" + +#: ../../Zotlabs/Module/Admin/Themes.php:124 +#: ../../Zotlabs/Module/Admin/Addons.php:344 +msgid "Toggle" +msgstr "Przełącz" + +#: ../../Zotlabs/Module/Admin/Themes.php:125 +#: ../../Zotlabs/Module/Admin/Addons.php:345 ../../Zotlabs/Lib/Apps.php:339 +#: ../../Zotlabs/Widget/Settings_menu.php:61 +#: ../../Zotlabs/Widget/Newmember.php:53 ../../include/nav.php:103 +msgid "Settings" +msgstr "Ustawienia" + +#: ../../Zotlabs/Module/Admin/Themes.php:134 +#: ../../Zotlabs/Module/Admin/Addons.php:352 +msgid "Author: " +msgstr "Autor: " + +#: ../../Zotlabs/Module/Admin/Themes.php:135 +#: ../../Zotlabs/Module/Admin/Addons.php:353 +msgid "Maintainer: " +msgstr "Opiekun: " + +#: ../../Zotlabs/Module/Admin/Themes.php:162 +msgid "[Experimental]" +msgstr "[Eksperymentalne]" + +#: ../../Zotlabs/Module/Admin/Themes.php:163 +msgid "[Unsupported]" +msgstr "[NieobsÅ‚ugiwane]" + +#: ../../Zotlabs/Module/Admin/Security.php:89 +msgid "" +"By default, unfiltered HTML is allowed in embedded media. This is inherently " +"insecure." +msgstr "" +"DomyÅ›lnie, w osadzonych mediach jest dozwolony niefiltrowany HTML. Jest to " +"z natury niebezpieczne." + +#: ../../Zotlabs/Module/Admin/Security.php:92 +msgid "" +"The recommended setting is to only allow unfiltered HTML from the following " +"sites:" +msgstr "" +"Zalecane ustawienie to zezwalanie na niefiltrowany kodu HTML tylko z " +"nastÄ™pujÄ…cych serwisów:" + +#: ../../Zotlabs/Module/Admin/Security.php:93 +msgid "" +"https://youtube.com/<br />https://www.youtube.com/<br />https://youtu.be/" +"<br />https://vimeo.com/<br />https://soundcloud.com/<br />" +msgstr "" +"https://youtube.com/<br />https://www.youtube.com/<br />https://youtu.be/" +"<br />https://vimeo.com/<br />https://soundcloud.com/<br />" + +#: ../../Zotlabs/Module/Admin/Security.php:94 +msgid "" +"All other embedded content will be filtered, <strong>unless</strong> " +"embedded content from that site is explicitly blocked." +msgstr "" +"Wszystkie inne osadzone treÅ›ci bÄ™dÄ… filtrowane, <strong>chyba że</strong> " +"osadzone treÅ›ci z tego serwisu sÄ… jawnie zablokowane." + +#: ../../Zotlabs/Module/Admin/Security.php:99 ../../Zotlabs/Widget/Admin.php:25 +msgid "Security" +msgstr "BezpieczeÅ„stwo" + +#: ../../Zotlabs/Module/Admin/Security.php:101 +msgid "Block public" +msgstr "Zablokuj publiczny dostÄ™p" + +#: ../../Zotlabs/Module/Admin/Security.php:101 +msgid "" +"Check to block public access to all otherwise public personal pages on this " +"site unless you are currently authenticated." +msgstr "" +"Zaznacz, aby zablokować publiczny dostÄ™p do wszystkich innych publicznych " +"stron osobistych w tej witrynie, chyba że jesteÅ› obecnie uwierzytelniony." + +#: ../../Zotlabs/Module/Admin/Security.php:102 +msgid "Provide a cloud root directory" +msgstr "Podaj katalog główny w chmurze" + +#: ../../Zotlabs/Module/Admin/Security.php:102 +msgid "" +"The cloud root directory lists all channel names which provide public files" +msgstr "" +"Katalog główny w chmurze zawiera listÄ™ wszystkich nazw kanałów, które " +"udostÄ™pniajÄ… pliki publiczne" + +#: ../../Zotlabs/Module/Admin/Security.php:103 +msgid "Show total disk space available to cloud uploads" +msgstr "" +"Pokaż caÅ‚kowitÄ… przestrzeÅ„ dyskowÄ… dostÄ™pnÄ… do przesyÅ‚ania plików do chmury" + +#: ../../Zotlabs/Module/Admin/Security.php:104 +msgid "Set \"Transport Security\" HTTP header" +msgstr "Ustaw nagłówek HTTP \"Transport Security\"" + +#: ../../Zotlabs/Module/Admin/Security.php:105 +msgid "Set \"Content Security Policy\" HTTP header" +msgstr "Ustaw nagłówek HTTP \"Content Security Policy\"" + +#: ../../Zotlabs/Module/Admin/Security.php:106 +msgid "Allowed email domains" +msgstr "Dozwolone domeny e-mail" + +#: ../../Zotlabs/Module/Admin/Security.php:106 +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 "" +"Rozdzielana przecinkami lista domen, które sÄ… dozwolone w adresach e-mail " +"podczas rejestracji w tym serwisie. Akceptowane sÄ… symbole wieloznaczne. " +"Puste pole oznacza zezwolenie na dowolne domeny" + +#: ../../Zotlabs/Module/Admin/Security.php:107 +msgid "Not allowed email domains" +msgstr "Niedozwolone domeny e-mail" + +#: ../../Zotlabs/Module/Admin/Security.php:107 +msgid "" +"Comma separated list of domains which are not allowed in email addresses for " +"registrations to this site. Wildcards are accepted. Empty to allow any " +"domains, unless allowed domains have been defined." +msgstr "" +"Rozdzielana przecinkami lista domen, które nie sÄ… dozwolone w adresach e-" +"mail podczas rejestracji w tym serwisie. Akceptowane sÄ… symbole " +"wieloznaczne. Puste pole oznacza zezwolenie na wszystkie domeny, chyba że " +"zostaÅ‚y uprzednio zdefiniowane jakieÅ› dozwolone domeny." + +#: ../../Zotlabs/Module/Admin/Security.php:108 +msgid "Allow communications only from these sites" +msgstr "Zezwalaj na komunikacjÄ™ tylko z tych serwisów" + +#: ../../Zotlabs/Module/Admin/Security.php:108 +msgid "" +"One site per line. Leave empty to allow communication from anywhere by " +"default" +msgstr "" +"Jeden serwis w wierszu. Pozostaw puste, aby domyÅ›lnie zezwolić na " +"komunikacjÄ™ z dowolnego miejsca" + +#: ../../Zotlabs/Module/Admin/Security.php:109 +msgid "Block communications from these sites" +msgstr "Blokuj komunikacjÄ™ z tych serwisów" + +#: ../../Zotlabs/Module/Admin/Security.php:110 +msgid "Allow communications only from these channels" +msgstr "Zezwalaj na komunikacjÄ™ tylko z tych kanałów" + +#: ../../Zotlabs/Module/Admin/Security.php:110 +msgid "" +"One channel (hash) per line. Leave empty to allow from any channel by default" +msgstr "" +"Jeden kanaÅ‚ (hash) na liniÄ™. Pozostaw puste, aby domyÅ›lnie zezwolić z " +"dowolnego kanaÅ‚u" + +#: ../../Zotlabs/Module/Admin/Security.php:111 +msgid "Block communications from these channels" +msgstr "Blokuj komunikacjÄ™ z tych kanałów" + +#: ../../Zotlabs/Module/Admin/Security.php:112 +msgid "Only allow embeds from secure (SSL) websites and links." +msgstr "Zezwalaj na osadzanie tylko z bezpiecznych (SSL) witryn i linków ." + +#: ../../Zotlabs/Module/Admin/Security.php:113 +msgid "Allow unfiltered embedded HTML content only from these domains" +msgstr "Zezwalaj na niefiltrowanÄ… osadzony kod HTML tylko z tych domen" + +#: ../../Zotlabs/Module/Admin/Security.php:113 +msgid "One site per line. By default embedded content is filtered." +msgstr "Jedna witryna w wierszu. DomyÅ›lnie, treść osadzona jest filtrowana." + +#: ../../Zotlabs/Module/Admin/Security.php:114 +msgid "Block embedded HTML from these domains" +msgstr "Zablokuj osadzony kod HTML z tych domen" + +#: ../../Zotlabs/Module/Admin/Security.php:115 +msgid "Allow SVG thumbnails in file browser" +msgstr "Zezwalaj na miniatury SVG w przeglÄ…darce plików" + +#: ../../Zotlabs/Module/Admin/Security.php:115 +msgid "WARNING: SVG images may contain malicious code." +msgstr "OSTRZEÅ»ENIE: obrazy SVG mogÄ… zawierać zÅ‚oÅ›liwy kod." + +#: ../../Zotlabs/Module/Admin/Security.php:116 +msgid "Allow embedded (inline) PDF files" +msgstr "Zezwalaj na osadzone (miÄ™dzywierszowe) pliki PDF" + +#: ../../Zotlabs/Module/Admin/Accounts.php:37 +#, php-format +msgid "%s account blocked/unblocked" +msgid_plural "%s account blocked/unblocked" +msgstr[0] "%s konto jest zablokowane/odblokowane" +msgstr[1] "%s konto sÄ… zablokowane/odblokowane" +msgstr[2] "%s kont jest zablokowanych/odblokowanych" + +#: ../../Zotlabs/Module/Admin/Accounts.php:44 +#, php-format +msgid "%s account deleted" +msgid_plural "%s accounts deleted" +msgstr[0] "%s konto jest usuniÄ™te" +msgstr[1] "%s konta sÄ… usuniÄ™te" +msgstr[2] "%s kont jest usuniÄ™tych" + +#: ../../Zotlabs/Module/Admin/Accounts.php:80 +msgid "Account not found" +msgstr "Konto nie znalezione" + +#: ../../Zotlabs/Module/Admin/Accounts.php:91 ../../include/channel.php:2757 +#, php-format +msgid "Account '%s' deleted" +msgstr "Usunieto konto '%s'" + +#: ../../Zotlabs/Module/Admin/Accounts.php:99 +#, php-format +msgid "Account '%s' blocked" +msgstr "Konto '%s' zostaÅ‚o zablokowane" + +#: ../../Zotlabs/Module/Admin/Accounts.php:107 +#, php-format +msgid "Account '%s' unblocked" +msgstr "Konto '%s' zostaÅ‚o odblokowane" + +#: ../../Zotlabs/Module/Admin/Accounts.php:169 +#: ../../Zotlabs/Module/Admin/Channels.php:148 +msgid "select all" +msgstr "wybierz wszystkie" + +#: ../../Zotlabs/Module/Admin/Accounts.php:170 +msgid "Registrations waiting for confirm" +msgstr "Rejestracje czekajÄ… na potwierdzenie" + +#: ../../Zotlabs/Module/Admin/Accounts.php:171 +msgid "Request date" +msgstr "Data wniosku" + +#: ../../Zotlabs/Module/Admin/Accounts.php:172 +msgid "No registrations." +msgstr "Brak rejestracji." + +#: ../../Zotlabs/Module/Admin/Accounts.php:182 +msgid "ID" +msgstr "ID" + +#: ../../Zotlabs/Module/Admin/Accounts.php:184 +msgid "All Channels" +msgstr "Wszytskie kanaÅ‚y" + +#: ../../Zotlabs/Module/Admin/Accounts.php:185 +msgid "Register date" +msgstr "Data rejestracji" + +#: ../../Zotlabs/Module/Admin/Accounts.php:186 +msgid "Last login" +msgstr "Ostatnie logowanie" + +#: ../../Zotlabs/Module/Admin/Accounts.php:187 +msgid "Expires" +msgstr "Wygasa" + +#: ../../Zotlabs/Module/Admin/Accounts.php:188 +msgid "Service Class" +msgstr "Klasa usÅ‚ugi" + +#: ../../Zotlabs/Module/Admin/Accounts.php:190 +msgid "" +"Selected accounts will be deleted!\\n\\nEverything these accounts had posted " +"on this site will be permanently deleted!\\n\\nAre you sure?" +msgstr "" +"Wybrane konta zostanÄ… usuniÄ™te!\\n\\nWszystko, co z tych kont zostaÅ‚o " +"opublikowane na tym serwisie, zostanie bezpowrotnie usuniÄ™te!\\n\\nCzy na " +"pewno usunąć?" + +#: ../../Zotlabs/Module/Admin/Accounts.php:191 +msgid "" +"The account {0} will be deleted!\\n\\nEverything this account has posted on " +"this site will be permanently deleted!\\n\\nAre you sure?" +msgstr "" +"Konto {0} zostanie usuniete!\\n\\nWszystko co opublikowano z tego konta na " +"tym serwisie zostanie bezpowrotnie usuniÄ™te!\\n\\nCzy na pewno usunąć?" + +#: ../../Zotlabs/Module/Admin/Features.php:55 +#: ../../Zotlabs/Module/Admin/Features.php:56 +#: ../../Zotlabs/Module/Settings/Features.php:38 ../../include/features.php:55 +msgid "Off" +msgstr "Off" + +#: ../../Zotlabs/Module/Admin/Features.php:55 +#: ../../Zotlabs/Module/Admin/Features.php:56 +#: ../../Zotlabs/Module/Settings/Features.php:38 ../../include/features.php:55 +msgid "On" +msgstr "On" + +#: ../../Zotlabs/Module/Admin/Features.php:56 +#, php-format +msgid "Lock feature %s" +msgstr "Blokuj funkcjÄ™ %s" + +#: ../../Zotlabs/Module/Admin/Features.php:64 +msgid "Manage Additional Features" +msgstr "ZarzÄ…dzaj dodatkowymi funkcjami" + +#: ../../Zotlabs/Module/Admin/Queue.php:35 +msgid "Queue Statistics" +msgstr "Statystyki kolejki" + +#: ../../Zotlabs/Module/Admin/Queue.php:36 +msgid "Total Entries" +msgstr "Ogółem postów" + +#: ../../Zotlabs/Module/Admin/Queue.php:37 +msgid "Priority" +msgstr "Priorytet" + +#: ../../Zotlabs/Module/Admin/Queue.php:38 +msgid "Destination URL" +msgstr "Docelowy URL" + +#: ../../Zotlabs/Module/Admin/Queue.php:39 +msgid "Mark hub permanently offline" +msgstr "Oznacz hub na staÅ‚e w trybie offline" + +#: ../../Zotlabs/Module/Admin/Queue.php:40 +msgid "Empty queue for this hub" +msgstr "Pusta kolejka dla tego huba" + +#: ../../Zotlabs/Module/Admin/Queue.php:41 +msgid "Last known contact" +msgstr "Ostatni znany kontakt" + +#: ../../Zotlabs/Module/Admin/Dbsync.php:19 +#: ../../Zotlabs/Module/Admin/Dbsync.php:59 +msgid "Update has been marked successful" +msgstr "Aktualizacja zostaÅ‚a oznaczona jako pomyÅ›lna" + +#: ../../Zotlabs/Module/Admin/Dbsync.php:32 +#, php-format +msgid "Verification of update %s failed. Check system logs." +msgstr "" +"Weryfikacja aktualizacji %s nie zakoÅ„czyÅ‚a siÄ™ pomyÅ›lnie. Sprawdź dzienniki " +"systemowe." + +#: ../../Zotlabs/Module/Admin/Dbsync.php:35 +#: ../../Zotlabs/Module/Admin/Dbsync.php:74 +#, php-format +msgid "Update %s was successfully applied." +msgstr "Aktualizacja %s zostaÅ‚a pomyÅ›lnie zastosowana." + +#: ../../Zotlabs/Module/Admin/Dbsync.php:39 +#, php-format +msgid "Verifying update %s did not return a status. Unknown if it succeeded." +msgstr "" +"Weryfikacja aktualizacji %s nie zwróciÅ‚a stanu. Nie wiadomo, czy siÄ™ udaÅ‚o." + +#: ../../Zotlabs/Module/Admin/Dbsync.php:42 +#, php-format +msgid "Update %s does not contain a verification function." +msgstr "Aktualizacja %s nie zawiera funkcji weryfikacji." + +#: ../../Zotlabs/Module/Admin/Dbsync.php:46 +#: ../../Zotlabs/Module/Admin/Dbsync.php:81 +#, php-format +msgid "Update function %s could not be found." +msgstr "Nie można znaleźć funkcji aktualizacji %s." + +#: ../../Zotlabs/Module/Admin/Dbsync.php:71 +#, php-format +msgid "Executing update procedure %s failed. Check system logs." +msgstr "" +"Wykonanie procedury aktualizacji %s nie powiodÅ‚o siÄ™. Sprawdź dzienniki " +"systemowe." + +#: ../../Zotlabs/Module/Admin/Dbsync.php:78 +#, php-format +msgid "" +"Update %s did not return a status. It cannot be determined if it was " +"successful." +msgstr "Aktualizacja %s nie zwróciÅ‚a stanu. Nie można ustalić, czy siÄ™ udaÅ‚o." + +#: ../../Zotlabs/Module/Admin/Dbsync.php:99 +msgid "Failed Updates" +msgstr "Nieudane aktualizacje" + +#: ../../Zotlabs/Module/Admin/Dbsync.php:101 +msgid "Mark success (if update was manually applied)" +msgstr "Oznacz sukces (jeÅ›li aktualizacja zostaÅ‚a wykonana rÄ™cznie)" + +#: ../../Zotlabs/Module/Admin/Dbsync.php:102 +msgid "Attempt to verify this update if a verification procedure exists" +msgstr "" +"Spróbuj zweryfikować tÄ… aktualizacjÄ™, jeÅ›li istnieje procedura weryfikacji" + +#: ../../Zotlabs/Module/Admin/Dbsync.php:103 +msgid "Attempt to execute this update step automatically" +msgstr "Spróbuj automatycznie wykonać ten krok aktualizacji" + +#: ../../Zotlabs/Module/Admin/Dbsync.php:108 +msgid "No failed updates." +msgstr "Nie ma nieudanych aktualizacji." + +#: ../../Zotlabs/Module/Admin/Channels.php:31 +#, php-format +msgid "%s channel censored/uncensored" +msgid_plural "%s channels censored/uncensored" +msgstr[0] "%s kanaÅ‚ jest ocenzurowany/nieocenzurowany" +msgstr[1] "%s kanaÅ‚y sÄ… ocenzurowane/nieocenzurowane" +msgstr[2] "%s kanałów jest ocenzurowanych/nieocenzurowanych" + +#: ../../Zotlabs/Module/Admin/Channels.php:40 +#, php-format +msgid "%s channel code allowed/disallowed" +msgid_plural "%s channels code allowed/disallowed" +msgstr[0] "Kod %s kanaÅ‚u jest dozwolony /niedozwolony" +msgstr[1] "Kod %s kanałów jest dozwolony/niedozwolony" +msgstr[2] "Kod %s kanałów jest dozwolony/niedozwolony" + +#: ../../Zotlabs/Module/Admin/Channels.php:46 +#, php-format +msgid "%s channel deleted" +msgid_plural "%s channels deleted" +msgstr[0] "%s kanaÅ‚ zostaÅ‚ usuniÄ™ty" +msgstr[1] "%s kanaÅ‚y zostaÅ‚y usuniÄ™te" +msgstr[2] "%s kanałów zostaÅ‚ usuniÄ™tych" + +#: ../../Zotlabs/Module/Admin/Channels.php:65 +msgid "Channel not found" +msgstr "KanaÅ‚ nie zostaÅ‚ znaleziony" + +#: ../../Zotlabs/Module/Admin/Channels.php:75 +#, php-format +msgid "Channel '%s' deleted" +msgstr "KanaÅ‚ '%s' zostaÅ‚ usuniÄ™ty" + +#: ../../Zotlabs/Module/Admin/Channels.php:87 +#, php-format +msgid "Channel '%s' censored" +msgstr "KanaÅ‚ '%s' zostaÅ‚ ocenzurowany" + +#: ../../Zotlabs/Module/Admin/Channels.php:87 +#, php-format +msgid "Channel '%s' uncensored" +msgstr "KanaÅ‚ '%s' jest nieocenzurowany" + +#: ../../Zotlabs/Module/Admin/Channels.php:98 +#, php-format +msgid "Channel '%s' code allowed" +msgstr "Dozwolony kod kanaÅ‚u '%s'" + +#: ../../Zotlabs/Module/Admin/Channels.php:98 +#, php-format +msgid "Channel '%s' code disallowed" +msgstr "Niedozwolony kod kanaÅ‚u '%s'" + +#: ../../Zotlabs/Module/Admin/Channels.php:150 +#: ../../Zotlabs/Module/Directory.php:362 +msgid "Censor" +msgstr "Cezoruj" + +#: ../../Zotlabs/Module/Admin/Channels.php:151 +#: ../../Zotlabs/Module/Directory.php:362 +msgid "Uncensor" +msgstr "UsuÅ„ cenzurÄ™" + +#: ../../Zotlabs/Module/Admin/Channels.php:152 +msgid "Allow Code" +msgstr "Zezwalaj na kod" + +#: ../../Zotlabs/Module/Admin/Channels.php:153 +msgid "Disallow Code" +msgstr "Nie zezwalaj na kod" + +#: ../../Zotlabs/Module/Admin/Channels.php:154 ../../include/nav.php:421 +msgid "Channel" +msgstr "KanaÅ‚" + +#: ../../Zotlabs/Module/Admin/Channels.php:158 +msgid "UID" +msgstr "UID" + +#: ../../Zotlabs/Module/Admin/Channels.php:162 +msgid "" +"Selected channels will be deleted!\\n\\nEverything that was posted in these " +"channels on this site will be permanently deleted!\\n\\nAre you sure?" +msgstr "" +"Wybrane kanaÅ‚y zostanÄ… usuniÄ™te!\\n\\nWszystko co zostaÅ‚o w nich " +"opublikowane bÄ™dzie bezpowrotnie usuniÄ™te!\\n\\nCzy na pewno usunąć?" + +#: ../../Zotlabs/Module/Admin/Channels.php:163 +msgid "" +"The channel {0} will be deleted!\\n\\nEverything that was posted in this " +"channel on this site will be permanently deleted!\\n\\nAre you sure?" +msgstr "" +"KanaÅ‚ {0} zostanie usuniÄ™ty!\\n\\nWszystko co opublikowano na tym kanale " +"bÄ™dzie bezpowrotnie usuniÄ™te!\\n\\nCzy na pewno usunąć?" + +#: ../../Zotlabs/Module/Admin/Logs.php:28 +msgid "Log settings updated." +msgstr "Zaktualizowano ustawienia dziennika." + +#: ../../Zotlabs/Module/Admin/Logs.php:83 ../../Zotlabs/Widget/Admin.php:48 +#: ../../Zotlabs/Widget/Admin.php:58 +msgid "Logs" +msgstr "Logi" + +#: ../../Zotlabs/Module/Admin/Logs.php:85 +msgid "Clear" +msgstr "Wyczyść" + +#: ../../Zotlabs/Module/Admin/Logs.php:91 +msgid "Debugging" +msgstr "Debugowanie" + +#: ../../Zotlabs/Module/Admin/Logs.php:92 +msgid "Log file" +msgstr "Plik dziennika" + +#: ../../Zotlabs/Module/Admin/Logs.php:92 +msgid "" +"Must be writable by web server. Relative to your top-level webserver " +"directory." +msgstr "" +"Musi mieć możliwość zapisu przez serwer WWW. WzglÄ™dnie do katalogu głównego " +"serwera WWW." + +#: ../../Zotlabs/Module/Admin/Logs.php:93 +msgid "Log level" +msgstr "Poziom rejestrowania zdarzeÅ„" + +#: ../../Zotlabs/Module/Admin/Account_edit.php:29 +#, php-format +msgid "Password changed for account %d." +msgstr "HasÅ‚o zostaÅ‚o zmienione do konta%d." + +#: ../../Zotlabs/Module/Admin/Account_edit.php:46 +msgid "Account settings updated." +msgstr "Zaktualizowano ustawienia konta." + +#: ../../Zotlabs/Module/Admin/Account_edit.php:61 +msgid "Account not found." +msgstr "Konto nie zostaÅ‚o znalezione." + +#: ../../Zotlabs/Module/Admin/Account_edit.php:68 +msgid "Account Edit" +msgstr "Edycja konta" + +#: ../../Zotlabs/Module/Admin/Account_edit.php:69 +msgid "New Password" +msgstr "Nowe hasÅ‚o" + +#: ../../Zotlabs/Module/Admin/Account_edit.php:70 +msgid "New Password again" +msgstr "Powtórz nowe hasÅ‚o" + +#: ../../Zotlabs/Module/Admin/Account_edit.php:71 +msgid "Account language (for emails)" +msgstr "JÄ™zyk konta (dla wiadomoÅ›ci e-mail)" + +#: ../../Zotlabs/Module/Admin/Account_edit.php:72 +msgid "Service class" +msgstr "Klasa usÅ‚ugi" + +#: ../../Zotlabs/Module/Admin/Addons.php:290 +#, php-format +msgid "Plugin %s disabled." +msgstr "Wtyczka %s jest wyłączona." + +#: ../../Zotlabs/Module/Admin/Addons.php:295 +#, php-format +msgid "Plugin %s enabled." +msgstr "Wtyczka %s jest włączona." + +#: ../../Zotlabs/Module/Admin/Addons.php:343 +#: ../../Zotlabs/Module/Admin/Addons.php:441 ../../Zotlabs/Widget/Admin.php:27 +msgid "Addons" +msgstr "Dodatki" + +#: ../../Zotlabs/Module/Admin/Addons.php:354 +msgid "Minimum project version: " +msgstr "Minimalna wersja projektu: " + +#: ../../Zotlabs/Module/Admin/Addons.php:355 +msgid "Maximum project version: " +msgstr "Maksymalna wersja projektu: " + +#: ../../Zotlabs/Module/Admin/Addons.php:356 +msgid "Minimum PHP version: " +msgstr "Minimalna wersja PHP: " + +#: ../../Zotlabs/Module/Admin/Addons.php:357 +msgid "Compatible Server Roles: " +msgstr "Zgodne role serwera: " + +#: ../../Zotlabs/Module/Admin/Addons.php:358 +msgid "Requires: " +msgstr "Wymaga: " + +#: ../../Zotlabs/Module/Admin/Addons.php:359 +#: ../../Zotlabs/Module/Admin/Addons.php:446 +msgid "Disabled - version incompatibility" +msgstr "Wyłączone - niezgodność wersji" + +#: ../../Zotlabs/Module/Admin/Addons.php:415 +msgid "Enter the public git repository URL of the addon repo." +msgstr "Wprowadź adres URL publicznego repozytorium Git dodatków." + +#: ../../Zotlabs/Module/Admin/Addons.php:416 +msgid "Addon repo git URL" +msgstr "Adres URL repozytorium Git dodatków" + +#: ../../Zotlabs/Module/Admin/Addons.php:417 +msgid "Custom repo name" +msgstr "WÅ‚asna nazwa repozytorium" + +#: ../../Zotlabs/Module/Admin/Addons.php:417 +msgid "(optional)" +msgstr "(opcjonalnie)" + +#: ../../Zotlabs/Module/Admin/Addons.php:418 +msgid "Download Addon Repo" +msgstr "Pobierz repozytorium dodatków" + +#: ../../Zotlabs/Module/Admin/Addons.php:425 +msgid "Install new repo" +msgstr "Zainstaluj nowe repozytorium" + +#: ../../Zotlabs/Module/Admin/Addons.php:426 ../../Zotlabs/Lib/Apps.php:536 +msgid "Install" +msgstr "Zainstaluj" + +#: ../../Zotlabs/Module/Admin/Addons.php:449 +msgid "Manage Repos" +msgstr "ZarzÄ…dzaj repozytoriami" + +#: ../../Zotlabs/Module/Admin/Addons.php:450 +msgid "Installed Addon Repositories" +msgstr "Zainstalowane repozytoria dodatków" + +#: ../../Zotlabs/Module/Admin/Addons.php:451 +msgid "Install a New Addon Repository" +msgstr "Zainstaluj nowe repozytorium dodatków" + +#: ../../Zotlabs/Module/Admin/Addons.php:458 +msgid "Switch branch" +msgstr "Przełącz gałąź" + +#: ../../Zotlabs/Module/Admin/Site.php:165 +msgid "Site settings updated." +msgstr "Zaktualizowano ustawienia serwisu." + +# hubzilla +# Copyright (C) 2012-2016 hubzilla +# This file is distributed under the same license as the hubzilla package. +# +# Translators: +# Alfonso MartÃnez <alfonsomthd@tutanota.com>, 2015 +# inboxwall <axetransit@gmail.com>, 2015 +# jeroenpraat, 2015 +# Manuel Jiménez Friaza <mjfriaza@disroot.org>, 2017-2020 +# Manuel Jiménez Friaza <mjfriaza@disroot.org>, 2015-2017 +# Rafael, 2015 +# tony baldwin <tonybaldwin@gmx.com>, 2014 +#: ../../Zotlabs/Module/Admin/Site.php:191 ../../include/text.php:3381 +#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:335 +#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:359 +#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:435 +#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:459 +#: ../../view/theme/redbasic/php/config.php:15 +msgid "Default" +msgstr "DomyÅ›lnie" + +#: ../../Zotlabs/Module/Admin/Site.php:202 +#: ../../Zotlabs/Module/Settings/Display.php:118 +#, php-format +msgid "%s - (Incompatible)" +msgstr "%s - (niekompatybilne)" + +#: ../../Zotlabs/Module/Admin/Site.php:209 +msgid "mobile" +msgstr "urzÄ…dzenie przenoÅ›ne" + +#: ../../Zotlabs/Module/Admin/Site.php:211 +msgid "experimental" +msgstr "eksperymentalne" + +#: ../../Zotlabs/Module/Admin/Site.php:213 +msgid "unsupported" +msgstr "nieobsÅ‚ugiwane" + +#: ../../Zotlabs/Module/Admin/Site.php:260 +msgid "Yes - with approval" +msgstr "Tak - za zgodÄ…" + +#: ../../Zotlabs/Module/Admin/Site.php:266 +msgid "My site is not a public server" +msgstr "Mój sewis nie jest serwerem publicznym" + +#: ../../Zotlabs/Module/Admin/Site.php:267 +msgid "My site has paid access only" +msgstr "Mój serwis ma tylko pÅ‚atny dostÄ™p" + +#: ../../Zotlabs/Module/Admin/Site.php:268 +msgid "My site has free access only" +msgstr "Mój serwis ma tylko bezpÅ‚atny dostÄ™p" + +#: ../../Zotlabs/Module/Admin/Site.php:269 +msgid "My site offers free accounts with optional paid upgrades" +msgstr "" +"Mój serwis oferuje darmowe konta z opcjonalnymi pÅ‚atnymi aktualizacjami" + +#: ../../Zotlabs/Module/Admin/Site.php:283 +msgid "Default permission role for new accounts" +msgstr "DomyÅ›lna rola uprawnieÅ„ dla nowych kont" + +#: ../../Zotlabs/Module/Admin/Site.php:283 +msgid "" +"This role will be used for the first channel created after registration." +msgstr "" +"Ta rola bÄ™dzie używana dla pierwszego kanaÅ‚u utworzonego po rejestracji." + +#: ../../Zotlabs/Module/Admin/Site.php:292 ../../Zotlabs/Widget/Admin.php:22 +msgid "Site" +msgstr "Witryna" + +#: ../../Zotlabs/Module/Admin/Site.php:294 +#: ../../Zotlabs/Module/Register.php:277 +msgid "Registration" +msgstr "Rejestracja" + +#: ../../Zotlabs/Module/Admin/Site.php:295 +msgid "File upload" +msgstr "UdostÄ™pnianie pliku" + +#: ../../Zotlabs/Module/Admin/Site.php:296 +msgid "Policies" +msgstr "Zasady" + +#: ../../Zotlabs/Module/Admin/Site.php:297 ../../include/contact_widgets.php:16 +#: ../../include/acl_selectors.php:144 +msgid "Advanced" +msgstr "Zaawansowane" + +#: ../../Zotlabs/Module/Admin/Site.php:301 +#: ../../extend/addon/hzaddons/statusnet/statusnet.php:593 +msgid "Site name" +msgstr "Nazwa witryny internetowej" + +#: ../../Zotlabs/Module/Admin/Site.php:303 +msgid "Banner/Logo" +msgstr "Baner/Logo" + +#: ../../Zotlabs/Module/Admin/Site.php:303 +msgid "Unfiltered HTML/CSS/JS is allowed" +msgstr "Dozwolony jest niefiltrowany kodd HTML/CSS /JS" + +#: ../../Zotlabs/Module/Admin/Site.php:304 +msgid "Administrator Information" +msgstr "Informacje administratora" + +#: ../../Zotlabs/Module/Admin/Site.php:304 +msgid "" +"Contact information for site administrators. Displayed on siteinfo page. " +"BBCode can be used here" +msgstr "" +"Informacje kontaktowe dla administratorów serwisu. WyÅ›wietlane na stronie " +"informacji o serwisie. Tutaj można użyć BBCode" + +#: ../../Zotlabs/Module/Admin/Site.php:305 ../../Zotlabs/Module/Siteinfo.php:24 +msgid "Site Information" +msgstr "Informacje o serwisie" + +#: ../../Zotlabs/Module/Admin/Site.php:305 +msgid "" +"Publicly visible description of this site. Displayed on siteinfo page. " +"BBCode can be used here" +msgstr "" +"Publicznie widoczny opis tego serwisu. WyÅ›wietlane na stronie informacji o " +"serwisie. Tutaj można użyć BBCode" + +#: ../../Zotlabs/Module/Admin/Site.php:306 +msgid "System language" +msgstr "JÄ™zyk systemu" + +#: ../../Zotlabs/Module/Admin/Site.php:307 +msgid "System theme" +msgstr "Motyw systemu" + +#: ../../Zotlabs/Module/Admin/Site.php:307 +msgid "" +"Default system theme - may be over-ridden by user profiles - <a href='#' " +"id='cnftheme'>change theme settings</a>" +msgstr "" +"DomyÅ›lny motyw systemu - może zostać zastÄ…piony przez profile użytkowników - " +"<a href='#' id='cnftheme'>zmieÅ„ ustawienia motywu</a>" + +#: ../../Zotlabs/Module/Admin/Site.php:310 +msgid "Allow Feeds as Connections" +msgstr "Zezwalaj na kanaÅ‚y jako połączenia" + +#: ../../Zotlabs/Module/Admin/Site.php:310 +msgid "(Heavy system resource usage)" +msgstr "(Duże zużycie zasobów systemowych)" + +#: ../../Zotlabs/Module/Admin/Site.php:311 +msgid "Maximum image size" +msgstr "Maksymalny rozmiar obrazu" + +#: ../../Zotlabs/Module/Admin/Site.php:311 +msgid "" +"Maximum size in bytes of uploaded images. Default is 0, which means no " +"limits." +msgstr "" +"Maksymalny rozmiar przesÅ‚anych obrazów w bajtach. Wartość domyÅ›lna to 0, co " +"oznacza brak ograniczeÅ„." + +#: ../../Zotlabs/Module/Admin/Site.php:312 +msgid "Does this site allow new member registration?" +msgstr "Czy ta witryna umożliwia rejestracjÄ™ nowych czÅ‚onków?" + +#: ../../Zotlabs/Module/Admin/Site.php:313 +msgid "Invitation only" +msgstr "Tylko z zaproszeniem" + +#: ../../Zotlabs/Module/Admin/Site.php:313 +msgid "" +"Only allow new member registrations with an invitation code. Above register " +"policy must be set to Yes." +msgstr "" +"Zezwalaj tylko na rejestracje nowych czÅ‚onków za pomocÄ… kodu zaproszenia. " +"Powyższe zasady rejestrów muszÄ… być ustawione na Tak." + +#: ../../Zotlabs/Module/Admin/Site.php:314 +msgid "Minimum age" +msgstr "Minimalny wiek" + +#: ../../Zotlabs/Module/Admin/Site.php:314 +msgid "Minimum age (in years) for who may register on this site." +msgstr "" +"Minimalny wiek (w latach) dla osób, które mogÄ… zarejestrować siÄ™ na tej " +"stronie." + +#: ../../Zotlabs/Module/Admin/Site.php:315 +msgid "Which best describes the types of account offered by this hub?" +msgstr "" +"Które z poniższych stwierdzeÅ„ najlepiej opisuje rodzaje kont oferowanych " +"przez ten hub?" + +#: ../../Zotlabs/Module/Admin/Site.php:315 +msgid "This is displayed on the public server site list." +msgstr "Jest to wyÅ›wietlane na liÅ›cie witryn publicznych serwerów." + +#: ../../Zotlabs/Module/Admin/Site.php:316 +msgid "Register text" +msgstr "Tekst rejestracyjny" + +#: ../../Zotlabs/Module/Admin/Site.php:316 +msgid "Will be displayed prominently on the registration page." +msgstr "Zostanie on wyÅ›wietlony w widocznym miejscu na stronie rejestracji." + +#: ../../Zotlabs/Module/Admin/Site.php:318 +msgid "Site homepage to show visitors (default: login box)" +msgstr "" +"Strona główna serwisu do wyÅ›wietlania odwiedzajÄ…cym (domyÅ›lnie: formularz " +"logowania)" + +#: ../../Zotlabs/Module/Admin/Site.php:318 +msgid "" +"example: 'pubstream' to show public stream, 'page/sys/home' to show a system " +"webpage called 'home' or 'include:home.html' to include a file." +msgstr "" +"przykÅ‚ad: 'pubstream', aby pokazać strumieÅ„ publiczny, 'page/sys/home', aby " +"wyÅ›wietlić systemowÄ… stronÄ™ internetowÄ… o nazwie 'home' lub 'include: home." +"html', aby dołączyć plik." + +#: ../../Zotlabs/Module/Admin/Site.php:319 +msgid "Preserve site homepage URL" +msgstr "Zachowaj adres URL strony głównej serwisu" + +#: ../../Zotlabs/Module/Admin/Site.php:319 +msgid "" +"Present the site homepage in a frame at the original location instead of " +"redirecting" +msgstr "" +"Przedstaw stronÄ™ głównÄ… serwisu w ramce w oryginalnej lokalizacji zamiast " +"przekierowywania" + +#: ../../Zotlabs/Module/Admin/Site.php:320 +msgid "Accounts abandoned after x days" +msgstr "Konta porzucone po x dniach" + +#: ../../Zotlabs/Module/Admin/Site.php:320 +msgid "" +"Will not waste system resources polling external sites for abandonded " +"accounts. Enter 0 for no time limit." +msgstr "" +"Nie marnuje zasobów systemowych na odpytywanie zewnÄ™trznych witryn w " +"poszukiwaniu porzuconych kont. Wpisz 0, aby nie mieć limitu czasu." + +#: ../../Zotlabs/Module/Admin/Site.php:321 +msgid "Allowed friend domains" +msgstr "Dozwolone domeny znajomych" + +#: ../../Zotlabs/Module/Admin/Site.php:321 +msgid "" +"Comma separated list of domains which are allowed to establish friendships " +"with this site. Wildcards are accepted. Empty to allow any domains" +msgstr "" +"Rozdzielana przecinkami lista domen, które mogÄ… zawierać przyjaźnie z tÄ… " +"witrynÄ…. Akceptowane sÄ… symbole wieloznaczne. Puste oznacza zezwolenie na " +"dowolne domeny" + +#: ../../Zotlabs/Module/Admin/Site.php:322 +msgid "Verify Email Addresses" +msgstr "Zweryfikuj adresy e-mail" + +#: ../../Zotlabs/Module/Admin/Site.php:322 +msgid "" +"Check to verify email addresses used in account registration (recommended)." +msgstr "" +"Zaznacz, aby zweryfikować adresy e-mail użyte podczas rejestracji konta " +"(zalecane)." + +#: ../../Zotlabs/Module/Admin/Site.php:323 +msgid "Force publish" +msgstr "WymuÅ› publikacjÄ™" + +#: ../../Zotlabs/Module/Admin/Site.php:323 +msgid "" +"Check to force all profiles on this site to be listed in the site directory." +msgstr "" +"Zaznacz, aby wymusić wyÅ›wietlanie wszystkich profili w tym serwisie w " +"katalogu witryn." + +#: ../../Zotlabs/Module/Admin/Site.php:324 +msgid "Import Public Streams" +msgstr "Importuj strumienie publiczne" + +#: ../../Zotlabs/Module/Admin/Site.php:324 +msgid "" +"Import and allow access to public content pulled from other sites. Warning: " +"this content is unmoderated." +msgstr "" +"Importuj i zezwalaj na dostÄ™p do treÅ›ci publicznych pobranych z innych " +"serwisów. Ostrzeżenie: ta zawartość jest niemoderowana." + +#: ../../Zotlabs/Module/Admin/Site.php:325 +msgid "Site only Public Streams" +msgstr "W serwisie tylko strumienie publiczne" + +#: ../../Zotlabs/Module/Admin/Site.php:325 +msgid "" +"Allow access to public content originating only from this site if Imported " +"Public Streams are disabled." +msgstr "" +"Zezwalaj na dostÄ™p do treÅ›ci publicznych pochodzÄ…cych tylko z tego serwisu, " +"jeÅ›li importowane strumienie publiczne sÄ… wyłączone." + +#: ../../Zotlabs/Module/Admin/Site.php:326 +msgid "Allow anybody on the internet to access the Public streams" +msgstr "Zezwól każdemu w internecie na dostÄ™p do strumieni publicznych" + +#: ../../Zotlabs/Module/Admin/Site.php:326 +msgid "" +"Disable to require authentication before viewing. Warning: this content is " +"unmoderated." +msgstr "" +"Wyłącz, aby wymagać uwierzytelnienia przed przeglÄ…daniem. Ostrzeżenie: ta " +"zawartość jest niemoderowana." + +#: ../../Zotlabs/Module/Admin/Site.php:327 +msgid "Only import Public stream posts with this text" +msgstr "Importuj tylko posty ze strumienia publicznego z tym tekstem" + +#: ../../Zotlabs/Module/Admin/Site.php:328 +msgid "Do not import Public stream posts with this text" +msgstr "Nie importuj postów ze strumienia publicznego z tym tekstem" + +#: ../../Zotlabs/Module/Admin/Site.php:331 +msgid "Login on Homepage" +msgstr "Zaloguj siÄ™ na stronie głównej" + +#: ../../Zotlabs/Module/Admin/Site.php:331 +msgid "" +"Present a login box to visitors on the home page if no other content has " +"been configured." +msgstr "" +"Przedstaw formularz logowania odwiedzajÄ…cym na stronie głównej, jeÅ›li nie " +"skonfigurowano żadnych innych treÅ›ci." + +#: ../../Zotlabs/Module/Admin/Site.php:332 +msgid "Enable context help" +msgstr "Włącz pomoc kontekstowÄ…" + +#: ../../Zotlabs/Module/Admin/Site.php:332 +msgid "" +"Display contextual help for the current page when the help button is pressed." +msgstr "" +"WyÅ›wietlanie pomocy kontekstowej dla bieżącej strony po naciÅ›niÄ™ciu " +"przycisku pomocy." + +#: ../../Zotlabs/Module/Admin/Site.php:334 +msgid "Reply-to email address for system generated email." +msgstr "Zwrotny adres e-mail dla wiadomoÅ›ci wygenerowanych przez system." + +#: ../../Zotlabs/Module/Admin/Site.php:335 +msgid "Sender (From) email address for system generated email." +msgstr "" +"Adres e-mail nadawcy (Od) wiadomoÅ›ci e-mail wygenerowanej przez system." + +#: ../../Zotlabs/Module/Admin/Site.php:336 +msgid "Name of email sender for system generated email." +msgstr "Nazwa nadawcy wiadomoÅ›ci e-mail wygenerowanej przez system." + +#: ../../Zotlabs/Module/Admin/Site.php:338 +msgid "Directory Server URL" +msgstr "Adres URL serwera katalogowego" + +#: ../../Zotlabs/Module/Admin/Site.php:338 +msgid "Default directory server" +msgstr "DomyÅ›lny serwer katalogowy" + +#: ../../Zotlabs/Module/Admin/Site.php:340 +msgid "Enable SSE Notifications" +msgstr "Włącz powiadomienia SSE" + +#: ../../Zotlabs/Module/Admin/Site.php:340 +msgid "" +"If disabled, traditional polling will be used. Warning: this setting might " +"not be suited for shared hosting" +msgstr "" +"JeÅ›li wyłączone, bÄ™dzie używane tradycyjne odpytywanie. Ostrzeżenie: to " +"ustawienie może nie być odpowiednie dla hostingu współdzielonego" + +#: ../../Zotlabs/Module/Admin/Site.php:342 +msgid "Proxy user" +msgstr "Użytkownik proxy" + +#: ../../Zotlabs/Module/Admin/Site.php:343 +msgid "Proxy URL" +msgstr "URL proxy" + +#: ../../Zotlabs/Module/Admin/Site.php:344 +msgid "Network timeout" +msgstr "Limit czasu sieci" + +#: ../../Zotlabs/Module/Admin/Site.php:344 +msgid "Value is in seconds. Set to 0 for unlimited (not recommended)." +msgstr "" +"Wartość w sekundach. Ustaw na 0 dla nieograniczonej liczby (niezalecane)." + +#: ../../Zotlabs/Module/Admin/Site.php:345 +msgid "Delivery interval" +msgstr "InterwaÅ‚ dostaw" + +#: ../../Zotlabs/Module/Admin/Site.php:345 +msgid "" +"Delay background delivery processes by this many seconds to reduce system " +"load. Recommend: 4-5 for shared hosts, 2-3 for virtual private servers. 0-1 " +"for large dedicated servers." +msgstr "" +"Opóźnij procesy dostarczania w tle o kilka sekund, aby zmniejszyć obciążenie " +"systemu. Zalecane: 4-5 dla hostów współdzielonych, 2-3 dla wirtualnych " +"serwerów prywatnych. 0-1 dla dużych serwerów dedykowanych." + +#: ../../Zotlabs/Module/Admin/Site.php:346 +msgid "Deliveries per process" +msgstr "Dostawy na proces" + +#: ../../Zotlabs/Module/Admin/Site.php:346 +msgid "" +"Number of deliveries to attempt in a single operating system process. Adjust " +"if necessary to tune system performance. Recommend: 1-5." +msgstr "" +"Liczba dostaw do podjÄ™cia w ramach jednego procesu systemu operacyjnego. W " +"razie potrzeby dostosuj, aby dostroić wydajność systemu. Polecam: 1-5." + +#: ../../Zotlabs/Module/Admin/Site.php:347 +msgid "Queue Threshold" +msgstr "Próg kolejki" + +#: ../../Zotlabs/Module/Admin/Site.php:347 +msgid "" +"Always defer immediate delivery if queue contains more than this number of " +"entries." +msgstr "" +"Zawsze odraczaj natychmiastowe dostarczenie, jeÅ›li kolejka zawiera wiÄ™cej " +"pozycji niż ta." + +#: ../../Zotlabs/Module/Admin/Site.php:348 +msgid "Poll interval" +msgstr "Okres odpytywania" + +#: ../../Zotlabs/Module/Admin/Site.php:348 +msgid "" +"Delay background polling processes by this many seconds to reduce system " +"load. If 0, use delivery interval." +msgstr "" +"Opóźnij procesy sondowania w tle o kilka sekund, aby zmniejszyć obciążenie " +"systemu. JeÅ›li 0, użyty bÄ™dzie interwaÅ‚ dostawy." + +#: ../../Zotlabs/Module/Admin/Site.php:349 +msgid "Path to ImageMagick convert program" +msgstr "Åšcieżka do programu konwertujÄ…cego ImageMagick" + +#: ../../Zotlabs/Module/Admin/Site.php:349 +msgid "" +"If set, use this program to generate photo thumbnails for huge images ( > " +"4000 pixels in either dimension), otherwise memory exhaustion may occur. " +"Example: /usr/bin/convert" +msgstr "" +"JeÅ›li jest ustawiona, użyj tego programu do generowania miniatur zdjęć dla " +"dużych obrazów (> 4000 pikseli w każdym wymiarze), w przeciwnym razie może " +"wystÄ…pić wyczerpanie pamiÄ™ci. PrzykÅ‚ad: /usr/bin/convert" + +#: ../../Zotlabs/Module/Admin/Site.php:350 +msgid "Maximum Load Average" +msgstr "Maksymalne Å›rednie obciążenie" + +#: ../../Zotlabs/Module/Admin/Site.php:350 +msgid "" +"Maximum system load before delivery and poll processes are deferred - " +"default 50." +msgstr "" +"Maksymalne obciążenie systemu przed odroczeniem procesów dostarczania i " +"odpytywania - domyÅ›lnie 50." + +#: ../../Zotlabs/Module/Admin/Site.php:351 +msgid "Expiration period in days for imported (grid/network) content" +msgstr "Okres ważnoÅ›ci w dniach dla zaimportowanej treÅ›ci (siatki/sieci)" + +#: ../../Zotlabs/Module/Admin/Site.php:351 +msgid "0 for no expiration of imported content" +msgstr "0 dla braku wygaÅ›niÄ™cia zaimportowanej treÅ›ci" + +#: ../../Zotlabs/Module/Admin/Site.php:352 +msgid "" +"Do not expire any posts which have comments less than this many days ago" +msgstr "" +"Nie wygasaj żadnych postów, które majÄ… komentarze z datami mniejszymi niż ta " +"wartość dni temu" + +#: ../../Zotlabs/Module/Admin/Site.php:354 +msgid "" +"Public servers: Optional landing (marketing) webpage for new registrants" +msgstr "" +"Serwery publiczne: opcjonalna strona lÄ…dowania (marketingowa) dla nowych " +"rejestrujÄ…cych" + +#: ../../Zotlabs/Module/Admin/Site.php:354 +#, php-format +msgid "Create this page first. Default is %s/register" +msgstr "Utwórz najpierw tÄ… stronÄ™. DomyÅ›lnie %s/ register" + +#: ../../Zotlabs/Module/Admin/Site.php:355 +msgid "Page to display after creating a new channel" +msgstr "Strona do wyÅ›wietlenia po utworzeniu nowego kanaÅ‚u" + +#: ../../Zotlabs/Module/Admin/Site.php:355 +msgid "Default: profiles" +msgstr "DomyÅ›lnie: profile" + +#: ../../Zotlabs/Module/Admin/Site.php:357 +msgid "Optional: site location" +msgstr "Opcjonalnie: lokalizacja serwisu" + +#: ../../Zotlabs/Module/Admin/Site.php:357 +msgid "Region or country" +msgstr "Region lub kraj" + +#: ../../Zotlabs/Module/Admin/Profs.php:89 +msgid "New Profile Field" +msgstr "Nowe pole profilu" + +#: ../../Zotlabs/Module/Admin/Profs.php:90 +#: ../../Zotlabs/Module/Admin/Profs.php:110 +msgid "Field nickname" +msgstr "Krótka nazwa pola" + +#: ../../Zotlabs/Module/Admin/Profs.php:90 +#: ../../Zotlabs/Module/Admin/Profs.php:110 +msgid "System name of field" +msgstr "Systemowa nazwa pola" + +#: ../../Zotlabs/Module/Admin/Profs.php:91 +#: ../../Zotlabs/Module/Admin/Profs.php:111 +msgid "Input type" +msgstr "Typ wejÅ›cia" + +#: ../../Zotlabs/Module/Admin/Profs.php:92 +#: ../../Zotlabs/Module/Admin/Profs.php:112 +msgid "Field Name" +msgstr "Nazwa Pola" + +#: ../../Zotlabs/Module/Admin/Profs.php:92 +#: ../../Zotlabs/Module/Admin/Profs.php:112 +msgid "Label on profile pages" +msgstr "Etykieta na stronach profilu" + +#: ../../Zotlabs/Module/Admin/Profs.php:93 +#: ../../Zotlabs/Module/Admin/Profs.php:113 +msgid "Help text" +msgstr "Tekst pomocy" + +#: ../../Zotlabs/Module/Admin/Profs.php:93 +#: ../../Zotlabs/Module/Admin/Profs.php:113 +msgid "Additional info (optional)" +msgstr "Dodatkowe informacje (opcjonalnie)" + +#: ../../Zotlabs/Module/Admin/Profs.php:103 +msgid "Field definition not found" +msgstr "Nie znaleziono definicji pola" + +#: ../../Zotlabs/Module/Admin/Profs.php:109 +msgid "Edit Profile Field" +msgstr "Edytuj pole profilu" + +#: ../../Zotlabs/Module/Admin/Profs.php:168 ../../Zotlabs/Widget/Admin.php:30 +msgid "Profile Fields" +msgstr "Pola profilu" + +#: ../../Zotlabs/Module/Admin/Profs.php:169 +msgid "Basic Profile Fields" +msgstr "Podstawowe pola profilu" + +#: ../../Zotlabs/Module/Admin/Profs.php:170 +msgid "Advanced Profile Fields" +msgstr "Zaawansowane pola profilu" + +#: ../../Zotlabs/Module/Admin/Profs.php:170 +msgid "(In addition to basic fields)" +msgstr "(Oprócz podstawowych pól)" + +#: ../../Zotlabs/Module/Admin/Profs.php:172 +msgid "All available fields" +msgstr "Wszystkie dostÄ™pne pola" + +#: ../../Zotlabs/Module/Admin/Profs.php:173 +msgid "Custom Fields" +msgstr "Pola niestandardowe" + +#: ../../Zotlabs/Module/Admin/Profs.php:177 +msgid "Create Custom Field" +msgstr "Utwórz wÅ‚asne pole" + +#: ../../Zotlabs/Module/Notify.php:61 ../../Zotlabs/Module/Notifications.php:55 +msgid "No more system notifications." +msgstr "Nigdy wiÄ™cej powiadomieÅ„ systemowych." + +#: ../../Zotlabs/Module/Notify.php:65 ../../Zotlabs/Module/Notifications.php:59 +msgid "System Notifications" +msgstr "Powiadomienia systemowe" + +#: ../../Zotlabs/Module/Cal.php:64 +msgid "Permissions denied." +msgstr "Odmowa dostÄ™pu." + +#: ../../Zotlabs/Module/Thing.php:122 +msgid "Thing updated" +msgstr "Rzecz zaktualizowana" + +#: ../../Zotlabs/Module/Thing.php:174 +msgid "Object store: failed" +msgstr "Magazyn obiektów: błąd" + +#: ../../Zotlabs/Module/Thing.php:178 +msgid "Thing added" +msgstr "Rzecz dodana" + +#: ../../Zotlabs/Module/Thing.php:204 +#, php-format +msgid "OBJ: %1$s %2$s %3$s" +msgstr "OBJ: %1$s %2$s %3$s" + +#: ../../Zotlabs/Module/Thing.php:267 +msgid "Show Thing" +msgstr "WyÅ›wietl rzecz" + +#: ../../Zotlabs/Module/Thing.php:274 +msgid "item not found." +msgstr "pozycja nie zostaÅ‚a znaleziona." + +#: ../../Zotlabs/Module/Thing.php:307 +msgid "Edit Thing" +msgstr "Edytuj rzecz" + +#: ../../Zotlabs/Module/Thing.php:309 ../../Zotlabs/Module/Thing.php:366 +msgid "Select a profile" +msgstr "Wybierz profile" + +#: ../../Zotlabs/Module/Thing.php:313 ../../Zotlabs/Module/Thing.php:369 +msgid "Post an activity" +msgstr "Opublikuj aktywność" + +#: ../../Zotlabs/Module/Thing.php:313 ../../Zotlabs/Module/Thing.php:369 +msgid "Only sends to viewers of the applicable profile" +msgstr "WysyÅ‚ane tylko do osób przeglÄ…dajÄ…cych odpowiedni profil" + +#: ../../Zotlabs/Module/Thing.php:315 ../../Zotlabs/Module/Thing.php:371 +msgid "Name of thing e.g. something" +msgstr "Nazwa rzeczy, np. coÅ›" + +#: ../../Zotlabs/Module/Thing.php:317 ../../Zotlabs/Module/Thing.php:372 +msgid "URL of thing (optional)" +msgstr "URL rzeczy (opcjonalnie)" + +#: ../../Zotlabs/Module/Thing.php:319 ../../Zotlabs/Module/Thing.php:373 +msgid "URL for photo of thing (optional)" +msgstr "URL do zdjÄ™cia rzeczy (opcjonalnie)" + +#: ../../Zotlabs/Module/Thing.php:364 +msgid "Add Thing to your Profile" +msgstr "Dodaj rzecz do swojego profilu" + +#: ../../Zotlabs/Module/Suggest.php:40 +msgid "Suggest Channels App" +msgstr "Aplikacja Suggest Channels" + +#: ../../Zotlabs/Module/Suggest.php:41 +msgid "" +"Suggestions for channels in the $Projectname network you might be interested " +"in" +msgstr "" +"Propozycje dotyczÄ…ce kanałów w sieci $Projectname, które mogÄ… CiÄ™ " +"zainteresować" + +#: ../../Zotlabs/Module/Suggest.php:54 +msgid "" +"No suggestions available. If this is a new site, please try again in 24 " +"hours." +msgstr "" +"Brak dostÄ™pnych prpozycji. JeÅ›li to jest nowy serwis, spróbuj ponownie za 24 " +"godziny." + +#: ../../Zotlabs/Module/Suggest.php:73 ../../Zotlabs/Widget/Suggestions.php:48 +msgid "Ignore/Hide" +msgstr "Ignoruj/Ukryj" + +#: ../../Zotlabs/Module/Suggest.php:79 ../../Zotlabs/Module/Directory.php:437 +#: ../../include/contact_widgets.php:24 +msgid "Channel Suggestions" +msgstr "Sugerowane kanaÅ‚y" + +#: ../../Zotlabs/Module/Email_validation.php:36 +msgid "Email Verification Required" +msgstr "Wymagana jest weryfikacja adresu e-mail" + +#: ../../Zotlabs/Module/Email_validation.php:37 +#, php-format +msgid "" +"A verification token was sent to your email address [%s]. Enter that token " +"here to complete the account verification step. Please allow a few minutes " +"for delivery, and check your spam folder if you do not see the message." +msgstr "" +"Token weryfikacyjny zostaÅ‚ wysÅ‚any na Twój adres e-mail [% s]. Wprowadź tuta " +"ten token, aby zakoÅ„czyć etap weryfikacji konta. Poczekaj kilka minut na " +"dostarczenie i jeÅ›li nie widzisz wiadomoÅ›ci, sprawdź folder ze spamem." + +#: ../../Zotlabs/Module/Email_validation.php:38 +msgid "Resend Email" +msgstr "WyÅ›lij ponownie wiadomość e-mail" + +#: ../../Zotlabs/Module/Email_validation.php:41 +msgid "Validation token" +msgstr "Token walidacyjny" + +#: ../../Zotlabs/Module/Notes.php:57 +msgid "Notes App" +msgstr "Aplikacja Notes" + +#: ../../Zotlabs/Module/Notes.php:58 +msgid "A simple notes app with a widget (note: notes are not encrypted)" +msgstr "" +"Prosta aplikacja do notatek z widżetem (uwaga: notatki nie sÄ… szyfrowane)" + +#: ../../Zotlabs/Module/Tokens.php:39 +#, php-format +msgid "This channel is limited to %d tokens" +msgstr "Ten kanaÅ‚ jest ograniczony do %d tokenów" + +#: ../../Zotlabs/Module/Tokens.php:45 +msgid "Name and Password are required." +msgstr "Wymagane sÄ… ImiÄ™ i hasÅ‚o." + +#: ../../Zotlabs/Module/Tokens.php:85 +msgid "Token saved." +msgstr "Token zostaÅ‚ zapisany." + +#: ../../Zotlabs/Module/Tokens.php:99 +msgid "Guest Access App" +msgstr "Aplikacja Guest Access" + +#: ../../Zotlabs/Module/Tokens.php:100 +msgid "Create access tokens so that non-members can access private content" +msgstr "" +"Utwórz tokeny dostÄ™pu, aby osoby niebÄ™dÄ…ce czÅ‚onkami mogÅ‚y uzyskać dostÄ™p do " +"treÅ›ci prywatnych" + +#: ../../Zotlabs/Module/Tokens.php:133 +msgid "" +"Use this form to create temporary access identifiers to share things with " +"non-members. These identities may be used in Access Control Lists and " +"visitors may login using these credentials to access private content." +msgstr "" +"Użyj tego formularza, aby utworzyć tymczasowe identyfikatory dostÄ™pu, aby " +"udostÄ™pniać rzeczy osobom niebÄ™dÄ…cym czÅ‚onkami. TożsamoÅ›ci te mogÄ… być " +"używane na listach kontroli dostÄ™pu, a odwiedzajÄ…cy mogÄ… logować siÄ™ przy " +"użyciu tych poÅ›wiadczeÅ„, aby uzyskać dostÄ™p do treÅ›ci prywatnych." + +#: ../../Zotlabs/Module/Tokens.php:135 +msgid "" +"You may also provide <em>dropbox</em> style access links to friends and " +"associates by adding the Login Password to any specific site URL as shown. " +"Examples:" +msgstr "" +"Możesz także udostÄ™pnić znajomym i współpracownikom łącza dostÄ™pu w stylu " +"<em>dropbox</em>, dodajÄ…c hasÅ‚o logowania do dowolnego adresu URL witryny, " +"jak pokazano na ilustracji. PrzykÅ‚ady:" + +#: ../../Zotlabs/Module/Tokens.php:170 +msgid "Guest Access Tokens" +msgstr "Tokent Guest Access" + +#: ../../Zotlabs/Module/Tokens.php:177 +msgid "Login Name" +msgstr "Nazwa logowania" + +#: ../../Zotlabs/Module/Tokens.php:178 +msgid "Login Password" +msgstr "HasÅ‚o logowania" + +#: ../../Zotlabs/Module/Tokens.php:179 +msgid "Expires (yyyy-mm-dd)" +msgstr "Wygasa (rrrr-mm-dd)" + +#: ../../Zotlabs/Module/Apporder.php:47 +msgid "Change Order of Pinned Navbar Apps" +msgstr "ZmieÅ„ kolejność aplikacji przypiÄ™tych do paska nawigacyjnego" + +#: ../../Zotlabs/Module/Apporder.php:47 +msgid "Change Order of App Tray Apps" +msgstr "ZmieÅ„ kolejność aplikacji na pasku aplikacji" + +#: ../../Zotlabs/Module/Apporder.php:48 +msgid "" +"Use arrows to move the corresponding app left (top) or right (bottom) in the " +"navbar" +msgstr "" +"Użyj strzaÅ‚ek, aby przesunąć odpowiedniÄ… aplikacjÄ™ w lewo (u góry) lub w " +"prawo (u doÅ‚u) na pasku nawigacyjnym" + +#: ../../Zotlabs/Module/Apporder.php:48 +msgid "Use arrows to move the corresponding app up or down in the app tray" +msgstr "" +"Użyj strzaÅ‚ek, aby przesunąć odpowiedniÄ… aplikacjÄ™ w górÄ™ lub w dół w " +"zasobniku aplikacji" + +#: ../../Zotlabs/Module/Notifications.php:60 +#: ../../Zotlabs/Lib/ThreadItem.php:482 +msgid "Mark all seen" +msgstr "Oznacz wszystkie jako oglÄ…dniÄ™te" + +#: ../../Zotlabs/Module/Home.php:72 ../../Zotlabs/Module/Home.php:80 +#: ../../Zotlabs/Lib/Enotify.php:66 +#: ../../extend/addon/hzaddons/opensearch/opensearch.php:42 +msgid "$Projectname" +msgstr "Hubzilla" + +#: ../../Zotlabs/Module/Home.php:90 +#, php-format +msgid "Welcome to %s" +msgstr "Witamy w %s" + +#: ../../Zotlabs/Module/Articles.php:52 +msgid "Articles App" +msgstr "Aplikacja Articles" + +#: ../../Zotlabs/Module/Articles.php:53 +msgid "Create interactive articles" +msgstr "Twórz interaktywne artykuÅ‚y" + +#: ../../Zotlabs/Module/Articles.php:116 +msgid "Add Article" +msgstr "Dodaj artykuÅ‚" + +#: ../../Zotlabs/Module/Articles.php:226 ../../Zotlabs/Lib/Apps.php:325 +#: ../../include/nav.php:512 +msgid "Articles" +msgstr "ArtykuÅ‚y" + +#: ../../Zotlabs/Module/Setup.php:167 +msgid "$Projectname Server - Setup" +msgstr "Serwer $Projectname - Konfiguracja" + +#: ../../Zotlabs/Module/Setup.php:171 +msgid "Could not connect to database." +msgstr "Nie można połączyć siÄ™ z bazÄ… danych." + +#: ../../Zotlabs/Module/Setup.php:175 +msgid "" +"Could not connect to specified site URL. Possible SSL certificate or DNS " +"issue." +msgstr "" +"Nie można połączyć siÄ™ z okreÅ›lonym adresem URL serwisu. Możliwy problem z " +"certyfikatem SSL lub DNS." + +#: ../../Zotlabs/Module/Setup.php:182 +msgid "Could not create table." +msgstr "Nie udaÅ‚o siÄ™ utworzyć tabeli." + +#: ../../Zotlabs/Module/Setup.php:188 +msgid "Your site database has been installed." +msgstr "Baza danych serwisu zostaÅ‚a zainstalowana." + +#: ../../Zotlabs/Module/Setup.php:194 +msgid "" +"You may need to import the file \"install/schema_xxx.sql\" manually using a " +"database client." +msgstr "" +"Może być konieczne rÄ™czne zaimportowanie pliku „install/schema_xxx.sql†za " +"pomocÄ… klienta bazy danych." + +#: ../../Zotlabs/Module/Setup.php:195 ../../Zotlabs/Module/Setup.php:259 +#: ../../Zotlabs/Module/Setup.php:766 +msgid "Please see the file \"install/INSTALL.txt\"." +msgstr "Zobacz plik \"install/INSTALL.txt\"." + +#: ../../Zotlabs/Module/Setup.php:256 +msgid "System check" +msgstr "Sprawdzanie systemu" + +#: ../../Zotlabs/Module/Setup.php:261 +msgid "Check again" +msgstr "Sprawdź ponownie" + +#: ../../Zotlabs/Module/Setup.php:282 +msgid "Database connection" +msgstr "Połączenie z bazÄ… danych" + +#: ../../Zotlabs/Module/Setup.php:283 +msgid "" +"In order to install $Projectname we need to know how to connect to your " +"database." +msgstr "" +"Aby zainstalować $Projectname, musimy wiedzieć, jak połączyć siÄ™ z twojÄ… " +"bazÄ… danych." + +#: ../../Zotlabs/Module/Setup.php:284 +msgid "" +"Please contact your hosting provider or site administrator if you have " +"questions about these settings." +msgstr "" +"JeÅ›li masz pytania dotyczÄ…ce tych ustawieÅ„, skontaktuj siÄ™ z dostawcÄ… usÅ‚ug " +"hostingowych lub administratorem serwisu." + +#: ../../Zotlabs/Module/Setup.php:285 +msgid "" +"The database you specify below should already exist. If it does not, please " +"create it before continuing." +msgstr "" +"Baza danych, którÄ… okreÅ›lisz poniżej, powinna już istnieć. JeÅ›li tak siÄ™ nie " +"staÅ‚o, utwórz jÄ… przed kontynuowaniem." + +#: ../../Zotlabs/Module/Setup.php:289 +msgid "Database Server Name" +msgstr "Nazwa serwera bazy danych" + +#: ../../Zotlabs/Module/Setup.php:289 +msgid "Default is 127.0.0.1" +msgstr "DomyÅ›lnie, 127.0.0.1" + +#: ../../Zotlabs/Module/Setup.php:290 +msgid "Database Port" +msgstr "Port bazy danych" + +#: ../../Zotlabs/Module/Setup.php:290 +msgid "Communication port number - use 0 for default" +msgstr "Numer portu komunikacyjnego - dla wartoÅ›ci domyÅ›lnej użyj 0" + +#: ../../Zotlabs/Module/Setup.php:291 +msgid "Database Login Name" +msgstr "Nazwa logowania do bazy danych" + +#: ../../Zotlabs/Module/Setup.php:292 +msgid "Database Login Password" +msgstr "HasÅ‚o logowania do bazy danych" + +#: ../../Zotlabs/Module/Setup.php:293 +msgid "Database Name" +msgstr "Nazwa bazy danych" + +#: ../../Zotlabs/Module/Setup.php:294 +msgid "Database Type" +msgstr "Typ bazy danych" + +#: ../../Zotlabs/Module/Setup.php:296 ../../Zotlabs/Module/Setup.php:336 +msgid "Site administrator email address" +msgstr "Adres e-mail administratora serwisu" + +#: ../../Zotlabs/Module/Setup.php:296 ../../Zotlabs/Module/Setup.php:336 +msgid "" +"Your account email address must match this in order to use the web admin " +"panel." +msgstr "" +"Adres e-mail Twojego konta bÄ™dzie musi być zgodny z tym adresem, aby móc " +"korzystać z panelu administratora sieci." + +#: ../../Zotlabs/Module/Setup.php:297 ../../Zotlabs/Module/Setup.php:338 +msgid "Website URL" +msgstr "Adres URL serwisu" + +#: ../../Zotlabs/Module/Setup.php:297 ../../Zotlabs/Module/Setup.php:338 +msgid "Please use SSL (https) URL if available." +msgstr "Użyj adresu URL z SSL (https), jeÅ›li jest dostÄ™pny." + +#: ../../Zotlabs/Module/Setup.php:298 ../../Zotlabs/Module/Setup.php:340 +msgid "Please select a default timezone for your website" +msgstr "Wybierz domyÅ›lnÄ… strefÄ™ czasowÄ… dla swojego serwisu" + +#: ../../Zotlabs/Module/Setup.php:325 +msgid "Site settings" +msgstr "Ustawienia serwisu" + +#: ../../Zotlabs/Module/Setup.php:379 +msgid "PHP version 7.1 or greater is required." +msgstr "Wymagany jest PHP w wersji 7.1 lub wyższej." + +#: ../../Zotlabs/Module/Setup.php:380 +msgid "PHP version" +msgstr "Wersja PHP" + +#: ../../Zotlabs/Module/Setup.php:396 +msgid "Could not find a command line version of PHP in the web server PATH." +msgstr "Nie można znaleźć wersji CLI PHP w zmiennej PATH serwerze WWW." + +#: ../../Zotlabs/Module/Setup.php:397 +msgid "" +"If you don't have a command line version of PHP installed on server, you " +"will not be able to run background polling via cron." +msgstr "" +"JeÅ›li nie masz wersji CLI PHP zainstalowanej na serwerze, nie bÄ™dzie można " +"uruchomić odpytywania w tle przez cron." + +#: ../../Zotlabs/Module/Setup.php:401 +msgid "PHP executable path" +msgstr "Åšcieżka do pliku wykonywalnego PHP" + +#: ../../Zotlabs/Module/Setup.php:401 +msgid "" +"Enter full path to php executable. You can leave this blank to continue the " +"installation." +msgstr "" +"Wpisz peÅ‚nÄ… Å›cieżkÄ™ do pliku wykonywalnego php. Możesz pozostawić to pole " +"puste, aby kontynuować instalacjÄ™." + +#: ../../Zotlabs/Module/Setup.php:406 +msgid "Command line PHP" +msgstr "PHP CLI" + +#: ../../Zotlabs/Module/Setup.php:416 +msgid "" +"Unable to check command line PHP, as shell_exec() is disabled. This is " +"required." +msgstr "" +"Nie można sprawdzić PHP CLI, ponieważ funkcja shell_exec() jest wyłączona. " +"To jest wymagane." + +#: ../../Zotlabs/Module/Setup.php:420 +msgid "" +"The command line version of PHP on your system does not have " +"\"register_argc_argv\" enabled." +msgstr "PHP CLI w Twoim systemie nie ma włączonego \"register_argc_argv\"." + +#: ../../Zotlabs/Module/Setup.php:421 +msgid "This is required for message delivery to work." +msgstr "Jest to konieczne,, aby dostarczanie wiadomoÅ›ci dziaÅ‚aÅ‚o." + +#: ../../Zotlabs/Module/Setup.php:424 +msgid "PHP register_argc_argv" +msgstr "PHP register_argc_argv" + +#: ../../Zotlabs/Module/Setup.php:444 +msgid "" +"This is not sufficient to upload larger images or files. You should be able " +"to upload at least 4 MB at once." +msgstr "" +"To nie wystarczy, aby przesÅ‚ać wiÄ™ksze obrazy lub pliki. PowinieneÅ› móc " +"przesÅ‚ać co najmniej 4 MB na raz." + +#: ../../Zotlabs/Module/Setup.php:446 +#, php-format +msgid "" +"Your max allowed total upload size is set to %s. Maximum size of one file to " +"upload is set to %s. You are allowed to upload up to %d files at once." +msgstr "" +"Twój maksymalny dopuszczalny łączny rozmiar przesyÅ‚anych plików to %s. " +"Maksymalny rozmiar jednego pliku do przesÅ‚ania to %s. Możesz przesÅ‚ać " +"jednoczeÅ›nie do %d plików." + +#: ../../Zotlabs/Module/Setup.php:452 +msgid "You can adjust these settings in the server php.ini file." +msgstr "Możesz dostosować te ustawienia w pliku php.ini na serwerze." + +#: ../../Zotlabs/Module/Setup.php:454 +msgid "PHP upload limits" +msgstr "Limity wysyÅ‚ania PHP" + +#: ../../Zotlabs/Module/Setup.php:477 +msgid "" +"Error: the \"openssl_pkey_new\" function on this system is not able to " +"generate encryption keys" +msgstr "" +"Błąd: funkcja \"openssl_pkey_new\" w tym systemie nie jest w stanie " +"wygenerować kluczy szyfrujÄ…cych" + +#: ../../Zotlabs/Module/Setup.php:478 +msgid "" +"If running under Windows, please see \"http://www.php.net/manual/en/openssl." +"installation.php\"." +msgstr "" +"JeÅ›li pracujesz w systemie Windows, przeczytaj \"http://www.php.net/manual/" +"en/openssl.installation.php\"." + +#: ../../Zotlabs/Module/Setup.php:481 +msgid "Generate encryption keys" +msgstr "Wygeneruj klucze szyfrowania" + +#: ../../Zotlabs/Module/Setup.php:498 +msgid "libCurl PHP module" +msgstr "moduÅ‚ PHP libCurl" + +#: ../../Zotlabs/Module/Setup.php:499 +msgid "GD graphics PHP module" +msgstr "ModuÅ‚ PHP GD graphics" + +#: ../../Zotlabs/Module/Setup.php:500 +msgid "OpenSSL PHP module" +msgstr "ModuÅ‚ PHP OpenSSL" + +#: ../../Zotlabs/Module/Setup.php:501 +msgid "PDO database PHP module" +msgstr "ModuÅ‚ PHP PDO" + +#: ../../Zotlabs/Module/Setup.php:502 +msgid "mb_string PHP module" +msgstr "moduÅ‚ PHP mb_string PHP" + +#: ../../Zotlabs/Module/Setup.php:503 +msgid "xml PHP module" +msgstr "moduÅ‚ PHP xml" + +#: ../../Zotlabs/Module/Setup.php:504 +msgid "zip PHP module" +msgstr "moduÅ‚ PHP zip" + +#: ../../Zotlabs/Module/Setup.php:508 ../../Zotlabs/Module/Setup.php:510 +msgid "Apache mod_rewrite module" +msgstr "ModuÅ‚ Apache mod_rewrite" + +#: ../../Zotlabs/Module/Setup.php:508 +msgid "" +"Error: Apache webserver mod-rewrite module is required but not installed." +msgstr "" +"Błąd: wymagany jest moduÅ‚ mod-rewrite serwera Apache, ale nie jest " +"zainstalowany." + +#: ../../Zotlabs/Module/Setup.php:514 ../../Zotlabs/Module/Setup.php:517 +msgid "exec" +msgstr "exec" + +#: ../../Zotlabs/Module/Setup.php:514 +msgid "" +"Error: exec is required but is either not installed or has been disabled in " +"php.ini" +msgstr "" +"Błąd: wymagany jest program exec ale nie jest on zainstalowany lub zostaÅ‚ " +"wyłączony w php.ini" + +#: ../../Zotlabs/Module/Setup.php:520 ../../Zotlabs/Module/Setup.php:523 +msgid "shell_exec" +msgstr "shell_exec" + +#: ../../Zotlabs/Module/Setup.php:520 +msgid "" +"Error: shell_exec is required but is either not installed or has been " +"disabled in php.ini" +msgstr "" +"Błąd: wymagany jest shell_exec, ale nie jest zainstalowany lub zostaÅ‚ " +"wyłączony w php.ini" + +#: ../../Zotlabs/Module/Setup.php:528 +msgid "Error: libCURL PHP module required but not installed." +msgstr "Błąd: wymagany jest moduÅ‚ PHP libCURL, ale nie jest zainstalowany." + +#: ../../Zotlabs/Module/Setup.php:532 +msgid "" +"Error: GD PHP module with JPEG support or ImageMagick graphics library " +"required but not installed." +msgstr "" +"Błąd: wymagany jest moduÅ‚ PHP GD z obsÅ‚ugÄ… formatu JPEG lub bibliotekÄ… " +"graficznÄ… ImageMagick, ale nie jest on zainstalowany." + +#: ../../Zotlabs/Module/Setup.php:536 +msgid "Error: openssl PHP module required but not installed." +msgstr "Błąd: wymagany jest moduÅ‚ PHP openssl, ale niezainstalowany." + +#: ../../Zotlabs/Module/Setup.php:542 +msgid "" +"Error: PDO database PHP module missing a driver for either mysql or pgsql." +msgstr "Błąd: w module PHP PDO brakuje sterownika dla mysql lub pgsql." + +#: ../../Zotlabs/Module/Setup.php:547 +msgid "Error: PDO database PHP module required but not installed." +msgstr "Błąd: wymagany jest moduÅ‚ PHP PDO, ale nie jest zainstalowany." + +#: ../../Zotlabs/Module/Setup.php:551 +msgid "Error: mb_string PHP module required but not installed." +msgstr "Błąd: wymagany, ale niezainstalowany moduÅ‚ mb_string PHP." + +#: ../../Zotlabs/Module/Setup.php:555 +msgid "Error: xml PHP module required for DAV but not installed." +msgstr "Błąd: moduÅ‚ XML PHP wymagany dla DAV, ale nie jest zainstalowany." + +#: ../../Zotlabs/Module/Setup.php:559 +msgid "Error: zip PHP module required but not installed." +msgstr "Błąd: wymagany jest moduÅ‚ PHP zip, ale nie jest on zainstalowany." + +#: ../../Zotlabs/Module/Setup.php:578 ../../Zotlabs/Module/Setup.php:587 +msgid ".htconfig.php is writable" +msgstr ".htconfig.php jest możliwy do zapisu" + +#: ../../Zotlabs/Module/Setup.php:583 +msgid "" +"The web installer needs to be able to create a file called \".htconfig.php\" " +"in the top folder of your web server and it is unable to do so." +msgstr "" +"Instalator internetowy musi mieć możliwość utworzenia pliku o nazwie \"." +"htconfig.php\" w głównym folderze serwera WWW a nie może tego zrobić." + +#: ../../Zotlabs/Module/Setup.php:584 +msgid "" +"This is most often a permission setting, as the web server may not be able " +"to write files in your folder - even if you can." +msgstr "" +"Najczęściej jest to ustawienie uprawnieÅ„, ponieważ serwer WWW może nie być w " +"stanie zapisywać plików w Twoim folderze - nawet jeÅ›li możesz." + +#: ../../Zotlabs/Module/Setup.php:585 +msgid "Please see install/INSTALL.txt for additional information." +msgstr "Dodatkowe informacje można znaleźć w pliku install/INSTALL.txt." + +#: ../../Zotlabs/Module/Setup.php:601 +msgid "" +"This software uses the Smarty3 template engine to render its web views. " +"Smarty3 compiles templates to PHP to speed up rendering." +msgstr "" +"To oprogramowanie wykorzystuje silnik szablonów Smarty3 do renderowania " +"widoków internetowych. Smarty3 kompiluje szablony do PHP, aby przyspieszyć " +"renderowanie." + +#: ../../Zotlabs/Module/Setup.php:602 +#, php-format +msgid "" +"In order to store these compiled templates, the web server needs to have " +"write access to the directory %s under the top level web folder." +msgstr "" +"Aby przechowywać te skompilowane szablony, serwer sieciowy musi mieć dostÄ™p " +"do zapisu w katalogu %s zlokalizowanym w folderze głównym serwera WWW." + +#: ../../Zotlabs/Module/Setup.php:603 ../../Zotlabs/Module/Setup.php:624 +msgid "" +"Please ensure that the user that your web server runs as (e.g. www-data) has " +"write access to this folder." +msgstr "" +"Upewnij siÄ™, że wÅ‚aÅ›ciciel procesu serwer WWW (np. www-data), ma prawo do " +"zapisu w tym folderze." + +#: ../../Zotlabs/Module/Setup.php:604 +#, php-format +msgid "" +"Note: as a security measure, you should give the web server write access to " +"%s only--not the template files (.tpl) that it contains." +msgstr "" +"Uwaga: ze wzglÄ™dów bezpieczeÅ„stwa powinno siÄ™ dać serwerowi WWW prawo zapisu " +"tylko do %s - nie do plików szablonów (.tpl), które on zawiera." + +#: ../../Zotlabs/Module/Setup.php:607 +#, php-format +msgid "%s is writable" +msgstr "%s jest możliwy do zapisu" + +#: ../../Zotlabs/Module/Setup.php:623 +msgid "" +"This software uses the store directory to save uploaded files. The web " +"server needs to have write access to the store directory under the top level " +"web folder" +msgstr "" +"To oprogramowanie używa katalogu <i>store</i> do zapisywania przesyÅ‚anych " +"plików. Serwer WWW musi mieć dostÄ™p do zapisu w katalogu <i>store</i>, " +"znajdujÄ…cego siÄ™ w folderze serwera WWW najwyższego poziomu" + +#: ../../Zotlabs/Module/Setup.php:627 +msgid "store is writable" +msgstr "katalog store jest możliwy do zapisu" + +#: ../../Zotlabs/Module/Setup.php:659 +msgid "" +"SSL certificate cannot be validated. Fix certificate or disable https access " +"to this site." +msgstr "" +"Nie można zweryfikować certyfikatu SSL. Napraw certyfikat lub wyłącz dostÄ™p " +"https do tej witryny." + +#: ../../Zotlabs/Module/Setup.php:660 +msgid "" +"If you have https access to your website or allow connections to TCP port " +"443 (the https: port), you MUST use a browser-valid certificate. You MUST " +"NOT use self-signed certificates!" +msgstr "" +"JeÅ›li masz dostÄ™p https do swojego serwisu internetowego lub zezwalasz na " +"połączenia z portem TCP 443 (port https:), MUSISZ użyć certyfikatu " +"akceptowanego przez przeglÄ…darki. NIE WOLNO używać certyfikatów z podpisem " +"wÅ‚asnym!" + +#: ../../Zotlabs/Module/Setup.php:661 +msgid "" +"This restriction is incorporated because public posts from you may for " +"example contain references to images on your own hub." +msgstr "" +"To ograniczenie zostaÅ‚o wprowadzone, ponieważ Twoje publiczne posty mogÄ… na " +"przykÅ‚ad zawierać odniesienia do obrazów na Twoim hubie." + +#: ../../Zotlabs/Module/Setup.php:662 +msgid "" +"If your certificate is not recognized, members of other sites (who may " +"themselves have valid certificates) will get a warning message on their own " +"site complaining about security issues." +msgstr "" +"JeÅ›li Twój certyfikat nie zostanie rozpoznany, czÅ‚onkowie innych witryn " +"(którzy sami mogÄ… mieć ważne certyfikaty) otrzymajÄ… komunikat ostrzegawczy " +"we wÅ‚asnej witrynie, ostrzegajÄ…cy o problemie z bezpieczeÅ„stwem." + +#: ../../Zotlabs/Module/Setup.php:663 +msgid "" +"This can cause usability issues elsewhere (not just on your own site) so we " +"must insist on this requirement." +msgstr "" +"Może to powodować problemy z użytecznoÅ›ciÄ… w innym serwisie (nie tylko na " +"Twoim), wiÄ™c musimy nalegać na to wymaganie." + +#: ../../Zotlabs/Module/Setup.php:664 +msgid "" +"Providers are available that issue free certificates which are browser-valid." +msgstr "" +"SÄ… dostÄ™pni dostawcy, którzy wydajÄ… bezpÅ‚atne certyfikaty akceptowane przez " +"przeglÄ…darki." + +#: ../../Zotlabs/Module/Setup.php:665 +msgid "" +"If you are confident that the certificate is valid and signed by a trusted " +"authority, check to see if you have failed to install an intermediate cert. " +"These are not normally required by browsers, but are required for server-to-" +"server communications." +msgstr "" +"JeÅ›li masz pewność, że certyfikat jest ważny i podpisany przez zaufany " +"urzÄ…d, sprawdź, czy nie udaÅ‚o siÄ™ zainstalować certyfikatu poÅ›redniego. " +"Zwykle nie sÄ… one wymagane przez przeglÄ…darki, ale sÄ… wymagane do " +"komunikacji miÄ™dzy serwerami." + +#: ../../Zotlabs/Module/Setup.php:667 +msgid "SSL certificate validation" +msgstr "Walidacja certyfikatu SSL" + +#: ../../Zotlabs/Module/Setup.php:673 +msgid "" +"Url rewrite in .htaccess is not working. Check your server configuration." +"Test: " +msgstr "" +"Przepisywanie adresu URL w .htaccess nie dziaÅ‚a. Sprawdź konfiguracjÄ™ " +"serwera. Test: " + +#: ../../Zotlabs/Module/Setup.php:676 +msgid "Url rewrite is working" +msgstr "Przepisywanie adresu URL dziaÅ‚a" + +#: ../../Zotlabs/Module/Setup.php:689 +msgid "" +"The database configuration file \".htconfig.php\" could not be written. " +"Please use the enclosed text to create a configuration file in your web " +"server root." +msgstr "" +"Nie można zapisać pliku konfiguracyjnego bazy danych \".htconfig.php\". Użyj " +"załączonego tekstu, aby utworzyć plik konfiguracyjny w katalogu głównym " +"serwera WWW." + +#: ../../Zotlabs/Module/Setup.php:718 +#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:401 +msgid "Errors encountered creating database tables." +msgstr "Napotkano błędy podczas tworzenia tabel bazy danych." + +#: ../../Zotlabs/Module/Setup.php:764 +msgid "<h1>What next?</h1>" +msgstr "<h1>Co nastÄ™pnie?</h1>" + +#: ../../Zotlabs/Module/Setup.php:765 +msgid "" +"IMPORTANT: You will need to [manually] setup a scheduled task for the poller." +msgstr "" +"WAÅ»NE: BÄ™dziesz musiaÅ‚ [rÄ™cznie] ustawić zaplanowane zadanie dla ankietera." + +#: ../../Zotlabs/Module/Directory.php:122 +msgid "No default suggestions were found." +msgstr "Nie znaleziono domyÅ›lnych prpozycji." + +#: ../../Zotlabs/Module/Directory.php:282 +#, php-format +msgid "%d rating" +msgid_plural "%d ratings" +msgstr[0] "%d ocen" +msgstr[1] "%d oceny" +msgstr[2] "%d ocen" + +#: ../../Zotlabs/Module/Directory.php:293 +msgid "Gender: " +msgstr "PÅ‚eć: " + +#: ../../Zotlabs/Module/Directory.php:295 +msgid "Status: " +msgstr "Status: " + +#: ../../Zotlabs/Module/Directory.php:297 +msgid "Homepage: " +msgstr "Strona główna: " + +#: ../../Zotlabs/Module/Directory.php:349 ../../include/channel.php:1806 +msgid "Age:" +msgstr "Wiek:" + +#: ../../Zotlabs/Module/Directory.php:354 ../../include/channel.php:1633 +#: ../../include/event.php:63 ../../include/event.php:134 +msgid "Location:" +msgstr "Lokalizacja:" + +#: ../../Zotlabs/Module/Directory.php:360 +msgid "Description:" +msgstr "Opis:" + +#: ../../Zotlabs/Module/Directory.php:367 ../../include/channel.php:1835 +msgid "Hometown:" +msgstr "Miasto pobytu:" + +#: ../../Zotlabs/Module/Directory.php:369 ../../include/channel.php:1841 +msgid "About:" +msgstr "O mnie:" + +#: ../../Zotlabs/Module/Directory.php:371 +msgid "Public Forum:" +msgstr "Forum publiczne:" + +#: ../../Zotlabs/Module/Directory.php:374 +msgid "Keywords: " +msgstr "SÅ‚owa kluczowe: " + +#: ../../Zotlabs/Module/Directory.php:377 +msgid "Don't suggest" +msgstr "Nie sugeruj" + +#: ../../Zotlabs/Module/Directory.php:379 +msgid "Common connections (estimated):" +msgstr "Popularne połączenia (oszacowanie):" + +#: ../../Zotlabs/Module/Directory.php:428 +msgid "Global Directory" +msgstr "Katalog globalny" + +#: ../../Zotlabs/Module/Directory.php:428 +msgid "Local Directory" +msgstr "Katalog lokalny" + +#: ../../Zotlabs/Module/Directory.php:434 +msgid "Finding:" +msgstr "Odnaleziono:" + +#: ../../Zotlabs/Module/Directory.php:439 +msgid "next page" +msgstr "nastÄ™pna strona" + +#: ../../Zotlabs/Module/Directory.php:439 +msgid "previous page" +msgstr "poprzednia strona" + +#: ../../Zotlabs/Module/Directory.php:440 +msgid "Sort options" +msgstr "Opcje sortowania" + +#: ../../Zotlabs/Module/Directory.php:441 +msgid "Alphabetic" +msgstr "Alfabetycznie" + +#: ../../Zotlabs/Module/Directory.php:442 +msgid "Reverse Alphabetic" +msgstr "Odwróć alfabetycznie" + +#: ../../Zotlabs/Module/Directory.php:443 +msgid "Newest to Oldest" +msgstr "Od najnowszych do najstarszych" + +#: ../../Zotlabs/Module/Directory.php:444 +msgid "Oldest to Newest" +msgstr "Od najstarszych do najnowszych" + +#: ../../Zotlabs/Module/Directory.php:461 +msgid "No entries (some entries may be hidden)." +msgstr "Brak postów (niektóre posty mogÄ… być ukryte)." + +#: ../../Zotlabs/Module/Mitem.php:31 ../../Zotlabs/Module/Menu.php:209 +msgid "Menu not found." +msgstr "Nie znaleziono menu." + +#: ../../Zotlabs/Module/Mitem.php:63 +msgid "Unable to create element." +msgstr "Nie można utworzyć elementu." + +#: ../../Zotlabs/Module/Mitem.php:87 +msgid "Unable to update menu element." +msgstr "Nie można zaktualizować elementu menu." + +#: ../../Zotlabs/Module/Mitem.php:103 +msgid "Unable to add menu element." +msgstr "Nie można dodać elementu menu." + +#: ../../Zotlabs/Module/Mitem.php:167 ../../Zotlabs/Module/Mitem.php:246 +msgid "Menu Item Permissions" +msgstr "Uprawnienia do pozycji menu" + +#: ../../Zotlabs/Module/Mitem.php:168 ../../Zotlabs/Module/Mitem.php:247 +#: ../../Zotlabs/Module/Settings/Channel.php:528 +msgid "(click to open/close)" +msgstr "(kliknij, aby otworzyć/zamknąć)" + +#: ../../Zotlabs/Module/Mitem.php:174 ../../Zotlabs/Module/Mitem.php:191 +msgid "Link Name" +msgstr "Nazwa linku" + +#: ../../Zotlabs/Module/Mitem.php:175 ../../Zotlabs/Module/Mitem.php:255 +msgid "Link or Submenu Target" +msgstr "Link lub element docelowy podmenu" + +#: ../../Zotlabs/Module/Mitem.php:175 +msgid "Enter URL of the link or select a menu name to create a submenu" +msgstr "Wprowadź adres URL linku lub wybierz nazwÄ™ menu, aby utworzyć podmenu" + +#: ../../Zotlabs/Module/Mitem.php:176 ../../Zotlabs/Module/Mitem.php:256 +msgid "Use magic-auth if available" +msgstr "Użyj magicznego uwierzytelniania, jeÅ›li jest dostÄ™pne" + +#: ../../Zotlabs/Module/Mitem.php:177 ../../Zotlabs/Module/Mitem.php:257 +msgid "Open link in new window" +msgstr "Otwórz link w nowym oknie" + +#: ../../Zotlabs/Module/Mitem.php:178 ../../Zotlabs/Module/Mitem.php:258 +msgid "Order in list" +msgstr "PorzÄ…dek listy" + +#: ../../Zotlabs/Module/Mitem.php:178 ../../Zotlabs/Module/Mitem.php:258 +msgid "Higher numbers will sink to bottom of listing" +msgstr "Wyższe liczby spadnÄ… na koniec listy" + +#: ../../Zotlabs/Module/Mitem.php:179 +msgid "Submit and finish" +msgstr "PrzeÅ›lij i zakoÅ„cz" + +#: ../../Zotlabs/Module/Mitem.php:180 +msgid "Submit and continue" +msgstr "PrzeÅ›lij i kontynuuj" + +#: ../../Zotlabs/Module/Mitem.php:189 +msgid "Menu:" +msgstr "Menu:" + +#: ../../Zotlabs/Module/Mitem.php:192 +msgid "Link Target" +msgstr "Cel linku" + +#: ../../Zotlabs/Module/Mitem.php:195 +msgid "Edit menu" +msgstr "Edytuj menu" + +#: ../../Zotlabs/Module/Mitem.php:198 +msgid "Edit element" +msgstr "Edytuj element" + +#: ../../Zotlabs/Module/Mitem.php:199 +msgid "Drop element" +msgstr "Upuść element" + +#: ../../Zotlabs/Module/Mitem.php:200 +msgid "New element" +msgstr "Nowy element" + +#: ../../Zotlabs/Module/Mitem.php:201 +msgid "Edit this menu container" +msgstr "Edytuj ten kontener menu" + +#: ../../Zotlabs/Module/Mitem.php:202 +msgid "Add menu element" +msgstr "Dodaj element menu" + +#: ../../Zotlabs/Module/Mitem.php:203 +msgid "Delete this menu item" +msgstr "UsuÅ„ tÄ™ pozycjÄ™ menu" + +#: ../../Zotlabs/Module/Mitem.php:204 +msgid "Edit this menu item" +msgstr "Edytuj tÄ™ pozycjÄ™ menu" + +#: ../../Zotlabs/Module/Mitem.php:222 +msgid "Menu item not found." +msgstr "Nie znaleziono elementu menu." + +#: ../../Zotlabs/Module/Mitem.php:235 +msgid "Menu item deleted." +msgstr "Usunieto element menu." + +#: ../../Zotlabs/Module/Mitem.php:237 +msgid "Menu item could not be deleted." +msgstr "Nie można usunąć elementu menu." + +#: ../../Zotlabs/Module/Mitem.php:244 +msgid "Edit Menu Element" +msgstr "Edytuj element menu" + +#: ../../Zotlabs/Module/Mitem.php:254 +msgid "Link text" +msgstr "Tekst linku" + +#: ../../Zotlabs/Module/Mood.php:76 ../../include/conversation.php:286 +#, php-format +msgctxt "mood" +msgid "%1$s is %2$s" +msgstr "%1$s jest %2$s" + +#: ../../Zotlabs/Module/Mood.php:134 +msgid "Mood App" +msgstr "Aplikacja Mood" + +#: ../../Zotlabs/Module/Mood.php:135 ../../Zotlabs/Module/Mood.php:155 +msgid "Set your current mood and tell your friends" +msgstr "Ustaw swój aktualny nastrój i podziel siÄ™ tym ze znajomymi" + +#: ../../Zotlabs/Module/Mood.php:154 ../../Zotlabs/Lib/Apps.php:350 +msgid "Mood" +msgstr "Mood" + +#: ../../Zotlabs/Module/Permcats.php:29 +msgid "Permission category name is required." +msgstr "Wymaga siÄ™ podania nazwy kategorii uprawnieÅ„." + +#: ../../Zotlabs/Module/Permcats.php:48 +msgid "Permission category saved." +msgstr "Kategoria uprawnieÅ„ zostaÅ‚a zapisana." + +#: ../../Zotlabs/Module/Permcats.php:63 +msgid "Permission Categories App" +msgstr "Aplikacja Permission Categories" + +#: ../../Zotlabs/Module/Permcats.php:64 +msgid "Create custom connection permission limits" +msgstr "Utwórz wÅ‚asne limity uprawnieÅ„ do połączeÅ„" + +#: ../../Zotlabs/Module/Permcats.php:80 +msgid "" +"Use this form to create permission rules for various classes of people or " +"connections." +msgstr "" +"Użyj tego formularza, aby utworzyć reguÅ‚y uprawnieÅ„ dla różnych klas osób " +"lub połączeÅ„." + +#: ../../Zotlabs/Module/Permcats.php:113 ../../Zotlabs/Lib/Apps.php:374 +msgid "Permission Categories" +msgstr "Kategorie uprawnieÅ„" + +#: ../../Zotlabs/Module/Permcats.php:121 +msgid "Permission category name" +msgstr "Nazwa kategorii uprawnieÅ„" + +#: ../../Zotlabs/Module/Ratings.php:70 +msgid "No ratings" +msgstr "Brak ocen" + +#: ../../Zotlabs/Module/Ratings.php:98 +msgid "Rating: " +msgstr "Ocena: " + +#: ../../Zotlabs/Module/Ratings.php:99 +msgid "Website: " +msgstr "Serwis: " + +#: ../../Zotlabs/Module/Ratings.php:101 +msgid "Description: " +msgstr "Opis: " + +#: ../../Zotlabs/Module/Register.php:52 +msgid "Maximum daily site registrations exceeded. Please try again tomorrow." +msgstr "" +"Przekroczono maksymalnÄ… dziennÄ… liczbÄ™ rejestracji witryn. ProszÄ™ spróbuj " +"ponownie jutro." + +#: ../../Zotlabs/Module/Register.php:58 +msgid "" +"Please indicate acceptance of the Terms of Service. Registration failed." +msgstr "" +"ProszÄ™ zaznaczyć <strong>akceptacjÄ™ Warunków korzystania z usÅ‚ugi</strong>. " +"Rejestracja nieudana." + +#: ../../Zotlabs/Module/Register.php:92 +msgid "Passwords do not match." +msgstr "HasÅ‚a niezgodne." + +#: ../../Zotlabs/Module/Register.php:135 +msgid "Registration successful. Continue to create your first channel..." +msgstr "" +"Rejestracja pomyÅ›lna. Kontynuuj tworzenie swojego pierwszego kanaÅ‚u ..." + +#: ../../Zotlabs/Module/Register.php:138 +msgid "" +"Registration successful. Please check your email for validation instructions." +msgstr "" +"Rejestracja oomyÅ›lna. Sprawdź pocztÄ™ e-mail, aby uzyskać instrukcje " +"dotyczÄ…ce weryfikacji." + +#: ../../Zotlabs/Module/Register.php:145 +msgid "Your registration is pending approval by the site owner." +msgstr "Twoja rejestracja oczekuje na zatwierdzenie przez wÅ‚aÅ›ciciela serwisu." + +#: ../../Zotlabs/Module/Register.php:148 +msgid "Your registration can not be processed." +msgstr "Twoja rejestracja oczekuje na zatwierdzenie przez wÅ‚aÅ›ciciela witryny." + +#: ../../Zotlabs/Module/Register.php:195 +msgid "Registration on this hub is disabled." +msgstr "Rejestracja na tym hubie jest wyłączona." + +#: ../../Zotlabs/Module/Register.php:204 +msgid "Registration on this hub is by approval only." +msgstr "Rejestracja na tym hubie wymaga zatwierdzenia." + +#: ../../Zotlabs/Module/Register.php:205 ../../Zotlabs/Module/Register.php:214 +msgid "<a href=\"pubsites\">Register at another affiliated hub.</a>" +msgstr "" +"<a href=\"pubsites\">Zarejestruj siÄ™ na innym stowarzyszonym hubie. </a>" + +#: ../../Zotlabs/Module/Register.php:213 +msgid "Registration on this hub is by invitation only." +msgstr "Rejestracja na tym hubie wumaga uprzedniego zaproszenia." + +#: ../../Zotlabs/Module/Register.php:224 +msgid "" +"This site has exceeded the number of allowed daily account registrations. " +"Please try again tomorrow." +msgstr "" +"Na tym serwisie przekroczono dozwolonÄ… liczbÄ™ dziennych rejestracji kont. " +"ProszÄ™ spróbuj ponownie jutro." + +#: ../../Zotlabs/Module/Register.php:239 ../../Zotlabs/Module/Siteinfo.php:28 +msgid "Terms of Service" +msgstr "Regulamin" + +#: ../../Zotlabs/Module/Register.php:245 +#, php-format +msgid "I accept the %s for this website" +msgstr "AkceptujÄ™ % s dla tego serwisu" + +#: ../../Zotlabs/Module/Register.php:252 +#, php-format +msgid "I am over %s years of age and accept the %s for this website" +msgstr "Mam ponad % s lat i akceptujÄ™ % s dla tego serwisu" + +#: ../../Zotlabs/Module/Register.php:257 +msgid "Your email address" +msgstr "Twój adres e-mail" + +#: ../../Zotlabs/Module/Register.php:258 +msgid "Choose a password" +msgstr "Wybierz hasÅ‚o" + +#: ../../Zotlabs/Module/Register.php:259 +msgid "Please re-enter your password" +msgstr "Wprowadź ponownie swoje hasÅ‚o" + +#: ../../Zotlabs/Module/Register.php:260 +msgid "Please enter your invitation code" +msgstr "Wprowadź kod zaproszenia" + +#: ../../Zotlabs/Module/Register.php:261 +msgid "Your Name" +msgstr "Twoja nazwa" + +#: ../../Zotlabs/Module/Register.php:261 +msgid "Real names are preferred." +msgstr "Preferowane sÄ… prawdziwe imiona." + +#: ../../Zotlabs/Module/Register.php:263 +#, php-format +msgid "" +"Your nickname will be used to create an easy to remember channel address e." +"g. nickname%s" +msgstr "" +"Twój pseudonim posÅ‚uży do stworzenia Å‚atwego do zapamiÄ™tania adresu kanaÅ‚u, " +"np. pseudonim%s" + +#: ../../Zotlabs/Module/Register.php:264 +msgid "" +"Select a channel permission role for your usage needs and privacy " +"requirements." +msgstr "" +"Wybierz rolÄ™ uprawnieÅ„ do kanaÅ‚u zgodnie z potrzebami użytkowania i " +"wymaganiami dotyczÄ…cymi prywatnoÅ›ci." + +#: ../../Zotlabs/Module/Register.php:265 +msgid "no" +msgstr "nie" + +#: ../../Zotlabs/Module/Register.php:265 +msgid "yes" +msgstr "tak" + +#: ../../Zotlabs/Module/Register.php:293 ../../include/nav.php:162 +#: ../../boot.php:1685 +msgid "Register" +msgstr "Zarejestruj siÄ™" + +#: ../../Zotlabs/Module/Register.php:294 +msgid "" +"This site requires email verification. After completing this form, please " +"check your email for further instructions." +msgstr "" +"Ta witryna wymaga weryfikacjÄ™ adresu e-mail. Po wypeÅ‚nieniu tego formularza " +"sprawdź swojÄ… pocztÄ™ e-mail, aby uzyskać dalsze instrukcje." + +#: ../../Zotlabs/Module/Acl.php:123 ../../Zotlabs/Module/Lockview.php:117 +#: ../../Zotlabs/Module/Lockview.php:153 +msgctxt "acl" +msgid "Profile" +msgstr "Profil" + +#: ../../Zotlabs/Module/Acl.php:370 +msgid "network" +msgstr "sieć" + +#: ../../Zotlabs/Module/Settings/Featured.php:25 +msgid "No feature settings configured" +msgstr "Brak skonfigurowanych ustawieÅ„ funkcji" + +#: ../../Zotlabs/Module/Settings/Featured.php:34 +msgid "Addon Settings" +msgstr "Ustawienia dodatków" + +#: ../../Zotlabs/Module/Settings/Featured.php:35 +msgid "Please save/submit changes to any panel before opening another." +msgstr "Zapisz/przeÅ›lij zmiany do dowolnego panelu przed otwarciem kolejnego." + +#: ../../Zotlabs/Module/Settings/Account.php:19 +msgid "Not valid email." +msgstr "NieprawidÅ‚owy adres e-mail." + +#: ../../Zotlabs/Module/Settings/Account.php:22 +msgid "Protected email address. Cannot change to that email." +msgstr "Chroniony adres e-mail. Nie można zmienić tego adresu e-mail." + +#: ../../Zotlabs/Module/Settings/Account.php:31 +msgid "System failure storing new email. Please try again." +msgstr "" +"Błąd systemu podczas zapisywania nowej wiadomoÅ›ci e-mail. ProszÄ™ spróbuj " +"ponownie." + +#: ../../Zotlabs/Module/Settings/Account.php:48 +msgid "Password verification failed." +msgstr "Weryfikacja hasÅ‚a nie powiodÅ‚a siÄ™." + +#: ../../Zotlabs/Module/Settings/Account.php:55 +msgid "Passwords do not match. Password unchanged." +msgstr "HasÅ‚a nie pasujÄ… do siebie. Nie zmieniono hasÅ‚a." + +#: ../../Zotlabs/Module/Settings/Account.php:59 +msgid "Empty passwords are not allowed. Password unchanged." +msgstr "Puste hasÅ‚a sÄ… niedozwolone. Nie zmieniono hasÅ‚a." + +#: ../../Zotlabs/Module/Settings/Account.php:73 +msgid "Password changed." +msgstr "HasÅ‚o zostaÅ‚o zmienione." + +#: ../../Zotlabs/Module/Settings/Account.php:75 +msgid "Password update failed. Please try again." +msgstr "Aktualizacja hasÅ‚a nie powiodÅ‚a siÄ™. ProszÄ™ spróbuj ponownie." + +#: ../../Zotlabs/Module/Settings/Account.php:99 +msgid "Account Settings" +msgstr "Ustawienia konta" + +#: ../../Zotlabs/Module/Settings/Account.php:100 +msgid "Current Password" +msgstr "Bieżące hasÅ‚o" + +#: ../../Zotlabs/Module/Settings/Account.php:101 +msgid "Enter New Password" +msgstr "Wprowadź nowe hasÅ‚o" + +#: ../../Zotlabs/Module/Settings/Account.php:102 +msgid "Confirm New Password" +msgstr "Potwierdź nowe hasÅ‚o" + +#: ../../Zotlabs/Module/Settings/Account.php:102 +msgid "Leave password fields blank unless changing" +msgstr "Pozostaw pola hasÅ‚a puste, chyba że je zmieniasz" + +#: ../../Zotlabs/Module/Settings/Account.php:104 +#: ../../Zotlabs/Module/Settings/Channel.php:502 +msgid "Email Address:" +msgstr "Adres e-mail:" + +#: ../../Zotlabs/Module/Settings/Account.php:106 +msgid "Remove this account including all its channels" +msgstr "UsuÅ„ to konto wraz ze wszystkimi jego kanaÅ‚ami" + +#: ../../Zotlabs/Module/Settings/Events.php:40 +msgid "Events Settings" +msgstr "Ustawienia wydarzeÅ„" + +#: ../../Zotlabs/Module/Settings/Profiles.php:49 +msgid "Profiles Settings" +msgstr "Ustawienia profili" + +#: ../../Zotlabs/Module/Settings/Editor.php:40 +msgid "Editor Settings" +msgstr "Editor Settings" + +#: ../../Zotlabs/Module/Settings/Features.php:45 +msgid "Additional Features" +msgstr "Dodatkowe funkcjonalnoÅ›ci" + +#: ../../Zotlabs/Module/Settings/Manage.php:41 +msgid "Channel Manager Settings" +msgstr "Ustawienia menadżera kanałów" + +#: ../../Zotlabs/Module/Settings/Display.php:127 +#, php-format +msgid "%s - (Experimental)" +msgstr "%s - (eksperymentalne)" + +#: ../../Zotlabs/Module/Settings/Display.php:183 +msgid "Display Settings" +msgstr "Ustawienia wyÅ›wietlania" + +#: ../../Zotlabs/Module/Settings/Display.php:184 +msgid "Theme Settings" +msgstr "Ustawienia motywu" + +#: ../../Zotlabs/Module/Settings/Display.php:185 +msgid "Custom Theme Settings" +msgstr "Ustawienia wÅ‚asnego motywu" + +#: ../../Zotlabs/Module/Settings/Display.php:186 +msgid "Content Settings" +msgstr "Ustawienia treÅ›ci" + +#: ../../Zotlabs/Module/Settings/Display.php:192 +msgid "Display Theme:" +msgstr "WyÅ›wietl motyw:" + +#: ../../Zotlabs/Module/Settings/Display.php:193 +msgid "Select scheme" +msgstr "Wybierz schemat" + +#: ../../Zotlabs/Module/Settings/Display.php:195 +msgid "Preload images before rendering the page" +msgstr "PrzeÅ‚aduj obrazy przed renderowaniem strony" + +#: ../../Zotlabs/Module/Settings/Display.php:195 +msgid "" +"The subjective page load time will be longer but the page will be ready when " +"displayed" +msgstr "" +"Subiektywny czas Å‚adowania strony bÄ™dzie dÅ‚uższy, ale strona bÄ™dzie gotowa " +"po wyÅ›wietleniu" + +#: ../../Zotlabs/Module/Settings/Display.php:196 +msgid "Enable user zoom on mobile devices" +msgstr "Włącz zoom użytkownika na urzÄ…dzeniach mobilnych" + +#: ../../Zotlabs/Module/Settings/Display.php:197 +msgid "Update browser every xx seconds" +msgstr "Aktualizuj przeglÄ…darkÄ™ co xx sekund" + +#: ../../Zotlabs/Module/Settings/Display.php:197 +msgid "Minimum of 10 seconds, no maximum" +msgstr "Co najmniej 10 sekund, nie maksimum" + +#: ../../Zotlabs/Module/Settings/Display.php:198 +msgid "Maximum number of conversations to load at any time:" +msgstr "Maksymalna liczba rozmów do zaÅ‚adowania w dowolnym momencie:" + +#: ../../Zotlabs/Module/Settings/Display.php:198 +msgid "Maximum of 30 items" +msgstr "Maksymalnie 30 pozycji" + +#: ../../Zotlabs/Module/Settings/Display.php:199 +msgid "Show emoticons (smilies) as images" +msgstr "Pokaż emotikony (uÅ›mieszki) jako obrazy" + +#: ../../Zotlabs/Module/Settings/Display.php:200 +msgid "Provide channel menu in navigation bar" +msgstr "Podaj menu kanaÅ‚u na pasku nawigacji" + +#: ../../Zotlabs/Module/Settings/Display.php:200 +msgid "Default: channel menu located in app menu" +msgstr "DomyÅ›lnie: menu kanaÅ‚u znajduje siÄ™ w menu aplikacji" + +#: ../../Zotlabs/Module/Settings/Display.php:201 +msgid "Link post titles to source" +msgstr "Połącz tytuÅ‚y postów ze źródÅ‚em" + +#: ../../Zotlabs/Module/Settings/Display.php:203 +#: ../../Zotlabs/Widget/Newmember.php:75 +msgid "New Member Links" +msgstr "Linki dla nowych czÅ‚onków" + +#: ../../Zotlabs/Module/Settings/Display.php:203 +msgid "Display new member quick links menu" +msgstr "WyÅ›wietl menu szybkich łączy dla nowych czÅ‚onków" + +#: ../../Zotlabs/Module/Settings/Photos.php:40 +msgid "Photos Settings" +msgstr "Ustawienia zdjęć" + +#: ../../Zotlabs/Module/Settings/Channel.php:329 +msgid "Nobody except yourself" +msgstr "Nikt oprócz ciebie" + +#: ../../Zotlabs/Module/Settings/Channel.php:330 +msgid "Only those you specifically allow" +msgstr "Tylko te, na które jawnie zezwalasz" + +#: ../../Zotlabs/Module/Settings/Channel.php:331 +msgid "Approved connections" +msgstr "Zatwierdzone połączenia" + +#: ../../Zotlabs/Module/Settings/Channel.php:332 +msgid "Any connections" +msgstr "Wszelkie połączenia" + +#: ../../Zotlabs/Module/Settings/Channel.php:333 +msgid "Anybody on this website" +msgstr "Każdy w tym serwisie" + +#: ../../Zotlabs/Module/Settings/Channel.php:334 +msgid "Anybody in this network" +msgstr "Każdy w tej sieci" + +#: ../../Zotlabs/Module/Settings/Channel.php:335 +msgid "Anybody authenticated" +msgstr "Każda uwierzytelniona osoba" + +#: ../../Zotlabs/Module/Settings/Channel.php:336 +msgid "Anybody on the internet" +msgstr "Każdy w internecie" + +#: ../../Zotlabs/Module/Settings/Channel.php:411 +msgid "Publish your default profile in the network directory" +msgstr "Opublikuj swój domyÅ›lny profil w katalogu sieciowym" + +#: ../../Zotlabs/Module/Settings/Channel.php:416 +msgid "Allow us to suggest you as a potential friend to new members?" +msgstr "" +"Czy pozwalasz nam sugerować Ciebie jako potencjalnego przyjaciela nowym " +"czÅ‚onkom?" + +#: ../../Zotlabs/Module/Settings/Channel.php:420 +msgid "or" +msgstr "lub" + +#: ../../Zotlabs/Module/Settings/Channel.php:429 +msgid "Your channel address is" +msgstr "Twój adres kanaÅ‚u to" + +#: ../../Zotlabs/Module/Settings/Channel.php:432 +msgid "Your files/photos are accessible via WebDAV at" +msgstr "Twoje pliki/zdjÄ™cia sÄ… dostÄ™pne przez WebDAV pod adresem" + +#: ../../Zotlabs/Module/Settings/Channel.php:472 +msgid "Automatic membership approval" +msgstr "Automatyczne zatwierdzanie czÅ‚onkostwa" + +#: ../../Zotlabs/Module/Settings/Channel.php:493 +msgid "Channel Settings" +msgstr "Ustawienia kanaÅ‚u" + +#: ../../Zotlabs/Module/Settings/Channel.php:500 +msgid "Basic Settings" +msgstr "Podstawowe ustawienia" + +#: ../../Zotlabs/Module/Settings/Channel.php:501 ../../include/channel.php:1763 +msgid "Full Name:" +msgstr "PeÅ‚na nazwa:" + +#: ../../Zotlabs/Module/Settings/Channel.php:503 +msgid "Your Timezone:" +msgstr "Twoja strefa czasowa:" + +#: ../../Zotlabs/Module/Settings/Channel.php:504 +msgid "Default Post Location:" +msgstr "DomyÅ›lna lokalizacja postu:" + +#: ../../Zotlabs/Module/Settings/Channel.php:504 +msgid "Geographical location to display on your posts" +msgstr "Lokalizacja geograficzna do wyÅ›wietlania w Twoich postach" + +#: ../../Zotlabs/Module/Settings/Channel.php:505 +msgid "Use Browser Location:" +msgstr "Użyj lokalizacji przeglÄ…darki:" + +#: ../../Zotlabs/Module/Settings/Channel.php:507 +msgid "Adult Content" +msgstr "Treść dla dorosÅ‚ych" + +#: ../../Zotlabs/Module/Settings/Channel.php:507 +msgid "" +"This channel frequently or regularly publishes adult content. (Please tag " +"any adult material and/or nudity with #NSFW)" +msgstr "" +"Ten kanaÅ‚ czÄ™sto lub regularnie publikuje treÅ›ci dla dorosÅ‚ych. (Oznacz " +"wszelkie materiaÅ‚y dla dorosÅ‚ych albo nagość tagiem #NSFW)" + +#: ../../Zotlabs/Module/Settings/Channel.php:509 +msgid "Security and Privacy Settings" +msgstr "Ustawienia bezpieczeÅ„stwa i prywatnoÅ›ci" + +#: ../../Zotlabs/Module/Settings/Channel.php:511 +msgid "Your permissions are already configured. Click to view/adjust" +msgstr "" +"Twoje uprawnienia sÄ… już skonfigurowane. Kliknij, aby wyÅ›wietlić/dostosować" + +#: ../../Zotlabs/Module/Settings/Channel.php:513 +msgid "Hide my online presence" +msgstr "Ukryj mojÄ… obecność w Internecie" + +#: ../../Zotlabs/Module/Settings/Channel.php:513 +msgid "Prevents displaying in your profile that you are online" +msgstr "Zapobiega wyÅ›wietlaniu w Twoim profilu, że jesteÅ› online" + +#: ../../Zotlabs/Module/Settings/Channel.php:515 +msgid "Simple Privacy Settings:" +msgstr "Proste ustawienia prywatnoÅ›ci:" + +#: ../../Zotlabs/Module/Settings/Channel.php:516 +msgid "" +"Very Public - <em>extremely permissive (should be used with caution)</em>" +msgstr "" +"Bardzo publiczne - <em>wyjÄ…tkowo pobÅ‚ażliwe (należy używać ostrożnie)</em>" + +#: ../../Zotlabs/Module/Settings/Channel.php:517 +msgid "" +"Typical - <em>default public, privacy when desired (similar to social " +"network permissions but with improved privacy)</em>" +msgstr "" +"Typowe - <em>domyÅ›lne publiczne, prywatność w razie potrzeby (podobne do " +"uprawnieÅ„ w popularnych sieciach spoÅ‚ecznoÅ›ciowych, ale z podwyższonÄ… " +"prywatnoÅ›ciÄ…)</em>" + +#: ../../Zotlabs/Module/Settings/Channel.php:518 +msgid "Private - <em>default private, never open or public</em>" +msgstr "Prywatne - <em>domyÅ›lnie prywatne, nigdy otwarte ani publiczne</em>" + +#: ../../Zotlabs/Module/Settings/Channel.php:519 +msgid "Blocked - <em>default blocked to/from everybody</em>" +msgstr "Zablokowane - <em>domyÅ›lnie zablokowane dla/od wszystkich</em>" + +#: ../../Zotlabs/Module/Settings/Channel.php:521 +msgid "Allow others to tag your posts" +msgstr "Pozwól innym oznaczać Twoje posty" + +#: ../../Zotlabs/Module/Settings/Channel.php:521 +msgid "" +"Often used by the community to retro-actively flag inappropriate content" +msgstr "" +"CzÄ™sto używany przez spoÅ‚eczność do oznaczania nieodpowiednich treÅ›ci z mocÄ… " +"wstecznÄ…" + +#: ../../Zotlabs/Module/Settings/Channel.php:523 +msgid "Channel Permission Limits" +msgstr "Limity uprawnieÅ„ kanaÅ‚u" + +#: ../../Zotlabs/Module/Settings/Channel.php:525 +msgid "Expire other channel content after this many days" +msgstr "Po tej iloÅ›ci dni wygasajÄ… inne treÅ›ci w kanale" + +#: ../../Zotlabs/Module/Settings/Channel.php:525 +msgid "0 or blank to use the website limit." +msgstr "0 lub puste, aby użyć limitu serwisu." + +#: ../../Zotlabs/Module/Settings/Channel.php:525 +#, php-format +msgid "This website expires after %d days." +msgstr "Ta strona wygasa po %d dniach." + +#: ../../Zotlabs/Module/Settings/Channel.php:525 +msgid "This website does not expire imported content." +msgstr "" +"Na tym serwis internetowym importowanej zawartoÅ›ci nie jest wygaszana." + +#: ../../Zotlabs/Module/Settings/Channel.php:525 +msgid "The website limit takes precedence if lower than your limit." +msgstr "Limit serwisu ma pierwszeÅ„stwo, jeÅ›li jest niższy niż Twój limit." + +#: ../../Zotlabs/Module/Settings/Channel.php:526 +msgid "Maximum Friend Requests/Day:" +msgstr "Maksymalna liczba zaproszeÅ„ do znajomych, dziennie:" + +#: ../../Zotlabs/Module/Settings/Channel.php:526 +msgid "May reduce spam activity" +msgstr "Może zmniejszyć aktywność spamu" + +#: ../../Zotlabs/Module/Settings/Channel.php:527 +msgid "Default Privacy Group" +msgstr "DomyÅ›lna grupa prywatnoÅ›ci" + +#: ../../Zotlabs/Module/Settings/Channel.php:529 +msgid "Use my default audience setting for the type of object published" +msgstr "" +"Użyj mojego domyÅ›lnego ustawienia odbiorców dla typu publikowanego obiektu" + +#: ../../Zotlabs/Module/Settings/Channel.php:538 +msgid "Default permissions category" +msgstr "DomyÅ›lna kategoria uprawnieÅ„" + +#: ../../Zotlabs/Module/Settings/Channel.php:544 +msgid "Maximum private messages per day from unknown people:" +msgstr "Maksymalna liczba prywatnych wiadomoÅ›ci dziennie od nieznanych osób:" + +#: ../../Zotlabs/Module/Settings/Channel.php:544 +msgid "Useful to reduce spamming" +msgstr "Przydatne do ograniczenia spamowania" + +#: ../../Zotlabs/Module/Settings/Channel.php:547 +#: ../../Zotlabs/Lib/Enotify.php:68 +msgid "Notification Settings" +msgstr "Ustawienia powiadomieÅ„" + +#: ../../Zotlabs/Module/Settings/Channel.php:548 +msgid "By default post a status message when:" +msgstr "DomyÅ›lnie publikuj komunikat o stanie, gdy:" + +#: ../../Zotlabs/Module/Settings/Channel.php:549 +msgid "accepting a friend request" +msgstr "zaakceptowano zaproszenia do znajomych" + +#: ../../Zotlabs/Module/Settings/Channel.php:550 +msgid "joining a forum/community" +msgstr "dołączoni do forum/spoÅ‚ecznoÅ›ci" + +#: ../../Zotlabs/Module/Settings/Channel.php:551 +msgid "making an <em>interesting</em> profile change" +msgstr "dokonano <em>interesujÄ…cej</em> zmiany profilu" + +#: ../../Zotlabs/Module/Settings/Channel.php:552 +msgid "Send a notification email when:" +msgstr "WyÅ›lij e-mail z powiadomieniem, gdy:" + +#: ../../Zotlabs/Module/Settings/Channel.php:553 +msgid "You receive a connection request" +msgstr "Otrzymujesz żądanie połączenia" + +#: ../../Zotlabs/Module/Settings/Channel.php:554 +msgid "Your connections are confirmed" +msgstr "Twoje połączenia sÄ… potwierdzone" + +#: ../../Zotlabs/Module/Settings/Channel.php:555 +msgid "Someone writes on your profile wall" +msgstr "KtoÅ› pisze na Twojej Å›cianie profilu" + +#: ../../Zotlabs/Module/Settings/Channel.php:556 +msgid "Someone writes a followup comment" +msgstr "KtoÅ› pisze komentarz uzupeÅ‚niajÄ…cy" + +#: ../../Zotlabs/Module/Settings/Channel.php:557 +msgid "You receive a private message" +msgstr "Otrzymujesz prywatnÄ… wiadomość" + +#: ../../Zotlabs/Module/Settings/Channel.php:558 +msgid "You receive a friend suggestion" +msgstr "Otrzymasz propozycjÄ™ znajomoÅ›ci" + +#: ../../Zotlabs/Module/Settings/Channel.php:559 +msgid "You are tagged in a post" +msgstr "Oznaczono Ciebie tagiem w poÅ›cie" + +#: ../../Zotlabs/Module/Settings/Channel.php:560 +msgid "You are poked/prodded/etc. in a post" +msgstr "SzturchniÄ™to Ciebie w poÅ›cie" + +#: ../../Zotlabs/Module/Settings/Channel.php:562 +msgid "Someone likes your post/comment" +msgstr "KtoÅ› polubiÅ‚ Twój post/komentarz" + +#: ../../Zotlabs/Module/Settings/Channel.php:565 +msgid "Show visual notifications including:" +msgstr "Pokaż powiadomienia wizualne, w tym:" + +#: ../../Zotlabs/Module/Settings/Channel.php:567 +msgid "Unseen stream activity" +msgstr "NiewidocznÄ… aktywność na strumieniu" + +#: ../../Zotlabs/Module/Settings/Channel.php:568 +msgid "Unseen channel activity" +msgstr "NiewidocznÄ… aktywność w kanale" + +#: ../../Zotlabs/Module/Settings/Channel.php:569 +msgid "Unseen private messages" +msgstr "NiewidocznÄ… wiadomoÅ›ci prywatne" + +#: ../../Zotlabs/Module/Settings/Channel.php:569 +#: ../../Zotlabs/Module/Settings/Channel.php:574 +#: ../../Zotlabs/Module/Settings/Channel.php:575 +#: ../../Zotlabs/Module/Settings/Channel.php:576 +msgid "Recommended" +msgstr "Zalecane" + +#: ../../Zotlabs/Module/Settings/Channel.php:570 +msgid "Upcoming events" +msgstr "NadchodzÄ…ce wydarzenia" + +#: ../../Zotlabs/Module/Settings/Channel.php:571 +msgid "Events today" +msgstr "Wydarzenia dzisiejsze" + +#: ../../Zotlabs/Module/Settings/Channel.php:572 +msgid "Upcoming birthdays" +msgstr "NadchodzÄ…ce urodziny" + +#: ../../Zotlabs/Module/Settings/Channel.php:572 +msgid "Not available in all themes" +msgstr "NiedostÄ™pne we wszystkich motywach" + +#: ../../Zotlabs/Module/Settings/Channel.php:573 +msgid "System (personal) notifications" +msgstr "Powiadomienia systemowe (osobiste)" + +#: ../../Zotlabs/Module/Settings/Channel.php:574 +msgid "System info messages" +msgstr "Systemowe komunikaty informacyjne" + +#: ../../Zotlabs/Module/Settings/Channel.php:575 +msgid "System critical alerts" +msgstr "Systemowe alerty krytyczne" + +#: ../../Zotlabs/Module/Settings/Channel.php:576 +msgid "New connections" +msgstr "Nowe połączenia" + +#: ../../Zotlabs/Module/Settings/Channel.php:577 +msgid "System Registrations" +msgstr "Rejestracje systemowe" + +#: ../../Zotlabs/Module/Settings/Channel.php:578 +msgid "Unseen shared files" +msgstr "Niewidoczne udostÄ™pnione pliki" + +#: ../../Zotlabs/Module/Settings/Channel.php:579 +msgid "Unseen public stream activity" +msgstr "Niewidoczna aktywność na publicznym strumieniu" + +#: ../../Zotlabs/Module/Settings/Channel.php:580 +msgid "Unseen likes and dislikes" +msgstr "Niewidoczne polubienia i dezaprobaty" + +#: ../../Zotlabs/Module/Settings/Channel.php:581 +msgid "Unseen forum posts" +msgstr "Niewidoczne posty na forum" + +#: ../../Zotlabs/Module/Settings/Channel.php:582 +msgid "Email notification hub (hostname)" +msgstr "Hub powiadomieÅ„ e-mail (nazwa hosta)" + +#: ../../Zotlabs/Module/Settings/Channel.php:582 +#, php-format +msgid "" +"If your channel is mirrored to multiple hubs, set this to your preferred " +"location. This will prevent duplicate email notifications. Example: %s" +msgstr "" +"JeÅ›li twój kanaÅ‚ jest powielany na wielu hubach, ustaw to na preferowanÄ… " +"lokalizacjÄ™. Zapobiegnie to powielaniu powiadomieÅ„ e-mail. PrzykÅ‚ad: % s" + +#: ../../Zotlabs/Module/Settings/Channel.php:583 +msgid "Show new wall posts, private messages and connections under Notices" +msgstr "" +"Pokaż w powiadomieniach nowe posty na Å›cianie, prywatne wiadomoÅ›ci i " +"połączenia" + +#: ../../Zotlabs/Module/Settings/Channel.php:585 +msgid "Notify me of events this many days in advance" +msgstr "Informuj mnie o wydarzeniach z tak wielodniowym wyprzedzeniem" + +#: ../../Zotlabs/Module/Settings/Channel.php:585 +msgid "Must be greater than 0" +msgstr "Musi być wiÄ™ksza od 0" + +#: ../../Zotlabs/Module/Settings/Channel.php:590 +msgid "Advanced Account/Page Type Settings" +msgstr "Zaawansowane ustawienia konta/typu strony" + +#: ../../Zotlabs/Module/Settings/Channel.php:591 +msgid "Change the behaviour of this account for special situations" +msgstr "ZmieÅ„ zachowanie tego konta w szczególnych sytuacjach" + +#: ../../Zotlabs/Module/Settings/Channel.php:593 +msgid "Miscellaneous Settings" +msgstr "Różne ustawienia" + +#: ../../Zotlabs/Module/Settings/Channel.php:594 +msgid "Default photo upload folder" +msgstr "DomyÅ›lny folder przesyÅ‚ania zdjęć" + +#: ../../Zotlabs/Module/Settings/Channel.php:594 +#: ../../Zotlabs/Module/Settings/Channel.php:595 +msgid "%Y - current year, %m - current month" +msgstr "%Y - bieżący rok, %m - bieżący miesiÄ…c" + +#: ../../Zotlabs/Module/Settings/Channel.php:595 +msgid "Default file upload folder" +msgstr "DomyÅ›lny folder przesyÅ‚ania plików" + +#: ../../Zotlabs/Module/Settings/Channel.php:597 +msgid "Remove this channel." +msgstr "UsuÅ„ ten kanaÅ‚." + +#: ../../Zotlabs/Module/Settings/Connections.php:40 +msgid "Connections Settings" +msgstr "Ustawienia połączeÅ„" + +#: ../../Zotlabs/Module/Settings/Calendar.php:40 +msgid "Calendar Settings" +msgstr "Ustawienia kalendarza" + +#: ../../Zotlabs/Module/Settings/Directory.php:40 +msgid "Directory Settings" +msgstr "Ustawienia katalogu" + +#: ../../Zotlabs/Module/Settings/Channel_home.php:46 +#: ../../Zotlabs/Module/Settings/Network.php:42 +msgid "Max height of content (in pixels)" +msgstr "Maksymalna wysokość pola treÅ›ci (w pikselach)" + +#: ../../Zotlabs/Module/Settings/Channel_home.php:48 +#: ../../Zotlabs/Module/Settings/Network.php:44 +msgid "Click to expand content exceeding this height" +msgstr "Kliknij, aby rozwinąć treść przekraczajÄ…cÄ… tÄ™ wysokość" + +#: ../../Zotlabs/Module/Settings/Channel_home.php:61 +msgid "Personal menu to display in your channel pages" +msgstr "Menu osobiste do wyÅ›wietlania na stronach Twojego kanaÅ‚" + +#: ../../Zotlabs/Module/Settings/Channel_home.php:88 +msgid "Channel Home Settings" +msgstr "Ustawienia strony głównej kanaÅ‚u" + +#: ../../Zotlabs/Module/Settings/Network.php:59 +msgid "Stream Settings" +msgstr "Ustawienia strumienia" + +#: ../../Zotlabs/Module/Settings/Conversation.php:23 +msgid "Settings saved." +msgstr "Ustawienia zapisane." + +#: ../../Zotlabs/Module/Settings/Conversation.php:25 +msgid "Settings saved. Reload page please." +msgstr "Ustawienia zapisane. ProszÄ™ ponownie zaÅ‚adować stronÄ™." + +#: ../../Zotlabs/Module/Settings/Conversation.php:47 +msgid "Conversation Settings" +msgstr "Ustawienia rozmów" + +#: ../../Zotlabs/Module/Probe.php:18 +msgid "Remote Diagnostics App" +msgstr "Aplikacja Remote Diagnostics" + +#: ../../Zotlabs/Module/Probe.php:19 +msgid "Perform diagnostics on remote channels" +msgstr "Przeprowadź diagnostykÄ™ zdalnych kanałów" + +#: ../../Zotlabs/Module/Invite.php:37 +msgid "Total invitation limit exceeded." +msgstr "Przekroczono łączny limit zaproszeÅ„." + +#: ../../Zotlabs/Module/Invite.php:61 +#, php-format +msgid "%s : Not a valid email address." +msgstr "% s: nieprawidÅ‚owy adres e-mail." + +#: ../../Zotlabs/Module/Invite.php:75 +msgid "Please join us on $Projectname" +msgstr "Dołącz do nas na $Projectname" + +#: ../../Zotlabs/Module/Invite.php:85 +msgid "Invitation limit exceeded. Please contact your site administrator." +msgstr "" +"Przekroczono limit zaproszeÅ„. Skontaktuj siÄ™ z administratorem serwisu." + +#: ../../Zotlabs/Module/Invite.php:90 +#: ../../extend/addon/hzaddons/notifyadmin/notifyadmin.php:40 +#, php-format +msgid "%s : Message delivery failed." +msgstr "%s: dostarczenie wiadomoÅ›ci nie powiodÅ‚o siÄ™." + +#: ../../Zotlabs/Module/Invite.php:94 +#, php-format +msgid "%d message sent." +msgid_plural "%d messages sent." +msgstr[0] "WysÅ‚ano %d wiadomość." +msgstr[1] "WysÅ‚ano %d wiadomoÅ›ci." +msgstr[2] "WysÅ‚ano %d wiadomoÅ›ci." + +#: ../../Zotlabs/Module/Invite.php:110 +msgid "Invite App" +msgstr "Aplikacja Invite" + +#: ../../Zotlabs/Module/Invite.php:111 +msgid "Send email invitations to join this network" +msgstr "" +"WyÅ›lij wiadomoÅ›ci e-mail z zaproszeniami do przyłączenia siÄ™ do tej sieci" + +#: ../../Zotlabs/Module/Invite.php:124 +msgid "You have no more invitations available" +msgstr "Nie masz wiÄ™cej dostÄ™pnych zaproszeÅ„" + +#: ../../Zotlabs/Module/Invite.php:155 +msgid "Send invitations" +msgstr "WysyÅ‚ać zaproszenia" + +#: ../../Zotlabs/Module/Invite.php:156 +msgid "Enter email addresses, one per line:" +msgstr "Wprowadź adresy e-mail, po jednym w każdym wierszu:" + +#: ../../Zotlabs/Module/Invite.php:157 +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:163 +msgid "Your message:" +msgstr "Twoja wiadomość:" + +#: ../../Zotlabs/Module/Invite.php:158 +msgid "Please join my community on $Projectname." +msgstr "Dołącz do mojej spoÅ‚ecznoÅ›ci w $Projectname." + +#: ../../Zotlabs/Module/Invite.php:160 +msgid "You will need to supply this invitation code:" +msgstr "Trzeba bÄ™dzie podać ten kod zaproszenia:" + +#: ../../Zotlabs/Module/Invite.php:161 +msgid "1. Register at any $Projectname location (they are all inter-connected)" +msgstr "" +"1. Zarejestruj siÄ™ w dowolnej lokalizacji $Projectname (wszystkie sÄ… ze sobÄ… " +"połączone)" + +#: ../../Zotlabs/Module/Invite.php:163 +msgid "2. Enter my $Projectname network address into the site searchbar." +msgstr "2. Wpisz mój adres sieciowy $Projectname w pasku wyszukiwania serwisu." + +#: ../../Zotlabs/Module/Invite.php:164 +msgid "or visit" +msgstr "lub odwiedź" + +#: ../../Zotlabs/Module/Invite.php:166 +msgid "3. Click [Connect]" +msgstr "3. Kliknij [Połącz]" + +#: ../../Zotlabs/Module/Siteinfo.php:21 +msgid "About this site" +msgstr "O tym serwisie" + +#: ../../Zotlabs/Module/Siteinfo.php:22 +msgid "Site Name" +msgstr "Nazwa witryny" + +#: ../../Zotlabs/Module/Siteinfo.php:26 +msgid "Administrator" +msgstr "Administrator" + +#: ../../Zotlabs/Module/Siteinfo.php:29 +msgid "Software and Project information" +msgstr "Informacje o oprogramowaniu i projekcie" + +#: ../../Zotlabs/Module/Siteinfo.php:30 +msgid "This site is powered by $Projectname" +msgstr "Ta witryna jest oparta na $Projectname" + +#: ../../Zotlabs/Module/Siteinfo.php:31 +msgid "" +"Federated and decentralised networking and identity services provided by Zot" +msgstr "" +"Sfederowane i zdecentralizowane usÅ‚ugi sieciowe i tożsamoÅ›ci wykorzystujÄ…ce " +"protokół Zot" + +#: ../../Zotlabs/Module/Siteinfo.php:34 +msgid "Additional federated transport protocols:" +msgstr "Dodatkowe protokoÅ‚y transportu federacyjnego:" + +#: ../../Zotlabs/Module/Siteinfo.php:36 +#, php-format +msgid "Version %s" +msgstr "Wersja %s" + +#: ../../Zotlabs/Module/Siteinfo.php:37 +msgid "Project homepage" +msgstr "Strona główna projektu" + +#: ../../Zotlabs/Module/Siteinfo.php:38 +msgid "Developer homepage" +msgstr "Strona główna developerów" + +#: ../../Zotlabs/Module/Service_limits.php:23 +msgid "No service class restrictions found." +msgstr "Nie znaleziono ograniczeÅ„ klasy usÅ‚ug." + +#: ../../Zotlabs/Module/Rbmark.php:94 +msgid "Select a bookmark folder" +msgstr "Wybierz folder zakÅ‚adek" + +#: ../../Zotlabs/Module/Rbmark.php:99 +msgid "Save Bookmark" +msgstr "Zapisz zakÅ‚adkÄ™" + +#: ../../Zotlabs/Module/Rbmark.php:100 +msgid "URL of bookmark" +msgstr "URL zakÅ‚adki" + +#: ../../Zotlabs/Module/Rbmark.php:105 +msgid "Or enter new bookmark folder name" +msgstr "Lub wprowadź nowÄ… nazwÄ™ folderu zakÅ‚adek" + +#: ../../Zotlabs/Module/Lang.php:17 +msgid "Language App" +msgstr "Aplikacja Language" + +#: ../../Zotlabs/Module/Lang.php:18 +msgid "Change UI language" +msgstr "ZmieÅ„ jÄ™zyk interfejsu użytkownika" + +#: ../../Zotlabs/Module/Hq.php:131 +msgid "Welcome to Hubzilla!" +msgstr "Witamy w Hubzilla!" + +#: ../../Zotlabs/Module/Hq.php:131 +msgid "You have got no unseen posts..." +msgstr "Nie masz żadnych nieoglÄ…dniÄ™tych postów..." + +#: ../../Zotlabs/Module/Cover_photo.php:196 +#: ../../Zotlabs/Module/Cover_photo.php:254 +msgid "Cover Photos" +msgstr "ZdjÄ™cia na okÅ‚adkÄ™" + +#: ../../Zotlabs/Module/Cover_photo.php:297 ../../include/items.php:4860 +msgid "female" +msgstr "kobieta" + +#: ../../Zotlabs/Module/Cover_photo.php:298 ../../include/items.php:4861 +#, php-format +msgid "%1$s updated her %2$s" +msgstr "%1$s zaktualizowaÅ‚ jÄ… %2$s" + +#: ../../Zotlabs/Module/Cover_photo.php:299 ../../include/items.php:4862 +msgid "male" +msgstr "mężczyzna" + +#: ../../Zotlabs/Module/Cover_photo.php:300 ../../include/items.php:4863 +#, php-format +msgid "%1$s updated his %2$s" +msgstr "%1$s zaktualizowaÅ‚ go %2$s" + +#: ../../Zotlabs/Module/Cover_photo.php:302 ../../include/items.php:4865 +#, php-format +msgid "%1$s updated their %2$s" +msgstr "%1$s zaktualizowaÅ‚ ich %2$s" + +#: ../../Zotlabs/Module/Cover_photo.php:304 ../../include/channel.php:2328 +msgid "cover photo" +msgstr "zdjÄ™cie okÅ‚adkowe" + +#: ../../Zotlabs/Module/Cover_photo.php:418 +msgid "Your cover photo may be visible to anybody on the internet" +msgstr "Twoje zdjÄ™cie okÅ‚adkowe może być widoczne dla każdego w internecie" + +#: ../../Zotlabs/Module/Cover_photo.php:422 +msgid "Change Cover Photo" +msgstr "ZmieÅ„ zdjÄ™cie na okÅ‚adkÄ™" + +#: ../../Zotlabs/Module/Menu.php:68 +msgid "Unable to update menu." +msgstr "Nie można zaktualizować menu." + +#: ../../Zotlabs/Module/Menu.php:79 +msgid "Unable to create menu." +msgstr "Nie można utworzyć menu." + +#: ../../Zotlabs/Module/Menu.php:161 ../../Zotlabs/Module/Menu.php:174 +msgid "Menu Name" +msgstr "Nazwa menu" + +#: ../../Zotlabs/Module/Menu.php:161 +msgid "Unique name (not visible on webpage) - required" +msgstr "Unikalna nazwa (niewidoczna na stronie) - wymagana" + +#: ../../Zotlabs/Module/Menu.php:162 ../../Zotlabs/Module/Menu.php:175 +msgid "Menu Title" +msgstr "TytuÅ‚ menu" + +#: ../../Zotlabs/Module/Menu.php:162 +msgid "Visible on webpage - leave empty for no title" +msgstr "Widoczne na stronie - pozostaw puste bez tytuÅ‚u" + +#: ../../Zotlabs/Module/Menu.php:163 +msgid "Allow Bookmarks" +msgstr "Zezwalaj na zakÅ‚adki" + +#: ../../Zotlabs/Module/Menu.php:163 ../../Zotlabs/Module/Menu.php:222 +msgid "Menu may be used to store saved bookmarks" +msgstr "Menu może sÅ‚użyć do przechowywania zapisanych zakÅ‚adek" + +#: ../../Zotlabs/Module/Menu.php:164 ../../Zotlabs/Module/Menu.php:225 +msgid "Submit and proceed" +msgstr "PrzeÅ›lij i kontynuuj" + +#: ../../Zotlabs/Module/Menu.php:171 ../../include/text.php:2699 +msgid "Menus" +msgstr "Menu" + +#: ../../Zotlabs/Module/Menu.php:181 +msgid "Bookmarks allowed" +msgstr "ZakÅ‚adki sÄ… dozwolone" + +#: ../../Zotlabs/Module/Menu.php:183 +msgid "Delete this menu" +msgstr "UsuÅ„ to menu" + +#: ../../Zotlabs/Module/Menu.php:184 ../../Zotlabs/Module/Menu.php:219 +msgid "Edit menu contents" +msgstr "Edytuj zawartość menu" + +#: ../../Zotlabs/Module/Menu.php:185 +msgid "Edit this menu" +msgstr "Edytuj to menu" + +#: ../../Zotlabs/Module/Menu.php:201 +msgid "Menu could not be deleted." +msgstr "Nie udaÅ‚o siÄ™ usunąć menu." + +#: ../../Zotlabs/Module/Menu.php:214 +msgid "Edit Menu" +msgstr "Edytuj menu" + +#: ../../Zotlabs/Module/Menu.php:218 +msgid "Add or remove entries to this menu" +msgstr "Dodaj lub usuÅ„ posty w tym menu" + +#: ../../Zotlabs/Module/Menu.php:220 +msgid "Menu name" +msgstr "Nazwa menu" + +#: ../../Zotlabs/Module/Menu.php:220 +msgid "Must be unique, only seen by you" +msgstr "Musi być wyjÄ…tkowy, widoczny tylko dla Ciebie" + +#: ../../Zotlabs/Module/Menu.php:221 +msgid "Menu title" +msgstr "TytuÅ‚ menu" + +#: ../../Zotlabs/Module/Menu.php:221 +msgid "Menu title as seen by others" +msgstr "TytuÅ‚ menu widziany przez innych" + +#: ../../Zotlabs/Module/Menu.php:222 +msgid "Allow bookmarks" +msgstr "Zezwalaj na zakÅ‚adki" + +#: ../../Zotlabs/Module/Sources.php:41 +msgid "Failed to create source. No channel selected." +msgstr "Nie udaÅ‚o siÄ™ utworzyć źródÅ‚a. Nie wybrano kanaÅ‚u." + +#: ../../Zotlabs/Module/Sources.php:57 +msgid "Source created." +msgstr "Utworzono źródÅ‚o." + +#: ../../Zotlabs/Module/Sources.php:70 +msgid "Source updated." +msgstr "ŹródÅ‚o zaktualizowane." + +#: ../../Zotlabs/Module/Sources.php:88 +msgid "Sources App" +msgstr "Aplikacja Sources" + +#: ../../Zotlabs/Module/Sources.php:89 +msgid "Automatically import channel content from other channels or feeds" +msgstr "Automatycznie importuj zawartość kanaÅ‚u z innych kanałów lub źródeÅ‚" + +#: ../../Zotlabs/Module/Sources.php:101 +msgid "*" +msgstr "*" + +#: ../../Zotlabs/Module/Sources.php:107 ../../Zotlabs/Lib/Apps.php:368 +msgid "Channel Sources" +msgstr "ŹródÅ‚a kanałów" + +#: ../../Zotlabs/Module/Sources.php:108 +msgid "Manage remote sources of content for your channel." +msgstr "ZarzÄ…dzaj zdalnymi źródÅ‚ami treÅ›ci na swoim kanale." + +#: ../../Zotlabs/Module/Sources.php:109 ../../Zotlabs/Module/Sources.php:119 +msgid "New Source" +msgstr "Nowe źródÅ‚o" + +#: ../../Zotlabs/Module/Sources.php:120 ../../Zotlabs/Module/Sources.php:154 +msgid "" +"Import all or selected content from the following channel into this channel " +"and distribute it according to your channel settings." +msgstr "" +"Zaimportuj wszystkie lub wybrane treÅ›ci z nastÄ™pujÄ…cego kanaÅ‚u do tego " +"kanaÅ‚u i rozpowszechniaj je zgodnie z ustawieniami kanaÅ‚u." + +#: ../../Zotlabs/Module/Sources.php:121 ../../Zotlabs/Module/Sources.php:155 +msgid "Only import content with these words (one per line)" +msgstr "Importuj tylko zawartość z tymi sÅ‚owami (po jednym w każdym wierszu)" + +#: ../../Zotlabs/Module/Sources.php:121 ../../Zotlabs/Module/Sources.php:155 +msgid "Leave blank to import all public content" +msgstr "Pozostaw puste, aby zaimportować całą zawartość publicznÄ…" + +#: ../../Zotlabs/Module/Sources.php:122 ../../Zotlabs/Module/Sources.php:161 +msgid "Channel Name" +msgstr "Nazwa kanaÅ‚u" + +#: ../../Zotlabs/Module/Sources.php:123 ../../Zotlabs/Module/Sources.php:158 +msgid "" +"Add the following categories to posts imported from this source (comma " +"separated)" +msgstr "" +"Dodaj nastÄ™pujÄ…ce kategorie do postów zaimportowanych z tego źródÅ‚a " +"(oddzielone przecinkami)" + +#: ../../Zotlabs/Module/Sources.php:124 ../../Zotlabs/Module/Sources.php:159 +msgid "Resend posts with this channel as author" +msgstr "WyÅ›lij ponownie posty z tym kanaÅ‚em jako autorem" + +#: ../../Zotlabs/Module/Sources.php:124 ../../Zotlabs/Module/Sources.php:159 +msgid "Copyrights may apply" +msgstr "Copyrights may apply" + +#: ../../Zotlabs/Module/Sources.php:144 ../../Zotlabs/Module/Sources.php:174 +msgid "Source not found." +msgstr "Nie znaleziono źródÅ‚a." + +#: ../../Zotlabs/Module/Sources.php:151 +msgid "Edit Source" +msgstr "Edytuj źródÅ‚o" + +#: ../../Zotlabs/Module/Sources.php:152 +msgid "Delete Source" +msgstr "UsuÅ„ źródÅ‚o" + +#: ../../Zotlabs/Module/Sources.php:182 +msgid "Source removed" +msgstr "ŹródÅ‚o zostaÅ‚o usuniÄ™te" + +#: ../../Zotlabs/Module/Sources.php:184 +msgid "Unable to remove source." +msgstr "Nie można usunąć źródÅ‚a." + +#: ../../Zotlabs/Module/Poke.php:165 +msgid "Poke App" +msgstr "Aplikacja Poke" + +#: ../../Zotlabs/Module/Poke.php:166 +msgid "Poke somebody in your addressbook" +msgstr "Szturchij kogoÅ› w swojej książce adresowej" + +#: ../../Zotlabs/Module/Poke.php:199 ../../Zotlabs/Lib/Apps.php:351 +#: ../../include/conversation.php:1140 +msgid "Poke" +msgstr "Szturchnij" + +#: ../../Zotlabs/Module/Poke.php:200 +msgid "Poke somebody" +msgstr "Szturchnij kogoÅ›" + +#: ../../Zotlabs/Module/Poke.php:203 +msgid "Poke/Prod" +msgstr "Szturchnij" + +#: ../../Zotlabs/Module/Poke.php:204 +msgid "Poke, prod or do other things to somebody" +msgstr "Szturchać, badać, testować lub robić z kimÅ› podobne rzeczy" + +#: ../../Zotlabs/Module/Poke.php:211 +msgid "Recipient" +msgstr "Odbiorca" + +#: ../../Zotlabs/Module/Poke.php:212 +msgid "Choose what you wish to do to recipient" +msgstr "Wybierz, co chcesz zrobić odbiorcy" + +#: ../../Zotlabs/Module/Poke.php:215 ../../Zotlabs/Module/Poke.php:216 +msgid "Make this post private" +msgstr "Ustaw ten post jako prywatny" + +#: ../../Zotlabs/Module/Network.php:105 +msgid "No such group" +msgstr "Nie ma takiej grupy" + +#: ../../Zotlabs/Module/Network.php:152 +msgid "No such channel" +msgstr "Nie ma takiego kanaÅ‚u" + +#: ../../Zotlabs/Module/Network.php:239 +msgid "Privacy group is empty" +msgstr "Grupa prywatnoÅ›ci jest pusta" + +#: ../../Zotlabs/Module/Network.php:249 +msgid "Privacy group: " +msgstr "Grupa prywatnoÅ›ci: " + +#: ../../Zotlabs/Module/Network.php:322 +#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:29 +msgid "Invalid channel." +msgstr "ZÅ‚y kanaÅ‚." + +#: ../../Zotlabs/Module/Attach_edit.php:118 +msgid "Can not copy folder into itself." +msgstr "Nie można skopiować folderu do siebie." + +#: ../../Zotlabs/Module/Attach_edit.php:131 +#, php-format +msgid "Can not move folder \"%s\" into itself." +msgstr "Nie można przenieść folderu \"%s\" do samego siebie." + +#: ../../Zotlabs/Module/Viewsrc.php:43 +msgid "item" +msgstr "element" + +#: ../../Zotlabs/Module/Lockview.php:75 +msgid "Remote privacy information not available." +msgstr "Zdalne informacje o prywatnoÅ›ci nie sÄ… dostÄ™pne." + +#: ../../Zotlabs/Module/Lockview.php:96 +msgid "Visible to:" +msgstr "Widoczne dla:" + +#: ../../Zotlabs/Storage/Browser.php:292 +msgid "Change filename to" +msgstr "ZmieÅ„ nazwÄ™ pliku na" + +#: ../../Zotlabs/Storage/Browser.php:309 ../../Zotlabs/Storage/Browser.php:390 +msgid "Select a target location" +msgstr "Wybierz lokalizacjÄ™ docelowÄ…" + +#: ../../Zotlabs/Storage/Browser.php:310 ../../Zotlabs/Storage/Browser.php:391 +msgid "Copy to target location" +msgstr "Skopiuj do lokalizacji docelowej" + +#: ../../Zotlabs/Storage/Browser.php:311 ../../Zotlabs/Storage/Browser.php:389 +msgid "Set permissions for all files and sub folders" +msgstr "Ustaw uprawnienia dla wszystkich plików i podfolderów" + +#: ../../Zotlabs/Storage/Browser.php:312 +msgid "Notify your contacts about this file" +msgstr "Powiadom swoje kontakty o tym pliku" + +#: ../../Zotlabs/Storage/Browser.php:351 +msgid "File category" +msgstr "Kategoria plików" + +#: ../../Zotlabs/Storage/Browser.php:362 +msgid "Total" +msgstr "Ogólnie" + +#: ../../Zotlabs/Storage/Browser.php:364 +msgid "Shared" +msgstr "UdostÄ™pnione" + +#: ../../Zotlabs/Storage/Browser.php:366 +msgid "Add Files" +msgstr "Dodaj pliki" + +#: ../../Zotlabs/Storage/Browser.php:369 ../../Zotlabs/Lib/ThreadItem.php:174 +msgid "Admin Delete" +msgstr "UsuÅ„ przez administratora" + +#: ../../Zotlabs/Storage/Browser.php:381 +msgid "parent" +msgstr "rodzic" + +#: ../../Zotlabs/Storage/Browser.php:399 +msgid "Select All" +msgstr "Zaznacz wszystko" + +#: ../../Zotlabs/Storage/Browser.php:400 +msgid "Bulk Actions" +msgstr "DziaÅ‚ania masowe" + +#: ../../Zotlabs/Storage/Browser.php:401 +msgid "Adjust Permissions" +msgstr "Dostosuj uprawnienia" + +#: ../../Zotlabs/Storage/Browser.php:402 +msgid "Move or Copy" +msgstr "PrzenieÅ› lub skopiuj" + +#: ../../Zotlabs/Storage/Browser.php:405 +msgid "Info" +msgstr "Informacje" + +#: ../../Zotlabs/Storage/Browser.php:406 +msgid "Rename" +msgstr "ZieÅ„ nazwÄ™" + +#: ../../Zotlabs/Storage/Browser.php:407 ../../Zotlabs/Lib/Apps.php:360 +msgid "Post" +msgstr "Post" + +#: ../../Zotlabs/Storage/Browser.php:408 +msgid "Attachment BBcode" +msgstr "Attachment BBcode" + +#: ../../Zotlabs/Storage/Browser.php:409 +msgid "Embed BBcode" +msgstr "Osadź BBcode" + +#: ../../Zotlabs/Storage/Browser.php:410 +msgid "Link BBcode" +msgstr "Połącz BBcode" + +#: ../../Zotlabs/Storage/Browser.php:480 +#, php-format +msgid "You are using %1$s of your available file storage." +msgstr "Używasz %1$s dostÄ™pnego miejsca na pliki." + +#: ../../Zotlabs/Storage/Browser.php:485 +#, php-format +msgid "You are using %1$s of %2$s available file storage. (%3$s%)" +msgstr "Używasz %1$s z %2$s dostÄ™pnego miejsca na pliki. (%3$s %)" + +#: ../../Zotlabs/Storage/Browser.php:496 +msgid "WARNING:" +msgstr "OSTRZEÅ»ENIE:" + +#: ../../Zotlabs/Storage/Browser.php:537 +msgid "Create new folder" +msgstr "Stwórz nowy folder" + +#: ../../Zotlabs/Storage/Browser.php:539 +msgid "Upload file" +msgstr "PrzesyÅ‚anie pliku" + +#: ../../Zotlabs/Storage/Browser.php:551 +msgid "Drop files here to immediately upload" +msgstr "Upuść pliki tutaj, aby natychmiast przesÅ‚ać" + +#: ../../Zotlabs/Storage/Browser.php:554 +msgid "" +"You can select files via the upload button or drop them right here or into " +"an existing folder." +msgstr "" +"Możesz wybrać pliki za pomocÄ… przycisku przesyÅ‚ania lub upuÅ›cić je tutaj lub " +"do istniejÄ…cego folderu." + +#: ../../Zotlabs/Zot/Auth.php:152 +msgid "" +"Remote authentication blocked. You are logged into this site locally. Please " +"logout and retry." +msgstr "" +"Zdalne uwierzytelnianie zablokowane. JesteÅ› zalogowany lokalnie na tej " +"stronie. Wyloguj siÄ™ i spróbuj ponownie." + +#: ../../Zotlabs/Zot/Auth.php:264 +#: ../../extend/addon/hzaddons/openid/Mod_Openid.php:76 +#: ../../extend/addon/hzaddons/openid/Mod_Openid.php:178 +#, php-format +msgid "Welcome %s. Remote authentication successful." +msgstr "Witaj %s. Zdalne uwierzytelnianie powiodÅ‚o siÄ™." + +#: ../../Zotlabs/Lib/Group.php:28 ../../include/group.php:23 +msgid "" +"A deleted group with this name was revived. Existing item permissions " +"<strong>may</strong> apply to this group and any future members. If this is " +"not what you intended, please create another group with a different name." +msgstr "" +"Przywrócono usuniÄ™tÄ… grupÄ™ o tej nazwie. IstniejÄ…ce uprawnienia dotyczÄ…ce " +"elementów <strong>mogÄ…</strong> dotyczyć tej grupy i wszystkich przyszÅ‚ych " +"czÅ‚onków. JeÅ›li nie tego chciaÅ‚eÅ›, utwórz kolejnÄ… grupÄ™ o innej nazwie." + +#: ../../Zotlabs/Lib/Group.php:270 ../../include/group.php:265 +msgid "Add new connections to this privacy group" +msgstr "Dodaj nowe połączenia do tej grupy prywatnoÅ›ci" + +#: ../../Zotlabs/Lib/Group.php:302 ../../Zotlabs/Lib/AccessList.php:311 +#: ../../include/group.php:299 +msgid "edit" +msgstr "edutuj" + +#: ../../Zotlabs/Lib/Group.php:325 ../../include/group.php:322 +msgid "Edit group" +msgstr "Edytuj grupÄ™" + +#: ../../Zotlabs/Lib/Group.php:326 ../../include/group.php:323 +msgid "Add privacy group" +msgstr "Dodaj grupÄ™ prywatnoÅ›ci" + +#: ../../Zotlabs/Lib/Group.php:327 ../../include/group.php:324 +msgid "Channels not in any privacy group" +msgstr "KanaÅ‚y spoza jakiejkolwiek grupy prywatnoÅ›ci" + +#: ../../Zotlabs/Lib/Group.php:329 ../../Zotlabs/Lib/AccessList.php:336 +#: ../../Zotlabs/Widget/Savedsearch.php:84 ../../include/group.php:326 +msgid "add" +msgstr "dodaj" + +#: ../../Zotlabs/Lib/Connect.php:46 ../../Zotlabs/Lib/Connect.php:143 +#: ../../include/follow.php:37 +msgid "Channel is blocked on this site." +msgstr "KanaÅ‚ jest zablokowany na tej stronie." + +#: ../../Zotlabs/Lib/Connect.php:51 ../../include/follow.php:42 +msgid "Channel location missing." +msgstr "Brak lokalizacji kanaÅ‚u." + +#: ../../Zotlabs/Lib/Connect.php:103 ../../include/follow.php:166 +msgid "Remote channel or protocol unavailable." +msgstr "Zdalny kanaÅ‚ lub protokół jest niedostÄ™pny." + +#: ../../Zotlabs/Lib/Connect.php:137 ../../include/follow.php:190 +msgid "Channel discovery failed." +msgstr "Wyszukanie kanaÅ‚u nie powiodÅ‚o siÄ™." + +#: ../../Zotlabs/Lib/Connect.php:155 ../../include/follow.php:202 +msgid "Protocol disabled." +msgstr "Protokół wyłączony." + +#: ../../Zotlabs/Lib/Connect.php:167 ../../include/follow.php:213 +msgid "Cannot connect to yourself." +msgstr "Nie można połączyć siÄ™ ze sobÄ…." + +#: ../../Zotlabs/Lib/Connect.php:271 +msgid "error saving data" +msgstr "błąd podczas zapisywania danych" + +#: ../../Zotlabs/Lib/Apps.php:323 +msgid "Apps" +msgstr "Aplikacje" + +#: ../../Zotlabs/Lib/Apps.php:324 +msgid "Affinity Tool" +msgstr "NarzÄ™dzie koligacji" + +#: ../../Zotlabs/Lib/Apps.php:327 +msgid "Site Admin" +msgstr "Administrator serwisu" + +#: ../../Zotlabs/Lib/Apps.php:328 +#: ../../extend/addon/hzaddons/buglink/buglink.php:16 +msgid "Report Bug" +msgstr "Raport błędów" + +#: ../../Zotlabs/Lib/Apps.php:329 ../../include/nav.php:490 +msgid "Bookmarks" +msgstr "ZakÅ‚adki" + +#: ../../Zotlabs/Lib/Apps.php:330 ../../Zotlabs/Widget/Chatroom_list.php:16 +#: ../../include/nav.php:477 ../../include/nav.php:480 +msgid "Chatrooms" +msgstr "Czaty" + +#: ../../Zotlabs/Lib/Apps.php:331 +msgid "Content Filter" +msgstr "Filtr treÅ›ci" + +#: ../../Zotlabs/Lib/Apps.php:332 +#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:135 +msgid "Content Import" +msgstr "Import treÅ›ci" + +#: ../../Zotlabs/Lib/Apps.php:334 +msgid "Remote Diagnostics" +msgstr "Zdalna diagnostyka" + +#: ../../Zotlabs/Lib/Apps.php:335 +msgid "Suggest Channels" +msgstr "Zaproponuj kanaÅ‚y" + +#: ../../Zotlabs/Lib/Apps.php:336 ../../include/nav.php:124 +#: ../../include/nav.php:128 ../../boot.php:1705 +msgid "Login" +msgstr "Zaloguj siÄ™" + +#: ../../Zotlabs/Lib/Apps.php:338 +msgid "Stream" +msgstr "StrumieÅ„" + +#: ../../Zotlabs/Lib/Apps.php:342 ../../include/nav.php:539 +msgid "Wiki" +msgstr "Wiki" + +#: ../../Zotlabs/Lib/Apps.php:343 ../../include/features.php:104 +msgid "Channel Home" +msgstr "Strona główna kanaÅ‚u" + +#: ../../Zotlabs/Lib/Apps.php:346 ../../include/features.php:82 +#: ../../include/nav.php:463 ../../include/nav.php:466 +msgid "Calendar" +msgstr "Kalendarz" + +#: ../../Zotlabs/Lib/Apps.php:347 ../../include/features.php:192 +msgid "Directory" +msgstr "Katalog" + +#: ../../Zotlabs/Lib/Apps.php:349 +msgid "Mail" +msgstr "Poczta" + +#: ../../Zotlabs/Lib/Apps.php:352 +msgid "Chat" +msgstr "Czat" + +#: ../../Zotlabs/Lib/Apps.php:354 +msgid "Probe" +msgstr "Sonda" + +#: ../../Zotlabs/Lib/Apps.php:355 +msgid "Suggest" +msgstr "Prpozycja" + +#: ../../Zotlabs/Lib/Apps.php:356 +msgid "Random Channel" +msgstr "Losowy kanaÅ‚" + +#: ../../Zotlabs/Lib/Apps.php:357 +msgid "Invite" +msgstr "Zaproszenie" + +#: ../../Zotlabs/Lib/Apps.php:358 ../../Zotlabs/Widget/Admin.php:26 +msgid "Features" +msgstr "Funkcje" + +#: ../../Zotlabs/Lib/Apps.php:359 +#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:69 +msgid "Language" +msgstr "JÄ™zyk" + +#: ../../Zotlabs/Lib/Apps.php:361 +#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:58 +#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:59 +#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:60 +msgid "Profile Photo" +msgstr "ZdjÄ™cie profilowe" + +#: ../../Zotlabs/Lib/Apps.php:363 ../../include/features.php:383 +msgid "Profiles" +msgstr "Profile" + +#: ../../Zotlabs/Lib/Apps.php:365 +msgid "Notifications" +msgstr "Powiadomienie" + +#: ../../Zotlabs/Lib/Apps.php:366 +msgid "Order Apps" +msgstr "Kolejność aplikacji" + +#: ../../Zotlabs/Lib/Apps.php:367 +msgid "CardDAV" +msgstr "CardDAV" + +#: ../../Zotlabs/Lib/Apps.php:369 +msgid "Guest Access" +msgstr "DostÄ™p goÅ›cia" + +#: ../../Zotlabs/Lib/Apps.php:370 ../../Zotlabs/Widget/Notes.php:21 +#: ../../extend/addon/hzaddons/workflow/workflow.php:2625 +msgid "Notes" +msgstr "Uwagi" + +#: ../../Zotlabs/Lib/Apps.php:371 +msgid "OAuth Apps Manager" +msgstr "Menadżer aplikacji OAuth" + +#: ../../Zotlabs/Lib/Apps.php:372 +msgid "OAuth2 Apps Manager" +msgstr "Menadżer aplikacji OAuth2" + +#: ../../Zotlabs/Lib/Apps.php:373 +msgid "PDL Editor" +msgstr "Edytor PDL" + +#: ../../Zotlabs/Lib/Apps.php:376 +msgid "My Chatrooms" +msgstr "Moje czaty" + +#: ../../Zotlabs/Lib/Apps.php:377 +msgid "Channel Export" +msgstr "Eksport kanaÅ‚u" + +#: ../../Zotlabs/Lib/Apps.php:554 +msgid "Purchase" +msgstr "Zakup" + +#: ../../Zotlabs/Lib/Apps.php:559 +msgid "Undelete" +msgstr "Cofnij usuniÄ™cie" + +#: ../../Zotlabs/Lib/Apps.php:569 +msgid "Add to app-tray" +msgstr "Dodaj do zasobnika aplikacji" + +#: ../../Zotlabs/Lib/Apps.php:570 +msgid "Remove from app-tray" +msgstr "UsuÅ„ z zasobnika aplikacji" + +#: ../../Zotlabs/Lib/Apps.php:571 +msgid "Pin to navbar" +msgstr "Przypnij do paska nawigacyjnego" + +#: ../../Zotlabs/Lib/Apps.php:572 +msgid "Unpin from navbar" +msgstr "Odepnij od paska nawigacyjnego" + +#: ../../Zotlabs/Lib/DB_Upgrade.php:67 +msgid "Source code of failed update: " +msgstr "Kod źródÅ‚owy nieudanej aktualizacji: " + +#: ../../Zotlabs/Lib/DB_Upgrade.php:88 +#, php-format +msgid "Update Error at %s" +msgstr "Błąd aktualizacji na %s" + +#: ../../Zotlabs/Lib/DB_Upgrade.php:94 +#, php-format +msgid "Update %s failed. See error logs." +msgstr "Aktualizacja %s nie powiodÅ‚a siÄ™. Zobacz dzienniki błędów." + +#: ../../Zotlabs/Lib/AccessList.php:28 +msgid "" +"A deleted list with this name was revived. Existing item permissions " +"<strong>may</strong> apply to this list and any future members. If this is " +"not what you intended, please create another list with a different name." +msgstr "" +"Przywrócono usuniÄ™tÄ… listÄ™ o tej nazwie. IstniejÄ…ce uprawnienia dotyczÄ…ce " +"elementów <strong>mogÄ…</strong> dotyczyć tej listy i wszystkich przyszÅ‚ych " +"czÅ‚onków. JeÅ›li nie tego chciaÅ‚eÅ›, utwórz kolejnÄ… listÄ™ z innÄ… nazwÄ…." + +#: ../../Zotlabs/Lib/AccessList.php:286 +msgid "Add new connections to this access list" +msgstr "Dodaj nowe połączenia do tej listy dostÄ™pu" + +#: ../../Zotlabs/Lib/AccessList.php:331 +msgid "Lists" +msgstr "Listy" + +#: ../../Zotlabs/Lib/AccessList.php:332 +msgid "Edit list" +msgstr "Edytuj listÄ™" + +#: ../../Zotlabs/Lib/AccessList.php:333 +msgid "Create new list" +msgstr "Utwórz nowÄ… listÄ™" + +#: ../../Zotlabs/Lib/AccessList.php:334 +msgid "Channels not in any access list" +msgstr "KanaÅ‚y, których nie ma na żadnej liÅ›cie dostÄ™pu" + +#: ../../Zotlabs/Lib/Chatroom.php:25 +msgid "Missing room name" +msgstr "Brak nazwy pokoju" + +#: ../../Zotlabs/Lib/Chatroom.php:34 +msgid "Duplicate room name" +msgstr "Zduplikowana nazwa pokoju" + +#: ../../Zotlabs/Lib/Chatroom.php:84 ../../Zotlabs/Lib/Chatroom.php:92 +msgid "Invalid room specifier." +msgstr "NieprawidÅ‚owy specyfikator sali." + +#: ../../Zotlabs/Lib/Chatroom.php:124 +msgid "Room not found." +msgstr "Nie znaleziono pokoju." + +#: ../../Zotlabs/Lib/Chatroom.php:145 +msgid "Room is full" +msgstr "Pokój jest peÅ‚ny" + +#: ../../Zotlabs/Lib/Techlevels.php:10 +msgid "0. Beginner/Basic" +msgstr "0. PoczatkujÄ…cy/Podstawowy" + +#: ../../Zotlabs/Lib/Techlevels.php:11 +msgid "1. Novice - not skilled but willing to learn" +msgstr "1. Nowicjusz - nie ma umiejÄ™tnoÅ›ci, ale chÄ™tnie siÄ™ uczy" + +#: ../../Zotlabs/Lib/Techlevels.php:12 +msgid "2. Intermediate - somewhat comfortable" +msgstr "2. Åšredniozaawansowany - dość wygodne" + +#: ../../Zotlabs/Lib/Techlevels.php:13 +msgid "3. Advanced - very comfortable" +msgstr "3. Zaawansowany - bardzo wygodne" + +#: ../../Zotlabs/Lib/Techlevels.php:14 +msgid "4. Expert - I can write computer code" +msgstr "4. Ekspert - umiem pisać kod komputerowy" + +#: ../../Zotlabs/Lib/Techlevels.php:15 +msgid "5. Wizard - I probably know more than you do" +msgstr "5. Czarodziej - prawdopodobnie wiem wiÄ™cej niż Ty" + +#: ../../Zotlabs/Lib/Enotify.php:60 +msgid "$Projectname Notification" +msgstr "Powiadomienie $Projectname" + +#: ../../Zotlabs/Lib/Enotify.php:61 +#: ../../extend/addon/hzaddons/diaspora/util.php:336 +#: ../../extend/addon/hzaddons/diaspora/util.php:349 +#: ../../extend/addon/hzaddons/diaspora/p.php:48 +msgid "$projectname" +msgstr "Hubzilla" + +#: ../../Zotlabs/Lib/Enotify.php:63 +msgid "Thank You," +msgstr "DziÄ™kujemy," + +#: ../../Zotlabs/Lib/Enotify.php:65 +#: ../../extend/addon/hzaddons/hubwall/hubwall.php:33 +#, php-format +msgid "%s Administrator" +msgstr "Administrator %s" + +#: ../../Zotlabs/Lib/Enotify.php:66 +#, php-format +msgid "This email was sent by %1$s at %2$s." +msgstr "Ta wiadomość e-mail zostaÅ‚a wysÅ‚ana przez %1$s na numer %2$s." + +#: ../../Zotlabs/Lib/Enotify.php:67 +#, php-format +msgid "" +"To stop receiving these messages, please adjust your Notification Settings " +"at %s" +msgstr "Aby nie otrzymywać tych wiadomoÅ›ci, zmieÅ„ ustawienia powiadomieÅ„ na %s" + +#: ../../Zotlabs/Lib/Enotify.php:68 +#, php-format +msgid "To stop receiving these messages, please adjust your %s." +msgstr "Aby nie otrzymywać tych wiadomoÅ›ci, zmieÅ„ %s." + +#: ../../Zotlabs/Lib/Enotify.php:123 +#, php-format +msgid "%s <!item_type!>" +msgstr "%s <!item_type!>" + +#: ../../Zotlabs/Lib/Enotify.php:127 +#, php-format +msgid "[$Projectname:Notify] New mail received at %s" +msgstr "[$Projectname:Notify] Otrzymano nowÄ… pocztÄ™ na %s" + +#: ../../Zotlabs/Lib/Enotify.php:129 +#, php-format +msgid "%1$s sent you a new private message at %2$s." +msgstr "%1$s wysÅ‚aÅ‚ Ci nowÄ… prywatnÄ… wiadomość na %2$s." + +#: ../../Zotlabs/Lib/Enotify.php:130 +#, php-format +msgid "%1$s sent you %2$s." +msgstr "%1$s wysÅ‚aÅ‚ Ci %2$s." + +#: ../../Zotlabs/Lib/Enotify.php:130 +msgid "a private message" +msgstr "prywatna wiadomość" + +#: ../../Zotlabs/Lib/Enotify.php:131 +#, php-format +msgid "Please visit %s to view and/or reply to your private messages." +msgstr "" +"Odwiedź %s, aby wyÅ›wietlić albo odpowiedzieć na swoje prywatne wiadomoÅ›ci." + +#: ../../Zotlabs/Lib/Enotify.php:144 +msgid "commented on" +msgstr "skomentowaÅ‚" + +#: ../../Zotlabs/Lib/Enotify.php:157 +msgid "liked" +msgstr "polubiÅ‚" + +#: ../../Zotlabs/Lib/Enotify.php:160 +msgid "disliked" +msgstr "dezaprobowaÅ‚" + +#: ../../Zotlabs/Lib/Enotify.php:165 +msgid "voted on" +msgstr "gÅ‚osowaÅ‚" + +#: ../../Zotlabs/Lib/Enotify.php:208 +#, php-format +msgid "%1$s %2$s [zrl=%3$s]a %4$s[/zrl]" +msgstr "%1$s %2$s [zrl=%3$s]%4$s[/zrl]" + +#: ../../Zotlabs/Lib/Enotify.php:216 +#, php-format +msgid "%1$s %2$s [zrl=%3$s]%4$s's %5$s[/zrl]" +msgstr "%1$s %2$s [zrl=%3$s]%5$s %4$s[/zrl]" + +#: ../../Zotlabs/Lib/Enotify.php:225 +#, php-format +msgid "%1$s %2$s [zrl=%3$s]your %4$s[/zrl]" +msgstr "%1$s %2$s [zrl=%3$s]Twój %4$s[/zrl]" + +#: ../../Zotlabs/Lib/Enotify.php:237 +#, php-format +msgid "[$Projectname:Notify] Moderated Comment to conversation #%1$d by %2$s" +msgstr "[$Projectname:Notify] Moderowany komentarz do rozmowy #%1$d przez %2$s" + +#: ../../Zotlabs/Lib/Enotify.php:239 +#, php-format +msgid "[$Projectname:Notify] Comment to conversation #%1$d by %2$s" +msgstr "[$Projectname:Notify] Komentarz do roz,owy #%1$d przez %2$s" + +#: ../../Zotlabs/Lib/Enotify.php:240 +#, php-format +msgid "%1$s commented on an item/conversation you have been following." +msgstr "%1$s skomentowaÅ‚ obserwowany element/rozmowÄ™." + +#: ../../Zotlabs/Lib/Enotify.php:243 ../../Zotlabs/Lib/Enotify.php:324 +#: ../../Zotlabs/Lib/Enotify.php:340 ../../Zotlabs/Lib/Enotify.php:365 +#: ../../Zotlabs/Lib/Enotify.php:382 ../../Zotlabs/Lib/Enotify.php:395 +#, php-format +msgid "Please visit %s to view and/or reply to the conversation." +msgstr "Odwiedź %s, aby wyÅ›wietlić rozmowÄ™ albo odpowiedzieć na niÄ…." + +#: ../../Zotlabs/Lib/Enotify.php:247 ../../Zotlabs/Lib/Enotify.php:248 +#, php-format +msgid "Please visit %s to approve or reject this comment." +msgstr "Odwiedź %s, aby zaakceptować lub odrzucić ten komentarz." + +#: ../../Zotlabs/Lib/Enotify.php:306 +#, php-format +msgid "%1$s liked [zrl=%2$s]your %3$s[/zrl]" +msgstr "%1$s polubiÅ‚ [zrl=%2$s]Twój %3$s[/zrl]" + +#: ../../Zotlabs/Lib/Enotify.php:320 +#, php-format +msgid "[$Projectname:Notify] Like received to conversation #%1$d by %2$s" +msgstr "[$Projectname:Notify] Polubienie wysÅ‚ane dla rozmowy #%1$d przez %2$s" + +#: ../../Zotlabs/Lib/Enotify.php:321 +#, php-format +msgid "%1$s liked an item/conversation you created." +msgstr "%1$s polubiÅ‚ utworzony przez Ciebie element/rozmowÄ™." + +#: ../../Zotlabs/Lib/Enotify.php:332 +#, php-format +msgid "[$Projectname:Notify] %s posted to your profile wall" +msgstr "[$Projectname:Notify]%s opublikowany na Twojej Å›cianie profilu" + +#: ../../Zotlabs/Lib/Enotify.php:334 +#, php-format +msgid "%1$s posted to your profile wall at %2$s" +msgstr "%1$s opublikowano na Å›cianie Twojego profilu pod adresem %2$s" + +#: ../../Zotlabs/Lib/Enotify.php:336 +#, php-format +msgid "%1$s posted to [zrl=%2$s]your wall[/zrl]" +msgstr "%1$s opublikowaÅ‚ na [zrl=%2$s]Twojej Å›cianie[/zrl]" + +#: ../../Zotlabs/Lib/Enotify.php:359 +#, php-format +msgid "[$Projectname:Notify] %s tagged you" +msgstr "[$Projectname:Notify]%s oznaczyÅ‚ CiÄ™ tagiem" + +#: ../../Zotlabs/Lib/Enotify.php:360 +#, php-format +msgid "%1$s tagged you at %2$s" +msgstr "%1$s oznaczyÅ‚ CiÄ™ tagiem %2$s" + +#: ../../Zotlabs/Lib/Enotify.php:361 +#, php-format +msgid "%1$s [zrl=%2$s]tagged you[/zrl]." +msgstr "%1$s [zrl=%2$s]oznaczyÅ‚ CiÄ™ tagiem[/zrl]." + +#: ../../Zotlabs/Lib/Enotify.php:372 +#, php-format +msgid "[$Projectname:Notify] %1$s poked you" +msgstr "[$Projectname:Notify] %1$s szturchnÄ…Å‚ CiÄ™" + +#: ../../Zotlabs/Lib/Enotify.php:373 +#, php-format +msgid "%1$s poked you at %2$s" +msgstr "%1$s szturchnÄ…Å‚ CiÄ™ %2$s" + +#: ../../Zotlabs/Lib/Enotify.php:374 +#, php-format +msgid "%1$s [zrl=%2$s]poked you[/zrl]." +msgstr "%1$s [zrl=%2$s]szturchnÄ…Å‚ CiÄ™[/zrl]." + +#: ../../Zotlabs/Lib/Enotify.php:389 +#, php-format +msgid "[$Projectname:Notify] %s tagged your post" +msgstr "[$Projectname:Notify] %s oznaczyÅ‚ tagiem Twój post" + +#: ../../Zotlabs/Lib/Enotify.php:390 +#, php-format +msgid "%1$s tagged your post at %2$s" +msgstr "%1$s oznaczyÅ‚ tagiem Twój post na %2$s" + +#: ../../Zotlabs/Lib/Enotify.php:391 +#, php-format +msgid "%1$s tagged [zrl=%2$s]your post[/zrl]" +msgstr "%1$s tagged [zrl=%2$s]Twój post[/zrl]" + +#: ../../Zotlabs/Lib/Enotify.php:402 +msgid "[$Projectname:Notify] Introduction received" +msgstr "[$Projectname:Notify] Otrzymano wprowadzenie" + +#: ../../Zotlabs/Lib/Enotify.php:403 +#, php-format +msgid "You've received an new connection request from '%1$s' at %2$s" +msgstr "OtrzymaÅ‚eÅ› nowe żądanie połączenia od „%1$s†na %2$s" + +#: ../../Zotlabs/Lib/Enotify.php:404 +#, php-format +msgid "You've received [zrl=%1$s]a new connection request[/zrl] from %2$s." +msgstr "OtrzymaÅ‚eÅ› [zrl=%1$s]nowe żądanie połączenia [/zrl] od %2$s." + +#: ../../Zotlabs/Lib/Enotify.php:407 ../../Zotlabs/Lib/Enotify.php:425 +#, php-format +msgid "You may visit their profile at %s" +msgstr "Możesz odwiedzić ich profil na %s" + +#: ../../Zotlabs/Lib/Enotify.php:409 +#, php-format +msgid "Please visit %s to approve or reject the connection request." +msgstr "Odwiedź %s, aby zatwierdzić lub odrzucić proÅ›bÄ™ o połączenie." + +#: ../../Zotlabs/Lib/Enotify.php:416 +msgid "[$Projectname:Notify] Friend suggestion received" +msgstr "[$Projectname:Notify] Otrzymano propozycjÄ™ znajomoÅ›ci" + +#: ../../Zotlabs/Lib/Enotify.php:417 +#, php-format +msgid "You've received a friend suggestion from '%1$s' at %2$s" +msgstr "OtrzymaÅ‚eÅ› propozycjÄ™ znajomoÅ›ci od „%1$s†na %2$s" + +#: ../../Zotlabs/Lib/Enotify.php:418 +#, php-format +msgid "You've received [zrl=%1$s]a friend suggestion[/zrl] for %2$s from %3$s." +msgstr "OtrzymaÅ‚eÅ› [zrl=%1$s] prpozycjÄ™ znajomoÅ›ci[/ zrl] dla %2$s od %3$s." + +#: ../../Zotlabs/Lib/Enotify.php:423 +msgid "Name:" +msgstr "Nazwa:" + +#: ../../Zotlabs/Lib/Enotify.php:424 +msgid "Photo:" +msgstr "ZdjÄ™cie:" + +#: ../../Zotlabs/Lib/Enotify.php:427 +#, php-format +msgid "Please visit %s to approve or reject the suggestion." +msgstr "Odwiedź %s, aby zaakceptować lub odrzucić popozycjÄ™." + +#: ../../Zotlabs/Lib/Enotify.php:652 +msgid "[$Projectname:Notify]" +msgstr "[$Projectname:Notify]" + +#: ../../Zotlabs/Lib/Enotify.php:820 +msgid "created a new poll" +msgstr "utworzyÅ‚ nowÄ… ankietÄ™" + +#: ../../Zotlabs/Lib/Enotify.php:820 +msgid "created a new post" +msgstr "utworzyÅ‚ nowy post" + +#: ../../Zotlabs/Lib/Enotify.php:821 +#, php-format +msgid "voted on %s's poll" +msgstr "gÅ‚osowaÅ‚ w ankiecie %s" + +#: ../../Zotlabs/Lib/Enotify.php:821 +#, php-format +msgid "commented on %s's post" +msgstr "skomentowaÅ‚ post %s" + +#: ../../Zotlabs/Lib/Enotify.php:825 +#, php-format +msgid "repeated %s's post" +msgstr "powtórzony post %s" + +#: ../../Zotlabs/Lib/Enotify.php:837 +#, php-format +msgid "edited a post dated %s" +msgstr "edytowaÅ‚ post z dnia %s" + +#: ../../Zotlabs/Lib/Enotify.php:841 +#, php-format +msgid "edited a comment dated %s" +msgstr "edytowaÅ‚ komentarz z dnia %s" + +#: ../../Zotlabs/Lib/Enotify.php:970 +msgid "created an event" +msgstr "utworzono wydarzenie" + +#: ../../Zotlabs/Lib/Libsync.php:740 ../../include/zot.php:2657 +#, php-format +msgid "Unable to verify site signature for %s" +msgstr "Nie można zweryfikować podpisu witryny dla %s" + +#: ../../Zotlabs/Lib/NativeWikiPage.php:42 +#: ../../Zotlabs/Lib/NativeWikiPage.php:94 +msgid "(No Title)" +msgstr "(Brak tytuÅ‚u)" + +#: ../../Zotlabs/Lib/NativeWikiPage.php:109 +msgid "Wiki page create failed." +msgstr "Tworzenie strony Wiki nie powiodÅ‚o siÄ™." + +#: ../../Zotlabs/Lib/NativeWikiPage.php:122 +msgid "Wiki not found." +msgstr "Nie znaleziono wiki." + +#: ../../Zotlabs/Lib/NativeWikiPage.php:133 +msgid "Destination name already exists" +msgstr "Nazwa celu już istnieje" + +#: ../../Zotlabs/Lib/NativeWikiPage.php:166 +#: ../../Zotlabs/Lib/NativeWikiPage.php:362 +msgid "Page not found" +msgstr "Strona nie znaleziona" + +#: ../../Zotlabs/Lib/NativeWikiPage.php:197 +msgid "Error reading page content" +msgstr "Błąd podczas odczytu zawartoÅ›ci strony" + +#: ../../Zotlabs/Lib/NativeWikiPage.php:353 +#: ../../Zotlabs/Lib/NativeWikiPage.php:402 +#: ../../Zotlabs/Lib/NativeWikiPage.php:469 +#: ../../Zotlabs/Lib/NativeWikiPage.php:510 +msgid "Error reading wiki" +msgstr "Błąd podczas odczytu wiki" + +#: ../../Zotlabs/Lib/NativeWikiPage.php:390 +msgid "Page update failed." +msgstr "Aktualizacja strony nie powiodÅ‚a siÄ™." + +#: ../../Zotlabs/Lib/NativeWikiPage.php:424 +msgid "Nothing deleted" +msgstr "Nic nie zostaÅ‚o usuniÄ™te" + +#: ../../Zotlabs/Lib/NativeWikiPage.php:490 +msgid "Compare: object not found." +msgstr "Porównaj: nie znaleziono obiektu." + +#: ../../Zotlabs/Lib/NativeWikiPage.php:496 +msgid "Page updated" +msgstr "Strona zostaÅ‚a zaktualizowana" + +#: ../../Zotlabs/Lib/NativeWikiPage.php:499 +msgid "Untitled" +msgstr "Bez tytuÅ‚u" + +#: ../../Zotlabs/Lib/NativeWikiPage.php:505 +msgid "Wiki resource_id required for git commit" +msgstr "Identyfikator zasobu Wiki wymagany do zatwierdzenia przez Git" + +#: ../../Zotlabs/Lib/NativeWikiPage.php:565 +#: ../../Zotlabs/Widget/Wiki_page_history.php:23 +msgctxt "wiki_history" +msgid "Message" +msgstr "Wiadomość" + +#: ../../Zotlabs/Lib/NativeWikiPage.php:566 +#: ../../Zotlabs/Widget/Wiki_page_history.php:24 +msgid "Date" +msgstr "Data" + +#: ../../Zotlabs/Lib/NativeWikiPage.php:568 +#: ../../Zotlabs/Widget/Wiki_page_history.php:26 +msgid "Compare" +msgstr "Porównaj" + +#: ../../Zotlabs/Lib/NativeWikiPage.php:606 ../../include/bbcode.php:1018 +#: ../../include/bbcode.php:1190 +msgid "Different viewers will see this text differently" +msgstr "Różni widzowie bÄ™dÄ… inaczej widzieć ten tekst" + +#: ../../Zotlabs/Lib/ThreadItem.php:103 ../../include/conversation.php:739 +msgid "Private Message" +msgstr "Wiadomość prywatna" + +#: ../../Zotlabs/Lib/ThreadItem.php:130 +msgid "Privacy conflict. Discretion advised." +msgstr "Konflikt prywatnoÅ›ci. Zalecana dyskrecja." + +#: ../../Zotlabs/Lib/ThreadItem.php:180 ../../include/conversation.php:729 +msgid "Select" +msgstr "Wybierz" + +#: ../../Zotlabs/Lib/ThreadItem.php:205 ../../Zotlabs/Widget/Pinned.php:70 +msgid "I will attend" +msgstr "BÄ™dÄ™ uczestniczyÅ‚" + +#: ../../Zotlabs/Lib/ThreadItem.php:205 ../../Zotlabs/Widget/Pinned.php:70 +msgid "I will not attend" +msgstr "Nie bÄ™dÄ™ uczestniczyÅ‚" + +#: ../../Zotlabs/Lib/ThreadItem.php:205 ../../Zotlabs/Widget/Pinned.php:70 +msgid "I might attend" +msgstr "MogÄ™ wziąć udziaÅ‚" + +#: ../../Zotlabs/Lib/ThreadItem.php:219 ../../Zotlabs/Widget/Pinned.php:81 +msgid "I agree" +msgstr "Zgadzam siÄ™" + +#: ../../Zotlabs/Lib/ThreadItem.php:219 ../../Zotlabs/Widget/Pinned.php:81 +msgid "I disagree" +msgstr "Nie zgadzam siÄ™" + +#: ../../Zotlabs/Lib/ThreadItem.php:219 ../../Zotlabs/Widget/Pinned.php:81 +msgid "I abstain" +msgstr "WstrzymujÄ™ siÄ™" + +# Sprawdzić w kontekscie! +#: ../../Zotlabs/Lib/ThreadItem.php:273 ../../include/conversation.php:734 +msgid "Toggle Star Status" +msgstr "Przełącz stan gwiazdki" + +#: ../../Zotlabs/Lib/ThreadItem.php:284 ../../Zotlabs/Widget/Pinned.php:88 +#: ../../include/conversation.php:746 +msgid "Message signature validated" +msgstr "Podpis wiadomoÅ›ci zostaÅ‚ zatwierdzony" + +#: ../../Zotlabs/Lib/ThreadItem.php:285 ../../Zotlabs/Widget/Pinned.php:89 +#: ../../include/conversation.php:747 +msgid "Message signature incorrect" +msgstr "Niepoprawny podpis wiadomoÅ›ci" + +#: ../../Zotlabs/Lib/ThreadItem.php:301 ../../include/conversation.php:933 +msgid "Conversation Tools" +msgstr "NarzÄ™dzia do konwersacji" + +#: ../../Zotlabs/Lib/ThreadItem.php:317 ../../include/taxonomy.php:582 +msgid "like" +msgstr "lubi" + +#: ../../Zotlabs/Lib/ThreadItem.php:318 ../../include/taxonomy.php:583 +msgid "dislike" +msgstr "nie lubi" + +#: ../../Zotlabs/Lib/ThreadItem.php:319 +msgid "Reply on this comment" +msgstr "Odpowiedz na ten komentarz" + +#: ../../Zotlabs/Lib/ThreadItem.php:319 +msgid "reply" +msgstr "odpowiedz" + +#: ../../Zotlabs/Lib/ThreadItem.php:319 +msgid "Reply to" +msgstr "Odpowiedź dla" + +#: ../../Zotlabs/Lib/ThreadItem.php:329 ../../Zotlabs/Widget/Pinned.php:99 +msgid "Share This" +msgstr "UdostÄ™pnij to" + +#: ../../Zotlabs/Lib/ThreadItem.php:329 ../../Zotlabs/Widget/Pinned.php:99 +msgid "share" +msgstr "udostÄ™pnij" + +#: ../../Zotlabs/Lib/ThreadItem.php:339 +msgid "Delivery Report" +msgstr "Raport dostawy" + +#: ../../Zotlabs/Lib/ThreadItem.php:358 +#, php-format +msgid "%d comment" +msgid_plural "%d comments" +msgstr[0] "%d komentarz" +msgstr[1] "%d komentarze" +msgstr[2] "%d komentarzy" + +#: ../../Zotlabs/Lib/ThreadItem.php:359 +#, php-format +msgid "%d unseen" +msgstr "%d niezobaczone" + +#: ../../Zotlabs/Lib/ThreadItem.php:412 +msgid "to" +msgstr "do" + +#: ../../Zotlabs/Lib/ThreadItem.php:413 ../../Zotlabs/Widget/Pinned.php:128 +msgid "via" +msgstr "poprzez" + +#: ../../Zotlabs/Lib/ThreadItem.php:414 +msgid "Wall-to-Wall" +msgstr "Wall-to-Wall" + +#: ../../Zotlabs/Lib/ThreadItem.php:415 +msgid "via Wall-To-Wall:" +msgstr "poprzez Wall-To-Wall:" + +#: ../../Zotlabs/Lib/ThreadItem.php:429 ../../Zotlabs/Widget/Pinned.php:133 +#: ../../include/conversation.php:806 +#, php-format +msgid "from %s" +msgstr "od %s" + +#: ../../Zotlabs/Lib/ThreadItem.php:432 ../../Zotlabs/Widget/Pinned.php:136 +#: ../../include/conversation.php:809 +#, php-format +msgid "last edited: %s" +msgstr "ostatnio edytowane: %s" + +#: ../../Zotlabs/Lib/ThreadItem.php:433 ../../Zotlabs/Widget/Pinned.php:137 +#: ../../include/conversation.php:810 +#, php-format +msgid "Expires: %s" +msgstr "Wygasa: %s" + +#: ../../Zotlabs/Lib/ThreadItem.php:442 +msgid "Attend" +msgstr "Uczestnicz" + +#: ../../Zotlabs/Lib/ThreadItem.php:443 ../../Zotlabs/Widget/Pinned.php:143 +msgid "Attendance Options" +msgstr "Opcje obecnoÅ›ci" + +#: ../../Zotlabs/Lib/ThreadItem.php:444 ../../include/text.php:1922 +msgid "Vote" +msgstr "GÅ‚osuj" + +#: ../../Zotlabs/Lib/ThreadItem.php:445 ../../Zotlabs/Widget/Pinned.php:144 +msgid "Voting Options" +msgstr "Opcje gÅ‚osowania" + +#: ../../Zotlabs/Lib/ThreadItem.php:460 +msgid "Go to previous comment" +msgstr "Przejdź do poprzedniego komentarza" + +#: ../../Zotlabs/Lib/ThreadItem.php:469 ../../Zotlabs/Widget/Pinned.php:156 +msgid "Pinned post" +msgstr "Posty przypiÄ™te" + +#: ../../Zotlabs/Lib/ThreadItem.php:471 ../../Zotlabs/Widget/Pinned.php:157 +#: ../../include/js_strings.php:39 +msgid "Unpin from the top" +msgstr "Odepnij z góry" + +#: ../../Zotlabs/Lib/ThreadItem.php:471 ../../include/js_strings.php:38 +msgid "Pin to the top" +msgstr "Przypnij u góry" + +#: ../../Zotlabs/Lib/ThreadItem.php:472 +#: ../../extend/addon/hzaddons/bookmarker/bookmarker.php:38 +msgid "Save Bookmarks" +msgstr "Zapisz zakÅ‚adki" + +#: ../../Zotlabs/Lib/ThreadItem.php:473 +msgid "Add to Calendar" +msgstr "Dodaj do kalendarza" + +#: ../../Zotlabs/Lib/ThreadItem.php:500 ../../include/conversation.php:516 +msgid "This is an unsaved preview" +msgstr "Ten podglÄ…d nie zostaÅ‚ zapisany" + +#: ../../Zotlabs/Lib/ThreadItem.php:533 ../../include/js_strings.php:7 +#, php-format +msgid "%s show all" +msgstr "%s pokaż wszystko" + +#: ../../Zotlabs/Lib/ThreadItem.php:826 ../../include/conversation.php:1449 +#: ../../extend/addon/hzaddons/hsse/hsse.php:200 +msgid "Bold" +msgstr "Gruby" + +#: ../../Zotlabs/Lib/ThreadItem.php:827 ../../include/conversation.php:1450 +#: ../../extend/addon/hzaddons/hsse/hsse.php:201 +msgid "Italic" +msgstr "PochyÅ‚y" + +#: ../../Zotlabs/Lib/ThreadItem.php:828 ../../include/conversation.php:1451 +#: ../../extend/addon/hzaddons/hsse/hsse.php:202 +msgid "Underline" +msgstr "PodkreÅ›lony" + +#: ../../Zotlabs/Lib/ThreadItem.php:829 ../../include/conversation.php:1452 +#: ../../extend/addon/hzaddons/hsse/hsse.php:203 +msgid "Quote" +msgstr "Cytat" + +#: ../../Zotlabs/Lib/ThreadItem.php:830 ../../include/conversation.php:1453 +#: ../../extend/addon/hzaddons/hsse/hsse.php:204 +msgid "Code" +msgstr "Kod" + +#: ../../Zotlabs/Lib/ThreadItem.php:831 +msgid "Image" +msgstr "Obraz" + +#: ../../Zotlabs/Lib/ThreadItem.php:832 ../../include/conversation.php:1454 +#: ../../extend/addon/hzaddons/hsse/hsse.php:205 +msgid "Attach/Upload file" +msgstr "Załącz / przeÅ›lij plik" + +#: ../../Zotlabs/Lib/ThreadItem.php:833 +msgid "Insert Link" +msgstr "Wstaw link" + +#: ../../Zotlabs/Lib/ThreadItem.php:834 +msgid "Video" +msgstr "Wideo" + +#: ../../Zotlabs/Lib/ThreadItem.php:844 +msgid "Your full name (required)" +msgstr "Twoja imiÄ™ i nazwisko lub peÅ‚na nazwa (wymagane)" + +#: ../../Zotlabs/Lib/ThreadItem.php:845 +msgid "Your email address (required)" +msgstr "Twój adres email (wymagane)" + +#: ../../Zotlabs/Lib/ThreadItem.php:846 +msgid "Your website URL (optional)" +msgstr "Adres URL Twojej witryny (opcjonalnie)" + +#: ../../Zotlabs/Lib/Activity.php:2110 +#, php-format +msgid "Likes %1$s's %2$s" +msgstr "PolibieÅ„ %2$s %1$s" + +#: ../../Zotlabs/Lib/Activity.php:2113 +#, php-format +msgid "Doesn't like %1$s's %2$s" +msgstr "Dezaprobat %2$s %1$s" + +#: ../../Zotlabs/Lib/Activity.php:2119 +#, php-format +msgid "Will attend %s's event" +msgstr "Weźmie udziaÅ‚ w wydarzeniu %s" + +#: ../../Zotlabs/Lib/Activity.php:2122 +#, php-format +msgid "Will not attend %s's event" +msgstr "Nie weźmie udziaÅ‚u w wydarzeniu %s" + +#: ../../Zotlabs/Lib/Activity.php:2125 +#, php-format +msgid "May attend %s's event" +msgstr "Może uczestniczyć w wydarzeniu %s" + +#: ../../Zotlabs/Lib/Activity.php:2128 +#, php-format +msgid "May not attend %s's event" +msgstr "Nie może uczestniczyć w wydarzeniu %s" + +#: ../../Zotlabs/Lib/Activity.php:2821 ../../Zotlabs/Lib/Activity.php:3015 +#: ../../include/network.php:1736 +#: ../../extend/addon/hzaddons/pubcrawl/as.php:1479 +#: ../../extend/addon/hzaddons/pubcrawl/as.php:1733 +#: ../../extend/addon/hzaddons/pubcrawl/as.php:1941 +msgid "ActivityPub" +msgstr "ActivityPub" + +#: ../../Zotlabs/Lib/NativeWiki.php:145 +msgid "Wiki updated successfully" +msgstr "Wiki zaktualizowane pomyÅ›lnie" + +#: ../../Zotlabs/Lib/NativeWiki.php:199 +msgid "Wiki files deleted successfully" +msgstr "Pliki Wiki zostaÅ‚y pomyÅ›lnie usuniÄ™te" + +#: ../../Zotlabs/Lib/Libzotdir.php:163 ../../include/dir_fns.php:141 +msgid "Directory Options" +msgstr "Opcje katalogu" + +#: ../../Zotlabs/Lib/Libzotdir.php:165 ../../include/dir_fns.php:143 +msgid "Safe Mode" +msgstr "Tryb bezpieczny" + +#: ../../Zotlabs/Lib/Libzotdir.php:166 ../../include/dir_fns.php:144 +msgid "Public Forums Only" +msgstr "Tylko fora publiczne" + +#: ../../Zotlabs/Lib/Libzotdir.php:168 ../../include/dir_fns.php:145 +msgid "This Website Only" +msgstr "Tylko ten serwis" + +#: ../../Zotlabs/Lib/Permcat.php:82 +msgctxt "permcat" +msgid "default" +msgstr "domyÅ›lnie" + +#: ../../Zotlabs/Lib/Permcat.php:133 +msgctxt "permcat" +msgid "follower" +msgstr "obserwujÄ…cy" + +#: ../../Zotlabs/Lib/Permcat.php:137 +msgctxt "permcat" +msgid "contributor" +msgstr "współpracownik" + +#: ../../Zotlabs/Lib/Permcat.php:141 +msgctxt "permcat" +msgid "publisher" +msgstr "wydawca" + +#: ../../Zotlabs/Lib/Libzot.php:656 ../../include/zot.php:802 +msgid "Unable to verify channel signature" +msgstr "Nie można zweryfikować podpisu kanaÅ‚u" + +#: ../../Zotlabs/Lib/PermissionDescription.php:34 +#: ../../include/acl_selectors.php:33 +msgid "Visible to your default audience" +msgstr "Widoczne dla domyÅ›lnych odbiorców" + +#: ../../Zotlabs/Lib/PermissionDescription.php:107 +#: ../../include/acl_selectors.php:135 +msgid "Only me" +msgstr "Tylko ja" + +#: ../../Zotlabs/Lib/PermissionDescription.php:108 +msgid "Public" +msgstr "Publiczny" + +#: ../../Zotlabs/Lib/PermissionDescription.php:109 +msgid "Anybody in the $Projectname network" +msgstr "Każdy w sieci $Projectname" + +#: ../../Zotlabs/Lib/PermissionDescription.php:110 +#, php-format +msgid "Any account on %s" +msgstr "Dowolne konto na %s" + +#: ../../Zotlabs/Lib/PermissionDescription.php:111 +msgid "Any of my connections" +msgstr "Wszystkie moje połączenia" + +#: ../../Zotlabs/Lib/PermissionDescription.php:112 +msgid "Only connections I specifically allow" +msgstr "Tylko połączenia, na które wyraźnie zezwalam" + +#: ../../Zotlabs/Lib/PermissionDescription.php:113 +msgid "Anybody authenticated (could include visitors from other networks)" +msgstr "Każdy uwierzytelniony (może obejmować odwiedzajÄ…cych z innych sieci)" + +#: ../../Zotlabs/Lib/PermissionDescription.php:114 +msgid "Any connections including those who haven't yet been approved" +msgstr "Wszelkie połączenia, w tym te, które nie zostaÅ‚y jeszcze zatwierdzone" + +#: ../../Zotlabs/Lib/PermissionDescription.php:150 +msgid "" +"This is your default setting for the audience of your normal stream, and " +"posts." +msgstr "" +"To jest domyÅ›lne ustawienie odbiorców Twojego normalnego strumienia i postów." + +#: ../../Zotlabs/Lib/PermissionDescription.php:151 +msgid "" +"This is your default setting for who can view your default channel profile" +msgstr "" +"To jest domyÅ›lne ustawienie okreÅ›lajÄ…ce, kto może wyÅ›wietlać Twój domyÅ›lny " +"profil kanaÅ‚u" + +#: ../../Zotlabs/Lib/PermissionDescription.php:152 +msgid "This is your default setting for who can view your connections" +msgstr "" +"To jest domyÅ›lne ustawienie okreÅ›lajÄ…ce, kto może wyÅ›wietlać Twoje połączenia" + +#: ../../Zotlabs/Lib/PermissionDescription.php:153 +msgid "" +"This is your default setting for who can view your file storage and photos" +msgstr "" +"Jest to domyÅ›lne ustawienie okreÅ›lajÄ…ce, kto może wyÅ›wietlać miejsce na " +"pliki i zdjÄ™cia" + +#: ../../Zotlabs/Lib/PermissionDescription.php:154 +msgid "This is your default setting for the audience of your webpages" +msgstr "" +"To jest domyÅ›lne ustawienie dotyczÄ…ce odbiorców Twoich stron internetowych" + +#: ../../Zotlabs/Widget/Appcategories.php:46 ../../Zotlabs/Widget/Filer.php:31 +#: ../../include/contact_widgets.php:56 ../../include/contact_widgets.php:111 +#: ../../include/contact_widgets.php:155 ../../include/contact_widgets.php:200 +#: ../../include/contact_widgets.php:235 +msgid "Everything" +msgstr "Wszystko" + +#: ../../Zotlabs/Widget/Cdav.php:37 +msgid "Select Channel" +msgstr "Wybierz kanaÅ‚" + +#: ../../Zotlabs/Widget/Cdav.php:42 +msgid "Read-write" +msgstr "Czytanie i zapis" + +#: ../../Zotlabs/Widget/Cdav.php:43 +msgid "Read-only" +msgstr "Tylko odczyt" + +#: ../../Zotlabs/Widget/Cdav.php:127 +msgid "Channel Calendar" +msgstr "Kalendarz kanaÅ‚u" + +#: ../../Zotlabs/Widget/Cdav.php:131 +msgid "Shared CalDAV Calendars" +msgstr "UdostÄ™pnione kalendarze CalDAV" + +#: ../../Zotlabs/Widget/Cdav.php:135 +msgid "Share this calendar" +msgstr "UdostÄ™pnij ten kalendarz" + +#: ../../Zotlabs/Widget/Cdav.php:137 +msgid "Calendar name and color" +msgstr "Nazwa kalendarza i kolor" + +#: ../../Zotlabs/Widget/Cdav.php:139 +msgid "Create new CalDAV calendar" +msgstr "Utwórz nowy kalendarz CalDAV" + +#: ../../Zotlabs/Widget/Cdav.php:141 +msgid "Calendar Name" +msgstr "Nazwa kalendarza" + +#: ../../Zotlabs/Widget/Cdav.php:142 +msgid "Calendar Tools" +msgstr "NarzÄ™dzia kalendarza" + +#: ../../Zotlabs/Widget/Cdav.php:144 +msgid "Import calendar" +msgstr "Importuj kalendarz" + +#: ../../Zotlabs/Widget/Cdav.php:145 +msgid "Select a calendar to import to" +msgstr "Wybierz kalendarz do zaimportowania" + +#: ../../Zotlabs/Widget/Cdav.php:172 +msgid "Addressbooks" +msgstr "Książki adresowe" + +#: ../../Zotlabs/Widget/Cdav.php:174 +msgid "Addressbook name" +msgstr "Nazwa książki adresowej" + +#: ../../Zotlabs/Widget/Cdav.php:176 +msgid "Create new addressbook" +msgstr "Utwórz nowÄ… książkÄ™ adresowÄ…" + +#: ../../Zotlabs/Widget/Cdav.php:177 +msgid "Addressbook Name" +msgstr "Nazwa książki adresowej" + +#: ../../Zotlabs/Widget/Cdav.php:179 +msgid "Addressbook Tools" +msgstr "NarzÄ™dzia książki adresowej" + +#: ../../Zotlabs/Widget/Cdav.php:180 +msgid "Import addressbook" +msgstr "Importuj książkÄ™ adresowÄ…" + +#: ../../Zotlabs/Widget/Cdav.php:181 +msgid "Select an addressbook to import to" +msgstr "Wybierz książkÄ™ adresowÄ… do zaimportowania" + +#: ../../Zotlabs/Widget/Filer.php:28 +#: ../../Zotlabs/Widget/Activity_filter.php:179 +#: ../../include/contact_widgets.php:53 ../../include/features.php:319 +msgid "Saved Folders" +msgstr "Zapisywanie foldery" + +#: ../../Zotlabs/Widget/Tagcloud.php:22 ../../include/taxonomy.php:323 +#: ../../include/taxonomy.php:458 ../../include/taxonomy.php:479 +msgid "Tags" +msgstr "Tagi" + +#: ../../Zotlabs/Widget/Archive.php:43 +msgid "Archives" +msgstr "Archiwa" + +#: ../../Zotlabs/Widget/Chatroom_members.php:11 +msgid "Chat Members" +msgstr "CzÅ‚onkowie czatu" + +#: ../../Zotlabs/Widget/Rating.php:51 +msgid "Rating Tools" +msgstr "NarzÄ™dzia" + +#: ../../Zotlabs/Widget/Rating.php:55 ../../Zotlabs/Widget/Rating.php:57 +msgid "Rate Me" +msgstr "OceÅ„ mnie" + +#: ../../Zotlabs/Widget/Rating.php:60 +msgid "View Ratings" +msgstr "Pokaż oceny" + +#: ../../Zotlabs/Widget/Wiki_pages.php:34 +#: ../../Zotlabs/Widget/Wiki_pages.php:91 +msgid "Add new page" +msgstr "Dodaj nowÄ… stronÄ™" + +#: ../../Zotlabs/Widget/Wiki_pages.php:85 +msgid "Wiki Pages" +msgstr "Strony wiki" + +#: ../../Zotlabs/Widget/Wiki_pages.php:96 +msgid "Page name" +msgstr "Nazwa strony" + +#: ../../Zotlabs/Widget/Bookmarkedchats.php:24 +msgid "Bookmarked Chatrooms" +msgstr "Czaty dodane do zakÅ‚adek" + +#: ../../Zotlabs/Widget/Photo.php:48 ../../Zotlabs/Widget/Photo_rand.php:58 +msgid "photo/image" +msgstr "zdjÄ™cie/obraz" + +#: ../../Zotlabs/Widget/Forums.php:100 +#: ../../Zotlabs/Widget/Activity_filter.php:115 +#: ../../Zotlabs/Widget/Notifications.php:139 +#: ../../Zotlabs/Widget/Notifications.php:140 +#: ../../include/acl_selectors.php:124 +msgid "Forums" +msgstr "Fora" + +#: ../../Zotlabs/Widget/Savedsearch.php:75 +msgid "Remove term" +msgstr "UsuÅ„ termin" + +#: ../../Zotlabs/Widget/Savedsearch.php:83 ../../include/features.php:311 +msgid "Saved Searches" +msgstr "Zapisywanie wyszukiwania" + +#: ../../Zotlabs/Widget/Follow.php:22 +#, php-format +msgid "You have %1$.0f of %2$.0f allowed connections." +msgstr "Masz %1$.0f z %2$.0f dozwolonych połączeÅ„." + +#: ../../Zotlabs/Widget/Follow.php:29 +msgid "Add New Connection" +msgstr "Dodaj nowe połączenie" + +#: ../../Zotlabs/Widget/Follow.php:30 +msgid "Enter channel address" +msgstr "Wprowadź adres kanaÅ‚u" + +#: ../../Zotlabs/Widget/Follow.php:31 +msgid "Examples: bob@example.com, https://example.com/barbara" +msgstr "PrzykÅ‚ady: bob@example.com, https://example.com/barbara" + +#: ../../Zotlabs/Widget/Suggestions.php:53 +msgid "Suggestions" +msgstr "Propozycje" + +#: ../../Zotlabs/Widget/Suggestions.php:54 +msgid "See more..." +msgstr "Zobacz wiÄ™cej..." + +#: ../../Zotlabs/Widget/Tasklist.php:23 +msgid "Tasks" +msgstr "Zadania" + +#: ../../Zotlabs/Widget/Admin.php:23 ../../Zotlabs/Widget/Admin.php:60 +msgid "Member registrations waiting for confirmation" +msgstr "Rejestracja czÅ‚onków czeka na potwierdzenie" + +#: ../../Zotlabs/Widget/Admin.php:29 +msgid "Inspect queue" +msgstr "Sprawdź kolejkÄ™" + +#: ../../Zotlabs/Widget/Admin.php:31 +msgid "DB updates" +msgstr "Aktualizacje bazy danych" + +#: ../../Zotlabs/Widget/Admin.php:55 ../../include/nav.php:194 +msgid "Admin" +msgstr "Admin" + +#: ../../Zotlabs/Widget/Admin.php:56 +msgid "Addon Features" +msgstr "Funkcje dodatków" + +#: ../../Zotlabs/Widget/Chatroom_list.php:20 +msgid "Overview" +msgstr "PrzeglÄ…d" + +#: ../../Zotlabs/Widget/Appstore.php:11 +msgid "App Collections" +msgstr "Kolekcja aplikacji" + +#: ../../Zotlabs/Widget/Appstore.php:13 +msgid "Installed apps" +msgstr "Zainstalowane aplikacje" + +#: ../../Zotlabs/Widget/Activity_order.php:90 +msgid "Commented Date" +msgstr "Data skomentowania" + +#: ../../Zotlabs/Widget/Activity_order.php:94 +msgid "Order by last commented date" +msgstr "Sortuj wedÅ‚ug najnowszej daty skomentowania" + +#: ../../Zotlabs/Widget/Activity_order.php:97 +msgid "Posted Date" +msgstr "Data opublikowania" + +#: ../../Zotlabs/Widget/Activity_order.php:101 +msgid "Order by last posted date" +msgstr "Sortuj wedÅ‚ug najnowszej daty publikacji" + +#: ../../Zotlabs/Widget/Activity_order.php:104 +msgid "Date Unthreaded" +msgstr "Data zakoÅ„czenia wÄ…tku" + +#: ../../Zotlabs/Widget/Activity_order.php:108 +msgid "Order unthreaded by date" +msgstr "Sortuj wedÅ‚ug daty zakoÅ„czenia wÄ…tku" + +#: ../../Zotlabs/Widget/Activity_order.php:123 +msgid "Stream Order" +msgstr "Kolejność strumienia" + +#: ../../Zotlabs/Widget/Mailmenu.php:13 +msgid "Private Mail Menu" +msgstr "Menu prywatnej poczty" + +#: ../../Zotlabs/Widget/Mailmenu.php:15 +msgid "Combined View" +msgstr "Widok łączony" + +#: ../../Zotlabs/Widget/Mailmenu.php:20 +msgid "Inbox" +msgstr "Skrzynka odbiorcza" + +#: ../../Zotlabs/Widget/Mailmenu.php:25 +msgid "Outbox" +msgstr "Skrzynka nadawcza" + +#: ../../Zotlabs/Widget/Mailmenu.php:30 +msgid "New Message" +msgstr "Nowy komunikat" + +#: ../../Zotlabs/Widget/Affinity.php:54 +msgid "Refresh" +msgstr "OdÅ›wież" + +#: ../../Zotlabs/Widget/Hq_controls.php:14 +msgid "HQ Control Panel" +msgstr "Panel kontrolny HQ" + +#: ../../Zotlabs/Widget/Hq_controls.php:17 +msgid "Create a new post" +msgstr "Utwórz nowy post" + +#: ../../Zotlabs/Widget/Eventstools.php:13 +msgid "Events Tools" +msgstr "NarzÄ™dzia wydarzeÅ„" + +#: ../../Zotlabs/Widget/Eventstools.php:14 +msgid "Export Calendar" +msgstr "Eksport kalendarza" + +#: ../../Zotlabs/Widget/Eventstools.php:15 +msgid "Import Calendar" +msgstr "Import kalendarza" + +#: ../../Zotlabs/Widget/Activity_filter.php:33 +msgid "Direct Messages" +msgstr "BezpoÅ›rednie wiadomoÅ›ci" + +#: ../../Zotlabs/Widget/Activity_filter.php:37 +msgid "Show direct (private) messages" +msgstr "Pokaż bezpoÅ›rednie (prywatne) wiadomoÅ›ci" + +#: ../../Zotlabs/Widget/Activity_filter.php:42 +msgid "Events" +msgstr "Wydarzenia" + +#: ../../Zotlabs/Widget/Activity_filter.php:46 +msgid "Show posts that include events" +msgstr "Pokaż posty zawierajÄ…ce wydarzenia" + +#: ../../Zotlabs/Widget/Activity_filter.php:52 +msgid "Polls" +msgstr "Ankiety" + +#: ../../Zotlabs/Widget/Activity_filter.php:56 +msgid "Show posts that include polls" +msgstr "Pokaż posty zawierajÄ…ce ankiety" + +#: ../../Zotlabs/Widget/Activity_filter.php:77 +#, php-format +msgid "Show posts related to the %s privacy group" +msgstr "Pokaż posty zwiÄ…zane z grupÄ… prywatnoÅ›ci %s" + +#: ../../Zotlabs/Widget/Activity_filter.php:86 +msgid "Show my privacy groups" +msgstr "Pokaż moje grupy prywatnoÅ›ci" + +#: ../../Zotlabs/Widget/Activity_filter.php:108 +msgid "Show posts to this forum" +msgstr "Pokaż posty na tym forum" + +#: ../../Zotlabs/Widget/Activity_filter.php:119 +msgid "Show forums" +msgstr "Pokaż fora" + +#: ../../Zotlabs/Widget/Activity_filter.php:133 +msgid "Starred Posts" +msgstr "Wyróżnione posty" + +#: ../../Zotlabs/Widget/Activity_filter.php:137 +msgid "Show posts that I have starred" +msgstr "Pokaż posty, które oznaczyÅ‚em gwiazdkÄ…" + +#: ../../Zotlabs/Widget/Activity_filter.php:148 +msgid "Personal Posts" +msgstr "Posty osobiste" + +#: ../../Zotlabs/Widget/Activity_filter.php:152 +msgid "Show posts that mention or involve me" +msgstr "Pokaż posty, które wspominajÄ… o mnie lub mnie dotyczÄ…" + +#: ../../Zotlabs/Widget/Activity_filter.php:173 +#, php-format +msgid "Show posts that I have filed to %s" +msgstr "Pokaż posty przesÅ‚ane przeze mnie do %s" + +#: ../../Zotlabs/Widget/Activity_filter.php:183 +msgid "Show filed post categories" +msgstr "Pokaż wprowadzone kategorie postów" + +#: ../../Zotlabs/Widget/Activity_filter.php:197 +msgid "Panel search" +msgstr "Przeszukiwanie panelu" + +#: ../../Zotlabs/Widget/Activity_filter.php:207 +msgid "Filter by name" +msgstr "Filtruj wg nazwy" + +#: ../../Zotlabs/Widget/Activity_filter.php:222 +msgid "Remove active filter" +msgstr "UsuÅ„ aktywny filtr" + +#: ../../Zotlabs/Widget/Activity_filter.php:238 +msgid "Stream Filters" +msgstr "Filtry strumienia" + +#: ../../Zotlabs/Widget/Activity.php:50 +msgctxt "widget" +msgid "Activity" +msgstr "Aktywność" + +#: ../../Zotlabs/Widget/Notifications.php:16 +msgid "New Network Activity" +msgstr "Nowa aktywność sieciowa" + +#: ../../Zotlabs/Widget/Notifications.php:17 +msgid "New Network Activity Notifications" +msgstr "Powiadomienia o nowej aktywnoÅ›ci sieciowej" + +#: ../../Zotlabs/Widget/Notifications.php:20 +msgid "View your network activity" +msgstr "WyÅ›wietl swojÄ… aktywność w sieci" + +#: ../../Zotlabs/Widget/Notifications.php:23 +#: ../../Zotlabs/Widget/Notifications.php:62 +msgid "Mark all notifications read" +msgstr "Oznacz wszystkie powiadomienia jako przeczytane" + +#: ../../Zotlabs/Widget/Notifications.php:26 +#: ../../Zotlabs/Widget/Notifications.php:46 +#: ../../Zotlabs/Widget/Notifications.php:65 +#: ../../Zotlabs/Widget/Notifications.php:172 +msgid "Show new posts only" +msgstr "Pokaż tylko nowe posty" + +#: ../../Zotlabs/Widget/Notifications.php:27 +#: ../../Zotlabs/Widget/Notifications.php:47 +#: ../../Zotlabs/Widget/Notifications.php:66 +#: ../../Zotlabs/Widget/Notifications.php:142 +#: ../../Zotlabs/Widget/Notifications.php:173 +msgid "Filter by name or address" +msgstr "Filtruj wedÅ‚ug nazwy lub adresu" + +# Sprawdzić w kontekÅ›cie! +#: ../../Zotlabs/Widget/Notifications.php:36 +msgid "New Home Activity" +msgstr "Nowa aktywność domowa" + +#: ../../Zotlabs/Widget/Notifications.php:37 +msgid "New Home Activity Notifications" +msgstr "Powiadomienia o nowej aktywnoÅ›ci domowej" + +#: ../../Zotlabs/Widget/Notifications.php:40 +msgid "View your home activity" +msgstr "WyÅ›wietl swojÄ… aktywność domowÄ…" + +#: ../../Zotlabs/Widget/Notifications.php:43 +#: ../../Zotlabs/Widget/Notifications.php:169 +msgid "Mark all notifications seen" +msgstr "Oznacz wszystkie powiadomienia jako oglÄ…dniÄ™te" + +#: ../../Zotlabs/Widget/Notifications.php:55 +msgid "New Direct Messages" +msgstr "Nowe bezpoÅ›rednie wiadomoÅ›ci" + +#: ../../Zotlabs/Widget/Notifications.php:56 +msgid "New Direct Messages Notifications" +msgstr "Powiadomienia o nowych wiadomoÅ›ciach bezpoÅ›rednich" + +#: ../../Zotlabs/Widget/Notifications.php:59 +msgid "View your direct messages" +msgstr "WyÅ›wietl swoje bezpoÅ›rednie wiadomoÅ›ci" + +#: ../../Zotlabs/Widget/Notifications.php:74 +msgid "New Mails" +msgstr "Nowe wiadomoÅ›ci e-mail" + +#: ../../Zotlabs/Widget/Notifications.php:75 +msgid "New Mails Notifications" +msgstr "Powiadomienia o nowych wiadomoÅ›ciach e-mail" + +#: ../../Zotlabs/Widget/Notifications.php:78 +msgid "View your private mails" +msgstr "Zobacz swoje prywatne wiadomoÅ›ci" + +#: ../../Zotlabs/Widget/Notifications.php:81 +msgid "Mark all messages seen" +msgstr "Oznacz wszystkie wiadomoÅ›ci jako oglÄ…dniÄ™te" + +#: ../../Zotlabs/Widget/Notifications.php:89 +msgid "New Events" +msgstr "Nowe wydarzenia" + +#: ../../Zotlabs/Widget/Notifications.php:90 +msgid "New Events Notifications" +msgstr "Powiadomienia o nowych wydarzeniach" + +#: ../../Zotlabs/Widget/Notifications.php:93 +msgid "View events" +msgstr "Pokaż wydarzenia" + +#: ../../Zotlabs/Widget/Notifications.php:96 +msgid "Mark all events seen" +msgstr "Oznacza wydarzenia jako oglÄ…dniÄ™te" + +#: ../../Zotlabs/Widget/Notifications.php:105 +msgid "New Connections Notifications" +msgstr "Powiadomienia o nowych połączeniach" + +#: ../../Zotlabs/Widget/Notifications.php:108 +msgid "View all connections" +msgstr "Pokaż wszystkie połączenia" + +#: ../../Zotlabs/Widget/Notifications.php:116 +msgid "New Files" +msgstr "Nowe pliki" + +#: ../../Zotlabs/Widget/Notifications.php:117 +msgid "New Files Notifications" +msgstr "Powiadomienia o nowych plikach" + +#: ../../Zotlabs/Widget/Notifications.php:124 +#: ../../Zotlabs/Widget/Notifications.php:125 +msgid "Notices" +msgstr "Powiadomienia" + +#: ../../Zotlabs/Widget/Notifications.php:128 +msgid "View all notices" +msgstr "Pokaż wszystkie powiadomienia" + +#: ../../Zotlabs/Widget/Notifications.php:131 +msgid "Mark all notices seen" +msgstr "Oznacza wszystkie powiadomienia jako oglÄ…dniÄ™te" + +#: ../../Zotlabs/Widget/Notifications.php:152 +msgid "New Registrations" +msgstr "Nowe rejestracje" + +#: ../../Zotlabs/Widget/Notifications.php:153 +msgid "New Registrations Notifications" +msgstr "Powiadomienia o nowych rejestracjach" + +#: ../../Zotlabs/Widget/Notifications.php:163 +msgid "Public Stream Notifications" +msgstr "Powiadomienia o strimieniu publicznym" + +#: ../../Zotlabs/Widget/Notifications.php:166 +msgid "View the public stream" +msgstr "Pokaż strumieÅ„ publiczny" + +#: ../../Zotlabs/Widget/Notifications.php:181 +msgid "Sorry, you have got no notifications at the moment" +msgstr "W tej chwili nie masz żadnych powiadomieÅ„" + +#: ../../Zotlabs/Widget/Pinned.php:123 ../../Zotlabs/Widget/Pinned.php:124 +#, php-format +msgid "View %s's profile - %s" +msgstr "Pokaż profile %s - %s" + +#: ../../Zotlabs/Widget/Pinned.php:158 +msgid "Don't show" +msgstr "Nie pokazuj" + +#: ../../Zotlabs/Widget/Settings_menu.php:32 +msgid "Account settings" +msgstr "Ustawienia konta" + +#: ../../Zotlabs/Widget/Settings_menu.php:38 +msgid "Channel settings" +msgstr "Ustawienia kanaÅ‚u" + +#: ../../Zotlabs/Widget/Settings_menu.php:46 +msgid "Display settings" +msgstr "Ustawienia wyÅ›wietlania" + +#: ../../Zotlabs/Widget/Settings_menu.php:53 +msgid "Manage locations" +msgstr "ZarzÄ…dzaj lokalizacjami" + +#: ../../Zotlabs/Widget/Suggestedchats.php:32 +msgid "Suggested Chatrooms" +msgstr "Sugerowane czaty" + +#: ../../Zotlabs/Widget/Conversations.php:17 +msgid "Received Messages" +msgstr "Otrzymane wiadomoÅ›ci" + +#: ../../Zotlabs/Widget/Conversations.php:21 +msgid "Sent Messages" +msgstr "WysÅ‚ane wiadomoÅ›ci" + +#: ../../Zotlabs/Widget/Conversations.php:25 +msgid "Conversations" +msgstr "Rozmowy" + +#: ../../Zotlabs/Widget/Conversations.php:37 +msgid "No messages." +msgstr "Brak wiadomoÅ›ci." + +#: ../../Zotlabs/Widget/Conversations.php:57 +msgid "Delete conversation" +msgstr "UsuÅ„ rozmowÄ™" + +#: ../../Zotlabs/Widget/Newmember.php:31 +msgid "Profile Creation" +msgstr "Tworzenie profilu" + +#: ../../Zotlabs/Widget/Newmember.php:33 +msgid "Upload profile photo" +msgstr "PrzeÅ›lij zdjÄ™cie profilowe" + +#: ../../Zotlabs/Widget/Newmember.php:34 +msgid "Upload cover photo" +msgstr "PrzeÅ›lij zdjÄ™cie okÅ‚adkowe" + +#: ../../Zotlabs/Widget/Newmember.php:35 ../../include/nav.php:117 +msgid "Edit your profile" +msgstr "Edytuj swój profil" + +#: ../../Zotlabs/Widget/Newmember.php:38 +msgid "Find and Connect with others" +msgstr "Znajdź i połącz siÄ™ z innymi" + +#: ../../Zotlabs/Widget/Newmember.php:40 +msgid "View the directory" +msgstr "Pokaż katalog" + +#: ../../Zotlabs/Widget/Newmember.php:42 +msgid "Manage your connections" +msgstr "ZarzÄ…dzaj swoimi połączeniami" + +#: ../../Zotlabs/Widget/Newmember.php:45 +msgid "Communicate" +msgstr "Komunikuj siÄ™" + +#: ../../Zotlabs/Widget/Newmember.php:47 +msgid "View your channel homepage" +msgstr "WyÅ›wietl stronÄ™ głównÄ… swojego kanaÅ‚u" + +#: ../../Zotlabs/Widget/Newmember.php:48 +msgid "View your network stream" +msgstr "WyÅ›wietl swój strumieÅ„ sieciowy" + +#: ../../Zotlabs/Widget/Newmember.php:54 +msgid "Documentation" +msgstr "Dokumentacja" + +#: ../../Zotlabs/Widget/Newmember.php:57 +msgid "Missing Features?" +msgstr "Brakuje funkcji?" + +#: ../../Zotlabs/Widget/Newmember.php:59 +msgid "Pin apps to navigation bar" +msgstr "Przypinaj aplikacje do paska nawigacji" + +#: ../../Zotlabs/Widget/Newmember.php:60 +msgid "Install more apps" +msgstr "Zainstaluj wiÄ™cej aplikacji" + +#: ../../Zotlabs/Widget/Newmember.php:71 +msgid "View public stream" +msgstr "Pokaż publiczny strumieÅ„" + +#: ../../Zotlabs/Widget/Cover_photo.php:65 +msgid "Click to show more" +msgstr "Kliknij, aby pokazać wiÄ™cej" + +#: ../../util/nconfig.php:34 +msgid "Source channel not found." +msgstr "Nie znaleziono kanaÅ‚u źródÅ‚owego." + +#: ../../include/contact_widgets.php:11 +#, php-format +msgid "%d invitation available" +msgid_plural "%d invitations available" +msgstr[0] "%d dostÄ™pne zaproszenie" +msgstr[1] "%d dostÄ™pne zaproszenia" +msgstr[2] "%d dostÄ™pnych zaproszeÅ„" + +#: ../../include/contact_widgets.php:19 +msgid "Find Channels" +msgstr "Znajdź kanaÅ‚y" + +#: ../../include/contact_widgets.php:20 +msgid "Enter name or interest" +msgstr "Wpisz nazwÄ™ lub zainteresowanie" + +#: ../../include/contact_widgets.php:21 +msgid "Connect/Follow" +msgstr "Połącz/Obserwuj" + +#: ../../include/contact_widgets.php:22 +msgid "Examples: Robert Morgenstein, Fishing" +msgstr "PrzykÅ‚ady: Robert Morgenstein, Å‚owienie ryb" + +#: ../../include/contact_widgets.php:26 +msgid "Random Profile" +msgstr "Losowy profil" + +#: ../../include/contact_widgets.php:27 +msgid "Invite Friends" +msgstr "ZaproÅ› przyjaciół" + +#: ../../include/contact_widgets.php:29 +msgid "Advanced example: name=fred and country=iceland" +msgstr "Zaawansowany przykÅ‚ad: name=fred i country=iceland" + +#: ../../include/contact_widgets.php:265 +msgid "Common Connections" +msgstr "Popularne połączenia" + +#: ../../include/contact_widgets.php:269 +#, php-format +msgid "View all %d common connections" +msgstr "WyÅ›wietl wszystkie %d popularne połączenia" + +#: ../../include/conversation.php:183 +#, php-format +msgid "likes %1$s's %2$s" +msgstr "polubieÅ„ %1$s %2$s" + +#: ../../include/conversation.php:186 +#, php-format +msgid "doesn't like %1$s's %2$s" +msgstr "dezaprobat %1$s %2$s" + +#: ../../include/conversation.php:226 ../../include/conversation.php:228 +#, php-format +msgid "%1$s is now connected with %2$s" +msgstr "%1$s jest teraz połączony z %2$s" + +#: ../../include/conversation.php:263 +#, php-format +msgid "%1$s poked %2$s" +msgstr "%1$s szturchnÄ…Å‚ %2$s" + +#: ../../include/conversation.php:267 ../../include/text.php:1242 +#: ../../include/text.php:1246 +msgid "poked" +msgstr "szturchniÄ™ty" + +#: ../../include/conversation.php:779 +#, php-format +msgid "View %s's profile @ %s" +msgstr "Pokaż profil %s @ %s" + +#: ../../include/conversation.php:799 +msgid "Categories:" +msgstr "Kategorie:" + +#: ../../include/conversation.php:800 +msgid "Filed under:" +msgstr "ZÅ‚ożone pod:" + +#: ../../include/conversation.php:825 +msgid "View in context" +msgstr "Zobacz w kontekÅ›cie" + +#: ../../include/conversation.php:928 +msgid "remove" +msgstr "usuÅ„" + +#: ../../include/conversation.php:932 +msgid "Loading..." +msgstr "Åadowanie ..." + +#: ../../include/conversation.php:934 +msgid "Delete Selected Items" +msgstr "UsuÅ„ wybrane elementy" + +#: ../../include/conversation.php:977 +msgid "View Source" +msgstr "Pokaż źródÅ‚o" + +#: ../../include/conversation.php:987 +msgid "Follow Thread" +msgstr "Obserwuj wÄ…tek" + +#: ../../include/conversation.php:996 +msgid "Unfollow Thread" +msgstr "PrzestaÅ„ obserwować wÄ…tek" + +#: ../../include/conversation.php:1110 +msgid "Edit Connection" +msgstr "Edytuj połączenie" + +#: ../../include/conversation.php:1120 +msgid "Message" +msgstr "Wiadowmość" + +#: ../../include/conversation.php:1262 +#, php-format +msgid "%s likes this." +msgstr "%s lubi to." + +#: ../../include/conversation.php:1262 +#, php-format +msgid "%s doesn't like this." +msgstr "%s nie lubi tego." + +#: ../../include/conversation.php:1266 +#, php-format +msgid "<span %1$s>%2$d people</span> like this." +msgid_plural "<span %1$s>%2$d people</span> like this." +msgstr[0] "<span %1$s>%2$d osoba</span> lubi to." +msgstr[1] "<span %1$s>%2$d osoby</span> lubiÄ… tego." +msgstr[2] "<span %1$s>%2$d osób</span> lubi tego." + +#: ../../include/conversation.php:1268 +#, php-format +msgid "<span %1$s>%2$d people</span> don't like this." +msgid_plural "<span %1$s>%2$d people</span> don't like this." +msgstr[0] "<span %1$s>%2$d osoba</span> nie lubi to." +msgstr[1] "<span %1$s>%2$d osoby</span> nie lubiÄ… tego." +msgstr[2] "<span %1$s>%2$d osób</span> nie lubiÄ… tego." + +#: ../../include/conversation.php:1274 +msgid "and" +msgstr "i" + +#: ../../include/conversation.php:1277 +#, php-format +msgid ", and %d other people" +msgid_plural ", and %d other people" +msgstr[0] ", i %d inna osoba" +msgstr[1] ", i %d inne osoby" +msgstr[2] ", i %d innych osób" + +#: ../../include/conversation.php:1278 +#, php-format +msgid "%s like this." +msgstr "%s lubi to." + +#: ../../include/conversation.php:1278 +#, php-format +msgid "%s don't like this." +msgstr "%s nie lubi tego." + +#: ../../include/conversation.php:1328 +#: ../../extend/addon/hzaddons/hsse/hsse.php:82 +msgid "Set your location" +msgstr "Ustaw swojÄ… lokalizacjÄ™" + +#: ../../include/conversation.php:1329 +#: ../../extend/addon/hzaddons/hsse/hsse.php:83 +msgid "Clear browser location" +msgstr "Wyczyść lokalizacjÄ™ przeglÄ…darki" + +#: ../../include/conversation.php:1345 +#: ../../extend/addon/hzaddons/hsse/hsse.php:99 +msgid "Embed (existing) photo from your photo albums" +msgstr "Osadź (istniejÄ…ce) zdjÄ™cie z albumów ze zdjÄ™ciami" + +#: ../../include/conversation.php:1381 +#: ../../extend/addon/hzaddons/hsse/hsse.php:135 +msgid "Tag term:" +msgstr "Termin tagu:" + +#: ../../include/conversation.php:1382 +#: ../../extend/addon/hzaddons/hsse/hsse.php:136 +msgid "Where are you right now?" +msgstr "Gdzie teraz jesteÅ›?" + +#: ../../include/conversation.php:1387 +#: ../../extend/addon/hzaddons/hsse/hsse.php:141 +msgid "Choose a different album..." +msgstr "Wybierz inny album..." + +#: ../../include/conversation.php:1391 +#: ../../extend/addon/hzaddons/hsse/hsse.php:145 +msgid "Comments enabled" +msgstr "Włączone komentowanie" + +#: ../../include/conversation.php:1392 +#: ../../extend/addon/hzaddons/hsse/hsse.php:146 +msgid "Comments disabled" +msgstr "Wyłączone komentowanie" + +#: ../../include/conversation.php:1444 +#: ../../extend/addon/hzaddons/hsse/hsse.php:195 +msgid "Page link name" +msgstr "Nazwa linku do strony" + +#: ../../include/conversation.php:1447 +#: ../../extend/addon/hzaddons/hsse/hsse.php:198 +msgid "Post as" +msgstr "Opublikuj jako" + +#: ../../include/conversation.php:1461 +#: ../../extend/addon/hzaddons/hsse/hsse.php:212 +msgid "Toggle voting" +msgstr "Przełącz gÅ‚osowanie" + +#: ../../include/conversation.php:1462 +msgid "Toggle poll" +msgstr "Przełącz ankietÄ™" + +#: ../../include/conversation.php:1463 +msgid "Option" +msgstr "Opcja" + +#: ../../include/conversation.php:1464 +msgid "Add option" +msgstr "Dodaj opcjÄ™" + +#: ../../include/conversation.php:1465 +msgid "Minutes" +msgstr "Minuty" + +#: ../../include/conversation.php:1465 +msgid "Hours" +msgstr "Godziny" + +#: ../../include/conversation.php:1465 +msgid "Days" +msgstr "Dni" + +#: ../../include/conversation.php:1466 +msgid "Allow multiple answers" +msgstr "Zezwalaj na wiele odpowiedzi" + +#: ../../include/conversation.php:1468 +#: ../../extend/addon/hzaddons/hsse/hsse.php:215 +msgid "Disable comments" +msgstr "Wyłącz komentarze" + +#: ../../include/conversation.php:1469 +#: ../../extend/addon/hzaddons/hsse/hsse.php:216 +msgid "Toggle comments" +msgstr "Przełącz komentarze" + +#: ../../include/conversation.php:1477 +#: ../../extend/addon/hzaddons/hsse/hsse.php:224 +msgid "Categories (optional, comma-separated list)" +msgstr "Kategorie (opcjonalnie, lista rozdzielana przecinkami)" + +#: ../../include/conversation.php:1500 +#: ../../extend/addon/hzaddons/hsse/hsse.php:247 +msgid "Other networks and post services" +msgstr "Inne sieci i usÅ‚ugi spoÅ‚ecznoÅ›ciowe" + +#: ../../include/conversation.php:1503 +#: ../../extend/addon/hzaddons/hsse/hsse.php:250 +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:170 +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:313 +msgid "Set expiration date" +msgstr "Ustaw datÄ™ wygaÅ›niÄ™cia" + +#: ../../include/conversation.php:1506 +#: ../../extend/addon/hzaddons/hsse/hsse.php:253 +msgid "Set publish date" +msgstr "Ustaw datÄ™ publikacji" + +#: ../../include/conversation.php:1755 +msgctxt "noun" +msgid "Attending" +msgid_plural "Attending" +msgstr[0] "Uczestniczy" +msgstr[1] "Uczestnictwa" +msgstr[2] "Uczestnictw" + +#: ../../include/conversation.php:1758 +msgctxt "noun" +msgid "Not Attending" +msgid_plural "Not Attending" +msgstr[0] "Nie uczesticzy" +msgstr[1] "Nie uczestniczÄ…" +msgstr[2] "Nie uczestniczy" + +#: ../../include/conversation.php:1761 +msgctxt "noun" +msgid "Undecided" +msgid_plural "Undecided" +msgstr[0] "Niezdecydowany" +msgstr[1] "Niezdecydowane" +msgstr[2] "Niezdecydowanych" + +#: ../../include/conversation.php:1764 +msgctxt "noun" +msgid "Agree" +msgid_plural "Agrees" +msgstr[0] "Zgadza siÄ™" +msgstr[1] "ZgadajÄ… siÄ™" +msgstr[2] "Zgadza siÄ™" + +#: ../../include/conversation.php:1767 +msgctxt "noun" +msgid "Disagree" +msgid_plural "Disagrees" +msgstr[0] "Nie zgadza siÄ™" +msgstr[1] "Nie zgadzajÄ… siÄ™" +msgstr[2] "Nie zgadza siÄ™" + +#: ../../include/conversation.php:1770 +msgctxt "noun" +msgid "Abstain" +msgid_plural "Abstains" +msgstr[0] "Wstrzymuje siÄ™" +msgstr[1] "WstrzymujÄ… siÄ™" +msgstr[2] "Wstrzymuje siÄ™" + +#: ../../include/channel.php:46 +msgid "Unable to obtain identity information from database" +msgstr "Nie można uzyskać informacji z bazy danych o tożsamoÅ›ci" + +#: ../../include/channel.php:79 +msgid "Empty name" +msgstr "Pusta nazwa" + +#: ../../include/channel.php:82 +msgid "Name too long" +msgstr "Nazwa jest za dÅ‚uga" + +#: ../../include/channel.php:199 +msgid "No account identifier" +msgstr "Brak identyfikatora konta" + +#: ../../include/channel.php:211 +msgid "Nickname is required." +msgstr "Pseudonim jest wymagany." + +#: ../../include/channel.php:294 +msgid "Unable to retrieve created identity" +msgstr "Nie można pobrać utworzonej tożsamoÅ›ci" + +#: ../../include/channel.php:441 +msgid "Default Profile" +msgstr "DomyÅ›lny profil" + +#: ../../include/channel.php:639 ../../include/channel.php:728 +msgid "Unable to retrieve modified identity" +msgstr "Nie można pobrać zmodyfikowanej tożsamoÅ›ci" + +#: ../../include/channel.php:1385 +msgid "Requested channel is not available." +msgstr "Żądany kanaÅ‚ nie jest dostÄ™pny." + +#: ../../include/channel.php:1539 +msgid "Create New Profile" +msgstr "Utwórz nowy profil" + +#: ../../include/channel.php:1542 ../../include/nav.php:117 +#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:58 +msgid "Edit Profile" +msgstr "Edytuj profil" + +#: ../../include/channel.php:1560 +msgid "Visible to everybody" +msgstr "Widoczne dla każdego" + +#: ../../include/channel.php:1637 ../../include/channel.php:1765 +msgid "Gender:" +msgstr "PÅ‚eć:" + +#: ../../include/channel.php:1638 ../../include/channel.php:1809 +msgid "Status:" +msgstr "Status:" + +#: ../../include/channel.php:1639 ../../include/channel.php:1833 +msgid "Homepage:" +msgstr "Strona domowa:" + +#: ../../include/channel.php:1640 +msgid "Online Now" +msgstr "Teraz online" + +#: ../../include/channel.php:1693 +msgid "Change your profile photo" +msgstr "ZmieÅ„ swoje zdjÄ™cie profilowe" + +#: ../../include/channel.php:1720 ../../include/selectors.php:60 +#: ../../include/selectors.php:77 +#: ../../extend/addon/hzaddons/openid/Mod_Id.php:87 +msgid "Female" +msgstr "Kobieta" + +#: ../../include/channel.php:1722 ../../include/selectors.php:60 +#: ../../include/selectors.php:77 +#: ../../extend/addon/hzaddons/openid/Mod_Id.php:85 +msgid "Male" +msgstr "Mężczyzna" + +#: ../../include/channel.php:1724 +msgid "Trans" +msgstr "Trans" + +#: ../../include/channel.php:1726 ../../include/selectors.php:60 +msgid "Neuter" +msgstr "Neutralne" + +#: ../../include/channel.php:1728 ../../include/selectors.php:60 +msgid "Non-specific" +msgstr "Nie okreÅ›lone" + +#: ../../include/channel.php:1770 +msgid "Like this channel" +msgstr "Polub ten kanaÅ‚" + +#: ../../include/channel.php:1794 +msgid "j F, Y" +msgstr "d M, R" + +#: ../../include/channel.php:1795 +msgid "j F" +msgstr "d M" + +#: ../../include/channel.php:1802 +msgid "Birthday:" +msgstr "Urodziny:" + +#: ../../include/channel.php:1815 +#, php-format +msgid "for %1$d %2$s" +msgstr "dla %1$d %2$s" + +#: ../../include/channel.php:1827 +msgid "Tags:" +msgstr "Tagi:" + +#: ../../include/channel.php:1831 +msgid "Sexual Preference:" +msgstr "Preferencje seksualne:" + +#: ../../include/channel.php:1837 +msgid "Political Views:" +msgstr "PoglÄ…dy polityczne:" + +#: ../../include/channel.php:1839 +msgid "Religion:" +msgstr "Religia:" + +#: ../../include/channel.php:1843 +msgid "Hobbies/Interests:" +msgstr "Hobby/Zainteresowania:" + +#: ../../include/channel.php:1845 +msgid "Likes:" +msgstr "PolubieÅ„:" + +#: ../../include/channel.php:1847 +msgid "Dislikes:" +msgstr "Dezaprobat:" + +#: ../../include/channel.php:1849 +msgid "Contact information and Social Networks:" +msgstr "Informacje kontaktowe i sieci spoÅ‚ecznoÅ›ciowe:" + +#: ../../include/channel.php:1851 +msgid "My other channels:" +msgstr "Moje inne kanaÅ‚y:" + +#: ../../include/channel.php:1853 +msgid "Musical interests:" +msgstr "Zainteresowania muzyczne:" + +#: ../../include/channel.php:1855 +msgid "Books, literature:" +msgstr "Książki, literatura:" + +#: ../../include/channel.php:1857 +msgid "Television:" +msgstr "Telewizja:" + +#: ../../include/channel.php:1859 +msgid "Film/dance/culture/entertainment:" +msgstr "Film/taniec/kultura/rozrywka:" + +#: ../../include/channel.php:1861 +msgid "Love/Romance:" +msgstr "MiÅ‚ość/Romans:" + +#: ../../include/channel.php:1863 +msgid "Work/employment:" +msgstr "Praca/zatrudnienie:" + +#: ../../include/channel.php:1865 +msgid "School/education:" +msgstr "SzkoÅ‚a/edukacja:" + +#: ../../include/channel.php:1888 +msgid "Like this thing" +msgstr "Jak ta rzecz" + +#: ../../include/features.php:86 +msgid "Start calendar week on Monday" +msgstr "Rozpocznij tydzieÅ„ kalendarzowy w poniedziaÅ‚ek" + +#: ../../include/features.php:87 +msgid "Default is Sunday" +msgstr "DomyÅ›lnie jest to niedziela" + +#: ../../include/features.php:94 +msgid "Event Timezone Selection" +msgstr "Wybór strefy czasowej wydarzenia" + +#: ../../include/features.php:95 +msgid "Allow event creation in timezones other than your own." +msgstr "Zezwalaj na tworzenie wydarzeÅ„ w strefach czasowych innych niż Twoja." + +#: ../../include/features.php:108 +msgid "Search by Date" +msgstr "Wyszukaj po dacie" + +#: ../../include/features.php:109 +msgid "Ability to select posts by date ranges" +msgstr "Możliwość wyboru postów wedÅ‚ug zakresów dat" + +#: ../../include/features.php:116 +msgid "Tag Cloud" +msgstr "Chmura tagów" + +#: ../../include/features.php:117 +msgid "Provide a personal tag cloud on your channel page" +msgstr "UdostÄ™pnij osobistÄ… chmurÄ™ tagów na stronie swojego kanaÅ‚u" + +#: ../../include/features.php:124 ../../include/features.php:359 +msgid "Use blog/list mode" +msgstr "Użyj trybu bloga/listy" + +#: ../../include/features.php:125 ../../include/features.php:360 +msgid "Comments will be displayed separately" +msgstr "Komentarze bÄ™dÄ… wyÅ›wietlane osobno" + +#: ../../include/features.php:137 +msgid "Connection Filtering" +msgstr "Filtrowanie połączeÅ„" + +#: ../../include/features.php:138 +msgid "Filter incoming posts from connections based on keywords/content" +msgstr "" +"Filtruj przychodzÄ…ce posty z połączeÅ„, na podstawie słów kluczowych lub " +"treÅ›ci" + +#: ../../include/features.php:146 +msgid "Conversation" +msgstr "Rozmowa" + +#: ../../include/features.php:158 +msgid "Emoji Reactions" +msgstr "Reakcje emoji" + +#: ../../include/features.php:159 +msgid "Add emoji reaction ability to posts" +msgstr "Dodaj możliwość reakcji emoji do postów" + +#: ../../include/features.php:166 +msgid "Dislike Posts" +msgstr "Nielubienie postów" + +#: ../../include/features.php:167 +msgid "Ability to dislike posts/comments" +msgstr "Możliwość postów i komentarzy jako nielubiane" + +#: ../../include/features.php:174 +msgid "Star Posts" +msgstr "Wyróżnianie postów" + +#: ../../include/features.php:175 +msgid "Ability to mark special posts with a star indicator" +msgstr "Możliwość oznaczania wyróżnionych postów wskaźnikiem gwiazdki" + +#: ../../include/features.php:182 +msgid "Reply on comment" +msgstr "Odpowiedanie na komentarze" + +#: ../../include/features.php:183 +msgid "Ability to reply on selected comment" +msgstr "Możliwość udzielenia odpowiedzi na wybrany komentarz" + +#: ../../include/features.php:196 +msgid "Advanced Directory Search" +msgstr "Zaawansowane przeszukiwanie katalogu" + +#: ../../include/features.php:197 +msgid "Allows creation of complex directory search queries" +msgstr "Umożliwia tworzenie zÅ‚ożonych zapytaÅ„ wyszukiwania w katalogu" + +#: ../../include/features.php:206 +msgid "Editor" +msgstr "Edytor" + +#: ../../include/features.php:210 +msgid "Post Categories" +msgstr "Kategorie postów" + +#: ../../include/features.php:211 +msgid "Add categories to your posts" +msgstr "Dodaj kategorie do swoich postów" + +#: ../../include/features.php:219 +msgid "Large Photos" +msgstr "Duże zdjÄ™cia" + +#: ../../include/features.php:220 +msgid "" +"Include large (1024px) photo thumbnails in posts. If not enabled, use small " +"(640px) photo thumbnails" +msgstr "" +"Dołączaj duże miniatury zdjęć (1024px) do postów. JeÅ›li nie jest to " +"włączone, bÄ™dzie można używać maÅ‚ych miniatur (640 px)" + +#: ../../include/features.php:227 +msgid "Even More Encryption" +msgstr "Jeszcze wiÄ™cej szyfrowania" + +#: ../../include/features.php:228 +msgid "" +"Allow optional encryption of content end-to-end with a shared secret key" +msgstr "" +"Zezwalaj na opcjonalne szyfrowanie zawartoÅ›ci od koÅ„ca do koÅ„ca za pomocÄ… " +"wspólnego tajnego klucza" + +#: ../../include/features.php:235 +msgid "Disable Comments" +msgstr "Wyłącz komentarze" + +#: ../../include/features.php:236 +msgid "Provide the option to disable comments for a post" +msgstr "Zapewnia możliwość wyłączenia komentowania postu" + +#: ../../include/features.php:243 +msgid "Delayed Posting" +msgstr "Opóźnione publikowanie" + +#: ../../include/features.php:244 +msgid "Allow posts to be published at a later date" +msgstr "Pozwal na publikacjÄ™ postów w późniejszym terminie" + +#: ../../include/features.php:251 +msgid "Content Expiration" +msgstr "WygaÅ›niÄ™cie treÅ›ci" + +#: ../../include/features.php:252 +msgid "Remove posts/comments and/or private messages at a future time" +msgstr "Usuwanie postów i komentarzy lub prywatnych wiadomoÅ›ci w przyszÅ‚oÅ›ci" + +#: ../../include/features.php:259 +msgid "Suppress Duplicate Posts/Comments" +msgstr "PomiÅ„ zduplikowane posty i komentarze" + +#: ../../include/features.php:260 +msgid "" +"Prevent posts with identical content to be published with less than two " +"minutes in between submissions." +msgstr "" +"Zapobiegaj publikowaniu postów o identycznej treÅ›ci, majÄ…cych mniej niż dwie " +"minuty miÄ™dzy przesÅ‚aniami." + +#: ../../include/features.php:267 +msgid "Auto-save drafts of posts and comments" +msgstr "Automatyczne zapisywanie wersji roboczych postów i komentarzy" + +#: ../../include/features.php:268 +msgid "" +"Automatically saves post and comment drafts in local browser storage to help " +"prevent accidental loss of compositions" +msgstr "" +"Automatycznie zapisuje wersje robocze postów i komentarzy w lokalnej pamiÄ™ci " +"przeglÄ…darki, aby zapobiec przypadkowej utracie kompozycji" + +#: ../../include/features.php:277 +msgid "Manage" +msgstr "ZarzÄ…dzaj" + +#: ../../include/features.php:281 +msgid "Navigation Channel Select" +msgstr "Wybór kanaÅ‚u przez nawigacjÄ™" + +#: ../../include/features.php:282 +msgid "Change channels directly from within the navigation dropdown menu" +msgstr "Zmiana kanaÅ‚u bezpoÅ›rednio z rozwijanego menu nawigacji" + +#: ../../include/features.php:295 +msgid "Events Filter" +msgstr "Filtr wydarzeÅ„" + +#: ../../include/features.php:296 +msgid "Ability to display only events" +msgstr "Możliwość wyÅ›wietlania tylko wydarzeÅ„" + +#: ../../include/features.php:303 +msgid "Polls Filter" +msgstr "Filtr ankiet" + +#: ../../include/features.php:304 +msgid "Ability to display only polls" +msgstr "Możliwość wyÅ›wietlania tylko ankiet" + +#: ../../include/features.php:312 +msgid "Save search terms for re-use" +msgstr "Zapisywanie wyszukiwanych haseÅ‚ do ponownego wykorzystania" + +#: ../../include/features.php:320 +msgid "Ability to file posts under folders" +msgstr "Możliwość umieszczania postów w folderach" + +#: ../../include/features.php:327 +msgid "Alternate Stream Order" +msgstr "Alternatywna kolejność strumienia" + +#: ../../include/features.php:328 +msgid "" +"Ability to order the stream by last post date, last comment date or " +"unthreaded activities" +msgstr "" +"Możliwość uporzÄ…dkowania strumienia wedÅ‚ug daty ostatniego postu, daty " +"ostatniego komentarza lub nieprzeczytanych aktywnoÅ›ci" + +#: ../../include/features.php:335 +msgid "Contact Filter" +msgstr "Filtr kontaktów" + +#: ../../include/features.php:336 +msgid "Ability to display only posts of a selected contact" +msgstr "Możliwość wyÅ›wietlania postów autorstwa tylko wybranego kontaktu" + +#: ../../include/features.php:343 +msgid "Forum Filter" +msgstr "Filtr forów" + +#: ../../include/features.php:344 +msgid "Ability to display only posts of a specific forum" +msgstr "Możliwość wyÅ›wietlania postów tylko z okreÅ›lonego forum" + +#: ../../include/features.php:351 +msgid "Personal Posts Filter" +msgstr "Filtr postów osobistych" + +#: ../../include/features.php:352 +msgid "Ability to display only posts that you've interacted on" +msgstr "" +"Możliwość wyÅ›wietlania tylko tych postów, z którymi miaÅ‚o siÄ™ interakcjÄ™" + +#: ../../include/features.php:373 +msgid "Photo Location" +msgstr "Lokalizacja zdjÄ™cia" + +#: ../../include/features.php:374 +msgid "If location data is available on uploaded photos, link this to a map." +msgstr "" +"JeÅ›li dane lokalizacji sÄ… dostÄ™pne na przesÅ‚anych zdjÄ™ciach, połącz je z " +"mapÄ…." + +#: ../../include/features.php:387 +msgid "Advanced Profiles" +msgstr "Profile zaawansowane" + +#: ../../include/features.php:388 +msgid "Additional profile sections and selections" +msgstr "Dodatkowe sekcje profilu i pól wyborów" + +#: ../../include/features.php:395 +msgid "Profile Import/Export" +msgstr "Profile Import/Export" + +#: ../../include/features.php:396 +msgid "Save and load profile details across sites/channels" +msgstr "Zapisz i wczytaj szczegóły profilu w różnych witrynach i kanaÅ‚ach" + +#: ../../include/features.php:403 +msgid "Multiple Profiles" +msgstr "Wiele profili" + +#: ../../include/features.php:404 +msgid "Ability to create multiple profiles" +msgstr "Możliwość tworzenia wielu profili" + +#: ../../include/auth.php:194 +msgid "Delegation session ended." +msgstr "Sesja delegacji zakoÅ„czyÅ‚a siÄ™." + +#: ../../include/auth.php:198 +msgid "Logged out." +msgstr "Wylogowano." + +#: ../../include/auth.php:294 +msgid "Email validation is incomplete. Please check your email." +msgstr "" +"Weryfikacja adresu e-mail jest niekompletna. ProszÄ™ sprawdzić swój adres " +"email." + +#: ../../include/auth.php:310 +msgid "Failed authentication" +msgstr "Uwierzytelnianie nie powiodÅ‚o siÄ™" + +#: ../../include/auth.php:320 +#: ../../extend/addon/hzaddons/openid/Mod_Openid.php:188 +msgid "Login failed." +msgstr "Logowanie nie powiodÅ‚o siÄ™." + +#: ../../include/text.php:522 +msgid "prev" +msgstr "poprzedni" + +#: ../../include/text.php:524 +msgid "first" +msgstr "pierwszy" + +#: ../../include/text.php:553 +msgid "last" +msgstr "ostatni" + +#: ../../include/text.php:556 +msgid "next" +msgstr "nastÄ™pny" + +#: ../../include/text.php:574 +msgid "older" +msgstr "starszy" + +#: ../../include/text.php:576 +msgid "newer" +msgstr "nowszy" + +#: ../../include/text.php:1024 +msgid "No connections" +msgstr "Brak połączeÅ„" + +#: ../../include/text.php:1076 +#, php-format +msgid "View all %s connections" +msgstr "WyÅ›wietl wszystkie połączenia %s" + +#: ../../include/text.php:1139 +#, php-format +msgid "Network: %s" +msgstr "Sieć: %s" + +#: ../../include/text.php:1242 ../../include/text.php:1246 +msgid "poke" +msgstr "szturchać" + +#: ../../include/text.php:1247 +msgid "ping" +msgstr "ping" + +#: ../../include/text.php:1247 +msgid "pinged" +msgstr "spingowany" + +#: ../../include/text.php:1248 +msgid "prod" +msgstr "szturchać" + +#: ../../include/text.php:1248 +msgid "prodded" +msgstr "szturchać" + +#: ../../include/text.php:1249 +msgid "slap" +msgstr "spoliczkować" + +#: ../../include/text.php:1249 +msgid "slapped" +msgstr "spoliczkowany" + +#: ../../include/text.php:1250 +msgid "finger" +msgstr "dotknąć" + +#: ../../include/text.php:1250 +msgid "fingered" +msgstr "dotkniÄ™ty" + +#: ../../include/text.php:1251 +msgid "rebuff" +msgstr "odprawiać" + +#: ../../include/text.php:1251 +msgid "rebuffed" +msgstr "odprawiony" + +#: ../../include/text.php:1274 +msgid "happy" +msgstr "szczęśliwy" + +#: ../../include/text.php:1275 +msgid "sad" +msgstr "smutny" + +#: ../../include/text.php:1276 +msgid "mellow" +msgstr "Å‚agodny" + +#: ../../include/text.php:1277 +msgid "tired" +msgstr "zmÄ™czony" + +#: ../../include/text.php:1278 +msgid "perky" +msgstr "dziarski" + +#: ../../include/text.php:1279 +msgid "angry" +msgstr "gniewny" + +#: ../../include/text.php:1280 +msgid "stupefied" +msgstr "oszoÅ‚omiony" + +#: ../../include/text.php:1281 +msgid "puzzled" +msgstr "zdziwiony" + +#: ../../include/text.php:1282 +msgid "interested" +msgstr "zainteresowany" + +#: ../../include/text.php:1283 +msgid "bitter" +msgstr "gorzki" + +#: ../../include/text.php:1284 +msgid "cheerful" +msgstr "wesoÅ‚y" + +#: ../../include/text.php:1285 +msgid "alive" +msgstr "żywy" + +#: ../../include/text.php:1286 +msgid "annoyed" +msgstr "zirytowany" + +#: ../../include/text.php:1287 +msgid "anxious" +msgstr "niespokojny" + +#: ../../include/text.php:1288 +msgid "cranky" +msgstr "zepsuty" + +#: ../../include/text.php:1289 +msgid "disturbed" +msgstr "zaniepokojony" + +#: ../../include/text.php:1290 +msgid "frustrated" +msgstr "sfrustrowany" + +#: ../../include/text.php:1291 +msgid "depressed" +msgstr "przygnÄ™biony" + +#: ../../include/text.php:1292 +msgid "motivated" +msgstr "zmotywowany" + +#: ../../include/text.php:1293 +msgid "relaxed" +msgstr "z<relaksowany" + +#: ../../include/text.php:1294 +msgid "surprised" +msgstr "zaskoczony" + +#: ../../include/text.php:1482 ../../include/js_strings.php:99 +msgid "Monday" +msgstr "PoniedziaÅ‚ek" + +#: ../../include/text.php:1482 ../../include/js_strings.php:100 +msgid "Tuesday" +msgstr "Wtorek" + +#: ../../include/text.php:1482 ../../include/js_strings.php:101 +msgid "Wednesday" +msgstr "Åšroda" + +#: ../../include/text.php:1482 ../../include/js_strings.php:102 +msgid "Thursday" +msgstr "Czwartek" + +#: ../../include/text.php:1482 ../../include/js_strings.php:103 +msgid "Friday" +msgstr "PiÄ…tek" + +#: ../../include/text.php:1482 ../../include/js_strings.php:104 +msgid "Saturday" +msgstr "Sonota" + +#: ../../include/text.php:1482 ../../include/js_strings.php:98 +msgid "Sunday" +msgstr "Niedziela" + +#: ../../include/text.php:1486 ../../include/js_strings.php:74 +msgid "January" +msgstr "StyczeÅ„" + +#: ../../include/text.php:1486 ../../include/js_strings.php:75 +msgid "February" +msgstr "Luty" + +#: ../../include/text.php:1486 ../../include/js_strings.php:76 +msgid "March" +msgstr "Marzec" + +#: ../../include/text.php:1486 ../../include/js_strings.php:77 +msgid "April" +msgstr "KwiecieÅ„" + +#: ../../include/text.php:1486 +msgid "May" +msgstr "Maj" + +#: ../../include/text.php:1486 ../../include/js_strings.php:79 +msgid "June" +msgstr "Czerwiec" + +#: ../../include/text.php:1486 ../../include/js_strings.php:80 +msgid "July" +msgstr "Lipiec" + +#: ../../include/text.php:1486 ../../include/js_strings.php:81 +msgid "August" +msgstr "SierpieÅ„" + +#: ../../include/text.php:1486 ../../include/js_strings.php:82 +msgid "September" +msgstr "WrzesieÅ„" + +#: ../../include/text.php:1486 ../../include/js_strings.php:83 +msgid "October" +msgstr "Pażdziernik" + +#: ../../include/text.php:1486 ../../include/js_strings.php:84 +msgid "November" +msgstr "Listopad" + +#: ../../include/text.php:1486 ../../include/js_strings.php:85 +msgid "December" +msgstr "GrudzieÅ„" + +#: ../../include/text.php:1560 +msgid "Unknown Attachment" +msgstr "Nieznany załącznik" + +#: ../../include/text.php:1562 ../../include/feedutils.php:873 +msgid "unknown" +msgstr "nieznany" + +#: ../../include/text.php:1598 +msgid "remove category" +msgstr "usuÅ„ kataegoriÄ™" + +#: ../../include/text.php:1674 +msgid "remove from file" +msgstr "usuÅ„ z pliku" + +#: ../../include/text.php:1843 ../../include/message.php:13 +msgid "Download binary/encrypted content" +msgstr "Pobierz zawartość binarnÄ…/zaszyfrowanÄ…" + +#: ../../include/text.php:1914 +msgid "Poll has ended." +msgstr "Ankieta zakoÅ„czyÅ‚a siÄ™." + +#: ../../include/text.php:1917 +#, php-format +msgid "Poll ends: %s" +msgstr "Ankieta koÅ„czy siÄ™ : %s" + +#: ../../include/text.php:2096 ../../include/language.php:424 +msgid "default" +msgstr "domyÅ›lnie" + +#: ../../include/text.php:2104 +msgid "Page layout" +msgstr "UkÅ‚ad strony" + +#: ../../include/text.php:2104 +msgid "You can create your own with the layouts tool" +msgstr "Możesz tworzyć wÅ‚asne za pomocÄ… narzÄ™dzia ukÅ‚adów" + +#: ../../include/text.php:2115 +msgid "HTML" +msgstr "HTML" + +#: ../../include/text.php:2118 +msgid "Comanche Layout" +msgstr "UkÅ‚ad Comanche" + +#: ../../include/text.php:2123 +msgid "PHP" +msgstr "PHP" + +#: ../../include/text.php:2132 +msgid "Page content type" +msgstr "Typ treÅ›ci strony" + +#: ../../include/text.php:2265 +msgid "activity" +msgstr "aktywność" + +#: ../../include/text.php:2268 +msgid "poll" +msgstr "ankieta" + +#: ../../include/text.php:2369 +msgid "a-z, 0-9, -, and _ only" +msgstr "tylko a-z, 0-9, - i _" + +#: ../../include/text.php:2695 +msgid "Design Tools" +msgstr "NarzÄ™dzia projektowe" + +#: ../../include/text.php:2701 +msgid "Pages" +msgstr "Strony" + +#: ../../include/text.php:2713 +msgid "Import" +msgstr "Import" + +#: ../../include/text.php:2714 +msgid "Import website..." +msgstr "Import witryny..." + +#: ../../include/text.php:2715 +msgid "Select folder to import" +msgstr "Wybierz folder do zaimportowania" + +#: ../../include/text.php:2716 +msgid "Import from a zipped folder:" +msgstr "Import z pliku archiwum ZIP:" + +#: ../../include/text.php:2717 +msgid "Import from cloud files:" +msgstr "Import plków z chmury:" + +#: ../../include/text.php:2718 +msgid "/cloud/channel/path/to/folder" +msgstr "/chmura/kanaÅ‚/Å›cieżka/do/folderu" + +#: ../../include/text.php:2719 +msgid "Enter path to website files" +msgstr "Wprowadź Å›cieżkÄ™ do plików witryny internetowej" + +#: ../../include/text.php:2720 +msgid "Select folder" +msgstr "Wybierz folder" + +#: ../../include/text.php:2721 +msgid "Export website..." +msgstr "Eksport witryny..." + +#: ../../include/text.php:2722 +msgid "Export to a zip file" +msgstr "Eksport do pliku ZIP" + +#: ../../include/text.php:2723 +msgid "website.zip" +msgstr "nazwa_witryny.zip" + +#: ../../include/text.php:2724 +msgid "Enter a name for the zip file." +msgstr "Wprowadź nazwÄ™ pliku zip." + +#: ../../include/text.php:2725 +msgid "Export to cloud files" +msgstr "Elsport do plików w chmurze" + +#: ../../include/text.php:2726 +msgid "/path/to/export/folder" +msgstr "/Å›cieżka/do/eksportu/folder" + +#: ../../include/text.php:2727 +msgid "Enter a path to a cloud files destination." +msgstr "Wprowadź Å›cieżkÄ™ do miejsca docelowego plików w chmurze." + +#: ../../include/text.php:2728 +msgid "Specify folder" +msgstr "Wybierz folder" + +#: ../../include/message.php:41 +msgid "Unable to determine sender." +msgstr "Nie można okreÅ›lić nadawcy." + +#: ../../include/message.php:80 +msgid "No recipient provided." +msgstr "Nie podano odbiorcy." + +#: ../../include/message.php:85 +msgid "[no subject]" +msgstr "[brak tematu]" + +#: ../../include/message.php:214 +msgid "Stored post could not be verified." +msgstr "Nie można zweryfikować zapisanego postu." + +#: ../../include/markdown.php:202 ../../include/bbcode.php:527 +#, php-format +msgid "%1$s wrote the following %2$s %3$s" +msgstr "%1$s napisaÅ‚ co nastÄ™puje %2$s %3$s" + +#: ../../include/markdown.php:251 ../../include/bbcode.php:612 +msgid "spoiler" +msgstr "spojler" + +#: ../../include/acl_selectors.php:99 +msgid "Profile-Based Privacy Groups" +msgstr "Grupy prywatnoÅ›ci oparte na profilach" + +#: ../../include/acl_selectors.php:118 +msgid "Private Forum" +msgstr "Forum prywatne" + +#: ../../include/acl_selectors.php:142 +msgid "Share with" +msgstr "UdostÄ™pnij" + +#: ../../include/acl_selectors.php:143 +msgid "Custom selection" +msgstr "WÅ‚asny wybór" + +#: ../../include/acl_selectors.php:145 +msgid "" +"Select \"Allow\" to allow viewing. \"Don't allow\" lets you override and " +"limit the scope of \"Allow\"." +msgstr "" +"Wybierz \"Zezwól\", aby zezwolić na przeglÄ…danie. \"Nie zezwalaj\" umożliwia " +"zastÄ…pienie i ograniczenie zakresu \"Zezwalaj\"." + +#: ../../include/acl_selectors.php:147 +msgid "Don't allow" +msgstr "Nie pozwalaj" + +#: ../../include/acl_selectors.php:180 +#, php-format +msgid "" +"Post permissions %s cannot be changed %s after a post is shared.</br />These " +"permissions set who is allowed to view the post." +msgstr "" +"Uprawnienia do publikowania %s nie mogÄ… być zmieniane %s po udostÄ™pnieniu " +"postu. </br /> Te uprawnienia okreÅ›lajÄ…, kto może oglÄ…dać post." + +#: ../../include/opengraph.php:56 +#, php-format +msgid "This is the home page of %s." +msgstr "To jest strona główna %s." + +#: ../../include/taxonomy.php:323 +msgid "Trending" +msgstr "Trendy" + +#: ../../include/taxonomy.php:559 +msgid "Keywords" +msgstr "SÅ‚owa kluczowe" + +#: ../../include/taxonomy.php:580 +msgid "have" +msgstr "ma" + +#: ../../include/taxonomy.php:580 +msgid "has" +msgstr "majÄ…" + +#: ../../include/taxonomy.php:581 +msgid "want" +msgstr "chce" + +#: ../../include/taxonomy.php:581 +msgid "wants" +msgstr "chcÄ…" + +#: ../../include/taxonomy.php:582 +msgid "likes" +msgstr "lubiÄ…" + +#: ../../include/taxonomy.php:583 +msgid "dislikes" +msgstr "nie lubiÄ…" + +#: ../../include/import.php:29 +msgid "Unable to import a removed channel." +msgstr "Nie można zaimportować usuniÄ™tego kanaÅ‚u." + +#: ../../include/import.php:55 +msgid "" +"Cannot create a duplicate channel identifier on this system. Import failed." +msgstr "" +"Nie można utworzyć zduplikowanego identyfikatora kanaÅ‚u w tym systemie. " +"Import nieudany." + +#: ../../include/import.php:76 +#: ../../extend/addon/hzaddons/diaspora/import_diaspora.php:44 +msgid "Unable to create a unique channel address. Import failed." +msgstr "Nie można utworzyć unikalnego adresu kanaÅ‚u. Import nieudany." + +#: ../../include/import.php:121 +msgid "Cloned channel not found. Import failed." +msgstr "Nie znaleziono sklonowanego kanaÅ‚u. Import nieudany." + +#: ../../include/nav.php:92 +msgid "Remote authentication" +msgstr "Zdalne uwierzytelnianie" + +#: ../../include/nav.php:92 +msgid "Click to authenticate to your home hub" +msgstr "Kliknij, aby uwierzytelnić siÄ™ na swoim głównym hubie" + +#: ../../include/nav.php:98 +msgid "Manage your channels" +msgstr "ZarzÄ…dzaj swoimi kanaÅ‚ami" + +#: ../../include/nav.php:101 +msgid "Manage your privacy groups" +msgstr "ZarzÄ…dzaj swoimi grupami prywatnoÅ›ci" + +#: ../../include/nav.php:103 +msgid "Account/Channel Settings" +msgstr "Ustawienia kanaÅ‚u/konta" + +#: ../../include/nav.php:109 ../../include/nav.php:138 +#: ../../include/nav.php:157 ../../boot.php:1704 +msgid "Logout" +msgstr "Wyloguj siÄ™" + +#: ../../include/nav.php:109 ../../include/nav.php:138 +msgid "End this session" +msgstr "ZakoÅ„cz tÄ… sesjÄ™" + +#: ../../include/nav.php:112 +msgid "Your profile page" +msgstr "Strona Twojego profilu" + +#: ../../include/nav.php:115 +msgid "Manage/Edit profiles" +msgstr "ZarzÄ…dzaj/edytuj profile" + +#: ../../include/nav.php:124 ../../include/nav.php:128 +msgid "Sign in" +msgstr "Zaloguj siÄ™" + +#: ../../include/nav.php:155 +msgid "Take me home" +msgstr "Zabierz mnie do domu" + +#: ../../include/nav.php:157 +msgid "Log me out of this site" +msgstr "Wyloguj mnie z tej witryny" + +#: ../../include/nav.php:162 +msgid "Create an account" +msgstr "Utwórz konto" + +#: ../../include/nav.php:174 +msgid "Help and documentation" +msgstr "Pomoc i dokumentacja" + +#: ../../include/nav.php:188 +msgid "Search site @name, !forum, #tag, ?docs, content" +msgstr "Szukaj w witrynie @name, !forum, #tag, ?docs, content" + +#: ../../include/nav.php:194 +msgid "Site Setup and Configuration" +msgstr "Instalacja i konfiguracja witryny" + +#: ../../include/nav.php:330 +msgid "@name, !forum, #tag, ?doc, content" +msgstr "@name, !forum, #tag, ?doc, content" + +#: ../../include/nav.php:331 +msgid "Please wait..." +msgstr "ProszÄ™ czekać ..." + +#: ../../include/nav.php:337 +msgid "Add Apps" +msgstr "Dodaj aplikacje" + +#: ../../include/nav.php:338 +msgid "Arrange Apps" +msgstr "Rozmieść aplikacje" + +#: ../../include/nav.php:339 +msgid "Toggle System Apps" +msgstr "Przełącz aplikacje systemowe" + +#: ../../include/nav.php:424 +msgid "Status Messages and Posts" +msgstr "Komunikaty o stanie i posty" + +#: ../../include/nav.php:437 +msgid "Profile Details" +msgstr "Szczegóły profilu" + +#: ../../include/nav.php:447 ../../include/photos.php:666 +msgid "Photo Albums" +msgstr "Albumy zdjęć" + +#: ../../include/nav.php:455 +msgid "Files and Storage" +msgstr "Pliki i ich magazyn" + +#: ../../include/nav.php:493 +msgid "Saved Bookmarks" +msgstr "Zapisane zakÅ‚adki" + +#: ../../include/nav.php:504 +msgid "View Cards" +msgstr "WyÅ›wietl karty" + +#: ../../include/nav.php:515 +msgid "View Articles" +msgstr "WyÅ›wietl artykuÅ‚y" + +#: ../../include/nav.php:527 +msgid "View Webpages" +msgstr "WyÅ›wietl witryny internetowe" + +#: ../../include/language.php:437 +msgid "Select an alternate language" +msgstr "Wybierz alternatywny jÄ™zyk" + +#: ../../include/zid.php:360 +#, php-format +msgid "OpenWebAuth: %1$s welcomes %2$s" +msgstr "OpenWebAuth: %1$s wita %2$s" + +#: ../../include/bookmarks.php:34 +#, php-format +msgid "%1$s's bookmarks" +msgstr "zakÅ‚adki %1$s" + +#: ../../include/activities.php:42 +msgid " and " +msgstr " i " + +#: ../../include/activities.php:50 +msgid "public profile" +msgstr "profil publiczny" + +#: ../../include/activities.php:59 +#, php-format +msgid "%1$s changed %2$s to “%3$s”" +msgstr "%1$s zmieniÅ‚ %2$s na „%3$s”" + +#: ../../include/activities.php:60 +#, php-format +msgid "Visit %1$s's %2$s" +msgstr "Odwiedzin %1$s %2$s" + +#: ../../include/activities.php:63 +#, php-format +msgid "%1$s has an updated %2$s, changing %3$s." +msgstr "%1$s ma zaktualizowane %2$s, zmieniajÄ…c %3$s." + +#: ../../include/cdav.php:157 +msgid "INVALID EVENT DISMISSED!" +msgstr "ODRZUCONO NIEPRAWIDÅOWE WYDARZENIE!" + +#: ../../include/cdav.php:158 +msgid "Summary: " +msgstr "Podsumowanie: " + +#: ../../include/cdav.php:159 +msgid "Date: " +msgstr "Data: " + +#: ../../include/cdav.php:160 ../../include/cdav.php:168 +msgid "Reason: " +msgstr "Powód: " + +#: ../../include/cdav.php:166 +msgid "INVALID CARD DISMISSED!" +msgstr "ODRZUCONO NIEPRAWIDÅOWÄ„ KARTĘ!" + +#: ../../include/cdav.php:167 +msgid "Name: " +msgstr "Nazwa: " + +#: ../../include/photos.php:151 +#, php-format +msgid "Image exceeds website size limit of %lu bytes" +msgstr "Obraz przekracza limit rozmiaru witryny wynoszÄ…cy %lu bajtów" + +#: ../../include/photos.php:162 +msgid "Image file is empty." +msgstr "Plik obrazu jest pusty." + +#: ../../include/photos.php:324 +msgid "Photo storage failed." +msgstr "Zapis zdjÄ™cia nie powiódÅ‚ siÄ™." + +#: ../../include/photos.php:373 +msgid "a new photo" +msgstr "nowe zdjÄ™cie" + +#: ../../include/photos.php:377 +#, php-format +msgctxt "photo_upload" +msgid "%1$s posted %2$s to %3$s" +msgstr "%1$s wysÅ‚aÅ‚ %2$s do %3$s" + +#: ../../include/photos.php:671 +msgid "Upload New Photos" +msgstr "PrzeÅ›lij nowe zdjÄ™cia" + +#: ../../include/js_strings.php:5 +msgid "Delete this item?" +msgstr "Usunąć tÄ… pozycjÄ™D?" + +#: ../../include/js_strings.php:8 +#, php-format +msgid "%s show less" +msgstr "%s pokaż mniej" + +#: ../../include/js_strings.php:9 +#, php-format +msgid "%s expand" +msgstr "%s rozwiÅ„" + +#: ../../include/js_strings.php:10 +#, php-format +msgid "%s collapse" +msgstr "%s zwiÅ„" + +#: ../../include/js_strings.php:11 +msgid "Password too short" +msgstr "HasÅ‚o jest za krótkie" + +#: ../../include/js_strings.php:12 +msgid "Passwords do not match" +msgstr "HasÅ‚a nie pasujÄ… do siebie" + +#: ../../include/js_strings.php:13 +msgid "everybody" +msgstr "wszyscy" + +#: ../../include/js_strings.php:14 +msgid "Secret Passphrase" +msgstr "Tajna hasÅ‚o" + +#: ../../include/js_strings.php:15 +msgid "Passphrase hint" +msgstr "Wskazówka dotyczÄ…ca hasÅ‚a" + +#: ../../include/js_strings.php:16 +msgid "Notice: Permissions have changed but have not yet been submitted." +msgstr "Uwaga: uprawnienia ulegÅ‚y zmianie, ale nie zostaÅ‚y jeszcze przesÅ‚ane." + +#: ../../include/js_strings.php:17 +msgid "close all" +msgstr "zamknij wszystko" + +#: ../../include/js_strings.php:18 +msgid "Nothing new here" +msgstr "Nic nowego tutaj" + +#: ../../include/js_strings.php:19 +msgid "Rate This Channel (this is public)" +msgstr "OceÅ„ ten kanaÅ‚ (to jest publiczne)" + +#: ../../include/js_strings.php:21 +msgid "Describe (optional)" +msgstr "Opisz (opcjonalnie)" + +#: ../../include/js_strings.php:23 +msgid "Please enter a link URL" +msgstr "ProszÄ™ wprowadzić URL linku" + +#: ../../include/js_strings.php:24 +msgid "Unsaved changes. Are you sure you wish to leave this page?" +msgstr "Niezapisane zmiany. Czy na pewno chcesz opuÅ›cić tÄ™ stronÄ™?" + +#: ../../include/js_strings.php:26 +msgid "lovely" +msgstr "Å›liczne" + +#: ../../include/js_strings.php:27 +msgid "wonderful" +msgstr "wspaniaÅ‚e" + +#: ../../include/js_strings.php:28 +msgid "fantastic" +msgstr "fantastyczne" + +#: ../../include/js_strings.php:29 +msgid "great" +msgstr "Å›wietne" + +#: ../../include/js_strings.php:30 +msgid "" +"Your chosen nickname was either already taken or not valid. Please use our " +"suggestion (" +msgstr "" +"Twój wybrany pseudonim jest już zajÄ™ty lub nieważny. Skorzystaj z naszej " +"prpozycji (" + +#: ../../include/js_strings.php:31 +msgid ") or enter a new one." +msgstr ") lub wprowadź nowy." + +#: ../../include/js_strings.php:32 +msgid "Thank you, this nickname is valid." +msgstr "DziÄ™kujÄ™, ten pseudonim jest prawidÅ‚owy." + +#: ../../include/js_strings.php:33 +msgid "A channel name is required." +msgstr "Wymagana jest nazwa kanaÅ‚u." + +#: ../../include/js_strings.php:34 +msgid "This is a " +msgstr "To jest " + +#: ../../include/js_strings.php:35 +msgid " channel name" +msgstr " nazwa kanaÅ‚u" + +#: ../../include/js_strings.php:36 +msgid "Back to reply" +msgstr "Wróć do odpowiedzi" + +#: ../../include/js_strings.php:37 +msgid "Pinned" +msgstr "PrzypiÄ™te" + +#: ../../include/js_strings.php:45 +#, php-format +msgid "%d minutes" +msgid_plural "%d minutes" +msgstr[0] "%d minuta" +msgstr[1] "%d minuty" +msgstr[2] "%d minut" + +#: ../../include/js_strings.php:46 +#, php-format +msgid "about %d hours" +msgid_plural "about %d hours" +msgstr[0] "okoÅ‚o %d godziny" +msgstr[1] "okoÅ‚o %d godzin" +msgstr[2] "okoÅ‚o %d godzin" + +#: ../../include/js_strings.php:47 +#, php-format +msgid "%d days" +msgid_plural "%d days" +msgstr[0] "%d dzieÅ„" +msgstr[1] "%d dni" +msgstr[2] "%d dni" + +#: ../../include/js_strings.php:48 +#, php-format +msgid "%d months" +msgid_plural "%d months" +msgstr[0] "%d miesiÄ…c" +msgstr[1] "%d miesiÄ™cy" +msgstr[2] "%d miesiÄ™cy" + +#: ../../include/js_strings.php:49 +#, php-format +msgid "%d years" +msgid_plural "%d years" +msgstr[0] "%d rok" +msgstr[1] "%d lata" +msgstr[2] "%d lat" + +#: ../../include/js_strings.php:54 +msgid "timeago.prefixAgo" +msgstr "temu" + +#: ../../include/js_strings.php:55 +msgid "timeago.prefixFromNow" +msgstr "od teraz" + +#: ../../include/js_strings.php:56 +msgid "timeago.suffixAgo" +msgstr "temu" + +#: ../../include/js_strings.php:57 +msgid "timeago.suffixFromNow" +msgstr "od teraz" + +#: ../../include/js_strings.php:60 +msgid "less than a minute" +msgstr "mniej niż minutÄ™" + +#: ../../include/js_strings.php:61 +msgid "about a minute" +msgstr "okoÅ‚o minuty" + +#: ../../include/js_strings.php:63 +msgid "about an hour" +msgstr "okoÅ‚o godziny" + +#: ../../include/js_strings.php:65 +msgid "a day" +msgstr "dzieÅ„" + +#: ../../include/js_strings.php:67 +msgid "about a month" +msgstr "okoÅ‚o miesiÄ…ca" + +#: ../../include/js_strings.php:69 +msgid "about a year" +msgstr "okoÅ‚o roku" + +#: ../../include/js_strings.php:71 +msgid " " +msgstr " " + +#: ../../include/js_strings.php:72 +msgid "timeago.numbers" +msgstr "timeago.numbers" + +#: ../../include/js_strings.php:78 +msgctxt "long" +msgid "May" +msgstr "Maj" + +#: ../../include/js_strings.php:86 +msgid "Jan" +msgstr "Sty" + +#: ../../include/js_strings.php:87 +msgid "Feb" +msgstr "Lut" + +#: ../../include/js_strings.php:88 +msgid "Mar" +msgstr "Mar" + +#: ../../include/js_strings.php:89 +msgid "Apr" +msgstr "Kwi" + +#: ../../include/js_strings.php:90 +msgctxt "short" +msgid "May" +msgstr "Maj" + +#: ../../include/js_strings.php:91 +msgid "Jun" +msgstr "Cze" + +#: ../../include/js_strings.php:92 +msgid "Jul" +msgstr "Lop" + +#: ../../include/js_strings.php:93 +msgid "Aug" +msgstr "Sie" + +#: ../../include/js_strings.php:94 +msgid "Sep" +msgstr "Wrz" + +#: ../../include/js_strings.php:95 +msgid "Oct" +msgstr "Paź" + +#: ../../include/js_strings.php:96 +msgid "Nov" +msgstr "Lis" + +#: ../../include/js_strings.php:97 +msgid "Dec" +msgstr "Gru" + +#: ../../include/js_strings.php:105 +msgid "Sun" +msgstr "Nie" + +#: ../../include/js_strings.php:106 +msgid "Mon" +msgstr "Pon" + +#: ../../include/js_strings.php:107 +msgid "Tue" +msgstr "Wto" + +#: ../../include/js_strings.php:108 +msgid "Wed" +msgstr "Åšro" + +#: ../../include/js_strings.php:109 +msgid "Thu" +msgstr "Czw" + +#: ../../include/js_strings.php:110 +msgid "Fri" +msgstr "PiÄ…" + +#: ../../include/js_strings.php:111 +msgid "Sat" +msgstr "Sob" + +#: ../../include/js_strings.php:112 +msgctxt "calendar" +msgid "today" +msgstr "dzisiaj" + +#: ../../include/js_strings.php:113 +msgctxt "calendar" +msgid "month" +msgstr "miesiÄ…c" + +#: ../../include/js_strings.php:114 +msgctxt "calendar" +msgid "week" +msgstr "tydzieÅ„" + +#: ../../include/js_strings.php:115 +msgctxt "calendar" +msgid "day" +msgstr "dzieÅ„" + +#: ../../include/js_strings.php:116 +msgctxt "calendar" +msgid "All day" +msgstr "CaÅ‚y dzieÅ„" + +#: ../../include/js_strings.php:119 +msgid "Please stand by while your download is being prepared." +msgstr "ProszÄ™ czekać, aż pobieranie jest przygotowywane." + +#: ../../include/security.php:609 +msgid "" +"The form security token was not correct. This probably happened because the " +"form has been opened for too long (>3 hours) before submitting it." +msgstr "" +"Token bezpieczeÅ„stwa formularza byÅ‚ nieprawidÅ‚owy. Prawdopodobnie staÅ‚o siÄ™ " +"tak, ponieważ formularz byÅ‚ otwarty zbyt dÅ‚ugo (> 3 godziny) przed wysÅ‚aniem." + +#: ../../include/selectors.php:18 +msgid "Profile to assign new connections" +msgstr "Profil do przypisywania nowych połączeÅ„" + +#: ../../include/selectors.php:41 +msgid "Frequently" +msgstr "CzÄ™sto" + +#: ../../include/selectors.php:42 +msgid "Hourly" +msgstr "Co godzinnÄ™" + +#: ../../include/selectors.php:43 +msgid "Twice daily" +msgstr "Dwa razy dziennie" + +#: ../../include/selectors.php:44 +msgid "Daily" +msgstr "Co dzieÅ„" + +#: ../../include/selectors.php:45 +msgid "Weekly" +msgstr "Co tydzieÅ„" + +#: ../../include/selectors.php:46 +msgid "Monthly" +msgstr "Co miesiÄ…c" + +#: ../../include/selectors.php:60 +msgid "Currently Male" +msgstr "Obecnie mężczyzna" + +#: ../../include/selectors.php:60 +msgid "Currently Female" +msgstr "Obecnie kobieta" + +#: ../../include/selectors.php:60 +msgid "Mostly Male" +msgstr "Głównie mężczyźna" + +#: ../../include/selectors.php:60 +msgid "Mostly Female" +msgstr "Głównie kobieta" + +#: ../../include/selectors.php:60 +msgid "Transgender" +msgstr "Transgender" + +#: ../../include/selectors.php:60 +msgid "Intersex" +msgstr "InterpÅ‚ciowość" + +#: ../../include/selectors.php:60 +msgid "Transsexual" +msgstr "Transseksualność" + +#: ../../include/selectors.php:60 +msgid "Hermaphrodite" +msgstr "Hermafrodyta" + +#: ../../include/selectors.php:60 +msgid "Undecided" +msgstr "Niezdecydowano" + +#: ../../include/selectors.php:96 ../../include/selectors.php:115 +msgid "Males" +msgstr "Mężczyżni" + +#: ../../include/selectors.php:96 ../../include/selectors.php:115 +msgid "Females" +msgstr "Kobiety" + +#: ../../include/selectors.php:96 +msgid "Gay" +msgstr "Homoseksualista" + +#: ../../include/selectors.php:96 +msgid "Lesbian" +msgstr "Lesbijka" + +#: ../../include/selectors.php:96 +msgid "No Preference" +msgstr "Bez preferencji" + +#: ../../include/selectors.php:96 +msgid "Bisexual" +msgstr "Biseksualne" + +#: ../../include/selectors.php:96 +msgid "Autosexual" +msgstr "Autoseksualne" + +#: ../../include/selectors.php:96 +msgid "Abstinent" +msgstr "Abstyncja" + +#: ../../include/selectors.php:96 +msgid "Virgin" +msgstr "Dziewice" + +#: ../../include/selectors.php:96 +msgid "Deviant" +msgstr "Dewiant" + +#: ../../include/selectors.php:96 +msgid "Fetish" +msgstr "Fetysz" + +#: ../../include/selectors.php:96 +msgid "Oodles" +msgstr "Oodles" + +#: ../../include/selectors.php:96 +msgid "Nonsexual" +msgstr "Nonsexual" + +#: ../../include/selectors.php:134 ../../include/selectors.php:151 +msgid "Single" +msgstr "Singiel" + +#: ../../include/selectors.php:134 +msgid "Lonely" +msgstr "Samotny/Samotna" + +#: ../../include/selectors.php:134 +msgid "Available" +msgstr "DostÄ™pny/DostÄ™nna" + +#: ../../include/selectors.php:134 +msgid "Unavailable" +msgstr "NiedostÄ™pny/Niedostęþna" + +#: ../../include/selectors.php:134 +msgid "Has crush" +msgstr "Zadużony/Zadużona" + +#: ../../include/selectors.php:134 +msgid "Infatuated" +msgstr "Zakochany/Zakochana" + +#: ../../include/selectors.php:134 ../../include/selectors.php:151 +msgid "Dating" +msgstr "Randki" + +#: ../../include/selectors.php:134 +msgid "Unfaithful" +msgstr "Niewierny" + +#: ../../include/selectors.php:134 +msgid "Sex Addict" +msgstr "Uzależniony/Uzależniona od seksu" + +#: ../../include/selectors.php:134 +msgid "Friends/Benefits" +msgstr "Przyjaciele/KorzyÅ›ci" + +#: ../../include/selectors.php:134 +msgid "Casual" +msgstr "Przygodnie" + +#: ../../include/selectors.php:134 +msgid "Engaged" +msgstr "ZarÄ™czony/ZarÄ™czona" + +#: ../../include/selectors.php:134 ../../include/selectors.php:151 +msgid "Married" +msgstr "ZaÅ›lubiony/ZaÅ›lubiona" + +#: ../../include/selectors.php:134 +msgid "Imaginarily married" +msgstr "ZaÅ›lubiony/ZaÅ›lubiona w myÅ›lach" + +#: ../../include/selectors.php:134 +msgid "Partners" +msgstr "Patner/Partnerka" + +#: ../../include/selectors.php:134 ../../include/selectors.php:151 +msgid "Cohabiting" +msgstr "Konkubent/Konkubina" + +#: ../../include/selectors.php:134 +msgid "Common law" +msgstr "Prawo zwyczajowe" + +#: ../../include/selectors.php:134 +msgid "Happy" +msgstr "SzczÄ™sliwy/Szczęśliwa" + +#: ../../include/selectors.php:134 +msgid "Not looking" +msgstr "Nie szukajÄ…cy/Nie szukajÄ…ca" + +#: ../../include/selectors.php:134 +msgid "Swinger" +msgstr "Swinger" + +#: ../../include/selectors.php:134 +msgid "Betrayed" +msgstr "Zdradzony/Zdradzona" + +#: ../../include/selectors.php:134 ../../include/selectors.php:151 +msgid "Separated" +msgstr "W separacji" + +#: ../../include/selectors.php:134 +msgid "Unstable" +msgstr "Niestabilny/Niestabilna" + +#: ../../include/selectors.php:134 ../../include/selectors.php:151 +msgid "Divorced" +msgstr "Rozwiedziony/Rozwiedziona" + +#: ../../include/selectors.php:134 +msgid "Imaginarily divorced" +msgstr "Rozwiedziony/Rozwiedziona w myÅ›lach" + +#: ../../include/selectors.php:134 ../../include/selectors.php:151 +msgid "Widowed" +msgstr "Wdowiec/Wdowa" + +#: ../../include/selectors.php:134 +msgid "Uncertain" +msgstr "Niezdecydowany/Niezdecydowana" + +#: ../../include/selectors.php:134 ../../include/selectors.php:151 +msgid "It's complicated" +msgstr "To skomplikowane" + +#: ../../include/selectors.php:134 +msgid "Don't care" +msgstr "Nie obchodzi mnie to" + +#: ../../include/selectors.php:134 +msgid "Ask me" +msgstr "Zapytaj mnie" + +#: ../../include/network.php:1731 ../../include/network.php:1732 +msgid "Friendica" +msgstr "Friendica" + +#: ../../include/network.php:1733 +msgid "OStatus" +msgstr "OStatus" + +#: ../../include/network.php:1734 +msgid "GNU-Social" +msgstr "GNU-Social" + +#: ../../include/network.php:1735 +msgid "RSS/Atom" +msgstr "RSS/Atom" + +#: ../../include/network.php:1738 +msgid "Diaspora" +msgstr "Diaspora" + +#: ../../include/network.php:1739 +msgid "Facebook" +msgstr "Facebook" + +#: ../../include/network.php:1740 +msgid "Zot" +msgstr "Zot" + +#: ../../include/network.php:1741 +msgid "LinkedIn" +msgstr "LinkedIn" + +#: ../../include/network.php:1742 +msgid "XMPP/IM" +msgstr "XMPP/IM" + +#: ../../include/network.php:1743 +msgid "MySpace" +msgstr "MySpace" + +#: ../../include/account.php:36 +msgid "Not a valid email address" +msgstr "NieprawidÅ‚owy adres e-mail" + +#: ../../include/account.php:38 +msgid "Your email domain is not among those allowed on this site" +msgstr "Twoja domena e-mail nie należy do domen dozwolonych w tym serwisie" + +#: ../../include/account.php:44 +msgid "Your email address is already registered at this site." +msgstr "Twój adres e-mail jest już zarejestrowany w tym serwisie." + +#: ../../include/account.php:76 +msgid "An invitation is required." +msgstr "Wymagane jest zaproszenie." + +#: ../../include/account.php:80 +msgid "Invitation could not be verified." +msgstr "Nie udaÅ‚o siÄ™ zweryfikować zaproszenia." + +#: ../../include/account.php:156 +msgid "Please enter the required information." +msgstr "ProszÄ™ wprowadzić wymagane informacje." + +#: ../../include/account.php:223 +msgid "Failed to store account information." +msgstr "Nie udaÅ‚o siÄ™ zapisać informacji o koncie." + +#: ../../include/account.php:311 +#, php-format +msgid "Registration confirmation for %s" +msgstr "Potwierdzenie rejestracji dla %s" + +#: ../../include/account.php:380 +#, php-format +msgid "Registration request at %s" +msgstr "Wniosek o rejestracjÄ™ na %s" + +#: ../../include/account.php:402 +msgid "your registration password" +msgstr "hasÅ‚o rejestracyjne" + +#: ../../include/account.php:408 ../../include/account.php:471 +#, php-format +msgid "Registration details for %s" +msgstr "Szczegóły rejestracji dla %s" + +#: ../../include/account.php:482 +msgid "Account approved." +msgstr "Konto zostaÅ‚o zatwierdzone." + +#: ../../include/account.php:522 +#, php-format +msgid "Registration revoked for %s" +msgstr "Rejestracja cofniÄ™ta dla %s" + +#: ../../include/account.php:805 ../../include/account.php:807 +msgid "Click here to upgrade." +msgstr "Kliknij tutaj, aby zaktualizować." + +#: ../../include/account.php:813 +msgid "This action exceeds the limits set by your subscription plan." +msgstr "Ta czynność wykracza poza limity okreÅ›lone w planie subskrypcji." + +#: ../../include/account.php:818 +msgid "This action is not available under your subscription plan." +msgstr "Ta czynność nie jest dostÄ™pna w ramach Twojego planu subskrypcji." + +#: ../../include/help.php:80 +msgid "Help:" +msgstr "Pomoc:" + +#: ../../include/help.php:129 +msgid "Not Found" +msgstr "Nie znaleziono" + +#: ../../include/attach.php:273 ../../include/attach.php:324 +#: ../../include/attach.php:419 +msgid "Item was not found." +msgstr "Nie znaleziono elementu." + +#: ../../include/attach.php:290 +msgid "Unknown error." +msgstr "Nieznany błąd." + +#: ../../include/attach.php:612 +msgid "No source file." +msgstr "Brak pliku źródÅ‚owego." + +#: ../../include/attach.php:634 +msgid "Cannot locate file to replace" +msgstr "Nie można znaleźć pliku do zastÄ…pienia" + +#: ../../include/attach.php:653 +msgid "Cannot locate file to revise/update" +msgstr "Nie można zlokalizować pliku do poprawienia/aktualizacji" + +#: ../../include/attach.php:795 +#, php-format +msgid "File exceeds size limit of %d" +msgstr "Plik przekracza limit rozmiaru %d" + +#: ../../include/attach.php:816 +#, php-format +msgid "You have reached your limit of %1$.0f Mbytes attachment storage." +msgstr "OsiÄ…gnÄ™ty zostaÅ‚ limit %1$.0f MB miejsca na załączniki." + +#: ../../include/attach.php:1004 +msgid "File upload failed. Possible system limit or action terminated." +msgstr "" +"PrzesyÅ‚anie pliku nie powiodÅ‚o siÄ™. Możliwe ograniczenie systemowe lub " +"dziaÅ‚anie zakoÅ„czone." + +#: ../../include/attach.php:1033 +msgid "Stored file could not be verified. Upload failed." +msgstr "Nie można zweryfikować zapisanego pliku. PrzesyÅ‚anie nie powiodÅ‚o siÄ™." + +#: ../../include/attach.php:1105 ../../include/attach.php:1121 +msgid "Path not available." +msgstr "Åšcieżka niedostÄ™pna." + +#: ../../include/attach.php:1169 ../../include/attach.php:1332 +msgid "Empty pathname" +msgstr "Pusta Å›cieżka" + +#: ../../include/attach.php:1195 +msgid "duplicate filename or path" +msgstr "zduplikowana nazwa pliku lub Å›cieżka" + +#: ../../include/attach.php:1220 +msgid "Path not found." +msgstr "Åšcieżka nie znaleziona." + +#: ../../include/attach.php:1288 +msgid "mkdir failed." +msgstr "mkdir zakoÅ„czyÅ‚ sie błędem." + +#: ../../include/attach.php:1292 +msgid "database storage failed." +msgstr "zapis w bazie danych nie powiódÅ‚ siÄ™." + +#: ../../include/attach.php:1338 +msgid "Empty path" +msgstr "Pusta Å›cieżka" + +#: ../../include/attach.php:2099 +#, php-format +msgid "%s shared a %s with you" +msgstr "%s udostÄ™pniÅ‚ Ci %s" + +#: ../../include/attach.php:2099 +#: ../../extend/addon/hzaddons/redfiles/redfilehelper.php:64 +msgid "file" +msgstr "plik" + +#: ../../include/connections.php:134 +msgid "New window" +msgstr "Nowe okno" + +#: ../../include/connections.php:135 +msgid "Open the selected location in a different window or browser tab" +msgstr "Otwórz wybranÄ… lokalizacjÄ™ w innym oknie lub karcie przeglÄ…darki" + +#: ../../include/connections.php:736 ../../include/event.php:1424 +msgid "Home, Voice" +msgstr "Dom, gÅ‚osowy" + +#: ../../include/connections.php:737 ../../include/event.php:1425 +msgid "Home, Fax" +msgstr "Dom, fax" + +#: ../../include/connections.php:739 ../../include/event.php:1427 +msgid "Work, Voice" +msgstr "Praca, gÅ‚osowy" + +#: ../../include/connections.php:740 ../../include/event.php:1428 +msgid "Work, Fax" +msgstr "Praca, fax" + +#: ../../include/oembed.php:153 +msgid "View PDF" +msgstr "WyÅ›wietl PDF" + +#: ../../include/oembed.php:357 +msgid " by " +msgstr " przez " + +#: ../../include/oembed.php:358 +msgid " on " +msgstr " na " + +#: ../../include/oembed.php:387 +msgid "Embedded content" +msgstr "Osadzone treÅ›ci" + +#: ../../include/oembed.php:396 +msgid "Embedding disabled" +msgstr "Osadzanie wyłączone" + +#: ../../include/event.php:33 ../../include/event.php:110 +msgid "l F d, Y \\@ g:i A" +msgstr "l F d, Y \\@ g:i A" + +#: ../../include/event.php:41 +msgid "Starts:" +msgstr "RozpoczÄ™tych:" + +#: ../../include/event.php:51 +msgid "Finishes:" +msgstr "ZakoÅ„czonych:" + +#: ../../include/event.php:110 +msgid "l F d, Y" +msgstr "l F d, Y" + +#: ../../include/event.php:114 +msgid "Start:" +msgstr "RozpoczÄ™to:" + +#: ../../include/event.php:118 +msgid "End:" +msgstr "ZakoÅ„czono:" + +#: ../../include/event.php:123 +#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:67 +msgid "Timezone" +msgstr "Strefa czasowa" + +#: ../../include/event.php:1106 +msgid "This event has been added to your calendar." +msgstr "To wydarzenie zostaÅ‚o dodane do Twojego kalendarza." + +#: ../../include/event.php:1337 +msgid "Not specified" +msgstr "NieokreÅ›lone" + +#: ../../include/event.php:1338 +msgid "Needs Action" +msgstr "Wymaga dziaÅ‚ania" + +#: ../../include/event.php:1339 +msgid "Completed" +msgstr "ZakoÅ„czone" + +#: ../../include/event.php:1340 +msgid "In Process" +msgstr "W trakcie" + +#: ../../include/event.php:1341 +msgid "Cancelled" +msgstr "Usuniete" + +#: ../../include/datetime.php:140 +msgid "Birthday" +msgstr "Urodziny" + +#: ../../include/datetime.php:140 +msgid "Age: " +msgstr "Wiek: " + +#: ../../include/datetime.php:140 +msgid "YYYY-MM-DD or MM-DD" +msgstr "RRRR-MM-DD lub MM-DD" + +#: ../../include/datetime.php:238 ../../boot.php:2709 +msgid "never" +msgstr "nigdy" + +#: ../../include/datetime.php:244 +msgid "less than a second ago" +msgstr "mniej niż sekundÄ™ temu" + +#: ../../include/datetime.php:262 +#, php-format +msgctxt "e.g. 22 hours ago, 1 minute ago" +msgid "%1$d %2$s ago" +msgstr "%1$d %2$s temu" + +#: ../../include/datetime.php:273 +msgctxt "relative_date" +msgid "year" +msgid_plural "years" +msgstr[0] "rok" +msgstr[1] "lata" +msgstr[2] "lat" + +#: ../../include/datetime.php:276 +msgctxt "relative_date" +msgid "month" +msgid_plural "months" +msgstr[0] "miesiÄ…c" +msgstr[1] "miesiÄ…ce" +msgstr[2] "miesiÄ™cy" + +#: ../../include/datetime.php:279 +msgctxt "relative_date" +msgid "week" +msgid_plural "weeks" +msgstr[0] "tydzieÅ„" +msgstr[1] "tygodnie" +msgstr[2] "tygodni" + +#: ../../include/datetime.php:282 +msgctxt "relative_date" +msgid "day" +msgid_plural "days" +msgstr[0] "dzieÅ„" +msgstr[1] "dni" +msgstr[2] "dni" + +#: ../../include/datetime.php:285 +msgctxt "relative_date" +msgid "hour" +msgid_plural "hours" +msgstr[0] "godzina" +msgstr[1] "godziny" +msgstr[2] "godzin" + +#: ../../include/datetime.php:288 +msgctxt "relative_date" +msgid "minute" +msgid_plural "minutes" +msgstr[0] "minuta" +msgstr[1] "minuty" +msgstr[2] "minut" + +#: ../../include/datetime.php:291 +msgctxt "relative_date" +msgid "second" +msgid_plural "seconds" +msgstr[0] "sekunda" +msgstr[1] "sekundy" +msgstr[2] "sekund" + +#: ../../include/datetime.php:520 +#, php-format +msgid "%1$s's birthday" +msgstr "urodziny %1$s" + +#: ../../include/datetime.php:521 +#, php-format +msgid "Happy Birthday %1$s" +msgstr "%1$s, wszystkiego najlepszego z okazji urodzin" + +#: ../../include/items.php:999 ../../include/items.php:1059 +msgid "(Unknown)" +msgstr "(Nieznane)" + +#: ../../include/items.php:1247 +msgid "Visible to anybody on the internet." +msgstr "Widoczne dla każdego w internecie." + +#: ../../include/items.php:1249 +msgid "Visible to you only." +msgstr "Widoczne tylko dla Ciebie." + +#: ../../include/items.php:1251 +msgid "Visible to anybody in this network." +msgstr "Widoczne dla każdego w tej sieci." + +#: ../../include/items.php:1253 +msgid "Visible to anybody authenticated." +msgstr "Widoczne dla każdego uwierzytelnionego." + +#: ../../include/items.php:1255 +#, php-format +msgid "Visible to anybody on %s." +msgstr "Widoczne dla wszystkich na %s." + +#: ../../include/items.php:1257 +msgid "Visible to all connections." +msgstr "Widoczny dla wszystkich połączeÅ„." + +#: ../../include/items.php:1259 +msgid "Visible to approved connections." +msgstr "Widoczny dla zatwierdzonych połączeÅ„." + +#: ../../include/items.php:1261 +msgid "Visible to specific connections." +msgstr "Widoczny dla okreÅ›lonych połączeÅ„." + +#: ../../include/items.php:4507 +msgid "Privacy group is empty." +msgstr "Grupa prywatnoÅ›ci jest pusta." + +#: ../../include/items.php:4514 +#, php-format +msgid "Privacy group: %s" +msgstr "Grupa prywatnoÅ›ci: %s" + +#: ../../include/items.php:4526 +msgid "Connection not found." +msgstr "Nie znaleziono połączenia." + +#: ../../include/items.php:4867 +msgid "profile photo" +msgstr "zdjÄ™cie profilowe" + +#: ../../include/items.php:5059 +#, php-format +msgid "[Edited %s]" +msgstr "[Edytowane %s]" + +#: ../../include/items.php:5059 +msgctxt "edit_activity" +msgid "Post" +msgstr "Post" + +#: ../../include/items.php:5059 +msgctxt "edit_activity" +msgid "Comment" +msgstr "Komentarz" + +#: ../../include/follow.php:84 +msgid "Response from remote channel was incomplete." +msgstr "Odpowiedź z kanaÅ‚u zdalnego byÅ‚a niekompletna." + +#: ../../include/follow.php:96 +msgid "Premium channel - please visit:" +msgstr "KanaÅ‚ premium - odwiedź:" + +#: ../../include/follow.php:110 +msgid "Channel was deleted and no longer exists." +msgstr "KanaÅ‚ zostaÅ‚ usuniÄ™ty i już nie istnieje." + +#: ../../include/zot.php:775 +msgid "Invalid data packet" +msgstr "NieprawidÅ‚owy pakiet danych" + +#: ../../include/zot.php:4372 +msgid "invalid target signature" +msgstr "nieprawidÅ‚owy podpis docelowy" + +#: ../../include/bbcode.php:221 ../../include/bbcode.php:896 +#: ../../include/bbcode.php:1486 ../../include/bbcode.php:1494 +msgid "Image/photo" +msgstr "Obraz/zdjÄ™cie" + +#: ../../include/bbcode.php:268 ../../include/bbcode.php:1511 +msgid "Encrypted content" +msgstr "Zaszyfrowana treść" + +#: ../../include/bbcode.php:302 +#, php-format +msgid "Install %1$s element %2$s" +msgstr "Zainstaluj element %1$s %2$s" + +#: ../../include/bbcode.php:306 +#, php-format +msgid "" +"This post contains an installable %s element, however you lack permissions " +"to install it on this site." +msgstr "" +"Ten post zawiera możliwy do zainstalowania element %s, jednak nie masz " +"uprawnieÅ„ do zainstalowania go w tym serwisie." + +#: ../../include/bbcode.php:519 +msgid "card" +msgstr "karta" + +#: ../../include/bbcode.php:521 +msgid "article" +msgstr "artykuÅ‚" + +#: ../../include/bbcode.php:604 ../../include/bbcode.php:612 +msgid "Click to open/close" +msgstr "Kliknij, any otworzyć/zamknąć" + +#: ../../include/bbcode.php:625 +msgid "View article" +msgstr "WyÅ›wietl artykuÅ‚" + +#: ../../include/bbcode.php:625 +msgid "View summary" +msgstr "WyÅ›wietl podsumowanie" + +#: ../../include/bbcode.php:1474 +msgid "$1 wrote:" +msgstr "$1 napisaÅ‚:" + +#: ../../extend/addon/hzaddons/gnusoc/gnusoc.php:451 +msgid "Follow" +msgstr "Obserwuj" + +#: ../../extend/addon/hzaddons/gnusoc/gnusoc.php:454 +#, php-format +msgid "%1$s is now following %2$s" +msgstr "%1$s obserwujesz teraz %2$s" + +#: ../../extend/addon/hzaddons/gnusoc/Mod_Gnusoc.php:16 +msgid "" +"The GNU-Social protocol does not support location independence. Connections " +"you make within that network may be unreachable from alternate channel " +"locations." +msgstr "" +"Protokół GNU-Social nie obsÅ‚uguje niezależnoÅ›ci od lokalizacji. Połączenia " +"nawiÄ…zane w tej sieci mogÄ… być niedostÄ™pne z innych lokalizacji kanałów." + +#: ../../extend/addon/hzaddons/gnusoc/Mod_Gnusoc.php:22 +msgid "GNU-Social Protocol App" +msgstr "Aplikacja Protokół GNU-Social" + +#: ../../extend/addon/hzaddons/gnusoc/Mod_Gnusoc.php:34 +msgid "GNU-Social Protocol" +msgstr "GNU-Social Protocol" + +#: ../../extend/addon/hzaddons/qrator/qrator.php:48 +msgid "QR code" +msgstr "Kod QR" + +#: ../../extend/addon/hzaddons/qrator/qrator.php:63 +msgid "QR Generator" +msgstr "Generator QR" + +#: ../../extend/addon/hzaddons/qrator/qrator.php:64 +msgid "Enter some text" +msgstr "Wprowadź jakiÅ› tekst" + +#: ../../extend/addon/hzaddons/irc/Mod_Irc.php:23 +#: ../../extend/addon/hzaddons/irc/irc.php:41 +msgid "Popular Channels" +msgstr "Popularne kanaÅ‚y" + +#: ../../extend/addon/hzaddons/irc/irc.php:37 +msgid "Channels to auto connect" +msgstr "KanaÅ‚y do automatycznego podłączenia" + +#: ../../extend/addon/hzaddons/irc/irc.php:37 +#: ../../extend/addon/hzaddons/irc/irc.php:41 +msgid "Comma separated list" +msgstr "Lista rozdzielana przecinkami" + +#: ../../extend/addon/hzaddons/irc/irc.php:45 +msgid "IRC Settings" +msgstr "Ustawienia IRC" + +#: ../../extend/addon/hzaddons/irc/irc.php:54 +msgid "IRC settings saved." +msgstr "Zapisano ustawienia IRC." + +#: ../../extend/addon/hzaddons/irc/irc.php:58 +msgid "IRC Chatroom" +msgstr "Pokój rozmów IRC" + +#: ../../extend/addon/hzaddons/hubwall/hubwall.php:19 +msgid "Send email to all members" +msgstr "WyÅ›lij e-mail do wszystkich czÅ‚onków" + +#: ../../extend/addon/hzaddons/hubwall/hubwall.php:50 +#: ../../extend/addon/hzaddons/mailtest/mailtest.php:50 +msgid "No recipients found." +msgstr "Nie znaleziono adresatów." + +#: ../../extend/addon/hzaddons/hubwall/hubwall.php:73 +#, php-format +msgid "%1$d of %2$d messages sent." +msgstr "WysÅ‚ano %1$d wiadomoÅ›ci z %2$d zadysponowanych." + +#: ../../extend/addon/hzaddons/hubwall/hubwall.php:81 +msgid "Send email to all hub members." +msgstr "WyÅ›lij wiadomość e-mail do wszystkich czÅ‚onków huba." + +#: ../../extend/addon/hzaddons/hubwall/hubwall.php:92 +#: ../../extend/addon/hzaddons/mailtest/mailtest.php:96 +msgid "Message subject" +msgstr "Temat wiadomoÅ›ci" + +#: ../../extend/addon/hzaddons/hubwall/hubwall.php:93 +msgid "Sender Email address" +msgstr "Adres e-mail nadawcy" + +#: ../../extend/addon/hzaddons/hubwall/hubwall.php:94 +msgid "Test mode (only send to hub administrator)" +msgstr "Tryb testowy (wysyÅ‚aj tylko do administratora huba)" + +#: ../../extend/addon/hzaddons/likebanner/likebanner.php:51 +msgid "Your Webbie:" +msgstr "Twój Webbie:" + +#: ../../extend/addon/hzaddons/likebanner/likebanner.php:54 +msgid "Fontsize (px):" +msgstr "Wielkość czcionki (px):" + +#: ../../extend/addon/hzaddons/likebanner/likebanner.php:68 +msgid "Link:" +msgstr "Link:" + +#: ../../extend/addon/hzaddons/likebanner/likebanner.php:70 +msgid "Like us on Hubzilla" +msgstr "Polub nas na Hubzilli" + +#: ../../extend/addon/hzaddons/likebanner/likebanner.php:72 +msgid "Embed:" +msgstr "Osadzone:" + +#: ../../extend/addon/hzaddons/msgfooter/msgfooter.php:46 +#: ../../extend/addon/hzaddons/xmpp/xmpp.php:43 +#: ../../extend/addon/hzaddons/gravatar/gravatar.php:150 +msgid "Save Settings" +msgstr "Zapisz ustawienia" + +#: ../../extend/addon/hzaddons/msgfooter/msgfooter.php:47 +msgid "text to include in all outgoing posts from this site" +msgstr "tekst do umieszczania we wszystkich postach wychodzÄ…cych z tej witryny" + +#: ../../extend/addon/hzaddons/moremoods/moremoods.php:19 +msgid "lonely" +msgstr "samotny" + +#: ../../extend/addon/hzaddons/moremoods/moremoods.php:20 +msgid "drunk" +msgstr "pijany" + +#: ../../extend/addon/hzaddons/moremoods/moremoods.php:21 +msgid "horny" +msgstr "seksualnie podniecony" + +#: ../../extend/addon/hzaddons/moremoods/moremoods.php:22 +msgid "stoned" +msgstr "zjarany" + +#: ../../extend/addon/hzaddons/moremoods/moremoods.php:23 +msgid "fucked up" +msgstr "spieprzone" + +#: ../../extend/addon/hzaddons/moremoods/moremoods.php:24 +msgid "clusterfucked" +msgstr "klasterfucked" + +#: ../../extend/addon/hzaddons/moremoods/moremoods.php:25 +msgid "crazy" +msgstr "zwariowany" + +#: ../../extend/addon/hzaddons/moremoods/moremoods.php:26 +msgid "hurt" +msgstr "ból" + +#: ../../extend/addon/hzaddons/moremoods/moremoods.php:27 +msgid "sleepy" +msgstr "senny" + +#: ../../extend/addon/hzaddons/moremoods/moremoods.php:28 +msgid "grumpy" +msgstr "gderliwy" + +#: ../../extend/addon/hzaddons/moremoods/moremoods.php:29 +msgid "high" +msgstr "wysoki" + +#: ../../extend/addon/hzaddons/moremoods/moremoods.php:30 +msgid "semi-conscious" +msgstr "półprzytomny" + +#: ../../extend/addon/hzaddons/moremoods/moremoods.php:31 +msgid "in love" +msgstr "zakochany" + +#: ../../extend/addon/hzaddons/moremoods/moremoods.php:32 +msgid "in lust" +msgstr "w pożądaniu" + +#: ../../extend/addon/hzaddons/moremoods/moremoods.php:33 +msgid "naked" +msgstr "nagi" + +#: ../../extend/addon/hzaddons/moremoods/moremoods.php:34 +msgid "stinky" +msgstr "Å›mierdzÄ…cy" + +#: ../../extend/addon/hzaddons/moremoods/moremoods.php:35 +msgid "sweaty" +msgstr "spocony" + +#: ../../extend/addon/hzaddons/moremoods/moremoods.php:36 +msgid "bleeding out" +msgstr "wykrwawiać siÄ™" + +#: ../../extend/addon/hzaddons/moremoods/moremoods.php:37 +msgid "victorious" +msgstr "zwyciÄ™ski" + +#: ../../extend/addon/hzaddons/moremoods/moremoods.php:38 +msgid "defeated" +msgstr "pokonany" + +#: ../../extend/addon/hzaddons/moremoods/moremoods.php:39 +msgid "envious" +msgstr "zazdrosny" + +#: ../../extend/addon/hzaddons/moremoods/moremoods.php:40 +msgid "jealous" +msgstr "zazdrosny" + +#: ../../extend/addon/hzaddons/piwik/piwik.php:85 +msgid "" +"This website is tracked using the <a href='http://www.piwik.org'>Piwik</a> " +"analytics tool." +msgstr "" +"Ta witryna jest Å›ledzona za pomocÄ… narzÄ™dzia analitycznego <a href='http://" +"www.piwik.org'>Piwik</a>." + +#: ../../extend/addon/hzaddons/piwik/piwik.php:88 +#, php-format +msgid "" +"If you do not want that your visits are logged this way you <a href='%s'>can " +"set a cookie to prevent Piwik from tracking further visits of the site</a> " +"(opt-out)." +msgstr "" +"JeÅ›li nie chcesz, aby Twoje wizyty byÅ‚y rejestrowane w ten sposób, <a " +"href='%s'> możesz ustawić plik cookie, aby uniemożliwić Piwik Å›ledzenie " +"dalszych wizyt na stronie </a> (rezygnacja)." + +#: ../../extend/addon/hzaddons/piwik/piwik.php:96 +msgid "Piwik Base URL" +msgstr "Bazowy adres URL Piwik" + +#: ../../extend/addon/hzaddons/piwik/piwik.php:96 +msgid "" +"Absolute path to your Piwik installation. (without protocol (http/s), with " +"trailing slash)" +msgstr "" +"Absolutna Å›cieżka do instalacji Piwika. (bez protokoÅ‚u (http/s), z koÅ„cowym " +"ukoÅ›nikiem)" + +#: ../../extend/addon/hzaddons/piwik/piwik.php:97 +msgid "Site ID" +msgstr "ID witryny" + +#: ../../extend/addon/hzaddons/piwik/piwik.php:98 +msgid "Show opt-out cookie link?" +msgstr "Pokazać link do rezygnacji z pliku cookie?" + +#: ../../extend/addon/hzaddons/piwik/piwik.php:99 +msgid "Asynchronous tracking" +msgstr "Åšledzenie asynchroniczne" + +#: ../../extend/addon/hzaddons/piwik/piwik.php:100 +msgid "Enable frontend JavaScript error tracking" +msgstr "Włącz Å›ledzenie błędów JavaScript w interfejsie użytkownika" + +#: ../../extend/addon/hzaddons/piwik/piwik.php:100 +msgid "This feature requires Piwik >= 2.2.0" +msgstr "Ta funkcjonalność wymaga Piwik >= 2.2.0" + +#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:101 +#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:102 +#: ../../extend/addon/hzaddons/cart/myshop.php:144 +#: ../../extend/addon/hzaddons/cart/myshop.php:180 +#: ../../extend/addon/hzaddons/cart/myshop.php:214 +#: ../../extend/addon/hzaddons/cart/myshop.php:261 +#: ../../extend/addon/hzaddons/cart/myshop.php:296 +#: ../../extend/addon/hzaddons/cart/myshop.php:319 +msgid "Access Denied" +msgstr "DostÄ™p zabroniony" + +#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:109 +msgid "Enable Community Moderation" +msgstr "Włącz moderacjÄ™ spoÅ‚ecznoÅ›ciowÄ…" + +#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:117 +msgid "Reputation automatically given to new members" +msgstr "Reputacja przyznawana automatycznie nowym czÅ‚onkom" + +#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:118 +msgid "Reputation will never fall below this value" +msgstr "Reputacja nigdy nie spadnie poniżej tej wartoÅ›ci" + +#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:119 +msgid "Minimum reputation before posting is allowed" +msgstr "Dozwolona jest minimalna reputacja przed rozpoczÄ™ciem postów" + +#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:120 +msgid "Minimum reputation before commenting is allowed" +msgstr "Dozwolona jest minimalna reputacja przed rozpoczÄ™ciem komentowania" + +#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:121 +msgid "Minimum reputation before a member is able to moderate other posts" +msgstr "Minimalna reputacja, zanim czÅ‚onek bÄ™dzie mógÅ‚ moderować inne posty" + +#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:122 +msgid "" +"Max ratio of moderator's reputation that can be added to/deducted from " +"reputation of person being moderated" +msgstr "" +"Maksymalny współczynnik reputacji moderatora, który można dodać do reputacji " +"moderowanej osoby lub od niej odjąć" + +#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:123 +msgid "Reputation \"cost\" to post" +msgstr "\"Koszt\" reputacji dla postu" + +#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:124 +msgid "Reputation \"cost\" to comment" +msgstr "\"Koszt\" reputacji dla komentarza" + +#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:125 +msgid "" +"Reputation automatically recovers at this rate per hour until it reaches " +"minimum_to_post" +msgstr "" +"Reputacja automatycznie odÅ›wieżana jest w tym tempie co godzinÄ™, dopóki nie " +"osiÄ…gnie minimum_to_post" + +#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:126 +msgid "" +"When minimum_to_moderate > reputation > minimum_to_post reputation recovers " +"at this rate per hour" +msgstr "" +"Kiedy minimum_to_moderate > reputation> minimum_to_post reputacja odÅ›wieża " +"na jest z takÄ… szybkoÅ›ciÄ… na godzinÄ™" + +#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:140 +msgid "Community Moderation Settings" +msgstr "Ustawienia moderowania spoÅ‚ecznoÅ›ciowego" + +#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:232 +msgid "Channel Reputation" +msgstr "Reputacja kanaÅ‚u" + +#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:236 +msgid "An Error has occurred." +msgstr "WystÄ…piÅ‚ błąd." + +#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:254 +msgid "Upvote" +msgstr "GÅ‚osuj za" + +#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:255 +msgid "Downvote" +msgstr "GÅ‚osuj przeciw" + +#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:414 +msgid "Can moderate reputation on my channel." +msgstr "MogÄ™ moderować reputacjÄ™ na moim kanale." + +#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:57 +msgid "Errors encountered deleting database table " +msgstr "Napotkano błędy podczas usuwania tabeli bazy danych " + +#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:95 +#: ../../extend/addon/hzaddons/twitter/twitter.php:503 +msgid "Submit Settings" +msgstr "PrzeÅ›lij ustawienia" + +#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:96 +msgid "Drop tables when uninstalling?" +msgstr "Usunąć tabele podczas odinstalowywania?" + +#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:96 +msgid "" +"If checked, the Rendezvous database tables will be deleted when the plugin " +"is uninstalled." +msgstr "" +"JeÅ›li zaznaczone, po odinstalowaniu wtyczki zostanÄ… usuniÄ™te wszystkie " +"tabele z bazy danych Rendezvous." + +#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:97 +msgid "Mapbox Access Token" +msgstr "Token Mapbox Access" + +#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:97 +msgid "" +"If you enter a Mapbox access token, it will be used to retrieve map tiles " +"from Mapbox instead of the default OpenStreetMap tile server." +msgstr "" +"JeÅ›li wprowadzisz token dostÄ™pu Mapbox, bÄ™dzie on używany do pobierania " +"fragmentów mapy z Mapbox, zamiast z domyÅ›lnego serwera kafelków " +"OpenStreetMap." + +#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:162 +msgid "Rendezvous" +msgstr "Rendezvous" + +#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:167 +msgid "" +"This identity has been deleted by another member due to inactivity. Please " +"press the \"New identity\" button or refresh the page to register a new " +"identity. You may use the same name." +msgstr "" +"Ta tożsamość zostaÅ‚a usuniÄ™ta przez innego czÅ‚onka z powodu braku " +"aktywnoÅ›ci. ProszÄ™ nacisnąć przycisk \"Nowa tożsamość\" lub odÅ›wieżyć " +"stronÄ™, aby zarejestrować nowÄ… tożsamość. Możesz użyć tej samej nazwy." + +#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:168 +msgid "Welcome to Rendezvous!" +msgstr "Witamy w Rendezvous!" + +#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:169 +msgid "" +"Enter your name to join this rendezvous. To begin sharing your location with " +"the other members, tap the GPS control. When your location is discovered, a " +"red dot will appear and others will be able to see you on the map." +msgstr "" +"Wpisz swoje imiÄ™ i nazwisko, aby dołączyć do tego spotkania. W celu " +"rozpoczÄ™cia udostÄ™pniania swojej lokalizacji innym czÅ‚onkom, dotknij " +"elementu sterujÄ…cego GPS. Gdy Twoja lokalizacja zostanie odkryta, pojawi siÄ™ " +"czerwona kropka i inni bÄ™dÄ… mogli CiÄ™ zobaczyć na mapie." + +#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:171 +msgid "Let's meet here" +msgstr "Spotkajmy siÄ™ tutaj" + +#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:174 +msgid "New marker" +msgstr "Nowy znacznik" + +#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:175 +msgid "Edit marker" +msgstr "Edytuj znacznik" + +#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:176 +msgid "New identity" +msgstr "Nowa tożsamość" + +#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:177 +msgid "Delete marker" +msgstr "UsuÅ„ znacznik" + +#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:178 +msgid "Delete member" +msgstr "UsuÅ„ czÅ‚onka" + +#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:179 +msgid "Edit proximity alert" +msgstr "Edytuj alert zbliżeniowy" + +#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:180 +msgid "" +"A proximity alert will be issued when this member is within a certain radius " +"of you.<br><br>Enter a radius in meters (0 to disable):" +msgstr "" +"Alert zbliżeniowy zostanie wygenerowany, gdy ten czÅ‚onek znajdzie siÄ™ w " +"okreÅ›lonym promieniu od Ciebie. <br> <br> Wprowadź promieÅ„ w metrach (0, aby " +"wyłączyć):" + +#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:180 +#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:185 +msgid "distance" +msgstr "odlegÅ‚ość" + +#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:181 +msgid "Proximity alert distance (meters)" +msgstr "OdlegÅ‚ość ostrzeżenia o bliskoÅ›ci (metry)" + +#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:182 +#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:184 +msgid "" +"A proximity alert will be issued when you are within a certain radius of the " +"marker location.<br><br>Enter a radius in meters (0 to disable):" +msgstr "" +"Alert zbliżeniowy zostanie wygenerowany, gdy znajdziesz siÄ™ w okreÅ›lonym " +"promieniu od lokalizacji znacznika. <br> <br> Wprowadź promieÅ„ w metrach (0, " +"aby wyłączyć):" + +#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:183 +msgid "Marker proximity alert" +msgstr "Ostrzeżenie o bliskoÅ›ci znacznika" + +#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:186 +msgid "Reminder note" +msgstr "Notatka przypominajÄ…ca" + +#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:187 +msgid "" +"Enter a note to be displayed when you are within the specified proximity..." +msgstr "" +"Wprowadź notatkÄ™, która bÄ™dzie wyÅ›wietlana, gdy bÄ™dziesz w okreÅ›lonej " +"odlegÅ‚oÅ›ci ..." + +#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:199 +msgid "Add new rendezvous" +msgstr "Dodaj nowe spotkanie" + +#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:200 +msgid "" +"Create a new rendezvous and share the access link with those you wish to " +"invite to the group. Those who open the link become members of the " +"rendezvous. They can view other member locations, add markers to the map, or " +"share their own locations with the group." +msgstr "" +"Utwórz nowe spotkanie i udostÄ™pnij łącze dostÄ™pu tym, których chcesz " +"zaprosić do grupy. Osoby, które otworzÄ… łącze, stajÄ… siÄ™ czÅ‚onkami " +"spotkania. MogÄ… wyÅ›wietlać lokalizacje innych czÅ‚onków, dodawać znaczniki do " +"mapy lub udostÄ™pniać wÅ‚asne lokalizacje grupie." + +#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:232 +msgid "You have no rendezvous. Press the button above to create a rendezvous!" +msgstr "Nie masz spotkania. NaciÅ›nij przycisk powyżej, aby utworzyć spotkanie!" + +#: ../../extend/addon/hzaddons/skeleton/Mod_Skeleton.php:32 +msgid "Skeleton App" +msgstr "Aplikacja Szkielet" + +#: ../../extend/addon/hzaddons/skeleton/Mod_Skeleton.php:33 +msgid "A skeleton for addons, you can copy/paste" +msgstr "Szkielet dodatków, który można skopiować i wkleić" + +#: ../../extend/addon/hzaddons/skeleton/Mod_Skeleton.php:40 +msgid "Some setting" +msgstr "JakieÅ› ustawienie" + +#: ../../extend/addon/hzaddons/skeleton/Mod_Skeleton.php:40 +msgid "A setting" +msgstr "Ustawienie" + +#: ../../extend/addon/hzaddons/skeleton/Mod_Skeleton.php:48 +msgid "Skeleton Settings" +msgstr "Ustawienia Skeleton" + +#: ../../extend/addon/hzaddons/redred/redred.php:50 +msgid "Post to Hubzilla" +msgstr "WyÅ›lij do Hubzilli" + +#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:24 +msgid "Channel is required." +msgstr "KanaÅ‚ jest wymagany." + +#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:38 +msgid "Hubzilla Crosspost Connector Settings saved." +msgstr "Ustawienia Hubzilla Crosspost Connector zostaÅ‚y zapisane." + +#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:50 +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:146 +msgid "Hubzilla Crosspost Connector App" +msgstr "Aplikacja Hubzilla Crosspost Connector" + +#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:51 +msgid "Relay public postings to another Hubzilla channel" +msgstr "Przekaż publiczne posty na inny kanaÅ‚ Hubzilla" + +#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:63 +msgid "Send public postings to Hubzilla channel by default" +msgstr "DomyÅ›lnie wysyÅ‚aj publiczne posty na kanaÅ‚ Hubzilla" + +#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:67 +msgid "Hubzilla API Path" +msgstr "Åšcieżka API Hubzilla" + +#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:67 +#: ../../extend/addon/hzaddons/rtof/Mod_Rtof.php:53 +msgid "https://{sitename}/api" +msgstr "https://{sitename}/api" + +#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:71 +msgid "Hubzilla login name" +msgstr "Nazwa logowania Hubzilla" + +#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:75 +msgid "Hubzilla channel name" +msgstr "Nazwa kanaÅ‚u Hubzilla" + +#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:75 +#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:54 +msgid "Nickname" +msgstr "Pseudonim" + +#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:79 +msgid "Hubzilla password" +msgstr "HasÅ‚o Hubzilla" + +#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:87 +msgid "Hubzilla Crosspost Connector" +msgstr "Hubzilla Crosspost Connector" + +#: ../../extend/addon/hzaddons/totp/Mod_Totp.php:23 +msgid "TOTP Two-Step Verification" +msgstr "Weryfikacja dwuetapowa TOTP" + +#: ../../extend/addon/hzaddons/totp/Mod_Totp.php:24 +msgid "Enter the 2-step verification generated by your authenticator app:" +msgstr "" +"Wprowadź dwuetapowÄ… weryfikacjÄ™ wygenerowanÄ… przez aplikacjÄ™ " +"uwierzytelniajÄ…cÄ…:" + +#: ../../extend/addon/hzaddons/totp/Mod_Totp.php:25 +msgid "Success!" +msgstr "Powodzenie!" + +#: ../../extend/addon/hzaddons/totp/Mod_Totp.php:26 +msgid "Invalid code, please try again." +msgstr "NieprawidÅ‚owy kod, proszÄ™ spróbować ponownie." + +#: ../../extend/addon/hzaddons/totp/Mod_Totp.php:27 +msgid "Too many invalid codes..." +msgstr "Za dużo nieprawidÅ‚owych kodów ..." + +#: ../../extend/addon/hzaddons/totp/Mod_Totp.php:28 +msgid "Verify" +msgstr "Zweryfikuj" + +#: ../../extend/addon/hzaddons/totp/Settings/Totp.php:90 +msgid "" +"You haven't set a TOTP secret yet.\n" +"Please click the button below to generate one and register this site\n" +"with your preferred authenticator app." +msgstr "" +"Nie ustawiÅ‚eÅ› jeszcze sekretu TOTP.\n" +"Kliknij przycisk poniżej, aby to wygenerować i zarejestrować witrynÄ™\n" +"w preferowanej aplikacji uwierzytelniajÄ…cej." + +#: ../../extend/addon/hzaddons/totp/Settings/Totp.php:93 +msgid "Your TOTP secret is" +msgstr "Twój sekret TOTP to" + +#: ../../extend/addon/hzaddons/totp/Settings/Totp.php:94 +msgid "" +"Be sure to save it somewhere in case you lose or replace your mobile " +"device.\n" +"Use your mobile device to scan the QR code below to register this site\n" +"with your preferred authenticator app." +msgstr "" +"Zapisz go gdzieÅ› na wypadek zgubienia lub wymiany urzÄ…dzenia mobilnego.\n" +"Użyj urzÄ…dzenia mobilnego, aby zeskanować poniższy kod QR i zarejestrować tÄ… " +"witrynÄ™\n" +"w preferowanej aplikacji uwierzytelniajÄ…cej." + +#: ../../extend/addon/hzaddons/totp/Settings/Totp.php:99 +msgid "Test" +msgstr "Test" + +#: ../../extend/addon/hzaddons/totp/Settings/Totp.php:100 +msgid "Generate New Secret" +msgstr "Generowanie nowego sekretu" + +#: ../../extend/addon/hzaddons/totp/Settings/Totp.php:101 +msgid "Go" +msgstr "Idź dalej" + +#: ../../extend/addon/hzaddons/totp/Settings/Totp.php:102 +msgid "Enter your password" +msgstr "Wprowadź swoje hasÅ‚o" + +#: ../../extend/addon/hzaddons/totp/Settings/Totp.php:103 +msgid "enter TOTP code from your device" +msgstr "wprowadź kod TOTP z urzÄ…dzenia" + +#: ../../extend/addon/hzaddons/totp/Settings/Totp.php:104 +msgid "Pass!" +msgstr "PrzeszÅ‚o!" + +#: ../../extend/addon/hzaddons/totp/Settings/Totp.php:105 +msgid "Fail" +msgstr "Błąd" + +#: ../../extend/addon/hzaddons/totp/Settings/Totp.php:106 +msgid "Incorrect password, try again." +msgstr "NieprawidÅ‚owe hasÅ‚o, spróbuj ponownie." + +#: ../../extend/addon/hzaddons/totp/Settings/Totp.php:107 +msgid "Record your new TOTP secret and rescan the QR code above." +msgstr "Zapisz swój nowy sekret TOTP i ponownie przeskanuj powyższy kod QR." + +#: ../../extend/addon/hzaddons/totp/Settings/Totp.php:115 +msgid "TOTP Settings" +msgstr "Ustawienia TOTP" + +#: ../../extend/addon/hzaddons/testdrive/testdrive.php:104 +#, php-format +msgid "Your account on %s will expire in a few days." +msgstr "Twoje konto na %s wygaÅ›nie za kilka dni." + +#: ../../extend/addon/hzaddons/testdrive/testdrive.php:105 +msgid "Your $Productname test account is about to expire." +msgstr "Twoje konto testowe $Productname wkrótce wygaÅ›nie." + +#: ../../extend/addon/hzaddons/ldapauth/ldapauth.php:70 +msgid "An account has been created for you." +msgstr "Konto zostaÅ‚o dla Ciebie utworzone." + +#: ../../extend/addon/hzaddons/ldapauth/ldapauth.php:77 +msgid "Authentication successful but rejected: account creation is disabled." +msgstr "" +"Uwierzytelnianie przebiegÅ‚o pomyÅ›lne, ale zostaÅ‚o odrzucone: tworzenie konta " +"jest wyłączone." + +#: ../../extend/addon/hzaddons/cart/cart.php:252 +msgid "DB Cleanup Failure" +msgstr "Błąd czyszczenia bazy danych" + +#: ../../extend/addon/hzaddons/cart/cart.php:674 +msgid "[cart] Item Added" +msgstr "[koszyk] Dodano element" + +#: ../../extend/addon/hzaddons/cart/cart.php:1063 +msgid "Order already checked out." +msgstr "Zamówienie już jest wyrejestrowane." + +#: ../../extend/addon/hzaddons/cart/cart.php:1368 +msgid "Drop database tables when uninstalling." +msgstr "UsuÅ„ tabele bazy danych podczas odinstalowywania." + +#: ../../extend/addon/hzaddons/cart/cart.php:1375 +#: ../../extend/addon/hzaddons/cart/Settings/Cart.php:129 +msgid "Cart Settings" +msgstr "Ustawienia koszyka" + +#: ../../extend/addon/hzaddons/cart/cart.php:1387 +#: ../../extend/addon/hzaddons/cart/cart.php:1390 +msgid "Shop" +msgstr "Sklep" + +#: ../../extend/addon/hzaddons/cart/cart.php:1446 +#: ../../extend/addon/hzaddons/cart/myshop.php:112 +msgid "Order Not Found" +msgstr "Nie znaleziono zamówienia" + +#: ../../extend/addon/hzaddons/cart/cart.php:1507 +msgid "Cart utilities for orders and payments" +msgstr "NarzÄ™dzia koszyka do zamówieÅ„ i pÅ‚atnoÅ›ci" + +#: ../../extend/addon/hzaddons/cart/cart.php:1545 +msgid "You must be logged into the Grid to shop." +msgstr "Aby robić zakupy, musisz być zalogowany do Siatki." + +#: ../../extend/addon/hzaddons/cart/cart.php:1578 +#: ../../extend/addon/hzaddons/cart/submodules/paypalbuttonV2.php:409 +#: ../../extend/addon/hzaddons/cart/submodules/paypalbutton.php:392 +#: ../../extend/addon/hzaddons/cart/manual_payments.php:68 +msgid "Order not found." +msgstr "Nie znaleziono zamówienia." + +#: ../../extend/addon/hzaddons/cart/cart.php:1592 +msgid "Access denied." +msgstr "DostÄ™p zabroniony." + +#: ../../extend/addon/hzaddons/cart/cart.php:1644 +#: ../../extend/addon/hzaddons/cart/cart.php:1787 +msgid "No Order Found" +msgstr "Nie znaleziono zamówienia" + +#: ../../extend/addon/hzaddons/cart/cart.php:1653 +msgid "An unknown error has occurred Please start again." +msgstr "WystÄ…piÅ‚ nieznany błąd. Zacznij od nowa." + +#: ../../extend/addon/hzaddons/cart/cart.php:1796 +msgid "Requirements not met." +msgstr "Nie speÅ‚nia wymagaÅ„." + +#: ../../extend/addon/hzaddons/cart/cart.php:1796 +msgid "Review your order and complete any needed requirements." +msgstr "Przejrzyj swoje zamówienie i speÅ‚nij wszystkie wymagania." + +#: ../../extend/addon/hzaddons/cart/cart.php:1822 +msgid "Invalid Payment Type. Please start again." +msgstr "NieprawidÅ‚owy typ pÅ‚atnoÅ›ci. Zacznij od nowa." + +#: ../../extend/addon/hzaddons/cart/cart.php:1829 +msgid "Order not found" +msgstr "Nie znaleziono zamówienia" + +#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:70 +msgid "Enable Order/Item Options" +msgstr "Włącz opcjÄ™ Zamówienie/Element" + +#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:333 +#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:357 +#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:433 +#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:457 +msgid "Label" +msgstr "Etykieta" + +#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:336 +#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:360 +#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:436 +#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:460 +msgid "Instructions" +msgstr "Instukcje" + +#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:63 +msgid "Enable Hubzilla Services Module" +msgstr "Włącz moduÅ‚ usÅ‚ug Hubzilla" + +#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:162 +#: ../../extend/addon/hzaddons/cart/submodules/manualcat.php:172 +msgid "New Sku" +msgstr "Nowy SKU" + +#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:197 +#: ../../extend/addon/hzaddons/cart/submodules/manualcat.php:208 +msgid "Cannot save edits to locked item." +msgstr "Nie można zapisać zmian w zablokowanym elemencie." + +#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:246 +#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:333 +msgid "SKU not found." +msgstr "Nie znaleziono SKU." + +#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:299 +#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:303 +msgid "Invalid Activation Directive." +msgstr "NieprawidÅ‚owa dyrektywa aktywacyjna." + +#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:374 +#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:378 +msgid "Invalid Deactivation Directive." +msgstr "NieprawidÅ‚owa dyrektywa dezaktywacyjna." + +#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:564 +msgid "Add to this privacy group" +msgstr "Dodaj do tej grupy prywatnoÅ›ci" + +#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:580 +msgid "Set user service class" +msgstr "Ustaw klasÄ™ usÅ‚ug użytkownika" + +#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:607 +msgid "You must be using a local account to purchase this service." +msgstr "Aby kupić tÄ™ usÅ‚ugÄ™, musisz korzystać z konta lokalnego." + +#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:647 +#: ../../extend/addon/hzaddons/cart/submodules/manualcat.php:252 +msgid "Changes Locked" +msgstr "Zmiany zablokowane" + +#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:651 +#: ../../extend/addon/hzaddons/cart/submodules/manualcat.php:256 +msgid "Item available for purchase." +msgstr "Element dostÄ™pny do zakupu." + +#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:658 +#: ../../extend/addon/hzaddons/cart/submodules/manualcat.php:263 +#: ../../extend/addon/hzaddons/cart/widgets/catalogitem.php:57 +msgid "Price" +msgstr "Cena" + +#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:661 +#: ../../extend/addon/hzaddons/cart/submodules/manualcat.php:266 +msgid "Photo URL" +msgstr "Adres URL zdjÄ™cia" + +#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:665 +msgid "Add buyer to privacy group" +msgstr "Dodaj kupujÄ…cego do grupy prywatnoÅ›ci" + +#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:670 +msgid "Add buyer as connection" +msgstr "Dodaj kupujÄ…cego jako połączenie" + +#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:678 +#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:720 +msgid "Set Service Class" +msgstr "Ustaw klasÄ™ usÅ‚ugi" + +#: ../../extend/addon/hzaddons/cart/submodules/subscriptions.php:151 +msgid "Enable Subscription Management Module" +msgstr "Włącz moduÅ‚ zarzÄ…dzania subskrypcjami" + +#: ../../extend/addon/hzaddons/cart/submodules/subscriptions.php:223 +msgid "" +"Cannot include subscription items with different terms in the same order." +msgstr "" +"Nie może zawierać elementów subskrypcji z różnymi terminami w tej samej " +"kolejnoÅ›ci." + +#: ../../extend/addon/hzaddons/cart/submodules/subscriptions.php:372 +msgid "Select Subscription to Edit" +msgstr "Wybierz subskrypcjÄ™ do edycji" + +#: ../../extend/addon/hzaddons/cart/submodules/subscriptions.php:380 +msgid "Edit Subscriptions" +msgstr "Edytuj subskrypcje" + +#: ../../extend/addon/hzaddons/cart/submodules/subscriptions.php:414 +msgid "Subscription SKU" +msgstr "Subskrypcja SKU" + +#: ../../extend/addon/hzaddons/cart/submodules/subscriptions.php:419 +msgid "Catalog Description" +msgstr "Opis katalogu" + +#: ../../extend/addon/hzaddons/cart/submodules/subscriptions.php:423 +msgid "Subscription available for purchase." +msgstr "Subskrypcja dostÄ™pna do zakupu." + +#: ../../extend/addon/hzaddons/cart/submodules/subscriptions.php:428 +msgid "Maximum active subscriptions to this item per account." +msgstr "Maksymalna liczba aktywnych subskrypcji tego elementu na konto." + +#: ../../extend/addon/hzaddons/cart/submodules/subscriptions.php:431 +msgid "Subscription price." +msgstr "Cena subskrypcji." + +#: ../../extend/addon/hzaddons/cart/submodules/subscriptions.php:435 +msgid "Quantity" +msgstr "Ilość" + +#: ../../extend/addon/hzaddons/cart/submodules/subscriptions.php:439 +msgid "Term" +msgstr "Termin" + +#: ../../extend/addon/hzaddons/cart/submodules/paypalbuttonV2.php:86 +msgid "Enable Paypal Button Module (API-v2)" +msgstr "Włącz moduÅ‚ przycisków Paypal (API-v2)" + +#: ../../extend/addon/hzaddons/cart/submodules/paypalbuttonV2.php:94 +#: ../../extend/addon/hzaddons/cart/submodules/paypalbutton.php:93 +msgid "Use Production Key" +msgstr "Użyj klucza produkcyjnego" + +#: ../../extend/addon/hzaddons/cart/submodules/paypalbuttonV2.php:101 +#: ../../extend/addon/hzaddons/cart/submodules/paypalbutton.php:100 +msgid "Paypal Sandbox Client Key" +msgstr "Klucz klienta Paypal Sandbox" + +#: ../../extend/addon/hzaddons/cart/submodules/paypalbuttonV2.php:108 +#: ../../extend/addon/hzaddons/cart/submodules/paypalbutton.php:107 +msgid "Paypal Sandbox Secret Key" +msgstr "Tajny klucz Paypal Sandbox" + +#: ../../extend/addon/hzaddons/cart/submodules/paypalbuttonV2.php:114 +#: ../../extend/addon/hzaddons/cart/submodules/paypalbutton.php:113 +msgid "Paypal Production Client Key" +msgstr "Klucz klienta produkcyjny Paypal" + +#: ../../extend/addon/hzaddons/cart/submodules/paypalbuttonV2.php:121 +#: ../../extend/addon/hzaddons/cart/submodules/paypalbutton.php:120 +msgid "Paypal Production Secret Key" +msgstr "Tajny klucz produkcyjny Paypal" + +#: ../../extend/addon/hzaddons/cart/submodules/paypalbuttonV2.php:264 +#: ../../extend/addon/hzaddons/cart/submodules/paypalbutton.php:252 +msgid "Paypal button payments are not enabled." +msgstr "PÅ‚atnoÅ›ci za pomocÄ… przycisku PayPal nie sÄ… włączone." + +#: ../../extend/addon/hzaddons/cart/submodules/paypalbuttonV2.php:282 +#: ../../extend/addon/hzaddons/cart/submodules/paypalbutton.php:270 +msgid "" +"Paypal button payments are not properly configured. Please choose another " +"payment option." +msgstr "" +"PÅ‚atnoÅ›ci za pomocÄ… przycisku PayPal nie sÄ… poprawnie skonfigurowane. " +"Wybierz innÄ… opcjÄ™ pÅ‚atnoÅ›ci." + +#: ../../extend/addon/hzaddons/cart/submodules/paypalbutton.php:85 +msgid "Enable Paypal Button Module" +msgstr "Włącz moduÅ‚ przycisku Paypal" + +#: ../../extend/addon/hzaddons/cart/submodules/manualcat.php:61 +msgid "Enable Manual Cart Module" +msgstr "Włącz moduÅ‚ rÄ™cznego koszyka" + +#: ../../extend/addon/hzaddons/cart/myshop.php:30 +msgid "Access Denied." +msgstr "DostÄ™p zabroniony." + +#: ../../extend/addon/hzaddons/cart/myshop.php:189 +#: ../../extend/addon/hzaddons/cart/myshop.php:223 +#: ../../extend/addon/hzaddons/cart/myshop.php:271 +#: ../../extend/addon/hzaddons/cart/myshop.php:329 +msgid "Invalid Item" +msgstr "ZÅ‚a pozycja" + +#: ../../extend/addon/hzaddons/cart/manual_payments.php:7 +msgid "Error: order mismatch. Please try again." +msgstr "Błąd: niezgodność zamówienia. ProszÄ™ spróbuj ponownie." + +#: ../../extend/addon/hzaddons/cart/manual_payments.php:61 +msgid "Manual payments are not enabled." +msgstr "PÅ‚atnoÅ›ci rÄ™czne nie sÄ… włączone." + +#: ../../extend/addon/hzaddons/cart/manual_payments.php:77 +msgid "Finished" +msgstr "ZakoÅ„czone" + +#: ../../extend/addon/hzaddons/cart/Settings/Cart.php:58 +msgid "Enable Test Catalog" +msgstr "Włącz katalog testów" + +#: ../../extend/addon/hzaddons/cart/Settings/Cart.php:70 +msgid "Enable Manual Payments" +msgstr "Włącz pÅ‚atnoÅ›ci rÄ™czne" + +#: ../../extend/addon/hzaddons/cart/Settings/Cart.php:90 +msgid "Base Merchant Currency" +msgstr "Podstawowa waluta sprzedawcy" + +#: ../../extend/addon/hzaddons/openid/openid.php:49 +msgid "" +"We encountered a problem while logging in with the OpenID you provided. " +"Please check the correct spelling of the ID." +msgstr "" +"NapotkaliÅ›my problem podczas logowania za pomocÄ… podanego przez Ciebie " +"identyfikatora OpenID. Sprawdź poprawnÄ… pisowniÄ™ identyfikatora." + +#: ../../extend/addon/hzaddons/openid/openid.php:49 +msgid "The error message was:" +msgstr "Komunikat o błędzie brzmi:" + +#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:52 +msgid "First Name" +msgstr "ImiÄ™" + +#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:53 +msgid "Last Name" +msgstr "Nazwisko" + +#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:55 +msgid "Full Name" +msgstr "PeÅ‚na nazwa" + +#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:61 +msgid "Profile Photo 16px" +msgstr "ZdjÄ™cie profilowe 16px" + +#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:62 +msgid "Profile Photo 32px" +msgstr "ZdjÄ™cie profilowe 32px" + +#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:63 +msgid "Profile Photo 48px" +msgstr "ZdjÄ™cie profilowe 48px" + +#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:64 +msgid "Profile Photo 64px" +msgstr "ZdjÄ™cie profilowe 64px" + +#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:65 +msgid "Profile Photo 80px" +msgstr "ZdjÄ™cie profilowe 80px" + +#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:66 +msgid "Profile Photo 128px" +msgstr "ZdjÄ™cie profilowe 128px" + +#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:70 +msgid "Birth Year" +msgstr "Rok urodzenia" + +#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:71 +msgid "Birth Month" +msgstr "MiesiÄ…c urodzenia" + +#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:72 +msgid "Birth Day" +msgstr "DzieÅ„ urodzenia" + +#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:73 +msgid "Birthdate" +msgstr "Data urodzenia" + +#: ../../extend/addon/hzaddons/openid/Mod_Openid.php:30 +msgid "OpenID protocol error. No ID returned." +msgstr "Błąd protokoÅ‚u OpenID. Brak identyfikatora." + +#: ../../extend/addon/hzaddons/hzfiles/hzfiles.php:81 +msgid "Hubzilla File Storage Import" +msgstr "Import z magazynu plików Hubzilla" + +#: ../../extend/addon/hzaddons/hzfiles/hzfiles.php:82 +msgid "This will import all your cloud files from another server." +msgstr "" +"Spowoduje to zaimportowanie wszystkich plików w chmurze z innego huba " +"Hubzilla." + +#: ../../extend/addon/hzaddons/hzfiles/hzfiles.php:83 +msgid "Hubzilla Server base URL" +msgstr "Bazowy adres URL serwera Hubzilla" + +#: ../../extend/addon/hzaddons/hzfiles/hzfiles.php:84 +#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:140 +msgid "Since modified date yyyy-mm-dd" +msgstr "Od daty modyfikacji rrrr-mm-dd" + +#: ../../extend/addon/hzaddons/hzfiles/hzfiles.php:85 +#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:141 +msgid "Until modified date yyyy-mm-dd" +msgstr "Do daty modyfikacji rrrr-mm-dd" + +#: ../../extend/addon/hzaddons/diaspora/Mod_Diaspora.php:43 +msgid "Diaspora Protocol Settings updated." +msgstr "Zaktualizowano ustawienia protokoÅ‚u Diaspora." + +#: ../../extend/addon/hzaddons/diaspora/Mod_Diaspora.php:52 +msgid "" +"The diaspora protocol does not support location independence. Connections " +"you make within that network may be unreachable from alternate channel " +"locations." +msgstr "" +"Protokół Diaspora nie obsÅ‚uguje niezależnoÅ›ci lokalizacji. Połączenia " +"nawiÄ…zane w tej sieci mogÄ… być niedostÄ™pne z innych lokalizacji kanałów." + +#: ../../extend/addon/hzaddons/diaspora/Mod_Diaspora.php:58 +msgid "Diaspora Protocol App" +msgstr "Aplikacja Diaspora Protocol" + +#: ../../extend/addon/hzaddons/diaspora/Mod_Diaspora.php:75 +msgid "Allow any Diaspora member to comment on your public posts" +msgstr "Pozwól każdemu czÅ‚onkowi Diaspory komentować Twoje publiczne posty" + +#: ../../extend/addon/hzaddons/diaspora/Mod_Diaspora.php:79 +msgid "Prevent your hashtags from being redirected to other sites" +msgstr "Zapobiegaj przekierowywaniu hashtagów do innych witryn" + +#: ../../extend/addon/hzaddons/diaspora/Mod_Diaspora.php:83 +msgid "Sign and forward posts and comments with no existing Diaspora signature" +msgstr "Podpisuj i przesyÅ‚aj dalej posty i komentarze bez podpisu Diaspory" + +#: ../../extend/addon/hzaddons/diaspora/Mod_Diaspora.php:88 +msgid "Followed hashtags (comma separated, do not include the #)" +msgstr "Obserwowane hashtagi (oddzielone przecinkami, nie dodawaj #)" + +#: ../../extend/addon/hzaddons/diaspora/Mod_Diaspora.php:97 +msgid "Diaspora Protocol" +msgstr "Diaspora Protocol" + +#: ../../extend/addon/hzaddons/diaspora/import_diaspora.php:19 +msgid "No username found in import file." +msgstr "W pliku importu nie znaleziono nazwy użytkownika." + +#: ../../extend/addon/hzaddons/diaspora/Receiver.php:1541 +#, php-format +msgid "%1$s dislikes %2$s's %3$s" +msgstr "%1$s desaprobat %2$s %3$s" + +#: ../../extend/addon/hzaddons/diaspora/diaspora.php:66 +msgid "" +"Please install the statistics addon to be able to configure a diaspora relay" +msgstr "" +"Zainstaluj dodatek do statystyk, aby móc skonfigurować przekaźnik Diaspory" + +#: ../../extend/addon/hzaddons/diaspora/diaspora.php:76 +msgid "Diaspora Relay Handle" +msgstr "Uchwyt przekaźnika Diaspory" + +#: ../../extend/addon/hzaddons/diaspora/diaspora.php:76 +msgid "Address of a diaspora relay. Example: relay@diasporarelay.tld" +msgstr "Adres przekaźnika diaspory. PrzykÅ‚ad: relay@diasporarelay.tld" + +#: ../../extend/addon/hzaddons/diaspora/diaspora.php:96 +msgid "Diaspora relay could not be imported" +msgstr "Nie można zaimportować przekaźnika diaspory" + +#: ../../extend/addon/hzaddons/dirstats/dirstats.php:94 +msgid "Hubzilla Directory Stats" +msgstr "Statystyki katalogowe Hubzilla" + +#: ../../extend/addon/hzaddons/dirstats/dirstats.php:95 +msgid "Total Hubs" +msgstr "Razem huby" + +#: ../../extend/addon/hzaddons/dirstats/dirstats.php:97 +msgid "Hubzilla Hubs" +msgstr "Huby Hubzilla" + +#: ../../extend/addon/hzaddons/dirstats/dirstats.php:99 +msgid "Friendica Hubs" +msgstr "Huby Friendica" + +#: ../../extend/addon/hzaddons/dirstats/dirstats.php:101 +msgid "Diaspora Pods" +msgstr "Pody Diaspora" + +#: ../../extend/addon/hzaddons/dirstats/dirstats.php:103 +msgid "Hubzilla Channels" +msgstr "KanaÅ‚y Hubzilla" + +#: ../../extend/addon/hzaddons/dirstats/dirstats.php:105 +msgid "Friendica Channels" +msgstr "KanaÅ‚y Friendica" + +#: ../../extend/addon/hzaddons/dirstats/dirstats.php:107 +msgid "Diaspora Channels" +msgstr "KanaÅ‚y Diaspora" + +#: ../../extend/addon/hzaddons/dirstats/dirstats.php:109 +msgid "Aged 35 and above" +msgstr "W wieku 35 lat i wiÄ™cej" + +#: ../../extend/addon/hzaddons/dirstats/dirstats.php:111 +msgid "Aged 34 and under" +msgstr "W wieku 34 lat i poniżej" + +#: ../../extend/addon/hzaddons/dirstats/dirstats.php:113 +msgid "Average Age" +msgstr "Åšredni wiek" + +#: ../../extend/addon/hzaddons/dirstats/dirstats.php:115 +msgid "Known Chatrooms" +msgstr "Znane czaty" + +#: ../../extend/addon/hzaddons/dirstats/dirstats.php:117 +msgid "Known Tags" +msgstr "Znane tagi" + +#: ../../extend/addon/hzaddons/dirstats/dirstats.php:119 +msgid "" +"Please note Diaspora and Friendica statistics are merely those **this " +"directory** is aware of, and not all those known in the network. This also " +"applies to chatrooms," +msgstr "" +"ProszÄ™ mieć na uwadze, że statystyki Diaspory i Friendica to tylko te,które " +"sÄ… widoczne dla **tego katalogu**, a nie wszystkie znane w sieci. Dotyczy to " +"również czatów," + +#: ../../extend/addon/hzaddons/upload_limits/upload_limits.php:25 +msgid "Show Upload Limits" +msgstr "Pokaż limity przesyÅ‚ania" + +#: ../../extend/addon/hzaddons/upload_limits/upload_limits.php:27 +msgid "Hubzilla configured maximum size: " +msgstr "Maksymalny rozmiar skonfigurowany w Hubzilli: " + +#: ../../extend/addon/hzaddons/upload_limits/upload_limits.php:28 +msgid "PHP upload_max_filesize: " +msgstr "PHP upload_max_filesize: " + +#: ../../extend/addon/hzaddons/upload_limits/upload_limits.php:29 +msgid "PHP post_max_size (must be larger than upload_max_filesize): " +msgstr "PHP post_max_size (musi być wiÄ™ksze od upload_max_filesize): " + +#: ../../extend/addon/hzaddons/hideaside/Mod_Hideaside.php:23 +#: ../../extend/addon/hzaddons/hideaside/Mod_Hideaside.php:27 +msgid "Hide Aside App" +msgstr "Aplikacja Hide Aside" + +#: ../../extend/addon/hzaddons/hideaside/Mod_Hideaside.php:24 +#: ../../extend/addon/hzaddons/hideaside/Mod_Hideaside.php:28 +msgid "Fade out aside areas after a while when using endless scroll" +msgstr "Powoduje zanikanie obszaru po chwili, gdy używasz dÅ‚ugiego przewijania" + +#: ../../extend/addon/hzaddons/hideaside/Mod_Hideaside.php:27 +#: ../../extend/addon/hzaddons/planets/Mod_Planets.php:23 +#: ../../extend/addon/hzaddons/hsse/Mod_Hsse.php:26 +#: ../../extend/addon/hzaddons/authchoose/Mod_Authchoose.php:33 +#: ../../extend/addon/hzaddons/nsabait/Mod_Nsabait.php:24 +#: ../../extend/addon/hzaddons/rainbowtag/Mod_Rainbowtag.php:26 +msgid "Installed" +msgstr "Zainstalowane" + +#: ../../extend/addon/hzaddons/randpost/randpost.php:97 +msgid "You're welcome." +msgstr "ProszÄ™ bardzo." + +#: ../../extend/addon/hzaddons/randpost/randpost.php:98 +msgid "Ah shucks..." +msgstr "O cholera ..." + +#: ../../extend/addon/hzaddons/randpost/randpost.php:99 +msgid "Don't mention it." +msgstr "Nie wspominaj o tym." + +#: ../../extend/addon/hzaddons/randpost/randpost.php:100 +msgid "<blush>" +msgstr "<rumieniec>" + +#: ../../extend/addon/hzaddons/openstreetmap/openstreetmap.php:133 +msgid "View Larger" +msgstr "Zobacz wiÄ™ksze" + +#: ../../extend/addon/hzaddons/openstreetmap/openstreetmap.php:156 +msgid "Tile Server URL" +msgstr "Adres URL serwera kafelków rastrowych" + +#: ../../extend/addon/hzaddons/openstreetmap/openstreetmap.php:156 +msgid "" +"A list of <a href=\"http://wiki.openstreetmap.org/wiki/TMS\" target=\"_blank" +"\">public tile servers</a>" +msgstr "" +"Lista <a href=\"http://wiki.openstreetmap.org/wiki/TMS\" target=\"_blank" +"\">publicznych serwerów kafelków</a>" + +#: ../../extend/addon/hzaddons/openstreetmap/openstreetmap.php:157 +msgid "Nominatim (reverse geocoding) Server URL" +msgstr "Adres URL serwera Nominatim (odwrotne geokodowanie)" + +#: ../../extend/addon/hzaddons/openstreetmap/openstreetmap.php:157 +msgid "" +"A list of <a href=\"http://wiki.openstreetmap.org/wiki/Nominatim\" target=" +"\"_blank\">Nominatim servers</a>" +msgstr "" +"Lista <a href=\"http://wiki.openstreetmap.org/wiki/Nominatim\" target=" +"\"_blank\">serwerów Nominatim</a>" + +#: ../../extend/addon/hzaddons/openstreetmap/openstreetmap.php:158 +msgid "Default zoom" +msgstr "PowiÄ™kszenie domyÅ›lne" + +#: ../../extend/addon/hzaddons/openstreetmap/openstreetmap.php:158 +msgid "" +"The default zoom level. (1:world, 18:highest, also depends on tile server)" +msgstr "" +"DomyÅ›lny poziom powiÄ™kszenia. (1: Å›wiat, 18: najwyższy, zależy również od " +"serwera kafelków)" + +#: ../../extend/addon/hzaddons/openstreetmap/openstreetmap.php:159 +msgid "Include marker on map" +msgstr "UwzglÄ™dnij znacznik na mapie" + +#: ../../extend/addon/hzaddons/openstreetmap/openstreetmap.php:159 +msgid "Include a marker on the map." +msgstr "Umieść znacznik na tej mapie." + +#: ../../extend/addon/hzaddons/ljpost/Mod_Ljpost.php:38 +msgid "Livejournal Crosspost Connector App" +msgstr "Aplikacja Livejournal Crosspost Connector" + +#: ../../extend/addon/hzaddons/ljpost/Mod_Ljpost.php:39 +msgid "Relay public posts to Livejournal" +msgstr "Przekazuj publiczne posty do Livejournal" + +#: ../../extend/addon/hzaddons/ljpost/Mod_Ljpost.php:55 +msgid "Livejournal username" +msgstr "Nazwa użytkownika w Livejournal" + +#: ../../extend/addon/hzaddons/ljpost/Mod_Ljpost.php:59 +msgid "Livejournal password" +msgstr "HasÅ‚o do Livejournal" + +#: ../../extend/addon/hzaddons/ljpost/Mod_Ljpost.php:63 +msgid "Post to Livejournal by default" +msgstr "DomyÅ›lnie wysyÅ‚aj do Livejournal" + +#: ../../extend/addon/hzaddons/ljpost/Mod_Ljpost.php:67 +msgid "Send wall-to-wall posts to Livejournal" +msgstr "WysyÅ‚aj posty \"wall-to-wall\" do Livejournal" + +#: ../../extend/addon/hzaddons/ljpost/Mod_Ljpost.php:71 +#: ../../extend/addon/hzaddons/dwpost/Mod_Dwpost.php:65 +#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:94 +msgid "Add link to original post" +msgstr "Dodaj odnoÅ›nik do oryginalnego postu" + +#: ../../extend/addon/hzaddons/ljpost/Mod_Ljpost.php:79 +msgid "Livejournal Crosspost Connector" +msgstr "Livejournal Crosspost Connector" + +#: ../../extend/addon/hzaddons/ljpost/ljpost.php:49 +msgid "Post to Livejournal" +msgstr "Publikuj w Livejournal" + +#: ../../extend/addon/hzaddons/ljpost/ljpost.php:127 +msgid "Posted by" +msgstr "WysÅ‚ane przez" + +#: ../../extend/addon/hzaddons/workflow/workflow.php:222 +msgid "Workflow user." +msgstr "PrzepÅ‚yw pracy użytkownika." + +#: ../../extend/addon/hzaddons/workflow/workflow.php:272 +msgid "This channel" +msgstr "Ten kanaÅ‚" + +#: ../../extend/addon/hzaddons/workflow/workflow.php:541 +#: ../../extend/addon/hzaddons/workflow/workflow.php:1437 +#: ../../extend/addon/hzaddons/workflow/workflow.php:1456 +msgid "Workflow" +msgstr "PrzepÅ‚yw pracy" + +#: ../../extend/addon/hzaddons/workflow/workflow.php:1425 +msgid "No Workflows Available" +msgstr "Å»aden przepÅ‚yw nie jest dostÄ™pny" + +#: ../../extend/addon/hzaddons/workflow/workflow.php:1455 +msgid "Add item to which workflow" +msgstr "Dodaj element do przepÅ‚ywu pracy" + +#: ../../extend/addon/hzaddons/workflow/workflow.php:1515 +#: ../../extend/addon/hzaddons/workflow/workflow.php:1634 +msgid "Create Workflow Item" +msgstr "Utwórz element przepÅ‚ywu pracy" + +#: ../../extend/addon/hzaddons/workflow/workflow.php:2596 +msgid "Link" +msgstr "Link" + +#: ../../extend/addon/hzaddons/workflow/workflow.php:2598 +msgid "Web link." +msgstr "Link do strony internetowej." + +#: ../../extend/addon/hzaddons/workflow/workflow.php:2619 +#: ../../extend/addon/hzaddons/workflow/workflow.php:2680 +msgid "Brief description or title" +msgstr "Krótki opis lub tytuÅ‚" + +#: ../../extend/addon/hzaddons/workflow/workflow.php:2627 +#: ../../extend/addon/hzaddons/workflow/workflow.php:2688 +msgid "Notes and Info" +msgstr "Uwagi i informacje" + +#: ../../extend/addon/hzaddons/workflow/workflow.php:2686 +msgid "Body" +msgstr "CiaÅ‚o" + +#: ../../extend/addon/hzaddons/workflow/Settings/Mod_WorkflowSettings.php:101 +msgid "Workflow Settings" +msgstr "Ustawienia przepÅ‚ywu pracy" + +#: ../../extend/addon/hzaddons/xmpp/xmpp.php:44 +msgid "Jabber BOSH host" +msgstr "Host Jabber BOSH" + +#: ../../extend/addon/hzaddons/xmpp/xmpp.php:45 +msgid "Use central userbase" +msgstr "Użyj centralnej bazy użytkowników" + +#: ../../extend/addon/hzaddons/xmpp/xmpp.php:45 +msgid "" +"If enabled, members will automatically login to an ejabberd server that has " +"to be installed on this machine with synchronized credentials via the " +"\"auth_ejabberd.php\" script." +msgstr "" +"JeÅ›li jest włączone, czÅ‚onkowie bÄ™dÄ… automatycznie logować siÄ™ do serwera " +"ejabberd, który musi być zainstalowany na tym komputerze z " +"zsynchronizowanymi danymi uwierzytelniajÄ…cymi za poÅ›rednictwem skryptu " +"„auth_ejabberd.phpâ€." + +#: ../../extend/addon/hzaddons/xmpp/Mod_Xmpp.php:23 +msgid "XMPP settings updated." +msgstr "Zaktualizowano ustawienia XMPP." + +#: ../../extend/addon/hzaddons/xmpp/Mod_Xmpp.php:35 +msgid "XMPP App" +msgstr "Aplikacja XMPP" + +#: ../../extend/addon/hzaddons/xmpp/Mod_Xmpp.php:36 +msgid "Embedded XMPP (Jabber) client" +msgstr "Osadzony klient XMPP (Jabber)" + +#: ../../extend/addon/hzaddons/xmpp/Mod_Xmpp.php:52 +msgid "Individual credentials" +msgstr "Indywidualne poÅ›wiadczenia" + +#: ../../extend/addon/hzaddons/xmpp/Mod_Xmpp.php:58 +msgid "Jabber BOSH server" +msgstr "Serwer Jabber BOSH" + +#: ../../extend/addon/hzaddons/xmpp/Mod_Xmpp.php:67 +msgid "XMPP Settings" +msgstr "Ustawienia XMPP" + +#: ../../extend/addon/hzaddons/superblock/Mod_Superblock.php:20 +msgid "Superblock App" +msgstr "Aplikacja Superblock" + +#: ../../extend/addon/hzaddons/superblock/Mod_Superblock.php:21 +msgid "Block channels" +msgstr "Blokuj kanaÅ‚" + +#: ../../extend/addon/hzaddons/superblock/Mod_Superblock.php:63 +msgid "superblock settings updated" +msgstr "zaktualizowano ustawienia superbloku" + +#: ../../extend/addon/hzaddons/superblock/Mod_Superblock.php:87 +msgid "Currently blocked" +msgstr "Obecnie zablokowane" + +#: ../../extend/addon/hzaddons/superblock/Mod_Superblock.php:89 +msgid "No channels currently blocked" +msgstr "Obecnie żadne kanaÅ‚y nie sÄ… zablokowane" + +#: ../../extend/addon/hzaddons/superblock/superblock.php:337 +msgid "Block Completely" +msgstr "Zablokuj caÅ‚kowicie" + +#: ../../extend/addon/hzaddons/planets/Mod_Planets.php:20 +#: ../../extend/addon/hzaddons/planets/Mod_Planets.php:23 +msgid "Random Planet App" +msgstr "Aplikacja Random Planet" + +#: ../../extend/addon/hzaddons/planets/Mod_Planets.php:25 +msgid "" +"Set a random planet from the Star Wars Empire as your location when posting" +msgstr "" +"Podczas wysyÅ‚ania ustaw, jako lokalizacjÄ™, losowÄ… planetÄ™ z Imperium " +"Gwiezdnych Wojen" + +#: ../../extend/addon/hzaddons/nsfw/nsfw.php:152 +msgid "Possible adult content" +msgstr "Możliwe treÅ›ci dla dorosÅ‚ych" + +#: ../../extend/addon/hzaddons/nsfw/nsfw.php:167 +#, php-format +msgid "%s - view" +msgstr "%s - widok" + +#: ../../extend/addon/hzaddons/nsfw/Mod_Nsfw.php:22 +msgid "NSFW Settings saved." +msgstr "Zapisano ustawienia NSFW." + +#: ../../extend/addon/hzaddons/nsfw/Mod_Nsfw.php:33 +msgid "NSFW App" +msgstr "Aplikacja NSFW" + +#: ../../extend/addon/hzaddons/nsfw/Mod_Nsfw.php:34 +msgid "Collapse content that contains predefined words" +msgstr "ZwiÅ„ zawartość zawierajÄ…cÄ… predefiniowane sÅ‚owa" + +#: ../../extend/addon/hzaddons/nsfw/Mod_Nsfw.php:44 +msgid "" +"This app looks in posts for the words/text you specify below, and collapses " +"any content containing those keywords so it is not displayed at " +"inappropriate times, such as sexual innuendo that may be improper in a work " +"setting. It is polite and recommended to tag any content containing nudity " +"with #NSFW. This filter can also match any other word/text you specify, and " +"can thereby be used as a general purpose content filter." +msgstr "" +"Ta aplikacja wyszukuje sÅ‚owa lub tekst, okreÅ›lone poniżej i zwija wszelkie " +"treÅ›ci zawierajÄ…ce te sÅ‚owa kluczowe, aby nie byÅ‚y wyÅ›wietlane w " +"nieodpowiednich momentach, takich jak insynuacje seksualne, które mogÄ… być " +"niewÅ‚aÅ›ciwe w miejscu pracy. Grzecznie jest i zaleca siÄ™, oznaczanie " +"wszelkich treÅ›ci zawierajÄ…cych nagość tagiem #NSFW. Ten filtr może również " +"pasować do dowolnego innego okreÅ›lonego sÅ‚owa lub tekstu, dziÄ™ki czemu może " +"być używany jako filtr treÅ›ci ogólnego przeznaczenia." + +#: ../../extend/addon/hzaddons/nsfw/Mod_Nsfw.php:49 +msgid "Comma separated list of keywords to hide" +msgstr "Lista słów kluczowych rozdzielona przecinkami" + +#: ../../extend/addon/hzaddons/nsfw/Mod_Nsfw.php:49 +msgid "Word, /regular-expression/, lang=xx, lang!=xx" +msgstr "SÅ‚owo, /wyrażenie regularne/, lang=xx, lang!=xx" + +#: ../../extend/addon/hzaddons/nsfw/Mod_Nsfw.php:58 +msgid "NSFW" +msgstr "NSFW" + +#: ../../extend/addon/hzaddons/tictac/tictac.php:21 +msgid "Three Dimensional Tic-Tac-Toe" +msgstr "Trójwymiarowy Tic-Tac-Toe" + +#: ../../extend/addon/hzaddons/tictac/tictac.php:54 +msgid "3D Tic-Tac-Toe" +msgstr "3D Tic-Tac-Toe" + +#: ../../extend/addon/hzaddons/tictac/tictac.php:59 +msgid "New game" +msgstr "Nowa gra" + +#: ../../extend/addon/hzaddons/tictac/tictac.php:60 +msgid "New game with handicap" +msgstr "Nowa gra z handicapem" + +#: ../../extend/addon/hzaddons/tictac/tictac.php:61 +msgid "" +"Three dimensional tic-tac-toe is just like the traditional game except that " +"it is played on multiple levels simultaneously. " +msgstr "" +"Trójwymiarowa gra w kółko i krzyżyk jest podobna do tradycyjnej gry, z tym " +"wyjÄ…tkiem, że gra siÄ™ w niÄ… na wielu poziomach jednoczeÅ›nie. " + +#: ../../extend/addon/hzaddons/tictac/tictac.php:62 +msgid "" +"In this case there are three levels. You win by getting three in a row on " +"any level, as well as up, down, and diagonally across the different levels." +msgstr "" +"W tym przypadku sÄ… trzy poziomy. Wygrywasz, zdobywajÄ…c trzy z rzÄ™du na " +"dowolnym poziomie, a także w górÄ™, w dół i po przekÄ…tnej na różnych " +"poziomach." + +#: ../../extend/addon/hzaddons/tictac/tictac.php:64 +msgid "" +"The handicap game disables the center position on the middle level because " +"the player claiming this square often has an unfair advantage." +msgstr "" +"Gra z handicapem wyłącza Å›rodkowÄ… pozycjÄ™ na Å›rodkowym poziomie, ponieważ " +"gracz zajmujÄ…cy to pole czÄ™sto ma nieuczciwÄ… przewagÄ™." + +#: ../../extend/addon/hzaddons/tictac/tictac.php:183 +msgid "You go first..." +msgstr "Ty pierwszy ..." + +#: ../../extend/addon/hzaddons/tictac/tictac.php:188 +msgid "I'm going first this time..." +msgstr "Tym razem idÄ™ pierwszy ..." + +#: ../../extend/addon/hzaddons/tictac/tictac.php:194 +msgid "You won!" +msgstr "WygraÅ‚eÅ›!" + +#: ../../extend/addon/hzaddons/tictac/tictac.php:200 +#: ../../extend/addon/hzaddons/tictac/tictac.php:225 +msgid "\"Cat\" game!" +msgstr "Gra \"Kot\"!" + +#: ../../extend/addon/hzaddons/tictac/tictac.php:223 +msgid "I won!" +msgstr "WygraÅ‚em!" + +#: ../../extend/addon/hzaddons/photocache/Mod_Photocache.php:27 +msgid "Photo Cache settings saved." +msgstr "Zapisano ustawienia pamiÄ™ci podrÄ™cznej zdjęć." + +#: ../../extend/addon/hzaddons/photocache/Mod_Photocache.php:36 +msgid "" +"Photo Cache addon saves a copy of images from external sites locally to " +"increase your anonymity in the web." +msgstr "" +"Dodatek Photo Cache zapisuje lokalnie kopie obrazów z zewnÄ™trznych witryn, " +"aby zwiÄ™kszyć TwojÄ… anonimowość w sieci." + +#: ../../extend/addon/hzaddons/photocache/Mod_Photocache.php:42 +msgid "Photo Cache App" +msgstr "Aplikacja Photo Cache" + +#: ../../extend/addon/hzaddons/photocache/Mod_Photocache.php:53 +msgid "Minimal photo size for caching" +msgstr "Minimalny rozmiar zdjÄ™cia do buforowania" + +#: ../../extend/addon/hzaddons/photocache/Mod_Photocache.php:55 +msgid "In pixels. From 1 up to 1024, 0 will be replaced with system default." +msgstr "" +"W pikselach. Od 1 do 1024, 0 zostanie zastÄ…pione domyÅ›lnymi ustawieniami " +"systemowymi." + +#: ../../extend/addon/hzaddons/photocache/Mod_Photocache.php:64 +msgid "Photo Cache" +msgstr "Photo Cache" + +#: ../../extend/addon/hzaddons/opensearch/opensearch.php:26 +#, php-format +msgctxt "opensearch" +msgid "Search %1$s (%2$s)" +msgstr "Szukaj %1$s (%2$s)" + +#: ../../extend/addon/hzaddons/opensearch/opensearch.php:28 +msgctxt "opensearch" +msgid "$Projectname" +msgstr "Hubzilla" + +#: ../../extend/addon/hzaddons/opensearch/opensearch.php:43 +msgid "Search $Projectname" +msgstr "Szukaj w Hubzilla" + +#: ../../extend/addon/hzaddons/libertree/Mod_Libertree.php:25 +msgid "Libertree Crosspost Connector Settings saved." +msgstr "Zapisano ustawienia Libertree Crosspost Connector." + +#: ../../extend/addon/hzaddons/libertree/Mod_Libertree.php:35 +msgid "Libertree Crosspost Connector App" +msgstr "Aplikacja Libertree Crosspost Connector" + +#: ../../extend/addon/hzaddons/libertree/Mod_Libertree.php:36 +msgid "Relay public posts to Libertree" +msgstr "Przekazuj publiczne posty do Libertree" + +#: ../../extend/addon/hzaddons/libertree/Mod_Libertree.php:51 +msgid "Libertree API token" +msgstr "Token API Libertree" + +#: ../../extend/addon/hzaddons/libertree/Mod_Libertree.php:55 +msgid "Libertree site URL" +msgstr "Adres URL witrny Libertree" + +#: ../../extend/addon/hzaddons/libertree/Mod_Libertree.php:59 +msgid "Post to Libertree by default" +msgstr "DomyÅ›lnie publikuj w Libertree" + +#: ../../extend/addon/hzaddons/libertree/Mod_Libertree.php:67 +msgid "Libertree Crosspost Connector" +msgstr "Libertree Crosspost Connector" + +#: ../../extend/addon/hzaddons/libertree/libertree.php:43 +msgid "Post to Libertree" +msgstr "Publikuj w Libertree" + +#: ../../extend/addon/hzaddons/adultphotoflag/adultphotoflag.php:24 +msgid "Flag Adult Photos" +msgstr "Oznaczanie zdjęć dla dorosÅ‚ych" + +#: ../../extend/addon/hzaddons/adultphotoflag/adultphotoflag.php:25 +msgid "" +"Provide photo edit option to hide inappropriate photos from default album " +"view" +msgstr "" +"Dostarcza opcjÄ™ edycji zdjęć, umożliwiajÄ…cÄ… ukrywanie nieodpowiednich zdjęć " +"w domyÅ›lnym widoku albumu" + +#: ../../extend/addon/hzaddons/statusnet/statusnet.php:145 +msgid "Post to GNU social" +msgstr "Publikuj w serwisie spoÅ‚ecznoÅ›ciowym GNU" + +#: ../../extend/addon/hzaddons/statusnet/statusnet.php:594 +msgid "API URL" +msgstr "Adres URL API" + +#: ../../extend/addon/hzaddons/statusnet/statusnet.php:597 +msgid "Application name" +msgstr "Nazwa aplikacji" + +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:61 +msgid "" +"Please contact your site administrator.<br />The provided API URL is not " +"valid." +msgstr "" +"Skontaktuj siÄ™ z administratorem witryny. <br/> Podany adres URL interfejsu " +"API jest nieprawidÅ‚owy." + +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:98 +msgid "We could not contact the GNU social API with the Path you entered." +msgstr "" +"Nie mogliÅ›my nawiÄ…zać połączenia ze spoÅ‚ecznoÅ›ciowym API GNU o podanej " +"Å›cieżce." + +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:130 +msgid "GNU social settings updated." +msgstr "Ustawienia spoÅ‚ecznoÅ›ciowe GNU zostaÅ‚y zaktualizowane." + +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:147 +msgid "" +"Relay public postings to a connected GNU social account (formerly StatusNet)" +msgstr "" +"Przekazywanie publicznych postów na połączone konto spoÅ‚ecznoÅ›ciowe GNU " +"(dawniej StatusNet)" + +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:181 +msgid "Globally Available GNU social OAuthKeys" +msgstr "Globalnie dostÄ™pne klucze OAuthKey spoÅ‚ecznoÅ›ciowe GNU" + +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:183 +msgid "" +"There are preconfigured OAuth key pairs for some GNU social servers " +"available. If you are using one of them, please use these credentials.<br /" +">If not feel free to connect to any other GNU social instance (see below)." +msgstr "" +"DostÄ™pne sÄ… wstÄ™pnie skonfigurowane pary kluczy OAuth dla niektórych " +"serwerów spoÅ‚ecznoÅ›ciowych GNU. JeÅ›li używasz jednego z nich, użyj tych " +"poÅ›wiadczeÅ„. <br /> JeÅ›li nie możesz połączyć siÄ™ z innÄ… instancjÄ… " +"spoÅ‚ecznoÅ›ciowÄ… GNU (patrz poniżej)." + +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:198 +msgid "Provide your own OAuth Credentials" +msgstr "Podaj wÅ‚asne dane logowania OAuth" + +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:200 +msgid "" +"No consumer key pair for GNU social found. Register your Hubzilla Account as " +"an desktop client on your GNU social account, copy the consumer key pair " +"here and enter the API base root.<br />Before you register your own OAuth " +"key pair ask the administrator if there is already a key pair for this " +"Hubzilla installation at your favourite GNU social installation." +msgstr "" +"Nie znaleziono pary kluczy konsumenckich dla spoÅ‚ecznoÅ›ci GNU. Zarejestruj " +"swoje konto Hubzilla jako klienta stacjonarnego na swoim koncie " +"spoÅ‚ecznoÅ›ciowym GNU, skopiuj tutaj parÄ™ kluczy klienta i wprowadź " +"podstawowy katalog główny API. <br /> Przed zarejestrowaniem wÅ‚asnej pary " +"kluczy OAuth zapytaj administratora, czy istnieje już para kluczy dla tej " +"instalacji Hubzilli w Twojej ulubionej instalacji spoÅ‚ecznoÅ›ciowej GNU." + +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:204 +msgid "OAuth Consumer Key" +msgstr "Klucz klienta OAuth" + +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:208 +msgid "OAuth Consumer Secret" +msgstr "Tajny klucz klienta OAuth" + +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:212 +msgid "Base API Path" +msgstr "Podstawowa Å›cieżka API" + +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:212 +msgid "Remember the trailing /" +msgstr "ZapamiÄ™taj koÅ„cowy ukoÅ›nik /" + +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:216 +msgid "GNU social application name" +msgstr "Nazwa aplikacji spoÅ‚ecznoÅ›ciowej GNU" + +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:239 +msgid "" +"To connect to your GNU social account click the button below to get a " +"security code from GNU social which you have to copy into the input box " +"below and submit the form. Only your <strong>public</strong> posts will be " +"posted to GNU social." +msgstr "" +"W celu połączenia siÄ™ ze swoim kontem spoÅ‚ecznoÅ›ciowym GNU, kliknij poniższy " +"przycisk, aby uzyskać kod zabezpieczajÄ…cy z serwisu spoÅ‚ecznoÅ›ciowego GNU, " +"który musisz skopiować do pola wprowadzania poniżej i przesÅ‚ać formularz. " +"Tylko twoje <strong>publiczne</strong> posty bÄ™dÄ… publikowane w " +"spoÅ‚ecznoÅ›ciach GNU." + +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:241 +msgid "Log in with GNU social" +msgstr "Zaloguj siÄ™ za pomocÄ… serwisu spoÅ‚ecznoÅ›ciowego GNU" + +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:244 +msgid "Copy the security code from GNU social here" +msgstr "Skopiuj tutaj kod bezpieczeÅ„stwa z GNU Social" + +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:254 +msgid "Cancel Connection Process" +msgstr "Anuluj proces łączenia" + +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:256 +msgid "Current GNU social API is" +msgstr "Obecne API spoÅ‚ecznoÅ›ciowe GNU to" + +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:260 +msgid "Cancel GNU social Connection" +msgstr "Anuluj połączenie spoÅ‚ecznoÅ›ciowe GNU" + +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:272 +#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:147 +msgid "Currently connected to: " +msgstr "Obecnie połączony z: " + +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:277 +msgid "" +"<strong>Note</strong>: Due your privacy settings (<em>Hide your profile " +"details from unknown viewers?</em>) the link potentially included in public " +"postings relayed to GNU social will lead the visitor to a blank page " +"informing the visitor that the access to your profile has been restricted." +msgstr "" +"<strong>Uwaga</strong>: Ze wzglÄ™du na Twoje ustawienia prywatnoÅ›ci, odnoÅ›nik " +"(<em>Ukryj szczegóły swojego profilu przed nieznanymi widzami? </em>), " +"ewentualnie zawarty w publicznych postach przekazywanych do spoÅ‚ecznoÅ›ci " +"GNU, bÄ™dzie kierowaÅ‚ odwiedzajÄ…cego na pustÄ… stronÄ™ z informacjÄ… dla " +"odwiedzajÄ…cego, że dostÄ™p do Twojego profilu zostaÅ‚ ograniczony." + +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:282 +msgid "Post to GNU social by default" +msgstr "WysyÅ‚aj domyÅ›lnie do spoÅ‚ecznoÅ›ci GNU" + +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:282 +msgid "" +"If enabled your public postings will be posted to the associated GNU-social " +"account by default" +msgstr "" +"JeÅ›li ta opcja jest włączona, twoje publiczne posty bÄ™dÄ… domyÅ›lnie wysyÅ‚ane " +"na powiÄ…zane konto spoÅ‚ecznoÅ›ciowe GNU" + +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:291 +#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:171 +msgid "Clear OAuth configuration" +msgstr "Wyczyść konfiguracjÄ™ OAuth" + +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:303 +msgid "GNU-Social Crosspost Connector" +msgstr "GNU-Social Crosspost Connector" + +#: ../../extend/addon/hzaddons/wholikesme/wholikesme.php:29 +msgid "Who likes me?" +msgstr "Kto mnie lubi?" + +#: ../../extend/addon/hzaddons/pubcrawl/Mod_Pubcrawl.php:25 +msgid "ActivityPub Protocol Settings updated." +msgstr "Zaktualizowano ustawienia ActivityPub Protocol." + +#: ../../extend/addon/hzaddons/pubcrawl/Mod_Pubcrawl.php:34 +msgid "" +"The activitypub protocol does not support location independence. Connections " +"you make within that network may be unreachable from alternate channel " +"locations." +msgstr "" +"Protokół AactivityPub nie obsÅ‚uguje niezależnoÅ›ci od lokalizacji. Połączenia " +"nawiÄ…zane w tej sieci mogÄ… być niedostÄ™pne z innych lokalizacji kanałów." + +#: ../../extend/addon/hzaddons/pubcrawl/Mod_Pubcrawl.php:40 +msgid "Activitypub Protocol App" +msgstr "Aplikacja Activitypub Protocol" + +#: ../../extend/addon/hzaddons/pubcrawl/Mod_Pubcrawl.php:50 +msgid "Deliver to ActivityPub recipients in privacy groups" +msgstr "Dostarcz do odbiorców ActivityPub w grupach prywatnoÅ›ci" + +#: ../../extend/addon/hzaddons/pubcrawl/Mod_Pubcrawl.php:50 +msgid "" +"May result in a large number of mentions and expose all the members of your " +"privacy group" +msgstr "" +"Może skutkować dużą liczbÄ… wzmianek i ujawnieniem wszystkich czÅ‚onków Twojej " +"grupy prywatnoÅ›ci" + +#: ../../extend/addon/hzaddons/pubcrawl/Mod_Pubcrawl.php:54 +msgid "Send multi-media HTML articles" +msgstr "WysyÅ‚aj multimedialne artykuÅ‚y HTML" + +#: ../../extend/addon/hzaddons/pubcrawl/Mod_Pubcrawl.php:54 +msgid "Not supported by some microblog services such as Mastodon" +msgstr "NieobsÅ‚ugiwane przez niektóre usÅ‚ugi mikroblogów, takie jak Mastodon" + +#: ../../extend/addon/hzaddons/pubcrawl/Mod_Pubcrawl.php:62 +msgid "Activitypub Protocol" +msgstr "Activitypub Protocol" + +#: ../../extend/addon/hzaddons/ijpost/ijpost.php:44 +msgid "Post to Insane Journal" +msgstr "Publikuj w Insane Journal" + +#: ../../extend/addon/hzaddons/ijpost/Mod_Ijpost.php:23 +msgid "Insane Journal Crosspost Connector Settings saved." +msgstr "Zapisano ustawienia Insane Journal Crosspost Connector." + +#: ../../extend/addon/hzaddons/ijpost/Mod_Ijpost.php:35 +msgid "Insane Journal Crosspost Connector App" +msgstr "Aplikacja Insane Journal Crosspost Connector" + +#: ../../extend/addon/hzaddons/ijpost/Mod_Ijpost.php:36 +msgid "Relay public postings to Insane Journal" +msgstr "Przekaż publiczne posty do Insane Journal" + +#: ../../extend/addon/hzaddons/ijpost/Mod_Ijpost.php:53 +msgid "InsaneJournal username" +msgstr "Nazwa użytkownika InsaneJournal" + +#: ../../extend/addon/hzaddons/ijpost/Mod_Ijpost.php:57 +msgid "InsaneJournal password" +msgstr "HasÅ‚o InsaneJournal" + +#: ../../extend/addon/hzaddons/ijpost/Mod_Ijpost.php:61 +msgid "Post to InsaneJournal by default" +msgstr "DomyÅ›lnie publikuj w InsaneJournal" + +#: ../../extend/addon/hzaddons/ijpost/Mod_Ijpost.php:69 +msgid "Insane Journal Crosspost Connector" +msgstr "Insane Journal Crosspost Connector" + +#: ../../extend/addon/hzaddons/queueworker/Mod_Queueworker.php:77 +msgid "Max queueworker threads" +msgstr "Maksymalna liczba wÄ…tków w kolejce" + +#: ../../extend/addon/hzaddons/queueworker/Mod_Queueworker.php:91 +msgid "Assume workers dead after ___ seconds" +msgstr "Załóż, że workery wygasajÄ… po ___ sekundach" + +#: ../../extend/addon/hzaddons/queueworker/Mod_Queueworker.php:105 +msgid "" +"Pause before starting next task: (microseconds. Minimum 100 = .0001 seconds)" +msgstr "" +"Wstrzymaj przed rozpoczÄ™ciem nastÄ™pnego zadania: (w mikrosekundach. Minimum " +"100 = .0001 sekund)" + +#: ../../extend/addon/hzaddons/queueworker/Mod_Queueworker.php:116 +msgid "Queueworker Settings" +msgstr "Ustawienia Queueworkera" + +#: ../../extend/addon/hzaddons/flashcards/Mod_Flashcards.php:218 +msgid "Not allowed." +msgstr "Niedozwolone." + +#: ../../extend/addon/hzaddons/gravatar/gravatar.php:123 +msgid "generic profile image" +msgstr "ogólne zdjÄ™cie profilowe" + +#: ../../extend/addon/hzaddons/gravatar/gravatar.php:124 +msgid "random geometric pattern" +msgstr "losowy wzór geometryczny" + +#: ../../extend/addon/hzaddons/gravatar/gravatar.php:125 +msgid "monster face" +msgstr "twarz potwora" + +#: ../../extend/addon/hzaddons/gravatar/gravatar.php:126 +msgid "computer generated face" +msgstr "wygenerowana komputerowo twarz" + +#: ../../extend/addon/hzaddons/gravatar/gravatar.php:127 +msgid "retro arcade style face" +msgstr "twarz w stylu retro arcade" + +#: ../../extend/addon/hzaddons/gravatar/gravatar.php:128 +msgid "Hub default profile photo" +msgstr "DomyÅ›lne zdjÄ™cie profilowe huba" + +#: ../../extend/addon/hzaddons/gravatar/gravatar.php:143 +msgid "Information" +msgstr "Informacje" + +#: ../../extend/addon/hzaddons/gravatar/gravatar.php:143 +msgid "" +"Libravatar addon is installed, too. Please disable Libravatar addon or this " +"Gravatar addon.<br>The Libravatar addon will fall back to Gravatar if " +"nothing was found at Libravatar." +msgstr "" +"Dodatek Libravatar jest również zainstalowany. ProszÄ™ wyłączyć dodatek " +"Libravatar lub ten dodatek Gravatar. <br> Dodatek Libravatar wykorzysta " +"Gravatara, jeÅ›li nic nie zostanie znalezione w bibliotece Libravatara." + +#: ../../extend/addon/hzaddons/gravatar/gravatar.php:151 +msgid "Default avatar image" +msgstr "DomyÅ›lny obraz awatara" + +#: ../../extend/addon/hzaddons/gravatar/gravatar.php:151 +msgid "Select default avatar image if none was found at Gravatar. See README" +msgstr "" +"Wybierz domyÅ›lny obraz awatara, jeÅ›li nic nie zostaÅ‚o znaleziony w " +"Gravatarze. Zobacz README" + +#: ../../extend/addon/hzaddons/gravatar/gravatar.php:152 +msgid "Rating of images" +msgstr "Ocena zdjęć" + +#: ../../extend/addon/hzaddons/gravatar/gravatar.php:152 +msgid "Select the appropriate avatar rating for your site. See README" +msgstr "Wybierz odpowiedniÄ… ocenÄ™ awatara dla swojej witryny. Zobacz README" + +#: ../../extend/addon/hzaddons/gravatar/gravatar.php:165 +msgid "Gravatar settings updated." +msgstr "Zaktualizowano ustawienia Gravatara." + +#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:104 +#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:176 +msgid "Network error" +msgstr "Błąd sieci" + +#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:108 +#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:180 +msgid "API error" +msgstr "Błąd API" + +#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:112 +#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:184 +msgid "Unknown issue" +msgstr "Nieznany problem" + +#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:168 +msgid "Unable to login using email address " +msgstr "Nie można zalogować siÄ™ przy użyciu adresu e-mail " + +#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:202 +msgid "Sign in to Hubzilla using a social account" +msgstr "Zaloguj siÄ™ do Hubzilli za pomocÄ… konta spoÅ‚ecznoÅ›ciowego" + +#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:207 +msgid "Social Authentication using your social media account" +msgstr "" +"Uwierzytelnianie spoÅ‚ecznoÅ›ciowe za pomocÄ… konta w mediach spoÅ‚ecznoÅ›ciowych" + +#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:211 +msgid "" +"This app enables one or more social provider sign-in buttons on the login " +"page." +msgstr "" +"Ta aplikacja umożliwia korzystanie na stronie logowania z co najmniej " +"jednego przycisku logowania dostawcy usÅ‚ug spoÅ‚ecznoÅ›ciowych." + +#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:229 +msgid "Add an identity provider" +msgstr "Dodaj dostawcÄ™ tożsamoÅ›ci" + +#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:256 +msgid "Enable " +msgstr "Włącz " + +#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:263 +msgid "Key" +msgstr "Klucz" + +#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:263 +#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:268 +#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:284 +#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:297 +msgid "Word" +msgstr "SÅ‚owo" + +#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:268 +msgid "Secret" +msgstr "Sekret" + +#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:297 +msgid "Add a custom provider" +msgstr "Dodaj wÅ‚asnego dostawcÄ™" + +#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:317 +msgid "Remove an identity provider" +msgstr "UsuÅ„ dostawcÄ™ tożsamoÅ›ci" + +#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:327 +msgid "Social authentication" +msgstr "Uwierzytelnianie spoÅ‚ecznoÅ›ciowe" + +#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:366 +msgid "Error while saving provider settings" +msgstr "Błąd podczas zapisywania ustawieÅ„ dostawcy" + +#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:382 +msgid "Custom provider already exists" +msgstr "WÅ‚asny dostawca już istnieje" + +#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:399 +msgid "Social authentication settings saved." +msgstr "Zapisano ustawienia uwierzytelniania spoÅ‚ecznoÅ›ciowego." + +#: ../../extend/addon/hzaddons/sendzid/Mod_Sendzid.php:14 +msgid "Send your identity to all websites" +msgstr "WyÅ›lij swojÄ… tożsamość do wszystkich witryn internetowych" + +#: ../../extend/addon/hzaddons/sendzid/Mod_Sendzid.php:20 +msgid "Sendzid App" +msgstr "Aplikacja Sendzid" + +#: ../../extend/addon/hzaddons/sendzid/Mod_Sendzid.php:32 +msgid "Send ZID" +msgstr "WyÅ›lij ZID" + +#: ../../extend/addon/hzaddons/redphotos/redphotos.php:106 +msgid "Photos imported" +msgstr "ZdjÄ™cia zaimportowane" + +#: ../../extend/addon/hzaddons/redphotos/redphotos.php:129 +msgid "Redmatrix Photo Album Import" +msgstr "Import albumu fotograficznego Redmatrix" + +#: ../../extend/addon/hzaddons/redphotos/redphotos.php:130 +msgid "This will import all your Redmatrix photo albums to this channel." +msgstr "" +"Spowoduje to zaimportowanie wszystkich albumów ze zdjÄ™ciami z Redmatrix do " +"tego kanaÅ‚u." + +#: ../../extend/addon/hzaddons/redphotos/redphotos.php:131 +#: ../../extend/addon/hzaddons/redfiles/redfiles.php:121 +msgid "Redmatrix Server base URL" +msgstr "Podstawowy adres URL serwera Redmatrix" + +#: ../../extend/addon/hzaddons/redphotos/redphotos.php:132 +#: ../../extend/addon/hzaddons/redfiles/redfiles.php:122 +msgid "Redmatrix Login Username" +msgstr "Nazwa użytkownika logowania w Redmatrix" + +#: ../../extend/addon/hzaddons/redphotos/redphotos.php:133 +#: ../../extend/addon/hzaddons/redfiles/redfiles.php:123 +msgid "Redmatrix Login Password" +msgstr "HasÅ‚o logowania do Redmatrix" + +#: ../../extend/addon/hzaddons/redphotos/redphotos.php:134 +msgid "Import just this album" +msgstr "Zaimportuj tylko ten album" + +#: ../../extend/addon/hzaddons/redphotos/redphotos.php:134 +msgid "Leave blank to import all albums" +msgstr "Pozostaw puste, aby zaimportować wszystkie albumy" + +#: ../../extend/addon/hzaddons/redphotos/redphotos.php:135 +msgid "Maximum count to import" +msgstr "Maksymalna liczba albumów do zaimportowania" + +#: ../../extend/addon/hzaddons/redphotos/redphotos.php:135 +msgid "0 or blank to import all available" +msgstr "0 lub puste, aby zaimportować wszystkie dostÄ™pne" + +#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:65 +msgid "Twitter settings updated." +msgstr "Zaktualizowano ustawienia Twittera." + +#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:78 +msgid "Twitter Crosspost Connector App" +msgstr "Aplikacja Twitter Crosspost Connector" + +#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:79 +msgid "Relay public posts to Twitter" +msgstr "Przekazuj publiczne posty na Twitter" + +#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:103 +msgid "" +"No consumer key pair for Twitter found. Please contact your site " +"administrator." +msgstr "" +"Nie znaleziono pary kluczy klienta dla Twittera. Skontaktuj siÄ™ z " +"administratorem witryny." + +#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:125 +msgid "" +"At this Hubzilla instance the Twitter plugin was enabled but you have not " +"yet connected your account to your Twitter account. To do so click the " +"button below to get a PIN from Twitter which you have to copy into the input " +"box below and submit the form. Only your <strong>public</strong> posts will " +"be posted to Twitter." +msgstr "" +"W tej instancji Hubzilla wtyczka Twittera byÅ‚a włączona, ale nie połączyÅ‚eÅ› " +"jeszcze swojego konta z kontem na Twitterze. Aby to zrobić, kliknij poniższy " +"przycisk, aby uzyskać kod PIN z Twittera, który należy skopiować do pola " +"wprowadzania poniżej i przesÅ‚ać formularz. Na Twitterze bÄ™dÄ… publikowane " +"tylko Twoje <strong>publiczne</strong> posty." + +#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:127 +msgid "Log in with Twitter" +msgstr "Zaloguj siÄ™ za pomocÄ… Twittera" + +#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:130 +msgid "Copy the PIN from Twitter here" +msgstr "Skopiuj tutaj PIN z Twittera" + +#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:152 +msgid "" +"<strong>Note:</strong> Due your privacy settings (<em>Hide your profile " +"details from unknown viewers?</em>) the link potentially included in public " +"postings relayed to Twitter will lead the visitor to a blank page informing " +"the visitor that the access to your profile has been restricted." +msgstr "" +"<strong> Uwaga: </strong> Ze wzglÄ™du na Twoje ustawienia prywatnoÅ›ci " +"(<em>Ukryj szczegóły swojego profilu przed nieznanymi widzami?</em>) ten " +"link, potencjalnie zawarty w publicznych postach przekazywanych do Twittera, " +"bÄ™dzie prowadziÅ‚ odwiedzajÄ…cego do pustej strony informujÄ…cej goÅ›cia, że " +"dostÄ™p do Twojego profilu zostaÅ‚ ograniczony." + +#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:157 +msgid "Twitter post length" +msgstr "DÅ‚ugość postu na Twitterze" + +#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:157 +msgid "Maximum tweet length" +msgstr "Maksymalna dÅ‚ugość tweeta" + +#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:162 +msgid "Send public postings to Twitter by default" +msgstr "DomyÅ›lnie wysyÅ‚aj publiczne posty na Twitter" + +#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:162 +msgid "" +"If enabled your public postings will be posted to the associated Twitter " +"account by default" +msgstr "" +"JeÅ›li ta opcja jest włączona, Twoje publiczne posty bÄ™dÄ… domyÅ›lnie " +"publikowane na powiÄ…zanym koncie Twittera" + +#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:181 +msgid "Twitter Crosspost Connector" +msgstr "Twitter Crosspost Connector" + +#: ../../extend/addon/hzaddons/twitter/twitter.php:109 +msgid "Post to Twitter" +msgstr "Opublikuj na Twitterze" + +#: ../../extend/addon/hzaddons/donate/donate.php:21 +msgid "Project Servers and Resources" +msgstr "Serwery projektów i zasoby" + +#: ../../extend/addon/hzaddons/donate/donate.php:22 +msgid "Project Creator and Tech Lead" +msgstr "Twórca projektu i kierownik techniczny" + +#: ../../extend/addon/hzaddons/donate/donate.php:49 +msgid "" +"And the hundreds of other people and organisations who helped make the " +"Hubzilla possible." +msgstr "Oraz setki innych osób i organizacji, które pomogÅ‚y stworzyć HubzillÄ™." + +#: ../../extend/addon/hzaddons/donate/donate.php:52 +msgid "" +"The Redmatrix/Hubzilla projects are provided primarily by volunteers giving " +"their time and expertise - and often paying out of pocket for services they " +"share with others." +msgstr "" +"Projekty Redmatrix i Hubzilla sÄ… realizowane głównie przez wolontariuszy, " +"którzy poÅ›wiÄ™cajÄ… swój czas i wiedzÄ™ i czÄ™sto pÅ‚acÄ… z wÅ‚asnej kieszeni za " +"usÅ‚ugi, którymi dzielÄ… siÄ™ z innymi." + +#: ../../extend/addon/hzaddons/donate/donate.php:53 +msgid "" +"There is no corporate funding and no ads, and we do not collect and sell " +"your personal information. (We don't control your personal information - " +"<strong>you do</strong>.)" +msgstr "" +"Nie ma żadnych funduszy korporacyjnych ani reklam a my nie zbieramy i nie " +"sprzedajemy Twoich danych osobowych. (Nie kontrolujemy Twoich danych " +"osobowych - <strong> Ty tak </strong>)." + +#: ../../extend/addon/hzaddons/donate/donate.php:54 +msgid "" +"Help support our ground-breaking work in decentralisation, web identity, and " +"privacy." +msgstr "" +"Pomóż nam wspierać nasze przeÅ‚omowe prace w zakresie decentralizacji, " +"tożsamoÅ›ci internetowej i prywatnoÅ›ci." + +#: ../../extend/addon/hzaddons/donate/donate.php:56 +msgid "" +"Your donations keep servers and services running and also helps us to " +"provide innovative new features and continued development." +msgstr "" +"Twoje darowizny zapewniajÄ… nieprzerwane dziaÅ‚anie serwerów i usÅ‚ug, a także " +"pomagajÄ… nam w zapewnianiu innowacyjnych nowych funkcji i ciÄ…gÅ‚ym rozwoju." + +#: ../../extend/addon/hzaddons/donate/donate.php:59 +msgid "Donate" +msgstr "Wspomóż" + +#: ../../extend/addon/hzaddons/donate/donate.php:61 +msgid "" +"Choose a project, developer, or public hub to support with a one-time " +"donation" +msgstr "" +"Wybierz projekt, dewelopera lub publiczny hub, aby wesprzeć jednorazowÄ… " +"darowiznÄ…" + +#: ../../extend/addon/hzaddons/donate/donate.php:62 +msgid "Donate Now" +msgstr "WpÅ‚ać teraz" + +#: ../../extend/addon/hzaddons/donate/donate.php:63 +msgid "" +"<strong><em>Or</em></strong> become a project sponsor (Hubzilla Project only)" +msgstr "" +"<strong><em>lub</em> </strong> zostaÅ„ sponsorem projektu (tylko Projekt " +"Hubzilla)" + +#: ../../extend/addon/hzaddons/donate/donate.php:64 +msgid "" +"Please indicate if you would like your first name or full name (or nothing) " +"to appear in our sponsor listing" +msgstr "" +"Wskaż, czy chcesz, aby Twoje imiÄ™ lub imiÄ™ i nazwisko pojawiaÅ‚o siÄ™ na " +"naszej liÅ›cie sponsorów" + +#: ../../extend/addon/hzaddons/donate/donate.php:65 +msgid "Sponsor" +msgstr "Sponsor" + +#: ../../extend/addon/hzaddons/donate/donate.php:68 +msgid "Special thanks to: " +msgstr "Specjalne podziÄ™kowania dla: " + +#: ../../extend/addon/hzaddons/dwpost/Mod_Dwpost.php:26 +msgid "Dreamwidth Crosspost Connector Settings saved." +msgstr "Zapisano ustawienia Dreamwidth Crosspost Connector." + +#: ../../extend/addon/hzaddons/dwpost/Mod_Dwpost.php:39 +msgid "Dreamwidth Crosspost Connector App" +msgstr "Aplikacja Dreamwidth Crosspost Connector" + +#: ../../extend/addon/hzaddons/dwpost/Mod_Dwpost.php:40 +msgid "Relay public posts to Dreamwidth" +msgstr "Przekazuj publiczne posty do Dreamwidth" + +#: ../../extend/addon/hzaddons/dwpost/Mod_Dwpost.php:53 +msgid "Dreamwidth username" +msgstr "Nazwa użytkownika Dreamwidth" + +#: ../../extend/addon/hzaddons/dwpost/Mod_Dwpost.php:57 +msgid "Dreamwidth password" +msgstr "HasÅ‚o Dreamwidth" + +#: ../../extend/addon/hzaddons/dwpost/Mod_Dwpost.php:61 +msgid "Post to Dreamwidth by default" +msgstr "DomyÅ›lnie publikuj na Dreamwidth" + +#: ../../extend/addon/hzaddons/dwpost/Mod_Dwpost.php:69 +#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:98 +msgid "Link description (default:" +msgstr "Opis odnoÅ›nika (domyÅ›lnie:" + +#: ../../extend/addon/hzaddons/dwpost/Mod_Dwpost.php:77 +msgid "Dreamwidth Crosspost Connector" +msgstr "Dreamwidth Crosspost Connector" + +#: ../../extend/addon/hzaddons/dwpost/dwpost.php:49 +msgid "Post to Dreamwidth" +msgstr "Publikuj na Dreamwidth" + +#: ../../extend/addon/hzaddons/nofed/Mod_Nofed.php:21 +msgid "nofed Settings saved." +msgstr "nofed - zapisano ustawienie." + +#: ../../extend/addon/hzaddons/nofed/Mod_Nofed.php:33 +msgid "No Federation App" +msgstr "Brak aplikacji Federation" + +#: ../../extend/addon/hzaddons/nofed/Mod_Nofed.php:34 +msgid "" +"Prevent posting from being federated to anybody. It will exist only on your " +"channel page." +msgstr "" +"Zapobiegaj federowaniu wiadomoÅ›ci do kogokolwiek. BÄ™dzie istnieć tylko na " +"stronie Twojego kanaÅ‚u." + +#: ../../extend/addon/hzaddons/nofed/Mod_Nofed.php:42 +msgid "Federate posts by default" +msgstr "DomyÅ›lnie, posty Federate" + +#: ../../extend/addon/hzaddons/nofed/Mod_Nofed.php:50 +msgid "No Federation" +msgstr "Brak Federation" + +#: ../../extend/addon/hzaddons/nofed/nofed.php:47 +msgid "Federate" +msgstr "Federate" + +#: ../../extend/addon/hzaddons/hsse/Mod_Hsse.php:15 +msgid "WYSIWYG status editor" +msgstr "Edytor aplikacji WYSIWYG Status" + +#: ../../extend/addon/hzaddons/hsse/Mod_Hsse.php:21 +#: ../../extend/addon/hzaddons/hsse/Mod_Hsse.php:26 +msgid "WYSIWYG Status App" +msgstr "Aplikacja WYSIWYG Status" + +#: ../../extend/addon/hzaddons/hsse/Mod_Hsse.php:34 +msgid "WYSIWYG Status" +msgstr "WYSIWYG Status" + +#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:27 +msgid "No server specified" +msgstr "Nie okreÅ›lono serwera" + +#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:73 +msgid "Posts imported" +msgstr "Zaimportowano posty" + +#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:113 +msgid "Files imported" +msgstr "Zaimportowano pliki" + +#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:122 +msgid "" +"This addon app copies existing content and file storage to a cloned/copied " +"channel. Once the app is installed, visit the newly installed app. This will " +"allow you to set the location of your original channel and an optional date " +"range of files/conversations to copy." +msgstr "" +"Ten dodatek kopiuje istniejÄ…ce treÅ›ci i magazyn plików do sklonowanego lub " +"skopiowanego kanaÅ‚u. Po zainstalowaniu, odwiedź nowo zainstalowanÄ… " +"aplikacjÄ™. Umożliwi Ci to ustawienie lokalizacji oryginalnego kanaÅ‚u i " +"opcjonalnego zakresu dat plików lub konwersacji do skopiowania." + +#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:136 +msgid "" +"This will import all your conversations and cloud files from a cloned " +"channel on another server. This may take a while if you have lots of posts " +"and or files." +msgstr "" +"Spowoduje to zaimportowanie wszystkich rozmów i plików przechowywanych w " +"chmurze ze sklonowanego kanaÅ‚u na innym serwerze. Może to chwilÄ™ potrwać, " +"jeÅ›li masz dużo postów lun plików." + +#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:137 +msgid "Include posts" +msgstr "Dołącz posty" + +#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:137 +msgid "Conversations, Articles, Cards, and other posted content" +msgstr "Rozmowy, artykuÅ‚y, karty i inne opublikowane treÅ›ci" + +#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:138 +msgid "Include files" +msgstr "Dołącz pliki" + +#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:138 +msgid "Files, Photos and other cloud storage" +msgstr "Pliki, zdjÄ™cia i inne przechowywane w chmurze rzeczy" + +#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:139 +msgid "Original Server base URL" +msgstr "Oryginalny podstawowy adres URL serwera" + +#: ../../extend/addon/hzaddons/upgrade_info/upgrade_info.php:48 +msgid "Your channel has been upgraded to $Projectname version" +msgstr "Twój kanaÅ‚ zostaÅ‚ uaktualniony do wersji $Projectname" + +#: ../../extend/addon/hzaddons/upgrade_info/upgrade_info.php:50 +msgid "Please have a look at the" +msgstr "ProszÄ™ spojrzeć na" + +#: ../../extend/addon/hzaddons/upgrade_info/upgrade_info.php:52 +msgid "git history" +msgstr "historia repozytorium Git" + +#: ../../extend/addon/hzaddons/upgrade_info/upgrade_info.php:54 +msgid "change log" +msgstr "dziennik zmian" + +#: ../../extend/addon/hzaddons/upgrade_info/upgrade_info.php:55 +msgid "for further info." +msgstr "po dalsze informacje." + +#: ../../extend/addon/hzaddons/upgrade_info/upgrade_info.php:60 +msgid "Upgrade Info" +msgstr "Informacja o aktualizacji" + +#: ../../extend/addon/hzaddons/upgrade_info/upgrade_info.php:64 +msgid "Do not show this again" +msgstr "Nie pokazuj tego ponownie" + +#: ../../extend/addon/hzaddons/pageheader/Mod_Pageheader.php:22 +msgid "pageheader Settings saved." +msgstr "pageheader - zapisano ustawienie." + +#: ../../extend/addon/hzaddons/pageheader/Mod_Pageheader.php:34 +msgid "Page Header App" +msgstr "Aplikacja Page Header" + +#: ../../extend/addon/hzaddons/pageheader/Mod_Pageheader.php:35 +msgid "Inserts a page header" +msgstr "Wstawia nagłówek strony" + +#: ../../extend/addon/hzaddons/pageheader/Mod_Pageheader.php:43 +msgid "Message to display on every page on this server" +msgstr "Wiadomość do wyÅ›wietlenia na każdej stronie na tym serwerze" + +#: ../../extend/addon/hzaddons/pageheader/Mod_Pageheader.php:51 +msgid "Page Header" +msgstr "Page Header" + +#: ../../extend/addon/hzaddons/visage/Mod_Visage.php:21 +msgid "Who viewed my channel/profile" +msgstr "Kto oglÄ…daÅ‚ mój kanaÅ‚ lub profil" + +#: ../../extend/addon/hzaddons/visage/Mod_Visage.php:25 +msgid "Recent Channel/Profile Viewers" +msgstr "Ostatnio wyÅ›wietlajÄ…cy mój kanaÅ‚ lub profil" + +#: ../../extend/addon/hzaddons/visage/Mod_Visage.php:36 +msgid "No entries." +msgstr "Brak postów." + +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:39 +msgid "Messages" +msgstr "WiadomoÅ›ci" + +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:52 +msgid "message" +msgstr "wiadomość" + +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:92 +msgid "Message recalled." +msgstr "Wiadomość przywoÅ‚ana." + +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:105 +msgid "Conversation removed." +msgstr "Rozmowa zostaÅ‚a usuniÄ™ta." + +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:120 +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:241 +msgid "Expires YYYY-MM-DD HH:MM" +msgstr "Wygasa YYYY-MM-DD HH:MM" + +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:148 +msgid "Requested channel is not in this network" +msgstr "Żądanego kanaÅ‚u nie ma w tej sieci" + +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:156 +msgid "Send Private Message" +msgstr "WyÅ›lij prywatnÄ… wiadomość" + +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:157 +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:300 +msgid "To:" +msgstr "Do:" + +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:160 +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:302 +msgid "Subject:" +msgstr "Temat:" + +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:165 +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:308 +msgid "Attach file" +msgstr "Dołącz plik" + +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:167 +msgid "Send" +msgstr "WyÅ›lij" + +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:271 +msgid "Delete message" +msgstr "UsuÅ„ wiadomość" + +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:272 +msgid "Delivery report" +msgstr "Raport dostawy" + +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:273 +msgid "Recall message" +msgstr "OdwoÅ‚aj wiadomość" + +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:275 +msgid "Message has been recalled." +msgstr "Wiadomość zostaÅ‚a odwoÅ‚ana." + +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:293 +msgid "Delete Conversation" +msgstr "UsuÅ„ rozmowÄ™" + +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:295 +msgid "" +"No secure communications available. You <strong>may</strong> be able to " +"respond from the sender's profile page." +msgstr "" +"Brak bezpiecznej komunikacji. <strong>Możesz</strong> odpowiedzieć ze strony " +"profilu nadawcy." + +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:299 +msgid "Send Reply" +msgstr "WyÅ›lij odpowiedź" + +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:304 +#, php-format +msgid "Your message for %s (%s):" +msgstr "Twoja wiadomość dla %s (%s):" + +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:384 +msgid "Unable to lookup recipient." +msgstr "Nie można znaleźć adresata." + +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:391 +msgid "Unable to communicate with requested channel." +msgstr "Nie można skomunikować siÄ™ z żądanym kanaÅ‚em." + +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:398 +msgid "Cannot verify requested channel." +msgstr "Nie można zweryfikować żądanego kanaÅ‚u." + +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:416 +msgid "Selected channel has private message restrictions. Send failed." +msgstr "" +"Wybrany kanaÅ‚ ma ograniczenia dotyczÄ…ce wiadomoÅ›ci prywatnych. WysyÅ‚anie nie " +"powiodÅ‚o siÄ™." + +#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:50 +#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:128 +msgid "System defaults:" +msgstr "DomyÅ›lne wartoÅ›ci systemowe:" + +#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:54 +msgid "Preferred Clipart IDs" +msgstr "Identyfikatory preferowanych clipartów" + +#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:54 +msgid "List of preferred clipart ids. These will be shown first." +msgstr "Lista identyfikatorów preferowanych clipartów." + +#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:55 +msgid "Default Search Term" +msgstr "DomyÅ›lna fraza wyszukiwania" + +#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:55 +msgid "The default search term. These will be shown second." +msgstr "DomyÅ›lna fraza wyszukiwania. BÄ™dzie ona wyÅ›wietlana jako druga." + +#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:56 +msgid "Return After" +msgstr "Wróć po" + +#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:56 +msgid "Page to load after image selection." +msgstr "Strona do zaÅ‚adowania po wybraniu obrazu." + +#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:59 +msgid "Profile List" +msgstr "Lista profili" + +#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:61 +msgid "Order of Preferred" +msgstr "Kolejność preferowanych" + +#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:61 +msgid "Sort order of preferred clipart ids." +msgstr "Sortuj preferowane identyfikatory clipart." + +#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:62 +#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:68 +msgid "Newest first" +msgstr "Od najnowszych" + +#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:65 +msgid "As entered" +msgstr "Jak wprowadzono" + +#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:67 +msgid "Order of other" +msgstr "Kolejność innych" + +#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:67 +msgid "Sort order of other clipart ids." +msgstr "Kolejność sortowania innych identyfikatorów clipartów." + +#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:69 +msgid "Most downloaded first" +msgstr "Najczęściej pobierane jako pierwsze" + +#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:70 +msgid "Most liked first" +msgstr "Najbardziej lubiane jako pierwsze" + +#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:72 +msgid "Preferred IDs Message" +msgstr "Komunikat o preferowanych identyfikatorach" + +#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:72 +msgid "Message to display above preferred results." +msgstr "Wiadomość do wyÅ›wietlenia powyżej preferowanych wyników." + +#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:78 +msgid "Uploaded by: " +msgstr "PrzesÅ‚ane przez: " + +#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:78 +msgid "Drawn by: " +msgstr "Narysowane przez: " + +#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:182 +#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:194 +msgid "Use this image" +msgstr "Użyj tego obrazu" + +#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:192 +msgid "Or select from a free OpenClipart.org image:" +msgstr "Lub wybierz bezpÅ‚atny obraz z OpenClipart.org:" + +#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:195 +msgid "Search Term" +msgstr "Fraza wyszukiwania" + +#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:232 +msgid "Unknown error. Please try again later." +msgstr "Nieznany błąd. Spróbuj ponownie później." + +#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:308 +msgid "Profile photo updated successfully." +msgstr "ZdjÄ™cie profilowe zostaÅ‚o pomyÅ›lnie zaktualizowane." + +#: ../../extend/addon/hzaddons/gallery/gallery.php:43 +#: ../../extend/addon/hzaddons/gallery/Mod_Gallery.php:136 +msgid "Gallery" +msgstr "Gallery" + +#: ../../extend/addon/hzaddons/gallery/gallery.php:46 +msgid "Photo Gallery" +msgstr "Galeria zdjęć" + +#: ../../extend/addon/hzaddons/gallery/Mod_Gallery.php:58 +msgid "Gallery App" +msgstr "Aplikacja Gallery" + +#: ../../extend/addon/hzaddons/gallery/Mod_Gallery.php:59 +msgid "A simple gallery for your photo albums" +msgstr "Prosta galeria dla albumów ze zdjÄ™ciami" + +#: ../../extend/addon/hzaddons/smileybutton/Mod_Smileybutton.php:35 +msgid "Smileybutton App" +msgstr "Aplikacja Smileybutton" + +#: ../../extend/addon/hzaddons/smileybutton/Mod_Smileybutton.php:36 +msgid "Adds a smileybutton to the jot editor" +msgstr "Dodaje przycisk emotikonów do edytora jot" + +#: ../../extend/addon/hzaddons/smileybutton/Mod_Smileybutton.php:44 +msgid "Hide the button and show the smilies directly." +msgstr "Ukryj przycisk i bezpoÅ›rednio wyÅ›wietlaj emotikony." + +#: ../../extend/addon/hzaddons/smileybutton/Mod_Smileybutton.php:52 +msgid "Smileybutton Settings" +msgstr "Ustawienia Smileybutton" + +#: ../../extend/addon/hzaddons/rtof/rtof.php:51 +msgid "Post to Friendica" +msgstr "Opublikuj w sieci Hubzilla" + +#: ../../extend/addon/hzaddons/rtof/Mod_Rtof.php:24 +msgid "Friendica Crosspost Connector Settings saved." +msgstr "Zapisano ustawienia Friendica Crosspost Connector ." + +#: ../../extend/addon/hzaddons/rtof/Mod_Rtof.php:36 +msgid "Friendica Crosspost Connector App" +msgstr "Aplikacja Hubzilla Crosspost Connector" + +#: ../../extend/addon/hzaddons/rtof/Mod_Rtof.php:37 +msgid "Relay public postings to a connected Friendica account" +msgstr "Przekazywanie publicznych postów do połączonego konta Friendica" + +#: ../../extend/addon/hzaddons/rtof/Mod_Rtof.php:49 +msgid "Send public postings to Friendica by default" +msgstr "DomyÅ›lnie wysyÅ‚aj publiczne posty na kanaÅ‚ Hubzilla" + +#: ../../extend/addon/hzaddons/rtof/Mod_Rtof.php:53 +msgid "Friendica API Path" +msgstr "Åšcieżka API Hubzilla" + +#: ../../extend/addon/hzaddons/rtof/Mod_Rtof.php:57 +msgid "Friendica login name" +msgstr "Nazwa logowania w Hubzilla" + +#: ../../extend/addon/hzaddons/rtof/Mod_Rtof.php:61 +msgid "Friendica password" +msgstr "HasÅ‚o Hubzilla" + +#: ../../extend/addon/hzaddons/rtof/Mod_Rtof.php:69 +msgid "Friendica Crosspost Connector" +msgstr "Friendica Crosspost Connector" + +#: ../../extend/addon/hzaddons/logrot/logrot.php:36 +msgid "Logfile archive directory" +msgstr "Katalog archiwum plików dziennika zdarzeÅ„" + +#: ../../extend/addon/hzaddons/logrot/logrot.php:36 +msgid "Directory to store rotated logs" +msgstr "Katalog do przechowywania rotowanych dzienników zdarzeÅ„" + +#: ../../extend/addon/hzaddons/logrot/logrot.php:37 +msgid "Logfile size in bytes before rotating" +msgstr "Rozmiar pliku dziennika w bajtach przed dokonaniem odnowienia" + +#: ../../extend/addon/hzaddons/logrot/logrot.php:38 +msgid "Number of logfiles to retain" +msgstr "Liczba plików dziennika do przechowania" + +#: ../../extend/addon/hzaddons/wppost/wppost.php:46 +msgid "Post to WordPress" +msgstr "Opubikuj w WordPress" + +#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:30 +msgid "Wordpress Settings saved." +msgstr "Zapisano ustawienia Wordpress." + +#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:43 +msgid "Wordpress Post App" +msgstr "Aplikacja Wordpress Post" + +#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:44 +msgid "Post to WordPress or anything else which uses the wordpress XMLRPC API" +msgstr "" +"Opublikuj na WordPress lub czymkolwiek innym, co używa API XMLRPC WordPress" + +#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:69 +msgid "WordPress username" +msgstr "Nazwa użytkownika WordPress" + +#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:73 +msgid "WordPress password" +msgstr "HasÅ‚o WordPress" + +#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:77 +msgid "WordPress API URL" +msgstr "Adres URL API WordPress" + +#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:78 +msgid "Typically https://your-blog.tld/xmlrpc.php" +msgstr "Zwykle https://your-blog.tld/xmlrpc.php" + +#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:81 +msgid "WordPress blogid" +msgstr "Identyfikator blogu WordPress" + +#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:82 +msgid "For multi-user sites such as wordpress.com, otherwise leave blank" +msgstr "" +"Dla serwisów wielowitrynowych, takich jak wordpress.com, w przeciwnym razie " +"pozostaw puste" + +#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:86 +msgid "Post to WordPress by default" +msgstr "DomyÅ›lnie publikuj na WordPress" + +#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:90 +msgid "Forward comments (requires hubzilla_wp plugin)" +msgstr "Przekazywanie komentarzy (wymaga wtyczki hubzilla_wp)" + +#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:106 +msgid "Wordpress Post" +msgstr "Wordpress Post" + +#: ../../extend/addon/hzaddons/authchoose/Mod_Authchoose.php:22 +msgid "" +"Allow magic authentication only to websites of your immediate connections" +msgstr "" +"Zezwalaj na magiczne uwierzytelnianie tylko w witrynach internetowych Twoich " +"bezpoÅ›rednich połączeÅ„" + +#: ../../extend/addon/hzaddons/authchoose/Mod_Authchoose.php:28 +#: ../../extend/addon/hzaddons/authchoose/Mod_Authchoose.php:33 +msgid "Authchoose App" +msgstr "APlikacja Authchoose" + +#: ../../extend/addon/hzaddons/authchoose/Mod_Authchoose.php:39 +msgid "Authchoose" +msgstr "Authchoose" + +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:19 +msgid "bitchslap" +msgstr "bitchslap" + +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:19 +msgid "bitchslapped" +msgstr "bitchslapped" + +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:20 +msgid "shag" +msgstr "shag" + +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:20 +msgid "shagged" +msgstr "shagged" + +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:21 +msgid "patent" +msgstr "patent" + +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:21 +msgid "patented" +msgstr "opatentowany" + +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:22 +msgid "hug" +msgstr "przytulić" + +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:22 +msgid "hugged" +msgstr "przytulony" + +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:23 +msgid "murder" +msgstr "zamordować" + +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:23 +msgid "murdered" +msgstr "zamordowany" + +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:24 +msgid "worship" +msgstr "uwielbiać" + +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:24 +msgid "worshipped" +msgstr "uwielbiany" + +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:25 +msgid "kiss" +msgstr "pocaÅ‚ować" + +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:25 +msgid "kissed" +msgstr "pocaÅ‚owany" + +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:26 +msgid "tempt" +msgstr "kusić" + +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:26 +msgid "tempted" +msgstr "skuszony" + +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:27 +msgid "raise eyebrows at" +msgstr "unieść brwi" + +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:27 +msgid "raised their eyebrows at" +msgstr "podnieÅ›li brwi" + +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:28 +msgid "insult" +msgstr "zniewaga" + +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:28 +msgid "insulted" +msgstr "znieważony" + +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:29 +msgid "praise" +msgstr "pochwaÅ‚a" + +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:29 +msgid "praised" +msgstr "pochwalony" + +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:30 +msgid "be dubious of" +msgstr "mieć wÄ…tpliwoÅ›ci" + +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:30 +msgid "was dubious of" +msgstr "zwÄ…tpiony" + +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:31 +msgid "eat" +msgstr "jeść" + +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:31 +msgid "ate" +msgstr "najedzony" + +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:32 +msgid "giggle and fawn at" +msgstr "chichotać i pÅ‚akać" + +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:32 +msgid "giggled and fawned at" +msgstr "chichotaÅ‚ i Å‚akaÅ‚" + +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:33 +msgid "doubt" +msgstr "wÄ…tpić" + +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:33 +msgid "doubted" +msgstr "zwÄ…tpiÅ‚" + +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:34 +msgid "glare" +msgstr "piorunujÄ…ce spojrzenie" + +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:34 +msgid "glared at" +msgstr "obrzuciÅ‚ spojrzeniem" + +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:35 +msgid "fuck" +msgstr "pierdolić" + +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:35 +msgid "fucked" +msgstr "przejebane" + +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:36 +msgid "bonk" +msgstr "rżnąć" + +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:36 +msgid "bonked" +msgstr "zerżniÄ™ty" + +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:37 +msgid "declare undying love for" +msgstr "deklaruj wiecznÄ… miÅ‚ość" + +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:37 +msgid "declared undying love for" +msgstr "zadeklarowaÅ‚ wiecznÄ… miÅ‚ość" + +#: ../../extend/addon/hzaddons/notifyadmin/notifyadmin.php:34 +msgid "New registration" +msgstr "Nowa rejestracja" + +#: ../../extend/addon/hzaddons/notifyadmin/notifyadmin.php:42 +#, php-format +msgid "Message sent to %s. New account registration: %s" +msgstr "Wiadomość wysÅ‚ana do%s. Rejestracja nowego konta: %s" + +#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:40 +msgid "Pump.io Settings saved." +msgstr "Ustawienia Pump.io zostaÅ‚y zapisane." + +#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:53 +msgid "Pump.io Crosspost Connector App" +msgstr "Aplikacja Pump.io Crosspost Connector" + +#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:54 +msgid "Relay public posts to pump.io" +msgstr "Przekazuj publiczne posty do Pump.io" + +#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:73 +msgid "Pump.io servername" +msgstr "Nazwa serwera Pump.io" + +#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:73 +msgid "Without \"http://\" or \"https://\"" +msgstr "Bez \"http: //\" lub \"https: //\"" + +#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:77 +msgid "Pump.io username" +msgstr "Nazwa użytkownika Pump.io" + +#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:77 +msgid "Without the servername" +msgstr "Bez nazwy serwera" + +#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:88 +msgid "You are not authenticated to pumpio" +msgstr "Nie jesteÅ› uwierzytelniony w pumpio" + +#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:90 +msgid "(Re-)Authenticate your pump.io connection" +msgstr "(Ponownie) Uwierzytelnij swoje połączenie pump.io" + +#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:94 +msgid "Post to pump.io by default" +msgstr "Piblikuj domyÅ›lnie w pump.io" + +#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:98 +msgid "Should posts be public" +msgstr "Posty powinny być publiczne" + +#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:102 +msgid "Mirror all public posts" +msgstr "Powielaj wszystkie posty publiczne" + +#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:112 +msgid "Pump.io Crosspost Connector" +msgstr "Pump.io Crosspost Connector" + +#: ../../extend/addon/hzaddons/pumpio/pumpio.php:152 +msgid "You are now authenticated to pumpio." +msgstr "JesteÅ› teraz uwierzytelniony w pumpio." + +#: ../../extend/addon/hzaddons/pumpio/pumpio.php:153 +msgid "return to the featured settings page" +msgstr "wróć do polecanej strony ustawieÅ„" + +#: ../../extend/addon/hzaddons/pumpio/pumpio.php:168 +msgid "Post to Pump.io" +msgstr "Opublikuj na Pump.io" + +#: ../../extend/addon/hzaddons/nsabait/Mod_Nsabait.php:20 +#: ../../extend/addon/hzaddons/nsabait/Mod_Nsabait.php:24 +msgid "NSA Bait App" +msgstr "Aplikacja NSA Bait" + +#: ../../extend/addon/hzaddons/nsabait/Mod_Nsabait.php:26 +msgid "Make yourself a political target" +msgstr "StaÅ„ siÄ™ celem politycznym" + +#: ../../extend/addon/hzaddons/rainbowtag/Mod_Rainbowtag.php:15 +msgid "Add some colour to tag clouds" +msgstr "Dodaj jakiÅ› kolor do oznaczania chmur" + +#: ../../extend/addon/hzaddons/rainbowtag/Mod_Rainbowtag.php:21 +#: ../../extend/addon/hzaddons/rainbowtag/Mod_Rainbowtag.php:26 +msgid "Rainbow Tag App" +msgstr "Aplikacja Rainbow Tag" + +#: ../../extend/addon/hzaddons/rainbowtag/Mod_Rainbowtag.php:34 +msgid "Rainbow Tag" +msgstr "Rainbow Tag" + +#: ../../extend/addon/hzaddons/mailtest/mailtest.php:19 +msgid "Send test email" +msgstr "WyÅ›lij testowÄ… wiadomość e-mail" + +#: ../../extend/addon/hzaddons/mailtest/mailtest.php:66 +msgid "Mail sent." +msgstr "Mail wysÅ‚any." + +#: ../../extend/addon/hzaddons/mailtest/mailtest.php:68 +msgid "Sending of mail failed." +msgstr "WysyÅ‚anie poczty nie powiodÅ‚o siÄ™." + +#: ../../extend/addon/hzaddons/mailtest/mailtest.php:77 +msgid "Mail Test" +msgstr "Test poczty" + +#: ../../extend/addon/hzaddons/redfiles/redfiles.php:119 +msgid "Redmatrix File Storage Import" +msgstr "Import magazyn plików Redmatrix" + +#: ../../extend/addon/hzaddons/redfiles/redfiles.php:120 +msgid "This will import all your Redmatrix cloud files to this channel." +msgstr "" +"Spowoduje to zaimportowanie wszystkich plików chmury Redmatrix do tego " +"kanaÅ‚u." + +#: ../../extend/addon/hzaddons/mdpost/mdpost.php:42 +msgid "Use markdown for editing posts" +msgstr "Użyj markdown do edycji postów" + +#: ../../extend/addon/hzaddons/fuzzloc/Mod_Fuzzloc.php:22 +msgid "Fuzzloc Settings updated." +msgstr "Zaktualizowano ustawienia Fuzzloc." + +#: ../../extend/addon/hzaddons/fuzzloc/Mod_Fuzzloc.php:34 +msgid "Fuzzy Location App" +msgstr "Aplikacja Fuzzy Location" + +#: ../../extend/addon/hzaddons/fuzzloc/Mod_Fuzzloc.php:35 +msgid "" +"Blur your precise location if your channel uses browser location mapping" +msgstr "" +"Zamaż swojÄ… dokÅ‚adnÄ… lokalizacjÄ™, jeÅ›li Twój kanaÅ‚ używa mapowania " +"lokalizacji w przeglÄ…darce" + +#: ../../extend/addon/hzaddons/fuzzloc/Mod_Fuzzloc.php:40 +msgid "Minimum offset in meters" +msgstr "Minimalne przesuniÄ™cie w metrach" + +#: ../../extend/addon/hzaddons/fuzzloc/Mod_Fuzzloc.php:44 +msgid "Maximum offset in meters" +msgstr "Maksymalne przesuniÄ™cie w metrach" + +#: ../../extend/addon/hzaddons/fuzzloc/Mod_Fuzzloc.php:53 +msgid "Fuzzy Location" +msgstr "Fuzzy Location" + +#: ../../extend/addon/hzaddons/startpage/Mod_Startpage.php:50 +msgid "Startpage App" +msgstr "Aplikacja Startpage" + +#: ../../extend/addon/hzaddons/startpage/Mod_Startpage.php:51 +msgid "Set a preferred page to load on login from home page" +msgstr "" +"Ustaw preferowanÄ… stronÄ™ do zaÅ‚adowania przy logowaniu ze strony głównej" + +#: ../../extend/addon/hzaddons/startpage/Mod_Startpage.php:62 +msgid "Page to load after login" +msgstr "Strona do zaÅ‚adowania po zalogowaniu" + +#: ../../extend/addon/hzaddons/startpage/Mod_Startpage.php:62 +msgid "" +"Examples: "apps", "network?f=&gid=37" (privacy " +"collection), "channel" or "notifications/system" (leave " +"blank for default network page (grid)." +msgstr "" +"PrzykÅ‚ady: "aplikacje", "sieć?f=&gid=37" (kolekcja " +"prywatnoÅ›ci), "kanaÅ‚" lub "powiadomienie/system" " +"(pozostaw puste dla domyÅ›lnej stony sieci (siatki)." + +#: ../../extend/addon/hzaddons/startpage/Mod_Startpage.php:70 +msgid "Startpage" +msgstr "Startpage" + +#: ../../view/theme/redbasic/php/config.php:16 +#: ../../view/theme/redbasic/php/config.php:19 +msgid "Focus (Hubzilla default)" +msgstr "Fokus (domyÅ›lnie Hubzilla)" + +#: ../../view/theme/redbasic/php/config.php:98 +msgid "Theme settings" +msgstr "Ustawienia motywu" + +#: ../../view/theme/redbasic/php/config.php:99 +msgid "Narrow navbar" +msgstr "WÄ…ski pasek nawigacyjny" + +#: ../../view/theme/redbasic/php/config.php:100 +msgid "Navigation bar background color" +msgstr "Kolor tÅ‚a paska nawigacji" + +#: ../../view/theme/redbasic/php/config.php:101 +msgid "Navigation bar icon color " +msgstr "Kolor ikony paska nawigacji " + +#: ../../view/theme/redbasic/php/config.php:102 +msgid "Navigation bar active icon color " +msgstr "Kolor ikony aktywnego paska nawigacji " + +#: ../../view/theme/redbasic/php/config.php:103 +msgid "Link color" +msgstr "Kolor odnoÅ›nika" + +#: ../../view/theme/redbasic/php/config.php:104 +msgid "Set font-color for banner" +msgstr "Ustaw kolor czcionki na banerze" + +#: ../../view/theme/redbasic/php/config.php:105 +msgid "Set the background color" +msgstr "Ustaw kolor tÅ‚a" + +#: ../../view/theme/redbasic/php/config.php:106 +msgid "Set the background image" +msgstr "Ustaw obraz tÅ‚a" + +#: ../../view/theme/redbasic/php/config.php:107 +msgid "Set the background color of items" +msgstr "Ustaw kolor tÅ‚a elementów" + +#: ../../view/theme/redbasic/php/config.php:108 +msgid "Set the background color of comments" +msgstr "Ustaw kolor tÅ‚a komentarzy" + +#: ../../view/theme/redbasic/php/config.php:109 +msgid "Set font-size for the entire application" +msgstr "Ustaw rozmiar czcionki dla caÅ‚ej aplikacji" + +#: ../../view/theme/redbasic/php/config.php:109 +msgid "Examples: 1rem, 100%, 16px" +msgstr "PrzykÅ‚ady: 1rem, 100%, 16px" + +#: ../../view/theme/redbasic/php/config.php:110 +msgid "Set font-color for posts and comments" +msgstr "Ustaw kolor czcionki dla postów i komentarzy" + +#: ../../view/theme/redbasic/php/config.php:111 +msgid "Set radius of corners" +msgstr "Ustaw promieÅ„ narożników" + +#: ../../view/theme/redbasic/php/config.php:111 +msgid "Example: 4px" +msgstr "PrzykÅ‚ad: 4px" + +#: ../../view/theme/redbasic/php/config.php:112 +msgid "Set shadow depth of photos" +msgstr "Ustaw głębiÄ™ cienia zdjęć" + +#: ../../view/theme/redbasic/php/config.php:113 +msgid "Set maximum width of content region in pixel" +msgstr "Ustaw maksymalnÄ… szerokość obszaru treÅ›ci w pikselach" + +#: ../../view/theme/redbasic/php/config.php:113 +msgid "Leave empty for default width" +msgstr "Pozostaw puste dla domyÅ›lnej szerokoÅ›ci" + +#: ../../view/theme/redbasic/php/config.php:114 +msgid "Set size of conversation author photo" +msgstr "Ustaw rozmiar zdjÄ™cia autora rozmowy" + +#: ../../view/theme/redbasic/php/config.php:115 +msgid "Set size of followup author photos" +msgstr "Ustaw rozmiar kolejnych zdjęć autora" + +#: ../../view/theme/redbasic/php/config.php:116 +msgid "Show advanced settings" +msgstr "Pokaż ustawienia zaawansowane" + +#: ../../boot.php:1684 +msgid "Create an account to access services and applications" +msgstr "Utwórz konto, aby uzyskać dostÄ™p do usÅ‚ug i aplikacji" + +#: ../../boot.php:1708 +msgid "Login/Email" +msgstr "Login/Email" + +#: ../../boot.php:1709 +msgid "Password" +msgstr "HasÅ‚o" + +#: ../../boot.php:1710 +msgid "Remember me" +msgstr "ZapamiÄ™taj mnie" + +#: ../../boot.php:1713 +msgid "Forgot your password?" +msgstr "Nie pamiÄ™tasz hasÅ‚a?" + +#: ../../boot.php:2582 +#, php-format +msgid "[$Projectname] Website SSL error for %s" +msgstr "[$Projectname] Błąd SSL witryny internetowej dla %s" + +#: ../../boot.php:2587 +msgid "Website SSL certificate is not valid. Please correct." +msgstr "Certyfikat SSL witryny jest nieprawidÅ‚owy. ProszÄ™ popraw." + +#: ../../boot.php:2703 +#, php-format +msgid "[$Projectname] Cron tasks not running on %s" +msgstr "[$Projectname] Zadania Crona nie dziaÅ‚ajÄ… na %s" + +#: ../../boot.php:2708 +msgid "Cron/Scheduled tasks not running." +msgstr "Zadania Crona (zaplanowane) nie dziaÅ‚ajÄ…." + +#~ msgid "Collection" +#~ msgstr "Kolekcja" + +#~ msgid "Who can see this?" +#~ msgstr "Kto może to zobaczyć?" + +#~ msgid "Show" +#~ msgstr "Pokaż" + +#~ msgid "" +#~ "INFO: this command can take a very long time depending on your DB size." +#~ msgstr "" +#~ "INFORMACJA: wykonanie tego polecenia może zająć bardzo dużo czasu w " +#~ "zależnoÅ›ci od rozmiaru bazy danych." + +#~ msgid "Remove this channel and all its clones from the network" +#~ msgstr "UsuÅ„ ten kanaÅ‚ i wszystkie jego klony z sieci" + +#~ msgid "" +#~ "By default only the instance of the channel located on this hub will be " +#~ "removed from the network" +#~ msgstr "" +#~ "DomyÅ›lnie tylko instancja kanaÅ‚u znajdujÄ…cego siÄ™ na tym hubie zostanie " +#~ "usuniÄ™ta z sieci" + +#~ msgid "" +#~ "Remove this account, all its channels and all its channel clones from the " +#~ "network" +#~ msgstr "" +#~ "UsuÅ„ to konto, wszystkie jego kanaÅ‚y i wszystkie klony kanałów z sieci" + +#~ msgid "" +#~ "By default only the instances of the channels located on this hub will be " +#~ "removed from the network" +#~ msgstr "" +#~ "DomyÅ›lnie, zostanÄ… usuniÄ™te z sieci tylko instancje kanałów znajdujÄ…ce " +#~ "siÄ™ na tym hubie" + +#~ msgid "Hub not found." +#~ msgstr "Nie znaleziono huba." + +#~ msgid "Manual conversation updates" +#~ msgstr "RÄ™czne aktualizacje rozmów" + +#~ msgid "Default is on, turning this off may increase screen jumping" +#~ msgstr "" +#~ "DomyÅ›lnie jest włączone, wyłączenie tego może zwiÄ™kszyć przeskakiwanie " +#~ "ekranu" + +#~ msgid "Principal" +#~ msgstr "PryncypaÅ‚" + +#~ msgid "Addressbook" +#~ msgstr "Książka adresowa" + +#~ msgid "Schedule Inbox" +#~ msgstr "Zaplanuj skrzynkÄ™ odbiorczÄ…" + +#~ msgid "Schedule Outbox" +#~ msgstr "Zaplanuj skrzynkÄ™ nadawczÄ…" diff --git a/view/pl/hmessages.pot b/view/pl/hmessages.pot new file mode 100644 index 000000000..961e07f2f --- /dev/null +++ b/view/pl/hmessages.pot @@ -0,0 +1,15710 @@ +# hubzilla +# Copyright (C) 2012-2016 hubzilla +# This file is distributed under the same license as the hubzilla package. +# Mike Macgirvin, 2012 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: 5.2.1\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-01-21 12:07+0100\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" + +#: ../../Zotlabs/Access/Permissions.php:56 +msgid "Can view my channel stream and posts" +msgstr "" + +#: ../../Zotlabs/Access/Permissions.php:57 +msgid "Can send me their channel stream and posts" +msgstr "" + +#: ../../Zotlabs/Access/Permissions.php:58 +msgid "Can view my default channel profile" +msgstr "" + +#: ../../Zotlabs/Access/Permissions.php:59 +msgid "Can view my connections" +msgstr "" + +#: ../../Zotlabs/Access/Permissions.php:60 +msgid "Can view my file storage and photos" +msgstr "" + +#: ../../Zotlabs/Access/Permissions.php:61 +msgid "Can upload/modify my file storage and photos" +msgstr "" + +#: ../../Zotlabs/Access/Permissions.php:62 +msgid "Can view my channel webpages" +msgstr "" + +#: ../../Zotlabs/Access/Permissions.php:63 +msgid "Can view my wiki pages" +msgstr "" + +#: ../../Zotlabs/Access/Permissions.php:64 +msgid "Can create/edit my channel webpages" +msgstr "" + +#: ../../Zotlabs/Access/Permissions.php:65 +msgid "Can write to my wiki pages" +msgstr "" + +#: ../../Zotlabs/Access/Permissions.php:66 +msgid "Can post on my channel (wall) page" +msgstr "" + +#: ../../Zotlabs/Access/Permissions.php:67 +msgid "Can comment on or like my posts" +msgstr "" + +#: ../../Zotlabs/Access/Permissions.php:68 +msgid "Can send me private mail messages" +msgstr "" + +#: ../../Zotlabs/Access/Permissions.php:69 +msgid "Can like/dislike profiles and profile things" +msgstr "" + +#: ../../Zotlabs/Access/Permissions.php:70 +msgid "Can forward to all my channel connections via ! mentions in posts" +msgstr "" + +#: ../../Zotlabs/Access/Permissions.php:71 +msgid "Can chat with me" +msgstr "" + +#: ../../Zotlabs/Access/Permissions.php:72 +msgid "Can source my public posts in derived channels" +msgstr "" + +#: ../../Zotlabs/Access/Permissions.php:73 +msgid "Can administer my channel" +msgstr "" + +#: ../../Zotlabs/Access/PermissionRoles.php:287 +msgid "Social Networking" +msgstr "" + +#: ../../Zotlabs/Access/PermissionRoles.php:288 +msgid "Social - Federation" +msgstr "" + +#: ../../Zotlabs/Access/PermissionRoles.php:289 +msgid "Social - Mostly Public" +msgstr "" + +#: ../../Zotlabs/Access/PermissionRoles.php:290 +msgid "Social - Restricted" +msgstr "" + +#: ../../Zotlabs/Access/PermissionRoles.php:291 +msgid "Social - Private" +msgstr "" + +#: ../../Zotlabs/Access/PermissionRoles.php:294 +msgid "Community Forum" +msgstr "" + +#: ../../Zotlabs/Access/PermissionRoles.php:295 +msgid "Forum - Mostly Public" +msgstr "" + +#: ../../Zotlabs/Access/PermissionRoles.php:296 +msgid "Forum - Restricted" +msgstr "" + +#: ../../Zotlabs/Access/PermissionRoles.php:297 +msgid "Forum - Private" +msgstr "" + +#: ../../Zotlabs/Access/PermissionRoles.php:300 +msgid "Feed Republish" +msgstr "" + +#: ../../Zotlabs/Access/PermissionRoles.php:301 +msgid "Feed - Mostly Public" +msgstr "" + +#: ../../Zotlabs/Access/PermissionRoles.php:302 +msgid "Feed - Restricted" +msgstr "" + +#: ../../Zotlabs/Access/PermissionRoles.php:305 +msgid "Special Purpose" +msgstr "" + +#: ../../Zotlabs/Access/PermissionRoles.php:306 +msgid "Special - Celebrity/Soapbox" +msgstr "" + +#: ../../Zotlabs/Access/PermissionRoles.php:307 +msgid "Special - Group Repository" +msgstr "" + +#: ../../Zotlabs/Access/PermissionRoles.php:310 +#: ../../Zotlabs/Module/Cdav.php:1384 ../../Zotlabs/Module/Profiles.php:797 +#: ../../Zotlabs/Module/Connedit.php:927 ../../include/selectors.php:60 +#: ../../include/selectors.php:77 ../../include/selectors.php:115 +#: ../../include/selectors.php:151 ../../include/connections.php:741 +#: ../../include/connections.php:748 ../../include/event.php:1429 +#: ../../include/event.php:1436 +msgid "Other" +msgstr "" + +#: ../../Zotlabs/Access/PermissionRoles.php:311 +msgid "Custom/Expert Mode" +msgstr "" + +#: ../../Zotlabs/Module/Authtest.php:16 ../../Zotlabs/Module/Pdledit.php:35 +#: ../../Zotlabs/Module/Api.php:24 ../../Zotlabs/Module/Events.php:277 +#: ../../Zotlabs/Module/Bookmarks.php:70 ../../Zotlabs/Module/Webpages.php:133 +#: ../../Zotlabs/Module/Profiles.php:200 ../../Zotlabs/Module/Profiles.php:637 +#: ../../Zotlabs/Module/Like.php:230 ../../Zotlabs/Module/Defperms.php:182 +#: ../../Zotlabs/Module/Layouts.php:71 ../../Zotlabs/Module/Layouts.php:78 +#: ../../Zotlabs/Module/Layouts.php:89 ../../Zotlabs/Module/Group.php:15 +#: ../../Zotlabs/Module/Group.php:31 ../../Zotlabs/Module/Appman.php:87 +#: ../../Zotlabs/Module/Message.php:18 ../../Zotlabs/Module/Moderate.php:15 +#: ../../Zotlabs/Module/New_channel.php:105 +#: ../../Zotlabs/Module/New_channel.php:130 +#: ../../Zotlabs/Module/Filestorage.php:20 +#: ../../Zotlabs/Module/Filestorage.php:78 +#: ../../Zotlabs/Module/Filestorage.php:96 +#: ../../Zotlabs/Module/Filestorage.php:119 +#: ../../Zotlabs/Module/Filestorage.php:165 +#: ../../Zotlabs/Module/Card_edit.php:51 +#: ../../Zotlabs/Module/Viewconnections.php:28 +#: ../../Zotlabs/Module/Viewconnections.php:33 ../../Zotlabs/Module/Wiki.php:59 +#: ../../Zotlabs/Module/Wiki.php:285 ../../Zotlabs/Module/Wiki.php:428 +#: ../../Zotlabs/Module/Blocks.php:73 ../../Zotlabs/Module/Blocks.php:80 +#: ../../Zotlabs/Module/Locs.php:100 ../../Zotlabs/Module/Connedit.php:396 +#: ../../Zotlabs/Module/Profile_photo.php:338 +#: ../../Zotlabs/Module/Profile_photo.php:351 +#: ../../Zotlabs/Module/Sharedwithme.php:19 +#: ../../Zotlabs/Module/Editlayout.php:67 +#: ../../Zotlabs/Module/Editlayout.php:90 ../../Zotlabs/Module/Manage.php:10 +#: ../../Zotlabs/Module/Item.php:485 ../../Zotlabs/Module/Item.php:504 +#: ../../Zotlabs/Module/Item.php:514 ../../Zotlabs/Module/Item.php:1442 +#: ../../Zotlabs/Module/Rate.php:113 ../../Zotlabs/Module/Page.php:34 +#: ../../Zotlabs/Module/Page.php:133 ../../Zotlabs/Module/Achievements.php:34 +#: ../../Zotlabs/Module/Regmod.php:20 ../../Zotlabs/Module/Editblock.php:67 +#: ../../Zotlabs/Module/Chat.php:113 ../../Zotlabs/Module/Chat.php:118 +#: ../../Zotlabs/Module/Vote.php:19 ../../Zotlabs/Module/Display.php:425 +#: ../../Zotlabs/Module/Photos.php:71 ../../Zotlabs/Module/Channel.php:177 +#: ../../Zotlabs/Module/Channel.php:332 ../../Zotlabs/Module/Channel.php:371 +#: ../../Zotlabs/Module/Cards.php:86 ../../Zotlabs/Module/Connections.php:32 +#: ../../Zotlabs/Module/Editpost.php:17 ../../Zotlabs/Module/Block.php:24 +#: ../../Zotlabs/Module/Block.php:74 ../../Zotlabs/Module/Common.php:38 +#: ../../Zotlabs/Module/Editwebpage.php:68 +#: ../../Zotlabs/Module/Editwebpage.php:89 +#: ../../Zotlabs/Module/Editwebpage.php:107 +#: ../../Zotlabs/Module/Editwebpage.php:121 ../../Zotlabs/Module/Profile.php:85 +#: ../../Zotlabs/Module/Profile.php:101 +#: ../../Zotlabs/Module/Article_edit.php:51 ../../Zotlabs/Module/Thing.php:282 +#: ../../Zotlabs/Module/Thing.php:302 ../../Zotlabs/Module/Thing.php:343 +#: ../../Zotlabs/Module/Suggest.php:32 +#: ../../Zotlabs/Module/Notifications.php:11 +#: ../../Zotlabs/Module/Articles.php:89 ../../Zotlabs/Module/Setup.php:206 +#: ../../Zotlabs/Module/Mitem.php:129 ../../Zotlabs/Module/Mood.php:126 +#: ../../Zotlabs/Module/Register.php:80 +#: ../../Zotlabs/Module/Channel_calendar.php:230 +#: ../../Zotlabs/Module/Invite.php:21 ../../Zotlabs/Module/Invite.php:102 +#: ../../Zotlabs/Module/Service_limits.php:11 +#: ../../Zotlabs/Module/Cover_photo.php:341 +#: ../../Zotlabs/Module/Cover_photo.php:354 ../../Zotlabs/Module/Menu.php:130 +#: ../../Zotlabs/Module/Menu.php:141 ../../Zotlabs/Module/Sources.php:80 +#: ../../Zotlabs/Module/Poke.php:157 ../../Zotlabs/Module/Network.php:19 +#: ../../Zotlabs/Module/Attach_edit.php:90 +#: ../../Zotlabs/Module/Attach_edit.php:99 +#: ../../Zotlabs/Module/Attach_edit.php:106 +#: ../../Zotlabs/Module/Settings.php:59 ../../Zotlabs/Module/Viewsrc.php:19 +#: ../../Zotlabs/Web/WebServer.php:116 ../../Zotlabs/Lib/Chatroom.php:135 +#: ../../include/photos.php:27 ../../include/attach.php:156 +#: ../../include/attach.php:205 ../../include/attach.php:278 +#: ../../include/attach.php:329 ../../include/attach.php:424 +#: ../../include/attach.php:438 ../../include/attach.php:445 +#: ../../include/attach.php:527 ../../include/attach.php:1091 +#: ../../include/attach.php:1164 ../../include/attach.php:1327 +#: ../../include/items.php:3996 +#: ../../extend/addon/hzaddons/openid/Mod_Id.php:53 +#: ../../extend/addon/hzaddons/keepout/keepout.php:36 +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:25 +#: ../../extend/addon/hzaddons/pumpio/pumpio.php:44 +msgid "Permission denied." +msgstr "" + +#: ../../Zotlabs/Module/Pdledit.php:27 +msgid "Layout updated." +msgstr "" + +#: ../../Zotlabs/Module/Pdledit.php:43 +msgid "PDL Editor App" +msgstr "" + +#: ../../Zotlabs/Module/Pdledit.php:43 ../../Zotlabs/Module/Cdav.php:876 +#: ../../Zotlabs/Module/Bookmarks.php:78 ../../Zotlabs/Module/Webpages.php:48 +#: ../../Zotlabs/Module/Defperms.php:190 ../../Zotlabs/Module/Pubstream.php:20 +#: ../../Zotlabs/Module/Group.php:107 ../../Zotlabs/Module/Oauth.php:100 +#: ../../Zotlabs/Module/Oauth2.php:106 ../../Zotlabs/Module/Wiki.php:52 +#: ../../Zotlabs/Module/Chat.php:100 ../../Zotlabs/Module/Uexport.php:61 +#: ../../Zotlabs/Module/Cards.php:51 ../../Zotlabs/Module/Affinity.php:52 +#: ../../Zotlabs/Module/Randprof.php:29 ../../Zotlabs/Module/Suggest.php:40 +#: ../../Zotlabs/Module/Notes.php:57 ../../Zotlabs/Module/Tokens.php:99 +#: ../../Zotlabs/Module/Articles.php:52 ../../Zotlabs/Module/Mood.php:134 +#: ../../Zotlabs/Module/Permcats.php:63 ../../Zotlabs/Module/Probe.php:18 +#: ../../Zotlabs/Module/Invite.php:110 ../../Zotlabs/Module/Lang.php:17 +#: ../../Zotlabs/Module/Sources.php:88 ../../Zotlabs/Module/Poke.php:165 +#: ../../extend/addon/hzaddons/gnusoc/Mod_Gnusoc.php:22 +#: ../../extend/addon/hzaddons/skeleton/Mod_Skeleton.php:32 +#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:50 +#: ../../extend/addon/hzaddons/diaspora/Mod_Diaspora.php:58 +#: ../../extend/addon/hzaddons/hideaside/Mod_Hideaside.php:23 +#: ../../extend/addon/hzaddons/ljpost/Mod_Ljpost.php:38 +#: ../../extend/addon/hzaddons/xmpp/Mod_Xmpp.php:35 +#: ../../extend/addon/hzaddons/superblock/Mod_Superblock.php:20 +#: ../../extend/addon/hzaddons/planets/Mod_Planets.php:20 +#: ../../extend/addon/hzaddons/nsfw/Mod_Nsfw.php:33 +#: ../../extend/addon/hzaddons/photocache/Mod_Photocache.php:42 +#: ../../extend/addon/hzaddons/libertree/Mod_Libertree.php:35 +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:146 +#: ../../extend/addon/hzaddons/pubcrawl/Mod_Pubcrawl.php:40 +#: ../../extend/addon/hzaddons/ijpost/Mod_Ijpost.php:35 +#: ../../extend/addon/hzaddons/sendzid/Mod_Sendzid.php:20 +#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:78 +#: ../../extend/addon/hzaddons/dwpost/Mod_Dwpost.php:39 +#: ../../extend/addon/hzaddons/nofed/Mod_Nofed.php:33 +#: ../../extend/addon/hzaddons/hsse/Mod_Hsse.php:21 +#: ../../extend/addon/hzaddons/pageheader/Mod_Pageheader.php:34 +#: ../../extend/addon/hzaddons/gallery/Mod_Gallery.php:58 +#: ../../extend/addon/hzaddons/smileybutton/Mod_Smileybutton.php:35 +#: ../../extend/addon/hzaddons/rtof/Mod_Rtof.php:36 +#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:43 +#: ../../extend/addon/hzaddons/authchoose/Mod_Authchoose.php:28 +#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:53 +#: ../../extend/addon/hzaddons/nsabait/Mod_Nsabait.php:20 +#: ../../extend/addon/hzaddons/rainbowtag/Mod_Rainbowtag.php:21 +#: ../../extend/addon/hzaddons/fuzzloc/Mod_Fuzzloc.php:34 +#: ../../extend/addon/hzaddons/startpage/Mod_Startpage.php:50 +msgid "Not Installed" +msgstr "" + +#: ../../Zotlabs/Module/Pdledit.php:44 +msgid "Provides the ability to edit system page layouts" +msgstr "" + +#: ../../Zotlabs/Module/Pdledit.php:57 ../../Zotlabs/Module/Pdledit.php:100 +msgid "Edit System Page Description" +msgstr "" + +#: ../../Zotlabs/Module/Pdledit.php:78 +msgid "(modified)" +msgstr "" + +#: ../../Zotlabs/Module/Pdledit.php:78 ../../Zotlabs/Module/Lostpass.php:133 +msgid "Reset" +msgstr "" + +#: ../../Zotlabs/Module/Pdledit.php:95 +msgid "Layout not found." +msgstr "" + +#: ../../Zotlabs/Module/Pdledit.php:101 +msgid "Module Name:" +msgstr "" + +#: ../../Zotlabs/Module/Pdledit.php:102 +msgid "Layout Help" +msgstr "" + +#: ../../Zotlabs/Module/Pdledit.php:103 +msgid "Edit another layout" +msgstr "" + +#: ../../Zotlabs/Module/Pdledit.php:104 +msgid "System layout" +msgstr "" + +#: ../../Zotlabs/Module/Pdledit.php:108 ../../Zotlabs/Module/Events.php:501 +#: ../../Zotlabs/Module/Profiles.php:725 ../../Zotlabs/Module/Import.php:645 +#: ../../Zotlabs/Module/Defperms.php:266 ../../Zotlabs/Module/Group.php:151 +#: ../../Zotlabs/Module/Group.php:167 ../../Zotlabs/Module/Appman.php:155 +#: ../../Zotlabs/Module/Oauth.php:111 ../../Zotlabs/Module/Import_items.php:129 +#: ../../Zotlabs/Module/Connect.php:107 +#: ../../Zotlabs/Module/Filestorage.php:208 ../../Zotlabs/Module/Oauth2.php:116 +#: ../../Zotlabs/Module/Wiki.php:215 ../../Zotlabs/Module/Locs.php:132 +#: ../../Zotlabs/Module/Connedit.php:896 ../../Zotlabs/Module/Rate.php:166 +#: ../../Zotlabs/Module/Xchan.php:15 ../../Zotlabs/Module/Chat.php:209 +#: ../../Zotlabs/Module/Chat.php:248 ../../Zotlabs/Module/Photos.php:1058 +#: ../../Zotlabs/Module/Photos.php:1098 ../../Zotlabs/Module/Photos.php:1216 +#: ../../Zotlabs/Module/Editpost.php:86 ../../Zotlabs/Module/Affinity.php:87 +#: ../../Zotlabs/Module/Pconfig.php:116 +#: ../../Zotlabs/Module/Admin/Themes.php:158 +#: ../../Zotlabs/Module/Admin/Security.php:120 +#: ../../Zotlabs/Module/Admin/Accounts.php:168 +#: ../../Zotlabs/Module/Admin/Features.php:66 +#: ../../Zotlabs/Module/Admin/Channels.php:147 +#: ../../Zotlabs/Module/Admin/Logs.php:84 +#: ../../Zotlabs/Module/Admin/Account_edit.php:73 +#: ../../Zotlabs/Module/Admin/Addons.php:442 +#: ../../Zotlabs/Module/Admin/Site.php:293 +#: ../../Zotlabs/Module/Admin/Profs.php:178 ../../Zotlabs/Module/Thing.php:328 +#: ../../Zotlabs/Module/Thing.php:381 +#: ../../Zotlabs/Module/Email_validation.php:40 +#: ../../Zotlabs/Module/Tokens.php:188 ../../Zotlabs/Module/Setup.php:304 +#: ../../Zotlabs/Module/Setup.php:344 ../../Zotlabs/Module/Mitem.php:259 +#: ../../Zotlabs/Module/Mood.php:158 ../../Zotlabs/Module/Permcats.php:129 +#: ../../Zotlabs/Module/Settings/Account.php:103 +#: ../../Zotlabs/Module/Settings/Events.php:42 +#: ../../Zotlabs/Module/Settings/Profiles.php:52 +#: ../../Zotlabs/Module/Settings/Editor.php:42 +#: ../../Zotlabs/Module/Settings/Features.php:48 +#: ../../Zotlabs/Module/Settings/Manage.php:43 +#: ../../Zotlabs/Module/Settings/Display.php:188 +#: ../../Zotlabs/Module/Settings/Photos.php:42 +#: ../../Zotlabs/Module/Settings/Channel.php:495 +#: ../../Zotlabs/Module/Settings/Connections.php:42 +#: ../../Zotlabs/Module/Settings/Calendar.php:42 +#: ../../Zotlabs/Module/Settings/Directory.php:42 +#: ../../Zotlabs/Module/Settings/Channel_home.php:91 +#: ../../Zotlabs/Module/Settings/Network.php:62 +#: ../../Zotlabs/Module/Settings/Conversation.php:49 +#: ../../Zotlabs/Module/Invite.php:168 ../../Zotlabs/Module/Sources.php:125 +#: ../../Zotlabs/Module/Sources.php:162 ../../Zotlabs/Module/Poke.php:217 +#: ../../Zotlabs/Storage/Browser.php:382 ../../Zotlabs/Lib/ThreadItem.php:825 +#: ../../Zotlabs/Widget/Wiki_pages.php:42 +#: ../../Zotlabs/Widget/Wiki_pages.php:99 +#: ../../Zotlabs/Widget/Eventstools.php:16 ../../include/js_strings.php:22 +#: ../../extend/addon/hzaddons/irc/irc.php:45 +#: ../../extend/addon/hzaddons/hubwall/hubwall.php:95 +#: ../../extend/addon/hzaddons/likebanner/likebanner.php:57 +#: ../../extend/addon/hzaddons/piwik/piwik.php:95 +#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:143 +#: ../../extend/addon/hzaddons/skeleton/Mod_Skeleton.php:51 +#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:90 +#: ../../extend/addon/hzaddons/cart/cart.php:1376 +#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:312 +#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:412 +#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:643 +#: ../../extend/addon/hzaddons/cart/submodules/subscriptions.php:410 +#: ../../extend/addon/hzaddons/cart/submodules/manualcat.php:248 +#: ../../extend/addon/hzaddons/cart/Settings/Cart.php:132 +#: ../../extend/addon/hzaddons/cart/Settings/Cart.php:142 +#: ../../extend/addon/hzaddons/hzfiles/hzfiles.php:86 +#: ../../extend/addon/hzaddons/diaspora/Mod_Diaspora.php:100 +#: ../../extend/addon/hzaddons/diaspora/diaspora.php:75 +#: ../../extend/addon/hzaddons/openstreetmap/openstreetmap.php:155 +#: ../../extend/addon/hzaddons/ljpost/Mod_Ljpost.php:82 +#: ../../extend/addon/hzaddons/workflow/workflow.php:1461 +#: ../../extend/addon/hzaddons/workflow/workflow.php:1520 +#: ../../extend/addon/hzaddons/workflow/workflow.php:1639 +#: ../../extend/addon/hzaddons/workflow/workflow.php:2742 +#: ../../extend/addon/hzaddons/workflow/Settings/Mod_WorkflowSettings.php:94 +#: ../../extend/addon/hzaddons/xmpp/Mod_Xmpp.php:70 +#: ../../extend/addon/hzaddons/nsfw/Mod_Nsfw.php:61 +#: ../../extend/addon/hzaddons/photocache/Mod_Photocache.php:67 +#: ../../extend/addon/hzaddons/libertree/Mod_Libertree.php:70 +#: ../../extend/addon/hzaddons/statusnet/statusnet.php:602 +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:193 +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:251 +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:306 +#: ../../extend/addon/hzaddons/pubcrawl/Mod_Pubcrawl.php:65 +#: ../../extend/addon/hzaddons/ijpost/Mod_Ijpost.php:72 +#: ../../extend/addon/hzaddons/flashcards/Mod_Flashcards.php:262 +#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:330 +#: ../../extend/addon/hzaddons/redphotos/redphotos.php:136 +#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:184 +#: ../../extend/addon/hzaddons/dwpost/Mod_Dwpost.php:80 +#: ../../extend/addon/hzaddons/nofed/Mod_Nofed.php:53 +#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:142 +#: ../../extend/addon/hzaddons/pageheader/Mod_Pageheader.php:54 +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:310 +#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:53 +#: ../../extend/addon/hzaddons/smileybutton/Mod_Smileybutton.php:55 +#: ../../extend/addon/hzaddons/rtof/Mod_Rtof.php:72 +#: ../../extend/addon/hzaddons/logrot/logrot.php:35 +#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:109 +#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:115 +#: ../../extend/addon/hzaddons/mailtest/mailtest.php:100 +#: ../../extend/addon/hzaddons/redfiles/redfiles.php:124 +#: ../../extend/addon/hzaddons/fuzzloc/Mod_Fuzzloc.php:56 +#: ../../extend/addon/hzaddons/startpage/Mod_Startpage.php:73 +#: ../../view/theme/redbasic/php/config.php:94 +msgid "Submit" +msgstr "" + +#: ../../Zotlabs/Module/Z6trans.php:19 +msgid "Update to Hubzilla 5.0 step 2" +msgstr "" + +#: ../../Zotlabs/Module/Z6trans.php:21 +msgid "To complete the update please run" +msgstr "" + +#: ../../Zotlabs/Module/Z6trans.php:23 +msgid "php util/z6convert.php" +msgstr "" + +#: ../../Zotlabs/Module/Z6trans.php:25 +msgid "from the terminal." +msgstr "" + +#: ../../Zotlabs/Module/Dreport.php:10 ../../Zotlabs/Module/Dreport.php:82 +#: ../../Zotlabs/Module/Profperm.php:28 ../../Zotlabs/Module/Cloud.php:123 +#: ../../Zotlabs/Module/Like.php:332 ../../Zotlabs/Module/Group.php:99 +#: ../../Zotlabs/Module/Import_items.php:120 +#: ../../Zotlabs/Module/Subthread.php:86 ../../Zotlabs/Module/Share.php:72 +#: ../../Zotlabs/Web/WebServer.php:115 ../../include/items.php:439 +#: ../../extend/addon/hzaddons/hzfiles/hzfiles.php:75 +#: ../../extend/addon/hzaddons/redphotos/redphotos.php:119 +#: ../../extend/addon/hzaddons/redfiles/redfiles.php:109 +msgid "Permission denied" +msgstr "" + +#: ../../Zotlabs/Module/Dreport.php:59 +msgid "Invalid message" +msgstr "" + +#: ../../Zotlabs/Module/Dreport.php:93 +msgid "no results" +msgstr "" + +#: ../../Zotlabs/Module/Dreport.php:107 +msgid "channel sync processed" +msgstr "" + +#: ../../Zotlabs/Module/Dreport.php:111 +msgid "queued" +msgstr "" + +#: ../../Zotlabs/Module/Dreport.php:115 +msgid "posted" +msgstr "" + +#: ../../Zotlabs/Module/Dreport.php:119 +msgid "accepted for delivery" +msgstr "" + +#: ../../Zotlabs/Module/Dreport.php:123 +msgid "updated" +msgstr "" + +#: ../../Zotlabs/Module/Dreport.php:126 +msgid "update ignored" +msgstr "" + +#: ../../Zotlabs/Module/Dreport.php:129 +msgid "permission denied" +msgstr "" + +#: ../../Zotlabs/Module/Dreport.php:133 +msgid "recipient not found" +msgstr "" + +#: ../../Zotlabs/Module/Dreport.php:136 +msgid "mail recalled" +msgstr "" + +#: ../../Zotlabs/Module/Dreport.php:139 +msgid "duplicate mail received" +msgstr "" + +#: ../../Zotlabs/Module/Dreport.php:142 +msgid "mail delivered" +msgstr "" + +#: ../../Zotlabs/Module/Dreport.php:162 +#, php-format +msgid "Delivery report for %1$s" +msgstr "" + +#: ../../Zotlabs/Module/Dreport.php:166 ../../Zotlabs/Widget/Wiki_pages.php:41 +#: ../../Zotlabs/Widget/Wiki_pages.php:98 +msgid "Options" +msgstr "" + +#: ../../Zotlabs/Module/Dreport.php:167 +msgid "Redeliver" +msgstr "" + +#: ../../Zotlabs/Module/Profperm.php:34 ../../Zotlabs/Module/Profperm.php:63 +msgid "Invalid profile identifier." +msgstr "" + +#: ../../Zotlabs/Module/Profperm.php:111 +msgid "Profile Visibility Editor" +msgstr "" + +#: ../../Zotlabs/Module/Profperm.php:113 ../../Zotlabs/Lib/Apps.php:362 +#: ../../include/channel.php:1886 +msgid "Profile" +msgstr "" + +#: ../../Zotlabs/Module/Profperm.php:115 +msgid "Click on a contact to add or remove." +msgstr "" + +#: ../../Zotlabs/Module/Profperm.php:124 +msgid "Visible To" +msgstr "" + +#: ../../Zotlabs/Module/Profperm.php:140 +#: ../../Zotlabs/Module/Connections.php:217 +msgid "All Connections" +msgstr "" + +#: ../../Zotlabs/Module/Cloud.php:120 +msgid "Not found" +msgstr "" + +#: ../../Zotlabs/Module/Cloud.php:126 +msgid "Please refresh page" +msgstr "" + +#: ../../Zotlabs/Module/Cloud.php:129 +msgid "Unknown error" +msgstr "" + +#: ../../Zotlabs/Module/Authorize.php:17 +msgid "Unknown App" +msgstr "" + +#: ../../Zotlabs/Module/Authorize.php:29 +msgid "Authorize" +msgstr "" + +#: ../../Zotlabs/Module/Authorize.php:30 +#, php-format +msgid "Do you authorize the app %s to access your channel data?" +msgstr "" + +#: ../../Zotlabs/Module/Authorize.php:32 ../../include/acl_selectors.php:146 +msgid "Allow" +msgstr "" + +#: ../../Zotlabs/Module/Authorize.php:33 +#: ../../Zotlabs/Module/Admin/Accounts.php:174 +msgid "Deny" +msgstr "" + +#: ../../Zotlabs/Module/Cdav.php:818 ../../Zotlabs/Module/Events.php:28 +msgid "Calendar entries imported." +msgstr "" + +#: ../../Zotlabs/Module/Cdav.php:820 ../../Zotlabs/Module/Events.php:30 +msgid "No calendar entries found." +msgstr "" + +#: ../../Zotlabs/Module/Cdav.php:876 +msgid "CardDAV App" +msgstr "" + +#: ../../Zotlabs/Module/Cdav.php:877 +msgid "CalDAV capable addressbook" +msgstr "" + +#: ../../Zotlabs/Module/Cdav.php:943 ../../Zotlabs/Module/Cal.php:167 +#: ../../Zotlabs/Module/Channel_calendar.php:393 +msgid "Link to source" +msgstr "" + +#: ../../Zotlabs/Module/Cdav.php:1009 ../../Zotlabs/Module/Events.php:468 +msgid "Event title" +msgstr "" + +#: ../../Zotlabs/Module/Cdav.php:1010 ../../Zotlabs/Module/Events.php:474 +msgid "Start date and time" +msgstr "" + +#: ../../Zotlabs/Module/Cdav.php:1011 +msgid "End date and time" +msgstr "" + +#: ../../Zotlabs/Module/Cdav.php:1012 ../../Zotlabs/Module/Events.php:497 +msgid "Timezone:" +msgstr "" + +#: ../../Zotlabs/Module/Cdav.php:1014 ../../Zotlabs/Module/Events.php:481 +#: ../../Zotlabs/Module/Appman.php:145 ../../Zotlabs/Module/Rbmark.php:101 +#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:173 +#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:655 +#: ../../extend/addon/hzaddons/cart/submodules/manualcat.php:260 +msgid "Description" +msgstr "" + +#: ../../Zotlabs/Module/Cdav.php:1015 ../../Zotlabs/Module/Events.php:483 +#: ../../Zotlabs/Module/Profiles.php:511 ../../Zotlabs/Module/Profiles.php:736 +#: ../../Zotlabs/Module/Locs.php:128 ../../Zotlabs/Module/Pubsites.php:53 +#: ../../include/js_strings.php:25 +msgid "Location" +msgstr "" + +#: ../../Zotlabs/Module/Cdav.php:1035 ../../Zotlabs/Module/Events.php:697 +#: ../../Zotlabs/Module/Events.php:706 ../../Zotlabs/Module/Photos.php:947 +#: ../../Zotlabs/Module/Cal.php:205 +msgid "Previous" +msgstr "" + +#: ../../Zotlabs/Module/Cdav.php:1036 ../../Zotlabs/Module/Events.php:698 +#: ../../Zotlabs/Module/Events.php:707 ../../Zotlabs/Module/Photos.php:956 +#: ../../Zotlabs/Module/Cal.php:206 ../../Zotlabs/Module/Setup.php:260 +msgid "Next" +msgstr "" + +#: ../../Zotlabs/Module/Cdav.php:1037 ../../Zotlabs/Module/Events.php:708 +#: ../../Zotlabs/Module/Cal.php:207 +msgid "Today" +msgstr "" + +#: ../../Zotlabs/Module/Cdav.php:1038 ../../Zotlabs/Module/Events.php:703 +msgid "Month" +msgstr "" + +#: ../../Zotlabs/Module/Cdav.php:1039 ../../Zotlabs/Module/Events.php:704 +msgid "Week" +msgstr "" + +#: ../../Zotlabs/Module/Cdav.php:1040 ../../Zotlabs/Module/Events.php:705 +msgid "Day" +msgstr "" + +#: ../../Zotlabs/Module/Cdav.php:1041 +msgid "List month" +msgstr "" + +#: ../../Zotlabs/Module/Cdav.php:1042 +msgid "List week" +msgstr "" + +#: ../../Zotlabs/Module/Cdav.php:1043 +msgid "List day" +msgstr "" + +#: ../../Zotlabs/Module/Cdav.php:1051 +msgid "More" +msgstr "" + +#: ../../Zotlabs/Module/Cdav.php:1052 +msgid "Less" +msgstr "" + +#: ../../Zotlabs/Module/Cdav.php:1053 ../../Zotlabs/Module/Cdav.php:1388 +#: ../../Zotlabs/Module/Profiles.php:801 ../../Zotlabs/Module/Oauth.php:53 +#: ../../Zotlabs/Module/Oauth.php:137 ../../Zotlabs/Module/Oauth2.php:58 +#: ../../Zotlabs/Module/Oauth2.php:144 ../../Zotlabs/Module/Connedit.php:931 +#: ../../Zotlabs/Module/Admin/Addons.php:457 ../../Zotlabs/Lib/Apps.php:536 +msgid "Update" +msgstr "" + +#: ../../Zotlabs/Module/Cdav.php:1054 +msgid "Select calendar" +msgstr "" + +#: ../../Zotlabs/Module/Cdav.php:1055 ../../Zotlabs/Widget/Cdav.php:143 +msgid "Channel Calendars" +msgstr "" + +#: ../../Zotlabs/Module/Cdav.php:1055 ../../Zotlabs/Widget/Cdav.php:129 +#: ../../Zotlabs/Widget/Cdav.php:143 +msgid "CalDAV Calendars" +msgstr "" + +#: ../../Zotlabs/Module/Cdav.php:1056 ../../Zotlabs/Module/Cdav.php:1389 +#: ../../Zotlabs/Module/Webpages.php:257 ../../Zotlabs/Module/Profiles.php:802 +#: ../../Zotlabs/Module/Oauth.php:174 ../../Zotlabs/Module/Card_edit.php:129 +#: ../../Zotlabs/Module/Oauth2.php:195 ../../Zotlabs/Module/Blocks.php:162 +#: ../../Zotlabs/Module/Connedit.php:660 ../../Zotlabs/Module/Connedit.php:932 +#: ../../Zotlabs/Module/Editlayout.php:138 +#: ../../Zotlabs/Module/Editblock.php:139 ../../Zotlabs/Module/Photos.php:1179 +#: ../../Zotlabs/Module/Connections.php:328 +#: ../../Zotlabs/Module/Editwebpage.php:167 +#: ../../Zotlabs/Module/Article_edit.php:128 +#: ../../Zotlabs/Module/Admin/Accounts.php:175 +#: ../../Zotlabs/Module/Admin/Channels.php:149 +#: ../../Zotlabs/Module/Admin/Profs.php:176 ../../Zotlabs/Module/Thing.php:269 +#: ../../Zotlabs/Storage/Browser.php:384 ../../Zotlabs/Lib/Apps.php:558 +#: ../../Zotlabs/Lib/ThreadItem.php:170 ../../include/conversation.php:730 +#: ../../include/conversation.php:775 +msgid "Delete" +msgstr "" + +#: ../../Zotlabs/Module/Cdav.php:1057 +msgid "Delete all" +msgstr "" + +#: ../../Zotlabs/Module/Cdav.php:1058 ../../Zotlabs/Module/Cdav.php:1390 +#: ../../Zotlabs/Module/Filer.php:56 ../../Zotlabs/Module/Profiles.php:803 +#: ../../Zotlabs/Module/Oauth.php:112 ../../Zotlabs/Module/Oauth.php:138 +#: ../../Zotlabs/Module/Card_edit.php:131 ../../Zotlabs/Module/Oauth2.php:117 +#: ../../Zotlabs/Module/Oauth2.php:145 ../../Zotlabs/Module/Wiki.php:368 +#: ../../Zotlabs/Module/Wiki.php:401 ../../Zotlabs/Module/Fbrowser.php:66 +#: ../../Zotlabs/Module/Fbrowser.php:88 ../../Zotlabs/Module/Connedit.php:933 +#: ../../Zotlabs/Module/Profile_photo.php:507 +#: ../../Zotlabs/Module/Editlayout.php:140 +#: ../../Zotlabs/Module/Editblock.php:141 ../../Zotlabs/Module/Editpost.php:110 +#: ../../Zotlabs/Module/Tagrm.php:15 ../../Zotlabs/Module/Tagrm.php:138 +#: ../../Zotlabs/Module/Editwebpage.php:169 +#: ../../Zotlabs/Module/Article_edit.php:130 +#: ../../Zotlabs/Module/Admin/Addons.php:427 +#: ../../Zotlabs/Module/Cover_photo.php:428 +#: ../../Zotlabs/Storage/Browser.php:383 ../../include/conversation.php:1458 +#: ../../include/conversation.php:1511 +#: ../../extend/addon/hzaddons/hsse/hsse.php:209 +#: ../../extend/addon/hzaddons/hsse/hsse.php:258 +msgid "Cancel" +msgstr "" + +#: ../../Zotlabs/Module/Cdav.php:1059 ../../Zotlabs/Module/Cdav.php:1387 +#: ../../Zotlabs/Module/Webpages.php:254 ../../Zotlabs/Module/Profiles.php:800 +#: ../../Zotlabs/Module/Layouts.php:185 +#: ../../Zotlabs/Module/New_channel.php:189 ../../Zotlabs/Module/Blocks.php:159 +#: ../../Zotlabs/Module/Connedit.php:930 ../../Zotlabs/Module/Cards.php:113 +#: ../../Zotlabs/Module/Articles.php:117 ../../Zotlabs/Module/Menu.php:182 +#: ../../Zotlabs/Storage/Browser.php:365 ../../Zotlabs/Storage/Browser.php:538 +#: ../../Zotlabs/Widget/Cdav.php:140 ../../Zotlabs/Widget/Cdav.php:178 +msgid "Create" +msgstr "" + +#: ../../Zotlabs/Module/Cdav.php:1060 +msgid "Sorry! Editing of recurrent events is not yet implemented." +msgstr "" + +#: ../../Zotlabs/Module/Cdav.php:1070 ../../Zotlabs/Storage/Browser.php:293 +#: ../../Zotlabs/Storage/Browser.php:388 ../../Zotlabs/Storage/Browser.php:403 +#: ../../Zotlabs/Widget/Appcategories.php:43 +#: ../../include/contact_widgets.php:108 ../../include/contact_widgets.php:152 +#: ../../include/contact_widgets.php:197 ../../include/contact_widgets.php:232 +#: ../../include/taxonomy.php:418 ../../include/taxonomy.php:500 +#: ../../include/taxonomy.php:520 ../../include/taxonomy.php:541 +msgid "Categories" +msgstr "" + +#: ../../Zotlabs/Module/Cdav.php:1372 ../../Zotlabs/Module/Group.php:155 +#: ../../Zotlabs/Module/Oauth.php:113 ../../Zotlabs/Module/Oauth.php:139 +#: ../../Zotlabs/Module/Oauth2.php:118 ../../Zotlabs/Module/Oauth2.php:146 +#: ../../Zotlabs/Module/Wiki.php:218 ../../Zotlabs/Module/Connedit.php:915 +#: ../../Zotlabs/Module/Sharedwithme.php:106 ../../Zotlabs/Module/Chat.php:257 +#: ../../Zotlabs/Module/Admin/Channels.php:159 +#: ../../Zotlabs/Storage/Browser.php:377 +#: ../../Zotlabs/Lib/NativeWikiPage.php:564 +#: ../../Zotlabs/Widget/Wiki_page_history.php:22 +#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:172 +msgid "Name" +msgstr "" + +#: ../../Zotlabs/Module/Cdav.php:1373 ../../Zotlabs/Module/Connedit.php:916 +msgid "Organisation" +msgstr "" + +#: ../../Zotlabs/Module/Cdav.php:1374 ../../Zotlabs/Module/Connedit.php:917 +#: ../../extend/addon/hzaddons/workflow/workflow.php:2617 +#: ../../extend/addon/hzaddons/workflow/workflow.php:2678 +msgid "Title" +msgstr "" + +#: ../../Zotlabs/Module/Cdav.php:1375 ../../Zotlabs/Module/Profiles.php:788 +#: ../../Zotlabs/Module/Connedit.php:918 +msgid "Phone" +msgstr "" + +#: ../../Zotlabs/Module/Cdav.php:1376 ../../Zotlabs/Module/Profiles.php:789 +#: ../../Zotlabs/Module/Connedit.php:919 +#: ../../Zotlabs/Module/Admin/Accounts.php:171 +#: ../../Zotlabs/Module/Admin/Accounts.php:183 ../../include/network.php:1737 +#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:71 +#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:56 +#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:57 +#: ../../extend/addon/hzaddons/rtof/Mod_Rtof.php:57 +msgid "Email" +msgstr "" + +#: ../../Zotlabs/Module/Cdav.php:1377 ../../Zotlabs/Module/Profiles.php:790 +#: ../../Zotlabs/Module/Connedit.php:920 +msgid "Instant messenger" +msgstr "" + +#: ../../Zotlabs/Module/Cdav.php:1378 ../../Zotlabs/Module/Profiles.php:791 +#: ../../Zotlabs/Module/Connedit.php:921 +msgid "Website" +msgstr "" + +#: ../../Zotlabs/Module/Cdav.php:1379 ../../Zotlabs/Module/Profiles.php:504 +#: ../../Zotlabs/Module/Profiles.php:792 ../../Zotlabs/Module/Locs.php:129 +#: ../../Zotlabs/Module/Connedit.php:922 +#: ../../Zotlabs/Module/Admin/Channels.php:160 +msgid "Address" +msgstr "" + +#: ../../Zotlabs/Module/Cdav.php:1380 ../../Zotlabs/Module/Profiles.php:793 +#: ../../Zotlabs/Module/Connedit.php:923 +msgid "Note" +msgstr "" + +#: ../../Zotlabs/Module/Cdav.php:1381 ../../Zotlabs/Module/Profiles.php:794 +#: ../../Zotlabs/Module/Connedit.php:924 ../../include/connections.php:734 +#: ../../include/event.php:1422 +msgid "Mobile" +msgstr "" + +#: ../../Zotlabs/Module/Cdav.php:1382 ../../Zotlabs/Module/Profiles.php:795 +#: ../../Zotlabs/Module/Connedit.php:925 ../../include/connections.php:735 +#: ../../include/event.php:1423 +msgid "Home" +msgstr "" + +#: ../../Zotlabs/Module/Cdav.php:1383 ../../Zotlabs/Module/Profiles.php:796 +#: ../../Zotlabs/Module/Connedit.php:926 ../../include/connections.php:738 +#: ../../include/event.php:1426 +msgid "Work" +msgstr "" + +#: ../../Zotlabs/Module/Cdav.php:1385 ../../Zotlabs/Module/Profiles.php:798 +#: ../../Zotlabs/Module/Connedit.php:928 +msgid "Add Contact" +msgstr "" + +#: ../../Zotlabs/Module/Cdav.php:1386 ../../Zotlabs/Module/Profiles.php:799 +#: ../../Zotlabs/Module/Connedit.php:929 +msgid "Add Field" +msgstr "" + +#: ../../Zotlabs/Module/Cdav.php:1391 ../../Zotlabs/Module/Connedit.php:934 +msgid "P.O. Box" +msgstr "" + +#: ../../Zotlabs/Module/Cdav.php:1392 ../../Zotlabs/Module/Connedit.php:935 +msgid "Additional" +msgstr "" + +#: ../../Zotlabs/Module/Cdav.php:1393 ../../Zotlabs/Module/Connedit.php:936 +msgid "Street" +msgstr "" + +#: ../../Zotlabs/Module/Cdav.php:1394 ../../Zotlabs/Module/Connedit.php:937 +msgid "Locality" +msgstr "" + +#: ../../Zotlabs/Module/Cdav.php:1395 ../../Zotlabs/Module/Connedit.php:938 +msgid "Region" +msgstr "" + +#: ../../Zotlabs/Module/Cdav.php:1396 ../../Zotlabs/Module/Connedit.php:939 +msgid "ZIP Code" +msgstr "" + +#: ../../Zotlabs/Module/Cdav.php:1397 ../../Zotlabs/Module/Profiles.php:759 +#: ../../Zotlabs/Module/Connedit.php:940 +msgid "Country" +msgstr "" + +#: ../../Zotlabs/Module/Cdav.php:1456 +msgid "Default Calendar" +msgstr "" + +#: ../../Zotlabs/Module/Cdav.php:1467 +msgid "Default Addressbook" +msgstr "" + +#: ../../Zotlabs/Module/Api.php:74 ../../Zotlabs/Module/Api.php:95 +msgid "Authorize application connection" +msgstr "" + +#: ../../Zotlabs/Module/Api.php:75 +msgid "Return to your app and insert this Security Code:" +msgstr "" + +#: ../../Zotlabs/Module/Api.php:85 +msgid "Please login to continue." +msgstr "" + +#: ../../Zotlabs/Module/Api.php:97 +msgid "" +"Do you want to authorize this application to access your posts and contacts, " +"and/or create new posts for you?" +msgstr "" + +#: ../../Zotlabs/Module/Api.php:98 ../../Zotlabs/Module/Events.php:478 +#: ../../Zotlabs/Module/Events.php:479 ../../Zotlabs/Module/Profiles.php:683 +#: ../../Zotlabs/Module/Import.php:634 ../../Zotlabs/Module/Import.php:638 +#: ../../Zotlabs/Module/Import.php:639 ../../Zotlabs/Module/Defperms.php:198 +#: ../../Zotlabs/Module/Filestorage.php:203 +#: ../../Zotlabs/Module/Filestorage.php:211 ../../Zotlabs/Module/Wiki.php:227 +#: ../../Zotlabs/Module/Wiki.php:228 ../../Zotlabs/Module/Connedit.php:403 +#: ../../Zotlabs/Module/Photos.php:673 ../../Zotlabs/Module/Admin/Site.php:261 +#: ../../Zotlabs/Module/Mitem.php:176 ../../Zotlabs/Module/Mitem.php:177 +#: ../../Zotlabs/Module/Mitem.php:256 ../../Zotlabs/Module/Mitem.php:257 +#: ../../Zotlabs/Module/Settings/Display.php:88 +#: ../../Zotlabs/Module/Settings/Channel.php:311 +#: ../../Zotlabs/Module/Menu.php:163 ../../Zotlabs/Module/Menu.php:222 +#: ../../Zotlabs/Module/Sources.php:124 ../../Zotlabs/Module/Sources.php:159 +#: ../../Zotlabs/Storage/Browser.php:310 ../../Zotlabs/Storage/Browser.php:311 +#: ../../Zotlabs/Storage/Browser.php:312 ../../Zotlabs/Storage/Browser.php:389 +#: ../../Zotlabs/Storage/Browser.php:391 ../../Zotlabs/Storage/Browser.php:552 +#: ../../Zotlabs/Lib/Libzotdir.php:165 ../../Zotlabs/Lib/Libzotdir.php:166 +#: ../../Zotlabs/Lib/Libzotdir.php:168 ../../include/conversation.php:1466 +#: ../../include/dir_fns.php:143 ../../include/dir_fns.php:144 +#: ../../include/dir_fns.php:145 +#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:111 +#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:63 +#: ../../extend/addon/hzaddons/cart/cart.php:1370 +#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:72 +#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:337 +#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:361 +#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:437 +#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:461 +#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:65 +#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:649 +#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:653 +#: ../../extend/addon/hzaddons/cart/submodules/subscriptions.php:153 +#: ../../extend/addon/hzaddons/cart/submodules/subscriptions.php:425 +#: ../../extend/addon/hzaddons/cart/submodules/paypalbuttonV2.php:88 +#: ../../extend/addon/hzaddons/cart/submodules/paypalbuttonV2.php:96 +#: ../../extend/addon/hzaddons/cart/submodules/paypalbutton.php:87 +#: ../../extend/addon/hzaddons/cart/submodules/paypalbutton.php:95 +#: ../../extend/addon/hzaddons/cart/submodules/manualcat.php:63 +#: ../../extend/addon/hzaddons/cart/submodules/manualcat.php:254 +#: ../../extend/addon/hzaddons/cart/submodules/manualcat.php:258 +#: ../../extend/addon/hzaddons/cart/Settings/Cart.php:61 +#: ../../extend/addon/hzaddons/cart/Settings/Cart.php:73 +#: ../../extend/addon/hzaddons/ljpost/Mod_Ljpost.php:63 +#: ../../extend/addon/hzaddons/ljpost/Mod_Ljpost.php:67 +#: ../../extend/addon/hzaddons/ljpost/Mod_Ljpost.php:71 +#: ../../extend/addon/hzaddons/libertree/Mod_Libertree.php:59 +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:260 +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:282 +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:291 +#: ../../extend/addon/hzaddons/pubcrawl/Mod_Pubcrawl.php:45 +#: ../../extend/addon/hzaddons/ijpost/Mod_Ijpost.php:61 +#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:214 +#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:162 +#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:171 +#: ../../extend/addon/hzaddons/dwpost/Mod_Dwpost.php:61 +#: ../../extend/addon/hzaddons/dwpost/Mod_Dwpost.php:65 +#: ../../extend/addon/hzaddons/nofed/Mod_Nofed.php:42 +#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:137 +#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:138 +#: ../../extend/addon/hzaddons/smileybutton/Mod_Smileybutton.php:44 +#: ../../extend/addon/hzaddons/rtof/Mod_Rtof.php:49 +#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:86 +#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:90 +#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:94 +#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:94 +#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:98 +#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:102 +#: ../../view/theme/redbasic/php/config.php:99 +#: ../../view/theme/redbasic/php/config.php:116 ../../boot.php:1710 +msgid "Yes" +msgstr "" + +#: ../../Zotlabs/Module/Api.php:99 ../../Zotlabs/Module/Events.php:478 +#: ../../Zotlabs/Module/Events.php:479 ../../Zotlabs/Module/Profiles.php:683 +#: ../../Zotlabs/Module/Import.php:634 ../../Zotlabs/Module/Import.php:638 +#: ../../Zotlabs/Module/Import.php:639 ../../Zotlabs/Module/Defperms.php:198 +#: ../../Zotlabs/Module/Filestorage.php:203 +#: ../../Zotlabs/Module/Filestorage.php:211 ../../Zotlabs/Module/Wiki.php:227 +#: ../../Zotlabs/Module/Wiki.php:228 ../../Zotlabs/Module/Connedit.php:403 +#: ../../Zotlabs/Module/Connedit.php:788 ../../Zotlabs/Module/Photos.php:673 +#: ../../Zotlabs/Module/Admin/Site.php:259 ../../Zotlabs/Module/Mitem.php:176 +#: ../../Zotlabs/Module/Mitem.php:177 ../../Zotlabs/Module/Mitem.php:256 +#: ../../Zotlabs/Module/Mitem.php:257 +#: ../../Zotlabs/Module/Settings/Display.php:88 +#: ../../Zotlabs/Module/Settings/Channel.php:311 +#: ../../Zotlabs/Module/Menu.php:163 ../../Zotlabs/Module/Menu.php:222 +#: ../../Zotlabs/Module/Sources.php:124 ../../Zotlabs/Module/Sources.php:159 +#: ../../Zotlabs/Storage/Browser.php:310 ../../Zotlabs/Storage/Browser.php:311 +#: ../../Zotlabs/Storage/Browser.php:312 ../../Zotlabs/Storage/Browser.php:389 +#: ../../Zotlabs/Storage/Browser.php:391 ../../Zotlabs/Storage/Browser.php:552 +#: ../../Zotlabs/Lib/Libzotdir.php:165 ../../Zotlabs/Lib/Libzotdir.php:166 +#: ../../Zotlabs/Lib/Libzotdir.php:168 ../../include/conversation.php:1466 +#: ../../include/dir_fns.php:143 ../../include/dir_fns.php:144 +#: ../../include/dir_fns.php:145 +#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:111 +#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:63 +#: ../../extend/addon/hzaddons/cart/cart.php:1370 +#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:72 +#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:338 +#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:362 +#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:438 +#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:462 +#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:65 +#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:649 +#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:653 +#: ../../extend/addon/hzaddons/cart/submodules/subscriptions.php:153 +#: ../../extend/addon/hzaddons/cart/submodules/subscriptions.php:425 +#: ../../extend/addon/hzaddons/cart/submodules/paypalbuttonV2.php:88 +#: ../../extend/addon/hzaddons/cart/submodules/paypalbuttonV2.php:96 +#: ../../extend/addon/hzaddons/cart/submodules/paypalbutton.php:87 +#: ../../extend/addon/hzaddons/cart/submodules/paypalbutton.php:95 +#: ../../extend/addon/hzaddons/cart/submodules/manualcat.php:63 +#: ../../extend/addon/hzaddons/cart/submodules/manualcat.php:254 +#: ../../extend/addon/hzaddons/cart/submodules/manualcat.php:258 +#: ../../extend/addon/hzaddons/cart/Settings/Cart.php:61 +#: ../../extend/addon/hzaddons/cart/Settings/Cart.php:73 +#: ../../extend/addon/hzaddons/ljpost/Mod_Ljpost.php:63 +#: ../../extend/addon/hzaddons/ljpost/Mod_Ljpost.php:67 +#: ../../extend/addon/hzaddons/ljpost/Mod_Ljpost.php:71 +#: ../../extend/addon/hzaddons/libertree/Mod_Libertree.php:59 +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:260 +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:282 +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:291 +#: ../../extend/addon/hzaddons/pubcrawl/Mod_Pubcrawl.php:45 +#: ../../extend/addon/hzaddons/ijpost/Mod_Ijpost.php:61 +#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:214 +#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:162 +#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:171 +#: ../../extend/addon/hzaddons/dwpost/Mod_Dwpost.php:61 +#: ../../extend/addon/hzaddons/dwpost/Mod_Dwpost.php:65 +#: ../../extend/addon/hzaddons/nofed/Mod_Nofed.php:42 +#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:137 +#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:138 +#: ../../extend/addon/hzaddons/smileybutton/Mod_Smileybutton.php:44 +#: ../../extend/addon/hzaddons/rtof/Mod_Rtof.php:49 +#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:86 +#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:90 +#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:94 +#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:94 +#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:98 +#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:102 +#: ../../view/theme/redbasic/php/config.php:99 +#: ../../view/theme/redbasic/php/config.php:116 ../../boot.php:1710 +msgid "No" +msgstr "" + +#: ../../Zotlabs/Module/Dirsearch.php:28 ../../Zotlabs/Module/Regdir.php:52 +msgid "This site is not a directory server" +msgstr "" + +#: ../../Zotlabs/Module/Dirsearch.php:37 +msgid "This directory server requires an access token" +msgstr "" + +#: ../../Zotlabs/Module/Filer.php:53 +msgid "Enter a folder name" +msgstr "" + +#: ../../Zotlabs/Module/Filer.php:53 +msgid "or select an existing folder (doubleclick)" +msgstr "" + +#: ../../Zotlabs/Module/Filer.php:54 ../../Zotlabs/Module/Admin/Profs.php:94 +#: ../../Zotlabs/Module/Admin/Profs.php:114 ../../Zotlabs/Module/Rbmark.php:32 +#: ../../Zotlabs/Module/Rbmark.php:104 ../../Zotlabs/Widget/Notes.php:23 +#: ../../include/text.php:1151 ../../include/text.php:1163 +#: ../../extend/addon/hzaddons/queueworker/Mod_Queueworker.php:119 +msgid "Save" +msgstr "" + +#: ../../Zotlabs/Module/Filer.php:55 ../../Zotlabs/Lib/ThreadItem.php:184 +msgid "Save to Folder" +msgstr "" + +#: ../../Zotlabs/Module/Events.php:113 +#: ../../Zotlabs/Module/Channel_calendar.php:57 +msgid "Event can not end before it has started." +msgstr "" + +#: ../../Zotlabs/Module/Events.php:115 ../../Zotlabs/Module/Events.php:124 +#: ../../Zotlabs/Module/Events.php:146 +#: ../../Zotlabs/Module/Channel_calendar.php:59 +#: ../../Zotlabs/Module/Channel_calendar.php:67 +#: ../../Zotlabs/Module/Channel_calendar.php:84 +msgid "Unable to generate preview." +msgstr "" + +#: ../../Zotlabs/Module/Events.php:122 +#: ../../Zotlabs/Module/Channel_calendar.php:65 +msgid "Event title and start time are required." +msgstr "" + +#: ../../Zotlabs/Module/Events.php:144 ../../Zotlabs/Module/Events.php:271 +#: ../../Zotlabs/Module/Channel_calendar.php:82 +#: ../../Zotlabs/Module/Channel_calendar.php:224 +msgid "Event not found." +msgstr "" + +#: ../../Zotlabs/Module/Events.php:266 ../../Zotlabs/Module/Like.php:435 +#: ../../Zotlabs/Module/Tagger.php:75 +#: ../../Zotlabs/Module/Channel_calendar.php:219 +#: ../../include/conversation.php:132 ../../include/text.php:2255 +#: ../../include/event.php:1259 +msgid "event" +msgstr "" + +#: ../../Zotlabs/Module/Events.php:468 +msgid "Edit event title" +msgstr "" + +#: ../../Zotlabs/Module/Events.php:468 ../../Zotlabs/Module/Events.php:473 +#: ../../Zotlabs/Module/Profiles.php:747 ../../Zotlabs/Module/Profiles.php:751 +#: ../../Zotlabs/Module/Appman.php:143 ../../Zotlabs/Module/Appman.php:144 +#: ../../include/datetime.php:211 +#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:334 +#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:358 +#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:434 +#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:458 +msgid "Required" +msgstr "" + +#: ../../Zotlabs/Module/Events.php:470 +msgid "Categories (comma-separated list)" +msgstr "" + +#: ../../Zotlabs/Module/Events.php:471 +msgid "Edit Category" +msgstr "" + +#: ../../Zotlabs/Module/Events.php:471 +msgid "Category" +msgstr "" + +#: ../../Zotlabs/Module/Events.php:474 +msgid "Edit start date and time" +msgstr "" + +#: ../../Zotlabs/Module/Events.php:475 ../../Zotlabs/Module/Events.php:478 +msgid "Finish date and time are not known or not relevant" +msgstr "" + +#: ../../Zotlabs/Module/Events.php:477 +msgid "Edit finish date and time" +msgstr "" + +#: ../../Zotlabs/Module/Events.php:477 +msgid "Finish date and time" +msgstr "" + +#: ../../Zotlabs/Module/Events.php:479 ../../Zotlabs/Module/Events.php:480 +msgid "Adjust for viewer timezone" +msgstr "" + +#: ../../Zotlabs/Module/Events.php:479 +msgid "" +"Important for events that happen in a particular place. Not practical for " +"global holidays." +msgstr "" + +#: ../../Zotlabs/Module/Events.php:481 +msgid "Edit Description" +msgstr "" + +#: ../../Zotlabs/Module/Events.php:483 +msgid "Edit Location" +msgstr "" + +#: ../../Zotlabs/Module/Events.php:486 ../../Zotlabs/Module/Webpages.php:262 +#: ../../Zotlabs/Module/Photos.php:1099 ../../Zotlabs/Lib/ThreadItem.php:835 +#: ../../include/conversation.php:1402 +#: ../../extend/addon/hzaddons/hsse/hsse.php:153 +msgid "Preview" +msgstr "" + +#: ../../Zotlabs/Module/Events.php:487 ../../include/conversation.php:1478 +#: ../../extend/addon/hzaddons/hsse/hsse.php:225 +msgid "Permission settings" +msgstr "" + +#: ../../Zotlabs/Module/Events.php:502 +msgid "Advanced Options" +msgstr "" + +#: ../../Zotlabs/Module/Events.php:613 +msgid "l, F j" +msgstr "" + +#: ../../Zotlabs/Module/Events.php:641 +#: ../../Zotlabs/Module/Channel_calendar.php:371 +msgid "Edit event" +msgstr "" + +#: ../../Zotlabs/Module/Events.php:643 +#: ../../Zotlabs/Module/Channel_calendar.php:373 +msgid "Delete event" +msgstr "" + +#: ../../Zotlabs/Module/Events.php:669 ../../include/text.php:2074 +msgid "Link to Source" +msgstr "" + +#: ../../Zotlabs/Module/Events.php:677 +#: ../../Zotlabs/Module/Channel_calendar.php:407 +msgid "calendar" +msgstr "" + +#: ../../Zotlabs/Module/Events.php:696 +msgid "Edit Event" +msgstr "" + +#: ../../Zotlabs/Module/Events.php:696 +msgid "Create Event" +msgstr "" + +#: ../../Zotlabs/Module/Events.php:699 ../../include/channel.php:1889 +msgid "Export" +msgstr "" + +#: ../../Zotlabs/Module/Events.php:702 ../../Zotlabs/Module/Webpages.php:261 +#: ../../Zotlabs/Module/Layouts.php:198 ../../Zotlabs/Module/Wiki.php:213 +#: ../../Zotlabs/Module/Wiki.php:409 ../../Zotlabs/Module/Blocks.php:166 +#: ../../Zotlabs/Module/Pubsites.php:61 +msgid "View" +msgstr "" + +#: ../../Zotlabs/Module/Events.php:739 +msgid "Event removed" +msgstr "" + +#: ../../Zotlabs/Module/Events.php:742 +#: ../../Zotlabs/Module/Channel_calendar.php:494 +msgid "Failed to remove event" +msgstr "" + +#: ../../Zotlabs/Module/Help.php:23 +msgid "Documentation Search" +msgstr "" + +#: ../../Zotlabs/Module/Help.php:83 ../../include/nav.php:434 +msgid "About" +msgstr "" + +#: ../../Zotlabs/Module/Help.php:84 ../../Zotlabs/Module/Group.php:156 +msgid "Members" +msgstr "" + +#: ../../Zotlabs/Module/Help.php:85 +msgid "Administrators" +msgstr "" + +#: ../../Zotlabs/Module/Help.php:86 +msgid "Developers" +msgstr "" + +#: ../../Zotlabs/Module/Help.php:87 +msgid "Tutorials" +msgstr "" + +#: ../../Zotlabs/Module/Help.php:98 +msgid "$Projectname Documentation" +msgstr "" + +#: ../../Zotlabs/Module/Help.php:99 +msgid "Contents" +msgstr "" + +#: ../../Zotlabs/Module/Bookmarks.php:62 +msgid "Bookmark added" +msgstr "" + +#: ../../Zotlabs/Module/Bookmarks.php:78 +msgid "Bookmarks App" +msgstr "" + +#: ../../Zotlabs/Module/Bookmarks.php:79 +msgid "Bookmark links from posts and manage them" +msgstr "" + +#: ../../Zotlabs/Module/Bookmarks.php:92 +msgid "My Bookmarks" +msgstr "" + +#: ../../Zotlabs/Module/Bookmarks.php:103 +msgid "My Connections Bookmarks" +msgstr "" + +#: ../../Zotlabs/Module/Webpages.php:39 ../../Zotlabs/Module/Layouts.php:31 +#: ../../Zotlabs/Module/Connect.php:17 ../../Zotlabs/Module/Filestorage.php:59 +#: ../../Zotlabs/Module/Blocks.php:33 ../../Zotlabs/Module/Editlayout.php:31 +#: ../../Zotlabs/Module/Achievements.php:15 +#: ../../Zotlabs/Module/Editblock.php:31 ../../Zotlabs/Module/Cards.php:42 +#: ../../Zotlabs/Module/Editwebpage.php:32 ../../Zotlabs/Module/Profile.php:20 +#: ../../Zotlabs/Module/Articles.php:43 ../../Zotlabs/Module/Hcard.php:12 +#: ../../Zotlabs/Module/Menu.php:92 ../../include/channel.php:1439 +#: ../../extend/addon/hzaddons/gallery/Mod_Gallery.php:49 +msgid "Requested profile is not available." +msgstr "" + +#: ../../Zotlabs/Module/Webpages.php:48 +msgid "Webpages App" +msgstr "" + +#: ../../Zotlabs/Module/Webpages.php:49 +msgid "Provide managed web pages on your channel" +msgstr "" + +#: ../../Zotlabs/Module/Webpages.php:69 +msgid "Import Webpage Elements" +msgstr "" + +#: ../../Zotlabs/Module/Webpages.php:70 +msgid "Import selected" +msgstr "" + +#: ../../Zotlabs/Module/Webpages.php:93 +msgid "Export Webpage Elements" +msgstr "" + +#: ../../Zotlabs/Module/Webpages.php:94 +msgid "Export selected" +msgstr "" + +#: ../../Zotlabs/Module/Webpages.php:252 ../../Zotlabs/Lib/Apps.php:341 +#: ../../include/nav.php:524 +msgid "Webpages" +msgstr "" + +#: ../../Zotlabs/Module/Webpages.php:255 ../../Zotlabs/Module/Layouts.php:193 +#: ../../Zotlabs/Module/Group.php:253 ../../Zotlabs/Module/Oauth.php:173 +#: ../../Zotlabs/Module/Card_edit.php:99 ../../Zotlabs/Module/Oauth2.php:194 +#: ../../Zotlabs/Module/Wiki.php:211 ../../Zotlabs/Module/Wiki.php:384 +#: ../../Zotlabs/Module/Blocks.php:160 ../../Zotlabs/Module/Editlayout.php:114 +#: ../../Zotlabs/Module/Editblock.php:114 +#: ../../Zotlabs/Module/Connections.php:320 +#: ../../Zotlabs/Module/Connections.php:362 +#: ../../Zotlabs/Module/Connections.php:382 +#: ../../Zotlabs/Module/Editwebpage.php:142 +#: ../../Zotlabs/Module/Article_edit.php:98 +#: ../../Zotlabs/Module/Admin/Profs.php:175 ../../Zotlabs/Module/Thing.php:268 +#: ../../Zotlabs/Module/Menu.php:176 ../../Zotlabs/Lib/Apps.php:557 +#: ../../Zotlabs/Lib/ThreadItem.php:148 ../../Zotlabs/Widget/Cdav.php:138 +#: ../../Zotlabs/Widget/Cdav.php:175 ../../include/channel.php:1538 +#: ../../include/channel.php:1542 ../../include/menu.php:120 +msgid "Edit" +msgstr "" + +#: ../../Zotlabs/Module/Webpages.php:256 ../../Zotlabs/Module/Layouts.php:194 +#: ../../Zotlabs/Module/Wiki.php:301 ../../Zotlabs/Module/Blocks.php:161 +#: ../../Zotlabs/Module/Photos.php:1078 ../../Zotlabs/Widget/Cdav.php:136 +#: ../../include/conversation.php:1435 +#: ../../extend/addon/hzaddons/hsse/hsse.php:186 +msgid "Share" +msgstr "" + +#: ../../Zotlabs/Module/Webpages.php:263 +msgid "Actions" +msgstr "" + +#: ../../Zotlabs/Module/Webpages.php:264 +msgid "Page Link" +msgstr "" + +#: ../../Zotlabs/Module/Webpages.php:265 +msgid "Page Title" +msgstr "" + +#: ../../Zotlabs/Module/Webpages.php:266 ../../Zotlabs/Module/Layouts.php:191 +#: ../../Zotlabs/Module/Blocks.php:157 ../../Zotlabs/Module/Menu.php:178 +msgid "Created" +msgstr "" + +#: ../../Zotlabs/Module/Webpages.php:267 ../../Zotlabs/Module/Layouts.php:192 +#: ../../Zotlabs/Module/Blocks.php:158 ../../Zotlabs/Module/Menu.php:179 +msgid "Edited" +msgstr "" + +#: ../../Zotlabs/Module/Webpages.php:295 +msgid "Invalid file type." +msgstr "" + +#: ../../Zotlabs/Module/Webpages.php:307 +msgid "Error opening zip file" +msgstr "" + +#: ../../Zotlabs/Module/Webpages.php:318 +msgid "Invalid folder path." +msgstr "" + +#: ../../Zotlabs/Module/Webpages.php:345 +msgid "No webpage elements detected." +msgstr "" + +#: ../../Zotlabs/Module/Webpages.php:420 +msgid "Import complete." +msgstr "" + +#: ../../Zotlabs/Module/Profiles.php:26 ../../Zotlabs/Module/Profiles.php:186 +#: ../../Zotlabs/Module/Profiles.php:243 ../../Zotlabs/Module/Profiles.php:661 +msgid "Profile not found." +msgstr "" + +#: ../../Zotlabs/Module/Profiles.php:46 +msgid "Profile deleted." +msgstr "" + +#: ../../Zotlabs/Module/Profiles.php:70 ../../Zotlabs/Module/Profiles.php:107 +msgid "Profile-" +msgstr "" + +#: ../../Zotlabs/Module/Profiles.php:92 ../../Zotlabs/Module/Profiles.php:129 +msgid "New profile created." +msgstr "" + +#: ../../Zotlabs/Module/Profiles.php:113 +msgid "Profile unavailable to clone." +msgstr "" + +#: ../../Zotlabs/Module/Profiles.php:148 +msgid "Profile unavailable to export." +msgstr "" + +#: ../../Zotlabs/Module/Profiles.php:254 +msgid "Profile Name is required." +msgstr "" + +#: ../../Zotlabs/Module/Profiles.php:461 +msgid "Marital Status" +msgstr "" + +#: ../../Zotlabs/Module/Profiles.php:465 +msgid "Romantic Partner" +msgstr "" + +#: ../../Zotlabs/Module/Profiles.php:469 ../../Zotlabs/Module/Profiles.php:774 +msgid "Likes" +msgstr "" + +#: ../../Zotlabs/Module/Profiles.php:473 ../../Zotlabs/Module/Profiles.php:775 +msgid "Dislikes" +msgstr "" + +#: ../../Zotlabs/Module/Profiles.php:477 ../../Zotlabs/Module/Profiles.php:782 +msgid "Work/Employment" +msgstr "" + +#: ../../Zotlabs/Module/Profiles.php:480 +msgid "Religion" +msgstr "" + +#: ../../Zotlabs/Module/Profiles.php:484 +msgid "Political Views" +msgstr "" + +#: ../../Zotlabs/Module/Profiles.php:488 +#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:74 +msgid "Gender" +msgstr "" + +#: ../../Zotlabs/Module/Profiles.php:492 +msgid "Sexual Preference" +msgstr "" + +#: ../../Zotlabs/Module/Profiles.php:496 +msgid "Homepage" +msgstr "" + +#: ../../Zotlabs/Module/Profiles.php:500 +msgid "Interests" +msgstr "" + +#: ../../Zotlabs/Module/Profiles.php:596 +msgid "Profile updated." +msgstr "" + +#: ../../Zotlabs/Module/Profiles.php:680 +msgid "Hide your connections list from viewers of this profile" +msgstr "" + +#: ../../Zotlabs/Module/Profiles.php:724 +msgid "Edit Profile Details" +msgstr "" + +#: ../../Zotlabs/Module/Profiles.php:726 +msgid "View this profile" +msgstr "" + +#: ../../Zotlabs/Module/Profiles.php:727 ../../Zotlabs/Module/Profiles.php:826 +#: ../../include/channel.php:1561 +msgid "Edit visibility" +msgstr "" + +#: ../../Zotlabs/Module/Profiles.php:728 +msgid "Profile Tools" +msgstr "" + +#: ../../Zotlabs/Module/Profiles.php:729 +msgid "Change cover photo" +msgstr "" + +#: ../../Zotlabs/Module/Profiles.php:730 ../../include/channel.php:1531 +msgid "Change profile photo" +msgstr "" + +#: ../../Zotlabs/Module/Profiles.php:731 +msgid "Create a new profile using these settings" +msgstr "" + +#: ../../Zotlabs/Module/Profiles.php:732 +msgid "Clone this profile" +msgstr "" + +#: ../../Zotlabs/Module/Profiles.php:733 +msgid "Delete this profile" +msgstr "" + +#: ../../Zotlabs/Module/Profiles.php:734 +msgid "Add profile things" +msgstr "" + +#: ../../Zotlabs/Module/Profiles.php:735 +msgid "Personal" +msgstr "" + +#: ../../Zotlabs/Module/Profiles.php:737 +msgid "Relationship" +msgstr "" + +#: ../../Zotlabs/Module/Profiles.php:738 ../../Zotlabs/Widget/Newmember.php:51 +#: ../../include/datetime.php:58 +msgid "Miscellaneous" +msgstr "" + +#: ../../Zotlabs/Module/Profiles.php:740 +msgid "Import profile from file" +msgstr "" + +#: ../../Zotlabs/Module/Profiles.php:741 +msgid "Export profile to file" +msgstr "" + +#: ../../Zotlabs/Module/Profiles.php:742 +msgid "Your gender" +msgstr "" + +#: ../../Zotlabs/Module/Profiles.php:743 +msgid "Marital status" +msgstr "" + +#: ../../Zotlabs/Module/Profiles.php:744 +msgid "Sexual preference" +msgstr "" + +#: ../../Zotlabs/Module/Profiles.php:747 +msgid "Profile name" +msgstr "" + +#: ../../Zotlabs/Module/Profiles.php:749 +msgid "This is your default profile." +msgstr "" + +#: ../../Zotlabs/Module/Profiles.php:751 +msgid "Your full name" +msgstr "" + +#: ../../Zotlabs/Module/Profiles.php:752 +msgid "Short title/tescription" +msgstr "" + +#: ../../Zotlabs/Module/Profiles.php:752 +msgid "Maximal 190 characters" +msgstr "" + +#: ../../Zotlabs/Module/Profiles.php:755 +msgid "Street address" +msgstr "" + +#: ../../Zotlabs/Module/Profiles.php:756 +msgid "Locality/City" +msgstr "" + +#: ../../Zotlabs/Module/Profiles.php:757 +msgid "Region/State" +msgstr "" + +#: ../../Zotlabs/Module/Profiles.php:758 +msgid "Postal/Zip code" +msgstr "" + +#: ../../Zotlabs/Module/Profiles.php:764 +msgid "Who (if applicable)" +msgstr "" + +#: ../../Zotlabs/Module/Profiles.php:764 +msgid "Examples: cathy123, Cathy Williams, cathy@example.com" +msgstr "" + +#: ../../Zotlabs/Module/Profiles.php:765 +msgid "Since (date)" +msgstr "" + +#: ../../Zotlabs/Module/Profiles.php:768 +msgid "Tell us about yourself" +msgstr "" + +#: ../../Zotlabs/Module/Profiles.php:769 +#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:68 +msgid "Homepage URL" +msgstr "" + +#: ../../Zotlabs/Module/Profiles.php:770 +msgid "Hometown" +msgstr "" + +#: ../../Zotlabs/Module/Profiles.php:771 +msgid "Political views" +msgstr "" + +#: ../../Zotlabs/Module/Profiles.php:772 +msgid "Religious views" +msgstr "" + +#: ../../Zotlabs/Module/Profiles.php:773 +msgid "Keywords used in directory listings" +msgstr "" + +#: ../../Zotlabs/Module/Profiles.php:773 +msgid "Example: fishing photography software" +msgstr "" + +#: ../../Zotlabs/Module/Profiles.php:776 +msgid "Musical interests" +msgstr "" + +#: ../../Zotlabs/Module/Profiles.php:777 +msgid "Books, literature" +msgstr "" + +#: ../../Zotlabs/Module/Profiles.php:778 +msgid "Television" +msgstr "" + +#: ../../Zotlabs/Module/Profiles.php:779 +msgid "Film/Dance/Culture/Entertainment" +msgstr "" + +#: ../../Zotlabs/Module/Profiles.php:780 +msgid "Hobbies/Interests" +msgstr "" + +#: ../../Zotlabs/Module/Profiles.php:781 +msgid "Love/Romance" +msgstr "" + +#: ../../Zotlabs/Module/Profiles.php:783 +msgid "School/Education" +msgstr "" + +#: ../../Zotlabs/Module/Profiles.php:784 +msgid "Contact information and social networks" +msgstr "" + +#: ../../Zotlabs/Module/Profiles.php:785 +msgid "My other channels" +msgstr "" + +#: ../../Zotlabs/Module/Profiles.php:787 +msgid "Communications" +msgstr "" + +#: ../../Zotlabs/Module/Profiles.php:822 ../../include/channel.php:1557 +msgid "Profile Image" +msgstr "" + +#: ../../Zotlabs/Module/Profiles.php:832 ../../include/channel.php:1538 +#: ../../include/nav.php:115 +msgid "Edit Profiles" +msgstr "" + +#: ../../Zotlabs/Module/Profiles.php:833 ../../Zotlabs/Module/Wiki.php:214 +#: ../../Zotlabs/Module/Manage.php:145 ../../Zotlabs/Module/Chat.php:262 +msgid "Create New" +msgstr "" + +#: ../../Zotlabs/Module/Import.php:68 ../../Zotlabs/Module/Import_items.php:48 +msgid "Nothing to import." +msgstr "" + +#: ../../Zotlabs/Module/Import.php:83 ../../Zotlabs/Module/Import.php:99 +#: ../../Zotlabs/Module/Import_items.php:72 +msgid "Unable to download data from old server" +msgstr "" + +#: ../../Zotlabs/Module/Import.php:106 ../../Zotlabs/Module/Import_items.php:77 +msgid "Imported file is empty." +msgstr "" + +#: ../../Zotlabs/Module/Import.php:162 +#, php-format +msgid "Your service plan only allows %d channels." +msgstr "" + +#: ../../Zotlabs/Module/Import.php:189 +msgid "No channel. Import failed." +msgstr "" + +#: ../../Zotlabs/Module/Import.php:593 +#: ../../extend/addon/hzaddons/diaspora/import_diaspora.php:142 +msgid "Import completed." +msgstr "" + +#: ../../Zotlabs/Module/Import.php:621 +msgid "You must be logged in to use this feature." +msgstr "" + +#: ../../Zotlabs/Module/Import.php:626 +msgid "Import Channel" +msgstr "" + +#: ../../Zotlabs/Module/Import.php:627 +msgid "" +"Use this form to import an existing channel from a different server/hub. You " +"may retrieve the channel identity from the old server/hub via the network or " +"provide an export file." +msgstr "" + +#: ../../Zotlabs/Module/Import.php:628 +#: ../../Zotlabs/Module/Import_items.php:127 +msgid "File to Upload" +msgstr "" + +#: ../../Zotlabs/Module/Import.php:629 +msgid "Or provide the old server/hub details" +msgstr "" + +#: ../../Zotlabs/Module/Import.php:631 +msgid "Your old identity address (xyz@example.com)" +msgstr "" + +#: ../../Zotlabs/Module/Import.php:632 +msgid "Your old login email address" +msgstr "" + +#: ../../Zotlabs/Module/Import.php:633 +msgid "Your old login password" +msgstr "" + +#: ../../Zotlabs/Module/Import.php:634 +msgid "Import a few months of posts if possible (limited by available memory" +msgstr "" + +#: ../../Zotlabs/Module/Import.php:636 +msgid "" +"For either option, please choose whether to make this hub your new primary " +"address, or whether your old location should continue this role. You will be " +"able to post from either location, but only one can be marked as the primary " +"location for files, photos, and media." +msgstr "" + +#: ../../Zotlabs/Module/Import.php:638 +msgid "Make this hub my primary location" +msgstr "" + +#: ../../Zotlabs/Module/Import.php:639 +msgid "Move this channel (disable all previous locations)" +msgstr "" + +#: ../../Zotlabs/Module/Import.php:640 +msgid "Use this channel nickname instead of the one provided" +msgstr "" + +#: ../../Zotlabs/Module/Import.php:640 +msgid "" +"Leave blank to keep your existing channel nickname. You will be randomly " +"assigned a similar nickname if either name is already allocated on this site." +msgstr "" + +#: ../../Zotlabs/Module/Import.php:642 +msgid "" +"This process may take several minutes to complete. Please submit the form " +"only once and leave this page open until finished." +msgstr "" + +#: ../../Zotlabs/Module/Like.php:93 +msgid "Like/Dislike" +msgstr "" + +#: ../../Zotlabs/Module/Like.php:98 +msgid "This action is restricted to members." +msgstr "" + +#: ../../Zotlabs/Module/Like.php:99 +msgid "" +"Please <a href=\"rmagic\">login with your $Projectname ID</a> or <a href=" +"\"register\">register as a new $Projectname member</a> to continue." +msgstr "" + +#: ../../Zotlabs/Module/Like.php:154 ../../Zotlabs/Module/Like.php:180 +#: ../../Zotlabs/Module/Like.php:218 +msgid "Invalid request." +msgstr "" + +#: ../../Zotlabs/Module/Like.php:166 ../../include/conversation.php:135 +msgid "channel" +msgstr "" + +#: ../../Zotlabs/Module/Like.php:195 +msgid "thing" +msgstr "" + +#: ../../Zotlabs/Module/Like.php:241 +msgid "Channel unavailable." +msgstr "" + +#: ../../Zotlabs/Module/Like.php:277 +msgid "Previous action reversed." +msgstr "" + +#: ../../Zotlabs/Module/Like.php:433 ../../Zotlabs/Module/Tagger.php:71 +#: ../../Zotlabs/Module/Subthread.php:112 ../../Zotlabs/Lib/Activity.php:2971 +#: ../../include/conversation.php:128 ../../include/text.php:2252 +#: ../../extend/addon/hzaddons/diaspora/Receiver.php:1597 +#: ../../extend/addon/hzaddons/pubcrawl/as.php:1895 +#: ../../extend/addon/hzaddons/redphotos/redphotohelper.php:71 +msgid "photo" +msgstr "" + +#: ../../Zotlabs/Module/Like.php:433 ../../Zotlabs/Module/Subthread.php:112 +#: ../../extend/addon/hzaddons/diaspora/Receiver.php:1597 +#: ../../extend/addon/hzaddons/pubcrawl/as.php:1895 +msgid "status" +msgstr "" + +#: ../../Zotlabs/Module/Like.php:469 ../../Zotlabs/Lib/Activity.php:3006 +#: ../../include/conversation.php:174 +#: ../../extend/addon/hzaddons/diaspora/Receiver.php:1537 +#: ../../extend/addon/hzaddons/pubcrawl/as.php:1932 +#, php-format +msgid "%1$s likes %2$s's %3$s" +msgstr "" + +#: ../../Zotlabs/Module/Like.php:471 ../../Zotlabs/Lib/Activity.php:3008 +#: ../../include/conversation.php:177 +#: ../../extend/addon/hzaddons/pubcrawl/as.php:1934 +#, php-format +msgid "%1$s doesn't like %2$s's %3$s" +msgstr "" + +#: ../../Zotlabs/Module/Like.php:473 +#, php-format +msgid "%1$s agrees with %2$s's %3$s" +msgstr "" + +#: ../../Zotlabs/Module/Like.php:475 +#, php-format +msgid "%1$s doesn't agree with %2$s's %3$s" +msgstr "" + +#: ../../Zotlabs/Module/Like.php:477 +#, php-format +msgid "%1$s abstains from a decision on %2$s's %3$s" +msgstr "" + +#: ../../Zotlabs/Module/Like.php:479 +#: ../../extend/addon/hzaddons/diaspora/Receiver.php:2184 +#, php-format +msgid "%1$s is attending %2$s's %3$s" +msgstr "" + +#: ../../Zotlabs/Module/Like.php:481 +#: ../../extend/addon/hzaddons/diaspora/Receiver.php:2186 +#, php-format +msgid "%1$s is not attending %2$s's %3$s" +msgstr "" + +#: ../../Zotlabs/Module/Like.php:483 +#: ../../extend/addon/hzaddons/diaspora/Receiver.php:2188 +#, php-format +msgid "%1$s may attend %2$s's %3$s" +msgstr "" + +#: ../../Zotlabs/Module/Like.php:592 +msgid "Action completed." +msgstr "" + +#: ../../Zotlabs/Module/Like.php:593 +msgid "Thank you." +msgstr "" + +#: ../../Zotlabs/Module/Defperms.php:68 ../../Zotlabs/Module/Connedit.php:89 +msgid "Could not access contact record." +msgstr "" + +#: ../../Zotlabs/Module/Defperms.php:112 +#: ../../Zotlabs/Module/Settings/Channel.php:267 +#: ../../extend/addon/hzaddons/msgfooter/msgfooter.php:54 +#: ../../extend/addon/hzaddons/piwik/piwik.php:116 +#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:82 +#: ../../extend/addon/hzaddons/diaspora/diaspora.php:93 +#: ../../extend/addon/hzaddons/openstreetmap/openstreetmap.php:171 +#: ../../extend/addon/hzaddons/xmpp/xmpp.php:54 +#: ../../extend/addon/hzaddons/twitter/twitter.php:494 +#: ../../extend/addon/hzaddons/logrot/logrot.php:54 +msgid "Settings updated." +msgstr "" + +#: ../../Zotlabs/Module/Defperms.php:190 +msgid "Default Permissions App" +msgstr "" + +#: ../../Zotlabs/Module/Defperms.php:191 +msgid "Set custom default permissions for new connections" +msgstr "" + +#: ../../Zotlabs/Module/Defperms.php:255 ../../Zotlabs/Module/Connedit.php:859 +msgid "Connection Default Permissions" +msgstr "" + +#: ../../Zotlabs/Module/Defperms.php:256 ../../Zotlabs/Module/Connedit.php:860 +msgid "Apply these permissions automatically" +msgstr "" + +#: ../../Zotlabs/Module/Defperms.php:256 +#: ../../Zotlabs/Module/Settings/Channel.php:472 +msgid "" +"If enabled, connection requests will be approved without your interaction" +msgstr "" + +#: ../../Zotlabs/Module/Defperms.php:257 ../../Zotlabs/Module/Connedit.php:861 +msgid "Permission role" +msgstr "" + +#: ../../Zotlabs/Module/Defperms.php:257 +#: ../../Zotlabs/Module/New_channel.php:157 +#: ../../Zotlabs/Module/New_channel.php:164 +#: ../../Zotlabs/Module/Connedit.php:861 +#: ../../Zotlabs/Widget/Notifications.php:182 ../../include/nav.php:324 +msgid "Loading" +msgstr "" + +#: ../../Zotlabs/Module/Defperms.php:258 ../../Zotlabs/Module/Connedit.php:862 +msgid "Add permission role" +msgstr "" + +#: ../../Zotlabs/Module/Defperms.php:262 ../../Zotlabs/Module/Connedit.php:875 +msgid "" +"The permissions indicated on this page will be applied to all new " +"connections." +msgstr "" + +#: ../../Zotlabs/Module/Defperms.php:263 +msgid "Automatic approval settings" +msgstr "" + +#: ../../Zotlabs/Module/Defperms.php:265 ../../Zotlabs/Module/Connedit.php:895 +#: ../../Zotlabs/Module/Tokens.php:183 ../../Zotlabs/Module/Permcats.php:124 +msgid "inherited" +msgstr "" + +#: ../../Zotlabs/Module/Defperms.php:267 ../../Zotlabs/Module/Connedit.php:900 +#: ../../Zotlabs/Module/Tokens.php:181 ../../Zotlabs/Module/Permcats.php:122 +msgid "My Settings" +msgstr "" + +#: ../../Zotlabs/Module/Defperms.php:270 ../../Zotlabs/Module/Connedit.php:902 +#: ../../Zotlabs/Module/Tokens.php:186 ../../Zotlabs/Module/Permcats.php:127 +msgid "Individual Permissions" +msgstr "" + +#: ../../Zotlabs/Module/Defperms.php:271 +msgid "" +"Some individual permissions may have been preset or locked based on your " +"channel type and privacy settings." +msgstr "" + +#: ../../Zotlabs/Module/Layouts.php:129 ../../Zotlabs/Module/Layouts.php:189 +#: ../../Zotlabs/Module/Editlayout.php:128 +msgid "Layout Name" +msgstr "" + +#: ../../Zotlabs/Module/Layouts.php:132 ../../Zotlabs/Module/Editlayout.php:129 +msgid "Layout Description (Optional)" +msgstr "" + +#: ../../Zotlabs/Module/Layouts.php:184 ../../include/text.php:2700 +msgid "Layouts" +msgstr "" + +#: ../../Zotlabs/Module/Layouts.php:186 ../../Zotlabs/Lib/Apps.php:348 +#: ../../include/nav.php:174 ../../include/nav.php:320 +#: ../../include/help.php:117 ../../include/help.php:125 +msgid "Help" +msgstr "" + +#: ../../Zotlabs/Module/Layouts.php:186 +msgid "Comanche page description language help" +msgstr "" + +#: ../../Zotlabs/Module/Layouts.php:190 +msgid "Layout Description" +msgstr "" + +#: ../../Zotlabs/Module/Layouts.php:195 +msgid "Download PDL file" +msgstr "" + +#: ../../Zotlabs/Module/Pubstream.php:20 +msgid "Public Stream App" +msgstr "" + +#: ../../Zotlabs/Module/Pubstream.php:21 +msgid "The unmoderated public stream of this hub" +msgstr "" + +#: ../../Zotlabs/Module/Pubstream.php:95 ../../Zotlabs/Module/Display.php:76 +#: ../../Zotlabs/Module/Channel.php:224 ../../Zotlabs/Module/Hq.php:125 +#: ../../Zotlabs/Module/Network.php:205 +msgid "Reset form" +msgstr "" + +#: ../../Zotlabs/Module/Pubstream.php:105 ../../Zotlabs/Lib/Apps.php:375 +#: ../../Zotlabs/Widget/Notifications.php:162 +msgid "Public Stream" +msgstr "" + +#: ../../Zotlabs/Module/Sse_bs.php:540 ../../Zotlabs/Module/Ping.php:672 +msgid "Private forum" +msgstr "" + +#: ../../Zotlabs/Module/Sse_bs.php:540 ../../Zotlabs/Module/Ping.php:672 +msgid "Public forum" +msgstr "" + +#: ../../Zotlabs/Module/Group.php:46 +msgid "Privacy group created." +msgstr "" + +#: ../../Zotlabs/Module/Group.php:49 +msgid "Could not create privacy group." +msgstr "" + +#: ../../Zotlabs/Module/Group.php:62 ../../Zotlabs/Module/Group.php:214 +#: ../../include/items.php:4491 +msgid "Privacy group not found." +msgstr "" + +#: ../../Zotlabs/Module/Group.php:81 +msgid "Privacy group updated." +msgstr "" + +#: ../../Zotlabs/Module/Group.php:107 +msgid "Privacy Groups App" +msgstr "" + +#: ../../Zotlabs/Module/Group.php:108 +msgid "Management of privacy groups" +msgstr "" + +#: ../../Zotlabs/Module/Group.php:142 ../../Zotlabs/Module/Group.php:154 +#: ../../Zotlabs/Lib/Group.php:324 ../../Zotlabs/Lib/Apps.php:364 +#: ../../Zotlabs/Widget/Activity_filter.php:82 ../../include/group.php:321 +#: ../../include/acl_selectors.php:86 ../../include/nav.php:101 +msgid "Privacy Groups" +msgstr "" + +#: ../../Zotlabs/Module/Group.php:143 +msgid "Add Group" +msgstr "" + +#: ../../Zotlabs/Module/Group.php:147 +msgid "Privacy group name" +msgstr "" + +#: ../../Zotlabs/Module/Group.php:148 ../../Zotlabs/Module/Group.php:257 +msgid "Members are visible to other channels" +msgstr "" + +#: ../../Zotlabs/Module/Group.php:183 +msgid "Privacy group removed." +msgstr "" + +#: ../../Zotlabs/Module/Group.php:186 +msgid "Unable to remove privacy group." +msgstr "" + +#: ../../Zotlabs/Module/Group.php:252 +#, php-format +msgid "Privacy Group: %s" +msgstr "" + +#: ../../Zotlabs/Module/Group.php:254 +msgid "Privacy group name: " +msgstr "" + +#: ../../Zotlabs/Module/Group.php:259 +msgid "Delete Group" +msgstr "" + +#: ../../Zotlabs/Module/Group.php:270 +msgid "Group members" +msgstr "" + +#: ../../Zotlabs/Module/Group.php:272 +msgid "Not in this group" +msgstr "" + +#: ../../Zotlabs/Module/Group.php:304 +msgid "Click a channel to toggle membership" +msgstr "" + +#: ../../Zotlabs/Module/Removeme.php:35 +msgid "" +"Channel removals are not allowed within 48 hours of changing the account " +"password." +msgstr "" + +#: ../../Zotlabs/Module/Removeme.php:60 +msgid "Remove This Channel" +msgstr "" + +#: ../../Zotlabs/Module/Removeme.php:61 ../../Zotlabs/Module/Changeaddr.php:78 +#: ../../Zotlabs/Module/Removeaccount.php:58 +msgid "WARNING: " +msgstr "" + +#: ../../Zotlabs/Module/Removeme.php:61 +msgid "This channel will be completely removed from the network. " +msgstr "" + +#: ../../Zotlabs/Module/Removeme.php:61 +#: ../../Zotlabs/Module/Removeaccount.php:58 +msgid "This action is permanent and can not be undone!" +msgstr "" + +#: ../../Zotlabs/Module/Removeme.php:62 ../../Zotlabs/Module/Changeaddr.php:79 +#: ../../Zotlabs/Module/Removeaccount.php:59 +msgid "Please enter your password for verification:" +msgstr "" + +#: ../../Zotlabs/Module/Removeme.php:64 +#: ../../Zotlabs/Module/Settings/Channel.php:596 +msgid "Remove Channel" +msgstr "" + +#: ../../Zotlabs/Module/Appman.php:39 ../../Zotlabs/Module/Appman.php:56 +msgid "App installed." +msgstr "" + +#: ../../Zotlabs/Module/Appman.php:49 +msgid "Malformed app." +msgstr "" + +#: ../../Zotlabs/Module/Appman.php:132 +msgid "Embed code" +msgstr "" + +#: ../../Zotlabs/Module/Appman.php:138 +msgid "Edit App" +msgstr "" + +#: ../../Zotlabs/Module/Appman.php:138 +msgid "Create App" +msgstr "" + +#: ../../Zotlabs/Module/Appman.php:143 +msgid "Name of app" +msgstr "" + +#: ../../Zotlabs/Module/Appman.php:144 +msgid "Location (URL) of app" +msgstr "" + +#: ../../Zotlabs/Module/Appman.php:146 +msgid "Photo icon URL" +msgstr "" + +#: ../../Zotlabs/Module/Appman.php:146 +msgid "80 x 80 pixels - optional" +msgstr "" + +#: ../../Zotlabs/Module/Appman.php:147 +msgid "Categories (optional, comma separated list)" +msgstr "" + +#: ../../Zotlabs/Module/Appman.php:148 +msgid "Version ID" +msgstr "" + +#: ../../Zotlabs/Module/Appman.php:149 +msgid "Price of app" +msgstr "" + +#: ../../Zotlabs/Module/Appman.php:150 +msgid "Location (URL) to purchase app" +msgstr "" + +#: ../../Zotlabs/Module/Changeaddr.php:35 +msgid "" +"Channel name changes are not allowed within 48 hours of changing the account " +"password." +msgstr "" + +#: ../../Zotlabs/Module/Changeaddr.php:46 ../../include/channel.php:225 +#: ../../include/channel.php:706 +msgid "Reserved nickname. Please choose another." +msgstr "" + +#: ../../Zotlabs/Module/Changeaddr.php:51 ../../include/channel.php:230 +#: ../../include/channel.php:711 +msgid "" +"Nickname has unsupported characters or is already being used on this site." +msgstr "" + +#: ../../Zotlabs/Module/Changeaddr.php:77 +msgid "Change channel nickname/address" +msgstr "" + +#: ../../Zotlabs/Module/Changeaddr.php:78 +msgid "Any/all connections on other networks will be lost!" +msgstr "" + +#: ../../Zotlabs/Module/Changeaddr.php:80 +msgid "New channel address" +msgstr "" + +#: ../../Zotlabs/Module/Changeaddr.php:81 +msgid "Rename Channel" +msgstr "" + +#: ../../Zotlabs/Module/Oauth.php:45 +msgid "Name is required" +msgstr "" + +#: ../../Zotlabs/Module/Oauth.php:49 +msgid "Key and Secret are required" +msgstr "" + +#: ../../Zotlabs/Module/Oauth.php:100 +msgid "OAuth Apps Manager App" +msgstr "" + +#: ../../Zotlabs/Module/Oauth.php:101 +msgid "OAuth authentication tokens for mobile and remote apps" +msgstr "" + +#: ../../Zotlabs/Module/Oauth.php:110 ../../Zotlabs/Module/Oauth.php:136 +#: ../../Zotlabs/Module/Oauth.php:172 ../../Zotlabs/Module/Oauth2.php:143 +#: ../../Zotlabs/Module/Oauth2.php:193 +msgid "Add application" +msgstr "" + +#: ../../Zotlabs/Module/Oauth.php:113 ../../Zotlabs/Module/Oauth2.php:118 +#: ../../Zotlabs/Module/Oauth2.php:146 +msgid "Name of application" +msgstr "" + +#: ../../Zotlabs/Module/Oauth.php:114 ../../Zotlabs/Module/Oauth.php:140 +#: ../../extend/addon/hzaddons/statusnet/statusnet.php:596 +#: ../../extend/addon/hzaddons/twitter/twitter.php:505 +msgid "Consumer Key" +msgstr "" + +#: ../../Zotlabs/Module/Oauth.php:114 ../../Zotlabs/Module/Oauth.php:115 +#: ../../Zotlabs/Module/Oauth2.php:119 ../../Zotlabs/Module/Oauth2.php:147 +msgid "Automatically generated - change if desired. Max length 20" +msgstr "" + +#: ../../Zotlabs/Module/Oauth.php:115 ../../Zotlabs/Module/Oauth.php:141 +#: ../../Zotlabs/Module/Oauth2.php:119 ../../Zotlabs/Module/Oauth2.php:147 +#: ../../extend/addon/hzaddons/statusnet/statusnet.php:595 +#: ../../extend/addon/hzaddons/twitter/twitter.php:506 +msgid "Consumer Secret" +msgstr "" + +#: ../../Zotlabs/Module/Oauth.php:116 ../../Zotlabs/Module/Oauth.php:142 +#: ../../Zotlabs/Module/Oauth2.php:120 ../../Zotlabs/Module/Oauth2.php:148 +msgid "Redirect" +msgstr "" + +#: ../../Zotlabs/Module/Oauth.php:116 ../../Zotlabs/Module/Oauth2.php:120 +#: ../../Zotlabs/Module/Oauth2.php:148 +msgid "" +"Redirect URI - leave blank unless your application specifically requires this" +msgstr "" + +#: ../../Zotlabs/Module/Oauth.php:117 ../../Zotlabs/Module/Oauth.php:143 +msgid "Icon url" +msgstr "" + +#: ../../Zotlabs/Module/Oauth.php:117 ../../Zotlabs/Module/Sources.php:123 +#: ../../Zotlabs/Module/Sources.php:158 +msgid "Optional" +msgstr "" + +#: ../../Zotlabs/Module/Oauth.php:128 +msgid "Application not found." +msgstr "" + +#: ../../Zotlabs/Module/Oauth.php:171 +msgid "Connected OAuth Apps" +msgstr "" + +#: ../../Zotlabs/Module/Oauth.php:175 ../../Zotlabs/Module/Oauth2.php:196 +msgid "Client key starts with" +msgstr "" + +#: ../../Zotlabs/Module/Oauth.php:176 ../../Zotlabs/Module/Oauth2.php:197 +msgid "No name" +msgstr "" + +#: ../../Zotlabs/Module/Oauth.php:177 ../../Zotlabs/Module/Oauth2.php:198 +msgid "Remove authorization" +msgstr "" + +#: ../../Zotlabs/Module/Email_resend.php:12 +#: ../../Zotlabs/Module/Email_validation.php:24 +msgid "Token verification failed." +msgstr "" + +#: ../../Zotlabs/Module/Email_resend.php:30 +msgid "Email verification resent" +msgstr "" + +#: ../../Zotlabs/Module/Email_resend.php:33 +msgid "Unable to resend email verification message." +msgstr "" + +#: ../../Zotlabs/Module/Search.php:17 +#: ../../Zotlabs/Module/Viewconnections.php:23 +#: ../../Zotlabs/Module/Display.php:26 ../../Zotlabs/Module/Photos.php:519 +#: ../../Zotlabs/Module/Directory.php:73 ../../Zotlabs/Module/Directory.php:78 +#: ../../Zotlabs/Module/Ratings.php:83 +msgid "Public access denied." +msgstr "" + +#: ../../Zotlabs/Module/Search.php:41 ../../Zotlabs/Module/Connections.php:378 +#: ../../Zotlabs/Lib/Apps.php:353 ../../Zotlabs/Widget/Sitesearch.php:31 +#: ../../Zotlabs/Widget/Activity_filter.php:193 ../../include/text.php:1150 +#: ../../include/text.php:1162 ../../include/acl_selectors.php:148 +#: ../../include/nav.php:188 +msgid "Search" +msgstr "" + +#: ../../Zotlabs/Module/Search.php:222 +#, php-format +msgid "Items tagged with: %s" +msgstr "" + +#: ../../Zotlabs/Module/Search.php:224 +#, php-format +msgid "Search results for: %s" +msgstr "" + +#: ../../Zotlabs/Module/Moderate.php:67 +msgid "Comment approved" +msgstr "" + +#: ../../Zotlabs/Module/Moderate.php:71 +msgid "Comment deleted" +msgstr "" + +#: ../../Zotlabs/Module/Rpost.php:150 ../../Zotlabs/Module/Editpost.php:109 +msgid "Edit post" +msgstr "" + +#: ../../Zotlabs/Module/Oexchange.php:27 +msgid "Unable to find your hub." +msgstr "" + +#: ../../Zotlabs/Module/Oexchange.php:41 +msgid "Post successful." +msgstr "" + +#: ../../Zotlabs/Module/Chanview.php:95 ../../Zotlabs/Module/Card_edit.php:44 +#: ../../Zotlabs/Module/Wall_upload.php:31 ../../Zotlabs/Module/Page.php:75 +#: ../../Zotlabs/Module/Block.php:41 ../../Zotlabs/Module/Article_edit.php:44 +#: ../../Zotlabs/Module/Attach.php:21 ../../Zotlabs/Module/Cal.php:31 +#: ../../Zotlabs/Module/Attach_edit.php:52 +msgid "Channel not found." +msgstr "" + +#: ../../Zotlabs/Module/Chanview.php:132 +msgid "toggle full screen mode" +msgstr "" + +#: ../../Zotlabs/Module/Tagger.php:50 +msgid "Post not found." +msgstr "" + +#: ../../Zotlabs/Module/Tagger.php:79 ../../Zotlabs/Lib/Activity.php:2971 +#: ../../include/conversation.php:158 ../../include/text.php:2258 +#: ../../include/markdown.php:204 ../../include/bbcode.php:523 +msgid "post" +msgstr "" + +#: ../../Zotlabs/Module/Tagger.php:81 ../../include/conversation.php:160 +#: ../../include/text.php:2260 +msgid "comment" +msgstr "" + +#: ../../Zotlabs/Module/Tagger.php:121 +#, php-format +msgid "%1$s tagged %2$s's %3$s with %4$s" +msgstr "" + +#: ../../Zotlabs/Module/Import_items.php:93 +#, php-format +msgid "Warning: Database versions differ by %1$d updates." +msgstr "" + +#: ../../Zotlabs/Module/Import_items.php:108 +msgid "Import completed" +msgstr "" + +#: ../../Zotlabs/Module/Import_items.php:125 +msgid "Import Items" +msgstr "" + +#: ../../Zotlabs/Module/Import_items.php:126 +msgid "Use this form to import existing posts and content from an export file." +msgstr "" + +#: ../../Zotlabs/Module/Connect.php:65 ../../Zotlabs/Module/Connect.php:118 +msgid "Continue" +msgstr "" + +#: ../../Zotlabs/Module/Connect.php:99 +msgid "Premium Channel Setup" +msgstr "" + +#: ../../Zotlabs/Module/Connect.php:101 +msgid "Enable premium channel connection restrictions" +msgstr "" + +#: ../../Zotlabs/Module/Connect.php:102 +msgid "" +"Please enter your restrictions or conditions, such as paypal receipt, usage " +"guidelines, etc." +msgstr "" + +#: ../../Zotlabs/Module/Connect.php:104 ../../Zotlabs/Module/Connect.php:124 +msgid "" +"This channel may require additional steps or acknowledgement of the " +"following conditions prior to connecting:" +msgstr "" + +#: ../../Zotlabs/Module/Connect.php:105 +msgid "" +"Potential connections will then see the following text before proceeding:" +msgstr "" + +#: ../../Zotlabs/Module/Connect.php:106 ../../Zotlabs/Module/Connect.php:127 +msgid "" +"By continuing, I certify that I have complied with any instructions provided " +"on this page." +msgstr "" + +#: ../../Zotlabs/Module/Connect.php:115 +msgid "(No specific instructions have been provided by the channel owner.)" +msgstr "" + +#: ../../Zotlabs/Module/Connect.php:123 +msgid "Restricted or Premium Channel" +msgstr "" + +#: ../../Zotlabs/Module/New_channel.php:147 ../../Zotlabs/Module/Manage.php:138 +#, php-format +msgid "You have created %1$.0f of %2$.0f allowed channels." +msgstr "" + +#: ../../Zotlabs/Module/New_channel.php:159 +msgid "Your real name is recommended." +msgstr "" + +#: ../../Zotlabs/Module/New_channel.php:160 +msgid "" +"Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"Aviation " +"Group\"" +msgstr "" + +#: ../../Zotlabs/Module/New_channel.php:165 +msgid "" +"This will be used to create a unique network address (like an email address)." +msgstr "" + +#: ../../Zotlabs/Module/New_channel.php:167 +msgid "Allowed characters are a-z 0-9, - and _" +msgstr "" + +#: ../../Zotlabs/Module/New_channel.php:175 +msgid "Channel name" +msgstr "" + +#: ../../Zotlabs/Module/New_channel.php:177 +#: ../../Zotlabs/Module/Register.php:263 +msgid "Choose a short nickname" +msgstr "" + +#: ../../Zotlabs/Module/New_channel.php:178 +#: ../../Zotlabs/Module/Register.php:264 +#: ../../Zotlabs/Module/Settings/Channel.php:537 +msgid "Channel role and privacy" +msgstr "" + +#: ../../Zotlabs/Module/New_channel.php:178 +msgid "" +"Select a channel permission role compatible with your usage needs and " +"privacy requirements." +msgstr "" + +#: ../../Zotlabs/Module/New_channel.php:178 +#: ../../Zotlabs/Module/Register.php:264 +msgid "Read more about channel permission roles" +msgstr "" + +#: ../../Zotlabs/Module/New_channel.php:181 +msgid "Create a Channel" +msgstr "" + +#: ../../Zotlabs/Module/New_channel.php:182 +msgid "" +"A channel is a unique network identity. It can represent a person (social " +"network profile), a forum (group), a business or celebrity page, a newsfeed, " +"and many other things." +msgstr "" + +#: ../../Zotlabs/Module/New_channel.php:183 +msgid "" +"or <a href=\"import\">import an existing channel</a> from another location." +msgstr "" + +#: ../../Zotlabs/Module/New_channel.php:188 +msgid "Validate" +msgstr "" + +#: ../../Zotlabs/Module/Apps.php:50 ../../Zotlabs/Widget/Appstore.php:14 +msgid "Available Apps" +msgstr "" + +#: ../../Zotlabs/Module/Apps.php:50 +msgid "Installed Apps" +msgstr "" + +#: ../../Zotlabs/Module/Apps.php:53 +msgid "Manage Apps" +msgstr "" + +#: ../../Zotlabs/Module/Apps.php:54 +msgid "Create Custom App" +msgstr "" + +#: ../../Zotlabs/Module/Removeaccount.php:35 +msgid "" +"Account removals are not allowed within 48 hours of changing the account " +"password." +msgstr "" + +#: ../../Zotlabs/Module/Removeaccount.php:57 +msgid "Remove This Account" +msgstr "" + +#: ../../Zotlabs/Module/Removeaccount.php:58 +msgid "" +"This account and all its channels will be completely removed from the " +"network. " +msgstr "" + +#: ../../Zotlabs/Module/Removeaccount.php:61 +#: ../../Zotlabs/Module/Settings/Account.php:105 +msgid "Remove Account" +msgstr "" + +#: ../../Zotlabs/Module/Filestorage.php:14 +#: ../../Zotlabs/Module/Filestorage.php:53 +msgid "Deprecated!" +msgstr "" + +#: ../../Zotlabs/Module/Filestorage.php:29 ../../Zotlabs/Module/Display.php:42 +#: ../../Zotlabs/Module/Display.php:429 ../../Zotlabs/Module/Admin.php:62 +#: ../../Zotlabs/Module/Admin/Themes.php:72 +#: ../../Zotlabs/Module/Admin/Addons.php:260 ../../Zotlabs/Module/Thing.php:96 +#: ../../Zotlabs/Module/Viewsrc.php:25 ../../include/items.php:3919 +#: ../../extend/addon/hzaddons/flashcards/Mod_Flashcards.php:284 +#: ../../extend/addon/hzaddons/flashcards/Mod_Flashcards.php:285 +msgid "Item not found." +msgstr "" + +#: ../../Zotlabs/Module/Filestorage.php:109 +#: ../../Zotlabs/Module/Attach_edit.php:69 +msgid "File not found." +msgstr "" + +#: ../../Zotlabs/Module/Filestorage.php:157 +msgid "Permission Denied." +msgstr "" + +#: ../../Zotlabs/Module/Filestorage.php:190 +msgid "Edit file permissions" +msgstr "" + +#: ../../Zotlabs/Module/Filestorage.php:195 +#: ../../Zotlabs/Module/Connedit.php:682 ../../Zotlabs/Module/Chat.php:241 +#: ../../Zotlabs/Module/Photos.php:678 ../../Zotlabs/Module/Photos.php:1047 +#: ../../Zotlabs/Module/Thing.php:321 ../../Zotlabs/Module/Thing.php:374 +#: ../../include/acl_selectors.php:153 +#: ../../extend/addon/hzaddons/flashcards/Mod_Flashcards.php:254 +msgid "Permissions" +msgstr "" + +#: ../../Zotlabs/Module/Filestorage.php:202 +#: ../../extend/addon/hzaddons/flashcards/Mod_Flashcards.php:261 +msgid "Set/edit permissions" +msgstr "" + +#: ../../Zotlabs/Module/Filestorage.php:203 +msgid "Include all files and sub folders" +msgstr "" + +#: ../../Zotlabs/Module/Filestorage.php:204 +msgid "Return to file list" +msgstr "" + +#: ../../Zotlabs/Module/Filestorage.php:206 +#: ../../Zotlabs/Storage/Browser.php:386 +msgid "Copy/paste this code to attach file to a post" +msgstr "" + +#: ../../Zotlabs/Module/Filestorage.php:207 +#: ../../Zotlabs/Storage/Browser.php:387 +msgid "Copy/paste this URL to link file from a web page" +msgstr "" + +#: ../../Zotlabs/Module/Filestorage.php:209 +msgid "Share this file" +msgstr "" + +#: ../../Zotlabs/Module/Filestorage.php:210 +msgid "Show URL to this file" +msgstr "" + +#: ../../Zotlabs/Module/Filestorage.php:211 +#: ../../Zotlabs/Storage/Browser.php:552 +msgid "Show in your contacts shared folder" +msgstr "" + +#: ../../Zotlabs/Module/Card_edit.php:17 ../../Zotlabs/Module/Card_edit.php:33 +#: ../../Zotlabs/Module/Editlayout.php:79 ../../Zotlabs/Module/Editblock.php:79 +#: ../../Zotlabs/Module/Editblock.php:95 ../../Zotlabs/Module/Editpost.php:24 +#: ../../Zotlabs/Module/Editwebpage.php:80 +#: ../../Zotlabs/Module/Article_edit.php:17 +#: ../../Zotlabs/Module/Article_edit.php:33 +msgid "Item not found" +msgstr "" + +#: ../../Zotlabs/Module/Card_edit.php:101 +#: ../../Zotlabs/Module/Editblock.php:116 ../../Zotlabs/Module/Chat.php:220 +#: ../../Zotlabs/Module/Editwebpage.php:143 +#: ../../Zotlabs/Module/Article_edit.php:100 +#: ../../include/conversation.php:1341 +#: ../../extend/addon/hzaddons/hsse/hsse.php:95 +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:166 +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:309 +msgid "Insert web link" +msgstr "" + +#: ../../Zotlabs/Module/Card_edit.php:117 +#: ../../Zotlabs/Module/Editblock.php:129 ../../Zotlabs/Module/Photos.php:674 +#: ../../Zotlabs/Module/Photos.php:1044 +#: ../../Zotlabs/Module/Article_edit.php:116 +#: ../../include/conversation.php:1474 +#: ../../extend/addon/hzaddons/hsse/hsse.php:221 +msgid "Title (optional)" +msgstr "" + +#: ../../Zotlabs/Module/Card_edit.php:128 +msgid "Edit Card" +msgstr "" + +#: ../../Zotlabs/Module/Viewconnections.php:65 +msgid "No connections." +msgstr "" + +#: ../../Zotlabs/Module/Viewconnections.php:80 +#: ../../Zotlabs/Module/Connections.php:288 ../../include/text.php:1044 +msgid "Accepts" +msgstr "" + +#: ../../Zotlabs/Module/Viewconnections.php:83 +#: ../../Zotlabs/Module/Connections.php:291 ../../include/text.php:1047 +msgid "Comments" +msgstr "" + +#: ../../Zotlabs/Module/Viewconnections.php:88 +#: ../../Zotlabs/Module/Connections.php:296 ../../include/text.php:1052 +msgid "Stream items" +msgstr "" + +#: ../../Zotlabs/Module/Viewconnections.php:93 +#: ../../Zotlabs/Module/Connections.php:301 ../../include/text.php:1057 +msgid "Wall posts" +msgstr "" + +#: ../../Zotlabs/Module/Viewconnections.php:97 +#: ../../Zotlabs/Module/Connections.php:305 ../../include/text.php:1061 +msgid "Nothing" +msgstr "" + +#: ../../Zotlabs/Module/Viewconnections.php:105 +#, php-format +msgid "Visit %s's profile [%s]" +msgstr "" + +#: ../../Zotlabs/Module/Viewconnections.php:135 +msgid "View Connections" +msgstr "" + +#: ../../Zotlabs/Module/Oauth2.php:54 +msgid "Name and Secret are required" +msgstr "" + +#: ../../Zotlabs/Module/Oauth2.php:106 +msgid "OAuth2 Apps Manager App" +msgstr "" + +#: ../../Zotlabs/Module/Oauth2.php:107 +msgid "OAuth2 authenticatication tokens for mobile and remote apps" +msgstr "" + +#: ../../Zotlabs/Module/Oauth2.php:115 +msgid "Add OAuth2 application" +msgstr "" + +#: ../../Zotlabs/Module/Oauth2.php:121 ../../Zotlabs/Module/Oauth2.php:149 +msgid "Grant Types" +msgstr "" + +#: ../../Zotlabs/Module/Oauth2.php:121 ../../Zotlabs/Module/Oauth2.php:122 +msgid "leave blank unless your application sepcifically requires this" +msgstr "" + +#: ../../Zotlabs/Module/Oauth2.php:122 ../../Zotlabs/Module/Oauth2.php:150 +msgid "Authorization scope" +msgstr "" + +#: ../../Zotlabs/Module/Oauth2.php:134 +msgid "OAuth2 Application not found." +msgstr "" + +#: ../../Zotlabs/Module/Oauth2.php:149 ../../Zotlabs/Module/Oauth2.php:150 +msgid "leave blank unless your application specifically requires this" +msgstr "" + +#: ../../Zotlabs/Module/Oauth2.php:192 +msgid "Connected OAuth2 Apps" +msgstr "" + +#: ../../Zotlabs/Module/Wiki.php:35 +#: ../../extend/addon/hzaddons/cart/cart.php:1410 +#: ../../extend/addon/hzaddons/flashcards/Mod_Flashcards.php:51 +msgid "Profile Unavailable." +msgstr "" + +#: ../../Zotlabs/Module/Wiki.php:52 +msgid "Wiki App" +msgstr "" + +#: ../../Zotlabs/Module/Wiki.php:53 +msgid "Provide a wiki for your channel" +msgstr "" + +#: ../../Zotlabs/Module/Wiki.php:77 +#: ../../extend/addon/hzaddons/cart/cart.php:1556 +#: ../../extend/addon/hzaddons/cart/submodules/paypalbuttonV2.php:478 +#: ../../extend/addon/hzaddons/cart/submodules/paypalbutton.php:456 +#: ../../extend/addon/hzaddons/cart/myshop.php:37 +#: ../../extend/addon/hzaddons/cart/manual_payments.php:93 +msgid "Invalid channel" +msgstr "" + +#: ../../Zotlabs/Module/Wiki.php:133 +msgid "Error retrieving wiki" +msgstr "" + +#: ../../Zotlabs/Module/Wiki.php:140 +msgid "Error creating zip file export folder" +msgstr "" + +#: ../../Zotlabs/Module/Wiki.php:191 +msgid "Error downloading wiki: " +msgstr "" + +#: ../../Zotlabs/Module/Wiki.php:206 ../../Zotlabs/Widget/Wiki_list.php:15 +#: ../../include/nav.php:536 +msgid "Wikis" +msgstr "" + +#: ../../Zotlabs/Module/Wiki.php:212 ../../Zotlabs/Storage/Browser.php:404 +msgid "Download" +msgstr "" + +#: ../../Zotlabs/Module/Wiki.php:216 +msgid "Wiki name" +msgstr "" + +#: ../../Zotlabs/Module/Wiki.php:217 +msgid "Content type" +msgstr "" + +#: ../../Zotlabs/Module/Wiki.php:217 ../../Zotlabs/Module/Wiki.php:371 +#: ../../Zotlabs/Widget/Wiki_pages.php:38 +#: ../../Zotlabs/Widget/Wiki_pages.php:95 ../../include/text.php:2116 +#: ../../extend/addon/hzaddons/mdpost/mdpost.php:41 +msgid "Markdown" +msgstr "" + +#: ../../Zotlabs/Module/Wiki.php:217 ../../Zotlabs/Module/Wiki.php:371 +#: ../../Zotlabs/Widget/Wiki_pages.php:38 +#: ../../Zotlabs/Widget/Wiki_pages.php:95 ../../include/text.php:2114 +msgid "BBcode" +msgstr "" + +#: ../../Zotlabs/Module/Wiki.php:217 ../../Zotlabs/Widget/Wiki_pages.php:38 +#: ../../Zotlabs/Widget/Wiki_pages.php:95 ../../include/text.php:2117 +msgid "Text" +msgstr "" + +#: ../../Zotlabs/Module/Wiki.php:219 ../../Zotlabs/Storage/Browser.php:378 +msgid "Type" +msgstr "" + +#: ../../Zotlabs/Module/Wiki.php:220 +msgid "Any type" +msgstr "" + +#: ../../Zotlabs/Module/Wiki.php:227 +msgid "Lock content type" +msgstr "" + +#: ../../Zotlabs/Module/Wiki.php:228 +msgid "Create a status post for this wiki" +msgstr "" + +#: ../../Zotlabs/Module/Wiki.php:229 +msgid "Edit Wiki Name" +msgstr "" + +#: ../../Zotlabs/Module/Wiki.php:274 +msgid "Wiki not found" +msgstr "" + +#: ../../Zotlabs/Module/Wiki.php:300 +msgid "Rename page" +msgstr "" + +#: ../../Zotlabs/Module/Wiki.php:321 +msgid "Error retrieving page content" +msgstr "" + +#: ../../Zotlabs/Module/Wiki.php:329 ../../Zotlabs/Module/Wiki.php:331 +msgid "New page" +msgstr "" + +#: ../../Zotlabs/Module/Wiki.php:366 +msgid "Revision Comparison" +msgstr "" + +#: ../../Zotlabs/Module/Wiki.php:367 ../../Zotlabs/Lib/NativeWikiPage.php:567 +#: ../../Zotlabs/Widget/Wiki_page_history.php:25 +msgid "Revert" +msgstr "" + +#: ../../Zotlabs/Module/Wiki.php:374 +msgid "Short description of your changes (optional)" +msgstr "" + +#: ../../Zotlabs/Module/Wiki.php:384 +#: ../../extend/addon/hzaddons/ljpost/ljpost.php:134 +#: ../../extend/addon/hzaddons/dwpost/Mod_Dwpost.php:69 +#: ../../extend/addon/hzaddons/dwpost/dwpost.php:134 +#: ../../extend/addon/hzaddons/wppost/wppost.php:173 +#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:98 +msgid "Source" +msgstr "" + +#: ../../Zotlabs/Module/Wiki.php:394 +msgid "New page name" +msgstr "" + +#: ../../Zotlabs/Module/Wiki.php:399 +msgid "Embed image from photo albums" +msgstr "" + +#: ../../Zotlabs/Module/Wiki.php:400 ../../include/conversation.php:1457 +#: ../../extend/addon/hzaddons/hsse/hsse.php:208 +msgid "Embed an image from your albums" +msgstr "" + +#: ../../Zotlabs/Module/Wiki.php:402 ../../Zotlabs/Module/Profile_photo.php:508 +#: ../../Zotlabs/Module/Cover_photo.php:429 ../../include/conversation.php:1459 +#: ../../include/conversation.php:1510 +#: ../../extend/addon/hzaddons/hsse/hsse.php:210 +#: ../../extend/addon/hzaddons/hsse/hsse.php:257 +msgid "OK" +msgstr "" + +#: ../../Zotlabs/Module/Wiki.php:403 ../../Zotlabs/Module/Profile_photo.php:509 +#: ../../Zotlabs/Module/Cover_photo.php:430 ../../include/conversation.php:1385 +#: ../../extend/addon/hzaddons/hsse/hsse.php:139 +msgid "Choose images to embed" +msgstr "" + +#: ../../Zotlabs/Module/Wiki.php:404 ../../Zotlabs/Module/Profile_photo.php:510 +#: ../../Zotlabs/Module/Cover_photo.php:431 ../../include/conversation.php:1386 +#: ../../extend/addon/hzaddons/hsse/hsse.php:140 +msgid "Choose an album" +msgstr "" + +#: ../../Zotlabs/Module/Wiki.php:405 ../../Zotlabs/Module/Profile_photo.php:511 +#: ../../Zotlabs/Module/Cover_photo.php:432 +msgid "Choose a different album" +msgstr "" + +#: ../../Zotlabs/Module/Wiki.php:406 ../../Zotlabs/Module/Profile_photo.php:512 +#: ../../Zotlabs/Module/Cover_photo.php:433 ../../include/conversation.php:1388 +#: ../../extend/addon/hzaddons/hsse/hsse.php:142 +msgid "Error getting album list" +msgstr "" + +#: ../../Zotlabs/Module/Wiki.php:407 ../../Zotlabs/Module/Profile_photo.php:513 +#: ../../Zotlabs/Module/Cover_photo.php:434 ../../include/conversation.php:1389 +#: ../../extend/addon/hzaddons/hsse/hsse.php:143 +msgid "Error getting photo link" +msgstr "" + +#: ../../Zotlabs/Module/Wiki.php:408 ../../Zotlabs/Module/Profile_photo.php:514 +#: ../../Zotlabs/Module/Cover_photo.php:435 ../../include/conversation.php:1390 +#: ../../extend/addon/hzaddons/hsse/hsse.php:144 +msgid "Error getting album" +msgstr "" + +#: ../../Zotlabs/Module/Wiki.php:410 +msgid "History" +msgstr "" + +#: ../../Zotlabs/Module/Wiki.php:488 +msgid "Error creating wiki. Invalid name." +msgstr "" + +#: ../../Zotlabs/Module/Wiki.php:495 +msgid "A wiki with this name already exists." +msgstr "" + +#: ../../Zotlabs/Module/Wiki.php:508 +msgid "Wiki created, but error creating Home page." +msgstr "" + +#: ../../Zotlabs/Module/Wiki.php:515 +msgid "Error creating wiki" +msgstr "" + +#: ../../Zotlabs/Module/Wiki.php:539 +msgid "Error updating wiki. Invalid name." +msgstr "" + +#: ../../Zotlabs/Module/Wiki.php:559 +msgid "Error updating wiki" +msgstr "" + +#: ../../Zotlabs/Module/Wiki.php:574 +msgid "Wiki delete permission denied." +msgstr "" + +#: ../../Zotlabs/Module/Wiki.php:584 +msgid "Error deleting wiki" +msgstr "" + +#: ../../Zotlabs/Module/Wiki.php:617 +msgid "New page created" +msgstr "" + +#: ../../Zotlabs/Module/Wiki.php:739 +msgid "Cannot delete Home" +msgstr "" + +#: ../../Zotlabs/Module/Wiki.php:803 +msgid "Current Revision" +msgstr "" + +#: ../../Zotlabs/Module/Wiki.php:803 +msgid "Selected Revision" +msgstr "" + +#: ../../Zotlabs/Module/Wiki.php:853 +msgid "You must be authenticated." +msgstr "" + +#: ../../Zotlabs/Module/Blocks.php:97 ../../Zotlabs/Module/Blocks.php:155 +#: ../../Zotlabs/Module/Editblock.php:113 +msgid "Block Name" +msgstr "" + +#: ../../Zotlabs/Module/Blocks.php:154 ../../include/text.php:2698 +msgid "Blocks" +msgstr "" + +#: ../../Zotlabs/Module/Blocks.php:156 +msgid "Block Title" +msgstr "" + +#: ../../Zotlabs/Module/Dircensor.php:42 +msgid "Entry censored" +msgstr "" + +#: ../../Zotlabs/Module/Dircensor.php:45 +msgid "Entry uncensored" +msgstr "" + +#: ../../Zotlabs/Module/Locs.php:27 ../../Zotlabs/Module/Locs.php:66 +msgid "Location not found." +msgstr "" + +#: ../../Zotlabs/Module/Locs.php:75 +msgid "Location lookup failed." +msgstr "" + +#: ../../Zotlabs/Module/Locs.php:79 +msgid "" +"Please select another location to become primary before removing the primary " +"location." +msgstr "" + +#: ../../Zotlabs/Module/Locs.php:108 +msgid "Syncing locations" +msgstr "" + +#: ../../Zotlabs/Module/Locs.php:117 +msgid "No locations found." +msgstr "" + +#: ../../Zotlabs/Module/Locs.php:127 +msgid "Manage Channel Locations" +msgstr "" + +#: ../../Zotlabs/Module/Locs.php:130 +#: ../../extend/addon/hzaddons/workflow/workflow.php:285 +msgid "Primary" +msgstr "" + +#: ../../Zotlabs/Module/Locs.php:131 ../../Zotlabs/Module/Menu.php:177 +msgid "Drop" +msgstr "" + +#: ../../Zotlabs/Module/Locs.php:133 +msgid "Sync Now" +msgstr "" + +#: ../../Zotlabs/Module/Locs.php:134 +msgid "Please wait several minutes between consecutive operations." +msgstr "" + +#: ../../Zotlabs/Module/Locs.php:135 +msgid "" +"When possible, drop a location by logging into that website/hub and removing " +"your channel." +msgstr "" + +#: ../../Zotlabs/Module/Locs.php:136 +msgid "Use this form to drop the location if the hub is no longer operating." +msgstr "" + +#: ../../Zotlabs/Module/Chatsvc.php:131 +msgid "Away" +msgstr "" + +#: ../../Zotlabs/Module/Chatsvc.php:136 +msgid "Online" +msgstr "" + +#: ../../Zotlabs/Module/Fbrowser.php:29 ../../Zotlabs/Lib/Apps.php:345 +#: ../../include/features.php:369 ../../include/nav.php:444 +msgid "Photos" +msgstr "" + +#: ../../Zotlabs/Module/Fbrowser.php:85 ../../Zotlabs/Storage/Browser.php:351 +#: ../../Zotlabs/Lib/Apps.php:340 ../../include/nav.php:452 +msgid "Files" +msgstr "" + +#: ../../Zotlabs/Module/Connedit.php:120 +msgid "Could not locate selected profile." +msgstr "" + +#: ../../Zotlabs/Module/Connedit.php:264 +msgid "Connection updated." +msgstr "" + +#: ../../Zotlabs/Module/Connedit.php:266 +msgid "Failed to update connection record." +msgstr "" + +#: ../../Zotlabs/Module/Connedit.php:309 +msgid "is now connected to" +msgstr "" + +#: ../../Zotlabs/Module/Connedit.php:434 +msgid "Could not access address book record." +msgstr "" + +#: ../../Zotlabs/Module/Connedit.php:482 ../../Zotlabs/Module/Connedit.php:486 +msgid "Refresh failed - channel is currently unavailable." +msgstr "" + +#: ../../Zotlabs/Module/Connedit.php:501 ../../Zotlabs/Module/Connedit.php:510 +#: ../../Zotlabs/Module/Connedit.php:519 ../../Zotlabs/Module/Connedit.php:528 +#: ../../Zotlabs/Module/Connedit.php:541 +msgid "Unable to set address book parameters." +msgstr "" + +#: ../../Zotlabs/Module/Connedit.php:560 +msgid "Connection has been removed." +msgstr "" + +#: ../../Zotlabs/Module/Connedit.php:600 ../../Zotlabs/Lib/Apps.php:344 +#: ../../include/conversation.php:1080 ../../include/nav.php:112 +#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:57 +msgid "View Profile" +msgstr "" + +#: ../../Zotlabs/Module/Connedit.php:603 +#, php-format +msgid "View %s's profile" +msgstr "" + +#: ../../Zotlabs/Module/Connedit.php:607 +msgid "Refresh Permissions" +msgstr "" + +#: ../../Zotlabs/Module/Connedit.php:610 +msgid "Fetch updated permissions" +msgstr "" + +#: ../../Zotlabs/Module/Connedit.php:614 +msgid "Refresh Photo" +msgstr "" + +#: ../../Zotlabs/Module/Connedit.php:617 +msgid "Fetch updated photo" +msgstr "" + +#: ../../Zotlabs/Module/Connedit.php:621 ../../include/conversation.php:1090 +msgid "Recent Activity" +msgstr "" + +#: ../../Zotlabs/Module/Connedit.php:624 +msgid "View recent posts and comments" +msgstr "" + +#: ../../Zotlabs/Module/Connedit.php:628 +#: ../../Zotlabs/Module/Admin/Accounts.php:177 +msgid "Unblock" +msgstr "" + +#: ../../Zotlabs/Module/Connedit.php:628 +#: ../../Zotlabs/Module/Admin/Accounts.php:176 +msgid "Block" +msgstr "" + +#: ../../Zotlabs/Module/Connedit.php:631 +msgid "Block (or Unblock) all communications with this connection" +msgstr "" + +#: ../../Zotlabs/Module/Connedit.php:632 +msgid "This connection is blocked!" +msgstr "" + +#: ../../Zotlabs/Module/Connedit.php:636 +msgid "Unignore" +msgstr "" + +#: ../../Zotlabs/Module/Connedit.php:636 +#: ../../Zotlabs/Module/Connections.php:344 +msgid "Ignore" +msgstr "" + +#: ../../Zotlabs/Module/Connedit.php:639 +msgid "Ignore (or Unignore) all inbound communications from this connection" +msgstr "" + +#: ../../Zotlabs/Module/Connedit.php:640 +msgid "This connection is ignored!" +msgstr "" + +#: ../../Zotlabs/Module/Connedit.php:644 +msgid "Unarchive" +msgstr "" + +#: ../../Zotlabs/Module/Connedit.php:644 +msgid "Archive" +msgstr "" + +#: ../../Zotlabs/Module/Connedit.php:647 +msgid "" +"Archive (or Unarchive) this connection - mark channel dead but keep content" +msgstr "" + +#: ../../Zotlabs/Module/Connedit.php:648 +msgid "This connection is archived!" +msgstr "" + +#: ../../Zotlabs/Module/Connedit.php:652 +msgid "Unhide" +msgstr "" + +#: ../../Zotlabs/Module/Connedit.php:652 +msgid "Hide" +msgstr "" + +#: ../../Zotlabs/Module/Connedit.php:655 +msgid "Hide or Unhide this connection from your other connections" +msgstr "" + +#: ../../Zotlabs/Module/Connedit.php:656 +msgid "This connection is hidden!" +msgstr "" + +#: ../../Zotlabs/Module/Connedit.php:663 +msgid "Delete this connection" +msgstr "" + +#: ../../Zotlabs/Module/Connedit.php:671 +msgid "Fetch Vcard" +msgstr "" + +#: ../../Zotlabs/Module/Connedit.php:674 +msgid "Fetch electronic calling card for this connection" +msgstr "" + +#: ../../Zotlabs/Module/Connedit.php:685 +msgid "Open Individual Permissions section by default" +msgstr "" + +#: ../../Zotlabs/Module/Connedit.php:708 +msgid "Affinity" +msgstr "" + +#: ../../Zotlabs/Module/Connedit.php:711 +msgid "Open Set Affinity section by default" +msgstr "" + +#: ../../Zotlabs/Module/Connedit.php:715 ../../Zotlabs/Widget/Affinity.php:30 +msgid "Me" +msgstr "" + +#: ../../Zotlabs/Module/Connedit.php:716 ../../Zotlabs/Widget/Affinity.php:31 +msgid "Family" +msgstr "" + +#: ../../Zotlabs/Module/Connedit.php:717 +#: ../../Zotlabs/Module/Settings/Channel.php:71 +#: ../../Zotlabs/Module/Settings/Channel.php:75 +#: ../../Zotlabs/Module/Settings/Channel.php:76 +#: ../../Zotlabs/Module/Settings/Channel.php:79 +#: ../../Zotlabs/Module/Settings/Channel.php:90 +#: ../../Zotlabs/Widget/Affinity.php:32 ../../include/channel.php:505 +#: ../../include/channel.php:506 ../../include/channel.php:513 +#: ../../include/selectors.php:134 +msgid "Friends" +msgstr "" + +#: ../../Zotlabs/Module/Connedit.php:718 ../../Zotlabs/Widget/Affinity.php:33 +msgid "Acquaintances" +msgstr "" + +#: ../../Zotlabs/Module/Connedit.php:719 +#: ../../Zotlabs/Module/Connections.php:97 +#: ../../Zotlabs/Module/Connections.php:111 +#: ../../Zotlabs/Widget/Affinity.php:34 +msgid "All" +msgstr "" + +#: ../../Zotlabs/Module/Connedit.php:748 +msgid "Filter" +msgstr "" + +#: ../../Zotlabs/Module/Connedit.php:751 +msgid "Open Custom Filter section by default" +msgstr "" + +#: ../../Zotlabs/Module/Connedit.php:788 +msgid "Approve this connection" +msgstr "" + +#: ../../Zotlabs/Module/Connedit.php:788 +msgid "Accept connection to allow communication" +msgstr "" + +#: ../../Zotlabs/Module/Connedit.php:793 +msgid "Set Affinity" +msgstr "" + +#: ../../Zotlabs/Module/Connedit.php:796 +msgid "Set Profile" +msgstr "" + +#: ../../Zotlabs/Module/Connedit.php:799 +msgid "Set Affinity & Profile" +msgstr "" + +#: ../../Zotlabs/Module/Connedit.php:847 +msgid "This connection is unreachable from this location." +msgstr "" + +#: ../../Zotlabs/Module/Connedit.php:848 +msgid "This connection may be unreachable from other channel locations." +msgstr "" + +#: ../../Zotlabs/Module/Connedit.php:850 +msgid "Location independence is not supported by their network." +msgstr "" + +#: ../../Zotlabs/Module/Connedit.php:856 +msgid "" +"This connection is unreachable from this location. Location independence is " +"not supported by their network." +msgstr "" + +#: ../../Zotlabs/Module/Connedit.php:859 ../../include/items.php:4524 +#, php-format +msgid "Connection: %s" +msgstr "" + +#: ../../Zotlabs/Module/Connedit.php:860 +msgid "Connection requests will be approved without your interaction" +msgstr "" + +#: ../../Zotlabs/Module/Connedit.php:869 +msgid "This connection's primary address is" +msgstr "" + +#: ../../Zotlabs/Module/Connedit.php:870 +msgid "Available locations:" +msgstr "" + +#: ../../Zotlabs/Module/Connedit.php:876 +msgid "Connection Tools" +msgstr "" + +#: ../../Zotlabs/Module/Connedit.php:878 +msgid "Slide to adjust your degree of friendship" +msgstr "" + +#: ../../Zotlabs/Module/Connedit.php:879 ../../Zotlabs/Module/Rate.php:155 +#: ../../include/js_strings.php:20 +msgid "Rating" +msgstr "" + +#: ../../Zotlabs/Module/Connedit.php:880 +msgid "Slide to adjust your rating" +msgstr "" + +#: ../../Zotlabs/Module/Connedit.php:881 ../../Zotlabs/Module/Connedit.php:886 +msgid "Optionally explain your rating" +msgstr "" + +#: ../../Zotlabs/Module/Connedit.php:883 +msgid "Custom Filter" +msgstr "" + +#: ../../Zotlabs/Module/Connedit.php:884 +msgid "Only import posts with this text" +msgstr "" + +#: ../../Zotlabs/Module/Connedit.php:884 ../../Zotlabs/Module/Connedit.php:885 +#: ../../Zotlabs/Module/Admin/Site.php:327 +#: ../../Zotlabs/Module/Admin/Site.php:328 +msgid "" +"words one per line or #tags or /patterns/ or lang=xx, leave blank to import " +"all posts" +msgstr "" + +#: ../../Zotlabs/Module/Connedit.php:885 +msgid "Do not import posts with this text" +msgstr "" + +#: ../../Zotlabs/Module/Connedit.php:887 +msgid "This information is public!" +msgstr "" + +#: ../../Zotlabs/Module/Connedit.php:892 +msgid "Connection Pending Approval" +msgstr "" + +#: ../../Zotlabs/Module/Connedit.php:897 +#, php-format +msgid "" +"Please choose the profile you would like to display to %s when viewing your " +"profile securely." +msgstr "" + +#: ../../Zotlabs/Module/Connedit.php:899 ../../Zotlabs/Module/Tokens.php:180 +msgid "Their Settings" +msgstr "" + +#: ../../Zotlabs/Module/Connedit.php:903 ../../Zotlabs/Module/Tokens.php:187 +#: ../../Zotlabs/Module/Permcats.php:128 +msgid "" +"Some permissions may be inherited from your channel's <a href=\"settings" +"\"><strong>privacy settings</strong></a>, which have higher priority than " +"individual settings. You can <strong>not</strong> change those settings here." +msgstr "" + +#: ../../Zotlabs/Module/Connedit.php:904 +msgid "" +"Some permissions may be inherited from your channel's <a href=\"settings" +"\"><strong>privacy settings</strong></a>, which have higher priority than " +"individual settings. You can change those settings here but they wont have " +"any impact unless the inherited setting changes." +msgstr "" + +#: ../../Zotlabs/Module/Connedit.php:905 +msgid "Last update:" +msgstr "" + +#: ../../Zotlabs/Module/Connedit.php:913 +msgid "Details" +msgstr "" + +#: ../../Zotlabs/Module/Profile_photo.php:93 +#: ../../Zotlabs/Module/Cover_photo.php:85 +msgid "Image uploaded but image cropping failed." +msgstr "" + +#: ../../Zotlabs/Module/Profile_photo.php:147 +#: ../../Zotlabs/Module/Profile_photo.php:284 +#: ../../include/photo/photo_driver.php:417 +msgid "Profile Photos" +msgstr "" + +#: ../../Zotlabs/Module/Profile_photo.php:166 +#: ../../Zotlabs/Module/Cover_photo.php:212 +msgid "Image resize failed." +msgstr "" + +#: ../../Zotlabs/Module/Profile_photo.php:254 +#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:298 +msgid "" +"Shift-reload the page or clear browser cache if the new photo does not " +"display immediately." +msgstr "" + +#: ../../Zotlabs/Module/Profile_photo.php:261 +#: ../../Zotlabs/Module/Cover_photo.php:241 ../../include/photos.php:196 +msgid "Unable to process image" +msgstr "" + +#: ../../Zotlabs/Module/Profile_photo.php:296 +#: ../../Zotlabs/Module/Cover_photo.php:265 +msgid "Image upload failed." +msgstr "" + +#: ../../Zotlabs/Module/Profile_photo.php:315 +#: ../../Zotlabs/Module/Cover_photo.php:282 +msgid "Unable to process image." +msgstr "" + +#: ../../Zotlabs/Module/Profile_photo.php:379 +#: ../../Zotlabs/Module/Profile_photo.php:431 +#: ../../Zotlabs/Module/Cover_photo.php:367 +#: ../../Zotlabs/Module/Cover_photo.php:382 +msgid "Photo not available." +msgstr "" + +#: ../../Zotlabs/Module/Profile_photo.php:495 +msgid "" +"Your default profile photo is visible to anybody on the internet. Profile " +"photos for alternate profiles will inherit the permissions of the profile" +msgstr "" + +#: ../../Zotlabs/Module/Profile_photo.php:495 +msgid "" +"Your profile photo is visible to anybody on the internet and may be " +"distributed to other websites." +msgstr "" + +#: ../../Zotlabs/Module/Profile_photo.php:497 +#: ../../Zotlabs/Module/Cover_photo.php:420 +msgid "Upload File:" +msgstr "" + +#: ../../Zotlabs/Module/Profile_photo.php:498 +#: ../../Zotlabs/Module/Cover_photo.php:421 +msgid "Select a profile:" +msgstr "" + +#: ../../Zotlabs/Module/Profile_photo.php:499 +msgid "Use Photo for Profile" +msgstr "" + +#: ../../Zotlabs/Module/Profile_photo.php:499 +msgid "Change Profile Photo" +msgstr "" + +#: ../../Zotlabs/Module/Profile_photo.php:500 +msgid "Use" +msgstr "" + +#: ../../Zotlabs/Module/Profile_photo.php:500 +#: ../../Zotlabs/Module/Photos.php:688 ../../Zotlabs/Module/Cover_photo.php:423 +#: ../../Zotlabs/Module/Embedphotos.php:188 +#: ../../Zotlabs/Storage/Browser.php:540 ../../Zotlabs/Widget/Cdav.php:146 +#: ../../Zotlabs/Widget/Cdav.php:182 ../../Zotlabs/Widget/Portfolio.php:110 +#: ../../Zotlabs/Widget/Album.php:97 +msgid "Upload" +msgstr "" + +#: ../../Zotlabs/Module/Profile_photo.php:501 +#: ../../Zotlabs/Module/Photos.php:996 ../../Zotlabs/Module/Tagrm.php:137 +#: ../../Zotlabs/Module/Admin/Addons.php:459 +#: ../../Zotlabs/Module/Cover_photo.php:424 +#: ../../extend/addon/hzaddons/superblock/Mod_Superblock.php:91 +msgid "Remove" +msgstr "" + +#: ../../Zotlabs/Module/Profile_photo.php:505 +#: ../../Zotlabs/Module/Profile_photo.php:506 +#: ../../Zotlabs/Module/Cover_photo.php:426 +#: ../../Zotlabs/Module/Cover_photo.php:427 +msgid "Use a photo from your albums" +msgstr "" + +#: ../../Zotlabs/Module/Profile_photo.php:516 +#: ../../Zotlabs/Module/Cover_photo.php:438 +msgid "Select existing photo" +msgstr "" + +#: ../../Zotlabs/Module/Profile_photo.php:535 +#: ../../Zotlabs/Module/Cover_photo.php:455 +msgid "Crop Image" +msgstr "" + +#: ../../Zotlabs/Module/Profile_photo.php:536 +#: ../../Zotlabs/Module/Cover_photo.php:456 +msgid "Please adjust the image cropping for optimum viewing." +msgstr "" + +#: ../../Zotlabs/Module/Profile_photo.php:538 +#: ../../Zotlabs/Module/Cover_photo.php:458 +msgid "Done Editing" +msgstr "" + +#: ../../Zotlabs/Module/Sharedwithme.php:105 +msgid "Files: shared with me" +msgstr "" + +#: ../../Zotlabs/Module/Sharedwithme.php:107 +msgid "NEW" +msgstr "" + +#: ../../Zotlabs/Module/Sharedwithme.php:108 +#: ../../Zotlabs/Storage/Browser.php:379 ../../include/text.php:1562 +msgid "Size" +msgstr "" + +#: ../../Zotlabs/Module/Sharedwithme.php:109 +#: ../../Zotlabs/Storage/Browser.php:380 +msgid "Last Modified" +msgstr "" + +#: ../../Zotlabs/Module/Sharedwithme.php:110 +msgid "Remove all files" +msgstr "" + +#: ../../Zotlabs/Module/Sharedwithme.php:111 +msgid "Remove this file" +msgstr "" + +#: ../../Zotlabs/Module/Editlayout.php:137 +msgid "Edit Layout" +msgstr "" + +#: ../../Zotlabs/Module/Manage.php:145 +msgid "Create a new channel" +msgstr "" + +#: ../../Zotlabs/Module/Manage.php:170 ../../Zotlabs/Lib/Apps.php:337 +#: ../../include/nav.php:98 +msgid "Channel Manager" +msgstr "" + +#: ../../Zotlabs/Module/Manage.php:171 +msgid "Current Channel" +msgstr "" + +#: ../../Zotlabs/Module/Manage.php:173 +msgid "Switch to one of your channels by selecting it." +msgstr "" + +#: ../../Zotlabs/Module/Manage.php:174 +msgid "Default Channel" +msgstr "" + +#: ../../Zotlabs/Module/Manage.php:175 +msgid "Make Default" +msgstr "" + +#: ../../Zotlabs/Module/Manage.php:178 +#, php-format +msgid "%d new messages" +msgstr "" + +#: ../../Zotlabs/Module/Manage.php:179 +#, php-format +msgid "%d new introductions" +msgstr "" + +#: ../../Zotlabs/Module/Manage.php:181 +msgid "Delegated Channel" +msgstr "" + +#: ../../Zotlabs/Module/Follow.php:93 +msgid "Connection added." +msgstr "" + +#: ../../Zotlabs/Module/Item.php:450 ../../Zotlabs/Module/Pin.php:35 +msgid "Unable to locate original post." +msgstr "" + +#: ../../Zotlabs/Module/Item.php:736 +msgid "Empty post discarded." +msgstr "" + +#: ../../Zotlabs/Module/Item.php:1187 +msgid "Duplicate post suppressed." +msgstr "" + +#: ../../Zotlabs/Module/Item.php:1332 +msgid "System error. Post not saved." +msgstr "" + +#: ../../Zotlabs/Module/Item.php:1366 +msgid "Your comment is awaiting approval." +msgstr "" + +#: ../../Zotlabs/Module/Item.php:1496 +msgid "Unable to obtain post information from database." +msgstr "" + +#: ../../Zotlabs/Module/Item.php:1503 +#, php-format +msgid "You have reached your limit of %1$.0f top level posts." +msgstr "" + +#: ../../Zotlabs/Module/Item.php:1510 +#, php-format +msgid "You have reached your limit of %1$.0f webpages." +msgstr "" + +#: ../../Zotlabs/Module/Rate.php:156 +msgid "Website:" +msgstr "" + +#: ../../Zotlabs/Module/Rate.php:159 +#, php-format +msgid "Remote Channel [%s] (not yet known on this site)" +msgstr "" + +#: ../../Zotlabs/Module/Rate.php:160 +msgid "Rating (this information is public)" +msgstr "" + +#: ../../Zotlabs/Module/Rate.php:161 +msgid "Optionally explain your rating (this information is public)" +msgstr "" + +#: ../../Zotlabs/Module/Page.php:39 ../../Zotlabs/Module/Block.php:29 +msgid "Invalid item." +msgstr "" + +#: ../../Zotlabs/Module/Page.php:136 ../../Zotlabs/Module/Display.php:136 +#: ../../Zotlabs/Module/Display.php:153 ../../Zotlabs/Module/Display.php:173 +#: ../../Zotlabs/Module/Display.php:179 ../../Zotlabs/Module/Block.php:77 +#: ../../Zotlabs/Web/Router.php:185 ../../Zotlabs/Lib/NativeWikiPage.php:521 +#: ../../include/help.php:132 +msgid "Page not found." +msgstr "" + +#: ../../Zotlabs/Module/Page.php:173 +msgid "" +"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod " +"tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, " +"quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo " +"consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse " +"cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat " +"non proident, sunt in culpa qui officia deserunt mollit anim id est laborum." +msgstr "" + +#: ../../Zotlabs/Module/Xchan.php:10 +msgid "Xchan Lookup" +msgstr "" + +#: ../../Zotlabs/Module/Xchan.php:13 +msgid "Lookup xchan beginning with (or webbie): " +msgstr "" + +#: ../../Zotlabs/Module/Xchan.php:41 ../../Zotlabs/Module/Mitem.php:134 +#: ../../Zotlabs/Module/Menu.php:232 +msgid "Not found." +msgstr "" + +#: ../../Zotlabs/Module/Achievements.php:38 +msgid "Some blurb about what to do when you're new here" +msgstr "" + +#: ../../Zotlabs/Module/Subthread.php:143 +#, php-format +msgid "%1$s is following %2$s's %3$s" +msgstr "" + +#: ../../Zotlabs/Module/Subthread.php:145 +#, php-format +msgid "%1$s stopped following %2$s's %3$s" +msgstr "" + +#: ../../Zotlabs/Module/Regmod.php:15 +msgid "Please login." +msgstr "" + +#: ../../Zotlabs/Module/Editblock.php:138 +msgid "Edit Block" +msgstr "" + +#: ../../Zotlabs/Module/Impel.php:43 ../../include/bbcode.php:316 +msgid "webpage" +msgstr "" + +#: ../../Zotlabs/Module/Impel.php:48 ../../include/bbcode.php:322 +msgid "block" +msgstr "" + +#: ../../Zotlabs/Module/Impel.php:53 ../../include/bbcode.php:319 +msgid "layout" +msgstr "" + +#: ../../Zotlabs/Module/Impel.php:60 ../../include/bbcode.php:325 +msgid "menu" +msgstr "" + +#: ../../Zotlabs/Module/Impel.php:185 +#, php-format +msgid "%s element installed" +msgstr "" + +#: ../../Zotlabs/Module/Impel.php:188 +#, php-format +msgid "%s element installation failed" +msgstr "" + +#: ../../Zotlabs/Module/Pubsites.php:25 ../../Zotlabs/Widget/Pubsites.php:12 +msgid "Public Hubs" +msgstr "" + +#: ../../Zotlabs/Module/Pubsites.php:28 +msgid "" +"The listed hubs allow public registration for the $Projectname network. All " +"hubs in the network are interlinked so membership on any of them conveys " +"membership in the network as a whole. Some hubs may require subscription or " +"provide tiered service plans. The hub itself <strong>may</strong> provide " +"additional details." +msgstr "" + +#: ../../Zotlabs/Module/Pubsites.php:34 +msgid "Hub URL" +msgstr "" + +#: ../../Zotlabs/Module/Pubsites.php:34 +msgid "Access Type" +msgstr "" + +#: ../../Zotlabs/Module/Pubsites.php:34 +msgid "Registration Policy" +msgstr "" + +#: ../../Zotlabs/Module/Pubsites.php:34 +msgid "Stats" +msgstr "" + +#: ../../Zotlabs/Module/Pubsites.php:34 +msgid "Software" +msgstr "" + +#: ../../Zotlabs/Module/Pubsites.php:36 ../../Zotlabs/Module/Ratings.php:97 +#: ../../include/conversation.php:1130 +msgid "Ratings" +msgstr "" + +#: ../../Zotlabs/Module/Pubsites.php:50 +msgid "Rate" +msgstr "" + +#: ../../Zotlabs/Module/Chat.php:29 ../../Zotlabs/Module/Channel.php:42 +#: ../../Zotlabs/Module/Ochannel.php:32 +msgid "You must be logged in to see this page." +msgstr "" + +#: ../../Zotlabs/Module/Chat.php:100 +msgid "Chatrooms App" +msgstr "" + +#: ../../Zotlabs/Module/Chat.php:101 +msgid "Access Controlled Chatrooms" +msgstr "" + +#: ../../Zotlabs/Module/Chat.php:194 +msgid "Room not found" +msgstr "" + +#: ../../Zotlabs/Module/Chat.php:210 +msgid "Leave Room" +msgstr "" + +#: ../../Zotlabs/Module/Chat.php:211 +msgid "Delete Room" +msgstr "" + +#: ../../Zotlabs/Module/Chat.php:212 +msgid "I am away right now" +msgstr "" + +#: ../../Zotlabs/Module/Chat.php:213 +msgid "I am online" +msgstr "" + +#: ../../Zotlabs/Module/Chat.php:215 +msgid "Bookmark this room" +msgstr "" + +#: ../../Zotlabs/Module/Chat.php:218 ../../include/conversation.php:1380 +#: ../../extend/addon/hzaddons/hsse/hsse.php:134 +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:119 +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:240 +msgid "Please enter a link URL:" +msgstr "" + +#: ../../Zotlabs/Module/Chat.php:219 ../../Zotlabs/Lib/ThreadItem.php:839 +#: ../../include/conversation.php:1508 +#: ../../extend/addon/hzaddons/hsse/hsse.php:255 +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:172 +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:315 +msgid "Encrypt text" +msgstr "" + +#: ../../Zotlabs/Module/Chat.php:238 +msgid "New Chatroom" +msgstr "" + +#: ../../Zotlabs/Module/Chat.php:239 +msgid "Chatroom name" +msgstr "" + +#: ../../Zotlabs/Module/Chat.php:240 +msgid "Expiration of chats (minutes)" +msgstr "" + +#: ../../Zotlabs/Module/Chat.php:256 +#, php-format +msgid "%1$s's Chatrooms" +msgstr "" + +#: ../../Zotlabs/Module/Chat.php:261 +msgid "No chatrooms available" +msgstr "" + +#: ../../Zotlabs/Module/Chat.php:265 +msgid "Expiration" +msgstr "" + +#: ../../Zotlabs/Module/Chat.php:266 +msgid "min" +msgstr "" + +#: ../../Zotlabs/Module/Uexport.php:61 +msgid "Channel Export App" +msgstr "" + +#: ../../Zotlabs/Module/Uexport.php:62 +msgid "Export your channel" +msgstr "" + +#: ../../Zotlabs/Module/Uexport.php:72 ../../Zotlabs/Module/Uexport.php:73 +msgid "Export Channel" +msgstr "" + +#: ../../Zotlabs/Module/Uexport.php:74 +msgid "" +"Export your basic channel information to a file. This acts as a backup of " +"your connections, permissions, profile and basic data, which can be used to " +"import your data to a new server hub, but does not contain your content." +msgstr "" + +#: ../../Zotlabs/Module/Uexport.php:75 +msgid "Export Content" +msgstr "" + +#: ../../Zotlabs/Module/Uexport.php:76 +msgid "" +"Export your channel information and recent content to a JSON backup that can " +"be restored or imported to another server hub. This backs up all of your " +"connections, permissions, profile data and several months of posts. This " +"file may be VERY large. Please be patient - it may take several minutes for " +"this download to begin." +msgstr "" + +#: ../../Zotlabs/Module/Uexport.php:78 +msgid "Export your posts from a given year." +msgstr "" + +#: ../../Zotlabs/Module/Uexport.php:80 +msgid "" +"You may also export your posts and conversations for a particular year or " +"month. Adjust the date in your browser location bar to select other dates. " +"If the export fails (possibly due to memory exhaustion on your server hub), " +"please try again selecting a more limited date range." +msgstr "" + +#: ../../Zotlabs/Module/Uexport.php:81 +#, php-format +msgid "" +"To select all posts for a given year, such as this year, visit <a href=\"%1$s" +"\">%2$s</a>" +msgstr "" + +#: ../../Zotlabs/Module/Uexport.php:82 +#, php-format +msgid "" +"To select all posts for a given month, such as January of this year, visit " +"<a href=\"%1$s\">%2$s</a>" +msgstr "" + +#: ../../Zotlabs/Module/Uexport.php:83 +#, php-format +msgid "" +"These content files may be imported or restored by visiting <a href=\"%1$s\">" +"%2$s</a> on any site containing your channel. For best results please import " +"or restore these in date order (oldest first)." +msgstr "" + +#: ../../Zotlabs/Module/Lostpass.php:19 +msgid "No valid account found." +msgstr "" + +#: ../../Zotlabs/Module/Lostpass.php:33 +msgid "Password reset request issued. Check your email." +msgstr "" + +#: ../../Zotlabs/Module/Lostpass.php:39 ../../Zotlabs/Module/Lostpass.php:108 +#, php-format +msgid "Site Member (%s)" +msgstr "" + +#: ../../Zotlabs/Module/Lostpass.php:44 ../../Zotlabs/Module/Lostpass.php:49 +#, php-format +msgid "Password reset requested at %s" +msgstr "" + +#: ../../Zotlabs/Module/Lostpass.php:68 +msgid "" +"Request could not be verified. (You may have previously submitted it.) " +"Password reset failed." +msgstr "" + +#: ../../Zotlabs/Module/Lostpass.php:91 ../../boot.php:1714 +msgid "Password Reset" +msgstr "" + +#: ../../Zotlabs/Module/Lostpass.php:92 +msgid "Your password has been reset as requested." +msgstr "" + +#: ../../Zotlabs/Module/Lostpass.php:93 +msgid "Your new password is" +msgstr "" + +#: ../../Zotlabs/Module/Lostpass.php:94 +msgid "Save or copy your new password - and then" +msgstr "" + +#: ../../Zotlabs/Module/Lostpass.php:95 +msgid "click here to login" +msgstr "" + +#: ../../Zotlabs/Module/Lostpass.php:96 +msgid "" +"Your password may be changed from the <em>Settings</em> page after " +"successful login." +msgstr "" + +#: ../../Zotlabs/Module/Lostpass.php:117 +#, php-format +msgid "Your password has changed at %s" +msgstr "" + +#: ../../Zotlabs/Module/Lostpass.php:130 +msgid "Forgot your Password?" +msgstr "" + +#: ../../Zotlabs/Module/Lostpass.php:131 +msgid "" +"Enter your email address and submit to have your password reset. Then check " +"your email for further instructions." +msgstr "" + +#: ../../Zotlabs/Module/Lostpass.php:132 +msgid "Email Address" +msgstr "" + +#: ../../Zotlabs/Module/Vote.php:40 +msgid "Poll not found." +msgstr "" + +#: ../../Zotlabs/Module/Vote.php:71 +msgid "Invalid response." +msgstr "" + +#: ../../Zotlabs/Module/Vote.php:132 +msgid "Response submitted. Updates may not appear instantly." +msgstr "" + +#: ../../Zotlabs/Module/Ping.php:337 ../../Zotlabs/Lib/Enotify.php:948 +msgid "sent you a private message" +msgstr "" + +#: ../../Zotlabs/Module/Ping.php:393 ../../Zotlabs/Lib/Enotify.php:914 +msgid "added your channel" +msgstr "" + +#: ../../Zotlabs/Module/Ping.php:418 ../../Zotlabs/Lib/Enotify.php:986 +msgid "requires approval" +msgstr "" + +#: ../../Zotlabs/Module/Ping.php:428 ../../Zotlabs/Lib/Enotify.php:957 +msgid "g A l F d" +msgstr "" + +#: ../../Zotlabs/Module/Ping.php:446 ../../Zotlabs/Lib/Enotify.php:960 +msgid "[today]" +msgstr "" + +#: ../../Zotlabs/Module/Ping.php:456 +msgid "posted an event" +msgstr "" + +#: ../../Zotlabs/Module/Ping.php:490 ../../Zotlabs/Lib/Enotify.php:829 +#: ../../Zotlabs/Lib/Enotify.php:931 +msgid "shared a file with you" +msgstr "" + +#: ../../Zotlabs/Module/Display.php:359 ../../Zotlabs/Module/Channel.php:449 +msgid "" +"You must enable javascript for your browser to be able to view this content." +msgstr "" + +#: ../../Zotlabs/Module/Display.php:377 +msgid "Article" +msgstr "" + +#: ../../Zotlabs/Module/Display.php:422 +msgid "Item has been removed." +msgstr "" + +#: ../../Zotlabs/Module/Admin.php:96 +#: ../../Zotlabs/Module/Admin/Accounts.php:167 +#: ../../Zotlabs/Module/Admin/Accounts.php:180 +#: ../../Zotlabs/Widget/Admin.php:23 +msgid "Accounts" +msgstr "" + +#: ../../Zotlabs/Module/Admin.php:97 +msgid "Blocked accounts" +msgstr "" + +#: ../../Zotlabs/Module/Admin.php:98 +msgid "Expired accounts" +msgstr "" + +#: ../../Zotlabs/Module/Admin.php:99 +msgid "Expiring accounts" +msgstr "" + +#: ../../Zotlabs/Module/Admin.php:114 +#: ../../Zotlabs/Module/Admin/Channels.php:146 +#: ../../Zotlabs/Widget/Admin.php:24 +msgid "Channels" +msgstr "" + +#: ../../Zotlabs/Module/Admin.php:120 +msgid "Message queues" +msgstr "" + +#: ../../Zotlabs/Module/Admin.php:134 +msgid "Your software should be updated" +msgstr "" + +#: ../../Zotlabs/Module/Admin.php:138 ../../Zotlabs/Module/Admin/Themes.php:122 +#: ../../Zotlabs/Module/Admin/Themes.php:156 +#: ../../Zotlabs/Module/Admin/Security.php:98 +#: ../../Zotlabs/Module/Admin/Accounts.php:166 +#: ../../Zotlabs/Module/Admin/Channels.php:145 +#: ../../Zotlabs/Module/Admin/Logs.php:82 +#: ../../Zotlabs/Module/Admin/Addons.php:342 +#: ../../Zotlabs/Module/Admin/Addons.php:440 +#: ../../Zotlabs/Module/Admin/Site.php:291 +msgid "Administration" +msgstr "" + +#: ../../Zotlabs/Module/Admin.php:139 +msgid "Summary" +msgstr "" + +#: ../../Zotlabs/Module/Admin.php:142 +msgid "Registered accounts" +msgstr "" + +#: ../../Zotlabs/Module/Admin.php:143 +msgid "Pending registrations" +msgstr "" + +#: ../../Zotlabs/Module/Admin.php:144 +msgid "Registered channels" +msgstr "" + +#: ../../Zotlabs/Module/Admin.php:145 +msgid "Active addons" +msgstr "" + +#: ../../Zotlabs/Module/Admin.php:146 +msgid "Version" +msgstr "" + +#: ../../Zotlabs/Module/Admin.php:147 +msgid "Repository version (master)" +msgstr "" + +#: ../../Zotlabs/Module/Admin.php:148 +msgid "Repository version (dev)" +msgstr "" + +#: ../../Zotlabs/Module/Photos.php:80 +msgid "Page owner information could not be retrieved." +msgstr "" + +#: ../../Zotlabs/Module/Photos.php:96 ../../Zotlabs/Module/Photos.php:115 +msgid "Album not found." +msgstr "" + +#: ../../Zotlabs/Module/Photos.php:105 +msgid "Delete Album" +msgstr "" + +#: ../../Zotlabs/Module/Photos.php:176 ../../Zotlabs/Module/Photos.php:1059 +msgid "Delete Photo" +msgstr "" + +#: ../../Zotlabs/Module/Photos.php:530 +msgid "No photos selected" +msgstr "" + +#: ../../Zotlabs/Module/Photos.php:579 +msgid "Access to this item is restricted." +msgstr "" + +#: ../../Zotlabs/Module/Photos.php:622 +#, php-format +msgid "%1$.2f MB of %2$.2f MB photo storage used." +msgstr "" + +#: ../../Zotlabs/Module/Photos.php:625 +#, php-format +msgid "%1$.2f MB photo storage used." +msgstr "" + +#: ../../Zotlabs/Module/Photos.php:667 +msgid "Upload Photos" +msgstr "" + +#: ../../Zotlabs/Module/Photos.php:671 +msgid "Enter an album name" +msgstr "" + +#: ../../Zotlabs/Module/Photos.php:672 +msgid "or select an existing album (doubleclick)" +msgstr "" + +#: ../../Zotlabs/Module/Photos.php:673 +msgid "Create a status post for this upload" +msgstr "" + +#: ../../Zotlabs/Module/Photos.php:675 +msgid "Description (optional)" +msgstr "" + +#: ../../Zotlabs/Module/Photos.php:761 +msgid "Show Newest First" +msgstr "" + +#: ../../Zotlabs/Module/Photos.php:763 +msgid "Show Oldest First" +msgstr "" + +#: ../../Zotlabs/Module/Photos.php:787 ../../Zotlabs/Module/Photos.php:1333 +#: ../../Zotlabs/Module/Embedphotos.php:170 +#: ../../Zotlabs/Widget/Portfolio.php:87 ../../Zotlabs/Widget/Album.php:78 +msgid "View Photo" +msgstr "" + +#: ../../Zotlabs/Module/Photos.php:793 ../../Zotlabs/Module/Photos.php:1255 +#: ../../Zotlabs/Module/Embedphotos.php:176 ../../Zotlabs/Lib/Apps.php:1112 +#: ../../Zotlabs/Lib/Apps.php:1196 ../../Zotlabs/Lib/Activity.php:1508 +#: ../../Zotlabs/Widget/Portfolio.php:95 ../../Zotlabs/Widget/Pinned.php:270 +#: ../../Zotlabs/Widget/Album.php:84 ../../include/conversation.php:1211 +#: ../../include/cdav.php:158 ../../include/cdav.php:159 +#: ../../include/cdav.php:167 ../../extend/addon/hzaddons/pubcrawl/as.php:1187 +msgid "Unknown" +msgstr "" + +#: ../../Zotlabs/Module/Photos.php:818 ../../Zotlabs/Module/Embedphotos.php:186 +#: ../../Zotlabs/Widget/Portfolio.php:108 ../../Zotlabs/Widget/Album.php:95 +msgid "Edit Album" +msgstr "" + +#: ../../Zotlabs/Module/Photos.php:820 ../../Zotlabs/Module/Photos.php:1364 +msgid "Add Photos" +msgstr "" + +#: ../../Zotlabs/Module/Photos.php:868 +msgid "Permission denied. Access to this item may be restricted." +msgstr "" + +#: ../../Zotlabs/Module/Photos.php:870 +msgid "Photo not available" +msgstr "" + +#: ../../Zotlabs/Module/Photos.php:928 +msgid "Use as profile photo" +msgstr "" + +#: ../../Zotlabs/Module/Photos.php:929 +msgid "Use as cover photo" +msgstr "" + +#: ../../Zotlabs/Module/Photos.php:936 +msgid "Private Photo" +msgstr "" + +#: ../../Zotlabs/Module/Photos.php:951 +msgid "View Full Size" +msgstr "" + +#: ../../Zotlabs/Module/Photos.php:1033 +msgid "Edit photo" +msgstr "" + +#: ../../Zotlabs/Module/Photos.php:1035 +msgid "Rotate CW (right)" +msgstr "" + +#: ../../Zotlabs/Module/Photos.php:1036 +msgid "Rotate CCW (left)" +msgstr "" + +#: ../../Zotlabs/Module/Photos.php:1039 +msgid "Move photo to album" +msgstr "" + +#: ../../Zotlabs/Module/Photos.php:1040 +msgid "Enter a new album name" +msgstr "" + +#: ../../Zotlabs/Module/Photos.php:1041 +msgid "or select an existing one (doubleclick)" +msgstr "" + +#: ../../Zotlabs/Module/Photos.php:1046 +msgid "Add a Tag" +msgstr "" + +#: ../../Zotlabs/Module/Photos.php:1054 +msgid "Example: @bob, @Barbara_Jensen, @jim@example.com" +msgstr "" + +#: ../../Zotlabs/Module/Photos.php:1057 +msgid "Flag as adult in album view" +msgstr "" + +#: ../../Zotlabs/Module/Photos.php:1076 ../../Zotlabs/Lib/ThreadItem.php:317 +msgid "I like this (toggle)" +msgstr "" + +#: ../../Zotlabs/Module/Photos.php:1077 ../../Zotlabs/Lib/ThreadItem.php:318 +msgid "I don't like this (toggle)" +msgstr "" + +#: ../../Zotlabs/Module/Photos.php:1079 ../../Zotlabs/Lib/ThreadItem.php:501 +#: ../../include/conversation.php:827 +msgid "Please wait" +msgstr "" + +#: ../../Zotlabs/Module/Photos.php:1095 ../../Zotlabs/Module/Photos.php:1213 +#: ../../Zotlabs/Lib/ThreadItem.php:822 +msgid "This is you" +msgstr "" + +#: ../../Zotlabs/Module/Photos.php:1097 ../../Zotlabs/Module/Photos.php:1215 +#: ../../Zotlabs/Lib/ThreadItem.php:824 ../../include/js_strings.php:6 +msgid "Comment" +msgstr "" + +#: ../../Zotlabs/Module/Photos.php:1113 ../../include/conversation.php:652 +msgctxt "title" +msgid "Likes" +msgstr "" + +#: ../../Zotlabs/Module/Photos.php:1113 ../../include/conversation.php:653 +msgctxt "title" +msgid "Dislikes" +msgstr "" + +#: ../../Zotlabs/Module/Photos.php:1114 ../../Zotlabs/Widget/Pinned.php:77 +#: ../../include/conversation.php:654 +msgctxt "title" +msgid "Agree" +msgstr "" + +#: ../../Zotlabs/Module/Photos.php:1114 ../../Zotlabs/Widget/Pinned.php:78 +#: ../../include/conversation.php:655 +msgctxt "title" +msgid "Disagree" +msgstr "" + +#: ../../Zotlabs/Module/Photos.php:1114 ../../Zotlabs/Widget/Pinned.php:79 +#: ../../include/conversation.php:656 +msgctxt "title" +msgid "Abstain" +msgstr "" + +#: ../../Zotlabs/Module/Photos.php:1115 ../../Zotlabs/Widget/Pinned.php:66 +#: ../../include/conversation.php:657 +msgctxt "title" +msgid "Attending" +msgstr "" + +#: ../../Zotlabs/Module/Photos.php:1115 ../../Zotlabs/Widget/Pinned.php:67 +#: ../../include/conversation.php:658 +msgctxt "title" +msgid "Not attending" +msgstr "" + +#: ../../Zotlabs/Module/Photos.php:1115 ../../Zotlabs/Widget/Pinned.php:68 +#: ../../include/conversation.php:659 +msgctxt "title" +msgid "Might attend" +msgstr "" + +#: ../../Zotlabs/Module/Photos.php:1132 ../../Zotlabs/Module/Photos.php:1144 +#: ../../Zotlabs/Lib/ThreadItem.php:238 ../../Zotlabs/Lib/ThreadItem.php:250 +msgid "View all" +msgstr "" + +#: ../../Zotlabs/Module/Photos.php:1136 ../../Zotlabs/Lib/ThreadItem.php:242 +#: ../../include/conversation.php:1749 ../../include/channel.php:1781 +#: ../../include/taxonomy.php:668 +msgctxt "noun" +msgid "Like" +msgid_plural "Likes" +msgstr[0] "" +msgstr[1] "" + +#: ../../Zotlabs/Module/Photos.php:1141 ../../Zotlabs/Lib/ThreadItem.php:247 +#: ../../include/conversation.php:1752 +msgctxt "noun" +msgid "Dislike" +msgid_plural "Dislikes" +msgstr[0] "" +msgstr[1] "" + +#: ../../Zotlabs/Module/Photos.php:1247 +msgid "Photo Tools" +msgstr "" + +#: ../../Zotlabs/Module/Photos.php:1256 +msgid "In This Photo:" +msgstr "" + +#: ../../Zotlabs/Module/Photos.php:1261 +msgid "Map" +msgstr "" + +#: ../../Zotlabs/Module/Photos.php:1269 ../../Zotlabs/Lib/ThreadItem.php:489 +msgctxt "noun" +msgid "Likes" +msgstr "" + +#: ../../Zotlabs/Module/Photos.php:1270 ../../Zotlabs/Lib/ThreadItem.php:490 +msgctxt "noun" +msgid "Dislikes" +msgstr "" + +#: ../../Zotlabs/Module/Photos.php:1275 ../../Zotlabs/Storage/Browser.php:411 +#: ../../Zotlabs/Lib/ThreadItem.php:495 ../../Zotlabs/Widget/Pinned.php:160 +#: ../../include/acl_selectors.php:155 +#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:233 +msgid "Close" +msgstr "" + +#: ../../Zotlabs/Module/Photos.php:1348 ../../Zotlabs/Module/Photos.php:1361 +#: ../../Zotlabs/Module/Photos.php:1362 ../../include/photos.php:667 +msgid "Recent Photos" +msgstr "" + +#: ../../Zotlabs/Module/Channel.php:99 ../../Zotlabs/Module/Profile.php:45 +#: ../../Zotlabs/Module/Hcard.php:37 +msgid "Posts and comments" +msgstr "" + +#: ../../Zotlabs/Module/Channel.php:106 ../../Zotlabs/Module/Profile.php:52 +#: ../../Zotlabs/Module/Hcard.php:44 +msgid "Only posts" +msgstr "" + +#: ../../Zotlabs/Module/Channel.php:174 +msgid "Insufficient permissions. Request redirected to profile page." +msgstr "" + +#: ../../Zotlabs/Module/Channel.php:189 ../../Zotlabs/Module/Network.php:164 +msgid "Search Results For:" +msgstr "" + +#: ../../Zotlabs/Module/Cards.php:51 +msgid "Cards App" +msgstr "" + +#: ../../Zotlabs/Module/Cards.php:52 +msgid "Create personal planning cards" +msgstr "" + +#: ../../Zotlabs/Module/Cards.php:112 +msgid "Add Card" +msgstr "" + +#: ../../Zotlabs/Module/Cards.php:207 ../../Zotlabs/Lib/Apps.php:326 +#: ../../include/nav.php:501 +msgid "Cards" +msgstr "" + +#: ../../Zotlabs/Module/Go.php:21 +msgid "This page is available only to site members" +msgstr "" + +#: ../../Zotlabs/Module/Go.php:27 +msgid "Welcome" +msgstr "" + +#: ../../Zotlabs/Module/Go.php:29 +msgid "What would you like to do?" +msgstr "" + +#: ../../Zotlabs/Module/Go.php:31 +msgid "" +"Please bookmark this page if you would like to return to it in the future" +msgstr "" + +#: ../../Zotlabs/Module/Go.php:35 +msgid "Upload a profile photo" +msgstr "" + +#: ../../Zotlabs/Module/Go.php:36 +msgid "Upload a cover photo" +msgstr "" + +#: ../../Zotlabs/Module/Go.php:37 +msgid "Edit your default profile" +msgstr "" + +#: ../../Zotlabs/Module/Go.php:38 ../../Zotlabs/Widget/Newmember.php:41 +msgid "View friend suggestions" +msgstr "" + +#: ../../Zotlabs/Module/Go.php:39 +msgid "View the channel directory" +msgstr "" + +#: ../../Zotlabs/Module/Go.php:40 +msgid "View/edit your channel settings" +msgstr "" + +#: ../../Zotlabs/Module/Go.php:41 +msgid "View the site or project documentation" +msgstr "" + +#: ../../Zotlabs/Module/Go.php:42 +msgid "Visit your channel homepage" +msgstr "" + +#: ../../Zotlabs/Module/Go.php:43 +msgid "" +"View your connections and/or add somebody whose address you already know" +msgstr "" + +#: ../../Zotlabs/Module/Go.php:44 +msgid "" +"View your personal stream (this may be empty until you add some connections)" +msgstr "" + +#: ../../Zotlabs/Module/Go.php:52 +msgid "View the public stream. Warning: this content is not moderated" +msgstr "" + +#: ../../Zotlabs/Module/Connections.php:58 +#: ../../Zotlabs/Module/Connections.php:115 +#: ../../Zotlabs/Module/Connections.php:273 +msgid "Active" +msgstr "" + +#: ../../Zotlabs/Module/Connections.php:63 +#: ../../Zotlabs/Module/Connections.php:181 +#: ../../Zotlabs/Module/Connections.php:278 +msgid "Blocked" +msgstr "" + +#: ../../Zotlabs/Module/Connections.php:68 +#: ../../Zotlabs/Module/Connections.php:188 +#: ../../Zotlabs/Module/Connections.php:277 +msgid "Ignored" +msgstr "" + +#: ../../Zotlabs/Module/Connections.php:73 +#: ../../Zotlabs/Module/Connections.php:202 +#: ../../Zotlabs/Module/Connections.php:276 +msgid "Hidden" +msgstr "" + +#: ../../Zotlabs/Module/Connections.php:78 +#: ../../Zotlabs/Module/Connections.php:195 +msgid "Archived/Unreachable" +msgstr "" + +#: ../../Zotlabs/Module/Connections.php:83 +#: ../../Zotlabs/Module/Connections.php:92 +#: ../../Zotlabs/Module/Notifications.php:50 ../../Zotlabs/Module/Menu.php:180 +msgid "New" +msgstr "" + +#: ../../Zotlabs/Module/Connections.php:157 +msgid "Active Connections" +msgstr "" + +#: ../../Zotlabs/Module/Connections.php:160 +msgid "Show active connections" +msgstr "" + +#: ../../Zotlabs/Module/Connections.php:164 +#: ../../Zotlabs/Widget/Notifications.php:104 +msgid "New Connections" +msgstr "" + +#: ../../Zotlabs/Module/Connections.php:167 +msgid "Show pending (new) connections" +msgstr "" + +#: ../../Zotlabs/Module/Connections.php:184 +msgid "Only show blocked connections" +msgstr "" + +#: ../../Zotlabs/Module/Connections.php:191 +msgid "Only show ignored connections" +msgstr "" + +#: ../../Zotlabs/Module/Connections.php:198 +msgid "Only show archived/unreachable connections" +msgstr "" + +#: ../../Zotlabs/Module/Connections.php:205 +msgid "Only show hidden connections" +msgstr "" + +#: ../../Zotlabs/Module/Connections.php:220 +msgid "Show all connections" +msgstr "" + +#: ../../Zotlabs/Module/Connections.php:274 +msgid "Pending approval" +msgstr "" + +#: ../../Zotlabs/Module/Connections.php:275 +msgid "Archived" +msgstr "" + +#: ../../Zotlabs/Module/Connections.php:279 +msgid "Not connected at this location" +msgstr "" + +#: ../../Zotlabs/Module/Connections.php:318 +#, php-format +msgid "%1$s [%2$s]" +msgstr "" + +#: ../../Zotlabs/Module/Connections.php:319 +msgid "Edit connection" +msgstr "" + +#: ../../Zotlabs/Module/Connections.php:321 +msgid "Delete connection" +msgstr "" + +#: ../../Zotlabs/Module/Connections.php:330 +msgid "Channel address" +msgstr "" + +#: ../../Zotlabs/Module/Connections.php:332 ../../include/features.php:291 +msgid "Network" +msgstr "" + +#: ../../Zotlabs/Module/Connections.php:335 +msgid "Call" +msgstr "" + +#: ../../Zotlabs/Module/Connections.php:337 +msgid "Status" +msgstr "" + +#: ../../Zotlabs/Module/Connections.php:339 +msgid "Connected" +msgstr "" + +#: ../../Zotlabs/Module/Connections.php:341 +msgid "Approve connection" +msgstr "" + +#: ../../Zotlabs/Module/Connections.php:342 +#: ../../Zotlabs/Module/Admin/Accounts.php:173 +#: ../../include/conversation.php:774 +msgid "Approve" +msgstr "" + +#: ../../Zotlabs/Module/Connections.php:343 +msgid "Ignore connection" +msgstr "" + +#: ../../Zotlabs/Module/Connections.php:345 +msgid "Recent activity" +msgstr "" + +#: ../../Zotlabs/Module/Connections.php:349 ../../Zotlabs/Module/Suggest.php:71 +#: ../../Zotlabs/Module/Directory.php:370 ../../Zotlabs/Widget/Follow.php:32 +#: ../../Zotlabs/Widget/Suggestions.php:46 ../../include/conversation.php:1100 +#: ../../include/channel.php:1618 ../../include/connections.php:110 +msgid "Connect" +msgstr "" + +#: ../../Zotlabs/Module/Connections.php:351 +msgid "Connect at this location" +msgstr "" + +#: ../../Zotlabs/Module/Connections.php:374 ../../Zotlabs/Lib/Apps.php:333 +#: ../../include/features.php:133 ../../include/text.php:1036 +msgid "Connections" +msgstr "" + +#: ../../Zotlabs/Module/Connections.php:379 +msgid "Search your connections" +msgstr "" + +#: ../../Zotlabs/Module/Connections.php:380 +msgid "Connections search" +msgstr "" + +#: ../../Zotlabs/Module/Connections.php:381 +#: ../../Zotlabs/Module/Directory.php:433 +#: ../../Zotlabs/Module/Directory.php:438 ../../include/contact_widgets.php:23 +msgid "Find" +msgstr "" + +#: ../../Zotlabs/Module/Editpost.php:38 ../../Zotlabs/Module/Editpost.php:43 +msgid "Item is not editable" +msgstr "" + +#: ../../Zotlabs/Module/Tagrm.php:48 ../../Zotlabs/Module/Tagrm.php:98 +msgid "Tag removed" +msgstr "" + +#: ../../Zotlabs/Module/Tagrm.php:123 +msgid "Remove Item Tag" +msgstr "" + +#: ../../Zotlabs/Module/Tagrm.php:125 +msgid "Select a tag to remove: " +msgstr "" + +#: ../../Zotlabs/Module/Affinity.php:35 +msgid "Affinity Tool settings updated." +msgstr "" + +#: ../../Zotlabs/Module/Affinity.php:47 +msgid "" +"This app presents a slider control in your connection editor and also on " +"your network page. The slider represents your degree of friendship " +"(affinity) with each connection. It allows you to zoom in or out and display " +"conversations from only your closest friends or everybody in your stream." +msgstr "" + +#: ../../Zotlabs/Module/Affinity.php:52 +msgid "Affinity Tool App" +msgstr "" + +#: ../../Zotlabs/Module/Affinity.php:57 +msgid "" +"The numbers below represent the minimum and maximum slider default positions " +"for your network/stream page as a percentage." +msgstr "" + +#: ../../Zotlabs/Module/Affinity.php:64 +msgid "Default maximum affinity level" +msgstr "" + +#: ../../Zotlabs/Module/Affinity.php:64 +msgid "0-99 default 99" +msgstr "" + +#: ../../Zotlabs/Module/Affinity.php:70 +msgid "Default minimum affinity level" +msgstr "" + +#: ../../Zotlabs/Module/Affinity.php:70 +msgid "0-99 - default 0" +msgstr "" + +#: ../../Zotlabs/Module/Affinity.php:76 +msgid "Persistent affinity levels" +msgstr "" + +#: ../../Zotlabs/Module/Affinity.php:76 +msgid "" +"If disabled the max and min levels will be reset to default after page reload" +msgstr "" + +#: ../../Zotlabs/Module/Affinity.php:84 +msgid "Affinity Tool Settings" +msgstr "" + +#: ../../Zotlabs/Module/Common.php:14 +msgid "No channel." +msgstr "" + +#: ../../Zotlabs/Module/Common.php:45 +msgid "No connections in common." +msgstr "" + +#: ../../Zotlabs/Module/Common.php:65 +msgid "View Common Connections" +msgstr "" + +#: ../../Zotlabs/Module/Share.php:104 ../../Zotlabs/Lib/Activity.php:2133 +#, php-format +msgid "🔁 Repeated %1$s's %2$s" +msgstr "" + +#: ../../Zotlabs/Module/Share.php:120 +msgid "Post repeated" +msgstr "" + +#: ../../Zotlabs/Module/Editwebpage.php:139 +msgid "Page link" +msgstr "" + +#: ../../Zotlabs/Module/Editwebpage.php:166 +msgid "Edit Webpage" +msgstr "" + +#: ../../Zotlabs/Module/Profile.php:93 +msgid "vcard" +msgstr "" + +#: ../../Zotlabs/Module/Article_edit.php:127 +msgid "Edit Article" +msgstr "" + +#: ../../Zotlabs/Module/Rmagic.php:46 +msgid "Authentication failed." +msgstr "" + +#: ../../Zotlabs/Module/Rmagic.php:96 ../../include/channel.php:2597 +#: ../../boot.php:1706 +msgid "Remote Authentication" +msgstr "" + +#: ../../Zotlabs/Module/Rmagic.php:97 ../../include/channel.php:2598 +msgid "Enter your channel address (e.g. channel@example.com)" +msgstr "" + +#: ../../Zotlabs/Module/Rmagic.php:98 ../../include/channel.php:2599 +msgid "Authenticate" +msgstr "" + +#: ../../Zotlabs/Module/Attach.php:67 +msgid "Item not available." +msgstr "" + +#: ../../Zotlabs/Module/Pconfig.php:32 ../../Zotlabs/Module/Pconfig.php:68 +msgid "This setting requires special processing and editing has been blocked." +msgstr "" + +#: ../../Zotlabs/Module/Pconfig.php:57 +msgid "Configuration Editor" +msgstr "" + +#: ../../Zotlabs/Module/Pconfig.php:58 +msgid "" +"Warning: Changing some settings could render your channel inoperable. Please " +"leave this page unless you are comfortable with and knowledgeable about how " +"to correctly use this feature." +msgstr "" + +#: ../../Zotlabs/Module/Randprof.php:29 +msgid "Random Channel App" +msgstr "" + +#: ../../Zotlabs/Module/Randprof.php:30 +msgid "Visit a random channel in the $Projectname network" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Themes.php:26 +msgid "Theme settings updated." +msgstr "" + +#: ../../Zotlabs/Module/Admin/Themes.php:61 +msgid "No themes found." +msgstr "" + +#: ../../Zotlabs/Module/Admin/Themes.php:95 +#: ../../Zotlabs/Module/Admin/Addons.php:311 +msgid "Disable" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Themes.php:97 +#: ../../Zotlabs/Module/Admin/Addons.php:314 +msgid "Enable" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Themes.php:116 +msgid "Screenshot" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Themes.php:123 +#: ../../Zotlabs/Module/Admin/Themes.php:157 ../../Zotlabs/Widget/Admin.php:28 +msgid "Themes" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Themes.php:124 +#: ../../Zotlabs/Module/Admin/Addons.php:344 +msgid "Toggle" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Themes.php:125 +#: ../../Zotlabs/Module/Admin/Addons.php:345 ../../Zotlabs/Lib/Apps.php:339 +#: ../../Zotlabs/Widget/Settings_menu.php:61 +#: ../../Zotlabs/Widget/Newmember.php:53 ../../include/nav.php:103 +msgid "Settings" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Themes.php:134 +#: ../../Zotlabs/Module/Admin/Addons.php:352 +msgid "Author: " +msgstr "" + +#: ../../Zotlabs/Module/Admin/Themes.php:135 +#: ../../Zotlabs/Module/Admin/Addons.php:353 +msgid "Maintainer: " +msgstr "" + +#: ../../Zotlabs/Module/Admin/Themes.php:162 +msgid "[Experimental]" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Themes.php:163 +msgid "[Unsupported]" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Security.php:89 +msgid "" +"By default, unfiltered HTML is allowed in embedded media. This is inherently " +"insecure." +msgstr "" + +#: ../../Zotlabs/Module/Admin/Security.php:92 +msgid "" +"The recommended setting is to only allow unfiltered HTML from the following " +"sites:" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Security.php:93 +msgid "" +"https://youtube.com/<br />https://www.youtube.com/<br />https://youtu.be/" +"<br />https://vimeo.com/<br />https://soundcloud.com/<br />" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Security.php:94 +msgid "" +"All other embedded content will be filtered, <strong>unless</strong> " +"embedded content from that site is explicitly blocked." +msgstr "" + +#: ../../Zotlabs/Module/Admin/Security.php:99 ../../Zotlabs/Widget/Admin.php:25 +msgid "Security" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Security.php:101 +msgid "Block public" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Security.php:101 +msgid "" +"Check to block public access to all otherwise public personal pages on this " +"site unless you are currently authenticated." +msgstr "" + +#: ../../Zotlabs/Module/Admin/Security.php:102 +msgid "Provide a cloud root directory" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Security.php:102 +msgid "" +"The cloud root directory lists all channel names which provide public files" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Security.php:103 +msgid "Show total disk space available to cloud uploads" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Security.php:104 +msgid "Set \"Transport Security\" HTTP header" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Security.php:105 +msgid "Set \"Content Security Policy\" HTTP header" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Security.php:106 +msgid "Allowed email domains" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Security.php:106 +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 "" + +#: ../../Zotlabs/Module/Admin/Security.php:107 +msgid "Not allowed email domains" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Security.php:107 +msgid "" +"Comma separated list of domains which are not allowed in email addresses for " +"registrations to this site. Wildcards are accepted. Empty to allow any " +"domains, unless allowed domains have been defined." +msgstr "" + +#: ../../Zotlabs/Module/Admin/Security.php:108 +msgid "Allow communications only from these sites" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Security.php:108 +msgid "" +"One site per line. Leave empty to allow communication from anywhere by " +"default" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Security.php:109 +msgid "Block communications from these sites" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Security.php:110 +msgid "Allow communications only from these channels" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Security.php:110 +msgid "" +"One channel (hash) per line. Leave empty to allow from any channel by default" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Security.php:111 +msgid "Block communications from these channels" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Security.php:112 +msgid "Only allow embeds from secure (SSL) websites and links." +msgstr "" + +#: ../../Zotlabs/Module/Admin/Security.php:113 +msgid "Allow unfiltered embedded HTML content only from these domains" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Security.php:113 +msgid "One site per line. By default embedded content is filtered." +msgstr "" + +#: ../../Zotlabs/Module/Admin/Security.php:114 +msgid "Block embedded HTML from these domains" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Security.php:115 +msgid "Allow SVG thumbnails in file browser" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Security.php:115 +msgid "WARNING: SVG images may contain malicious code." +msgstr "" + +#: ../../Zotlabs/Module/Admin/Security.php:116 +msgid "Allow embedded (inline) PDF files" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Accounts.php:37 +#, php-format +msgid "%s account blocked/unblocked" +msgid_plural "%s account blocked/unblocked" +msgstr[0] "" +msgstr[1] "" + +#: ../../Zotlabs/Module/Admin/Accounts.php:44 +#, php-format +msgid "%s account deleted" +msgid_plural "%s accounts deleted" +msgstr[0] "" +msgstr[1] "" + +#: ../../Zotlabs/Module/Admin/Accounts.php:80 +msgid "Account not found" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Accounts.php:91 ../../include/channel.php:2757 +#, php-format +msgid "Account '%s' deleted" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Accounts.php:99 +#, php-format +msgid "Account '%s' blocked" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Accounts.php:107 +#, php-format +msgid "Account '%s' unblocked" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Accounts.php:169 +#: ../../Zotlabs/Module/Admin/Channels.php:148 +msgid "select all" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Accounts.php:170 +msgid "Registrations waiting for confirm" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Accounts.php:171 +msgid "Request date" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Accounts.php:172 +msgid "No registrations." +msgstr "" + +#: ../../Zotlabs/Module/Admin/Accounts.php:182 +msgid "ID" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Accounts.php:184 +msgid "All Channels" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Accounts.php:185 +msgid "Register date" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Accounts.php:186 +msgid "Last login" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Accounts.php:187 +msgid "Expires" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Accounts.php:188 +msgid "Service Class" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Accounts.php:190 +msgid "" +"Selected accounts will be deleted!\\n\\nEverything these accounts had posted " +"on this site will be permanently deleted!\\n\\nAre you sure?" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Accounts.php:191 +msgid "" +"The account {0} will be deleted!\\n\\nEverything this account has posted on " +"this site will be permanently deleted!\\n\\nAre you sure?" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Features.php:55 +#: ../../Zotlabs/Module/Admin/Features.php:56 +#: ../../Zotlabs/Module/Settings/Features.php:38 ../../include/features.php:55 +msgid "Off" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Features.php:55 +#: ../../Zotlabs/Module/Admin/Features.php:56 +#: ../../Zotlabs/Module/Settings/Features.php:38 ../../include/features.php:55 +msgid "On" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Features.php:56 +#, php-format +msgid "Lock feature %s" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Features.php:64 +msgid "Manage Additional Features" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Queue.php:35 +msgid "Queue Statistics" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Queue.php:36 +msgid "Total Entries" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Queue.php:37 +msgid "Priority" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Queue.php:38 +msgid "Destination URL" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Queue.php:39 +msgid "Mark hub permanently offline" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Queue.php:40 +msgid "Empty queue for this hub" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Queue.php:41 +msgid "Last known contact" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Dbsync.php:19 +#: ../../Zotlabs/Module/Admin/Dbsync.php:59 +msgid "Update has been marked successful" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Dbsync.php:32 +#, php-format +msgid "Verification of update %s failed. Check system logs." +msgstr "" + +#: ../../Zotlabs/Module/Admin/Dbsync.php:35 +#: ../../Zotlabs/Module/Admin/Dbsync.php:74 +#, php-format +msgid "Update %s was successfully applied." +msgstr "" + +#: ../../Zotlabs/Module/Admin/Dbsync.php:39 +#, php-format +msgid "Verifying update %s did not return a status. Unknown if it succeeded." +msgstr "" + +#: ../../Zotlabs/Module/Admin/Dbsync.php:42 +#, php-format +msgid "Update %s does not contain a verification function." +msgstr "" + +#: ../../Zotlabs/Module/Admin/Dbsync.php:46 +#: ../../Zotlabs/Module/Admin/Dbsync.php:81 +#, php-format +msgid "Update function %s could not be found." +msgstr "" + +#: ../../Zotlabs/Module/Admin/Dbsync.php:71 +#, php-format +msgid "Executing update procedure %s failed. Check system logs." +msgstr "" + +#: ../../Zotlabs/Module/Admin/Dbsync.php:78 +#, php-format +msgid "" +"Update %s did not return a status. It cannot be determined if it was " +"successful." +msgstr "" + +#: ../../Zotlabs/Module/Admin/Dbsync.php:99 +msgid "Failed Updates" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Dbsync.php:101 +msgid "Mark success (if update was manually applied)" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Dbsync.php:102 +msgid "Attempt to verify this update if a verification procedure exists" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Dbsync.php:103 +msgid "Attempt to execute this update step automatically" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Dbsync.php:108 +msgid "No failed updates." +msgstr "" + +#: ../../Zotlabs/Module/Admin/Channels.php:31 +#, php-format +msgid "%s channel censored/uncensored" +msgid_plural "%s channels censored/uncensored" +msgstr[0] "" +msgstr[1] "" + +#: ../../Zotlabs/Module/Admin/Channels.php:40 +#, php-format +msgid "%s channel code allowed/disallowed" +msgid_plural "%s channels code allowed/disallowed" +msgstr[0] "" +msgstr[1] "" + +#: ../../Zotlabs/Module/Admin/Channels.php:46 +#, php-format +msgid "%s channel deleted" +msgid_plural "%s channels deleted" +msgstr[0] "" +msgstr[1] "" + +#: ../../Zotlabs/Module/Admin/Channels.php:65 +msgid "Channel not found" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Channels.php:75 +#, php-format +msgid "Channel '%s' deleted" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Channels.php:87 +#, php-format +msgid "Channel '%s' censored" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Channels.php:87 +#, php-format +msgid "Channel '%s' uncensored" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Channels.php:98 +#, php-format +msgid "Channel '%s' code allowed" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Channels.php:98 +#, php-format +msgid "Channel '%s' code disallowed" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Channels.php:150 +#: ../../Zotlabs/Module/Directory.php:362 +msgid "Censor" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Channels.php:151 +#: ../../Zotlabs/Module/Directory.php:362 +msgid "Uncensor" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Channels.php:152 +msgid "Allow Code" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Channels.php:153 +msgid "Disallow Code" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Channels.php:154 ../../include/nav.php:421 +msgid "Channel" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Channels.php:158 +msgid "UID" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Channels.php:162 +msgid "" +"Selected channels will be deleted!\\n\\nEverything that was posted in these " +"channels on this site will be permanently deleted!\\n\\nAre you sure?" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Channels.php:163 +msgid "" +"The channel {0} will be deleted!\\n\\nEverything that was posted in this " +"channel on this site will be permanently deleted!\\n\\nAre you sure?" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Logs.php:28 +msgid "Log settings updated." +msgstr "" + +#: ../../Zotlabs/Module/Admin/Logs.php:83 ../../Zotlabs/Widget/Admin.php:48 +#: ../../Zotlabs/Widget/Admin.php:58 +msgid "Logs" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Logs.php:85 +msgid "Clear" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Logs.php:91 +msgid "Debugging" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Logs.php:92 +msgid "Log file" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Logs.php:92 +msgid "" +"Must be writable by web server. Relative to your top-level webserver " +"directory." +msgstr "" + +#: ../../Zotlabs/Module/Admin/Logs.php:93 +msgid "Log level" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Account_edit.php:29 +#, php-format +msgid "Password changed for account %d." +msgstr "" + +#: ../../Zotlabs/Module/Admin/Account_edit.php:46 +msgid "Account settings updated." +msgstr "" + +#: ../../Zotlabs/Module/Admin/Account_edit.php:61 +msgid "Account not found." +msgstr "" + +#: ../../Zotlabs/Module/Admin/Account_edit.php:68 +msgid "Account Edit" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Account_edit.php:69 +msgid "New Password" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Account_edit.php:70 +msgid "New Password again" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Account_edit.php:71 +msgid "Account language (for emails)" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Account_edit.php:72 +msgid "Service class" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Addons.php:290 +#, php-format +msgid "Plugin %s disabled." +msgstr "" + +#: ../../Zotlabs/Module/Admin/Addons.php:295 +#, php-format +msgid "Plugin %s enabled." +msgstr "" + +#: ../../Zotlabs/Module/Admin/Addons.php:343 +#: ../../Zotlabs/Module/Admin/Addons.php:441 ../../Zotlabs/Widget/Admin.php:27 +msgid "Addons" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Addons.php:354 +msgid "Minimum project version: " +msgstr "" + +#: ../../Zotlabs/Module/Admin/Addons.php:355 +msgid "Maximum project version: " +msgstr "" + +#: ../../Zotlabs/Module/Admin/Addons.php:356 +msgid "Minimum PHP version: " +msgstr "" + +#: ../../Zotlabs/Module/Admin/Addons.php:357 +msgid "Compatible Server Roles: " +msgstr "" + +#: ../../Zotlabs/Module/Admin/Addons.php:358 +msgid "Requires: " +msgstr "" + +#: ../../Zotlabs/Module/Admin/Addons.php:359 +#: ../../Zotlabs/Module/Admin/Addons.php:446 +msgid "Disabled - version incompatibility" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Addons.php:415 +msgid "Enter the public git repository URL of the addon repo." +msgstr "" + +#: ../../Zotlabs/Module/Admin/Addons.php:416 +msgid "Addon repo git URL" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Addons.php:417 +msgid "Custom repo name" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Addons.php:417 +msgid "(optional)" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Addons.php:418 +msgid "Download Addon Repo" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Addons.php:425 +msgid "Install new repo" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Addons.php:426 ../../Zotlabs/Lib/Apps.php:536 +msgid "Install" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Addons.php:449 +msgid "Manage Repos" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Addons.php:450 +msgid "Installed Addon Repositories" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Addons.php:451 +msgid "Install a New Addon Repository" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Addons.php:458 +msgid "Switch branch" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Site.php:165 +msgid "Site settings updated." +msgstr "" + +#: ../../Zotlabs/Module/Admin/Site.php:191 ../../include/text.php:3381 +#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:335 +#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:359 +#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:435 +#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:459 +#: ../../view/theme/redbasic/php/config.php:15 +msgid "Default" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Site.php:202 +#: ../../Zotlabs/Module/Settings/Display.php:118 +#, php-format +msgid "%s - (Incompatible)" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Site.php:209 +msgid "mobile" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Site.php:211 +msgid "experimental" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Site.php:213 +msgid "unsupported" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Site.php:260 +msgid "Yes - with approval" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Site.php:266 +msgid "My site is not a public server" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Site.php:267 +msgid "My site has paid access only" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Site.php:268 +msgid "My site has free access only" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Site.php:269 +msgid "My site offers free accounts with optional paid upgrades" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Site.php:283 +msgid "Default permission role for new accounts" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Site.php:283 +msgid "" +"This role will be used for the first channel created after registration." +msgstr "" + +#: ../../Zotlabs/Module/Admin/Site.php:292 ../../Zotlabs/Widget/Admin.php:22 +msgid "Site" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Site.php:294 +#: ../../Zotlabs/Module/Register.php:277 +msgid "Registration" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Site.php:295 +msgid "File upload" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Site.php:296 +msgid "Policies" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Site.php:297 ../../include/contact_widgets.php:16 +#: ../../include/acl_selectors.php:144 +msgid "Advanced" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Site.php:301 +#: ../../extend/addon/hzaddons/statusnet/statusnet.php:593 +msgid "Site name" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Site.php:303 +msgid "Banner/Logo" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Site.php:303 +msgid "Unfiltered HTML/CSS/JS is allowed" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Site.php:304 +msgid "Administrator Information" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Site.php:304 +msgid "" +"Contact information for site administrators. Displayed on siteinfo page. " +"BBCode can be used here" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Site.php:305 ../../Zotlabs/Module/Siteinfo.php:24 +msgid "Site Information" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Site.php:305 +msgid "" +"Publicly visible description of this site. Displayed on siteinfo page. " +"BBCode can be used here" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Site.php:306 +msgid "System language" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Site.php:307 +msgid "System theme" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Site.php:307 +msgid "" +"Default system theme - may be over-ridden by user profiles - <a href='#' " +"id='cnftheme'>change theme settings</a>" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Site.php:310 +msgid "Allow Feeds as Connections" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Site.php:310 +msgid "(Heavy system resource usage)" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Site.php:311 +msgid "Maximum image size" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Site.php:311 +msgid "" +"Maximum size in bytes of uploaded images. Default is 0, which means no " +"limits." +msgstr "" + +#: ../../Zotlabs/Module/Admin/Site.php:312 +msgid "Does this site allow new member registration?" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Site.php:313 +msgid "Invitation only" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Site.php:313 +msgid "" +"Only allow new member registrations with an invitation code. Above register " +"policy must be set to Yes." +msgstr "" + +#: ../../Zotlabs/Module/Admin/Site.php:314 +msgid "Minimum age" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Site.php:314 +msgid "Minimum age (in years) for who may register on this site." +msgstr "" + +#: ../../Zotlabs/Module/Admin/Site.php:315 +msgid "Which best describes the types of account offered by this hub?" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Site.php:315 +msgid "This is displayed on the public server site list." +msgstr "" + +#: ../../Zotlabs/Module/Admin/Site.php:316 +msgid "Register text" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Site.php:316 +msgid "Will be displayed prominently on the registration page." +msgstr "" + +#: ../../Zotlabs/Module/Admin/Site.php:318 +msgid "Site homepage to show visitors (default: login box)" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Site.php:318 +msgid "" +"example: 'pubstream' to show public stream, 'page/sys/home' to show a system " +"webpage called 'home' or 'include:home.html' to include a file." +msgstr "" + +#: ../../Zotlabs/Module/Admin/Site.php:319 +msgid "Preserve site homepage URL" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Site.php:319 +msgid "" +"Present the site homepage in a frame at the original location instead of " +"redirecting" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Site.php:320 +msgid "Accounts abandoned after x days" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Site.php:320 +msgid "" +"Will not waste system resources polling external sites for abandonded " +"accounts. Enter 0 for no time limit." +msgstr "" + +#: ../../Zotlabs/Module/Admin/Site.php:321 +msgid "Allowed friend domains" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Site.php:321 +msgid "" +"Comma separated list of domains which are allowed to establish friendships " +"with this site. Wildcards are accepted. Empty to allow any domains" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Site.php:322 +msgid "Verify Email Addresses" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Site.php:322 +msgid "" +"Check to verify email addresses used in account registration (recommended)." +msgstr "" + +#: ../../Zotlabs/Module/Admin/Site.php:323 +msgid "Force publish" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Site.php:323 +msgid "" +"Check to force all profiles on this site to be listed in the site directory." +msgstr "" + +#: ../../Zotlabs/Module/Admin/Site.php:324 +msgid "Import Public Streams" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Site.php:324 +msgid "" +"Import and allow access to public content pulled from other sites. Warning: " +"this content is unmoderated." +msgstr "" + +#: ../../Zotlabs/Module/Admin/Site.php:325 +msgid "Site only Public Streams" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Site.php:325 +msgid "" +"Allow access to public content originating only from this site if Imported " +"Public Streams are disabled." +msgstr "" + +#: ../../Zotlabs/Module/Admin/Site.php:326 +msgid "Allow anybody on the internet to access the Public streams" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Site.php:326 +msgid "" +"Disable to require authentication before viewing. Warning: this content is " +"unmoderated." +msgstr "" + +#: ../../Zotlabs/Module/Admin/Site.php:327 +msgid "Only import Public stream posts with this text" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Site.php:328 +msgid "Do not import Public stream posts with this text" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Site.php:331 +msgid "Login on Homepage" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Site.php:331 +msgid "" +"Present a login box to visitors on the home page if no other content has " +"been configured." +msgstr "" + +#: ../../Zotlabs/Module/Admin/Site.php:332 +msgid "Enable context help" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Site.php:332 +msgid "" +"Display contextual help for the current page when the help button is pressed." +msgstr "" + +#: ../../Zotlabs/Module/Admin/Site.php:334 +msgid "Reply-to email address for system generated email." +msgstr "" + +#: ../../Zotlabs/Module/Admin/Site.php:335 +msgid "Sender (From) email address for system generated email." +msgstr "" + +#: ../../Zotlabs/Module/Admin/Site.php:336 +msgid "Name of email sender for system generated email." +msgstr "" + +#: ../../Zotlabs/Module/Admin/Site.php:338 +msgid "Directory Server URL" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Site.php:338 +msgid "Default directory server" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Site.php:340 +msgid "Enable SSE Notifications" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Site.php:340 +msgid "" +"If disabled, traditional polling will be used. Warning: this setting might " +"not be suited for shared hosting" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Site.php:342 +msgid "Proxy user" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Site.php:343 +msgid "Proxy URL" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Site.php:344 +msgid "Network timeout" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Site.php:344 +msgid "Value is in seconds. Set to 0 for unlimited (not recommended)." +msgstr "" + +#: ../../Zotlabs/Module/Admin/Site.php:345 +msgid "Delivery interval" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Site.php:345 +msgid "" +"Delay background delivery processes by this many seconds to reduce system " +"load. Recommend: 4-5 for shared hosts, 2-3 for virtual private servers. 0-1 " +"for large dedicated servers." +msgstr "" + +#: ../../Zotlabs/Module/Admin/Site.php:346 +msgid "Deliveries per process" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Site.php:346 +msgid "" +"Number of deliveries to attempt in a single operating system process. Adjust " +"if necessary to tune system performance. Recommend: 1-5." +msgstr "" + +#: ../../Zotlabs/Module/Admin/Site.php:347 +msgid "Queue Threshold" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Site.php:347 +msgid "" +"Always defer immediate delivery if queue contains more than this number of " +"entries." +msgstr "" + +#: ../../Zotlabs/Module/Admin/Site.php:348 +msgid "Poll interval" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Site.php:348 +msgid "" +"Delay background polling processes by this many seconds to reduce system " +"load. If 0, use delivery interval." +msgstr "" + +#: ../../Zotlabs/Module/Admin/Site.php:349 +msgid "Path to ImageMagick convert program" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Site.php:349 +msgid "" +"If set, use this program to generate photo thumbnails for huge images ( > " +"4000 pixels in either dimension), otherwise memory exhaustion may occur. " +"Example: /usr/bin/convert" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Site.php:350 +msgid "Maximum Load Average" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Site.php:350 +msgid "" +"Maximum system load before delivery and poll processes are deferred - " +"default 50." +msgstr "" + +#: ../../Zotlabs/Module/Admin/Site.php:351 +msgid "Expiration period in days for imported (grid/network) content" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Site.php:351 +msgid "0 for no expiration of imported content" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Site.php:352 +msgid "" +"Do not expire any posts which have comments less than this many days ago" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Site.php:354 +msgid "" +"Public servers: Optional landing (marketing) webpage for new registrants" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Site.php:354 +#, php-format +msgid "Create this page first. Default is %s/register" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Site.php:355 +msgid "Page to display after creating a new channel" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Site.php:355 +msgid "Default: profiles" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Site.php:357 +msgid "Optional: site location" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Site.php:357 +msgid "Region or country" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Profs.php:89 +msgid "New Profile Field" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Profs.php:90 +#: ../../Zotlabs/Module/Admin/Profs.php:110 +msgid "Field nickname" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Profs.php:90 +#: ../../Zotlabs/Module/Admin/Profs.php:110 +msgid "System name of field" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Profs.php:91 +#: ../../Zotlabs/Module/Admin/Profs.php:111 +msgid "Input type" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Profs.php:92 +#: ../../Zotlabs/Module/Admin/Profs.php:112 +msgid "Field Name" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Profs.php:92 +#: ../../Zotlabs/Module/Admin/Profs.php:112 +msgid "Label on profile pages" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Profs.php:93 +#: ../../Zotlabs/Module/Admin/Profs.php:113 +msgid "Help text" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Profs.php:93 +#: ../../Zotlabs/Module/Admin/Profs.php:113 +msgid "Additional info (optional)" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Profs.php:103 +msgid "Field definition not found" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Profs.php:109 +msgid "Edit Profile Field" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Profs.php:168 ../../Zotlabs/Widget/Admin.php:30 +msgid "Profile Fields" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Profs.php:169 +msgid "Basic Profile Fields" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Profs.php:170 +msgid "Advanced Profile Fields" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Profs.php:170 +msgid "(In addition to basic fields)" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Profs.php:172 +msgid "All available fields" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Profs.php:173 +msgid "Custom Fields" +msgstr "" + +#: ../../Zotlabs/Module/Admin/Profs.php:177 +msgid "Create Custom Field" +msgstr "" + +#: ../../Zotlabs/Module/Notify.php:61 ../../Zotlabs/Module/Notifications.php:55 +msgid "No more system notifications." +msgstr "" + +#: ../../Zotlabs/Module/Notify.php:65 ../../Zotlabs/Module/Notifications.php:59 +msgid "System Notifications" +msgstr "" + +#: ../../Zotlabs/Module/Cal.php:64 +msgid "Permissions denied." +msgstr "" + +#: ../../Zotlabs/Module/Thing.php:122 +msgid "Thing updated" +msgstr "" + +#: ../../Zotlabs/Module/Thing.php:174 +msgid "Object store: failed" +msgstr "" + +#: ../../Zotlabs/Module/Thing.php:178 +msgid "Thing added" +msgstr "" + +#: ../../Zotlabs/Module/Thing.php:204 +#, php-format +msgid "OBJ: %1$s %2$s %3$s" +msgstr "" + +#: ../../Zotlabs/Module/Thing.php:267 +msgid "Show Thing" +msgstr "" + +#: ../../Zotlabs/Module/Thing.php:274 +msgid "item not found." +msgstr "" + +#: ../../Zotlabs/Module/Thing.php:307 +msgid "Edit Thing" +msgstr "" + +#: ../../Zotlabs/Module/Thing.php:309 ../../Zotlabs/Module/Thing.php:366 +msgid "Select a profile" +msgstr "" + +#: ../../Zotlabs/Module/Thing.php:313 ../../Zotlabs/Module/Thing.php:369 +msgid "Post an activity" +msgstr "" + +#: ../../Zotlabs/Module/Thing.php:313 ../../Zotlabs/Module/Thing.php:369 +msgid "Only sends to viewers of the applicable profile" +msgstr "" + +#: ../../Zotlabs/Module/Thing.php:315 ../../Zotlabs/Module/Thing.php:371 +msgid "Name of thing e.g. something" +msgstr "" + +#: ../../Zotlabs/Module/Thing.php:317 ../../Zotlabs/Module/Thing.php:372 +msgid "URL of thing (optional)" +msgstr "" + +#: ../../Zotlabs/Module/Thing.php:319 ../../Zotlabs/Module/Thing.php:373 +msgid "URL for photo of thing (optional)" +msgstr "" + +#: ../../Zotlabs/Module/Thing.php:364 +msgid "Add Thing to your Profile" +msgstr "" + +#: ../../Zotlabs/Module/Suggest.php:40 +msgid "Suggest Channels App" +msgstr "" + +#: ../../Zotlabs/Module/Suggest.php:41 +msgid "" +"Suggestions for channels in the $Projectname network you might be interested " +"in" +msgstr "" + +#: ../../Zotlabs/Module/Suggest.php:54 +msgid "" +"No suggestions available. If this is a new site, please try again in 24 " +"hours." +msgstr "" + +#: ../../Zotlabs/Module/Suggest.php:73 ../../Zotlabs/Widget/Suggestions.php:48 +msgid "Ignore/Hide" +msgstr "" + +#: ../../Zotlabs/Module/Suggest.php:79 ../../Zotlabs/Module/Directory.php:437 +#: ../../include/contact_widgets.php:24 +msgid "Channel Suggestions" +msgstr "" + +#: ../../Zotlabs/Module/Email_validation.php:36 +msgid "Email Verification Required" +msgstr "" + +#: ../../Zotlabs/Module/Email_validation.php:37 +#, php-format +msgid "" +"A verification token was sent to your email address [%s]. Enter that token " +"here to complete the account verification step. Please allow a few minutes " +"for delivery, and check your spam folder if you do not see the message." +msgstr "" + +#: ../../Zotlabs/Module/Email_validation.php:38 +msgid "Resend Email" +msgstr "" + +#: ../../Zotlabs/Module/Email_validation.php:41 +msgid "Validation token" +msgstr "" + +#: ../../Zotlabs/Module/Notes.php:57 +msgid "Notes App" +msgstr "" + +#: ../../Zotlabs/Module/Notes.php:58 +msgid "A simple notes app with a widget (note: notes are not encrypted)" +msgstr "" + +#: ../../Zotlabs/Module/Tokens.php:39 +#, php-format +msgid "This channel is limited to %d tokens" +msgstr "" + +#: ../../Zotlabs/Module/Tokens.php:45 +msgid "Name and Password are required." +msgstr "" + +#: ../../Zotlabs/Module/Tokens.php:85 +msgid "Token saved." +msgstr "" + +#: ../../Zotlabs/Module/Tokens.php:99 +msgid "Guest Access App" +msgstr "" + +#: ../../Zotlabs/Module/Tokens.php:100 +msgid "Create access tokens so that non-members can access private content" +msgstr "" + +#: ../../Zotlabs/Module/Tokens.php:133 +msgid "" +"Use this form to create temporary access identifiers to share things with " +"non-members. These identities may be used in Access Control Lists and " +"visitors may login using these credentials to access private content." +msgstr "" + +#: ../../Zotlabs/Module/Tokens.php:135 +msgid "" +"You may also provide <em>dropbox</em> style access links to friends and " +"associates by adding the Login Password to any specific site URL as shown. " +"Examples:" +msgstr "" + +#: ../../Zotlabs/Module/Tokens.php:170 +msgid "Guest Access Tokens" +msgstr "" + +#: ../../Zotlabs/Module/Tokens.php:177 +msgid "Login Name" +msgstr "" + +#: ../../Zotlabs/Module/Tokens.php:178 +msgid "Login Password" +msgstr "" + +#: ../../Zotlabs/Module/Tokens.php:179 +msgid "Expires (yyyy-mm-dd)" +msgstr "" + +#: ../../Zotlabs/Module/Apporder.php:47 +msgid "Change Order of Pinned Navbar Apps" +msgstr "" + +#: ../../Zotlabs/Module/Apporder.php:47 +msgid "Change Order of App Tray Apps" +msgstr "" + +#: ../../Zotlabs/Module/Apporder.php:48 +msgid "" +"Use arrows to move the corresponding app left (top) or right (bottom) in the " +"navbar" +msgstr "" + +#: ../../Zotlabs/Module/Apporder.php:48 +msgid "Use arrows to move the corresponding app up or down in the app tray" +msgstr "" + +#: ../../Zotlabs/Module/Notifications.php:60 +#: ../../Zotlabs/Lib/ThreadItem.php:482 +msgid "Mark all seen" +msgstr "" + +#: ../../Zotlabs/Module/Home.php:72 ../../Zotlabs/Module/Home.php:80 +#: ../../Zotlabs/Lib/Enotify.php:66 +#: ../../extend/addon/hzaddons/opensearch/opensearch.php:42 +msgid "$Projectname" +msgstr "" + +#: ../../Zotlabs/Module/Home.php:90 +#, php-format +msgid "Welcome to %s" +msgstr "" + +#: ../../Zotlabs/Module/Articles.php:52 +msgid "Articles App" +msgstr "" + +#: ../../Zotlabs/Module/Articles.php:53 +msgid "Create interactive articles" +msgstr "" + +#: ../../Zotlabs/Module/Articles.php:116 +msgid "Add Article" +msgstr "" + +#: ../../Zotlabs/Module/Articles.php:226 ../../Zotlabs/Lib/Apps.php:325 +#: ../../include/nav.php:512 +msgid "Articles" +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:167 +msgid "$Projectname Server - Setup" +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:171 +msgid "Could not connect to database." +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:175 +msgid "" +"Could not connect to specified site URL. Possible SSL certificate or DNS " +"issue." +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:182 +msgid "Could not create table." +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:188 +msgid "Your site database has been installed." +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:194 +msgid "" +"You may need to import the file \"install/schema_xxx.sql\" manually using a " +"database client." +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:195 ../../Zotlabs/Module/Setup.php:259 +#: ../../Zotlabs/Module/Setup.php:766 +msgid "Please see the file \"install/INSTALL.txt\"." +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:256 +msgid "System check" +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:261 +msgid "Check again" +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:282 +msgid "Database connection" +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:283 +msgid "" +"In order to install $Projectname we need to know how to connect to your " +"database." +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:284 +msgid "" +"Please contact your hosting provider or site administrator if you have " +"questions about these settings." +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:285 +msgid "" +"The database you specify below should already exist. If it does not, please " +"create it before continuing." +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:289 +msgid "Database Server Name" +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:289 +msgid "Default is 127.0.0.1" +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:290 +msgid "Database Port" +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:290 +msgid "Communication port number - use 0 for default" +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:291 +msgid "Database Login Name" +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:292 +msgid "Database Login Password" +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:293 +msgid "Database Name" +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:294 +msgid "Database Type" +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:296 ../../Zotlabs/Module/Setup.php:336 +msgid "Site administrator email address" +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:296 ../../Zotlabs/Module/Setup.php:336 +msgid "" +"Your account email address must match this in order to use the web admin " +"panel." +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:297 ../../Zotlabs/Module/Setup.php:338 +msgid "Website URL" +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:297 ../../Zotlabs/Module/Setup.php:338 +msgid "Please use SSL (https) URL if available." +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:298 ../../Zotlabs/Module/Setup.php:340 +msgid "Please select a default timezone for your website" +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:325 +msgid "Site settings" +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:379 +msgid "PHP version 7.1 or greater is required." +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:380 +msgid "PHP version" +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:396 +msgid "Could not find a command line version of PHP in the web server PATH." +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:397 +msgid "" +"If you don't have a command line version of PHP installed on server, you " +"will not be able to run background polling via cron." +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:401 +msgid "PHP executable path" +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:401 +msgid "" +"Enter full path to php executable. You can leave this blank to continue the " +"installation." +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:406 +msgid "Command line PHP" +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:416 +msgid "" +"Unable to check command line PHP, as shell_exec() is disabled. This is " +"required." +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:420 +msgid "" +"The command line version of PHP on your system does not have " +"\"register_argc_argv\" enabled." +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:421 +msgid "This is required for message delivery to work." +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:424 +msgid "PHP register_argc_argv" +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:444 +msgid "" +"This is not sufficient to upload larger images or files. You should be able " +"to upload at least 4 MB at once." +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:446 +#, php-format +msgid "" +"Your max allowed total upload size is set to %s. Maximum size of one file to " +"upload is set to %s. You are allowed to upload up to %d files at once." +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:452 +msgid "You can adjust these settings in the server php.ini file." +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:454 +msgid "PHP upload limits" +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:477 +msgid "" +"Error: the \"openssl_pkey_new\" function on this system is not able to " +"generate encryption keys" +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:478 +msgid "" +"If running under Windows, please see \"http://www.php.net/manual/en/openssl." +"installation.php\"." +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:481 +msgid "Generate encryption keys" +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:498 +msgid "libCurl PHP module" +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:499 +msgid "GD graphics PHP module" +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:500 +msgid "OpenSSL PHP module" +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:501 +msgid "PDO database PHP module" +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:502 +msgid "mb_string PHP module" +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:503 +msgid "xml PHP module" +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:504 +msgid "zip PHP module" +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:508 ../../Zotlabs/Module/Setup.php:510 +msgid "Apache mod_rewrite module" +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:508 +msgid "" +"Error: Apache webserver mod-rewrite module is required but not installed." +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:514 ../../Zotlabs/Module/Setup.php:517 +msgid "exec" +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:514 +msgid "" +"Error: exec is required but is either not installed or has been disabled in " +"php.ini" +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:520 ../../Zotlabs/Module/Setup.php:523 +msgid "shell_exec" +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:520 +msgid "" +"Error: shell_exec is required but is either not installed or has been " +"disabled in php.ini" +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:528 +msgid "Error: libCURL PHP module required but not installed." +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:532 +msgid "" +"Error: GD PHP module with JPEG support or ImageMagick graphics library " +"required but not installed." +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:536 +msgid "Error: openssl PHP module required but not installed." +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:542 +msgid "" +"Error: PDO database PHP module missing a driver for either mysql or pgsql." +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:547 +msgid "Error: PDO database PHP module required but not installed." +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:551 +msgid "Error: mb_string PHP module required but not installed." +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:555 +msgid "Error: xml PHP module required for DAV but not installed." +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:559 +msgid "Error: zip PHP module required but not installed." +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:578 ../../Zotlabs/Module/Setup.php:587 +msgid ".htconfig.php is writable" +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:583 +msgid "" +"The web installer needs to be able to create a file called \".htconfig.php\" " +"in the top folder of your web server and it is unable to do so." +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:584 +msgid "" +"This is most often a permission setting, as the web server may not be able " +"to write files in your folder - even if you can." +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:585 +msgid "Please see install/INSTALL.txt for additional information." +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:601 +msgid "" +"This software uses the Smarty3 template engine to render its web views. " +"Smarty3 compiles templates to PHP to speed up rendering." +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:602 +#, php-format +msgid "" +"In order to store these compiled templates, the web server needs to have " +"write access to the directory %s under the top level web folder." +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:603 ../../Zotlabs/Module/Setup.php:624 +msgid "" +"Please ensure that the user that your web server runs as (e.g. www-data) has " +"write access to this folder." +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:604 +#, php-format +msgid "" +"Note: as a security measure, you should give the web server write access to " +"%s only--not the template files (.tpl) that it contains." +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:607 +#, php-format +msgid "%s is writable" +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:623 +msgid "" +"This software uses the store directory to save uploaded files. The web " +"server needs to have write access to the store directory under the top level " +"web folder" +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:627 +msgid "store is writable" +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:659 +msgid "" +"SSL certificate cannot be validated. Fix certificate or disable https access " +"to this site." +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:660 +msgid "" +"If you have https access to your website or allow connections to TCP port " +"443 (the https: port), you MUST use a browser-valid certificate. You MUST " +"NOT use self-signed certificates!" +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:661 +msgid "" +"This restriction is incorporated because public posts from you may for " +"example contain references to images on your own hub." +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:662 +msgid "" +"If your certificate is not recognized, members of other sites (who may " +"themselves have valid certificates) will get a warning message on their own " +"site complaining about security issues." +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:663 +msgid "" +"This can cause usability issues elsewhere (not just on your own site) so we " +"must insist on this requirement." +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:664 +msgid "" +"Providers are available that issue free certificates which are browser-valid." +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:665 +msgid "" +"If you are confident that the certificate is valid and signed by a trusted " +"authority, check to see if you have failed to install an intermediate cert. " +"These are not normally required by browsers, but are required for server-to-" +"server communications." +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:667 +msgid "SSL certificate validation" +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:673 +msgid "" +"Url rewrite in .htaccess is not working. Check your server configuration." +"Test: " +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:676 +msgid "Url rewrite is working" +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:689 +msgid "" +"The database configuration file \".htconfig.php\" could not be written. " +"Please use the enclosed text to create a configuration file in your web " +"server root." +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:718 +#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:401 +msgid "Errors encountered creating database tables." +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:764 +msgid "<h1>What next?</h1>" +msgstr "" + +#: ../../Zotlabs/Module/Setup.php:765 +msgid "" +"IMPORTANT: You will need to [manually] setup a scheduled task for the poller." +msgstr "" + +#: ../../Zotlabs/Module/Directory.php:122 +msgid "No default suggestions were found." +msgstr "" + +#: ../../Zotlabs/Module/Directory.php:282 +#, php-format +msgid "%d rating" +msgid_plural "%d ratings" +msgstr[0] "" +msgstr[1] "" + +#: ../../Zotlabs/Module/Directory.php:293 +msgid "Gender: " +msgstr "" + +#: ../../Zotlabs/Module/Directory.php:295 +msgid "Status: " +msgstr "" + +#: ../../Zotlabs/Module/Directory.php:297 +msgid "Homepage: " +msgstr "" + +#: ../../Zotlabs/Module/Directory.php:349 ../../include/channel.php:1806 +msgid "Age:" +msgstr "" + +#: ../../Zotlabs/Module/Directory.php:354 ../../include/channel.php:1633 +#: ../../include/event.php:63 ../../include/event.php:134 +msgid "Location:" +msgstr "" + +#: ../../Zotlabs/Module/Directory.php:360 +msgid "Description:" +msgstr "" + +#: ../../Zotlabs/Module/Directory.php:367 ../../include/channel.php:1835 +msgid "Hometown:" +msgstr "" + +#: ../../Zotlabs/Module/Directory.php:369 ../../include/channel.php:1841 +msgid "About:" +msgstr "" + +#: ../../Zotlabs/Module/Directory.php:371 +msgid "Public Forum:" +msgstr "" + +#: ../../Zotlabs/Module/Directory.php:374 +msgid "Keywords: " +msgstr "" + +#: ../../Zotlabs/Module/Directory.php:377 +msgid "Don't suggest" +msgstr "" + +#: ../../Zotlabs/Module/Directory.php:379 +msgid "Common connections (estimated):" +msgstr "" + +#: ../../Zotlabs/Module/Directory.php:428 +msgid "Global Directory" +msgstr "" + +#: ../../Zotlabs/Module/Directory.php:428 +msgid "Local Directory" +msgstr "" + +#: ../../Zotlabs/Module/Directory.php:434 +msgid "Finding:" +msgstr "" + +#: ../../Zotlabs/Module/Directory.php:439 +msgid "next page" +msgstr "" + +#: ../../Zotlabs/Module/Directory.php:439 +msgid "previous page" +msgstr "" + +#: ../../Zotlabs/Module/Directory.php:440 +msgid "Sort options" +msgstr "" + +#: ../../Zotlabs/Module/Directory.php:441 +msgid "Alphabetic" +msgstr "" + +#: ../../Zotlabs/Module/Directory.php:442 +msgid "Reverse Alphabetic" +msgstr "" + +#: ../../Zotlabs/Module/Directory.php:443 +msgid "Newest to Oldest" +msgstr "" + +#: ../../Zotlabs/Module/Directory.php:444 +msgid "Oldest to Newest" +msgstr "" + +#: ../../Zotlabs/Module/Directory.php:461 +msgid "No entries (some entries may be hidden)." +msgstr "" + +#: ../../Zotlabs/Module/Mitem.php:31 ../../Zotlabs/Module/Menu.php:209 +msgid "Menu not found." +msgstr "" + +#: ../../Zotlabs/Module/Mitem.php:63 +msgid "Unable to create element." +msgstr "" + +#: ../../Zotlabs/Module/Mitem.php:87 +msgid "Unable to update menu element." +msgstr "" + +#: ../../Zotlabs/Module/Mitem.php:103 +msgid "Unable to add menu element." +msgstr "" + +#: ../../Zotlabs/Module/Mitem.php:167 ../../Zotlabs/Module/Mitem.php:246 +msgid "Menu Item Permissions" +msgstr "" + +#: ../../Zotlabs/Module/Mitem.php:168 ../../Zotlabs/Module/Mitem.php:247 +#: ../../Zotlabs/Module/Settings/Channel.php:528 +msgid "(click to open/close)" +msgstr "" + +#: ../../Zotlabs/Module/Mitem.php:174 ../../Zotlabs/Module/Mitem.php:191 +msgid "Link Name" +msgstr "" + +#: ../../Zotlabs/Module/Mitem.php:175 ../../Zotlabs/Module/Mitem.php:255 +msgid "Link or Submenu Target" +msgstr "" + +#: ../../Zotlabs/Module/Mitem.php:175 +msgid "Enter URL of the link or select a menu name to create a submenu" +msgstr "" + +#: ../../Zotlabs/Module/Mitem.php:176 ../../Zotlabs/Module/Mitem.php:256 +msgid "Use magic-auth if available" +msgstr "" + +#: ../../Zotlabs/Module/Mitem.php:177 ../../Zotlabs/Module/Mitem.php:257 +msgid "Open link in new window" +msgstr "" + +#: ../../Zotlabs/Module/Mitem.php:178 ../../Zotlabs/Module/Mitem.php:258 +msgid "Order in list" +msgstr "" + +#: ../../Zotlabs/Module/Mitem.php:178 ../../Zotlabs/Module/Mitem.php:258 +msgid "Higher numbers will sink to bottom of listing" +msgstr "" + +#: ../../Zotlabs/Module/Mitem.php:179 +msgid "Submit and finish" +msgstr "" + +#: ../../Zotlabs/Module/Mitem.php:180 +msgid "Submit and continue" +msgstr "" + +#: ../../Zotlabs/Module/Mitem.php:189 +msgid "Menu:" +msgstr "" + +#: ../../Zotlabs/Module/Mitem.php:192 +msgid "Link Target" +msgstr "" + +#: ../../Zotlabs/Module/Mitem.php:195 +msgid "Edit menu" +msgstr "" + +#: ../../Zotlabs/Module/Mitem.php:198 +msgid "Edit element" +msgstr "" + +#: ../../Zotlabs/Module/Mitem.php:199 +msgid "Drop element" +msgstr "" + +#: ../../Zotlabs/Module/Mitem.php:200 +msgid "New element" +msgstr "" + +#: ../../Zotlabs/Module/Mitem.php:201 +msgid "Edit this menu container" +msgstr "" + +#: ../../Zotlabs/Module/Mitem.php:202 +msgid "Add menu element" +msgstr "" + +#: ../../Zotlabs/Module/Mitem.php:203 +msgid "Delete this menu item" +msgstr "" + +#: ../../Zotlabs/Module/Mitem.php:204 +msgid "Edit this menu item" +msgstr "" + +#: ../../Zotlabs/Module/Mitem.php:222 +msgid "Menu item not found." +msgstr "" + +#: ../../Zotlabs/Module/Mitem.php:235 +msgid "Menu item deleted." +msgstr "" + +#: ../../Zotlabs/Module/Mitem.php:237 +msgid "Menu item could not be deleted." +msgstr "" + +#: ../../Zotlabs/Module/Mitem.php:244 +msgid "Edit Menu Element" +msgstr "" + +#: ../../Zotlabs/Module/Mitem.php:254 +msgid "Link text" +msgstr "" + +#: ../../Zotlabs/Module/Mood.php:76 ../../include/conversation.php:286 +#, php-format +msgctxt "mood" +msgid "%1$s is %2$s" +msgstr "" + +#: ../../Zotlabs/Module/Mood.php:134 +msgid "Mood App" +msgstr "" + +#: ../../Zotlabs/Module/Mood.php:135 ../../Zotlabs/Module/Mood.php:155 +msgid "Set your current mood and tell your friends" +msgstr "" + +#: ../../Zotlabs/Module/Mood.php:154 ../../Zotlabs/Lib/Apps.php:350 +msgid "Mood" +msgstr "" + +#: ../../Zotlabs/Module/Permcats.php:29 +msgid "Permission category name is required." +msgstr "" + +#: ../../Zotlabs/Module/Permcats.php:48 +msgid "Permission category saved." +msgstr "" + +#: ../../Zotlabs/Module/Permcats.php:63 +msgid "Permission Categories App" +msgstr "" + +#: ../../Zotlabs/Module/Permcats.php:64 +msgid "Create custom connection permission limits" +msgstr "" + +#: ../../Zotlabs/Module/Permcats.php:80 +msgid "" +"Use this form to create permission rules for various classes of people or " +"connections." +msgstr "" + +#: ../../Zotlabs/Module/Permcats.php:113 ../../Zotlabs/Lib/Apps.php:374 +msgid "Permission Categories" +msgstr "" + +#: ../../Zotlabs/Module/Permcats.php:121 +msgid "Permission category name" +msgstr "" + +#: ../../Zotlabs/Module/Ratings.php:70 +msgid "No ratings" +msgstr "" + +#: ../../Zotlabs/Module/Ratings.php:98 +msgid "Rating: " +msgstr "" + +#: ../../Zotlabs/Module/Ratings.php:99 +msgid "Website: " +msgstr "" + +#: ../../Zotlabs/Module/Ratings.php:101 +msgid "Description: " +msgstr "" + +#: ../../Zotlabs/Module/Register.php:52 +msgid "Maximum daily site registrations exceeded. Please try again tomorrow." +msgstr "" + +#: ../../Zotlabs/Module/Register.php:58 +msgid "" +"Please indicate acceptance of the Terms of Service. Registration failed." +msgstr "" + +#: ../../Zotlabs/Module/Register.php:92 +msgid "Passwords do not match." +msgstr "" + +#: ../../Zotlabs/Module/Register.php:135 +msgid "Registration successful. Continue to create your first channel..." +msgstr "" + +#: ../../Zotlabs/Module/Register.php:138 +msgid "" +"Registration successful. Please check your email for validation instructions." +msgstr "" + +#: ../../Zotlabs/Module/Register.php:145 +msgid "Your registration is pending approval by the site owner." +msgstr "" + +#: ../../Zotlabs/Module/Register.php:148 +msgid "Your registration can not be processed." +msgstr "" + +#: ../../Zotlabs/Module/Register.php:195 +msgid "Registration on this hub is disabled." +msgstr "" + +#: ../../Zotlabs/Module/Register.php:204 +msgid "Registration on this hub is by approval only." +msgstr "" + +#: ../../Zotlabs/Module/Register.php:205 ../../Zotlabs/Module/Register.php:214 +msgid "<a href=\"pubsites\">Register at another affiliated hub.</a>" +msgstr "" + +#: ../../Zotlabs/Module/Register.php:213 +msgid "Registration on this hub is by invitation only." +msgstr "" + +#: ../../Zotlabs/Module/Register.php:224 +msgid "" +"This site has exceeded the number of allowed daily account registrations. " +"Please try again tomorrow." +msgstr "" + +#: ../../Zotlabs/Module/Register.php:239 ../../Zotlabs/Module/Siteinfo.php:28 +msgid "Terms of Service" +msgstr "" + +#: ../../Zotlabs/Module/Register.php:245 +#, php-format +msgid "I accept the %s for this website" +msgstr "" + +#: ../../Zotlabs/Module/Register.php:252 +#, php-format +msgid "I am over %s years of age and accept the %s for this website" +msgstr "" + +#: ../../Zotlabs/Module/Register.php:257 +msgid "Your email address" +msgstr "" + +#: ../../Zotlabs/Module/Register.php:258 +msgid "Choose a password" +msgstr "" + +#: ../../Zotlabs/Module/Register.php:259 +msgid "Please re-enter your password" +msgstr "" + +#: ../../Zotlabs/Module/Register.php:260 +msgid "Please enter your invitation code" +msgstr "" + +#: ../../Zotlabs/Module/Register.php:261 +msgid "Your Name" +msgstr "" + +#: ../../Zotlabs/Module/Register.php:261 +msgid "Real names are preferred." +msgstr "" + +#: ../../Zotlabs/Module/Register.php:263 +#, php-format +msgid "" +"Your nickname will be used to create an easy to remember channel address e." +"g. nickname%s" +msgstr "" + +#: ../../Zotlabs/Module/Register.php:264 +msgid "" +"Select a channel permission role for your usage needs and privacy " +"requirements." +msgstr "" + +#: ../../Zotlabs/Module/Register.php:265 +msgid "no" +msgstr "" + +#: ../../Zotlabs/Module/Register.php:265 +msgid "yes" +msgstr "" + +#: ../../Zotlabs/Module/Register.php:293 ../../include/nav.php:162 +#: ../../boot.php:1685 +msgid "Register" +msgstr "" + +#: ../../Zotlabs/Module/Register.php:294 +msgid "" +"This site requires email verification. After completing this form, please " +"check your email for further instructions." +msgstr "" + +#: ../../Zotlabs/Module/Acl.php:123 ../../Zotlabs/Module/Lockview.php:117 +#: ../../Zotlabs/Module/Lockview.php:153 +msgctxt "acl" +msgid "Profile" +msgstr "" + +#: ../../Zotlabs/Module/Acl.php:370 +msgid "network" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Featured.php:25 +msgid "No feature settings configured" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Featured.php:34 +msgid "Addon Settings" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Featured.php:35 +msgid "Please save/submit changes to any panel before opening another." +msgstr "" + +#: ../../Zotlabs/Module/Settings/Account.php:19 +msgid "Not valid email." +msgstr "" + +#: ../../Zotlabs/Module/Settings/Account.php:22 +msgid "Protected email address. Cannot change to that email." +msgstr "" + +#: ../../Zotlabs/Module/Settings/Account.php:31 +msgid "System failure storing new email. Please try again." +msgstr "" + +#: ../../Zotlabs/Module/Settings/Account.php:48 +msgid "Password verification failed." +msgstr "" + +#: ../../Zotlabs/Module/Settings/Account.php:55 +msgid "Passwords do not match. Password unchanged." +msgstr "" + +#: ../../Zotlabs/Module/Settings/Account.php:59 +msgid "Empty passwords are not allowed. Password unchanged." +msgstr "" + +#: ../../Zotlabs/Module/Settings/Account.php:73 +msgid "Password changed." +msgstr "" + +#: ../../Zotlabs/Module/Settings/Account.php:75 +msgid "Password update failed. Please try again." +msgstr "" + +#: ../../Zotlabs/Module/Settings/Account.php:99 +msgid "Account Settings" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Account.php:100 +msgid "Current Password" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Account.php:101 +msgid "Enter New Password" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Account.php:102 +msgid "Confirm New Password" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Account.php:102 +msgid "Leave password fields blank unless changing" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Account.php:104 +#: ../../Zotlabs/Module/Settings/Channel.php:502 +msgid "Email Address:" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Account.php:106 +msgid "Remove this account including all its channels" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Events.php:40 +msgid "Events Settings" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Profiles.php:49 +msgid "Profiles Settings" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Editor.php:40 +msgid "Editor Settings" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Features.php:45 +msgid "Additional Features" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Manage.php:41 +msgid "Channel Manager Settings" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Display.php:127 +#, php-format +msgid "%s - (Experimental)" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Display.php:183 +msgid "Display Settings" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Display.php:184 +msgid "Theme Settings" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Display.php:185 +msgid "Custom Theme Settings" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Display.php:186 +msgid "Content Settings" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Display.php:192 +msgid "Display Theme:" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Display.php:193 +msgid "Select scheme" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Display.php:195 +msgid "Preload images before rendering the page" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Display.php:195 +msgid "" +"The subjective page load time will be longer but the page will be ready when " +"displayed" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Display.php:196 +msgid "Enable user zoom on mobile devices" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Display.php:197 +msgid "Update browser every xx seconds" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Display.php:197 +msgid "Minimum of 10 seconds, no maximum" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Display.php:198 +msgid "Maximum number of conversations to load at any time:" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Display.php:198 +msgid "Maximum of 30 items" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Display.php:199 +msgid "Show emoticons (smilies) as images" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Display.php:200 +msgid "Provide channel menu in navigation bar" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Display.php:200 +msgid "Default: channel menu located in app menu" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Display.php:201 +msgid "Link post titles to source" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Display.php:203 +#: ../../Zotlabs/Widget/Newmember.php:75 +msgid "New Member Links" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Display.php:203 +msgid "Display new member quick links menu" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Photos.php:40 +msgid "Photos Settings" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Channel.php:329 +msgid "Nobody except yourself" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Channel.php:330 +msgid "Only those you specifically allow" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Channel.php:331 +msgid "Approved connections" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Channel.php:332 +msgid "Any connections" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Channel.php:333 +msgid "Anybody on this website" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Channel.php:334 +msgid "Anybody in this network" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Channel.php:335 +msgid "Anybody authenticated" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Channel.php:336 +msgid "Anybody on the internet" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Channel.php:411 +msgid "Publish your default profile in the network directory" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Channel.php:416 +msgid "Allow us to suggest you as a potential friend to new members?" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Channel.php:420 +msgid "or" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Channel.php:429 +msgid "Your channel address is" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Channel.php:432 +msgid "Your files/photos are accessible via WebDAV at" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Channel.php:472 +msgid "Automatic membership approval" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Channel.php:493 +msgid "Channel Settings" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Channel.php:500 +msgid "Basic Settings" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Channel.php:501 ../../include/channel.php:1763 +msgid "Full Name:" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Channel.php:503 +msgid "Your Timezone:" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Channel.php:504 +msgid "Default Post Location:" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Channel.php:504 +msgid "Geographical location to display on your posts" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Channel.php:505 +msgid "Use Browser Location:" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Channel.php:507 +msgid "Adult Content" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Channel.php:507 +msgid "" +"This channel frequently or regularly publishes adult content. (Please tag " +"any adult material and/or nudity with #NSFW)" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Channel.php:509 +msgid "Security and Privacy Settings" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Channel.php:511 +msgid "Your permissions are already configured. Click to view/adjust" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Channel.php:513 +msgid "Hide my online presence" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Channel.php:513 +msgid "Prevents displaying in your profile that you are online" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Channel.php:515 +msgid "Simple Privacy Settings:" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Channel.php:516 +msgid "" +"Very Public - <em>extremely permissive (should be used with caution)</em>" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Channel.php:517 +msgid "" +"Typical - <em>default public, privacy when desired (similar to social " +"network permissions but with improved privacy)</em>" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Channel.php:518 +msgid "Private - <em>default private, never open or public</em>" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Channel.php:519 +msgid "Blocked - <em>default blocked to/from everybody</em>" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Channel.php:521 +msgid "Allow others to tag your posts" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Channel.php:521 +msgid "" +"Often used by the community to retro-actively flag inappropriate content" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Channel.php:523 +msgid "Channel Permission Limits" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Channel.php:525 +msgid "Expire other channel content after this many days" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Channel.php:525 +msgid "0 or blank to use the website limit." +msgstr "" + +#: ../../Zotlabs/Module/Settings/Channel.php:525 +#, php-format +msgid "This website expires after %d days." +msgstr "" + +#: ../../Zotlabs/Module/Settings/Channel.php:525 +msgid "This website does not expire imported content." +msgstr "" + +#: ../../Zotlabs/Module/Settings/Channel.php:525 +msgid "The website limit takes precedence if lower than your limit." +msgstr "" + +#: ../../Zotlabs/Module/Settings/Channel.php:526 +msgid "Maximum Friend Requests/Day:" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Channel.php:526 +msgid "May reduce spam activity" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Channel.php:527 +msgid "Default Privacy Group" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Channel.php:529 +msgid "Use my default audience setting for the type of object published" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Channel.php:538 +msgid "Default permissions category" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Channel.php:544 +msgid "Maximum private messages per day from unknown people:" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Channel.php:544 +msgid "Useful to reduce spamming" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Channel.php:547 +#: ../../Zotlabs/Lib/Enotify.php:68 +msgid "Notification Settings" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Channel.php:548 +msgid "By default post a status message when:" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Channel.php:549 +msgid "accepting a friend request" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Channel.php:550 +msgid "joining a forum/community" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Channel.php:551 +msgid "making an <em>interesting</em> profile change" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Channel.php:552 +msgid "Send a notification email when:" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Channel.php:553 +msgid "You receive a connection request" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Channel.php:554 +msgid "Your connections are confirmed" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Channel.php:555 +msgid "Someone writes on your profile wall" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Channel.php:556 +msgid "Someone writes a followup comment" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Channel.php:557 +msgid "You receive a private message" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Channel.php:558 +msgid "You receive a friend suggestion" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Channel.php:559 +msgid "You are tagged in a post" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Channel.php:560 +msgid "You are poked/prodded/etc. in a post" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Channel.php:562 +msgid "Someone likes your post/comment" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Channel.php:565 +msgid "Show visual notifications including:" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Channel.php:567 +msgid "Unseen stream activity" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Channel.php:568 +msgid "Unseen channel activity" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Channel.php:569 +msgid "Unseen private messages" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Channel.php:569 +#: ../../Zotlabs/Module/Settings/Channel.php:574 +#: ../../Zotlabs/Module/Settings/Channel.php:575 +#: ../../Zotlabs/Module/Settings/Channel.php:576 +msgid "Recommended" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Channel.php:570 +msgid "Upcoming events" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Channel.php:571 +msgid "Events today" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Channel.php:572 +msgid "Upcoming birthdays" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Channel.php:572 +msgid "Not available in all themes" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Channel.php:573 +msgid "System (personal) notifications" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Channel.php:574 +msgid "System info messages" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Channel.php:575 +msgid "System critical alerts" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Channel.php:576 +msgid "New connections" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Channel.php:577 +msgid "System Registrations" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Channel.php:578 +msgid "Unseen shared files" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Channel.php:579 +msgid "Unseen public stream activity" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Channel.php:580 +msgid "Unseen likes and dislikes" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Channel.php:581 +msgid "Unseen forum posts" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Channel.php:582 +msgid "Email notification hub (hostname)" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Channel.php:582 +#, php-format +msgid "" +"If your channel is mirrored to multiple hubs, set this to your preferred " +"location. This will prevent duplicate email notifications. Example: %s" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Channel.php:583 +msgid "Show new wall posts, private messages and connections under Notices" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Channel.php:585 +msgid "Notify me of events this many days in advance" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Channel.php:585 +msgid "Must be greater than 0" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Channel.php:590 +msgid "Advanced Account/Page Type Settings" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Channel.php:591 +msgid "Change the behaviour of this account for special situations" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Channel.php:593 +msgid "Miscellaneous Settings" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Channel.php:594 +msgid "Default photo upload folder" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Channel.php:594 +#: ../../Zotlabs/Module/Settings/Channel.php:595 +msgid "%Y - current year, %m - current month" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Channel.php:595 +msgid "Default file upload folder" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Channel.php:597 +msgid "Remove this channel." +msgstr "" + +#: ../../Zotlabs/Module/Settings/Connections.php:40 +msgid "Connections Settings" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Calendar.php:40 +msgid "Calendar Settings" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Directory.php:40 +msgid "Directory Settings" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Channel_home.php:46 +#: ../../Zotlabs/Module/Settings/Network.php:42 +msgid "Max height of content (in pixels)" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Channel_home.php:48 +#: ../../Zotlabs/Module/Settings/Network.php:44 +msgid "Click to expand content exceeding this height" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Channel_home.php:61 +msgid "Personal menu to display in your channel pages" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Channel_home.php:88 +msgid "Channel Home Settings" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Network.php:59 +msgid "Stream Settings" +msgstr "" + +#: ../../Zotlabs/Module/Settings/Conversation.php:23 +msgid "Settings saved." +msgstr "" + +#: ../../Zotlabs/Module/Settings/Conversation.php:25 +msgid "Settings saved. Reload page please." +msgstr "" + +#: ../../Zotlabs/Module/Settings/Conversation.php:47 +msgid "Conversation Settings" +msgstr "" + +#: ../../Zotlabs/Module/Probe.php:18 +msgid "Remote Diagnostics App" +msgstr "" + +#: ../../Zotlabs/Module/Probe.php:19 +msgid "Perform diagnostics on remote channels" +msgstr "" + +#: ../../Zotlabs/Module/Invite.php:37 +msgid "Total invitation limit exceeded." +msgstr "" + +#: ../../Zotlabs/Module/Invite.php:61 +#, php-format +msgid "%s : Not a valid email address." +msgstr "" + +#: ../../Zotlabs/Module/Invite.php:75 +msgid "Please join us on $Projectname" +msgstr "" + +#: ../../Zotlabs/Module/Invite.php:85 +msgid "Invitation limit exceeded. Please contact your site administrator." +msgstr "" + +#: ../../Zotlabs/Module/Invite.php:90 +#: ../../extend/addon/hzaddons/notifyadmin/notifyadmin.php:40 +#, php-format +msgid "%s : Message delivery failed." +msgstr "" + +#: ../../Zotlabs/Module/Invite.php:94 +#, php-format +msgid "%d message sent." +msgid_plural "%d messages sent." +msgstr[0] "" +msgstr[1] "" + +#: ../../Zotlabs/Module/Invite.php:110 +msgid "Invite App" +msgstr "" + +#: ../../Zotlabs/Module/Invite.php:111 +msgid "Send email invitations to join this network" +msgstr "" + +#: ../../Zotlabs/Module/Invite.php:124 +msgid "You have no more invitations available" +msgstr "" + +#: ../../Zotlabs/Module/Invite.php:155 +msgid "Send invitations" +msgstr "" + +#: ../../Zotlabs/Module/Invite.php:156 +msgid "Enter email addresses, one per line:" +msgstr "" + +#: ../../Zotlabs/Module/Invite.php:157 +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:163 +msgid "Your message:" +msgstr "" + +#: ../../Zotlabs/Module/Invite.php:158 +msgid "Please join my community on $Projectname." +msgstr "" + +#: ../../Zotlabs/Module/Invite.php:160 +msgid "You will need to supply this invitation code:" +msgstr "" + +#: ../../Zotlabs/Module/Invite.php:161 +msgid "1. Register at any $Projectname location (they are all inter-connected)" +msgstr "" + +#: ../../Zotlabs/Module/Invite.php:163 +msgid "2. Enter my $Projectname network address into the site searchbar." +msgstr "" + +#: ../../Zotlabs/Module/Invite.php:164 +msgid "or visit" +msgstr "" + +#: ../../Zotlabs/Module/Invite.php:166 +msgid "3. Click [Connect]" +msgstr "" + +#: ../../Zotlabs/Module/Siteinfo.php:21 +msgid "About this site" +msgstr "" + +#: ../../Zotlabs/Module/Siteinfo.php:22 +msgid "Site Name" +msgstr "" + +#: ../../Zotlabs/Module/Siteinfo.php:26 +msgid "Administrator" +msgstr "" + +#: ../../Zotlabs/Module/Siteinfo.php:29 +msgid "Software and Project information" +msgstr "" + +#: ../../Zotlabs/Module/Siteinfo.php:30 +msgid "This site is powered by $Projectname" +msgstr "" + +#: ../../Zotlabs/Module/Siteinfo.php:31 +msgid "" +"Federated and decentralised networking and identity services provided by Zot" +msgstr "" + +#: ../../Zotlabs/Module/Siteinfo.php:34 +msgid "Additional federated transport protocols:" +msgstr "" + +#: ../../Zotlabs/Module/Siteinfo.php:36 +#, php-format +msgid "Version %s" +msgstr "" + +#: ../../Zotlabs/Module/Siteinfo.php:37 +msgid "Project homepage" +msgstr "" + +#: ../../Zotlabs/Module/Siteinfo.php:38 +msgid "Developer homepage" +msgstr "" + +#: ../../Zotlabs/Module/Service_limits.php:23 +msgid "No service class restrictions found." +msgstr "" + +#: ../../Zotlabs/Module/Rbmark.php:94 +msgid "Select a bookmark folder" +msgstr "" + +#: ../../Zotlabs/Module/Rbmark.php:99 +msgid "Save Bookmark" +msgstr "" + +#: ../../Zotlabs/Module/Rbmark.php:100 +msgid "URL of bookmark" +msgstr "" + +#: ../../Zotlabs/Module/Rbmark.php:105 +msgid "Or enter new bookmark folder name" +msgstr "" + +#: ../../Zotlabs/Module/Lang.php:17 +msgid "Language App" +msgstr "" + +#: ../../Zotlabs/Module/Lang.php:18 +msgid "Change UI language" +msgstr "" + +#: ../../Zotlabs/Module/Hq.php:131 +msgid "Welcome to Hubzilla!" +msgstr "" + +#: ../../Zotlabs/Module/Hq.php:131 +msgid "You have got no unseen posts..." +msgstr "" + +#: ../../Zotlabs/Module/Cover_photo.php:196 +#: ../../Zotlabs/Module/Cover_photo.php:254 +msgid "Cover Photos" +msgstr "" + +#: ../../Zotlabs/Module/Cover_photo.php:297 ../../include/items.php:4860 +msgid "female" +msgstr "" + +#: ../../Zotlabs/Module/Cover_photo.php:298 ../../include/items.php:4861 +#, php-format +msgid "%1$s updated her %2$s" +msgstr "" + +#: ../../Zotlabs/Module/Cover_photo.php:299 ../../include/items.php:4862 +msgid "male" +msgstr "" + +#: ../../Zotlabs/Module/Cover_photo.php:300 ../../include/items.php:4863 +#, php-format +msgid "%1$s updated his %2$s" +msgstr "" + +#: ../../Zotlabs/Module/Cover_photo.php:302 ../../include/items.php:4865 +#, php-format +msgid "%1$s updated their %2$s" +msgstr "" + +#: ../../Zotlabs/Module/Cover_photo.php:304 ../../include/channel.php:2328 +msgid "cover photo" +msgstr "" + +#: ../../Zotlabs/Module/Cover_photo.php:418 +msgid "Your cover photo may be visible to anybody on the internet" +msgstr "" + +#: ../../Zotlabs/Module/Cover_photo.php:422 +msgid "Change Cover Photo" +msgstr "" + +#: ../../Zotlabs/Module/Menu.php:68 +msgid "Unable to update menu." +msgstr "" + +#: ../../Zotlabs/Module/Menu.php:79 +msgid "Unable to create menu." +msgstr "" + +#: ../../Zotlabs/Module/Menu.php:161 ../../Zotlabs/Module/Menu.php:174 +msgid "Menu Name" +msgstr "" + +#: ../../Zotlabs/Module/Menu.php:161 +msgid "Unique name (not visible on webpage) - required" +msgstr "" + +#: ../../Zotlabs/Module/Menu.php:162 ../../Zotlabs/Module/Menu.php:175 +msgid "Menu Title" +msgstr "" + +#: ../../Zotlabs/Module/Menu.php:162 +msgid "Visible on webpage - leave empty for no title" +msgstr "" + +#: ../../Zotlabs/Module/Menu.php:163 +msgid "Allow Bookmarks" +msgstr "" + +#: ../../Zotlabs/Module/Menu.php:163 ../../Zotlabs/Module/Menu.php:222 +msgid "Menu may be used to store saved bookmarks" +msgstr "" + +#: ../../Zotlabs/Module/Menu.php:164 ../../Zotlabs/Module/Menu.php:225 +msgid "Submit and proceed" +msgstr "" + +#: ../../Zotlabs/Module/Menu.php:171 ../../include/text.php:2699 +msgid "Menus" +msgstr "" + +#: ../../Zotlabs/Module/Menu.php:181 +msgid "Bookmarks allowed" +msgstr "" + +#: ../../Zotlabs/Module/Menu.php:183 +msgid "Delete this menu" +msgstr "" + +#: ../../Zotlabs/Module/Menu.php:184 ../../Zotlabs/Module/Menu.php:219 +msgid "Edit menu contents" +msgstr "" + +#: ../../Zotlabs/Module/Menu.php:185 +msgid "Edit this menu" +msgstr "" + +#: ../../Zotlabs/Module/Menu.php:201 +msgid "Menu could not be deleted." +msgstr "" + +#: ../../Zotlabs/Module/Menu.php:214 +msgid "Edit Menu" +msgstr "" + +#: ../../Zotlabs/Module/Menu.php:218 +msgid "Add or remove entries to this menu" +msgstr "" + +#: ../../Zotlabs/Module/Menu.php:220 +msgid "Menu name" +msgstr "" + +#: ../../Zotlabs/Module/Menu.php:220 +msgid "Must be unique, only seen by you" +msgstr "" + +#: ../../Zotlabs/Module/Menu.php:221 +msgid "Menu title" +msgstr "" + +#: ../../Zotlabs/Module/Menu.php:221 +msgid "Menu title as seen by others" +msgstr "" + +#: ../../Zotlabs/Module/Menu.php:222 +msgid "Allow bookmarks" +msgstr "" + +#: ../../Zotlabs/Module/Sources.php:41 +msgid "Failed to create source. No channel selected." +msgstr "" + +#: ../../Zotlabs/Module/Sources.php:57 +msgid "Source created." +msgstr "" + +#: ../../Zotlabs/Module/Sources.php:70 +msgid "Source updated." +msgstr "" + +#: ../../Zotlabs/Module/Sources.php:88 +msgid "Sources App" +msgstr "" + +#: ../../Zotlabs/Module/Sources.php:89 +msgid "Automatically import channel content from other channels or feeds" +msgstr "" + +#: ../../Zotlabs/Module/Sources.php:101 +msgid "*" +msgstr "" + +#: ../../Zotlabs/Module/Sources.php:107 ../../Zotlabs/Lib/Apps.php:368 +msgid "Channel Sources" +msgstr "" + +#: ../../Zotlabs/Module/Sources.php:108 +msgid "Manage remote sources of content for your channel." +msgstr "" + +#: ../../Zotlabs/Module/Sources.php:109 ../../Zotlabs/Module/Sources.php:119 +msgid "New Source" +msgstr "" + +#: ../../Zotlabs/Module/Sources.php:120 ../../Zotlabs/Module/Sources.php:154 +msgid "" +"Import all or selected content from the following channel into this channel " +"and distribute it according to your channel settings." +msgstr "" + +#: ../../Zotlabs/Module/Sources.php:121 ../../Zotlabs/Module/Sources.php:155 +msgid "Only import content with these words (one per line)" +msgstr "" + +#: ../../Zotlabs/Module/Sources.php:121 ../../Zotlabs/Module/Sources.php:155 +msgid "Leave blank to import all public content" +msgstr "" + +#: ../../Zotlabs/Module/Sources.php:122 ../../Zotlabs/Module/Sources.php:161 +msgid "Channel Name" +msgstr "" + +#: ../../Zotlabs/Module/Sources.php:123 ../../Zotlabs/Module/Sources.php:158 +msgid "" +"Add the following categories to posts imported from this source (comma " +"separated)" +msgstr "" + +#: ../../Zotlabs/Module/Sources.php:124 ../../Zotlabs/Module/Sources.php:159 +msgid "Resend posts with this channel as author" +msgstr "" + +#: ../../Zotlabs/Module/Sources.php:124 ../../Zotlabs/Module/Sources.php:159 +msgid "Copyrights may apply" +msgstr "" + +#: ../../Zotlabs/Module/Sources.php:144 ../../Zotlabs/Module/Sources.php:174 +msgid "Source not found." +msgstr "" + +#: ../../Zotlabs/Module/Sources.php:151 +msgid "Edit Source" +msgstr "" + +#: ../../Zotlabs/Module/Sources.php:152 +msgid "Delete Source" +msgstr "" + +#: ../../Zotlabs/Module/Sources.php:182 +msgid "Source removed" +msgstr "" + +#: ../../Zotlabs/Module/Sources.php:184 +msgid "Unable to remove source." +msgstr "" + +#: ../../Zotlabs/Module/Poke.php:165 +msgid "Poke App" +msgstr "" + +#: ../../Zotlabs/Module/Poke.php:166 +msgid "Poke somebody in your addressbook" +msgstr "" + +#: ../../Zotlabs/Module/Poke.php:199 ../../Zotlabs/Lib/Apps.php:351 +#: ../../include/conversation.php:1140 +msgid "Poke" +msgstr "" + +#: ../../Zotlabs/Module/Poke.php:200 +msgid "Poke somebody" +msgstr "" + +#: ../../Zotlabs/Module/Poke.php:203 +msgid "Poke/Prod" +msgstr "" + +#: ../../Zotlabs/Module/Poke.php:204 +msgid "Poke, prod or do other things to somebody" +msgstr "" + +#: ../../Zotlabs/Module/Poke.php:211 +msgid "Recipient" +msgstr "" + +#: ../../Zotlabs/Module/Poke.php:212 +msgid "Choose what you wish to do to recipient" +msgstr "" + +#: ../../Zotlabs/Module/Poke.php:215 ../../Zotlabs/Module/Poke.php:216 +msgid "Make this post private" +msgstr "" + +#: ../../Zotlabs/Module/Network.php:105 +msgid "No such group" +msgstr "" + +#: ../../Zotlabs/Module/Network.php:152 +msgid "No such channel" +msgstr "" + +#: ../../Zotlabs/Module/Network.php:239 +msgid "Privacy group is empty" +msgstr "" + +#: ../../Zotlabs/Module/Network.php:249 +msgid "Privacy group: " +msgstr "" + +#: ../../Zotlabs/Module/Network.php:322 +#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:29 +msgid "Invalid channel." +msgstr "" + +#: ../../Zotlabs/Module/Attach_edit.php:118 +msgid "Can not copy folder into itself." +msgstr "" + +#: ../../Zotlabs/Module/Attach_edit.php:131 +#, php-format +msgid "Can not move folder \"%s\" into itself." +msgstr "" + +#: ../../Zotlabs/Module/Viewsrc.php:43 +msgid "item" +msgstr "" + +#: ../../Zotlabs/Module/Lockview.php:75 +msgid "Remote privacy information not available." +msgstr "" + +#: ../../Zotlabs/Module/Lockview.php:96 +msgid "Visible to:" +msgstr "" + +#: ../../Zotlabs/Storage/Browser.php:292 +msgid "Change filename to" +msgstr "" + +#: ../../Zotlabs/Storage/Browser.php:309 ../../Zotlabs/Storage/Browser.php:390 +msgid "Select a target location" +msgstr "" + +#: ../../Zotlabs/Storage/Browser.php:310 ../../Zotlabs/Storage/Browser.php:391 +msgid "Copy to target location" +msgstr "" + +#: ../../Zotlabs/Storage/Browser.php:311 ../../Zotlabs/Storage/Browser.php:389 +msgid "Set permissions for all files and sub folders" +msgstr "" + +#: ../../Zotlabs/Storage/Browser.php:312 +msgid "Notify your contacts about this file" +msgstr "" + +#: ../../Zotlabs/Storage/Browser.php:351 +msgid "File category" +msgstr "" + +#: ../../Zotlabs/Storage/Browser.php:362 +msgid "Total" +msgstr "" + +#: ../../Zotlabs/Storage/Browser.php:364 +msgid "Shared" +msgstr "" + +#: ../../Zotlabs/Storage/Browser.php:366 +msgid "Add Files" +msgstr "" + +#: ../../Zotlabs/Storage/Browser.php:369 ../../Zotlabs/Lib/ThreadItem.php:174 +msgid "Admin Delete" +msgstr "" + +#: ../../Zotlabs/Storage/Browser.php:381 +msgid "parent" +msgstr "" + +#: ../../Zotlabs/Storage/Browser.php:399 +msgid "Select All" +msgstr "" + +#: ../../Zotlabs/Storage/Browser.php:400 +msgid "Bulk Actions" +msgstr "" + +#: ../../Zotlabs/Storage/Browser.php:401 +msgid "Adjust Permissions" +msgstr "" + +#: ../../Zotlabs/Storage/Browser.php:402 +msgid "Move or Copy" +msgstr "" + +#: ../../Zotlabs/Storage/Browser.php:405 +msgid "Info" +msgstr "" + +#: ../../Zotlabs/Storage/Browser.php:406 +msgid "Rename" +msgstr "" + +#: ../../Zotlabs/Storage/Browser.php:407 ../../Zotlabs/Lib/Apps.php:360 +msgid "Post" +msgstr "" + +#: ../../Zotlabs/Storage/Browser.php:408 +msgid "Attachment BBcode" +msgstr "" + +#: ../../Zotlabs/Storage/Browser.php:409 +msgid "Embed BBcode" +msgstr "" + +#: ../../Zotlabs/Storage/Browser.php:410 +msgid "Link BBcode" +msgstr "" + +#: ../../Zotlabs/Storage/Browser.php:480 +#, php-format +msgid "You are using %1$s of your available file storage." +msgstr "" + +#: ../../Zotlabs/Storage/Browser.php:485 +#, php-format +msgid "You are using %1$s of %2$s available file storage. (%3$s%)" +msgstr "" + +#: ../../Zotlabs/Storage/Browser.php:496 +msgid "WARNING:" +msgstr "" + +#: ../../Zotlabs/Storage/Browser.php:537 +msgid "Create new folder" +msgstr "" + +#: ../../Zotlabs/Storage/Browser.php:539 +msgid "Upload file" +msgstr "" + +#: ../../Zotlabs/Storage/Browser.php:551 +msgid "Drop files here to immediately upload" +msgstr "" + +#: ../../Zotlabs/Storage/Browser.php:554 +msgid "" +"You can select files via the upload button or drop them right here or into " +"an existing folder." +msgstr "" + +#: ../../Zotlabs/Zot/Auth.php:152 +msgid "" +"Remote authentication blocked. You are logged into this site locally. Please " +"logout and retry." +msgstr "" + +#: ../../Zotlabs/Zot/Auth.php:264 +#: ../../extend/addon/hzaddons/openid/Mod_Openid.php:76 +#: ../../extend/addon/hzaddons/openid/Mod_Openid.php:178 +#, php-format +msgid "Welcome %s. Remote authentication successful." +msgstr "" + +#: ../../Zotlabs/Lib/Group.php:28 ../../include/group.php:23 +msgid "" +"A deleted group with this name was revived. Existing item permissions " +"<strong>may</strong> apply to this group and any future members. If this is " +"not what you intended, please create another group with a different name." +msgstr "" + +#: ../../Zotlabs/Lib/Group.php:270 ../../include/group.php:265 +msgid "Add new connections to this privacy group" +msgstr "" + +#: ../../Zotlabs/Lib/Group.php:302 ../../Zotlabs/Lib/AccessList.php:311 +#: ../../include/group.php:299 +msgid "edit" +msgstr "" + +#: ../../Zotlabs/Lib/Group.php:325 ../../include/group.php:322 +msgid "Edit group" +msgstr "" + +#: ../../Zotlabs/Lib/Group.php:326 ../../include/group.php:323 +msgid "Add privacy group" +msgstr "" + +#: ../../Zotlabs/Lib/Group.php:327 ../../include/group.php:324 +msgid "Channels not in any privacy group" +msgstr "" + +#: ../../Zotlabs/Lib/Group.php:329 ../../Zotlabs/Lib/AccessList.php:336 +#: ../../Zotlabs/Widget/Savedsearch.php:84 ../../include/group.php:326 +msgid "add" +msgstr "" + +#: ../../Zotlabs/Lib/Connect.php:46 ../../Zotlabs/Lib/Connect.php:143 +#: ../../include/follow.php:37 +msgid "Channel is blocked on this site." +msgstr "" + +#: ../../Zotlabs/Lib/Connect.php:51 ../../include/follow.php:42 +msgid "Channel location missing." +msgstr "" + +#: ../../Zotlabs/Lib/Connect.php:103 ../../include/follow.php:166 +msgid "Remote channel or protocol unavailable." +msgstr "" + +#: ../../Zotlabs/Lib/Connect.php:137 ../../include/follow.php:190 +msgid "Channel discovery failed." +msgstr "" + +#: ../../Zotlabs/Lib/Connect.php:155 ../../include/follow.php:202 +msgid "Protocol disabled." +msgstr "" + +#: ../../Zotlabs/Lib/Connect.php:167 ../../include/follow.php:213 +msgid "Cannot connect to yourself." +msgstr "" + +#: ../../Zotlabs/Lib/Connect.php:271 +msgid "error saving data" +msgstr "" + +#: ../../Zotlabs/Lib/Apps.php:323 +msgid "Apps" +msgstr "" + +#: ../../Zotlabs/Lib/Apps.php:324 +msgid "Affinity Tool" +msgstr "" + +#: ../../Zotlabs/Lib/Apps.php:327 +msgid "Site Admin" +msgstr "" + +#: ../../Zotlabs/Lib/Apps.php:328 +#: ../../extend/addon/hzaddons/buglink/buglink.php:16 +msgid "Report Bug" +msgstr "" + +#: ../../Zotlabs/Lib/Apps.php:329 ../../include/nav.php:490 +msgid "Bookmarks" +msgstr "" + +#: ../../Zotlabs/Lib/Apps.php:330 ../../Zotlabs/Widget/Chatroom_list.php:16 +#: ../../include/nav.php:477 ../../include/nav.php:480 +msgid "Chatrooms" +msgstr "" + +#: ../../Zotlabs/Lib/Apps.php:331 +msgid "Content Filter" +msgstr "" + +#: ../../Zotlabs/Lib/Apps.php:332 +#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:135 +msgid "Content Import" +msgstr "" + +#: ../../Zotlabs/Lib/Apps.php:334 +msgid "Remote Diagnostics" +msgstr "" + +#: ../../Zotlabs/Lib/Apps.php:335 +msgid "Suggest Channels" +msgstr "" + +#: ../../Zotlabs/Lib/Apps.php:336 ../../include/nav.php:124 +#: ../../include/nav.php:128 ../../boot.php:1705 +msgid "Login" +msgstr "" + +#: ../../Zotlabs/Lib/Apps.php:338 +msgid "Stream" +msgstr "" + +#: ../../Zotlabs/Lib/Apps.php:342 ../../include/nav.php:539 +msgid "Wiki" +msgstr "" + +#: ../../Zotlabs/Lib/Apps.php:343 ../../include/features.php:104 +msgid "Channel Home" +msgstr "" + +#: ../../Zotlabs/Lib/Apps.php:346 ../../include/features.php:82 +#: ../../include/nav.php:463 ../../include/nav.php:466 +msgid "Calendar" +msgstr "" + +#: ../../Zotlabs/Lib/Apps.php:347 ../../include/features.php:192 +msgid "Directory" +msgstr "" + +#: ../../Zotlabs/Lib/Apps.php:349 +msgid "Mail" +msgstr "" + +#: ../../Zotlabs/Lib/Apps.php:352 +msgid "Chat" +msgstr "" + +#: ../../Zotlabs/Lib/Apps.php:354 +msgid "Probe" +msgstr "" + +#: ../../Zotlabs/Lib/Apps.php:355 +msgid "Suggest" +msgstr "" + +#: ../../Zotlabs/Lib/Apps.php:356 +msgid "Random Channel" +msgstr "" + +#: ../../Zotlabs/Lib/Apps.php:357 +msgid "Invite" +msgstr "" + +#: ../../Zotlabs/Lib/Apps.php:358 ../../Zotlabs/Widget/Admin.php:26 +msgid "Features" +msgstr "" + +#: ../../Zotlabs/Lib/Apps.php:359 +#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:69 +msgid "Language" +msgstr "" + +#: ../../Zotlabs/Lib/Apps.php:361 +#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:58 +#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:59 +#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:60 +msgid "Profile Photo" +msgstr "" + +#: ../../Zotlabs/Lib/Apps.php:363 ../../include/features.php:383 +msgid "Profiles" +msgstr "" + +#: ../../Zotlabs/Lib/Apps.php:365 +msgid "Notifications" +msgstr "" + +#: ../../Zotlabs/Lib/Apps.php:366 +msgid "Order Apps" +msgstr "" + +#: ../../Zotlabs/Lib/Apps.php:367 +msgid "CardDAV" +msgstr "" + +#: ../../Zotlabs/Lib/Apps.php:369 +msgid "Guest Access" +msgstr "" + +#: ../../Zotlabs/Lib/Apps.php:370 ../../Zotlabs/Widget/Notes.php:21 +#: ../../extend/addon/hzaddons/workflow/workflow.php:2625 +msgid "Notes" +msgstr "" + +#: ../../Zotlabs/Lib/Apps.php:371 +msgid "OAuth Apps Manager" +msgstr "" + +#: ../../Zotlabs/Lib/Apps.php:372 +msgid "OAuth2 Apps Manager" +msgstr "" + +#: ../../Zotlabs/Lib/Apps.php:373 +msgid "PDL Editor" +msgstr "" + +#: ../../Zotlabs/Lib/Apps.php:376 +msgid "My Chatrooms" +msgstr "" + +#: ../../Zotlabs/Lib/Apps.php:377 +msgid "Channel Export" +msgstr "" + +#: ../../Zotlabs/Lib/Apps.php:554 +msgid "Purchase" +msgstr "" + +#: ../../Zotlabs/Lib/Apps.php:559 +msgid "Undelete" +msgstr "" + +#: ../../Zotlabs/Lib/Apps.php:569 +msgid "Add to app-tray" +msgstr "" + +#: ../../Zotlabs/Lib/Apps.php:570 +msgid "Remove from app-tray" +msgstr "" + +#: ../../Zotlabs/Lib/Apps.php:571 +msgid "Pin to navbar" +msgstr "" + +#: ../../Zotlabs/Lib/Apps.php:572 +msgid "Unpin from navbar" +msgstr "" + +#: ../../Zotlabs/Lib/DB_Upgrade.php:67 +msgid "Source code of failed update: " +msgstr "" + +#: ../../Zotlabs/Lib/DB_Upgrade.php:88 +#, php-format +msgid "Update Error at %s" +msgstr "" + +#: ../../Zotlabs/Lib/DB_Upgrade.php:94 +#, php-format +msgid "Update %s failed. See error logs." +msgstr "" + +#: ../../Zotlabs/Lib/AccessList.php:28 +msgid "" +"A deleted list with this name was revived. Existing item permissions " +"<strong>may</strong> apply to this list and any future members. If this is " +"not what you intended, please create another list with a different name." +msgstr "" + +#: ../../Zotlabs/Lib/AccessList.php:286 +msgid "Add new connections to this access list" +msgstr "" + +#: ../../Zotlabs/Lib/AccessList.php:331 +msgid "Lists" +msgstr "" + +#: ../../Zotlabs/Lib/AccessList.php:332 +msgid "Edit list" +msgstr "" + +#: ../../Zotlabs/Lib/AccessList.php:333 +msgid "Create new list" +msgstr "" + +#: ../../Zotlabs/Lib/AccessList.php:334 +msgid "Channels not in any access list" +msgstr "" + +#: ../../Zotlabs/Lib/Chatroom.php:25 +msgid "Missing room name" +msgstr "" + +#: ../../Zotlabs/Lib/Chatroom.php:34 +msgid "Duplicate room name" +msgstr "" + +#: ../../Zotlabs/Lib/Chatroom.php:84 ../../Zotlabs/Lib/Chatroom.php:92 +msgid "Invalid room specifier." +msgstr "" + +#: ../../Zotlabs/Lib/Chatroom.php:124 +msgid "Room not found." +msgstr "" + +#: ../../Zotlabs/Lib/Chatroom.php:145 +msgid "Room is full" +msgstr "" + +#: ../../Zotlabs/Lib/Techlevels.php:10 +msgid "0. Beginner/Basic" +msgstr "" + +#: ../../Zotlabs/Lib/Techlevels.php:11 +msgid "1. Novice - not skilled but willing to learn" +msgstr "" + +#: ../../Zotlabs/Lib/Techlevels.php:12 +msgid "2. Intermediate - somewhat comfortable" +msgstr "" + +#: ../../Zotlabs/Lib/Techlevels.php:13 +msgid "3. Advanced - very comfortable" +msgstr "" + +#: ../../Zotlabs/Lib/Techlevels.php:14 +msgid "4. Expert - I can write computer code" +msgstr "" + +#: ../../Zotlabs/Lib/Techlevels.php:15 +msgid "5. Wizard - I probably know more than you do" +msgstr "" + +#: ../../Zotlabs/Lib/Enotify.php:60 +msgid "$Projectname Notification" +msgstr "" + +#: ../../Zotlabs/Lib/Enotify.php:61 +#: ../../extend/addon/hzaddons/diaspora/util.php:336 +#: ../../extend/addon/hzaddons/diaspora/util.php:349 +#: ../../extend/addon/hzaddons/diaspora/p.php:48 +msgid "$projectname" +msgstr "" + +#: ../../Zotlabs/Lib/Enotify.php:63 +msgid "Thank You," +msgstr "" + +#: ../../Zotlabs/Lib/Enotify.php:65 +#: ../../extend/addon/hzaddons/hubwall/hubwall.php:33 +#, php-format +msgid "%s Administrator" +msgstr "" + +#: ../../Zotlabs/Lib/Enotify.php:66 +#, php-format +msgid "This email was sent by %1$s at %2$s." +msgstr "" + +#: ../../Zotlabs/Lib/Enotify.php:67 +#, php-format +msgid "" +"To stop receiving these messages, please adjust your Notification Settings " +"at %s" +msgstr "" + +#: ../../Zotlabs/Lib/Enotify.php:68 +#, php-format +msgid "To stop receiving these messages, please adjust your %s." +msgstr "" + +#: ../../Zotlabs/Lib/Enotify.php:123 +#, php-format +msgid "%s <!item_type!>" +msgstr "" + +#: ../../Zotlabs/Lib/Enotify.php:127 +#, php-format +msgid "[$Projectname:Notify] New mail received at %s" +msgstr "" + +#: ../../Zotlabs/Lib/Enotify.php:129 +#, php-format +msgid "%1$s sent you a new private message at %2$s." +msgstr "" + +#: ../../Zotlabs/Lib/Enotify.php:130 +#, php-format +msgid "%1$s sent you %2$s." +msgstr "" + +#: ../../Zotlabs/Lib/Enotify.php:130 +msgid "a private message" +msgstr "" + +#: ../../Zotlabs/Lib/Enotify.php:131 +#, php-format +msgid "Please visit %s to view and/or reply to your private messages." +msgstr "" + +#: ../../Zotlabs/Lib/Enotify.php:144 +msgid "commented on" +msgstr "" + +#: ../../Zotlabs/Lib/Enotify.php:157 +msgid "liked" +msgstr "" + +#: ../../Zotlabs/Lib/Enotify.php:160 +msgid "disliked" +msgstr "" + +#: ../../Zotlabs/Lib/Enotify.php:165 +msgid "voted on" +msgstr "" + +#: ../../Zotlabs/Lib/Enotify.php:208 +#, php-format +msgid "%1$s %2$s [zrl=%3$s]a %4$s[/zrl]" +msgstr "" + +#: ../../Zotlabs/Lib/Enotify.php:216 +#, php-format +msgid "%1$s %2$s [zrl=%3$s]%4$s's %5$s[/zrl]" +msgstr "" + +#: ../../Zotlabs/Lib/Enotify.php:225 +#, php-format +msgid "%1$s %2$s [zrl=%3$s]your %4$s[/zrl]" +msgstr "" + +#: ../../Zotlabs/Lib/Enotify.php:237 +#, php-format +msgid "[$Projectname:Notify] Moderated Comment to conversation #%1$d by %2$s" +msgstr "" + +#: ../../Zotlabs/Lib/Enotify.php:239 +#, php-format +msgid "[$Projectname:Notify] Comment to conversation #%1$d by %2$s" +msgstr "" + +#: ../../Zotlabs/Lib/Enotify.php:240 +#, php-format +msgid "%1$s commented on an item/conversation you have been following." +msgstr "" + +#: ../../Zotlabs/Lib/Enotify.php:243 ../../Zotlabs/Lib/Enotify.php:324 +#: ../../Zotlabs/Lib/Enotify.php:340 ../../Zotlabs/Lib/Enotify.php:365 +#: ../../Zotlabs/Lib/Enotify.php:382 ../../Zotlabs/Lib/Enotify.php:395 +#, php-format +msgid "Please visit %s to view and/or reply to the conversation." +msgstr "" + +#: ../../Zotlabs/Lib/Enotify.php:247 ../../Zotlabs/Lib/Enotify.php:248 +#, php-format +msgid "Please visit %s to approve or reject this comment." +msgstr "" + +#: ../../Zotlabs/Lib/Enotify.php:306 +#, php-format +msgid "%1$s liked [zrl=%2$s]your %3$s[/zrl]" +msgstr "" + +#: ../../Zotlabs/Lib/Enotify.php:320 +#, php-format +msgid "[$Projectname:Notify] Like received to conversation #%1$d by %2$s" +msgstr "" + +#: ../../Zotlabs/Lib/Enotify.php:321 +#, php-format +msgid "%1$s liked an item/conversation you created." +msgstr "" + +#: ../../Zotlabs/Lib/Enotify.php:332 +#, php-format +msgid "[$Projectname:Notify] %s posted to your profile wall" +msgstr "" + +#: ../../Zotlabs/Lib/Enotify.php:334 +#, php-format +msgid "%1$s posted to your profile wall at %2$s" +msgstr "" + +#: ../../Zotlabs/Lib/Enotify.php:336 +#, php-format +msgid "%1$s posted to [zrl=%2$s]your wall[/zrl]" +msgstr "" + +#: ../../Zotlabs/Lib/Enotify.php:359 +#, php-format +msgid "[$Projectname:Notify] %s tagged you" +msgstr "" + +#: ../../Zotlabs/Lib/Enotify.php:360 +#, php-format +msgid "%1$s tagged you at %2$s" +msgstr "" + +#: ../../Zotlabs/Lib/Enotify.php:361 +#, php-format +msgid "%1$s [zrl=%2$s]tagged you[/zrl]." +msgstr "" + +#: ../../Zotlabs/Lib/Enotify.php:372 +#, php-format +msgid "[$Projectname:Notify] %1$s poked you" +msgstr "" + +#: ../../Zotlabs/Lib/Enotify.php:373 +#, php-format +msgid "%1$s poked you at %2$s" +msgstr "" + +#: ../../Zotlabs/Lib/Enotify.php:374 +#, php-format +msgid "%1$s [zrl=%2$s]poked you[/zrl]." +msgstr "" + +#: ../../Zotlabs/Lib/Enotify.php:389 +#, php-format +msgid "[$Projectname:Notify] %s tagged your post" +msgstr "" + +#: ../../Zotlabs/Lib/Enotify.php:390 +#, php-format +msgid "%1$s tagged your post at %2$s" +msgstr "" + +#: ../../Zotlabs/Lib/Enotify.php:391 +#, php-format +msgid "%1$s tagged [zrl=%2$s]your post[/zrl]" +msgstr "" + +#: ../../Zotlabs/Lib/Enotify.php:402 +msgid "[$Projectname:Notify] Introduction received" +msgstr "" + +#: ../../Zotlabs/Lib/Enotify.php:403 +#, php-format +msgid "You've received an new connection request from '%1$s' at %2$s" +msgstr "" + +#: ../../Zotlabs/Lib/Enotify.php:404 +#, php-format +msgid "You've received [zrl=%1$s]a new connection request[/zrl] from %2$s." +msgstr "" + +#: ../../Zotlabs/Lib/Enotify.php:407 ../../Zotlabs/Lib/Enotify.php:425 +#, php-format +msgid "You may visit their profile at %s" +msgstr "" + +#: ../../Zotlabs/Lib/Enotify.php:409 +#, php-format +msgid "Please visit %s to approve or reject the connection request." +msgstr "" + +#: ../../Zotlabs/Lib/Enotify.php:416 +msgid "[$Projectname:Notify] Friend suggestion received" +msgstr "" + +#: ../../Zotlabs/Lib/Enotify.php:417 +#, php-format +msgid "You've received a friend suggestion from '%1$s' at %2$s" +msgstr "" + +#: ../../Zotlabs/Lib/Enotify.php:418 +#, php-format +msgid "You've received [zrl=%1$s]a friend suggestion[/zrl] for %2$s from %3$s." +msgstr "" + +#: ../../Zotlabs/Lib/Enotify.php:423 +msgid "Name:" +msgstr "" + +#: ../../Zotlabs/Lib/Enotify.php:424 +msgid "Photo:" +msgstr "" + +#: ../../Zotlabs/Lib/Enotify.php:427 +#, php-format +msgid "Please visit %s to approve or reject the suggestion." +msgstr "" + +#: ../../Zotlabs/Lib/Enotify.php:652 +msgid "[$Projectname:Notify]" +msgstr "" + +#: ../../Zotlabs/Lib/Enotify.php:820 +msgid "created a new poll" +msgstr "" + +#: ../../Zotlabs/Lib/Enotify.php:820 +msgid "created a new post" +msgstr "" + +#: ../../Zotlabs/Lib/Enotify.php:821 +#, php-format +msgid "voted on %s's poll" +msgstr "" + +#: ../../Zotlabs/Lib/Enotify.php:821 +#, php-format +msgid "commented on %s's post" +msgstr "" + +#: ../../Zotlabs/Lib/Enotify.php:825 +#, php-format +msgid "repeated %s's post" +msgstr "" + +#: ../../Zotlabs/Lib/Enotify.php:837 +#, php-format +msgid "edited a post dated %s" +msgstr "" + +#: ../../Zotlabs/Lib/Enotify.php:841 +#, php-format +msgid "edited a comment dated %s" +msgstr "" + +#: ../../Zotlabs/Lib/Enotify.php:970 +msgid "created an event" +msgstr "" + +#: ../../Zotlabs/Lib/Libsync.php:740 ../../include/zot.php:2657 +#, php-format +msgid "Unable to verify site signature for %s" +msgstr "" + +#: ../../Zotlabs/Lib/NativeWikiPage.php:42 +#: ../../Zotlabs/Lib/NativeWikiPage.php:94 +msgid "(No Title)" +msgstr "" + +#: ../../Zotlabs/Lib/NativeWikiPage.php:109 +msgid "Wiki page create failed." +msgstr "" + +#: ../../Zotlabs/Lib/NativeWikiPage.php:122 +msgid "Wiki not found." +msgstr "" + +#: ../../Zotlabs/Lib/NativeWikiPage.php:133 +msgid "Destination name already exists" +msgstr "" + +#: ../../Zotlabs/Lib/NativeWikiPage.php:166 +#: ../../Zotlabs/Lib/NativeWikiPage.php:362 +msgid "Page not found" +msgstr "" + +#: ../../Zotlabs/Lib/NativeWikiPage.php:197 +msgid "Error reading page content" +msgstr "" + +#: ../../Zotlabs/Lib/NativeWikiPage.php:353 +#: ../../Zotlabs/Lib/NativeWikiPage.php:402 +#: ../../Zotlabs/Lib/NativeWikiPage.php:469 +#: ../../Zotlabs/Lib/NativeWikiPage.php:510 +msgid "Error reading wiki" +msgstr "" + +#: ../../Zotlabs/Lib/NativeWikiPage.php:390 +msgid "Page update failed." +msgstr "" + +#: ../../Zotlabs/Lib/NativeWikiPage.php:424 +msgid "Nothing deleted" +msgstr "" + +#: ../../Zotlabs/Lib/NativeWikiPage.php:490 +msgid "Compare: object not found." +msgstr "" + +#: ../../Zotlabs/Lib/NativeWikiPage.php:496 +msgid "Page updated" +msgstr "" + +#: ../../Zotlabs/Lib/NativeWikiPage.php:499 +msgid "Untitled" +msgstr "" + +#: ../../Zotlabs/Lib/NativeWikiPage.php:505 +msgid "Wiki resource_id required for git commit" +msgstr "" + +#: ../../Zotlabs/Lib/NativeWikiPage.php:565 +#: ../../Zotlabs/Widget/Wiki_page_history.php:23 +msgctxt "wiki_history" +msgid "Message" +msgstr "" + +#: ../../Zotlabs/Lib/NativeWikiPage.php:566 +#: ../../Zotlabs/Widget/Wiki_page_history.php:24 +msgid "Date" +msgstr "" + +#: ../../Zotlabs/Lib/NativeWikiPage.php:568 +#: ../../Zotlabs/Widget/Wiki_page_history.php:26 +msgid "Compare" +msgstr "" + +#: ../../Zotlabs/Lib/NativeWikiPage.php:606 ../../include/bbcode.php:1018 +#: ../../include/bbcode.php:1190 +msgid "Different viewers will see this text differently" +msgstr "" + +#: ../../Zotlabs/Lib/ThreadItem.php:103 ../../include/conversation.php:739 +msgid "Private Message" +msgstr "" + +#: ../../Zotlabs/Lib/ThreadItem.php:130 +msgid "Privacy conflict. Discretion advised." +msgstr "" + +#: ../../Zotlabs/Lib/ThreadItem.php:180 ../../include/conversation.php:729 +msgid "Select" +msgstr "" + +#: ../../Zotlabs/Lib/ThreadItem.php:205 ../../Zotlabs/Widget/Pinned.php:70 +msgid "I will attend" +msgstr "" + +#: ../../Zotlabs/Lib/ThreadItem.php:205 ../../Zotlabs/Widget/Pinned.php:70 +msgid "I will not attend" +msgstr "" + +#: ../../Zotlabs/Lib/ThreadItem.php:205 ../../Zotlabs/Widget/Pinned.php:70 +msgid "I might attend" +msgstr "" + +#: ../../Zotlabs/Lib/ThreadItem.php:219 ../../Zotlabs/Widget/Pinned.php:81 +msgid "I agree" +msgstr "" + +#: ../../Zotlabs/Lib/ThreadItem.php:219 ../../Zotlabs/Widget/Pinned.php:81 +msgid "I disagree" +msgstr "" + +#: ../../Zotlabs/Lib/ThreadItem.php:219 ../../Zotlabs/Widget/Pinned.php:81 +msgid "I abstain" +msgstr "" + +#: ../../Zotlabs/Lib/ThreadItem.php:273 ../../include/conversation.php:734 +msgid "Toggle Star Status" +msgstr "" + +#: ../../Zotlabs/Lib/ThreadItem.php:284 ../../Zotlabs/Widget/Pinned.php:88 +#: ../../include/conversation.php:746 +msgid "Message signature validated" +msgstr "" + +#: ../../Zotlabs/Lib/ThreadItem.php:285 ../../Zotlabs/Widget/Pinned.php:89 +#: ../../include/conversation.php:747 +msgid "Message signature incorrect" +msgstr "" + +#: ../../Zotlabs/Lib/ThreadItem.php:301 ../../include/conversation.php:933 +msgid "Conversation Tools" +msgstr "" + +#: ../../Zotlabs/Lib/ThreadItem.php:317 ../../include/taxonomy.php:582 +msgid "like" +msgstr "" + +#: ../../Zotlabs/Lib/ThreadItem.php:318 ../../include/taxonomy.php:583 +msgid "dislike" +msgstr "" + +#: ../../Zotlabs/Lib/ThreadItem.php:319 +msgid "Reply on this comment" +msgstr "" + +#: ../../Zotlabs/Lib/ThreadItem.php:319 +msgid "reply" +msgstr "" + +#: ../../Zotlabs/Lib/ThreadItem.php:319 +msgid "Reply to" +msgstr "" + +#: ../../Zotlabs/Lib/ThreadItem.php:329 ../../Zotlabs/Widget/Pinned.php:99 +msgid "Share This" +msgstr "" + +#: ../../Zotlabs/Lib/ThreadItem.php:329 ../../Zotlabs/Widget/Pinned.php:99 +msgid "share" +msgstr "" + +#: ../../Zotlabs/Lib/ThreadItem.php:339 +msgid "Delivery Report" +msgstr "" + +#: ../../Zotlabs/Lib/ThreadItem.php:358 +#, php-format +msgid "%d comment" +msgid_plural "%d comments" +msgstr[0] "" +msgstr[1] "" + +#: ../../Zotlabs/Lib/ThreadItem.php:359 +#, php-format +msgid "%d unseen" +msgstr "" + +#: ../../Zotlabs/Lib/ThreadItem.php:412 +msgid "to" +msgstr "" + +#: ../../Zotlabs/Lib/ThreadItem.php:413 ../../Zotlabs/Widget/Pinned.php:128 +msgid "via" +msgstr "" + +#: ../../Zotlabs/Lib/ThreadItem.php:414 +msgid "Wall-to-Wall" +msgstr "" + +#: ../../Zotlabs/Lib/ThreadItem.php:415 +msgid "via Wall-To-Wall:" +msgstr "" + +#: ../../Zotlabs/Lib/ThreadItem.php:429 ../../Zotlabs/Widget/Pinned.php:133 +#: ../../include/conversation.php:806 +#, php-format +msgid "from %s" +msgstr "" + +#: ../../Zotlabs/Lib/ThreadItem.php:432 ../../Zotlabs/Widget/Pinned.php:136 +#: ../../include/conversation.php:809 +#, php-format +msgid "last edited: %s" +msgstr "" + +#: ../../Zotlabs/Lib/ThreadItem.php:433 ../../Zotlabs/Widget/Pinned.php:137 +#: ../../include/conversation.php:810 +#, php-format +msgid "Expires: %s" +msgstr "" + +#: ../../Zotlabs/Lib/ThreadItem.php:442 +msgid "Attend" +msgstr "" + +#: ../../Zotlabs/Lib/ThreadItem.php:443 ../../Zotlabs/Widget/Pinned.php:143 +msgid "Attendance Options" +msgstr "" + +#: ../../Zotlabs/Lib/ThreadItem.php:444 ../../include/text.php:1922 +msgid "Vote" +msgstr "" + +#: ../../Zotlabs/Lib/ThreadItem.php:445 ../../Zotlabs/Widget/Pinned.php:144 +msgid "Voting Options" +msgstr "" + +#: ../../Zotlabs/Lib/ThreadItem.php:460 +msgid "Go to previous comment" +msgstr "" + +#: ../../Zotlabs/Lib/ThreadItem.php:469 ../../Zotlabs/Widget/Pinned.php:156 +msgid "Pinned post" +msgstr "" + +#: ../../Zotlabs/Lib/ThreadItem.php:471 ../../Zotlabs/Widget/Pinned.php:157 +#: ../../include/js_strings.php:39 +msgid "Unpin from the top" +msgstr "" + +#: ../../Zotlabs/Lib/ThreadItem.php:471 ../../include/js_strings.php:38 +msgid "Pin to the top" +msgstr "" + +#: ../../Zotlabs/Lib/ThreadItem.php:472 +#: ../../extend/addon/hzaddons/bookmarker/bookmarker.php:38 +msgid "Save Bookmarks" +msgstr "" + +#: ../../Zotlabs/Lib/ThreadItem.php:473 +msgid "Add to Calendar" +msgstr "" + +#: ../../Zotlabs/Lib/ThreadItem.php:500 ../../include/conversation.php:516 +msgid "This is an unsaved preview" +msgstr "" + +#: ../../Zotlabs/Lib/ThreadItem.php:533 ../../include/js_strings.php:7 +#, php-format +msgid "%s show all" +msgstr "" + +#: ../../Zotlabs/Lib/ThreadItem.php:826 ../../include/conversation.php:1449 +#: ../../extend/addon/hzaddons/hsse/hsse.php:200 +msgid "Bold" +msgstr "" + +#: ../../Zotlabs/Lib/ThreadItem.php:827 ../../include/conversation.php:1450 +#: ../../extend/addon/hzaddons/hsse/hsse.php:201 +msgid "Italic" +msgstr "" + +#: ../../Zotlabs/Lib/ThreadItem.php:828 ../../include/conversation.php:1451 +#: ../../extend/addon/hzaddons/hsse/hsse.php:202 +msgid "Underline" +msgstr "" + +#: ../../Zotlabs/Lib/ThreadItem.php:829 ../../include/conversation.php:1452 +#: ../../extend/addon/hzaddons/hsse/hsse.php:203 +msgid "Quote" +msgstr "" + +#: ../../Zotlabs/Lib/ThreadItem.php:830 ../../include/conversation.php:1453 +#: ../../extend/addon/hzaddons/hsse/hsse.php:204 +msgid "Code" +msgstr "" + +#: ../../Zotlabs/Lib/ThreadItem.php:831 +msgid "Image" +msgstr "" + +#: ../../Zotlabs/Lib/ThreadItem.php:832 ../../include/conversation.php:1454 +#: ../../extend/addon/hzaddons/hsse/hsse.php:205 +msgid "Attach/Upload file" +msgstr "" + +#: ../../Zotlabs/Lib/ThreadItem.php:833 +msgid "Insert Link" +msgstr "" + +#: ../../Zotlabs/Lib/ThreadItem.php:834 +msgid "Video" +msgstr "" + +#: ../../Zotlabs/Lib/ThreadItem.php:844 +msgid "Your full name (required)" +msgstr "" + +#: ../../Zotlabs/Lib/ThreadItem.php:845 +msgid "Your email address (required)" +msgstr "" + +#: ../../Zotlabs/Lib/ThreadItem.php:846 +msgid "Your website URL (optional)" +msgstr "" + +#: ../../Zotlabs/Lib/Activity.php:2110 +#, php-format +msgid "Likes %1$s's %2$s" +msgstr "" + +#: ../../Zotlabs/Lib/Activity.php:2113 +#, php-format +msgid "Doesn't like %1$s's %2$s" +msgstr "" + +#: ../../Zotlabs/Lib/Activity.php:2119 +#, php-format +msgid "Will attend %s's event" +msgstr "" + +#: ../../Zotlabs/Lib/Activity.php:2122 +#, php-format +msgid "Will not attend %s's event" +msgstr "" + +#: ../../Zotlabs/Lib/Activity.php:2125 +#, php-format +msgid "May attend %s's event" +msgstr "" + +#: ../../Zotlabs/Lib/Activity.php:2128 +#, php-format +msgid "May not attend %s's event" +msgstr "" + +#: ../../Zotlabs/Lib/Activity.php:2821 ../../Zotlabs/Lib/Activity.php:3015 +#: ../../include/network.php:1736 +#: ../../extend/addon/hzaddons/pubcrawl/as.php:1479 +#: ../../extend/addon/hzaddons/pubcrawl/as.php:1733 +#: ../../extend/addon/hzaddons/pubcrawl/as.php:1941 +msgid "ActivityPub" +msgstr "" + +#: ../../Zotlabs/Lib/NativeWiki.php:145 +msgid "Wiki updated successfully" +msgstr "" + +#: ../../Zotlabs/Lib/NativeWiki.php:199 +msgid "Wiki files deleted successfully" +msgstr "" + +#: ../../Zotlabs/Lib/Libzotdir.php:163 ../../include/dir_fns.php:141 +msgid "Directory Options" +msgstr "" + +#: ../../Zotlabs/Lib/Libzotdir.php:165 ../../include/dir_fns.php:143 +msgid "Safe Mode" +msgstr "" + +#: ../../Zotlabs/Lib/Libzotdir.php:166 ../../include/dir_fns.php:144 +msgid "Public Forums Only" +msgstr "" + +#: ../../Zotlabs/Lib/Libzotdir.php:168 ../../include/dir_fns.php:145 +msgid "This Website Only" +msgstr "" + +#: ../../Zotlabs/Lib/Permcat.php:82 +msgctxt "permcat" +msgid "default" +msgstr "" + +#: ../../Zotlabs/Lib/Permcat.php:133 +msgctxt "permcat" +msgid "follower" +msgstr "" + +#: ../../Zotlabs/Lib/Permcat.php:137 +msgctxt "permcat" +msgid "contributor" +msgstr "" + +#: ../../Zotlabs/Lib/Permcat.php:141 +msgctxt "permcat" +msgid "publisher" +msgstr "" + +#: ../../Zotlabs/Lib/Libzot.php:656 ../../include/zot.php:802 +msgid "Unable to verify channel signature" +msgstr "" + +#: ../../Zotlabs/Lib/PermissionDescription.php:34 +#: ../../include/acl_selectors.php:33 +msgid "Visible to your default audience" +msgstr "" + +#: ../../Zotlabs/Lib/PermissionDescription.php:107 +#: ../../include/acl_selectors.php:135 +msgid "Only me" +msgstr "" + +#: ../../Zotlabs/Lib/PermissionDescription.php:108 +msgid "Public" +msgstr "" + +#: ../../Zotlabs/Lib/PermissionDescription.php:109 +msgid "Anybody in the $Projectname network" +msgstr "" + +#: ../../Zotlabs/Lib/PermissionDescription.php:110 +#, php-format +msgid "Any account on %s" +msgstr "" + +#: ../../Zotlabs/Lib/PermissionDescription.php:111 +msgid "Any of my connections" +msgstr "" + +#: ../../Zotlabs/Lib/PermissionDescription.php:112 +msgid "Only connections I specifically allow" +msgstr "" + +#: ../../Zotlabs/Lib/PermissionDescription.php:113 +msgid "Anybody authenticated (could include visitors from other networks)" +msgstr "" + +#: ../../Zotlabs/Lib/PermissionDescription.php:114 +msgid "Any connections including those who haven't yet been approved" +msgstr "" + +#: ../../Zotlabs/Lib/PermissionDescription.php:150 +msgid "" +"This is your default setting for the audience of your normal stream, and " +"posts." +msgstr "" + +#: ../../Zotlabs/Lib/PermissionDescription.php:151 +msgid "" +"This is your default setting for who can view your default channel profile" +msgstr "" + +#: ../../Zotlabs/Lib/PermissionDescription.php:152 +msgid "This is your default setting for who can view your connections" +msgstr "" + +#: ../../Zotlabs/Lib/PermissionDescription.php:153 +msgid "" +"This is your default setting for who can view your file storage and photos" +msgstr "" + +#: ../../Zotlabs/Lib/PermissionDescription.php:154 +msgid "This is your default setting for the audience of your webpages" +msgstr "" + +#: ../../Zotlabs/Widget/Appcategories.php:46 ../../Zotlabs/Widget/Filer.php:31 +#: ../../include/contact_widgets.php:56 ../../include/contact_widgets.php:111 +#: ../../include/contact_widgets.php:155 ../../include/contact_widgets.php:200 +#: ../../include/contact_widgets.php:235 +msgid "Everything" +msgstr "" + +#: ../../Zotlabs/Widget/Cdav.php:37 +msgid "Select Channel" +msgstr "" + +#: ../../Zotlabs/Widget/Cdav.php:42 +msgid "Read-write" +msgstr "" + +#: ../../Zotlabs/Widget/Cdav.php:43 +msgid "Read-only" +msgstr "" + +#: ../../Zotlabs/Widget/Cdav.php:127 +msgid "Channel Calendar" +msgstr "" + +#: ../../Zotlabs/Widget/Cdav.php:131 +msgid "Shared CalDAV Calendars" +msgstr "" + +#: ../../Zotlabs/Widget/Cdav.php:135 +msgid "Share this calendar" +msgstr "" + +#: ../../Zotlabs/Widget/Cdav.php:137 +msgid "Calendar name and color" +msgstr "" + +#: ../../Zotlabs/Widget/Cdav.php:139 +msgid "Create new CalDAV calendar" +msgstr "" + +#: ../../Zotlabs/Widget/Cdav.php:141 +msgid "Calendar Name" +msgstr "" + +#: ../../Zotlabs/Widget/Cdav.php:142 +msgid "Calendar Tools" +msgstr "" + +#: ../../Zotlabs/Widget/Cdav.php:144 +msgid "Import calendar" +msgstr "" + +#: ../../Zotlabs/Widget/Cdav.php:145 +msgid "Select a calendar to import to" +msgstr "" + +#: ../../Zotlabs/Widget/Cdav.php:172 +msgid "Addressbooks" +msgstr "" + +#: ../../Zotlabs/Widget/Cdav.php:174 +msgid "Addressbook name" +msgstr "" + +#: ../../Zotlabs/Widget/Cdav.php:176 +msgid "Create new addressbook" +msgstr "" + +#: ../../Zotlabs/Widget/Cdav.php:177 +msgid "Addressbook Name" +msgstr "" + +#: ../../Zotlabs/Widget/Cdav.php:179 +msgid "Addressbook Tools" +msgstr "" + +#: ../../Zotlabs/Widget/Cdav.php:180 +msgid "Import addressbook" +msgstr "" + +#: ../../Zotlabs/Widget/Cdav.php:181 +msgid "Select an addressbook to import to" +msgstr "" + +#: ../../Zotlabs/Widget/Filer.php:28 +#: ../../Zotlabs/Widget/Activity_filter.php:179 +#: ../../include/contact_widgets.php:53 ../../include/features.php:319 +msgid "Saved Folders" +msgstr "" + +#: ../../Zotlabs/Widget/Tagcloud.php:22 ../../include/taxonomy.php:323 +#: ../../include/taxonomy.php:458 ../../include/taxonomy.php:479 +msgid "Tags" +msgstr "" + +#: ../../Zotlabs/Widget/Archive.php:43 +msgid "Archives" +msgstr "" + +#: ../../Zotlabs/Widget/Chatroom_members.php:11 +msgid "Chat Members" +msgstr "" + +#: ../../Zotlabs/Widget/Rating.php:51 +msgid "Rating Tools" +msgstr "" + +#: ../../Zotlabs/Widget/Rating.php:55 ../../Zotlabs/Widget/Rating.php:57 +msgid "Rate Me" +msgstr "" + +#: ../../Zotlabs/Widget/Rating.php:60 +msgid "View Ratings" +msgstr "" + +#: ../../Zotlabs/Widget/Wiki_pages.php:34 +#: ../../Zotlabs/Widget/Wiki_pages.php:91 +msgid "Add new page" +msgstr "" + +#: ../../Zotlabs/Widget/Wiki_pages.php:85 +msgid "Wiki Pages" +msgstr "" + +#: ../../Zotlabs/Widget/Wiki_pages.php:96 +msgid "Page name" +msgstr "" + +#: ../../Zotlabs/Widget/Bookmarkedchats.php:24 +msgid "Bookmarked Chatrooms" +msgstr "" + +#: ../../Zotlabs/Widget/Photo.php:48 ../../Zotlabs/Widget/Photo_rand.php:58 +msgid "photo/image" +msgstr "" + +#: ../../Zotlabs/Widget/Forums.php:100 +#: ../../Zotlabs/Widget/Activity_filter.php:115 +#: ../../Zotlabs/Widget/Notifications.php:139 +#: ../../Zotlabs/Widget/Notifications.php:140 +#: ../../include/acl_selectors.php:124 +msgid "Forums" +msgstr "" + +#: ../../Zotlabs/Widget/Savedsearch.php:75 +msgid "Remove term" +msgstr "" + +#: ../../Zotlabs/Widget/Savedsearch.php:83 ../../include/features.php:311 +msgid "Saved Searches" +msgstr "" + +#: ../../Zotlabs/Widget/Follow.php:22 +#, php-format +msgid "You have %1$.0f of %2$.0f allowed connections." +msgstr "" + +#: ../../Zotlabs/Widget/Follow.php:29 +msgid "Add New Connection" +msgstr "" + +#: ../../Zotlabs/Widget/Follow.php:30 +msgid "Enter channel address" +msgstr "" + +#: ../../Zotlabs/Widget/Follow.php:31 +msgid "Examples: bob@example.com, https://example.com/barbara" +msgstr "" + +#: ../../Zotlabs/Widget/Suggestions.php:53 +msgid "Suggestions" +msgstr "" + +#: ../../Zotlabs/Widget/Suggestions.php:54 +msgid "See more..." +msgstr "" + +#: ../../Zotlabs/Widget/Tasklist.php:23 +msgid "Tasks" +msgstr "" + +#: ../../Zotlabs/Widget/Admin.php:23 ../../Zotlabs/Widget/Admin.php:60 +msgid "Member registrations waiting for confirmation" +msgstr "" + +#: ../../Zotlabs/Widget/Admin.php:29 +msgid "Inspect queue" +msgstr "" + +#: ../../Zotlabs/Widget/Admin.php:31 +msgid "DB updates" +msgstr "" + +#: ../../Zotlabs/Widget/Admin.php:55 ../../include/nav.php:194 +msgid "Admin" +msgstr "" + +#: ../../Zotlabs/Widget/Admin.php:56 +msgid "Addon Features" +msgstr "" + +#: ../../Zotlabs/Widget/Chatroom_list.php:20 +msgid "Overview" +msgstr "" + +#: ../../Zotlabs/Widget/Appstore.php:11 +msgid "App Collections" +msgstr "" + +#: ../../Zotlabs/Widget/Appstore.php:13 +msgid "Installed apps" +msgstr "" + +#: ../../Zotlabs/Widget/Activity_order.php:90 +msgid "Commented Date" +msgstr "" + +#: ../../Zotlabs/Widget/Activity_order.php:94 +msgid "Order by last commented date" +msgstr "" + +#: ../../Zotlabs/Widget/Activity_order.php:97 +msgid "Posted Date" +msgstr "" + +#: ../../Zotlabs/Widget/Activity_order.php:101 +msgid "Order by last posted date" +msgstr "" + +#: ../../Zotlabs/Widget/Activity_order.php:104 +msgid "Date Unthreaded" +msgstr "" + +#: ../../Zotlabs/Widget/Activity_order.php:108 +msgid "Order unthreaded by date" +msgstr "" + +#: ../../Zotlabs/Widget/Activity_order.php:123 +msgid "Stream Order" +msgstr "" + +#: ../../Zotlabs/Widget/Mailmenu.php:13 +msgid "Private Mail Menu" +msgstr "" + +#: ../../Zotlabs/Widget/Mailmenu.php:15 +msgid "Combined View" +msgstr "" + +#: ../../Zotlabs/Widget/Mailmenu.php:20 +msgid "Inbox" +msgstr "" + +#: ../../Zotlabs/Widget/Mailmenu.php:25 +msgid "Outbox" +msgstr "" + +#: ../../Zotlabs/Widget/Mailmenu.php:30 +msgid "New Message" +msgstr "" + +#: ../../Zotlabs/Widget/Affinity.php:54 +msgid "Refresh" +msgstr "" + +#: ../../Zotlabs/Widget/Hq_controls.php:14 +msgid "HQ Control Panel" +msgstr "" + +#: ../../Zotlabs/Widget/Hq_controls.php:17 +msgid "Create a new post" +msgstr "" + +#: ../../Zotlabs/Widget/Eventstools.php:13 +msgid "Events Tools" +msgstr "" + +#: ../../Zotlabs/Widget/Eventstools.php:14 +msgid "Export Calendar" +msgstr "" + +#: ../../Zotlabs/Widget/Eventstools.php:15 +msgid "Import Calendar" +msgstr "" + +#: ../../Zotlabs/Widget/Activity_filter.php:33 +msgid "Direct Messages" +msgstr "" + +#: ../../Zotlabs/Widget/Activity_filter.php:37 +msgid "Show direct (private) messages" +msgstr "" + +#: ../../Zotlabs/Widget/Activity_filter.php:42 +msgid "Events" +msgstr "" + +#: ../../Zotlabs/Widget/Activity_filter.php:46 +msgid "Show posts that include events" +msgstr "" + +#: ../../Zotlabs/Widget/Activity_filter.php:52 +msgid "Polls" +msgstr "" + +#: ../../Zotlabs/Widget/Activity_filter.php:56 +msgid "Show posts that include polls" +msgstr "" + +#: ../../Zotlabs/Widget/Activity_filter.php:77 +#, php-format +msgid "Show posts related to the %s privacy group" +msgstr "" + +#: ../../Zotlabs/Widget/Activity_filter.php:86 +msgid "Show my privacy groups" +msgstr "" + +#: ../../Zotlabs/Widget/Activity_filter.php:108 +msgid "Show posts to this forum" +msgstr "" + +#: ../../Zotlabs/Widget/Activity_filter.php:119 +msgid "Show forums" +msgstr "" + +#: ../../Zotlabs/Widget/Activity_filter.php:133 +msgid "Starred Posts" +msgstr "" + +#: ../../Zotlabs/Widget/Activity_filter.php:137 +msgid "Show posts that I have starred" +msgstr "" + +#: ../../Zotlabs/Widget/Activity_filter.php:148 +msgid "Personal Posts" +msgstr "" + +#: ../../Zotlabs/Widget/Activity_filter.php:152 +msgid "Show posts that mention or involve me" +msgstr "" + +#: ../../Zotlabs/Widget/Activity_filter.php:173 +#, php-format +msgid "Show posts that I have filed to %s" +msgstr "" + +#: ../../Zotlabs/Widget/Activity_filter.php:183 +msgid "Show filed post categories" +msgstr "" + +#: ../../Zotlabs/Widget/Activity_filter.php:197 +msgid "Panel search" +msgstr "" + +#: ../../Zotlabs/Widget/Activity_filter.php:207 +msgid "Filter by name" +msgstr "" + +#: ../../Zotlabs/Widget/Activity_filter.php:222 +msgid "Remove active filter" +msgstr "" + +#: ../../Zotlabs/Widget/Activity_filter.php:238 +msgid "Stream Filters" +msgstr "" + +#: ../../Zotlabs/Widget/Activity.php:50 +msgctxt "widget" +msgid "Activity" +msgstr "" + +#: ../../Zotlabs/Widget/Notifications.php:16 +msgid "New Network Activity" +msgstr "" + +#: ../../Zotlabs/Widget/Notifications.php:17 +msgid "New Network Activity Notifications" +msgstr "" + +#: ../../Zotlabs/Widget/Notifications.php:20 +msgid "View your network activity" +msgstr "" + +#: ../../Zotlabs/Widget/Notifications.php:23 +#: ../../Zotlabs/Widget/Notifications.php:62 +msgid "Mark all notifications read" +msgstr "" + +#: ../../Zotlabs/Widget/Notifications.php:26 +#: ../../Zotlabs/Widget/Notifications.php:46 +#: ../../Zotlabs/Widget/Notifications.php:65 +#: ../../Zotlabs/Widget/Notifications.php:172 +msgid "Show new posts only" +msgstr "" + +#: ../../Zotlabs/Widget/Notifications.php:27 +#: ../../Zotlabs/Widget/Notifications.php:47 +#: ../../Zotlabs/Widget/Notifications.php:66 +#: ../../Zotlabs/Widget/Notifications.php:142 +#: ../../Zotlabs/Widget/Notifications.php:173 +msgid "Filter by name or address" +msgstr "" + +#: ../../Zotlabs/Widget/Notifications.php:36 +msgid "New Home Activity" +msgstr "" + +#: ../../Zotlabs/Widget/Notifications.php:37 +msgid "New Home Activity Notifications" +msgstr "" + +#: ../../Zotlabs/Widget/Notifications.php:40 +msgid "View your home activity" +msgstr "" + +#: ../../Zotlabs/Widget/Notifications.php:43 +#: ../../Zotlabs/Widget/Notifications.php:169 +msgid "Mark all notifications seen" +msgstr "" + +#: ../../Zotlabs/Widget/Notifications.php:55 +msgid "New Direct Messages" +msgstr "" + +#: ../../Zotlabs/Widget/Notifications.php:56 +msgid "New Direct Messages Notifications" +msgstr "" + +#: ../../Zotlabs/Widget/Notifications.php:59 +msgid "View your direct messages" +msgstr "" + +#: ../../Zotlabs/Widget/Notifications.php:74 +msgid "New Mails" +msgstr "" + +#: ../../Zotlabs/Widget/Notifications.php:75 +msgid "New Mails Notifications" +msgstr "" + +#: ../../Zotlabs/Widget/Notifications.php:78 +msgid "View your private mails" +msgstr "" + +#: ../../Zotlabs/Widget/Notifications.php:81 +msgid "Mark all messages seen" +msgstr "" + +#: ../../Zotlabs/Widget/Notifications.php:89 +msgid "New Events" +msgstr "" + +#: ../../Zotlabs/Widget/Notifications.php:90 +msgid "New Events Notifications" +msgstr "" + +#: ../../Zotlabs/Widget/Notifications.php:93 +msgid "View events" +msgstr "" + +#: ../../Zotlabs/Widget/Notifications.php:96 +msgid "Mark all events seen" +msgstr "" + +#: ../../Zotlabs/Widget/Notifications.php:105 +msgid "New Connections Notifications" +msgstr "" + +#: ../../Zotlabs/Widget/Notifications.php:108 +msgid "View all connections" +msgstr "" + +#: ../../Zotlabs/Widget/Notifications.php:116 +msgid "New Files" +msgstr "" + +#: ../../Zotlabs/Widget/Notifications.php:117 +msgid "New Files Notifications" +msgstr "" + +#: ../../Zotlabs/Widget/Notifications.php:124 +#: ../../Zotlabs/Widget/Notifications.php:125 +msgid "Notices" +msgstr "" + +#: ../../Zotlabs/Widget/Notifications.php:128 +msgid "View all notices" +msgstr "" + +#: ../../Zotlabs/Widget/Notifications.php:131 +msgid "Mark all notices seen" +msgstr "" + +#: ../../Zotlabs/Widget/Notifications.php:152 +msgid "New Registrations" +msgstr "" + +#: ../../Zotlabs/Widget/Notifications.php:153 +msgid "New Registrations Notifications" +msgstr "" + +#: ../../Zotlabs/Widget/Notifications.php:163 +msgid "Public Stream Notifications" +msgstr "" + +#: ../../Zotlabs/Widget/Notifications.php:166 +msgid "View the public stream" +msgstr "" + +#: ../../Zotlabs/Widget/Notifications.php:181 +msgid "Sorry, you have got no notifications at the moment" +msgstr "" + +#: ../../Zotlabs/Widget/Pinned.php:123 ../../Zotlabs/Widget/Pinned.php:124 +#, php-format +msgid "View %s's profile - %s" +msgstr "" + +#: ../../Zotlabs/Widget/Pinned.php:158 +msgid "Don't show" +msgstr "" + +#: ../../Zotlabs/Widget/Settings_menu.php:32 +msgid "Account settings" +msgstr "" + +#: ../../Zotlabs/Widget/Settings_menu.php:38 +msgid "Channel settings" +msgstr "" + +#: ../../Zotlabs/Widget/Settings_menu.php:46 +msgid "Display settings" +msgstr "" + +#: ../../Zotlabs/Widget/Settings_menu.php:53 +msgid "Manage locations" +msgstr "" + +#: ../../Zotlabs/Widget/Suggestedchats.php:32 +msgid "Suggested Chatrooms" +msgstr "" + +#: ../../Zotlabs/Widget/Conversations.php:17 +msgid "Received Messages" +msgstr "" + +#: ../../Zotlabs/Widget/Conversations.php:21 +msgid "Sent Messages" +msgstr "" + +#: ../../Zotlabs/Widget/Conversations.php:25 +msgid "Conversations" +msgstr "" + +#: ../../Zotlabs/Widget/Conversations.php:37 +msgid "No messages." +msgstr "" + +#: ../../Zotlabs/Widget/Conversations.php:57 +msgid "Delete conversation" +msgstr "" + +#: ../../Zotlabs/Widget/Newmember.php:31 +msgid "Profile Creation" +msgstr "" + +#: ../../Zotlabs/Widget/Newmember.php:33 +msgid "Upload profile photo" +msgstr "" + +#: ../../Zotlabs/Widget/Newmember.php:34 +msgid "Upload cover photo" +msgstr "" + +#: ../../Zotlabs/Widget/Newmember.php:35 ../../include/nav.php:117 +msgid "Edit your profile" +msgstr "" + +#: ../../Zotlabs/Widget/Newmember.php:38 +msgid "Find and Connect with others" +msgstr "" + +#: ../../Zotlabs/Widget/Newmember.php:40 +msgid "View the directory" +msgstr "" + +#: ../../Zotlabs/Widget/Newmember.php:42 +msgid "Manage your connections" +msgstr "" + +#: ../../Zotlabs/Widget/Newmember.php:45 +msgid "Communicate" +msgstr "" + +#: ../../Zotlabs/Widget/Newmember.php:47 +msgid "View your channel homepage" +msgstr "" + +#: ../../Zotlabs/Widget/Newmember.php:48 +msgid "View your network stream" +msgstr "" + +#: ../../Zotlabs/Widget/Newmember.php:54 +msgid "Documentation" +msgstr "" + +#: ../../Zotlabs/Widget/Newmember.php:57 +msgid "Missing Features?" +msgstr "" + +#: ../../Zotlabs/Widget/Newmember.php:59 +msgid "Pin apps to navigation bar" +msgstr "" + +#: ../../Zotlabs/Widget/Newmember.php:60 +msgid "Install more apps" +msgstr "" + +#: ../../Zotlabs/Widget/Newmember.php:71 +msgid "View public stream" +msgstr "" + +#: ../../Zotlabs/Widget/Cover_photo.php:65 +msgid "Click to show more" +msgstr "" + +#: ../../util/nconfig.php:34 +msgid "Source channel not found." +msgstr "" + +#: ../../include/contact_widgets.php:11 +#, php-format +msgid "%d invitation available" +msgid_plural "%d invitations available" +msgstr[0] "" +msgstr[1] "" + +#: ../../include/contact_widgets.php:19 +msgid "Find Channels" +msgstr "" + +#: ../../include/contact_widgets.php:20 +msgid "Enter name or interest" +msgstr "" + +#: ../../include/contact_widgets.php:21 +msgid "Connect/Follow" +msgstr "" + +#: ../../include/contact_widgets.php:22 +msgid "Examples: Robert Morgenstein, Fishing" +msgstr "" + +#: ../../include/contact_widgets.php:26 +msgid "Random Profile" +msgstr "" + +#: ../../include/contact_widgets.php:27 +msgid "Invite Friends" +msgstr "" + +#: ../../include/contact_widgets.php:29 +msgid "Advanced example: name=fred and country=iceland" +msgstr "" + +#: ../../include/contact_widgets.php:265 +msgid "Common Connections" +msgstr "" + +#: ../../include/contact_widgets.php:269 +#, php-format +msgid "View all %d common connections" +msgstr "" + +#: ../../include/conversation.php:183 +#, php-format +msgid "likes %1$s's %2$s" +msgstr "" + +#: ../../include/conversation.php:186 +#, php-format +msgid "doesn't like %1$s's %2$s" +msgstr "" + +#: ../../include/conversation.php:226 ../../include/conversation.php:228 +#, php-format +msgid "%1$s is now connected with %2$s" +msgstr "" + +#: ../../include/conversation.php:263 +#, php-format +msgid "%1$s poked %2$s" +msgstr "" + +#: ../../include/conversation.php:267 ../../include/text.php:1242 +#: ../../include/text.php:1246 +msgid "poked" +msgstr "" + +#: ../../include/conversation.php:779 +#, php-format +msgid "View %s's profile @ %s" +msgstr "" + +#: ../../include/conversation.php:799 +msgid "Categories:" +msgstr "" + +#: ../../include/conversation.php:800 +msgid "Filed under:" +msgstr "" + +#: ../../include/conversation.php:825 +msgid "View in context" +msgstr "" + +#: ../../include/conversation.php:928 +msgid "remove" +msgstr "" + +#: ../../include/conversation.php:932 +msgid "Loading..." +msgstr "" + +#: ../../include/conversation.php:934 +msgid "Delete Selected Items" +msgstr "" + +#: ../../include/conversation.php:977 +msgid "View Source" +msgstr "" + +#: ../../include/conversation.php:987 +msgid "Follow Thread" +msgstr "" + +#: ../../include/conversation.php:996 +msgid "Unfollow Thread" +msgstr "" + +#: ../../include/conversation.php:1110 +msgid "Edit Connection" +msgstr "" + +#: ../../include/conversation.php:1120 +msgid "Message" +msgstr "" + +#: ../../include/conversation.php:1262 +#, php-format +msgid "%s likes this." +msgstr "" + +#: ../../include/conversation.php:1262 +#, php-format +msgid "%s doesn't like this." +msgstr "" + +#: ../../include/conversation.php:1266 +#, php-format +msgid "<span %1$s>%2$d people</span> like this." +msgid_plural "<span %1$s>%2$d people</span> like this." +msgstr[0] "" +msgstr[1] "" + +#: ../../include/conversation.php:1268 +#, php-format +msgid "<span %1$s>%2$d people</span> don't like this." +msgid_plural "<span %1$s>%2$d people</span> don't like this." +msgstr[0] "" +msgstr[1] "" + +#: ../../include/conversation.php:1274 +msgid "and" +msgstr "" + +#: ../../include/conversation.php:1277 +#, php-format +msgid ", and %d other people" +msgid_plural ", and %d other people" +msgstr[0] "" +msgstr[1] "" + +#: ../../include/conversation.php:1278 +#, php-format +msgid "%s like this." +msgstr "" + +#: ../../include/conversation.php:1278 +#, php-format +msgid "%s don't like this." +msgstr "" + +#: ../../include/conversation.php:1328 +#: ../../extend/addon/hzaddons/hsse/hsse.php:82 +msgid "Set your location" +msgstr "" + +#: ../../include/conversation.php:1329 +#: ../../extend/addon/hzaddons/hsse/hsse.php:83 +msgid "Clear browser location" +msgstr "" + +#: ../../include/conversation.php:1345 +#: ../../extend/addon/hzaddons/hsse/hsse.php:99 +msgid "Embed (existing) photo from your photo albums" +msgstr "" + +#: ../../include/conversation.php:1381 +#: ../../extend/addon/hzaddons/hsse/hsse.php:135 +msgid "Tag term:" +msgstr "" + +#: ../../include/conversation.php:1382 +#: ../../extend/addon/hzaddons/hsse/hsse.php:136 +msgid "Where are you right now?" +msgstr "" + +#: ../../include/conversation.php:1387 +#: ../../extend/addon/hzaddons/hsse/hsse.php:141 +msgid "Choose a different album..." +msgstr "" + +#: ../../include/conversation.php:1391 +#: ../../extend/addon/hzaddons/hsse/hsse.php:145 +msgid "Comments enabled" +msgstr "" + +#: ../../include/conversation.php:1392 +#: ../../extend/addon/hzaddons/hsse/hsse.php:146 +msgid "Comments disabled" +msgstr "" + +#: ../../include/conversation.php:1444 +#: ../../extend/addon/hzaddons/hsse/hsse.php:195 +msgid "Page link name" +msgstr "" + +#: ../../include/conversation.php:1447 +#: ../../extend/addon/hzaddons/hsse/hsse.php:198 +msgid "Post as" +msgstr "" + +#: ../../include/conversation.php:1461 +#: ../../extend/addon/hzaddons/hsse/hsse.php:212 +msgid "Toggle voting" +msgstr "" + +#: ../../include/conversation.php:1462 +msgid "Toggle poll" +msgstr "" + +#: ../../include/conversation.php:1463 +msgid "Option" +msgstr "" + +#: ../../include/conversation.php:1464 +msgid "Add option" +msgstr "" + +#: ../../include/conversation.php:1465 +msgid "Minutes" +msgstr "" + +#: ../../include/conversation.php:1465 +msgid "Hours" +msgstr "" + +#: ../../include/conversation.php:1465 +msgid "Days" +msgstr "" + +#: ../../include/conversation.php:1466 +msgid "Allow multiple answers" +msgstr "" + +#: ../../include/conversation.php:1468 +#: ../../extend/addon/hzaddons/hsse/hsse.php:215 +msgid "Disable comments" +msgstr "" + +#: ../../include/conversation.php:1469 +#: ../../extend/addon/hzaddons/hsse/hsse.php:216 +msgid "Toggle comments" +msgstr "" + +#: ../../include/conversation.php:1477 +#: ../../extend/addon/hzaddons/hsse/hsse.php:224 +msgid "Categories (optional, comma-separated list)" +msgstr "" + +#: ../../include/conversation.php:1500 +#: ../../extend/addon/hzaddons/hsse/hsse.php:247 +msgid "Other networks and post services" +msgstr "" + +#: ../../include/conversation.php:1503 +#: ../../extend/addon/hzaddons/hsse/hsse.php:250 +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:170 +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:313 +msgid "Set expiration date" +msgstr "" + +#: ../../include/conversation.php:1506 +#: ../../extend/addon/hzaddons/hsse/hsse.php:253 +msgid "Set publish date" +msgstr "" + +#: ../../include/conversation.php:1755 +msgctxt "noun" +msgid "Attending" +msgid_plural "Attending" +msgstr[0] "" +msgstr[1] "" + +#: ../../include/conversation.php:1758 +msgctxt "noun" +msgid "Not Attending" +msgid_plural "Not Attending" +msgstr[0] "" +msgstr[1] "" + +#: ../../include/conversation.php:1761 +msgctxt "noun" +msgid "Undecided" +msgid_plural "Undecided" +msgstr[0] "" +msgstr[1] "" + +#: ../../include/conversation.php:1764 +msgctxt "noun" +msgid "Agree" +msgid_plural "Agrees" +msgstr[0] "" +msgstr[1] "" + +#: ../../include/conversation.php:1767 +msgctxt "noun" +msgid "Disagree" +msgid_plural "Disagrees" +msgstr[0] "" +msgstr[1] "" + +#: ../../include/conversation.php:1770 +msgctxt "noun" +msgid "Abstain" +msgid_plural "Abstains" +msgstr[0] "" +msgstr[1] "" + +#: ../../include/channel.php:46 +msgid "Unable to obtain identity information from database" +msgstr "" + +#: ../../include/channel.php:79 +msgid "Empty name" +msgstr "" + +#: ../../include/channel.php:82 +msgid "Name too long" +msgstr "" + +#: ../../include/channel.php:199 +msgid "No account identifier" +msgstr "" + +#: ../../include/channel.php:211 +msgid "Nickname is required." +msgstr "" + +#: ../../include/channel.php:294 +msgid "Unable to retrieve created identity" +msgstr "" + +#: ../../include/channel.php:441 +msgid "Default Profile" +msgstr "" + +#: ../../include/channel.php:639 ../../include/channel.php:728 +msgid "Unable to retrieve modified identity" +msgstr "" + +#: ../../include/channel.php:1385 +msgid "Requested channel is not available." +msgstr "" + +#: ../../include/channel.php:1539 +msgid "Create New Profile" +msgstr "" + +#: ../../include/channel.php:1542 ../../include/nav.php:117 +#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:58 +msgid "Edit Profile" +msgstr "" + +#: ../../include/channel.php:1560 +msgid "Visible to everybody" +msgstr "" + +#: ../../include/channel.php:1637 ../../include/channel.php:1765 +msgid "Gender:" +msgstr "" + +#: ../../include/channel.php:1638 ../../include/channel.php:1809 +msgid "Status:" +msgstr "" + +#: ../../include/channel.php:1639 ../../include/channel.php:1833 +msgid "Homepage:" +msgstr "" + +#: ../../include/channel.php:1640 +msgid "Online Now" +msgstr "" + +#: ../../include/channel.php:1693 +msgid "Change your profile photo" +msgstr "" + +#: ../../include/channel.php:1720 ../../include/selectors.php:60 +#: ../../include/selectors.php:77 +#: ../../extend/addon/hzaddons/openid/Mod_Id.php:87 +msgid "Female" +msgstr "" + +#: ../../include/channel.php:1722 ../../include/selectors.php:60 +#: ../../include/selectors.php:77 +#: ../../extend/addon/hzaddons/openid/Mod_Id.php:85 +msgid "Male" +msgstr "" + +#: ../../include/channel.php:1724 +msgid "Trans" +msgstr "" + +#: ../../include/channel.php:1726 ../../include/selectors.php:60 +msgid "Neuter" +msgstr "" + +#: ../../include/channel.php:1728 ../../include/selectors.php:60 +msgid "Non-specific" +msgstr "" + +#: ../../include/channel.php:1770 +msgid "Like this channel" +msgstr "" + +#: ../../include/channel.php:1794 +msgid "j F, Y" +msgstr "" + +#: ../../include/channel.php:1795 +msgid "j F" +msgstr "" + +#: ../../include/channel.php:1802 +msgid "Birthday:" +msgstr "" + +#: ../../include/channel.php:1815 +#, php-format +msgid "for %1$d %2$s" +msgstr "" + +#: ../../include/channel.php:1827 +msgid "Tags:" +msgstr "" + +#: ../../include/channel.php:1831 +msgid "Sexual Preference:" +msgstr "" + +#: ../../include/channel.php:1837 +msgid "Political Views:" +msgstr "" + +#: ../../include/channel.php:1839 +msgid "Religion:" +msgstr "" + +#: ../../include/channel.php:1843 +msgid "Hobbies/Interests:" +msgstr "" + +#: ../../include/channel.php:1845 +msgid "Likes:" +msgstr "" + +#: ../../include/channel.php:1847 +msgid "Dislikes:" +msgstr "" + +#: ../../include/channel.php:1849 +msgid "Contact information and Social Networks:" +msgstr "" + +#: ../../include/channel.php:1851 +msgid "My other channels:" +msgstr "" + +#: ../../include/channel.php:1853 +msgid "Musical interests:" +msgstr "" + +#: ../../include/channel.php:1855 +msgid "Books, literature:" +msgstr "" + +#: ../../include/channel.php:1857 +msgid "Television:" +msgstr "" + +#: ../../include/channel.php:1859 +msgid "Film/dance/culture/entertainment:" +msgstr "" + +#: ../../include/channel.php:1861 +msgid "Love/Romance:" +msgstr "" + +#: ../../include/channel.php:1863 +msgid "Work/employment:" +msgstr "" + +#: ../../include/channel.php:1865 +msgid "School/education:" +msgstr "" + +#: ../../include/channel.php:1888 +msgid "Like this thing" +msgstr "" + +#: ../../include/features.php:86 +msgid "Start calendar week on Monday" +msgstr "" + +#: ../../include/features.php:87 +msgid "Default is Sunday" +msgstr "" + +#: ../../include/features.php:94 +msgid "Event Timezone Selection" +msgstr "" + +#: ../../include/features.php:95 +msgid "Allow event creation in timezones other than your own." +msgstr "" + +#: ../../include/features.php:108 +msgid "Search by Date" +msgstr "" + +#: ../../include/features.php:109 +msgid "Ability to select posts by date ranges" +msgstr "" + +#: ../../include/features.php:116 +msgid "Tag Cloud" +msgstr "" + +#: ../../include/features.php:117 +msgid "Provide a personal tag cloud on your channel page" +msgstr "" + +#: ../../include/features.php:124 ../../include/features.php:359 +msgid "Use blog/list mode" +msgstr "" + +#: ../../include/features.php:125 ../../include/features.php:360 +msgid "Comments will be displayed separately" +msgstr "" + +#: ../../include/features.php:137 +msgid "Connection Filtering" +msgstr "" + +#: ../../include/features.php:138 +msgid "Filter incoming posts from connections based on keywords/content" +msgstr "" + +#: ../../include/features.php:146 +msgid "Conversation" +msgstr "" + +#: ../../include/features.php:158 +msgid "Emoji Reactions" +msgstr "" + +#: ../../include/features.php:159 +msgid "Add emoji reaction ability to posts" +msgstr "" + +#: ../../include/features.php:166 +msgid "Dislike Posts" +msgstr "" + +#: ../../include/features.php:167 +msgid "Ability to dislike posts/comments" +msgstr "" + +#: ../../include/features.php:174 +msgid "Star Posts" +msgstr "" + +#: ../../include/features.php:175 +msgid "Ability to mark special posts with a star indicator" +msgstr "" + +#: ../../include/features.php:182 +msgid "Reply on comment" +msgstr "" + +#: ../../include/features.php:183 +msgid "Ability to reply on selected comment" +msgstr "" + +#: ../../include/features.php:196 +msgid "Advanced Directory Search" +msgstr "" + +#: ../../include/features.php:197 +msgid "Allows creation of complex directory search queries" +msgstr "" + +#: ../../include/features.php:206 +msgid "Editor" +msgstr "" + +#: ../../include/features.php:210 +msgid "Post Categories" +msgstr "" + +#: ../../include/features.php:211 +msgid "Add categories to your posts" +msgstr "" + +#: ../../include/features.php:219 +msgid "Large Photos" +msgstr "" + +#: ../../include/features.php:220 +msgid "" +"Include large (1024px) photo thumbnails in posts. If not enabled, use small " +"(640px) photo thumbnails" +msgstr "" + +#: ../../include/features.php:227 +msgid "Even More Encryption" +msgstr "" + +#: ../../include/features.php:228 +msgid "" +"Allow optional encryption of content end-to-end with a shared secret key" +msgstr "" + +#: ../../include/features.php:235 +msgid "Disable Comments" +msgstr "" + +#: ../../include/features.php:236 +msgid "Provide the option to disable comments for a post" +msgstr "" + +#: ../../include/features.php:243 +msgid "Delayed Posting" +msgstr "" + +#: ../../include/features.php:244 +msgid "Allow posts to be published at a later date" +msgstr "" + +#: ../../include/features.php:251 +msgid "Content Expiration" +msgstr "" + +#: ../../include/features.php:252 +msgid "Remove posts/comments and/or private messages at a future time" +msgstr "" + +#: ../../include/features.php:259 +msgid "Suppress Duplicate Posts/Comments" +msgstr "" + +#: ../../include/features.php:260 +msgid "" +"Prevent posts with identical content to be published with less than two " +"minutes in between submissions." +msgstr "" + +#: ../../include/features.php:267 +msgid "Auto-save drafts of posts and comments" +msgstr "" + +#: ../../include/features.php:268 +msgid "" +"Automatically saves post and comment drafts in local browser storage to help " +"prevent accidental loss of compositions" +msgstr "" + +#: ../../include/features.php:277 +msgid "Manage" +msgstr "" + +#: ../../include/features.php:281 +msgid "Navigation Channel Select" +msgstr "" + +#: ../../include/features.php:282 +msgid "Change channels directly from within the navigation dropdown menu" +msgstr "" + +#: ../../include/features.php:295 +msgid "Events Filter" +msgstr "" + +#: ../../include/features.php:296 +msgid "Ability to display only events" +msgstr "" + +#: ../../include/features.php:303 +msgid "Polls Filter" +msgstr "" + +#: ../../include/features.php:304 +msgid "Ability to display only polls" +msgstr "" + +#: ../../include/features.php:312 +msgid "Save search terms for re-use" +msgstr "" + +#: ../../include/features.php:320 +msgid "Ability to file posts under folders" +msgstr "" + +#: ../../include/features.php:327 +msgid "Alternate Stream Order" +msgstr "" + +#: ../../include/features.php:328 +msgid "" +"Ability to order the stream by last post date, last comment date or " +"unthreaded activities" +msgstr "" + +#: ../../include/features.php:335 +msgid "Contact Filter" +msgstr "" + +#: ../../include/features.php:336 +msgid "Ability to display only posts of a selected contact" +msgstr "" + +#: ../../include/features.php:343 +msgid "Forum Filter" +msgstr "" + +#: ../../include/features.php:344 +msgid "Ability to display only posts of a specific forum" +msgstr "" + +#: ../../include/features.php:351 +msgid "Personal Posts Filter" +msgstr "" + +#: ../../include/features.php:352 +msgid "Ability to display only posts that you've interacted on" +msgstr "" + +#: ../../include/features.php:373 +msgid "Photo Location" +msgstr "" + +#: ../../include/features.php:374 +msgid "If location data is available on uploaded photos, link this to a map." +msgstr "" + +#: ../../include/features.php:387 +msgid "Advanced Profiles" +msgstr "" + +#: ../../include/features.php:388 +msgid "Additional profile sections and selections" +msgstr "" + +#: ../../include/features.php:395 +msgid "Profile Import/Export" +msgstr "" + +#: ../../include/features.php:396 +msgid "Save and load profile details across sites/channels" +msgstr "" + +#: ../../include/features.php:403 +msgid "Multiple Profiles" +msgstr "" + +#: ../../include/features.php:404 +msgid "Ability to create multiple profiles" +msgstr "" + +#: ../../include/auth.php:194 +msgid "Delegation session ended." +msgstr "" + +#: ../../include/auth.php:198 +msgid "Logged out." +msgstr "" + +#: ../../include/auth.php:294 +msgid "Email validation is incomplete. Please check your email." +msgstr "" + +#: ../../include/auth.php:310 +msgid "Failed authentication" +msgstr "" + +#: ../../include/auth.php:320 +#: ../../extend/addon/hzaddons/openid/Mod_Openid.php:188 +msgid "Login failed." +msgstr "" + +#: ../../include/text.php:522 +msgid "prev" +msgstr "" + +#: ../../include/text.php:524 +msgid "first" +msgstr "" + +#: ../../include/text.php:553 +msgid "last" +msgstr "" + +#: ../../include/text.php:556 +msgid "next" +msgstr "" + +#: ../../include/text.php:574 +msgid "older" +msgstr "" + +#: ../../include/text.php:576 +msgid "newer" +msgstr "" + +#: ../../include/text.php:1024 +msgid "No connections" +msgstr "" + +#: ../../include/text.php:1076 +#, php-format +msgid "View all %s connections" +msgstr "" + +#: ../../include/text.php:1139 +#, php-format +msgid "Network: %s" +msgstr "" + +#: ../../include/text.php:1242 ../../include/text.php:1246 +msgid "poke" +msgstr "" + +#: ../../include/text.php:1247 +msgid "ping" +msgstr "" + +#: ../../include/text.php:1247 +msgid "pinged" +msgstr "" + +#: ../../include/text.php:1248 +msgid "prod" +msgstr "" + +#: ../../include/text.php:1248 +msgid "prodded" +msgstr "" + +#: ../../include/text.php:1249 +msgid "slap" +msgstr "" + +#: ../../include/text.php:1249 +msgid "slapped" +msgstr "" + +#: ../../include/text.php:1250 +msgid "finger" +msgstr "" + +#: ../../include/text.php:1250 +msgid "fingered" +msgstr "" + +#: ../../include/text.php:1251 +msgid "rebuff" +msgstr "" + +#: ../../include/text.php:1251 +msgid "rebuffed" +msgstr "" + +#: ../../include/text.php:1274 +msgid "happy" +msgstr "" + +#: ../../include/text.php:1275 +msgid "sad" +msgstr "" + +#: ../../include/text.php:1276 +msgid "mellow" +msgstr "" + +#: ../../include/text.php:1277 +msgid "tired" +msgstr "" + +#: ../../include/text.php:1278 +msgid "perky" +msgstr "" + +#: ../../include/text.php:1279 +msgid "angry" +msgstr "" + +#: ../../include/text.php:1280 +msgid "stupefied" +msgstr "" + +#: ../../include/text.php:1281 +msgid "puzzled" +msgstr "" + +#: ../../include/text.php:1282 +msgid "interested" +msgstr "" + +#: ../../include/text.php:1283 +msgid "bitter" +msgstr "" + +#: ../../include/text.php:1284 +msgid "cheerful" +msgstr "" + +#: ../../include/text.php:1285 +msgid "alive" +msgstr "" + +#: ../../include/text.php:1286 +msgid "annoyed" +msgstr "" + +#: ../../include/text.php:1287 +msgid "anxious" +msgstr "" + +#: ../../include/text.php:1288 +msgid "cranky" +msgstr "" + +#: ../../include/text.php:1289 +msgid "disturbed" +msgstr "" + +#: ../../include/text.php:1290 +msgid "frustrated" +msgstr "" + +#: ../../include/text.php:1291 +msgid "depressed" +msgstr "" + +#: ../../include/text.php:1292 +msgid "motivated" +msgstr "" + +#: ../../include/text.php:1293 +msgid "relaxed" +msgstr "" + +#: ../../include/text.php:1294 +msgid "surprised" +msgstr "" + +#: ../../include/text.php:1482 ../../include/js_strings.php:99 +msgid "Monday" +msgstr "" + +#: ../../include/text.php:1482 ../../include/js_strings.php:100 +msgid "Tuesday" +msgstr "" + +#: ../../include/text.php:1482 ../../include/js_strings.php:101 +msgid "Wednesday" +msgstr "" + +#: ../../include/text.php:1482 ../../include/js_strings.php:102 +msgid "Thursday" +msgstr "" + +#: ../../include/text.php:1482 ../../include/js_strings.php:103 +msgid "Friday" +msgstr "" + +#: ../../include/text.php:1482 ../../include/js_strings.php:104 +msgid "Saturday" +msgstr "" + +#: ../../include/text.php:1482 ../../include/js_strings.php:98 +msgid "Sunday" +msgstr "" + +#: ../../include/text.php:1486 ../../include/js_strings.php:74 +msgid "January" +msgstr "" + +#: ../../include/text.php:1486 ../../include/js_strings.php:75 +msgid "February" +msgstr "" + +#: ../../include/text.php:1486 ../../include/js_strings.php:76 +msgid "March" +msgstr "" + +#: ../../include/text.php:1486 ../../include/js_strings.php:77 +msgid "April" +msgstr "" + +#: ../../include/text.php:1486 +msgid "May" +msgstr "" + +#: ../../include/text.php:1486 ../../include/js_strings.php:79 +msgid "June" +msgstr "" + +#: ../../include/text.php:1486 ../../include/js_strings.php:80 +msgid "July" +msgstr "" + +#: ../../include/text.php:1486 ../../include/js_strings.php:81 +msgid "August" +msgstr "" + +#: ../../include/text.php:1486 ../../include/js_strings.php:82 +msgid "September" +msgstr "" + +#: ../../include/text.php:1486 ../../include/js_strings.php:83 +msgid "October" +msgstr "" + +#: ../../include/text.php:1486 ../../include/js_strings.php:84 +msgid "November" +msgstr "" + +#: ../../include/text.php:1486 ../../include/js_strings.php:85 +msgid "December" +msgstr "" + +#: ../../include/text.php:1560 +msgid "Unknown Attachment" +msgstr "" + +#: ../../include/text.php:1562 ../../include/feedutils.php:873 +msgid "unknown" +msgstr "" + +#: ../../include/text.php:1598 +msgid "remove category" +msgstr "" + +#: ../../include/text.php:1674 +msgid "remove from file" +msgstr "" + +#: ../../include/text.php:1843 ../../include/message.php:13 +msgid "Download binary/encrypted content" +msgstr "" + +#: ../../include/text.php:1914 +msgid "Poll has ended." +msgstr "" + +#: ../../include/text.php:1917 +#, php-format +msgid "Poll ends: %s" +msgstr "" + +#: ../../include/text.php:2096 ../../include/language.php:424 +msgid "default" +msgstr "" + +#: ../../include/text.php:2104 +msgid "Page layout" +msgstr "" + +#: ../../include/text.php:2104 +msgid "You can create your own with the layouts tool" +msgstr "" + +#: ../../include/text.php:2115 +msgid "HTML" +msgstr "" + +#: ../../include/text.php:2118 +msgid "Comanche Layout" +msgstr "" + +#: ../../include/text.php:2123 +msgid "PHP" +msgstr "" + +#: ../../include/text.php:2132 +msgid "Page content type" +msgstr "" + +#: ../../include/text.php:2265 +msgid "activity" +msgstr "" + +#: ../../include/text.php:2268 +msgid "poll" +msgstr "" + +#: ../../include/text.php:2369 +msgid "a-z, 0-9, -, and _ only" +msgstr "" + +#: ../../include/text.php:2695 +msgid "Design Tools" +msgstr "" + +#: ../../include/text.php:2701 +msgid "Pages" +msgstr "" + +#: ../../include/text.php:2713 +msgid "Import" +msgstr "" + +#: ../../include/text.php:2714 +msgid "Import website..." +msgstr "" + +#: ../../include/text.php:2715 +msgid "Select folder to import" +msgstr "" + +#: ../../include/text.php:2716 +msgid "Import from a zipped folder:" +msgstr "" + +#: ../../include/text.php:2717 +msgid "Import from cloud files:" +msgstr "" + +#: ../../include/text.php:2718 +msgid "/cloud/channel/path/to/folder" +msgstr "" + +#: ../../include/text.php:2719 +msgid "Enter path to website files" +msgstr "" + +#: ../../include/text.php:2720 +msgid "Select folder" +msgstr "" + +#: ../../include/text.php:2721 +msgid "Export website..." +msgstr "" + +#: ../../include/text.php:2722 +msgid "Export to a zip file" +msgstr "" + +#: ../../include/text.php:2723 +msgid "website.zip" +msgstr "" + +#: ../../include/text.php:2724 +msgid "Enter a name for the zip file." +msgstr "" + +#: ../../include/text.php:2725 +msgid "Export to cloud files" +msgstr "" + +#: ../../include/text.php:2726 +msgid "/path/to/export/folder" +msgstr "" + +#: ../../include/text.php:2727 +msgid "Enter a path to a cloud files destination." +msgstr "" + +#: ../../include/text.php:2728 +msgid "Specify folder" +msgstr "" + +#: ../../include/message.php:41 +msgid "Unable to determine sender." +msgstr "" + +#: ../../include/message.php:80 +msgid "No recipient provided." +msgstr "" + +#: ../../include/message.php:85 +msgid "[no subject]" +msgstr "" + +#: ../../include/message.php:214 +msgid "Stored post could not be verified." +msgstr "" + +#: ../../include/markdown.php:202 ../../include/bbcode.php:527 +#, php-format +msgid "%1$s wrote the following %2$s %3$s" +msgstr "" + +#: ../../include/markdown.php:251 ../../include/bbcode.php:612 +msgid "spoiler" +msgstr "" + +#: ../../include/acl_selectors.php:99 +msgid "Profile-Based Privacy Groups" +msgstr "" + +#: ../../include/acl_selectors.php:118 +msgid "Private Forum" +msgstr "" + +#: ../../include/acl_selectors.php:142 +msgid "Share with" +msgstr "" + +#: ../../include/acl_selectors.php:143 +msgid "Custom selection" +msgstr "" + +#: ../../include/acl_selectors.php:145 +msgid "" +"Select \"Allow\" to allow viewing. \"Don't allow\" lets you override and " +"limit the scope of \"Allow\"." +msgstr "" + +#: ../../include/acl_selectors.php:147 +msgid "Don't allow" +msgstr "" + +#: ../../include/acl_selectors.php:180 +#, php-format +msgid "" +"Post permissions %s cannot be changed %s after a post is shared.</br />These " +"permissions set who is allowed to view the post." +msgstr "" + +#: ../../include/opengraph.php:56 +#, php-format +msgid "This is the home page of %s." +msgstr "" + +#: ../../include/taxonomy.php:323 +msgid "Trending" +msgstr "" + +#: ../../include/taxonomy.php:559 +msgid "Keywords" +msgstr "" + +#: ../../include/taxonomy.php:580 +msgid "have" +msgstr "" + +#: ../../include/taxonomy.php:580 +msgid "has" +msgstr "" + +#: ../../include/taxonomy.php:581 +msgid "want" +msgstr "" + +#: ../../include/taxonomy.php:581 +msgid "wants" +msgstr "" + +#: ../../include/taxonomy.php:582 +msgid "likes" +msgstr "" + +#: ../../include/taxonomy.php:583 +msgid "dislikes" +msgstr "" + +#: ../../include/import.php:29 +msgid "Unable to import a removed channel." +msgstr "" + +#: ../../include/import.php:55 +msgid "" +"Cannot create a duplicate channel identifier on this system. Import failed." +msgstr "" + +#: ../../include/import.php:76 +#: ../../extend/addon/hzaddons/diaspora/import_diaspora.php:44 +msgid "Unable to create a unique channel address. Import failed." +msgstr "" + +#: ../../include/import.php:121 +msgid "Cloned channel not found. Import failed." +msgstr "" + +#: ../../include/nav.php:92 +msgid "Remote authentication" +msgstr "" + +#: ../../include/nav.php:92 +msgid "Click to authenticate to your home hub" +msgstr "" + +#: ../../include/nav.php:98 +msgid "Manage your channels" +msgstr "" + +#: ../../include/nav.php:101 +msgid "Manage your privacy groups" +msgstr "" + +#: ../../include/nav.php:103 +msgid "Account/Channel Settings" +msgstr "" + +#: ../../include/nav.php:109 ../../include/nav.php:138 +#: ../../include/nav.php:157 ../../boot.php:1704 +msgid "Logout" +msgstr "" + +#: ../../include/nav.php:109 ../../include/nav.php:138 +msgid "End this session" +msgstr "" + +#: ../../include/nav.php:112 +msgid "Your profile page" +msgstr "" + +#: ../../include/nav.php:115 +msgid "Manage/Edit profiles" +msgstr "" + +#: ../../include/nav.php:124 ../../include/nav.php:128 +msgid "Sign in" +msgstr "" + +#: ../../include/nav.php:155 +msgid "Take me home" +msgstr "" + +#: ../../include/nav.php:157 +msgid "Log me out of this site" +msgstr "" + +#: ../../include/nav.php:162 +msgid "Create an account" +msgstr "" + +#: ../../include/nav.php:174 +msgid "Help and documentation" +msgstr "" + +#: ../../include/nav.php:188 +msgid "Search site @name, !forum, #tag, ?docs, content" +msgstr "" + +#: ../../include/nav.php:194 +msgid "Site Setup and Configuration" +msgstr "" + +#: ../../include/nav.php:330 +msgid "@name, !forum, #tag, ?doc, content" +msgstr "" + +#: ../../include/nav.php:331 +msgid "Please wait..." +msgstr "" + +#: ../../include/nav.php:337 +msgid "Add Apps" +msgstr "" + +#: ../../include/nav.php:338 +msgid "Arrange Apps" +msgstr "" + +#: ../../include/nav.php:339 +msgid "Toggle System Apps" +msgstr "" + +#: ../../include/nav.php:424 +msgid "Status Messages and Posts" +msgstr "" + +#: ../../include/nav.php:437 +msgid "Profile Details" +msgstr "" + +#: ../../include/nav.php:447 ../../include/photos.php:666 +msgid "Photo Albums" +msgstr "" + +#: ../../include/nav.php:455 +msgid "Files and Storage" +msgstr "" + +#: ../../include/nav.php:493 +msgid "Saved Bookmarks" +msgstr "" + +#: ../../include/nav.php:504 +msgid "View Cards" +msgstr "" + +#: ../../include/nav.php:515 +msgid "View Articles" +msgstr "" + +#: ../../include/nav.php:527 +msgid "View Webpages" +msgstr "" + +#: ../../include/language.php:437 +msgid "Select an alternate language" +msgstr "" + +#: ../../include/zid.php:360 +#, php-format +msgid "OpenWebAuth: %1$s welcomes %2$s" +msgstr "" + +#: ../../include/bookmarks.php:34 +#, php-format +msgid "%1$s's bookmarks" +msgstr "" + +#: ../../include/activities.php:42 +msgid " and " +msgstr "" + +#: ../../include/activities.php:50 +msgid "public profile" +msgstr "" + +#: ../../include/activities.php:59 +#, php-format +msgid "%1$s changed %2$s to “%3$s”" +msgstr "" + +#: ../../include/activities.php:60 +#, php-format +msgid "Visit %1$s's %2$s" +msgstr "" + +#: ../../include/activities.php:63 +#, php-format +msgid "%1$s has an updated %2$s, changing %3$s." +msgstr "" + +#: ../../include/cdav.php:157 +msgid "INVALID EVENT DISMISSED!" +msgstr "" + +#: ../../include/cdav.php:158 +msgid "Summary: " +msgstr "" + +#: ../../include/cdav.php:159 +msgid "Date: " +msgstr "" + +#: ../../include/cdav.php:160 ../../include/cdav.php:168 +msgid "Reason: " +msgstr "" + +#: ../../include/cdav.php:166 +msgid "INVALID CARD DISMISSED!" +msgstr "" + +#: ../../include/cdav.php:167 +msgid "Name: " +msgstr "" + +#: ../../include/photos.php:151 +#, php-format +msgid "Image exceeds website size limit of %lu bytes" +msgstr "" + +#: ../../include/photos.php:162 +msgid "Image file is empty." +msgstr "" + +#: ../../include/photos.php:324 +msgid "Photo storage failed." +msgstr "" + +#: ../../include/photos.php:373 +msgid "a new photo" +msgstr "" + +#: ../../include/photos.php:377 +#, php-format +msgctxt "photo_upload" +msgid "%1$s posted %2$s to %3$s" +msgstr "" + +#: ../../include/photos.php:671 +msgid "Upload New Photos" +msgstr "" + +#: ../../include/js_strings.php:5 +msgid "Delete this item?" +msgstr "" + +#: ../../include/js_strings.php:8 +#, php-format +msgid "%s show less" +msgstr "" + +#: ../../include/js_strings.php:9 +#, php-format +msgid "%s expand" +msgstr "" + +#: ../../include/js_strings.php:10 +#, php-format +msgid "%s collapse" +msgstr "" + +#: ../../include/js_strings.php:11 +msgid "Password too short" +msgstr "" + +#: ../../include/js_strings.php:12 +msgid "Passwords do not match" +msgstr "" + +#: ../../include/js_strings.php:13 +msgid "everybody" +msgstr "" + +#: ../../include/js_strings.php:14 +msgid "Secret Passphrase" +msgstr "" + +#: ../../include/js_strings.php:15 +msgid "Passphrase hint" +msgstr "" + +#: ../../include/js_strings.php:16 +msgid "Notice: Permissions have changed but have not yet been submitted." +msgstr "" + +#: ../../include/js_strings.php:17 +msgid "close all" +msgstr "" + +#: ../../include/js_strings.php:18 +msgid "Nothing new here" +msgstr "" + +#: ../../include/js_strings.php:19 +msgid "Rate This Channel (this is public)" +msgstr "" + +#: ../../include/js_strings.php:21 +msgid "Describe (optional)" +msgstr "" + +#: ../../include/js_strings.php:23 +msgid "Please enter a link URL" +msgstr "" + +#: ../../include/js_strings.php:24 +msgid "Unsaved changes. Are you sure you wish to leave this page?" +msgstr "" + +#: ../../include/js_strings.php:26 +msgid "lovely" +msgstr "" + +#: ../../include/js_strings.php:27 +msgid "wonderful" +msgstr "" + +#: ../../include/js_strings.php:28 +msgid "fantastic" +msgstr "" + +#: ../../include/js_strings.php:29 +msgid "great" +msgstr "" + +#: ../../include/js_strings.php:30 +msgid "" +"Your chosen nickname was either already taken or not valid. Please use our " +"suggestion (" +msgstr "" + +#: ../../include/js_strings.php:31 +msgid ") or enter a new one." +msgstr "" + +#: ../../include/js_strings.php:32 +msgid "Thank you, this nickname is valid." +msgstr "" + +#: ../../include/js_strings.php:33 +msgid "A channel name is required." +msgstr "" + +#: ../../include/js_strings.php:34 +msgid "This is a " +msgstr "" + +#: ../../include/js_strings.php:35 +msgid " channel name" +msgstr "" + +#: ../../include/js_strings.php:36 +msgid "Back to reply" +msgstr "" + +#: ../../include/js_strings.php:37 +msgid "Pinned" +msgstr "" + +#: ../../include/js_strings.php:45 +#, php-format +msgid "%d minutes" +msgid_plural "%d minutes" +msgstr[0] "" +msgstr[1] "" + +#: ../../include/js_strings.php:46 +#, php-format +msgid "about %d hours" +msgid_plural "about %d hours" +msgstr[0] "" +msgstr[1] "" + +#: ../../include/js_strings.php:47 +#, php-format +msgid "%d days" +msgid_plural "%d days" +msgstr[0] "" +msgstr[1] "" + +#: ../../include/js_strings.php:48 +#, php-format +msgid "%d months" +msgid_plural "%d months" +msgstr[0] "" +msgstr[1] "" + +#: ../../include/js_strings.php:49 +#, php-format +msgid "%d years" +msgid_plural "%d years" +msgstr[0] "" +msgstr[1] "" + +#: ../../include/js_strings.php:54 +msgid "timeago.prefixAgo" +msgstr "" + +#: ../../include/js_strings.php:55 +msgid "timeago.prefixFromNow" +msgstr "" + +#: ../../include/js_strings.php:56 +msgid "timeago.suffixAgo" +msgstr "" + +#: ../../include/js_strings.php:57 +msgid "timeago.suffixFromNow" +msgstr "" + +#: ../../include/js_strings.php:60 +msgid "less than a minute" +msgstr "" + +#: ../../include/js_strings.php:61 +msgid "about a minute" +msgstr "" + +#: ../../include/js_strings.php:63 +msgid "about an hour" +msgstr "" + +#: ../../include/js_strings.php:65 +msgid "a day" +msgstr "" + +#: ../../include/js_strings.php:67 +msgid "about a month" +msgstr "" + +#: ../../include/js_strings.php:69 +msgid "about a year" +msgstr "" + +#: ../../include/js_strings.php:71 +msgid " " +msgstr "" + +#: ../../include/js_strings.php:72 +msgid "timeago.numbers" +msgstr "" + +#: ../../include/js_strings.php:78 +msgctxt "long" +msgid "May" +msgstr "" + +#: ../../include/js_strings.php:86 +msgid "Jan" +msgstr "" + +#: ../../include/js_strings.php:87 +msgid "Feb" +msgstr "" + +#: ../../include/js_strings.php:88 +msgid "Mar" +msgstr "" + +#: ../../include/js_strings.php:89 +msgid "Apr" +msgstr "" + +#: ../../include/js_strings.php:90 +msgctxt "short" +msgid "May" +msgstr "" + +#: ../../include/js_strings.php:91 +msgid "Jun" +msgstr "" + +#: ../../include/js_strings.php:92 +msgid "Jul" +msgstr "" + +#: ../../include/js_strings.php:93 +msgid "Aug" +msgstr "" + +#: ../../include/js_strings.php:94 +msgid "Sep" +msgstr "" + +#: ../../include/js_strings.php:95 +msgid "Oct" +msgstr "" + +#: ../../include/js_strings.php:96 +msgid "Nov" +msgstr "" + +#: ../../include/js_strings.php:97 +msgid "Dec" +msgstr "" + +#: ../../include/js_strings.php:105 +msgid "Sun" +msgstr "" + +#: ../../include/js_strings.php:106 +msgid "Mon" +msgstr "" + +#: ../../include/js_strings.php:107 +msgid "Tue" +msgstr "" + +#: ../../include/js_strings.php:108 +msgid "Wed" +msgstr "" + +#: ../../include/js_strings.php:109 +msgid "Thu" +msgstr "" + +#: ../../include/js_strings.php:110 +msgid "Fri" +msgstr "" + +#: ../../include/js_strings.php:111 +msgid "Sat" +msgstr "" + +#: ../../include/js_strings.php:112 +msgctxt "calendar" +msgid "today" +msgstr "" + +#: ../../include/js_strings.php:113 +msgctxt "calendar" +msgid "month" +msgstr "" + +#: ../../include/js_strings.php:114 +msgctxt "calendar" +msgid "week" +msgstr "" + +#: ../../include/js_strings.php:115 +msgctxt "calendar" +msgid "day" +msgstr "" + +#: ../../include/js_strings.php:116 +msgctxt "calendar" +msgid "All day" +msgstr "" + +#: ../../include/js_strings.php:119 +msgid "Please stand by while your download is being prepared." +msgstr "" + +#: ../../include/security.php:609 +msgid "" +"The form security token was not correct. This probably happened because the " +"form has been opened for too long (>3 hours) before submitting it." +msgstr "" + +#: ../../include/selectors.php:18 +msgid "Profile to assign new connections" +msgstr "" + +#: ../../include/selectors.php:41 +msgid "Frequently" +msgstr "" + +#: ../../include/selectors.php:42 +msgid "Hourly" +msgstr "" + +#: ../../include/selectors.php:43 +msgid "Twice daily" +msgstr "" + +#: ../../include/selectors.php:44 +msgid "Daily" +msgstr "" + +#: ../../include/selectors.php:45 +msgid "Weekly" +msgstr "" + +#: ../../include/selectors.php:46 +msgid "Monthly" +msgstr "" + +#: ../../include/selectors.php:60 +msgid "Currently Male" +msgstr "" + +#: ../../include/selectors.php:60 +msgid "Currently Female" +msgstr "" + +#: ../../include/selectors.php:60 +msgid "Mostly Male" +msgstr "" + +#: ../../include/selectors.php:60 +msgid "Mostly Female" +msgstr "" + +#: ../../include/selectors.php:60 +msgid "Transgender" +msgstr "" + +#: ../../include/selectors.php:60 +msgid "Intersex" +msgstr "" + +#: ../../include/selectors.php:60 +msgid "Transsexual" +msgstr "" + +#: ../../include/selectors.php:60 +msgid "Hermaphrodite" +msgstr "" + +#: ../../include/selectors.php:60 +msgid "Undecided" +msgstr "" + +#: ../../include/selectors.php:96 ../../include/selectors.php:115 +msgid "Males" +msgstr "" + +#: ../../include/selectors.php:96 ../../include/selectors.php:115 +msgid "Females" +msgstr "" + +#: ../../include/selectors.php:96 +msgid "Gay" +msgstr "" + +#: ../../include/selectors.php:96 +msgid "Lesbian" +msgstr "" + +#: ../../include/selectors.php:96 +msgid "No Preference" +msgstr "" + +#: ../../include/selectors.php:96 +msgid "Bisexual" +msgstr "" + +#: ../../include/selectors.php:96 +msgid "Autosexual" +msgstr "" + +#: ../../include/selectors.php:96 +msgid "Abstinent" +msgstr "" + +#: ../../include/selectors.php:96 +msgid "Virgin" +msgstr "" + +#: ../../include/selectors.php:96 +msgid "Deviant" +msgstr "" + +#: ../../include/selectors.php:96 +msgid "Fetish" +msgstr "" + +#: ../../include/selectors.php:96 +msgid "Oodles" +msgstr "" + +#: ../../include/selectors.php:96 +msgid "Nonsexual" +msgstr "" + +#: ../../include/selectors.php:134 ../../include/selectors.php:151 +msgid "Single" +msgstr "" + +#: ../../include/selectors.php:134 +msgid "Lonely" +msgstr "" + +#: ../../include/selectors.php:134 +msgid "Available" +msgstr "" + +#: ../../include/selectors.php:134 +msgid "Unavailable" +msgstr "" + +#: ../../include/selectors.php:134 +msgid "Has crush" +msgstr "" + +#: ../../include/selectors.php:134 +msgid "Infatuated" +msgstr "" + +#: ../../include/selectors.php:134 ../../include/selectors.php:151 +msgid "Dating" +msgstr "" + +#: ../../include/selectors.php:134 +msgid "Unfaithful" +msgstr "" + +#: ../../include/selectors.php:134 +msgid "Sex Addict" +msgstr "" + +#: ../../include/selectors.php:134 +msgid "Friends/Benefits" +msgstr "" + +#: ../../include/selectors.php:134 +msgid "Casual" +msgstr "" + +#: ../../include/selectors.php:134 +msgid "Engaged" +msgstr "" + +#: ../../include/selectors.php:134 ../../include/selectors.php:151 +msgid "Married" +msgstr "" + +#: ../../include/selectors.php:134 +msgid "Imaginarily married" +msgstr "" + +#: ../../include/selectors.php:134 +msgid "Partners" +msgstr "" + +#: ../../include/selectors.php:134 ../../include/selectors.php:151 +msgid "Cohabiting" +msgstr "" + +#: ../../include/selectors.php:134 +msgid "Common law" +msgstr "" + +#: ../../include/selectors.php:134 +msgid "Happy" +msgstr "" + +#: ../../include/selectors.php:134 +msgid "Not looking" +msgstr "" + +#: ../../include/selectors.php:134 +msgid "Swinger" +msgstr "" + +#: ../../include/selectors.php:134 +msgid "Betrayed" +msgstr "" + +#: ../../include/selectors.php:134 ../../include/selectors.php:151 +msgid "Separated" +msgstr "" + +#: ../../include/selectors.php:134 +msgid "Unstable" +msgstr "" + +#: ../../include/selectors.php:134 ../../include/selectors.php:151 +msgid "Divorced" +msgstr "" + +#: ../../include/selectors.php:134 +msgid "Imaginarily divorced" +msgstr "" + +#: ../../include/selectors.php:134 ../../include/selectors.php:151 +msgid "Widowed" +msgstr "" + +#: ../../include/selectors.php:134 +msgid "Uncertain" +msgstr "" + +#: ../../include/selectors.php:134 ../../include/selectors.php:151 +msgid "It's complicated" +msgstr "" + +#: ../../include/selectors.php:134 +msgid "Don't care" +msgstr "" + +#: ../../include/selectors.php:134 +msgid "Ask me" +msgstr "" + +#: ../../include/network.php:1731 ../../include/network.php:1732 +msgid "Friendica" +msgstr "" + +#: ../../include/network.php:1733 +msgid "OStatus" +msgstr "" + +#: ../../include/network.php:1734 +msgid "GNU-Social" +msgstr "" + +#: ../../include/network.php:1735 +msgid "RSS/Atom" +msgstr "" + +#: ../../include/network.php:1738 +msgid "Diaspora" +msgstr "" + +#: ../../include/network.php:1739 +msgid "Facebook" +msgstr "" + +#: ../../include/network.php:1740 +msgid "Zot" +msgstr "" + +#: ../../include/network.php:1741 +msgid "LinkedIn" +msgstr "" + +#: ../../include/network.php:1742 +msgid "XMPP/IM" +msgstr "" + +#: ../../include/network.php:1743 +msgid "MySpace" +msgstr "" + +#: ../../include/account.php:36 +msgid "Not a valid email address" +msgstr "" + +#: ../../include/account.php:38 +msgid "Your email domain is not among those allowed on this site" +msgstr "" + +#: ../../include/account.php:44 +msgid "Your email address is already registered at this site." +msgstr "" + +#: ../../include/account.php:76 +msgid "An invitation is required." +msgstr "" + +#: ../../include/account.php:80 +msgid "Invitation could not be verified." +msgstr "" + +#: ../../include/account.php:156 +msgid "Please enter the required information." +msgstr "" + +#: ../../include/account.php:223 +msgid "Failed to store account information." +msgstr "" + +#: ../../include/account.php:311 +#, php-format +msgid "Registration confirmation for %s" +msgstr "" + +#: ../../include/account.php:380 +#, php-format +msgid "Registration request at %s" +msgstr "" + +#: ../../include/account.php:402 +msgid "your registration password" +msgstr "" + +#: ../../include/account.php:408 ../../include/account.php:471 +#, php-format +msgid "Registration details for %s" +msgstr "" + +#: ../../include/account.php:482 +msgid "Account approved." +msgstr "" + +#: ../../include/account.php:522 +#, php-format +msgid "Registration revoked for %s" +msgstr "" + +#: ../../include/account.php:805 ../../include/account.php:807 +msgid "Click here to upgrade." +msgstr "" + +#: ../../include/account.php:813 +msgid "This action exceeds the limits set by your subscription plan." +msgstr "" + +#: ../../include/account.php:818 +msgid "This action is not available under your subscription plan." +msgstr "" + +#: ../../include/help.php:80 +msgid "Help:" +msgstr "" + +#: ../../include/help.php:129 +msgid "Not Found" +msgstr "" + +#: ../../include/attach.php:273 ../../include/attach.php:324 +#: ../../include/attach.php:419 +msgid "Item was not found." +msgstr "" + +#: ../../include/attach.php:290 +msgid "Unknown error." +msgstr "" + +#: ../../include/attach.php:612 +msgid "No source file." +msgstr "" + +#: ../../include/attach.php:634 +msgid "Cannot locate file to replace" +msgstr "" + +#: ../../include/attach.php:653 +msgid "Cannot locate file to revise/update" +msgstr "" + +#: ../../include/attach.php:795 +#, php-format +msgid "File exceeds size limit of %d" +msgstr "" + +#: ../../include/attach.php:816 +#, php-format +msgid "You have reached your limit of %1$.0f Mbytes attachment storage." +msgstr "" + +#: ../../include/attach.php:1004 +msgid "File upload failed. Possible system limit or action terminated." +msgstr "" + +#: ../../include/attach.php:1033 +msgid "Stored file could not be verified. Upload failed." +msgstr "" + +#: ../../include/attach.php:1105 ../../include/attach.php:1121 +msgid "Path not available." +msgstr "" + +#: ../../include/attach.php:1169 ../../include/attach.php:1332 +msgid "Empty pathname" +msgstr "" + +#: ../../include/attach.php:1195 +msgid "duplicate filename or path" +msgstr "" + +#: ../../include/attach.php:1220 +msgid "Path not found." +msgstr "" + +#: ../../include/attach.php:1288 +msgid "mkdir failed." +msgstr "" + +#: ../../include/attach.php:1292 +msgid "database storage failed." +msgstr "" + +#: ../../include/attach.php:1338 +msgid "Empty path" +msgstr "" + +#: ../../include/attach.php:2099 +#, php-format +msgid "%s shared a %s with you" +msgstr "" + +#: ../../include/attach.php:2099 +#: ../../extend/addon/hzaddons/redfiles/redfilehelper.php:64 +msgid "file" +msgstr "" + +#: ../../include/connections.php:134 +msgid "New window" +msgstr "" + +#: ../../include/connections.php:135 +msgid "Open the selected location in a different window or browser tab" +msgstr "" + +#: ../../include/connections.php:736 ../../include/event.php:1424 +msgid "Home, Voice" +msgstr "" + +#: ../../include/connections.php:737 ../../include/event.php:1425 +msgid "Home, Fax" +msgstr "" + +#: ../../include/connections.php:739 ../../include/event.php:1427 +msgid "Work, Voice" +msgstr "" + +#: ../../include/connections.php:740 ../../include/event.php:1428 +msgid "Work, Fax" +msgstr "" + +#: ../../include/oembed.php:153 +msgid "View PDF" +msgstr "" + +#: ../../include/oembed.php:357 +msgid " by " +msgstr "" + +#: ../../include/oembed.php:358 +msgid " on " +msgstr "" + +#: ../../include/oembed.php:387 +msgid "Embedded content" +msgstr "" + +#: ../../include/oembed.php:396 +msgid "Embedding disabled" +msgstr "" + +#: ../../include/event.php:33 ../../include/event.php:110 +msgid "l F d, Y \\@ g:i A" +msgstr "" + +#: ../../include/event.php:41 +msgid "Starts:" +msgstr "" + +#: ../../include/event.php:51 +msgid "Finishes:" +msgstr "" + +#: ../../include/event.php:110 +msgid "l F d, Y" +msgstr "" + +#: ../../include/event.php:114 +msgid "Start:" +msgstr "" + +#: ../../include/event.php:118 +msgid "End:" +msgstr "" + +#: ../../include/event.php:123 +#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:67 +msgid "Timezone" +msgstr "" + +#: ../../include/event.php:1106 +msgid "This event has been added to your calendar." +msgstr "" + +#: ../../include/event.php:1337 +msgid "Not specified" +msgstr "" + +#: ../../include/event.php:1338 +msgid "Needs Action" +msgstr "" + +#: ../../include/event.php:1339 +msgid "Completed" +msgstr "" + +#: ../../include/event.php:1340 +msgid "In Process" +msgstr "" + +#: ../../include/event.php:1341 +msgid "Cancelled" +msgstr "" + +#: ../../include/datetime.php:140 +msgid "Birthday" +msgstr "" + +#: ../../include/datetime.php:140 +msgid "Age: " +msgstr "" + +#: ../../include/datetime.php:140 +msgid "YYYY-MM-DD or MM-DD" +msgstr "" + +#: ../../include/datetime.php:238 ../../boot.php:2709 +msgid "never" +msgstr "" + +#: ../../include/datetime.php:244 +msgid "less than a second ago" +msgstr "" + +#: ../../include/datetime.php:262 +#, php-format +msgctxt "e.g. 22 hours ago, 1 minute ago" +msgid "%1$d %2$s ago" +msgstr "" + +#: ../../include/datetime.php:273 +msgctxt "relative_date" +msgid "year" +msgid_plural "years" +msgstr[0] "" +msgstr[1] "" + +#: ../../include/datetime.php:276 +msgctxt "relative_date" +msgid "month" +msgid_plural "months" +msgstr[0] "" +msgstr[1] "" + +#: ../../include/datetime.php:279 +msgctxt "relative_date" +msgid "week" +msgid_plural "weeks" +msgstr[0] "" +msgstr[1] "" + +#: ../../include/datetime.php:282 +msgctxt "relative_date" +msgid "day" +msgid_plural "days" +msgstr[0] "" +msgstr[1] "" + +#: ../../include/datetime.php:285 +msgctxt "relative_date" +msgid "hour" +msgid_plural "hours" +msgstr[0] "" +msgstr[1] "" + +#: ../../include/datetime.php:288 +msgctxt "relative_date" +msgid "minute" +msgid_plural "minutes" +msgstr[0] "" +msgstr[1] "" + +#: ../../include/datetime.php:291 +msgctxt "relative_date" +msgid "second" +msgid_plural "seconds" +msgstr[0] "" +msgstr[1] "" + +#: ../../include/datetime.php:520 +#, php-format +msgid "%1$s's birthday" +msgstr "" + +#: ../../include/datetime.php:521 +#, php-format +msgid "Happy Birthday %1$s" +msgstr "" + +#: ../../include/items.php:999 ../../include/items.php:1059 +msgid "(Unknown)" +msgstr "" + +#: ../../include/items.php:1247 +msgid "Visible to anybody on the internet." +msgstr "" + +#: ../../include/items.php:1249 +msgid "Visible to you only." +msgstr "" + +#: ../../include/items.php:1251 +msgid "Visible to anybody in this network." +msgstr "" + +#: ../../include/items.php:1253 +msgid "Visible to anybody authenticated." +msgstr "" + +#: ../../include/items.php:1255 +#, php-format +msgid "Visible to anybody on %s." +msgstr "" + +#: ../../include/items.php:1257 +msgid "Visible to all connections." +msgstr "" + +#: ../../include/items.php:1259 +msgid "Visible to approved connections." +msgstr "" + +#: ../../include/items.php:1261 +msgid "Visible to specific connections." +msgstr "" + +#: ../../include/items.php:4507 +msgid "Privacy group is empty." +msgstr "" + +#: ../../include/items.php:4514 +#, php-format +msgid "Privacy group: %s" +msgstr "" + +#: ../../include/items.php:4526 +msgid "Connection not found." +msgstr "" + +#: ../../include/items.php:4867 +msgid "profile photo" +msgstr "" + +#: ../../include/items.php:5059 +#, php-format +msgid "[Edited %s]" +msgstr "" + +#: ../../include/items.php:5059 +msgctxt "edit_activity" +msgid "Post" +msgstr "" + +#: ../../include/items.php:5059 +msgctxt "edit_activity" +msgid "Comment" +msgstr "" + +#: ../../include/follow.php:84 +msgid "Response from remote channel was incomplete." +msgstr "" + +#: ../../include/follow.php:96 +msgid "Premium channel - please visit:" +msgstr "" + +#: ../../include/follow.php:110 +msgid "Channel was deleted and no longer exists." +msgstr "" + +#: ../../include/zot.php:775 +msgid "Invalid data packet" +msgstr "" + +#: ../../include/zot.php:4372 +msgid "invalid target signature" +msgstr "" + +#: ../../include/bbcode.php:221 ../../include/bbcode.php:896 +#: ../../include/bbcode.php:1486 ../../include/bbcode.php:1494 +msgid "Image/photo" +msgstr "" + +#: ../../include/bbcode.php:268 ../../include/bbcode.php:1511 +msgid "Encrypted content" +msgstr "" + +#: ../../include/bbcode.php:302 +#, php-format +msgid "Install %1$s element %2$s" +msgstr "" + +#: ../../include/bbcode.php:306 +#, php-format +msgid "" +"This post contains an installable %s element, however you lack permissions " +"to install it on this site." +msgstr "" + +#: ../../include/bbcode.php:519 +msgid "card" +msgstr "" + +#: ../../include/bbcode.php:521 +msgid "article" +msgstr "" + +#: ../../include/bbcode.php:604 ../../include/bbcode.php:612 +msgid "Click to open/close" +msgstr "" + +#: ../../include/bbcode.php:625 +msgid "View article" +msgstr "" + +#: ../../include/bbcode.php:625 +msgid "View summary" +msgstr "" + +#: ../../include/bbcode.php:1474 +msgid "$1 wrote:" +msgstr "" + +#: ../../extend/addon/hzaddons/gnusoc/gnusoc.php:451 +msgid "Follow" +msgstr "" + +#: ../../extend/addon/hzaddons/gnusoc/gnusoc.php:454 +#, php-format +msgid "%1$s is now following %2$s" +msgstr "" + +#: ../../extend/addon/hzaddons/gnusoc/Mod_Gnusoc.php:16 +msgid "" +"The GNU-Social protocol does not support location independence. Connections " +"you make within that network may be unreachable from alternate channel " +"locations." +msgstr "" + +#: ../../extend/addon/hzaddons/gnusoc/Mod_Gnusoc.php:22 +msgid "GNU-Social Protocol App" +msgstr "" + +#: ../../extend/addon/hzaddons/gnusoc/Mod_Gnusoc.php:34 +msgid "GNU-Social Protocol" +msgstr "" + +#: ../../extend/addon/hzaddons/qrator/qrator.php:48 +msgid "QR code" +msgstr "" + +#: ../../extend/addon/hzaddons/qrator/qrator.php:63 +msgid "QR Generator" +msgstr "" + +#: ../../extend/addon/hzaddons/qrator/qrator.php:64 +msgid "Enter some text" +msgstr "" + +#: ../../extend/addon/hzaddons/irc/Mod_Irc.php:23 +#: ../../extend/addon/hzaddons/irc/irc.php:41 +msgid "Popular Channels" +msgstr "" + +#: ../../extend/addon/hzaddons/irc/irc.php:37 +msgid "Channels to auto connect" +msgstr "" + +#: ../../extend/addon/hzaddons/irc/irc.php:37 +#: ../../extend/addon/hzaddons/irc/irc.php:41 +msgid "Comma separated list" +msgstr "" + +#: ../../extend/addon/hzaddons/irc/irc.php:45 +msgid "IRC Settings" +msgstr "" + +#: ../../extend/addon/hzaddons/irc/irc.php:54 +msgid "IRC settings saved." +msgstr "" + +#: ../../extend/addon/hzaddons/irc/irc.php:58 +msgid "IRC Chatroom" +msgstr "" + +#: ../../extend/addon/hzaddons/hubwall/hubwall.php:19 +msgid "Send email to all members" +msgstr "" + +#: ../../extend/addon/hzaddons/hubwall/hubwall.php:50 +#: ../../extend/addon/hzaddons/mailtest/mailtest.php:50 +msgid "No recipients found." +msgstr "" + +#: ../../extend/addon/hzaddons/hubwall/hubwall.php:73 +#, php-format +msgid "%1$d of %2$d messages sent." +msgstr "" + +#: ../../extend/addon/hzaddons/hubwall/hubwall.php:81 +msgid "Send email to all hub members." +msgstr "" + +#: ../../extend/addon/hzaddons/hubwall/hubwall.php:92 +#: ../../extend/addon/hzaddons/mailtest/mailtest.php:96 +msgid "Message subject" +msgstr "" + +#: ../../extend/addon/hzaddons/hubwall/hubwall.php:93 +msgid "Sender Email address" +msgstr "" + +#: ../../extend/addon/hzaddons/hubwall/hubwall.php:94 +msgid "Test mode (only send to hub administrator)" +msgstr "" + +#: ../../extend/addon/hzaddons/likebanner/likebanner.php:51 +msgid "Your Webbie:" +msgstr "" + +#: ../../extend/addon/hzaddons/likebanner/likebanner.php:54 +msgid "Fontsize (px):" +msgstr "" + +#: ../../extend/addon/hzaddons/likebanner/likebanner.php:68 +msgid "Link:" +msgstr "" + +#: ../../extend/addon/hzaddons/likebanner/likebanner.php:70 +msgid "Like us on Hubzilla" +msgstr "" + +#: ../../extend/addon/hzaddons/likebanner/likebanner.php:72 +msgid "Embed:" +msgstr "" + +#: ../../extend/addon/hzaddons/msgfooter/msgfooter.php:46 +#: ../../extend/addon/hzaddons/xmpp/xmpp.php:43 +#: ../../extend/addon/hzaddons/gravatar/gravatar.php:150 +msgid "Save Settings" +msgstr "" + +#: ../../extend/addon/hzaddons/msgfooter/msgfooter.php:47 +msgid "text to include in all outgoing posts from this site" +msgstr "" + +#: ../../extend/addon/hzaddons/moremoods/moremoods.php:19 +msgid "lonely" +msgstr "" + +#: ../../extend/addon/hzaddons/moremoods/moremoods.php:20 +msgid "drunk" +msgstr "" + +#: ../../extend/addon/hzaddons/moremoods/moremoods.php:21 +msgid "horny" +msgstr "" + +#: ../../extend/addon/hzaddons/moremoods/moremoods.php:22 +msgid "stoned" +msgstr "" + +#: ../../extend/addon/hzaddons/moremoods/moremoods.php:23 +msgid "fucked up" +msgstr "" + +#: ../../extend/addon/hzaddons/moremoods/moremoods.php:24 +msgid "clusterfucked" +msgstr "" + +#: ../../extend/addon/hzaddons/moremoods/moremoods.php:25 +msgid "crazy" +msgstr "" + +#: ../../extend/addon/hzaddons/moremoods/moremoods.php:26 +msgid "hurt" +msgstr "" + +#: ../../extend/addon/hzaddons/moremoods/moremoods.php:27 +msgid "sleepy" +msgstr "" + +#: ../../extend/addon/hzaddons/moremoods/moremoods.php:28 +msgid "grumpy" +msgstr "" + +#: ../../extend/addon/hzaddons/moremoods/moremoods.php:29 +msgid "high" +msgstr "" + +#: ../../extend/addon/hzaddons/moremoods/moremoods.php:30 +msgid "semi-conscious" +msgstr "" + +#: ../../extend/addon/hzaddons/moremoods/moremoods.php:31 +msgid "in love" +msgstr "" + +#: ../../extend/addon/hzaddons/moremoods/moremoods.php:32 +msgid "in lust" +msgstr "" + +#: ../../extend/addon/hzaddons/moremoods/moremoods.php:33 +msgid "naked" +msgstr "" + +#: ../../extend/addon/hzaddons/moremoods/moremoods.php:34 +msgid "stinky" +msgstr "" + +#: ../../extend/addon/hzaddons/moremoods/moremoods.php:35 +msgid "sweaty" +msgstr "" + +#: ../../extend/addon/hzaddons/moremoods/moremoods.php:36 +msgid "bleeding out" +msgstr "" + +#: ../../extend/addon/hzaddons/moremoods/moremoods.php:37 +msgid "victorious" +msgstr "" + +#: ../../extend/addon/hzaddons/moremoods/moremoods.php:38 +msgid "defeated" +msgstr "" + +#: ../../extend/addon/hzaddons/moremoods/moremoods.php:39 +msgid "envious" +msgstr "" + +#: ../../extend/addon/hzaddons/moremoods/moremoods.php:40 +msgid "jealous" +msgstr "" + +#: ../../extend/addon/hzaddons/piwik/piwik.php:85 +msgid "" +"This website is tracked using the <a href='http://www.piwik.org'>Piwik</a> " +"analytics tool." +msgstr "" + +#: ../../extend/addon/hzaddons/piwik/piwik.php:88 +#, php-format +msgid "" +"If you do not want that your visits are logged this way you <a href='%s'>can " +"set a cookie to prevent Piwik from tracking further visits of the site</a> " +"(opt-out)." +msgstr "" + +#: ../../extend/addon/hzaddons/piwik/piwik.php:96 +msgid "Piwik Base URL" +msgstr "" + +#: ../../extend/addon/hzaddons/piwik/piwik.php:96 +msgid "" +"Absolute path to your Piwik installation. (without protocol (http/s), with " +"trailing slash)" +msgstr "" + +#: ../../extend/addon/hzaddons/piwik/piwik.php:97 +msgid "Site ID" +msgstr "" + +#: ../../extend/addon/hzaddons/piwik/piwik.php:98 +msgid "Show opt-out cookie link?" +msgstr "" + +#: ../../extend/addon/hzaddons/piwik/piwik.php:99 +msgid "Asynchronous tracking" +msgstr "" + +#: ../../extend/addon/hzaddons/piwik/piwik.php:100 +msgid "Enable frontend JavaScript error tracking" +msgstr "" + +#: ../../extend/addon/hzaddons/piwik/piwik.php:100 +msgid "This feature requires Piwik >= 2.2.0" +msgstr "" + +#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:101 +#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:102 +#: ../../extend/addon/hzaddons/cart/myshop.php:144 +#: ../../extend/addon/hzaddons/cart/myshop.php:180 +#: ../../extend/addon/hzaddons/cart/myshop.php:214 +#: ../../extend/addon/hzaddons/cart/myshop.php:261 +#: ../../extend/addon/hzaddons/cart/myshop.php:296 +#: ../../extend/addon/hzaddons/cart/myshop.php:319 +msgid "Access Denied" +msgstr "" + +#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:109 +msgid "Enable Community Moderation" +msgstr "" + +#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:117 +msgid "Reputation automatically given to new members" +msgstr "" + +#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:118 +msgid "Reputation will never fall below this value" +msgstr "" + +#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:119 +msgid "Minimum reputation before posting is allowed" +msgstr "" + +#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:120 +msgid "Minimum reputation before commenting is allowed" +msgstr "" + +#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:121 +msgid "Minimum reputation before a member is able to moderate other posts" +msgstr "" + +#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:122 +msgid "" +"Max ratio of moderator's reputation that can be added to/deducted from " +"reputation of person being moderated" +msgstr "" + +#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:123 +msgid "Reputation \"cost\" to post" +msgstr "" + +#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:124 +msgid "Reputation \"cost\" to comment" +msgstr "" + +#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:125 +msgid "" +"Reputation automatically recovers at this rate per hour until it reaches " +"minimum_to_post" +msgstr "" + +#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:126 +msgid "" +"When minimum_to_moderate > reputation > minimum_to_post reputation recovers " +"at this rate per hour" +msgstr "" + +#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:140 +msgid "Community Moderation Settings" +msgstr "" + +#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:232 +msgid "Channel Reputation" +msgstr "" + +#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:236 +msgid "An Error has occurred." +msgstr "" + +#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:254 +msgid "Upvote" +msgstr "" + +#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:255 +msgid "Downvote" +msgstr "" + +#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:414 +msgid "Can moderate reputation on my channel." +msgstr "" + +#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:57 +msgid "Errors encountered deleting database table " +msgstr "" + +#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:95 +#: ../../extend/addon/hzaddons/twitter/twitter.php:503 +msgid "Submit Settings" +msgstr "" + +#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:96 +msgid "Drop tables when uninstalling?" +msgstr "" + +#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:96 +msgid "" +"If checked, the Rendezvous database tables will be deleted when the plugin " +"is uninstalled." +msgstr "" + +#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:97 +msgid "Mapbox Access Token" +msgstr "" + +#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:97 +msgid "" +"If you enter a Mapbox access token, it will be used to retrieve map tiles " +"from Mapbox instead of the default OpenStreetMap tile server." +msgstr "" + +#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:162 +msgid "Rendezvous" +msgstr "" + +#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:167 +msgid "" +"This identity has been deleted by another member due to inactivity. Please " +"press the \"New identity\" button or refresh the page to register a new " +"identity. You may use the same name." +msgstr "" + +#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:168 +msgid "Welcome to Rendezvous!" +msgstr "" + +#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:169 +msgid "" +"Enter your name to join this rendezvous. To begin sharing your location with " +"the other members, tap the GPS control. When your location is discovered, a " +"red dot will appear and others will be able to see you on the map." +msgstr "" + +#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:171 +msgid "Let's meet here" +msgstr "" + +#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:174 +msgid "New marker" +msgstr "" + +#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:175 +msgid "Edit marker" +msgstr "" + +#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:176 +msgid "New identity" +msgstr "" + +#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:177 +msgid "Delete marker" +msgstr "" + +#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:178 +msgid "Delete member" +msgstr "" + +#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:179 +msgid "Edit proximity alert" +msgstr "" + +#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:180 +msgid "" +"A proximity alert will be issued when this member is within a certain radius " +"of you.<br><br>Enter a radius in meters (0 to disable):" +msgstr "" + +#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:180 +#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:185 +msgid "distance" +msgstr "" + +#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:181 +msgid "Proximity alert distance (meters)" +msgstr "" + +#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:182 +#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:184 +msgid "" +"A proximity alert will be issued when you are within a certain radius of the " +"marker location.<br><br>Enter a radius in meters (0 to disable):" +msgstr "" + +#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:183 +msgid "Marker proximity alert" +msgstr "" + +#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:186 +msgid "Reminder note" +msgstr "" + +#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:187 +msgid "" +"Enter a note to be displayed when you are within the specified proximity..." +msgstr "" + +#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:199 +msgid "Add new rendezvous" +msgstr "" + +#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:200 +msgid "" +"Create a new rendezvous and share the access link with those you wish to " +"invite to the group. Those who open the link become members of the " +"rendezvous. They can view other member locations, add markers to the map, or " +"share their own locations with the group." +msgstr "" + +#: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:232 +msgid "You have no rendezvous. Press the button above to create a rendezvous!" +msgstr "" + +#: ../../extend/addon/hzaddons/skeleton/Mod_Skeleton.php:32 +msgid "Skeleton App" +msgstr "" + +#: ../../extend/addon/hzaddons/skeleton/Mod_Skeleton.php:33 +msgid "A skeleton for addons, you can copy/paste" +msgstr "" + +#: ../../extend/addon/hzaddons/skeleton/Mod_Skeleton.php:40 +msgid "Some setting" +msgstr "" + +#: ../../extend/addon/hzaddons/skeleton/Mod_Skeleton.php:40 +msgid "A setting" +msgstr "" + +#: ../../extend/addon/hzaddons/skeleton/Mod_Skeleton.php:48 +msgid "Skeleton Settings" +msgstr "" + +#: ../../extend/addon/hzaddons/redred/redred.php:50 +msgid "Post to Hubzilla" +msgstr "" + +#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:24 +msgid "Channel is required." +msgstr "" + +#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:38 +msgid "Hubzilla Crosspost Connector Settings saved." +msgstr "" + +#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:50 +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:146 +msgid "Hubzilla Crosspost Connector App" +msgstr "" + +#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:51 +msgid "Relay public postings to another Hubzilla channel" +msgstr "" + +#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:63 +msgid "Send public postings to Hubzilla channel by default" +msgstr "" + +#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:67 +msgid "Hubzilla API Path" +msgstr "" + +#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:67 +#: ../../extend/addon/hzaddons/rtof/Mod_Rtof.php:53 +msgid "https://{sitename}/api" +msgstr "" + +#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:71 +msgid "Hubzilla login name" +msgstr "" + +#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:75 +msgid "Hubzilla channel name" +msgstr "" + +#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:75 +#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:54 +msgid "Nickname" +msgstr "" + +#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:79 +msgid "Hubzilla password" +msgstr "" + +#: ../../extend/addon/hzaddons/redred/Mod_Redred.php:87 +msgid "Hubzilla Crosspost Connector" +msgstr "" + +#: ../../extend/addon/hzaddons/totp/Mod_Totp.php:23 +msgid "TOTP Two-Step Verification" +msgstr "" + +#: ../../extend/addon/hzaddons/totp/Mod_Totp.php:24 +msgid "Enter the 2-step verification generated by your authenticator app:" +msgstr "" + +#: ../../extend/addon/hzaddons/totp/Mod_Totp.php:25 +msgid "Success!" +msgstr "" + +#: ../../extend/addon/hzaddons/totp/Mod_Totp.php:26 +msgid "Invalid code, please try again." +msgstr "" + +#: ../../extend/addon/hzaddons/totp/Mod_Totp.php:27 +msgid "Too many invalid codes..." +msgstr "" + +#: ../../extend/addon/hzaddons/totp/Mod_Totp.php:28 +msgid "Verify" +msgstr "" + +#: ../../extend/addon/hzaddons/totp/Settings/Totp.php:90 +msgid "" +"You haven't set a TOTP secret yet.\n" +"Please click the button below to generate one and register this site\n" +"with your preferred authenticator app." +msgstr "" + +#: ../../extend/addon/hzaddons/totp/Settings/Totp.php:93 +msgid "Your TOTP secret is" +msgstr "" + +#: ../../extend/addon/hzaddons/totp/Settings/Totp.php:94 +msgid "" +"Be sure to save it somewhere in case you lose or replace your mobile " +"device.\n" +"Use your mobile device to scan the QR code below to register this site\n" +"with your preferred authenticator app." +msgstr "" + +#: ../../extend/addon/hzaddons/totp/Settings/Totp.php:99 +msgid "Test" +msgstr "" + +#: ../../extend/addon/hzaddons/totp/Settings/Totp.php:100 +msgid "Generate New Secret" +msgstr "" + +#: ../../extend/addon/hzaddons/totp/Settings/Totp.php:101 +msgid "Go" +msgstr "" + +#: ../../extend/addon/hzaddons/totp/Settings/Totp.php:102 +msgid "Enter your password" +msgstr "" + +#: ../../extend/addon/hzaddons/totp/Settings/Totp.php:103 +msgid "enter TOTP code from your device" +msgstr "" + +#: ../../extend/addon/hzaddons/totp/Settings/Totp.php:104 +msgid "Pass!" +msgstr "" + +#: ../../extend/addon/hzaddons/totp/Settings/Totp.php:105 +msgid "Fail" +msgstr "" + +#: ../../extend/addon/hzaddons/totp/Settings/Totp.php:106 +msgid "Incorrect password, try again." +msgstr "" + +#: ../../extend/addon/hzaddons/totp/Settings/Totp.php:107 +msgid "Record your new TOTP secret and rescan the QR code above." +msgstr "" + +#: ../../extend/addon/hzaddons/totp/Settings/Totp.php:115 +msgid "TOTP Settings" +msgstr "" + +#: ../../extend/addon/hzaddons/testdrive/testdrive.php:104 +#, php-format +msgid "Your account on %s will expire in a few days." +msgstr "" + +#: ../../extend/addon/hzaddons/testdrive/testdrive.php:105 +msgid "Your $Productname test account is about to expire." +msgstr "" + +#: ../../extend/addon/hzaddons/ldapauth/ldapauth.php:70 +msgid "An account has been created for you." +msgstr "" + +#: ../../extend/addon/hzaddons/ldapauth/ldapauth.php:77 +msgid "Authentication successful but rejected: account creation is disabled." +msgstr "" + +#: ../../extend/addon/hzaddons/cart/cart.php:252 +msgid "DB Cleanup Failure" +msgstr "" + +#: ../../extend/addon/hzaddons/cart/cart.php:674 +msgid "[cart] Item Added" +msgstr "" + +#: ../../extend/addon/hzaddons/cart/cart.php:1063 +msgid "Order already checked out." +msgstr "" + +#: ../../extend/addon/hzaddons/cart/cart.php:1368 +msgid "Drop database tables when uninstalling." +msgstr "" + +#: ../../extend/addon/hzaddons/cart/cart.php:1375 +#: ../../extend/addon/hzaddons/cart/Settings/Cart.php:129 +msgid "Cart Settings" +msgstr "" + +#: ../../extend/addon/hzaddons/cart/cart.php:1387 +#: ../../extend/addon/hzaddons/cart/cart.php:1390 +msgid "Shop" +msgstr "" + +#: ../../extend/addon/hzaddons/cart/cart.php:1446 +#: ../../extend/addon/hzaddons/cart/myshop.php:112 +msgid "Order Not Found" +msgstr "" + +#: ../../extend/addon/hzaddons/cart/cart.php:1507 +msgid "Cart utilities for orders and payments" +msgstr "" + +#: ../../extend/addon/hzaddons/cart/cart.php:1545 +msgid "You must be logged into the Grid to shop." +msgstr "" + +#: ../../extend/addon/hzaddons/cart/cart.php:1578 +#: ../../extend/addon/hzaddons/cart/submodules/paypalbuttonV2.php:409 +#: ../../extend/addon/hzaddons/cart/submodules/paypalbutton.php:392 +#: ../../extend/addon/hzaddons/cart/manual_payments.php:68 +msgid "Order not found." +msgstr "" + +#: ../../extend/addon/hzaddons/cart/cart.php:1592 +msgid "Access denied." +msgstr "" + +#: ../../extend/addon/hzaddons/cart/cart.php:1644 +#: ../../extend/addon/hzaddons/cart/cart.php:1787 +msgid "No Order Found" +msgstr "" + +#: ../../extend/addon/hzaddons/cart/cart.php:1653 +msgid "An unknown error has occurred Please start again." +msgstr "" + +#: ../../extend/addon/hzaddons/cart/cart.php:1796 +msgid "Requirements not met." +msgstr "" + +#: ../../extend/addon/hzaddons/cart/cart.php:1796 +msgid "Review your order and complete any needed requirements." +msgstr "" + +#: ../../extend/addon/hzaddons/cart/cart.php:1822 +msgid "Invalid Payment Type. Please start again." +msgstr "" + +#: ../../extend/addon/hzaddons/cart/cart.php:1829 +msgid "Order not found" +msgstr "" + +#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:70 +msgid "Enable Order/Item Options" +msgstr "" + +#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:333 +#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:357 +#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:433 +#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:457 +msgid "Label" +msgstr "" + +#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:336 +#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:360 +#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:436 +#: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:460 +msgid "Instructions" +msgstr "" + +#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:63 +msgid "Enable Hubzilla Services Module" +msgstr "" + +#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:162 +#: ../../extend/addon/hzaddons/cart/submodules/manualcat.php:172 +msgid "New Sku" +msgstr "" + +#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:197 +#: ../../extend/addon/hzaddons/cart/submodules/manualcat.php:208 +msgid "Cannot save edits to locked item." +msgstr "" + +#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:246 +#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:333 +msgid "SKU not found." +msgstr "" + +#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:299 +#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:303 +msgid "Invalid Activation Directive." +msgstr "" + +#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:374 +#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:378 +msgid "Invalid Deactivation Directive." +msgstr "" + +#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:564 +msgid "Add to this privacy group" +msgstr "" + +#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:580 +msgid "Set user service class" +msgstr "" + +#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:607 +msgid "You must be using a local account to purchase this service." +msgstr "" + +#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:647 +#: ../../extend/addon/hzaddons/cart/submodules/manualcat.php:252 +msgid "Changes Locked" +msgstr "" + +#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:651 +#: ../../extend/addon/hzaddons/cart/submodules/manualcat.php:256 +msgid "Item available for purchase." +msgstr "" + +#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:658 +#: ../../extend/addon/hzaddons/cart/submodules/manualcat.php:263 +#: ../../extend/addon/hzaddons/cart/widgets/catalogitem.php:57 +msgid "Price" +msgstr "" + +#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:661 +#: ../../extend/addon/hzaddons/cart/submodules/manualcat.php:266 +msgid "Photo URL" +msgstr "" + +#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:665 +msgid "Add buyer to privacy group" +msgstr "" + +#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:670 +msgid "Add buyer as connection" +msgstr "" + +#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:678 +#: ../../extend/addon/hzaddons/cart/submodules/hzservices.php:720 +msgid "Set Service Class" +msgstr "" + +#: ../../extend/addon/hzaddons/cart/submodules/subscriptions.php:151 +msgid "Enable Subscription Management Module" +msgstr "" + +#: ../../extend/addon/hzaddons/cart/submodules/subscriptions.php:223 +msgid "" +"Cannot include subscription items with different terms in the same order." +msgstr "" + +#: ../../extend/addon/hzaddons/cart/submodules/subscriptions.php:372 +msgid "Select Subscription to Edit" +msgstr "" + +#: ../../extend/addon/hzaddons/cart/submodules/subscriptions.php:380 +msgid "Edit Subscriptions" +msgstr "" + +#: ../../extend/addon/hzaddons/cart/submodules/subscriptions.php:414 +msgid "Subscription SKU" +msgstr "" + +#: ../../extend/addon/hzaddons/cart/submodules/subscriptions.php:419 +msgid "Catalog Description" +msgstr "" + +#: ../../extend/addon/hzaddons/cart/submodules/subscriptions.php:423 +msgid "Subscription available for purchase." +msgstr "" + +#: ../../extend/addon/hzaddons/cart/submodules/subscriptions.php:428 +msgid "Maximum active subscriptions to this item per account." +msgstr "" + +#: ../../extend/addon/hzaddons/cart/submodules/subscriptions.php:431 +msgid "Subscription price." +msgstr "" + +#: ../../extend/addon/hzaddons/cart/submodules/subscriptions.php:435 +msgid "Quantity" +msgstr "" + +#: ../../extend/addon/hzaddons/cart/submodules/subscriptions.php:439 +msgid "Term" +msgstr "" + +#: ../../extend/addon/hzaddons/cart/submodules/paypalbuttonV2.php:86 +msgid "Enable Paypal Button Module (API-v2)" +msgstr "" + +#: ../../extend/addon/hzaddons/cart/submodules/paypalbuttonV2.php:94 +#: ../../extend/addon/hzaddons/cart/submodules/paypalbutton.php:93 +msgid "Use Production Key" +msgstr "" + +#: ../../extend/addon/hzaddons/cart/submodules/paypalbuttonV2.php:101 +#: ../../extend/addon/hzaddons/cart/submodules/paypalbutton.php:100 +msgid "Paypal Sandbox Client Key" +msgstr "" + +#: ../../extend/addon/hzaddons/cart/submodules/paypalbuttonV2.php:108 +#: ../../extend/addon/hzaddons/cart/submodules/paypalbutton.php:107 +msgid "Paypal Sandbox Secret Key" +msgstr "" + +#: ../../extend/addon/hzaddons/cart/submodules/paypalbuttonV2.php:114 +#: ../../extend/addon/hzaddons/cart/submodules/paypalbutton.php:113 +msgid "Paypal Production Client Key" +msgstr "" + +#: ../../extend/addon/hzaddons/cart/submodules/paypalbuttonV2.php:121 +#: ../../extend/addon/hzaddons/cart/submodules/paypalbutton.php:120 +msgid "Paypal Production Secret Key" +msgstr "" + +#: ../../extend/addon/hzaddons/cart/submodules/paypalbuttonV2.php:264 +#: ../../extend/addon/hzaddons/cart/submodules/paypalbutton.php:252 +msgid "Paypal button payments are not enabled." +msgstr "" + +#: ../../extend/addon/hzaddons/cart/submodules/paypalbuttonV2.php:282 +#: ../../extend/addon/hzaddons/cart/submodules/paypalbutton.php:270 +msgid "" +"Paypal button payments are not properly configured. Please choose another " +"payment option." +msgstr "" + +#: ../../extend/addon/hzaddons/cart/submodules/paypalbutton.php:85 +msgid "Enable Paypal Button Module" +msgstr "" + +#: ../../extend/addon/hzaddons/cart/submodules/manualcat.php:61 +msgid "Enable Manual Cart Module" +msgstr "" + +#: ../../extend/addon/hzaddons/cart/myshop.php:30 +msgid "Access Denied." +msgstr "" + +#: ../../extend/addon/hzaddons/cart/myshop.php:189 +#: ../../extend/addon/hzaddons/cart/myshop.php:223 +#: ../../extend/addon/hzaddons/cart/myshop.php:271 +#: ../../extend/addon/hzaddons/cart/myshop.php:329 +msgid "Invalid Item" +msgstr "" + +#: ../../extend/addon/hzaddons/cart/manual_payments.php:7 +msgid "Error: order mismatch. Please try again." +msgstr "" + +#: ../../extend/addon/hzaddons/cart/manual_payments.php:61 +msgid "Manual payments are not enabled." +msgstr "" + +#: ../../extend/addon/hzaddons/cart/manual_payments.php:77 +msgid "Finished" +msgstr "" + +#: ../../extend/addon/hzaddons/cart/Settings/Cart.php:58 +msgid "Enable Test Catalog" +msgstr "" + +#: ../../extend/addon/hzaddons/cart/Settings/Cart.php:70 +msgid "Enable Manual Payments" +msgstr "" + +#: ../../extend/addon/hzaddons/cart/Settings/Cart.php:90 +msgid "Base Merchant Currency" +msgstr "" + +#: ../../extend/addon/hzaddons/openid/openid.php:49 +msgid "" +"We encountered a problem while logging in with the OpenID you provided. " +"Please check the correct spelling of the ID." +msgstr "" + +#: ../../extend/addon/hzaddons/openid/openid.php:49 +msgid "The error message was:" +msgstr "" + +#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:52 +msgid "First Name" +msgstr "" + +#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:53 +msgid "Last Name" +msgstr "" + +#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:55 +msgid "Full Name" +msgstr "" + +#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:61 +msgid "Profile Photo 16px" +msgstr "" + +#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:62 +msgid "Profile Photo 32px" +msgstr "" + +#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:63 +msgid "Profile Photo 48px" +msgstr "" + +#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:64 +msgid "Profile Photo 64px" +msgstr "" + +#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:65 +msgid "Profile Photo 80px" +msgstr "" + +#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:66 +msgid "Profile Photo 128px" +msgstr "" + +#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:70 +msgid "Birth Year" +msgstr "" + +#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:71 +msgid "Birth Month" +msgstr "" + +#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:72 +msgid "Birth Day" +msgstr "" + +#: ../../extend/addon/hzaddons/openid/MysqlProvider.php:73 +msgid "Birthdate" +msgstr "" + +#: ../../extend/addon/hzaddons/openid/Mod_Openid.php:30 +msgid "OpenID protocol error. No ID returned." +msgstr "" + +#: ../../extend/addon/hzaddons/hzfiles/hzfiles.php:81 +msgid "Hubzilla File Storage Import" +msgstr "" + +#: ../../extend/addon/hzaddons/hzfiles/hzfiles.php:82 +msgid "This will import all your cloud files from another server." +msgstr "" + +#: ../../extend/addon/hzaddons/hzfiles/hzfiles.php:83 +msgid "Hubzilla Server base URL" +msgstr "" + +#: ../../extend/addon/hzaddons/hzfiles/hzfiles.php:84 +#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:140 +msgid "Since modified date yyyy-mm-dd" +msgstr "" + +#: ../../extend/addon/hzaddons/hzfiles/hzfiles.php:85 +#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:141 +msgid "Until modified date yyyy-mm-dd" +msgstr "" + +#: ../../extend/addon/hzaddons/diaspora/Mod_Diaspora.php:43 +msgid "Diaspora Protocol Settings updated." +msgstr "" + +#: ../../extend/addon/hzaddons/diaspora/Mod_Diaspora.php:52 +msgid "" +"The diaspora protocol does not support location independence. Connections " +"you make within that network may be unreachable from alternate channel " +"locations." +msgstr "" + +#: ../../extend/addon/hzaddons/diaspora/Mod_Diaspora.php:58 +msgid "Diaspora Protocol App" +msgstr "" + +#: ../../extend/addon/hzaddons/diaspora/Mod_Diaspora.php:75 +msgid "Allow any Diaspora member to comment on your public posts" +msgstr "" + +#: ../../extend/addon/hzaddons/diaspora/Mod_Diaspora.php:79 +msgid "Prevent your hashtags from being redirected to other sites" +msgstr "" + +#: ../../extend/addon/hzaddons/diaspora/Mod_Diaspora.php:83 +msgid "Sign and forward posts and comments with no existing Diaspora signature" +msgstr "" + +#: ../../extend/addon/hzaddons/diaspora/Mod_Diaspora.php:88 +msgid "Followed hashtags (comma separated, do not include the #)" +msgstr "" + +#: ../../extend/addon/hzaddons/diaspora/Mod_Diaspora.php:97 +msgid "Diaspora Protocol" +msgstr "" + +#: ../../extend/addon/hzaddons/diaspora/import_diaspora.php:19 +msgid "No username found in import file." +msgstr "" + +#: ../../extend/addon/hzaddons/diaspora/Receiver.php:1541 +#, php-format +msgid "%1$s dislikes %2$s's %3$s" +msgstr "" + +#: ../../extend/addon/hzaddons/diaspora/diaspora.php:66 +msgid "" +"Please install the statistics addon to be able to configure a diaspora relay" +msgstr "" + +#: ../../extend/addon/hzaddons/diaspora/diaspora.php:76 +msgid "Diaspora Relay Handle" +msgstr "" + +#: ../../extend/addon/hzaddons/diaspora/diaspora.php:76 +msgid "Address of a diaspora relay. Example: relay@diasporarelay.tld" +msgstr "" + +#: ../../extend/addon/hzaddons/diaspora/diaspora.php:96 +msgid "Diaspora relay could not be imported" +msgstr "" + +#: ../../extend/addon/hzaddons/dirstats/dirstats.php:94 +msgid "Hubzilla Directory Stats" +msgstr "" + +#: ../../extend/addon/hzaddons/dirstats/dirstats.php:95 +msgid "Total Hubs" +msgstr "" + +#: ../../extend/addon/hzaddons/dirstats/dirstats.php:97 +msgid "Hubzilla Hubs" +msgstr "" + +#: ../../extend/addon/hzaddons/dirstats/dirstats.php:99 +msgid "Friendica Hubs" +msgstr "" + +#: ../../extend/addon/hzaddons/dirstats/dirstats.php:101 +msgid "Diaspora Pods" +msgstr "" + +#: ../../extend/addon/hzaddons/dirstats/dirstats.php:103 +msgid "Hubzilla Channels" +msgstr "" + +#: ../../extend/addon/hzaddons/dirstats/dirstats.php:105 +msgid "Friendica Channels" +msgstr "" + +#: ../../extend/addon/hzaddons/dirstats/dirstats.php:107 +msgid "Diaspora Channels" +msgstr "" + +#: ../../extend/addon/hzaddons/dirstats/dirstats.php:109 +msgid "Aged 35 and above" +msgstr "" + +#: ../../extend/addon/hzaddons/dirstats/dirstats.php:111 +msgid "Aged 34 and under" +msgstr "" + +#: ../../extend/addon/hzaddons/dirstats/dirstats.php:113 +msgid "Average Age" +msgstr "" + +#: ../../extend/addon/hzaddons/dirstats/dirstats.php:115 +msgid "Known Chatrooms" +msgstr "" + +#: ../../extend/addon/hzaddons/dirstats/dirstats.php:117 +msgid "Known Tags" +msgstr "" + +#: ../../extend/addon/hzaddons/dirstats/dirstats.php:119 +msgid "" +"Please note Diaspora and Friendica statistics are merely those **this " +"directory** is aware of, and not all those known in the network. This also " +"applies to chatrooms," +msgstr "" + +#: ../../extend/addon/hzaddons/upload_limits/upload_limits.php:25 +msgid "Show Upload Limits" +msgstr "" + +#: ../../extend/addon/hzaddons/upload_limits/upload_limits.php:27 +msgid "Hubzilla configured maximum size: " +msgstr "" + +#: ../../extend/addon/hzaddons/upload_limits/upload_limits.php:28 +msgid "PHP upload_max_filesize: " +msgstr "" + +#: ../../extend/addon/hzaddons/upload_limits/upload_limits.php:29 +msgid "PHP post_max_size (must be larger than upload_max_filesize): " +msgstr "" + +#: ../../extend/addon/hzaddons/hideaside/Mod_Hideaside.php:23 +#: ../../extend/addon/hzaddons/hideaside/Mod_Hideaside.php:27 +msgid "Hide Aside App" +msgstr "" + +#: ../../extend/addon/hzaddons/hideaside/Mod_Hideaside.php:24 +#: ../../extend/addon/hzaddons/hideaside/Mod_Hideaside.php:28 +msgid "Fade out aside areas after a while when using endless scroll" +msgstr "" + +#: ../../extend/addon/hzaddons/hideaside/Mod_Hideaside.php:27 +#: ../../extend/addon/hzaddons/planets/Mod_Planets.php:23 +#: ../../extend/addon/hzaddons/hsse/Mod_Hsse.php:26 +#: ../../extend/addon/hzaddons/authchoose/Mod_Authchoose.php:33 +#: ../../extend/addon/hzaddons/nsabait/Mod_Nsabait.php:24 +#: ../../extend/addon/hzaddons/rainbowtag/Mod_Rainbowtag.php:26 +msgid "Installed" +msgstr "" + +#: ../../extend/addon/hzaddons/randpost/randpost.php:97 +msgid "You're welcome." +msgstr "" + +#: ../../extend/addon/hzaddons/randpost/randpost.php:98 +msgid "Ah shucks..." +msgstr "" + +#: ../../extend/addon/hzaddons/randpost/randpost.php:99 +msgid "Don't mention it." +msgstr "" + +#: ../../extend/addon/hzaddons/randpost/randpost.php:100 +msgid "<blush>" +msgstr "" + +#: ../../extend/addon/hzaddons/openstreetmap/openstreetmap.php:133 +msgid "View Larger" +msgstr "" + +#: ../../extend/addon/hzaddons/openstreetmap/openstreetmap.php:156 +msgid "Tile Server URL" +msgstr "" + +#: ../../extend/addon/hzaddons/openstreetmap/openstreetmap.php:156 +msgid "" +"A list of <a href=\"http://wiki.openstreetmap.org/wiki/TMS\" target=\"_blank" +"\">public tile servers</a>" +msgstr "" + +#: ../../extend/addon/hzaddons/openstreetmap/openstreetmap.php:157 +msgid "Nominatim (reverse geocoding) Server URL" +msgstr "" + +#: ../../extend/addon/hzaddons/openstreetmap/openstreetmap.php:157 +msgid "" +"A list of <a href=\"http://wiki.openstreetmap.org/wiki/Nominatim\" target=" +"\"_blank\">Nominatim servers</a>" +msgstr "" + +#: ../../extend/addon/hzaddons/openstreetmap/openstreetmap.php:158 +msgid "Default zoom" +msgstr "" + +#: ../../extend/addon/hzaddons/openstreetmap/openstreetmap.php:158 +msgid "" +"The default zoom level. (1:world, 18:highest, also depends on tile server)" +msgstr "" + +#: ../../extend/addon/hzaddons/openstreetmap/openstreetmap.php:159 +msgid "Include marker on map" +msgstr "" + +#: ../../extend/addon/hzaddons/openstreetmap/openstreetmap.php:159 +msgid "Include a marker on the map." +msgstr "" + +#: ../../extend/addon/hzaddons/ljpost/Mod_Ljpost.php:38 +msgid "Livejournal Crosspost Connector App" +msgstr "" + +#: ../../extend/addon/hzaddons/ljpost/Mod_Ljpost.php:39 +msgid "Relay public posts to Livejournal" +msgstr "" + +#: ../../extend/addon/hzaddons/ljpost/Mod_Ljpost.php:55 +msgid "Livejournal username" +msgstr "" + +#: ../../extend/addon/hzaddons/ljpost/Mod_Ljpost.php:59 +msgid "Livejournal password" +msgstr "" + +#: ../../extend/addon/hzaddons/ljpost/Mod_Ljpost.php:63 +msgid "Post to Livejournal by default" +msgstr "" + +#: ../../extend/addon/hzaddons/ljpost/Mod_Ljpost.php:67 +msgid "Send wall-to-wall posts to Livejournal" +msgstr "" + +#: ../../extend/addon/hzaddons/ljpost/Mod_Ljpost.php:71 +#: ../../extend/addon/hzaddons/dwpost/Mod_Dwpost.php:65 +#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:94 +msgid "Add link to original post" +msgstr "" + +#: ../../extend/addon/hzaddons/ljpost/Mod_Ljpost.php:79 +msgid "Livejournal Crosspost Connector" +msgstr "" + +#: ../../extend/addon/hzaddons/ljpost/ljpost.php:49 +msgid "Post to Livejournal" +msgstr "" + +#: ../../extend/addon/hzaddons/ljpost/ljpost.php:127 +msgid "Posted by" +msgstr "" + +#: ../../extend/addon/hzaddons/workflow/workflow.php:222 +msgid "Workflow user." +msgstr "" + +#: ../../extend/addon/hzaddons/workflow/workflow.php:272 +msgid "This channel" +msgstr "" + +#: ../../extend/addon/hzaddons/workflow/workflow.php:541 +#: ../../extend/addon/hzaddons/workflow/workflow.php:1437 +#: ../../extend/addon/hzaddons/workflow/workflow.php:1456 +msgid "Workflow" +msgstr "" + +#: ../../extend/addon/hzaddons/workflow/workflow.php:1425 +msgid "No Workflows Available" +msgstr "" + +#: ../../extend/addon/hzaddons/workflow/workflow.php:1455 +msgid "Add item to which workflow" +msgstr "" + +#: ../../extend/addon/hzaddons/workflow/workflow.php:1515 +#: ../../extend/addon/hzaddons/workflow/workflow.php:1634 +msgid "Create Workflow Item" +msgstr "" + +#: ../../extend/addon/hzaddons/workflow/workflow.php:2596 +msgid "Link" +msgstr "" + +#: ../../extend/addon/hzaddons/workflow/workflow.php:2598 +msgid "Web link." +msgstr "" + +#: ../../extend/addon/hzaddons/workflow/workflow.php:2619 +#: ../../extend/addon/hzaddons/workflow/workflow.php:2680 +msgid "Brief description or title" +msgstr "" + +#: ../../extend/addon/hzaddons/workflow/workflow.php:2627 +#: ../../extend/addon/hzaddons/workflow/workflow.php:2688 +msgid "Notes and Info" +msgstr "" + +#: ../../extend/addon/hzaddons/workflow/workflow.php:2686 +msgid "Body" +msgstr "" + +#: ../../extend/addon/hzaddons/workflow/Settings/Mod_WorkflowSettings.php:101 +msgid "Workflow Settings" +msgstr "" + +#: ../../extend/addon/hzaddons/xmpp/xmpp.php:44 +msgid "Jabber BOSH host" +msgstr "" + +#: ../../extend/addon/hzaddons/xmpp/xmpp.php:45 +msgid "Use central userbase" +msgstr "" + +#: ../../extend/addon/hzaddons/xmpp/xmpp.php:45 +msgid "" +"If enabled, members will automatically login to an ejabberd server that has " +"to be installed on this machine with synchronized credentials via the " +"\"auth_ejabberd.php\" script." +msgstr "" + +#: ../../extend/addon/hzaddons/xmpp/Mod_Xmpp.php:23 +msgid "XMPP settings updated." +msgstr "" + +#: ../../extend/addon/hzaddons/xmpp/Mod_Xmpp.php:35 +msgid "XMPP App" +msgstr "" + +#: ../../extend/addon/hzaddons/xmpp/Mod_Xmpp.php:36 +msgid "Embedded XMPP (Jabber) client" +msgstr "" + +#: ../../extend/addon/hzaddons/xmpp/Mod_Xmpp.php:52 +msgid "Individual credentials" +msgstr "" + +#: ../../extend/addon/hzaddons/xmpp/Mod_Xmpp.php:58 +msgid "Jabber BOSH server" +msgstr "" + +#: ../../extend/addon/hzaddons/xmpp/Mod_Xmpp.php:67 +msgid "XMPP Settings" +msgstr "" + +#: ../../extend/addon/hzaddons/superblock/Mod_Superblock.php:20 +msgid "Superblock App" +msgstr "" + +#: ../../extend/addon/hzaddons/superblock/Mod_Superblock.php:21 +msgid "Block channels" +msgstr "" + +#: ../../extend/addon/hzaddons/superblock/Mod_Superblock.php:63 +msgid "superblock settings updated" +msgstr "" + +#: ../../extend/addon/hzaddons/superblock/Mod_Superblock.php:87 +msgid "Currently blocked" +msgstr "" + +#: ../../extend/addon/hzaddons/superblock/Mod_Superblock.php:89 +msgid "No channels currently blocked" +msgstr "" + +#: ../../extend/addon/hzaddons/superblock/superblock.php:337 +msgid "Block Completely" +msgstr "" + +#: ../../extend/addon/hzaddons/planets/Mod_Planets.php:20 +#: ../../extend/addon/hzaddons/planets/Mod_Planets.php:23 +msgid "Random Planet App" +msgstr "" + +#: ../../extend/addon/hzaddons/planets/Mod_Planets.php:25 +msgid "" +"Set a random planet from the Star Wars Empire as your location when posting" +msgstr "" + +#: ../../extend/addon/hzaddons/nsfw/nsfw.php:152 +msgid "Possible adult content" +msgstr "" + +#: ../../extend/addon/hzaddons/nsfw/nsfw.php:167 +#, php-format +msgid "%s - view" +msgstr "" + +#: ../../extend/addon/hzaddons/nsfw/Mod_Nsfw.php:22 +msgid "NSFW Settings saved." +msgstr "" + +#: ../../extend/addon/hzaddons/nsfw/Mod_Nsfw.php:33 +msgid "NSFW App" +msgstr "" + +#: ../../extend/addon/hzaddons/nsfw/Mod_Nsfw.php:34 +msgid "Collapse content that contains predefined words" +msgstr "" + +#: ../../extend/addon/hzaddons/nsfw/Mod_Nsfw.php:44 +msgid "" +"This app looks in posts for the words/text you specify below, and collapses " +"any content containing those keywords so it is not displayed at " +"inappropriate times, such as sexual innuendo that may be improper in a work " +"setting. It is polite and recommended to tag any content containing nudity " +"with #NSFW. This filter can also match any other word/text you specify, and " +"can thereby be used as a general purpose content filter." +msgstr "" + +#: ../../extend/addon/hzaddons/nsfw/Mod_Nsfw.php:49 +msgid "Comma separated list of keywords to hide" +msgstr "" + +#: ../../extend/addon/hzaddons/nsfw/Mod_Nsfw.php:49 +msgid "Word, /regular-expression/, lang=xx, lang!=xx" +msgstr "" + +#: ../../extend/addon/hzaddons/nsfw/Mod_Nsfw.php:58 +msgid "NSFW" +msgstr "" + +#: ../../extend/addon/hzaddons/tictac/tictac.php:21 +msgid "Three Dimensional Tic-Tac-Toe" +msgstr "" + +#: ../../extend/addon/hzaddons/tictac/tictac.php:54 +msgid "3D Tic-Tac-Toe" +msgstr "" + +#: ../../extend/addon/hzaddons/tictac/tictac.php:59 +msgid "New game" +msgstr "" + +#: ../../extend/addon/hzaddons/tictac/tictac.php:60 +msgid "New game with handicap" +msgstr "" + +#: ../../extend/addon/hzaddons/tictac/tictac.php:61 +msgid "" +"Three dimensional tic-tac-toe is just like the traditional game except that " +"it is played on multiple levels simultaneously. " +msgstr "" + +#: ../../extend/addon/hzaddons/tictac/tictac.php:62 +msgid "" +"In this case there are three levels. You win by getting three in a row on " +"any level, as well as up, down, and diagonally across the different levels." +msgstr "" + +#: ../../extend/addon/hzaddons/tictac/tictac.php:64 +msgid "" +"The handicap game disables the center position on the middle level because " +"the player claiming this square often has an unfair advantage." +msgstr "" + +#: ../../extend/addon/hzaddons/tictac/tictac.php:183 +msgid "You go first..." +msgstr "" + +#: ../../extend/addon/hzaddons/tictac/tictac.php:188 +msgid "I'm going first this time..." +msgstr "" + +#: ../../extend/addon/hzaddons/tictac/tictac.php:194 +msgid "You won!" +msgstr "" + +#: ../../extend/addon/hzaddons/tictac/tictac.php:200 +#: ../../extend/addon/hzaddons/tictac/tictac.php:225 +msgid "\"Cat\" game!" +msgstr "" + +#: ../../extend/addon/hzaddons/tictac/tictac.php:223 +msgid "I won!" +msgstr "" + +#: ../../extend/addon/hzaddons/photocache/Mod_Photocache.php:27 +msgid "Photo Cache settings saved." +msgstr "" + +#: ../../extend/addon/hzaddons/photocache/Mod_Photocache.php:36 +msgid "" +"Photo Cache addon saves a copy of images from external sites locally to " +"increase your anonymity in the web." +msgstr "" + +#: ../../extend/addon/hzaddons/photocache/Mod_Photocache.php:42 +msgid "Photo Cache App" +msgstr "" + +#: ../../extend/addon/hzaddons/photocache/Mod_Photocache.php:53 +msgid "Minimal photo size for caching" +msgstr "" + +#: ../../extend/addon/hzaddons/photocache/Mod_Photocache.php:55 +msgid "In pixels. From 1 up to 1024, 0 will be replaced with system default." +msgstr "" + +#: ../../extend/addon/hzaddons/photocache/Mod_Photocache.php:64 +msgid "Photo Cache" +msgstr "" + +#: ../../extend/addon/hzaddons/opensearch/opensearch.php:26 +#, php-format +msgctxt "opensearch" +msgid "Search %1$s (%2$s)" +msgstr "" + +#: ../../extend/addon/hzaddons/opensearch/opensearch.php:28 +msgctxt "opensearch" +msgid "$Projectname" +msgstr "" + +#: ../../extend/addon/hzaddons/opensearch/opensearch.php:43 +msgid "Search $Projectname" +msgstr "" + +#: ../../extend/addon/hzaddons/libertree/Mod_Libertree.php:25 +msgid "Libertree Crosspost Connector Settings saved." +msgstr "" + +#: ../../extend/addon/hzaddons/libertree/Mod_Libertree.php:35 +msgid "Libertree Crosspost Connector App" +msgstr "" + +#: ../../extend/addon/hzaddons/libertree/Mod_Libertree.php:36 +msgid "Relay public posts to Libertree" +msgstr "" + +#: ../../extend/addon/hzaddons/libertree/Mod_Libertree.php:51 +msgid "Libertree API token" +msgstr "" + +#: ../../extend/addon/hzaddons/libertree/Mod_Libertree.php:55 +msgid "Libertree site URL" +msgstr "" + +#: ../../extend/addon/hzaddons/libertree/Mod_Libertree.php:59 +msgid "Post to Libertree by default" +msgstr "" + +#: ../../extend/addon/hzaddons/libertree/Mod_Libertree.php:67 +msgid "Libertree Crosspost Connector" +msgstr "" + +#: ../../extend/addon/hzaddons/libertree/libertree.php:43 +msgid "Post to Libertree" +msgstr "" + +#: ../../extend/addon/hzaddons/adultphotoflag/adultphotoflag.php:24 +msgid "Flag Adult Photos" +msgstr "" + +#: ../../extend/addon/hzaddons/adultphotoflag/adultphotoflag.php:25 +msgid "" +"Provide photo edit option to hide inappropriate photos from default album " +"view" +msgstr "" + +#: ../../extend/addon/hzaddons/statusnet/statusnet.php:145 +msgid "Post to GNU social" +msgstr "" + +#: ../../extend/addon/hzaddons/statusnet/statusnet.php:594 +msgid "API URL" +msgstr "" + +#: ../../extend/addon/hzaddons/statusnet/statusnet.php:597 +msgid "Application name" +msgstr "" + +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:61 +msgid "" +"Please contact your site administrator.<br />The provided API URL is not " +"valid." +msgstr "" + +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:98 +msgid "We could not contact the GNU social API with the Path you entered." +msgstr "" + +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:130 +msgid "GNU social settings updated." +msgstr "" + +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:147 +msgid "" +"Relay public postings to a connected GNU social account (formerly StatusNet)" +msgstr "" + +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:181 +msgid "Globally Available GNU social OAuthKeys" +msgstr "" + +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:183 +msgid "" +"There are preconfigured OAuth key pairs for some GNU social servers " +"available. If you are using one of them, please use these credentials.<br /" +">If not feel free to connect to any other GNU social instance (see below)." +msgstr "" + +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:198 +msgid "Provide your own OAuth Credentials" +msgstr "" + +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:200 +msgid "" +"No consumer key pair for GNU social found. Register your Hubzilla Account as " +"an desktop client on your GNU social account, copy the consumer key pair " +"here and enter the API base root.<br />Before you register your own OAuth " +"key pair ask the administrator if there is already a key pair for this " +"Hubzilla installation at your favourite GNU social installation." +msgstr "" + +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:204 +msgid "OAuth Consumer Key" +msgstr "" + +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:208 +msgid "OAuth Consumer Secret" +msgstr "" + +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:212 +msgid "Base API Path" +msgstr "" + +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:212 +msgid "Remember the trailing /" +msgstr "" + +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:216 +msgid "GNU social application name" +msgstr "" + +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:239 +msgid "" +"To connect to your GNU social account click the button below to get a " +"security code from GNU social which you have to copy into the input box " +"below and submit the form. Only your <strong>public</strong> posts will be " +"posted to GNU social." +msgstr "" + +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:241 +msgid "Log in with GNU social" +msgstr "" + +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:244 +msgid "Copy the security code from GNU social here" +msgstr "" + +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:254 +msgid "Cancel Connection Process" +msgstr "" + +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:256 +msgid "Current GNU social API is" +msgstr "" + +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:260 +msgid "Cancel GNU social Connection" +msgstr "" + +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:272 +#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:147 +msgid "Currently connected to: " +msgstr "" + +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:277 +msgid "" +"<strong>Note</strong>: Due your privacy settings (<em>Hide your profile " +"details from unknown viewers?</em>) the link potentially included in public " +"postings relayed to GNU social will lead the visitor to a blank page " +"informing the visitor that the access to your profile has been restricted." +msgstr "" + +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:282 +msgid "Post to GNU social by default" +msgstr "" + +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:282 +msgid "" +"If enabled your public postings will be posted to the associated GNU-social " +"account by default" +msgstr "" + +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:291 +#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:171 +msgid "Clear OAuth configuration" +msgstr "" + +#: ../../extend/addon/hzaddons/statusnet/Mod_Statusnet.php:303 +msgid "GNU-Social Crosspost Connector" +msgstr "" + +#: ../../extend/addon/hzaddons/wholikesme/wholikesme.php:29 +msgid "Who likes me?" +msgstr "" + +#: ../../extend/addon/hzaddons/pubcrawl/Mod_Pubcrawl.php:25 +msgid "ActivityPub Protocol Settings updated." +msgstr "" + +#: ../../extend/addon/hzaddons/pubcrawl/Mod_Pubcrawl.php:34 +msgid "" +"The activitypub protocol does not support location independence. Connections " +"you make within that network may be unreachable from alternate channel " +"locations." +msgstr "" + +#: ../../extend/addon/hzaddons/pubcrawl/Mod_Pubcrawl.php:40 +msgid "Activitypub Protocol App" +msgstr "" + +#: ../../extend/addon/hzaddons/pubcrawl/Mod_Pubcrawl.php:50 +msgid "Deliver to ActivityPub recipients in privacy groups" +msgstr "" + +#: ../../extend/addon/hzaddons/pubcrawl/Mod_Pubcrawl.php:50 +msgid "" +"May result in a large number of mentions and expose all the members of your " +"privacy group" +msgstr "" + +#: ../../extend/addon/hzaddons/pubcrawl/Mod_Pubcrawl.php:54 +msgid "Send multi-media HTML articles" +msgstr "" + +#: ../../extend/addon/hzaddons/pubcrawl/Mod_Pubcrawl.php:54 +msgid "Not supported by some microblog services such as Mastodon" +msgstr "" + +#: ../../extend/addon/hzaddons/pubcrawl/Mod_Pubcrawl.php:62 +msgid "Activitypub Protocol" +msgstr "" + +#: ../../extend/addon/hzaddons/ijpost/ijpost.php:44 +msgid "Post to Insane Journal" +msgstr "" + +#: ../../extend/addon/hzaddons/ijpost/Mod_Ijpost.php:23 +msgid "Insane Journal Crosspost Connector Settings saved." +msgstr "" + +#: ../../extend/addon/hzaddons/ijpost/Mod_Ijpost.php:35 +msgid "Insane Journal Crosspost Connector App" +msgstr "" + +#: ../../extend/addon/hzaddons/ijpost/Mod_Ijpost.php:36 +msgid "Relay public postings to Insane Journal" +msgstr "" + +#: ../../extend/addon/hzaddons/ijpost/Mod_Ijpost.php:53 +msgid "InsaneJournal username" +msgstr "" + +#: ../../extend/addon/hzaddons/ijpost/Mod_Ijpost.php:57 +msgid "InsaneJournal password" +msgstr "" + +#: ../../extend/addon/hzaddons/ijpost/Mod_Ijpost.php:61 +msgid "Post to InsaneJournal by default" +msgstr "" + +#: ../../extend/addon/hzaddons/ijpost/Mod_Ijpost.php:69 +msgid "Insane Journal Crosspost Connector" +msgstr "" + +#: ../../extend/addon/hzaddons/queueworker/Mod_Queueworker.php:77 +msgid "Max queueworker threads" +msgstr "" + +#: ../../extend/addon/hzaddons/queueworker/Mod_Queueworker.php:91 +msgid "Assume workers dead after ___ seconds" +msgstr "" + +#: ../../extend/addon/hzaddons/queueworker/Mod_Queueworker.php:105 +msgid "" +"Pause before starting next task: (microseconds. Minimum 100 = .0001 seconds)" +msgstr "" + +#: ../../extend/addon/hzaddons/queueworker/Mod_Queueworker.php:116 +msgid "Queueworker Settings" +msgstr "" + +#: ../../extend/addon/hzaddons/flashcards/Mod_Flashcards.php:218 +msgid "Not allowed." +msgstr "" + +#: ../../extend/addon/hzaddons/gravatar/gravatar.php:123 +msgid "generic profile image" +msgstr "" + +#: ../../extend/addon/hzaddons/gravatar/gravatar.php:124 +msgid "random geometric pattern" +msgstr "" + +#: ../../extend/addon/hzaddons/gravatar/gravatar.php:125 +msgid "monster face" +msgstr "" + +#: ../../extend/addon/hzaddons/gravatar/gravatar.php:126 +msgid "computer generated face" +msgstr "" + +#: ../../extend/addon/hzaddons/gravatar/gravatar.php:127 +msgid "retro arcade style face" +msgstr "" + +#: ../../extend/addon/hzaddons/gravatar/gravatar.php:128 +msgid "Hub default profile photo" +msgstr "" + +#: ../../extend/addon/hzaddons/gravatar/gravatar.php:143 +msgid "Information" +msgstr "" + +#: ../../extend/addon/hzaddons/gravatar/gravatar.php:143 +msgid "" +"Libravatar addon is installed, too. Please disable Libravatar addon or this " +"Gravatar addon.<br>The Libravatar addon will fall back to Gravatar if " +"nothing was found at Libravatar." +msgstr "" + +#: ../../extend/addon/hzaddons/gravatar/gravatar.php:151 +msgid "Default avatar image" +msgstr "" + +#: ../../extend/addon/hzaddons/gravatar/gravatar.php:151 +msgid "Select default avatar image if none was found at Gravatar. See README" +msgstr "" + +#: ../../extend/addon/hzaddons/gravatar/gravatar.php:152 +msgid "Rating of images" +msgstr "" + +#: ../../extend/addon/hzaddons/gravatar/gravatar.php:152 +msgid "Select the appropriate avatar rating for your site. See README" +msgstr "" + +#: ../../extend/addon/hzaddons/gravatar/gravatar.php:165 +msgid "Gravatar settings updated." +msgstr "" + +#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:104 +#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:176 +msgid "Network error" +msgstr "" + +#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:108 +#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:180 +msgid "API error" +msgstr "" + +#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:112 +#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:184 +msgid "Unknown issue" +msgstr "" + +#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:168 +msgid "Unable to login using email address " +msgstr "" + +#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:202 +msgid "Sign in to Hubzilla using a social account" +msgstr "" + +#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:207 +msgid "Social Authentication using your social media account" +msgstr "" + +#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:211 +msgid "" +"This app enables one or more social provider sign-in buttons on the login " +"page." +msgstr "" + +#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:229 +msgid "Add an identity provider" +msgstr "" + +#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:256 +msgid "Enable " +msgstr "" + +#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:263 +msgid "Key" +msgstr "" + +#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:263 +#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:268 +#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:284 +#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:297 +msgid "Word" +msgstr "" + +#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:268 +msgid "Secret" +msgstr "" + +#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:297 +msgid "Add a custom provider" +msgstr "" + +#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:317 +msgid "Remove an identity provider" +msgstr "" + +#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:327 +msgid "Social authentication" +msgstr "" + +#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:366 +msgid "Error while saving provider settings" +msgstr "" + +#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:382 +msgid "Custom provider already exists" +msgstr "" + +#: ../../extend/addon/hzaddons/socialauth/Mod_SocialAuth.php:399 +msgid "Social authentication settings saved." +msgstr "" + +#: ../../extend/addon/hzaddons/sendzid/Mod_Sendzid.php:14 +msgid "Send your identity to all websites" +msgstr "" + +#: ../../extend/addon/hzaddons/sendzid/Mod_Sendzid.php:20 +msgid "Sendzid App" +msgstr "" + +#: ../../extend/addon/hzaddons/sendzid/Mod_Sendzid.php:32 +msgid "Send ZID" +msgstr "" + +#: ../../extend/addon/hzaddons/redphotos/redphotos.php:106 +msgid "Photos imported" +msgstr "" + +#: ../../extend/addon/hzaddons/redphotos/redphotos.php:129 +msgid "Redmatrix Photo Album Import" +msgstr "" + +#: ../../extend/addon/hzaddons/redphotos/redphotos.php:130 +msgid "This will import all your Redmatrix photo albums to this channel." +msgstr "" + +#: ../../extend/addon/hzaddons/redphotos/redphotos.php:131 +#: ../../extend/addon/hzaddons/redfiles/redfiles.php:121 +msgid "Redmatrix Server base URL" +msgstr "" + +#: ../../extend/addon/hzaddons/redphotos/redphotos.php:132 +#: ../../extend/addon/hzaddons/redfiles/redfiles.php:122 +msgid "Redmatrix Login Username" +msgstr "" + +#: ../../extend/addon/hzaddons/redphotos/redphotos.php:133 +#: ../../extend/addon/hzaddons/redfiles/redfiles.php:123 +msgid "Redmatrix Login Password" +msgstr "" + +#: ../../extend/addon/hzaddons/redphotos/redphotos.php:134 +msgid "Import just this album" +msgstr "" + +#: ../../extend/addon/hzaddons/redphotos/redphotos.php:134 +msgid "Leave blank to import all albums" +msgstr "" + +#: ../../extend/addon/hzaddons/redphotos/redphotos.php:135 +msgid "Maximum count to import" +msgstr "" + +#: ../../extend/addon/hzaddons/redphotos/redphotos.php:135 +msgid "0 or blank to import all available" +msgstr "" + +#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:65 +msgid "Twitter settings updated." +msgstr "" + +#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:78 +msgid "Twitter Crosspost Connector App" +msgstr "" + +#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:79 +msgid "Relay public posts to Twitter" +msgstr "" + +#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:103 +msgid "" +"No consumer key pair for Twitter found. Please contact your site " +"administrator." +msgstr "" + +#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:125 +msgid "" +"At this Hubzilla instance the Twitter plugin was enabled but you have not " +"yet connected your account to your Twitter account. To do so click the " +"button below to get a PIN from Twitter which you have to copy into the input " +"box below and submit the form. Only your <strong>public</strong> posts will " +"be posted to Twitter." +msgstr "" + +#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:127 +msgid "Log in with Twitter" +msgstr "" + +#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:130 +msgid "Copy the PIN from Twitter here" +msgstr "" + +#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:152 +msgid "" +"<strong>Note:</strong> Due your privacy settings (<em>Hide your profile " +"details from unknown viewers?</em>) the link potentially included in public " +"postings relayed to Twitter will lead the visitor to a blank page informing " +"the visitor that the access to your profile has been restricted." +msgstr "" + +#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:157 +msgid "Twitter post length" +msgstr "" + +#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:157 +msgid "Maximum tweet length" +msgstr "" + +#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:162 +msgid "Send public postings to Twitter by default" +msgstr "" + +#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:162 +msgid "" +"If enabled your public postings will be posted to the associated Twitter " +"account by default" +msgstr "" + +#: ../../extend/addon/hzaddons/twitter/Mod_Twitter.php:181 +msgid "Twitter Crosspost Connector" +msgstr "" + +#: ../../extend/addon/hzaddons/twitter/twitter.php:109 +msgid "Post to Twitter" +msgstr "" + +#: ../../extend/addon/hzaddons/donate/donate.php:21 +msgid "Project Servers and Resources" +msgstr "" + +#: ../../extend/addon/hzaddons/donate/donate.php:22 +msgid "Project Creator and Tech Lead" +msgstr "" + +#: ../../extend/addon/hzaddons/donate/donate.php:49 +msgid "" +"And the hundreds of other people and organisations who helped make the " +"Hubzilla possible." +msgstr "" + +#: ../../extend/addon/hzaddons/donate/donate.php:52 +msgid "" +"The Redmatrix/Hubzilla projects are provided primarily by volunteers giving " +"their time and expertise - and often paying out of pocket for services they " +"share with others." +msgstr "" + +#: ../../extend/addon/hzaddons/donate/donate.php:53 +msgid "" +"There is no corporate funding and no ads, and we do not collect and sell " +"your personal information. (We don't control your personal information - " +"<strong>you do</strong>.)" +msgstr "" + +#: ../../extend/addon/hzaddons/donate/donate.php:54 +msgid "" +"Help support our ground-breaking work in decentralisation, web identity, and " +"privacy." +msgstr "" + +#: ../../extend/addon/hzaddons/donate/donate.php:56 +msgid "" +"Your donations keep servers and services running and also helps us to " +"provide innovative new features and continued development." +msgstr "" + +#: ../../extend/addon/hzaddons/donate/donate.php:59 +msgid "Donate" +msgstr "" + +#: ../../extend/addon/hzaddons/donate/donate.php:61 +msgid "" +"Choose a project, developer, or public hub to support with a one-time " +"donation" +msgstr "" + +#: ../../extend/addon/hzaddons/donate/donate.php:62 +msgid "Donate Now" +msgstr "" + +#: ../../extend/addon/hzaddons/donate/donate.php:63 +msgid "" +"<strong><em>Or</em></strong> become a project sponsor (Hubzilla Project only)" +msgstr "" + +#: ../../extend/addon/hzaddons/donate/donate.php:64 +msgid "" +"Please indicate if you would like your first name or full name (or nothing) " +"to appear in our sponsor listing" +msgstr "" + +#: ../../extend/addon/hzaddons/donate/donate.php:65 +msgid "Sponsor" +msgstr "" + +#: ../../extend/addon/hzaddons/donate/donate.php:68 +msgid "Special thanks to: " +msgstr "" + +#: ../../extend/addon/hzaddons/dwpost/Mod_Dwpost.php:26 +msgid "Dreamwidth Crosspost Connector Settings saved." +msgstr "" + +#: ../../extend/addon/hzaddons/dwpost/Mod_Dwpost.php:39 +msgid "Dreamwidth Crosspost Connector App" +msgstr "" + +#: ../../extend/addon/hzaddons/dwpost/Mod_Dwpost.php:40 +msgid "Relay public posts to Dreamwidth" +msgstr "" + +#: ../../extend/addon/hzaddons/dwpost/Mod_Dwpost.php:53 +msgid "Dreamwidth username" +msgstr "" + +#: ../../extend/addon/hzaddons/dwpost/Mod_Dwpost.php:57 +msgid "Dreamwidth password" +msgstr "" + +#: ../../extend/addon/hzaddons/dwpost/Mod_Dwpost.php:61 +msgid "Post to Dreamwidth by default" +msgstr "" + +#: ../../extend/addon/hzaddons/dwpost/Mod_Dwpost.php:69 +#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:98 +msgid "Link description (default:" +msgstr "" + +#: ../../extend/addon/hzaddons/dwpost/Mod_Dwpost.php:77 +msgid "Dreamwidth Crosspost Connector" +msgstr "" + +#: ../../extend/addon/hzaddons/dwpost/dwpost.php:49 +msgid "Post to Dreamwidth" +msgstr "" + +#: ../../extend/addon/hzaddons/nofed/Mod_Nofed.php:21 +msgid "nofed Settings saved." +msgstr "" + +#: ../../extend/addon/hzaddons/nofed/Mod_Nofed.php:33 +msgid "No Federation App" +msgstr "" + +#: ../../extend/addon/hzaddons/nofed/Mod_Nofed.php:34 +msgid "" +"Prevent posting from being federated to anybody. It will exist only on your " +"channel page." +msgstr "" + +#: ../../extend/addon/hzaddons/nofed/Mod_Nofed.php:42 +msgid "Federate posts by default" +msgstr "" + +#: ../../extend/addon/hzaddons/nofed/Mod_Nofed.php:50 +msgid "No Federation" +msgstr "" + +#: ../../extend/addon/hzaddons/nofed/nofed.php:47 +msgid "Federate" +msgstr "" + +#: ../../extend/addon/hzaddons/hsse/Mod_Hsse.php:15 +msgid "WYSIWYG status editor" +msgstr "" + +#: ../../extend/addon/hzaddons/hsse/Mod_Hsse.php:21 +#: ../../extend/addon/hzaddons/hsse/Mod_Hsse.php:26 +msgid "WYSIWYG Status App" +msgstr "" + +#: ../../extend/addon/hzaddons/hsse/Mod_Hsse.php:34 +msgid "WYSIWYG Status" +msgstr "" + +#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:27 +msgid "No server specified" +msgstr "" + +#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:73 +msgid "Posts imported" +msgstr "" + +#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:113 +msgid "Files imported" +msgstr "" + +#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:122 +msgid "" +"This addon app copies existing content and file storage to a cloned/copied " +"channel. Once the app is installed, visit the newly installed app. This will " +"allow you to set the location of your original channel and an optional date " +"range of files/conversations to copy." +msgstr "" + +#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:136 +msgid "" +"This will import all your conversations and cloud files from a cloned " +"channel on another server. This may take a while if you have lots of posts " +"and or files." +msgstr "" + +#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:137 +msgid "Include posts" +msgstr "" + +#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:137 +msgid "Conversations, Articles, Cards, and other posted content" +msgstr "" + +#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:138 +msgid "Include files" +msgstr "" + +#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:138 +msgid "Files, Photos and other cloud storage" +msgstr "" + +#: ../../extend/addon/hzaddons/content_import/Mod_content_import.php:139 +msgid "Original Server base URL" +msgstr "" + +#: ../../extend/addon/hzaddons/upgrade_info/upgrade_info.php:48 +msgid "Your channel has been upgraded to $Projectname version" +msgstr "" + +#: ../../extend/addon/hzaddons/upgrade_info/upgrade_info.php:50 +msgid "Please have a look at the" +msgstr "" + +#: ../../extend/addon/hzaddons/upgrade_info/upgrade_info.php:52 +msgid "git history" +msgstr "" + +#: ../../extend/addon/hzaddons/upgrade_info/upgrade_info.php:54 +msgid "change log" +msgstr "" + +#: ../../extend/addon/hzaddons/upgrade_info/upgrade_info.php:55 +msgid "for further info." +msgstr "" + +#: ../../extend/addon/hzaddons/upgrade_info/upgrade_info.php:60 +msgid "Upgrade Info" +msgstr "" + +#: ../../extend/addon/hzaddons/upgrade_info/upgrade_info.php:64 +msgid "Do not show this again" +msgstr "" + +#: ../../extend/addon/hzaddons/pageheader/Mod_Pageheader.php:22 +msgid "pageheader Settings saved." +msgstr "" + +#: ../../extend/addon/hzaddons/pageheader/Mod_Pageheader.php:34 +msgid "Page Header App" +msgstr "" + +#: ../../extend/addon/hzaddons/pageheader/Mod_Pageheader.php:35 +msgid "Inserts a page header" +msgstr "" + +#: ../../extend/addon/hzaddons/pageheader/Mod_Pageheader.php:43 +msgid "Message to display on every page on this server" +msgstr "" + +#: ../../extend/addon/hzaddons/pageheader/Mod_Pageheader.php:51 +msgid "Page Header" +msgstr "" + +#: ../../extend/addon/hzaddons/visage/Mod_Visage.php:21 +msgid "Who viewed my channel/profile" +msgstr "" + +#: ../../extend/addon/hzaddons/visage/Mod_Visage.php:25 +msgid "Recent Channel/Profile Viewers" +msgstr "" + +#: ../../extend/addon/hzaddons/visage/Mod_Visage.php:36 +msgid "No entries." +msgstr "" + +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:39 +msgid "Messages" +msgstr "" + +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:52 +msgid "message" +msgstr "" + +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:92 +msgid "Message recalled." +msgstr "" + +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:105 +msgid "Conversation removed." +msgstr "" + +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:120 +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:241 +msgid "Expires YYYY-MM-DD HH:MM" +msgstr "" + +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:148 +msgid "Requested channel is not in this network" +msgstr "" + +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:156 +msgid "Send Private Message" +msgstr "" + +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:157 +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:300 +msgid "To:" +msgstr "" + +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:160 +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:302 +msgid "Subject:" +msgstr "" + +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:165 +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:308 +msgid "Attach file" +msgstr "" + +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:167 +msgid "Send" +msgstr "" + +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:271 +msgid "Delete message" +msgstr "" + +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:272 +msgid "Delivery report" +msgstr "" + +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:273 +msgid "Recall message" +msgstr "" + +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:275 +msgid "Message has been recalled." +msgstr "" + +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:293 +msgid "Delete Conversation" +msgstr "" + +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:295 +msgid "" +"No secure communications available. You <strong>may</strong> be able to " +"respond from the sender's profile page." +msgstr "" + +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:299 +msgid "Send Reply" +msgstr "" + +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:304 +#, php-format +msgid "Your message for %s (%s):" +msgstr "" + +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:384 +msgid "Unable to lookup recipient." +msgstr "" + +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:391 +msgid "Unable to communicate with requested channel." +msgstr "" + +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:398 +msgid "Cannot verify requested channel." +msgstr "" + +#: ../../extend/addon/hzaddons/mail/Mod_Mail.php:416 +msgid "Selected channel has private message restrictions. Send failed." +msgstr "" + +#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:50 +#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:128 +msgid "System defaults:" +msgstr "" + +#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:54 +msgid "Preferred Clipart IDs" +msgstr "" + +#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:54 +msgid "List of preferred clipart ids. These will be shown first." +msgstr "" + +#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:55 +msgid "Default Search Term" +msgstr "" + +#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:55 +msgid "The default search term. These will be shown second." +msgstr "" + +#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:56 +msgid "Return After" +msgstr "" + +#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:56 +msgid "Page to load after image selection." +msgstr "" + +#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:59 +msgid "Profile List" +msgstr "" + +#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:61 +msgid "Order of Preferred" +msgstr "" + +#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:61 +msgid "Sort order of preferred clipart ids." +msgstr "" + +#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:62 +#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:68 +msgid "Newest first" +msgstr "" + +#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:65 +msgid "As entered" +msgstr "" + +#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:67 +msgid "Order of other" +msgstr "" + +#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:67 +msgid "Sort order of other clipart ids." +msgstr "" + +#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:69 +msgid "Most downloaded first" +msgstr "" + +#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:70 +msgid "Most liked first" +msgstr "" + +#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:72 +msgid "Preferred IDs Message" +msgstr "" + +#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:72 +msgid "Message to display above preferred results." +msgstr "" + +#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:78 +msgid "Uploaded by: " +msgstr "" + +#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:78 +msgid "Drawn by: " +msgstr "" + +#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:182 +#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:194 +msgid "Use this image" +msgstr "" + +#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:192 +msgid "Or select from a free OpenClipart.org image:" +msgstr "" + +#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:195 +msgid "Search Term" +msgstr "" + +#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:232 +msgid "Unknown error. Please try again later." +msgstr "" + +#: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:308 +msgid "Profile photo updated successfully." +msgstr "" + +#: ../../extend/addon/hzaddons/gallery/gallery.php:43 +#: ../../extend/addon/hzaddons/gallery/Mod_Gallery.php:136 +msgid "Gallery" +msgstr "" + +#: ../../extend/addon/hzaddons/gallery/gallery.php:46 +msgid "Photo Gallery" +msgstr "" + +#: ../../extend/addon/hzaddons/gallery/Mod_Gallery.php:58 +msgid "Gallery App" +msgstr "" + +#: ../../extend/addon/hzaddons/gallery/Mod_Gallery.php:59 +msgid "A simple gallery for your photo albums" +msgstr "" + +#: ../../extend/addon/hzaddons/smileybutton/Mod_Smileybutton.php:35 +msgid "Smileybutton App" +msgstr "" + +#: ../../extend/addon/hzaddons/smileybutton/Mod_Smileybutton.php:36 +msgid "Adds a smileybutton to the jot editor" +msgstr "" + +#: ../../extend/addon/hzaddons/smileybutton/Mod_Smileybutton.php:44 +msgid "Hide the button and show the smilies directly." +msgstr "" + +#: ../../extend/addon/hzaddons/smileybutton/Mod_Smileybutton.php:52 +msgid "Smileybutton Settings" +msgstr "" + +#: ../../extend/addon/hzaddons/rtof/rtof.php:51 +msgid "Post to Friendica" +msgstr "" + +#: ../../extend/addon/hzaddons/rtof/Mod_Rtof.php:24 +msgid "Friendica Crosspost Connector Settings saved." +msgstr "" + +#: ../../extend/addon/hzaddons/rtof/Mod_Rtof.php:36 +msgid "Friendica Crosspost Connector App" +msgstr "" + +#: ../../extend/addon/hzaddons/rtof/Mod_Rtof.php:37 +msgid "Relay public postings to a connected Friendica account" +msgstr "" + +#: ../../extend/addon/hzaddons/rtof/Mod_Rtof.php:49 +msgid "Send public postings to Friendica by default" +msgstr "" + +#: ../../extend/addon/hzaddons/rtof/Mod_Rtof.php:53 +msgid "Friendica API Path" +msgstr "" + +#: ../../extend/addon/hzaddons/rtof/Mod_Rtof.php:57 +msgid "Friendica login name" +msgstr "" + +#: ../../extend/addon/hzaddons/rtof/Mod_Rtof.php:61 +msgid "Friendica password" +msgstr "" + +#: ../../extend/addon/hzaddons/rtof/Mod_Rtof.php:69 +msgid "Friendica Crosspost Connector" +msgstr "" + +#: ../../extend/addon/hzaddons/logrot/logrot.php:36 +msgid "Logfile archive directory" +msgstr "" + +#: ../../extend/addon/hzaddons/logrot/logrot.php:36 +msgid "Directory to store rotated logs" +msgstr "" + +#: ../../extend/addon/hzaddons/logrot/logrot.php:37 +msgid "Logfile size in bytes before rotating" +msgstr "" + +#: ../../extend/addon/hzaddons/logrot/logrot.php:38 +msgid "Number of logfiles to retain" +msgstr "" + +#: ../../extend/addon/hzaddons/wppost/wppost.php:46 +msgid "Post to WordPress" +msgstr "" + +#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:30 +msgid "Wordpress Settings saved." +msgstr "" + +#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:43 +msgid "Wordpress Post App" +msgstr "" + +#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:44 +msgid "Post to WordPress or anything else which uses the wordpress XMLRPC API" +msgstr "" + +#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:69 +msgid "WordPress username" +msgstr "" + +#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:73 +msgid "WordPress password" +msgstr "" + +#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:77 +msgid "WordPress API URL" +msgstr "" + +#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:78 +msgid "Typically https://your-blog.tld/xmlrpc.php" +msgstr "" + +#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:81 +msgid "WordPress blogid" +msgstr "" + +#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:82 +msgid "For multi-user sites such as wordpress.com, otherwise leave blank" +msgstr "" + +#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:86 +msgid "Post to WordPress by default" +msgstr "" + +#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:90 +msgid "Forward comments (requires hubzilla_wp plugin)" +msgstr "" + +#: ../../extend/addon/hzaddons/wppost/Mod_Wppost.php:106 +msgid "Wordpress Post" +msgstr "" + +#: ../../extend/addon/hzaddons/authchoose/Mod_Authchoose.php:22 +msgid "" +"Allow magic authentication only to websites of your immediate connections" +msgstr "" + +#: ../../extend/addon/hzaddons/authchoose/Mod_Authchoose.php:28 +#: ../../extend/addon/hzaddons/authchoose/Mod_Authchoose.php:33 +msgid "Authchoose App" +msgstr "" + +#: ../../extend/addon/hzaddons/authchoose/Mod_Authchoose.php:39 +msgid "Authchoose" +msgstr "" + +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:19 +msgid "bitchslap" +msgstr "" + +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:19 +msgid "bitchslapped" +msgstr "" + +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:20 +msgid "shag" +msgstr "" + +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:20 +msgid "shagged" +msgstr "" + +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:21 +msgid "patent" +msgstr "" + +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:21 +msgid "patented" +msgstr "" + +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:22 +msgid "hug" +msgstr "" + +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:22 +msgid "hugged" +msgstr "" + +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:23 +msgid "murder" +msgstr "" + +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:23 +msgid "murdered" +msgstr "" + +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:24 +msgid "worship" +msgstr "" + +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:24 +msgid "worshipped" +msgstr "" + +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:25 +msgid "kiss" +msgstr "" + +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:25 +msgid "kissed" +msgstr "" + +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:26 +msgid "tempt" +msgstr "" + +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:26 +msgid "tempted" +msgstr "" + +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:27 +msgid "raise eyebrows at" +msgstr "" + +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:27 +msgid "raised their eyebrows at" +msgstr "" + +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:28 +msgid "insult" +msgstr "" + +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:28 +msgid "insulted" +msgstr "" + +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:29 +msgid "praise" +msgstr "" + +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:29 +msgid "praised" +msgstr "" + +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:30 +msgid "be dubious of" +msgstr "" + +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:30 +msgid "was dubious of" +msgstr "" + +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:31 +msgid "eat" +msgstr "" + +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:31 +msgid "ate" +msgstr "" + +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:32 +msgid "giggle and fawn at" +msgstr "" + +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:32 +msgid "giggled and fawned at" +msgstr "" + +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:33 +msgid "doubt" +msgstr "" + +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:33 +msgid "doubted" +msgstr "" + +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:34 +msgid "glare" +msgstr "" + +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:34 +msgid "glared at" +msgstr "" + +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:35 +msgid "fuck" +msgstr "" + +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:35 +msgid "fucked" +msgstr "" + +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:36 +msgid "bonk" +msgstr "" + +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:36 +msgid "bonked" +msgstr "" + +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:37 +msgid "declare undying love for" +msgstr "" + +#: ../../extend/addon/hzaddons/morepokes/morepokes.php:37 +msgid "declared undying love for" +msgstr "" + +#: ../../extend/addon/hzaddons/notifyadmin/notifyadmin.php:34 +msgid "New registration" +msgstr "" + +#: ../../extend/addon/hzaddons/notifyadmin/notifyadmin.php:42 +#, php-format +msgid "Message sent to %s. New account registration: %s" +msgstr "" + +#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:40 +msgid "Pump.io Settings saved." +msgstr "" + +#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:53 +msgid "Pump.io Crosspost Connector App" +msgstr "" + +#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:54 +msgid "Relay public posts to pump.io" +msgstr "" + +#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:73 +msgid "Pump.io servername" +msgstr "" + +#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:73 +msgid "Without \"http://\" or \"https://\"" +msgstr "" + +#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:77 +msgid "Pump.io username" +msgstr "" + +#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:77 +msgid "Without the servername" +msgstr "" + +#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:88 +msgid "You are not authenticated to pumpio" +msgstr "" + +#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:90 +msgid "(Re-)Authenticate your pump.io connection" +msgstr "" + +#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:94 +msgid "Post to pump.io by default" +msgstr "" + +#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:98 +msgid "Should posts be public" +msgstr "" + +#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:102 +msgid "Mirror all public posts" +msgstr "" + +#: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:112 +msgid "Pump.io Crosspost Connector" +msgstr "" + +#: ../../extend/addon/hzaddons/pumpio/pumpio.php:152 +msgid "You are now authenticated to pumpio." +msgstr "" + +#: ../../extend/addon/hzaddons/pumpio/pumpio.php:153 +msgid "return to the featured settings page" +msgstr "" + +#: ../../extend/addon/hzaddons/pumpio/pumpio.php:168 +msgid "Post to Pump.io" +msgstr "" + +#: ../../extend/addon/hzaddons/nsabait/Mod_Nsabait.php:20 +#: ../../extend/addon/hzaddons/nsabait/Mod_Nsabait.php:24 +msgid "NSA Bait App" +msgstr "" + +#: ../../extend/addon/hzaddons/nsabait/Mod_Nsabait.php:26 +msgid "Make yourself a political target" +msgstr "" + +#: ../../extend/addon/hzaddons/rainbowtag/Mod_Rainbowtag.php:15 +msgid "Add some colour to tag clouds" +msgstr "" + +#: ../../extend/addon/hzaddons/rainbowtag/Mod_Rainbowtag.php:21 +#: ../../extend/addon/hzaddons/rainbowtag/Mod_Rainbowtag.php:26 +msgid "Rainbow Tag App" +msgstr "" + +#: ../../extend/addon/hzaddons/rainbowtag/Mod_Rainbowtag.php:34 +msgid "Rainbow Tag" +msgstr "" + +#: ../../extend/addon/hzaddons/mailtest/mailtest.php:19 +msgid "Send test email" +msgstr "" + +#: ../../extend/addon/hzaddons/mailtest/mailtest.php:66 +msgid "Mail sent." +msgstr "" + +#: ../../extend/addon/hzaddons/mailtest/mailtest.php:68 +msgid "Sending of mail failed." +msgstr "" + +#: ../../extend/addon/hzaddons/mailtest/mailtest.php:77 +msgid "Mail Test" +msgstr "" + +#: ../../extend/addon/hzaddons/redfiles/redfiles.php:119 +msgid "Redmatrix File Storage Import" +msgstr "" + +#: ../../extend/addon/hzaddons/redfiles/redfiles.php:120 +msgid "This will import all your Redmatrix cloud files to this channel." +msgstr "" + +#: ../../extend/addon/hzaddons/mdpost/mdpost.php:42 +msgid "Use markdown for editing posts" +msgstr "" + +#: ../../extend/addon/hzaddons/fuzzloc/Mod_Fuzzloc.php:22 +msgid "Fuzzloc Settings updated." +msgstr "" + +#: ../../extend/addon/hzaddons/fuzzloc/Mod_Fuzzloc.php:34 +msgid "Fuzzy Location App" +msgstr "" + +#: ../../extend/addon/hzaddons/fuzzloc/Mod_Fuzzloc.php:35 +msgid "" +"Blur your precise location if your channel uses browser location mapping" +msgstr "" + +#: ../../extend/addon/hzaddons/fuzzloc/Mod_Fuzzloc.php:40 +msgid "Minimum offset in meters" +msgstr "" + +#: ../../extend/addon/hzaddons/fuzzloc/Mod_Fuzzloc.php:44 +msgid "Maximum offset in meters" +msgstr "" + +#: ../../extend/addon/hzaddons/fuzzloc/Mod_Fuzzloc.php:53 +msgid "Fuzzy Location" +msgstr "" + +#: ../../extend/addon/hzaddons/startpage/Mod_Startpage.php:50 +msgid "Startpage App" +msgstr "" + +#: ../../extend/addon/hzaddons/startpage/Mod_Startpage.php:51 +msgid "Set a preferred page to load on login from home page" +msgstr "" + +#: ../../extend/addon/hzaddons/startpage/Mod_Startpage.php:62 +msgid "Page to load after login" +msgstr "" + +#: ../../extend/addon/hzaddons/startpage/Mod_Startpage.php:62 +msgid "" +"Examples: "apps", "network?f=&gid=37" (privacy " +"collection), "channel" or "notifications/system" (leave " +"blank for default network page (grid)." +msgstr "" + +#: ../../extend/addon/hzaddons/startpage/Mod_Startpage.php:70 +msgid "Startpage" +msgstr "" + +#: ../../view/theme/redbasic/php/config.php:16 +#: ../../view/theme/redbasic/php/config.php:19 +msgid "Focus (Hubzilla default)" +msgstr "" + +#: ../../view/theme/redbasic/php/config.php:98 +msgid "Theme settings" +msgstr "" + +#: ../../view/theme/redbasic/php/config.php:99 +msgid "Narrow navbar" +msgstr "" + +#: ../../view/theme/redbasic/php/config.php:100 +msgid "Navigation bar background color" +msgstr "" + +#: ../../view/theme/redbasic/php/config.php:101 +msgid "Navigation bar icon color " +msgstr "" + +#: ../../view/theme/redbasic/php/config.php:102 +msgid "Navigation bar active icon color " +msgstr "" + +#: ../../view/theme/redbasic/php/config.php:103 +msgid "Link color" +msgstr "" + +#: ../../view/theme/redbasic/php/config.php:104 +msgid "Set font-color for banner" +msgstr "" + +#: ../../view/theme/redbasic/php/config.php:105 +msgid "Set the background color" +msgstr "" + +#: ../../view/theme/redbasic/php/config.php:106 +msgid "Set the background image" +msgstr "" + +#: ../../view/theme/redbasic/php/config.php:107 +msgid "Set the background color of items" +msgstr "" + +#: ../../view/theme/redbasic/php/config.php:108 +msgid "Set the background color of comments" +msgstr "" + +#: ../../view/theme/redbasic/php/config.php:109 +msgid "Set font-size for the entire application" +msgstr "" + +#: ../../view/theme/redbasic/php/config.php:109 +msgid "Examples: 1rem, 100%, 16px" +msgstr "" + +#: ../../view/theme/redbasic/php/config.php:110 +msgid "Set font-color for posts and comments" +msgstr "" + +#: ../../view/theme/redbasic/php/config.php:111 +msgid "Set radius of corners" +msgstr "" + +#: ../../view/theme/redbasic/php/config.php:111 +msgid "Example: 4px" +msgstr "" + +#: ../../view/theme/redbasic/php/config.php:112 +msgid "Set shadow depth of photos" +msgstr "" + +#: ../../view/theme/redbasic/php/config.php:113 +msgid "Set maximum width of content region in pixel" +msgstr "" + +#: ../../view/theme/redbasic/php/config.php:113 +msgid "Leave empty for default width" +msgstr "" + +#: ../../view/theme/redbasic/php/config.php:114 +msgid "Set size of conversation author photo" +msgstr "" + +#: ../../view/theme/redbasic/php/config.php:115 +msgid "Set size of followup author photos" +msgstr "" + +#: ../../view/theme/redbasic/php/config.php:116 +msgid "Show advanced settings" +msgstr "" + +#: ../../boot.php:1684 +msgid "Create an account to access services and applications" +msgstr "" + +#: ../../boot.php:1708 +msgid "Login/Email" +msgstr "" + +#: ../../boot.php:1709 +msgid "Password" +msgstr "" + +#: ../../boot.php:1710 +msgid "Remember me" +msgstr "" + +#: ../../boot.php:1713 +msgid "Forgot your password?" +msgstr "" + +#: ../../boot.php:2582 +#, php-format +msgid "[$Projectname] Website SSL error for %s" +msgstr "" + +#: ../../boot.php:2587 +msgid "Website SSL certificate is not valid. Please correct." +msgstr "" + +#: ../../boot.php:2703 +#, php-format +msgid "[$Projectname] Cron tasks not running on %s" +msgstr "" + +#: ../../boot.php:2708 +msgid "Cron/Scheduled tasks not running." +msgstr "" diff --git a/view/pl/hstrings.php b/view/pl/hstrings.php new file mode 100644 index 000000000..7a58ab97f --- /dev/null +++ b/view/pl/hstrings.php @@ -0,0 +1,3573 @@ +<?php + +if(! function_exists("string_plural_select_pl")) { +function string_plural_select_pl($n){ + return ($n==1 ? 0 : ($n%10>=2 && $n%10<=4 && ($n%100<12 || $n%100>14) ? 1 : 2)); +}} +App::$rtl = 0; +App::$strings["plural_function_code"] = "(n==1 ? 0 : (n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : 2))"; +App::$strings["Can view my channel stream and posts"] = "Może wyÅ›wietlać strumieÅ„ i posty z mojego kanaÅ‚u"; +App::$strings["Can send me their channel stream and posts"] = "Może przesyÅ‚ać mi strumieÅ„ swojego kanaÅ‚u i posty"; +App::$strings["Can view my default channel profile"] = "Może wyÅ›wietlać mój domyÅ›lny profil kanaÅ‚u"; +App::$strings["Can view my connections"] = "Może wyÅ›wietlać moje połączenia"; +App::$strings["Can view my file storage and photos"] = "Może wyÅ›wietlać moje przechowywane pliki i zdjÄ™cia"; +App::$strings["Can upload/modify my file storage and photos"] = "Może przesyÅ‚ać/modyfikować moje przechowywane pliki i zdjÄ™cia"; +App::$strings["Can view my channel webpages"] = "Może wyÅ›wietlać strony internetowe mojego kanaÅ‚u"; +App::$strings["Can view my wiki pages"] = "Może przeglÄ…dać moje strony wiki"; +App::$strings["Can create/edit my channel webpages"] = "Może tworzyć/edytować strony internetowe mojego kanaÅ‚u"; +App::$strings["Can write to my wiki pages"] = "Może pisać na moich stronach wiki"; +App::$strings["Can post on my channel (wall) page"] = "Może publikować na stronie mojego kanaÅ‚u (tablicy)"; +App::$strings["Can comment on or like my posts"] = "Może komentować lub polubić moje posty"; +App::$strings["Can send me private mail messages"] = "Może wysyÅ‚ać mi prywatne wiadomoÅ›ci e-mail"; +App::$strings["Can like/dislike profiles and profile things"] = "Może polubiać/dezaprobować profile i rzeczy w profilach"; +App::$strings["Can forward to all my channel connections via ! mentions in posts"] = "Może przekazywać informacje do wszystkich moich połączeÅ„ kanaÅ‚owych za poÅ›rednictwem !wzmianki w postach"; +App::$strings["Can chat with me"] = "Może ze mnÄ… rozmawiać"; +App::$strings["Can source my public posts in derived channels"] = "Może pozyskiwać moje publiczne posty w kanaÅ‚ach pochodnych"; +App::$strings["Can administer my channel"] = "Może zarzÄ…dzać moim kanaÅ‚em"; +App::$strings["Social Networking"] = "Sieć spoÅ‚ecznoÅ›ciowa"; +App::$strings["Social - Federation"] = "SpoÅ‚ecznoÅ›ciowy - federacyjny"; +App::$strings["Social - Mostly Public"] = "SpoÅ‚ecznoÅ›ciowy - głównie publiczny"; +App::$strings["Social - Restricted"] = "SpoÅ‚ecznoÅ›ciowy - ograniczony"; +App::$strings["Social - Private"] = "SpoÅ‚ecznoÅ›ciowy - prywatny"; +App::$strings["Community Forum"] = "Forum spoÅ‚ecznoÅ›ciowe"; +App::$strings["Forum - Mostly Public"] = "Forum - głównie publiczne"; +App::$strings["Forum - Restricted"] = "Forum - ograniczone"; +App::$strings["Forum - Private"] = "Forum - prywatne"; +App::$strings["Feed Republish"] = "Opublikuj ponownie kanaÅ‚ RSS"; +App::$strings["Feed - Mostly Public"] = "KanaÅ‚ RSS - głównie publiczny"; +App::$strings["Feed - Restricted"] = "KanaÅ‚ RSS - ograniczony"; +App::$strings["Special Purpose"] = "Specjalnego celu"; +App::$strings["Special - Celebrity/Soapbox"] = "Specjalne - celebryckie i mównice"; +App::$strings["Special - Group Repository"] = "Specjalne - repozytorium grupowe"; +App::$strings["Other"] = "Inny"; +App::$strings["Custom/Expert Mode"] = "Tryb niestandardowy/ekspercki"; +App::$strings["Permission denied."] = "DostÄ™p zabroniony."; +App::$strings["Layout updated."] = "Zaktualizowano ukÅ‚ad."; +App::$strings["PDL Editor App"] = "Aplikacja PDL Editor"; +App::$strings["Not Installed"] = "Nie zainstalowano"; +App::$strings["Provides the ability to edit system page layouts"] = "Zapewnia możliwość edycji ukÅ‚adów stron systemowych"; +App::$strings["Edit System Page Description"] = "Edytuj opis strony systemowej"; +App::$strings["(modified)"] = "(zmodyfikowany)"; +App::$strings["Reset"] = "Resetuj"; +App::$strings["Layout not found."] = "Nie znaleziono ukÅ‚adu."; +App::$strings["Module Name:"] = "Nazwa moduÅ‚u:"; +App::$strings["Layout Help"] = "Pomoc dotyczÄ…ca ukÅ‚adu"; +App::$strings["Edit another layout"] = "Edytuj inny ukÅ‚ad"; +App::$strings["System layout"] = "UkÅ‚ad systemowy"; +App::$strings["Submit"] = "Zatwierdź"; +App::$strings["Update to Hubzilla 5.0 step 2"] = "Zaktualizuj do Hubzilli 5.0 krok 2"; +App::$strings["To complete the update please run"] = "Uruchom, aby zakoÅ„czyć aktualizacjÄ™"; +App::$strings["php util/z6convert.php"] = "php util/z6convert.php"; +App::$strings["from the terminal."] = "z terminala."; +App::$strings["Permission denied"] = "DostÄ™p zabroniony"; +App::$strings["Invalid message"] = "NieprawidÅ‚owa wiadomość"; +App::$strings["no results"] = "brak wyników"; +App::$strings["channel sync processed"] = "synchronizacja kanałów zostaÅ‚a przetworzona"; +App::$strings["queued"] = "w kolejce"; +App::$strings["posted"] = "opublikowane"; +App::$strings["accepted for delivery"] = "przyjÄ™ty do dostawy"; +App::$strings["updated"] = "zaktualizowany"; +App::$strings["update ignored"] = "aktualizacja zignorowana"; +App::$strings["permission denied"] = "dostÄ™p zabroniony"; +App::$strings["recipient not found"] = "nie znaleziono odbiorcy"; +App::$strings["mail recalled"] = "mail odwoÅ‚any"; +App::$strings["duplicate mail received"] = "otrzymano powielonÄ… wiadomość"; +App::$strings["mail delivered"] = "dostarczono pocztÄ™"; +App::$strings["Delivery report for %1\$s"] = "Raport dostarczenia dla %1\$s"; +App::$strings["Options"] = "Opcje"; +App::$strings["Redeliver"] = "Dostarcz ponownie"; +App::$strings["Invalid profile identifier."] = "NieprawidÅ‚owy identyfikator profilu."; +App::$strings["Profile Visibility Editor"] = "Edytor widocznoÅ›ci profilu"; +App::$strings["Profile"] = "Profil"; +App::$strings["Click on a contact to add or remove."] = "Kliknij kontakt, który chcesz dodać lub usunąć."; +App::$strings["Visible To"] = "Widoczne dla"; +App::$strings["All Connections"] = "Wszystkie połączenia"; +App::$strings["Not found"] = "Nie znaleziono"; +App::$strings["Please refresh page"] = "OdÅ›wież stronÄ™"; +App::$strings["Unknown error"] = "Nieznany błąd"; +App::$strings["Unknown App"] = "Aplikacja nieznana"; +App::$strings["Authorize"] = "Autoryzuj"; +App::$strings["Do you authorize the app %s to access your channel data?"] = "Czy zezwalasz aplikacji %s na dostÄ™p do danych Twojego kanaÅ‚u?"; +App::$strings["Allow"] = "Zezwól"; +App::$strings["Deny"] = "ZabroÅ„"; +App::$strings["Calendar entries imported."] = "Zaimportowano wpisy kalendarza."; +App::$strings["No calendar entries found."] = "Nie znaleziono wpisów kalendarza."; +App::$strings["CardDAV App"] = "Aplikacja CardDAV"; +App::$strings["CalDAV capable addressbook"] = "Książka adresowa z obsÅ‚ugÄ… CalDAV"; +App::$strings["Link to source"] = "Link do źródÅ‚a"; +App::$strings["Event title"] = "TytuÅ‚ wydarzenia"; +App::$strings["Start date and time"] = "Data i godzina rozpoczÄ™cia"; +App::$strings["End date and time"] = "Data i godzina zakoÅ„czenia"; +App::$strings["Timezone:"] = "Strefa czasowa:"; +App::$strings["Description"] = "Opis"; +App::$strings["Location"] = "Lokalizacja"; +App::$strings["Previous"] = "Poprzedni"; +App::$strings["Next"] = "Nastęþny"; +App::$strings["Today"] = "Dzisiaj"; +App::$strings["Month"] = "MiesiÄ…c"; +App::$strings["Week"] = "TydzieÅ„"; +App::$strings["Day"] = "DzieÅ„"; +App::$strings["List month"] = "WymieÅ„ miesiÄ…c"; +App::$strings["List week"] = "WymieÅ„ tydzieÅ„"; +App::$strings["List day"] = "WymieÅ„ dzieÅ„"; +App::$strings["More"] = "WiÄ™cej"; +App::$strings["Less"] = "Mniej"; +App::$strings["Update"] = "Zaktualizuj"; +App::$strings["Select calendar"] = "Wybierz kalendarz"; +App::$strings["Channel Calendars"] = "Kalendarze kanaÅ‚u"; +App::$strings["CalDAV Calendars"] = "Kalendarze CalDAV"; +App::$strings["Delete"] = "UsuÅ„"; +App::$strings["Delete all"] = "UsuÅ„ wszystko"; +App::$strings["Cancel"] = "Anuluj"; +App::$strings["Create"] = "Utwórz"; +App::$strings["Sorry! Editing of recurrent events is not yet implemented."] = "Przepraszamy! Edycja powtarzajÄ…cych siÄ™ wydarzeÅ„ nie zostaÅ‚a jeszcze zaimplementowana."; +App::$strings["Categories"] = "Kategorie"; +App::$strings["Name"] = "Nazwa"; +App::$strings["Organisation"] = "Organizacja"; +App::$strings["Title"] = "TytuÅ‚"; +App::$strings["Phone"] = "Numer telefonu"; +App::$strings["Email"] = "Adres e-mail"; +App::$strings["Instant messenger"] = "Komunikator internetowy"; +App::$strings["Website"] = "Strona internetowa"; +App::$strings["Address"] = "Adres"; +App::$strings["Note"] = "Uwagi"; +App::$strings["Mobile"] = "Komórka"; +App::$strings["Home"] = "Domowy"; +App::$strings["Work"] = "Praca"; +App::$strings["Add Contact"] = "Dodaj kontakt"; +App::$strings["Add Field"] = "Dodaj pole"; +App::$strings["P.O. Box"] = "Skrytka pocztowa"; +App::$strings["Additional"] = "Dodatkowe informacje"; +App::$strings["Street"] = "Ulica"; +App::$strings["Locality"] = "Miejscowość"; +App::$strings["Region"] = "Region"; +App::$strings["ZIP Code"] = "Kod pocztowy"; +App::$strings["Country"] = "PaÅ„stwo"; +App::$strings["Default Calendar"] = "DomyÅ›lny kalendarz"; +App::$strings["Default Addressbook"] = "DomyÅ›lna książka adresowa"; +App::$strings["Authorize application connection"] = "Autoryzuj połączenie aplikacji"; +App::$strings["Return to your app and insert this Security Code:"] = "Wróć do aplikacji i wprowadź ten kod bezpieczeÅ„stwa:"; +App::$strings["Please login to continue."] = "ProszÄ™ siÄ™ zalogować, aby kontynuować."; +App::$strings["Do you want to authorize this application to access your posts and contacts, and/or create new posts for you?"] = "Czy chcesz zezwolić tej aplikacji na dostÄ™p do Twoich postów i kontaktów albo tworzenie dla Ciebie nowych postów ?"; +App::$strings["Yes"] = "Tak"; +App::$strings["No"] = "Nie"; +App::$strings["This site is not a directory server"] = "Ta witryna nie jest serwerem katalogów"; +App::$strings["This directory server requires an access token"] = "Ten serwer katalogowy wymaga tokenu dostÄ™pu"; +App::$strings["Enter a folder name"] = "Wprowadź nazwÄ™ folderu"; +App::$strings["or select an existing folder (doubleclick)"] = "lub wybierz istniejÄ…cy folder (kliknij dwukrotnie)"; +App::$strings["Save"] = "Zapisz"; +App::$strings["Save to Folder"] = "Zapisz do folderu"; +App::$strings["Event can not end before it has started."] = "Wydarzenie nie może zakoÅ„czyć siÄ™ przed rozpoczÄ™ciem."; +App::$strings["Unable to generate preview."] = "Nie można wygenerować podglÄ…du."; +App::$strings["Event title and start time are required."] = "Wymaga siÄ™ wprowadzenie tytuÅ‚u wydarzenia i godziny rozpoczÄ™cia."; +App::$strings["Event not found."] = "Nie znaleziono wydarzenia."; +App::$strings["event"] = "wydarzenie"; +App::$strings["Edit event title"] = "Edytuj tytuÅ‚ wydarzenia"; +App::$strings["Required"] = "Wymagane"; +App::$strings["Categories (comma-separated list)"] = "Kategorie (lista rozdzielana przecinkami)"; +App::$strings["Edit Category"] = "Edytuj kategoriÄ™"; +App::$strings["Category"] = "Kategoria"; +App::$strings["Edit start date and time"] = "Edytuj datÄ™ i godzinÄ™ rozpoczÄ™cia"; +App::$strings["Finish date and time are not known or not relevant"] = "Data i godzina zakoÅ„czenia nie sÄ… znane lub nie majÄ… znaczenia"; +App::$strings["Edit finish date and time"] = "Edytuj datÄ™ i godzinÄ™ zakoÅ„czenia"; +App::$strings["Finish date and time"] = "Data i godzina zakoÅ„czenia"; +App::$strings["Adjust for viewer timezone"] = "Dostosuj do strefy czasowej widza"; +App::$strings["Important for events that happen in a particular place. Not practical for global holidays."] = "Ważne dla wydarzeÅ„, które majÄ… miejsce w okreÅ›lonym miejscu. Niepraktyczne na globalne Å›wiÄ™ta."; +App::$strings["Edit Description"] = "Edytuj opis"; +App::$strings["Edit Location"] = "Edytuj lokalizacjÄ™"; +App::$strings["Preview"] = "PodglÄ…d"; +App::$strings["Permission settings"] = "Ustawienia dostÄ™pu"; +App::$strings["Advanced Options"] = "Zaawansowane opcje"; +App::$strings["l, F j"] = "l, F j"; +App::$strings["Edit event"] = "Edytuj wydarzenie"; +App::$strings["Delete event"] = "UsuÅ„ wydarzenie"; +App::$strings["Link to Source"] = "Link do źródÅ‚a"; +App::$strings["calendar"] = "kalendarz"; +App::$strings["Edit Event"] = "Edytuj wydarzenie"; +App::$strings["Create Event"] = "Utwórz wydarzenie"; +App::$strings["Export"] = "Eksport"; +App::$strings["View"] = "Widok"; +App::$strings["Event removed"] = "Wydarzenie usuniÄ™te"; +App::$strings["Failed to remove event"] = "Nie udaÅ‚o siÄ™ usunąć wydarzenia"; +App::$strings["Documentation Search"] = "Przeszukaj dokumentacjÄ™"; +App::$strings["About"] = "O platformie Hubzilla"; +App::$strings["Members"] = "Dla czÅ‚onków"; +App::$strings["Administrators"] = "Dla administratorów"; +App::$strings["Developers"] = "Dla deweloperów"; +App::$strings["Tutorials"] = "Poradniki"; +App::$strings["\$Projectname Documentation"] = "Dokumentacja \$Projectname"; +App::$strings["Contents"] = "Spis treÅ›ci"; +App::$strings["Bookmark added"] = "Dodano zakÅ‚adkÄ™"; +App::$strings["Bookmarks App"] = "Aplikacja Bookmarks"; +App::$strings["Bookmark links from posts and manage them"] = "Dodaj do zakÅ‚adek linki z postów i zarzÄ…dzaj nimi"; +App::$strings["My Bookmarks"] = "Moje zakÅ‚adki"; +App::$strings["My Connections Bookmarks"] = "Moje zakÅ‚adki połączeÅ„"; +App::$strings["Requested profile is not available."] = "Żądany profil nie jest dostÄ™pny."; +App::$strings["Webpages App"] = "Aplikacja Webpages"; +App::$strings["Provide managed web pages on your channel"] = "UdostÄ™pnij zarzÄ…dzane strony internetowe na swoim kanale"; +App::$strings["Import Webpage Elements"] = "Importuj elementy strony internetowej"; +App::$strings["Import selected"] = "Importuj wybrane"; +App::$strings["Export Webpage Elements"] = "Eksportuj elementy strony internetowej"; +App::$strings["Export selected"] = "Eksportuj wybrane"; +App::$strings["Webpages"] = "Witryny internetowe"; +App::$strings["Edit"] = "Edytuj"; +App::$strings["Share"] = "UdostÄ™pnij"; +App::$strings["Actions"] = "Akcje"; +App::$strings["Page Link"] = "Link do strony"; +App::$strings["Page Title"] = "TytuÅ‚ strony"; +App::$strings["Created"] = "Utworzono"; +App::$strings["Edited"] = "Edytowano"; +App::$strings["Invalid file type."] = "ZÅ‚y typ pliku."; +App::$strings["Error opening zip file"] = "Błąd podczas otwierania pliku zip"; +App::$strings["Invalid folder path."] = "NieprawidÅ‚owa Å›cieżka folderu."; +App::$strings["No webpage elements detected."] = "Nie wykryto żadnych elementów strony internetowej."; +App::$strings["Import complete."] = "Import zakoÅ„czony."; +App::$strings["Profile not found."] = "Nie znaleziono profilu."; +App::$strings["Profile deleted."] = "Profil usuniÄ™ty."; +App::$strings["Profile-"] = "Profil-"; +App::$strings["New profile created."] = "Utworzono nowy profil."; +App::$strings["Profile unavailable to clone."] = "Profil niedostÄ™pny do sklonowania."; +App::$strings["Profile unavailable to export."] = "Profil niedostÄ™pny do wyeksportowania."; +App::$strings["Profile Name is required."] = "Wymaga siÄ™ podania nazwy profilu."; +App::$strings["Marital Status"] = "Stan cywilny"; +App::$strings["Romantic Partner"] = "Partner romantyczny"; +App::$strings["Likes"] = "Polubienia"; +App::$strings["Dislikes"] = "Dezaprobaty"; +App::$strings["Work/Employment"] = "Praca/Zatrudnienie"; +App::$strings["Religion"] = "Religia"; +App::$strings["Political Views"] = "PoglÄ…dy polityczny"; +App::$strings["Gender"] = "PÅ‚eć"; +App::$strings["Sexual Preference"] = "Prefernecje seksualne"; +App::$strings["Homepage"] = "Strona domowa"; +App::$strings["Interests"] = "Zainteresowania"; +App::$strings["Profile updated."] = "Profil zostaÅ‚ zaktualizowany."; +App::$strings["Hide your connections list from viewers of this profile"] = "Ukryj swojÄ… listÄ™ kontaktów przed przeglÄ…dajÄ…cymi ten profil"; +App::$strings["Edit Profile Details"] = "Edytuj szczegóły profilu"; +App::$strings["View this profile"] = "Zobacz ten profil"; +App::$strings["Edit visibility"] = "Edytuj dostÄ™pność"; +App::$strings["Profile Tools"] = "NarzÄ™dzia profili"; +App::$strings["Change cover photo"] = "ZmieÅ„ zdjÄ™cie okÅ‚adkowe"; +App::$strings["Change profile photo"] = "ZmieÅ„ zdjÄ™cie profilowe"; +App::$strings["Create a new profile using these settings"] = "Utwórz nowy profil, korzystajÄ…c z tych ustawieÅ„"; +App::$strings["Clone this profile"] = "Sklonuj ten profil"; +App::$strings["Delete this profile"] = "UsuÅ„ ten profil"; +App::$strings["Add profile things"] = "Dodaj elementy profilu"; +App::$strings["Personal"] = "Osobisty"; +App::$strings["Relationship"] = "Relacja"; +App::$strings["Miscellaneous"] = "Różne"; +App::$strings["Import profile from file"] = "Importuj profil z pliku"; +App::$strings["Export profile to file"] = "Eksportuj profil do pliku"; +App::$strings["Your gender"] = "Twoja pÅ‚eć"; +App::$strings["Marital status"] = "Stan cywilny"; +App::$strings["Sexual preference"] = "Preferencje seksualne"; +App::$strings["Profile name"] = "Nazwa profilu"; +App::$strings["This is your default profile."] = "To jest Twój profil domyÅ›lny."; +App::$strings["Your full name"] = "Twoje imiÄ™ i nazwisko lub peÅ‚na nazwa"; +App::$strings["Short title/tescription"] = "Krótki tytuÅ‚/opis"; +App::$strings["Maximal 190 characters"] = "Maksymalnie 190 znaków"; +App::$strings["Street address"] = "Ulica"; +App::$strings["Locality/City"] = "Miejscowość"; +App::$strings["Region/State"] = "Region/Stan"; +App::$strings["Postal/Zip code"] = "Kod pocztowy"; +App::$strings["Who (if applicable)"] = "Kto (jeÅ›li dotyczy)"; +App::$strings["Examples: cathy123, Cathy Williams, cathy@example.com"] = "PrzykÅ‚ady: jan123, Jan Kowalski, jan@example.com"; +App::$strings["Since (date)"] = "Od (data)"; +App::$strings["Tell us about yourself"] = "Opowiedz nam o sobie"; +App::$strings["Homepage URL"] = "Adres URL strony domowej"; +App::$strings["Hometown"] = "Miejscowość zamieszkania"; +App::$strings["Political views"] = "PoglÄ…dy polityczne"; +App::$strings["Religious views"] = "PoglÄ…dy religijne"; +App::$strings["Keywords used in directory listings"] = "SÅ‚owa kluczowe używane w wykazach katalogów"; +App::$strings["Example: fishing photography software"] = "PrzykÅ‚ad: oprogramowanie do fotografii wÄ™dkarskiej"; +App::$strings["Musical interests"] = "Zainteresowania muzyczne"; +App::$strings["Books, literature"] = "KsiÄ…zki, literatura"; +App::$strings["Television"] = "Telewizja"; +App::$strings["Film/Dance/Culture/Entertainment"] = "Film/Dance/Culture/Entertainment"; +App::$strings["Hobbies/Interests"] = "Zainteresowania"; +App::$strings["Love/Romance"] = "MiÅ‚ość/romans"; +App::$strings["School/Education"] = "Edukacja szkolna"; +App::$strings["Contact information and social networks"] = "Informacje kontaktowe i sieci spoÅ‚ecznoÅ›ciowe"; +App::$strings["My other channels"] = "Moje inne kanaÅ‚y"; +App::$strings["Communications"] = "Komunikacja"; +App::$strings["Profile Image"] = "Obraz profilowy"; +App::$strings["Edit Profiles"] = "Edytuj profile"; +App::$strings["Create New"] = "Utwórz nowy"; +App::$strings["Nothing to import."] = "Nie ma nic do zaimportowania."; +App::$strings["Unable to download data from old server"] = "Nie można pobrać danych ze starego serwera"; +App::$strings["Imported file is empty."] = "Zaimportowany plik jest pusty."; +App::$strings["Your service plan only allows %d channels."] = "Twój plan usÅ‚ug obejmuje tylko %d kanaÅ‚(y)/kanałów."; +App::$strings["No channel. Import failed."] = "Brak kanaÅ‚u. Import nieudany."; +App::$strings["Import completed."] = "Import zakoÅ„czony."; +App::$strings["You must be logged in to use this feature."] = "Trzeba siÄ™ zalogować, aby korzystać z tej funkcji."; +App::$strings["Import Channel"] = "Importuj kanaÅ‚"; +App::$strings["Use this form to import an existing channel from a different server/hub. You may retrieve the channel identity from the old server/hub via the network or provide an export file."] = "Użyj tego formularza, aby zaimportować istniejÄ…cy kanaÅ‚ z innego serwera/huba. Możesz pobrać tożsamość kanaÅ‚u ze starego serwera/huba przez sieć lub dostarczyć plik eksportu."; +App::$strings["File to Upload"] = "Plik do przesÅ‚ania"; +App::$strings["Or provide the old server/hub details"] = "Lub podaj szczegóły starego serwera/huba"; +App::$strings["Your old identity address (xyz@example.com)"] = "Twój stary adres tożsamoÅ›ci (xyz@example.com)"; +App::$strings["Your old login email address"] = "Twój stary adres e-mail logowania"; +App::$strings["Your old login password"] = "Twoje stare hasÅ‚o logowania"; +App::$strings["Import a few months of posts if possible (limited by available memory"] = "Zaimportuj posty z kilku miesiÄ™cy, jeÅ›li to możliwe (ograniczone dostÄ™pnÄ… pamiÄ™ciÄ…"; +App::$strings["For either option, please choose whether to make this hub your new primary address, or whether your old location should continue this role. You will be able to post from either location, but only one can be marked as the primary location for files, photos, and media."] = "W obu przypadkach wybierz, czy chcesz ustawić ten hub jako nowy adres podstawowy, czy też rolÄ™ tÄ… powinna peÅ‚nić Twoja stara lokalizacja. BÄ™dziesz mógÅ‚/mogÅ‚a publikować z dowolnej lokalizacji, ale tylko jedna z nich może być oznaczona jako główna lokalizacja plików, zdjęć i multimediów."; +App::$strings["Make this hub my primary location"] = "Ustaw ten hub ako mojÄ… głównÄ… lokalizacjÄ™"; +App::$strings["Move this channel (disable all previous locations)"] = "PrzenieÅ› ten kanaÅ‚ (wyłącz wszystkie poprzednie lokalizacje)"; +App::$strings["Use this channel nickname instead of the one provided"] = "Użyj tego pseudonimu kanaÅ‚u zamiast podanego"; +App::$strings["Leave blank to keep your existing channel nickname. You will be randomly assigned a similar nickname if either name is already allocated on this site."] = "Pozostaw puste, aby zachować istniejÄ…cy pseudonim kanaÅ‚u. Otrzymasz losowo podobny pseudonim, jeÅ›li któryÅ› z nich jest już przydzielony na tej stronie."; +App::$strings["This process may take several minutes to complete. Please submit the form only once and leave this page open until finished."] = "Ten proces może zająć kilka minut. PrzeÅ›lij formularz tylko raz i pozostaw tÄ™ stronÄ™ otwartÄ… do zakoÅ„czenia procedury."; +App::$strings["Like/Dislike"] = "Polub/Dezaprobuj"; +App::$strings["This action is restricted to members."] = "Ta akcja jest ograniczona do czÅ‚onków."; +App::$strings["Please <a href=\"rmagic\">login with your \$Projectname ID</a> or <a href=\"register\">register as a new \$Projectname member</a> to continue."] = "Aby kontynuować, <a href=\"rmagic\">zaloguj siÄ™ za pomocÄ… ID \$Projectname</a> lub <a href=\"register\">zarejestruj siÄ™ jako nowy czÅ‚onek \$Projectname</a>."; +App::$strings["Invalid request."] = "NieprawidÅ‚owe żądanie."; +App::$strings["channel"] = "kanaÅ‚"; +App::$strings["thing"] = "rzecz"; +App::$strings["Channel unavailable."] = "KanaÅ‚ niedostÄ™pny."; +App::$strings["Previous action reversed."] = "Poprzednia czynność zostaÅ‚a cofniÄ™ta."; +App::$strings["photo"] = "zdjecie"; +App::$strings["status"] = "stan"; +App::$strings["%1\$s likes %2\$s's %3\$s"] = "%1\$s polubieÅ„ %2\$s %3\$s"; +App::$strings["%1\$s doesn't like %2\$s's %3\$s"] = "%1\$s sezaprobat %2\$s %3\$s"; +App::$strings["%1\$s agrees with %2\$s's %3\$s"] = "%1\$s zgadza siÄ™ z %3\$s dla %2\$s"; +App::$strings["%1\$s doesn't agree with %2\$s's %3\$s"] = "%1\$s nie zgadza siÄ™ z %3\$s dla %2\$s"; +App::$strings["%1\$s abstains from a decision on %2\$s's %3\$s"] = "%1\$s wstrzymuje siÄ™ od decyzji w sprawie %3\$s dla %2\$s"; +App::$strings["%1\$s is attending %2\$s's %3\$s"] = "%1\$s uczesticzy %2\$s %3\$s"; +App::$strings["%1\$s is not attending %2\$s's %3\$s"] = "%1\$s nie uczestniczy %2\$s %3\$s"; +App::$strings["%1\$s may attend %2\$s's %3\$s"] = "%1\$s może uczestniczyć %2\$s %3\$s"; +App::$strings["Action completed."] = "Akcja zakoÅ„czona."; +App::$strings["Thank you."] = "DziÄ™kujemy."; +App::$strings["Could not access contact record."] = "Brak dostÄ™pu do rekordu kontaktu."; +App::$strings["Settings updated."] = "Zaktualizowano ustawienia."; +App::$strings["Default Permissions App"] = "Aplikacja Default Permissions"; +App::$strings["Set custom default permissions for new connections"] = "Ustaw niestandardowe uprawnienia domyÅ›lne dla nowych połączeÅ„"; +App::$strings["Connection Default Permissions"] = "DomyÅ›lne uprawnienia połączenia"; +App::$strings["Apply these permissions automatically"] = "Zastosuj te uprawnienia automatycznie"; +App::$strings["If enabled, connection requests will be approved without your interaction"] = "JeÅ›li jest włączone, proÅ›by o połączenie bÄ™dÄ… zatwierdzane bez Twojej interakcji"; +App::$strings["Permission role"] = "Rola uprawnieÅ„"; +App::$strings["Loading"] = "Åadowanie"; +App::$strings["Add permission role"] = "Dodaj rolÄ™ uprawnieÅ„"; +App::$strings["The permissions indicated on this page will be applied to all new connections."] = "Uprawnienia wskazane na tej stronie zostanÄ… zastosowane do wszystkich nowych połączeÅ„."; +App::$strings["Automatic approval settings"] = "Ustawienia automatycznego zatwierdzania"; +App::$strings["inherited"] = "dziedziczone"; +App::$strings["My Settings"] = "Moje ustawienia"; +App::$strings["Individual Permissions"] = "Uprawnienia indywidualne"; +App::$strings["Some individual permissions may have been preset or locked based on your channel type and privacy settings."] = "Niektóre indywidualne uprawnienia mogÅ‚y zostać wstÄ™pnie ustawione lub zablokowane w zależnoÅ›ci od typu kanaÅ‚u i ustawieÅ„ prywatnoÅ›ci."; +App::$strings["Layout Name"] = "Nazwa ukÅ‚adu"; +App::$strings["Layout Description (Optional)"] = "Opis ukÅ‚adu (opcjonalnie)"; +App::$strings["Layouts"] = "UkÅ‚ady"; +App::$strings["Help"] = "Pomoc"; +App::$strings["Comanche page description language help"] = "Pomoc w zakresie jÄ™zyka opisu strony Comanche"; +App::$strings["Layout Description"] = "Opis ukÅ‚adu"; +App::$strings["Download PDL file"] = "Pobierz plik PDL"; +App::$strings["Public Stream App"] = "Aplikacja Public Stream"; +App::$strings["The unmoderated public stream of this hub"] = "Niemoderowany strumieÅ„ publiczny tego huba"; +App::$strings["Reset form"] = "Resetuj formularz"; +App::$strings["Public Stream"] = "StrumieÅ„ publiczny"; +App::$strings["Private forum"] = "Prywatne forum"; +App::$strings["Public forum"] = "Publiczne forum"; +App::$strings["Privacy group created."] = "Utworzono grupÄ™ prywatnoÅ›ci."; +App::$strings["Could not create privacy group."] = "Nie udaÅ‚o siÄ™ utworzyć grupy prywatnoÅ›ci."; +App::$strings["Privacy group not found."] = "Nie znaleziono grupy prywatnoÅ›ci."; +App::$strings["Privacy group updated."] = "Grupa prywatnoÅ›ci zostaÅ‚a zaktualizowana."; +App::$strings["Privacy Groups App"] = "Aplikacja Privacy Groups"; +App::$strings["Management of privacy groups"] = "ZarzÄ…dzanie grupami prywatnoÅ›ci"; +App::$strings["Privacy Groups"] = "Grupy prywatnoÅ›ci"; +App::$strings["Add Group"] = "Dodaj grupÄ™"; +App::$strings["Privacy group name"] = "Nazwa grupy prywatnoÅ›ci"; +App::$strings["Members are visible to other channels"] = "CzÅ‚onkowie sÄ… widoczni dla innych kanałów"; +App::$strings["Privacy group removed."] = "Grupa prywatnoÅ›ci zostaÅ‚a usuniÄ™ta."; +App::$strings["Unable to remove privacy group."] = "Nie można usunąć grupy prywatnoÅ›ci."; +App::$strings["Privacy Group: %s"] = "Grupa prywatnoÅ›ci: %s"; +App::$strings["Privacy group name: "] = "Nazwa grupy prywatnoÅ›ci: "; +App::$strings["Delete Group"] = "UsuÅ„ grupÄ™"; +App::$strings["Group members"] = "CzÅ‚onkowie grupy"; +App::$strings["Not in this group"] = "Nie w tej grupie"; +App::$strings["Click a channel to toggle membership"] = "Kliknij kanaÅ‚, aby przełączyć czÅ‚onkostwo"; +App::$strings["Channel removals are not allowed within 48 hours of changing the account password."] = "UsuniÄ™cie kanaÅ‚u nie jest dozwolone w ciÄ…gu 48 godzin od zmiany hasÅ‚a do konta."; +App::$strings["Remove This Channel"] = "UsuÅ„ ten kanaÅ‚"; +App::$strings["WARNING: "] = "UWAGA: "; +App::$strings["This channel will be completely removed from the network. "] = "Ten kanaÅ‚ zostanie caÅ‚kowicie usuniÄ™ty z sieci. "; +App::$strings["This action is permanent and can not be undone!"] = "Ta akcja jest bezpowrotna i nie można jej cofnąć!"; +App::$strings["Please enter your password for verification:"] = "Wprowadź hasÅ‚o do weryfikacji:"; +App::$strings["Remove Channel"] = "UsuÅ„ kanaÅ‚"; +App::$strings["App installed."] = "Aplikacja zostaÅ‚a zainstalowana."; +App::$strings["Malformed app."] = "NieprawidÅ‚owa aplikacja."; +App::$strings["Embed code"] = "Osadzony kod"; +App::$strings["Edit App"] = "Edutuj aplikacjÄ™"; +App::$strings["Create App"] = "Utwórz aplikacjÄ™"; +App::$strings["Name of app"] = "Nazwa aplikacji"; +App::$strings["Location (URL) of app"] = "Lokalizacja (URL) aplikacji"; +App::$strings["Photo icon URL"] = "Adres URL ikony zdjÄ™cia"; +App::$strings["80 x 80 pixels - optional"] = "80 x 80 pikseli - opcjonalnie"; +App::$strings["Categories (optional, comma separated list)"] = "Kategorie (opcjonalne, lista rozdzielana przecinkami)"; +App::$strings["Version ID"] = "ID wesji"; +App::$strings["Price of app"] = "Cena aplikacji"; +App::$strings["Location (URL) to purchase app"] = "Lokalizacja (URL) do zakupu aplikacji"; +App::$strings["Channel name changes are not allowed within 48 hours of changing the account password."] = "Zmiana nazwy kanaÅ‚u jest niedozwolona w ciÄ…gu 48 godzin od zmiany hasÅ‚a do konta."; +App::$strings["Reserved nickname. Please choose another."] = "Zarezerwowany pseudonim. ProszÄ™ wybrać inny."; +App::$strings["Nickname has unsupported characters or is already being used on this site."] = "Pseudonim zawiera nieobsÅ‚ugiwane znaki lub jest już używany w tym serwisie."; +App::$strings["Change channel nickname/address"] = "ZmieÅ„ krótkÄ… nazwÄ™/adres kanaÅ‚u"; +App::$strings["Any/all connections on other networks will be lost!"] = "Wszystkie połączenia w innych sieciach zostanÄ… utracone!"; +App::$strings["New channel address"] = "Nowy adres kanaÅ‚u"; +App::$strings["Rename Channel"] = "ZmieÅ„ nazwÄ™ kanaÅ‚u"; +App::$strings["Name is required"] = "Wymaga siÄ™ podania nazwy"; +App::$strings["Key and Secret are required"] = "Wymaga siÄ™ wprowadzenia klucza i sekretu"; +App::$strings["OAuth Apps Manager App"] = "Aplikacja OAuth Apps Manager"; +App::$strings["OAuth authentication tokens for mobile and remote apps"] = "Tokeny uwierzytelniania OAuth dla aplikacji mobilnych i zdalnych"; +App::$strings["Add application"] = "Dodaj aplikacjÄ™"; +App::$strings["Name of application"] = "Nazwa aplikacji"; +App::$strings["Consumer Key"] = "Klucz konsumenta"; +App::$strings["Automatically generated - change if desired. Max length 20"] = "Wygenerowane automatycznie - w razie potrzeby zmieÅ„. Maksymalna dÅ‚ugość 20"; +App::$strings["Consumer Secret"] = "HasÅ‚o konsumenta"; +App::$strings["Redirect"] = "Przekierowanie"; +App::$strings["Redirect URI - leave blank unless your application specifically requires this"] = "Identyfikator URI przekierowania - pozostaw puste, chyba że aplikacja tego wymaga"; +App::$strings["Icon url"] = "URL ikony"; +App::$strings["Optional"] = "Opcjonalne"; +App::$strings["Application not found."] = "Aplikacji nie znaleziono."; +App::$strings["Connected OAuth Apps"] = "Połączone aplikacje OAuth"; +App::$strings["Client key starts with"] = "Klucz klienta zaczyna siÄ™ od"; +App::$strings["No name"] = "Brak nazwy"; +App::$strings["Remove authorization"] = "UsuÅ„ autoryzacjÄ™"; +App::$strings["Token verification failed."] = "Weryfikacja tokena nie powiodÅ‚a siÄ™."; +App::$strings["Email verification resent"] = "Weryfikacja adresu e-mail zostaÅ‚a wysÅ‚ana ponownie"; +App::$strings["Unable to resend email verification message."] = "Nie można ponownie wysÅ‚ać weryfikacyjnÄ… wiadomość e-mail."; +App::$strings["Public access denied."] = "Odmowa dostÄ™pu publicznego."; +App::$strings["Search"] = "Szukaj"; +App::$strings["Items tagged with: %s"] = "Elementy oznaczone tagiem: %s"; +App::$strings["Search results for: %s"] = "Wyniki wyszukiwania dla: %s"; +App::$strings["Comment approved"] = "Komentarz zatwierdzony"; +App::$strings["Comment deleted"] = "Komentarz usuniety"; +App::$strings["Edit post"] = "Edytuj post"; +App::$strings["Unable to find your hub."] = "Nie można znaleźć Twojego huba."; +App::$strings["Post successful."] = "Opublikowanie powiodÅ‚o siÄ™."; +App::$strings["Channel not found."] = "Nie znaleziono kanaÅ‚u."; +App::$strings["toggle full screen mode"] = "przełącz tryb peÅ‚nego ekranu"; +App::$strings["Post not found."] = "Nie znaleziono postu."; +App::$strings["post"] = "post"; +App::$strings["comment"] = "komentarz"; +App::$strings["%1\$s tagged %2\$s's %3\$s with %4\$s"] = "%1\$s oznaczono tagiem %3\$s %2\$s w %4\$s"; +App::$strings["Warning: Database versions differ by %1\$d updates."] = "Ostrzeżenie: wersje baz danych różniÄ… siÄ™ o %1\$d aktualizacji."; +App::$strings["Import completed"] = "Import zakoÅ„czony"; +App::$strings["Import Items"] = "Importuj elementy"; +App::$strings["Use this form to import existing posts and content from an export file."] = "Użyj tego formularza, aby zaimportować istniejÄ…ce posty i treść z pliku eksportu."; +App::$strings["Continue"] = "Kontynuj"; +App::$strings["Premium Channel Setup"] = "Konfiguracja kanaÅ‚u Premium"; +App::$strings["Enable premium channel connection restrictions"] = "Włącz ograniczenia połączeÅ„ z kanaÅ‚em premium"; +App::$strings["Please enter your restrictions or conditions, such as paypal receipt, usage guidelines, etc."] = "Podaj swoje ograniczenia lub warunki, takie jak pokwitowanie PayPal, wytyczne dotyczÄ…ce użytkowania itp."; +App::$strings["This channel may require additional steps or acknowledgement of the following conditions prior to connecting:"] = "Ten kanaÅ‚, przed podłączeniem, może wymagać dodatkowych kroków lub potwierdzenia nastÄ™pujÄ…cych warunków:"; +App::$strings["Potential connections will then see the following text before proceeding:"] = "Potencjalne połączenia zobaczÄ… nastÄ™pujÄ…cy tekst przed kontynuowaniem:"; +App::$strings["By continuing, I certify that I have complied with any instructions provided on this page."] = "KontynuujÄ…c, oÅ›wiadczam, że postÄ™powaÅ‚em zgodnie z instrukcjami podanymi na tej stronie."; +App::$strings["(No specific instructions have been provided by the channel owner.)"] = "(WÅ‚aÅ›ciciel kanaÅ‚u nie przekazaÅ‚ żadnych szczegółowych instrukcji.)"; +App::$strings["Restricted or Premium Channel"] = "KanaÅ‚ z ograniczeniami lub premium"; +App::$strings["You have created %1$.0f of %2$.0f allowed channels."] = "Utworzno %1$ .0f z %2$.0f dozwolonych kanałów."; +App::$strings["Your real name is recommended."] = "Zalecane jest podania prawdziwego imienia i nazwiska lub nazwy."; +App::$strings["Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"Aviation Group\""] = "PrzykÅ‚ady: \"Bob Jameson\", \"Lisa i jej konie\", \"PiÅ‚ka nożna\", \"Grupa lotnicza\""; +App::$strings["This will be used to create a unique network address (like an email address)."] = "Zostanie to zastosowane do utworzenia unikalnego adresu sieciowego (podobnego do adresu e-mail)."; +App::$strings["Allowed characters are a-z 0-9, - and _"] = "Dozwolone znaki, to a-z 0-9, - oraz _"; +App::$strings["Channel name"] = "Nazwa kanaÅ‚u"; +App::$strings["Choose a short nickname"] = "Wybierz krótki pseudonim"; +App::$strings["Channel role and privacy"] = "Rola kanaÅ‚u i prywatność"; +App::$strings["Select a channel permission role compatible with your usage needs and privacy requirements."] = "Wybierz rolÄ™ uprawnieÅ„ do kanaÅ‚u, zgodnÄ… z Twoimi potrzebami użytkowania i wymaganiami dotyczÄ…cymi prywatnoÅ›ci."; +App::$strings["Read more about channel permission roles"] = "Przeczytaj wiÄ™cej o rolach uprawnieÅ„ do kanaÅ‚u"; +App::$strings["Create a Channel"] = "Utwórz kanaÅ‚"; +App::$strings["A channel is a unique network identity. It can represent a person (social network profile), a forum (group), a business or celebrity page, a newsfeed, and many other things."] = "KanaÅ‚ to unikalna tożsamość sieciowa. Może reprezentować osobÄ™ (profil sieci spoÅ‚ecznoÅ›ciowej), forum (grupÄ™), stronÄ™ biznesowÄ… lub celebryckÄ…, kanaÅ‚ informacyjny i wiele innych rzeczy."; +App::$strings["or <a href=\"import\">import an existing channel</a> from another location."] = "lub <a href=\"import\">zaimportuj istniejÄ…cy kanaÅ‚</a> z innej lokalizacji."; +App::$strings["Validate"] = "Zalegalizuj"; +App::$strings["Available Apps"] = "DostÄ™pne aplikacje"; +App::$strings["Installed Apps"] = "Zainstalowane aplikacje"; +App::$strings["Manage Apps"] = "ZarzÄ…dzaj aplikacjami"; +App::$strings["Create Custom App"] = "Utwórz wÅ‚asnÄ… aplikacjÄ™"; +App::$strings["Account removals are not allowed within 48 hours of changing the account password."] = "UsuniÄ™cie konta nie jest dozwolone w ciÄ…gu 48 godzin od zmiany hasÅ‚a do konta."; +App::$strings["Remove This Account"] = "UsuÅ„ to konto"; +App::$strings["This account and all its channels will be completely removed from the network. "] = "To konto i wszystkie jego kanaÅ‚y zostanÄ… caÅ‚kowicie usuniÄ™te z sieci. "; +App::$strings["Remove Account"] = "UsuÅ„ konto"; +App::$strings["Deprecated!"] = "PrzestarzaÅ‚e!"; +App::$strings["Item not found."] = "Nie znaleziono elementu."; +App::$strings["File not found."] = "Nie znaleziono pliku."; +App::$strings["Permission Denied."] = "Odmowa dostÄ™pu."; +App::$strings["Edit file permissions"] = "Edytuj uprawnienia do plików"; +App::$strings["Permissions"] = "Uprawnienia"; +App::$strings["Set/edit permissions"] = "Ustaw/edytuj uprawnienia"; +App::$strings["Include all files and sub folders"] = "UwzglÄ™dnij wszystkie pliki i podfoldery"; +App::$strings["Return to file list"] = "Wróć do listy plików"; +App::$strings["Copy/paste this code to attach file to a post"] = "Skopiuj/wklej ten kod, aby dołączyć plik do postu"; +App::$strings["Copy/paste this URL to link file from a web page"] = "Skopiuj/wklej ten adres URL, aby zlinkować plik na stron internetowej"; +App::$strings["Share this file"] = "UdostÄ™pnij ten plik"; +App::$strings["Show URL to this file"] = "Pokaż adres URL do tego pliku"; +App::$strings["Show in your contacts shared folder"] = "Pokaż w folderze udostÄ™pnionym kontaktów"; +App::$strings["Item not found"] = "Nie znaleziono elementu"; +App::$strings["Insert web link"] = "Wstaw link internetowy"; +App::$strings["Title (optional)"] = "TytuÅ‚ (opcjonalnie)"; +App::$strings["Edit Card"] = "Edytuj kartÄ™"; +App::$strings["No connections."] = "Brak połączeÅ„."; +App::$strings["Accepts"] = "Akceptacje"; +App::$strings["Comments"] = "Komentarze"; +App::$strings["Stream items"] = "Elementy strumienia"; +App::$strings["Wall posts"] = "Åšciana postów"; +App::$strings["Nothing"] = "Nic"; +App::$strings["Visit %s's profile [%s]"] = "Odwiedź profil %s [%s]"; +App::$strings["View Connections"] = "Pokaż połączenia"; +App::$strings["Name and Secret are required"] = "Wymagane jest ustawienie imienia i sekretu"; +App::$strings["OAuth2 Apps Manager App"] = "Aplikacja OAuth2 Apps Manager"; +App::$strings["OAuth2 authenticatication tokens for mobile and remote apps"] = "Tokeny uwierzytelniajÄ…ce OAuth2 dla aplikacji mobilnych i zdalnych"; +App::$strings["Add OAuth2 application"] = "Dodaj aplikacjÄ™ OAuth2"; +App::$strings["Grant Types"] = "Rodzaje dofinansowaÅ„"; +App::$strings["leave blank unless your application sepcifically requires this"] = "pozostaw puste, chyba że Twoja aplikacja wyraźnie tego wymaga"; +App::$strings["Authorization scope"] = "Zakres uprawnieÅ„"; +App::$strings["OAuth2 Application not found."] = "Nie znaleziono aplikacji OAuth2."; +App::$strings["leave blank unless your application specifically requires this"] = "pozostaw puste, chyba że Twoja aplikacja wyraźnie tego wymaga"; +App::$strings["Connected OAuth2 Apps"] = "Aplikacje połączeń OAuth2"; +App::$strings["Profile Unavailable."] = "Profil niedostÄ™pny."; +App::$strings["Wiki App"] = "Aplikacja Wiki"; +App::$strings["Provide a wiki for your channel"] = "UdostÄ™pnij wiki dla swojego kanaÅ‚u"; +App::$strings["Invalid channel"] = "ZÅ‚y kanaÅ‚"; +App::$strings["Error retrieving wiki"] = "Błąd podczas pobierania wiki"; +App::$strings["Error creating zip file export folder"] = "Błąd podczas tworzenia folderu eksportu pliku ZIP"; +App::$strings["Error downloading wiki: "] = "Błąd podczas pobierania wiki: "; +App::$strings["Wikis"] = "Wiki"; +App::$strings["Download"] = "Pobierz"; +App::$strings["Wiki name"] = "Nazwa wiki"; +App::$strings["Content type"] = "Rodzaj treÅ›ci"; +App::$strings["Markdown"] = "Markdown"; +App::$strings["BBcode"] = "BBcode"; +App::$strings["Text"] = "Text"; +App::$strings["Type"] = "Rodzaj"; +App::$strings["Any type"] = "Dwolny rodzaj"; +App::$strings["Lock content type"] = "Zablokuj rodzaj treÅ›ci"; +App::$strings["Create a status post for this wiki"] = "Utwórz post statusu dla tego wiki"; +App::$strings["Edit Wiki Name"] = "Edytuj nazwÄ™ wiki"; +App::$strings["Wiki not found"] = "Nie znaleziono wiki"; +App::$strings["Rename page"] = "ZieÅ„ nazwÄ™ strony"; +App::$strings["Error retrieving page content"] = "Błąd podczas pobierania treÅ›ci strony"; +App::$strings["New page"] = "Nowa strona"; +App::$strings["Revision Comparison"] = "Porównanie wersji"; +App::$strings["Revert"] = "Odwróć"; +App::$strings["Short description of your changes (optional)"] = "Krótki opis zmian (opcjonalnie)"; +App::$strings["Source"] = "ŹródÅ‚o"; +App::$strings["New page name"] = "Nowa nazwa strony"; +App::$strings["Embed image from photo albums"] = "Osadź obraz z albumów fotograficznych"; +App::$strings["Embed an image from your albums"] = "Osadź obraz ze swoich albumów"; +App::$strings["OK"] = "Dobrze"; +App::$strings["Choose images to embed"] = "Wybierz zdjÄ™cie do osadzenia"; +App::$strings["Choose an album"] = "Wybierz album"; +App::$strings["Choose a different album"] = "Wybierz inny album"; +App::$strings["Error getting album list"] = "Błąd podczas pobierania listy albumów"; +App::$strings["Error getting photo link"] = "Błąd podczas pobierania linku do zdjÄ™cia"; +App::$strings["Error getting album"] = "Błąd podczas pobierania albumu"; +App::$strings["History"] = "Historia"; +App::$strings["Error creating wiki. Invalid name."] = "Błąd podczas tworzenia wiki. nieprawidÅ‚owa nazwa."; +App::$strings["A wiki with this name already exists."] = "Wiki o tej nazwie już istnieje."; +App::$strings["Wiki created, but error creating Home page."] = "Utworzono wiki, ale podczas tworzenia strony głównej wystÄ…piÅ‚ błąd."; +App::$strings["Error creating wiki"] = "Błąd podczas tworzenia wiki"; +App::$strings["Error updating wiki. Invalid name."] = "Błąd podczas aktualizowania wiki. Błędna nazwa."; +App::$strings["Error updating wiki"] = "Błąd podczas aktualizowania wiki"; +App::$strings["Wiki delete permission denied."] = "Odmowa pozwolenia na usuniÄ™cie Wiki."; +App::$strings["Error deleting wiki"] = "Błąd podczas usuwania wiki"; +App::$strings["New page created"] = "Utworzono nowÄ… stronÄ™"; +App::$strings["Cannot delete Home"] = "Nie można usunąć strony głównej"; +App::$strings["Current Revision"] = "Bieżąca wersja"; +App::$strings["Selected Revision"] = "Wybrana wersja"; +App::$strings["You must be authenticated."] = "Trzeba być uwierzytelnionym."; +App::$strings["Block Name"] = "Nazwa bloku"; +App::$strings["Blocks"] = "Bloki"; +App::$strings["Block Title"] = "TytuÅ‚ bloku"; +App::$strings["Entry censored"] = "Wpis ocenzurowany"; +App::$strings["Entry uncensored"] = "Wpis nieocenzurowany"; +App::$strings["Location not found."] = "Nie znaleziono lokalizacjid."; +App::$strings["Location lookup failed."] = "Wyszukiwanie lokalizacji nie powiodÅ‚o siÄ™."; +App::$strings["Please select another location to become primary before removing the primary location."] = "Przed usuniÄ™ciem lokalizacji podstawowej wybierz innÄ… lokalizacjÄ™ jako głównÄ…."; +App::$strings["Syncing locations"] = "SynchronizujÄ™ lokalizacje"; +App::$strings["No locations found."] = "Nie znaleziono żadnych lokalizacji."; +App::$strings["Manage Channel Locations"] = "ZarzÄ…dzaj lokalizacjami kanałów"; +App::$strings["Primary"] = "Podstawowy"; +App::$strings["Drop"] = "Upuść"; +App::$strings["Sync Now"] = "Synchronizuj teraz"; +App::$strings["Please wait several minutes between consecutive operations."] = "Poczekaj kilka minut miÄ™dzy kolejnymi operacjami."; +App::$strings["When possible, drop a location by logging into that website/hub and removing your channel."] = "JeÅ›li to możliwe, upuść lokalizacjÄ™, logujÄ…c siÄ™ do tego huba i usuwajÄ…c swój kanaÅ‚."; +App::$strings["Use this form to drop the location if the hub is no longer operating."] = "Użyj tego formularza, aby usunąć lokalizacjÄ™, jeÅ›li hub już nie dziaÅ‚a."; +App::$strings["Away"] = "Z dala"; +App::$strings["Online"] = "Na linii"; +App::$strings["Photos"] = "ZdjÄ™cia"; +App::$strings["Files"] = "Pliki"; +App::$strings["Could not locate selected profile."] = "Nie udaÅ‚o siÄ™ znaleźć wybranego profilu."; +App::$strings["Connection updated."] = "Zaktualizowano połączenie."; +App::$strings["Failed to update connection record."] = "Nie udaÅ‚o siÄ™ zaktualizować rekordu połączenia."; +App::$strings["is now connected to"] = "jest teraz połączony z"; +App::$strings["Could not access address book record."] = "Nie można uzyskać dostÄ™pu do rekordu książki adresowej."; +App::$strings["Refresh failed - channel is currently unavailable."] = "OdÅ›wieżenie nie powiodÅ‚o siÄ™ - kanaÅ‚ jest obecnie niedostÄ™pny."; +App::$strings["Unable to set address book parameters."] = "Nie można ustawić parametrów książki adresowej."; +App::$strings["Connection has been removed."] = "Połączenie zostaÅ‚o usuniÄ™te."; +App::$strings["View Profile"] = "WyÅ›wietl profil"; +App::$strings["View %s's profile"] = "WyÅ›wietl profil %s"; +App::$strings["Refresh Permissions"] = "OdÅ›wież uprawnienia"; +App::$strings["Fetch updated permissions"] = "Pobierz zaktualizowane uprawnienia"; +App::$strings["Refresh Photo"] = "OdÅ›wież zdjÄ™cie"; +App::$strings["Fetch updated photo"] = "Pobierz zaktualizowane zdjÄ™cie"; +App::$strings["Recent Activity"] = "Ostatnia aktywność"; +App::$strings["View recent posts and comments"] = "WyÅ›wietl najnowsze posty i komentarze"; +App::$strings["Unblock"] = "Odblokuj"; +App::$strings["Block"] = "Zablokuj"; +App::$strings["Block (or Unblock) all communications with this connection"] = "Zablokuj (lub odblokuj) całą komunikacjÄ™ z tym połączeniem"; +App::$strings["This connection is blocked!"] = "To połączenie jest zablokowane!"; +App::$strings["Unignore"] = "Nie ignoruj"; +App::$strings["Ignore"] = "Ignoruj"; +App::$strings["Ignore (or Unignore) all inbound communications from this connection"] = "Ignoruj (lub przywróć) całą komunikacjÄ™ przychodzÄ…cÄ… z tego połączenia"; +App::$strings["This connection is ignored!"] = "To połączenie jest ignorowane!"; +App::$strings["Unarchive"] = "Przywróć z archiwum"; +App::$strings["Archive"] = "Archiwizuj"; +App::$strings["Archive (or Unarchive) this connection - mark channel dead but keep content"] = "Archiwizuj (lub przywróć) to połączenie - zaznacz kanaÅ‚ jako martwy, ale zachowaj zawartość"; +App::$strings["This connection is archived!"] = "To połączenie zostaÅ‚o zarchiwizowane!"; +App::$strings["Unhide"] = "Odkryj"; +App::$strings["Hide"] = "Ukryj"; +App::$strings["Hide or Unhide this connection from your other connections"] = "Ukryj lub odkryj to połączenie przed innymi kontaktami"; +App::$strings["This connection is hidden!"] = "To połączenie jest ukryte!"; +App::$strings["Delete this connection"] = "UsuÅ„ to połączenie"; +App::$strings["Fetch Vcard"] = "Pobierz Vcard"; +App::$strings["Fetch electronic calling card for this connection"] = "Pobierz elektronicznÄ… kartÄ™ telefonicznÄ… dla tego połączenia"; +App::$strings["Open Individual Permissions section by default"] = "Otwórz domyÅ›lnie sekcjÄ™ Uprawnienia indywidualne"; +App::$strings["Affinity"] = "Koligacja"; +App::$strings["Open Set Affinity section by default"] = "Otwieraj domyÅ›lnie sekcjÄ™ Ustaw koligacjÄ™"; +App::$strings["Me"] = "Ja"; +App::$strings["Family"] = "Rodzina"; +App::$strings["Friends"] = "Przyjaciele"; +App::$strings["Acquaintances"] = "Znajomi"; +App::$strings["All"] = "Wszyscy"; +App::$strings["Filter"] = "Filtr"; +App::$strings["Open Custom Filter section by default"] = "Otwieraj domyÅ›lnie sekcjÄ™ Filtr niestandardowy"; +App::$strings["Approve this connection"] = "Zatwierdź to połączenie"; +App::$strings["Accept connection to allow communication"] = "Zaakceptuj połączenie, aby umożliwić komunikacjÄ™"; +App::$strings["Set Affinity"] = "Ustaw skoligacenie"; +App::$strings["Set Profile"] = "Ustaw profil"; +App::$strings["Set Affinity & Profile"] = "Ustaw skoligacenie i profil"; +App::$strings["This connection is unreachable from this location."] = "To połączenie jest nieosiÄ…galne z tej lokalizacji."; +App::$strings["This connection may be unreachable from other channel locations."] = "To połączenie może być nieosiÄ…galne z innych lokalizacji kanaÅ‚u."; +App::$strings["Location independence is not supported by their network."] = "Niezależność lokalizacji nie jest obsÅ‚ugiwana przez ich sieć."; +App::$strings["This connection is unreachable from this location. Location independence is not supported by their network."] = "To połączenie jest nieosiÄ…galne z tej lokalizacji. Niezależność lokalizacji nie jest obsÅ‚ugiwana przez ich sieć."; +App::$strings["Connection: %s"] = "Połączenie: %s"; +App::$strings["Connection requests will be approved without your interaction"] = "ProÅ›by o połączenie zostanÄ… zatwierdzone bez Twojej interakcji"; +App::$strings["This connection's primary address is"] = "Podstawowy adres tego połączenia to"; +App::$strings["Available locations:"] = "DostÄ™pne lokalizacje:"; +App::$strings["Connection Tools"] = "NarzÄ™dzia połączeÅ„"; +App::$strings["Slide to adjust your degree of friendship"] = "PrzesuÅ„, aby dostosować stopieÅ„ przyjaźni"; +App::$strings["Rating"] = "Ocena"; +App::$strings["Slide to adjust your rating"] = "PrzesuÅ„, aby dostosować swojÄ… ocenÄ™"; +App::$strings["Optionally explain your rating"] = "Ewentualnie wyjaÅ›nij swojÄ… ocenÄ™"; +App::$strings["Custom Filter"] = "WÅ‚asny filtr"; +App::$strings["Only import posts with this text"] = "Importuj tylko posty z tym tekstem"; +App::$strings["words one per line or #tags or /patterns/ or lang=xx, leave blank to import all posts"] = "sÅ‚owa po jednym w wierszu lub #tags lub /patterns/ lub lang=xx, pozostaw puste, aby zaimportować wszystkie posty"; +App::$strings["Do not import posts with this text"] = "Nie importuj postów z tym tekstem"; +App::$strings["This information is public!"] = "Ta informacja jest publiczna!"; +App::$strings["Connection Pending Approval"] = "Połączenie oczekujÄ…ce na zatwierdzenie"; +App::$strings["Please choose the profile you would like to display to %s when viewing your profile securely."] = "Wybierz profil, który chcesz wyÅ›wietlić dla %s, podczas bezpiecznego przeglÄ…dania swojego profilu."; +App::$strings["Their Settings"] = "Ich ustawienia"; +App::$strings["Some permissions may be inherited from your channel's <a href=\"settings\"><strong>privacy settings</strong></a>, which have higher priority than individual settings. You can <strong>not</strong> change those settings here."] = "Niektóre uprawnienia mogÄ… być dziedziczone z <a href=\"settings\"><strong>ustawieÅ„ prywatnoÅ›ci</strong></a> Twojego kanaÅ‚u, które majÄ… wyższy priorytet niż indywidualne ustawienia. <strong>Nie możesz</strong> tutaj zmienić tych ustawieÅ„."; +App::$strings["Some permissions may be inherited from your channel's <a href=\"settings\"><strong>privacy settings</strong></a>, which have higher priority than individual settings. You can change those settings here but they wont have any impact unless the inherited setting changes."] = "Niektóre uprawnienia mogÄ… być dziedziczone z <a href=\"settings\"><strong>ustawieÅ„ prywatnoÅ›ci</strong></a> Twojego kanaÅ‚u, te które majÄ… wyższy priorytet niż indywidualne ustawienia. Możesz zmienić te ustawienia tutaj, ale nie bÄ™dÄ… one miaÅ‚y żadnego wpÅ‚ywu, chyba że odziedziczone ustawienie ulegnie zmianie."; +App::$strings["Last update:"] = "Ostatnia aktualizacja:"; +App::$strings["Details"] = "Szczegóły"; +App::$strings["Image uploaded but image cropping failed."] = "Obraz zostaÅ‚ przesÅ‚any, ale przycinanie obrazu nie powiodÅ‚o siÄ™."; +App::$strings["Profile Photos"] = "ZdjÄ™cia profilowe"; +App::$strings["Image resize failed."] = "Zmiana rozmiaru obrazu nie powiodÅ‚a siÄ™."; +App::$strings["Shift-reload the page or clear browser cache if the new photo does not display immediately."] = "Shift-przeÅ‚aduj stronÄ™ lub wyczyść pamięć podrÄ™cznÄ… przeglÄ…darki, jeÅ›li nowe zdjÄ™cie nie zostanie wyÅ›wietlone od razu."; +App::$strings["Unable to process image"] = "Nie można przetworzyć obrazu"; +App::$strings["Image upload failed."] = "PrzesyÅ‚anie obrazu nie powiodÅ‚o siÄ™."; +App::$strings["Unable to process image."] = "Nie można przetworzyć obrazu."; +App::$strings["Photo not available."] = "ZdjÄ™cie nie jest dostÄ™pne."; +App::$strings["Your default profile photo is visible to anybody on the internet. Profile photos for alternate profiles will inherit the permissions of the profile"] = "Twoje domyÅ›lne zdjÄ™cie profilowe jest widoczne dla każdego w internecie. ZdjÄ™cia profilowe dla profili alternatywnych odziedziczÄ… uprawnienia profilu"; +App::$strings["Your profile photo is visible to anybody on the internet and may be distributed to other websites."] = "Twoje zdjÄ™cie profilowe jest widoczne dla każdego w internecie i może być rozpowszechniane na innych stronach internetowych."; +App::$strings["Upload File:"] = "PrzesÅ‚anie pliku:"; +App::$strings["Select a profile:"] = "Wybierz profil:"; +App::$strings["Use Photo for Profile"] = "Użyj zdjÄ™cia do profilu"; +App::$strings["Change Profile Photo"] = "ZmieÅ„ zdjÄ™cie profilowe"; +App::$strings["Use"] = "Użyj"; +App::$strings["Upload"] = "PrzeÅ›lij"; +App::$strings["Remove"] = "UsuÅ„"; +App::$strings["Use a photo from your albums"] = "Użyj zdjÄ™cia ze swoich albumów"; +App::$strings["Select existing photo"] = "Wybierz istniejÄ…ce zdjÄ™cie"; +App::$strings["Crop Image"] = "Przytnij zdjÄ™cie"; +App::$strings["Please adjust the image cropping for optimum viewing."] = "Dostosuj kadrowanie obrazu, aby uzyskać optymalne wyÅ›wietlanie."; +App::$strings["Done Editing"] = "ZakoÅ„czono edycjÄ™"; +App::$strings["Files: shared with me"] = "Pliki: udostÄ™pnione mi"; +App::$strings["NEW"] = "NOWY"; +App::$strings["Size"] = "Rozmiar"; +App::$strings["Last Modified"] = "Ostatnio zmodyfikowane"; +App::$strings["Remove all files"] = "UsuÅ„ wszystkie pliki"; +App::$strings["Remove this file"] = "UsuÅ„ ten plik"; +App::$strings["Edit Layout"] = "Edytuj ukÅ‚ad"; +App::$strings["Create a new channel"] = "Utwórz nowy kanaÅ‚"; +App::$strings["Channel Manager"] = "Menadżer kanałów"; +App::$strings["Current Channel"] = "Bieżący kanaÅ‚"; +App::$strings["Switch to one of your channels by selecting it."] = "Przełącz siÄ™ na jeden ze swoich kanałów, wybierajÄ…c go."; +App::$strings["Default Channel"] = "DomyÅ›lny kanaÅ‚"; +App::$strings["Make Default"] = "Ustaw jako domyÅ›lny"; +App::$strings["%d new messages"] = "%d nowych wiadomoÅ›ci"; +App::$strings["%d new introductions"] = "%d nowych wprowadzeÅ„"; +App::$strings["Delegated Channel"] = "Deleguj kanaÅ‚"; +App::$strings["Connection added."] = "Dodano połączenie."; +App::$strings["Unable to locate original post."] = "Nie można znaleźć oryginalnego postu."; +App::$strings["Empty post discarded."] = "Pusty post zostaÅ‚ odrzucony."; +App::$strings["Duplicate post suppressed."] = "Powielony post zostaÅ‚ wyłączony."; +App::$strings["System error. Post not saved."] = "Błąd systemu. Post nie zostaÅ‚ zapisany."; +App::$strings["Your comment is awaiting approval."] = "Twój komentarz oczekuje na zatwierdzenie."; +App::$strings["Unable to obtain post information from database."] = "Nie można uzyskać z bazy danych informacji o tym poÅ›cie."; +App::$strings["You have reached your limit of %1$.0f top level posts."] = "OsiÄ…gniÄ™ty zostaÅ‚ limit %1$.0f postów najwyższego poziomu."; +App::$strings["You have reached your limit of %1$.0f webpages."] = "OsiÄ…gniÄ™ty zostaÅ‚ limit %1$.0f stron internetowych."; +App::$strings["Website:"] = "Serwis internetowy:"; +App::$strings["Remote Channel [%s] (not yet known on this site)"] = "KanaÅ‚ zdalny [% s] (jeszcze nieznany w tym serwisie)"; +App::$strings["Rating (this information is public)"] = "Ocena (ta informacja jest publiczna)"; +App::$strings["Optionally explain your rating (this information is public)"] = "Ewentualnie wyjaÅ›nij swojÄ… ocenÄ™ (ta informacja jest publiczna)"; +App::$strings["Invalid item."] = "NieprawidÅ‚owy element."; +App::$strings["Page not found."] = "Nie znaleziono strony."; +App::$strings["Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."] = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."; +App::$strings["Xchan Lookup"] = "Wyszukiwanie xchan"; +App::$strings["Lookup xchan beginning with (or webbie): "] = "Wyszukaj xchan (lub webbie) zaczynajÄ…c od: "; +App::$strings["Not found."] = "Nie znaleziono."; +App::$strings["Some blurb about what to do when you're new here"] = "Kilka uwag o tym, co robisz, gdy jesteÅ› tu nowy"; +App::$strings["%1\$s is following %2\$s's %3\$s"] = "%1\$s obserwuje %3\$s %2\$s"; +App::$strings["%1\$s stopped following %2\$s's %3\$s"] = "%1\$s przestaÅ‚ obserwować %3\$s %2\$s"; +App::$strings["Please login."] = "ProszÄ™ siÄ™ zalogować."; +App::$strings["Edit Block"] = "Edytuj blok"; +App::$strings["webpage"] = "strona internetowa"; +App::$strings["block"] = "blok"; +App::$strings["layout"] = "ukÅ‚ad"; +App::$strings["menu"] = "menu"; +App::$strings["%s element installed"] = "Element %s zainstalowany"; +App::$strings["%s element installation failed"] = "Instalacja elementu %s nie powiodÅ‚a siÄ™"; +App::$strings["Public Hubs"] = "Huby publiczne"; +App::$strings["The listed hubs allow public registration for the \$Projectname network. All hubs in the network are interlinked so membership on any of them conveys membership in the network as a whole. Some hubs may require subscription or provide tiered service plans. The hub itself <strong>may</strong> provide additional details."] = "Wymienione huby umożliwiajÄ… publicznÄ… rejestracjÄ™ w sieci \$Projectname. Wszystkie huby w sieci sÄ… ze sobÄ… połączone, wiÄ™c czÅ‚onkostwo w którymkolwiek z nich oznacza czÅ‚onkostwo w caÅ‚ej sieci. Niektóre huby mogÄ… wymagać subskrypcji lub oferować warstwowe plany usÅ‚ug. Sam hub <strong> może </strong> podać dodatkowe szczegóły."; +App::$strings["Hub URL"] = "Adres URL huba"; +App::$strings["Access Type"] = "Typ dostÄ™pu"; +App::$strings["Registration Policy"] = "Zasady rejestracji"; +App::$strings["Stats"] = "Statystyki"; +App::$strings["Software"] = "Oprogramowanie"; +App::$strings["Ratings"] = "Oceny"; +App::$strings["Rate"] = "Ocena"; +App::$strings["You must be logged in to see this page."] = "Musisz być zalogowany, aby zobaczyć tÄ™ stronÄ™."; +App::$strings["Chatrooms App"] = "Aplikacja Chatrooms"; +App::$strings["Access Controlled Chatrooms"] = "DostÄ™p do kontrolowanych czatów"; +App::$strings["Room not found"] = "Nie znaleziono pokoju"; +App::$strings["Leave Room"] = "Opuść pokój"; +App::$strings["Delete Room"] = "UsuÅ„ pokój"; +App::$strings["I am away right now"] = "Nie ma mnie teraz"; +App::$strings["I am online"] = "Jestem dostÄ™pny"; +App::$strings["Bookmark this room"] = "Zaznacz ten pokój"; +App::$strings["Please enter a link URL:"] = "ProszÄ™ wprowadzić adres URL linku:"; +App::$strings["Encrypt text"] = "Szyfruj tekst"; +App::$strings["New Chatroom"] = "Nowy czat"; +App::$strings["Chatroom name"] = "Nazwa czatu"; +App::$strings["Expiration of chats (minutes)"] = "WygaÅ›niÄ™cie czatów (minuty)"; +App::$strings["%1\$s's Chatrooms"] = "Czaty %1\$s"; +App::$strings["No chatrooms available"] = "Brak dostÄ™pnych czatów"; +App::$strings["Expiration"] = "WygaÅ›niÄ™cie"; +App::$strings["min"] = "min"; +App::$strings["Channel Export App"] = "Aplikacja Channel Export"; +App::$strings["Export your channel"] = "Wyeksportuj swój kanaÅ‚"; +App::$strings["Export Channel"] = "Eksport kanaÅ‚u"; +App::$strings["Export your basic channel information to a file. This acts as a backup of your connections, permissions, profile and basic data, which can be used to import your data to a new server hub, but does not contain your content."] = "Wyeksportuj do pliku podstawowe informacje o kanale. DziaÅ‚a to jako kopia zapasowa połączeÅ„, uprawnieÅ„, profilu i podstawowych danych, których można użyć do zaimportowania danych do nowego huba, ale nie zawiera treÅ›ci."; +App::$strings["Export Content"] = "Eksport treÅ›ci"; +App::$strings["Export your channel information and recent content to a JSON backup that can be restored or imported to another server hub. This backs up all of your connections, permissions, profile data and several months of posts. This file may be VERY large. Please be patient - it may take several minutes for this download to begin."] = "Wyeksportuj informacje o kanale i najnowsze treÅ›ci do kopii zapasowej JSON, którÄ… można przywrócić lub zaimportować do innego huba. Tworzy to kopie zapasowe wszystkich połączeÅ„, uprawnieÅ„, danych profilu i kilku miesiÄ™cy postów. Ten plik może być BARDZO duży. Prosimy o cierpliwość - rozpoczÄ™cie pobierania może zająć kilka minut."; +App::$strings["Export your posts from a given year."] = "Eksportuj swoje posty z danego roku."; +App::$strings["You may also export your posts and conversations for a particular year or month. Adjust the date in your browser location bar to select other dates. If the export fails (possibly due to memory exhaustion on your server hub), please try again selecting a more limited date range."] = "Można także wyeksportować swoje posty i rozmowy z okreÅ›lonego rok lub miesiÄ…ca. Dostosuj datÄ™ na pasku adresu przeglÄ…darki, aby wybrać inne daty. JeÅ›li eksport siÄ™ nie powiedzie (prawdopodobnie z powodu wyczerpania pamiÄ™ci w serwera huba), spróbuj ponownie, wybierajÄ…c bardziej ograniczony zakres dat."; +App::$strings["To select all posts for a given year, such as this year, visit <a href=\"%1\$s\">%2\$s</a>"] = "Aby wybrać wszystkie posty z danego roku, na przykÅ‚ad tego roku, odwiedź <a href=\"%1\$s\">%2\$s</a>"; +App::$strings["To select all posts for a given month, such as January of this year, visit <a href=\"%1\$s\">%2\$s</a>"] = "Aby wybrać wszystkie posty z danego miesiÄ…ca, np. stycznia tego roku, odwiedź <a href=\"%1\$s\">%2\$s</a>"; +App::$strings["These content files may be imported or restored by visiting <a href=\"%1\$s\">%2\$s</a> on any site containing your channel. For best results please import or restore these in date order (oldest first)."] = "Te pliki treÅ›ci można zaimportować lub przywrócić, odwiedzajÄ…c stronÄ™ <a href=\"%1\$s\">%2\$s</a> w dowolnym serwisie zawierajÄ…cym Twój kanaÅ‚. Aby uzyskać najlepsze wyniki, zaimportuj lub przywróć je w kolejnoÅ›ci (od najstarszych)."; +App::$strings["No valid account found."] = "Nie znaleziono prawidÅ‚owego konta."; +App::$strings["Password reset request issued. Check your email."] = "WysÅ‚ano proÅ›bÄ™ o zresetowanie hasÅ‚a. Sprawdź swojÄ… skrzynkÄ™ e-mail."; +App::$strings["Site Member (%s)"] = "CzÅ‚onek serwisu (%s)"; +App::$strings["Password reset requested at %s"] = "Zresetowano hasÅ‚o na %s"; +App::$strings["Request could not be verified. (You may have previously submitted it.) Password reset failed."] = "Nie można zweryfikować żądania. (Możliwe, że zostaÅ‚o już przesÅ‚ane). Resetowanie hasÅ‚a nie powiodÅ‚o siÄ™."; +App::$strings["Password Reset"] = "Resetowanie hasÅ‚a"; +App::$strings["Your password has been reset as requested."] = "Twoje hasÅ‚o zostaÅ‚o zresetowane zgodnie z żądaniem."; +App::$strings["Your new password is"] = "Twoje nowe hasÅ‚o to"; +App::$strings["Save or copy your new password - and then"] = "Zapisz lub skopiuj nowe hasÅ‚o - a nastÄ™pnie"; +App::$strings["click here to login"] = "kliknij tutaj aby siÄ™ zalogować"; +App::$strings["Your password may be changed from the <em>Settings</em> page after successful login."] = "Twoje hasÅ‚o może zostać zmienione na stronie <em>Ustawienia</em> po pomyÅ›lnym zalogowaniu."; +App::$strings["Your password has changed at %s"] = "Twoje hasÅ‚o zostaÅ‚o zmienione na %s"; +App::$strings["Forgot your Password?"] = "ZapomniaÅ‚eÅ› hasÅ‚a?"; +App::$strings["Enter your email address and submit to have your password reset. Then check your email for further instructions."] = "Wpisz swój adres e-mail i przeÅ›lij, aby zresetować hasÅ‚o. NastÄ™pnie sprawdź swoja skrzynkÄ™ e-mail, aby uzyskać dalsze instrukcje."; +App::$strings["Email Address"] = "Adres e-mail"; +App::$strings["Poll not found."] = "Nie znaleziono ankiety."; +App::$strings["Invalid response."] = "NieprawidÅ‚owa odpowiedź."; +App::$strings["Response submitted. Updates may not appear instantly."] = "Odpowiedź przesÅ‚ana. Aktualizacje mogÄ… nie pojawiać siÄ™ natychmiast."; +App::$strings["sent you a private message"] = "wysÅ‚aÅ‚ Ci prywatnÄ… wiadomość"; +App::$strings["added your channel"] = "dodaÅ‚ Twój kanaÅ‚"; +App::$strings["requires approval"] = "wymaga zatwierdzenia"; +App::$strings["g A l F d"] = "g A l F d"; +App::$strings["[today]"] = "[dzisiaj]"; +App::$strings["posted an event"] = "opublikowaÅ‚ wydarzenie"; +App::$strings["shared a file with you"] = "udostÄ™pniÅ‚ Ci plik"; +App::$strings["You must enable javascript for your browser to be able to view this content."] = "Aby przeglÄ…dać te treÅ›ci, musisz włączyć obsÅ‚ugÄ™ JavaScript w swojej przeglÄ…darce."; +App::$strings["Article"] = "ArtykuÅ‚"; +App::$strings["Item has been removed."] = "Element zostaÅ‚ usuniÄ™ty."; +App::$strings["Accounts"] = "Konta"; +App::$strings["Blocked accounts"] = "Zablokowane konta"; +App::$strings["Expired accounts"] = "WygasÅ‚e konta"; +App::$strings["Expiring accounts"] = "WygasajÄ…ce konta"; +App::$strings["Channels"] = "KanaÅ‚y"; +App::$strings["Message queues"] = "Kolejki wiadomoÅ›ci"; +App::$strings["Your software should be updated"] = "Twoje oprogramowanie powinno zostać zaktualizowane"; +App::$strings["Administration"] = "Administracja"; +App::$strings["Summary"] = "Posumowanie"; +App::$strings["Registered accounts"] = "Zarejestrowane konta"; +App::$strings["Pending registrations"] = "Rejestracja oczekujÄ…ca"; +App::$strings["Registered channels"] = "Zarejestrowane kanaÅ‚y"; +App::$strings["Active addons"] = "Aktywne dodatki"; +App::$strings["Version"] = "Wersja"; +App::$strings["Repository version (master)"] = "Wersja repozytorium (master)"; +App::$strings["Repository version (dev)"] = "Wersja repozytorium (dev)"; +App::$strings["Page owner information could not be retrieved."] = "Nie można pobrać informacji o wÅ‚aÅ›cicielu strony."; +App::$strings["Album not found."] = "Nie znaleziono albumu."; +App::$strings["Delete Album"] = "UsuÅ„ album"; +App::$strings["Delete Photo"] = "UsuÅ„ zdjÄ™cie"; +App::$strings["No photos selected"] = "Nie wybrano zdjęć"; +App::$strings["Access to this item is restricted."] = "DostÄ™p do tego elementu jest ograniczony."; +App::$strings["%1$.2f MB of %2$.2f MB photo storage used."] = "Wykorzystane miejsce na zdjÄ™cia: %1$.2f MB z %2$.2f MB."; +App::$strings["%1$.2f MB photo storage used."] = "Wykorzystane miejsce na zdjÄ™cia: %1$.2f MB."; +App::$strings["Upload Photos"] = "PrzeÅ›lij zdjÄ™cia"; +App::$strings["Enter an album name"] = "Wpisz nazwÄ™ albumu"; +App::$strings["or select an existing album (doubleclick)"] = "lub wybierz istniejÄ…cy album (podwójne klikniÄ™cie)"; +App::$strings["Create a status post for this upload"] = "Utwórz post o stanie tego przesyÅ‚ania"; +App::$strings["Description (optional)"] = "Opis (opcjonalnie)"; +App::$strings["Show Newest First"] = "Pokaż najpierw najnowsze"; +App::$strings["Show Oldest First"] = "Pokaż najpierw najstarsze"; +App::$strings["View Photo"] = "Zobacz zdjÄ™cie"; +App::$strings["Unknown"] = "Nieznane"; +App::$strings["Edit Album"] = "Edytuj album"; +App::$strings["Add Photos"] = "Dodaj zdjÄ™cia"; +App::$strings["Permission denied. Access to this item may be restricted."] = "Odmowa dostęþu. DostÄ™p do tej pozycji może być ograniczony."; +App::$strings["Photo not available"] = "ZdjÄ™cie niedostÄ™pne"; +App::$strings["Use as profile photo"] = "Użyj jako zdjÄ™cie profilowe"; +App::$strings["Use as cover photo"] = "Użyj jako zdjÄ™cia okÅ‚adkowe"; +App::$strings["Private Photo"] = "ZdjÄ™cie prywatne"; +App::$strings["View Full Size"] = "Zobacz peÅ‚ny rozmiar"; +App::$strings["Edit photo"] = "Edutuj zdjÄ™cie"; +App::$strings["Rotate CW (right)"] = "Obróć w prawo"; +App::$strings["Rotate CCW (left)"] = "Obróć w lewo"; +App::$strings["Move photo to album"] = "PrzenieÅ› zdjÄ™cie do albumu"; +App::$strings["Enter a new album name"] = "Wpisz nowÄ… nazwÄ™ albumu"; +App::$strings["or select an existing one (doubleclick)"] = "lub wybierz istniejÄ…cy (podwójne klikniÄ™cie)"; +App::$strings["Add a Tag"] = "Dodaj tag"; +App::$strings["Example: @bob, @Barbara_Jensen, @jim@example.com"] = "PrzykÅ‚ad: @bob, @Barbara_Jensen, @jim@example.com"; +App::$strings["Flag as adult in album view"] = "Oznacz jako \"dla dorosÅ‚ych\" w widoku albumu"; +App::$strings["I like this (toggle)"] = "LubiÄ™ to (przełącz)"; +App::$strings["I don't like this (toggle)"] = "Nie podoba mi siÄ™ to (przełącz)"; +App::$strings["Please wait"] = "ProszÄ™ czekać"; +App::$strings["This is you"] = "To jesteÅ› ty"; +App::$strings["Comment"] = "Komentarz"; +App::$strings["__ctx:title__ Likes"] = "Polubienia"; +App::$strings["__ctx:title__ Dislikes"] = "Dezaprobaty"; +App::$strings["__ctx:title__ Agree"] = "Zgoda"; +App::$strings["__ctx:title__ Disagree"] = "Sprzeciw"; +App::$strings["__ctx:title__ Abstain"] = "WstrzymujÄ™ siÄ™"; +App::$strings["__ctx:title__ Attending"] = "UczestniczÄ™"; +App::$strings["__ctx:title__ Not attending"] = "Nie uczestniczÄ™"; +App::$strings["__ctx:title__ Might attend"] = "MogÄ™ uczestniczyć"; +App::$strings["View all"] = "Pokaż wszystkie"; +App::$strings["__ctx:noun__ Like"] = array( + 0 => "Lubi", + 1 => "LubiÄ…", + 2 => "Lubi", +); +App::$strings["__ctx:noun__ Dislike"] = array( + 0 => "Nie lubi", + 1 => "Nie lubiÄ…", + 2 => "Nie lubi", +); +App::$strings["Photo Tools"] = "NarzÄ™dzia fotograficzne"; +App::$strings["In This Photo:"] = "Na tym zdjÄ™ciu:"; +App::$strings["Map"] = "Mapa"; +App::$strings["__ctx:noun__ Likes"] = "Polubienia"; +App::$strings["__ctx:noun__ Dislikes"] = "Dezaprobaty"; +App::$strings["Close"] = "ZamkniÄ™te"; +App::$strings["Recent Photos"] = "Najnowsze zdjÄ™cia"; +App::$strings["Posts and comments"] = "Posty i komentarze"; +App::$strings["Only posts"] = "Tylko posty"; +App::$strings["Insufficient permissions. Request redirected to profile page."] = "NiewystarczajÄ…ce uprawnienia. Żądanie zostaÅ‚o przekierowane na stronÄ™ profilu."; +App::$strings["Search Results For:"] = "Wyniki wyszukiwania dla:"; +App::$strings["Cards App"] = "Aplikacja Cards"; +App::$strings["Create personal planning cards"] = "Twórz osobiste karty planowania"; +App::$strings["Add Card"] = "Dodaj kartÄ™"; +App::$strings["Cards"] = "Karty"; +App::$strings["This page is available only to site members"] = "Ta strona jest dostÄ™pna tylko dla czÅ‚onków serwisu"; +App::$strings["Welcome"] = "Witamy"; +App::$strings["What would you like to do?"] = "Co chciaÅ‚byÅ› zrobić?"; +App::$strings["Please bookmark this page if you would like to return to it in the future"] = "Dodaj tÄ™ stronÄ™ do zakÅ‚adek, jeÅ›li chcesz wrócić do niej w przyszÅ‚oÅ›ci"; +App::$strings["Upload a profile photo"] = "PrzeÅ›lij zdjÄ™cie profilowe"; +App::$strings["Upload a cover photo"] = "PrzeÅ›lij zdjÄ™cie na okÅ‚adkÄ™"; +App::$strings["Edit your default profile"] = "Edytuj swój domyÅ›lny profil"; +App::$strings["View friend suggestions"] = "Zobacz propozycje znajomoÅ›ci"; +App::$strings["View the channel directory"] = "WyÅ›wietl katalog kanałów"; +App::$strings["View/edit your channel settings"] = "WyÅ›wietl/edytuj ustawienia swojego kanaÅ‚u"; +App::$strings["View the site or project documentation"] = "WyÅ›wietl witrynÄ™ lub dokumentacjÄ™ projektu"; +App::$strings["Visit your channel homepage"] = "Odwiedź stronÄ™ głównÄ… swojego kanaÅ‚u"; +App::$strings["View your connections and/or add somebody whose address you already know"] = "WyÅ›wietl swoje kontakty albo dodaj osobÄ™, której adres już znasz"; +App::$strings["View your personal stream (this may be empty until you add some connections)"] = "WyÅ›wietl swój osobisty strumieÅ„ (może być pusty, dopóki nie dodasz niektórych połączeÅ„)"; +App::$strings["View the public stream. Warning: this content is not moderated"] = "WyÅ›wietl strumieÅ„ publiczny. Ostrzeżenie: ta zawartość nie jest moderowana"; +App::$strings["Active"] = "Aktywny"; +App::$strings["Blocked"] = "Zablokowany"; +App::$strings["Ignored"] = "Ignorowany"; +App::$strings["Hidden"] = "Ukryty"; +App::$strings["Archived/Unreachable"] = "Zarchiwizowane/NieosiÄ…galne"; +App::$strings["New"] = "Nowy"; +App::$strings["Active Connections"] = "Aktywne połączenia"; +App::$strings["Show active connections"] = "Pokaż aktywne połączenia"; +App::$strings["New Connections"] = "Nowe połączenia"; +App::$strings["Show pending (new) connections"] = "Pokaż oczekujÄ…ce (nowe) połączenia"; +App::$strings["Only show blocked connections"] = "Pokaż tylko zablokowane połączenia"; +App::$strings["Only show ignored connections"] = "Pokaż tylko ignorowane połączenia"; +App::$strings["Only show archived/unreachable connections"] = "Pokaż tylko zarchiwizowane/nieosiÄ…galne połączenia"; +App::$strings["Only show hidden connections"] = "Pokaż tylko ukryte połączenia"; +App::$strings["Show all connections"] = "Pokaż wszystkie połączenia"; +App::$strings["Pending approval"] = "W oczekiwaniu na zatwierdzenie"; +App::$strings["Archived"] = "Zarchiwizowane"; +App::$strings["Not connected at this location"] = "Brak połączenia w tej lokalizacji"; +App::$strings["%1\$s [%2\$s]"] = "%1\$s [%2\$s]"; +App::$strings["Edit connection"] = "Edytuj połączenie"; +App::$strings["Delete connection"] = "UsuÅ„ połączenie"; +App::$strings["Channel address"] = "Adres kanaÅ‚u"; +App::$strings["Network"] = "Sieć"; +App::$strings["Call"] = "Połączenie"; +App::$strings["Status"] = "Stan"; +App::$strings["Connected"] = "Połączene"; +App::$strings["Approve connection"] = "Zatwierdź połączenie"; +App::$strings["Approve"] = "Zatwierdź"; +App::$strings["Ignore connection"] = "Ignoruj połączenie"; +App::$strings["Recent activity"] = "Ostatnia aktywność"; +App::$strings["Connect"] = "Połączenie"; +App::$strings["Connect at this location"] = "Połącz w tej lokalizacji"; +App::$strings["Connections"] = "Połączenia"; +App::$strings["Search your connections"] = "Wyszukaj swoje połączenia"; +App::$strings["Connections search"] = "Wyszukiwanie połączeÅ„"; +App::$strings["Find"] = "Znajdź"; +App::$strings["Item is not editable"] = "Elementu nie można edytować"; +App::$strings["Tag removed"] = "Tag zostaÅ‚ usuniÄ™ty"; +App::$strings["Remove Item Tag"] = "UsuÅ„ tag elementy"; +App::$strings["Select a tag to remove: "] = "Wybierz tag do usuniÄ™cia: "; +App::$strings["Affinity Tool settings updated."] = "Zaktualizowano ustawienia narzÄ™dzia Affinity."; +App::$strings["This app presents a slider control in your connection editor and also on your network page. The slider represents your degree of friendship (affinity) with each connection. It allows you to zoom in or out and display conversations from only your closest friends or everybody in your stream."] = "Ta aplikacja przedstawia suwak w edytorze połączeÅ„, a także na stronie internetowej. Suwak przedstawia stopieÅ„ przyjaźni (koligacji) z każdym połączeniem. Umożliwia powiÄ™kszanie i pomniejszanie oraz wyÅ›wietlanie rozmów tylko od najbliższych znajomych lub wszystkich w strumieniu."; +App::$strings["Affinity Tool App"] = "Aplikacja Affinity Tool"; +App::$strings["The numbers below represent the minimum and maximum slider default positions for your network/stream page as a percentage."] = "Poniższe liczby przedstawiajÄ… minimalne i maksymalne domyÅ›lne pozycje suwaków na stronie sieci/strumienia w procentach."; +App::$strings["Default maximum affinity level"] = "DomyÅ›lny maksymalny poziom wiÄ™zi"; +App::$strings["0-99 default 99"] = "0-99, domyÅ›lnie 99"; +App::$strings["Default minimum affinity level"] = "DomyÅ›lny minimalny poziom wiÄ™zi"; +App::$strings["0-99 - default 0"] = "0-99, domyÅ›lnie 0"; +App::$strings["Persistent affinity levels"] = "TrwaÅ‚e poziomy wiÄ™zi"; +App::$strings["If disabled the max and min levels will be reset to default after page reload"] = "JeÅ›li wyłączone, maksymalne i minimalne poziomy zostanÄ… zresetowane do wartoÅ›ci domyÅ›lnych po ponownym zaÅ‚adowaniu strony"; +App::$strings["Affinity Tool Settings"] = "Ustawienia Affinity Tool"; +App::$strings["No channel."] = "Brak kanaÅ‚u."; +App::$strings["No connections in common."] = "Brak wspólnych połączeÅ„."; +App::$strings["View Common Connections"] = "WyÅ›wietl typowe połączenia"; +App::$strings["🔁 Repeated %1\$s's %2\$s"] = "🔁 Powtórzony %2\$s %1\$s"; +App::$strings["Post repeated"] = "Post powtórzony"; +App::$strings["Page link"] = "Link do strony"; +App::$strings["Edit Webpage"] = "Edytuj stronÄ™ internetowÄ…"; +App::$strings["vcard"] = "vcard"; +App::$strings["Edit Article"] = "Edutuj artykuÅ‚"; +App::$strings["Authentication failed."] = "Uwierzytelnianie nie powiodÅ‚o siÄ™."; +App::$strings["Remote Authentication"] = "Zdalne uwierzytelnianie"; +App::$strings["Enter your channel address (e.g. channel@example.com)"] = "Wpisz adres swojego kanaÅ‚u (np. kanaÅ‚@example.com)"; +App::$strings["Authenticate"] = "Uwierzytelnianie"; +App::$strings["Item not available."] = "Element nie jest dostÄ™pny."; +App::$strings["This setting requires special processing and editing has been blocked."] = "To ustawienie wymaga specjalnego przetwarzania, a edycja zostaÅ‚a zablokowana."; +App::$strings["Configuration Editor"] = "Edytor konfiguracji"; +App::$strings["Warning: Changing some settings could render your channel inoperable. Please leave this page unless you are comfortable with and knowledgeable about how to correctly use this feature."] = "Ostrzeżenie: zmiana niektórych ustawieÅ„ może spowodować, że Twój kanaÅ‚ przestanie dziaÅ‚ać. Opuść tÄ™ stronÄ™, chyba że czujesz siÄ™ komfortowo i nie wiesz, jak prawidÅ‚owo korzystać z tej funkcji."; +App::$strings["Random Channel App"] = "Aplikacja Random Channel"; +App::$strings["Visit a random channel in the \$Projectname network"] = "Odwiedź losowy kanaÅ‚ w sieci \$Projectname"; +App::$strings["Theme settings updated."] = "Zaktualizowano ustawienia motywu."; +App::$strings["No themes found."] = "Nie znaleziono motywów."; +App::$strings["Disable"] = "Wyłącz"; +App::$strings["Enable"] = "Włącz"; +App::$strings["Screenshot"] = "Zrzut ekranu"; +App::$strings["Themes"] = "Motywy"; +App::$strings["Toggle"] = "Przełącz"; +App::$strings["Settings"] = "Ustawienia"; +App::$strings["Author: "] = "Autor: "; +App::$strings["Maintainer: "] = "Opiekun: "; +App::$strings["[Experimental]"] = "[Eksperymentalne]"; +App::$strings["[Unsupported]"] = "[NieobsÅ‚ugiwane]"; +App::$strings["By default, unfiltered HTML is allowed in embedded media. This is inherently insecure."] = "DomyÅ›lnie, w osadzonych mediach jest dozwolony niefiltrowany HTML. Jest to z natury niebezpieczne."; +App::$strings["The recommended setting is to only allow unfiltered HTML from the following sites:"] = "Zalecane ustawienie to zezwalanie na niefiltrowany kodu HTML tylko z nastÄ™pujÄ…cych serwisów:"; +App::$strings["https://youtube.com/<br />https://www.youtube.com/<br />https://youtu.be/<br />https://vimeo.com/<br />https://soundcloud.com/<br />"] = "https://youtube.com/<br />https://www.youtube.com/<br />https://youtu.be/<br />https://vimeo.com/<br />https://soundcloud.com/<br />"; +App::$strings["All other embedded content will be filtered, <strong>unless</strong> embedded content from that site is explicitly blocked."] = "Wszystkie inne osadzone treÅ›ci bÄ™dÄ… filtrowane, <strong>chyba że</strong> osadzone treÅ›ci z tego serwisu sÄ… jawnie zablokowane."; +App::$strings["Security"] = "BezpieczeÅ„stwo"; +App::$strings["Block public"] = "Zablokuj publiczny dostÄ™p"; +App::$strings["Check to block public access to all otherwise public personal pages on this site unless you are currently authenticated."] = "Zaznacz, aby zablokować publiczny dostÄ™p do wszystkich innych publicznych stron osobistych w tej witrynie, chyba że jesteÅ› obecnie uwierzytelniony."; +App::$strings["Provide a cloud root directory"] = "Podaj katalog główny w chmurze"; +App::$strings["The cloud root directory lists all channel names which provide public files"] = "Katalog główny w chmurze zawiera listÄ™ wszystkich nazw kanałów, które udostÄ™pniajÄ… pliki publiczne"; +App::$strings["Show total disk space available to cloud uploads"] = "Pokaż caÅ‚kowitÄ… przestrzeÅ„ dyskowÄ… dostÄ™pnÄ… do przesyÅ‚ania plików do chmury"; +App::$strings["Set \"Transport Security\" HTTP header"] = "Ustaw nagłówek HTTP \"Transport Security\""; +App::$strings["Set \"Content Security Policy\" HTTP header"] = "Ustaw nagłówek HTTP \"Content Security Policy\""; +App::$strings["Allowed email domains"] = "Dozwolone domeny e-mail"; +App::$strings["Comma separated list of domains which are allowed in email addresses for registrations to this site. Wildcards are accepted. Empty to allow any domains"] = "Rozdzielana przecinkami lista domen, które sÄ… dozwolone w adresach e-mail podczas rejestracji w tym serwisie. Akceptowane sÄ… symbole wieloznaczne. Puste pole oznacza zezwolenie na dowolne domeny"; +App::$strings["Not allowed email domains"] = "Niedozwolone domeny e-mail"; +App::$strings["Comma separated list of domains which are not allowed in email addresses for registrations to this site. Wildcards are accepted. Empty to allow any domains, unless allowed domains have been defined."] = "Rozdzielana przecinkami lista domen, które nie sÄ… dozwolone w adresach e-mail podczas rejestracji w tym serwisie. Akceptowane sÄ… symbole wieloznaczne. Puste pole oznacza zezwolenie na wszystkie domeny, chyba że zostaÅ‚y uprzednio zdefiniowane jakieÅ› dozwolone domeny."; +App::$strings["Allow communications only from these sites"] = "Zezwalaj na komunikacjÄ™ tylko z tych serwisów"; +App::$strings["One site per line. Leave empty to allow communication from anywhere by default"] = "Jeden serwis w wierszu. Pozostaw puste, aby domyÅ›lnie zezwolić na komunikacjÄ™ z dowolnego miejsca"; +App::$strings["Block communications from these sites"] = "Blokuj komunikacjÄ™ z tych serwisów"; +App::$strings["Allow communications only from these channels"] = "Zezwalaj na komunikacjÄ™ tylko z tych kanałów"; +App::$strings["One channel (hash) per line. Leave empty to allow from any channel by default"] = "Jeden kanaÅ‚ (hash) na liniÄ™. Pozostaw puste, aby domyÅ›lnie zezwolić z dowolnego kanaÅ‚u"; +App::$strings["Block communications from these channels"] = "Blokuj komunikacjÄ™ z tych kanałów"; +App::$strings["Only allow embeds from secure (SSL) websites and links."] = "Zezwalaj na osadzanie tylko z bezpiecznych (SSL) witryn i linków ."; +App::$strings["Allow unfiltered embedded HTML content only from these domains"] = "Zezwalaj na niefiltrowanÄ… osadzony kod HTML tylko z tych domen"; +App::$strings["One site per line. By default embedded content is filtered."] = "Jedna witryna w wierszu. DomyÅ›lnie, treść osadzona jest filtrowana."; +App::$strings["Block embedded HTML from these domains"] = "Zablokuj osadzony kod HTML z tych domen"; +App::$strings["Allow SVG thumbnails in file browser"] = "Zezwalaj na miniatury SVG w przeglÄ…darce plików"; +App::$strings["WARNING: SVG images may contain malicious code."] = "OSTRZEÅ»ENIE: obrazy SVG mogÄ… zawierać zÅ‚oÅ›liwy kod."; +App::$strings["Allow embedded (inline) PDF files"] = "Zezwalaj na osadzone (miÄ™dzywierszowe) pliki PDF"; +App::$strings["%s account blocked/unblocked"] = array( + 0 => "%s konto jest zablokowane/odblokowane", + 1 => "%s konto sÄ… zablokowane/odblokowane", + 2 => "%s kont jest zablokowanych/odblokowanych", +); +App::$strings["%s account deleted"] = array( + 0 => "%s konto jest usuniÄ™te", + 1 => "%s konta sÄ… usuniÄ™te", + 2 => "%s kont jest usuniÄ™tych", +); +App::$strings["Account not found"] = "Konto nie znalezione"; +App::$strings["Account '%s' deleted"] = "Usunieto konto '%s'"; +App::$strings["Account '%s' blocked"] = "Konto '%s' zostaÅ‚o zablokowane"; +App::$strings["Account '%s' unblocked"] = "Konto '%s' zostaÅ‚o odblokowane"; +App::$strings["select all"] = "wybierz wszystkie"; +App::$strings["Registrations waiting for confirm"] = "Rejestracje czekajÄ… na potwierdzenie"; +App::$strings["Request date"] = "Data wniosku"; +App::$strings["No registrations."] = "Brak rejestracji."; +App::$strings["ID"] = "ID"; +App::$strings["All Channels"] = "Wszytskie kanaÅ‚y"; +App::$strings["Register date"] = "Data rejestracji"; +App::$strings["Last login"] = "Ostatnie logowanie"; +App::$strings["Expires"] = "Wygasa"; +App::$strings["Service Class"] = "Klasa usÅ‚ugi"; +App::$strings["Selected accounts will be deleted!\\n\\nEverything these accounts had posted on this site will be permanently deleted!\\n\\nAre you sure?"] = "Wybrane konta zostanÄ… usuniÄ™te!\\n\\nWszystko, co z tych kont zostaÅ‚o opublikowane na tym serwisie, zostanie bezpowrotnie usuniÄ™te!\\n\\nCzy na pewno usunąć?"; +App::$strings["The account {0} will be deleted!\\n\\nEverything this account has posted on this site will be permanently deleted!\\n\\nAre you sure?"] = "Konto {0} zostanie usuniete!\\n\\nWszystko co opublikowano z tego konta na tym serwisie zostanie bezpowrotnie usuniÄ™te!\\n\\nCzy na pewno usunąć?"; +App::$strings["Off"] = "Off"; +App::$strings["On"] = "On"; +App::$strings["Lock feature %s"] = "Blokuj funkcjÄ™ %s"; +App::$strings["Manage Additional Features"] = "ZarzÄ…dzaj dodatkowymi funkcjami"; +App::$strings["Queue Statistics"] = "Statystyki kolejki"; +App::$strings["Total Entries"] = "Ogółem postów"; +App::$strings["Priority"] = "Priorytet"; +App::$strings["Destination URL"] = "Docelowy URL"; +App::$strings["Mark hub permanently offline"] = "Oznacz hub na staÅ‚e w trybie offline"; +App::$strings["Empty queue for this hub"] = "Pusta kolejka dla tego huba"; +App::$strings["Last known contact"] = "Ostatni znany kontakt"; +App::$strings["Update has been marked successful"] = "Aktualizacja zostaÅ‚a oznaczona jako pomyÅ›lna"; +App::$strings["Verification of update %s failed. Check system logs."] = "Weryfikacja aktualizacji %s nie zakoÅ„czyÅ‚a siÄ™ pomyÅ›lnie. Sprawdź dzienniki systemowe."; +App::$strings["Update %s was successfully applied."] = "Aktualizacja %s zostaÅ‚a pomyÅ›lnie zastosowana."; +App::$strings["Verifying update %s did not return a status. Unknown if it succeeded."] = "Weryfikacja aktualizacji %s nie zwróciÅ‚a stanu. Nie wiadomo, czy siÄ™ udaÅ‚o."; +App::$strings["Update %s does not contain a verification function."] = "Aktualizacja %s nie zawiera funkcji weryfikacji."; +App::$strings["Update function %s could not be found."] = "Nie można znaleźć funkcji aktualizacji %s."; +App::$strings["Executing update procedure %s failed. Check system logs."] = "Wykonanie procedury aktualizacji %s nie powiodÅ‚o siÄ™. Sprawdź dzienniki systemowe."; +App::$strings["Update %s did not return a status. It cannot be determined if it was successful."] = "Aktualizacja %s nie zwróciÅ‚a stanu. Nie można ustalić, czy siÄ™ udaÅ‚o."; +App::$strings["Failed Updates"] = "Nieudane aktualizacje"; +App::$strings["Mark success (if update was manually applied)"] = "Oznacz sukces (jeÅ›li aktualizacja zostaÅ‚a wykonana rÄ™cznie)"; +App::$strings["Attempt to verify this update if a verification procedure exists"] = "Spróbuj zweryfikować tÄ… aktualizacjÄ™, jeÅ›li istnieje procedura weryfikacji"; +App::$strings["Attempt to execute this update step automatically"] = "Spróbuj automatycznie wykonać ten krok aktualizacji"; +App::$strings["No failed updates."] = "Nie ma nieudanych aktualizacji."; +App::$strings["%s channel censored/uncensored"] = array( + 0 => "%s kanaÅ‚ jest ocenzurowany/nieocenzurowany", + 1 => "%s kanaÅ‚y sÄ… ocenzurowane/nieocenzurowane", + 2 => "%s kanałów jest ocenzurowanych/nieocenzurowanych", +); +App::$strings["%s channel code allowed/disallowed"] = array( + 0 => "Kod %s kanaÅ‚u jest dozwolony /niedozwolony", + 1 => "Kod %s kanałów jest dozwolony/niedozwolony", + 2 => "Kod %s kanałów jest dozwolony/niedozwolony", +); +App::$strings["%s channel deleted"] = array( + 0 => "%s kanaÅ‚ zostaÅ‚ usuniÄ™ty", + 1 => "%s kanaÅ‚y zostaÅ‚y usuniÄ™te", + 2 => "%s kanałów zostaÅ‚ usuniÄ™tych", +); +App::$strings["Channel not found"] = "KanaÅ‚ nie zostaÅ‚ znaleziony"; +App::$strings["Channel '%s' deleted"] = "KanaÅ‚ '%s' zostaÅ‚ usuniÄ™ty"; +App::$strings["Channel '%s' censored"] = "KanaÅ‚ '%s' zostaÅ‚ ocenzurowany"; +App::$strings["Channel '%s' uncensored"] = "KanaÅ‚ '%s' jest nieocenzurowany"; +App::$strings["Channel '%s' code allowed"] = "Dozwolony kod kanaÅ‚u '%s'"; +App::$strings["Channel '%s' code disallowed"] = "Niedozwolony kod kanaÅ‚u '%s'"; +App::$strings["Censor"] = "Cezoruj"; +App::$strings["Uncensor"] = "UsuÅ„ cenzurÄ™"; +App::$strings["Allow Code"] = "Zezwalaj na kod"; +App::$strings["Disallow Code"] = "Nie zezwalaj na kod"; +App::$strings["Channel"] = "KanaÅ‚"; +App::$strings["UID"] = "UID"; +App::$strings["Selected channels will be deleted!\\n\\nEverything that was posted in these channels on this site will be permanently deleted!\\n\\nAre you sure?"] = "Wybrane kanaÅ‚y zostanÄ… usuniÄ™te!\\n\\nWszystko co zostaÅ‚o w nich opublikowane bÄ™dzie bezpowrotnie usuniÄ™te!\\n\\nCzy na pewno usunąć?"; +App::$strings["The channel {0} will be deleted!\\n\\nEverything that was posted in this channel on this site will be permanently deleted!\\n\\nAre you sure?"] = "KanaÅ‚ {0} zostanie usuniÄ™ty!\\n\\nWszystko co opublikowano na tym kanale bÄ™dzie bezpowrotnie usuniÄ™te!\\n\\nCzy na pewno usunąć?"; +App::$strings["Log settings updated."] = "Zaktualizowano ustawienia dziennika."; +App::$strings["Logs"] = "Logi"; +App::$strings["Clear"] = "Wyczyść"; +App::$strings["Debugging"] = "Debugowanie"; +App::$strings["Log file"] = "Plik dziennika"; +App::$strings["Must be writable by web server. Relative to your top-level webserver directory."] = "Musi mieć możliwość zapisu przez serwer WWW. WzglÄ™dnie do katalogu głównego serwera WWW."; +App::$strings["Log level"] = "Poziom rejestrowania zdarzeÅ„"; +App::$strings["Password changed for account %d."] = "HasÅ‚o zostaÅ‚o zmienione do konta%d."; +App::$strings["Account settings updated."] = "Zaktualizowano ustawienia konta."; +App::$strings["Account not found."] = "Konto nie zostaÅ‚o znalezione."; +App::$strings["Account Edit"] = "Edycja konta"; +App::$strings["New Password"] = "Nowe hasÅ‚o"; +App::$strings["New Password again"] = "Powtórz nowe hasÅ‚o"; +App::$strings["Account language (for emails)"] = "JÄ™zyk konta (dla wiadomoÅ›ci e-mail)"; +App::$strings["Service class"] = "Klasa usÅ‚ugi"; +App::$strings["Plugin %s disabled."] = "Wtyczka %s jest wyłączona."; +App::$strings["Plugin %s enabled."] = "Wtyczka %s jest włączona."; +App::$strings["Addons"] = "Dodatki"; +App::$strings["Minimum project version: "] = "Minimalna wersja projektu: "; +App::$strings["Maximum project version: "] = "Maksymalna wersja projektu: "; +App::$strings["Minimum PHP version: "] = "Minimalna wersja PHP: "; +App::$strings["Compatible Server Roles: "] = "Zgodne role serwera: "; +App::$strings["Requires: "] = "Wymaga: "; +App::$strings["Disabled - version incompatibility"] = "Wyłączone - niezgodność wersji"; +App::$strings["Enter the public git repository URL of the addon repo."] = "Wprowadź adres URL publicznego repozytorium Git dodatków."; +App::$strings["Addon repo git URL"] = "Adres URL repozytorium Git dodatków"; +App::$strings["Custom repo name"] = "WÅ‚asna nazwa repozytorium"; +App::$strings["(optional)"] = "(opcjonalnie)"; +App::$strings["Download Addon Repo"] = "Pobierz repozytorium dodatków"; +App::$strings["Install new repo"] = "Zainstaluj nowe repozytorium"; +App::$strings["Install"] = "Zainstaluj"; +App::$strings["Manage Repos"] = "ZarzÄ…dzaj repozytoriami"; +App::$strings["Installed Addon Repositories"] = "Zainstalowane repozytoria dodatków"; +App::$strings["Install a New Addon Repository"] = "Zainstaluj nowe repozytorium dodatków"; +App::$strings["Switch branch"] = "Przełącz gałąź"; +App::$strings["Site settings updated."] = "Zaktualizowano ustawienia serwisu."; +App::$strings["Default"] = "DomyÅ›lnie"; +App::$strings["%s - (Incompatible)"] = "%s - (niekompatybilne)"; +App::$strings["mobile"] = "urzÄ…dzenie przenoÅ›ne"; +App::$strings["experimental"] = "eksperymentalne"; +App::$strings["unsupported"] = "nieobsÅ‚ugiwane"; +App::$strings["Yes - with approval"] = "Tak - za zgodÄ…"; +App::$strings["My site is not a public server"] = "Mój sewis nie jest serwerem publicznym"; +App::$strings["My site has paid access only"] = "Mój serwis ma tylko pÅ‚atny dostÄ™p"; +App::$strings["My site has free access only"] = "Mój serwis ma tylko bezpÅ‚atny dostÄ™p"; +App::$strings["My site offers free accounts with optional paid upgrades"] = "Mój serwis oferuje darmowe konta z opcjonalnymi pÅ‚atnymi aktualizacjami"; +App::$strings["Default permission role for new accounts"] = "DomyÅ›lna rola uprawnieÅ„ dla nowych kont"; +App::$strings["This role will be used for the first channel created after registration."] = "Ta rola bÄ™dzie używana dla pierwszego kanaÅ‚u utworzonego po rejestracji."; +App::$strings["Site"] = "Witryna"; +App::$strings["Registration"] = "Rejestracja"; +App::$strings["File upload"] = "UdostÄ™pnianie pliku"; +App::$strings["Policies"] = "Zasady"; +App::$strings["Advanced"] = "Zaawansowane"; +App::$strings["Site name"] = "Nazwa witryny internetowej"; +App::$strings["Banner/Logo"] = "Baner/Logo"; +App::$strings["Unfiltered HTML/CSS/JS is allowed"] = "Dozwolony jest niefiltrowany kodd HTML/CSS /JS"; +App::$strings["Administrator Information"] = "Informacje administratora"; +App::$strings["Contact information for site administrators. Displayed on siteinfo page. BBCode can be used here"] = "Informacje kontaktowe dla administratorów serwisu. WyÅ›wietlane na stronie informacji o serwisie. Tutaj można użyć BBCode"; +App::$strings["Site Information"] = "Informacje o serwisie"; +App::$strings["Publicly visible description of this site. Displayed on siteinfo page. BBCode can be used here"] = "Publicznie widoczny opis tego serwisu. WyÅ›wietlane na stronie informacji o serwisie. Tutaj można użyć BBCode"; +App::$strings["System language"] = "JÄ™zyk systemu"; +App::$strings["System theme"] = "Motyw systemu"; +App::$strings["Default system theme - may be over-ridden by user profiles - <a href='#' id='cnftheme'>change theme settings</a>"] = "DomyÅ›lny motyw systemu - może zostać zastÄ…piony przez profile użytkowników - <a href='#' id='cnftheme'>zmieÅ„ ustawienia motywu</a>"; +App::$strings["Allow Feeds as Connections"] = "Zezwalaj na kanaÅ‚y jako połączenia"; +App::$strings["(Heavy system resource usage)"] = "(Duże zużycie zasobów systemowych)"; +App::$strings["Maximum image size"] = "Maksymalny rozmiar obrazu"; +App::$strings["Maximum size in bytes of uploaded images. Default is 0, which means no limits."] = "Maksymalny rozmiar przesÅ‚anych obrazów w bajtach. Wartość domyÅ›lna to 0, co oznacza brak ograniczeÅ„."; +App::$strings["Does this site allow new member registration?"] = "Czy ta witryna umożliwia rejestracjÄ™ nowych czÅ‚onków?"; +App::$strings["Invitation only"] = "Tylko z zaproszeniem"; +App::$strings["Only allow new member registrations with an invitation code. Above register policy must be set to Yes."] = "Zezwalaj tylko na rejestracje nowych czÅ‚onków za pomocÄ… kodu zaproszenia. Powyższe zasady rejestrów muszÄ… być ustawione na Tak."; +App::$strings["Minimum age"] = "Minimalny wiek"; +App::$strings["Minimum age (in years) for who may register on this site."] = "Minimalny wiek (w latach) dla osób, które mogÄ… zarejestrować siÄ™ na tej stronie."; +App::$strings["Which best describes the types of account offered by this hub?"] = "Które z poniższych stwierdzeÅ„ najlepiej opisuje rodzaje kont oferowanych przez ten hub?"; +App::$strings["This is displayed on the public server site list."] = "Jest to wyÅ›wietlane na liÅ›cie witryn publicznych serwerów."; +App::$strings["Register text"] = "Tekst rejestracyjny"; +App::$strings["Will be displayed prominently on the registration page."] = "Zostanie on wyÅ›wietlony w widocznym miejscu na stronie rejestracji."; +App::$strings["Site homepage to show visitors (default: login box)"] = "Strona główna serwisu do wyÅ›wietlania odwiedzajÄ…cym (domyÅ›lnie: formularz logowania)"; +App::$strings["example: 'pubstream' to show public stream, 'page/sys/home' to show a system webpage called 'home' or 'include:home.html' to include a file."] = "przykÅ‚ad: 'pubstream', aby pokazać strumieÅ„ publiczny, 'page/sys/home', aby wyÅ›wietlić systemowÄ… stronÄ™ internetowÄ… o nazwie 'home' lub 'include: home.html', aby dołączyć plik."; +App::$strings["Preserve site homepage URL"] = "Zachowaj adres URL strony głównej serwisu"; +App::$strings["Present the site homepage in a frame at the original location instead of redirecting"] = "Przedstaw stronÄ™ głównÄ… serwisu w ramce w oryginalnej lokalizacji zamiast przekierowywania"; +App::$strings["Accounts abandoned after x days"] = "Konta porzucone po x dniach"; +App::$strings["Will not waste system resources polling external sites for abandonded accounts. Enter 0 for no time limit."] = "Nie marnuje zasobów systemowych na odpytywanie zewnÄ™trznych witryn w poszukiwaniu porzuconych kont. Wpisz 0, aby nie mieć limitu czasu."; +App::$strings["Allowed friend domains"] = "Dozwolone domeny znajomych"; +App::$strings["Comma separated list of domains which are allowed to establish friendships with this site. Wildcards are accepted. Empty to allow any domains"] = "Rozdzielana przecinkami lista domen, które mogÄ… zawierać przyjaźnie z tÄ… witrynÄ…. Akceptowane sÄ… symbole wieloznaczne. Puste oznacza zezwolenie na dowolne domeny"; +App::$strings["Verify Email Addresses"] = "Zweryfikuj adresy e-mail"; +App::$strings["Check to verify email addresses used in account registration (recommended)."] = "Zaznacz, aby zweryfikować adresy e-mail użyte podczas rejestracji konta (zalecane)."; +App::$strings["Force publish"] = "WymuÅ› publikacjÄ™"; +App::$strings["Check to force all profiles on this site to be listed in the site directory."] = "Zaznacz, aby wymusić wyÅ›wietlanie wszystkich profili w tym serwisie w katalogu witryn."; +App::$strings["Import Public Streams"] = "Importuj strumienie publiczne"; +App::$strings["Import and allow access to public content pulled from other sites. Warning: this content is unmoderated."] = "Importuj i zezwalaj na dostÄ™p do treÅ›ci publicznych pobranych z innych serwisów. Ostrzeżenie: ta zawartość jest niemoderowana."; +App::$strings["Site only Public Streams"] = "W serwisie tylko strumienie publiczne"; +App::$strings["Allow access to public content originating only from this site if Imported Public Streams are disabled."] = "Zezwalaj na dostÄ™p do treÅ›ci publicznych pochodzÄ…cych tylko z tego serwisu, jeÅ›li importowane strumienie publiczne sÄ… wyłączone."; +App::$strings["Allow anybody on the internet to access the Public streams"] = "Zezwól każdemu w internecie na dostÄ™p do strumieni publicznych"; +App::$strings["Disable to require authentication before viewing. Warning: this content is unmoderated."] = "Wyłącz, aby wymagać uwierzytelnienia przed przeglÄ…daniem. Ostrzeżenie: ta zawartość jest niemoderowana."; +App::$strings["Only import Public stream posts with this text"] = "Importuj tylko posty ze strumienia publicznego z tym tekstem"; +App::$strings["Do not import Public stream posts with this text"] = "Nie importuj postów ze strumienia publicznego z tym tekstem"; +App::$strings["Login on Homepage"] = "Zaloguj siÄ™ na stronie głównej"; +App::$strings["Present a login box to visitors on the home page if no other content has been configured."] = "Przedstaw formularz logowania odwiedzajÄ…cym na stronie głównej, jeÅ›li nie skonfigurowano żadnych innych treÅ›ci."; +App::$strings["Enable context help"] = "Włącz pomoc kontekstowÄ…"; +App::$strings["Display contextual help for the current page when the help button is pressed."] = "WyÅ›wietlanie pomocy kontekstowej dla bieżącej strony po naciÅ›niÄ™ciu przycisku pomocy."; +App::$strings["Reply-to email address for system generated email."] = "Zwrotny adres e-mail dla wiadomoÅ›ci wygenerowanych przez system."; +App::$strings["Sender (From) email address for system generated email."] = "Adres e-mail nadawcy (Od) wiadomoÅ›ci e-mail wygenerowanej przez system."; +App::$strings["Name of email sender for system generated email."] = "Nazwa nadawcy wiadomoÅ›ci e-mail wygenerowanej przez system."; +App::$strings["Directory Server URL"] = "Adres URL serwera katalogowego"; +App::$strings["Default directory server"] = "DomyÅ›lny serwer katalogowy"; +App::$strings["Enable SSE Notifications"] = "Włącz powiadomienia SSE"; +App::$strings["If disabled, traditional polling will be used. Warning: this setting might not be suited for shared hosting"] = "JeÅ›li wyłączone, bÄ™dzie używane tradycyjne odpytywanie. Ostrzeżenie: to ustawienie może nie być odpowiednie dla hostingu współdzielonego"; +App::$strings["Proxy user"] = "Użytkownik proxy"; +App::$strings["Proxy URL"] = "URL proxy"; +App::$strings["Network timeout"] = "Limit czasu sieci"; +App::$strings["Value is in seconds. Set to 0 for unlimited (not recommended)."] = "Wartość w sekundach. Ustaw na 0 dla nieograniczonej liczby (niezalecane)."; +App::$strings["Delivery interval"] = "InterwaÅ‚ dostaw"; +App::$strings["Delay background delivery processes by this many seconds to reduce system load. Recommend: 4-5 for shared hosts, 2-3 for virtual private servers. 0-1 for large dedicated servers."] = "Opóźnij procesy dostarczania w tle o kilka sekund, aby zmniejszyć obciążenie systemu. Zalecane: 4-5 dla hostów współdzielonych, 2-3 dla wirtualnych serwerów prywatnych. 0-1 dla dużych serwerów dedykowanych."; +App::$strings["Deliveries per process"] = "Dostawy na proces"; +App::$strings["Number of deliveries to attempt in a single operating system process. Adjust if necessary to tune system performance. Recommend: 1-5."] = "Liczba dostaw do podjÄ™cia w ramach jednego procesu systemu operacyjnego. W razie potrzeby dostosuj, aby dostroić wydajność systemu. Polecam: 1-5."; +App::$strings["Queue Threshold"] = "Próg kolejki"; +App::$strings["Always defer immediate delivery if queue contains more than this number of entries."] = "Zawsze odraczaj natychmiastowe dostarczenie, jeÅ›li kolejka zawiera wiÄ™cej pozycji niż ta."; +App::$strings["Poll interval"] = "Okres odpytywania"; +App::$strings["Delay background polling processes by this many seconds to reduce system load. If 0, use delivery interval."] = "Opóźnij procesy sondowania w tle o kilka sekund, aby zmniejszyć obciążenie systemu. JeÅ›li 0, użyty bÄ™dzie interwaÅ‚ dostawy."; +App::$strings["Path to ImageMagick convert program"] = "Åšcieżka do programu konwertujÄ…cego ImageMagick"; +App::$strings["If set, use this program to generate photo thumbnails for huge images ( > 4000 pixels in either dimension), otherwise memory exhaustion may occur. Example: /usr/bin/convert"] = "JeÅ›li jest ustawiona, użyj tego programu do generowania miniatur zdjęć dla dużych obrazów (> 4000 pikseli w każdym wymiarze), w przeciwnym razie może wystÄ…pić wyczerpanie pamiÄ™ci. PrzykÅ‚ad: /usr/bin/convert"; +App::$strings["Maximum Load Average"] = "Maksymalne Å›rednie obciążenie"; +App::$strings["Maximum system load before delivery and poll processes are deferred - default 50."] = "Maksymalne obciążenie systemu przed odroczeniem procesów dostarczania i odpytywania - domyÅ›lnie 50."; +App::$strings["Expiration period in days for imported (grid/network) content"] = "Okres ważnoÅ›ci w dniach dla zaimportowanej treÅ›ci (siatki/sieci)"; +App::$strings["0 for no expiration of imported content"] = "0 dla braku wygaÅ›niÄ™cia zaimportowanej treÅ›ci"; +App::$strings["Do not expire any posts which have comments less than this many days ago"] = "Nie wygasaj żadnych postów, które majÄ… komentarze z datami mniejszymi niż ta wartość dni temu"; +App::$strings["Public servers: Optional landing (marketing) webpage for new registrants"] = "Serwery publiczne: opcjonalna strona lÄ…dowania (marketingowa) dla nowych rejestrujÄ…cych"; +App::$strings["Create this page first. Default is %s/register"] = "Utwórz najpierw tÄ… stronÄ™. DomyÅ›lnie %s/ register"; +App::$strings["Page to display after creating a new channel"] = "Strona do wyÅ›wietlenia po utworzeniu nowego kanaÅ‚u"; +App::$strings["Default: profiles"] = "DomyÅ›lnie: profile"; +App::$strings["Optional: site location"] = "Opcjonalnie: lokalizacja serwisu"; +App::$strings["Region or country"] = "Region lub kraj"; +App::$strings["New Profile Field"] = "Nowe pole profilu"; +App::$strings["Field nickname"] = "Krótka nazwa pola"; +App::$strings["System name of field"] = "Systemowa nazwa pola"; +App::$strings["Input type"] = "Typ wejÅ›cia"; +App::$strings["Field Name"] = "Nazwa Pola"; +App::$strings["Label on profile pages"] = "Etykieta na stronach profilu"; +App::$strings["Help text"] = "Tekst pomocy"; +App::$strings["Additional info (optional)"] = "Dodatkowe informacje (opcjonalnie)"; +App::$strings["Field definition not found"] = "Nie znaleziono definicji pola"; +App::$strings["Edit Profile Field"] = "Edytuj pole profilu"; +App::$strings["Profile Fields"] = "Pola profilu"; +App::$strings["Basic Profile Fields"] = "Podstawowe pola profilu"; +App::$strings["Advanced Profile Fields"] = "Zaawansowane pola profilu"; +App::$strings["(In addition to basic fields)"] = "(Oprócz podstawowych pól)"; +App::$strings["All available fields"] = "Wszystkie dostÄ™pne pola"; +App::$strings["Custom Fields"] = "Pola niestandardowe"; +App::$strings["Create Custom Field"] = "Utwórz wÅ‚asne pole"; +App::$strings["No more system notifications."] = "Nigdy wiÄ™cej powiadomieÅ„ systemowych."; +App::$strings["System Notifications"] = "Powiadomienia systemowe"; +App::$strings["Permissions denied."] = "Odmowa dostÄ™pu."; +App::$strings["Thing updated"] = "Rzecz zaktualizowana"; +App::$strings["Object store: failed"] = "Magazyn obiektów: błąd"; +App::$strings["Thing added"] = "Rzecz dodana"; +App::$strings["OBJ: %1\$s %2\$s %3\$s"] = "OBJ: %1\$s %2\$s %3\$s"; +App::$strings["Show Thing"] = "WyÅ›wietl rzecz"; +App::$strings["item not found."] = "pozycja nie zostaÅ‚a znaleziona."; +App::$strings["Edit Thing"] = "Edytuj rzecz"; +App::$strings["Select a profile"] = "Wybierz profile"; +App::$strings["Post an activity"] = "Opublikuj aktywność"; +App::$strings["Only sends to viewers of the applicable profile"] = "WysyÅ‚ane tylko do osób przeglÄ…dajÄ…cych odpowiedni profil"; +App::$strings["Name of thing e.g. something"] = "Nazwa rzeczy, np. coÅ›"; +App::$strings["URL of thing (optional)"] = "URL rzeczy (opcjonalnie)"; +App::$strings["URL for photo of thing (optional)"] = "URL do zdjÄ™cia rzeczy (opcjonalnie)"; +App::$strings["Add Thing to your Profile"] = "Dodaj rzecz do swojego profilu"; +App::$strings["Suggest Channels App"] = "Aplikacja Suggest Channels"; +App::$strings["Suggestions for channels in the \$Projectname network you might be interested in"] = "Propozycje dotyczÄ…ce kanałów w sieci \$Projectname, które mogÄ… CiÄ™ zainteresować"; +App::$strings["No suggestions available. If this is a new site, please try again in 24 hours."] = "Brak dostÄ™pnych prpozycji. JeÅ›li to jest nowy serwis, spróbuj ponownie za 24 godziny."; +App::$strings["Ignore/Hide"] = "Ignoruj/Ukryj"; +App::$strings["Channel Suggestions"] = "Sugerowane kanaÅ‚y"; +App::$strings["Email Verification Required"] = "Wymagana jest weryfikacja adresu e-mail"; +App::$strings["A verification token was sent to your email address [%s]. Enter that token here to complete the account verification step. Please allow a few minutes for delivery, and check your spam folder if you do not see the message."] = "Token weryfikacyjny zostaÅ‚ wysÅ‚any na Twój adres e-mail [% s]. Wprowadź tuta ten token, aby zakoÅ„czyć etap weryfikacji konta. Poczekaj kilka minut na dostarczenie i jeÅ›li nie widzisz wiadomoÅ›ci, sprawdź folder ze spamem."; +App::$strings["Resend Email"] = "WyÅ›lij ponownie wiadomość e-mail"; +App::$strings["Validation token"] = "Token walidacyjny"; +App::$strings["Notes App"] = "Aplikacja Notes"; +App::$strings["A simple notes app with a widget (note: notes are not encrypted)"] = "Prosta aplikacja do notatek z widżetem (uwaga: notatki nie sÄ… szyfrowane)"; +App::$strings["This channel is limited to %d tokens"] = "Ten kanaÅ‚ jest ograniczony do %d tokenów"; +App::$strings["Name and Password are required."] = "Wymagane sÄ… ImiÄ™ i hasÅ‚o."; +App::$strings["Token saved."] = "Token zostaÅ‚ zapisany."; +App::$strings["Guest Access App"] = "Aplikacja Guest Access"; +App::$strings["Create access tokens so that non-members can access private content"] = "Utwórz tokeny dostÄ™pu, aby osoby niebÄ™dÄ…ce czÅ‚onkami mogÅ‚y uzyskać dostÄ™p do treÅ›ci prywatnych"; +App::$strings["Use this form to create temporary access identifiers to share things with non-members. These identities may be used in Access Control Lists and visitors may login using these credentials to access private content."] = "Użyj tego formularza, aby utworzyć tymczasowe identyfikatory dostÄ™pu, aby udostÄ™pniać rzeczy osobom niebÄ™dÄ…cym czÅ‚onkami. TożsamoÅ›ci te mogÄ… być używane na listach kontroli dostÄ™pu, a odwiedzajÄ…cy mogÄ… logować siÄ™ przy użyciu tych poÅ›wiadczeÅ„, aby uzyskać dostÄ™p do treÅ›ci prywatnych."; +App::$strings["You may also provide <em>dropbox</em> style access links to friends and associates by adding the Login Password to any specific site URL as shown. Examples:"] = "Możesz także udostÄ™pnić znajomym i współpracownikom łącza dostÄ™pu w stylu <em>dropbox</em>, dodajÄ…c hasÅ‚o logowania do dowolnego adresu URL witryny, jak pokazano na ilustracji. PrzykÅ‚ady:"; +App::$strings["Guest Access Tokens"] = "Tokent Guest Access"; +App::$strings["Login Name"] = "Nazwa logowania"; +App::$strings["Login Password"] = "HasÅ‚o logowania"; +App::$strings["Expires (yyyy-mm-dd)"] = "Wygasa (rrrr-mm-dd)"; +App::$strings["Change Order of Pinned Navbar Apps"] = "ZmieÅ„ kolejność aplikacji przypiÄ™tych do paska nawigacyjnego"; +App::$strings["Change Order of App Tray Apps"] = "ZmieÅ„ kolejność aplikacji na pasku aplikacji"; +App::$strings["Use arrows to move the corresponding app left (top) or right (bottom) in the navbar"] = "Użyj strzaÅ‚ek, aby przesunąć odpowiedniÄ… aplikacjÄ™ w lewo (u góry) lub w prawo (u doÅ‚u) na pasku nawigacyjnym"; +App::$strings["Use arrows to move the corresponding app up or down in the app tray"] = "Użyj strzaÅ‚ek, aby przesunąć odpowiedniÄ… aplikacjÄ™ w górÄ™ lub w dół w zasobniku aplikacji"; +App::$strings["Mark all seen"] = "Oznacz wszystkie jako oglÄ…dniÄ™te"; +App::$strings["\$Projectname"] = "Hubzilla"; +App::$strings["Welcome to %s"] = "Witamy w %s"; +App::$strings["Articles App"] = "Aplikacja Articles"; +App::$strings["Create interactive articles"] = "Twórz interaktywne artykuÅ‚y"; +App::$strings["Add Article"] = "Dodaj artykuÅ‚"; +App::$strings["Articles"] = "ArtykuÅ‚y"; +App::$strings["\$Projectname Server - Setup"] = "Serwer \$Projectname - Konfiguracja"; +App::$strings["Could not connect to database."] = "Nie można połączyć siÄ™ z bazÄ… danych."; +App::$strings["Could not connect to specified site URL. Possible SSL certificate or DNS issue."] = "Nie można połączyć siÄ™ z okreÅ›lonym adresem URL serwisu. Możliwy problem z certyfikatem SSL lub DNS."; +App::$strings["Could not create table."] = "Nie udaÅ‚o siÄ™ utworzyć tabeli."; +App::$strings["Your site database has been installed."] = "Baza danych serwisu zostaÅ‚a zainstalowana."; +App::$strings["You may need to import the file \"install/schema_xxx.sql\" manually using a database client."] = "Może być konieczne rÄ™czne zaimportowanie pliku „install/schema_xxx.sql†za pomocÄ… klienta bazy danych."; +App::$strings["Please see the file \"install/INSTALL.txt\"."] = "Zobacz plik \"install/INSTALL.txt\"."; +App::$strings["System check"] = "Sprawdzanie systemu"; +App::$strings["Check again"] = "Sprawdź ponownie"; +App::$strings["Database connection"] = "Połączenie z bazÄ… danych"; +App::$strings["In order to install \$Projectname we need to know how to connect to your database."] = "Aby zainstalować \$Projectname, musimy wiedzieć, jak połączyć siÄ™ z twojÄ… bazÄ… danych."; +App::$strings["Please contact your hosting provider or site administrator if you have questions about these settings."] = "JeÅ›li masz pytania dotyczÄ…ce tych ustawieÅ„, skontaktuj siÄ™ z dostawcÄ… usÅ‚ug hostingowych lub administratorem serwisu."; +App::$strings["The database you specify below should already exist. If it does not, please create it before continuing."] = "Baza danych, którÄ… okreÅ›lisz poniżej, powinna już istnieć. JeÅ›li tak siÄ™ nie staÅ‚o, utwórz jÄ… przed kontynuowaniem."; +App::$strings["Database Server Name"] = "Nazwa serwera bazy danych"; +App::$strings["Default is 127.0.0.1"] = "DomyÅ›lnie, 127.0.0.1"; +App::$strings["Database Port"] = "Port bazy danych"; +App::$strings["Communication port number - use 0 for default"] = "Numer portu komunikacyjnego - dla wartoÅ›ci domyÅ›lnej użyj 0"; +App::$strings["Database Login Name"] = "Nazwa logowania do bazy danych"; +App::$strings["Database Login Password"] = "HasÅ‚o logowania do bazy danych"; +App::$strings["Database Name"] = "Nazwa bazy danych"; +App::$strings["Database Type"] = "Typ bazy danych"; +App::$strings["Site administrator email address"] = "Adres e-mail administratora serwisu"; +App::$strings["Your account email address must match this in order to use the web admin panel."] = "Adres e-mail Twojego konta bÄ™dzie musi być zgodny z tym adresem, aby móc korzystać z panelu administratora sieci."; +App::$strings["Website URL"] = "Adres URL serwisu"; +App::$strings["Please use SSL (https) URL if available."] = "Użyj adresu URL z SSL (https), jeÅ›li jest dostÄ™pny."; +App::$strings["Please select a default timezone for your website"] = "Wybierz domyÅ›lnÄ… strefÄ™ czasowÄ… dla swojego serwisu"; +App::$strings["Site settings"] = "Ustawienia serwisu"; +App::$strings["PHP version 7.1 or greater is required."] = "Wymagany jest PHP w wersji 7.1 lub wyższej."; +App::$strings["PHP version"] = "Wersja PHP"; +App::$strings["Could not find a command line version of PHP in the web server PATH."] = "Nie można znaleźć wersji CLI PHP w zmiennej PATH serwerze WWW."; +App::$strings["If you don't have a command line version of PHP installed on server, you will not be able to run background polling via cron."] = "JeÅ›li nie masz wersji CLI PHP zainstalowanej na serwerze, nie bÄ™dzie można uruchomić odpytywania w tle przez cron."; +App::$strings["PHP executable path"] = "Åšcieżka do pliku wykonywalnego PHP"; +App::$strings["Enter full path to php executable. You can leave this blank to continue the installation."] = "Wpisz peÅ‚nÄ… Å›cieżkÄ™ do pliku wykonywalnego php. Możesz pozostawić to pole puste, aby kontynuować instalacjÄ™."; +App::$strings["Command line PHP"] = "PHP CLI"; +App::$strings["Unable to check command line PHP, as shell_exec() is disabled. This is required."] = "Nie można sprawdzić PHP CLI, ponieważ funkcja shell_exec() jest wyłączona. To jest wymagane."; +App::$strings["The command line version of PHP on your system does not have \"register_argc_argv\" enabled."] = "PHP CLI w Twoim systemie nie ma włączonego \"register_argc_argv\"."; +App::$strings["This is required for message delivery to work."] = "Jest to konieczne,, aby dostarczanie wiadomoÅ›ci dziaÅ‚aÅ‚o."; +App::$strings["PHP register_argc_argv"] = "PHP register_argc_argv"; +App::$strings["This is not sufficient to upload larger images or files. You should be able to upload at least 4 MB at once."] = "To nie wystarczy, aby przesÅ‚ać wiÄ™ksze obrazy lub pliki. PowinieneÅ› móc przesÅ‚ać co najmniej 4 MB na raz."; +App::$strings["Your max allowed total upload size is set to %s. Maximum size of one file to upload is set to %s. You are allowed to upload up to %d files at once."] = "Twój maksymalny dopuszczalny łączny rozmiar przesyÅ‚anych plików to %s. Maksymalny rozmiar jednego pliku do przesÅ‚ania to %s. Możesz przesÅ‚ać jednoczeÅ›nie do %d plików."; +App::$strings["You can adjust these settings in the server php.ini file."] = "Możesz dostosować te ustawienia w pliku php.ini na serwerze."; +App::$strings["PHP upload limits"] = "Limity wysyÅ‚ania PHP"; +App::$strings["Error: the \"openssl_pkey_new\" function on this system is not able to generate encryption keys"] = "Błąd: funkcja \"openssl_pkey_new\" w tym systemie nie jest w stanie wygenerować kluczy szyfrujÄ…cych"; +App::$strings["If running under Windows, please see \"http://www.php.net/manual/en/openssl.installation.php\"."] = "JeÅ›li pracujesz w systemie Windows, przeczytaj \"http://www.php.net/manual/en/openssl.installation.php\"."; +App::$strings["Generate encryption keys"] = "Wygeneruj klucze szyfrowania"; +App::$strings["libCurl PHP module"] = "moduÅ‚ PHP libCurl"; +App::$strings["GD graphics PHP module"] = "ModuÅ‚ PHP GD graphics"; +App::$strings["OpenSSL PHP module"] = "ModuÅ‚ PHP OpenSSL"; +App::$strings["PDO database PHP module"] = "ModuÅ‚ PHP PDO"; +App::$strings["mb_string PHP module"] = "moduÅ‚ PHP mb_string PHP"; +App::$strings["xml PHP module"] = "moduÅ‚ PHP xml"; +App::$strings["zip PHP module"] = "moduÅ‚ PHP zip"; +App::$strings["Apache mod_rewrite module"] = "ModuÅ‚ Apache mod_rewrite"; +App::$strings["Error: Apache webserver mod-rewrite module is required but not installed."] = "Błąd: wymagany jest moduÅ‚ mod-rewrite serwera Apache, ale nie jest zainstalowany."; +App::$strings["exec"] = "exec"; +App::$strings["Error: exec is required but is either not installed or has been disabled in php.ini"] = "Błąd: wymagany jest program exec ale nie jest on zainstalowany lub zostaÅ‚ wyłączony w php.ini"; +App::$strings["shell_exec"] = "shell_exec"; +App::$strings["Error: shell_exec is required but is either not installed or has been disabled in php.ini"] = "Błąd: wymagany jest shell_exec, ale nie jest zainstalowany lub zostaÅ‚ wyłączony w php.ini"; +App::$strings["Error: libCURL PHP module required but not installed."] = "Błąd: wymagany jest moduÅ‚ PHP libCURL, ale nie jest zainstalowany."; +App::$strings["Error: GD PHP module with JPEG support or ImageMagick graphics library required but not installed."] = "Błąd: wymagany jest moduÅ‚ PHP GD z obsÅ‚ugÄ… formatu JPEG lub bibliotekÄ… graficznÄ… ImageMagick, ale nie jest on zainstalowany."; +App::$strings["Error: openssl PHP module required but not installed."] = "Błąd: wymagany jest moduÅ‚ PHP openssl, ale niezainstalowany."; +App::$strings["Error: PDO database PHP module missing a driver for either mysql or pgsql."] = "Błąd: w module PHP PDO brakuje sterownika dla mysql lub pgsql."; +App::$strings["Error: PDO database PHP module required but not installed."] = "Błąd: wymagany jest moduÅ‚ PHP PDO, ale nie jest zainstalowany."; +App::$strings["Error: mb_string PHP module required but not installed."] = "Błąd: wymagany, ale niezainstalowany moduÅ‚ mb_string PHP."; +App::$strings["Error: xml PHP module required for DAV but not installed."] = "Błąd: moduÅ‚ XML PHP wymagany dla DAV, ale nie jest zainstalowany."; +App::$strings["Error: zip PHP module required but not installed."] = "Błąd: wymagany jest moduÅ‚ PHP zip, ale nie jest on zainstalowany."; +App::$strings[".htconfig.php is writable"] = ".htconfig.php jest możliwy do zapisu"; +App::$strings["The web installer needs to be able to create a file called \".htconfig.php\" in the top folder of your web server and it is unable to do so."] = "Instalator internetowy musi mieć możliwość utworzenia pliku o nazwie \".htconfig.php\" w głównym folderze serwera WWW a nie może tego zrobić."; +App::$strings["This is most often a permission setting, as the web server may not be able to write files in your folder - even if you can."] = "Najczęściej jest to ustawienie uprawnieÅ„, ponieważ serwer WWW może nie być w stanie zapisywać plików w Twoim folderze - nawet jeÅ›li możesz."; +App::$strings["Please see install/INSTALL.txt for additional information."] = "Dodatkowe informacje można znaleźć w pliku install/INSTALL.txt."; +App::$strings["This software uses the Smarty3 template engine to render its web views. Smarty3 compiles templates to PHP to speed up rendering."] = "To oprogramowanie wykorzystuje silnik szablonów Smarty3 do renderowania widoków internetowych. Smarty3 kompiluje szablony do PHP, aby przyspieszyć renderowanie."; +App::$strings["In order to store these compiled templates, the web server needs to have write access to the directory %s under the top level web folder."] = "Aby przechowywać te skompilowane szablony, serwer sieciowy musi mieć dostÄ™p do zapisu w katalogu %s zlokalizowanym w folderze głównym serwera WWW."; +App::$strings["Please ensure that the user that your web server runs as (e.g. www-data) has write access to this folder."] = "Upewnij siÄ™, że wÅ‚aÅ›ciciel procesu serwer WWW (np. www-data), ma prawo do zapisu w tym folderze."; +App::$strings["Note: as a security measure, you should give the web server write access to %s only--not the template files (.tpl) that it contains."] = "Uwaga: ze wzglÄ™dów bezpieczeÅ„stwa powinno siÄ™ dać serwerowi WWW prawo zapisu tylko do %s - nie do plików szablonów (.tpl), które on zawiera."; +App::$strings["%s is writable"] = "%s jest możliwy do zapisu"; +App::$strings["This software uses the store directory to save uploaded files. The web server needs to have write access to the store directory under the top level web folder"] = "To oprogramowanie używa katalogu <i>store</i> do zapisywania przesyÅ‚anych plików. Serwer WWW musi mieć dostÄ™p do zapisu w katalogu <i>store</i>, znajdujÄ…cego siÄ™ w folderze serwera WWW najwyższego poziomu"; +App::$strings["store is writable"] = "katalog store jest możliwy do zapisu"; +App::$strings["SSL certificate cannot be validated. Fix certificate or disable https access to this site."] = "Nie można zweryfikować certyfikatu SSL. Napraw certyfikat lub wyłącz dostÄ™p https do tej witryny."; +App::$strings["If you have https access to your website or allow connections to TCP port 443 (the https: port), you MUST use a browser-valid certificate. You MUST NOT use self-signed certificates!"] = "JeÅ›li masz dostÄ™p https do swojego serwisu internetowego lub zezwalasz na połączenia z portem TCP 443 (port https:), MUSISZ użyć certyfikatu akceptowanego przez przeglÄ…darki. NIE WOLNO używać certyfikatów z podpisem wÅ‚asnym!"; +App::$strings["This restriction is incorporated because public posts from you may for example contain references to images on your own hub."] = "To ograniczenie zostaÅ‚o wprowadzone, ponieważ Twoje publiczne posty mogÄ… na przykÅ‚ad zawierać odniesienia do obrazów na Twoim hubie."; +App::$strings["If your certificate is not recognized, members of other sites (who may themselves have valid certificates) will get a warning message on their own site complaining about security issues."] = "JeÅ›li Twój certyfikat nie zostanie rozpoznany, czÅ‚onkowie innych witryn (którzy sami mogÄ… mieć ważne certyfikaty) otrzymajÄ… komunikat ostrzegawczy we wÅ‚asnej witrynie, ostrzegajÄ…cy o problemie z bezpieczeÅ„stwem."; +App::$strings["This can cause usability issues elsewhere (not just on your own site) so we must insist on this requirement."] = "Może to powodować problemy z użytecznoÅ›ciÄ… w innym serwisie (nie tylko na Twoim), wiÄ™c musimy nalegać na to wymaganie."; +App::$strings["Providers are available that issue free certificates which are browser-valid."] = "SÄ… dostÄ™pni dostawcy, którzy wydajÄ… bezpÅ‚atne certyfikaty akceptowane przez przeglÄ…darki."; +App::$strings["If you are confident that the certificate is valid and signed by a trusted authority, check to see if you have failed to install an intermediate cert. These are not normally required by browsers, but are required for server-to-server communications."] = "JeÅ›li masz pewność, że certyfikat jest ważny i podpisany przez zaufany urzÄ…d, sprawdź, czy nie udaÅ‚o siÄ™ zainstalować certyfikatu poÅ›redniego. Zwykle nie sÄ… one wymagane przez przeglÄ…darki, ale sÄ… wymagane do komunikacji miÄ™dzy serwerami."; +App::$strings["SSL certificate validation"] = "Walidacja certyfikatu SSL"; +App::$strings["Url rewrite in .htaccess is not working. Check your server configuration.Test: "] = "Przepisywanie adresu URL w .htaccess nie dziaÅ‚a. Sprawdź konfiguracjÄ™ serwera. Test: "; +App::$strings["Url rewrite is working"] = "Przepisywanie adresu URL dziaÅ‚a"; +App::$strings["The database configuration file \".htconfig.php\" could not be written. Please use the enclosed text to create a configuration file in your web server root."] = "Nie można zapisać pliku konfiguracyjnego bazy danych \".htconfig.php\". Użyj załączonego tekstu, aby utworzyć plik konfiguracyjny w katalogu głównym serwera WWW."; +App::$strings["Errors encountered creating database tables."] = "Napotkano błędy podczas tworzenia tabel bazy danych."; +App::$strings["<h1>What next?</h1>"] = "<h1>Co nastÄ™pnie?</h1>"; +App::$strings["IMPORTANT: You will need to [manually] setup a scheduled task for the poller."] = "WAÅ»NE: BÄ™dziesz musiaÅ‚ [rÄ™cznie] ustawić zaplanowane zadanie dla ankietera."; +App::$strings["No default suggestions were found."] = "Nie znaleziono domyÅ›lnych prpozycji."; +App::$strings["%d rating"] = array( + 0 => "%d ocen", + 1 => "%d oceny", + 2 => "%d ocen", +); +App::$strings["Gender: "] = "PÅ‚eć: "; +App::$strings["Status: "] = "Status: "; +App::$strings["Homepage: "] = "Strona główna: "; +App::$strings["Age:"] = "Wiek:"; +App::$strings["Location:"] = "Lokalizacja:"; +App::$strings["Description:"] = "Opis:"; +App::$strings["Hometown:"] = "Miasto pobytu:"; +App::$strings["About:"] = "O mnie:"; +App::$strings["Public Forum:"] = "Forum publiczne:"; +App::$strings["Keywords: "] = "SÅ‚owa kluczowe: "; +App::$strings["Don't suggest"] = "Nie sugeruj"; +App::$strings["Common connections (estimated):"] = "Popularne połączenia (oszacowanie):"; +App::$strings["Global Directory"] = "Katalog globalny"; +App::$strings["Local Directory"] = "Katalog lokalny"; +App::$strings["Finding:"] = "Odnaleziono:"; +App::$strings["next page"] = "nastÄ™pna strona"; +App::$strings["previous page"] = "poprzednia strona"; +App::$strings["Sort options"] = "Opcje sortowania"; +App::$strings["Alphabetic"] = "Alfabetycznie"; +App::$strings["Reverse Alphabetic"] = "Odwróć alfabetycznie"; +App::$strings["Newest to Oldest"] = "Od najnowszych do najstarszych"; +App::$strings["Oldest to Newest"] = "Od najstarszych do najnowszych"; +App::$strings["No entries (some entries may be hidden)."] = "Brak postów (niektóre posty mogÄ… być ukryte)."; +App::$strings["Menu not found."] = "Nie znaleziono menu."; +App::$strings["Unable to create element."] = "Nie można utworzyć elementu."; +App::$strings["Unable to update menu element."] = "Nie można zaktualizować elementu menu."; +App::$strings["Unable to add menu element."] = "Nie można dodać elementu menu."; +App::$strings["Menu Item Permissions"] = "Uprawnienia do pozycji menu"; +App::$strings["(click to open/close)"] = "(kliknij, aby otworzyć/zamknąć)"; +App::$strings["Link Name"] = "Nazwa linku"; +App::$strings["Link or Submenu Target"] = "Link lub element docelowy podmenu"; +App::$strings["Enter URL of the link or select a menu name to create a submenu"] = "Wprowadź adres URL linku lub wybierz nazwÄ™ menu, aby utworzyć podmenu"; +App::$strings["Use magic-auth if available"] = "Użyj magicznego uwierzytelniania, jeÅ›li jest dostÄ™pne"; +App::$strings["Open link in new window"] = "Otwórz link w nowym oknie"; +App::$strings["Order in list"] = "PorzÄ…dek listy"; +App::$strings["Higher numbers will sink to bottom of listing"] = "Wyższe liczby spadnÄ… na koniec listy"; +App::$strings["Submit and finish"] = "PrzeÅ›lij i zakoÅ„cz"; +App::$strings["Submit and continue"] = "PrzeÅ›lij i kontynuuj"; +App::$strings["Menu:"] = "Menu:"; +App::$strings["Link Target"] = "Cel linku"; +App::$strings["Edit menu"] = "Edytuj menu"; +App::$strings["Edit element"] = "Edytuj element"; +App::$strings["Drop element"] = "Upuść element"; +App::$strings["New element"] = "Nowy element"; +App::$strings["Edit this menu container"] = "Edytuj ten kontener menu"; +App::$strings["Add menu element"] = "Dodaj element menu"; +App::$strings["Delete this menu item"] = "UsuÅ„ tÄ™ pozycjÄ™ menu"; +App::$strings["Edit this menu item"] = "Edytuj tÄ™ pozycjÄ™ menu"; +App::$strings["Menu item not found."] = "Nie znaleziono elementu menu."; +App::$strings["Menu item deleted."] = "Usunieto element menu."; +App::$strings["Menu item could not be deleted."] = "Nie można usunąć elementu menu."; +App::$strings["Edit Menu Element"] = "Edytuj element menu"; +App::$strings["Link text"] = "Tekst linku"; +App::$strings["__ctx:mood__ %1\$s is %2\$s"] = "%1\$s jest %2\$s"; +App::$strings["Mood App"] = "Aplikacja Mood"; +App::$strings["Set your current mood and tell your friends"] = "Ustaw swój aktualny nastrój i podziel siÄ™ tym ze znajomymi"; +App::$strings["Mood"] = "Mood"; +App::$strings["Permission category name is required."] = "Wymaga siÄ™ podania nazwy kategorii uprawnieÅ„."; +App::$strings["Permission category saved."] = "Kategoria uprawnieÅ„ zostaÅ‚a zapisana."; +App::$strings["Permission Categories App"] = "Aplikacja Permission Categories"; +App::$strings["Create custom connection permission limits"] = "Utwórz wÅ‚asne limity uprawnieÅ„ do połączeÅ„"; +App::$strings["Use this form to create permission rules for various classes of people or connections."] = "Użyj tego formularza, aby utworzyć reguÅ‚y uprawnieÅ„ dla różnych klas osób lub połączeÅ„."; +App::$strings["Permission Categories"] = "Kategorie uprawnieÅ„"; +App::$strings["Permission category name"] = "Nazwa kategorii uprawnieÅ„"; +App::$strings["No ratings"] = "Brak ocen"; +App::$strings["Rating: "] = "Ocena: "; +App::$strings["Website: "] = "Serwis: "; +App::$strings["Description: "] = "Opis: "; +App::$strings["Maximum daily site registrations exceeded. Please try again tomorrow."] = "Przekroczono maksymalnÄ… dziennÄ… liczbÄ™ rejestracji witryn. ProszÄ™ spróbuj ponownie jutro."; +App::$strings["Please indicate acceptance of the Terms of Service. Registration failed."] = "ProszÄ™ zaznaczyć <strong>akceptacjÄ™ Warunków korzystania z usÅ‚ugi</strong>. Rejestracja nieudana."; +App::$strings["Passwords do not match."] = "HasÅ‚a niezgodne."; +App::$strings["Registration successful. Continue to create your first channel..."] = "Rejestracja pomyÅ›lna. Kontynuuj tworzenie swojego pierwszego kanaÅ‚u ..."; +App::$strings["Registration successful. Please check your email for validation instructions."] = "Rejestracja oomyÅ›lna. Sprawdź pocztÄ™ e-mail, aby uzyskać instrukcje dotyczÄ…ce weryfikacji."; +App::$strings["Your registration is pending approval by the site owner."] = "Twoja rejestracja oczekuje na zatwierdzenie przez wÅ‚aÅ›ciciela serwisu."; +App::$strings["Your registration can not be processed."] = "Twoja rejestracja oczekuje na zatwierdzenie przez wÅ‚aÅ›ciciela witryny."; +App::$strings["Registration on this hub is disabled."] = "Rejestracja na tym hubie jest wyłączona."; +App::$strings["Registration on this hub is by approval only."] = "Rejestracja na tym hubie wymaga zatwierdzenia."; +App::$strings["<a href=\"pubsites\">Register at another affiliated hub.</a>"] = "<a href=\"pubsites\">Zarejestruj siÄ™ na innym stowarzyszonym hubie. </a>"; +App::$strings["Registration on this hub is by invitation only."] = "Rejestracja na tym hubie wumaga uprzedniego zaproszenia."; +App::$strings["This site has exceeded the number of allowed daily account registrations. Please try again tomorrow."] = "Na tym serwisie przekroczono dozwolonÄ… liczbÄ™ dziennych rejestracji kont. ProszÄ™ spróbuj ponownie jutro."; +App::$strings["Terms of Service"] = "Regulamin"; +App::$strings["I accept the %s for this website"] = "AkceptujÄ™ % s dla tego serwisu"; +App::$strings["I am over %s years of age and accept the %s for this website"] = "Mam ponad % s lat i akceptujÄ™ % s dla tego serwisu"; +App::$strings["Your email address"] = "Twój adres e-mail"; +App::$strings["Choose a password"] = "Wybierz hasÅ‚o"; +App::$strings["Please re-enter your password"] = "Wprowadź ponownie swoje hasÅ‚o"; +App::$strings["Please enter your invitation code"] = "Wprowadź kod zaproszenia"; +App::$strings["Your Name"] = "Twoja nazwa"; +App::$strings["Real names are preferred."] = "Preferowane sÄ… prawdziwe imiona."; +App::$strings["Your nickname will be used to create an easy to remember channel address e.g. nickname%s"] = "Twój pseudonim posÅ‚uży do stworzenia Å‚atwego do zapamiÄ™tania adresu kanaÅ‚u, np. pseudonim%s"; +App::$strings["Select a channel permission role for your usage needs and privacy requirements."] = "Wybierz rolÄ™ uprawnieÅ„ do kanaÅ‚u zgodnie z potrzebami użytkowania i wymaganiami dotyczÄ…cymi prywatnoÅ›ci."; +App::$strings["no"] = "nie"; +App::$strings["yes"] = "tak"; +App::$strings["Register"] = "Zarejestruj siÄ™"; +App::$strings["This site requires email verification. After completing this form, please check your email for further instructions."] = "Ta witryna wymaga weryfikacjÄ™ adresu e-mail. Po wypeÅ‚nieniu tego formularza sprawdź swojÄ… pocztÄ™ e-mail, aby uzyskać dalsze instrukcje."; +App::$strings["__ctx:acl__ Profile"] = "Profil"; +App::$strings["network"] = "sieć"; +App::$strings["No feature settings configured"] = "Brak skonfigurowanych ustawieÅ„ funkcji"; +App::$strings["Addon Settings"] = "Ustawienia dodatków"; +App::$strings["Please save/submit changes to any panel before opening another."] = "Zapisz/przeÅ›lij zmiany do dowolnego panelu przed otwarciem kolejnego."; +App::$strings["Not valid email."] = "NieprawidÅ‚owy adres e-mail."; +App::$strings["Protected email address. Cannot change to that email."] = "Chroniony adres e-mail. Nie można zmienić tego adresu e-mail."; +App::$strings["System failure storing new email. Please try again."] = "Błąd systemu podczas zapisywania nowej wiadomoÅ›ci e-mail. ProszÄ™ spróbuj ponownie."; +App::$strings["Password verification failed."] = "Weryfikacja hasÅ‚a nie powiodÅ‚a siÄ™."; +App::$strings["Passwords do not match. Password unchanged."] = "HasÅ‚a nie pasujÄ… do siebie. Nie zmieniono hasÅ‚a."; +App::$strings["Empty passwords are not allowed. Password unchanged."] = "Puste hasÅ‚a sÄ… niedozwolone. Nie zmieniono hasÅ‚a."; +App::$strings["Password changed."] = "HasÅ‚o zostaÅ‚o zmienione."; +App::$strings["Password update failed. Please try again."] = "Aktualizacja hasÅ‚a nie powiodÅ‚a siÄ™. ProszÄ™ spróbuj ponownie."; +App::$strings["Account Settings"] = "Ustawienia konta"; +App::$strings["Current Password"] = "Bieżące hasÅ‚o"; +App::$strings["Enter New Password"] = "Wprowadź nowe hasÅ‚o"; +App::$strings["Confirm New Password"] = "Potwierdź nowe hasÅ‚o"; +App::$strings["Leave password fields blank unless changing"] = "Pozostaw pola hasÅ‚a puste, chyba że je zmieniasz"; +App::$strings["Email Address:"] = "Adres e-mail:"; +App::$strings["Remove this account including all its channels"] = "UsuÅ„ to konto wraz ze wszystkimi jego kanaÅ‚ami"; +App::$strings["Events Settings"] = "Ustawienia wydarzeÅ„"; +App::$strings["Profiles Settings"] = "Ustawienia profili"; +App::$strings["Editor Settings"] = "Editor Settings"; +App::$strings["Additional Features"] = "Dodatkowe funkcjonalnoÅ›ci"; +App::$strings["Channel Manager Settings"] = "Ustawienia menadżera kanałów"; +App::$strings["%s - (Experimental)"] = "%s - (eksperymentalne)"; +App::$strings["Display Settings"] = "Ustawienia wyÅ›wietlania"; +App::$strings["Theme Settings"] = "Ustawienia motywu"; +App::$strings["Custom Theme Settings"] = "Ustawienia wÅ‚asnego motywu"; +App::$strings["Content Settings"] = "Ustawienia treÅ›ci"; +App::$strings["Display Theme:"] = "WyÅ›wietl motyw:"; +App::$strings["Select scheme"] = "Wybierz schemat"; +App::$strings["Preload images before rendering the page"] = "PrzeÅ‚aduj obrazy przed renderowaniem strony"; +App::$strings["The subjective page load time will be longer but the page will be ready when displayed"] = "Subiektywny czas Å‚adowania strony bÄ™dzie dÅ‚uższy, ale strona bÄ™dzie gotowa po wyÅ›wietleniu"; +App::$strings["Enable user zoom on mobile devices"] = "Włącz zoom użytkownika na urzÄ…dzeniach mobilnych"; +App::$strings["Update browser every xx seconds"] = "Aktualizuj przeglÄ…darkÄ™ co xx sekund"; +App::$strings["Minimum of 10 seconds, no maximum"] = "Co najmniej 10 sekund, nie maksimum"; +App::$strings["Maximum number of conversations to load at any time:"] = "Maksymalna liczba rozmów do zaÅ‚adowania w dowolnym momencie:"; +App::$strings["Maximum of 30 items"] = "Maksymalnie 30 pozycji"; +App::$strings["Show emoticons (smilies) as images"] = "Pokaż emotikony (uÅ›mieszki) jako obrazy"; +App::$strings["Provide channel menu in navigation bar"] = "Podaj menu kanaÅ‚u na pasku nawigacji"; +App::$strings["Default: channel menu located in app menu"] = "DomyÅ›lnie: menu kanaÅ‚u znajduje siÄ™ w menu aplikacji"; +App::$strings["Link post titles to source"] = "Połącz tytuÅ‚y postów ze źródÅ‚em"; +App::$strings["New Member Links"] = "Linki dla nowych czÅ‚onków"; +App::$strings["Display new member quick links menu"] = "WyÅ›wietl menu szybkich łączy dla nowych czÅ‚onków"; +App::$strings["Photos Settings"] = "Ustawienia zdjęć"; +App::$strings["Nobody except yourself"] = "Nikt oprócz ciebie"; +App::$strings["Only those you specifically allow"] = "Tylko te, na które jawnie zezwalasz"; +App::$strings["Approved connections"] = "Zatwierdzone połączenia"; +App::$strings["Any connections"] = "Wszelkie połączenia"; +App::$strings["Anybody on this website"] = "Każdy w tym serwisie"; +App::$strings["Anybody in this network"] = "Każdy w tej sieci"; +App::$strings["Anybody authenticated"] = "Każda uwierzytelniona osoba"; +App::$strings["Anybody on the internet"] = "Każdy w internecie"; +App::$strings["Publish your default profile in the network directory"] = "Opublikuj swój domyÅ›lny profil w katalogu sieciowym"; +App::$strings["Allow us to suggest you as a potential friend to new members?"] = "Czy pozwalasz nam sugerować Ciebie jako potencjalnego przyjaciela nowym czÅ‚onkom?"; +App::$strings["or"] = "lub"; +App::$strings["Your channel address is"] = "Twój adres kanaÅ‚u to"; +App::$strings["Your files/photos are accessible via WebDAV at"] = "Twoje pliki/zdjÄ™cia sÄ… dostÄ™pne przez WebDAV pod adresem"; +App::$strings["Automatic membership approval"] = "Automatyczne zatwierdzanie czÅ‚onkostwa"; +App::$strings["Channel Settings"] = "Ustawienia kanaÅ‚u"; +App::$strings["Basic Settings"] = "Podstawowe ustawienia"; +App::$strings["Full Name:"] = "PeÅ‚na nazwa:"; +App::$strings["Your Timezone:"] = "Twoja strefa czasowa:"; +App::$strings["Default Post Location:"] = "DomyÅ›lna lokalizacja postu:"; +App::$strings["Geographical location to display on your posts"] = "Lokalizacja geograficzna do wyÅ›wietlania w Twoich postach"; +App::$strings["Use Browser Location:"] = "Użyj lokalizacji przeglÄ…darki:"; +App::$strings["Adult Content"] = "Treść dla dorosÅ‚ych"; +App::$strings["This channel frequently or regularly publishes adult content. (Please tag any adult material and/or nudity with #NSFW)"] = "Ten kanaÅ‚ czÄ™sto lub regularnie publikuje treÅ›ci dla dorosÅ‚ych. (Oznacz wszelkie materiaÅ‚y dla dorosÅ‚ych albo nagość tagiem #NSFW)"; +App::$strings["Security and Privacy Settings"] = "Ustawienia bezpieczeÅ„stwa i prywatnoÅ›ci"; +App::$strings["Your permissions are already configured. Click to view/adjust"] = "Twoje uprawnienia sÄ… już skonfigurowane. Kliknij, aby wyÅ›wietlić/dostosować"; +App::$strings["Hide my online presence"] = "Ukryj mojÄ… obecność w Internecie"; +App::$strings["Prevents displaying in your profile that you are online"] = "Zapobiega wyÅ›wietlaniu w Twoim profilu, że jesteÅ› online"; +App::$strings["Simple Privacy Settings:"] = "Proste ustawienia prywatnoÅ›ci:"; +App::$strings["Very Public - <em>extremely permissive (should be used with caution)</em>"] = "Bardzo publiczne - <em>wyjÄ…tkowo pobÅ‚ażliwe (należy używać ostrożnie)</em>"; +App::$strings["Typical - <em>default public, privacy when desired (similar to social network permissions but with improved privacy)</em>"] = "Typowe - <em>domyÅ›lne publiczne, prywatność w razie potrzeby (podobne do uprawnieÅ„ w popularnych sieciach spoÅ‚ecznoÅ›ciowych, ale z podwyższonÄ… prywatnoÅ›ciÄ…)</em>"; +App::$strings["Private - <em>default private, never open or public</em>"] = "Prywatne - <em>domyÅ›lnie prywatne, nigdy otwarte ani publiczne</em>"; +App::$strings["Blocked - <em>default blocked to/from everybody</em>"] = "Zablokowane - <em>domyÅ›lnie zablokowane dla/od wszystkich</em>"; +App::$strings["Allow others to tag your posts"] = "Pozwól innym oznaczać Twoje posty"; +App::$strings["Often used by the community to retro-actively flag inappropriate content"] = "CzÄ™sto używany przez spoÅ‚eczność do oznaczania nieodpowiednich treÅ›ci z mocÄ… wstecznÄ…"; +App::$strings["Channel Permission Limits"] = "Limity uprawnieÅ„ kanaÅ‚u"; +App::$strings["Expire other channel content after this many days"] = "Po tej iloÅ›ci dni wygasajÄ… inne treÅ›ci w kanale"; +App::$strings["0 or blank to use the website limit."] = "0 lub puste, aby użyć limitu serwisu."; +App::$strings["This website expires after %d days."] = "Ta strona wygasa po %d dniach."; +App::$strings["This website does not expire imported content."] = "Na tym serwis internetowym importowanej zawartoÅ›ci nie jest wygaszana."; +App::$strings["The website limit takes precedence if lower than your limit."] = "Limit serwisu ma pierwszeÅ„stwo, jeÅ›li jest niższy niż Twój limit."; +App::$strings["Maximum Friend Requests/Day:"] = "Maksymalna liczba zaproszeÅ„ do znajomych, dziennie:"; +App::$strings["May reduce spam activity"] = "Może zmniejszyć aktywność spamu"; +App::$strings["Default Privacy Group"] = "DomyÅ›lna grupa prywatnoÅ›ci"; +App::$strings["Use my default audience setting for the type of object published"] = "Użyj mojego domyÅ›lnego ustawienia odbiorców dla typu publikowanego obiektu"; +App::$strings["Default permissions category"] = "DomyÅ›lna kategoria uprawnieÅ„"; +App::$strings["Maximum private messages per day from unknown people:"] = "Maksymalna liczba prywatnych wiadomoÅ›ci dziennie od nieznanych osób:"; +App::$strings["Useful to reduce spamming"] = "Przydatne do ograniczenia spamowania"; +App::$strings["Notification Settings"] = "Ustawienia powiadomieÅ„"; +App::$strings["By default post a status message when:"] = "DomyÅ›lnie publikuj komunikat o stanie, gdy:"; +App::$strings["accepting a friend request"] = "zaakceptowano zaproszenia do znajomych"; +App::$strings["joining a forum/community"] = "dołączoni do forum/spoÅ‚ecznoÅ›ci"; +App::$strings["making an <em>interesting</em> profile change"] = "dokonano <em>interesujÄ…cej</em> zmiany profilu"; +App::$strings["Send a notification email when:"] = "WyÅ›lij e-mail z powiadomieniem, gdy:"; +App::$strings["You receive a connection request"] = "Otrzymujesz żądanie połączenia"; +App::$strings["Your connections are confirmed"] = "Twoje połączenia sÄ… potwierdzone"; +App::$strings["Someone writes on your profile wall"] = "KtoÅ› pisze na Twojej Å›cianie profilu"; +App::$strings["Someone writes a followup comment"] = "KtoÅ› pisze komentarz uzupeÅ‚niajÄ…cy"; +App::$strings["You receive a private message"] = "Otrzymujesz prywatnÄ… wiadomość"; +App::$strings["You receive a friend suggestion"] = "Otrzymasz propozycjÄ™ znajomoÅ›ci"; +App::$strings["You are tagged in a post"] = "Oznaczono Ciebie tagiem w poÅ›cie"; +App::$strings["You are poked/prodded/etc. in a post"] = "SzturchniÄ™to Ciebie w poÅ›cie"; +App::$strings["Someone likes your post/comment"] = "KtoÅ› polubiÅ‚ Twój post/komentarz"; +App::$strings["Show visual notifications including:"] = "Pokaż powiadomienia wizualne, w tym:"; +App::$strings["Unseen stream activity"] = "NiewidocznÄ… aktywność na strumieniu"; +App::$strings["Unseen channel activity"] = "NiewidocznÄ… aktywność w kanale"; +App::$strings["Unseen private messages"] = "NiewidocznÄ… wiadomoÅ›ci prywatne"; +App::$strings["Recommended"] = "Zalecane"; +App::$strings["Upcoming events"] = "NadchodzÄ…ce wydarzenia"; +App::$strings["Events today"] = "Wydarzenia dzisiejsze"; +App::$strings["Upcoming birthdays"] = "NadchodzÄ…ce urodziny"; +App::$strings["Not available in all themes"] = "NiedostÄ™pne we wszystkich motywach"; +App::$strings["System (personal) notifications"] = "Powiadomienia systemowe (osobiste)"; +App::$strings["System info messages"] = "Systemowe komunikaty informacyjne"; +App::$strings["System critical alerts"] = "Systemowe alerty krytyczne"; +App::$strings["New connections"] = "Nowe połączenia"; +App::$strings["System Registrations"] = "Rejestracje systemowe"; +App::$strings["Unseen shared files"] = "Niewidoczne udostÄ™pnione pliki"; +App::$strings["Unseen public stream activity"] = "Niewidoczna aktywność na publicznym strumieniu"; +App::$strings["Unseen likes and dislikes"] = "Niewidoczne polubienia i dezaprobaty"; +App::$strings["Unseen forum posts"] = "Niewidoczne posty na forum"; +App::$strings["Email notification hub (hostname)"] = "Hub powiadomieÅ„ e-mail (nazwa hosta)"; +App::$strings["If your channel is mirrored to multiple hubs, set this to your preferred location. This will prevent duplicate email notifications. Example: %s"] = "JeÅ›li twój kanaÅ‚ jest powielany na wielu hubach, ustaw to na preferowanÄ… lokalizacjÄ™. Zapobiegnie to powielaniu powiadomieÅ„ e-mail. PrzykÅ‚ad: % s"; +App::$strings["Show new wall posts, private messages and connections under Notices"] = "Pokaż w powiadomieniach nowe posty na Å›cianie, prywatne wiadomoÅ›ci i połączenia"; +App::$strings["Notify me of events this many days in advance"] = "Informuj mnie o wydarzeniach z tak wielodniowym wyprzedzeniem"; +App::$strings["Must be greater than 0"] = "Musi być wiÄ™ksza od 0"; +App::$strings["Advanced Account/Page Type Settings"] = "Zaawansowane ustawienia konta/typu strony"; +App::$strings["Change the behaviour of this account for special situations"] = "ZmieÅ„ zachowanie tego konta w szczególnych sytuacjach"; +App::$strings["Miscellaneous Settings"] = "Różne ustawienia"; +App::$strings["Default photo upload folder"] = "DomyÅ›lny folder przesyÅ‚ania zdjęć"; +App::$strings["%Y - current year, %m - current month"] = "%Y - bieżący rok, %m - bieżący miesiÄ…c"; +App::$strings["Default file upload folder"] = "DomyÅ›lny folder przesyÅ‚ania plików"; +App::$strings["Remove this channel."] = "UsuÅ„ ten kanaÅ‚."; +App::$strings["Connections Settings"] = "Ustawienia połączeÅ„"; +App::$strings["Calendar Settings"] = "Ustawienia kalendarza"; +App::$strings["Directory Settings"] = "Ustawienia katalogu"; +App::$strings["Max height of content (in pixels)"] = "Maksymalna wysokość pola treÅ›ci (w pikselach)"; +App::$strings["Click to expand content exceeding this height"] = "Kliknij, aby rozwinąć treść przekraczajÄ…cÄ… tÄ™ wysokość"; +App::$strings["Personal menu to display in your channel pages"] = "Menu osobiste do wyÅ›wietlania na stronach Twojego kanaÅ‚"; +App::$strings["Channel Home Settings"] = "Ustawienia strony głównej kanaÅ‚u"; +App::$strings["Stream Settings"] = "Ustawienia strumienia"; +App::$strings["Settings saved."] = "Ustawienia zapisane."; +App::$strings["Settings saved. Reload page please."] = "Ustawienia zapisane. ProszÄ™ ponownie zaÅ‚adować stronÄ™."; +App::$strings["Conversation Settings"] = "Ustawienia rozmów"; +App::$strings["Remote Diagnostics App"] = "Aplikacja Remote Diagnostics"; +App::$strings["Perform diagnostics on remote channels"] = "Przeprowadź diagnostykÄ™ zdalnych kanałów"; +App::$strings["Total invitation limit exceeded."] = "Przekroczono łączny limit zaproszeÅ„."; +App::$strings["%s : Not a valid email address."] = "% s: nieprawidÅ‚owy adres e-mail."; +App::$strings["Please join us on \$Projectname"] = "Dołącz do nas na \$Projectname"; +App::$strings["Invitation limit exceeded. Please contact your site administrator."] = "Przekroczono limit zaproszeÅ„. Skontaktuj siÄ™ z administratorem serwisu."; +App::$strings["%s : Message delivery failed."] = "%s: dostarczenie wiadomoÅ›ci nie powiodÅ‚o siÄ™."; +App::$strings["%d message sent."] = array( + 0 => "WysÅ‚ano %d wiadomość.", + 1 => "WysÅ‚ano %d wiadomoÅ›ci.", + 2 => "WysÅ‚ano %d wiadomoÅ›ci.", +); +App::$strings["Invite App"] = "Aplikacja Invite"; +App::$strings["Send email invitations to join this network"] = "WyÅ›lij wiadomoÅ›ci e-mail z zaproszeniami do przyłączenia siÄ™ do tej sieci"; +App::$strings["You have no more invitations available"] = "Nie masz wiÄ™cej dostÄ™pnych zaproszeÅ„"; +App::$strings["Send invitations"] = "WysyÅ‚ać zaproszenia"; +App::$strings["Enter email addresses, one per line:"] = "Wprowadź adresy e-mail, po jednym w każdym wierszu:"; +App::$strings["Your message:"] = "Twoja wiadomość:"; +App::$strings["Please join my community on \$Projectname."] = "Dołącz do mojej spoÅ‚ecznoÅ›ci w \$Projectname."; +App::$strings["You will need to supply this invitation code:"] = "Trzeba bÄ™dzie podać ten kod zaproszenia:"; +App::$strings["1. Register at any \$Projectname location (they are all inter-connected)"] = "1. Zarejestruj siÄ™ w dowolnej lokalizacji \$Projectname (wszystkie sÄ… ze sobÄ… połączone)"; +App::$strings["2. Enter my \$Projectname network address into the site searchbar."] = "2. Wpisz mój adres sieciowy \$Projectname w pasku wyszukiwania serwisu."; +App::$strings["or visit"] = "lub odwiedź"; +App::$strings["3. Click [Connect]"] = "3. Kliknij [Połącz]"; +App::$strings["About this site"] = "O tym serwisie"; +App::$strings["Site Name"] = "Nazwa witryny"; +App::$strings["Administrator"] = "Administrator"; +App::$strings["Software and Project information"] = "Informacje o oprogramowaniu i projekcie"; +App::$strings["This site is powered by \$Projectname"] = "Ta witryna jest oparta na \$Projectname"; +App::$strings["Federated and decentralised networking and identity services provided by Zot"] = "Sfederowane i zdecentralizowane usÅ‚ugi sieciowe i tożsamoÅ›ci wykorzystujÄ…ce protokół Zot"; +App::$strings["Additional federated transport protocols:"] = "Dodatkowe protokoÅ‚y transportu federacyjnego:"; +App::$strings["Version %s"] = "Wersja %s"; +App::$strings["Project homepage"] = "Strona główna projektu"; +App::$strings["Developer homepage"] = "Strona główna developerów"; +App::$strings["No service class restrictions found."] = "Nie znaleziono ograniczeÅ„ klasy usÅ‚ug."; +App::$strings["Select a bookmark folder"] = "Wybierz folder zakÅ‚adek"; +App::$strings["Save Bookmark"] = "Zapisz zakÅ‚adkÄ™"; +App::$strings["URL of bookmark"] = "URL zakÅ‚adki"; +App::$strings["Or enter new bookmark folder name"] = "Lub wprowadź nowÄ… nazwÄ™ folderu zakÅ‚adek"; +App::$strings["Language App"] = "Aplikacja Language"; +App::$strings["Change UI language"] = "ZmieÅ„ jÄ™zyk interfejsu użytkownika"; +App::$strings["Welcome to Hubzilla!"] = "Witamy w Hubzilla!"; +App::$strings["You have got no unseen posts..."] = "Nie masz żadnych nieoglÄ…dniÄ™tych postów..."; +App::$strings["Cover Photos"] = "ZdjÄ™cia na okÅ‚adkÄ™"; +App::$strings["female"] = "kobieta"; +App::$strings["%1\$s updated her %2\$s"] = "%1\$s zaktualizowaÅ‚ jÄ… %2\$s"; +App::$strings["male"] = "mężczyzna"; +App::$strings["%1\$s updated his %2\$s"] = "%1\$s zaktualizowaÅ‚ go %2\$s"; +App::$strings["%1\$s updated their %2\$s"] = "%1\$s zaktualizowaÅ‚ ich %2\$s"; +App::$strings["cover photo"] = "zdjÄ™cie okÅ‚adkowe"; +App::$strings["Your cover photo may be visible to anybody on the internet"] = "Twoje zdjÄ™cie okÅ‚adkowe może być widoczne dla każdego w internecie"; +App::$strings["Change Cover Photo"] = "ZmieÅ„ zdjÄ™cie na okÅ‚adkÄ™"; +App::$strings["Unable to update menu."] = "Nie można zaktualizować menu."; +App::$strings["Unable to create menu."] = "Nie można utworzyć menu."; +App::$strings["Menu Name"] = "Nazwa menu"; +App::$strings["Unique name (not visible on webpage) - required"] = "Unikalna nazwa (niewidoczna na stronie) - wymagana"; +App::$strings["Menu Title"] = "TytuÅ‚ menu"; +App::$strings["Visible on webpage - leave empty for no title"] = "Widoczne na stronie - pozostaw puste bez tytuÅ‚u"; +App::$strings["Allow Bookmarks"] = "Zezwalaj na zakÅ‚adki"; +App::$strings["Menu may be used to store saved bookmarks"] = "Menu może sÅ‚użyć do przechowywania zapisanych zakÅ‚adek"; +App::$strings["Submit and proceed"] = "PrzeÅ›lij i kontynuuj"; +App::$strings["Menus"] = "Menu"; +App::$strings["Bookmarks allowed"] = "ZakÅ‚adki sÄ… dozwolone"; +App::$strings["Delete this menu"] = "UsuÅ„ to menu"; +App::$strings["Edit menu contents"] = "Edytuj zawartość menu"; +App::$strings["Edit this menu"] = "Edytuj to menu"; +App::$strings["Menu could not be deleted."] = "Nie udaÅ‚o siÄ™ usunąć menu."; +App::$strings["Edit Menu"] = "Edytuj menu"; +App::$strings["Add or remove entries to this menu"] = "Dodaj lub usuÅ„ posty w tym menu"; +App::$strings["Menu name"] = "Nazwa menu"; +App::$strings["Must be unique, only seen by you"] = "Musi być wyjÄ…tkowy, widoczny tylko dla Ciebie"; +App::$strings["Menu title"] = "TytuÅ‚ menu"; +App::$strings["Menu title as seen by others"] = "TytuÅ‚ menu widziany przez innych"; +App::$strings["Allow bookmarks"] = "Zezwalaj na zakÅ‚adki"; +App::$strings["Failed to create source. No channel selected."] = "Nie udaÅ‚o siÄ™ utworzyć źródÅ‚a. Nie wybrano kanaÅ‚u."; +App::$strings["Source created."] = "Utworzono źródÅ‚o."; +App::$strings["Source updated."] = "ŹródÅ‚o zaktualizowane."; +App::$strings["Sources App"] = "Aplikacja Sources"; +App::$strings["Automatically import channel content from other channels or feeds"] = "Automatycznie importuj zawartość kanaÅ‚u z innych kanałów lub źródeÅ‚"; +App::$strings["*"] = "*"; +App::$strings["Channel Sources"] = "ŹródÅ‚a kanałów"; +App::$strings["Manage remote sources of content for your channel."] = "ZarzÄ…dzaj zdalnymi źródÅ‚ami treÅ›ci na swoim kanale."; +App::$strings["New Source"] = "Nowe źródÅ‚o"; +App::$strings["Import all or selected content from the following channel into this channel and distribute it according to your channel settings."] = "Zaimportuj wszystkie lub wybrane treÅ›ci z nastÄ™pujÄ…cego kanaÅ‚u do tego kanaÅ‚u i rozpowszechniaj je zgodnie z ustawieniami kanaÅ‚u."; +App::$strings["Only import content with these words (one per line)"] = "Importuj tylko zawartość z tymi sÅ‚owami (po jednym w każdym wierszu)"; +App::$strings["Leave blank to import all public content"] = "Pozostaw puste, aby zaimportować całą zawartość publicznÄ…"; +App::$strings["Channel Name"] = "Nazwa kanaÅ‚u"; +App::$strings["Add the following categories to posts imported from this source (comma separated)"] = "Dodaj nastÄ™pujÄ…ce kategorie do postów zaimportowanych z tego źródÅ‚a (oddzielone przecinkami)"; +App::$strings["Resend posts with this channel as author"] = "WyÅ›lij ponownie posty z tym kanaÅ‚em jako autorem"; +App::$strings["Copyrights may apply"] = "Copyrights may apply"; +App::$strings["Source not found."] = "Nie znaleziono źródÅ‚a."; +App::$strings["Edit Source"] = "Edytuj źródÅ‚o"; +App::$strings["Delete Source"] = "UsuÅ„ źródÅ‚o"; +App::$strings["Source removed"] = "ŹródÅ‚o zostaÅ‚o usuniÄ™te"; +App::$strings["Unable to remove source."] = "Nie można usunąć źródÅ‚a."; +App::$strings["Poke App"] = "Aplikacja Poke"; +App::$strings["Poke somebody in your addressbook"] = "Szturchij kogoÅ› w swojej książce adresowej"; +App::$strings["Poke"] = "Szturchnij"; +App::$strings["Poke somebody"] = "Szturchnij kogoÅ›"; +App::$strings["Poke/Prod"] = "Szturchnij"; +App::$strings["Poke, prod or do other things to somebody"] = "Szturchać, badać, testować lub robić z kimÅ› podobne rzeczy"; +App::$strings["Recipient"] = "Odbiorca"; +App::$strings["Choose what you wish to do to recipient"] = "Wybierz, co chcesz zrobić odbiorcy"; +App::$strings["Make this post private"] = "Ustaw ten post jako prywatny"; +App::$strings["No such group"] = "Nie ma takiej grupy"; +App::$strings["No such channel"] = "Nie ma takiego kanaÅ‚u"; +App::$strings["Privacy group is empty"] = "Grupa prywatnoÅ›ci jest pusta"; +App::$strings["Privacy group: "] = "Grupa prywatnoÅ›ci: "; +App::$strings["Invalid channel."] = "ZÅ‚y kanaÅ‚."; +App::$strings["Can not copy folder into itself."] = "Nie można skopiować folderu do siebie."; +App::$strings["Can not move folder \"%s\" into itself."] = "Nie można przenieść folderu \"%s\" do samego siebie."; +App::$strings["item"] = "element"; +App::$strings["Remote privacy information not available."] = "Zdalne informacje o prywatnoÅ›ci nie sÄ… dostÄ™pne."; +App::$strings["Visible to:"] = "Widoczne dla:"; +App::$strings["Change filename to"] = "ZmieÅ„ nazwÄ™ pliku na"; +App::$strings["Select a target location"] = "Wybierz lokalizacjÄ™ docelowÄ…"; +App::$strings["Copy to target location"] = "Skopiuj do lokalizacji docelowej"; +App::$strings["Set permissions for all files and sub folders"] = "Ustaw uprawnienia dla wszystkich plików i podfolderów"; +App::$strings["Notify your contacts about this file"] = "Powiadom swoje kontakty o tym pliku"; +App::$strings["File category"] = "Kategoria plików"; +App::$strings["Total"] = "Ogólnie"; +App::$strings["Shared"] = "UdostÄ™pnione"; +App::$strings["Add Files"] = "Dodaj pliki"; +App::$strings["Admin Delete"] = "UsuÅ„ przez administratora"; +App::$strings["parent"] = "rodzic"; +App::$strings["Select All"] = "Zaznacz wszystko"; +App::$strings["Bulk Actions"] = "DziaÅ‚ania masowe"; +App::$strings["Adjust Permissions"] = "Dostosuj uprawnienia"; +App::$strings["Move or Copy"] = "PrzenieÅ› lub skopiuj"; +App::$strings["Info"] = "Informacje"; +App::$strings["Rename"] = "ZieÅ„ nazwÄ™"; +App::$strings["Post"] = "Post"; +App::$strings["Attachment BBcode"] = "Attachment BBcode"; +App::$strings["Embed BBcode"] = "Osadź BBcode"; +App::$strings["Link BBcode"] = "Połącz BBcode"; +App::$strings["You are using %1\$s of your available file storage."] = "Używasz %1\$s dostÄ™pnego miejsca na pliki."; +App::$strings["You are using %1\$s of %2\$s available file storage. (%3\$s%)"] = "Używasz %1\$s z %2\$s dostÄ™pnego miejsca na pliki. (%3\$s %)"; +App::$strings["WARNING:"] = "OSTRZEÅ»ENIE:"; +App::$strings["Create new folder"] = "Stwórz nowy folder"; +App::$strings["Upload file"] = "PrzesyÅ‚anie pliku"; +App::$strings["Drop files here to immediately upload"] = "Upuść pliki tutaj, aby natychmiast przesÅ‚ać"; +App::$strings["You can select files via the upload button or drop them right here or into an existing folder."] = "Możesz wybrać pliki za pomocÄ… przycisku przesyÅ‚ania lub upuÅ›cić je tutaj lub do istniejÄ…cego folderu."; +App::$strings["Remote authentication blocked. You are logged into this site locally. Please logout and retry."] = "Zdalne uwierzytelnianie zablokowane. JesteÅ› zalogowany lokalnie na tej stronie. Wyloguj siÄ™ i spróbuj ponownie."; +App::$strings["Welcome %s. Remote authentication successful."] = "Witaj %s. Zdalne uwierzytelnianie powiodÅ‚o siÄ™."; +App::$strings["A deleted group with this name was revived. Existing item permissions <strong>may</strong> apply to this group and any future members. If this is not what you intended, please create another group with a different name."] = "Przywrócono usuniÄ™tÄ… grupÄ™ o tej nazwie. IstniejÄ…ce uprawnienia dotyczÄ…ce elementów <strong>mogÄ…</strong> dotyczyć tej grupy i wszystkich przyszÅ‚ych czÅ‚onków. JeÅ›li nie tego chciaÅ‚eÅ›, utwórz kolejnÄ… grupÄ™ o innej nazwie."; +App::$strings["Add new connections to this privacy group"] = "Dodaj nowe połączenia do tej grupy prywatnoÅ›ci"; +App::$strings["edit"] = "edutuj"; +App::$strings["Edit group"] = "Edytuj grupÄ™"; +App::$strings["Add privacy group"] = "Dodaj grupÄ™ prywatnoÅ›ci"; +App::$strings["Channels not in any privacy group"] = "KanaÅ‚y spoza jakiejkolwiek grupy prywatnoÅ›ci"; +App::$strings["add"] = "dodaj"; +App::$strings["Channel is blocked on this site."] = "KanaÅ‚ jest zablokowany na tej stronie."; +App::$strings["Channel location missing."] = "Brak lokalizacji kanaÅ‚u."; +App::$strings["Remote channel or protocol unavailable."] = "Zdalny kanaÅ‚ lub protokół jest niedostÄ™pny."; +App::$strings["Channel discovery failed."] = "Wyszukanie kanaÅ‚u nie powiodÅ‚o siÄ™."; +App::$strings["Protocol disabled."] = "Protokół wyłączony."; +App::$strings["Cannot connect to yourself."] = "Nie można połączyć siÄ™ ze sobÄ…."; +App::$strings["error saving data"] = "błąd podczas zapisywania danych"; +App::$strings["Apps"] = "Aplikacje"; +App::$strings["Affinity Tool"] = "NarzÄ™dzie koligacji"; +App::$strings["Site Admin"] = "Administrator serwisu"; +App::$strings["Report Bug"] = "Raport błędów"; +App::$strings["Bookmarks"] = "ZakÅ‚adki"; +App::$strings["Chatrooms"] = "Czaty"; +App::$strings["Content Filter"] = "Filtr treÅ›ci"; +App::$strings["Content Import"] = "Import treÅ›ci"; +App::$strings["Remote Diagnostics"] = "Zdalna diagnostyka"; +App::$strings["Suggest Channels"] = "Zaproponuj kanaÅ‚y"; +App::$strings["Login"] = "Zaloguj siÄ™"; +App::$strings["Stream"] = "StrumieÅ„"; +App::$strings["Wiki"] = "Wiki"; +App::$strings["Channel Home"] = "Strona główna kanaÅ‚u"; +App::$strings["Calendar"] = "Kalendarz"; +App::$strings["Directory"] = "Katalog"; +App::$strings["Mail"] = "Poczta"; +App::$strings["Chat"] = "Czat"; +App::$strings["Probe"] = "Sonda"; +App::$strings["Suggest"] = "Prpozycja"; +App::$strings["Random Channel"] = "Losowy kanaÅ‚"; +App::$strings["Invite"] = "Zaproszenie"; +App::$strings["Features"] = "Funkcje"; +App::$strings["Language"] = "JÄ™zyk"; +App::$strings["Profile Photo"] = "ZdjÄ™cie profilowe"; +App::$strings["Profiles"] = "Profile"; +App::$strings["Notifications"] = "Powiadomienie"; +App::$strings["Order Apps"] = "Kolejność aplikacji"; +App::$strings["CardDAV"] = "CardDAV"; +App::$strings["Guest Access"] = "DostÄ™p goÅ›cia"; +App::$strings["Notes"] = "Uwagi"; +App::$strings["OAuth Apps Manager"] = "Menadżer aplikacji OAuth"; +App::$strings["OAuth2 Apps Manager"] = "Menadżer aplikacji OAuth2"; +App::$strings["PDL Editor"] = "Edytor PDL"; +App::$strings["My Chatrooms"] = "Moje czaty"; +App::$strings["Channel Export"] = "Eksport kanaÅ‚u"; +App::$strings["Purchase"] = "Zakup"; +App::$strings["Undelete"] = "Cofnij usuniÄ™cie"; +App::$strings["Add to app-tray"] = "Dodaj do zasobnika aplikacji"; +App::$strings["Remove from app-tray"] = "UsuÅ„ z zasobnika aplikacji"; +App::$strings["Pin to navbar"] = "Przypnij do paska nawigacyjnego"; +App::$strings["Unpin from navbar"] = "Odepnij od paska nawigacyjnego"; +App::$strings["Source code of failed update: "] = "Kod źródÅ‚owy nieudanej aktualizacji: "; +App::$strings["Update Error at %s"] = "Błąd aktualizacji na %s"; +App::$strings["Update %s failed. See error logs."] = "Aktualizacja %s nie powiodÅ‚a siÄ™. Zobacz dzienniki błędów."; +App::$strings["A deleted list with this name was revived. Existing item permissions <strong>may</strong> apply to this list and any future members. If this is not what you intended, please create another list with a different name."] = "Przywrócono usuniÄ™tÄ… listÄ™ o tej nazwie. IstniejÄ…ce uprawnienia dotyczÄ…ce elementów <strong>mogÄ…</strong> dotyczyć tej listy i wszystkich przyszÅ‚ych czÅ‚onków. JeÅ›li nie tego chciaÅ‚eÅ›, utwórz kolejnÄ… listÄ™ z innÄ… nazwÄ…."; +App::$strings["Add new connections to this access list"] = "Dodaj nowe połączenia do tej listy dostÄ™pu"; +App::$strings["Lists"] = "Listy"; +App::$strings["Edit list"] = "Edytuj listÄ™"; +App::$strings["Create new list"] = "Utwórz nowÄ… listÄ™"; +App::$strings["Channels not in any access list"] = "KanaÅ‚y, których nie ma na żadnej liÅ›cie dostÄ™pu"; +App::$strings["Missing room name"] = "Brak nazwy pokoju"; +App::$strings["Duplicate room name"] = "Zduplikowana nazwa pokoju"; +App::$strings["Invalid room specifier."] = "NieprawidÅ‚owy specyfikator sali."; +App::$strings["Room not found."] = "Nie znaleziono pokoju."; +App::$strings["Room is full"] = "Pokój jest peÅ‚ny"; +App::$strings["0. Beginner/Basic"] = "0. PoczatkujÄ…cy/Podstawowy"; +App::$strings["1. Novice - not skilled but willing to learn"] = "1. Nowicjusz - nie ma umiejÄ™tnoÅ›ci, ale chÄ™tnie siÄ™ uczy"; +App::$strings["2. Intermediate - somewhat comfortable"] = "2. Åšredniozaawansowany - dość wygodne"; +App::$strings["3. Advanced - very comfortable"] = "3. Zaawansowany - bardzo wygodne"; +App::$strings["4. Expert - I can write computer code"] = "4. Ekspert - umiem pisać kod komputerowy"; +App::$strings["5. Wizard - I probably know more than you do"] = "5. Czarodziej - prawdopodobnie wiem wiÄ™cej niż Ty"; +App::$strings["\$Projectname Notification"] = "Powiadomienie \$Projectname"; +App::$strings["\$projectname"] = "Hubzilla"; +App::$strings["Thank You,"] = "DziÄ™kujemy,"; +App::$strings["%s Administrator"] = "Administrator %s"; +App::$strings["This email was sent by %1\$s at %2\$s."] = "Ta wiadomość e-mail zostaÅ‚a wysÅ‚ana przez %1\$s na numer %2\$s."; +App::$strings["To stop receiving these messages, please adjust your Notification Settings at %s"] = "Aby nie otrzymywać tych wiadomoÅ›ci, zmieÅ„ ustawienia powiadomieÅ„ na %s"; +App::$strings["To stop receiving these messages, please adjust your %s."] = "Aby nie otrzymywać tych wiadomoÅ›ci, zmieÅ„ %s."; +App::$strings["%s <!item_type!>"] = "%s <!item_type!>"; +App::$strings["[\$Projectname:Notify] New mail received at %s"] = "[\$Projectname:Notify] Otrzymano nowÄ… pocztÄ™ na %s"; +App::$strings["%1\$s sent you a new private message at %2\$s."] = "%1\$s wysÅ‚aÅ‚ Ci nowÄ… prywatnÄ… wiadomość na %2\$s."; +App::$strings["%1\$s sent you %2\$s."] = "%1\$s wysÅ‚aÅ‚ Ci %2\$s."; +App::$strings["a private message"] = "prywatna wiadomość"; +App::$strings["Please visit %s to view and/or reply to your private messages."] = "Odwiedź %s, aby wyÅ›wietlić albo odpowiedzieć na swoje prywatne wiadomoÅ›ci."; +App::$strings["commented on"] = "skomentowaÅ‚"; +App::$strings["liked"] = "polubiÅ‚"; +App::$strings["disliked"] = "dezaprobowaÅ‚"; +App::$strings["voted on"] = "gÅ‚osowaÅ‚"; +App::$strings["%1\$s %2\$s [zrl=%3\$s]a %4\$s[/zrl]"] = "%1\$s %2\$s [zrl=%3\$s]%4\$s[/zrl]"; +App::$strings["%1\$s %2\$s [zrl=%3\$s]%4\$s's %5\$s[/zrl]"] = "%1\$s %2\$s [zrl=%3\$s]%5\$s %4\$s[/zrl]"; +App::$strings["%1\$s %2\$s [zrl=%3\$s]your %4\$s[/zrl]"] = "%1\$s %2\$s [zrl=%3\$s]Twój %4\$s[/zrl]"; +App::$strings["[\$Projectname:Notify] Moderated Comment to conversation #%1\$d by %2\$s"] = "[\$Projectname:Notify] Moderowany komentarz do rozmowy #%1\$d przez %2\$s"; +App::$strings["[\$Projectname:Notify] Comment to conversation #%1\$d by %2\$s"] = "[\$Projectname:Notify] Komentarz do roz,owy #%1\$d przez %2\$s"; +App::$strings["%1\$s commented on an item/conversation you have been following."] = "%1\$s skomentowaÅ‚ obserwowany element/rozmowÄ™."; +App::$strings["Please visit %s to view and/or reply to the conversation."] = "Odwiedź %s, aby wyÅ›wietlić rozmowÄ™ albo odpowiedzieć na niÄ…."; +App::$strings["Please visit %s to approve or reject this comment."] = "Odwiedź %s, aby zaakceptować lub odrzucić ten komentarz."; +App::$strings["%1\$s liked [zrl=%2\$s]your %3\$s[/zrl]"] = "%1\$s polubiÅ‚ [zrl=%2\$s]Twój %3\$s[/zrl]"; +App::$strings["[\$Projectname:Notify] Like received to conversation #%1\$d by %2\$s"] = "[\$Projectname:Notify] Polubienie wysÅ‚ane dla rozmowy #%1\$d przez %2\$s"; +App::$strings["%1\$s liked an item/conversation you created."] = "%1\$s polubiÅ‚ utworzony przez Ciebie element/rozmowÄ™."; +App::$strings["[\$Projectname:Notify] %s posted to your profile wall"] = "[\$Projectname:Notify]%s opublikowany na Twojej Å›cianie profilu"; +App::$strings["%1\$s posted to your profile wall at %2\$s"] = "%1\$s opublikowano na Å›cianie Twojego profilu pod adresem %2\$s"; +App::$strings["%1\$s posted to [zrl=%2\$s]your wall[/zrl]"] = "%1\$s opublikowaÅ‚ na [zrl=%2\$s]Twojej Å›cianie[/zrl]"; +App::$strings["[\$Projectname:Notify] %s tagged you"] = "[\$Projectname:Notify]%s oznaczyÅ‚ CiÄ™ tagiem"; +App::$strings["%1\$s tagged you at %2\$s"] = "%1\$s oznaczyÅ‚ CiÄ™ tagiem %2\$s"; +App::$strings["%1\$s [zrl=%2\$s]tagged you[/zrl]."] = "%1\$s [zrl=%2\$s]oznaczyÅ‚ CiÄ™ tagiem[/zrl]."; +App::$strings["[\$Projectname:Notify] %1\$s poked you"] = "[\$Projectname:Notify] %1\$s szturchnÄ…Å‚ CiÄ™"; +App::$strings["%1\$s poked you at %2\$s"] = "%1\$s szturchnÄ…Å‚ CiÄ™ %2\$s"; +App::$strings["%1\$s [zrl=%2\$s]poked you[/zrl]."] = "%1\$s [zrl=%2\$s]szturchnÄ…Å‚ CiÄ™[/zrl]."; +App::$strings["[\$Projectname:Notify] %s tagged your post"] = "[\$Projectname:Notify] %s oznaczyÅ‚ tagiem Twój post"; +App::$strings["%1\$s tagged your post at %2\$s"] = "%1\$s oznaczyÅ‚ tagiem Twój post na %2\$s"; +App::$strings["%1\$s tagged [zrl=%2\$s]your post[/zrl]"] = "%1\$s tagged [zrl=%2\$s]Twój post[/zrl]"; +App::$strings["[\$Projectname:Notify] Introduction received"] = "[\$Projectname:Notify] Otrzymano wprowadzenie"; +App::$strings["You've received an new connection request from '%1\$s' at %2\$s"] = "OtrzymaÅ‚eÅ› nowe żądanie połączenia od „%1\$s†na %2\$s"; +App::$strings["You've received [zrl=%1\$s]a new connection request[/zrl] from %2\$s."] = "OtrzymaÅ‚eÅ› [zrl=%1\$s]nowe żądanie połączenia [/zrl] od %2\$s."; +App::$strings["You may visit their profile at %s"] = "Możesz odwiedzić ich profil na %s"; +App::$strings["Please visit %s to approve or reject the connection request."] = "Odwiedź %s, aby zatwierdzić lub odrzucić proÅ›bÄ™ o połączenie."; +App::$strings["[\$Projectname:Notify] Friend suggestion received"] = "[\$Projectname:Notify] Otrzymano propozycjÄ™ znajomoÅ›ci"; +App::$strings["You've received a friend suggestion from '%1\$s' at %2\$s"] = "OtrzymaÅ‚eÅ› propozycjÄ™ znajomoÅ›ci od „%1\$s†na %2\$s"; +App::$strings["You've received [zrl=%1\$s]a friend suggestion[/zrl] for %2\$s from %3\$s."] = "OtrzymaÅ‚eÅ› [zrl=%1\$s] prpozycjÄ™ znajomoÅ›ci[/ zrl] dla %2\$s od %3\$s."; +App::$strings["Name:"] = "Nazwa:"; +App::$strings["Photo:"] = "ZdjÄ™cie:"; +App::$strings["Please visit %s to approve or reject the suggestion."] = "Odwiedź %s, aby zaakceptować lub odrzucić popozycjÄ™."; +App::$strings["[\$Projectname:Notify]"] = "[\$Projectname:Notify]"; +App::$strings["created a new poll"] = "utworzyÅ‚ nowÄ… ankietÄ™"; +App::$strings["created a new post"] = "utworzyÅ‚ nowy post"; +App::$strings["voted on %s's poll"] = "gÅ‚osowaÅ‚ w ankiecie %s"; +App::$strings["commented on %s's post"] = "skomentowaÅ‚ post %s"; +App::$strings["repeated %s's post"] = "powtórzony post %s"; +App::$strings["edited a post dated %s"] = "edytowaÅ‚ post z dnia %s"; +App::$strings["edited a comment dated %s"] = "edytowaÅ‚ komentarz z dnia %s"; +App::$strings["created an event"] = "utworzono wydarzenie"; +App::$strings["Unable to verify site signature for %s"] = "Nie można zweryfikować podpisu witryny dla %s"; +App::$strings["(No Title)"] = "(Brak tytuÅ‚u)"; +App::$strings["Wiki page create failed."] = "Tworzenie strony Wiki nie powiodÅ‚o siÄ™."; +App::$strings["Wiki not found."] = "Nie znaleziono wiki."; +App::$strings["Destination name already exists"] = "Nazwa celu już istnieje"; +App::$strings["Page not found"] = "Strona nie znaleziona"; +App::$strings["Error reading page content"] = "Błąd podczas odczytu zawartoÅ›ci strony"; +App::$strings["Error reading wiki"] = "Błąd podczas odczytu wiki"; +App::$strings["Page update failed."] = "Aktualizacja strony nie powiodÅ‚a siÄ™."; +App::$strings["Nothing deleted"] = "Nic nie zostaÅ‚o usuniÄ™te"; +App::$strings["Compare: object not found."] = "Porównaj: nie znaleziono obiektu."; +App::$strings["Page updated"] = "Strona zostaÅ‚a zaktualizowana"; +App::$strings["Untitled"] = "Bez tytuÅ‚u"; +App::$strings["Wiki resource_id required for git commit"] = "Identyfikator zasobu Wiki wymagany do zatwierdzenia przez Git"; +App::$strings["__ctx:wiki_history__ Message"] = "Wiadomość"; +App::$strings["Date"] = "Data"; +App::$strings["Compare"] = "Porównaj"; +App::$strings["Different viewers will see this text differently"] = "Różni widzowie bÄ™dÄ… inaczej widzieć ten tekst"; +App::$strings["Private Message"] = "Wiadomość prywatna"; +App::$strings["Privacy conflict. Discretion advised."] = "Konflikt prywatnoÅ›ci. Zalecana dyskrecja."; +App::$strings["Select"] = "Wybierz"; +App::$strings["I will attend"] = "BÄ™dÄ™ uczestniczyÅ‚"; +App::$strings["I will not attend"] = "Nie bÄ™dÄ™ uczestniczyÅ‚"; +App::$strings["I might attend"] = "MogÄ™ wziąć udziaÅ‚"; +App::$strings["I agree"] = "Zgadzam siÄ™"; +App::$strings["I disagree"] = "Nie zgadzam siÄ™"; +App::$strings["I abstain"] = "WstrzymujÄ™ siÄ™"; +App::$strings["Toggle Star Status"] = "Przełącz stan gwiazdki"; +App::$strings["Message signature validated"] = "Podpis wiadomoÅ›ci zostaÅ‚ zatwierdzony"; +App::$strings["Message signature incorrect"] = "Niepoprawny podpis wiadomoÅ›ci"; +App::$strings["Conversation Tools"] = "NarzÄ™dzia do konwersacji"; +App::$strings["like"] = "lubi"; +App::$strings["dislike"] = "nie lubi"; +App::$strings["Reply on this comment"] = "Odpowiedz na ten komentarz"; +App::$strings["reply"] = "odpowiedz"; +App::$strings["Reply to"] = "Odpowiedź dla"; +App::$strings["Share This"] = "UdostÄ™pnij to"; +App::$strings["share"] = "udostÄ™pnij"; +App::$strings["Delivery Report"] = "Raport dostawy"; +App::$strings["%d comment"] = array( + 0 => "%d komentarz", + 1 => "%d komentarze", + 2 => "%d komentarzy", +); +App::$strings["%d unseen"] = "%d niezobaczone"; +App::$strings["to"] = "do"; +App::$strings["via"] = "poprzez"; +App::$strings["Wall-to-Wall"] = "Wall-to-Wall"; +App::$strings["via Wall-To-Wall:"] = "poprzez Wall-To-Wall:"; +App::$strings["from %s"] = "od %s"; +App::$strings["last edited: %s"] = "ostatnio edytowane: %s"; +App::$strings["Expires: %s"] = "Wygasa: %s"; +App::$strings["Attend"] = "Uczestnicz"; +App::$strings["Attendance Options"] = "Opcje obecnoÅ›ci"; +App::$strings["Vote"] = "GÅ‚osuj"; +App::$strings["Voting Options"] = "Opcje gÅ‚osowania"; +App::$strings["Go to previous comment"] = "Przejdź do poprzedniego komentarza"; +App::$strings["Pinned post"] = "Posty przypiÄ™te"; +App::$strings["Unpin from the top"] = "Odepnij z góry"; +App::$strings["Pin to the top"] = "Przypnij u góry"; +App::$strings["Save Bookmarks"] = "Zapisz zakÅ‚adki"; +App::$strings["Add to Calendar"] = "Dodaj do kalendarza"; +App::$strings["This is an unsaved preview"] = "Ten podglÄ…d nie zostaÅ‚ zapisany"; +App::$strings["%s show all"] = "%s pokaż wszystko"; +App::$strings["Bold"] = "Gruby"; +App::$strings["Italic"] = "PochyÅ‚y"; +App::$strings["Underline"] = "PodkreÅ›lony"; +App::$strings["Quote"] = "Cytat"; +App::$strings["Code"] = "Kod"; +App::$strings["Image"] = "Obraz"; +App::$strings["Attach/Upload file"] = "Załącz / przeÅ›lij plik"; +App::$strings["Insert Link"] = "Wstaw link"; +App::$strings["Video"] = "Wideo"; +App::$strings["Your full name (required)"] = "Twoja imiÄ™ i nazwisko lub peÅ‚na nazwa (wymagane)"; +App::$strings["Your email address (required)"] = "Twój adres email (wymagane)"; +App::$strings["Your website URL (optional)"] = "Adres URL Twojej witryny (opcjonalnie)"; +App::$strings["Likes %1\$s's %2\$s"] = "PolibieÅ„ %2\$s %1\$s"; +App::$strings["Doesn't like %1\$s's %2\$s"] = "Dezaprobat %2\$s %1\$s"; +App::$strings["Will attend %s's event"] = "Weźmie udziaÅ‚ w wydarzeniu %s"; +App::$strings["Will not attend %s's event"] = "Nie weźmie udziaÅ‚u w wydarzeniu %s"; +App::$strings["May attend %s's event"] = "Może uczestniczyć w wydarzeniu %s"; +App::$strings["May not attend %s's event"] = "Nie może uczestniczyć w wydarzeniu %s"; +App::$strings["ActivityPub"] = "ActivityPub"; +App::$strings["Wiki updated successfully"] = "Wiki zaktualizowane pomyÅ›lnie"; +App::$strings["Wiki files deleted successfully"] = "Pliki Wiki zostaÅ‚y pomyÅ›lnie usuniÄ™te"; +App::$strings["Directory Options"] = "Opcje katalogu"; +App::$strings["Safe Mode"] = "Tryb bezpieczny"; +App::$strings["Public Forums Only"] = "Tylko fora publiczne"; +App::$strings["This Website Only"] = "Tylko ten serwis"; +App::$strings["__ctx:permcat__ default"] = "domyÅ›lnie"; +App::$strings["__ctx:permcat__ follower"] = "obserwujÄ…cy"; +App::$strings["__ctx:permcat__ contributor"] = "współpracownik"; +App::$strings["__ctx:permcat__ publisher"] = "wydawca"; +App::$strings["Unable to verify channel signature"] = "Nie można zweryfikować podpisu kanaÅ‚u"; +App::$strings["Visible to your default audience"] = "Widoczne dla domyÅ›lnych odbiorców"; +App::$strings["Only me"] = "Tylko ja"; +App::$strings["Public"] = "Publiczny"; +App::$strings["Anybody in the \$Projectname network"] = "Każdy w sieci \$Projectname"; +App::$strings["Any account on %s"] = "Dowolne konto na %s"; +App::$strings["Any of my connections"] = "Wszystkie moje połączenia"; +App::$strings["Only connections I specifically allow"] = "Tylko połączenia, na które wyraźnie zezwalam"; +App::$strings["Anybody authenticated (could include visitors from other networks)"] = "Każdy uwierzytelniony (może obejmować odwiedzajÄ…cych z innych sieci)"; +App::$strings["Any connections including those who haven't yet been approved"] = "Wszelkie połączenia, w tym te, które nie zostaÅ‚y jeszcze zatwierdzone"; +App::$strings["This is your default setting for the audience of your normal stream, and posts."] = "To jest domyÅ›lne ustawienie odbiorców Twojego normalnego strumienia i postów."; +App::$strings["This is your default setting for who can view your default channel profile"] = "To jest domyÅ›lne ustawienie okreÅ›lajÄ…ce, kto może wyÅ›wietlać Twój domyÅ›lny profil kanaÅ‚u"; +App::$strings["This is your default setting for who can view your connections"] = "To jest domyÅ›lne ustawienie okreÅ›lajÄ…ce, kto może wyÅ›wietlać Twoje połączenia"; +App::$strings["This is your default setting for who can view your file storage and photos"] = "Jest to domyÅ›lne ustawienie okreÅ›lajÄ…ce, kto może wyÅ›wietlać miejsce na pliki i zdjÄ™cia"; +App::$strings["This is your default setting for the audience of your webpages"] = "To jest domyÅ›lne ustawienie dotyczÄ…ce odbiorców Twoich stron internetowych"; +App::$strings["Everything"] = "Wszystko"; +App::$strings["Select Channel"] = "Wybierz kanaÅ‚"; +App::$strings["Read-write"] = "Czytanie i zapis"; +App::$strings["Read-only"] = "Tylko odczyt"; +App::$strings["Channel Calendar"] = "Kalendarz kanaÅ‚u"; +App::$strings["Shared CalDAV Calendars"] = "UdostÄ™pnione kalendarze CalDAV"; +App::$strings["Share this calendar"] = "UdostÄ™pnij ten kalendarz"; +App::$strings["Calendar name and color"] = "Nazwa kalendarza i kolor"; +App::$strings["Create new CalDAV calendar"] = "Utwórz nowy kalendarz CalDAV"; +App::$strings["Calendar Name"] = "Nazwa kalendarza"; +App::$strings["Calendar Tools"] = "NarzÄ™dzia kalendarza"; +App::$strings["Import calendar"] = "Importuj kalendarz"; +App::$strings["Select a calendar to import to"] = "Wybierz kalendarz do zaimportowania"; +App::$strings["Addressbooks"] = "Książki adresowe"; +App::$strings["Addressbook name"] = "Nazwa książki adresowej"; +App::$strings["Create new addressbook"] = "Utwórz nowÄ… książkÄ™ adresowÄ…"; +App::$strings["Addressbook Name"] = "Nazwa książki adresowej"; +App::$strings["Addressbook Tools"] = "NarzÄ™dzia książki adresowej"; +App::$strings["Import addressbook"] = "Importuj książkÄ™ adresowÄ…"; +App::$strings["Select an addressbook to import to"] = "Wybierz książkÄ™ adresowÄ… do zaimportowania"; +App::$strings["Saved Folders"] = "Zapisywanie foldery"; +App::$strings["Tags"] = "Tagi"; +App::$strings["Archives"] = "Archiwa"; +App::$strings["Chat Members"] = "CzÅ‚onkowie czatu"; +App::$strings["Rating Tools"] = "NarzÄ™dzia"; +App::$strings["Rate Me"] = "OceÅ„ mnie"; +App::$strings["View Ratings"] = "Pokaż oceny"; +App::$strings["Add new page"] = "Dodaj nowÄ… stronÄ™"; +App::$strings["Wiki Pages"] = "Strony wiki"; +App::$strings["Page name"] = "Nazwa strony"; +App::$strings["Bookmarked Chatrooms"] = "Czaty dodane do zakÅ‚adek"; +App::$strings["photo/image"] = "zdjÄ™cie/obraz"; +App::$strings["Forums"] = "Fora"; +App::$strings["Remove term"] = "UsuÅ„ termin"; +App::$strings["Saved Searches"] = "Zapisywanie wyszukiwania"; +App::$strings["You have %1$.0f of %2$.0f allowed connections."] = "Masz %1$.0f z %2$.0f dozwolonych połączeÅ„."; +App::$strings["Add New Connection"] = "Dodaj nowe połączenie"; +App::$strings["Enter channel address"] = "Wprowadź adres kanaÅ‚u"; +App::$strings["Examples: bob@example.com, https://example.com/barbara"] = "PrzykÅ‚ady: bob@example.com, https://example.com/barbara"; +App::$strings["Suggestions"] = "Propozycje"; +App::$strings["See more..."] = "Zobacz wiÄ™cej..."; +App::$strings["Tasks"] = "Zadania"; +App::$strings["Member registrations waiting for confirmation"] = "Rejestracja czÅ‚onków czeka na potwierdzenie"; +App::$strings["Inspect queue"] = "Sprawdź kolejkÄ™"; +App::$strings["DB updates"] = "Aktualizacje bazy danych"; +App::$strings["Admin"] = "Admin"; +App::$strings["Addon Features"] = "Funkcje dodatków"; +App::$strings["Overview"] = "PrzeglÄ…d"; +App::$strings["App Collections"] = "Kolekcja aplikacji"; +App::$strings["Installed apps"] = "Zainstalowane aplikacje"; +App::$strings["Commented Date"] = "Data skomentowania"; +App::$strings["Order by last commented date"] = "Sortuj wedÅ‚ug najnowszej daty skomentowania"; +App::$strings["Posted Date"] = "Data opublikowania"; +App::$strings["Order by last posted date"] = "Sortuj wedÅ‚ug najnowszej daty publikacji"; +App::$strings["Date Unthreaded"] = "Data zakoÅ„czenia wÄ…tku"; +App::$strings["Order unthreaded by date"] = "Sortuj wedÅ‚ug daty zakoÅ„czenia wÄ…tku"; +App::$strings["Stream Order"] = "Kolejność strumienia"; +App::$strings["Private Mail Menu"] = "Menu prywatnej poczty"; +App::$strings["Combined View"] = "Widok łączony"; +App::$strings["Inbox"] = "Skrzynka odbiorcza"; +App::$strings["Outbox"] = "Skrzynka nadawcza"; +App::$strings["New Message"] = "Nowy komunikat"; +App::$strings["Refresh"] = "OdÅ›wież"; +App::$strings["HQ Control Panel"] = "Panel kontrolny HQ"; +App::$strings["Create a new post"] = "Utwórz nowy post"; +App::$strings["Events Tools"] = "NarzÄ™dzia wydarzeÅ„"; +App::$strings["Export Calendar"] = "Eksport kalendarza"; +App::$strings["Import Calendar"] = "Import kalendarza"; +App::$strings["Direct Messages"] = "BezpoÅ›rednie wiadomoÅ›ci"; +App::$strings["Show direct (private) messages"] = "Pokaż bezpoÅ›rednie (prywatne) wiadomoÅ›ci"; +App::$strings["Events"] = "Wydarzenia"; +App::$strings["Show posts that include events"] = "Pokaż posty zawierajÄ…ce wydarzenia"; +App::$strings["Polls"] = "Ankiety"; +App::$strings["Show posts that include polls"] = "Pokaż posty zawierajÄ…ce ankiety"; +App::$strings["Show posts related to the %s privacy group"] = "Pokaż posty zwiÄ…zane z grupÄ… prywatnoÅ›ci %s"; +App::$strings["Show my privacy groups"] = "Pokaż moje grupy prywatnoÅ›ci"; +App::$strings["Show posts to this forum"] = "Pokaż posty na tym forum"; +App::$strings["Show forums"] = "Pokaż fora"; +App::$strings["Starred Posts"] = "Wyróżnione posty"; +App::$strings["Show posts that I have starred"] = "Pokaż posty, które oznaczyÅ‚em gwiazdkÄ…"; +App::$strings["Personal Posts"] = "Posty osobiste"; +App::$strings["Show posts that mention or involve me"] = "Pokaż posty, które wspominajÄ… o mnie lub mnie dotyczÄ…"; +App::$strings["Show posts that I have filed to %s"] = "Pokaż posty przesÅ‚ane przeze mnie do %s"; +App::$strings["Show filed post categories"] = "Pokaż wprowadzone kategorie postów"; +App::$strings["Panel search"] = "Przeszukiwanie panelu"; +App::$strings["Filter by name"] = "Filtruj wg nazwy"; +App::$strings["Remove active filter"] = "UsuÅ„ aktywny filtr"; +App::$strings["Stream Filters"] = "Filtry strumienia"; +App::$strings["__ctx:widget__ Activity"] = "Aktywność"; +App::$strings["New Network Activity"] = "Nowa aktywność sieciowa"; +App::$strings["New Network Activity Notifications"] = "Powiadomienia o nowej aktywnoÅ›ci sieciowej"; +App::$strings["View your network activity"] = "WyÅ›wietl swojÄ… aktywność w sieci"; +App::$strings["Mark all notifications read"] = "Oznacz wszystkie powiadomienia jako przeczytane"; +App::$strings["Show new posts only"] = "Pokaż tylko nowe posty"; +App::$strings["Filter by name or address"] = "Filtruj wedÅ‚ug nazwy lub adresu"; +App::$strings["New Home Activity"] = "Nowa aktywność domowa"; +App::$strings["New Home Activity Notifications"] = "Powiadomienia o nowej aktywnoÅ›ci domowej"; +App::$strings["View your home activity"] = "WyÅ›wietl swojÄ… aktywność domowÄ…"; +App::$strings["Mark all notifications seen"] = "Oznacz wszystkie powiadomienia jako oglÄ…dniÄ™te"; +App::$strings["New Direct Messages"] = "Nowe bezpoÅ›rednie wiadomoÅ›ci"; +App::$strings["New Direct Messages Notifications"] = "Powiadomienia o nowych wiadomoÅ›ciach bezpoÅ›rednich"; +App::$strings["View your direct messages"] = "WyÅ›wietl swoje bezpoÅ›rednie wiadomoÅ›ci"; +App::$strings["New Mails"] = "Nowe wiadomoÅ›ci e-mail"; +App::$strings["New Mails Notifications"] = "Powiadomienia o nowych wiadomoÅ›ciach e-mail"; +App::$strings["View your private mails"] = "Zobacz swoje prywatne wiadomoÅ›ci"; +App::$strings["Mark all messages seen"] = "Oznacz wszystkie wiadomoÅ›ci jako oglÄ…dniÄ™te"; +App::$strings["New Events"] = "Nowe wydarzenia"; +App::$strings["New Events Notifications"] = "Powiadomienia o nowych wydarzeniach"; +App::$strings["View events"] = "Pokaż wydarzenia"; +App::$strings["Mark all events seen"] = "Oznacza wydarzenia jako oglÄ…dniÄ™te"; +App::$strings["New Connections Notifications"] = "Powiadomienia o nowych połączeniach"; +App::$strings["View all connections"] = "Pokaż wszystkie połączenia"; +App::$strings["New Files"] = "Nowe pliki"; +App::$strings["New Files Notifications"] = "Powiadomienia o nowych plikach"; +App::$strings["Notices"] = "Powiadomienia"; +App::$strings["View all notices"] = "Pokaż wszystkie powiadomienia"; +App::$strings["Mark all notices seen"] = "Oznacza wszystkie powiadomienia jako oglÄ…dniÄ™te"; +App::$strings["New Registrations"] = "Nowe rejestracje"; +App::$strings["New Registrations Notifications"] = "Powiadomienia o nowych rejestracjach"; +App::$strings["Public Stream Notifications"] = "Powiadomienia o strimieniu publicznym"; +App::$strings["View the public stream"] = "Pokaż strumieÅ„ publiczny"; +App::$strings["Sorry, you have got no notifications at the moment"] = "W tej chwili nie masz żadnych powiadomieÅ„"; +App::$strings["View %s's profile - %s"] = "Pokaż profile %s - %s"; +App::$strings["Don't show"] = "Nie pokazuj"; +App::$strings["Account settings"] = "Ustawienia konta"; +App::$strings["Channel settings"] = "Ustawienia kanaÅ‚u"; +App::$strings["Display settings"] = "Ustawienia wyÅ›wietlania"; +App::$strings["Manage locations"] = "ZarzÄ…dzaj lokalizacjami"; +App::$strings["Suggested Chatrooms"] = "Sugerowane czaty"; +App::$strings["Received Messages"] = "Otrzymane wiadomoÅ›ci"; +App::$strings["Sent Messages"] = "WysÅ‚ane wiadomoÅ›ci"; +App::$strings["Conversations"] = "Rozmowy"; +App::$strings["No messages."] = "Brak wiadomoÅ›ci."; +App::$strings["Delete conversation"] = "UsuÅ„ rozmowÄ™"; +App::$strings["Profile Creation"] = "Tworzenie profilu"; +App::$strings["Upload profile photo"] = "PrzeÅ›lij zdjÄ™cie profilowe"; +App::$strings["Upload cover photo"] = "PrzeÅ›lij zdjÄ™cie okÅ‚adkowe"; +App::$strings["Edit your profile"] = "Edytuj swój profil"; +App::$strings["Find and Connect with others"] = "Znajdź i połącz siÄ™ z innymi"; +App::$strings["View the directory"] = "Pokaż katalog"; +App::$strings["Manage your connections"] = "ZarzÄ…dzaj swoimi połączeniami"; +App::$strings["Communicate"] = "Komunikuj siÄ™"; +App::$strings["View your channel homepage"] = "WyÅ›wietl stronÄ™ głównÄ… swojego kanaÅ‚u"; +App::$strings["View your network stream"] = "WyÅ›wietl swój strumieÅ„ sieciowy"; +App::$strings["Documentation"] = "Dokumentacja"; +App::$strings["Missing Features?"] = "Brakuje funkcji?"; +App::$strings["Pin apps to navigation bar"] = "Przypinaj aplikacje do paska nawigacji"; +App::$strings["Install more apps"] = "Zainstaluj wiÄ™cej aplikacji"; +App::$strings["View public stream"] = "Pokaż publiczny strumieÅ„"; +App::$strings["Click to show more"] = "Kliknij, aby pokazać wiÄ™cej"; +App::$strings["Source channel not found."] = "Nie znaleziono kanaÅ‚u źródÅ‚owego."; +App::$strings["%d invitation available"] = array( + 0 => "%d dostÄ™pne zaproszenie", + 1 => "%d dostÄ™pne zaproszenia", + 2 => "%d dostÄ™pnych zaproszeÅ„", +); +App::$strings["Find Channels"] = "Znajdź kanaÅ‚y"; +App::$strings["Enter name or interest"] = "Wpisz nazwÄ™ lub zainteresowanie"; +App::$strings["Connect/Follow"] = "Połącz/Obserwuj"; +App::$strings["Examples: Robert Morgenstein, Fishing"] = "PrzykÅ‚ady: Robert Morgenstein, Å‚owienie ryb"; +App::$strings["Random Profile"] = "Losowy profil"; +App::$strings["Invite Friends"] = "ZaproÅ› przyjaciół"; +App::$strings["Advanced example: name=fred and country=iceland"] = "Zaawansowany przykÅ‚ad: name=fred i country=iceland"; +App::$strings["Common Connections"] = "Popularne połączenia"; +App::$strings["View all %d common connections"] = "WyÅ›wietl wszystkie %d popularne połączenia"; +App::$strings["likes %1\$s's %2\$s"] = "polubieÅ„ %1\$s %2\$s"; +App::$strings["doesn't like %1\$s's %2\$s"] = "dezaprobat %1\$s %2\$s"; +App::$strings["%1\$s is now connected with %2\$s"] = "%1\$s jest teraz połączony z %2\$s"; +App::$strings["%1\$s poked %2\$s"] = "%1\$s szturchnÄ…Å‚ %2\$s"; +App::$strings["poked"] = "szturchniÄ™ty"; +App::$strings["View %s's profile @ %s"] = "Pokaż profil %s @ %s"; +App::$strings["Categories:"] = "Kategorie:"; +App::$strings["Filed under:"] = "ZÅ‚ożone pod:"; +App::$strings["View in context"] = "Zobacz w kontekÅ›cie"; +App::$strings["remove"] = "usuÅ„"; +App::$strings["Loading..."] = "Åadowanie ..."; +App::$strings["Delete Selected Items"] = "UsuÅ„ wybrane elementy"; +App::$strings["View Source"] = "Pokaż źródÅ‚o"; +App::$strings["Follow Thread"] = "Obserwuj wÄ…tek"; +App::$strings["Unfollow Thread"] = "PrzestaÅ„ obserwować wÄ…tek"; +App::$strings["Edit Connection"] = "Edytuj połączenie"; +App::$strings["Message"] = "Wiadowmość"; +App::$strings["%s likes this."] = "%s lubi to."; +App::$strings["%s doesn't like this."] = "%s nie lubi tego."; +App::$strings["<span %1\$s>%2\$d people</span> like this."] = array( + 0 => "<span %1\$s>%2\$d osoba</span> lubi to.", + 1 => "<span %1\$s>%2\$d osoby</span> lubiÄ… tego.", + 2 => "<span %1\$s>%2\$d osób</span> lubi tego.", +); +App::$strings["<span %1\$s>%2\$d people</span> don't like this."] = array( + 0 => "<span %1\$s>%2\$d osoba</span> nie lubi to.", + 1 => "<span %1\$s>%2\$d osoby</span> nie lubiÄ… tego.", + 2 => "<span %1\$s>%2\$d osób</span> nie lubiÄ… tego.", +); +App::$strings["and"] = "i"; +App::$strings[", and %d other people"] = array( + 0 => ", i %d inna osoba", + 1 => ", i %d inne osoby", + 2 => ", i %d innych osób", +); +App::$strings["%s like this."] = "%s lubi to."; +App::$strings["%s don't like this."] = "%s nie lubi tego."; +App::$strings["Set your location"] = "Ustaw swojÄ… lokalizacjÄ™"; +App::$strings["Clear browser location"] = "Wyczyść lokalizacjÄ™ przeglÄ…darki"; +App::$strings["Embed (existing) photo from your photo albums"] = "Osadź (istniejÄ…ce) zdjÄ™cie z albumów ze zdjÄ™ciami"; +App::$strings["Tag term:"] = "Termin tagu:"; +App::$strings["Where are you right now?"] = "Gdzie teraz jesteÅ›?"; +App::$strings["Choose a different album..."] = "Wybierz inny album..."; +App::$strings["Comments enabled"] = "Włączone komentowanie"; +App::$strings["Comments disabled"] = "Wyłączone komentowanie"; +App::$strings["Page link name"] = "Nazwa linku do strony"; +App::$strings["Post as"] = "Opublikuj jako"; +App::$strings["Toggle voting"] = "Przełącz gÅ‚osowanie"; +App::$strings["Toggle poll"] = "Przełącz ankietÄ™"; +App::$strings["Option"] = "Opcja"; +App::$strings["Add option"] = "Dodaj opcjÄ™"; +App::$strings["Minutes"] = "Minuty"; +App::$strings["Hours"] = "Godziny"; +App::$strings["Days"] = "Dni"; +App::$strings["Allow multiple answers"] = "Zezwalaj na wiele odpowiedzi"; +App::$strings["Disable comments"] = "Wyłącz komentarze"; +App::$strings["Toggle comments"] = "Przełącz komentarze"; +App::$strings["Categories (optional, comma-separated list)"] = "Kategorie (opcjonalnie, lista rozdzielana przecinkami)"; +App::$strings["Other networks and post services"] = "Inne sieci i usÅ‚ugi spoÅ‚ecznoÅ›ciowe"; +App::$strings["Set expiration date"] = "Ustaw datÄ™ wygaÅ›niÄ™cia"; +App::$strings["Set publish date"] = "Ustaw datÄ™ publikacji"; +App::$strings["__ctx:noun__ Attending"] = array( + 0 => "Uczestniczy", + 1 => "Uczestnictwa", + 2 => "Uczestnictw", +); +App::$strings["__ctx:noun__ Not Attending"] = array( + 0 => "Nie uczesticzy", + 1 => "Nie uczestniczÄ…", + 2 => "Nie uczestniczy", +); +App::$strings["__ctx:noun__ Undecided"] = array( + 0 => "Niezdecydowany", + 1 => "Niezdecydowane", + 2 => "Niezdecydowanych", +); +App::$strings["__ctx:noun__ Agree"] = array( + 0 => "Zgadza siÄ™", + 1 => "ZgadajÄ… siÄ™", + 2 => "Zgadza siÄ™", +); +App::$strings["__ctx:noun__ Disagree"] = array( + 0 => "Nie zgadza siÄ™", + 1 => "Nie zgadzajÄ… siÄ™", + 2 => "Nie zgadza siÄ™", +); +App::$strings["__ctx:noun__ Abstain"] = array( + 0 => "Wstrzymuje siÄ™", + 1 => "WstrzymujÄ… siÄ™", + 2 => "Wstrzymuje siÄ™", +); +App::$strings["Unable to obtain identity information from database"] = "Nie można uzyskać informacji z bazy danych o tożsamoÅ›ci"; +App::$strings["Empty name"] = "Pusta nazwa"; +App::$strings["Name too long"] = "Nazwa jest za dÅ‚uga"; +App::$strings["No account identifier"] = "Brak identyfikatora konta"; +App::$strings["Nickname is required."] = "Pseudonim jest wymagany."; +App::$strings["Unable to retrieve created identity"] = "Nie można pobrać utworzonej tożsamoÅ›ci"; +App::$strings["Default Profile"] = "DomyÅ›lny profil"; +App::$strings["Unable to retrieve modified identity"] = "Nie można pobrać zmodyfikowanej tożsamoÅ›ci"; +App::$strings["Requested channel is not available."] = "Żądany kanaÅ‚ nie jest dostÄ™pny."; +App::$strings["Create New Profile"] = "Utwórz nowy profil"; +App::$strings["Edit Profile"] = "Edytuj profil"; +App::$strings["Visible to everybody"] = "Widoczne dla każdego"; +App::$strings["Gender:"] = "PÅ‚eć:"; +App::$strings["Status:"] = "Status:"; +App::$strings["Homepage:"] = "Strona domowa:"; +App::$strings["Online Now"] = "Teraz online"; +App::$strings["Change your profile photo"] = "ZmieÅ„ swoje zdjÄ™cie profilowe"; +App::$strings["Female"] = "Kobieta"; +App::$strings["Male"] = "Mężczyzna"; +App::$strings["Trans"] = "Trans"; +App::$strings["Neuter"] = "Neutralne"; +App::$strings["Non-specific"] = "Nie okreÅ›lone"; +App::$strings["Like this channel"] = "Polub ten kanaÅ‚"; +App::$strings["j F, Y"] = "d M, R"; +App::$strings["j F"] = "d M"; +App::$strings["Birthday:"] = "Urodziny:"; +App::$strings["for %1\$d %2\$s"] = "dla %1\$d %2\$s"; +App::$strings["Tags:"] = "Tagi:"; +App::$strings["Sexual Preference:"] = "Preferencje seksualne:"; +App::$strings["Political Views:"] = "PoglÄ…dy polityczne:"; +App::$strings["Religion:"] = "Religia:"; +App::$strings["Hobbies/Interests:"] = "Hobby/Zainteresowania:"; +App::$strings["Likes:"] = "PolubieÅ„:"; +App::$strings["Dislikes:"] = "Dezaprobat:"; +App::$strings["Contact information and Social Networks:"] = "Informacje kontaktowe i sieci spoÅ‚ecznoÅ›ciowe:"; +App::$strings["My other channels:"] = "Moje inne kanaÅ‚y:"; +App::$strings["Musical interests:"] = "Zainteresowania muzyczne:"; +App::$strings["Books, literature:"] = "Książki, literatura:"; +App::$strings["Television:"] = "Telewizja:"; +App::$strings["Film/dance/culture/entertainment:"] = "Film/taniec/kultura/rozrywka:"; +App::$strings["Love/Romance:"] = "MiÅ‚ość/Romans:"; +App::$strings["Work/employment:"] = "Praca/zatrudnienie:"; +App::$strings["School/education:"] = "SzkoÅ‚a/edukacja:"; +App::$strings["Like this thing"] = "Jak ta rzecz"; +App::$strings["Start calendar week on Monday"] = "Rozpocznij tydzieÅ„ kalendarzowy w poniedziaÅ‚ek"; +App::$strings["Default is Sunday"] = "DomyÅ›lnie jest to niedziela"; +App::$strings["Event Timezone Selection"] = "Wybór strefy czasowej wydarzenia"; +App::$strings["Allow event creation in timezones other than your own."] = "Zezwalaj na tworzenie wydarzeÅ„ w strefach czasowych innych niż Twoja."; +App::$strings["Search by Date"] = "Wyszukaj po dacie"; +App::$strings["Ability to select posts by date ranges"] = "Możliwość wyboru postów wedÅ‚ug zakresów dat"; +App::$strings["Tag Cloud"] = "Chmura tagów"; +App::$strings["Provide a personal tag cloud on your channel page"] = "UdostÄ™pnij osobistÄ… chmurÄ™ tagów na stronie swojego kanaÅ‚u"; +App::$strings["Use blog/list mode"] = "Użyj trybu bloga/listy"; +App::$strings["Comments will be displayed separately"] = "Komentarze bÄ™dÄ… wyÅ›wietlane osobno"; +App::$strings["Connection Filtering"] = "Filtrowanie połączeÅ„"; +App::$strings["Filter incoming posts from connections based on keywords/content"] = "Filtruj przychodzÄ…ce posty z połączeÅ„, na podstawie słów kluczowych lub treÅ›ci"; +App::$strings["Conversation"] = "Rozmowa"; +App::$strings["Emoji Reactions"] = "Reakcje emoji"; +App::$strings["Add emoji reaction ability to posts"] = "Dodaj możliwość reakcji emoji do postów"; +App::$strings["Dislike Posts"] = "Nielubienie postów"; +App::$strings["Ability to dislike posts/comments"] = "Możliwość postów i komentarzy jako nielubiane"; +App::$strings["Star Posts"] = "Wyróżnianie postów"; +App::$strings["Ability to mark special posts with a star indicator"] = "Możliwość oznaczania wyróżnionych postów wskaźnikiem gwiazdki"; +App::$strings["Reply on comment"] = "Odpowiedanie na komentarze"; +App::$strings["Ability to reply on selected comment"] = "Możliwość udzielenia odpowiedzi na wybrany komentarz"; +App::$strings["Advanced Directory Search"] = "Zaawansowane przeszukiwanie katalogu"; +App::$strings["Allows creation of complex directory search queries"] = "Umożliwia tworzenie zÅ‚ożonych zapytaÅ„ wyszukiwania w katalogu"; +App::$strings["Editor"] = "Edytor"; +App::$strings["Post Categories"] = "Kategorie postów"; +App::$strings["Add categories to your posts"] = "Dodaj kategorie do swoich postów"; +App::$strings["Large Photos"] = "Duże zdjÄ™cia"; +App::$strings["Include large (1024px) photo thumbnails in posts. If not enabled, use small (640px) photo thumbnails"] = "Dołączaj duże miniatury zdjęć (1024px) do postów. JeÅ›li nie jest to włączone, bÄ™dzie można używać maÅ‚ych miniatur (640 px)"; +App::$strings["Even More Encryption"] = "Jeszcze wiÄ™cej szyfrowania"; +App::$strings["Allow optional encryption of content end-to-end with a shared secret key"] = "Zezwalaj na opcjonalne szyfrowanie zawartoÅ›ci od koÅ„ca do koÅ„ca za pomocÄ… wspólnego tajnego klucza"; +App::$strings["Disable Comments"] = "Wyłącz komentarze"; +App::$strings["Provide the option to disable comments for a post"] = "Zapewnia możliwość wyłączenia komentowania postu"; +App::$strings["Delayed Posting"] = "Opóźnione publikowanie"; +App::$strings["Allow posts to be published at a later date"] = "Pozwal na publikacjÄ™ postów w późniejszym terminie"; +App::$strings["Content Expiration"] = "WygaÅ›niÄ™cie treÅ›ci"; +App::$strings["Remove posts/comments and/or private messages at a future time"] = "Usuwanie postów i komentarzy lub prywatnych wiadomoÅ›ci w przyszÅ‚oÅ›ci"; +App::$strings["Suppress Duplicate Posts/Comments"] = "PomiÅ„ zduplikowane posty i komentarze"; +App::$strings["Prevent posts with identical content to be published with less than two minutes in between submissions."] = "Zapobiegaj publikowaniu postów o identycznej treÅ›ci, majÄ…cych mniej niż dwie minuty miÄ™dzy przesÅ‚aniami."; +App::$strings["Auto-save drafts of posts and comments"] = "Automatyczne zapisywanie wersji roboczych postów i komentarzy"; +App::$strings["Automatically saves post and comment drafts in local browser storage to help prevent accidental loss of compositions"] = "Automatycznie zapisuje wersje robocze postów i komentarzy w lokalnej pamiÄ™ci przeglÄ…darki, aby zapobiec przypadkowej utracie kompozycji"; +App::$strings["Manage"] = "ZarzÄ…dzaj"; +App::$strings["Navigation Channel Select"] = "Wybór kanaÅ‚u przez nawigacjÄ™"; +App::$strings["Change channels directly from within the navigation dropdown menu"] = "Zmiana kanaÅ‚u bezpoÅ›rednio z rozwijanego menu nawigacji"; +App::$strings["Events Filter"] = "Filtr wydarzeÅ„"; +App::$strings["Ability to display only events"] = "Możliwość wyÅ›wietlania tylko wydarzeÅ„"; +App::$strings["Polls Filter"] = "Filtr ankiet"; +App::$strings["Ability to display only polls"] = "Możliwość wyÅ›wietlania tylko ankiet"; +App::$strings["Save search terms for re-use"] = "Zapisywanie wyszukiwanych haseÅ‚ do ponownego wykorzystania"; +App::$strings["Ability to file posts under folders"] = "Możliwość umieszczania postów w folderach"; +App::$strings["Alternate Stream Order"] = "Alternatywna kolejność strumienia"; +App::$strings["Ability to order the stream by last post date, last comment date or unthreaded activities"] = "Możliwość uporzÄ…dkowania strumienia wedÅ‚ug daty ostatniego postu, daty ostatniego komentarza lub nieprzeczytanych aktywnoÅ›ci"; +App::$strings["Contact Filter"] = "Filtr kontaktów"; +App::$strings["Ability to display only posts of a selected contact"] = "Możliwość wyÅ›wietlania postów autorstwa tylko wybranego kontaktu"; +App::$strings["Forum Filter"] = "Filtr forów"; +App::$strings["Ability to display only posts of a specific forum"] = "Możliwość wyÅ›wietlania postów tylko z okreÅ›lonego forum"; +App::$strings["Personal Posts Filter"] = "Filtr postów osobistych"; +App::$strings["Ability to display only posts that you've interacted on"] = "Możliwość wyÅ›wietlania tylko tych postów, z którymi miaÅ‚o siÄ™ interakcjÄ™"; +App::$strings["Photo Location"] = "Lokalizacja zdjÄ™cia"; +App::$strings["If location data is available on uploaded photos, link this to a map."] = "JeÅ›li dane lokalizacji sÄ… dostÄ™pne na przesÅ‚anych zdjÄ™ciach, połącz je z mapÄ…."; +App::$strings["Advanced Profiles"] = "Profile zaawansowane"; +App::$strings["Additional profile sections and selections"] = "Dodatkowe sekcje profilu i pól wyborów"; +App::$strings["Profile Import/Export"] = "Profile Import/Export"; +App::$strings["Save and load profile details across sites/channels"] = "Zapisz i wczytaj szczegóły profilu w różnych witrynach i kanaÅ‚ach"; +App::$strings["Multiple Profiles"] = "Wiele profili"; +App::$strings["Ability to create multiple profiles"] = "Możliwość tworzenia wielu profili"; +App::$strings["Delegation session ended."] = "Sesja delegacji zakoÅ„czyÅ‚a siÄ™."; +App::$strings["Logged out."] = "Wylogowano."; +App::$strings["Email validation is incomplete. Please check your email."] = "Weryfikacja adresu e-mail jest niekompletna. ProszÄ™ sprawdzić swój adres email."; +App::$strings["Failed authentication"] = "Uwierzytelnianie nie powiodÅ‚o siÄ™"; +App::$strings["Login failed."] = "Logowanie nie powiodÅ‚o siÄ™."; +App::$strings["prev"] = "poprzedni"; +App::$strings["first"] = "pierwszy"; +App::$strings["last"] = "ostatni"; +App::$strings["next"] = "nastÄ™pny"; +App::$strings["older"] = "starszy"; +App::$strings["newer"] = "nowszy"; +App::$strings["No connections"] = "Brak połączeÅ„"; +App::$strings["View all %s connections"] = "WyÅ›wietl wszystkie połączenia %s"; +App::$strings["Network: %s"] = "Sieć: %s"; +App::$strings["poke"] = "szturchać"; +App::$strings["ping"] = "ping"; +App::$strings["pinged"] = "spingowany"; +App::$strings["prod"] = "szturchać"; +App::$strings["prodded"] = "szturchać"; +App::$strings["slap"] = "spoliczkować"; +App::$strings["slapped"] = "spoliczkowany"; +App::$strings["finger"] = "dotknąć"; +App::$strings["fingered"] = "dotkniÄ™ty"; +App::$strings["rebuff"] = "odprawiać"; +App::$strings["rebuffed"] = "odprawiony"; +App::$strings["happy"] = "szczęśliwy"; +App::$strings["sad"] = "smutny"; +App::$strings["mellow"] = "Å‚agodny"; +App::$strings["tired"] = "zmÄ™czony"; +App::$strings["perky"] = "dziarski"; +App::$strings["angry"] = "gniewny"; +App::$strings["stupefied"] = "oszoÅ‚omiony"; +App::$strings["puzzled"] = "zdziwiony"; +App::$strings["interested"] = "zainteresowany"; +App::$strings["bitter"] = "gorzki"; +App::$strings["cheerful"] = "wesoÅ‚y"; +App::$strings["alive"] = "żywy"; +App::$strings["annoyed"] = "zirytowany"; +App::$strings["anxious"] = "niespokojny"; +App::$strings["cranky"] = "zepsuty"; +App::$strings["disturbed"] = "zaniepokojony"; +App::$strings["frustrated"] = "sfrustrowany"; +App::$strings["depressed"] = "przygnÄ™biony"; +App::$strings["motivated"] = "zmotywowany"; +App::$strings["relaxed"] = "z<relaksowany"; +App::$strings["surprised"] = "zaskoczony"; +App::$strings["Monday"] = "PoniedziaÅ‚ek"; +App::$strings["Tuesday"] = "Wtorek"; +App::$strings["Wednesday"] = "Åšroda"; +App::$strings["Thursday"] = "Czwartek"; +App::$strings["Friday"] = "PiÄ…tek"; +App::$strings["Saturday"] = "Sonota"; +App::$strings["Sunday"] = "Niedziela"; +App::$strings["January"] = "StyczeÅ„"; +App::$strings["February"] = "Luty"; +App::$strings["March"] = "Marzec"; +App::$strings["April"] = "KwiecieÅ„"; +App::$strings["May"] = "Maj"; +App::$strings["June"] = "Czerwiec"; +App::$strings["July"] = "Lipiec"; +App::$strings["August"] = "SierpieÅ„"; +App::$strings["September"] = "WrzesieÅ„"; +App::$strings["October"] = "Pażdziernik"; +App::$strings["November"] = "Listopad"; +App::$strings["December"] = "GrudzieÅ„"; +App::$strings["Unknown Attachment"] = "Nieznany załącznik"; +App::$strings["unknown"] = "nieznany"; +App::$strings["remove category"] = "usuÅ„ kataegoriÄ™"; +App::$strings["remove from file"] = "usuÅ„ z pliku"; +App::$strings["Download binary/encrypted content"] = "Pobierz zawartość binarnÄ…/zaszyfrowanÄ…"; +App::$strings["Poll has ended."] = "Ankieta zakoÅ„czyÅ‚a siÄ™."; +App::$strings["Poll ends: %s"] = "Ankieta koÅ„czy siÄ™ : %s"; +App::$strings["default"] = "domyÅ›lnie"; +App::$strings["Page layout"] = "UkÅ‚ad strony"; +App::$strings["You can create your own with the layouts tool"] = "Możesz tworzyć wÅ‚asne za pomocÄ… narzÄ™dzia ukÅ‚adów"; +App::$strings["HTML"] = "HTML"; +App::$strings["Comanche Layout"] = "UkÅ‚ad Comanche"; +App::$strings["PHP"] = "PHP"; +App::$strings["Page content type"] = "Typ treÅ›ci strony"; +App::$strings["activity"] = "aktywność"; +App::$strings["poll"] = "ankieta"; +App::$strings["a-z, 0-9, -, and _ only"] = "tylko a-z, 0-9, - i _"; +App::$strings["Design Tools"] = "NarzÄ™dzia projektowe"; +App::$strings["Pages"] = "Strony"; +App::$strings["Import"] = "Import"; +App::$strings["Import website..."] = "Import witryny..."; +App::$strings["Select folder to import"] = "Wybierz folder do zaimportowania"; +App::$strings["Import from a zipped folder:"] = "Import z pliku archiwum ZIP:"; +App::$strings["Import from cloud files:"] = "Import plków z chmury:"; +App::$strings["/cloud/channel/path/to/folder"] = "/chmura/kanaÅ‚/Å›cieżka/do/folderu"; +App::$strings["Enter path to website files"] = "Wprowadź Å›cieżkÄ™ do plików witryny internetowej"; +App::$strings["Select folder"] = "Wybierz folder"; +App::$strings["Export website..."] = "Eksport witryny..."; +App::$strings["Export to a zip file"] = "Eksport do pliku ZIP"; +App::$strings["website.zip"] = "nazwa_witryny.zip"; +App::$strings["Enter a name for the zip file."] = "Wprowadź nazwÄ™ pliku zip."; +App::$strings["Export to cloud files"] = "Elsport do plików w chmurze"; +App::$strings["/path/to/export/folder"] = "/Å›cieżka/do/eksportu/folder"; +App::$strings["Enter a path to a cloud files destination."] = "Wprowadź Å›cieżkÄ™ do miejsca docelowego plików w chmurze."; +App::$strings["Specify folder"] = "Wybierz folder"; +App::$strings["Unable to determine sender."] = "Nie można okreÅ›lić nadawcy."; +App::$strings["No recipient provided."] = "Nie podano odbiorcy."; +App::$strings["[no subject]"] = "[brak tematu]"; +App::$strings["Stored post could not be verified."] = "Nie można zweryfikować zapisanego postu."; +App::$strings["%1\$s wrote the following %2\$s %3\$s"] = "%1\$s napisaÅ‚ co nastÄ™puje %2\$s %3\$s"; +App::$strings["spoiler"] = "spojler"; +App::$strings["Profile-Based Privacy Groups"] = "Grupy prywatnoÅ›ci oparte na profilach"; +App::$strings["Private Forum"] = "Forum prywatne"; +App::$strings["Share with"] = "UdostÄ™pnij"; +App::$strings["Custom selection"] = "WÅ‚asny wybór"; +App::$strings["Select \"Allow\" to allow viewing. \"Don't allow\" lets you override and limit the scope of \"Allow\"."] = "Wybierz \"Zezwól\", aby zezwolić na przeglÄ…danie. \"Nie zezwalaj\" umożliwia zastÄ…pienie i ograniczenie zakresu \"Zezwalaj\"."; +App::$strings["Don't allow"] = "Nie pozwalaj"; +App::$strings["Post permissions %s cannot be changed %s after a post is shared.</br />These permissions set who is allowed to view the post."] = "Uprawnienia do publikowania %s nie mogÄ… być zmieniane %s po udostÄ™pnieniu postu. </br /> Te uprawnienia okreÅ›lajÄ…, kto może oglÄ…dać post."; +App::$strings["This is the home page of %s."] = "To jest strona główna %s."; +App::$strings["Trending"] = "Trendy"; +App::$strings["Keywords"] = "SÅ‚owa kluczowe"; +App::$strings["have"] = "ma"; +App::$strings["has"] = "majÄ…"; +App::$strings["want"] = "chce"; +App::$strings["wants"] = "chcÄ…"; +App::$strings["likes"] = "lubiÄ…"; +App::$strings["dislikes"] = "nie lubiÄ…"; +App::$strings["Unable to import a removed channel."] = "Nie można zaimportować usuniÄ™tego kanaÅ‚u."; +App::$strings["Cannot create a duplicate channel identifier on this system. Import failed."] = "Nie można utworzyć zduplikowanego identyfikatora kanaÅ‚u w tym systemie. Import nieudany."; +App::$strings["Unable to create a unique channel address. Import failed."] = "Nie można utworzyć unikalnego adresu kanaÅ‚u. Import nieudany."; +App::$strings["Cloned channel not found. Import failed."] = "Nie znaleziono sklonowanego kanaÅ‚u. Import nieudany."; +App::$strings["Remote authentication"] = "Zdalne uwierzytelnianie"; +App::$strings["Click to authenticate to your home hub"] = "Kliknij, aby uwierzytelnić siÄ™ na swoim głównym hubie"; +App::$strings["Manage your channels"] = "ZarzÄ…dzaj swoimi kanaÅ‚ami"; +App::$strings["Manage your privacy groups"] = "ZarzÄ…dzaj swoimi grupami prywatnoÅ›ci"; +App::$strings["Account/Channel Settings"] = "Ustawienia kanaÅ‚u/konta"; +App::$strings["Logout"] = "Wyloguj siÄ™"; +App::$strings["End this session"] = "ZakoÅ„cz tÄ… sesjÄ™"; +App::$strings["Your profile page"] = "Strona Twojego profilu"; +App::$strings["Manage/Edit profiles"] = "ZarzÄ…dzaj/edytuj profile"; +App::$strings["Sign in"] = "Zaloguj siÄ™"; +App::$strings["Take me home"] = "Zabierz mnie do domu"; +App::$strings["Log me out of this site"] = "Wyloguj mnie z tej witryny"; +App::$strings["Create an account"] = "Utwórz konto"; +App::$strings["Help and documentation"] = "Pomoc i dokumentacja"; +App::$strings["Search site @name, !forum, #tag, ?docs, content"] = "Szukaj w witrynie @name, !forum, #tag, ?docs, content"; +App::$strings["Site Setup and Configuration"] = "Instalacja i konfiguracja witryny"; +App::$strings["@name, !forum, #tag, ?doc, content"] = "@name, !forum, #tag, ?doc, content"; +App::$strings["Please wait..."] = "ProszÄ™ czekać ..."; +App::$strings["Add Apps"] = "Dodaj aplikacje"; +App::$strings["Arrange Apps"] = "Rozmieść aplikacje"; +App::$strings["Toggle System Apps"] = "Przełącz aplikacje systemowe"; +App::$strings["Status Messages and Posts"] = "Komunikaty o stanie i posty"; +App::$strings["Profile Details"] = "Szczegóły profilu"; +App::$strings["Photo Albums"] = "Albumy zdjęć"; +App::$strings["Files and Storage"] = "Pliki i ich magazyn"; +App::$strings["Saved Bookmarks"] = "Zapisane zakÅ‚adki"; +App::$strings["View Cards"] = "WyÅ›wietl karty"; +App::$strings["View Articles"] = "WyÅ›wietl artykuÅ‚y"; +App::$strings["View Webpages"] = "WyÅ›wietl witryny internetowe"; +App::$strings["Select an alternate language"] = "Wybierz alternatywny jÄ™zyk"; +App::$strings["OpenWebAuth: %1\$s welcomes %2\$s"] = "OpenWebAuth: %1\$s wita %2\$s"; +App::$strings["%1\$s's bookmarks"] = "zakÅ‚adki %1\$s"; +App::$strings[" and "] = " i "; +App::$strings["public profile"] = "profil publiczny"; +App::$strings["%1\$s changed %2\$s to “%3\$s”"] = "%1\$s zmieniÅ‚ %2\$s na „%3\$s”"; +App::$strings["Visit %1\$s's %2\$s"] = "Odwiedzin %1\$s %2\$s"; +App::$strings["%1\$s has an updated %2\$s, changing %3\$s."] = "%1\$s ma zaktualizowane %2\$s, zmieniajÄ…c %3\$s."; +App::$strings["INVALID EVENT DISMISSED!"] = "ODRZUCONO NIEPRAWIDÅOWE WYDARZENIE!"; +App::$strings["Summary: "] = "Podsumowanie: "; +App::$strings["Date: "] = "Data: "; +App::$strings["Reason: "] = "Powód: "; +App::$strings["INVALID CARD DISMISSED!"] = "ODRZUCONO NIEPRAWIDÅOWÄ„ KARTĘ!"; +App::$strings["Name: "] = "Nazwa: "; +App::$strings["Image exceeds website size limit of %lu bytes"] = "Obraz przekracza limit rozmiaru witryny wynoszÄ…cy %lu bajtów"; +App::$strings["Image file is empty."] = "Plik obrazu jest pusty."; +App::$strings["Photo storage failed."] = "Zapis zdjÄ™cia nie powiódÅ‚ siÄ™."; +App::$strings["a new photo"] = "nowe zdjÄ™cie"; +App::$strings["__ctx:photo_upload__ %1\$s posted %2\$s to %3\$s"] = "%1\$s wysÅ‚aÅ‚ %2\$s do %3\$s"; +App::$strings["Upload New Photos"] = "PrzeÅ›lij nowe zdjÄ™cia"; +App::$strings["Delete this item?"] = "Usunąć tÄ… pozycjÄ™D?"; +App::$strings["%s show less"] = "%s pokaż mniej"; +App::$strings["%s expand"] = "%s rozwiÅ„"; +App::$strings["%s collapse"] = "%s zwiÅ„"; +App::$strings["Password too short"] = "HasÅ‚o jest za krótkie"; +App::$strings["Passwords do not match"] = "HasÅ‚a nie pasujÄ… do siebie"; +App::$strings["everybody"] = "wszyscy"; +App::$strings["Secret Passphrase"] = "Tajna hasÅ‚o"; +App::$strings["Passphrase hint"] = "Wskazówka dotyczÄ…ca hasÅ‚a"; +App::$strings["Notice: Permissions have changed but have not yet been submitted."] = "Uwaga: uprawnienia ulegÅ‚y zmianie, ale nie zostaÅ‚y jeszcze przesÅ‚ane."; +App::$strings["close all"] = "zamknij wszystko"; +App::$strings["Nothing new here"] = "Nic nowego tutaj"; +App::$strings["Rate This Channel (this is public)"] = "OceÅ„ ten kanaÅ‚ (to jest publiczne)"; +App::$strings["Describe (optional)"] = "Opisz (opcjonalnie)"; +App::$strings["Please enter a link URL"] = "ProszÄ™ wprowadzić URL linku"; +App::$strings["Unsaved changes. Are you sure you wish to leave this page?"] = "Niezapisane zmiany. Czy na pewno chcesz opuÅ›cić tÄ™ stronÄ™?"; +App::$strings["lovely"] = "Å›liczne"; +App::$strings["wonderful"] = "wspaniaÅ‚e"; +App::$strings["fantastic"] = "fantastyczne"; +App::$strings["great"] = "Å›wietne"; +App::$strings["Your chosen nickname was either already taken or not valid. Please use our suggestion ("] = "Twój wybrany pseudonim jest już zajÄ™ty lub nieważny. Skorzystaj z naszej prpozycji ("; +App::$strings[") or enter a new one."] = ") lub wprowadź nowy."; +App::$strings["Thank you, this nickname is valid."] = "DziÄ™kujÄ™, ten pseudonim jest prawidÅ‚owy."; +App::$strings["A channel name is required."] = "Wymagana jest nazwa kanaÅ‚u."; +App::$strings["This is a "] = "To jest "; +App::$strings[" channel name"] = " nazwa kanaÅ‚u"; +App::$strings["Back to reply"] = "Wróć do odpowiedzi"; +App::$strings["Pinned"] = "PrzypiÄ™te"; +App::$strings["%d minutes"] = array( + 0 => "%d minuta", + 1 => "%d minuty", + 2 => "%d minut", +); +App::$strings["about %d hours"] = array( + 0 => "okoÅ‚o %d godziny", + 1 => "okoÅ‚o %d godzin", + 2 => "okoÅ‚o %d godzin", +); +App::$strings["%d days"] = array( + 0 => "%d dzieÅ„", + 1 => "%d dni", + 2 => "%d dni", +); +App::$strings["%d months"] = array( + 0 => "%d miesiÄ…c", + 1 => "%d miesiÄ™cy", + 2 => "%d miesiÄ™cy", +); +App::$strings["%d years"] = array( + 0 => "%d rok", + 1 => "%d lata", + 2 => "%d lat", +); +App::$strings["timeago.prefixAgo"] = "temu"; +App::$strings["timeago.prefixFromNow"] = "od teraz"; +App::$strings["timeago.suffixAgo"] = "temu"; +App::$strings["timeago.suffixFromNow"] = "od teraz"; +App::$strings["less than a minute"] = "mniej niż minutÄ™"; +App::$strings["about a minute"] = "okoÅ‚o minuty"; +App::$strings["about an hour"] = "okoÅ‚o godziny"; +App::$strings["a day"] = "dzieÅ„"; +App::$strings["about a month"] = "okoÅ‚o miesiÄ…ca"; +App::$strings["about a year"] = "okoÅ‚o roku"; +App::$strings[" "] = " "; +App::$strings["timeago.numbers"] = "timeago.numbers"; +App::$strings["__ctx:long__ May"] = "Maj"; +App::$strings["Jan"] = "Sty"; +App::$strings["Feb"] = "Lut"; +App::$strings["Mar"] = "Mar"; +App::$strings["Apr"] = "Kwi"; +App::$strings["__ctx:short__ May"] = "Maj"; +App::$strings["Jun"] = "Cze"; +App::$strings["Jul"] = "Lop"; +App::$strings["Aug"] = "Sie"; +App::$strings["Sep"] = "Wrz"; +App::$strings["Oct"] = "Paź"; +App::$strings["Nov"] = "Lis"; +App::$strings["Dec"] = "Gru"; +App::$strings["Sun"] = "Nie"; +App::$strings["Mon"] = "Pon"; +App::$strings["Tue"] = "Wto"; +App::$strings["Wed"] = "Åšro"; +App::$strings["Thu"] = "Czw"; +App::$strings["Fri"] = "PiÄ…"; +App::$strings["Sat"] = "Sob"; +App::$strings["__ctx:calendar__ today"] = "dzisiaj"; +App::$strings["__ctx:calendar__ month"] = "miesiÄ…c"; +App::$strings["__ctx:calendar__ week"] = "tydzieÅ„"; +App::$strings["__ctx:calendar__ day"] = "dzieÅ„"; +App::$strings["__ctx:calendar__ All day"] = "CaÅ‚y dzieÅ„"; +App::$strings["Please stand by while your download is being prepared."] = "ProszÄ™ czekać, aż pobieranie jest przygotowywane."; +App::$strings["The form security token was not correct. This probably happened because the form has been opened for too long (>3 hours) before submitting it."] = "Token bezpieczeÅ„stwa formularza byÅ‚ nieprawidÅ‚owy. Prawdopodobnie staÅ‚o siÄ™ tak, ponieważ formularz byÅ‚ otwarty zbyt dÅ‚ugo (> 3 godziny) przed wysÅ‚aniem."; +App::$strings["Profile to assign new connections"] = "Profil do przypisywania nowych połączeÅ„"; +App::$strings["Frequently"] = "CzÄ™sto"; +App::$strings["Hourly"] = "Co godzinnÄ™"; +App::$strings["Twice daily"] = "Dwa razy dziennie"; +App::$strings["Daily"] = "Co dzieÅ„"; +App::$strings["Weekly"] = "Co tydzieÅ„"; +App::$strings["Monthly"] = "Co miesiÄ…c"; +App::$strings["Currently Male"] = "Obecnie mężczyzna"; +App::$strings["Currently Female"] = "Obecnie kobieta"; +App::$strings["Mostly Male"] = "Głównie mężczyźna"; +App::$strings["Mostly Female"] = "Głównie kobieta"; +App::$strings["Transgender"] = "Transgender"; +App::$strings["Intersex"] = "InterpÅ‚ciowość"; +App::$strings["Transsexual"] = "Transseksualność"; +App::$strings["Hermaphrodite"] = "Hermafrodyta"; +App::$strings["Undecided"] = "Niezdecydowano"; +App::$strings["Males"] = "Mężczyżni"; +App::$strings["Females"] = "Kobiety"; +App::$strings["Gay"] = "Homoseksualista"; +App::$strings["Lesbian"] = "Lesbijka"; +App::$strings["No Preference"] = "Bez preferencji"; +App::$strings["Bisexual"] = "Biseksualne"; +App::$strings["Autosexual"] = "Autoseksualne"; +App::$strings["Abstinent"] = "Abstyncja"; +App::$strings["Virgin"] = "Dziewice"; +App::$strings["Deviant"] = "Dewiant"; +App::$strings["Fetish"] = "Fetysz"; +App::$strings["Oodles"] = "Oodles"; +App::$strings["Nonsexual"] = "Nonsexual"; +App::$strings["Single"] = "Singiel"; +App::$strings["Lonely"] = "Samotny/Samotna"; +App::$strings["Available"] = "DostÄ™pny/DostÄ™nna"; +App::$strings["Unavailable"] = "NiedostÄ™pny/Niedostęþna"; +App::$strings["Has crush"] = "Zadużony/Zadużona"; +App::$strings["Infatuated"] = "Zakochany/Zakochana"; +App::$strings["Dating"] = "Randki"; +App::$strings["Unfaithful"] = "Niewierny"; +App::$strings["Sex Addict"] = "Uzależniony/Uzależniona od seksu"; +App::$strings["Friends/Benefits"] = "Przyjaciele/KorzyÅ›ci"; +App::$strings["Casual"] = "Przygodnie"; +App::$strings["Engaged"] = "ZarÄ™czony/ZarÄ™czona"; +App::$strings["Married"] = "ZaÅ›lubiony/ZaÅ›lubiona"; +App::$strings["Imaginarily married"] = "ZaÅ›lubiony/ZaÅ›lubiona w myÅ›lach"; +App::$strings["Partners"] = "Patner/Partnerka"; +App::$strings["Cohabiting"] = "Konkubent/Konkubina"; +App::$strings["Common law"] = "Prawo zwyczajowe"; +App::$strings["Happy"] = "SzczÄ™sliwy/Szczęśliwa"; +App::$strings["Not looking"] = "Nie szukajÄ…cy/Nie szukajÄ…ca"; +App::$strings["Swinger"] = "Swinger"; +App::$strings["Betrayed"] = "Zdradzony/Zdradzona"; +App::$strings["Separated"] = "W separacji"; +App::$strings["Unstable"] = "Niestabilny/Niestabilna"; +App::$strings["Divorced"] = "Rozwiedziony/Rozwiedziona"; +App::$strings["Imaginarily divorced"] = "Rozwiedziony/Rozwiedziona w myÅ›lach"; +App::$strings["Widowed"] = "Wdowiec/Wdowa"; +App::$strings["Uncertain"] = "Niezdecydowany/Niezdecydowana"; +App::$strings["It's complicated"] = "To skomplikowane"; +App::$strings["Don't care"] = "Nie obchodzi mnie to"; +App::$strings["Ask me"] = "Zapytaj mnie"; +App::$strings["Friendica"] = "Friendica"; +App::$strings["OStatus"] = "OStatus"; +App::$strings["GNU-Social"] = "GNU-Social"; +App::$strings["RSS/Atom"] = "RSS/Atom"; +App::$strings["Diaspora"] = "Diaspora"; +App::$strings["Facebook"] = "Facebook"; +App::$strings["Zot"] = "Zot"; +App::$strings["LinkedIn"] = "LinkedIn"; +App::$strings["XMPP/IM"] = "XMPP/IM"; +App::$strings["MySpace"] = "MySpace"; +App::$strings["Not a valid email address"] = "NieprawidÅ‚owy adres e-mail"; +App::$strings["Your email domain is not among those allowed on this site"] = "Twoja domena e-mail nie należy do domen dozwolonych w tym serwisie"; +App::$strings["Your email address is already registered at this site."] = "Twój adres e-mail jest już zarejestrowany w tym serwisie."; +App::$strings["An invitation is required."] = "Wymagane jest zaproszenie."; +App::$strings["Invitation could not be verified."] = "Nie udaÅ‚o siÄ™ zweryfikować zaproszenia."; +App::$strings["Please enter the required information."] = "ProszÄ™ wprowadzić wymagane informacje."; +App::$strings["Failed to store account information."] = "Nie udaÅ‚o siÄ™ zapisać informacji o koncie."; +App::$strings["Registration confirmation for %s"] = "Potwierdzenie rejestracji dla %s"; +App::$strings["Registration request at %s"] = "Wniosek o rejestracjÄ™ na %s"; +App::$strings["your registration password"] = "hasÅ‚o rejestracyjne"; +App::$strings["Registration details for %s"] = "Szczegóły rejestracji dla %s"; +App::$strings["Account approved."] = "Konto zostaÅ‚o zatwierdzone."; +App::$strings["Registration revoked for %s"] = "Rejestracja cofniÄ™ta dla %s"; +App::$strings["Click here to upgrade."] = "Kliknij tutaj, aby zaktualizować."; +App::$strings["This action exceeds the limits set by your subscription plan."] = "Ta czynność wykracza poza limity okreÅ›lone w planie subskrypcji."; +App::$strings["This action is not available under your subscription plan."] = "Ta czynność nie jest dostÄ™pna w ramach Twojego planu subskrypcji."; +App::$strings["Help:"] = "Pomoc:"; +App::$strings["Not Found"] = "Nie znaleziono"; +App::$strings["Item was not found."] = "Nie znaleziono elementu."; +App::$strings["Unknown error."] = "Nieznany błąd."; +App::$strings["No source file."] = "Brak pliku źródÅ‚owego."; +App::$strings["Cannot locate file to replace"] = "Nie można znaleźć pliku do zastÄ…pienia"; +App::$strings["Cannot locate file to revise/update"] = "Nie można zlokalizować pliku do poprawienia/aktualizacji"; +App::$strings["File exceeds size limit of %d"] = "Plik przekracza limit rozmiaru %d"; +App::$strings["You have reached your limit of %1$.0f Mbytes attachment storage."] = "OsiÄ…gnÄ™ty zostaÅ‚ limit %1$.0f MB miejsca na załączniki."; +App::$strings["File upload failed. Possible system limit or action terminated."] = "PrzesyÅ‚anie pliku nie powiodÅ‚o siÄ™. Możliwe ograniczenie systemowe lub dziaÅ‚anie zakoÅ„czone."; +App::$strings["Stored file could not be verified. Upload failed."] = "Nie można zweryfikować zapisanego pliku. PrzesyÅ‚anie nie powiodÅ‚o siÄ™."; +App::$strings["Path not available."] = "Åšcieżka niedostÄ™pna."; +App::$strings["Empty pathname"] = "Pusta Å›cieżka"; +App::$strings["duplicate filename or path"] = "zduplikowana nazwa pliku lub Å›cieżka"; +App::$strings["Path not found."] = "Åšcieżka nie znaleziona."; +App::$strings["mkdir failed."] = "mkdir zakoÅ„czyÅ‚ sie błędem."; +App::$strings["database storage failed."] = "zapis w bazie danych nie powiódÅ‚ siÄ™."; +App::$strings["Empty path"] = "Pusta Å›cieżka"; +App::$strings["%s shared a %s with you"] = "%s udostÄ™pniÅ‚ Ci %s"; +App::$strings["file"] = "plik"; +App::$strings["New window"] = "Nowe okno"; +App::$strings["Open the selected location in a different window or browser tab"] = "Otwórz wybranÄ… lokalizacjÄ™ w innym oknie lub karcie przeglÄ…darki"; +App::$strings["Home, Voice"] = "Dom, gÅ‚osowy"; +App::$strings["Home, Fax"] = "Dom, fax"; +App::$strings["Work, Voice"] = "Praca, gÅ‚osowy"; +App::$strings["Work, Fax"] = "Praca, fax"; +App::$strings["View PDF"] = "WyÅ›wietl PDF"; +App::$strings[" by "] = " przez "; +App::$strings[" on "] = " na "; +App::$strings["Embedded content"] = "Osadzone treÅ›ci"; +App::$strings["Embedding disabled"] = "Osadzanie wyłączone"; +App::$strings["l F d, Y \\@ g:i A"] = "l F d, Y \\@ g:i A"; +App::$strings["Starts:"] = "RozpoczÄ™tych:"; +App::$strings["Finishes:"] = "ZakoÅ„czonych:"; +App::$strings["l F d, Y"] = "l F d, Y"; +App::$strings["Start:"] = "RozpoczÄ™to:"; +App::$strings["End:"] = "ZakoÅ„czono:"; +App::$strings["Timezone"] = "Strefa czasowa"; +App::$strings["This event has been added to your calendar."] = "To wydarzenie zostaÅ‚o dodane do Twojego kalendarza."; +App::$strings["Not specified"] = "NieokreÅ›lone"; +App::$strings["Needs Action"] = "Wymaga dziaÅ‚ania"; +App::$strings["Completed"] = "ZakoÅ„czone"; +App::$strings["In Process"] = "W trakcie"; +App::$strings["Cancelled"] = "Usuniete"; +App::$strings["Birthday"] = "Urodziny"; +App::$strings["Age: "] = "Wiek: "; +App::$strings["YYYY-MM-DD or MM-DD"] = "RRRR-MM-DD lub MM-DD"; +App::$strings["never"] = "nigdy"; +App::$strings["less than a second ago"] = "mniej niż sekundÄ™ temu"; +App::$strings["__ctx:e.g. 22 hours ago, 1 minute ago__ %1\$d %2\$s ago"] = "%1\$d %2\$s temu"; +App::$strings["__ctx:relative_date__ year"] = array( + 0 => "rok", + 1 => "lata", + 2 => "lat", +); +App::$strings["__ctx:relative_date__ month"] = array( + 0 => "miesiÄ…c", + 1 => "miesiÄ…ce", + 2 => "miesiÄ™cy", +); +App::$strings["__ctx:relative_date__ week"] = array( + 0 => "tydzieÅ„", + 1 => "tygodnie", + 2 => "tygodni", +); +App::$strings["__ctx:relative_date__ day"] = array( + 0 => "dzieÅ„", + 1 => "dni", + 2 => "dni", +); +App::$strings["__ctx:relative_date__ hour"] = array( + 0 => "godzina", + 1 => "godziny", + 2 => "godzin", +); +App::$strings["__ctx:relative_date__ minute"] = array( + 0 => "minuta", + 1 => "minuty", + 2 => "minut", +); +App::$strings["__ctx:relative_date__ second"] = array( + 0 => "sekunda", + 1 => "sekundy", + 2 => "sekund", +); +App::$strings["%1\$s's birthday"] = "urodziny %1\$s"; +App::$strings["Happy Birthday %1\$s"] = "%1\$s, wszystkiego najlepszego z okazji urodzin"; +App::$strings["(Unknown)"] = "(Nieznane)"; +App::$strings["Visible to anybody on the internet."] = "Widoczne dla każdego w internecie."; +App::$strings["Visible to you only."] = "Widoczne tylko dla Ciebie."; +App::$strings["Visible to anybody in this network."] = "Widoczne dla każdego w tej sieci."; +App::$strings["Visible to anybody authenticated."] = "Widoczne dla każdego uwierzytelnionego."; +App::$strings["Visible to anybody on %s."] = "Widoczne dla wszystkich na %s."; +App::$strings["Visible to all connections."] = "Widoczny dla wszystkich połączeÅ„."; +App::$strings["Visible to approved connections."] = "Widoczny dla zatwierdzonych połączeÅ„."; +App::$strings["Visible to specific connections."] = "Widoczny dla okreÅ›lonych połączeÅ„."; +App::$strings["Privacy group is empty."] = "Grupa prywatnoÅ›ci jest pusta."; +App::$strings["Privacy group: %s"] = "Grupa prywatnoÅ›ci: %s"; +App::$strings["Connection not found."] = "Nie znaleziono połączenia."; +App::$strings["profile photo"] = "zdjÄ™cie profilowe"; +App::$strings["[Edited %s]"] = "[Edytowane %s]"; +App::$strings["__ctx:edit_activity__ Post"] = "Post"; +App::$strings["__ctx:edit_activity__ Comment"] = "Komentarz"; +App::$strings["Response from remote channel was incomplete."] = "Odpowiedź z kanaÅ‚u zdalnego byÅ‚a niekompletna."; +App::$strings["Premium channel - please visit:"] = "KanaÅ‚ premium - odwiedź:"; +App::$strings["Channel was deleted and no longer exists."] = "KanaÅ‚ zostaÅ‚ usuniÄ™ty i już nie istnieje."; +App::$strings["Invalid data packet"] = "NieprawidÅ‚owy pakiet danych"; +App::$strings["invalid target signature"] = "nieprawidÅ‚owy podpis docelowy"; +App::$strings["Image/photo"] = "Obraz/zdjÄ™cie"; +App::$strings["Encrypted content"] = "Zaszyfrowana treść"; +App::$strings["Install %1\$s element %2\$s"] = "Zainstaluj element %1\$s %2\$s"; +App::$strings["This post contains an installable %s element, however you lack permissions to install it on this site."] = "Ten post zawiera możliwy do zainstalowania element %s, jednak nie masz uprawnieÅ„ do zainstalowania go w tym serwisie."; +App::$strings["card"] = "karta"; +App::$strings["article"] = "artykuÅ‚"; +App::$strings["Click to open/close"] = "Kliknij, any otworzyć/zamknąć"; +App::$strings["View article"] = "WyÅ›wietl artykuÅ‚"; +App::$strings["View summary"] = "WyÅ›wietl podsumowanie"; +App::$strings["$1 wrote:"] = "$1 napisaÅ‚:"; +App::$strings["Follow"] = "Obserwuj"; +App::$strings["%1\$s is now following %2\$s"] = "%1\$s obserwujesz teraz %2\$s"; +App::$strings["The GNU-Social protocol does not support location independence. Connections you make within that network may be unreachable from alternate channel locations."] = "Protokół GNU-Social nie obsÅ‚uguje niezależnoÅ›ci od lokalizacji. Połączenia nawiÄ…zane w tej sieci mogÄ… być niedostÄ™pne z innych lokalizacji kanałów."; +App::$strings["GNU-Social Protocol App"] = "Aplikacja Protokół GNU-Social"; +App::$strings["GNU-Social Protocol"] = "GNU-Social Protocol"; +App::$strings["QR code"] = "Kod QR"; +App::$strings["QR Generator"] = "Generator QR"; +App::$strings["Enter some text"] = "Wprowadź jakiÅ› tekst"; +App::$strings["Popular Channels"] = "Popularne kanaÅ‚y"; +App::$strings["Channels to auto connect"] = "KanaÅ‚y do automatycznego podłączenia"; +App::$strings["Comma separated list"] = "Lista rozdzielana przecinkami"; +App::$strings["IRC Settings"] = "Ustawienia IRC"; +App::$strings["IRC settings saved."] = "Zapisano ustawienia IRC."; +App::$strings["IRC Chatroom"] = "Pokój rozmów IRC"; +App::$strings["Send email to all members"] = "WyÅ›lij e-mail do wszystkich czÅ‚onków"; +App::$strings["No recipients found."] = "Nie znaleziono adresatów."; +App::$strings["%1\$d of %2\$d messages sent."] = "WysÅ‚ano %1\$d wiadomoÅ›ci z %2\$d zadysponowanych."; +App::$strings["Send email to all hub members."] = "WyÅ›lij wiadomość e-mail do wszystkich czÅ‚onków huba."; +App::$strings["Message subject"] = "Temat wiadomoÅ›ci"; +App::$strings["Sender Email address"] = "Adres e-mail nadawcy"; +App::$strings["Test mode (only send to hub administrator)"] = "Tryb testowy (wysyÅ‚aj tylko do administratora huba)"; +App::$strings["Your Webbie:"] = "Twój Webbie:"; +App::$strings["Fontsize (px):"] = "Wielkość czcionki (px):"; +App::$strings["Link:"] = "Link:"; +App::$strings["Like us on Hubzilla"] = "Polub nas na Hubzilli"; +App::$strings["Embed:"] = "Osadzone:"; +App::$strings["Save Settings"] = "Zapisz ustawienia"; +App::$strings["text to include in all outgoing posts from this site"] = "tekst do umieszczania we wszystkich postach wychodzÄ…cych z tej witryny"; +App::$strings["lonely"] = "samotny"; +App::$strings["drunk"] = "pijany"; +App::$strings["horny"] = "seksualnie podniecony"; +App::$strings["stoned"] = "zjarany"; +App::$strings["fucked up"] = "spieprzone"; +App::$strings["clusterfucked"] = "klasterfucked"; +App::$strings["crazy"] = "zwariowany"; +App::$strings["hurt"] = "ból"; +App::$strings["sleepy"] = "senny"; +App::$strings["grumpy"] = "gderliwy"; +App::$strings["high"] = "wysoki"; +App::$strings["semi-conscious"] = "półprzytomny"; +App::$strings["in love"] = "zakochany"; +App::$strings["in lust"] = "w pożądaniu"; +App::$strings["naked"] = "nagi"; +App::$strings["stinky"] = "Å›mierdzÄ…cy"; +App::$strings["sweaty"] = "spocony"; +App::$strings["bleeding out"] = "wykrwawiać siÄ™"; +App::$strings["victorious"] = "zwyciÄ™ski"; +App::$strings["defeated"] = "pokonany"; +App::$strings["envious"] = "zazdrosny"; +App::$strings["jealous"] = "zazdrosny"; +App::$strings["This website is tracked using the <a href='http://www.piwik.org'>Piwik</a> analytics tool."] = "Ta witryna jest Å›ledzona za pomocÄ… narzÄ™dzia analitycznego <a href='http://www.piwik.org'>Piwik</a>."; +App::$strings["If you do not want that your visits are logged this way you <a href='%s'>can set a cookie to prevent Piwik from tracking further visits of the site</a> (opt-out)."] = "JeÅ›li nie chcesz, aby Twoje wizyty byÅ‚y rejestrowane w ten sposób, <a href='%s'> możesz ustawić plik cookie, aby uniemożliwić Piwik Å›ledzenie dalszych wizyt na stronie </a> (rezygnacja)."; +App::$strings["Piwik Base URL"] = "Bazowy adres URL Piwik"; +App::$strings["Absolute path to your Piwik installation. (without protocol (http/s), with trailing slash)"] = "Absolutna Å›cieżka do instalacji Piwika. (bez protokoÅ‚u (http/s), z koÅ„cowym ukoÅ›nikiem)"; +App::$strings["Site ID"] = "ID witryny"; +App::$strings["Show opt-out cookie link?"] = "Pokazać link do rezygnacji z pliku cookie?"; +App::$strings["Asynchronous tracking"] = "Åšledzenie asynchroniczne"; +App::$strings["Enable frontend JavaScript error tracking"] = "Włącz Å›ledzenie błędów JavaScript w interfejsie użytkownika"; +App::$strings["This feature requires Piwik >= 2.2.0"] = "Ta funkcjonalność wymaga Piwik >= 2.2.0"; +App::$strings["Access Denied"] = "DostÄ™p zabroniony"; +App::$strings["Enable Community Moderation"] = "Włącz moderacjÄ™ spoÅ‚ecznoÅ›ciowÄ…"; +App::$strings["Reputation automatically given to new members"] = "Reputacja przyznawana automatycznie nowym czÅ‚onkom"; +App::$strings["Reputation will never fall below this value"] = "Reputacja nigdy nie spadnie poniżej tej wartoÅ›ci"; +App::$strings["Minimum reputation before posting is allowed"] = "Dozwolona jest minimalna reputacja przed rozpoczÄ™ciem postów"; +App::$strings["Minimum reputation before commenting is allowed"] = "Dozwolona jest minimalna reputacja przed rozpoczÄ™ciem komentowania"; +App::$strings["Minimum reputation before a member is able to moderate other posts"] = "Minimalna reputacja, zanim czÅ‚onek bÄ™dzie mógÅ‚ moderować inne posty"; +App::$strings["Max ratio of moderator's reputation that can be added to/deducted from reputation of person being moderated"] = "Maksymalny współczynnik reputacji moderatora, który można dodać do reputacji moderowanej osoby lub od niej odjąć"; +App::$strings["Reputation \"cost\" to post"] = "\"Koszt\" reputacji dla postu"; +App::$strings["Reputation \"cost\" to comment"] = "\"Koszt\" reputacji dla komentarza"; +App::$strings["Reputation automatically recovers at this rate per hour until it reaches minimum_to_post"] = "Reputacja automatycznie odÅ›wieżana jest w tym tempie co godzinÄ™, dopóki nie osiÄ…gnie minimum_to_post"; +App::$strings["When minimum_to_moderate > reputation > minimum_to_post reputation recovers at this rate per hour"] = "Kiedy minimum_to_moderate > reputation> minimum_to_post reputacja odÅ›wieża na jest z takÄ… szybkoÅ›ciÄ… na godzinÄ™"; +App::$strings["Community Moderation Settings"] = "Ustawienia moderowania spoÅ‚ecznoÅ›ciowego"; +App::$strings["Channel Reputation"] = "Reputacja kanaÅ‚u"; +App::$strings["An Error has occurred."] = "WystÄ…piÅ‚ błąd."; +App::$strings["Upvote"] = "GÅ‚osuj za"; +App::$strings["Downvote"] = "GÅ‚osuj przeciw"; +App::$strings["Can moderate reputation on my channel."] = "MogÄ™ moderować reputacjÄ™ na moim kanale."; +App::$strings["Errors encountered deleting database table "] = "Napotkano błędy podczas usuwania tabeli bazy danych "; +App::$strings["Submit Settings"] = "PrzeÅ›lij ustawienia"; +App::$strings["Drop tables when uninstalling?"] = "Usunąć tabele podczas odinstalowywania?"; +App::$strings["If checked, the Rendezvous database tables will be deleted when the plugin is uninstalled."] = "JeÅ›li zaznaczone, po odinstalowaniu wtyczki zostanÄ… usuniÄ™te wszystkie tabele z bazy danych Rendezvous."; +App::$strings["Mapbox Access Token"] = "Token Mapbox Access"; +App::$strings["If you enter a Mapbox access token, it will be used to retrieve map tiles from Mapbox instead of the default OpenStreetMap tile server."] = "JeÅ›li wprowadzisz token dostÄ™pu Mapbox, bÄ™dzie on używany do pobierania fragmentów mapy z Mapbox, zamiast z domyÅ›lnego serwera kafelków OpenStreetMap."; +App::$strings["Rendezvous"] = "Rendezvous"; +App::$strings["This identity has been deleted by another member due to inactivity. Please press the \"New identity\" button or refresh the page to register a new identity. You may use the same name."] = "Ta tożsamość zostaÅ‚a usuniÄ™ta przez innego czÅ‚onka z powodu braku aktywnoÅ›ci. ProszÄ™ nacisnąć przycisk \"Nowa tożsamość\" lub odÅ›wieżyć stronÄ™, aby zarejestrować nowÄ… tożsamość. Możesz użyć tej samej nazwy."; +App::$strings["Welcome to Rendezvous!"] = "Witamy w Rendezvous!"; +App::$strings["Enter your name to join this rendezvous. To begin sharing your location with the other members, tap the GPS control. When your location is discovered, a red dot will appear and others will be able to see you on the map."] = "Wpisz swoje imiÄ™ i nazwisko, aby dołączyć do tego spotkania. W celu rozpoczÄ™cia udostÄ™pniania swojej lokalizacji innym czÅ‚onkom, dotknij elementu sterujÄ…cego GPS. Gdy Twoja lokalizacja zostanie odkryta, pojawi siÄ™ czerwona kropka i inni bÄ™dÄ… mogli CiÄ™ zobaczyć na mapie."; +App::$strings["Let's meet here"] = "Spotkajmy siÄ™ tutaj"; +App::$strings["New marker"] = "Nowy znacznik"; +App::$strings["Edit marker"] = "Edytuj znacznik"; +App::$strings["New identity"] = "Nowa tożsamość"; +App::$strings["Delete marker"] = "UsuÅ„ znacznik"; +App::$strings["Delete member"] = "UsuÅ„ czÅ‚onka"; +App::$strings["Edit proximity alert"] = "Edytuj alert zbliżeniowy"; +App::$strings["A proximity alert will be issued when this member is within a certain radius of you.<br><br>Enter a radius in meters (0 to disable):"] = "Alert zbliżeniowy zostanie wygenerowany, gdy ten czÅ‚onek znajdzie siÄ™ w okreÅ›lonym promieniu od Ciebie. <br> <br> Wprowadź promieÅ„ w metrach (0, aby wyłączyć):"; +App::$strings["distance"] = "odlegÅ‚ość"; +App::$strings["Proximity alert distance (meters)"] = "OdlegÅ‚ość ostrzeżenia o bliskoÅ›ci (metry)"; +App::$strings["A proximity alert will be issued when you are within a certain radius of the marker location.<br><br>Enter a radius in meters (0 to disable):"] = "Alert zbliżeniowy zostanie wygenerowany, gdy znajdziesz siÄ™ w okreÅ›lonym promieniu od lokalizacji znacznika. <br> <br> Wprowadź promieÅ„ w metrach (0, aby wyłączyć):"; +App::$strings["Marker proximity alert"] = "Ostrzeżenie o bliskoÅ›ci znacznika"; +App::$strings["Reminder note"] = "Notatka przypominajÄ…ca"; +App::$strings["Enter a note to be displayed when you are within the specified proximity..."] = "Wprowadź notatkÄ™, która bÄ™dzie wyÅ›wietlana, gdy bÄ™dziesz w okreÅ›lonej odlegÅ‚oÅ›ci ..."; +App::$strings["Add new rendezvous"] = "Dodaj nowe spotkanie"; +App::$strings["Create a new rendezvous and share the access link with those you wish to invite to the group. Those who open the link become members of the rendezvous. They can view other member locations, add markers to the map, or share their own locations with the group."] = "Utwórz nowe spotkanie i udostÄ™pnij łącze dostÄ™pu tym, których chcesz zaprosić do grupy. Osoby, które otworzÄ… łącze, stajÄ… siÄ™ czÅ‚onkami spotkania. MogÄ… wyÅ›wietlać lokalizacje innych czÅ‚onków, dodawać znaczniki do mapy lub udostÄ™pniać wÅ‚asne lokalizacje grupie."; +App::$strings["You have no rendezvous. Press the button above to create a rendezvous!"] = "Nie masz spotkania. NaciÅ›nij przycisk powyżej, aby utworzyć spotkanie!"; +App::$strings["Skeleton App"] = "Aplikacja Szkielet"; +App::$strings["A skeleton for addons, you can copy/paste"] = "Szkielet dodatków, który można skopiować i wkleić"; +App::$strings["Some setting"] = "JakieÅ› ustawienie"; +App::$strings["A setting"] = "Ustawienie"; +App::$strings["Skeleton Settings"] = "Ustawienia Skeleton"; +App::$strings["Post to Hubzilla"] = "WyÅ›lij do Hubzilli"; +App::$strings["Channel is required."] = "KanaÅ‚ jest wymagany."; +App::$strings["Hubzilla Crosspost Connector Settings saved."] = "Ustawienia Hubzilla Crosspost Connector zostaÅ‚y zapisane."; +App::$strings["Hubzilla Crosspost Connector App"] = "Aplikacja Hubzilla Crosspost Connector"; +App::$strings["Relay public postings to another Hubzilla channel"] = "Przekaż publiczne posty na inny kanaÅ‚ Hubzilla"; +App::$strings["Send public postings to Hubzilla channel by default"] = "DomyÅ›lnie wysyÅ‚aj publiczne posty na kanaÅ‚ Hubzilla"; +App::$strings["Hubzilla API Path"] = "Åšcieżka API Hubzilla"; +App::$strings["https://{sitename}/api"] = "https://{sitename}/api"; +App::$strings["Hubzilla login name"] = "Nazwa logowania Hubzilla"; +App::$strings["Hubzilla channel name"] = "Nazwa kanaÅ‚u Hubzilla"; +App::$strings["Nickname"] = "Pseudonim"; +App::$strings["Hubzilla password"] = "HasÅ‚o Hubzilla"; +App::$strings["Hubzilla Crosspost Connector"] = "Hubzilla Crosspost Connector"; +App::$strings["TOTP Two-Step Verification"] = "Weryfikacja dwuetapowa TOTP"; +App::$strings["Enter the 2-step verification generated by your authenticator app:"] = "Wprowadź dwuetapowÄ… weryfikacjÄ™ wygenerowanÄ… przez aplikacjÄ™ uwierzytelniajÄ…cÄ…:"; +App::$strings["Success!"] = "Powodzenie!"; +App::$strings["Invalid code, please try again."] = "NieprawidÅ‚owy kod, proszÄ™ spróbować ponownie."; +App::$strings["Too many invalid codes..."] = "Za dużo nieprawidÅ‚owych kodów ..."; +App::$strings["Verify"] = "Zweryfikuj"; +App::$strings["You haven't set a TOTP secret yet.\nPlease click the button below to generate one and register this site\nwith your preferred authenticator app."] = "Nie ustawiÅ‚eÅ› jeszcze sekretu TOTP.\nKliknij przycisk poniżej, aby to wygenerować i zarejestrować witrynÄ™\nw preferowanej aplikacji uwierzytelniajÄ…cej."; +App::$strings["Your TOTP secret is"] = "Twój sekret TOTP to"; +App::$strings["Be sure to save it somewhere in case you lose or replace your mobile device.\nUse your mobile device to scan the QR code below to register this site\nwith your preferred authenticator app."] = "Zapisz go gdzieÅ› na wypadek zgubienia lub wymiany urzÄ…dzenia mobilnego.\nUżyj urzÄ…dzenia mobilnego, aby zeskanować poniższy kod QR i zarejestrować tÄ… witrynÄ™\nw preferowanej aplikacji uwierzytelniajÄ…cej."; +App::$strings["Test"] = "Test"; +App::$strings["Generate New Secret"] = "Generowanie nowego sekretu"; +App::$strings["Go"] = "Idź dalej"; +App::$strings["Enter your password"] = "Wprowadź swoje hasÅ‚o"; +App::$strings["enter TOTP code from your device"] = "wprowadź kod TOTP z urzÄ…dzenia"; +App::$strings["Pass!"] = "PrzeszÅ‚o!"; +App::$strings["Fail"] = "Błąd"; +App::$strings["Incorrect password, try again."] = "NieprawidÅ‚owe hasÅ‚o, spróbuj ponownie."; +App::$strings["Record your new TOTP secret and rescan the QR code above."] = "Zapisz swój nowy sekret TOTP i ponownie przeskanuj powyższy kod QR."; +App::$strings["TOTP Settings"] = "Ustawienia TOTP"; +App::$strings["Your account on %s will expire in a few days."] = "Twoje konto na %s wygaÅ›nie za kilka dni."; +App::$strings["Your $Productname test account is about to expire."] = "Twoje konto testowe $Productname wkrótce wygaÅ›nie."; +App::$strings["An account has been created for you."] = "Konto zostaÅ‚o dla Ciebie utworzone."; +App::$strings["Authentication successful but rejected: account creation is disabled."] = "Uwierzytelnianie przebiegÅ‚o pomyÅ›lne, ale zostaÅ‚o odrzucone: tworzenie konta jest wyłączone."; +App::$strings["DB Cleanup Failure"] = "Błąd czyszczenia bazy danych"; +App::$strings["[cart] Item Added"] = "[koszyk] Dodano element"; +App::$strings["Order already checked out."] = "Zamówienie już jest wyrejestrowane."; +App::$strings["Drop database tables when uninstalling."] = "UsuÅ„ tabele bazy danych podczas odinstalowywania."; +App::$strings["Cart Settings"] = "Ustawienia koszyka"; +App::$strings["Shop"] = "Sklep"; +App::$strings["Order Not Found"] = "Nie znaleziono zamówienia"; +App::$strings["Cart utilities for orders and payments"] = "NarzÄ™dzia koszyka do zamówieÅ„ i pÅ‚atnoÅ›ci"; +App::$strings["You must be logged into the Grid to shop."] = "Aby robić zakupy, musisz być zalogowany do Siatki."; +App::$strings["Order not found."] = "Nie znaleziono zamówienia."; +App::$strings["Access denied."] = "DostÄ™p zabroniony."; +App::$strings["No Order Found"] = "Nie znaleziono zamówienia"; +App::$strings["An unknown error has occurred Please start again."] = "WystÄ…piÅ‚ nieznany błąd. Zacznij od nowa."; +App::$strings["Requirements not met."] = "Nie speÅ‚nia wymagaÅ„."; +App::$strings["Review your order and complete any needed requirements."] = "Przejrzyj swoje zamówienie i speÅ‚nij wszystkie wymagania."; +App::$strings["Invalid Payment Type. Please start again."] = "NieprawidÅ‚owy typ pÅ‚atnoÅ›ci. Zacznij od nowa."; +App::$strings["Order not found"] = "Nie znaleziono zamówienia"; +App::$strings["Enable Order/Item Options"] = "Włącz opcjÄ™ Zamówienie/Element"; +App::$strings["Label"] = "Etykieta"; +App::$strings["Instructions"] = "Instukcje"; +App::$strings["Enable Hubzilla Services Module"] = "Włącz moduÅ‚ usÅ‚ug Hubzilla"; +App::$strings["New Sku"] = "Nowy SKU"; +App::$strings["Cannot save edits to locked item."] = "Nie można zapisać zmian w zablokowanym elemencie."; +App::$strings["SKU not found."] = "Nie znaleziono SKU."; +App::$strings["Invalid Activation Directive."] = "NieprawidÅ‚owa dyrektywa aktywacyjna."; +App::$strings["Invalid Deactivation Directive."] = "NieprawidÅ‚owa dyrektywa dezaktywacyjna."; +App::$strings["Add to this privacy group"] = "Dodaj do tej grupy prywatnoÅ›ci"; +App::$strings["Set user service class"] = "Ustaw klasÄ™ usÅ‚ug użytkownika"; +App::$strings["You must be using a local account to purchase this service."] = "Aby kupić tÄ™ usÅ‚ugÄ™, musisz korzystać z konta lokalnego."; +App::$strings["Changes Locked"] = "Zmiany zablokowane"; +App::$strings["Item available for purchase."] = "Element dostÄ™pny do zakupu."; +App::$strings["Price"] = "Cena"; +App::$strings["Photo URL"] = "Adres URL zdjÄ™cia"; +App::$strings["Add buyer to privacy group"] = "Dodaj kupujÄ…cego do grupy prywatnoÅ›ci"; +App::$strings["Add buyer as connection"] = "Dodaj kupujÄ…cego jako połączenie"; +App::$strings["Set Service Class"] = "Ustaw klasÄ™ usÅ‚ugi"; +App::$strings["Enable Subscription Management Module"] = "Włącz moduÅ‚ zarzÄ…dzania subskrypcjami"; +App::$strings["Cannot include subscription items with different terms in the same order."] = "Nie może zawierać elementów subskrypcji z różnymi terminami w tej samej kolejnoÅ›ci."; +App::$strings["Select Subscription to Edit"] = "Wybierz subskrypcjÄ™ do edycji"; +App::$strings["Edit Subscriptions"] = "Edytuj subskrypcje"; +App::$strings["Subscription SKU"] = "Subskrypcja SKU"; +App::$strings["Catalog Description"] = "Opis katalogu"; +App::$strings["Subscription available for purchase."] = "Subskrypcja dostÄ™pna do zakupu."; +App::$strings["Maximum active subscriptions to this item per account."] = "Maksymalna liczba aktywnych subskrypcji tego elementu na konto."; +App::$strings["Subscription price."] = "Cena subskrypcji."; +App::$strings["Quantity"] = "Ilość"; +App::$strings["Term"] = "Termin"; +App::$strings["Enable Paypal Button Module (API-v2)"] = "Włącz moduÅ‚ przycisków Paypal (API-v2)"; +App::$strings["Use Production Key"] = "Użyj klucza produkcyjnego"; +App::$strings["Paypal Sandbox Client Key"] = "Klucz klienta Paypal Sandbox"; +App::$strings["Paypal Sandbox Secret Key"] = "Tajny klucz Paypal Sandbox"; +App::$strings["Paypal Production Client Key"] = "Klucz klienta produkcyjny Paypal"; +App::$strings["Paypal Production Secret Key"] = "Tajny klucz produkcyjny Paypal"; +App::$strings["Paypal button payments are not enabled."] = "PÅ‚atnoÅ›ci za pomocÄ… przycisku PayPal nie sÄ… włączone."; +App::$strings["Paypal button payments are not properly configured. Please choose another payment option."] = "PÅ‚atnoÅ›ci za pomocÄ… przycisku PayPal nie sÄ… poprawnie skonfigurowane. Wybierz innÄ… opcjÄ™ pÅ‚atnoÅ›ci."; +App::$strings["Enable Paypal Button Module"] = "Włącz moduÅ‚ przycisku Paypal"; +App::$strings["Enable Manual Cart Module"] = "Włącz moduÅ‚ rÄ™cznego koszyka"; +App::$strings["Access Denied."] = "DostÄ™p zabroniony."; +App::$strings["Invalid Item"] = "ZÅ‚a pozycja"; +App::$strings["Error: order mismatch. Please try again."] = "Błąd: niezgodność zamówienia. ProszÄ™ spróbuj ponownie."; +App::$strings["Manual payments are not enabled."] = "PÅ‚atnoÅ›ci rÄ™czne nie sÄ… włączone."; +App::$strings["Finished"] = "ZakoÅ„czone"; +App::$strings["Enable Test Catalog"] = "Włącz katalog testów"; +App::$strings["Enable Manual Payments"] = "Włącz pÅ‚atnoÅ›ci rÄ™czne"; +App::$strings["Base Merchant Currency"] = "Podstawowa waluta sprzedawcy"; +App::$strings["We encountered a problem while logging in with the OpenID you provided. Please check the correct spelling of the ID."] = "NapotkaliÅ›my problem podczas logowania za pomocÄ… podanego przez Ciebie identyfikatora OpenID. Sprawdź poprawnÄ… pisowniÄ™ identyfikatora."; +App::$strings["The error message was:"] = "Komunikat o błędzie brzmi:"; +App::$strings["First Name"] = "ImiÄ™"; +App::$strings["Last Name"] = "Nazwisko"; +App::$strings["Full Name"] = "PeÅ‚na nazwa"; +App::$strings["Profile Photo 16px"] = "ZdjÄ™cie profilowe 16px"; +App::$strings["Profile Photo 32px"] = "ZdjÄ™cie profilowe 32px"; +App::$strings["Profile Photo 48px"] = "ZdjÄ™cie profilowe 48px"; +App::$strings["Profile Photo 64px"] = "ZdjÄ™cie profilowe 64px"; +App::$strings["Profile Photo 80px"] = "ZdjÄ™cie profilowe 80px"; +App::$strings["Profile Photo 128px"] = "ZdjÄ™cie profilowe 128px"; +App::$strings["Birth Year"] = "Rok urodzenia"; +App::$strings["Birth Month"] = "MiesiÄ…c urodzenia"; +App::$strings["Birth Day"] = "DzieÅ„ urodzenia"; +App::$strings["Birthdate"] = "Data urodzenia"; +App::$strings["OpenID protocol error. No ID returned."] = "Błąd protokoÅ‚u OpenID. Brak identyfikatora."; +App::$strings["Hubzilla File Storage Import"] = "Import z magazynu plików Hubzilla"; +App::$strings["This will import all your cloud files from another server."] = "Spowoduje to zaimportowanie wszystkich plików w chmurze z innego huba Hubzilla."; +App::$strings["Hubzilla Server base URL"] = "Bazowy adres URL serwera Hubzilla"; +App::$strings["Since modified date yyyy-mm-dd"] = "Od daty modyfikacji rrrr-mm-dd"; +App::$strings["Until modified date yyyy-mm-dd"] = "Do daty modyfikacji rrrr-mm-dd"; +App::$strings["Diaspora Protocol Settings updated."] = "Zaktualizowano ustawienia protokoÅ‚u Diaspora."; +App::$strings["The diaspora protocol does not support location independence. Connections you make within that network may be unreachable from alternate channel locations."] = "Protokół Diaspora nie obsÅ‚uguje niezależnoÅ›ci lokalizacji. Połączenia nawiÄ…zane w tej sieci mogÄ… być niedostÄ™pne z innych lokalizacji kanałów."; +App::$strings["Diaspora Protocol App"] = "Aplikacja Diaspora Protocol"; +App::$strings["Allow any Diaspora member to comment on your public posts"] = "Pozwól każdemu czÅ‚onkowi Diaspory komentować Twoje publiczne posty"; +App::$strings["Prevent your hashtags from being redirected to other sites"] = "Zapobiegaj przekierowywaniu hashtagów do innych witryn"; +App::$strings["Sign and forward posts and comments with no existing Diaspora signature"] = "Podpisuj i przesyÅ‚aj dalej posty i komentarze bez podpisu Diaspory"; +App::$strings["Followed hashtags (comma separated, do not include the #)"] = "Obserwowane hashtagi (oddzielone przecinkami, nie dodawaj #)"; +App::$strings["Diaspora Protocol"] = "Diaspora Protocol"; +App::$strings["No username found in import file."] = "W pliku importu nie znaleziono nazwy użytkownika."; +App::$strings["%1\$s dislikes %2\$s's %3\$s"] = "%1\$s desaprobat %2\$s %3\$s"; +App::$strings["Please install the statistics addon to be able to configure a diaspora relay"] = "Zainstaluj dodatek do statystyk, aby móc skonfigurować przekaźnik Diaspory"; +App::$strings["Diaspora Relay Handle"] = "Uchwyt przekaźnika Diaspory"; +App::$strings["Address of a diaspora relay. Example: relay@diasporarelay.tld"] = "Adres przekaźnika diaspory. PrzykÅ‚ad: relay@diasporarelay.tld"; +App::$strings["Diaspora relay could not be imported"] = "Nie można zaimportować przekaźnika diaspory"; +App::$strings["Hubzilla Directory Stats"] = "Statystyki katalogowe Hubzilla"; +App::$strings["Total Hubs"] = "Razem huby"; +App::$strings["Hubzilla Hubs"] = "Huby Hubzilla"; +App::$strings["Friendica Hubs"] = "Huby Friendica"; +App::$strings["Diaspora Pods"] = "Pody Diaspora"; +App::$strings["Hubzilla Channels"] = "KanaÅ‚y Hubzilla"; +App::$strings["Friendica Channels"] = "KanaÅ‚y Friendica"; +App::$strings["Diaspora Channels"] = "KanaÅ‚y Diaspora"; +App::$strings["Aged 35 and above"] = "W wieku 35 lat i wiÄ™cej"; +App::$strings["Aged 34 and under"] = "W wieku 34 lat i poniżej"; +App::$strings["Average Age"] = "Åšredni wiek"; +App::$strings["Known Chatrooms"] = "Znane czaty"; +App::$strings["Known Tags"] = "Znane tagi"; +App::$strings["Please note Diaspora and Friendica statistics are merely those **this directory** is aware of, and not all those known in the network. This also applies to chatrooms,"] = "ProszÄ™ mieć na uwadze, że statystyki Diaspory i Friendica to tylko te,które sÄ… widoczne dla **tego katalogu**, a nie wszystkie znane w sieci. Dotyczy to również czatów,"; +App::$strings["Show Upload Limits"] = "Pokaż limity przesyÅ‚ania"; +App::$strings["Hubzilla configured maximum size: "] = "Maksymalny rozmiar skonfigurowany w Hubzilli: "; +App::$strings["PHP upload_max_filesize: "] = "PHP upload_max_filesize: "; +App::$strings["PHP post_max_size (must be larger than upload_max_filesize): "] = "PHP post_max_size (musi być wiÄ™ksze od upload_max_filesize): "; +App::$strings["Hide Aside App"] = "Aplikacja Hide Aside"; +App::$strings["Fade out aside areas after a while when using endless scroll"] = "Powoduje zanikanie obszaru po chwili, gdy używasz dÅ‚ugiego przewijania"; +App::$strings["Installed"] = "Zainstalowane"; +App::$strings["You're welcome."] = "ProszÄ™ bardzo."; +App::$strings["Ah shucks..."] = "O cholera ..."; +App::$strings["Don't mention it."] = "Nie wspominaj o tym."; +App::$strings["<blush>"] = "<rumieniec>"; +App::$strings["View Larger"] = "Zobacz wiÄ™ksze"; +App::$strings["Tile Server URL"] = "Adres URL serwera kafelków rastrowych"; +App::$strings["A list of <a href=\"http://wiki.openstreetmap.org/wiki/TMS\" target=\"_blank\">public tile servers</a>"] = "Lista <a href=\"http://wiki.openstreetmap.org/wiki/TMS\" target=\"_blank\">publicznych serwerów kafelków</a>"; +App::$strings["Nominatim (reverse geocoding) Server URL"] = "Adres URL serwera Nominatim (odwrotne geokodowanie)"; +App::$strings["A list of <a href=\"http://wiki.openstreetmap.org/wiki/Nominatim\" target=\"_blank\">Nominatim servers</a>"] = "Lista <a href=\"http://wiki.openstreetmap.org/wiki/Nominatim\" target=\"_blank\">serwerów Nominatim</a>"; +App::$strings["Default zoom"] = "PowiÄ™kszenie domyÅ›lne"; +App::$strings["The default zoom level. (1:world, 18:highest, also depends on tile server)"] = "DomyÅ›lny poziom powiÄ™kszenia. (1: Å›wiat, 18: najwyższy, zależy również od serwera kafelków)"; +App::$strings["Include marker on map"] = "UwzglÄ™dnij znacznik na mapie"; +App::$strings["Include a marker on the map."] = "Umieść znacznik na tej mapie."; +App::$strings["Livejournal Crosspost Connector App"] = "Aplikacja Livejournal Crosspost Connector"; +App::$strings["Relay public posts to Livejournal"] = "Przekazuj publiczne posty do Livejournal"; +App::$strings["Livejournal username"] = "Nazwa użytkownika w Livejournal"; +App::$strings["Livejournal password"] = "HasÅ‚o do Livejournal"; +App::$strings["Post to Livejournal by default"] = "DomyÅ›lnie wysyÅ‚aj do Livejournal"; +App::$strings["Send wall-to-wall posts to Livejournal"] = "WysyÅ‚aj posty \"wall-to-wall\" do Livejournal"; +App::$strings["Add link to original post"] = "Dodaj odnoÅ›nik do oryginalnego postu"; +App::$strings["Livejournal Crosspost Connector"] = "Livejournal Crosspost Connector"; +App::$strings["Post to Livejournal"] = "Publikuj w Livejournal"; +App::$strings["Posted by"] = "WysÅ‚ane przez"; +App::$strings["Workflow user."] = "PrzepÅ‚yw pracy użytkownika."; +App::$strings["This channel"] = "Ten kanaÅ‚"; +App::$strings["Workflow"] = "PrzepÅ‚yw pracy"; +App::$strings["No Workflows Available"] = "Å»aden przepÅ‚yw nie jest dostÄ™pny"; +App::$strings["Add item to which workflow"] = "Dodaj element do przepÅ‚ywu pracy"; +App::$strings["Create Workflow Item"] = "Utwórz element przepÅ‚ywu pracy"; +App::$strings["Link"] = "Link"; +App::$strings["Web link."] = "Link do strony internetowej."; +App::$strings["Brief description or title"] = "Krótki opis lub tytuÅ‚"; +App::$strings["Notes and Info"] = "Uwagi i informacje"; +App::$strings["Body"] = "CiaÅ‚o"; +App::$strings["Workflow Settings"] = "Ustawienia przepÅ‚ywu pracy"; +App::$strings["Jabber BOSH host"] = "Host Jabber BOSH"; +App::$strings["Use central userbase"] = "Użyj centralnej bazy użytkowników"; +App::$strings["If enabled, members will automatically login to an ejabberd server that has to be installed on this machine with synchronized credentials via the \"auth_ejabberd.php\" script."] = "JeÅ›li jest włączone, czÅ‚onkowie bÄ™dÄ… automatycznie logować siÄ™ do serwera ejabberd, który musi być zainstalowany na tym komputerze z zsynchronizowanymi danymi uwierzytelniajÄ…cymi za poÅ›rednictwem skryptu „auth_ejabberd.phpâ€."; +App::$strings["XMPP settings updated."] = "Zaktualizowano ustawienia XMPP."; +App::$strings["XMPP App"] = "Aplikacja XMPP"; +App::$strings["Embedded XMPP (Jabber) client"] = "Osadzony klient XMPP (Jabber)"; +App::$strings["Individual credentials"] = "Indywidualne poÅ›wiadczenia"; +App::$strings["Jabber BOSH server"] = "Serwer Jabber BOSH"; +App::$strings["XMPP Settings"] = "Ustawienia XMPP"; +App::$strings["Superblock App"] = "Aplikacja Superblock"; +App::$strings["Block channels"] = "Blokuj kanaÅ‚"; +App::$strings["superblock settings updated"] = "zaktualizowano ustawienia superbloku"; +App::$strings["Currently blocked"] = "Obecnie zablokowane"; +App::$strings["No channels currently blocked"] = "Obecnie żadne kanaÅ‚y nie sÄ… zablokowane"; +App::$strings["Block Completely"] = "Zablokuj caÅ‚kowicie"; +App::$strings["Random Planet App"] = "Aplikacja Random Planet"; +App::$strings["Set a random planet from the Star Wars Empire as your location when posting"] = "Podczas wysyÅ‚ania ustaw, jako lokalizacjÄ™, losowÄ… planetÄ™ z Imperium Gwiezdnych Wojen"; +App::$strings["Possible adult content"] = "Możliwe treÅ›ci dla dorosÅ‚ych"; +App::$strings["%s - view"] = "%s - widok"; +App::$strings["NSFW Settings saved."] = "Zapisano ustawienia NSFW."; +App::$strings["NSFW App"] = "Aplikacja NSFW"; +App::$strings["Collapse content that contains predefined words"] = "ZwiÅ„ zawartość zawierajÄ…cÄ… predefiniowane sÅ‚owa"; +App::$strings["This app looks in posts for the words/text you specify below, and collapses any content containing those keywords so it is not displayed at inappropriate times, such as sexual innuendo that may be improper in a work setting. It is polite and recommended to tag any content containing nudity with #NSFW. This filter can also match any other word/text you specify, and can thereby be used as a general purpose content filter."] = "Ta aplikacja wyszukuje sÅ‚owa lub tekst, okreÅ›lone poniżej i zwija wszelkie treÅ›ci zawierajÄ…ce te sÅ‚owa kluczowe, aby nie byÅ‚y wyÅ›wietlane w nieodpowiednich momentach, takich jak insynuacje seksualne, które mogÄ… być niewÅ‚aÅ›ciwe w miejscu pracy. Grzecznie jest i zaleca siÄ™, oznaczanie wszelkich treÅ›ci zawierajÄ…cych nagość tagiem #NSFW. Ten filtr może również pasować do dowolnego innego okreÅ›lonego sÅ‚owa lub tekstu, dziÄ™ki czemu może być używany jako filtr treÅ›ci ogólnego przeznaczenia."; +App::$strings["Comma separated list of keywords to hide"] = "Lista słów kluczowych rozdzielona przecinkami"; +App::$strings["Word, /regular-expression/, lang=xx, lang!=xx"] = "SÅ‚owo, /wyrażenie regularne/, lang=xx, lang!=xx"; +App::$strings["NSFW"] = "NSFW"; +App::$strings["Three Dimensional Tic-Tac-Toe"] = "Trójwymiarowy Tic-Tac-Toe"; +App::$strings["3D Tic-Tac-Toe"] = "3D Tic-Tac-Toe"; +App::$strings["New game"] = "Nowa gra"; +App::$strings["New game with handicap"] = "Nowa gra z handicapem"; +App::$strings["Three dimensional tic-tac-toe is just like the traditional game except that it is played on multiple levels simultaneously. "] = "Trójwymiarowa gra w kółko i krzyżyk jest podobna do tradycyjnej gry, z tym wyjÄ…tkiem, że gra siÄ™ w niÄ… na wielu poziomach jednoczeÅ›nie. "; +App::$strings["In this case there are three levels. You win by getting three in a row on any level, as well as up, down, and diagonally across the different levels."] = "W tym przypadku sÄ… trzy poziomy. Wygrywasz, zdobywajÄ…c trzy z rzÄ™du na dowolnym poziomie, a także w górÄ™, w dół i po przekÄ…tnej na różnych poziomach."; +App::$strings["The handicap game disables the center position on the middle level because the player claiming this square often has an unfair advantage."] = "Gra z handicapem wyłącza Å›rodkowÄ… pozycjÄ™ na Å›rodkowym poziomie, ponieważ gracz zajmujÄ…cy to pole czÄ™sto ma nieuczciwÄ… przewagÄ™."; +App::$strings["You go first..."] = "Ty pierwszy ..."; +App::$strings["I'm going first this time..."] = "Tym razem idÄ™ pierwszy ..."; +App::$strings["You won!"] = "WygraÅ‚eÅ›!"; +App::$strings["\"Cat\" game!"] = "Gra \"Kot\"!"; +App::$strings["I won!"] = "WygraÅ‚em!"; +App::$strings["Photo Cache settings saved."] = "Zapisano ustawienia pamiÄ™ci podrÄ™cznej zdjęć."; +App::$strings["Photo Cache addon saves a copy of images from external sites locally to increase your anonymity in the web."] = "Dodatek Photo Cache zapisuje lokalnie kopie obrazów z zewnÄ™trznych witryn, aby zwiÄ™kszyć TwojÄ… anonimowość w sieci."; +App::$strings["Photo Cache App"] = "Aplikacja Photo Cache"; +App::$strings["Minimal photo size for caching"] = "Minimalny rozmiar zdjÄ™cia do buforowania"; +App::$strings["In pixels. From 1 up to 1024, 0 will be replaced with system default."] = "W pikselach. Od 1 do 1024, 0 zostanie zastÄ…pione domyÅ›lnymi ustawieniami systemowymi."; +App::$strings["Photo Cache"] = "Photo Cache"; +App::$strings["__ctx:opensearch__ Search %1\$s (%2\$s)"] = "Szukaj %1\$s (%2\$s)"; +App::$strings["__ctx:opensearch__ \$Projectname"] = "Hubzilla"; +App::$strings["Search \$Projectname"] = "Szukaj w Hubzilla"; +App::$strings["Libertree Crosspost Connector Settings saved."] = "Zapisano ustawienia Libertree Crosspost Connector."; +App::$strings["Libertree Crosspost Connector App"] = "Aplikacja Libertree Crosspost Connector"; +App::$strings["Relay public posts to Libertree"] = "Przekazuj publiczne posty do Libertree"; +App::$strings["Libertree API token"] = "Token API Libertree"; +App::$strings["Libertree site URL"] = "Adres URL witrny Libertree"; +App::$strings["Post to Libertree by default"] = "DomyÅ›lnie publikuj w Libertree"; +App::$strings["Libertree Crosspost Connector"] = "Libertree Crosspost Connector"; +App::$strings["Post to Libertree"] = "Publikuj w Libertree"; +App::$strings["Flag Adult Photos"] = "Oznaczanie zdjęć dla dorosÅ‚ych"; +App::$strings["Provide photo edit option to hide inappropriate photos from default album view"] = "Dostarcza opcjÄ™ edycji zdjęć, umożliwiajÄ…cÄ… ukrywanie nieodpowiednich zdjęć w domyÅ›lnym widoku albumu"; +App::$strings["Post to GNU social"] = "Publikuj w serwisie spoÅ‚ecznoÅ›ciowym GNU"; +App::$strings["API URL"] = "Adres URL API"; +App::$strings["Application name"] = "Nazwa aplikacji"; +App::$strings["Please contact your site administrator.<br />The provided API URL is not valid."] = "Skontaktuj siÄ™ z administratorem witryny. <br/> Podany adres URL interfejsu API jest nieprawidÅ‚owy."; +App::$strings["We could not contact the GNU social API with the Path you entered."] = "Nie mogliÅ›my nawiÄ…zać połączenia ze spoÅ‚ecznoÅ›ciowym API GNU o podanej Å›cieżce."; +App::$strings["GNU social settings updated."] = "Ustawienia spoÅ‚ecznoÅ›ciowe GNU zostaÅ‚y zaktualizowane."; +App::$strings["Relay public postings to a connected GNU social account (formerly StatusNet)"] = "Przekazywanie publicznych postów na połączone konto spoÅ‚ecznoÅ›ciowe GNU (dawniej StatusNet)"; +App::$strings["Globally Available GNU social OAuthKeys"] = "Globalnie dostÄ™pne klucze OAuthKey spoÅ‚ecznoÅ›ciowe GNU"; +App::$strings["There are preconfigured OAuth key pairs for some GNU social servers available. If you are using one of them, please use these credentials.<br />If not feel free to connect to any other GNU social instance (see below)."] = "DostÄ™pne sÄ… wstÄ™pnie skonfigurowane pary kluczy OAuth dla niektórych serwerów spoÅ‚ecznoÅ›ciowych GNU. JeÅ›li używasz jednego z nich, użyj tych poÅ›wiadczeÅ„. <br /> JeÅ›li nie możesz połączyć siÄ™ z innÄ… instancjÄ… spoÅ‚ecznoÅ›ciowÄ… GNU (patrz poniżej)."; +App::$strings["Provide your own OAuth Credentials"] = "Podaj wÅ‚asne dane logowania OAuth"; +App::$strings["No consumer key pair for GNU social found. Register your Hubzilla Account as an desktop client on your GNU social account, copy the consumer key pair here and enter the API base root.<br />Before you register your own OAuth key pair ask the administrator if there is already a key pair for this Hubzilla installation at your favourite GNU social installation."] = "Nie znaleziono pary kluczy konsumenckich dla spoÅ‚ecznoÅ›ci GNU. Zarejestruj swoje konto Hubzilla jako klienta stacjonarnego na swoim koncie spoÅ‚ecznoÅ›ciowym GNU, skopiuj tutaj parÄ™ kluczy klienta i wprowadź podstawowy katalog główny API. <br /> Przed zarejestrowaniem wÅ‚asnej pary kluczy OAuth zapytaj administratora, czy istnieje już para kluczy dla tej instalacji Hubzilli w Twojej ulubionej instalacji spoÅ‚ecznoÅ›ciowej GNU."; +App::$strings["OAuth Consumer Key"] = "Klucz klienta OAuth"; +App::$strings["OAuth Consumer Secret"] = "Tajny klucz klienta OAuth"; +App::$strings["Base API Path"] = "Podstawowa Å›cieżka API"; +App::$strings["Remember the trailing /"] = "ZapamiÄ™taj koÅ„cowy ukoÅ›nik /"; +App::$strings["GNU social application name"] = "Nazwa aplikacji spoÅ‚ecznoÅ›ciowej GNU"; +App::$strings["To connect to your GNU social account click the button below to get a security code from GNU social which you have to copy into the input box below and submit the form. Only your <strong>public</strong> posts will be posted to GNU social."] = "W celu połączenia siÄ™ ze swoim kontem spoÅ‚ecznoÅ›ciowym GNU, kliknij poniższy przycisk, aby uzyskać kod zabezpieczajÄ…cy z serwisu spoÅ‚ecznoÅ›ciowego GNU, który musisz skopiować do pola wprowadzania poniżej i przesÅ‚ać formularz. Tylko twoje <strong>publiczne</strong> posty bÄ™dÄ… publikowane w spoÅ‚ecznoÅ›ciach GNU."; +App::$strings["Log in with GNU social"] = "Zaloguj siÄ™ za pomocÄ… serwisu spoÅ‚ecznoÅ›ciowego GNU"; +App::$strings["Copy the security code from GNU social here"] = "Skopiuj tutaj kod bezpieczeÅ„stwa z GNU Social"; +App::$strings["Cancel Connection Process"] = "Anuluj proces łączenia"; +App::$strings["Current GNU social API is"] = "Obecne API spoÅ‚ecznoÅ›ciowe GNU to"; +App::$strings["Cancel GNU social Connection"] = "Anuluj połączenie spoÅ‚ecznoÅ›ciowe GNU"; +App::$strings["Currently connected to: "] = "Obecnie połączony z: "; +App::$strings["<strong>Note</strong>: Due your privacy settings (<em>Hide your profile details from unknown viewers?</em>) the link potentially included in public postings relayed to GNU social will lead the visitor to a blank page informing the visitor that the access to your profile has been restricted."] = "<strong>Uwaga</strong>: Ze wzglÄ™du na Twoje ustawienia prywatnoÅ›ci, odnoÅ›nik (<em>Ukryj szczegóły swojego profilu przed nieznanymi widzami? </em>), ewentualnie zawarty w publicznych postach przekazywanych do spoÅ‚ecznoÅ›ci GNU, bÄ™dzie kierowaÅ‚ odwiedzajÄ…cego na pustÄ… stronÄ™ z informacjÄ… dla odwiedzajÄ…cego, że dostÄ™p do Twojego profilu zostaÅ‚ ograniczony."; +App::$strings["Post to GNU social by default"] = "WysyÅ‚aj domyÅ›lnie do spoÅ‚ecznoÅ›ci GNU"; +App::$strings["If enabled your public postings will be posted to the associated GNU-social account by default"] = "JeÅ›li ta opcja jest włączona, twoje publiczne posty bÄ™dÄ… domyÅ›lnie wysyÅ‚ane na powiÄ…zane konto spoÅ‚ecznoÅ›ciowe GNU"; +App::$strings["Clear OAuth configuration"] = "Wyczyść konfiguracjÄ™ OAuth"; +App::$strings["GNU-Social Crosspost Connector"] = "GNU-Social Crosspost Connector"; +App::$strings["Who likes me?"] = "Kto mnie lubi?"; +App::$strings["ActivityPub Protocol Settings updated."] = "Zaktualizowano ustawienia ActivityPub Protocol."; +App::$strings["The activitypub protocol does not support location independence. Connections you make within that network may be unreachable from alternate channel locations."] = "Protokół AactivityPub nie obsÅ‚uguje niezależnoÅ›ci od lokalizacji. Połączenia nawiÄ…zane w tej sieci mogÄ… być niedostÄ™pne z innych lokalizacji kanałów."; +App::$strings["Activitypub Protocol App"] = "Aplikacja Activitypub Protocol"; +App::$strings["Deliver to ActivityPub recipients in privacy groups"] = "Dostarcz do odbiorców ActivityPub w grupach prywatnoÅ›ci"; +App::$strings["May result in a large number of mentions and expose all the members of your privacy group"] = "Może skutkować dużą liczbÄ… wzmianek i ujawnieniem wszystkich czÅ‚onków Twojej grupy prywatnoÅ›ci"; +App::$strings["Send multi-media HTML articles"] = "WysyÅ‚aj multimedialne artykuÅ‚y HTML"; +App::$strings["Not supported by some microblog services such as Mastodon"] = "NieobsÅ‚ugiwane przez niektóre usÅ‚ugi mikroblogów, takie jak Mastodon"; +App::$strings["Activitypub Protocol"] = "Activitypub Protocol"; +App::$strings["Post to Insane Journal"] = "Publikuj w Insane Journal"; +App::$strings["Insane Journal Crosspost Connector Settings saved."] = "Zapisano ustawienia Insane Journal Crosspost Connector."; +App::$strings["Insane Journal Crosspost Connector App"] = "Aplikacja Insane Journal Crosspost Connector"; +App::$strings["Relay public postings to Insane Journal"] = "Przekaż publiczne posty do Insane Journal"; +App::$strings["InsaneJournal username"] = "Nazwa użytkownika InsaneJournal"; +App::$strings["InsaneJournal password"] = "HasÅ‚o InsaneJournal"; +App::$strings["Post to InsaneJournal by default"] = "DomyÅ›lnie publikuj w InsaneJournal"; +App::$strings["Insane Journal Crosspost Connector"] = "Insane Journal Crosspost Connector"; +App::$strings["Max queueworker threads"] = "Maksymalna liczba wÄ…tków w kolejce"; +App::$strings["Assume workers dead after ___ seconds"] = "Załóż, że workery wygasajÄ… po ___ sekundach"; +App::$strings["Pause before starting next task: (microseconds. Minimum 100 = .0001 seconds)"] = "Wstrzymaj przed rozpoczÄ™ciem nastÄ™pnego zadania: (w mikrosekundach. Minimum 100 = .0001 sekund)"; +App::$strings["Queueworker Settings"] = "Ustawienia Queueworkera"; +App::$strings["Not allowed."] = "Niedozwolone."; +App::$strings["generic profile image"] = "ogólne zdjÄ™cie profilowe"; +App::$strings["random geometric pattern"] = "losowy wzór geometryczny"; +App::$strings["monster face"] = "twarz potwora"; +App::$strings["computer generated face"] = "wygenerowana komputerowo twarz"; +App::$strings["retro arcade style face"] = "twarz w stylu retro arcade"; +App::$strings["Hub default profile photo"] = "DomyÅ›lne zdjÄ™cie profilowe huba"; +App::$strings["Information"] = "Informacje"; +App::$strings["Libravatar addon is installed, too. Please disable Libravatar addon or this Gravatar addon.<br>The Libravatar addon will fall back to Gravatar if nothing was found at Libravatar."] = "Dodatek Libravatar jest również zainstalowany. ProszÄ™ wyłączyć dodatek Libravatar lub ten dodatek Gravatar. <br> Dodatek Libravatar wykorzysta Gravatara, jeÅ›li nic nie zostanie znalezione w bibliotece Libravatara."; +App::$strings["Default avatar image"] = "DomyÅ›lny obraz awatara"; +App::$strings["Select default avatar image if none was found at Gravatar. See README"] = "Wybierz domyÅ›lny obraz awatara, jeÅ›li nic nie zostaÅ‚o znaleziony w Gravatarze. Zobacz README"; +App::$strings["Rating of images"] = "Ocena zdjęć"; +App::$strings["Select the appropriate avatar rating for your site. See README"] = "Wybierz odpowiedniÄ… ocenÄ™ awatara dla swojej witryny. Zobacz README"; +App::$strings["Gravatar settings updated."] = "Zaktualizowano ustawienia Gravatara."; +App::$strings["Network error"] = "Błąd sieci"; +App::$strings["API error"] = "Błąd API"; +App::$strings["Unknown issue"] = "Nieznany problem"; +App::$strings["Unable to login using email address "] = "Nie można zalogować siÄ™ przy użyciu adresu e-mail "; +App::$strings["Sign in to Hubzilla using a social account"] = "Zaloguj siÄ™ do Hubzilli za pomocÄ… konta spoÅ‚ecznoÅ›ciowego"; +App::$strings["Social Authentication using your social media account"] = "Uwierzytelnianie spoÅ‚ecznoÅ›ciowe za pomocÄ… konta w mediach spoÅ‚ecznoÅ›ciowych"; +App::$strings["This app enables one or more social provider sign-in buttons on the login page."] = "Ta aplikacja umożliwia korzystanie na stronie logowania z co najmniej jednego przycisku logowania dostawcy usÅ‚ug spoÅ‚ecznoÅ›ciowych."; +App::$strings["Add an identity provider"] = "Dodaj dostawcÄ™ tożsamoÅ›ci"; +App::$strings["Enable "] = "Włącz "; +App::$strings["Key"] = "Klucz"; +App::$strings["Word"] = "SÅ‚owo"; +App::$strings["Secret"] = "Sekret"; +App::$strings["Add a custom provider"] = "Dodaj wÅ‚asnego dostawcÄ™"; +App::$strings["Remove an identity provider"] = "UsuÅ„ dostawcÄ™ tożsamoÅ›ci"; +App::$strings["Social authentication"] = "Uwierzytelnianie spoÅ‚ecznoÅ›ciowe"; +App::$strings["Error while saving provider settings"] = "Błąd podczas zapisywania ustawieÅ„ dostawcy"; +App::$strings["Custom provider already exists"] = "WÅ‚asny dostawca już istnieje"; +App::$strings["Social authentication settings saved."] = "Zapisano ustawienia uwierzytelniania spoÅ‚ecznoÅ›ciowego."; +App::$strings["Send your identity to all websites"] = "WyÅ›lij swojÄ… tożsamość do wszystkich witryn internetowych"; +App::$strings["Sendzid App"] = "Aplikacja Sendzid"; +App::$strings["Send ZID"] = "WyÅ›lij ZID"; +App::$strings["Photos imported"] = "ZdjÄ™cia zaimportowane"; +App::$strings["Redmatrix Photo Album Import"] = "Import albumu fotograficznego Redmatrix"; +App::$strings["This will import all your Redmatrix photo albums to this channel."] = "Spowoduje to zaimportowanie wszystkich albumów ze zdjÄ™ciami z Redmatrix do tego kanaÅ‚u."; +App::$strings["Redmatrix Server base URL"] = "Podstawowy adres URL serwera Redmatrix"; +App::$strings["Redmatrix Login Username"] = "Nazwa użytkownika logowania w Redmatrix"; +App::$strings["Redmatrix Login Password"] = "HasÅ‚o logowania do Redmatrix"; +App::$strings["Import just this album"] = "Zaimportuj tylko ten album"; +App::$strings["Leave blank to import all albums"] = "Pozostaw puste, aby zaimportować wszystkie albumy"; +App::$strings["Maximum count to import"] = "Maksymalna liczba albumów do zaimportowania"; +App::$strings["0 or blank to import all available"] = "0 lub puste, aby zaimportować wszystkie dostÄ™pne"; +App::$strings["Twitter settings updated."] = "Zaktualizowano ustawienia Twittera."; +App::$strings["Twitter Crosspost Connector App"] = "Aplikacja Twitter Crosspost Connector"; +App::$strings["Relay public posts to Twitter"] = "Przekazuj publiczne posty na Twitter"; +App::$strings["No consumer key pair for Twitter found. Please contact your site administrator."] = "Nie znaleziono pary kluczy klienta dla Twittera. Skontaktuj siÄ™ z administratorem witryny."; +App::$strings["At this Hubzilla instance the Twitter plugin was enabled but you have not yet connected your account to your Twitter account. To do so click the button below to get a PIN from Twitter which you have to copy into the input box below and submit the form. Only your <strong>public</strong> posts will be posted to Twitter."] = "W tej instancji Hubzilla wtyczka Twittera byÅ‚a włączona, ale nie połączyÅ‚eÅ› jeszcze swojego konta z kontem na Twitterze. Aby to zrobić, kliknij poniższy przycisk, aby uzyskać kod PIN z Twittera, który należy skopiować do pola wprowadzania poniżej i przesÅ‚ać formularz. Na Twitterze bÄ™dÄ… publikowane tylko Twoje <strong>publiczne</strong> posty."; +App::$strings["Log in with Twitter"] = "Zaloguj siÄ™ za pomocÄ… Twittera"; +App::$strings["Copy the PIN from Twitter here"] = "Skopiuj tutaj PIN z Twittera"; +App::$strings["<strong>Note:</strong> Due your privacy settings (<em>Hide your profile details from unknown viewers?</em>) the link potentially included in public postings relayed to Twitter will lead the visitor to a blank page informing the visitor that the access to your profile has been restricted."] = "<strong> Uwaga: </strong> Ze wzglÄ™du na Twoje ustawienia prywatnoÅ›ci (<em>Ukryj szczegóły swojego profilu przed nieznanymi widzami?</em>) ten link, potencjalnie zawarty w publicznych postach przekazywanych do Twittera, bÄ™dzie prowadziÅ‚ odwiedzajÄ…cego do pustej strony informujÄ…cej goÅ›cia, że dostÄ™p do Twojego profilu zostaÅ‚ ograniczony."; +App::$strings["Twitter post length"] = "DÅ‚ugość postu na Twitterze"; +App::$strings["Maximum tweet length"] = "Maksymalna dÅ‚ugość tweeta"; +App::$strings["Send public postings to Twitter by default"] = "DomyÅ›lnie wysyÅ‚aj publiczne posty na Twitter"; +App::$strings["If enabled your public postings will be posted to the associated Twitter account by default"] = "JeÅ›li ta opcja jest włączona, Twoje publiczne posty bÄ™dÄ… domyÅ›lnie publikowane na powiÄ…zanym koncie Twittera"; +App::$strings["Twitter Crosspost Connector"] = "Twitter Crosspost Connector"; +App::$strings["Post to Twitter"] = "Opublikuj na Twitterze"; +App::$strings["Project Servers and Resources"] = "Serwery projektów i zasoby"; +App::$strings["Project Creator and Tech Lead"] = "Twórca projektu i kierownik techniczny"; +App::$strings["And the hundreds of other people and organisations who helped make the Hubzilla possible."] = "Oraz setki innych osób i organizacji, które pomogÅ‚y stworzyć HubzillÄ™."; +App::$strings["The Redmatrix/Hubzilla projects are provided primarily by volunteers giving their time and expertise - and often paying out of pocket for services they share with others."] = "Projekty Redmatrix i Hubzilla sÄ… realizowane głównie przez wolontariuszy, którzy poÅ›wiÄ™cajÄ… swój czas i wiedzÄ™ i czÄ™sto pÅ‚acÄ… z wÅ‚asnej kieszeni za usÅ‚ugi, którymi dzielÄ… siÄ™ z innymi."; +App::$strings["There is no corporate funding and no ads, and we do not collect and sell your personal information. (We don't control your personal information - <strong>you do</strong>.)"] = "Nie ma żadnych funduszy korporacyjnych ani reklam a my nie zbieramy i nie sprzedajemy Twoich danych osobowych. (Nie kontrolujemy Twoich danych osobowych - <strong> Ty tak </strong>)."; +App::$strings["Help support our ground-breaking work in decentralisation, web identity, and privacy."] = "Pomóż nam wspierać nasze przeÅ‚omowe prace w zakresie decentralizacji, tożsamoÅ›ci internetowej i prywatnoÅ›ci."; +App::$strings["Your donations keep servers and services running and also helps us to provide innovative new features and continued development."] = "Twoje darowizny zapewniajÄ… nieprzerwane dziaÅ‚anie serwerów i usÅ‚ug, a także pomagajÄ… nam w zapewnianiu innowacyjnych nowych funkcji i ciÄ…gÅ‚ym rozwoju."; +App::$strings["Donate"] = "Wspomóż"; +App::$strings["Choose a project, developer, or public hub to support with a one-time donation"] = "Wybierz projekt, dewelopera lub publiczny hub, aby wesprzeć jednorazowÄ… darowiznÄ…"; +App::$strings["Donate Now"] = "WpÅ‚ać teraz"; +App::$strings["<strong><em>Or</em></strong> become a project sponsor (Hubzilla Project only)"] = "<strong><em>lub</em> </strong> zostaÅ„ sponsorem projektu (tylko Projekt Hubzilla)"; +App::$strings["Please indicate if you would like your first name or full name (or nothing) to appear in our sponsor listing"] = "Wskaż, czy chcesz, aby Twoje imiÄ™ lub imiÄ™ i nazwisko pojawiaÅ‚o siÄ™ na naszej liÅ›cie sponsorów"; +App::$strings["Sponsor"] = "Sponsor"; +App::$strings["Special thanks to: "] = "Specjalne podziÄ™kowania dla: "; +App::$strings["Dreamwidth Crosspost Connector Settings saved."] = "Zapisano ustawienia Dreamwidth Crosspost Connector."; +App::$strings["Dreamwidth Crosspost Connector App"] = "Aplikacja Dreamwidth Crosspost Connector"; +App::$strings["Relay public posts to Dreamwidth"] = "Przekazuj publiczne posty do Dreamwidth"; +App::$strings["Dreamwidth username"] = "Nazwa użytkownika Dreamwidth"; +App::$strings["Dreamwidth password"] = "HasÅ‚o Dreamwidth"; +App::$strings["Post to Dreamwidth by default"] = "DomyÅ›lnie publikuj na Dreamwidth"; +App::$strings["Link description (default:"] = "Opis odnoÅ›nika (domyÅ›lnie:"; +App::$strings["Dreamwidth Crosspost Connector"] = "Dreamwidth Crosspost Connector"; +App::$strings["Post to Dreamwidth"] = "Publikuj na Dreamwidth"; +App::$strings["nofed Settings saved."] = "nofed - zapisano ustawienie."; +App::$strings["No Federation App"] = "Brak aplikacji Federation"; +App::$strings["Prevent posting from being federated to anybody. It will exist only on your channel page."] = "Zapobiegaj federowaniu wiadomoÅ›ci do kogokolwiek. BÄ™dzie istnieć tylko na stronie Twojego kanaÅ‚u."; +App::$strings["Federate posts by default"] = "DomyÅ›lnie, posty Federate"; +App::$strings["No Federation"] = "Brak Federation"; +App::$strings["Federate"] = "Federate"; +App::$strings["WYSIWYG status editor"] = "Edytor aplikacji WYSIWYG Status"; +App::$strings["WYSIWYG Status App"] = "Aplikacja WYSIWYG Status"; +App::$strings["WYSIWYG Status"] = "WYSIWYG Status"; +App::$strings["No server specified"] = "Nie okreÅ›lono serwera"; +App::$strings["Posts imported"] = "Zaimportowano posty"; +App::$strings["Files imported"] = "Zaimportowano pliki"; +App::$strings["This addon app copies existing content and file storage to a cloned/copied channel. Once the app is installed, visit the newly installed app. This will allow you to set the location of your original channel and an optional date range of files/conversations to copy."] = "Ten dodatek kopiuje istniejÄ…ce treÅ›ci i magazyn plików do sklonowanego lub skopiowanego kanaÅ‚u. Po zainstalowaniu, odwiedź nowo zainstalowanÄ… aplikacjÄ™. Umożliwi Ci to ustawienie lokalizacji oryginalnego kanaÅ‚u i opcjonalnego zakresu dat plików lub konwersacji do skopiowania."; +App::$strings["This will import all your conversations and cloud files from a cloned channel on another server. This may take a while if you have lots of posts and or files."] = "Spowoduje to zaimportowanie wszystkich rozmów i plików przechowywanych w chmurze ze sklonowanego kanaÅ‚u na innym serwerze. Może to chwilÄ™ potrwać, jeÅ›li masz dużo postów lun plików."; +App::$strings["Include posts"] = "Dołącz posty"; +App::$strings["Conversations, Articles, Cards, and other posted content"] = "Rozmowy, artykuÅ‚y, karty i inne opublikowane treÅ›ci"; +App::$strings["Include files"] = "Dołącz pliki"; +App::$strings["Files, Photos and other cloud storage"] = "Pliki, zdjÄ™cia i inne przechowywane w chmurze rzeczy"; +App::$strings["Original Server base URL"] = "Oryginalny podstawowy adres URL serwera"; +App::$strings["Your channel has been upgraded to \$Projectname version"] = "Twój kanaÅ‚ zostaÅ‚ uaktualniony do wersji \$Projectname"; +App::$strings["Please have a look at the"] = "ProszÄ™ spojrzeć na"; +App::$strings["git history"] = "historia repozytorium Git"; +App::$strings["change log"] = "dziennik zmian"; +App::$strings["for further info."] = "po dalsze informacje."; +App::$strings["Upgrade Info"] = "Informacja o aktualizacji"; +App::$strings["Do not show this again"] = "Nie pokazuj tego ponownie"; +App::$strings["pageheader Settings saved."] = "pageheader - zapisano ustawienie."; +App::$strings["Page Header App"] = "Aplikacja Page Header"; +App::$strings["Inserts a page header"] = "Wstawia nagłówek strony"; +App::$strings["Message to display on every page on this server"] = "Wiadomość do wyÅ›wietlenia na każdej stronie na tym serwerze"; +App::$strings["Page Header"] = "Page Header"; +App::$strings["Who viewed my channel/profile"] = "Kto oglÄ…daÅ‚ mój kanaÅ‚ lub profil"; +App::$strings["Recent Channel/Profile Viewers"] = "Ostatnio wyÅ›wietlajÄ…cy mój kanaÅ‚ lub profil"; +App::$strings["No entries."] = "Brak postów."; +App::$strings["Messages"] = "WiadomoÅ›ci"; +App::$strings["message"] = "wiadomość"; +App::$strings["Message recalled."] = "Wiadomość przywoÅ‚ana."; +App::$strings["Conversation removed."] = "Rozmowa zostaÅ‚a usuniÄ™ta."; +App::$strings["Expires YYYY-MM-DD HH:MM"] = "Wygasa YYYY-MM-DD HH:MM"; +App::$strings["Requested channel is not in this network"] = "Żądanego kanaÅ‚u nie ma w tej sieci"; +App::$strings["Send Private Message"] = "WyÅ›lij prywatnÄ… wiadomość"; +App::$strings["To:"] = "Do:"; +App::$strings["Subject:"] = "Temat:"; +App::$strings["Attach file"] = "Dołącz plik"; +App::$strings["Send"] = "WyÅ›lij"; +App::$strings["Delete message"] = "UsuÅ„ wiadomość"; +App::$strings["Delivery report"] = "Raport dostawy"; +App::$strings["Recall message"] = "OdwoÅ‚aj wiadomość"; +App::$strings["Message has been recalled."] = "Wiadomość zostaÅ‚a odwoÅ‚ana."; +App::$strings["Delete Conversation"] = "UsuÅ„ rozmowÄ™"; +App::$strings["No secure communications available. You <strong>may</strong> be able to respond from the sender's profile page."] = "Brak bezpiecznej komunikacji. <strong>Możesz</strong> odpowiedzieć ze strony profilu nadawcy."; +App::$strings["Send Reply"] = "WyÅ›lij odpowiedź"; +App::$strings["Your message for %s (%s):"] = "Twoja wiadomość dla %s (%s):"; +App::$strings["Unable to lookup recipient."] = "Nie można znaleźć adresata."; +App::$strings["Unable to communicate with requested channel."] = "Nie można skomunikować siÄ™ z żądanym kanaÅ‚em."; +App::$strings["Cannot verify requested channel."] = "Nie można zweryfikować żądanego kanaÅ‚u."; +App::$strings["Selected channel has private message restrictions. Send failed."] = "Wybrany kanaÅ‚ ma ograniczenia dotyczÄ…ce wiadomoÅ›ci prywatnych. WysyÅ‚anie nie powiodÅ‚o siÄ™."; +App::$strings["System defaults:"] = "DomyÅ›lne wartoÅ›ci systemowe:"; +App::$strings["Preferred Clipart IDs"] = "Identyfikatory preferowanych clipartów"; +App::$strings["List of preferred clipart ids. These will be shown first."] = "Lista identyfikatorów preferowanych clipartów."; +App::$strings["Default Search Term"] = "DomyÅ›lna fraza wyszukiwania"; +App::$strings["The default search term. These will be shown second."] = "DomyÅ›lna fraza wyszukiwania. BÄ™dzie ona wyÅ›wietlana jako druga."; +App::$strings["Return After"] = "Wróć po"; +App::$strings["Page to load after image selection."] = "Strona do zaÅ‚adowania po wybraniu obrazu."; +App::$strings["Profile List"] = "Lista profili"; +App::$strings["Order of Preferred"] = "Kolejność preferowanych"; +App::$strings["Sort order of preferred clipart ids."] = "Sortuj preferowane identyfikatory clipart."; +App::$strings["Newest first"] = "Od najnowszych"; +App::$strings["As entered"] = "Jak wprowadzono"; +App::$strings["Order of other"] = "Kolejność innych"; +App::$strings["Sort order of other clipart ids."] = "Kolejność sortowania innych identyfikatorów clipartów."; +App::$strings["Most downloaded first"] = "Najczęściej pobierane jako pierwsze"; +App::$strings["Most liked first"] = "Najbardziej lubiane jako pierwsze"; +App::$strings["Preferred IDs Message"] = "Komunikat o preferowanych identyfikatorach"; +App::$strings["Message to display above preferred results."] = "Wiadomość do wyÅ›wietlenia powyżej preferowanych wyników."; +App::$strings["Uploaded by: "] = "PrzesÅ‚ane przez: "; +App::$strings["Drawn by: "] = "Narysowane przez: "; +App::$strings["Use this image"] = "Użyj tego obrazu"; +App::$strings["Or select from a free OpenClipart.org image:"] = "Lub wybierz bezpÅ‚atny obraz z OpenClipart.org:"; +App::$strings["Search Term"] = "Fraza wyszukiwania"; +App::$strings["Unknown error. Please try again later."] = "Nieznany błąd. Spróbuj ponownie później."; +App::$strings["Profile photo updated successfully."] = "ZdjÄ™cie profilowe zostaÅ‚o pomyÅ›lnie zaktualizowane."; +App::$strings["Gallery"] = "Gallery"; +App::$strings["Photo Gallery"] = "Galeria zdjęć"; +App::$strings["Gallery App"] = "Aplikacja Gallery"; +App::$strings["A simple gallery for your photo albums"] = "Prosta galeria dla albumów ze zdjÄ™ciami"; +App::$strings["Smileybutton App"] = "Aplikacja Smileybutton"; +App::$strings["Adds a smileybutton to the jot editor"] = "Dodaje przycisk emotikonów do edytora jot"; +App::$strings["Hide the button and show the smilies directly."] = "Ukryj przycisk i bezpoÅ›rednio wyÅ›wietlaj emotikony."; +App::$strings["Smileybutton Settings"] = "Ustawienia Smileybutton"; +App::$strings["Post to Friendica"] = "Opublikuj w sieci Hubzilla"; +App::$strings["Friendica Crosspost Connector Settings saved."] = "Zapisano ustawienia Friendica Crosspost Connector ."; +App::$strings["Friendica Crosspost Connector App"] = "Aplikacja Hubzilla Crosspost Connector"; +App::$strings["Relay public postings to a connected Friendica account"] = "Przekazywanie publicznych postów do połączonego konta Friendica"; +App::$strings["Send public postings to Friendica by default"] = "DomyÅ›lnie wysyÅ‚aj publiczne posty na kanaÅ‚ Hubzilla"; +App::$strings["Friendica API Path"] = "Åšcieżka API Hubzilla"; +App::$strings["Friendica login name"] = "Nazwa logowania w Hubzilla"; +App::$strings["Friendica password"] = "HasÅ‚o Hubzilla"; +App::$strings["Friendica Crosspost Connector"] = "Friendica Crosspost Connector"; +App::$strings["Logfile archive directory"] = "Katalog archiwum plików dziennika zdarzeÅ„"; +App::$strings["Directory to store rotated logs"] = "Katalog do przechowywania rotowanych dzienników zdarzeÅ„"; +App::$strings["Logfile size in bytes before rotating"] = "Rozmiar pliku dziennika w bajtach przed dokonaniem odnowienia"; +App::$strings["Number of logfiles to retain"] = "Liczba plików dziennika do przechowania"; +App::$strings["Post to WordPress"] = "Opubikuj w WordPress"; +App::$strings["Wordpress Settings saved."] = "Zapisano ustawienia Wordpress."; +App::$strings["Wordpress Post App"] = "Aplikacja Wordpress Post"; +App::$strings["Post to WordPress or anything else which uses the wordpress XMLRPC API"] = "Opublikuj na WordPress lub czymkolwiek innym, co używa API XMLRPC WordPress"; +App::$strings["WordPress username"] = "Nazwa użytkownika WordPress"; +App::$strings["WordPress password"] = "HasÅ‚o WordPress"; +App::$strings["WordPress API URL"] = "Adres URL API WordPress"; +App::$strings["Typically https://your-blog.tld/xmlrpc.php"] = "Zwykle https://your-blog.tld/xmlrpc.php"; +App::$strings["WordPress blogid"] = "Identyfikator blogu WordPress"; +App::$strings["For multi-user sites such as wordpress.com, otherwise leave blank"] = "Dla serwisów wielowitrynowych, takich jak wordpress.com, w przeciwnym razie pozostaw puste"; +App::$strings["Post to WordPress by default"] = "DomyÅ›lnie publikuj na WordPress"; +App::$strings["Forward comments (requires hubzilla_wp plugin)"] = "Przekazywanie komentarzy (wymaga wtyczki hubzilla_wp)"; +App::$strings["Wordpress Post"] = "Wordpress Post"; +App::$strings["Allow magic authentication only to websites of your immediate connections"] = "Zezwalaj na magiczne uwierzytelnianie tylko w witrynach internetowych Twoich bezpoÅ›rednich połączeÅ„"; +App::$strings["Authchoose App"] = "APlikacja Authchoose"; +App::$strings["Authchoose"] = "Authchoose"; +App::$strings["bitchslap"] = "bitchslap"; +App::$strings["bitchslapped"] = "bitchslapped"; +App::$strings["shag"] = "shag"; +App::$strings["shagged"] = "shagged"; +App::$strings["patent"] = "patent"; +App::$strings["patented"] = "opatentowany"; +App::$strings["hug"] = "przytulić"; +App::$strings["hugged"] = "przytulony"; +App::$strings["murder"] = "zamordować"; +App::$strings["murdered"] = "zamordowany"; +App::$strings["worship"] = "uwielbiać"; +App::$strings["worshipped"] = "uwielbiany"; +App::$strings["kiss"] = "pocaÅ‚ować"; +App::$strings["kissed"] = "pocaÅ‚owany"; +App::$strings["tempt"] = "kusić"; +App::$strings["tempted"] = "skuszony"; +App::$strings["raise eyebrows at"] = "unieść brwi"; +App::$strings["raised their eyebrows at"] = "podnieÅ›li brwi"; +App::$strings["insult"] = "zniewaga"; +App::$strings["insulted"] = "znieważony"; +App::$strings["praise"] = "pochwaÅ‚a"; +App::$strings["praised"] = "pochwalony"; +App::$strings["be dubious of"] = "mieć wÄ…tpliwoÅ›ci"; +App::$strings["was dubious of"] = "zwÄ…tpiony"; +App::$strings["eat"] = "jeść"; +App::$strings["ate"] = "najedzony"; +App::$strings["giggle and fawn at"] = "chichotać i pÅ‚akać"; +App::$strings["giggled and fawned at"] = "chichotaÅ‚ i Å‚akaÅ‚"; +App::$strings["doubt"] = "wÄ…tpić"; +App::$strings["doubted"] = "zwÄ…tpiÅ‚"; +App::$strings["glare"] = "piorunujÄ…ce spojrzenie"; +App::$strings["glared at"] = "obrzuciÅ‚ spojrzeniem"; +App::$strings["fuck"] = "pierdolić"; +App::$strings["fucked"] = "przejebane"; +App::$strings["bonk"] = "rżnąć"; +App::$strings["bonked"] = "zerżniÄ™ty"; +App::$strings["declare undying love for"] = "deklaruj wiecznÄ… miÅ‚ość"; +App::$strings["declared undying love for"] = "zadeklarowaÅ‚ wiecznÄ… miÅ‚ość"; +App::$strings["New registration"] = "Nowa rejestracja"; +App::$strings["Message sent to %s. New account registration: %s"] = "Wiadomość wysÅ‚ana do%s. Rejestracja nowego konta: %s"; +App::$strings["Pump.io Settings saved."] = "Ustawienia Pump.io zostaÅ‚y zapisane."; +App::$strings["Pump.io Crosspost Connector App"] = "Aplikacja Pump.io Crosspost Connector"; +App::$strings["Relay public posts to pump.io"] = "Przekazuj publiczne posty do Pump.io"; +App::$strings["Pump.io servername"] = "Nazwa serwera Pump.io"; +App::$strings["Without \"http://\" or \"https://\""] = "Bez \"http: //\" lub \"https: //\""; +App::$strings["Pump.io username"] = "Nazwa użytkownika Pump.io"; +App::$strings["Without the servername"] = "Bez nazwy serwera"; +App::$strings["You are not authenticated to pumpio"] = "Nie jesteÅ› uwierzytelniony w pumpio"; +App::$strings["(Re-)Authenticate your pump.io connection"] = "(Ponownie) Uwierzytelnij swoje połączenie pump.io"; +App::$strings["Post to pump.io by default"] = "Piblikuj domyÅ›lnie w pump.io"; +App::$strings["Should posts be public"] = "Posty powinny być publiczne"; +App::$strings["Mirror all public posts"] = "Powielaj wszystkie posty publiczne"; +App::$strings["Pump.io Crosspost Connector"] = "Pump.io Crosspost Connector"; +App::$strings["You are now authenticated to pumpio."] = "JesteÅ› teraz uwierzytelniony w pumpio."; +App::$strings["return to the featured settings page"] = "wróć do polecanej strony ustawieÅ„"; +App::$strings["Post to Pump.io"] = "Opublikuj na Pump.io"; +App::$strings["NSA Bait App"] = "Aplikacja NSA Bait"; +App::$strings["Make yourself a political target"] = "StaÅ„ siÄ™ celem politycznym"; +App::$strings["Add some colour to tag clouds"] = "Dodaj jakiÅ› kolor do oznaczania chmur"; +App::$strings["Rainbow Tag App"] = "Aplikacja Rainbow Tag"; +App::$strings["Rainbow Tag"] = "Rainbow Tag"; +App::$strings["Send test email"] = "WyÅ›lij testowÄ… wiadomość e-mail"; +App::$strings["Mail sent."] = "Mail wysÅ‚any."; +App::$strings["Sending of mail failed."] = "WysyÅ‚anie poczty nie powiodÅ‚o siÄ™."; +App::$strings["Mail Test"] = "Test poczty"; +App::$strings["Redmatrix File Storage Import"] = "Import magazyn plików Redmatrix"; +App::$strings["This will import all your Redmatrix cloud files to this channel."] = "Spowoduje to zaimportowanie wszystkich plików chmury Redmatrix do tego kanaÅ‚u."; +App::$strings["Use markdown for editing posts"] = "Użyj markdown do edycji postów"; +App::$strings["Fuzzloc Settings updated."] = "Zaktualizowano ustawienia Fuzzloc."; +App::$strings["Fuzzy Location App"] = "Aplikacja Fuzzy Location"; +App::$strings["Blur your precise location if your channel uses browser location mapping"] = "Zamaż swojÄ… dokÅ‚adnÄ… lokalizacjÄ™, jeÅ›li Twój kanaÅ‚ używa mapowania lokalizacji w przeglÄ…darce"; +App::$strings["Minimum offset in meters"] = "Minimalne przesuniÄ™cie w metrach"; +App::$strings["Maximum offset in meters"] = "Maksymalne przesuniÄ™cie w metrach"; +App::$strings["Fuzzy Location"] = "Fuzzy Location"; +App::$strings["Startpage App"] = "Aplikacja Startpage"; +App::$strings["Set a preferred page to load on login from home page"] = "Ustaw preferowanÄ… stronÄ™ do zaÅ‚adowania przy logowaniu ze strony głównej"; +App::$strings["Page to load after login"] = "Strona do zaÅ‚adowania po zalogowaniu"; +App::$strings["Examples: "apps", "network?f=&gid=37" (privacy collection), "channel" or "notifications/system" (leave blank for default network page (grid)."] = "PrzykÅ‚ady: "aplikacje", "sieć?f=&gid=37" (kolekcja prywatnoÅ›ci), "kanaÅ‚" lub "powiadomienie/system" (pozostaw puste dla domyÅ›lnej stony sieci (siatki)."; +App::$strings["Startpage"] = "Startpage"; +App::$strings["Focus (Hubzilla default)"] = "Fokus (domyÅ›lnie Hubzilla)"; +App::$strings["Theme settings"] = "Ustawienia motywu"; +App::$strings["Narrow navbar"] = "WÄ…ski pasek nawigacyjny"; +App::$strings["Navigation bar background color"] = "Kolor tÅ‚a paska nawigacji"; +App::$strings["Navigation bar icon color "] = "Kolor ikony paska nawigacji "; +App::$strings["Navigation bar active icon color "] = "Kolor ikony aktywnego paska nawigacji "; +App::$strings["Link color"] = "Kolor odnoÅ›nika"; +App::$strings["Set font-color for banner"] = "Ustaw kolor czcionki na banerze"; +App::$strings["Set the background color"] = "Ustaw kolor tÅ‚a"; +App::$strings["Set the background image"] = "Ustaw obraz tÅ‚a"; +App::$strings["Set the background color of items"] = "Ustaw kolor tÅ‚a elementów"; +App::$strings["Set the background color of comments"] = "Ustaw kolor tÅ‚a komentarzy"; +App::$strings["Set font-size for the entire application"] = "Ustaw rozmiar czcionki dla caÅ‚ej aplikacji"; +App::$strings["Examples: 1rem, 100%, 16px"] = "PrzykÅ‚ady: 1rem, 100%, 16px"; +App::$strings["Set font-color for posts and comments"] = "Ustaw kolor czcionki dla postów i komentarzy"; +App::$strings["Set radius of corners"] = "Ustaw promieÅ„ narożników"; +App::$strings["Example: 4px"] = "PrzykÅ‚ad: 4px"; +App::$strings["Set shadow depth of photos"] = "Ustaw głębiÄ™ cienia zdjęć"; +App::$strings["Set maximum width of content region in pixel"] = "Ustaw maksymalnÄ… szerokość obszaru treÅ›ci w pikselach"; +App::$strings["Leave empty for default width"] = "Pozostaw puste dla domyÅ›lnej szerokoÅ›ci"; +App::$strings["Set size of conversation author photo"] = "Ustaw rozmiar zdjÄ™cia autora rozmowy"; +App::$strings["Set size of followup author photos"] = "Ustaw rozmiar kolejnych zdjęć autora"; +App::$strings["Show advanced settings"] = "Pokaż ustawienia zaawansowane"; +App::$strings["Create an account to access services and applications"] = "Utwórz konto, aby uzyskać dostÄ™p do usÅ‚ug i aplikacji"; +App::$strings["Login/Email"] = "Login/Email"; +App::$strings["Password"] = "HasÅ‚o"; +App::$strings["Remember me"] = "ZapamiÄ™taj mnie"; +App::$strings["Forgot your password?"] = "Nie pamiÄ™tasz hasÅ‚a?"; +App::$strings["[\$Projectname] Website SSL error for %s"] = "[\$Projectname] Błąd SSL witryny internetowej dla %s"; +App::$strings["Website SSL certificate is not valid. Please correct."] = "Certyfikat SSL witryny jest nieprawidÅ‚owy. ProszÄ™ popraw."; +App::$strings["[\$Projectname] Cron tasks not running on %s"] = "[\$Projectname] Zadania Crona nie dziaÅ‚ajÄ… na %s"; +App::$strings["Cron/Scheduled tasks not running."] = "Zadania Crona (zaplanowane) nie dziaÅ‚ajÄ…."; diff --git a/view/pl/htconfig.tpl b/view/pl/htconfig.tpl new file mode 100644 index 000000000..ca8ad6375 --- /dev/null +++ b/view/pl/htconfig.tpl @@ -0,0 +1,111 @@ +<?php + +// Ustaw nastÄ™pujÄ…ce parametry instalacji bazy danych +// Skopiuj i lub zmieÅ„ nazwÄ™ tego pliku na .htconfig.php + +$db_host = '{{$dbhost}}'; +$db_port = '{{$dbport}}'; +$db_user = '{{$dbuser}}'; +$db_pass = '{{$dbpass}}'; +$db_data = '{{$dbdata}}'; +$db_type = '{{$dbtype}}'; // liczba caÅ‚kowita. 0 lub nieustawienie dla mysql, 1 dla postgres + +/* + * Uwaga: wiele z poniższych ustawieÅ„ bÄ™dzie dostÄ™pnych w panelu administracyjnym + * po pomyÅ›lnej instalacji serwisu. Po ustawieniu w panelu administracyjnym, opcje + * te sÄ… przechowywane w DB - a ustawienie DB zastÄ™pujÄ… wszelkie odpowiadajÄ…ce + * in ustawienie w tym pliku + * + * NarzÄ™dzie wiersza poleceÅ„ util/config może bezpoÅ›rednio wysyÅ‚ać zapytania i + * ustawiać elementy bazy danych, jeÅ›li z jakiegoÅ› powodu panel administracyjny + * nie jest dostÄ™pny a ustawienia systemowe wymagajÄ… modyfikacji. + * + */ + +// Wybierz legalnÄ… domyÅ›lnÄ… strefÄ™ czasowÄ…. Dla obszaru Polski jest to „Europe/Warsawâ€. +// Można to zmienić później i ma to zwiÄ…zek tylko z sygnaturami czasowymi dla +// anonimowych przeglÄ…dajÄ…cych. + +App::$config['system']['timezone'] = '{{$timezone}}'; + +// Jaki jest adres URL Twojego serwisu? NIE DODAWAJ KOŃCOWEGO UKOÅšNIKA! + +App::$config['system']['baseurl'] = '{{$siteurl}}'; +App::$config['system']['sitename'] = "Hubzilla"; +App::$config['system']['location_hash'] = '{{$site_id}}'; + +// Te wiersze ustawiajÄ… dodatkowe nagłówki bezpieczeÅ„stwa, które majÄ… być +// wysyÅ‚ane ze wszystkimi odpowiedziami. Możesz ustawić transport_security_header +// na 0, jeÅ›li twój serwer już wysyÅ‚a ten nagłówek. Może okazać siÄ™ konieczne +// wyłączenie content_security_policy, jeśłi chcesz uruchamiać wtyczkÄ™ Piwik +// umieszczać na stronach inne zasoby zewnÄ™trzne. + +App::$config['system']['transport_security_header'] = 1; +App::$config['system']['content_security_policy'] = 1; +App::$config['system']['ssl_cookie_protection'] = 1; + +// Masz do wyboru REGISTER_OPEN, REGISTER_APPROVE lub REGISTER_CLOSED. +// Upewnij siÄ™, że utworzyÅ‚eÅ› swoje wÅ‚asne konto osobiste przed ustawieniem +// REGISTER_CLOSED. Tekst "register_text" (jeÅ›li jest ustawiony) bÄ™dzie widoczny +// w widocznym miejscu na stronie rejestracji. REGISTER_APPROVE wymaga ustawienia +// "admin_email" na adres e-mail już zarejestrowanej osoby, która może autoryzować +// albo zatwierdź czy też odrzuć żądanie. + +App::$config['system']['register_policy'] = REGISTER_OPEN; +App::$config['system']['register_text'] = ''; +App::$config['system']['admin_email'] = '{{$adminmail}}'; + +// Zalecamy pozostawienie tego ustawienia na 1. Ustaw na 0, aby umożliwić osobom +// rejestrowanie siÄ™ bez udowadniania, że sÄ… wÅ‚aÅ›cicielami adresu e-mail, na który +// siÄ™ rejestrujÄ…. + +App::$config['system']['verify_email'] = 1; + +// Ograniczenia dostÄ™pu do serwisu. DomyÅ›lnie bÄ™dziemy tworzyć witryny prywatne. +// Masz do wyboru ACCESS_PRIVATE, ACCESS_PAID, ACCESS_TIERED i ACCESS_FREE. +// JeÅ›li opuÅ›cisz ustawienie REGISTER_OPEN powyżej, każdy bedzie siÄ™ mógÅ‚ +// zarejestrować na Twoim serwisiewitryna, jednak serwis ten nie bÄ™dzie nigdzie +// wyÅ›wietlany jako hub z otwartÄ… resjestracjÄ…. +// Używamy polityki dostÄ™pu do systemu (poniżej) aby okreÅ›lić, czy serwis ma być +// umieszczony w katalogu jako otwarty hub, w którym każdy może tworzyć konta. +// Twój wybór, to: paid, tiered lub free. + +App::$config['system']['access_policy'] = ACCESS_PRIVATE; + +// JeÅ›li prowadzisz witrynÄ™ publicznÄ…, możesz zezwolić, aby ludzie byli kierowani +// do "strony sprzedaży", na której można szczegółowo opisać funkcje, zasady lub +// plany usÅ‚ug. To musi być bezwzglÄ™dny adres URL zaczynajÄ…cy siÄ™ od http:// lub +// https: //. + +App::$config['system']['sellpage'] = ''; + +// Maksymalny rozmiar importowanej wiadomoÅ›ci, 0 jest nieograniczony + +App::$config['system']['max_import_size'] = 200000; + +// Lokalizacja procesora wiersza poleceÅ„ PHP (CLI PHP) + +App::$config['system']['php_path'] = '{{$phpath}}'; + +// Skonfiguruj sposób komunikacji z serwerami katalogowymi. +// DIRECTORY_MODE_NORMAL = klient katalogu, znajdziemy katalog +// DIRECTORY_MODE_SECONDARY = buforowanie katalogu lub kopii lustrzanej +// DIRECTORY_MODE_PRIMARY = główny serwer katalogów - jeden na dziedzinÄ™ +// DIRECTORY_MODE_STANDALONE = "poza sieciÄ…" lub prywatne usÅ‚ugi katalogowe + +App::$config['system']['directory_mode'] = DIRECTORY_MODE_NORMAL; + +// domyÅ›lny moty systemowy + +App::$config['system']['theme'] = 'redbasic'; + +// Konfiguracja rejstracji błędów PHP. +// Zanim to zrobisz, upewnij siÄ™, że serwer WWW ma uprawnienia +// tworzenie i zapisywanie php.out w katalogu WWW najwyższego poziomu, +// lub zmieÅ„ nazwÄ™ (poniżej) na plik lub Å›cieżkÄ™, jeÅ›li jest to dozwolone. + +// Odkomentuj te 4 linie, aby włączyć rejestrowanie błędów PHP. +//error_reporting(E_ERROR | E_WARNING | E_PARSE ); +//ini_set('error_log','php.out'); +//ini_set('log_errors','1'); +//ini_set('display_errors', '0'); diff --git a/view/pl/lostpass_eml.tpl b/view/pl/lostpass_eml.tpl new file mode 100644 index 000000000..b9f445548 --- /dev/null +++ b/view/pl/lostpass_eml.tpl @@ -0,0 +1,33 @@ + +Drogi/Droga {{$username}}, + Niedawno otrzymaliÅ›my proÅ›bÄ™ o zresetowanie kasÅ‚a do konta na {{$ sitename}}. +Aby potwierdzić tÄ™ proÅ›bÄ™, wybierz link weryfikacyjny poniżej lub wklej go w pasku +adresu przeglÄ…darki internetowej. + +JeÅ›li jest to pomyÅ‚ka i nie chcesz zmieniać hasÅ‚a, NIE klikaj podanego linku i +zignoruj albo usuÅ„ tÄ… wiadomość e-mail. + +Twoje hasÅ‚o nie zostanie zmienione, chyba że potwierdzisz prawdziwość tego żądania. + +Kliknij ten link, aby zweryfikować swojÄ… tożsamość i potwierdzić żądanie zmiany hasÅ‚a: + +{{$reset_link}} + +NastÄ™pnie otrzymasz wiadomość uzupeÅ‚niajÄ…cÄ… zawierajÄ…cÄ… nowe hasÅ‚o. + +Możesz zmienić to hasÅ‚o na stronie ustawieÅ„ konta, po zalogowaniu siÄ™. + +Dane logowania sÄ… nastÄ™pujÄ…ce: + +Lokalizacja serwisu: {{$siteurl}} +Nazwa logowania: {{$email}} + + + +Z poważaniem, + {{$sitename}} Administrator + +-- +Warunki Å›wiadczenia usÅ‚ug: +{{$siteurl}}/help/TermsOfService + diff --git a/view/pl/passchanged_eml.tpl b/view/pl/passchanged_eml.tpl new file mode 100644 index 000000000..0965f680a --- /dev/null +++ b/view/pl/passchanged_eml.tpl @@ -0,0 +1,23 @@ + +Drogi/Droga {{$username}}, + Twoje hasÅ‚o zostaÅ‚o zmienione zgodnie z żądaniem. Zachowaj te informacje +w swojej dokumentacji (lub natychmiast zmieÅ„ swoje hasÅ‚o na coÅ›, co zapamiÄ™tasz). + +Twoje dane logowania sÄ… nastÄ™pujÄ…ce: + +Lokalizacja serwisu: {{$siteurl}} +Nazwa logowania: {{$email}} +HasÅ‚o: {{$new_password}} + +Możesz zmienić to hasÅ‚o na stronie ustawieÅ„ konta, po zalogowaniu siÄ™. + + +Z poważaniem, + {{$sitename}} Administrator + + + +-- +Warunki Å›wiadczenia usÅ‚ug: +{{$siteurl}}/help/TermsOfService + diff --git a/view/pl/register_open_eml.tpl b/view/pl/register_open_eml.tpl new file mode 100644 index 000000000..e86cd33c3 --- /dev/null +++ b/view/pl/register_open_eml.tpl @@ -0,0 +1,18 @@ + +Na serwisie {{$ sitename}} zostaÅ‚o utworzone konto dla tego adresu e-mail. +Dane logowania sÄ… nastÄ™pujÄ…ce: + +Lokalizacja serwisu: {{$siteurl}} +Login: {{$email}} +Password: (hasÅ‚o, które zostaÅ‚o podane podczas rejestracji) + +JeÅ›li to konto zostaÅ‚o utworzone bez Twojej wiedzy i nie jest pożądane, możesz +odwiedić nasz serwis i zresetować ustawione hasÅ‚o. Umożliwi to usuniÄ™cie konta +z linków na stronie "Ustawienia", a my przepraszamy za wszelkie niedogodnoÅ›ci. + +DziÄ™kujemy i witamu na serwisie {{$sitename}}. + +Z poważaniem, + {{$sitename}} Administrator + + diff --git a/view/pl/register_verify_eml.tpl b/view/pl/register_verify_eml.tpl new file mode 100644 index 000000000..58116b48a --- /dev/null +++ b/view/pl/register_verify_eml.tpl @@ -0,0 +1,24 @@ + +OtrzymaliÅ›my proÅ›bÄ™ o rejestracjÄ™ użytkownika na serwisie {{$ sitename}}, co +wymaga Twojej zgody. + +Szczegóły logowania sÄ… nastÄ™pujÄ…ce: + +Lokalizacja serwisu: {{$siteurl}} +Nazwa logowania: {{$email}} +Adres IP: {{$details}} + +Aby zatwierdzić tÄ™ proÅ›bÄ™, kliknij poniższy link: + + +{{$siteurl}}/regmod/allow/{{$hash}} + + +Aby odrzucić proÅ›bÄ™ i usunąć konto, odwiedź: + + +{{$siteurl}}/regmod/deny/{{$hash}} + + +DziÄ™kujemy. + diff --git a/view/pl/register_verify_member.tpl b/view/pl/register_verify_member.tpl new file mode 100644 index 000000000..1efd5f1e6 --- /dev/null +++ b/view/pl/register_verify_member.tpl @@ -0,0 +1,33 @@ + +DziÄ™kujemy za zarejestrowanie siÄ™ na serwisie {{$sitename}}. + +Szczegóły Twojego logowania sÄ… nastęþujÄ…ce: + +Lokalizacja serwisu: {{$siteurl}} +Nazwa logowania: {{$email}} + +Zaloguj siÄ™ za pomocÄ… hasÅ‚a wybranego podczas rejestracji. + +Musimy zweryfikować Twój adres e-mail, aby zapewnić Ci peÅ‚ny dostÄ™p. + +Twój kod weryfikacyjny, to: + +{{$hash}} + +JeÅ›li zarejestrowaÅ‚eÅ› to konto, wprowadź kod weryfikacyjny do żądania lub odwiedź +poniższy link: + +{{$siteurl}}/regver/allow/{{$hash}} + +Aby odrzucić rejestracjÄ™ i usunąć konto, odwiedź: + +{{$siteurl}}/regver/deny/{{$hash}} + + +DziÄ™kjemy. + + +-- +Warunki Å›wiadczenia usÅ‚ug: +{{$siteurl}}/help/TermsOfService + diff --git a/view/pl/update_fail_eml.tpl b/view/pl/update_fail_eml.tpl new file mode 100644 index 000000000..33bf9161c --- /dev/null +++ b/view/pl/update_fail_eml.tpl @@ -0,0 +1,22 @@ +Przepraszamy, ale to może być ważne.
+
+Jest to komunika wygenerowany przez serwer WWW na {{$sitename}};
+
+Twórcy projektu opublikowali niedawno aktualizację {{$update}},
+ale podczas próby automatycznej instalacji coś poszło nie tak.
+Należy to szybko naprawić i wymaga interwencji człowieka.
+Skontaktuj się z deweloperem projektu, jeśli nie wiesz, jak samemu
+naprawić ten problem. Konfiguracja bazy danych serwera WWW może być nieprawidłowa.
+
+Komunikat błędu, to '{{$error}}'.
+
+Możesz spróbować ponownie zastosować tę aktualizację, odwiedzając stronę
+
+{{$baseurl}}/admin/dbsync
+
+po zalogowaniu siÄ™ na konto administratora.
+
+{{$source}}
+
+Przepraszam za utrudnienia,
+ Twój serwer WWW na {{$siteurl}}
diff --git a/view/ru/hmessages.po b/view/ru/hmessages.po index 72d254c95..0cdc38ff3 100644 --- a/view/ru/hmessages.po +++ b/view/ru/hmessages.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: hubzilla\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-11-15 11:39+0200\n" -"PO-Revision-Date: 2020-11-15 11:46+0200\n" +"POT-Creation-Date: 2021-01-03 17:35+0200\n" +"PO-Revision-Date: 2021-01-03 17:42+0200\n" "Last-Translator: Max Kostikov <max@kostikov.co>\n" "Language-Team: Russian (http://www.transifex.com/Friendica/hubzilla/language/ru/)\n" "MIME-Version: 1.0\n" @@ -22,7 +22,7 @@ msgstr "" msgid "Source channel not found." msgstr "Канал-иÑточник не найден." -#: ../../view/theme/redbasic/php/config.php:15 ../../include/text.php:3379 +#: ../../view/theme/redbasic/php/config.php:15 ../../include/text.php:3381 #: ../../Zotlabs/Module/Admin/Site.php:191 #: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:335 #: ../../extend/addon/hzaddons/cart/submodules/orderoptions.php:359 @@ -37,14 +37,15 @@ msgid "Focus (Hubzilla default)" msgstr "Ð¤Ð¾ÐºÑƒÑ (по умолчанию Hubzilla)" #: ../../view/theme/redbasic/php/config.php:94 ../../include/js_strings.php:22 -#: ../../Zotlabs/Module/Pconfig.php:116 ../../Zotlabs/Module/Defperms.php:266 -#: ../../Zotlabs/Module/Permcats.php:129 ../../Zotlabs/Module/Xchan.php:15 +#: ../../Zotlabs/Storage/Browser.php:375 ../../Zotlabs/Module/Pconfig.php:116 +#: ../../Zotlabs/Module/Defperms.php:266 ../../Zotlabs/Module/Permcats.php:129 +#: ../../Zotlabs/Module/Xchan.php:15 #: ../../Zotlabs/Module/Email_validation.php:40 #: ../../Zotlabs/Module/Poke.php:217 ../../Zotlabs/Module/Appman.php:155 -#: ../../Zotlabs/Module/Profiles.php:725 ../../Zotlabs/Module/Photos.php:1057 -#: ../../Zotlabs/Module/Photos.php:1097 ../../Zotlabs/Module/Photos.php:1215 +#: ../../Zotlabs/Module/Profiles.php:725 ../../Zotlabs/Module/Photos.php:1058 +#: ../../Zotlabs/Module/Photos.php:1098 ../../Zotlabs/Module/Photos.php:1216 #: ../../Zotlabs/Module/Oauth.php:111 ../../Zotlabs/Module/Events.php:501 -#: ../../Zotlabs/Module/Rate.php:166 ../../Zotlabs/Module/Locs.php:125 +#: ../../Zotlabs/Module/Rate.php:166 ../../Zotlabs/Module/Locs.php:132 #: ../../Zotlabs/Module/Sources.php:125 ../../Zotlabs/Module/Sources.php:162 #: ../../Zotlabs/Module/Chat.php:209 ../../Zotlabs/Module/Chat.php:248 #: ../../Zotlabs/Module/Oauth2.php:116 @@ -53,7 +54,7 @@ msgstr "Ð¤Ð¾ÐºÑƒÑ (по умолчанию Hubzilla)" #: ../../Zotlabs/Module/Settings/Account.php:103 #: ../../Zotlabs/Module/Settings/Conversation.php:49 #: ../../Zotlabs/Module/Settings/Editor.php:42 -#: ../../Zotlabs/Module/Settings/Display.php:190 +#: ../../Zotlabs/Module/Settings/Display.php:188 #: ../../Zotlabs/Module/Settings/Features.php:48 #: ../../Zotlabs/Module/Settings/Network.php:62 #: ../../Zotlabs/Module/Settings/Events.php:42 @@ -63,7 +64,7 @@ msgstr "Ð¤Ð¾ÐºÑƒÑ (по умолчанию Hubzilla)" #: ../../Zotlabs/Module/Settings/Profiles.php:52 #: ../../Zotlabs/Module/Settings/Connections.php:42 #: ../../Zotlabs/Module/Settings/Channel.php:495 -#: ../../Zotlabs/Module/Filestorage.php:203 ../../Zotlabs/Module/Setup.php:304 +#: ../../Zotlabs/Module/Filestorage.php:208 ../../Zotlabs/Module/Setup.php:304 #: ../../Zotlabs/Module/Setup.php:344 ../../Zotlabs/Module/Mitem.php:259 #: ../../Zotlabs/Module/Admin/Features.php:66 #: ../../Zotlabs/Module/Admin/Logs.php:84 @@ -81,7 +82,7 @@ msgstr "Ð¤Ð¾ÐºÑƒÑ (по умолчанию Hubzilla)" #: ../../Zotlabs/Module/Group.php:167 ../../Zotlabs/Module/Mood.php:158 #: ../../Zotlabs/Module/Invite.php:168 ../../Zotlabs/Module/Connect.php:107 #: ../../Zotlabs/Module/Pdledit.php:108 ../../Zotlabs/Module/Affinity.php:87 -#: ../../Zotlabs/Module/Wiki.php:215 ../../Zotlabs/Module/Import.php:649 +#: ../../Zotlabs/Module/Wiki.php:215 ../../Zotlabs/Module/Import.php:645 #: ../../Zotlabs/Module/Import_items.php:129 #: ../../Zotlabs/Widget/Wiki_pages.php:42 #: ../../Zotlabs/Widget/Wiki_pages.php:99 @@ -153,24 +154,27 @@ msgstr "Ð£Ð·ÐºÐ°Ñ Ð¿Ð°Ð½ÐµÐ»ÑŒ навигации" #: ../../view/theme/redbasic/php/config.php:99 #: ../../view/theme/redbasic/php/config.php:116 -#: ../../include/conversation.php:1463 ../../include/dir_fns.php:142 +#: ../../include/conversation.php:1466 ../../include/dir_fns.php:142 #: ../../include/dir_fns.php:143 ../../include/dir_fns.php:144 -#: ../../boot.php:1704 ../../Zotlabs/Storage/Browser.php:411 -#: ../../Zotlabs/Module/Defperms.php:198 ../../Zotlabs/Module/Profiles.php:683 -#: ../../Zotlabs/Module/Photos.php:672 ../../Zotlabs/Module/Api.php:99 -#: ../../Zotlabs/Module/Events.php:478 ../../Zotlabs/Module/Events.php:479 -#: ../../Zotlabs/Module/Sources.php:124 ../../Zotlabs/Module/Sources.php:159 -#: ../../Zotlabs/Module/Settings/Display.php:90 +#: ../../boot.php:1704 ../../Zotlabs/Storage/Browser.php:303 +#: ../../Zotlabs/Storage/Browser.php:304 ../../Zotlabs/Storage/Browser.php:305 +#: ../../Zotlabs/Storage/Browser.php:382 ../../Zotlabs/Storage/Browser.php:384 +#: ../../Zotlabs/Storage/Browser.php:545 ../../Zotlabs/Module/Defperms.php:198 +#: ../../Zotlabs/Module/Profiles.php:683 ../../Zotlabs/Module/Photos.php:673 +#: ../../Zotlabs/Module/Api.php:99 ../../Zotlabs/Module/Events.php:478 +#: ../../Zotlabs/Module/Events.php:479 ../../Zotlabs/Module/Sources.php:124 +#: ../../Zotlabs/Module/Sources.php:159 +#: ../../Zotlabs/Module/Settings/Display.php:88 #: ../../Zotlabs/Module/Settings/Channel.php:311 -#: ../../Zotlabs/Module/Filestorage.php:198 -#: ../../Zotlabs/Module/Filestorage.php:206 ../../Zotlabs/Module/Menu.php:163 +#: ../../Zotlabs/Module/Filestorage.php:203 +#: ../../Zotlabs/Module/Filestorage.php:211 ../../Zotlabs/Module/Menu.php:163 #: ../../Zotlabs/Module/Menu.php:222 ../../Zotlabs/Module/Mitem.php:176 #: ../../Zotlabs/Module/Mitem.php:177 ../../Zotlabs/Module/Mitem.php:256 #: ../../Zotlabs/Module/Mitem.php:257 ../../Zotlabs/Module/Admin/Site.php:259 #: ../../Zotlabs/Module/Connedit.php:403 ../../Zotlabs/Module/Connedit.php:788 #: ../../Zotlabs/Module/Wiki.php:227 ../../Zotlabs/Module/Wiki.php:228 -#: ../../Zotlabs/Module/Import.php:638 ../../Zotlabs/Module/Import.php:642 -#: ../../Zotlabs/Module/Import.php:643 ../../Zotlabs/Lib/Libzotdir.php:164 +#: ../../Zotlabs/Module/Import.php:634 ../../Zotlabs/Module/Import.php:638 +#: ../../Zotlabs/Module/Import.php:639 ../../Zotlabs/Lib/Libzotdir.php:164 #: ../../Zotlabs/Lib/Libzotdir.php:165 ../../Zotlabs/Lib/Libzotdir.php:167 #: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:94 #: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:98 @@ -224,23 +228,26 @@ msgstr "Ðет" #: ../../view/theme/redbasic/php/config.php:99 #: ../../view/theme/redbasic/php/config.php:116 -#: ../../include/conversation.php:1463 ../../include/dir_fns.php:142 +#: ../../include/conversation.php:1466 ../../include/dir_fns.php:142 #: ../../include/dir_fns.php:143 ../../include/dir_fns.php:144 -#: ../../boot.php:1704 ../../Zotlabs/Storage/Browser.php:411 -#: ../../Zotlabs/Module/Defperms.php:198 ../../Zotlabs/Module/Profiles.php:683 -#: ../../Zotlabs/Module/Photos.php:672 ../../Zotlabs/Module/Api.php:98 -#: ../../Zotlabs/Module/Events.php:478 ../../Zotlabs/Module/Events.php:479 -#: ../../Zotlabs/Module/Sources.php:124 ../../Zotlabs/Module/Sources.php:159 -#: ../../Zotlabs/Module/Settings/Display.php:90 +#: ../../boot.php:1704 ../../Zotlabs/Storage/Browser.php:303 +#: ../../Zotlabs/Storage/Browser.php:304 ../../Zotlabs/Storage/Browser.php:305 +#: ../../Zotlabs/Storage/Browser.php:382 ../../Zotlabs/Storage/Browser.php:384 +#: ../../Zotlabs/Storage/Browser.php:545 ../../Zotlabs/Module/Defperms.php:198 +#: ../../Zotlabs/Module/Profiles.php:683 ../../Zotlabs/Module/Photos.php:673 +#: ../../Zotlabs/Module/Api.php:98 ../../Zotlabs/Module/Events.php:478 +#: ../../Zotlabs/Module/Events.php:479 ../../Zotlabs/Module/Sources.php:124 +#: ../../Zotlabs/Module/Sources.php:159 +#: ../../Zotlabs/Module/Settings/Display.php:88 #: ../../Zotlabs/Module/Settings/Channel.php:311 -#: ../../Zotlabs/Module/Filestorage.php:198 -#: ../../Zotlabs/Module/Filestorage.php:206 ../../Zotlabs/Module/Menu.php:163 +#: ../../Zotlabs/Module/Filestorage.php:203 +#: ../../Zotlabs/Module/Filestorage.php:211 ../../Zotlabs/Module/Menu.php:163 #: ../../Zotlabs/Module/Menu.php:222 ../../Zotlabs/Module/Mitem.php:176 #: ../../Zotlabs/Module/Mitem.php:177 ../../Zotlabs/Module/Mitem.php:256 #: ../../Zotlabs/Module/Mitem.php:257 ../../Zotlabs/Module/Admin/Site.php:261 #: ../../Zotlabs/Module/Connedit.php:403 ../../Zotlabs/Module/Wiki.php:227 -#: ../../Zotlabs/Module/Wiki.php:228 ../../Zotlabs/Module/Import.php:638 -#: ../../Zotlabs/Module/Import.php:642 ../../Zotlabs/Module/Import.php:643 +#: ../../Zotlabs/Module/Wiki.php:228 ../../Zotlabs/Module/Import.php:634 +#: ../../Zotlabs/Module/Import.php:638 ../../Zotlabs/Module/Import.php:639 #: ../../Zotlabs/Lib/Libzotdir.php:164 ../../Zotlabs/Lib/Libzotdir.php:165 #: ../../Zotlabs/Lib/Libzotdir.php:167 #: ../../extend/addon/hzaddons/pumpio/Mod_Pumpio.php:94 @@ -402,13 +409,13 @@ msgid "Monthly" msgstr "ЕжемеÑÑчно" #: ../../include/selectors.php:60 ../../include/selectors.php:77 -#: ../../include/channel.php:1708 +#: ../../include/channel.php:1722 #: ../../extend/addon/hzaddons/openid/Mod_Id.php:85 msgid "Male" msgstr "Мужчина" #: ../../include/selectors.php:60 ../../include/selectors.php:77 -#: ../../include/channel.php:1706 +#: ../../include/channel.php:1720 #: ../../extend/addon/hzaddons/openid/Mod_Id.php:87 msgid "Female" msgstr "Женщина" @@ -445,19 +452,19 @@ msgstr "ТранÑÑекÑуал" msgid "Hermaphrodite" msgstr "Гермафродит" -#: ../../include/selectors.php:60 ../../include/channel.php:1712 +#: ../../include/selectors.php:60 ../../include/channel.php:1726 msgid "Neuter" msgstr "Среднего рода" -#: ../../include/selectors.php:60 ../../include/channel.php:1714 +#: ../../include/selectors.php:60 ../../include/channel.php:1728 msgid "Non-specific" msgstr "ÐеÑпецифичеÑкий" #: ../../include/selectors.php:60 ../../include/selectors.php:77 #: ../../include/selectors.php:115 ../../include/selectors.php:151 -#: ../../include/connections.php:740 ../../include/connections.php:747 +#: ../../include/connections.php:741 ../../include/connections.php:748 #: ../../include/event.php:1429 ../../include/event.php:1436 -#: ../../Zotlabs/Module/Cdav.php:1380 ../../Zotlabs/Module/Profiles.php:797 +#: ../../Zotlabs/Module/Cdav.php:1384 ../../Zotlabs/Module/Profiles.php:797 #: ../../Zotlabs/Module/Connedit.php:927 #: ../../Zotlabs/Access/PermissionRoles.php:310 msgid "Other" @@ -650,17 +657,21 @@ msgstr "Ð’ÑÑ‘ равно" msgid "Ask me" msgstr "СпроÑи менÑ" -#: ../../include/photos.php:27 ../../include/items.php:3966 +#: ../../include/photos.php:27 ../../include/items.php:3977 #: ../../include/attach.php:156 ../../include/attach.php:205 -#: ../../include/attach.php:278 ../../include/attach.php:386 -#: ../../include/attach.php:400 ../../include/attach.php:407 -#: ../../include/attach.php:489 ../../include/attach.php:1055 -#: ../../include/attach.php:1129 ../../include/attach.php:1292 -#: ../../Zotlabs/Module/Defperms.php:182 ../../Zotlabs/Module/Network.php:19 -#: ../../Zotlabs/Module/Common.php:38 ../../Zotlabs/Module/Item.php:483 -#: ../../Zotlabs/Module/Item.php:502 ../../Zotlabs/Module/Item.php:512 -#: ../../Zotlabs/Module/Item.php:1428 ../../Zotlabs/Module/Achievements.php:34 -#: ../../Zotlabs/Module/Display.php:442 ../../Zotlabs/Module/Poke.php:157 +#: ../../include/attach.php:278 ../../include/attach.php:329 +#: ../../include/attach.php:424 ../../include/attach.php:438 +#: ../../include/attach.php:445 ../../include/attach.php:527 +#: ../../include/attach.php:1091 ../../include/attach.php:1164 +#: ../../include/attach.php:1327 ../../Zotlabs/Module/Defperms.php:182 +#: ../../Zotlabs/Module/Network.php:19 ../../Zotlabs/Module/Common.php:38 +#: ../../Zotlabs/Module/Item.php:485 ../../Zotlabs/Module/Item.php:504 +#: ../../Zotlabs/Module/Item.php:514 ../../Zotlabs/Module/Item.php:1442 +#: ../../Zotlabs/Module/Achievements.php:34 +#: ../../Zotlabs/Module/Attach_edit.php:90 +#: ../../Zotlabs/Module/Attach_edit.php:99 +#: ../../Zotlabs/Module/Attach_edit.php:106 +#: ../../Zotlabs/Module/Display.php:425 ../../Zotlabs/Module/Poke.php:157 #: ../../Zotlabs/Module/Profile.php:85 ../../Zotlabs/Module/Profile.php:101 #: ../../Zotlabs/Module/Appman.php:87 ../../Zotlabs/Module/Profiles.php:200 #: ../../Zotlabs/Module/Profiles.php:637 ../../Zotlabs/Module/Photos.php:71 @@ -676,21 +687,21 @@ msgstr "СпроÑи менÑ" #: ../../Zotlabs/Module/Viewconnections.php:28 #: ../../Zotlabs/Module/Viewconnections.php:33 #: ../../Zotlabs/Module/Rate.php:113 ../../Zotlabs/Module/Regmod.php:20 -#: ../../Zotlabs/Module/Settings.php:59 ../../Zotlabs/Module/Locs.php:91 +#: ../../Zotlabs/Module/Settings.php:59 ../../Zotlabs/Module/Locs.php:100 #: ../../Zotlabs/Module/Sources.php:80 ../../Zotlabs/Module/Chat.php:113 #: ../../Zotlabs/Module/Chat.php:118 ../../Zotlabs/Module/Vote.php:19 #: ../../Zotlabs/Module/Editlayout.php:67 #: ../../Zotlabs/Module/Editlayout.php:90 -#: ../../Zotlabs/Module/Filestorage.php:17 -#: ../../Zotlabs/Module/Filestorage.php:72 -#: ../../Zotlabs/Module/Filestorage.php:90 -#: ../../Zotlabs/Module/Filestorage.php:113 -#: ../../Zotlabs/Module/Filestorage.php:160 +#: ../../Zotlabs/Module/Filestorage.php:20 +#: ../../Zotlabs/Module/Filestorage.php:78 +#: ../../Zotlabs/Module/Filestorage.php:96 +#: ../../Zotlabs/Module/Filestorage.php:119 +#: ../../Zotlabs/Module/Filestorage.php:165 #: ../../Zotlabs/Module/Editblock.php:67 #: ../../Zotlabs/Module/Service_limits.php:11 -#: ../../Zotlabs/Module/Message.php:18 ../../Zotlabs/Module/Channel.php:181 -#: ../../Zotlabs/Module/Channel.php:348 ../../Zotlabs/Module/Channel.php:387 -#: ../../Zotlabs/Module/Like.php:193 ../../Zotlabs/Module/Bookmarks.php:70 +#: ../../Zotlabs/Module/Message.php:18 ../../Zotlabs/Module/Channel.php:177 +#: ../../Zotlabs/Module/Channel.php:332 ../../Zotlabs/Module/Channel.php:371 +#: ../../Zotlabs/Module/Like.php:230 ../../Zotlabs/Module/Bookmarks.php:70 #: ../../Zotlabs/Module/Viewsrc.php:19 ../../Zotlabs/Module/Menu.php:130 #: ../../Zotlabs/Module/Menu.php:141 ../../Zotlabs/Module/Setup.php:206 #: ../../Zotlabs/Module/Mitem.php:129 ../../Zotlabs/Module/Notifications.php:11 @@ -755,8 +766,8 @@ msgstr "%1$s опубликовал %2$s в %3$s" msgid "Photo Albums" msgstr "Фотоальбомы" -#: ../../include/photos.php:667 ../../Zotlabs/Module/Photos.php:1347 -#: ../../Zotlabs/Module/Photos.php:1360 ../../Zotlabs/Module/Photos.php:1361 +#: ../../include/photos.php:667 ../../Zotlabs/Module/Photos.php:1348 +#: ../../Zotlabs/Module/Photos.php:1361 ../../Zotlabs/Module/Photos.php:1362 msgid "Recent Photos" msgstr "ПоÑледние фотографии" @@ -798,7 +809,7 @@ msgstr[0] "доÑтупно %d приглашение" msgstr[1] "доÑтупны %d приглашениÑ" msgstr[2] "доÑтупны %d приглашений" -#: ../../include/contact_widgets.php:16 ../../include/acl_selectors.php:135 +#: ../../include/contact_widgets.php:16 ../../include/acl_selectors.php:144 #: ../../Zotlabs/Module/Admin/Site.php:297 msgid "Advanced" msgstr "Дополнительно" @@ -850,31 +861,33 @@ msgstr "Сохранённые каталоги" #: ../../include/contact_widgets.php:56 ../../include/contact_widgets.php:111 #: ../../include/contact_widgets.php:155 ../../include/contact_widgets.php:200 -#: ../../Zotlabs/Widget/Filer.php:31 ../../Zotlabs/Widget/Appcategories.php:46 +#: ../../include/contact_widgets.php:235 ../../Zotlabs/Widget/Filer.php:31 +#: ../../Zotlabs/Widget/Appcategories.php:46 msgid "Everything" msgstr "Ð’ÑÑ‘" #: ../../include/contact_widgets.php:108 ../../include/contact_widgets.php:152 -#: ../../include/contact_widgets.php:197 ../../include/taxonomy.php:418 -#: ../../include/taxonomy.php:500 ../../include/taxonomy.php:520 -#: ../../include/taxonomy.php:541 ../../Zotlabs/Module/Cdav.php:1066 +#: ../../include/contact_widgets.php:197 ../../include/contact_widgets.php:232 +#: ../../include/taxonomy.php:435 ../../include/taxonomy.php:517 +#: ../../include/taxonomy.php:537 ../../include/taxonomy.php:558 +#: ../../Zotlabs/Storage/Browser.php:293 ../../Zotlabs/Storage/Browser.php:381 +#: ../../Zotlabs/Storage/Browser.php:396 ../../Zotlabs/Module/Cdav.php:1070 #: ../../Zotlabs/Widget/Appcategories.php:43 msgid "Categories" msgstr "Категории" -#: ../../include/contact_widgets.php:231 +#: ../../include/contact_widgets.php:265 msgid "Common Connections" msgstr "Общие контакты" -#: ../../include/contact_widgets.php:235 +#: ../../include/contact_widgets.php:269 #, php-format msgid "View all %d common connections" msgstr "ПроÑмотреть вÑе %d общих контактов" -#: ../../include/menu.php:120 ../../include/channel.php:1524 -#: ../../include/channel.php:1528 ../../Zotlabs/Storage/Browser.php:296 -#: ../../Zotlabs/Module/Oauth.php:173 ../../Zotlabs/Module/Oauth2.php:194 -#: ../../Zotlabs/Module/Editlayout.php:114 +#: ../../include/menu.php:120 ../../include/channel.php:1538 +#: ../../include/channel.php:1542 ../../Zotlabs/Module/Oauth.php:173 +#: ../../Zotlabs/Module/Oauth2.php:194 ../../Zotlabs/Module/Editlayout.php:114 #: ../../Zotlabs/Module/Editblock.php:114 ../../Zotlabs/Module/Menu.php:176 #: ../../Zotlabs/Module/Admin/Profs.php:175 #: ../../Zotlabs/Module/Editwebpage.php:142 ../../Zotlabs/Module/Thing.php:268 @@ -934,13 +947,13 @@ msgstr "Профиль по умолчанию" msgid "Unable to retrieve modified identity" msgstr "Ðе удаетÑÑ Ð½Ð°Ð¹Ñ‚Ð¸ изменённый идентификатор" -#: ../../include/channel.php:1371 +#: ../../include/channel.php:1385 msgid "Requested channel is not available." msgstr "Запрошенный канал не доÑтупен." -#: ../../include/channel.php:1425 ../../Zotlabs/Module/Achievements.php:15 +#: ../../include/channel.php:1439 ../../Zotlabs/Module/Achievements.php:15 #: ../../Zotlabs/Module/Profile.php:20 ../../Zotlabs/Module/Editlayout.php:31 -#: ../../Zotlabs/Module/Filestorage.php:53 +#: ../../Zotlabs/Module/Filestorage.php:59 #: ../../Zotlabs/Module/Editblock.php:31 ../../Zotlabs/Module/Menu.php:92 #: ../../Zotlabs/Module/Hcard.php:12 ../../Zotlabs/Module/Editwebpage.php:32 #: ../../Zotlabs/Module/Webpages.php:39 ../../Zotlabs/Module/Blocks.php:33 @@ -950,83 +963,83 @@ msgstr "Запрошенный канал не доÑтупен." msgid "Requested profile is not available." msgstr "Запрашиваемый профиль не доÑтупен." -#: ../../include/channel.php:1517 ../../Zotlabs/Module/Profiles.php:730 +#: ../../include/channel.php:1531 ../../Zotlabs/Module/Profiles.php:730 msgid "Change profile photo" msgstr "Изменить фотографию профилÑ" -#: ../../include/channel.php:1524 ../../include/nav.php:115 +#: ../../include/channel.php:1538 ../../include/nav.php:115 #: ../../Zotlabs/Module/Profiles.php:832 msgid "Edit Profiles" msgstr "Редактирование профилей" -#: ../../include/channel.php:1525 +#: ../../include/channel.php:1539 msgid "Create New Profile" msgstr "Создать новый профиль" -#: ../../include/channel.php:1528 ../../include/nav.php:117 +#: ../../include/channel.php:1542 ../../include/nav.php:117 #: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:58 msgid "Edit Profile" msgstr "Редактировать профиль" -#: ../../include/channel.php:1543 ../../Zotlabs/Module/Profiles.php:822 +#: ../../include/channel.php:1557 ../../Zotlabs/Module/Profiles.php:822 msgid "Profile Image" msgstr "Изображение профилÑ" -#: ../../include/channel.php:1546 +#: ../../include/channel.php:1560 msgid "Visible to everybody" msgstr "Видно вÑем" -#: ../../include/channel.php:1547 ../../Zotlabs/Module/Profiles.php:727 +#: ../../include/channel.php:1561 ../../Zotlabs/Module/Profiles.php:727 #: ../../Zotlabs/Module/Profiles.php:826 msgid "Edit visibility" msgstr "Редактировать видимоÑть" -#: ../../include/channel.php:1604 ../../include/conversation.php:1097 +#: ../../include/channel.php:1618 ../../include/conversation.php:1100 #: ../../include/connections.php:110 ../../Zotlabs/Module/Directory.php:368 #: ../../Zotlabs/Module/Connections.php:349 ../../Zotlabs/Module/Suggest.php:71 #: ../../Zotlabs/Widget/Suggestions.php:46 ../../Zotlabs/Widget/Follow.php:32 msgid "Connect" msgstr "Подключить" -#: ../../include/channel.php:1619 ../../include/event.php:63 +#: ../../include/channel.php:1633 ../../include/event.php:63 #: ../../include/event.php:134 ../../Zotlabs/Module/Directory.php:352 msgid "Location:" msgstr "МеÑтоположение:" -#: ../../include/channel.php:1623 ../../include/channel.php:1751 +#: ../../include/channel.php:1637 ../../include/channel.php:1765 msgid "Gender:" msgstr "Пол:" -#: ../../include/channel.php:1624 ../../include/channel.php:1795 +#: ../../include/channel.php:1638 ../../include/channel.php:1809 msgid "Status:" msgstr "СтатуÑ:" -#: ../../include/channel.php:1625 ../../include/channel.php:1819 +#: ../../include/channel.php:1639 ../../include/channel.php:1833 msgid "Homepage:" msgstr "ДомашнÑÑ Ñтраница:" -#: ../../include/channel.php:1626 +#: ../../include/channel.php:1640 msgid "Online Now" msgstr "Ð¡ÐµÐ¹Ñ‡Ð°Ñ Ð² Ñети" -#: ../../include/channel.php:1679 +#: ../../include/channel.php:1693 msgid "Change your profile photo" msgstr "Изменить фотографию вашего профилÑ" -#: ../../include/channel.php:1710 +#: ../../include/channel.php:1724 msgid "Trans" msgstr "ТранÑекÑуал" -#: ../../include/channel.php:1749 ../../Zotlabs/Module/Settings/Channel.php:501 +#: ../../include/channel.php:1763 ../../Zotlabs/Module/Settings/Channel.php:501 msgid "Full Name:" msgstr "Полное имÑ:" -#: ../../include/channel.php:1756 +#: ../../include/channel.php:1770 msgid "Like this channel" msgstr "нравитÑÑ Ñтот канал" -#: ../../include/channel.php:1767 ../../include/conversation.php:1746 -#: ../../include/taxonomy.php:668 ../../Zotlabs/Module/Photos.php:1135 +#: ../../include/channel.php:1781 ../../include/conversation.php:1749 +#: ../../include/taxonomy.php:685 ../../Zotlabs/Module/Photos.php:1136 #: ../../Zotlabs/Lib/ThreadItem.php:242 msgctxt "noun" msgid "Like" @@ -1035,130 +1048,130 @@ msgstr[0] "ÐравитÑÑ" msgstr[1] "ÐравитÑÑ" msgstr[2] "ÐравитÑÑ" -#: ../../include/channel.php:1780 +#: ../../include/channel.php:1794 msgid "j F, Y" msgstr "" -#: ../../include/channel.php:1781 +#: ../../include/channel.php:1795 msgid "j F" msgstr "" -#: ../../include/channel.php:1788 +#: ../../include/channel.php:1802 msgid "Birthday:" msgstr "День рождениÑ:" -#: ../../include/channel.php:1792 ../../Zotlabs/Module/Directory.php:347 +#: ../../include/channel.php:1806 ../../Zotlabs/Module/Directory.php:347 msgid "Age:" msgstr "ВозраÑÑ‚:" -#: ../../include/channel.php:1801 +#: ../../include/channel.php:1815 #, php-format msgid "for %1$d %2$s" msgstr "Ð´Ð»Ñ %1$d %2$s" -#: ../../include/channel.php:1813 +#: ../../include/channel.php:1827 msgid "Tags:" msgstr "Теги:" -#: ../../include/channel.php:1817 +#: ../../include/channel.php:1831 msgid "Sexual Preference:" msgstr "СекÑуальные предпочтениÑ:" -#: ../../include/channel.php:1821 ../../Zotlabs/Module/Directory.php:365 +#: ../../include/channel.php:1835 ../../Zotlabs/Module/Directory.php:365 msgid "Hometown:" msgstr "Родной город:" -#: ../../include/channel.php:1823 +#: ../../include/channel.php:1837 msgid "Political Views:" msgstr "ПолитичеÑкие взглÑды:" -#: ../../include/channel.php:1825 +#: ../../include/channel.php:1839 msgid "Religion:" msgstr "РелигиÑ:" -#: ../../include/channel.php:1827 ../../Zotlabs/Module/Directory.php:367 +#: ../../include/channel.php:1841 ../../Zotlabs/Module/Directory.php:367 msgid "About:" msgstr "О Ñебе:" -#: ../../include/channel.php:1829 +#: ../../include/channel.php:1843 msgid "Hobbies/Interests:" msgstr "Хобби / интереÑÑ‹:" -#: ../../include/channel.php:1831 +#: ../../include/channel.php:1845 msgid "Likes:" msgstr "Что вам нравитÑÑ:" -#: ../../include/channel.php:1833 +#: ../../include/channel.php:1847 msgid "Dislikes:" msgstr "Что вам не нравитÑÑ:" -#: ../../include/channel.php:1835 +#: ../../include/channel.php:1849 msgid "Contact information and Social Networks:" msgstr "ÐšÐ¾Ð½Ñ‚Ð°ÐºÑ‚Ð½Ð°Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¸ Ñоциальные Ñети:" -#: ../../include/channel.php:1837 +#: ../../include/channel.php:1851 msgid "My other channels:" msgstr "Мои другие каналы:" -#: ../../include/channel.php:1839 +#: ../../include/channel.php:1853 msgid "Musical interests:" msgstr "Музыкальные интереÑÑ‹:" -#: ../../include/channel.php:1841 +#: ../../include/channel.php:1855 msgid "Books, literature:" msgstr "Книги, литература:" -#: ../../include/channel.php:1843 +#: ../../include/channel.php:1857 msgid "Television:" msgstr "Телевидение:" -#: ../../include/channel.php:1845 +#: ../../include/channel.php:1859 msgid "Film/dance/culture/entertainment:" msgstr "Кино / танцы / культура / развлечениÑ:" -#: ../../include/channel.php:1847 +#: ../../include/channel.php:1861 msgid "Love/Romance:" msgstr "Любовь / романтика:" -#: ../../include/channel.php:1849 +#: ../../include/channel.php:1863 msgid "Work/employment:" msgstr "Работа / занÑтоÑть:" -#: ../../include/channel.php:1851 +#: ../../include/channel.php:1865 msgid "School/education:" msgstr "Школа / образование:" -#: ../../include/channel.php:1872 ../../Zotlabs/Module/Profperm.php:113 +#: ../../include/channel.php:1886 ../../Zotlabs/Module/Profperm.php:113 #: ../../Zotlabs/Lib/Apps.php:362 msgid "Profile" msgstr "Профиль" -#: ../../include/channel.php:1874 +#: ../../include/channel.php:1888 msgid "Like this thing" msgstr "нравитÑÑ ÑÑ‚o" -#: ../../include/channel.php:1875 ../../Zotlabs/Module/Events.php:699 +#: ../../include/channel.php:1889 ../../Zotlabs/Module/Events.php:699 msgid "Export" msgstr "ÐкÑпорт" -#: ../../include/channel.php:2314 ../../Zotlabs/Module/Cover_photo.php:304 +#: ../../include/channel.php:2328 ../../Zotlabs/Module/Cover_photo.php:304 msgid "cover photo" msgstr "Ñ„Ð¾Ñ‚Ð¾Ð³Ñ€Ð°Ñ„Ð¸Ñ Ð¾Ð±Ð»Ð¾Ð¶ÐºÐ¸" -#: ../../include/channel.php:2603 ../../boot.php:1700 +#: ../../include/channel.php:2597 ../../boot.php:1700 #: ../../Zotlabs/Module/Rmagic.php:96 msgid "Remote Authentication" msgstr "Ð£Ð´Ð°Ð»ÐµÐ½Ð½Ð°Ñ Ð°ÑƒÑ‚ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ" -#: ../../include/channel.php:2604 ../../Zotlabs/Module/Rmagic.php:97 +#: ../../include/channel.php:2598 ../../Zotlabs/Module/Rmagic.php:97 msgid "Enter your channel address (e.g. channel@example.com)" msgstr "Введите Ð°Ð´Ñ€ÐµÑ Ð²Ð°ÑˆÐµÐ³Ð¾ канала (например: channel@example.com)" -#: ../../include/channel.php:2605 ../../Zotlabs/Module/Rmagic.php:98 +#: ../../include/channel.php:2599 ../../Zotlabs/Module/Rmagic.php:98 msgid "Authenticate" msgstr "Проверка подлинноÑти" -#: ../../include/channel.php:2763 ../../Zotlabs/Module/Admin/Accounts.php:91 +#: ../../include/channel.php:2757 ../../Zotlabs/Module/Admin/Accounts.php:91 #, php-format msgid "Account '%s' deleted" msgstr "Ðккаунт '%s' удален" @@ -1190,7 +1203,7 @@ msgstr "%1$s была Ñоздана %2$s %3$s" #: ../../include/markdown.php:204 ../../include/text.php:2258 #: ../../include/bbcode.php:523 ../../include/conversation.php:158 -#: ../../Zotlabs/Module/Tagger.php:79 ../../Zotlabs/Lib/Activity.php:2967 +#: ../../Zotlabs/Module/Tagger.php:79 ../../Zotlabs/Lib/Activity.php:2971 msgid "post" msgstr "публикациÑ" @@ -1200,9 +1213,9 @@ msgstr "Ñпойлер" #: ../../include/items.php:439 ../../Zotlabs/Module/Dreport.php:10 #: ../../Zotlabs/Module/Dreport.php:82 ../../Zotlabs/Module/Share.php:72 -#: ../../Zotlabs/Module/Profperm.php:28 ../../Zotlabs/Module/Like.php:295 +#: ../../Zotlabs/Module/Profperm.php:28 ../../Zotlabs/Module/Like.php:332 #: ../../Zotlabs/Module/Subthread.php:86 ../../Zotlabs/Module/Group.php:99 -#: ../../Zotlabs/Module/Cloud.php:119 ../../Zotlabs/Module/Import_items.php:120 +#: ../../Zotlabs/Module/Cloud.php:123 ../../Zotlabs/Module/Import_items.php:120 #: ../../Zotlabs/Web/WebServer.php:115 #: ../../extend/addon/hzaddons/redphotos/redphotos.php:119 #: ../../extend/addon/hzaddons/redfiles/redfiles.php:109 @@ -1247,9 +1260,9 @@ msgstr "Видно только одобренным контактам." msgid "Visible to specific connections." msgstr "Видно указанным контактам." -#: ../../include/items.php:3889 ../../Zotlabs/Module/Display.php:45 -#: ../../Zotlabs/Module/Display.php:446 ../../Zotlabs/Module/Admin.php:62 -#: ../../Zotlabs/Module/Filestorage.php:26 ../../Zotlabs/Module/Viewsrc.php:25 +#: ../../include/items.php:3900 ../../Zotlabs/Module/Display.php:42 +#: ../../Zotlabs/Module/Display.php:429 ../../Zotlabs/Module/Admin.php:62 +#: ../../Zotlabs/Module/Filestorage.php:29 ../../Zotlabs/Module/Viewsrc.php:25 #: ../../Zotlabs/Module/Admin/Addons.php:260 #: ../../Zotlabs/Module/Admin/Themes.php:72 ../../Zotlabs/Module/Thing.php:96 #: ../../extend/addon/hzaddons/flashcards/Mod_Flashcards.php:284 @@ -1257,67 +1270,67 @@ msgstr "Видно указанным контактам." msgid "Item not found." msgstr "Ðлемент не найден." -#: ../../include/items.php:4466 ../../Zotlabs/Module/Group.php:62 +#: ../../include/items.php:4472 ../../Zotlabs/Module/Group.php:62 #: ../../Zotlabs/Module/Group.php:214 msgid "Privacy group not found." msgstr "Группа конфиденциальноÑти не найдена." -#: ../../include/items.php:4482 +#: ../../include/items.php:4488 msgid "Privacy group is empty." msgstr "Группа конфиденциальноÑти пуÑта" -#: ../../include/items.php:4489 +#: ../../include/items.php:4495 #, php-format msgid "Privacy group: %s" msgstr "Группа конфиденциальноÑти: %s" -#: ../../include/items.php:4499 ../../Zotlabs/Module/Connedit.php:859 +#: ../../include/items.php:4505 ../../Zotlabs/Module/Connedit.php:859 #, php-format msgid "Connection: %s" msgstr "Контакт: %s" -#: ../../include/items.php:4501 +#: ../../include/items.php:4507 msgid "Connection not found." msgstr "Контакт не найден." -#: ../../include/items.php:4835 ../../Zotlabs/Module/Cover_photo.php:297 +#: ../../include/items.php:4841 ../../Zotlabs/Module/Cover_photo.php:297 msgid "female" msgstr "женщина" -#: ../../include/items.php:4836 ../../Zotlabs/Module/Cover_photo.php:298 +#: ../../include/items.php:4842 ../../Zotlabs/Module/Cover_photo.php:298 #, php-format msgid "%1$s updated her %2$s" msgstr "%1$s обновила её %2$s" -#: ../../include/items.php:4837 ../../Zotlabs/Module/Cover_photo.php:299 +#: ../../include/items.php:4843 ../../Zotlabs/Module/Cover_photo.php:299 msgid "male" msgstr "мужчина" -#: ../../include/items.php:4838 ../../Zotlabs/Module/Cover_photo.php:300 +#: ../../include/items.php:4844 ../../Zotlabs/Module/Cover_photo.php:300 #, php-format msgid "%1$s updated his %2$s" msgstr "%1$s обновил его %2$s" -#: ../../include/items.php:4840 ../../Zotlabs/Module/Cover_photo.php:302 +#: ../../include/items.php:4846 ../../Zotlabs/Module/Cover_photo.php:302 #, php-format msgid "%1$s updated their %2$s" msgstr "%2$s %1$s обновлена" -#: ../../include/items.php:4842 +#: ../../include/items.php:4848 msgid "profile photo" msgstr "Ð¤Ð¾Ñ‚Ð¾Ð³Ñ€Ð°Ñ„Ð¸Ñ Ð¿Ñ€Ð¾Ñ„Ð¸Ð»Ñ" -#: ../../include/items.php:5034 +#: ../../include/items.php:5040 #, php-format msgid "[Edited %s]" msgstr "[Отредактировано %s]" -#: ../../include/items.php:5034 +#: ../../include/items.php:5040 msgctxt "edit_activity" msgid "Post" msgstr "ПубликациÑ" -#: ../../include/items.php:5034 +#: ../../include/items.php:5040 msgctxt "edit_activity" msgid "Comment" msgstr "Комментарий" @@ -1358,8 +1371,7 @@ msgid "On" msgstr "Вкл." #: ../../include/features.php:82 ../../include/nav.php:463 -#: ../../include/nav.php:466 ../../Zotlabs/Storage/Browser.php:140 -#: ../../Zotlabs/Lib/Apps.php:346 +#: ../../include/nav.php:466 ../../Zotlabs/Lib/Apps.php:346 msgid "Calendar" msgstr "Календарь" @@ -1726,8 +1738,8 @@ msgid "Network: %s" msgstr "Сеть: %s" #: ../../include/text.php:1150 ../../include/text.php:1162 -#: ../../include/acl_selectors.php:139 ../../include/nav.php:188 -#: ../../Zotlabs/Module/Search.php:44 ../../Zotlabs/Module/Connections.php:378 +#: ../../include/acl_selectors.php:148 ../../include/nav.php:188 +#: ../../Zotlabs/Module/Search.php:41 ../../Zotlabs/Module/Connections.php:378 #: ../../Zotlabs/Widget/Sitesearch.php:31 #: ../../Zotlabs/Widget/Activity_filter.php:193 ../../Zotlabs/Lib/Apps.php:353 msgid "Search" @@ -1736,7 +1748,7 @@ msgstr "ПоиÑк" #: ../../include/text.php:1151 ../../include/text.php:1163 #: ../../Zotlabs/Module/Admin/Profs.php:94 #: ../../Zotlabs/Module/Admin/Profs.php:114 ../../Zotlabs/Module/Rbmark.php:32 -#: ../../Zotlabs/Module/Rbmark.php:104 ../../Zotlabs/Module/Filer.php:53 +#: ../../Zotlabs/Module/Rbmark.php:104 ../../Zotlabs/Module/Filer.php:54 #: ../../Zotlabs/Widget/Notes.php:23 #: ../../extend/addon/hzaddons/queueworker/Mod_Queueworker.php:119 msgid "Save" @@ -1955,12 +1967,12 @@ msgstr "Декабрь" msgid "Unknown Attachment" msgstr "ÐеизвеÑтное вложение" -#: ../../include/text.php:1562 ../../Zotlabs/Storage/Browser.php:293 +#: ../../include/text.php:1562 ../../Zotlabs/Storage/Browser.php:372 #: ../../Zotlabs/Module/Sharedwithme.php:108 msgid "Size" msgstr "Размер" -#: ../../include/text.php:1562 ../../include/feedutils.php:871 +#: ../../include/text.php:1562 ../../include/feedutils.php:873 msgid "unknown" msgstr "неизвеÑтный" @@ -2037,10 +2049,10 @@ msgid "Page content type" msgstr "Тип Ñодержимого Ñтраницы" #: ../../include/text.php:2252 ../../include/conversation.php:128 -#: ../../Zotlabs/Module/Tagger.php:71 ../../Zotlabs/Module/Like.php:386 -#: ../../Zotlabs/Module/Subthread.php:112 ../../Zotlabs/Lib/Activity.php:2967 +#: ../../Zotlabs/Module/Tagger.php:71 ../../Zotlabs/Module/Like.php:433 +#: ../../Zotlabs/Module/Subthread.php:112 ../../Zotlabs/Lib/Activity.php:2971 #: ../../extend/addon/hzaddons/redphotos/redphotohelper.php:71 -#: ../../extend/addon/hzaddons/pubcrawl/as.php:1881 +#: ../../extend/addon/hzaddons/pubcrawl/as.php:2057 #: ../../extend/addon/hzaddons/diaspora/Receiver.php:1601 msgid "photo" msgstr "фото" @@ -2049,7 +2061,7 @@ msgstr "фото" #: ../../include/event.php:1259 ../../Zotlabs/Module/Tagger.php:75 #: ../../Zotlabs/Module/Events.php:266 #: ../../Zotlabs/Module/Channel_calendar.php:219 -#: ../../Zotlabs/Module/Like.php:388 +#: ../../Zotlabs/Module/Like.php:435 msgid "event" msgstr "Ñобытие" @@ -2154,10 +2166,6 @@ msgstr "Введите путь к раÑположению Ñетевых фаРmsgid "Specify folder" msgstr "Указать каталог" -#: ../../include/text.php:3101 ../../Zotlabs/Storage/Browser.php:131 -msgid "Collection" -msgstr "КоллекциÑ" - #: ../../include/import.php:29 msgid "Unable to import a removed channel." msgstr "Ðевозможно импортировать удалённый канал." @@ -2192,7 +2200,7 @@ msgstr "Добавить новые контакты в группу конфиРmsgid "edit" msgstr "редактировать" -#: ../../include/group.php:321 ../../include/acl_selectors.php:87 +#: ../../include/group.php:321 ../../include/acl_selectors.php:86 #: ../../include/nav.php:101 ../../Zotlabs/Module/Group.php:142 #: ../../Zotlabs/Module/Group.php:154 #: ../../Zotlabs/Widget/Activity_filter.php:82 ../../Zotlabs/Lib/Group.php:324 @@ -2353,9 +2361,9 @@ msgstr "Помощь" msgid "Not Found" msgstr "Ðе найдено" -#: ../../include/help.php:132 ../../Zotlabs/Module/Display.php:139 -#: ../../Zotlabs/Module/Display.php:156 ../../Zotlabs/Module/Display.php:176 -#: ../../Zotlabs/Module/Display.php:182 ../../Zotlabs/Module/Page.php:136 +#: ../../include/help.php:132 ../../Zotlabs/Module/Display.php:136 +#: ../../Zotlabs/Module/Display.php:153 ../../Zotlabs/Module/Display.php:173 +#: ../../Zotlabs/Module/Display.php:179 ../../Zotlabs/Module/Page.php:136 #: ../../Zotlabs/Module/Block.php:77 ../../Zotlabs/Web/Router.php:185 #: ../../Zotlabs/Lib/NativeWikiPage.php:521 msgid "Page not found." @@ -2432,21 +2440,21 @@ msgstr "Различные зрители увидÑÑ‚ Ñтот текÑÑ‚ по- msgid "$1 wrote:" msgstr "$1 пиÑал:" -#: ../../include/conversation.php:135 ../../Zotlabs/Module/Like.php:129 +#: ../../include/conversation.php:135 ../../Zotlabs/Module/Like.php:166 msgid "channel" msgstr "канал" -#: ../../include/conversation.php:174 ../../Zotlabs/Module/Like.php:422 -#: ../../Zotlabs/Lib/Activity.php:3002 -#: ../../extend/addon/hzaddons/pubcrawl/as.php:1918 +#: ../../include/conversation.php:174 ../../Zotlabs/Module/Like.php:469 +#: ../../Zotlabs/Lib/Activity.php:3006 +#: ../../extend/addon/hzaddons/pubcrawl/as.php:2094 #: ../../extend/addon/hzaddons/diaspora/Receiver.php:1541 #, php-format msgid "%1$s likes %2$s's %3$s" msgstr "%1$s нравитÑÑ %3$s %2$s" -#: ../../include/conversation.php:177 ../../Zotlabs/Module/Like.php:424 -#: ../../Zotlabs/Lib/Activity.php:3004 -#: ../../extend/addon/hzaddons/pubcrawl/as.php:1920 +#: ../../include/conversation.php:177 ../../Zotlabs/Module/Like.php:471 +#: ../../Zotlabs/Lib/Activity.php:3008 +#: ../../extend/addon/hzaddons/pubcrawl/as.php:2096 #, php-format msgid "%1$s doesn't like %2$s's %3$s" msgstr "%1$s не нравитÑÑ %2$s %3$s" @@ -2477,64 +2485,64 @@ msgctxt "mood" msgid "%1$s is %2$s" msgstr "%1$s %2$s" -#: ../../include/conversation.php:515 ../../Zotlabs/Lib/ThreadItem.php:500 +#: ../../include/conversation.php:516 ../../Zotlabs/Lib/ThreadItem.php:500 msgid "This is an unsaved preview" msgstr "Ðто неÑохранённый проÑмотр" -#: ../../include/conversation.php:651 ../../Zotlabs/Module/Photos.php:1112 +#: ../../include/conversation.php:652 ../../Zotlabs/Module/Photos.php:1113 msgctxt "title" msgid "Likes" msgstr "ÐравитÑÑ" -#: ../../include/conversation.php:652 ../../Zotlabs/Module/Photos.php:1112 +#: ../../include/conversation.php:653 ../../Zotlabs/Module/Photos.php:1113 msgctxt "title" msgid "Dislikes" msgstr "Ðе нравитÑÑ" -#: ../../include/conversation.php:653 ../../Zotlabs/Module/Photos.php:1113 +#: ../../include/conversation.php:654 ../../Zotlabs/Module/Photos.php:1114 #: ../../Zotlabs/Widget/Pinned.php:77 msgctxt "title" msgid "Agree" msgstr "СоглаÑен" -#: ../../include/conversation.php:654 ../../Zotlabs/Module/Photos.php:1113 +#: ../../include/conversation.php:655 ../../Zotlabs/Module/Photos.php:1114 #: ../../Zotlabs/Widget/Pinned.php:78 msgctxt "title" msgid "Disagree" msgstr "Ðе ÑоглаÑен" -#: ../../include/conversation.php:655 ../../Zotlabs/Module/Photos.php:1113 +#: ../../include/conversation.php:656 ../../Zotlabs/Module/Photos.php:1114 #: ../../Zotlabs/Widget/Pinned.php:79 msgctxt "title" msgid "Abstain" msgstr "ВоздержалÑÑ" -#: ../../include/conversation.php:656 ../../Zotlabs/Module/Photos.php:1114 +#: ../../include/conversation.php:657 ../../Zotlabs/Module/Photos.php:1115 #: ../../Zotlabs/Widget/Pinned.php:66 msgctxt "title" msgid "Attending" msgstr "ПоÑещаю" -#: ../../include/conversation.php:657 ../../Zotlabs/Module/Photos.php:1114 +#: ../../include/conversation.php:658 ../../Zotlabs/Module/Photos.php:1115 #: ../../Zotlabs/Widget/Pinned.php:67 msgctxt "title" msgid "Not attending" msgstr "Ðе поÑещаю" -#: ../../include/conversation.php:658 ../../Zotlabs/Module/Photos.php:1114 +#: ../../include/conversation.php:659 ../../Zotlabs/Module/Photos.php:1115 #: ../../Zotlabs/Widget/Pinned.php:68 msgctxt "title" msgid "Might attend" msgstr "Возможно поÑещу" -#: ../../include/conversation.php:728 ../../Zotlabs/Lib/ThreadItem.php:180 +#: ../../include/conversation.php:729 ../../Zotlabs/Lib/ThreadItem.php:180 msgid "Select" msgstr "Выбрать" -#: ../../include/conversation.php:729 ../../include/conversation.php:774 -#: ../../Zotlabs/Storage/Browser.php:297 ../../Zotlabs/Module/Cdav.php:1052 -#: ../../Zotlabs/Module/Cdav.php:1385 ../../Zotlabs/Module/Profiles.php:802 -#: ../../Zotlabs/Module/Photos.php:1178 ../../Zotlabs/Module/Oauth.php:174 +#: ../../include/conversation.php:730 ../../include/conversation.php:775 +#: ../../Zotlabs/Storage/Browser.php:377 ../../Zotlabs/Module/Cdav.php:1056 +#: ../../Zotlabs/Module/Cdav.php:1389 ../../Zotlabs/Module/Profiles.php:802 +#: ../../Zotlabs/Module/Photos.php:1179 ../../Zotlabs/Module/Oauth.php:174 #: ../../Zotlabs/Module/Oauth2.php:195 ../../Zotlabs/Module/Editlayout.php:138 #: ../../Zotlabs/Module/Editblock.php:139 #: ../../Zotlabs/Module/Admin/Channels.php:149 @@ -2551,149 +2559,148 @@ msgstr "Выбрать" msgid "Delete" msgstr "Удалить" -#: ../../include/conversation.php:733 ../../Zotlabs/Lib/ThreadItem.php:273 +#: ../../include/conversation.php:734 ../../Zotlabs/Lib/ThreadItem.php:273 msgid "Toggle Star Status" msgstr "Переключить ÑÑ‚Ð°Ñ‚ÑƒÑ Ð¿Ð¾Ð¼ÐµÑ‚ÐºÐ¸" -#: ../../include/conversation.php:738 ../../Zotlabs/Lib/ThreadItem.php:103 +#: ../../include/conversation.php:739 ../../Zotlabs/Lib/ThreadItem.php:103 msgid "Private Message" msgstr "Личное Ñообщение" -#: ../../include/conversation.php:745 ../../Zotlabs/Widget/Pinned.php:88 +#: ../../include/conversation.php:746 ../../Zotlabs/Widget/Pinned.php:88 #: ../../Zotlabs/Lib/ThreadItem.php:284 msgid "Message signature validated" msgstr "ПодпиÑÑŒ ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¾Ð²ÐµÑ€ÐµÐ½Ð°" -#: ../../include/conversation.php:746 ../../Zotlabs/Widget/Pinned.php:89 +#: ../../include/conversation.php:747 ../../Zotlabs/Widget/Pinned.php:89 #: ../../Zotlabs/Lib/ThreadItem.php:285 msgid "Message signature incorrect" msgstr "ПодпиÑÑŒ ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð½ÐµÐ²ÐµÑ€Ð½Ð°Ñ" -#: ../../include/conversation.php:773 +#: ../../include/conversation.php:774 #: ../../Zotlabs/Module/Admin/Accounts.php:173 #: ../../Zotlabs/Module/Connections.php:342 msgid "Approve" msgstr "Утвердить" -#: ../../include/conversation.php:778 +#: ../../include/conversation.php:779 #, php-format msgid "View %s's profile @ %s" msgstr "ПроÑмотреть профиль %s @ %s" -#: ../../include/conversation.php:798 +#: ../../include/conversation.php:799 msgid "Categories:" msgstr "Категории:" -#: ../../include/conversation.php:799 +#: ../../include/conversation.php:800 msgid "Filed under:" msgstr "Хранить под:" -#: ../../include/conversation.php:805 ../../Zotlabs/Widget/Pinned.php:133 +#: ../../include/conversation.php:806 ../../Zotlabs/Widget/Pinned.php:133 #: ../../Zotlabs/Lib/ThreadItem.php:429 #, php-format msgid "from %s" msgstr "от %s" -#: ../../include/conversation.php:808 ../../Zotlabs/Widget/Pinned.php:136 +#: ../../include/conversation.php:809 ../../Zotlabs/Widget/Pinned.php:136 #: ../../Zotlabs/Lib/ThreadItem.php:432 #, php-format msgid "last edited: %s" msgstr "поÑледнее редактирование: %s" -#: ../../include/conversation.php:809 ../../Zotlabs/Widget/Pinned.php:137 +#: ../../include/conversation.php:810 ../../Zotlabs/Widget/Pinned.php:137 #: ../../Zotlabs/Lib/ThreadItem.php:433 #, php-format msgid "Expires: %s" msgstr "Срок дейÑтвиÑ: %s" -#: ../../include/conversation.php:824 +#: ../../include/conversation.php:825 msgid "View in context" msgstr "Показать в контекÑте" -#: ../../include/conversation.php:826 ../../Zotlabs/Module/Photos.php:1078 +#: ../../include/conversation.php:827 ../../Zotlabs/Module/Photos.php:1079 #: ../../Zotlabs/Lib/ThreadItem.php:501 msgid "Please wait" msgstr "Подождите пожалуйÑта" -#: ../../include/conversation.php:925 +#: ../../include/conversation.php:928 msgid "remove" msgstr "удалить" -#: ../../include/conversation.php:929 +#: ../../include/conversation.php:932 msgid "Loading..." msgstr "Загрузка..." -#: ../../include/conversation.php:930 ../../Zotlabs/Lib/ThreadItem.php:301 +#: ../../include/conversation.php:933 ../../Zotlabs/Lib/ThreadItem.php:301 msgid "Conversation Tools" msgstr "ИнÑтрументы общениÑ" -#: ../../include/conversation.php:931 +#: ../../include/conversation.php:934 msgid "Delete Selected Items" msgstr "Удалить выбранные Ñлементы" -#: ../../include/conversation.php:974 +#: ../../include/conversation.php:977 msgid "View Source" msgstr "ПроÑмотреть иÑточник" -#: ../../include/conversation.php:984 +#: ../../include/conversation.php:987 msgid "Follow Thread" msgstr "Следить за темой" -#: ../../include/conversation.php:993 +#: ../../include/conversation.php:996 msgid "Unfollow Thread" msgstr "Прекратить отÑлеживать тему" -#: ../../include/conversation.php:1077 ../../include/nav.php:112 +#: ../../include/conversation.php:1080 ../../include/nav.php:112 #: ../../Zotlabs/Module/Connedit.php:600 ../../Zotlabs/Lib/Apps.php:344 #: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:57 msgid "View Profile" msgstr "ПроÑмотреть профиль" -#: ../../include/conversation.php:1087 ../../Zotlabs/Module/Connedit.php:621 +#: ../../include/conversation.php:1090 ../../Zotlabs/Module/Connedit.php:621 msgid "Recent Activity" msgstr "ПоÑледние дейÑтвиÑ" -#: ../../include/conversation.php:1107 +#: ../../include/conversation.php:1110 msgid "Edit Connection" msgstr "Редактировать контакт" -#: ../../include/conversation.php:1117 +#: ../../include/conversation.php:1120 msgid "Message" msgstr "Сообщение" -#: ../../include/conversation.php:1127 ../../Zotlabs/Module/Ratings.php:97 +#: ../../include/conversation.php:1130 ../../Zotlabs/Module/Ratings.php:97 #: ../../Zotlabs/Module/Pubsites.php:35 msgid "Ratings" msgstr "Оценки" -#: ../../include/conversation.php:1137 ../../Zotlabs/Module/Poke.php:199 +#: ../../include/conversation.php:1140 ../../Zotlabs/Module/Poke.php:199 #: ../../Zotlabs/Lib/Apps.php:351 msgid "Poke" msgstr "Ткнуть" -#: ../../include/conversation.php:1208 ../../include/cdav.php:158 +#: ../../include/conversation.php:1211 ../../include/cdav.php:158 #: ../../include/cdav.php:159 ../../include/cdav.php:167 -#: ../../Zotlabs/Storage/Browser.php:164 ../../Zotlabs/Module/Photos.php:792 -#: ../../Zotlabs/Module/Photos.php:1254 +#: ../../Zotlabs/Module/Photos.php:793 ../../Zotlabs/Module/Photos.php:1255 #: ../../Zotlabs/Module/Embedphotos.php:176 #: ../../Zotlabs/Widget/Portfolio.php:95 ../../Zotlabs/Widget/Pinned.php:270 #: ../../Zotlabs/Widget/Album.php:84 ../../Zotlabs/Lib/Apps.php:1112 #: ../../Zotlabs/Lib/Apps.php:1196 ../../Zotlabs/Lib/Activity.php:1508 -#: ../../extend/addon/hzaddons/pubcrawl/as.php:1173 +#: ../../extend/addon/hzaddons/pubcrawl/as.php:1187 msgid "Unknown" msgstr "ÐеизвеÑтный" -#: ../../include/conversation.php:1259 +#: ../../include/conversation.php:1262 #, php-format msgid "%s likes this." msgstr "%s нравитÑÑ Ñто." -#: ../../include/conversation.php:1259 +#: ../../include/conversation.php:1262 #, php-format msgid "%s doesn't like this." msgstr "%s не нравитÑÑ Ñто." -#: ../../include/conversation.php:1263 +#: ../../include/conversation.php:1266 #, php-format msgid "<span %1$s>%2$d people</span> like this." msgid_plural "<span %1$s>%2$d people</span> like this." @@ -2701,7 +2708,7 @@ msgstr[0] "<span %1$s>%2$d человеку</span> Ñто нравитÑÑ." msgstr[1] "<span %1$s>%2$d человекам</span> Ñто нравитÑÑ." msgstr[2] "<span %1$s>%2$d человекам</span> Ñто нравитÑÑ." -#: ../../include/conversation.php:1265 +#: ../../include/conversation.php:1268 #, php-format msgid "<span %1$s>%2$d people</span> don't like this." msgid_plural "<span %1$s>%2$d people</span> don't like this." @@ -2709,11 +2716,11 @@ msgstr[0] "<span %1$s>%2$d человеку</span> Ñто не нравитÑÑ msgstr[1] "<span %1$s>%2$d человекам</span> Ñто не нравитÑÑ." msgstr[2] "<span %1$s>%2$d человекам</span> Ñто не нравитÑÑ." -#: ../../include/conversation.php:1271 +#: ../../include/conversation.php:1274 msgid "and" msgstr "и" -#: ../../include/conversation.php:1274 +#: ../../include/conversation.php:1277 #, php-format msgid ", and %d other people" msgid_plural ", and %d other people" @@ -2721,27 +2728,27 @@ msgstr[0] ", и ещё %d человеку" msgstr[1] ", и ещё %d человекам" msgstr[2] ", и ещё %d человекам" -#: ../../include/conversation.php:1275 +#: ../../include/conversation.php:1278 #, php-format msgid "%s like this." msgstr "%s нравитÑÑ Ñто." -#: ../../include/conversation.php:1275 +#: ../../include/conversation.php:1278 #, php-format msgid "%s don't like this." msgstr "%s не нравитÑÑ Ñто." -#: ../../include/conversation.php:1325 +#: ../../include/conversation.php:1328 #: ../../extend/addon/hzaddons/hsse/hsse.php:82 msgid "Set your location" msgstr "Задать Ñвоё меÑтоположение" -#: ../../include/conversation.php:1326 +#: ../../include/conversation.php:1329 #: ../../extend/addon/hzaddons/hsse/hsse.php:83 msgid "Clear browser location" msgstr "ОчиÑтить меÑтоположение из браузера" -#: ../../include/conversation.php:1338 ../../Zotlabs/Module/Chat.php:220 +#: ../../include/conversation.php:1341 ../../Zotlabs/Module/Chat.php:220 #: ../../Zotlabs/Module/Editblock.php:116 #: ../../Zotlabs/Module/Editwebpage.php:143 #: ../../Zotlabs/Module/Card_edit.php:101 @@ -2752,81 +2759,81 @@ msgstr "ОчиÑтить меÑтоположение из браузера" msgid "Insert web link" msgstr "Ð’Ñтавить веб-ÑÑылку" -#: ../../include/conversation.php:1342 +#: ../../include/conversation.php:1345 #: ../../extend/addon/hzaddons/hsse/hsse.php:99 msgid "Embed (existing) photo from your photo albums" msgstr "Ð’Ñтроить (ÑущеÑтвующее) фото из вашего фотоальбома" -#: ../../include/conversation.php:1377 ../../Zotlabs/Module/Chat.php:218 +#: ../../include/conversation.php:1380 ../../Zotlabs/Module/Chat.php:218 #: ../../extend/addon/hzaddons/mail/Mod_Mail.php:119 #: ../../extend/addon/hzaddons/mail/Mod_Mail.php:240 #: ../../extend/addon/hzaddons/hsse/hsse.php:134 msgid "Please enter a link URL:" msgstr "ПожалуйÑта введите URL ÑÑылки:" -#: ../../include/conversation.php:1378 +#: ../../include/conversation.php:1381 #: ../../extend/addon/hzaddons/hsse/hsse.php:135 msgid "Tag term:" msgstr "Теги:" -#: ../../include/conversation.php:1379 +#: ../../include/conversation.php:1382 #: ../../extend/addon/hzaddons/hsse/hsse.php:136 msgid "Where are you right now?" msgstr "Где вы ÑейчаÑ?" -#: ../../include/conversation.php:1382 ../../Zotlabs/Module/Cover_photo.php:430 +#: ../../include/conversation.php:1385 ../../Zotlabs/Module/Cover_photo.php:430 #: ../../Zotlabs/Module/Profile_photo.php:509 ../../Zotlabs/Module/Wiki.php:403 #: ../../extend/addon/hzaddons/hsse/hsse.php:139 msgid "Choose images to embed" msgstr "Выбрать Ð¸Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ð²ÑтраиваниÑ" -#: ../../include/conversation.php:1383 ../../Zotlabs/Module/Cover_photo.php:431 +#: ../../include/conversation.php:1386 ../../Zotlabs/Module/Cover_photo.php:431 #: ../../Zotlabs/Module/Profile_photo.php:510 ../../Zotlabs/Module/Wiki.php:404 #: ../../extend/addon/hzaddons/hsse/hsse.php:140 msgid "Choose an album" msgstr "Выбрать альбом" -#: ../../include/conversation.php:1384 +#: ../../include/conversation.php:1387 #: ../../extend/addon/hzaddons/hsse/hsse.php:141 msgid "Choose a different album..." msgstr "Выбрать другой альбом..." -#: ../../include/conversation.php:1385 ../../Zotlabs/Module/Cover_photo.php:433 +#: ../../include/conversation.php:1388 ../../Zotlabs/Module/Cover_photo.php:433 #: ../../Zotlabs/Module/Profile_photo.php:512 ../../Zotlabs/Module/Wiki.php:406 #: ../../extend/addon/hzaddons/hsse/hsse.php:142 msgid "Error getting album list" msgstr "Ошибка Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ ÑпиÑка альбомов" -#: ../../include/conversation.php:1386 ../../Zotlabs/Module/Cover_photo.php:434 +#: ../../include/conversation.php:1389 ../../Zotlabs/Module/Cover_photo.php:434 #: ../../Zotlabs/Module/Profile_photo.php:513 ../../Zotlabs/Module/Wiki.php:407 #: ../../extend/addon/hzaddons/hsse/hsse.php:143 msgid "Error getting photo link" msgstr "Ошибка Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ ÑÑылки на фотографию" -#: ../../include/conversation.php:1387 ../../Zotlabs/Module/Cover_photo.php:435 +#: ../../include/conversation.php:1390 ../../Zotlabs/Module/Cover_photo.php:435 #: ../../Zotlabs/Module/Profile_photo.php:514 ../../Zotlabs/Module/Wiki.php:408 #: ../../extend/addon/hzaddons/hsse/hsse.php:144 msgid "Error getting album" msgstr "Ошибка Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ð°Ð»ÑŒÐ±Ð¾Ð¼Ð°" -#: ../../include/conversation.php:1388 +#: ../../include/conversation.php:1391 #: ../../extend/addon/hzaddons/hsse/hsse.php:145 msgid "Comments enabled" msgstr "Комментарии включены" -#: ../../include/conversation.php:1389 +#: ../../include/conversation.php:1392 #: ../../extend/addon/hzaddons/hsse/hsse.php:146 msgid "Comments disabled" msgstr "Комментарии отключены" -#: ../../include/conversation.php:1399 ../../Zotlabs/Module/Photos.php:1098 +#: ../../include/conversation.php:1402 ../../Zotlabs/Module/Photos.php:1099 #: ../../Zotlabs/Module/Events.php:486 ../../Zotlabs/Module/Webpages.php:262 #: ../../Zotlabs/Lib/ThreadItem.php:835 #: ../../extend/addon/hzaddons/hsse/hsse.php:153 msgid "Preview" msgstr "Предварительный проÑмотр" -#: ../../include/conversation.php:1432 ../../Zotlabs/Module/Photos.php:1077 +#: ../../include/conversation.php:1435 ../../Zotlabs/Module/Photos.php:1078 #: ../../Zotlabs/Module/Webpages.php:256 ../../Zotlabs/Module/Blocks.php:161 #: ../../Zotlabs/Module/Wiki.php:301 ../../Zotlabs/Module/Layouts.php:194 #: ../../Zotlabs/Widget/Cdav.php:136 @@ -2834,58 +2841,58 @@ msgstr "Предварительный проÑмотр" msgid "Share" msgstr "ПоделитьÑÑ" -#: ../../include/conversation.php:1441 +#: ../../include/conversation.php:1444 #: ../../extend/addon/hzaddons/hsse/hsse.php:195 msgid "Page link name" msgstr "Ðазвание ÑÑылки на Ñтраницу " -#: ../../include/conversation.php:1444 +#: ../../include/conversation.php:1447 #: ../../extend/addon/hzaddons/hsse/hsse.php:198 msgid "Post as" msgstr "Опубликовать как" -#: ../../include/conversation.php:1446 ../../Zotlabs/Lib/ThreadItem.php:826 +#: ../../include/conversation.php:1449 ../../Zotlabs/Lib/ThreadItem.php:826 #: ../../extend/addon/hzaddons/hsse/hsse.php:200 msgid "Bold" msgstr "Жирный" -#: ../../include/conversation.php:1447 ../../Zotlabs/Lib/ThreadItem.php:827 +#: ../../include/conversation.php:1450 ../../Zotlabs/Lib/ThreadItem.php:827 #: ../../extend/addon/hzaddons/hsse/hsse.php:201 msgid "Italic" msgstr "КурÑив" -#: ../../include/conversation.php:1448 ../../Zotlabs/Lib/ThreadItem.php:828 +#: ../../include/conversation.php:1451 ../../Zotlabs/Lib/ThreadItem.php:828 #: ../../extend/addon/hzaddons/hsse/hsse.php:202 msgid "Underline" msgstr "Подчеркнутый" -#: ../../include/conversation.php:1449 ../../Zotlabs/Lib/ThreadItem.php:829 +#: ../../include/conversation.php:1452 ../../Zotlabs/Lib/ThreadItem.php:829 #: ../../extend/addon/hzaddons/hsse/hsse.php:203 msgid "Quote" msgstr "Цитата" -#: ../../include/conversation.php:1450 ../../Zotlabs/Lib/ThreadItem.php:830 +#: ../../include/conversation.php:1453 ../../Zotlabs/Lib/ThreadItem.php:830 #: ../../extend/addon/hzaddons/hsse/hsse.php:204 msgid "Code" msgstr "Код" -#: ../../include/conversation.php:1451 ../../Zotlabs/Lib/ThreadItem.php:832 +#: ../../include/conversation.php:1454 ../../Zotlabs/Lib/ThreadItem.php:832 #: ../../extend/addon/hzaddons/hsse/hsse.php:205 msgid "Attach/Upload file" msgstr "Прикрепить/загрузить файл" -#: ../../include/conversation.php:1454 ../../Zotlabs/Module/Wiki.php:400 +#: ../../include/conversation.php:1457 ../../Zotlabs/Module/Wiki.php:400 #: ../../extend/addon/hzaddons/hsse/hsse.php:208 msgid "Embed an image from your albums" msgstr "Ð’Ñтроить изображение из ваших альбомов" -#: ../../include/conversation.php:1455 ../../include/conversation.php:1508 -#: ../../Zotlabs/Module/Cdav.php:1054 ../../Zotlabs/Module/Cdav.php:1386 -#: ../../Zotlabs/Module/Profiles.php:803 ../../Zotlabs/Module/Tagrm.php:15 -#: ../../Zotlabs/Module/Tagrm.php:138 ../../Zotlabs/Module/Oauth.php:112 -#: ../../Zotlabs/Module/Oauth.php:138 ../../Zotlabs/Module/Cover_photo.php:428 -#: ../../Zotlabs/Module/Oauth2.php:117 ../../Zotlabs/Module/Oauth2.php:145 -#: ../../Zotlabs/Module/Editlayout.php:140 +#: ../../include/conversation.php:1458 ../../include/conversation.php:1511 +#: ../../Zotlabs/Storage/Browser.php:376 ../../Zotlabs/Module/Cdav.php:1058 +#: ../../Zotlabs/Module/Cdav.php:1390 ../../Zotlabs/Module/Profiles.php:803 +#: ../../Zotlabs/Module/Tagrm.php:15 ../../Zotlabs/Module/Tagrm.php:138 +#: ../../Zotlabs/Module/Oauth.php:112 ../../Zotlabs/Module/Oauth.php:138 +#: ../../Zotlabs/Module/Cover_photo.php:428 ../../Zotlabs/Module/Oauth2.php:117 +#: ../../Zotlabs/Module/Oauth2.php:145 ../../Zotlabs/Module/Editlayout.php:140 #: ../../Zotlabs/Module/Editblock.php:141 ../../Zotlabs/Module/Fbrowser.php:66 #: ../../Zotlabs/Module/Fbrowser.php:88 #: ../../Zotlabs/Module/Admin/Addons.php:427 @@ -2894,13 +2901,13 @@ msgstr "Ð’Ñтроить изображение из ваших альбомов #: ../../Zotlabs/Module/Editpost.php:110 ../../Zotlabs/Module/Connedit.php:933 #: ../../Zotlabs/Module/Card_edit.php:131 #: ../../Zotlabs/Module/Article_edit.php:130 ../../Zotlabs/Module/Wiki.php:368 -#: ../../Zotlabs/Module/Wiki.php:401 ../../Zotlabs/Module/Filer.php:55 +#: ../../Zotlabs/Module/Wiki.php:401 ../../Zotlabs/Module/Filer.php:56 #: ../../extend/addon/hzaddons/hsse/hsse.php:209 #: ../../extend/addon/hzaddons/hsse/hsse.php:258 msgid "Cancel" msgstr "Отменить" -#: ../../include/conversation.php:1456 ../../include/conversation.php:1507 +#: ../../include/conversation.php:1459 ../../include/conversation.php:1510 #: ../../Zotlabs/Module/Cover_photo.php:429 #: ../../Zotlabs/Module/Profile_photo.php:508 ../../Zotlabs/Module/Wiki.php:402 #: ../../extend/addon/hzaddons/hsse/hsse.php:210 @@ -2908,85 +2915,85 @@ msgstr "Отменить" msgid "OK" msgstr "" -#: ../../include/conversation.php:1458 +#: ../../include/conversation.php:1461 #: ../../extend/addon/hzaddons/hsse/hsse.php:212 msgid "Toggle voting" msgstr "Переключить голоÑование" -#: ../../include/conversation.php:1459 +#: ../../include/conversation.php:1462 msgid "Toggle poll" msgstr "Переключить опроÑ" -#: ../../include/conversation.php:1460 +#: ../../include/conversation.php:1463 msgid "Option" msgstr "Вариант" -#: ../../include/conversation.php:1461 +#: ../../include/conversation.php:1464 msgid "Add option" msgstr "Добавить вариант" -#: ../../include/conversation.php:1462 +#: ../../include/conversation.php:1465 msgid "Minutes" msgstr "Минут" -#: ../../include/conversation.php:1462 +#: ../../include/conversation.php:1465 msgid "Hours" msgstr "ЧаÑов" -#: ../../include/conversation.php:1462 +#: ../../include/conversation.php:1465 msgid "Days" msgstr "Дней" -#: ../../include/conversation.php:1463 +#: ../../include/conversation.php:1466 msgid "Allow multiple answers" msgstr "Разрешить неÑколько ответов" -#: ../../include/conversation.php:1465 +#: ../../include/conversation.php:1468 #: ../../extend/addon/hzaddons/hsse/hsse.php:215 msgid "Disable comments" msgstr "Отключить комментарии" -#: ../../include/conversation.php:1466 +#: ../../include/conversation.php:1469 #: ../../extend/addon/hzaddons/hsse/hsse.php:216 msgid "Toggle comments" msgstr "Переключить комментарии" -#: ../../include/conversation.php:1471 ../../Zotlabs/Module/Photos.php:673 -#: ../../Zotlabs/Module/Photos.php:1043 ../../Zotlabs/Module/Editblock.php:129 +#: ../../include/conversation.php:1474 ../../Zotlabs/Module/Photos.php:674 +#: ../../Zotlabs/Module/Photos.php:1044 ../../Zotlabs/Module/Editblock.php:129 #: ../../Zotlabs/Module/Card_edit.php:117 #: ../../Zotlabs/Module/Article_edit.php:116 #: ../../extend/addon/hzaddons/hsse/hsse.php:221 msgid "Title (optional)" msgstr "Заголовок (необÑзательно)" -#: ../../include/conversation.php:1474 +#: ../../include/conversation.php:1477 #: ../../extend/addon/hzaddons/hsse/hsse.php:224 msgid "Categories (optional, comma-separated list)" msgstr "Категории (необÑзательно, ÑпиÑок через запÑтую)" -#: ../../include/conversation.php:1475 ../../Zotlabs/Module/Events.php:487 +#: ../../include/conversation.php:1478 ../../Zotlabs/Module/Events.php:487 #: ../../extend/addon/hzaddons/hsse/hsse.php:225 msgid "Permission settings" msgstr "ÐаÑтройки разрешений" -#: ../../include/conversation.php:1497 +#: ../../include/conversation.php:1500 #: ../../extend/addon/hzaddons/hsse/hsse.php:247 msgid "Other networks and post services" msgstr "Другие Ñети и Ñлужбы публикаций" -#: ../../include/conversation.php:1500 +#: ../../include/conversation.php:1503 #: ../../extend/addon/hzaddons/mail/Mod_Mail.php:170 #: ../../extend/addon/hzaddons/mail/Mod_Mail.php:313 #: ../../extend/addon/hzaddons/hsse/hsse.php:250 msgid "Set expiration date" msgstr "УÑтановить Ñрок дейÑтвиÑ" -#: ../../include/conversation.php:1503 +#: ../../include/conversation.php:1506 #: ../../extend/addon/hzaddons/hsse/hsse.php:253 msgid "Set publish date" msgstr "УÑтановить дату публикации" -#: ../../include/conversation.php:1505 ../../Zotlabs/Module/Chat.php:219 +#: ../../include/conversation.php:1508 ../../Zotlabs/Module/Chat.php:219 #: ../../Zotlabs/Lib/ThreadItem.php:839 #: ../../extend/addon/hzaddons/mail/Mod_Mail.php:172 #: ../../extend/addon/hzaddons/mail/Mod_Mail.php:315 @@ -2994,7 +3001,7 @@ msgstr "УÑтановить дату публикации" msgid "Encrypt text" msgstr "Зашифровать текÑÑ‚" -#: ../../include/conversation.php:1749 ../../Zotlabs/Module/Photos.php:1140 +#: ../../include/conversation.php:1752 ../../Zotlabs/Module/Photos.php:1141 #: ../../Zotlabs/Lib/ThreadItem.php:247 msgctxt "noun" msgid "Dislike" @@ -3003,7 +3010,7 @@ msgstr[0] "Ðе нравитÑÑ" msgstr[1] "Ðе нравитÑÑ" msgstr[2] "Ðе нравитÑÑ" -#: ../../include/conversation.php:1752 +#: ../../include/conversation.php:1755 msgctxt "noun" msgid "Attending" msgid_plural "Attending" @@ -3011,7 +3018,7 @@ msgstr[0] "ПоÑетит" msgstr[1] "ПоÑетÑÑ‚" msgstr[2] "ПоÑетÑÑ‚" -#: ../../include/conversation.php:1755 +#: ../../include/conversation.php:1758 msgctxt "noun" msgid "Not Attending" msgid_plural "Not Attending" @@ -3019,13 +3026,13 @@ msgstr[0] "Ðе поÑетит" msgstr[1] "Ðе поÑетÑÑ‚" msgstr[2] "Ðе поÑетÑÑ‚" -#: ../../include/conversation.php:1758 +#: ../../include/conversation.php:1761 msgctxt "noun" msgid "Undecided" msgid_plural "Undecided" msgstr "Ðе решил" -#: ../../include/conversation.php:1761 +#: ../../include/conversation.php:1764 msgctxt "noun" msgid "Agree" msgid_plural "Agrees" @@ -3033,7 +3040,7 @@ msgstr[0] "СоглаÑен" msgstr[1] "СоглаÑны" msgstr[2] "СоглаÑны" -#: ../../include/conversation.php:1764 +#: ../../include/conversation.php:1767 msgctxt "noun" msgid "Disagree" msgid_plural "Disagrees" @@ -3041,7 +3048,7 @@ msgstr[0] "Ðе ÑоглаÑен" msgstr[1] "Ðе ÑоглаÑны" msgstr[2] "Ðе ÑоглаÑны" -#: ../../include/conversation.php:1767 +#: ../../include/conversation.php:1770 msgctxt "noun" msgid "Abstain" msgid_plural "Abstains" @@ -3053,44 +3060,44 @@ msgstr[2] "ВоздержалиÑÑŒ" msgid "Trending" msgstr "Ð’ тренде" -#: ../../include/taxonomy.php:323 ../../include/taxonomy.php:458 -#: ../../include/taxonomy.php:479 ../../Zotlabs/Widget/Tagcloud.php:22 +#: ../../include/taxonomy.php:323 ../../include/taxonomy.php:475 +#: ../../include/taxonomy.php:496 ../../Zotlabs/Widget/Tagcloud.php:22 msgid "Tags" msgstr "Теги" -#: ../../include/taxonomy.php:559 +#: ../../include/taxonomy.php:576 msgid "Keywords" msgstr "Ключевые Ñлова" -#: ../../include/taxonomy.php:580 +#: ../../include/taxonomy.php:597 msgid "have" msgstr "иметь" -#: ../../include/taxonomy.php:580 +#: ../../include/taxonomy.php:597 msgid "has" msgstr "еÑть" -#: ../../include/taxonomy.php:581 +#: ../../include/taxonomy.php:598 msgid "want" msgstr "хотеть" -#: ../../include/taxonomy.php:581 +#: ../../include/taxonomy.php:598 msgid "wants" msgstr "хотеть" -#: ../../include/taxonomy.php:582 ../../Zotlabs/Lib/ThreadItem.php:317 +#: ../../include/taxonomy.php:599 ../../Zotlabs/Lib/ThreadItem.php:317 msgid "like" msgstr "нравитÑÑ" -#: ../../include/taxonomy.php:582 +#: ../../include/taxonomy.php:599 msgid "likes" msgstr "нравитÑÑ" -#: ../../include/taxonomy.php:583 ../../Zotlabs/Lib/ThreadItem.php:318 +#: ../../include/taxonomy.php:600 ../../Zotlabs/Lib/ThreadItem.php:318 msgid "dislike" msgstr "не нравитÑÑ" -#: ../../include/taxonomy.php:583 +#: ../../include/taxonomy.php:600 msgid "dislikes" msgstr "не нравитÑÑ" @@ -3102,8 +3109,8 @@ msgstr "Выбор дополнительного Ñзыка" msgid "Delete this item?" msgstr "Удалить Ñтот Ñлемент?" -#: ../../include/js_strings.php:6 ../../Zotlabs/Module/Photos.php:1096 -#: ../../Zotlabs/Module/Photos.php:1214 ../../Zotlabs/Lib/ThreadItem.php:824 +#: ../../include/js_strings.php:6 ../../Zotlabs/Module/Photos.php:1097 +#: ../../Zotlabs/Module/Photos.php:1215 ../../Zotlabs/Lib/ThreadItem.php:824 msgid "Comment" msgstr "Комментарий" @@ -3180,9 +3187,9 @@ msgstr "ПожалуйÑта, введите URL ÑÑылки" msgid "Unsaved changes. Are you sure you wish to leave this page?" msgstr "ЕÑть неÑохраненные изменениÑ. Ð’Ñ‹ уверены, что хотите покинуть Ñту Ñтраницу?" -#: ../../include/js_strings.php:25 ../../Zotlabs/Module/Cdav.php:1011 +#: ../../include/js_strings.php:25 ../../Zotlabs/Module/Cdav.php:1015 #: ../../Zotlabs/Module/Profiles.php:511 ../../Zotlabs/Module/Profiles.php:736 -#: ../../Zotlabs/Module/Events.php:483 ../../Zotlabs/Module/Locs.php:121 +#: ../../Zotlabs/Module/Events.php:483 ../../Zotlabs/Module/Locs.php:128 #: ../../Zotlabs/Module/Pubsites.php:52 msgid "Location" msgstr "МеÑто" @@ -3441,6 +3448,10 @@ msgctxt "calendar" msgid "All day" msgstr "ВеÑÑŒ день" +#: ../../include/js_strings.php:119 +msgid "Please stand by while your download is being prepared." +msgstr "ПожалуйÑта, подождите, пока готовитÑÑ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ°." + #: ../../include/dir_fns.php:140 ../../Zotlabs/Lib/Libzotdir.php:162 msgid "Directory Options" msgstr "Параметры каталога" @@ -3473,15 +3484,15 @@ msgstr "" msgid "RSS/Atom" msgstr "" -#: ../../include/network.php:1736 ../../Zotlabs/Lib/Activity.php:2817 -#: ../../Zotlabs/Lib/Activity.php:3011 -#: ../../extend/addon/hzaddons/pubcrawl/as.php:1465 -#: ../../extend/addon/hzaddons/pubcrawl/as.php:1719 -#: ../../extend/addon/hzaddons/pubcrawl/as.php:1927 +#: ../../include/network.php:1736 ../../Zotlabs/Lib/Activity.php:2821 +#: ../../Zotlabs/Lib/Activity.php:3015 +#: ../../extend/addon/hzaddons/pubcrawl/as.php:1483 +#: ../../extend/addon/hzaddons/pubcrawl/as.php:1895 +#: ../../extend/addon/hzaddons/pubcrawl/as.php:2103 msgid "ActivityPub" msgstr "" -#: ../../include/network.php:1737 ../../Zotlabs/Module/Cdav.php:1372 +#: ../../include/network.php:1737 ../../Zotlabs/Module/Cdav.php:1376 #: ../../Zotlabs/Module/Profiles.php:789 #: ../../Zotlabs/Module/Admin/Accounts.php:171 #: ../../Zotlabs/Module/Admin/Accounts.php:183 @@ -3630,113 +3641,114 @@ msgstr "С Днем Ñ€Ð¾Ð¶Ð´ÐµÐ½Ð¸Ñ %1$s !" msgid "Visible to your default audience" msgstr "Видно вашей аудитории по умолчанию." -#: ../../include/acl_selectors.php:100 +#: ../../include/acl_selectors.php:99 msgid "Profile-Based Privacy Groups" msgstr "Группы конфиденциальноÑти оÑнованные на профиле" -#: ../../include/acl_selectors.php:113 ../../Zotlabs/Widget/Forums.php:100 +#: ../../include/acl_selectors.php:118 +msgid "Private Forum" +msgstr "ЧаÑтный форум" + +#: ../../include/acl_selectors.php:124 ../../Zotlabs/Widget/Forums.php:100 #: ../../Zotlabs/Widget/Notifications.php:139 #: ../../Zotlabs/Widget/Notifications.php:140 #: ../../Zotlabs/Widget/Activity_filter.php:115 msgid "Forums" msgstr "Форумы" -#: ../../include/acl_selectors.php:115 -msgid "Private Forum" -msgstr "ЧаÑтный форум" - -#: ../../include/acl_selectors.php:126 +#: ../../include/acl_selectors.php:135 #: ../../Zotlabs/Lib/PermissionDescription.php:107 msgid "Only me" msgstr "Только мне" -#: ../../include/acl_selectors.php:133 +#: ../../include/acl_selectors.php:142 msgid "Share with" msgstr "ПоделитьÑÑ Ñ" -#: ../../include/acl_selectors.php:134 +#: ../../include/acl_selectors.php:143 msgid "Custom selection" msgstr "ÐаÑтраиваемый выбор" -#: ../../include/acl_selectors.php:136 +#: ../../include/acl_selectors.php:145 msgid "" "Select \"Allow\" to allow viewing. \"Don't allow\" lets you override and " "limit the scope of \"Allow\"." msgstr "Выберите \"Разрешить\" Ð´Ð»Ñ Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¾Ñмотра. \"Ðе разрешать\" позволÑет вам переопределить и ограничить разрешениÑ." -#: ../../include/acl_selectors.php:137 ../../Zotlabs/Module/Authorize.php:32 +#: ../../include/acl_selectors.php:146 ../../Zotlabs/Module/Authorize.php:32 msgid "Allow" msgstr "Разрешить" -#: ../../include/acl_selectors.php:138 +#: ../../include/acl_selectors.php:147 msgid "Don't allow" msgstr "Ðе разрешать" -#: ../../include/acl_selectors.php:144 ../../Zotlabs/Module/Photos.php:677 -#: ../../Zotlabs/Module/Photos.php:1046 ../../Zotlabs/Module/Chat.php:241 -#: ../../Zotlabs/Module/Filestorage.php:190 ../../Zotlabs/Module/Thing.php:321 +#: ../../include/acl_selectors.php:153 ../../Zotlabs/Module/Photos.php:678 +#: ../../Zotlabs/Module/Photos.php:1047 ../../Zotlabs/Module/Chat.php:241 +#: ../../Zotlabs/Module/Filestorage.php:195 ../../Zotlabs/Module/Thing.php:321 #: ../../Zotlabs/Module/Thing.php:374 ../../Zotlabs/Module/Connedit.php:682 #: ../../extend/addon/hzaddons/flashcards/Mod_Flashcards.php:254 msgid "Permissions" msgstr "РазрешениÑ" -#: ../../include/acl_selectors.php:146 ../../Zotlabs/Module/Photos.php:1274 -#: ../../Zotlabs/Widget/Pinned.php:160 ../../Zotlabs/Lib/ThreadItem.php:495 +#: ../../include/acl_selectors.php:155 ../../Zotlabs/Storage/Browser.php:404 +#: ../../Zotlabs/Module/Photos.php:1275 ../../Zotlabs/Widget/Pinned.php:160 +#: ../../Zotlabs/Lib/ThreadItem.php:495 #: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:233 msgid "Close" msgstr "Закрыть" -#: ../../include/acl_selectors.php:171 +#: ../../include/acl_selectors.php:180 #, php-format msgid "" "Post permissions %s cannot be changed %s after a post is shared.</br />These " "permissions set who is allowed to view the post." msgstr "Ð Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð¸Ñ Ð¿ÑƒÐ±Ð»Ð¸ÐºÐ°Ñ†Ð¸Ð¸ %s не могут быть изменены %s поÑле того, как ею поделилиÑÑŒ. Ðти Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð¸Ñ ÑƒÑтанавливают кому разрешено проÑматривать Ñту публикацию." -#: ../../include/zid.php:364 +#: ../../include/zid.php:360 #, php-format msgid "OpenWebAuth: %1$s welcomes %2$s" msgstr "OpenWebAuth: %1$s приветÑтвует %2$s" -#: ../../include/connections.php:133 +#: ../../include/connections.php:134 msgid "New window" msgstr "Ðовое окно" -#: ../../include/connections.php:134 +#: ../../include/connections.php:135 msgid "Open the selected location in a different window or browser tab" msgstr "Открыть выбранное меÑтоположение в другом окне или вкладке браузера" -#: ../../include/connections.php:733 ../../include/event.php:1422 -#: ../../Zotlabs/Module/Cdav.php:1377 ../../Zotlabs/Module/Profiles.php:794 +#: ../../include/connections.php:734 ../../include/event.php:1422 +#: ../../Zotlabs/Module/Cdav.php:1381 ../../Zotlabs/Module/Profiles.php:794 #: ../../Zotlabs/Module/Connedit.php:924 msgid "Mobile" msgstr "Мобильный" -#: ../../include/connections.php:734 ../../include/event.php:1423 -#: ../../Zotlabs/Module/Cdav.php:1378 ../../Zotlabs/Module/Profiles.php:795 +#: ../../include/connections.php:735 ../../include/event.php:1423 +#: ../../Zotlabs/Module/Cdav.php:1382 ../../Zotlabs/Module/Profiles.php:795 #: ../../Zotlabs/Module/Connedit.php:925 msgid "Home" msgstr "Домашний" -#: ../../include/connections.php:735 ../../include/event.php:1424 +#: ../../include/connections.php:736 ../../include/event.php:1424 msgid "Home, Voice" msgstr "Дом, голоÑ" -#: ../../include/connections.php:736 ../../include/event.php:1425 +#: ../../include/connections.php:737 ../../include/event.php:1425 msgid "Home, Fax" msgstr "Дом, факÑ" -#: ../../include/connections.php:737 ../../include/event.php:1426 -#: ../../Zotlabs/Module/Cdav.php:1379 ../../Zotlabs/Module/Profiles.php:796 +#: ../../include/connections.php:738 ../../include/event.php:1426 +#: ../../Zotlabs/Module/Cdav.php:1383 ../../Zotlabs/Module/Profiles.php:796 #: ../../Zotlabs/Module/Connedit.php:926 msgid "Work" msgstr "Рабочий" -#: ../../include/connections.php:738 ../../include/event.php:1427 +#: ../../include/connections.php:739 ../../include/event.php:1427 msgid "Work, Voice" msgstr "Работа, голоÑ" -#: ../../include/connections.php:739 ../../include/event.php:1428 +#: ../../include/connections.php:740 ../../include/event.php:1428 msgid "Work, Fax" msgstr "Работа, факÑ" @@ -3977,7 +3989,7 @@ msgstr "О Ñебе" msgid "Profile Details" msgstr "Ð˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾ профиле" -#: ../../include/nav.php:452 ../../Zotlabs/Storage/Browser.php:278 +#: ../../include/nav.php:452 ../../Zotlabs/Storage/Browser.php:344 #: ../../Zotlabs/Module/Fbrowser.php:85 ../../Zotlabs/Lib/Apps.php:340 msgid "Files" msgstr "Файлы" @@ -4040,7 +4052,8 @@ msgstr "" msgid "%1$s's bookmarks" msgstr "Закладки Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ %1$s" -#: ../../include/attach.php:273 ../../include/attach.php:381 +#: ../../include/attach.php:273 ../../include/attach.php:324 +#: ../../include/attach.php:419 msgid "Item was not found." msgstr "Ðлемент не найден." @@ -4048,75 +4061,75 @@ msgstr "Ðлемент не найден." msgid "Unknown error." msgstr "ÐеизвеÑÑ‚Ð½Ð°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ°." -#: ../../include/attach.php:574 +#: ../../include/attach.php:612 msgid "No source file." msgstr "Ðет иÑходного файла." -#: ../../include/attach.php:596 +#: ../../include/attach.php:634 msgid "Cannot locate file to replace" msgstr "Ðе удаетÑÑ Ð½Ð°Ð¹Ñ‚Ð¸ файл Ð´Ð»Ñ Ð·Ð°Ð¼ÐµÐ½Ñ‹" -#: ../../include/attach.php:615 +#: ../../include/attach.php:653 msgid "Cannot locate file to revise/update" msgstr "Ðе удаетÑÑ Ð½Ð°Ð¹Ñ‚Ð¸ файл Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÑмотра / обновлениÑ" -#: ../../include/attach.php:759 +#: ../../include/attach.php:795 #, php-format msgid "File exceeds size limit of %d" msgstr "Файл превышает предельный размер %d" -#: ../../include/attach.php:780 +#: ../../include/attach.php:816 #, php-format msgid "You have reached your limit of %1$.0f Mbytes attachment storage." msgstr "Ð’Ñ‹ доÑтигли предела %1$.0f Мбайт Ð´Ð»Ñ Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð²Ð»Ð¾Ð¶ÐµÐ½Ð¸Ð¹." -#: ../../include/attach.php:968 +#: ../../include/attach.php:1004 msgid "File upload failed. Possible system limit or action terminated." msgstr "Загрузка файла не удалаÑÑŒ. Возможно ÑиÑтема перегружена или попытка прекращена." -#: ../../include/attach.php:997 +#: ../../include/attach.php:1033 msgid "Stored file could not be verified. Upload failed." msgstr "Файл Ð´Ð»Ñ ÑÐ¾Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð½Ðµ может быть проверен. Загрузка не удалаÑÑŒ." -#: ../../include/attach.php:1069 ../../include/attach.php:1085 +#: ../../include/attach.php:1105 ../../include/attach.php:1121 msgid "Path not available." msgstr "Путь недоÑтупен." -#: ../../include/attach.php:1134 ../../include/attach.php:1297 +#: ../../include/attach.php:1169 ../../include/attach.php:1332 msgid "Empty pathname" msgstr "ПуÑтое Ð¸Ð¼Ñ Ð¿ÑƒÑ‚Ð¸" -#: ../../include/attach.php:1160 +#: ../../include/attach.php:1195 msgid "duplicate filename or path" msgstr "дублирующееÑÑ Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð° или пути" -#: ../../include/attach.php:1185 +#: ../../include/attach.php:1220 msgid "Path not found." msgstr "Путь не найден." -#: ../../include/attach.php:1253 +#: ../../include/attach.php:1288 msgid "mkdir failed." msgstr "mkdir не удалÑÑ" -#: ../../include/attach.php:1257 +#: ../../include/attach.php:1292 msgid "database storage failed." msgstr "ошибка при запиÑи базы данных." -#: ../../include/attach.php:1303 +#: ../../include/attach.php:1338 msgid "Empty path" msgstr "ПуÑтое Ð¸Ð¼Ñ Ð¿ÑƒÑ‚Ð¸" -#: ../../include/attach.php:2035 +#: ../../include/attach.php:2099 #, php-format msgid "%s shared a %s with you" msgstr "%s поделилÑÑ Ñ Ð²Ð°Ð¼Ð¸ %s" -#: ../../include/attach.php:2035 +#: ../../include/attach.php:2099 #: ../../extend/addon/hzaddons/redfiles/redfilehelper.php:64 msgid "file" msgstr "файл" -#: ../../include/photo/photo_driver.php:413 +#: ../../include/photo/photo_driver.php:417 #: ../../Zotlabs/Module/Profile_photo.php:147 #: ../../Zotlabs/Module/Profile_photo.php:284 msgid "Profile Photos" @@ -4164,36 +4177,40 @@ msgstr "[$Projectname] Ð—Ð°Ð´Ð°Ð½Ð¸Ñ Cron не запущены на %s" msgid "Cron/Scheduled tasks not running." msgstr "Ð—Ð°Ð´Ð°Ð½Ð¸Ñ Cron / планировщика не запущены." -#: ../../Zotlabs/Storage/Browser.php:107 ../../Zotlabs/Storage/Browser.php:295 -msgid "parent" -msgstr "иÑточник" +#: ../../Zotlabs/Storage/Browser.php:292 +msgid "Change filename to" +msgstr "Переименовать файл в" + +#: ../../Zotlabs/Storage/Browser.php:302 ../../Zotlabs/Storage/Browser.php:383 +msgid "Select a target location" +msgstr "Выбрать меÑто назначениÑ" -#: ../../Zotlabs/Storage/Browser.php:134 -msgid "Principal" -msgstr "Субъект" +#: ../../Zotlabs/Storage/Browser.php:303 ../../Zotlabs/Storage/Browser.php:384 +msgid "Copy to target location" +msgstr "Скопировать в меÑто назнаениÑ" -#: ../../Zotlabs/Storage/Browser.php:137 -msgid "Addressbook" -msgstr "ÐдреÑÐ½Ð°Ñ ÐºÐ½Ð¸Ð³Ð°" +#: ../../Zotlabs/Storage/Browser.php:304 ../../Zotlabs/Storage/Browser.php:382 +msgid "Set permissions for all files and sub folders" +msgstr "УÑтановить Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ð²Ñех файлов и подкаталогов" -#: ../../Zotlabs/Storage/Browser.php:143 -msgid "Schedule Inbox" -msgstr "План занÑтий входÑщий" +#: ../../Zotlabs/Storage/Browser.php:305 +msgid "Notify your contacts about this file" +msgstr "Сообщить Ñвоим контактам об Ñтом файле" -#: ../../Zotlabs/Storage/Browser.php:146 -msgid "Schedule Outbox" -msgstr "План занÑтий иÑходÑщий" +#: ../../Zotlabs/Storage/Browser.php:344 +msgid "File category" +msgstr "ÐšÐ°Ñ‚ÐµÐ³Ð¾Ñ€Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð°" -#: ../../Zotlabs/Storage/Browser.php:279 +#: ../../Zotlabs/Storage/Browser.php:355 msgid "Total" msgstr "Ð’Ñего" -#: ../../Zotlabs/Storage/Browser.php:281 +#: ../../Zotlabs/Storage/Browser.php:357 msgid "Shared" msgstr "Общие" -#: ../../Zotlabs/Storage/Browser.php:282 ../../Zotlabs/Storage/Browser.php:396 -#: ../../Zotlabs/Module/Cdav.php:1055 ../../Zotlabs/Module/Cdav.php:1383 +#: ../../Zotlabs/Storage/Browser.php:358 ../../Zotlabs/Storage/Browser.php:531 +#: ../../Zotlabs/Module/Cdav.php:1059 ../../Zotlabs/Module/Cdav.php:1387 #: ../../Zotlabs/Module/Profiles.php:800 #: ../../Zotlabs/Module/New_channel.php:189 ../../Zotlabs/Module/Menu.php:182 #: ../../Zotlabs/Module/Webpages.php:254 ../../Zotlabs/Module/Connedit.php:930 @@ -4203,15 +4220,15 @@ msgstr "Общие" msgid "Create" msgstr "Создать" -#: ../../Zotlabs/Storage/Browser.php:283 +#: ../../Zotlabs/Storage/Browser.php:359 msgid "Add Files" msgstr "Добавить файлы" -#: ../../Zotlabs/Storage/Browser.php:286 ../../Zotlabs/Lib/ThreadItem.php:174 +#: ../../Zotlabs/Storage/Browser.php:362 ../../Zotlabs/Lib/ThreadItem.php:174 msgid "Admin Delete" msgstr "Удалено админиÑтратором" -#: ../../Zotlabs/Storage/Browser.php:291 ../../Zotlabs/Module/Cdav.php:1368 +#: ../../Zotlabs/Storage/Browser.php:370 ../../Zotlabs/Module/Cdav.php:1372 #: ../../Zotlabs/Module/Oauth.php:113 ../../Zotlabs/Module/Oauth.php:139 #: ../../Zotlabs/Module/Sharedwithme.php:106 ../../Zotlabs/Module/Chat.php:257 #: ../../Zotlabs/Module/Oauth2.php:118 ../../Zotlabs/Module/Oauth2.php:146 @@ -4224,38 +4241,96 @@ msgstr "Удалено админиÑтратором" msgid "Name" msgstr "ИмÑ" -#: ../../Zotlabs/Storage/Browser.php:292 ../../Zotlabs/Module/Wiki.php:219 +#: ../../Zotlabs/Storage/Browser.php:371 ../../Zotlabs/Module/Wiki.php:219 msgid "Type" msgstr "Тип" -#: ../../Zotlabs/Storage/Browser.php:294 +#: ../../Zotlabs/Storage/Browser.php:373 #: ../../Zotlabs/Module/Sharedwithme.php:109 msgid "Last Modified" msgstr "ПоÑледнее изменение" -#: ../../Zotlabs/Storage/Browser.php:367 +#: ../../Zotlabs/Storage/Browser.php:374 +msgid "parent" +msgstr "иÑточник" + +#: ../../Zotlabs/Storage/Browser.php:379 +#: ../../Zotlabs/Module/Filestorage.php:206 +msgid "Copy/paste this code to attach file to a post" +msgstr "Копировать / вÑтавить Ñтот код Ð´Ð»Ñ Ð¿Ñ€Ð¸ÐºÑ€ÐµÐ¿Ð»ÐµÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð° к публикации" + +#: ../../Zotlabs/Storage/Browser.php:380 +#: ../../Zotlabs/Module/Filestorage.php:207 +msgid "Copy/paste this URL to link file from a web page" +msgstr "Копировать / вÑтавить Ñту URL Ð´Ð»Ñ ÑÑылки на файл Ñо Ñтраницы" + +#: ../../Zotlabs/Storage/Browser.php:392 +msgid "Select All" +msgstr "Выбрать вÑÑ‘" + +#: ../../Zotlabs/Storage/Browser.php:393 +msgid "Bulk Actions" +msgstr "Ð“Ñ€ÑƒÐ¿Ð¿Ð¾Ð²Ð°Ñ Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ°" + +#: ../../Zotlabs/Storage/Browser.php:394 +msgid "Adjust Permissions" +msgstr "ÐаÑтроить разрешениÑ" + +#: ../../Zotlabs/Storage/Browser.php:395 +msgid "Move or Copy" +msgstr "ПеремеÑтить или копировать" + +#: ../../Zotlabs/Storage/Browser.php:397 ../../Zotlabs/Module/Wiki.php:212 +msgid "Download" +msgstr "Загрузить" + +#: ../../Zotlabs/Storage/Browser.php:398 +msgid "Info" +msgstr "ИнформациÑ" + +#: ../../Zotlabs/Storage/Browser.php:399 +msgid "Rename" +msgstr "Переименовать" + +#: ../../Zotlabs/Storage/Browser.php:400 ../../Zotlabs/Lib/Apps.php:360 +msgid "Post" +msgstr "ПубликациÑ" + +#: ../../Zotlabs/Storage/Browser.php:401 +msgid "Attachment BBcode" +msgstr "Вложение BBcode" + +#: ../../Zotlabs/Storage/Browser.php:402 +msgid "Embed BBcode" +msgstr "Ð’Ñтраивание BBcode" + +#: ../../Zotlabs/Storage/Browser.php:403 +msgid "Link BBcode" +msgstr "СÑылка BBcode" + +#: ../../Zotlabs/Storage/Browser.php:473 #, php-format msgid "You are using %1$s of your available file storage." msgstr "Ð’Ñ‹ иÑпользуете %1$s из доÑтупного вам хранилища файлов." -#: ../../Zotlabs/Storage/Browser.php:372 +#: ../../Zotlabs/Storage/Browser.php:478 #, php-format msgid "You are using %1$s of %2$s available file storage. (%3$s%)" msgstr "Ð’Ñ‹ иÑпользуете %1$s из %2$s доÑтупного хранилища файлов (%3$s%)." -#: ../../Zotlabs/Storage/Browser.php:383 +#: ../../Zotlabs/Storage/Browser.php:489 msgid "WARNING:" msgstr "Предупреждение:" -#: ../../Zotlabs/Storage/Browser.php:395 +#: ../../Zotlabs/Storage/Browser.php:530 msgid "Create new folder" msgstr "Создать новую папку" -#: ../../Zotlabs/Storage/Browser.php:397 +#: ../../Zotlabs/Storage/Browser.php:532 msgid "Upload file" msgstr "Загрузить файл" -#: ../../Zotlabs/Storage/Browser.php:398 ../../Zotlabs/Module/Photos.php:687 +#: ../../Zotlabs/Storage/Browser.php:533 ../../Zotlabs/Module/Photos.php:688 #: ../../Zotlabs/Module/Cover_photo.php:423 #: ../../Zotlabs/Module/Embedphotos.php:188 #: ../../Zotlabs/Module/Profile_photo.php:500 @@ -4264,12 +4339,12 @@ msgstr "Загрузить файл" msgid "Upload" msgstr "Загрузка" -#: ../../Zotlabs/Storage/Browser.php:410 +#: ../../Zotlabs/Storage/Browser.php:544 msgid "Drop files here to immediately upload" msgstr "ПомеÑтите файлы Ñюда Ð´Ð»Ñ Ð½ÐµÐ¼ÐµÐ´Ð»ÐµÐ½Ð½Ð¾Ð¹ загрузки" -#: ../../Zotlabs/Storage/Browser.php:411 -#: ../../Zotlabs/Module/Filestorage.php:206 +#: ../../Zotlabs/Storage/Browser.php:545 +#: ../../Zotlabs/Module/Filestorage.php:211 msgid "Show in your contacts shared folder" msgstr "Показать общий каталог в ваших контактах" @@ -4327,7 +4402,7 @@ msgid "Default Permissions App" msgstr "Приложение \"Ð Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð¸Ñ Ð¿Ð¾ умолчанию\"" #: ../../Zotlabs/Module/Defperms.php:190 ../../Zotlabs/Module/Permcats.php:63 -#: ../../Zotlabs/Module/Poke.php:165 ../../Zotlabs/Module/Cdav.php:872 +#: ../../Zotlabs/Module/Poke.php:165 ../../Zotlabs/Module/Cdav.php:876 #: ../../Zotlabs/Module/Oauth.php:100 ../../Zotlabs/Module/Pubstream.php:20 #: ../../Zotlabs/Module/Sources.php:88 ../../Zotlabs/Module/Chat.php:100 #: ../../Zotlabs/Module/Oauth2.php:106 ../../Zotlabs/Module/Uexport.php:61 @@ -4547,33 +4622,33 @@ msgstr "Параметры" msgid "Redeliver" msgstr "ДоÑтавить повторно" -#: ../../Zotlabs/Module/Network.php:110 +#: ../../Zotlabs/Module/Network.php:105 msgid "No such group" msgstr "Ðет такой группы" -#: ../../Zotlabs/Module/Network.php:157 +#: ../../Zotlabs/Module/Network.php:152 msgid "No such channel" msgstr "Ðет такого канала" -#: ../../Zotlabs/Module/Network.php:169 ../../Zotlabs/Module/Channel.php:195 +#: ../../Zotlabs/Module/Network.php:164 ../../Zotlabs/Module/Channel.php:189 msgid "Search Results For:" msgstr "Результаты поиÑка длÑ:" -#: ../../Zotlabs/Module/Network.php:210 ../../Zotlabs/Module/Display.php:79 -#: ../../Zotlabs/Module/Pubstream.php:99 ../../Zotlabs/Module/Channel.php:230 -#: ../../Zotlabs/Module/Hq.php:134 +#: ../../Zotlabs/Module/Network.php:205 ../../Zotlabs/Module/Display.php:76 +#: ../../Zotlabs/Module/Pubstream.php:95 ../../Zotlabs/Module/Channel.php:224 +#: ../../Zotlabs/Module/Hq.php:125 msgid "Reset form" msgstr "ОчиÑтить форму" -#: ../../Zotlabs/Module/Network.php:246 +#: ../../Zotlabs/Module/Network.php:239 msgid "Privacy group is empty" msgstr "Группа конфиденциальноÑти пуÑта" -#: ../../Zotlabs/Module/Network.php:256 +#: ../../Zotlabs/Module/Network.php:249 msgid "Privacy group: " msgstr "Группа конфиденциальноÑти: " -#: ../../Zotlabs/Module/Network.php:329 +#: ../../Zotlabs/Module/Network.php:322 #: ../../extend/addon/hzaddons/redred/Mod_Redred.php:29 msgid "Invalid channel." msgstr "ÐедейÑтвительный канал." @@ -4621,40 +4696,40 @@ msgctxt "acl" msgid "Profile" msgstr "Профиль" -#: ../../Zotlabs/Module/Acl.php:361 +#: ../../Zotlabs/Module/Acl.php:368 msgid "network" msgstr "Ñеть" -#: ../../Zotlabs/Module/Item.php:448 ../../Zotlabs/Module/Pin.php:35 +#: ../../Zotlabs/Module/Item.php:450 ../../Zotlabs/Module/Pin.php:35 msgid "Unable to locate original post." msgstr "Ðе удалоÑÑŒ найти оригинальную публикацию." -#: ../../Zotlabs/Module/Item.php:734 +#: ../../Zotlabs/Module/Item.php:736 msgid "Empty post discarded." msgstr "ПуÑÑ‚Ð°Ñ Ð¿ÑƒÐ±Ð»Ð¸ÐºÐ°Ñ†Ð¸Ñ Ð¾Ñ‚ÐºÐ»Ð¾Ð½ÐµÐ½Ð°." -#: ../../Zotlabs/Module/Item.php:1186 +#: ../../Zotlabs/Module/Item.php:1187 msgid "Duplicate post suppressed." msgstr "Подавлена дублирующаÑÑÑ Ð¿ÑƒÐ±Ð»Ð¸ÐºÐ°Ñ†Ð¸Ñ." -#: ../../Zotlabs/Module/Item.php:1331 +#: ../../Zotlabs/Module/Item.php:1332 msgid "System error. Post not saved." msgstr "СиÑÑ‚ÐµÐ¼Ð½Ð°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ°. ÐŸÑƒÐ±Ð»Ð¸ÐºÐ°Ñ†Ð¸Ñ Ð½Ðµ Ñохранена." -#: ../../Zotlabs/Module/Item.php:1365 +#: ../../Zotlabs/Module/Item.php:1366 msgid "Your comment is awaiting approval." msgstr "Ваш комментарий ожидает одобрениÑ." -#: ../../Zotlabs/Module/Item.php:1482 +#: ../../Zotlabs/Module/Item.php:1496 msgid "Unable to obtain post information from database." msgstr "Ðевозможно получить информацию о публикации из базы данных" -#: ../../Zotlabs/Module/Item.php:1489 +#: ../../Zotlabs/Module/Item.php:1503 #, php-format msgid "You have reached your limit of %1$.0f top level posts." msgstr "Ð’Ñ‹ доÑтигли вашего Ð¾Ð³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½Ð¸Ñ Ð² %1$.0f публикаций выÑокого уровнÑ." -#: ../../Zotlabs/Module/Item.php:1496 +#: ../../Zotlabs/Module/Item.php:1510 #, php-format msgid "You have reached your limit of %1$.0f webpages." msgstr "Ð’Ñ‹ доÑтигли вашего Ð¾Ð³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½Ð¸Ñ Ð² %1$.0f Ñтраниц." @@ -4663,23 +4738,45 @@ msgstr "Ð’Ñ‹ доÑтигли вашего Ð¾Ð³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½Ð¸Ñ Ð² %1$.0f ÑÑ msgid "Some blurb about what to do when you're new here" msgstr "Ðекоторые Ð¿Ñ€ÐµÐ´Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð¾ том, что делать, еÑли вы здеÑÑŒ новичок " -#: ../../Zotlabs/Module/Display.php:29 ../../Zotlabs/Module/Directory.php:71 -#: ../../Zotlabs/Module/Directory.php:76 ../../Zotlabs/Module/Photos.php:518 +#: ../../Zotlabs/Module/Attach_edit.php:52 ../../Zotlabs/Module/Chanview.php:95 +#: ../../Zotlabs/Module/Page.php:75 ../../Zotlabs/Module/Wall_upload.php:31 +#: ../../Zotlabs/Module/Block.php:41 ../../Zotlabs/Module/Attach.php:21 +#: ../../Zotlabs/Module/Cal.php:31 ../../Zotlabs/Module/Card_edit.php:44 +#: ../../Zotlabs/Module/Article_edit.php:44 +msgid "Channel not found." +msgstr "Канал не найден." + +#: ../../Zotlabs/Module/Attach_edit.php:69 +#: ../../Zotlabs/Module/Filestorage.php:109 +msgid "File not found." +msgstr "Файл не найден." + +#: ../../Zotlabs/Module/Attach_edit.php:118 +msgid "Can not copy folder into itself." +msgstr "Ðевозможно Ñкопировать каталог в Ñамого ÑебÑ." + +#: ../../Zotlabs/Module/Attach_edit.php:131 +#, php-format +msgid "Can not move folder \"%s\" into itself." +msgstr "Ðевозможно Ñкопировать каталог \"%s\" в Ñамого ÑебÑ." + +#: ../../Zotlabs/Module/Display.php:26 ../../Zotlabs/Module/Directory.php:71 +#: ../../Zotlabs/Module/Directory.php:76 ../../Zotlabs/Module/Photos.php:519 #: ../../Zotlabs/Module/Viewconnections.php:23 #: ../../Zotlabs/Module/Ratings.php:83 ../../Zotlabs/Module/Search.php:17 msgid "Public access denied." msgstr "Публичный доÑтуп запрещен." -#: ../../Zotlabs/Module/Display.php:376 ../../Zotlabs/Module/Channel.php:465 +#: ../../Zotlabs/Module/Display.php:359 ../../Zotlabs/Module/Channel.php:449 msgid "" "You must enable javascript for your browser to be able to view this content." msgstr "Ð”Ð»Ñ Ð¿Ñ€Ð¾Ñмотра Ñтого Ñодержимого в вашем браузере должен быть включён JavaScript" -#: ../../Zotlabs/Module/Display.php:394 +#: ../../Zotlabs/Module/Display.php:377 msgid "Article" msgstr "СтатьÑ" -#: ../../Zotlabs/Module/Display.php:439 +#: ../../Zotlabs/Module/Display.php:422 msgid "Item has been removed." msgstr "Ðлемент был удалён." @@ -4867,45 +4964,45 @@ msgstr "От Ñтарых к новым" msgid "No entries (some entries may be hidden)." msgstr "Ðет запиÑей (некоторые запиÑи могут быть Ñкрыты)." -#: ../../Zotlabs/Module/Cdav.php:814 ../../Zotlabs/Module/Events.php:28 +#: ../../Zotlabs/Module/Cdav.php:818 ../../Zotlabs/Module/Events.php:28 msgid "Calendar entries imported." msgstr "Ð¡Ð¾Ð±Ñ‹Ñ‚Ð¸Ñ ÐºÐ°Ð»ÐµÐ½Ð´Ð°Ñ€Ñ Ð¸Ð¼Ð¿Ð¾Ñ€Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ñ‹." -#: ../../Zotlabs/Module/Cdav.php:816 ../../Zotlabs/Module/Events.php:30 +#: ../../Zotlabs/Module/Cdav.php:820 ../../Zotlabs/Module/Events.php:30 msgid "No calendar entries found." msgstr "Ðе найдено Ñобытий в календаре." -#: ../../Zotlabs/Module/Cdav.php:872 +#: ../../Zotlabs/Module/Cdav.php:876 msgid "CardDAV App" msgstr "Приложение CardDAV" -#: ../../Zotlabs/Module/Cdav.php:873 +#: ../../Zotlabs/Module/Cdav.php:877 msgid "CalDAV capable addressbook" msgstr "ÐдреÑÐ½Ð°Ñ ÐºÐ½Ð¸Ð³Ð° Ñ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶ÐºÐ¾Ð¹ CalDAV" -#: ../../Zotlabs/Module/Cdav.php:939 +#: ../../Zotlabs/Module/Cdav.php:943 #: ../../Zotlabs/Module/Channel_calendar.php:393 #: ../../Zotlabs/Module/Cal.php:167 msgid "Link to source" msgstr "СÑылка на иÑточник" -#: ../../Zotlabs/Module/Cdav.php:1005 ../../Zotlabs/Module/Events.php:468 +#: ../../Zotlabs/Module/Cdav.php:1009 ../../Zotlabs/Module/Events.php:468 msgid "Event title" msgstr "Ðаименование ÑобытиÑ" -#: ../../Zotlabs/Module/Cdav.php:1006 ../../Zotlabs/Module/Events.php:474 +#: ../../Zotlabs/Module/Cdav.php:1010 ../../Zotlabs/Module/Events.php:474 msgid "Start date and time" msgstr "Дата и Ð²Ñ€ÐµÐ¼Ñ Ð½Ð°Ñ‡Ð°Ð»Ð°" -#: ../../Zotlabs/Module/Cdav.php:1007 +#: ../../Zotlabs/Module/Cdav.php:1011 msgid "End date and time" msgstr "Дата и Ð²Ñ€ÐµÐ¼Ñ Ð¾ÐºÐ¾Ð½Ñ‡Ð°Ð½Ð¸Ñ" -#: ../../Zotlabs/Module/Cdav.php:1008 ../../Zotlabs/Module/Events.php:497 +#: ../../Zotlabs/Module/Cdav.php:1012 ../../Zotlabs/Module/Events.php:497 msgid "Timezone:" msgstr "ЧаÑовой поÑÑ:" -#: ../../Zotlabs/Module/Cdav.php:1010 ../../Zotlabs/Module/Appman.php:145 +#: ../../Zotlabs/Module/Cdav.php:1014 ../../Zotlabs/Module/Appman.php:145 #: ../../Zotlabs/Module/Events.php:481 ../../Zotlabs/Module/Rbmark.php:101 #: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:173 #: ../../extend/addon/hzaddons/cart/submodules/manualcat.php:260 @@ -4913,56 +5010,56 @@ msgstr "ЧаÑовой поÑÑ:" msgid "Description" msgstr "ОпиÑание" -#: ../../Zotlabs/Module/Cdav.php:1031 ../../Zotlabs/Module/Photos.php:946 +#: ../../Zotlabs/Module/Cdav.php:1035 ../../Zotlabs/Module/Photos.php:947 #: ../../Zotlabs/Module/Events.php:697 ../../Zotlabs/Module/Events.php:706 #: ../../Zotlabs/Module/Cal.php:205 msgid "Previous" msgstr "ПредыдущаÑ" -#: ../../Zotlabs/Module/Cdav.php:1032 ../../Zotlabs/Module/Photos.php:955 +#: ../../Zotlabs/Module/Cdav.php:1036 ../../Zotlabs/Module/Photos.php:956 #: ../../Zotlabs/Module/Events.php:698 ../../Zotlabs/Module/Events.php:707 #: ../../Zotlabs/Module/Cal.php:206 ../../Zotlabs/Module/Setup.php:260 msgid "Next" msgstr "СледующаÑ" -#: ../../Zotlabs/Module/Cdav.php:1033 ../../Zotlabs/Module/Events.php:708 +#: ../../Zotlabs/Module/Cdav.php:1037 ../../Zotlabs/Module/Events.php:708 #: ../../Zotlabs/Module/Cal.php:207 msgid "Today" msgstr "СегоднÑ" -#: ../../Zotlabs/Module/Cdav.php:1034 ../../Zotlabs/Module/Events.php:703 +#: ../../Zotlabs/Module/Cdav.php:1038 ../../Zotlabs/Module/Events.php:703 msgid "Month" msgstr "МеÑÑц" -#: ../../Zotlabs/Module/Cdav.php:1035 ../../Zotlabs/Module/Events.php:704 +#: ../../Zotlabs/Module/Cdav.php:1039 ../../Zotlabs/Module/Events.php:704 msgid "Week" msgstr "ÐеделÑ" -#: ../../Zotlabs/Module/Cdav.php:1036 ../../Zotlabs/Module/Events.php:705 +#: ../../Zotlabs/Module/Cdav.php:1040 ../../Zotlabs/Module/Events.php:705 msgid "Day" msgstr "День" -#: ../../Zotlabs/Module/Cdav.php:1037 +#: ../../Zotlabs/Module/Cdav.php:1041 msgid "List month" msgstr "ПроÑмотреть меÑÑц" -#: ../../Zotlabs/Module/Cdav.php:1038 +#: ../../Zotlabs/Module/Cdav.php:1042 msgid "List week" msgstr "ПроÑмотреть неделю" -#: ../../Zotlabs/Module/Cdav.php:1039 +#: ../../Zotlabs/Module/Cdav.php:1043 msgid "List day" msgstr "ПроÑмотреть день" -#: ../../Zotlabs/Module/Cdav.php:1047 +#: ../../Zotlabs/Module/Cdav.php:1051 msgid "More" msgstr "Больше" -#: ../../Zotlabs/Module/Cdav.php:1048 +#: ../../Zotlabs/Module/Cdav.php:1052 msgid "Less" msgstr "Меньше" -#: ../../Zotlabs/Module/Cdav.php:1049 ../../Zotlabs/Module/Cdav.php:1384 +#: ../../Zotlabs/Module/Cdav.php:1053 ../../Zotlabs/Module/Cdav.php:1388 #: ../../Zotlabs/Module/Profiles.php:801 ../../Zotlabs/Module/Oauth.php:53 #: ../../Zotlabs/Module/Oauth.php:137 ../../Zotlabs/Module/Oauth2.php:58 #: ../../Zotlabs/Module/Oauth2.php:144 @@ -4971,108 +5068,108 @@ msgstr "Меньше" msgid "Update" msgstr "Обновить" -#: ../../Zotlabs/Module/Cdav.php:1050 +#: ../../Zotlabs/Module/Cdav.php:1054 msgid "Select calendar" msgstr "Выбрать календарь" -#: ../../Zotlabs/Module/Cdav.php:1051 ../../Zotlabs/Widget/Cdav.php:143 +#: ../../Zotlabs/Module/Cdav.php:1055 ../../Zotlabs/Widget/Cdav.php:143 msgid "Channel Calendars" msgstr "Календари канала" -#: ../../Zotlabs/Module/Cdav.php:1051 ../../Zotlabs/Widget/Cdav.php:129 +#: ../../Zotlabs/Module/Cdav.php:1055 ../../Zotlabs/Widget/Cdav.php:129 #: ../../Zotlabs/Widget/Cdav.php:143 msgid "CalDAV Calendars" msgstr "Календари CalDAV" -#: ../../Zotlabs/Module/Cdav.php:1053 +#: ../../Zotlabs/Module/Cdav.php:1057 msgid "Delete all" msgstr "Удалить вÑÑ‘" -#: ../../Zotlabs/Module/Cdav.php:1056 +#: ../../Zotlabs/Module/Cdav.php:1060 msgid "Sorry! Editing of recurrent events is not yet implemented." msgstr "ПроÑтите, но редактирование повторÑющихÑÑ Ñобытий пока не реализовано." -#: ../../Zotlabs/Module/Cdav.php:1369 ../../Zotlabs/Module/Connedit.php:916 +#: ../../Zotlabs/Module/Cdav.php:1373 ../../Zotlabs/Module/Connedit.php:916 msgid "Organisation" msgstr "ОрганизациÑ" -#: ../../Zotlabs/Module/Cdav.php:1370 ../../Zotlabs/Module/Connedit.php:917 +#: ../../Zotlabs/Module/Cdav.php:1374 ../../Zotlabs/Module/Connedit.php:917 #: ../../extend/addon/hzaddons/workflow/workflow.php:2617 #: ../../extend/addon/hzaddons/workflow/workflow.php:2678 msgid "Title" msgstr "Ðаименование" -#: ../../Zotlabs/Module/Cdav.php:1371 ../../Zotlabs/Module/Profiles.php:788 +#: ../../Zotlabs/Module/Cdav.php:1375 ../../Zotlabs/Module/Profiles.php:788 #: ../../Zotlabs/Module/Connedit.php:918 msgid "Phone" msgstr "Телефон" -#: ../../Zotlabs/Module/Cdav.php:1373 ../../Zotlabs/Module/Profiles.php:790 +#: ../../Zotlabs/Module/Cdav.php:1377 ../../Zotlabs/Module/Profiles.php:790 #: ../../Zotlabs/Module/Connedit.php:920 msgid "Instant messenger" msgstr "МеÑÑенджер" -#: ../../Zotlabs/Module/Cdav.php:1374 ../../Zotlabs/Module/Profiles.php:791 +#: ../../Zotlabs/Module/Cdav.php:1378 ../../Zotlabs/Module/Profiles.php:791 #: ../../Zotlabs/Module/Connedit.php:921 msgid "Website" msgstr "Веб-Ñайт" -#: ../../Zotlabs/Module/Cdav.php:1375 ../../Zotlabs/Module/Profiles.php:504 -#: ../../Zotlabs/Module/Profiles.php:792 ../../Zotlabs/Module/Locs.php:122 +#: ../../Zotlabs/Module/Cdav.php:1379 ../../Zotlabs/Module/Profiles.php:504 +#: ../../Zotlabs/Module/Profiles.php:792 ../../Zotlabs/Module/Locs.php:129 #: ../../Zotlabs/Module/Admin/Channels.php:160 #: ../../Zotlabs/Module/Connedit.php:922 msgid "Address" msgstr "ÐдреÑ" -#: ../../Zotlabs/Module/Cdav.php:1376 ../../Zotlabs/Module/Profiles.php:793 +#: ../../Zotlabs/Module/Cdav.php:1380 ../../Zotlabs/Module/Profiles.php:793 #: ../../Zotlabs/Module/Connedit.php:923 msgid "Note" msgstr "Заметка" -#: ../../Zotlabs/Module/Cdav.php:1381 ../../Zotlabs/Module/Profiles.php:798 +#: ../../Zotlabs/Module/Cdav.php:1385 ../../Zotlabs/Module/Profiles.php:798 #: ../../Zotlabs/Module/Connedit.php:928 msgid "Add Contact" msgstr "Добавить контакт" -#: ../../Zotlabs/Module/Cdav.php:1382 ../../Zotlabs/Module/Profiles.php:799 +#: ../../Zotlabs/Module/Cdav.php:1386 ../../Zotlabs/Module/Profiles.php:799 #: ../../Zotlabs/Module/Connedit.php:929 msgid "Add Field" msgstr "Добавить поле" -#: ../../Zotlabs/Module/Cdav.php:1387 ../../Zotlabs/Module/Connedit.php:934 +#: ../../Zotlabs/Module/Cdav.php:1391 ../../Zotlabs/Module/Connedit.php:934 msgid "P.O. Box" msgstr "абонентÑкий Ñщик" -#: ../../Zotlabs/Module/Cdav.php:1388 ../../Zotlabs/Module/Connedit.php:935 +#: ../../Zotlabs/Module/Cdav.php:1392 ../../Zotlabs/Module/Connedit.php:935 msgid "Additional" msgstr "Дополнительно" -#: ../../Zotlabs/Module/Cdav.php:1389 ../../Zotlabs/Module/Connedit.php:936 +#: ../../Zotlabs/Module/Cdav.php:1393 ../../Zotlabs/Module/Connedit.php:936 msgid "Street" msgstr "Улица" -#: ../../Zotlabs/Module/Cdav.php:1390 ../../Zotlabs/Module/Connedit.php:937 +#: ../../Zotlabs/Module/Cdav.php:1394 ../../Zotlabs/Module/Connedit.php:937 msgid "Locality" msgstr "ÐаÑелённый пункт" -#: ../../Zotlabs/Module/Cdav.php:1391 ../../Zotlabs/Module/Connedit.php:938 +#: ../../Zotlabs/Module/Cdav.php:1395 ../../Zotlabs/Module/Connedit.php:938 msgid "Region" msgstr "Регион" -#: ../../Zotlabs/Module/Cdav.php:1392 ../../Zotlabs/Module/Connedit.php:939 +#: ../../Zotlabs/Module/Cdav.php:1396 ../../Zotlabs/Module/Connedit.php:939 msgid "ZIP Code" msgstr "ИндекÑ" -#: ../../Zotlabs/Module/Cdav.php:1393 ../../Zotlabs/Module/Profiles.php:759 +#: ../../Zotlabs/Module/Cdav.php:1397 ../../Zotlabs/Module/Profiles.php:759 #: ../../Zotlabs/Module/Connedit.php:940 msgid "Country" msgstr "Страна" -#: ../../Zotlabs/Module/Cdav.php:1452 +#: ../../Zotlabs/Module/Cdav.php:1456 msgid "Default Calendar" msgstr "Календарь по умолчанию" -#: ../../Zotlabs/Module/Cdav.php:1463 +#: ../../Zotlabs/Module/Cdav.php:1467 msgid "Default Addressbook" msgstr "ÐдреÑÐ½Ð°Ñ ÐºÐ½Ð¸Ð³Ð° по умолчанию" @@ -5576,96 +5673,96 @@ msgstr "Ðльбом не найден." msgid "Delete Album" msgstr "Удалить альбом" -#: ../../Zotlabs/Module/Photos.php:176 ../../Zotlabs/Module/Photos.php:1058 +#: ../../Zotlabs/Module/Photos.php:176 ../../Zotlabs/Module/Photos.php:1059 msgid "Delete Photo" msgstr "Удалить фотографию" -#: ../../Zotlabs/Module/Photos.php:529 +#: ../../Zotlabs/Module/Photos.php:530 msgid "No photos selected" msgstr "Ðикакие фотографии не выбраны" -#: ../../Zotlabs/Module/Photos.php:578 +#: ../../Zotlabs/Module/Photos.php:579 msgid "Access to this item is restricted." msgstr "ДоÑтуп к Ñтому Ñлементу ограничен." -#: ../../Zotlabs/Module/Photos.php:621 +#: ../../Zotlabs/Module/Photos.php:622 #, php-format msgid "%1$.2f MB of %2$.2f MB photo storage used." msgstr "Ð’Ñ‹ иÑпользовали %1$.2f мегабайт из %2$.2f Ð´Ð»Ñ Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ñ„Ð¾Ñ‚Ð¾." -#: ../../Zotlabs/Module/Photos.php:624 +#: ../../Zotlabs/Module/Photos.php:625 #, php-format msgid "%1$.2f MB photo storage used." msgstr "Ð’Ñ‹ иÑпользовали %1$.2f мегабайт Ð´Ð»Ñ Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ñ„Ð¾Ñ‚Ð¾." -#: ../../Zotlabs/Module/Photos.php:666 +#: ../../Zotlabs/Module/Photos.php:667 msgid "Upload Photos" msgstr "Загрузить фотографии" -#: ../../Zotlabs/Module/Photos.php:670 +#: ../../Zotlabs/Module/Photos.php:671 msgid "Enter an album name" msgstr "Введите название альбома" -#: ../../Zotlabs/Module/Photos.php:671 +#: ../../Zotlabs/Module/Photos.php:672 msgid "or select an existing album (doubleclick)" msgstr "или выберите ÑущеÑтвующий альбом (двойной щелчок)" -#: ../../Zotlabs/Module/Photos.php:672 +#: ../../Zotlabs/Module/Photos.php:673 msgid "Create a status post for this upload" msgstr "Сделать публикацию о ÑтатуÑе Ð´Ð»Ñ Ñтой загрузки" -#: ../../Zotlabs/Module/Photos.php:674 +#: ../../Zotlabs/Module/Photos.php:675 msgid "Description (optional)" msgstr "ОпиÑание (необÑзательно)" -#: ../../Zotlabs/Module/Photos.php:760 +#: ../../Zotlabs/Module/Photos.php:761 msgid "Show Newest First" msgstr "Показать новые первыми" -#: ../../Zotlabs/Module/Photos.php:762 +#: ../../Zotlabs/Module/Photos.php:763 msgid "Show Oldest First" msgstr "Показать Ñтарые первыми" -#: ../../Zotlabs/Module/Photos.php:786 ../../Zotlabs/Module/Photos.php:1332 +#: ../../Zotlabs/Module/Photos.php:787 ../../Zotlabs/Module/Photos.php:1333 #: ../../Zotlabs/Module/Embedphotos.php:170 #: ../../Zotlabs/Widget/Portfolio.php:87 ../../Zotlabs/Widget/Album.php:78 msgid "View Photo" msgstr "ПоÑмотреть фотографию" -#: ../../Zotlabs/Module/Photos.php:817 ../../Zotlabs/Module/Embedphotos.php:186 +#: ../../Zotlabs/Module/Photos.php:818 ../../Zotlabs/Module/Embedphotos.php:186 #: ../../Zotlabs/Widget/Portfolio.php:108 ../../Zotlabs/Widget/Album.php:95 msgid "Edit Album" msgstr "Редактировать Фотоальбом" -#: ../../Zotlabs/Module/Photos.php:819 ../../Zotlabs/Module/Photos.php:1363 +#: ../../Zotlabs/Module/Photos.php:820 ../../Zotlabs/Module/Photos.php:1364 msgid "Add Photos" msgstr "Добавить фотографии" -#: ../../Zotlabs/Module/Photos.php:867 +#: ../../Zotlabs/Module/Photos.php:868 msgid "Permission denied. Access to this item may be restricted." msgstr "ДоÑтуп запрещен. ДоÑтуп к Ñтому Ñлементу может быть ограничен." -#: ../../Zotlabs/Module/Photos.php:869 +#: ../../Zotlabs/Module/Photos.php:870 msgid "Photo not available" msgstr "Ð¤Ð¾Ñ‚Ð¾Ð³Ñ€Ð°Ñ„Ð¸Ñ Ð½Ðµ доÑтупна" -#: ../../Zotlabs/Module/Photos.php:927 +#: ../../Zotlabs/Module/Photos.php:928 msgid "Use as profile photo" msgstr "ИÑпользовать в качеÑтве фотографии профилÑ" -#: ../../Zotlabs/Module/Photos.php:928 +#: ../../Zotlabs/Module/Photos.php:929 msgid "Use as cover photo" msgstr "ИÑпользовать в качеÑтве фотографии обложки" -#: ../../Zotlabs/Module/Photos.php:935 +#: ../../Zotlabs/Module/Photos.php:936 msgid "Private Photo" msgstr "Ð›Ð¸Ñ‡Ð½Ð°Ñ Ñ„Ð¾Ñ‚Ð¾Ð³Ñ€Ð°Ñ„Ð¸Ñ" -#: ../../Zotlabs/Module/Photos.php:950 +#: ../../Zotlabs/Module/Photos.php:951 msgid "View Full Size" msgstr "ПоÑмотреть в полный размер" -#: ../../Zotlabs/Module/Photos.php:995 ../../Zotlabs/Module/Tagrm.php:137 +#: ../../Zotlabs/Module/Photos.php:996 ../../Zotlabs/Module/Tagrm.php:137 #: ../../Zotlabs/Module/Cover_photo.php:424 #: ../../Zotlabs/Module/Admin/Addons.php:459 #: ../../Zotlabs/Module/Profile_photo.php:501 @@ -5673,78 +5770,78 @@ msgstr "ПоÑмотреть в полный размер" msgid "Remove" msgstr "Удалить" -#: ../../Zotlabs/Module/Photos.php:1032 +#: ../../Zotlabs/Module/Photos.php:1033 msgid "Edit photo" msgstr "Редактировать фотографию" -#: ../../Zotlabs/Module/Photos.php:1034 +#: ../../Zotlabs/Module/Photos.php:1035 msgid "Rotate CW (right)" msgstr "Повернуть CW (направо)" -#: ../../Zotlabs/Module/Photos.php:1035 +#: ../../Zotlabs/Module/Photos.php:1036 msgid "Rotate CCW (left)" msgstr "Повернуть CCW (налево)" -#: ../../Zotlabs/Module/Photos.php:1038 +#: ../../Zotlabs/Module/Photos.php:1039 msgid "Move photo to album" msgstr "ПеремеÑтить фотографию в альбом" -#: ../../Zotlabs/Module/Photos.php:1039 +#: ../../Zotlabs/Module/Photos.php:1040 msgid "Enter a new album name" msgstr "Введите новое название альбома" -#: ../../Zotlabs/Module/Photos.php:1040 +#: ../../Zotlabs/Module/Photos.php:1041 msgid "or select an existing one (doubleclick)" msgstr "или выбрать ÑущеÑтвующую (двойной щелчок)" -#: ../../Zotlabs/Module/Photos.php:1045 +#: ../../Zotlabs/Module/Photos.php:1046 msgid "Add a Tag" msgstr "Добавить тег" -#: ../../Zotlabs/Module/Photos.php:1053 +#: ../../Zotlabs/Module/Photos.php:1054 msgid "Example: @bob, @Barbara_Jensen, @jim@example.com" msgstr "Пример: @bob, @Barbara_Jensen, @jim@example.com" -#: ../../Zotlabs/Module/Photos.php:1056 +#: ../../Zotlabs/Module/Photos.php:1057 msgid "Flag as adult in album view" msgstr "Пометить как альбом \"Ð´Ð»Ñ Ð²Ð·Ñ€Ð¾Ñлых\"" -#: ../../Zotlabs/Module/Photos.php:1075 ../../Zotlabs/Lib/ThreadItem.php:317 +#: ../../Zotlabs/Module/Photos.php:1076 ../../Zotlabs/Lib/ThreadItem.php:317 msgid "I like this (toggle)" msgstr "мне Ñто нравитÑÑ (переключение)" -#: ../../Zotlabs/Module/Photos.php:1076 ../../Zotlabs/Lib/ThreadItem.php:318 +#: ../../Zotlabs/Module/Photos.php:1077 ../../Zotlabs/Lib/ThreadItem.php:318 msgid "I don't like this (toggle)" msgstr "мне Ñто не нравитÑÑ (переключение)" -#: ../../Zotlabs/Module/Photos.php:1094 ../../Zotlabs/Module/Photos.php:1212 +#: ../../Zotlabs/Module/Photos.php:1095 ../../Zotlabs/Module/Photos.php:1213 #: ../../Zotlabs/Lib/ThreadItem.php:822 msgid "This is you" msgstr "Ðто вы" -#: ../../Zotlabs/Module/Photos.php:1131 ../../Zotlabs/Module/Photos.php:1143 +#: ../../Zotlabs/Module/Photos.php:1132 ../../Zotlabs/Module/Photos.php:1144 #: ../../Zotlabs/Lib/ThreadItem.php:238 ../../Zotlabs/Lib/ThreadItem.php:250 msgid "View all" msgstr "ПроÑмотреть вÑе" -#: ../../Zotlabs/Module/Photos.php:1246 +#: ../../Zotlabs/Module/Photos.php:1247 msgid "Photo Tools" msgstr "Фото-ИнÑтрументы" -#: ../../Zotlabs/Module/Photos.php:1255 +#: ../../Zotlabs/Module/Photos.php:1256 msgid "In This Photo:" msgstr "Ðа Ñтой фотографии:" -#: ../../Zotlabs/Module/Photos.php:1260 +#: ../../Zotlabs/Module/Photos.php:1261 msgid "Map" msgstr "Карта" -#: ../../Zotlabs/Module/Photos.php:1268 ../../Zotlabs/Lib/ThreadItem.php:489 +#: ../../Zotlabs/Module/Photos.php:1269 ../../Zotlabs/Lib/ThreadItem.php:489 msgctxt "noun" msgid "Likes" msgstr "ÐравитÑÑ" -#: ../../Zotlabs/Module/Photos.php:1269 ../../Zotlabs/Lib/ThreadItem.php:490 +#: ../../Zotlabs/Module/Photos.php:1270 ../../Zotlabs/Lib/ThreadItem.php:490 msgctxt "noun" msgid "Dislikes" msgstr "Ðе нравитÑÑ" @@ -5761,13 +5858,6 @@ msgstr "Удалить тег Ñлемента" msgid "Select a tag to remove: " msgstr "Выбрать тег Ð´Ð»Ñ ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ:" -#: ../../Zotlabs/Module/Chanview.php:95 ../../Zotlabs/Module/Page.php:75 -#: ../../Zotlabs/Module/Wall_upload.php:31 ../../Zotlabs/Module/Block.php:41 -#: ../../Zotlabs/Module/Cal.php:31 ../../Zotlabs/Module/Card_edit.php:44 -#: ../../Zotlabs/Module/Article_edit.php:44 -msgid "Channel not found." -msgstr "Канал не найден." - #: ../../Zotlabs/Module/Chanview.php:132 msgid "toggle full screen mode" msgstr "переключение полноÑкранного режима" @@ -6105,7 +6195,7 @@ msgstr "Приложение \"Публичный поток\"" msgid "The unmoderated public stream of this hub" msgstr "Ðемодерируемый публичный поток Ñ Ñтого хаба" -#: ../../Zotlabs/Module/Pubstream.php:114 +#: ../../Zotlabs/Module/Pubstream.php:105 #: ../../Zotlabs/Widget/Notifications.php:162 ../../Zotlabs/Lib/Apps.php:375 msgid "Public Stream" msgstr "Публичный поток" @@ -6480,56 +6570,56 @@ msgstr "ОбъÑÑните Ñвою оценку (необÑзательно; Ñ msgid "Please login." msgstr "ПожалуйÑта, войдите." -#: ../../Zotlabs/Module/Locs.php:27 ../../Zotlabs/Module/Locs.php:57 +#: ../../Zotlabs/Module/Locs.php:27 ../../Zotlabs/Module/Locs.php:66 msgid "Location not found." msgstr "МеÑтоположение не найдено" -#: ../../Zotlabs/Module/Locs.php:65 +#: ../../Zotlabs/Module/Locs.php:75 msgid "Location lookup failed." msgstr "ПоиÑк меÑÑ‚Ð¾Ð¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð½Ðµ удалÑÑ" -#: ../../Zotlabs/Module/Locs.php:69 +#: ../../Zotlabs/Module/Locs.php:79 msgid "" "Please select another location to become primary before removing the primary " "location." msgstr "ПожалуйÑта, выберите другое меÑтоположение в качеÑтве оÑновного прежде чем удалить предыдущее" -#: ../../Zotlabs/Module/Locs.php:99 +#: ../../Zotlabs/Module/Locs.php:108 msgid "Syncing locations" msgstr "Синхронизировать меÑтоположение" -#: ../../Zotlabs/Module/Locs.php:109 +#: ../../Zotlabs/Module/Locs.php:117 msgid "No locations found." msgstr "МеÑтоположений не найдено" -#: ../../Zotlabs/Module/Locs.php:120 +#: ../../Zotlabs/Module/Locs.php:127 msgid "Manage Channel Locations" msgstr "Управление меÑтоположением канала" -#: ../../Zotlabs/Module/Locs.php:123 +#: ../../Zotlabs/Module/Locs.php:130 #: ../../extend/addon/hzaddons/workflow/workflow.php:285 msgid "Primary" msgstr "ОÑновной" -#: ../../Zotlabs/Module/Locs.php:124 ../../Zotlabs/Module/Menu.php:177 +#: ../../Zotlabs/Module/Locs.php:131 ../../Zotlabs/Module/Menu.php:177 msgid "Drop" msgstr "Удалить" -#: ../../Zotlabs/Module/Locs.php:126 +#: ../../Zotlabs/Module/Locs.php:133 msgid "Sync Now" msgstr "Синхронизировать" -#: ../../Zotlabs/Module/Locs.php:127 +#: ../../Zotlabs/Module/Locs.php:134 msgid "Please wait several minutes between consecutive operations." msgstr "ПожалуйÑта, подождите неÑколько минут между поÑледовательными операциÑми." -#: ../../Zotlabs/Module/Locs.php:128 +#: ../../Zotlabs/Module/Locs.php:135 msgid "" "When possible, drop a location by logging into that website/hub and removing " "your channel." msgstr "По возможноÑти, очиÑтите меÑтоположение, Ð²Ð¾Ð¹Ð´Ñ Ð½Ð° Ñтот веб-Ñайт / хаб и удалив Ñвой канал." -#: ../../Zotlabs/Module/Locs.php:129 +#: ../../Zotlabs/Module/Locs.php:136 msgid "Use this form to drop the location if the hub is no longer operating." msgstr "ИÑпользуйте Ñту форму, чтобы удалить меÑтоположение, еÑли хаб больше не функционирует." @@ -6824,101 +6914,93 @@ msgstr "ÐаÑтройки беÑед" msgid "Editor Settings" msgstr "ÐаÑтройки редактора" -#: ../../Zotlabs/Module/Settings/Display.php:120 +#: ../../Zotlabs/Module/Settings/Display.php:118 #: ../../Zotlabs/Module/Admin/Site.php:202 #, php-format msgid "%s - (Incompatible)" msgstr "%s - (неÑовмеÑтимо)" -#: ../../Zotlabs/Module/Settings/Display.php:129 +#: ../../Zotlabs/Module/Settings/Display.php:127 #, php-format msgid "%s - (Experimental)" msgstr "%s - (ÑкÑпериментальный)" -#: ../../Zotlabs/Module/Settings/Display.php:185 +#: ../../Zotlabs/Module/Settings/Display.php:183 msgid "Display Settings" msgstr "ÐаÑтройки отображениÑ" -#: ../../Zotlabs/Module/Settings/Display.php:186 +#: ../../Zotlabs/Module/Settings/Display.php:184 msgid "Theme Settings" msgstr "ÐаÑтройки темы" -#: ../../Zotlabs/Module/Settings/Display.php:187 +#: ../../Zotlabs/Module/Settings/Display.php:185 msgid "Custom Theme Settings" msgstr "Дополнительные наÑтройки темы" -#: ../../Zotlabs/Module/Settings/Display.php:188 +#: ../../Zotlabs/Module/Settings/Display.php:186 msgid "Content Settings" msgstr "ÐаÑтройки Ñодержимого" -#: ../../Zotlabs/Module/Settings/Display.php:194 +#: ../../Zotlabs/Module/Settings/Display.php:192 msgid "Display Theme:" msgstr "Тема отображениÑ:" -#: ../../Zotlabs/Module/Settings/Display.php:195 +#: ../../Zotlabs/Module/Settings/Display.php:193 msgid "Select scheme" msgstr "Выбрать Ñхему" -#: ../../Zotlabs/Module/Settings/Display.php:197 +#: ../../Zotlabs/Module/Settings/Display.php:195 msgid "Preload images before rendering the page" msgstr "Предзагрузка изображений перед обработкой Ñтраницы" -#: ../../Zotlabs/Module/Settings/Display.php:197 +#: ../../Zotlabs/Module/Settings/Display.php:195 msgid "" "The subjective page load time will be longer but the page will be ready when " "displayed" msgstr "Субъективное Ð²Ñ€ÐµÐ¼Ñ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ¸ Ñтраницы будет длиннее, но Ñтраница будет готова при отображении" -#: ../../Zotlabs/Module/Settings/Display.php:198 +#: ../../Zotlabs/Module/Settings/Display.php:196 msgid "Enable user zoom on mobile devices" msgstr "Включить маÑштабирование на мобильных уÑтройÑтвах" -#: ../../Zotlabs/Module/Settings/Display.php:199 +#: ../../Zotlabs/Module/Settings/Display.php:197 msgid "Update browser every xx seconds" msgstr "Обновление браузера каждые N Ñекунд" -#: ../../Zotlabs/Module/Settings/Display.php:199 +#: ../../Zotlabs/Module/Settings/Display.php:197 msgid "Minimum of 10 seconds, no maximum" msgstr "Минимум 10 Ñекунд, без макÑимума" -#: ../../Zotlabs/Module/Settings/Display.php:200 +#: ../../Zotlabs/Module/Settings/Display.php:198 msgid "Maximum number of conversations to load at any time:" msgstr "МакÑимальное количеÑтво беÑед Ð´Ð»Ñ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ¸ одновременно:" -#: ../../Zotlabs/Module/Settings/Display.php:200 +#: ../../Zotlabs/Module/Settings/Display.php:198 msgid "Maximum of 30 items" msgstr "Ðе более 30 Ñлементов" -#: ../../Zotlabs/Module/Settings/Display.php:201 +#: ../../Zotlabs/Module/Settings/Display.php:199 msgid "Show emoticons (smilies) as images" msgstr "Показывать Ñмотиконы (Ñмайлики) как изображениÑ" -#: ../../Zotlabs/Module/Settings/Display.php:202 +#: ../../Zotlabs/Module/Settings/Display.php:200 msgid "Provide channel menu in navigation bar" msgstr "Показывать меню канала в панели навигации" -#: ../../Zotlabs/Module/Settings/Display.php:202 +#: ../../Zotlabs/Module/Settings/Display.php:200 msgid "Default: channel menu located in app menu" msgstr "По умолчанию каналы раÑположены в меню приложениÑ" -#: ../../Zotlabs/Module/Settings/Display.php:203 -msgid "Manual conversation updates" -msgstr "Обновление беÑед вручную" - -#: ../../Zotlabs/Module/Settings/Display.php:203 -msgid "Default is on, turning this off may increase screen jumping" -msgstr "Включено по умолчанию, выключение может привеÑти к рывкам в отображении" - -#: ../../Zotlabs/Module/Settings/Display.php:204 +#: ../../Zotlabs/Module/Settings/Display.php:201 msgid "Link post titles to source" msgstr "СÑылки на иÑточник заголовков публикаций" -#: ../../Zotlabs/Module/Settings/Display.php:206 +#: ../../Zotlabs/Module/Settings/Display.php:203 #: ../../Zotlabs/Widget/Newmember.php:75 msgid "New Member Links" msgstr "СÑылки Ð´Ð»Ñ Ð½Ð¾Ð²Ð¸Ñ‡ÐºÐ¾Ð²" -#: ../../Zotlabs/Module/Settings/Display.php:206 +#: ../../Zotlabs/Module/Settings/Display.php:203 msgid "Display new member quick links menu" msgstr "Показать меню быÑтрых ÑÑылок Ð´Ð»Ñ Ð½Ð¾Ð²Ñ‹Ñ… учаÑтников" @@ -7411,44 +7493,37 @@ msgstr "Управление приложениÑми" msgid "Create Custom App" msgstr "Создать пользовательÑкое приложение" -#: ../../Zotlabs/Module/Filestorage.php:103 -msgid "File not found." -msgstr "Файл не найден." +#: ../../Zotlabs/Module/Filestorage.php:14 +#: ../../Zotlabs/Module/Filestorage.php:53 +msgid "Deprecated!" +msgstr "Ðе рекомендовано!" -#: ../../Zotlabs/Module/Filestorage.php:152 +#: ../../Zotlabs/Module/Filestorage.php:157 msgid "Permission Denied." msgstr "ДоÑтуп запрещен." -#: ../../Zotlabs/Module/Filestorage.php:185 +#: ../../Zotlabs/Module/Filestorage.php:190 msgid "Edit file permissions" msgstr "Редактировать Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð°" -#: ../../Zotlabs/Module/Filestorage.php:197 +#: ../../Zotlabs/Module/Filestorage.php:202 #: ../../extend/addon/hzaddons/flashcards/Mod_Flashcards.php:261 msgid "Set/edit permissions" msgstr "Редактировать разрешениÑ" -#: ../../Zotlabs/Module/Filestorage.php:198 +#: ../../Zotlabs/Module/Filestorage.php:203 msgid "Include all files and sub folders" msgstr "Включить вÑе файлы и подкаталоги" -#: ../../Zotlabs/Module/Filestorage.php:199 +#: ../../Zotlabs/Module/Filestorage.php:204 msgid "Return to file list" msgstr "ВернутÑÑ Ðº ÑпиÑку файлов" -#: ../../Zotlabs/Module/Filestorage.php:201 -msgid "Copy/paste this code to attach file to a post" -msgstr "Копировать / вÑтавить Ñтот код Ð´Ð»Ñ Ð¿Ñ€Ð¸ÐºÑ€ÐµÐ¿Ð»ÐµÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð° к публикации" - -#: ../../Zotlabs/Module/Filestorage.php:202 -msgid "Copy/paste this URL to link file from a web page" -msgstr "Копировать / вÑтавить Ñту URL Ð´Ð»Ñ ÑÑылки на файл Ñо Ñтраницы" - -#: ../../Zotlabs/Module/Filestorage.php:204 +#: ../../Zotlabs/Module/Filestorage.php:209 msgid "Share this file" msgstr "ПоделитьÑÑ Ñтим файлом" -#: ../../Zotlabs/Module/Filestorage.php:205 +#: ../../Zotlabs/Module/Filestorage.php:210 msgid "Show URL to this file" msgstr "Показать URL Ñтого файла" @@ -7465,7 +7540,7 @@ msgstr "Редактировать блок" msgid "No service class restrictions found." msgstr "Ограничений клаÑÑа обÑлуживание не найдено." -#: ../../Zotlabs/Module/Channel.php:178 +#: ../../Zotlabs/Module/Channel.php:174 msgid "Insufficient permissions. Request redirected to profile page." msgstr "ÐедоÑтаточно прав. Ð—Ð°Ð¿Ñ€Ð¾Ñ Ð¿ÐµÑ€ÐµÐ½Ð°Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½ на Ñтраницу профилÑ." @@ -7543,81 +7618,81 @@ msgstr "Ðет на меÑте" msgid "Online" msgstr "Ð’ Ñети" -#: ../../Zotlabs/Module/Like.php:57 +#: ../../Zotlabs/Module/Like.php:93 msgid "Like/Dislike" msgstr "ÐравитÑÑ / не нравитÑÑ" -#: ../../Zotlabs/Module/Like.php:62 +#: ../../Zotlabs/Module/Like.php:98 msgid "This action is restricted to members." msgstr "Ðто дейÑтвие доÑтупно только учаÑтникам." -#: ../../Zotlabs/Module/Like.php:63 +#: ../../Zotlabs/Module/Like.php:99 msgid "" "Please <a href=\"rmagic\">login with your $Projectname ID</a> or <a href=" "\"register\">register as a new $Projectname member</a> to continue." msgstr "ПожалуйÑта, Ð´Ð»Ñ Ð¿Ñ€Ð¾Ð´Ð¾Ð»Ð¶ÐµÐ½Ð¸Ñ <a href=\"rmagic\"> войдите Ñ Ð²Ð°ÑˆÐ¸Ð¼ $Projectname ID</a> или <a href=\"register\">зарегиÑтрируйтеÑÑŒ как новый учаÑтник $Projectname</a>." -#: ../../Zotlabs/Module/Like.php:117 ../../Zotlabs/Module/Like.php:143 -#: ../../Zotlabs/Module/Like.php:181 +#: ../../Zotlabs/Module/Like.php:154 ../../Zotlabs/Module/Like.php:180 +#: ../../Zotlabs/Module/Like.php:218 msgid "Invalid request." msgstr "Ðеверный запроÑ." -#: ../../Zotlabs/Module/Like.php:158 +#: ../../Zotlabs/Module/Like.php:195 msgid "thing" msgstr "предмет" -#: ../../Zotlabs/Module/Like.php:204 +#: ../../Zotlabs/Module/Like.php:241 msgid "Channel unavailable." msgstr "Канал недоÑтупен." -#: ../../Zotlabs/Module/Like.php:240 +#: ../../Zotlabs/Module/Like.php:277 msgid "Previous action reversed." msgstr "Предыдущее дейÑтвие отменено." -#: ../../Zotlabs/Module/Like.php:386 ../../Zotlabs/Module/Subthread.php:112 -#: ../../extend/addon/hzaddons/pubcrawl/as.php:1881 +#: ../../Zotlabs/Module/Like.php:433 ../../Zotlabs/Module/Subthread.php:112 +#: ../../extend/addon/hzaddons/pubcrawl/as.php:2057 #: ../../extend/addon/hzaddons/diaspora/Receiver.php:1601 msgid "status" msgstr "ÑтатуÑ" -#: ../../Zotlabs/Module/Like.php:426 +#: ../../Zotlabs/Module/Like.php:473 #, php-format msgid "%1$s agrees with %2$s's %3$s" msgstr "%1$s ÑоглаÑен Ñ %2$s %3$s" -#: ../../Zotlabs/Module/Like.php:428 +#: ../../Zotlabs/Module/Like.php:475 #, php-format msgid "%1$s doesn't agree with %2$s's %3$s" msgstr "%1$s не ÑоглаÑен Ñ %2$s %3$s" -#: ../../Zotlabs/Module/Like.php:430 +#: ../../Zotlabs/Module/Like.php:477 #, php-format msgid "%1$s abstains from a decision on %2$s's %3$s" msgstr "%1$s воздерживаетÑÑ Ð¾Ñ‚ Ñ€ÐµÑˆÐµÐ½Ð¸Ñ Ð¿Ð¾ %2$s%3$s" -#: ../../Zotlabs/Module/Like.php:432 +#: ../../Zotlabs/Module/Like.php:479 #: ../../extend/addon/hzaddons/diaspora/Receiver.php:2188 #, php-format msgid "%1$s is attending %2$s's %3$s" msgstr "%1$s поÑещает %2$s%3$s" -#: ../../Zotlabs/Module/Like.php:434 +#: ../../Zotlabs/Module/Like.php:481 #: ../../extend/addon/hzaddons/diaspora/Receiver.php:2190 #, php-format msgid "%1$s is not attending %2$s's %3$s" msgstr "%1$s не поÑещает %2$s%3$s" -#: ../../Zotlabs/Module/Like.php:436 +#: ../../Zotlabs/Module/Like.php:483 #: ../../extend/addon/hzaddons/diaspora/Receiver.php:2192 #, php-format msgid "%1$s may attend %2$s's %3$s" msgstr "%1$s может поÑетить %2$s%3$s" -#: ../../Zotlabs/Module/Like.php:547 +#: ../../Zotlabs/Module/Like.php:592 msgid "Action completed." msgstr "ДейÑтвие завершено." -#: ../../Zotlabs/Module/Like.php:548 +#: ../../Zotlabs/Module/Like.php:593 msgid "Thank you." msgstr "СпаÑибо." @@ -7657,7 +7732,7 @@ msgstr "" msgid "from the terminal." msgstr "из терминала." -#: ../../Zotlabs/Module/Attach.php:13 +#: ../../Zotlabs/Module/Attach.php:67 msgid "Item not available." msgstr "Ðлемент недоÑтупен." @@ -9597,7 +9672,7 @@ msgstr "%1$s отÑлеживает %2$s's %3$s" msgid "%1$s stopped following %2$s's %3$s" msgstr "%1$s прекратил отÑлеживать %2$s's %3$s" -#: ../../Zotlabs/Module/Rpost.php:144 ../../Zotlabs/Module/Editpost.php:109 +#: ../../Zotlabs/Module/Rpost.php:150 ../../Zotlabs/Module/Editpost.php:109 msgid "Edit post" msgstr "Редактировать Ñообщение" @@ -9666,20 +9741,20 @@ msgstr "URL Ð´Ð»Ñ Ñ„Ð¾Ñ‚Ð¾Ð³Ñ€Ð°Ñ„Ð¸Ð¸ (необÑзательно)" msgid "Add Thing to your Profile" msgstr "Добавить к вашему профилю" -#: ../../Zotlabs/Module/Hq.php:140 +#: ../../Zotlabs/Module/Hq.php:131 msgid "Welcome to Hubzilla!" msgstr "Добро пожаловать в Hubzilla!" -#: ../../Zotlabs/Module/Hq.php:140 +#: ../../Zotlabs/Module/Hq.php:131 msgid "You have got no unseen posts..." msgstr "У Ð²Ð°Ñ Ð½ÐµÑ‚ непроÑмотренных публикаций..." -#: ../../Zotlabs/Module/Search.php:231 +#: ../../Zotlabs/Module/Search.php:222 #, php-format msgid "Items tagged with: %s" msgstr "Объекты помечены как: %s" -#: ../../Zotlabs/Module/Search.php:233 +#: ../../Zotlabs/Module/Search.php:224 #, php-format msgid "Search results for: %s" msgstr "Результаты поиÑка длÑ: %s" @@ -10470,15 +10545,15 @@ msgstr "(Владельцем канала не было предÑтавленРmsgid "Restricted or Premium Channel" msgstr "Ограниченный или премиальный канал" -#: ../../Zotlabs/Module/Cloud.php:116 +#: ../../Zotlabs/Module/Cloud.php:120 msgid "Not found" msgstr "Ðе найдено." -#: ../../Zotlabs/Module/Cloud.php:122 +#: ../../Zotlabs/Module/Cloud.php:126 msgid "Please refresh page" msgstr "ПожалуйÑта обновите Ñтраницу" -#: ../../Zotlabs/Module/Cloud.php:125 +#: ../../Zotlabs/Module/Cloud.php:129 msgid "Unknown error" msgstr "ÐеизвеÑÑ‚Ð½Ð°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ°" @@ -10608,10 +10683,6 @@ msgstr "Ошибка при Ñоздании zip-файла при ÑкÑÐ¿Ð¾Ñ€Ñ msgid "Error downloading wiki: " msgstr "Ошибка загрузки Wiki:" -#: ../../Zotlabs/Module/Wiki.php:212 -msgid "Download" -msgstr "Загрузить" - #: ../../Zotlabs/Module/Wiki.php:216 msgid "Wiki name" msgstr "Ðазвание Wiki" @@ -10747,15 +10818,15 @@ msgstr "Сообщение Ð´Ð»Ñ Ð¿Ñ€Ð¾Ð²ÐµÑ€ÐºÐ¸ email отправлено п msgid "Unable to resend email verification message." msgstr "Ðевозможно повторно отправить Ñообщение Ð´Ð»Ñ Ð¿Ñ€Ð¾Ð²ÐµÑ€ÐºÐ¸ email" -#: ../../Zotlabs/Module/Filer.php:52 +#: ../../Zotlabs/Module/Filer.php:53 msgid "Enter a folder name" msgstr "Введите название каталога" -#: ../../Zotlabs/Module/Filer.php:52 +#: ../../Zotlabs/Module/Filer.php:53 msgid "or select an existing folder (doubleclick)" msgstr "или выберите ÑущеÑтвующий каталог (двойной щелчок)" -#: ../../Zotlabs/Module/Filer.php:54 ../../Zotlabs/Lib/ThreadItem.php:184 +#: ../../Zotlabs/Module/Filer.php:55 ../../Zotlabs/Lib/ThreadItem.php:184 msgid "Save to Folder" msgstr "Сохранить в каталог" @@ -10835,52 +10906,52 @@ msgstr "Ваш клаÑÑ Ð¾Ð±ÑÐ»ÑƒÐ¶Ð¸Ð²Ð°Ð½Ð¸Ñ Ñ€Ð°Ð·Ñ€ÐµÑˆÐ°ÐµÑ‚ тольк msgid "No channel. Import failed." msgstr "Канала нет. Импорт невозможен." -#: ../../Zotlabs/Module/Import.php:597 +#: ../../Zotlabs/Module/Import.php:593 #: ../../extend/addon/hzaddons/diaspora/import_diaspora.php:142 msgid "Import completed." msgstr "Импорт завершен." -#: ../../Zotlabs/Module/Import.php:625 +#: ../../Zotlabs/Module/Import.php:621 msgid "You must be logged in to use this feature." msgstr "Ð’Ñ‹ должны войти в ÑиÑтему, чтобы иÑпользовать Ñту функцию." -#: ../../Zotlabs/Module/Import.php:630 +#: ../../Zotlabs/Module/Import.php:626 msgid "Import Channel" msgstr "Импортировать канал" -#: ../../Zotlabs/Module/Import.php:631 +#: ../../Zotlabs/Module/Import.php:627 msgid "" "Use this form to import an existing channel from a different server/hub. You " "may retrieve the channel identity from the old server/hub via the network or " "provide an export file." msgstr "ИÑпользуйте Ñту форм Ð´Ð»Ñ Ð¸Ð¼Ð¿Ð¾Ñ€Ñ‚Ð° ÑущеÑтвующего канала Ñ Ð´Ñ€ÑƒÐ³Ð¾Ð³Ð¾ Ñервера / хаба. Ð’Ñ‹ можете получить идентификационные данные канала Ñо Ñтарого Ñервера / хаба через Ñеть или предоÑтавить файл ÑкÑпорта." -#: ../../Zotlabs/Module/Import.php:632 +#: ../../Zotlabs/Module/Import.php:628 #: ../../Zotlabs/Module/Import_items.php:127 msgid "File to Upload" msgstr "Файл Ð´Ð»Ñ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ¸" -#: ../../Zotlabs/Module/Import.php:633 +#: ../../Zotlabs/Module/Import.php:629 msgid "Or provide the old server/hub details" msgstr "или предоÑтавьте данные Ñтарого Ñервера" -#: ../../Zotlabs/Module/Import.php:635 +#: ../../Zotlabs/Module/Import.php:631 msgid "Your old identity address (xyz@example.com)" msgstr "Ваш Ñтарый Ð°Ð´Ñ€ÐµÑ ÐºÐ°Ð½Ð°Ð»Ð° (xyz@example.com)" -#: ../../Zotlabs/Module/Import.php:636 +#: ../../Zotlabs/Module/Import.php:632 msgid "Your old login email address" msgstr "Ваш Ñтарый Ð°Ð´Ñ€ÐµÑ Ñлектронной почты" -#: ../../Zotlabs/Module/Import.php:637 +#: ../../Zotlabs/Module/Import.php:633 msgid "Your old login password" msgstr "Ваш Ñтарый пароль" -#: ../../Zotlabs/Module/Import.php:638 +#: ../../Zotlabs/Module/Import.php:634 msgid "Import a few months of posts if possible (limited by available memory" msgstr "Импортировать неÑколько меÑÑцев публикаций еÑли возможно (ограничено доÑтупной памÑтью)" -#: ../../Zotlabs/Module/Import.php:640 +#: ../../Zotlabs/Module/Import.php:636 msgid "" "For either option, please choose whether to make this hub your new primary " "address, or whether your old location should continue this role. You will be " @@ -10888,25 +10959,25 @@ msgid "" "location for files, photos, and media." msgstr "Ð”Ð»Ñ Ð»ÑŽÐ±Ð¾Ð³Ð¾ варианта, пожалуйÑта, выберите, Ñледует ли Ñделать Ñтот хаб вашим новым оÑновным адреÑом, или ваше прежнее меÑтоположение должно продолжить выполнÑть Ñту роль. Ð’Ñ‹ Ñможете отправлÑть ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð¸Ð· любого меÑтоположениÑ, но только одно может быть помечено как оÑновное меÑто Ð´Ð»Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð², фотографий и мультимедиа." -#: ../../Zotlabs/Module/Import.php:642 +#: ../../Zotlabs/Module/Import.php:638 msgid "Make this hub my primary location" msgstr "Сделать Ñтот хаб главным" -#: ../../Zotlabs/Module/Import.php:643 +#: ../../Zotlabs/Module/Import.php:639 msgid "Move this channel (disable all previous locations)" msgstr "ПеремеÑтить Ñто канал (отключить вÑе предыдущие меÑтораÑположениÑ)" -#: ../../Zotlabs/Module/Import.php:644 +#: ../../Zotlabs/Module/Import.php:640 msgid "Use this channel nickname instead of the one provided" msgstr "ИÑпользовать пÑевдоним Ñтого канала вмеÑто предоÑтавленного" -#: ../../Zotlabs/Module/Import.php:644 +#: ../../Zotlabs/Module/Import.php:640 msgid "" "Leave blank to keep your existing channel nickname. You will be randomly " "assigned a similar nickname if either name is already allocated on this site." msgstr "ОÑтавьте пуÑтым Ð´Ð»Ñ ÑÐ¾Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ ÑущеÑтвующего пÑевдонима канала. Вам будет Ñлучайным образом назначен похожий пÑевдоним еÑли такое Ð¸Ð¼Ñ ÑƒÐ¶Ðµ выделено на Ñтом Ñайте." -#: ../../Zotlabs/Module/Import.php:646 +#: ../../Zotlabs/Module/Import.php:642 msgid "" "This process may take several minutes to complete. Please submit the form " "only once and leave this page open until finished." @@ -12333,10 +12404,6 @@ msgstr "ПриглаÑить" msgid "Language" msgstr "Язык" -#: ../../Zotlabs/Lib/Apps.php:360 -msgid "Post" -msgstr "ПубликациÑ" - #: ../../Zotlabs/Lib/Apps.php:361 #: ../../extend/addon/hzaddons/openid/MysqlProvider.php:58 #: ../../extend/addon/hzaddons/openid/MysqlProvider.php:59 @@ -15171,7 +15238,7 @@ msgstr "журнал изменений" #: ../../extend/addon/hzaddons/upgrade_info/upgrade_info.php:54 msgid "change log" -msgstr "в иÑтории git" +msgstr "иÑторию git" #: ../../extend/addon/hzaddons/upgrade_info/upgrade_info.php:55 msgid "for further info." diff --git a/view/ru/hstrings.php b/view/ru/hstrings.php index 9c312a89d..2251db42a 100644 --- a/view/ru/hstrings.php +++ b/view/ru/hstrings.php @@ -428,7 +428,6 @@ App::$strings["Export to cloud files"] = "ÐÑкпортировать в Ñет App::$strings["/path/to/export/folder"] = ""; App::$strings["Enter a path to a cloud files destination."] = "Введите путь к раÑположению Ñетевых файлов."; App::$strings["Specify folder"] = "Указать каталог"; -App::$strings["Collection"] = "КоллекциÑ"; App::$strings["Unable to import a removed channel."] = "Ðевозможно импортировать удалённый канал."; App::$strings["Cannot create a duplicate channel identifier on this system. Import failed."] = "Ðе удалоÑÑŒ Ñоздать дублирующийÑÑ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ‚Ð¾Ñ€ канала. Импорт невозможен."; App::$strings["Unable to create a unique channel address. Import failed."] = "Ðе удалоÑÑŒ Ñоздать уникальный Ð°Ð´Ñ€ÐµÑ ÐºÐ°Ð½Ð°Ð»Ð°. Импорт не завершен."; @@ -740,6 +739,7 @@ App::$strings["__ctx:calendar__ month"] = "меÑÑц"; App::$strings["__ctx:calendar__ week"] = "неделÑ"; App::$strings["__ctx:calendar__ day"] = "день"; App::$strings["__ctx:calendar__ All day"] = "ВеÑÑŒ день"; +App::$strings["Please stand by while your download is being prepared."] = "ПожалуйÑта, подождите, пока готовитÑÑ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ°."; App::$strings["Directory Options"] = "Параметры каталога"; App::$strings["Safe Mode"] = "БезопаÑный режим"; App::$strings["Public Forums Only"] = "Только публичные форумы"; @@ -803,8 +803,8 @@ App::$strings["%1\$s's birthday"] = "День Ñ€Ð¾Ð¶Ð´ÐµÐ½Ð¸Ñ %1\$s"; App::$strings["Happy Birthday %1\$s"] = "С Днем Ñ€Ð¾Ð¶Ð´ÐµÐ½Ð¸Ñ %1\$s !"; App::$strings["Visible to your default audience"] = "Видно вашей аудитории по умолчанию."; App::$strings["Profile-Based Privacy Groups"] = "Группы конфиденциальноÑти оÑнованные на профиле"; -App::$strings["Forums"] = "Форумы"; App::$strings["Private Forum"] = "ЧаÑтный форум"; +App::$strings["Forums"] = "Форумы"; App::$strings["Only me"] = "Только мне"; App::$strings["Share with"] = "ПоделитьÑÑ Ñ"; App::$strings["Custom selection"] = "ÐаÑтраиваемый выбор"; @@ -923,11 +923,12 @@ App::$strings["[\$Projectname] Website SSL error for %s"] = "[\$Projectname] ÐžÑ App::$strings["Website SSL certificate is not valid. Please correct."] = "SSL/TLS Ñертификат веб-Ñайт недейÑтвителен. ИÑправьте Ñто."; App::$strings["[\$Projectname] Cron tasks not running on %s"] = "[\$Projectname] Ð—Ð°Ð´Ð°Ð½Ð¸Ñ Cron не запущены на %s"; App::$strings["Cron/Scheduled tasks not running."] = "Ð—Ð°Ð´Ð°Ð½Ð¸Ñ Cron / планировщика не запущены."; -App::$strings["parent"] = "иÑточник"; -App::$strings["Principal"] = "Субъект"; -App::$strings["Addressbook"] = "ÐдреÑÐ½Ð°Ñ ÐºÐ½Ð¸Ð³Ð°"; -App::$strings["Schedule Inbox"] = "План занÑтий входÑщий"; -App::$strings["Schedule Outbox"] = "План занÑтий иÑходÑщий"; +App::$strings["Change filename to"] = "Переименовать файл в"; +App::$strings["Select a target location"] = "Выбрать меÑто назначениÑ"; +App::$strings["Copy to target location"] = "Скопировать в меÑто назнаениÑ"; +App::$strings["Set permissions for all files and sub folders"] = "УÑтановить Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ð²Ñех файлов и подкаталогов"; +App::$strings["Notify your contacts about this file"] = "Сообщить Ñвоим контактам об Ñтом файле"; +App::$strings["File category"] = "ÐšÐ°Ñ‚ÐµÐ³Ð¾Ñ€Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð°"; App::$strings["Total"] = "Ð’Ñего"; App::$strings["Shared"] = "Общие"; App::$strings["Create"] = "Создать"; @@ -936,6 +937,20 @@ App::$strings["Admin Delete"] = "Удалено админиÑтратором"; App::$strings["Name"] = "ИмÑ"; App::$strings["Type"] = "Тип"; App::$strings["Last Modified"] = "ПоÑледнее изменение"; +App::$strings["parent"] = "иÑточник"; +App::$strings["Copy/paste this code to attach file to a post"] = "Копировать / вÑтавить Ñтот код Ð´Ð»Ñ Ð¿Ñ€Ð¸ÐºÑ€ÐµÐ¿Ð»ÐµÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð° к публикации"; +App::$strings["Copy/paste this URL to link file from a web page"] = "Копировать / вÑтавить Ñту URL Ð´Ð»Ñ ÑÑылки на файл Ñо Ñтраницы"; +App::$strings["Select All"] = "Выбрать вÑÑ‘"; +App::$strings["Bulk Actions"] = "Ð“Ñ€ÑƒÐ¿Ð¿Ð¾Ð²Ð°Ñ Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ°"; +App::$strings["Adjust Permissions"] = "ÐаÑтроить разрешениÑ"; +App::$strings["Move or Copy"] = "ПеремеÑтить или копировать"; +App::$strings["Download"] = "Загрузить"; +App::$strings["Info"] = "ИнформациÑ"; +App::$strings["Rename"] = "Переименовать"; +App::$strings["Post"] = "ПубликациÑ"; +App::$strings["Attachment BBcode"] = "Вложение BBcode"; +App::$strings["Embed BBcode"] = "Ð’Ñтраивание BBcode"; +App::$strings["Link BBcode"] = "СÑылка BBcode"; App::$strings["You are using %1\$s of your available file storage."] = "Ð’Ñ‹ иÑпользуете %1\$s из доÑтупного вам хранилища файлов."; App::$strings["You are using %1\$s of %2\$s available file storage. (%3\$s%)"] = "Ð’Ñ‹ иÑпользуете %1\$s из %2\$s доÑтупного хранилища файлов (%3\$s%)."; App::$strings["WARNING:"] = "Предупреждение:"; @@ -1019,6 +1034,10 @@ App::$strings["Unable to obtain post information from database."] = "ÐевозРApp::$strings["You have reached your limit of %1$.0f top level posts."] = "Ð’Ñ‹ доÑтигли вашего Ð¾Ð³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½Ð¸Ñ Ð² %1$.0f публикаций выÑокого уровнÑ."; App::$strings["You have reached your limit of %1$.0f webpages."] = "Ð’Ñ‹ доÑтигли вашего Ð¾Ð³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½Ð¸Ñ Ð² %1$.0f Ñтраниц."; App::$strings["Some blurb about what to do when you're new here"] = "Ðекоторые Ð¿Ñ€ÐµÐ´Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð¾ том, что делать, еÑли вы здеÑÑŒ новичок "; +App::$strings["Channel not found."] = "Канал не найден."; +App::$strings["File not found."] = "Файл не найден."; +App::$strings["Can not copy folder into itself."] = "Ðевозможно Ñкопировать каталог в Ñамого ÑебÑ."; +App::$strings["Can not move folder \"%s\" into itself."] = "Ðевозможно Ñкопировать каталог \"%s\" в Ñамого ÑебÑ."; App::$strings["Public access denied."] = "Публичный доÑтуп запрещен."; App::$strings["You must enable javascript for your browser to be able to view this content."] = "Ð”Ð»Ñ Ð¿Ñ€Ð¾Ñмотра Ñтого Ñодержимого в вашем браузере должен быть включён JavaScript"; App::$strings["Article"] = "СтатьÑ"; @@ -1277,7 +1296,6 @@ App::$strings["__ctx:noun__ Dislikes"] = "Ðе нравитÑÑ"; App::$strings["Tag removed"] = "Тег удалён"; App::$strings["Remove Item Tag"] = "Удалить тег Ñлемента"; App::$strings["Select a tag to remove: "] = "Выбрать тег Ð´Ð»Ñ ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ:"; -App::$strings["Channel not found."] = "Канал не найден."; App::$strings["toggle full screen mode"] = "переключение полноÑкранного режима"; App::$strings["Invalid item."] = "ÐедейÑтвительный Ñлемент."; App::$strings["Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."] = ""; @@ -1532,8 +1550,6 @@ App::$strings["Maximum of 30 items"] = "Ðе более 30 Ñлементов"; App::$strings["Show emoticons (smilies) as images"] = "Показывать Ñмотиконы (Ñмайлики) как изображениÑ"; App::$strings["Provide channel menu in navigation bar"] = "Показывать меню канала в панели навигации"; App::$strings["Default: channel menu located in app menu"] = "По умолчанию каналы раÑположены в меню приложениÑ"; -App::$strings["Manual conversation updates"] = "Обновление беÑед вручную"; -App::$strings["Default is on, turning this off may increase screen jumping"] = "Включено по умолчанию, выключение может привеÑти к рывкам в отображении"; App::$strings["Link post titles to source"] = "СÑылки на иÑточник заголовков публикаций"; App::$strings["New Member Links"] = "СÑылки Ð´Ð»Ñ Ð½Ð¾Ð²Ð¸Ñ‡ÐºÐ¾Ð²"; App::$strings["Display new member quick links menu"] = "Показать меню быÑтрых ÑÑылок Ð´Ð»Ñ Ð½Ð¾Ð²Ñ‹Ñ… учаÑтников"; @@ -1653,14 +1669,12 @@ App::$strings["Available Apps"] = "ДоÑтупные приложениÑ"; App::$strings["Installed Apps"] = "УÑтановленные приложениÑ"; App::$strings["Manage Apps"] = "Управление приложениÑми"; App::$strings["Create Custom App"] = "Создать пользовательÑкое приложение"; -App::$strings["File not found."] = "Файл не найден."; +App::$strings["Deprecated!"] = "Ðе рекомендовано!"; App::$strings["Permission Denied."] = "ДоÑтуп запрещен."; App::$strings["Edit file permissions"] = "Редактировать Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð°"; App::$strings["Set/edit permissions"] = "Редактировать разрешениÑ"; App::$strings["Include all files and sub folders"] = "Включить вÑе файлы и подкаталоги"; App::$strings["Return to file list"] = "ВернутÑÑ Ðº ÑпиÑку файлов"; -App::$strings["Copy/paste this code to attach file to a post"] = "Копировать / вÑтавить Ñтот код Ð´Ð»Ñ Ð¿Ñ€Ð¸ÐºÑ€ÐµÐ¿Ð»ÐµÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð° к публикации"; -App::$strings["Copy/paste this URL to link file from a web page"] = "Копировать / вÑтавить Ñту URL Ð´Ð»Ñ ÑÑылки на файл Ñо Ñтраницы"; App::$strings["Share this file"] = "ПоделитьÑÑ Ñтим файлом"; App::$strings["Show URL to this file"] = "Показать URL Ñтого файла"; App::$strings["Block Name"] = "Ðазвание блока"; @@ -2387,7 +2401,6 @@ App::$strings["Invalid channel"] = "ÐедейÑтвительный канал" App::$strings["Error retrieving wiki"] = "Ошибка при получении Wiki"; App::$strings["Error creating zip file export folder"] = "Ошибка при Ñоздании zip-файла при ÑкÑпорте каталога"; App::$strings["Error downloading wiki: "] = "Ошибка загрузки Wiki:"; -App::$strings["Download"] = "Загрузить"; App::$strings["Wiki name"] = "Ðазвание Wiki"; App::$strings["Content type"] = "Тип Ñодержимого"; App::$strings["Any type"] = "Любой тип"; @@ -2787,7 +2800,6 @@ App::$strings["Suggest"] = "Предложить"; App::$strings["Random Channel"] = "Случайный канал"; App::$strings["Invite"] = "ПриглаÑить"; App::$strings["Language"] = "Язык"; -App::$strings["Post"] = "ПубликациÑ"; App::$strings["Profile Photo"] = "Ð¤Ð¾Ñ‚Ð¾Ð³Ñ€Ð°Ñ„Ð¸Ñ Ð¿Ñ€Ð¾Ñ„Ð¸Ð»Ñ"; App::$strings["Notifications"] = "ОповещениÑ"; App::$strings["Order Apps"] = "ПорÑдок приложений"; @@ -3436,7 +3448,7 @@ App::$strings["Rainbow Tag"] = "Радуга тегов"; App::$strings["Your channel has been upgraded to \$Projectname version"] = "Ваш канал был обновлён до верÑии \$Projectname"; App::$strings["Please have a look at the"] = "ПожалуйÑта, взглÑните на"; App::$strings["git history"] = "журнал изменений"; -App::$strings["change log"] = "в иÑтории git"; +App::$strings["change log"] = "иÑторию git"; App::$strings["for further info."] = "Ð´Ð»Ñ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ñ‹Ñ… Ñведений."; App::$strings["Upgrade Info"] = "Ð¡Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¾Ð± обновлении"; App::$strings["Do not show this again"] = "Больше не показывать"; diff --git a/view/tpl/404.tpl b/view/tpl/404.tpl index c9b51a63b..c9b51a63b 100755..100644 --- a/view/tpl/404.tpl +++ b/view/tpl/404.tpl diff --git a/view/tpl/abook_edit.tpl b/view/tpl/abook_edit.tpl index 6ff7bffcd..6ff7bffcd 100755..100644 --- a/view/tpl/abook_edit.tpl +++ b/view/tpl/abook_edit.tpl diff --git a/view/tpl/acl_selector.tpl b/view/tpl/acl_selector.tpl index c58a345e5..c58a345e5 100755..100644 --- a/view/tpl/acl_selector.tpl +++ b/view/tpl/acl_selector.tpl diff --git a/view/tpl/admin_accounts.tpl b/view/tpl/admin_accounts.tpl index 2dd56c8dc..2dd56c8dc 100755..100644 --- a/view/tpl/admin_accounts.tpl +++ b/view/tpl/admin_accounts.tpl diff --git a/view/tpl/admin_aside.tpl b/view/tpl/admin_aside.tpl index 99f139e57..99f139e57 100755..100644 --- a/view/tpl/admin_aside.tpl +++ b/view/tpl/admin_aside.tpl diff --git a/view/tpl/admin_channels.tpl b/view/tpl/admin_channels.tpl index f8584c84a..f8584c84a 100755..100644 --- a/view/tpl/admin_channels.tpl +++ b/view/tpl/admin_channels.tpl diff --git a/view/tpl/admin_logs.tpl b/view/tpl/admin_logs.tpl index 5643bb42f..5643bb42f 100755..100644 --- a/view/tpl/admin_logs.tpl +++ b/view/tpl/admin_logs.tpl diff --git a/view/tpl/admin_plugins.tpl b/view/tpl/admin_plugins.tpl index d8e1a6711..d8e1a6711 100755..100644 --- a/view/tpl/admin_plugins.tpl +++ b/view/tpl/admin_plugins.tpl diff --git a/view/tpl/admin_plugins_details.tpl b/view/tpl/admin_plugins_details.tpl index 309fc9569..309fc9569 100755..100644 --- a/view/tpl/admin_plugins_details.tpl +++ b/view/tpl/admin_plugins_details.tpl diff --git a/view/tpl/admin_security.tpl b/view/tpl/admin_security.tpl index 3cc23f5b2..3cc23f5b2 100755..100644 --- a/view/tpl/admin_security.tpl +++ b/view/tpl/admin_security.tpl diff --git a/view/tpl/admin_site.tpl b/view/tpl/admin_site.tpl index 8d32ba9a4..8d32ba9a4 100755..100644 --- a/view/tpl/admin_site.tpl +++ b/view/tpl/admin_site.tpl diff --git a/view/tpl/admin_summary.tpl b/view/tpl/admin_summary.tpl index 8125703d7..8125703d7 100755..100644 --- a/view/tpl/admin_summary.tpl +++ b/view/tpl/admin_summary.tpl diff --git a/view/tpl/album_edit.tpl b/view/tpl/album_edit.tpl index f5495f149..f5495f149 100755..100644 --- a/view/tpl/album_edit.tpl +++ b/view/tpl/album_edit.tpl diff --git a/view/tpl/atom_feed.tpl b/view/tpl/atom_feed.tpl index 8dc145ae9..8dc145ae9 100755..100644 --- a/view/tpl/atom_feed.tpl +++ b/view/tpl/atom_feed.tpl diff --git a/view/tpl/build_query.tpl b/view/tpl/build_query.tpl index 83e756367..af70a9595 100755..100644 --- a/view/tpl/build_query.tpl +++ b/view/tpl/build_query.tpl @@ -1,4 +1,4 @@ -<script> +<script> var bParam_cmd = "{{$baseurl}}/update/{{$pgtype}}"; @@ -6,6 +6,10 @@ var conv_mode = '{{$conv_mode}}'; {{/if}} + {{if $page_mode}} + var page_mode = '{{$page_mode}}'; + {{/if}} + var bParam_uid = {{$uid}}; var bParam_gid = {{$gid}}; var bParam_cid = {{$cid}}; diff --git a/view/tpl/cal_calendar.tpl b/view/tpl/cal_calendar.tpl index 93ebaa235..93ebaa235 100755..100644 --- a/view/tpl/cal_calendar.tpl +++ b/view/tpl/cal_calendar.tpl diff --git a/view/tpl/cal_event.tpl b/view/tpl/cal_event.tpl index d7662786b..d7662786b 100755..100644 --- a/view/tpl/cal_event.tpl +++ b/view/tpl/cal_event.tpl diff --git a/view/tpl/categories_widget.tpl b/view/tpl/categories_widget.tpl index fd27dca44..fd27dca44 100755..100644 --- a/view/tpl/categories_widget.tpl +++ b/view/tpl/categories_widget.tpl diff --git a/view/tpl/channel.tpl b/view/tpl/channel.tpl index 63e09ec05..63e09ec05 100755..100644 --- a/view/tpl/channel.tpl +++ b/view/tpl/channel.tpl diff --git a/view/tpl/channel_import.tpl b/view/tpl/channel_import.tpl index c7cbb1742..c7cbb1742 100755..100644 --- a/view/tpl/channel_import.tpl +++ b/view/tpl/channel_import.tpl diff --git a/view/tpl/channel_rename.tpl b/view/tpl/channel_rename.tpl index 9948dc647..9948dc647 100755..100644 --- a/view/tpl/channel_rename.tpl +++ b/view/tpl/channel_rename.tpl diff --git a/view/tpl/channels.tpl b/view/tpl/channels.tpl index 695b3b30f..695b3b30f 100755..100644 --- a/view/tpl/channels.tpl +++ b/view/tpl/channels.tpl diff --git a/view/tpl/chanview.tpl b/view/tpl/chanview.tpl index 39fafaf8e..39fafaf8e 100755..100644 --- a/view/tpl/chanview.tpl +++ b/view/tpl/chanview.tpl diff --git a/view/tpl/cloud_actionspanel.tpl b/view/tpl/cloud_actionspanel.tpl index 039d19fac..8cab175ff 100644 --- a/view/tpl/cloud_actionspanel.tpl +++ b/view/tpl/cloud_actionspanel.tpl @@ -31,7 +31,7 @@ <input type="hidden" name="return_url" value="{{$return_url}}" /> {{include file="field_checkbox.tpl" field=$notify}} <div class="cloud-index attach-drop attach-drop-zone text-center p-4 mb-3" data-folder="{{$folder}}"> - <span class="text-muted">You can select files via the upload button or drop them right here or into an existing folder.</span> + <span class="text-muted">{{$drop_area_label}}</span> </div> <div class="pull-right btn-group"> <div class="btn-group"> diff --git a/view/tpl/cloud_directory.tpl b/view/tpl/cloud_directory.tpl index 5886391bb..ac8304b96 100644 --- a/view/tpl/cloud_directory.tpl +++ b/view/tpl/cloud_directory.tpl @@ -1,46 +1,42 @@ -<div class="section-content-wrapper-np"> +<div class="{{if $tiles}}section-content-wrapper{{else}}section-content-wrapper-np{{/if}}"> {{if $tiles}} <table id="cloud-index"> <tr id="new-upload-progress-bar-1"></tr> {{* this is needed to append the upload files in the right order *}} </table> - - {{if $parentpath}} - <div class="cloud-container" > - <div class="cloud-icon tiles"> - <a href="{{$parentpath}}"> - <div class="cloud-icon-container"> - <i class="fa fa-fw fa-level-up" ></i> - </div> - </a> - </div> - <div class="cloud-title"> - <a href="{{$parentpath}}">..</a> - </div> - </div> - {{/if}} - - {{foreach $entries as $item}} - <div class="cloud-container"> - <div class="cloud-icon tiles"><a href="{{$item.rel_path}}"> - {{if $item.photo_icon}} - <img src="{{$item.photo_icon}}" title="{{$item.type}}" > - {{else}} - <div class="cloud-icon-container"> - <i class="fa fa-fw {{$item.icon_from_type}}" title="{{$item.type}}"></i> + <div class="row row-cols-2 row-cols-md-4"> + {{if $parentpath}} + <div class="col mb-4"> + <div class="card h-100"> + <a href="{{$parentpath}}" class="text-decoration-none"> + <div class="d-flex align-items-center justify-content-center m-1" style="height: 4.5rem;"> + <i class="fa fa-fw fa-level-up fa-5x" style="font-size: 4rem"></i> + </div> + <div class="card-footer text-center"> + <small class="text-muted text-truncate">..</small> + </div> + </a> + </div> </div> {{/if}} + {{foreach $entries as $item}} + <div class="col mb-4"> + <div class="card h-100"> + <a href="{{$item.rel_path}}" title="{{$item.name}}" class="text-decoration-none"> + <div class="d-flex align-items-center justify-content-center m-1" style="height: 4.5rem;"> + {{if $item.photo_icon}} + <img src="{{$item.photo_icon}}" class="rounded" alt="{{$item.photo_icon}}" title="{{$item.size_formatted}}" style="max-height: 4rem; width: auto; max-width: 100%;"> + {{else}} + <i class="fa fa-fw {{$item.icon_from_type}}" title="{{$item.size_formatted}}" style="font-size: 4rem"></i> + {{/if}} + </div> + <div class="card-footer text-truncate text-center"> + <small class="text-muted">{{$item.name}}</small> + </div> + </a> + </div> </div> - <div class="cloud-title"> - <a href="{{$item.rel_path}}"> - {{$item.name}} - </a> - </div> - {{if $item.is_owner}} - {{* add file tools here*}} - {{/if}} + {{/foreach}} </div> - {{/foreach}} - <div class="clear"></div> {{else}} <table id="cloud-index"> <tr> @@ -67,37 +63,37 @@ <tr id="cloud-multi-actions"> <td colspan="2"> <div class="form-check form-check-inline"> - <input class="form-check-input" type="checkbox" id="cloud-multi-tool-select-all" value="" title="Select all"> + <input class="form-check-input" type="checkbox" id="cloud-multi-tool-select-all" value="" title="{{$select_all_label}}"> </div> </td> <td colspan="3"> <div class="form-check form-check-inline"> - <label class="form-check-label" for="cloud-multi-tool-select-all">Select all</label> + <label class="form-check-label" for="cloud-multi-tool-select-all">{{$select_all_label}}</label> </div> </td> <td colspan="3"> {{if $is_owner}} <div class="dropdown"> <button class="btn btn-warning btn-sm" id="multi-dropdown-button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> - <i class="fa fa-fw fa-ellipsis-v d-table-cell"></i><span class="d-none d-md-table-cell">Bulk Actions</span> + <i class="fa fa-fw fa-ellipsis-v d-table-cell"></i><span class="d-none d-md-table-cell">{{$bulk_actions_label}}</span> </button> <div class="dropdown-menu dropdown-menu-right" aria-labelledby="dropdown-button"> {{if $is_owner}} - <a id="cloud-multi-tool-perms-btn" class="dropdown-item" href="#"><i class="fa fa-fw fa-lock"></i> Adjust permissions</a> + <a id="cloud-multi-tool-perms-btn" class="dropdown-item" href="#"><i class="fa fa-fw fa-lock"></i> {{$adjust_permissions_label}}</a> {{/if}} - <a id="cloud-multi-tool-move-btn" class="dropdown-item" href="#"><i class="fa fa-fw fa-copy"></i> Move or copy</a> - <a id="cloud-multi-tool-categories-btn" class="dropdown-item" href="#"><i class="fa fa-fw fa-asterisk"></i> Categories</a> - <a id="cloud-multi-tool-download-btn" class="dropdown-item" href="#"><i class="fa fa-fw fa-cloud-download"></i> Download</a> - <a id="cloud-multi-tool-delete-btn" class="dropdown-item" href="#"><i class="fa fa-fw fa-trash-o"></i> {{$delete}}</a> + <a id="cloud-multi-tool-move-btn" class="dropdown-item" href="#"><i class="fa fa-fw fa-copy"></i> {{$move_copy_label}}</a> + <a id="cloud-multi-tool-categories-btn" class="dropdown-item" href="#"><i class="fa fa-fw fa-asterisk"></i> {{$categories_label}}</a> + <a id="cloud-multi-tool-download-btn" class="dropdown-item" href="#"><i class="fa fa-fw fa-cloud-download"></i> {{$download_label}}</a> + <a id="cloud-multi-tool-delete-btn" class="dropdown-item" href="#"><i class="fa fa-fw fa-trash-o"></i> {{$delete_label}}</a> </div> </div> {{else if $is_admin}} <div class="dropdown"> <button class="btn btn-warning btn-sm" id="multi-dropdown-button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> - <i class="fa fa-fw fa-ellipsis-v d-table-cell"></i><span class="d-none d-md-table-cell">Bulk Actions</span> + <i class="fa fa-fw fa-ellipsis-v d-table-cell"></i><span class="d-none d-md-table-cell">{{$bulk_actions_label}}</span> </button> <div class="dropdown-menu dropdown-menu-right" aria-labelledby="dropdown-button"> - <a id="cloud-multi-tool-delete-btn" class="dropdown-item" href="#"><i class="fa fa-fw fa-trash-o"></i> {{$admin_delete}}</a> + <a id="cloud-multi-tool-delete-btn" class="dropdown-item" href="#"><i class="fa fa-fw fa-trash-o"></i> {{$admin_delete_label}}</a> </div> </div> {{/if}} @@ -122,7 +118,7 @@ {{/if}} <div id="attach-multi-submit" class="form-group"> <button id="cloud-multi-tool-cancel-btn" class="btn btn-outline-secondary btn-sm cloud-multi-tool-cancel-btn" type="button"> - Cancel + {{$cancel_label}} </button> <div id="attach-multi-edit-perms" class="btn-group float-right"> {{if $is_owner}} @@ -131,7 +127,7 @@ </button> {{/if}} <button id="multi-dbtn-submit" class="btn btn-primary btn-sm" type="submit" name="submit"> - {{$edit}} + {{$submit_label}} </button> </div> </div> @@ -160,28 +156,28 @@ {{/if}} </td> <td class="cloud-index-tool"> - {{if ($item.is_owner || $item.is_creator) && $item.attach_id}} + {{if ($is_owner || $item.is_creator) && $item.attach_id}} <div class="dropdown"> <button class="btn btn-link btn-sm" id="dropdown-button-{{$item.attach_id}}" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <i class="fa fa-fw fa-ellipsis-v"></i> </button> <div class="dropdown-menu dropdown-menu-right" aria-labelledby="dropdown-button-{{$item.attach_id}}"> - <a id="cloud-tool-info-btn-{{$item.attach_id}}" class="dropdown-item cloud-tool-info-btn" href="#" data-id="{{$item.attach_id}}"><i class="fa fa-fw fa-info"></i> Info</a> - {{if $item.is_owner}} - <a id="cloud-tool-perms-btn-{{$item.attach_id}}" class="dropdown-item cloud-tool-perms-btn" href="#" data-id="{{$item.attach_id}}"><i class="fa fa-fw fa-{{$item.lockstate}}"></i> Adjust permissions</a> - {{/if}} - <a id="cloud-tool-rename-btn-{{$item.attach_id}}" class="dropdown-item cloud-tool-rename-btn" href="#" data-id="{{$item.attach_id}}"><i class="fa fa-fw fa-pencil"></i> Rename</a> - <a id="cloud-tool-move-btn-{{$item.attach_id}}" class="dropdown-item cloud-tool-move-btn" href="#" data-id="{{$item.attach_id}}"><i class="fa fa-fw fa-copy"></i> Move or copy</a> - <a id="cloud-tool-categories-btn-{{$item.attach_id}}" class="dropdown-item cloud-tool-categories-btn" href="#" data-id="{{$item.attach_id}}"><i class="fa fa-fw fa-asterisk"></i> Categories</a> - {{if $item.is_owner}} - <a id="cloud-tool-share-btn-{{$item.attach_id}}" class="dropdown-item cloud-tool-share-btn" href="/rpost?attachment=[attachment]{{$item.resource}},{{$item.revision}}[/attachment]&acl[allow_cid]={{$item.raw_allow_cid}}&acl[allow_gid]={{$item.raw_allow_gid}}&acl[deny_cid]={{$item.raw_deny_cid}}&acl[deny_gid]={{$item.raw_deny_gid}}" data-id="{{$item.attach_id}}"><i class="fa fa-fw fa-share-square-o"></i> Post</a> + <a id="cloud-tool-info-btn-{{$item.attach_id}}" class="dropdown-item cloud-tool-info-btn" href="#" data-id="{{$item.attach_id}}"><i class="fa fa-fw fa-info"></i> {{$info_label}}</a> + {{if $is_owner}} + <a id="cloud-tool-perms-btn-{{$item.attach_id}}" class="dropdown-item cloud-tool-perms-btn" href="#" data-id="{{$item.attach_id}}"><i class="fa fa-fw fa-{{$item.lockstate}}"></i> {{$adjust_permissions_label}}</a> {{/if}} + <a id="cloud-tool-rename-btn-{{$item.attach_id}}" class="dropdown-item cloud-tool-rename-btn" href="#" data-id="{{$item.attach_id}}"><i class="fa fa-fw fa-pencil"></i> {{$rename_label}}</a> + <a id="cloud-tool-move-btn-{{$item.attach_id}}" class="dropdown-item cloud-tool-move-btn" href="#" data-id="{{$item.attach_id}}"><i class="fa fa-fw fa-copy"></i> {{$move_copy_label}}</a> + <a id="cloud-tool-categories-btn-{{$item.attach_id}}" class="dropdown-item cloud-tool-categories-btn" href="#" data-id="{{$item.attach_id}}"><i class="fa fa-fw fa-asterisk"></i> {{$categories_label}}</a> {{if $item.collection}} - <a id="cloud-tool-dir-download-btn-{{$item.attach_id}}" class="dropdown-item cloud-tool-dir-download-btn" href="#" data-id="{{$item.attach_id}}"><i class="fa fa-fw fa-cloud-download"></i> Download</a> + <a id="cloud-tool-dir-download-btn-{{$item.attach_id}}" class="dropdown-item cloud-tool-dir-download-btn" href="#" data-id="{{$item.attach_id}}"><i class="fa fa-fw fa-cloud-download"></i> {{$download_label}}</a> {{else}} - <a id="cloud-tool-download-btn-{{$item.attach_id}}" class="dropdown-item cloud-tool-download-btn" href="/attach/{{$item.resource}}" data-id="{{$item.attach_id}}"><i class="fa fa-fw fa-cloud-download"></i> Download</a> + {{if $is_owner}} + <a id="cloud-tool-share-btn-{{$item.attach_id}}" class="dropdown-item cloud-tool-share-btn" href="/rpost?attachment=[attachment]{{$item.resource}},{{$item.revision}}[/attachment]&acl[allow_cid]={{$item.raw_allow_cid}}&acl[allow_gid]={{$item.raw_allow_gid}}&acl[deny_cid]={{$item.raw_deny_cid}}&acl[deny_gid]={{$item.raw_deny_gid}}" data-id="{{$item.attach_id}}"><i class="fa fa-fw fa-share-square-o"></i> {{$post_label}}</a> + {{/if}} + <a id="cloud-tool-download-btn-{{$item.attach_id}}" class="dropdown-item cloud-tool-download-btn" href="/attach/{{$item.resource}}" data-id="{{$item.attach_id}}"><i class="fa fa-fw fa-cloud-download"></i> {{$download_label}}</a> {{/if}} - <a id="cloud-tool-delete-btn-{{$item.attach_id}}" class="dropdown-item cloud-tool-delete-btn" href="#" data-id="{{$item.attach_id}}"><i class="fa fa-fw fa-trash-o"></i> {{$delete}}</a> + <a id="cloud-tool-delete-btn-{{$item.attach_id}}" class="dropdown-item cloud-tool-delete-btn" href="#" data-id="{{$item.attach_id}}"><i class="fa fa-fw fa-trash-o"></i> {{$delete_label}}</a> </div> </div> {{else}} @@ -192,12 +188,12 @@ </button> <div class="dropdown-menu dropdown-menu-right" aria-labelledby="dropdown-button-{{$item.attach_id}}"> {{if $item.collection}} - <a id="cloud-tool-dir-download-btn-{{$item.attach_id}}" class="dropdown-item cloud-tool-dir-download-btn" href="#" data-id="{{$item.attach_id}}"><i class="fa fa-fw fa-cloud-download"></i> Download</a> + <a id="cloud-tool-dir-download-btn-{{$item.attach_id}}" class="dropdown-item cloud-tool-dir-download-btn" href="#" data-id="{{$item.attach_id}}"><i class="fa fa-fw fa-cloud-download"></i> {{$download_label}}</a> {{else}} - <a id="cloud-tool-download-btn-{{$item.attach_id}}" class="dropdown-item cloud-tool-download-btn" href="/attach/{{$item.resource}}" data-id="{{$item.attach_id}}"><i class="fa fa-fw fa-cloud-download"></i> Download</a> + <a id="cloud-tool-download-btn-{{$item.attach_id}}" class="dropdown-item cloud-tool-download-btn" href="/attach/{{$item.resource}}" data-id="{{$item.attach_id}}"><i class="fa fa-fw fa-cloud-download"></i> {{$download_label}}</a> {{/if}} {{if $is_admin}} - <a id="cloud-tool-delete-btn-{{$item.attach_id}}" class="dropdown-item cloud-tool-delete-btn" href="#" data-id="{{$item.attach_id}}"><i class="fa fa-fw fa-trash-o"></i> {{$admin_delete}}</a> + <a id="cloud-tool-delete-btn-{{$item.attach_id}}" class="dropdown-item cloud-tool-delete-btn" href="#" data-id="{{$item.attach_id}}"><i class="fa fa-fw fa-trash-o"></i> {{$admin_delete_label}}</a> {{/if}} </div> </div> @@ -219,23 +215,23 @@ <div id="cloud-tool-info-{{$item.attach_id}}" class="cloud-tool"> {{if ! $item.collection}} <div class="form-group"> - <label for="attach-code-input-{{$item.attach_id}}">Attachment BBcode</label> + <label for="attach-code-input-{{$item.attach_id}}">{{$attach_bbcode_label}}</label> <input type="text" class="form-control" id="attach-code-input-{{$item.attach_id}}" name="attach-code-input-{{$item.attach_id}}" value="{{$item.attach_bbcode}}" onclick="this.select();" /> </div> {{if $item.embed_bbcode}} <div class="form-group"> - <label for="embed-code-input-{{$item.attach_id}}">Embed BBcode</label> + <label for="embed-code-input-{{$item.attach_id}}">{{$embed_bbcode_label}}</label> <input type="text" class="form-control" id="embed-code-input-{{$item.attach_id}}" name="embed-code-input-{{$item.attach_id}}" value="{{$item.embed_bbcode}}" onclick="this.select();" /> </div> {{/if}} {{/if}} <div class="form-group"> - <label for="link-code-input-{{$item.attach_id}}">Link BBcode</label> + <label for="link-code-input-{{$item.attach_id}}">{{$link_bbcode_label}}</label> <input type="text" class="form-control" id="link-code-input-{{$item.attach_id}}" name="link-code-input-{{$item.attach_id}}" value="{{$item.link_bbcode}}" onclick="this.select();" /> </div> <div class="form-group"> <button id="cloud-tool-close-btn-{{$item.attach_id}}" class="btn btn-outline-secondary btn-sm cloud-tool-cancel-btn" type="button" data-id="{{$item.attach_id}}"> - Close + {{$close_label}} </button> </div> </div> @@ -247,22 +243,22 @@ {{include file="field_input.tpl" field=$item.categories}} </div> <div id="cloud-tool-submit-{{$item.attach_id}}" class="cloud-tool"> - {{if $item.is_owner}} + {{if $is_owner}} {{if !$item.collection}}{{include file="field_checkbox.tpl" field=$item.notify}}{{/if}} {{if $item.collection}}{{include file="field_checkbox.tpl" field=$item.recurse}}{{/if}} {{/if}} <div id="attach-submit-{{$item.attach_id}}" class="form-group"> <button id="cloud-tool-cancel-btn-{{$item.attach_id}}" class="btn btn-outline-secondary btn-sm cloud-tool-cancel-btn" type="button" data-id="{{$item.attach_id}}"> - Cancel + {{$cancel_label}} </button> <div id="attach-edit-perms-{{$item.attach_id}}" class="btn-group float-right"> - {{if $item.is_owner}} + {{if $is_owner}} <button id="dbtn-acl-{{$item.attach_id}}" class="btn btn-outline-secondary btn-sm" data-toggle="modal" data-target="#aclModal" title="{{$permset}}" type="button"> <i id="jot-perms-icon-{{$item.attach_id}}" class="fa fa-{{$item.lockstate}} jot-icons jot-perms-icon"></i> </button> {{/if}} <button id="dbtn-submit-{{$item.attach_id}}" class="btn btn-primary btn-sm" type="submit" name="submit"> - {{$edit}} + {{$submit_label}} </button> </div> </div> diff --git a/view/tpl/cloud_header.tpl b/view/tpl/cloud_header.tpl index 642fb1866..285363a12 100644 --- a/view/tpl/cloud_header.tpl +++ b/view/tpl/cloud_header.tpl @@ -1,6 +1,6 @@ <div class="section-title-wrapper"> <div class="pull-right"> - <a href="cloud_tiles/{{$cpath}}" class="btn btn-sm btn-outline-secondary"><i class="fa fa-fw {{if $tiles}}fa-list-ul{{else}}fa-table{{/if}}"></i></a> + <a href="cloud_tiles/{{$cpath}}" class="btn btn-sm btn-outline-secondary"><i class="fa fa-fw {{if $tiles}}fa-th-list{{else}}fa-th-large{{/if}}"></i></a> {{if $actionspanel}} {{if $is_owner}} <a href="/sharedwithme" class="btn btn-sm btn-outline-secondary"><i class="fa fa-cloud-download"></i> {{$shared}}</a> diff --git a/view/tpl/comment_item.tpl b/view/tpl/comment_item.tpl index 0b2ef1a1c..0b2ef1a1c 100755..100644 --- a/view/tpl/comment_item.tpl +++ b/view/tpl/comment_item.tpl diff --git a/view/tpl/common_friends.tpl b/view/tpl/common_friends.tpl index b99075210..b99075210 100755..100644 --- a/view/tpl/common_friends.tpl +++ b/view/tpl/common_friends.tpl diff --git a/view/tpl/common_pills.tpl b/view/tpl/common_pills.tpl index e2b018d26..e2b018d26 100755..100644 --- a/view/tpl/common_pills.tpl +++ b/view/tpl/common_pills.tpl diff --git a/view/tpl/common_tabs.tpl b/view/tpl/common_tabs.tpl index 29c46369b..29c46369b 100755..100644 --- a/view/tpl/common_tabs.tpl +++ b/view/tpl/common_tabs.tpl diff --git a/view/tpl/connection_template.tpl b/view/tpl/connection_template.tpl index 86a230c7f..86a230c7f 100755..100644 --- a/view/tpl/connection_template.tpl +++ b/view/tpl/connection_template.tpl diff --git a/view/tpl/connections.tpl b/view/tpl/connections.tpl index fedcff1e3..fedcff1e3 100755..100644 --- a/view/tpl/connections.tpl +++ b/view/tpl/connections.tpl diff --git a/view/tpl/contact_block.tpl b/view/tpl/contact_block.tpl index 580a8a41c..580a8a41c 100755..100644 --- a/view/tpl/contact_block.tpl +++ b/view/tpl/contact_block.tpl diff --git a/view/tpl/contact_slider.tpl b/view/tpl/contact_slider.tpl index 0848df673..0848df673 100755..100644 --- a/view/tpl/contact_slider.tpl +++ b/view/tpl/contact_slider.tpl diff --git a/view/tpl/contact_template.tpl b/view/tpl/contact_template.tpl index 7c8c02ea2..7c8c02ea2 100755..100644 --- a/view/tpl/contact_template.tpl +++ b/view/tpl/contact_template.tpl diff --git a/view/tpl/conv.tpl b/view/tpl/conv.tpl index ddb959b84..ddb959b84 100755..100644 --- a/view/tpl/conv.tpl +++ b/view/tpl/conv.tpl diff --git a/view/tpl/conv_frame.tpl b/view/tpl/conv_frame.tpl index be74dea39..be74dea39 100755..100644 --- a/view/tpl/conv_frame.tpl +++ b/view/tpl/conv_frame.tpl diff --git a/view/tpl/conv_item.tpl b/view/tpl/conv_item.tpl index 78601c40d..b021509d3 100755..100644 --- a/view/tpl/conv_item.tpl +++ b/view/tpl/conv_item.tpl @@ -48,7 +48,7 @@ </div> {{if $item.lock}} <div class="wall-item-lock dropdown"> - <i class="fa fa-lock lockview{{if $item.privacy_warning}} text-danger{{/if}}" data-toggle="dropdown" title="{{$item.lock}}" onclick="lockview('item',{{$item.id}});" ></i> + <i class="fa {{if $item.locktype == 2}}fa-envelope-o{{else}}fa-lock{{/if}} lockview{{if $item.privacy_warning}} text-danger{{/if}}" data-toggle="dropdown" title="{{$item.lock}}" onclick="lockview('item',{{$item.id}});" ></i> <div id="panel-{{$item.id}}" class="dropdown-menu"></div> </div> {{/if}} diff --git a/view/tpl/conv_list.tpl b/view/tpl/conv_list.tpl index 113cf2324..ee5dc9742 100755..100644 --- a/view/tpl/conv_list.tpl +++ b/view/tpl/conv_list.tpl @@ -43,7 +43,7 @@ </div> {{if $item.lock}} <div class="wall-item-lock dropdown"> - <i class="fa fa-lock lockview" data-toggle="dropdown" title="{{$item.lock}}" onclick="lockview('item',{{$item.id}});" ></i> + <i class="fa {{if $item.locktype == 2}}fa-envelope-o{{else}}fa-lock{{/if}} lockview" data-toggle="dropdown" title="{{$item.lock}}" onclick="lockview('item',{{$item.id}});" ></i> <div id="panel-{{$item.id}}" class="dropdown-menu"></div> </div> {{/if}} diff --git a/view/tpl/conversation.tpl b/view/tpl/conversation.tpl index 82c7be922..82c7be922 100755..100644 --- a/view/tpl/conversation.tpl +++ b/view/tpl/conversation.tpl diff --git a/view/tpl/convobj.tpl b/view/tpl/convobj.tpl index d5cee1170..d5cee1170 100755..100644 --- a/view/tpl/convobj.tpl +++ b/view/tpl/convobj.tpl diff --git a/view/tpl/cover_photo.tpl b/view/tpl/cover_photo.tpl index a1c4a922d..a1c4a922d 100755..100644 --- a/view/tpl/cover_photo.tpl +++ b/view/tpl/cover_photo.tpl diff --git a/view/tpl/cover_photo_widget.tpl b/view/tpl/cover_photo_widget.tpl index 7739d24b8..7739d24b8 100755..100644 --- a/view/tpl/cover_photo_widget.tpl +++ b/view/tpl/cover_photo_widget.tpl diff --git a/view/tpl/cropbody.tpl b/view/tpl/cropbody.tpl index a8b8207cb..a8b8207cb 100755..100644 --- a/view/tpl/cropbody.tpl +++ b/view/tpl/cropbody.tpl diff --git a/view/tpl/cropcover.tpl b/view/tpl/cropcover.tpl index ba91a2cce..ba91a2cce 100755..100644 --- a/view/tpl/cropcover.tpl +++ b/view/tpl/cropcover.tpl diff --git a/view/tpl/crophead.tpl b/view/tpl/crophead.tpl index db1915d22..db1915d22 100755..100644 --- a/view/tpl/crophead.tpl +++ b/view/tpl/crophead.tpl diff --git a/view/tpl/defperms.tpl b/view/tpl/defperms.tpl index 29f642cff..29f642cff 100755..100644 --- a/view/tpl/defperms.tpl +++ b/view/tpl/defperms.tpl diff --git a/view/tpl/directory_header.tpl b/view/tpl/directory_header.tpl index 3ee9ee326..3ee9ee326 100755..100644 --- a/view/tpl/directory_header.tpl +++ b/view/tpl/directory_header.tpl diff --git a/view/tpl/direntry.tpl b/view/tpl/direntry.tpl index 015f1102d..015f1102d 100755..100644 --- a/view/tpl/direntry.tpl +++ b/view/tpl/direntry.tpl diff --git a/view/tpl/edpost_head.tpl b/view/tpl/edpost_head.tpl index 4f39137ab..4f39137ab 100755..100644 --- a/view/tpl/edpost_head.tpl +++ b/view/tpl/edpost_head.tpl diff --git a/view/tpl/email_notify_html.tpl b/view/tpl/email_notify_html.tpl index f4e12d793..f4e12d793 100755..100644 --- a/view/tpl/email_notify_html.tpl +++ b/view/tpl/email_notify_html.tpl diff --git a/view/tpl/email_notify_text.tpl b/view/tpl/email_notify_text.tpl index 5f1984edb..5f1984edb 100755..100644 --- a/view/tpl/email_notify_text.tpl +++ b/view/tpl/email_notify_text.tpl diff --git a/view/tpl/event.tpl b/view/tpl/event.tpl index cc0bfc1c7..cc0bfc1c7 100755..100644 --- a/view/tpl/event.tpl +++ b/view/tpl/event.tpl diff --git a/view/tpl/event_form.tpl b/view/tpl/event_form.tpl index d07a06b67..d07a06b67 100755..100644 --- a/view/tpl/event_form.tpl +++ b/view/tpl/event_form.tpl diff --git a/view/tpl/event_head.tpl b/view/tpl/event_head.tpl index 9d56b7fe4..9d56b7fe4 100755..100644 --- a/view/tpl/event_head.tpl +++ b/view/tpl/event_head.tpl diff --git a/view/tpl/event_item_header.tpl b/view/tpl/event_item_header.tpl index e81db48a1..e81db48a1 100755..100644 --- a/view/tpl/event_item_header.tpl +++ b/view/tpl/event_item_header.tpl diff --git a/view/tpl/events-js.tpl b/view/tpl/events-js.tpl index d3f3414ff..d3f3414ff 100755..100644 --- a/view/tpl/events-js.tpl +++ b/view/tpl/events-js.tpl diff --git a/view/tpl/events_cal-js.tpl b/view/tpl/events_cal-js.tpl index 2c4d961f9..2c4d961f9 100755..100644 --- a/view/tpl/events_cal-js.tpl +++ b/view/tpl/events_cal-js.tpl diff --git a/view/tpl/events_tools_side.tpl b/view/tpl/events_tools_side.tpl index e22f95c1e..e22f95c1e 100755..100644 --- a/view/tpl/events_tools_side.tpl +++ b/view/tpl/events_tools_side.tpl diff --git a/view/tpl/failed_updates.tpl b/view/tpl/failed_updates.tpl index 598171b87..598171b87 100755..100644 --- a/view/tpl/failed_updates.tpl +++ b/view/tpl/failed_updates.tpl diff --git a/view/tpl/field.tpl b/view/tpl/field.tpl index 942cfcef5..942cfcef5 100755..100644 --- a/view/tpl/field.tpl +++ b/view/tpl/field.tpl diff --git a/view/tpl/field_acheckbox.tpl b/view/tpl/field_acheckbox.tpl index 4c8b62f36..4c8b62f36 100755..100644 --- a/view/tpl/field_acheckbox.tpl +++ b/view/tpl/field_acheckbox.tpl diff --git a/view/tpl/field_checkbox.tpl b/view/tpl/field_checkbox.tpl index f779f937c..f779f937c 100755..100644 --- a/view/tpl/field_checkbox.tpl +++ b/view/tpl/field_checkbox.tpl diff --git a/view/tpl/field_combobox.tpl b/view/tpl/field_combobox.tpl index 12d00a08d..12d00a08d 100755..100644 --- a/view/tpl/field_combobox.tpl +++ b/view/tpl/field_combobox.tpl diff --git a/view/tpl/field_custom.tpl b/view/tpl/field_custom.tpl index 907b4c50e..907b4c50e 100755..100644 --- a/view/tpl/field_custom.tpl +++ b/view/tpl/field_custom.tpl diff --git a/view/tpl/field_input.tpl b/view/tpl/field_input.tpl index 65a837e5f..65a837e5f 100755..100644 --- a/view/tpl/field_input.tpl +++ b/view/tpl/field_input.tpl diff --git a/view/tpl/field_intcheckbox.tpl b/view/tpl/field_intcheckbox.tpl index abfe6e189..abfe6e189 100755..100644 --- a/view/tpl/field_intcheckbox.tpl +++ b/view/tpl/field_intcheckbox.tpl diff --git a/view/tpl/field_password.tpl b/view/tpl/field_password.tpl index fa5e14582..fa5e14582 100755..100644 --- a/view/tpl/field_password.tpl +++ b/view/tpl/field_password.tpl diff --git a/view/tpl/field_radio.tpl b/view/tpl/field_radio.tpl index 6b5f52de6..6b5f52de6 100755..100644 --- a/view/tpl/field_radio.tpl +++ b/view/tpl/field_radio.tpl diff --git a/view/tpl/field_richtext.tpl b/view/tpl/field_richtext.tpl index 378e02a62..378e02a62 100755..100644 --- a/view/tpl/field_richtext.tpl +++ b/view/tpl/field_richtext.tpl diff --git a/view/tpl/field_select.tpl b/view/tpl/field_select.tpl index 7cc624fab..7cc624fab 100755..100644 --- a/view/tpl/field_select.tpl +++ b/view/tpl/field_select.tpl diff --git a/view/tpl/field_select_raw.tpl b/view/tpl/field_select_raw.tpl index 2780df58c..2780df58c 100755..100644 --- a/view/tpl/field_select_raw.tpl +++ b/view/tpl/field_select_raw.tpl diff --git a/view/tpl/field_textarea.tpl b/view/tpl/field_textarea.tpl index 437dece93..437dece93 100755..100644 --- a/view/tpl/field_textarea.tpl +++ b/view/tpl/field_textarea.tpl diff --git a/view/tpl/field_themeselect.tpl b/view/tpl/field_themeselect.tpl index 7a529774c..7a529774c 100755..100644 --- a/view/tpl/field_themeselect.tpl +++ b/view/tpl/field_themeselect.tpl diff --git a/view/tpl/field_yesno.tpl b/view/tpl/field_yesno.tpl index 8a4cda55b..8a4cda55b 100755..100644 --- a/view/tpl/field_yesno.tpl +++ b/view/tpl/field_yesno.tpl diff --git a/view/tpl/fileas_widget.tpl b/view/tpl/fileas_widget.tpl index a6a69b89c..a6a69b89c 100755..100644 --- a/view/tpl/fileas_widget.tpl +++ b/view/tpl/fileas_widget.tpl diff --git a/view/tpl/filebrowser.tpl b/view/tpl/filebrowser.tpl index 787f7c0cd..787f7c0cd 100755..100644 --- a/view/tpl/filebrowser.tpl +++ b/view/tpl/filebrowser.tpl diff --git a/view/tpl/filer_dialog.tpl b/view/tpl/filer_dialog.tpl index 61860d10f..61860d10f 100755..100644 --- a/view/tpl/filer_dialog.tpl +++ b/view/tpl/filer_dialog.tpl diff --git a/view/tpl/follow.tpl b/view/tpl/follow.tpl index da472fa9b..da472fa9b 100755..100644 --- a/view/tpl/follow.tpl +++ b/view/tpl/follow.tpl diff --git a/view/tpl/generic_links_widget.tpl b/view/tpl/generic_links_widget.tpl index 67801e666..67801e666 100755..100644 --- a/view/tpl/generic_links_widget.tpl +++ b/view/tpl/generic_links_widget.tpl diff --git a/view/tpl/group_edit.tpl b/view/tpl/group_edit.tpl index 60038701e..60038701e 100755..100644 --- a/view/tpl/group_edit.tpl +++ b/view/tpl/group_edit.tpl diff --git a/view/tpl/group_selection.tpl b/view/tpl/group_selection.tpl index 270d2aa79..270d2aa79 100755..100644 --- a/view/tpl/group_selection.tpl +++ b/view/tpl/group_selection.tpl diff --git a/view/tpl/group_side.tpl b/view/tpl/group_side.tpl index 14f714ae9..14f714ae9 100755..100644 --- a/view/tpl/group_side.tpl +++ b/view/tpl/group_side.tpl diff --git a/view/tpl/groupeditor.tpl b/view/tpl/groupeditor.tpl index 94c275c7e..94c275c7e 100755..100644 --- a/view/tpl/groupeditor.tpl +++ b/view/tpl/groupeditor.tpl diff --git a/view/tpl/head.tpl b/view/tpl/head.tpl index ecb30afd3..ecb30afd3 100755..100644 --- a/view/tpl/head.tpl +++ b/view/tpl/head.tpl diff --git a/view/tpl/hq.tpl b/view/tpl/hq.tpl index 099d892bb..099d892bb 100755..100644 --- a/view/tpl/hq.tpl +++ b/view/tpl/hq.tpl diff --git a/view/tpl/hq_controls.tpl b/view/tpl/hq_controls.tpl index d7f6d436f..d7f6d436f 100755..100644 --- a/view/tpl/hq_controls.tpl +++ b/view/tpl/hq_controls.tpl diff --git a/view/tpl/install.tpl b/view/tpl/install.tpl index 5ab722b12..5ab722b12 100755..100644 --- a/view/tpl/install.tpl +++ b/view/tpl/install.tpl diff --git a/view/tpl/install_checks.tpl b/view/tpl/install_checks.tpl index 8bbb9f26d..8bbb9f26d 100755..100644 --- a/view/tpl/install_checks.tpl +++ b/view/tpl/install_checks.tpl diff --git a/view/tpl/install_db.tpl b/view/tpl/install_db.tpl index 8b9023443..8b9023443 100755..100644 --- a/view/tpl/install_db.tpl +++ b/view/tpl/install_db.tpl diff --git a/view/tpl/install_settings.tpl b/view/tpl/install_settings.tpl index b62f8508b..b62f8508b 100755..100644 --- a/view/tpl/install_settings.tpl +++ b/view/tpl/install_settings.tpl diff --git a/view/tpl/invite.tpl b/view/tpl/invite.tpl index 440e1e02b..440e1e02b 100755..100644 --- a/view/tpl/invite.tpl +++ b/view/tpl/invite.tpl diff --git a/view/tpl/item_import.tpl b/view/tpl/item_import.tpl index e976417e1..e976417e1 100755..100644 --- a/view/tpl/item_import.tpl +++ b/view/tpl/item_import.tpl diff --git a/view/tpl/jot-header.tpl b/view/tpl/jot-header.tpl index 2539c1fdf..2539c1fdf 100755..100644 --- a/view/tpl/jot-header.tpl +++ b/view/tpl/jot-header.tpl diff --git a/view/tpl/jot.tpl b/view/tpl/jot.tpl index 36543ccfa..36e71223c 100755..100644 --- a/view/tpl/jot.tpl +++ b/view/tpl/jot.tpl @@ -41,6 +41,11 @@ <input class="w-100 border-0" name="category" id="jot-category" type="text" placeholder="{{$placeholdercategory}}" value="{{$category}}" data-role="cat-tagsinput"> </div> {{/if}} + {{if $customjotheaders}} + <div id="jot-customjotheaders-wrap" class="jothidden"> + {{$customjotheaders}} + </div> + {{/if}} <div id="jot-text-wrap"> <div id="profile-jot-tools" class="btn-group d-none"> {{if $is_owner}} diff --git a/view/tpl/jot_geotag.tpl b/view/tpl/jot_geotag.tpl index 60f128850..60f128850 100755..100644 --- a/view/tpl/jot_geotag.tpl +++ b/view/tpl/jot_geotag.tpl diff --git a/view/tpl/js_strings.tpl b/view/tpl/js_strings.tpl index 58426e20c..291d78fb2 100755..100644 --- a/view/tpl/js_strings.tpl +++ b/view/tpl/js_strings.tpl @@ -66,8 +66,13 @@ 'month' : "{{$month}}", 'week' : "{{$week}}", 'day' : "{{$day}}", - 'allday' : "{{$allday}}" + 'allday' : "{{$allday}}", + + // mod cloud + + 'download_info' : "{{$download_info}}" + }; </script> - + diff --git a/view/tpl/lang_selector.tpl b/view/tpl/lang_selector.tpl index 1324442f3..1324442f3 100755..100644 --- a/view/tpl/lang_selector.tpl +++ b/view/tpl/lang_selector.tpl diff --git a/view/tpl/like_noshare.tpl b/view/tpl/like_noshare.tpl index e83b885fe..e83b885fe 100755..100644 --- a/view/tpl/like_noshare.tpl +++ b/view/tpl/like_noshare.tpl diff --git a/view/tpl/login.tpl b/view/tpl/login.tpl index 492149abb..492149abb 100755..100644 --- a/view/tpl/login.tpl +++ b/view/tpl/login.tpl diff --git a/view/tpl/logout.tpl b/view/tpl/logout.tpl index 7548ed196..7548ed196 100755..100644 --- a/view/tpl/logout.tpl +++ b/view/tpl/logout.tpl diff --git a/view/tpl/lostpass.tpl b/view/tpl/lostpass.tpl index 8ecfd215b..8ecfd215b 100755..100644 --- a/view/tpl/lostpass.tpl +++ b/view/tpl/lostpass.tpl diff --git a/view/tpl/mail_conv.tpl b/view/tpl/mail_conv.tpl index b0497fe99..b0497fe99 100755..100644 --- a/view/tpl/mail_conv.tpl +++ b/view/tpl/mail_conv.tpl diff --git a/view/tpl/mail_display.tpl b/view/tpl/mail_display.tpl index e8549a49b..e8549a49b 100755..100644 --- a/view/tpl/mail_display.tpl +++ b/view/tpl/mail_display.tpl diff --git a/view/tpl/mail_head.tpl b/view/tpl/mail_head.tpl index aac592a5f..aac592a5f 100755..100644 --- a/view/tpl/mail_head.tpl +++ b/view/tpl/mail_head.tpl diff --git a/view/tpl/mail_list.tpl b/view/tpl/mail_list.tpl index a1784e1e6..a1784e1e6 100755..100644 --- a/view/tpl/mail_list.tpl +++ b/view/tpl/mail_list.tpl diff --git a/view/tpl/main_slider.tpl b/view/tpl/main_slider.tpl index f5c573970..f5c573970 100755..100644 --- a/view/tpl/main_slider.tpl +++ b/view/tpl/main_slider.tpl diff --git a/view/tpl/message_side.tpl b/view/tpl/message_side.tpl index 2ac61bf76..2ac61bf76 100755..100644 --- a/view/tpl/message_side.tpl +++ b/view/tpl/message_side.tpl diff --git a/view/tpl/micropro_img.tpl b/view/tpl/micropro_img.tpl index 5bfca615f..5bfca615f 100755..100644 --- a/view/tpl/micropro_img.tpl +++ b/view/tpl/micropro_img.tpl diff --git a/view/tpl/micropro_txt.tpl b/view/tpl/micropro_txt.tpl index 295e7940d..295e7940d 100755..100644 --- a/view/tpl/micropro_txt.tpl +++ b/view/tpl/micropro_txt.tpl diff --git a/view/tpl/mood_content.tpl b/view/tpl/mood_content.tpl index 315ee4c8a..315ee4c8a 100755..100644 --- a/view/tpl/mood_content.tpl +++ b/view/tpl/mood_content.tpl diff --git a/view/tpl/msg-header.tpl b/view/tpl/msg-header.tpl index e8542b087..e8542b087 100755..100644 --- a/view/tpl/msg-header.tpl +++ b/view/tpl/msg-header.tpl diff --git a/view/tpl/myapps.tpl b/view/tpl/myapps.tpl index 2cc747436..2cc747436 100755..100644 --- a/view/tpl/myapps.tpl +++ b/view/tpl/myapps.tpl diff --git a/view/tpl/navbar_default.tpl b/view/tpl/navbar_default.tpl index 0c8be512d..0c8be512d 100755..100644 --- a/view/tpl/navbar_default.tpl +++ b/view/tpl/navbar_default.tpl diff --git a/view/tpl/navbar_tucson.tpl b/view/tpl/navbar_tucson.tpl index 362b261c5..362b261c5 100755..100644 --- a/view/tpl/navbar_tucson.tpl +++ b/view/tpl/navbar_tucson.tpl diff --git a/view/tpl/new_channel.tpl b/view/tpl/new_channel.tpl index 8d72df55b..8d72df55b 100755..100644 --- a/view/tpl/new_channel.tpl +++ b/view/tpl/new_channel.tpl diff --git a/view/tpl/notifications.tpl b/view/tpl/notifications.tpl index 53ff8de52..53ff8de52 100755..100644 --- a/view/tpl/notifications.tpl +++ b/view/tpl/notifications.tpl diff --git a/view/tpl/notify.tpl b/view/tpl/notify.tpl index b5bccc8a4..b5bccc8a4 100755..100644 --- a/view/tpl/notify.tpl +++ b/view/tpl/notify.tpl diff --git a/view/tpl/oauth.tpl b/view/tpl/oauth.tpl index 881e22e99..881e22e99 100755..100644 --- a/view/tpl/oauth.tpl +++ b/view/tpl/oauth.tpl diff --git a/view/tpl/oauth2.tpl b/view/tpl/oauth2.tpl index a5b48ffce..a5b48ffce 100755..100644 --- a/view/tpl/oauth2.tpl +++ b/view/tpl/oauth2.tpl diff --git a/view/tpl/oauth2_edit.tpl b/view/tpl/oauth2_edit.tpl index 399c64977..399c64977 100755..100644 --- a/view/tpl/oauth2_edit.tpl +++ b/view/tpl/oauth2_edit.tpl diff --git a/view/tpl/oauth_authorize.tpl b/view/tpl/oauth_authorize.tpl index 72701ce52..72701ce52 100755..100644 --- a/view/tpl/oauth_authorize.tpl +++ b/view/tpl/oauth_authorize.tpl diff --git a/view/tpl/oauth_authorize_done.tpl b/view/tpl/oauth_authorize_done.tpl index 2e91e0125..2e91e0125 100755..100644 --- a/view/tpl/oauth_authorize_done.tpl +++ b/view/tpl/oauth_authorize_done.tpl diff --git a/view/tpl/oauth_edit.tpl b/view/tpl/oauth_edit.tpl index e44b44723..e44b44723 100755..100644 --- a/view/tpl/oauth_edit.tpl +++ b/view/tpl/oauth_edit.tpl diff --git a/view/tpl/oembed_video.tpl b/view/tpl/oembed_video.tpl index b0cfed2e5..b0cfed2e5 100755..100644 --- a/view/tpl/oembed_video.tpl +++ b/view/tpl/oembed_video.tpl diff --git a/view/tpl/oexchange_xrd.tpl b/view/tpl/oexchange_xrd.tpl index e865e07d9..e865e07d9 100755..100644 --- a/view/tpl/oexchange_xrd.tpl +++ b/view/tpl/oexchange_xrd.tpl diff --git a/view/tpl/page_display.tpl b/view/tpl/page_display.tpl index a320920c7..a320920c7 100755..100644 --- a/view/tpl/page_display.tpl +++ b/view/tpl/page_display.tpl diff --git a/view/tpl/peoplefind.tpl b/view/tpl/peoplefind.tpl index bbcc0b85b..bbcc0b85b 100755..100644 --- a/view/tpl/peoplefind.tpl +++ b/view/tpl/peoplefind.tpl diff --git a/view/tpl/photo_album.tpl b/view/tpl/photo_album.tpl index eb16bcc98..eb16bcc98 100755..100644 --- a/view/tpl/photo_album.tpl +++ b/view/tpl/photo_album.tpl diff --git a/view/tpl/photo_album_portfolio.tpl b/view/tpl/photo_album_portfolio.tpl index 1635e0ae1..1635e0ae1 100755..100644 --- a/view/tpl/photo_album_portfolio.tpl +++ b/view/tpl/photo_album_portfolio.tpl diff --git a/view/tpl/photo_albums.tpl b/view/tpl/photo_albums.tpl index 83bdd95e7..83bdd95e7 100755..100644 --- a/view/tpl/photo_albums.tpl +++ b/view/tpl/photo_albums.tpl diff --git a/view/tpl/photo_drop.tpl b/view/tpl/photo_drop.tpl index 664e5338c..664e5338c 100755..100644 --- a/view/tpl/photo_drop.tpl +++ b/view/tpl/photo_drop.tpl diff --git a/view/tpl/photo_item.tpl b/view/tpl/photo_item.tpl index b6ee4508b..b6ee4508b 100755..100644 --- a/view/tpl/photo_item.tpl +++ b/view/tpl/photo_item.tpl diff --git a/view/tpl/photo_portfolio.tpl b/view/tpl/photo_portfolio.tpl index cbc8ea214..cbc8ea214 100755..100644 --- a/view/tpl/photo_portfolio.tpl +++ b/view/tpl/photo_portfolio.tpl diff --git a/view/tpl/photo_top.tpl b/view/tpl/photo_top.tpl index 16862a8d6..16862a8d6 100755..100644 --- a/view/tpl/photo_top.tpl +++ b/view/tpl/photo_top.tpl diff --git a/view/tpl/photo_view.tpl b/view/tpl/photo_view.tpl index 6d566cab9..6d566cab9 100755..100644 --- a/view/tpl/photo_view.tpl +++ b/view/tpl/photo_view.tpl diff --git a/view/tpl/photos_recent.tpl b/view/tpl/photos_recent.tpl index 1e2f22e33..1e2f22e33 100755..100644 --- a/view/tpl/photos_recent.tpl +++ b/view/tpl/photos_recent.tpl diff --git a/view/tpl/photos_upload.tpl b/view/tpl/photos_upload.tpl index ea173049b..ea173049b 100755..100644 --- a/view/tpl/photos_upload.tpl +++ b/view/tpl/photos_upload.tpl diff --git a/view/tpl/photosajax.tpl b/view/tpl/photosajax.tpl index 45191db85..45191db85 100755..100644 --- a/view/tpl/photosajax.tpl +++ b/view/tpl/photosajax.tpl diff --git a/view/tpl/poco_entry_xml.tpl b/view/tpl/poco_entry_xml.tpl index 30b6268dc..30b6268dc 100755..100644 --- a/view/tpl/poco_entry_xml.tpl +++ b/view/tpl/poco_entry_xml.tpl diff --git a/view/tpl/poco_xml.tpl b/view/tpl/poco_xml.tpl index 0e38a692c..0e38a692c 100755..100644 --- a/view/tpl/poco_xml.tpl +++ b/view/tpl/poco_xml.tpl diff --git a/view/tpl/poke_content.tpl b/view/tpl/poke_content.tpl index f368cb024..f368cb024 100755..100644 --- a/view/tpl/poke_content.tpl +++ b/view/tpl/poke_content.tpl diff --git a/view/tpl/posted_date_widget.tpl b/view/tpl/posted_date_widget.tpl index fb43c744b..fb43c744b 100755..100644 --- a/view/tpl/posted_date_widget.tpl +++ b/view/tpl/posted_date_widget.tpl diff --git a/view/tpl/profed_head.tpl b/view/tpl/profed_head.tpl index ce774052a..ce774052a 100755..100644 --- a/view/tpl/profed_head.tpl +++ b/view/tpl/profed_head.tpl diff --git a/view/tpl/profile_advanced.tpl b/view/tpl/profile_advanced.tpl index e6653c130..e6653c130 100755..100644 --- a/view/tpl/profile_advanced.tpl +++ b/view/tpl/profile_advanced.tpl diff --git a/view/tpl/profile_edit.tpl b/view/tpl/profile_edit.tpl index 8add9bb9d..8add9bb9d 100755..100644 --- a/view/tpl/profile_edit.tpl +++ b/view/tpl/profile_edit.tpl diff --git a/view/tpl/profile_entry.tpl b/view/tpl/profile_entry.tpl index 9ae870738..9ae870738 100755..100644 --- a/view/tpl/profile_entry.tpl +++ b/view/tpl/profile_entry.tpl diff --git a/view/tpl/profile_listing_header.tpl b/view/tpl/profile_listing_header.tpl index 42abf2735..42abf2735 100755..100644 --- a/view/tpl/profile_listing_header.tpl +++ b/view/tpl/profile_listing_header.tpl diff --git a/view/tpl/profile_photo.tpl b/view/tpl/profile_photo.tpl index 61d8f4254..61d8f4254 100755..100644 --- a/view/tpl/profile_photo.tpl +++ b/view/tpl/profile_photo.tpl diff --git a/view/tpl/profile_vcard.tpl b/view/tpl/profile_vcard.tpl index 262bf257f..262bf257f 100755..100644 --- a/view/tpl/profile_vcard.tpl +++ b/view/tpl/profile_vcard.tpl diff --git a/view/tpl/profile_vcard_short.tpl b/view/tpl/profile_vcard_short.tpl index 5d87d52c6..5d87d52c6 100755..100644 --- a/view/tpl/profile_vcard_short.tpl +++ b/view/tpl/profile_vcard_short.tpl diff --git a/view/tpl/prv_message.tpl b/view/tpl/prv_message.tpl index b8c81539d..b8c81539d 100755..100644 --- a/view/tpl/prv_message.tpl +++ b/view/tpl/prv_message.tpl diff --git a/view/tpl/pwdreset.tpl b/view/tpl/pwdreset.tpl index dc17ed57a..dc17ed57a 100755..100644 --- a/view/tpl/pwdreset.tpl +++ b/view/tpl/pwdreset.tpl diff --git a/view/tpl/register.tpl b/view/tpl/register.tpl index 1054c7567..1054c7567 100755..100644 --- a/view/tpl/register.tpl +++ b/view/tpl/register.tpl diff --git a/view/tpl/remote_friends_common.tpl b/view/tpl/remote_friends_common.tpl index 6ef3a7dde..6ef3a7dde 100755..100644 --- a/view/tpl/remote_friends_common.tpl +++ b/view/tpl/remote_friends_common.tpl diff --git a/view/tpl/removeme.tpl b/view/tpl/removeme.tpl index 814701fff..814701fff 100755..100644 --- a/view/tpl/removeme.tpl +++ b/view/tpl/removeme.tpl diff --git a/view/tpl/rmagic.tpl b/view/tpl/rmagic.tpl index 9d84e4a36..9d84e4a36 100755..100644 --- a/view/tpl/rmagic.tpl +++ b/view/tpl/rmagic.tpl diff --git a/view/tpl/search_item.tpl b/view/tpl/search_item.tpl index 3e986ea21..f94aaf37d 100755..100644 --- a/view/tpl/search_item.tpl +++ b/view/tpl/search_item.tpl @@ -36,7 +36,7 @@ </div> {{if $item.lock}} <div class="wall-item-lock dropdown"> - <i class="fa fa-lock lockview" data-toggle="dropdown" title="{{$item.lock}}" onclick="lockview('item',{{$item.id}});" ></i><ul id="panel-{{$item.id}}" class="lockview-panel dropdown-menu"></ul> + <i class="fa {{if $item.locktype == 2}}fa-envelope-o{{else}}fa-lock{{/if}} lockview" data-toggle="dropdown" title="{{$item.lock}}" onclick="lockview('item',{{$item.id}});" ></i><ul id="panel-{{$item.id}}" class="lockview-panel dropdown-menu"></ul> </div> {{/if}} <div class="wall-item-author"> diff --git a/view/tpl/settings.tpl b/view/tpl/settings.tpl index c0808272d..c0808272d 100755..100644 --- a/view/tpl/settings.tpl +++ b/view/tpl/settings.tpl diff --git a/view/tpl/settings_account.tpl b/view/tpl/settings_account.tpl index 3eacf3f7a..3eacf3f7a 100755..100644 --- a/view/tpl/settings_account.tpl +++ b/view/tpl/settings_account.tpl diff --git a/view/tpl/settings_addons.tpl b/view/tpl/settings_addons.tpl index 27cfa238a..27cfa238a 100755..100644 --- a/view/tpl/settings_addons.tpl +++ b/view/tpl/settings_addons.tpl diff --git a/view/tpl/settings_display.tpl b/view/tpl/settings_display.tpl index c2dd94175..c2dd94175 100755..100644 --- a/view/tpl/settings_display.tpl +++ b/view/tpl/settings_display.tpl diff --git a/view/tpl/settings_features.tpl b/view/tpl/settings_features.tpl index 12c4f44f3..12c4f44f3 100755..100644 --- a/view/tpl/settings_features.tpl +++ b/view/tpl/settings_features.tpl diff --git a/view/tpl/settings_module.tpl b/view/tpl/settings_module.tpl index 03d16d1d7..03d16d1d7 100755..100644 --- a/view/tpl/settings_module.tpl +++ b/view/tpl/settings_module.tpl diff --git a/view/tpl/settings_nick_set.tpl b/view/tpl/settings_nick_set.tpl index 4dbe58d82..4dbe58d82 100755..100644 --- a/view/tpl/settings_nick_set.tpl +++ b/view/tpl/settings_nick_set.tpl diff --git a/view/tpl/siteinfo.tpl b/view/tpl/siteinfo.tpl index 4d9c53656..4d9c53656 100755..100644 --- a/view/tpl/siteinfo.tpl +++ b/view/tpl/siteinfo.tpl diff --git a/view/tpl/suggest_friends.tpl b/view/tpl/suggest_friends.tpl index 95f24cd63..95f24cd63 100755..100644 --- a/view/tpl/suggest_friends.tpl +++ b/view/tpl/suggest_friends.tpl diff --git a/view/tpl/suggest_page.tpl b/view/tpl/suggest_page.tpl index 97837c852..97837c852 100755..100644 --- a/view/tpl/suggest_page.tpl +++ b/view/tpl/suggest_page.tpl diff --git a/view/tpl/threaded_conversation.tpl b/view/tpl/threaded_conversation.tpl index 5bc7d8386..5bc7d8386 100755..100644 --- a/view/tpl/threaded_conversation.tpl +++ b/view/tpl/threaded_conversation.tpl diff --git a/view/tpl/viewcontact_template.tpl b/view/tpl/viewcontact_template.tpl index 005fe17ce..005fe17ce 100755..100644 --- a/view/tpl/viewcontact_template.tpl +++ b/view/tpl/viewcontact_template.tpl diff --git a/view/tpl/xchan_vcard.tpl b/view/tpl/xchan_vcard.tpl index 447839167..447839167 100755..100644 --- a/view/tpl/xchan_vcard.tpl +++ b/view/tpl/xchan_vcard.tpl diff --git a/view/tpl/xrd_host.tpl b/view/tpl/xrd_host.tpl index 2a40dcf47..2a40dcf47 100755..100644 --- a/view/tpl/xrd_host.tpl +++ b/view/tpl/xrd_host.tpl diff --git a/view/tpl/xrd_person.tpl b/view/tpl/xrd_person.tpl index 52adb54e3..52adb54e3 100755..100644 --- a/view/tpl/xrd_person.tpl +++ b/view/tpl/xrd_person.tpl |