diff options
author | zotlabs <mike@macgirvin.com> | 2018-12-03 19:19:31 -0800 |
---|---|---|
committer | zotlabs <mike@macgirvin.com> | 2018-12-03 19:19:31 -0800 |
commit | ffc3dba6825933d8e3ddc1a9a1ee93785acb2fca (patch) | |
tree | 6b42761029370c325064d2790b4c3d8debb7dd38 | |
parent | 1acc5ceb5f17b3bd36eeba9245c4bb3923793c34 (diff) | |
parent | 5e14da67e1329947a14cc4f009cebcfe4a5ece2f (diff) | |
download | volse-hubzilla-ffc3dba6825933d8e3ddc1a9a1ee93785acb2fca.tar.gz volse-hubzilla-ffc3dba6825933d8e3ddc1a9a1ee93785acb2fca.tar.bz2 volse-hubzilla-ffc3dba6825933d8e3ddc1a9a1ee93785acb2fca.zip |
Merge branch 'dev' of https://framagit.org/hubzilla/core into xdev_merge
86 files changed, 3064 insertions, 1091 deletions
diff --git a/.homeinstall/README.md b/.homeinstall/README.md index aeecb9184..d63931a84 100644 --- a/.homeinstall/README.md +++ b/.homeinstall/README.md @@ -5,8 +5,8 @@ Run hubzilla-setup.sh for an unattended installation of hubzilla. The script is known to work without adjustments with + Hardware - - Mini-PC with Debian-9.2-amd64, or - - Rapberry 3 with Raspbian, Debian-9.3 + - Mini-PC with Debian-9.5-amd64, or + - Rapberry 3 with Raspbian, Debian-9.5 + DynDNS - selfHOST.de - freedns.afraid.org @@ -38,7 +38,7 @@ Software - apt-get install git - mkdir -p /var/www - cd /var/www - - git clone https://github.com/redmatrix/hubzilla.git html + - git clone https://framagit.org/hubzilla/core.git html - cd html/.homeinstall - cp hubzilla-config.txt.template hubzilla-config.txt - nano hubzilla-config.txt @@ -100,7 +100,7 @@ Create bootable USB drive with Debian on it.You could use Example for command dd... su - - dd if=2017-11-29-raspbian-stretch.img of=/dev/mmcblk0 + dd if=2018-10-09-raspbian-stretch.img of=/dev/mmcblk0 Do not forget to unmount the SD card before and check if unmounted like in this example... @@ -164,7 +164,7 @@ Make the directory for apache and change diretory to it Clone hubzilla from git ("git pull" will update it later) - git clone https://framagit.org/hubzilla/core html + git clone https://framagit.org/hubzilla/core.git html Change to the install script @@ -217,14 +217,20 @@ After the daily script was executed at 05:30 (am) - optionally view the daily log under yourdomain.org/admin/logs/ - set the logfile to var/www/html/hubzilla-daily.log -## Note for the Rasperry -The script was tested with an Raspberry 3 under Raspian (Debian 9.3, 2017-11-29-raspbian-stretch.img). +## Install Hubzilla in a Virtual Machine for Test Purposes + +Modify the file "hubzilla-config.txt". + + nano hubzilla-config.txt -It is recommended to deinstall these programms to avoid endless updates. Use... +There use + + le_domain=localhost + +## Note for the Rasperry - sudo apt-get purge wolfram-engine sonic-pi - sudo apt-get autoremove +The script was tested with an Raspberry 3 under Raspian (Debian 9.5, 2018-10-09-raspbian-stretch.img). It is recommended to run the Raspi without graphical frontend (X-Server). Use... @@ -234,7 +240,7 @@ to boot the Rapsi to the client console. DO NOT FORGET TO CHANGE THE DEFAULT PASSWORD FOR USER PI! -On a Raspian Stretch (Debian 9) the validation of the mail address fails for the very first user. +If the validation of the mail address fails for the very first registered user... This used to happen on some *bsd distros but there was some work to fix that a year ago (2017). So if your system isn't registered in DNS or DNS isn't active do diff --git a/.homeinstall/hubzilla-config.txt.template b/.homeinstall/hubzilla-config.txt.template index 2776ccd27..e42da0e4e 100644 --- a/.homeinstall/hubzilla-config.txt.template +++ b/.homeinstall/hubzilla-config.txt.template @@ -18,6 +18,8 @@ db_pass= # Example: my.cooldomain.org # Example: cooldomain.org # +# Example: localhost (test installation without certificates for httpS) +# # Email is optional # # diff --git a/.homeinstall/hubzilla-setup.sh b/.homeinstall/hubzilla-setup.sh index ff101086c..1f3ad5db5 100755 --- a/.homeinstall/hubzilla-setup.sh +++ b/.homeinstall/hubzilla-setup.sh @@ -816,15 +816,35 @@ install_run_selfhost ping_domain configure_cron_freedns configure_cron_selfhost -install_letsencrypt -configure_apache_for_https -check_https + +if [ "$le_domain" != "localhost" ] +then + install_letsencrypt + configure_apache_for_https + check_https +else + print_info "is localhost - skipped installation of letsencrypt and configuration of apache for https" +fi + install_hubzilla -rewrite_to_https -install_rsnapshot + +if [ "$le_domain" != "localhost" ] +then + rewrite_to_https + install_rsnapshot +else + print_info "is localhost - skipped rewrite to https and installation of rsnapshot" +fi + configure_cron_daily -install_cryptosetup -write_uninstall_script + +if [ "$le_domain" != "localhost" ] +then + install_cryptosetup + write_uninstall_script +else + print_info "is localhost - skipped installation of cryptosetup" +fi #set +x # stop debugging from here @@ -1,3 +1,30 @@ +Hubzilla 3.8.6 (2018-12-03) + - Prevent incompatible export files (osada/zap) from being imported + - Catch exception if readImageBlob() receives bogus data + - Streamline PDF previews + - Allow notification filtering by name or address + - Fix too restrictive attached photo permissions + - Update ES translation + - Use flex for the default template + - Do not store serialized pconfig value received via to Module/Pconfig.php + - Update jquery-file-upload lib and move to composer + - Update imagesloaded lib and move to composer + - Fix activitypub tag notifications + - Fix call to undefined function in PConfig + - Fix typo which prevented propagation of comments to zot6 (dev) + - Activitypub: add support for pterotype (wordpress plugin) + - Openstreetmap: check validity of lat+lon before rendering a map + + +Hubzilla 3.8.5 (2018-11-19) + - Fix pconfig for new installs + - Fix delayed publication of posts in combination with channel clones + - Fix issue where photo filesize was not updated in the DB when a photo was edited + - Fix issue where the original photo size was not set correct in the DB + - Fix delivery issue in zot_fetch() + - Fix typo in channel reputation addon + + Hubzilla 3.8.4 (2018-11-14) - Fix xss issue (thanks to Eduardo) - Implement hook in enotify to be used by superblock diff --git a/Zotlabs/Daemon/Cron.php b/Zotlabs/Daemon/Cron.php index 25e49b817..8b6b42c8a 100644 --- a/Zotlabs/Daemon/Cron.php +++ b/Zotlabs/Daemon/Cron.php @@ -94,6 +94,29 @@ class Cron { @time_sleep_until(microtime(true) + (float) $interval); } } + + // Clean expired photos from cache + + $age = get_config('system','active_expire_days', '30'); + $r = q("SELECT DISTINCT xchan, content FROM photo WHERE photo_usage = %d AND expires < %s - INTERVAL %s", + intval(PHOTO_CACHE), + db_utcnow(), + db_quoteinterval($age . ' DAY') + ); + if($r) { + foreach($r as $rr) { + $file = dbunescbin($rr['content']); + if(is_file($file)) { + @unlink($file); + logger('info: deleted cached photo file ' . $file, LOGGER_DEBUG); + } + } + } + q("DELETE FROM photo WHERE photo_usage = %d AND expires < %s - INTERVAL %s", + intval(PHOTO_CACHE), + db_utcnow(), + db_quoteinterval($age . ' DAY') + ); // publish any applicable items that were set to be published in the future // (time travel posts). Restrict to items that have come of age in the last diff --git a/Zotlabs/Lib/Enotify.php b/Zotlabs/Lib/Enotify.php index 523ccf93a..5e5798cac 100644 --- a/Zotlabs/Lib/Enotify.php +++ b/Zotlabs/Lib/Enotify.php @@ -828,7 +828,7 @@ class Enotify { $x = array( 'notify_link' => $item['llink'], 'name' => $item['author']['xchan_name'], - 'addr' => $item['author']['xchan_addr'], + 'addr' => (($item['author']['xchan_addr']) ? $item['author']['xchan_addr'] : $item['author']['xchan_url']), 'url' => $item['author']['xchan_url'], 'photo' => $item['author']['xchan_photo_s'], 'when' => relative_date(($edit)? $item['edited'] : $item['created']), diff --git a/Zotlabs/Module/Pconfig.php b/Zotlabs/Module/Pconfig.php index 44fe5d9a9..f31d5fdf6 100644 --- a/Zotlabs/Module/Pconfig.php +++ b/Zotlabs/Module/Pconfig.php @@ -22,6 +22,11 @@ class Pconfig extends \Zotlabs\Web\Controller { $k = trim(escape_tags($_POST['k'])); $v = trim($_POST['v']); $aj = intval($_POST['aj']); + + // Do not store "serialized" data received in the $_POST + if (preg_match('|^a:[0-9]+:{.*}$|s',$v) || preg_match('O:8:"stdClass":[0-9]+:{.*}$|s',$v)) { + return; + } if(in_array(argv(2),$this->disallowed_pconfig())) { notice( t('This setting requires special processing and editing has been blocked.') . EOL); diff --git a/Zotlabs/Module/Photo.php b/Zotlabs/Module/Photo.php index 30e8340e2..d85db7307 100644 --- a/Zotlabs/Module/Photo.php +++ b/Zotlabs/Module/Photo.php @@ -1,19 +1,20 @@ <?php + + namespace Zotlabs\Module; require_once('include/security.php'); require_once('include/attach.php'); require_once('include/photo/photo_driver.php'); - class Photo extends \Zotlabs\Web\Controller { function init() { - $prvcachecontrol = false; $streaming = null; $channel = null; $person = 0; + $renew = false; switch(argc()) { case 4: @@ -29,7 +30,15 @@ class Photo extends \Zotlabs\Web\Controller { killme(); // NOTREACHED } - + + $cache_mode = array( + 'on' => get_config('system','photo_cache_enable', 0), + 'age' => 86400, + 'exp' => true, + 'leak' => false + ); + call_hooks('cache_mode_hook', $cache_mode); + $observer_xchan = get_observer_hash(); $ismodified = $_SERVER['HTTP_IF_MODIFIED_SINCE']; @@ -106,13 +115,14 @@ class Photo extends \Zotlabs\Web\Controller { License link: http://creativecommons.org/licenses/by/3.0/ */ + // @FIXME It seems this part doesn't work because we are not setting such cookie $cookie_value = false; if (isset($_COOKIE['devicePixelRatio'])) { $cookie_value = intval($_COOKIE['devicePixelRatio']); } else { // Force revalidation of cache on next request - $cache_directive = 'no-cache'; + // $prvcachecontrol = 'no-cache'; $status = 'no cookie'; } @@ -129,27 +139,43 @@ class Photo extends \Zotlabs\Web\Controller { $resolution = 1; } - $r = q("SELECT uid, photo_usage FROM photo WHERE resource_id = '%s' AND imgscale = %d LIMIT 1", + $r = q("SELECT uid, photo_usage, expires, display_path FROM photo WHERE resource_id = '%s' AND imgscale = %d LIMIT 1", dbesc($photo), intval($resolution) ); if($r) { - $allowed = (-1); - if(intval($r[0]['photo_usage'])) { + $u = intval($r[0]['photo_usage']); + if($u) { $allowed = 1; - if(intval($r[0]['photo_usage']) === PHOTO_COVER) + if($u === PHOTO_COVER) if($resolution < PHOTO_RES_COVER_1200) $allowed = (-1); - if(intval($r[0]['photo_usage']) === PHOTO_PROFILE) + if($u === PHOTO_PROFILE) if(! in_array($resolution,[4,5,6])) $allowed = (-1); + if($u === PHOTO_CACHE) { + // Cached image leak protection + if(! (local_channel() || $cache_mode['leak'])) { + header("Location: " . $r[0]['display_path']); + killme(); + } + // Revalidate cache + if($cache_mode['on'] && strtotime($r[0]['expires']) - 60 < time()) { + $cache = array( + 'url' => $r[0]['display_path'], + 'uid' => $r[0]['uid'] + ); + call_hooks('cache_url_hook', $cache); + if(! $cache['status']) + http_status_exit(404,'not found'); + } + } } - if($allowed === (-1)) { + if($allowed === (-1)) $allowed = attach_can_view($r[0]['uid'],$observer_xchan,$photo); - } $channel = channelx_by_n($r[0]['uid']); @@ -160,16 +186,19 @@ class Photo extends \Zotlabs\Web\Controller { ); $exists = (($e) ? true : false); - + if($exists && $allowed) { + $expires = strtotime($e[0]['expires'] . 'Z'); $data = dbunescbin($e[0]['content']); $filesize = $e[0]['filesize']; $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 = true; + $prvcachecontrol = 'no-store, no-cache, must-revalidate'; } else { if(! $allowed) { @@ -180,9 +209,9 @@ class Photo extends \Zotlabs\Web\Controller { } } - } else { + } + else http_status_exit(404,'not found'); - } } header_remove('Pragma'); @@ -225,24 +254,14 @@ class Photo extends \Zotlabs\Web\Controller { $mimetype = $ph->getType(); } } - - // @FIXME Seems never invoked - // Writing in cachefile - if (isset($cachefile) && $cachefile != '') { - file_put_contents($cachefile, $data); - $modified = filemtime($cachefile); - } - - header("Content-type: " . $mimetype); - - if($prvcachecontrol) { + if(isset($prvcachecontrol)) { // it is a private photo that they have no permission to view. // tell the browser not to cache it, in case they authenticate // and subsequently have permission to see it - header("Cache-Control: no-store, no-cache, must-revalidate"); + header("Cache-Control: " . $prvcachecontrol); } else { @@ -255,18 +274,23 @@ class Photo extends \Zotlabs\Web\Controller { // This has performance considerations but we highly recommend you // leave it alone. - $cache = get_config('system','photo_cache_time', 86400); // 1 day by default + $maxage = $cache_mode['age']; - header("Expires: " . gmdate("D, d M Y H:i:s", time() + $cache) . " GMT"); - header("Cache-Control: max-age=" . $cache); + if($cache_mode['exp'] || (! isset($expires)) || (isset($expires) && $expires - 60 < time())) + $expires = time() + $maxage; + else + $maxage = $expires - time(); + + header("Expires: " . gmdate("D, d M Y H:i:s", $expires) . " GMT"); + header("Cache-Control: max-age=" . $maxage); } + header("Content-type: " . $mimetype); header("Last-Modified: " . gmdate("D, d M Y H:i:s", $modified) . " GMT"); header("Content-Length: " . (isset($filesize) ? $filesize : strlen($data))); // If it's a file resource, stream it. - if($streaming && $channel) { if(strpos($streaming,'store') !== false) $istream = fopen($streaming,'rb'); diff --git a/Zotlabs/Module/Photos.php b/Zotlabs/Module/Photos.php index 03fd8a53d..21f6293ef 100644 --- a/Zotlabs/Module/Photos.php +++ b/Zotlabs/Module/Photos.php @@ -264,7 +264,7 @@ class Photos extends \Zotlabs\Web\Controller { } $x = q("update photo set edited = '%s', content = '%s', filesize = %d, height = %d, width = %d where resource_id = '%s' and uid = %d and imgscale = 0", - dbesc(datetime_convert()), + dbesc(datetime_convert()), dbescbin($data), intval($fsize), intval($height), @@ -278,10 +278,13 @@ class Photos extends \Zotlabs\Web\Controller { $width = $ph->getWidth(); $height = $ph->getHeight(); + $data = $ph->imageString(); + $fsize = strlen($data); - $x = q("update photo set edited = '%s', content = '%s', height = %d, width = %d where resource_id = '%s' and uid = %d and imgscale = 1", - dbesc(datetime_convert()), - dbescbin($ph->imageString()), + $x = q("update photo set edited = '%s', content = '%s', filesize = %d, height = %d, width = %d where resource_id = '%s' and uid = %d and imgscale = 1", + dbesc(datetime_convert()), + dbescbin($data), + intval($fsize), intval($height), intval($width), dbesc($resource_id), @@ -294,10 +297,13 @@ class Photos extends \Zotlabs\Web\Controller { $width = $ph->getWidth(); $height = $ph->getHeight(); + $data = $ph->imageString(); + $fsize = strlen($data); - $x = q("update photo set edited = '%s', content = '%s', height = %d, width = %d where resource_id = '%s' and uid = %d and imgscale = 2", - dbesc(datetime_convert()), - dbescbin($ph->imageString()), + $x = q("update photo set edited = '%s', content = '%s', filesize = %d, height = %d, width = %d where resource_id = '%s' and uid = %d and imgscale = 2", + dbesc(datetime_convert()), + dbescbin($data), + intval($fsize), intval($height), intval($width), dbesc($resource_id), @@ -310,10 +316,13 @@ class Photos extends \Zotlabs\Web\Controller { $width = $ph->getWidth(); $height = $ph->getHeight(); + $data = $ph->imageString(); + $fsize = strlen($data); - $x = q("update photo set edited = '%s', content = '%s', height = %d, width = %d where resource_id = '%s' and uid = %d and imgscale = 3", - dbesc(datetime_convert()), - dbescbin($ph->imageString()), + $x = q("update photo set edited = '%s', content = '%s', filesize = %d, height = %d, width = %d where resource_id = '%s' and uid = %d and imgscale = 3", + dbesc(datetime_convert()), + dbescbin($data), + intval($fsize), intval($height), intval($width), dbesc($resource_id), diff --git a/Zotlabs/Update/_1228.php b/Zotlabs/Update/_1228.php index b9ba1d86f..9e6bf8047 100644 --- a/Zotlabs/Update/_1228.php +++ b/Zotlabs/Update/_1228.php @@ -11,8 +11,8 @@ class _1228 { if(ACTIVE_DBTYPE == DBTYPE_POSTGRES) { $r1 = q("ALTER TABLE item ADD uuid text NOT NULL DEFAULT '' "); - $r2 = q("create index \"uuid_idx\" on channel (\"uuid\")"); - $r3 = q("ALTER TABLE item add summary TEXT NOT NULL"); + $r2 = q("create index \"uuid_idx\" on item (\"uuid\")"); + $r3 = q("ALTER TABLE item add summary TEXT NOT NULL DEFAULT ''"); $r = ($r1 && $r2 && $r3); } @@ -25,7 +25,6 @@ class _1228 { if($r) { q("COMMIT"); - self::upgrade(); return UPDATE_SUCCESS; } diff --git a/Zotlabs/Update/_1229.php b/Zotlabs/Update/_1229.php new file mode 100644 index 000000000..8e8711644 --- /dev/null +++ b/Zotlabs/Update/_1229.php @@ -0,0 +1,32 @@ +<?php + +namespace Zotlabs\Update; + +class _1229 { + + function run() { + + q("START TRANSACTION"); + + if(ACTIVE_DBTYPE == DBTYPE_POSTGRES) { + $r1 = q("ALTER TABLE photo ADD expires timestamp NOT NULL DEFAULT '0001-01-01 00:00:00' "); + $r2 = q("create index \"photo_expires_idx\" on photo (\"expires\")"); + + $r = ($r1 && $r2); + } + else { + $r = q("ALTER TABLE `photo` ADD `expires` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' , + ADD INDEX `expires` (`expires`)"); + } + + if($r) { + q("COMMIT"); + return UPDATE_SUCCESS; + } + + q("ROLLBACK"); + return UPDATE_FAILED; + + } + +} diff --git a/Zotlabs/Widget/Notifications.php b/Zotlabs/Widget/Notifications.php index 0f9f609e4..37d9139ec 100644 --- a/Zotlabs/Widget/Notifications.php +++ b/Zotlabs/Widget/Notifications.php @@ -24,7 +24,7 @@ class Notifications { ], 'filter' => [ 'posts_label' => t('Show new posts only'), - 'name_label' => t('Filter by name') + 'name_label' => t('Filter by name or address') ] ]; @@ -43,7 +43,7 @@ class Notifications { ], 'filter' => [ 'posts_label' => t('Show new posts only'), - 'name_label' => t('Filter by name') + 'name_label' => t('Filter by name or address') ] ]; @@ -119,7 +119,7 @@ class Notifications { 'label' => t('Forums'), 'title' => t('Forums'), 'filter' => [ - 'name_label' => t('Filter by name') + 'name_label' => t('Filter by name or address') ] ]; } @@ -150,7 +150,7 @@ class Notifications { ], 'filter' => [ 'posts_label' => t('Show new posts only'), - 'name_label' => t('Filter by name') + 'name_label' => t('Filter by name or address') ] ]; } @@ -53,7 +53,7 @@ define ( 'PLATFORM_NAME', 'hubzilla' ); define ( 'STD_VERSION', '3.9.5' ); define ( 'ZOT_REVISION', '6.0a' ); -define ( 'DB_UPDATE_VERSION', 1228 ); +define ( 'DB_UPDATE_VERSION', 1229 ); define ( 'PROJECT_BASE', __DIR__ ); @@ -217,6 +217,7 @@ define ( 'PHOTO_PROFILE', 0x0001 ); define ( 'PHOTO_XCHAN', 0x0002 ); define ( 'PHOTO_THING', 0x0004 ); define ( 'PHOTO_COVER', 0x0010 ); +define ( 'PHOTO_CACHE', 0x0020 ); define ( 'PHOTO_ADULT', 0x0008 ); define ( 'PHOTO_FLAG_OS', 0x4000 ); diff --git a/composer.json b/composer.json index f117cc3b1..e6cefa241 100644 --- a/composer.json +++ b/composer.json @@ -40,7 +40,8 @@ "smarty/smarty": "~3.1", "ramsey/uuid": "^3.8", "twbs/bootstrap": "4.1.3", - "blueimp/jquery-file-upload": "^9.25" + "blueimp/jquery-file-upload": "^9.25", + "desandro/imagesloaded": "^4.1" }, "require-dev" : { "phpunit/phpunit" : "@stable", diff --git a/composer.lock b/composer.lock index d7e8d11f6..bd95e8c78 100644 --- a/composer.lock +++ b/composer.lock @@ -4,20 +4,20 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "63d0e52cc07f8113059ec30d3637b850", + "content-hash": "fe5e71d7076eeddf1c174be4a5c052dd", "packages": [ { "name": "blueimp/jquery-file-upload", - "version": "v9.25.1", + "version": "v9.28.0", "source": { "type": "git", "url": "https://github.com/vkhramtsov/jQuery-File-Upload.git", - "reference": "28891f9b2bc339bcc1ca8d548e5401e8563bf04b" + "reference": "ff5accfe2e5c4a522777faa980a90cf86a636d1d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/vkhramtsov/jQuery-File-Upload/zipball/28891f9b2bc339bcc1ca8d548e5401e8563bf04b", - "reference": "28891f9b2bc339bcc1ca8d548e5401e8563bf04b", + "url": "https://api.github.com/repos/vkhramtsov/jQuery-File-Upload/zipball/ff5accfe2e5c4a522777faa980a90cf86a636d1d", + "reference": "ff5accfe2e5c4a522777faa980a90cf86a636d1d", "shasum": "" }, "type": "library", @@ -59,7 +59,7 @@ "upload", "widget" ], - "time": "2018-10-26T07:21:48+00:00" + "time": "2018-11-13T05:41:39+00:00" }, { "name": "bshaffer/oauth2-server-php", @@ -164,6 +164,45 @@ "time": "2017-12-29T00:13:05+00:00" }, { + "name": "desandro/imagesloaded", + "version": "v4.1.4", + "source": { + "type": "git", + "url": "https://github.com/desandro/imagesloaded.git", + "reference": "67c4e57453120935180c45c6820e7d3fbd2ea1f9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/desandro/imagesloaded/zipball/67c4e57453120935180c45c6820e7d3fbd2ea1f9", + "reference": "67c4e57453120935180c45c6820e7d3fbd2ea1f9", + "shasum": "" + }, + "type": "component", + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "David DeSandro", + "homepage": "http://desandro.com/", + "role": "developer" + } + ], + "description": "JavaScript is all like _You images done yet or what?_", + "homepage": "http://imagesloaded.desandro.com", + "keywords": [ + "dom", + "images", + "javascript", + "jquery-plugin", + "library", + "loaded", + "ui" + ], + "time": "2018-01-02T16:53:35+00:00" + }, + { "name": "ezyang/htmlpurifier", "version": "v4.10.0", "source": { @@ -446,16 +485,16 @@ }, { "name": "psr/log", - "version": "1.0.2", + "version": "1.1.0", "source": { "type": "git", "url": "https://github.com/php-fig/log.git", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d" + "reference": "6c001f1daafa3a3ac1d8ff69ee4db8e799a654dd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", + "url": "https://api.github.com/repos/php-fig/log/zipball/6c001f1daafa3a3ac1d8ff69ee4db8e799a654dd", + "reference": "6c001f1daafa3a3ac1d8ff69ee4db8e799a654dd", "shasum": "" }, "require": { @@ -489,7 +528,7 @@ "psr", "psr-3" ], - "time": "2016-10-10T12:19:37+00:00" + "time": "2018-11-20T15:27:04+00:00" }, { "name": "ramsey/uuid", @@ -1110,7 +1149,7 @@ }, { "name": "symfony/polyfill-ctype", - "version": "v1.9.0", + "version": "v1.10.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-ctype.git", @@ -2536,16 +2575,16 @@ }, { "name": "phpunit/php-code-coverage", - "version": "6.1.3", + "version": "6.1.4", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "4d3ae9b21a7d7e440bd0cf65565533117976859f" + "reference": "807e6013b00af69b6c5d9ceb4282d0393dbb9d8d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/4d3ae9b21a7d7e440bd0cf65565533117976859f", - "reference": "4d3ae9b21a7d7e440bd0cf65565533117976859f", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/807e6013b00af69b6c5d9ceb4282d0393dbb9d8d", + "reference": "807e6013b00af69b6c5d9ceb4282d0393dbb9d8d", "shasum": "" }, "require": { @@ -2595,7 +2634,7 @@ "testing", "xunit" ], - "time": "2018-10-23T05:59:32+00:00" + "time": "2018-10-31T16:06:48+00:00" }, { "name": "phpunit/php-file-iterator", @@ -2788,16 +2827,16 @@ }, { "name": "phpunit/phpunit", - "version": "7.4.3", + "version": "7.4.4", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "c151651fb6ed264038d486ea262e243af72e5e64" + "reference": "b1be2c8530c4c29c3519a052c9fb6cee55053bbd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/c151651fb6ed264038d486ea262e243af72e5e64", - "reference": "c151651fb6ed264038d486ea262e243af72e5e64", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/b1be2c8530c4c29c3519a052c9fb6cee55053bbd", + "reference": "b1be2c8530c4c29c3519a052c9fb6cee55053bbd", "shasum": "" }, "require": { @@ -2868,7 +2907,7 @@ "testing", "xunit" ], - "time": "2018-10-23T05:57:41+00:00" + "time": "2018-11-14T16:52:02+00:00" }, { "name": "psr/container", @@ -3534,7 +3573,7 @@ }, { "name": "symfony/browser-kit", - "version": "v4.1.6", + "version": "v4.1.7", "source": { "type": "git", "url": "https://github.com/symfony/browser-kit.git", @@ -3591,16 +3630,16 @@ }, { "name": "symfony/class-loader", - "version": "v3.4.17", + "version": "v3.4.18", "source": { "type": "git", "url": "https://github.com/symfony/class-loader.git", - "reference": "f31333bdff54c7595f834d510a6d2325573ddb36" + "reference": "5605edec7b8f034ead2497ff4aab17bb70d558c1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/class-loader/zipball/f31333bdff54c7595f834d510a6d2325573ddb36", - "reference": "f31333bdff54c7595f834d510a6d2325573ddb36", + "url": "https://api.github.com/repos/symfony/class-loader/zipball/5605edec7b8f034ead2497ff4aab17bb70d558c1", + "reference": "5605edec7b8f034ead2497ff4aab17bb70d558c1", "shasum": "" }, "require": { @@ -3643,20 +3682,20 @@ ], "description": "Symfony ClassLoader Component", "homepage": "https://symfony.com", - "time": "2018-10-02T12:28:39+00:00" + "time": "2018-10-31T09:06:03+00:00" }, { "name": "symfony/config", - "version": "v4.1.6", + "version": "v4.1.7", "source": { "type": "git", "url": "https://github.com/symfony/config.git", - "reference": "b3d4d7b567d7a49e6dfafb6d4760abc921177c96" + "reference": "991fec8bbe77367fc8b48ecbaa8a4bd6e905a238" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/config/zipball/b3d4d7b567d7a49e6dfafb6d4760abc921177c96", - "reference": "b3d4d7b567d7a49e6dfafb6d4760abc921177c96", + "url": "https://api.github.com/repos/symfony/config/zipball/991fec8bbe77367fc8b48ecbaa8a4bd6e905a238", + "reference": "991fec8bbe77367fc8b48ecbaa8a4bd6e905a238", "shasum": "" }, "require": { @@ -3706,20 +3745,20 @@ ], "description": "Symfony Config Component", "homepage": "https://symfony.com", - "time": "2018-09-08T13:24:10+00:00" + "time": "2018-10-31T09:09:42+00:00" }, { "name": "symfony/console", - "version": "v4.1.6", + "version": "v4.1.7", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "dc7122fe5f6113cfaba3b3de575d31112c9aa60b" + "reference": "432122af37d8cd52fba1b294b11976e0d20df595" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/dc7122fe5f6113cfaba3b3de575d31112c9aa60b", - "reference": "dc7122fe5f6113cfaba3b3de575d31112c9aa60b", + "url": "https://api.github.com/repos/symfony/console/zipball/432122af37d8cd52fba1b294b11976e0d20df595", + "reference": "432122af37d8cd52fba1b294b11976e0d20df595", "shasum": "" }, "require": { @@ -3774,11 +3813,11 @@ ], "description": "Symfony Console Component", "homepage": "https://symfony.com", - "time": "2018-10-03T08:15:46+00:00" + "time": "2018-10-31T09:30:44+00:00" }, { "name": "symfony/css-selector", - "version": "v3.4.17", + "version": "v3.4.18", "source": { "type": "git", "url": "https://github.com/symfony/css-selector.git", @@ -3831,16 +3870,16 @@ }, { "name": "symfony/dependency-injection", - "version": "v4.1.6", + "version": "v4.1.7", "source": { "type": "git", "url": "https://github.com/symfony/dependency-injection.git", - "reference": "f6b9d893ad28aefd8942dc0469c8397e2216fe30" + "reference": "e72ee2c23d952e4c368ee98610fa22b79b89b483" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/f6b9d893ad28aefd8942dc0469c8397e2216fe30", - "reference": "f6b9d893ad28aefd8942dc0469c8397e2216fe30", + "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/e72ee2c23d952e4c368ee98610fa22b79b89b483", + "reference": "e72ee2c23d952e4c368ee98610fa22b79b89b483", "shasum": "" }, "require": { @@ -3898,11 +3937,11 @@ ], "description": "Symfony DependencyInjection Component", "homepage": "https://symfony.com", - "time": "2018-10-02T12:40:59+00:00" + "time": "2018-10-31T10:54:16+00:00" }, { "name": "symfony/dom-crawler", - "version": "v4.1.6", + "version": "v4.1.7", "source": { "type": "git", "url": "https://github.com/symfony/dom-crawler.git", @@ -3959,16 +3998,16 @@ }, { "name": "symfony/event-dispatcher", - "version": "v4.1.6", + "version": "v4.1.7", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "bfb30c2ad377615a463ebbc875eba64a99f6aa3e" + "reference": "552541dad078c85d9414b09c041ede488b456cd5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/bfb30c2ad377615a463ebbc875eba64a99f6aa3e", - "reference": "bfb30c2ad377615a463ebbc875eba64a99f6aa3e", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/552541dad078c85d9414b09c041ede488b456cd5", + "reference": "552541dad078c85d9414b09c041ede488b456cd5", "shasum": "" }, "require": { @@ -4018,20 +4057,20 @@ ], "description": "Symfony EventDispatcher Component", "homepage": "https://symfony.com", - "time": "2018-07-26T09:10:45+00:00" + "time": "2018-10-10T13:52:42+00:00" }, { "name": "symfony/filesystem", - "version": "v4.1.6", + "version": "v4.1.7", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "596d12b40624055c300c8b619755b748ca5cf0b5" + "reference": "fd7bd6535beb1f0a0a9e3ee960666d0598546981" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/596d12b40624055c300c8b619755b748ca5cf0b5", - "reference": "596d12b40624055c300c8b619755b748ca5cf0b5", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/fd7bd6535beb1f0a0a9e3ee960666d0598546981", + "reference": "fd7bd6535beb1f0a0a9e3ee960666d0598546981", "shasum": "" }, "require": { @@ -4068,20 +4107,20 @@ ], "description": "Symfony Filesystem Component", "homepage": "https://symfony.com", - "time": "2018-10-02T12:40:59+00:00" + "time": "2018-10-30T13:18:25+00:00" }, { "name": "symfony/polyfill-mbstring", - "version": "v1.9.0", + "version": "v1.10.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "d0cd638f4634c16d8df4508e847f14e9e43168b8" + "reference": "c79c051f5b3a46be09205c73b80b346e4153e494" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/d0cd638f4634c16d8df4508e847f14e9e43168b8", - "reference": "d0cd638f4634c16d8df4508e847f14e9e43168b8", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/c79c051f5b3a46be09205c73b80b346e4153e494", + "reference": "c79c051f5b3a46be09205c73b80b346e4153e494", "shasum": "" }, "require": { @@ -4127,20 +4166,20 @@ "portable", "shim" ], - "time": "2018-08-06T14:22:27+00:00" + "time": "2018-09-21T13:07:52+00:00" }, { "name": "symfony/translation", - "version": "v4.1.6", + "version": "v4.1.7", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", - "reference": "9f0b61e339160a466ebcde167a6c5521c810e304" + "reference": "aa04dc1c75b7d3da7bd7003104cd0cfc5dff635c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/9f0b61e339160a466ebcde167a6c5521c810e304", - "reference": "9f0b61e339160a466ebcde167a6c5521c810e304", + "url": "https://api.github.com/repos/symfony/translation/zipball/aa04dc1c75b7d3da7bd7003104cd0cfc5dff635c", + "reference": "aa04dc1c75b7d3da7bd7003104cd0cfc5dff635c", "shasum": "" }, "require": { @@ -4196,11 +4235,11 @@ ], "description": "Symfony Translation Component", "homepage": "https://symfony.com", - "time": "2018-10-02T16:36:10+00:00" + "time": "2018-10-28T18:38:52+00:00" }, { "name": "symfony/yaml", - "version": "v4.1.6", + "version": "v4.1.7", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", diff --git a/doc/es-es/about/about.bb b/doc/es-es/about/about.bb index 1d5f3a4a2..50d23c778 100644 --- a/doc/es-es/about/about.bb +++ b/doc/es-es/about/about.bb @@ -29,7 +29,7 @@ $Projectname es, bΓ‘sicamente, una aplicaciΓ³n de servidor web relativamente est [*= Identidad nΓ³mada] La capacidad de autenticar y migrar fΓ‘cilmente una identidad a travΓ©s de hubs y dominios web independientes. La identidad nΓ³mada proporciona una verdadera propiedad de una identidad en lΓnea, porque las identidades de los canales controlados por una cuenta en un hub no estΓ‘n vinculadas al propio hub. Un hub es mΓ‘s como un "host" para canales. Con Hubzilla, no tienes una "cuenta" en un servidor como lo haces en sitios web tΓpicos; tienes una identidad que puedes llevarte a travΓ©s de la rejilla usando clones. -[*= Zot] El novedoso protocolo basado en JSON para la implementaciΓ³n de comunicaciones y servicios descentralizados seguros. Se diferencia de muchos otros protocolos de comunicaciΓ³n en que construye las comunicaciones sobre un marco de identidad y autenticaciΓ³n descentralizado. El componente de autenticaciΓ³n es similar a OpenID conceptualmente pero estΓ‘ aislado de las identidades basadas en DNS. Cuando es posible, la autenticaciΓ³n remota es silenciosa e invisible. Esto proporciona un mecanismo para el control de acceso distribuido a escala de Internet que es discreto. +[*= Zot] El novedoso protocolo basado en JSON para la implementaciΓ³n de comunicaciones y servicios descentralizados seguros. Se diferencia de muchos otros protocolos de comunicaciΓ³n en que construye las comunicaciones sobre un marco de identidad y autenticaciΓ³n descentralizado. El componente de autenticaciΓ³n es similar a OpenID conceptualmente pero estΓ‘ aislado de las identidades basadas en DNS. Cuando es posible, la autenticaciΓ³n remota es silenciosa e invisible. Esto proporciona un mecanismo discreto para el control de acceso distribuido a escala de Internet. [/dl] @@ -41,7 +41,7 @@ Esta pΓ‘gina enumera algunas de las caracterΓsticas principales de $Projectname [h4]Control deslizante de afinidad[/h4] Cuando se aΓ±aden conexiones en $Projectname, los miembros tienen la opciΓ³n de asignar niveles de "afinidad" (cuΓ‘n cerca estΓ‘ su amigo). -Por otro lado, al aΓ±adir el canal de un amigo, se puede situar bajo el nivel de afinidad de "Amigos". +Por otro lado, al aΓ±adir el canal de un amigo, se puede situar bajo el nivel de afinidad, justamente, de "Amigos". En este punto, la herramienta $Projectname [i]Control deslizante de afinidad[/i], que normalmente aparece en la parte superior de la pΓ‘gina, ajusta su contenido para incluir aquellos contactos que estΓ‘n dentro del rango de afinidad deseado. Los canales fuera de ese rango no se mostrarΓ‘n, a menos que ajuste el control deslizante para incluirlos. @@ -62,7 +62,7 @@ Las listas de control de acceso se pueden aplicar a contenido y mensajes, fotos, [h4]Inicio de sesiΓ³n ΓΊnico[/h4] -Las listas de control de acceso funcionan para todos los canales de la red gracias a nuestra exclusiva tecnologΓa de inicio de sesiΓ³n ΓΊnico. La mayorΓa de los enlaces internos proporcionan un token de identidad que puede ser verificado en otros sitios de $Projectname y utilizado para controlar el acceso a recursos privados. Inicie sesiΓ³n una vez en el hub de su casa. DespuΓ©s de eso, la autenticaciΓ³n de todos los recursos de $Projectname es "mΓ‘gica". +Las listas de control de acceso funcionan para todos los canales de la red gracias a nuestra exclusiva tecnologΓa de inicio de sesiΓ³n ΓΊnico. La mayorΓa de los enlaces internos proporcionan un token de identidad que puede ser verificado en otros sitios de $Projectname y utilizado para controlar el acceso a recursos privados. Inicie sesiΓ³n una vez en la pΓ‘gina principal del hub. DespuΓ©s de eso, la autenticaciΓ³n de todos los recursos de $Projectname es "mΓ‘gica". [h4]Almacenamiento de Archivos habilitado para WebDAV[/h4] @@ -93,7 +93,7 @@ Las aplicaciones pueden ser construidas y distribuidas por los miembros. Γstas [h4]DiseΓ±o[/h4] -El diseΓ±o de la pΓ‘gina se basa en un lenguaje de descripciΓ³n llamado comanche. La propia $Projectname estΓ‘ escrito en diseΓ±os comanches que se pueden cambiar. Esto permite un nivel de personalizaciΓ³n que no se encuentra normalmente en los llamados "entornos multiusuario". +El diseΓ±o de la pΓ‘gina se basa en un lenguaje de descripciΓ³n llamado comanche. La propia $Projectname estΓ‘ escrito en plantillas en comanche que se pueden cambiar. Esto permite un nivel de personalizaciΓ³n que no se encuentra normalmente en los llamados "entornos multiusuario". [h4]Marcadores[/h4] @@ -111,14 +111,14 @@ AdemΓ‘s, los mensajes pueden crearse utilizando "encriptaciΓ³n de extremo a extr Por lo general, los mensajes pΓΊblicos no se cifran durante el transporte ni durante el almacenamiento. -Los mensajes privados pueden ser revocados (no enviados) aunque no hay garantΓa de que el destinatario no lo haya leΓdo todavΓa. +Los mensajes privados pueden ser revocados (no enviados) aunque no hay garantΓa de que el destinatario no lo haya leΓdo antes. Los mensajes se pueden crear con una fecha de caducidad, en la que se borrarΓ‘n/quitarΓ‘n en el sitio del destinatario. [h4]FederaciΓ³n de Servicios[/h4] -AdemΓ‘s de aΓ±adir "conectores de publicaciΓ³n cruzada" a una variedad de redes alternativas, hay soporte nativo para la importaciΓ³n de contenido desde RSS/Atom feeds y puede utilizarlo para crear canales especiales. Los plugins tambiΓ©n estΓ‘n disponibles para comunicarse con otros usando los protocolos DiΓ‘spora, GNU-Social (OStatus) o Mastodon (ActivityPub). Estas redes no soportan la identidad nΓ³mada ni el control de acceso entre dominios; sin embargo, las comunicaciones bΓ‘sicas son soportadas desde/hacia la diΓ‘spora, Friendica, GNU-Social, Mastodon y otros proveedores que utilizan estos protocolos. +AdemΓ‘s de aΓ±adir "conectores de publicaciΓ³n cruzada" a una variedad de redes alternativas, hay soporte nativo para la importaciΓ³n de contenido desde RSS/Atom feeds y puede utilizarlo para crear canales especiales. Los plugins tambiΓ©n estΓ‘n disponibles para comunicarse con otros usando los protocolos DiΓ‘spora, GNU-Social (OStatus) o Mastodon (ActivityPub). Estas redes no soportan la identidad nΓ³mada ni el control de acceso entre dominios; sin embargo, las comunicaciones bΓ‘sicas son soportadas desde o hacia Diaspora, Friendica, GNU-Social, Mastodon, Pleroma y otros proveedores que utilizan estos protocolos. TambiΓ©n existe soporte experimental para la autenticaciΓ³n OpenID que puede utilizarse en las listas de control de acceso. Este es un trabajo en progreso. Su hub $Projectname puede ser utilizado como un proveedor de OpenID para autenticarle en servicios externos que utilizan esta tecnologΓa. @@ -126,7 +126,7 @@ Los canales pueden tener permisos para convertirse en "canales derivados" cuando [h4]Grupos de Privacidad[/h4] -Nuestra implementaciΓ³n de grupos de privacidad es similar a la de Google "CΓrculos" y "Aspectos" de la DiΓ‘spora. Esto le permite filtrar su flujo entrante por grupos seleccionados y establecer automΓ‘ticamente la Lista de control de acceso saliente sΓ³lo para aquellos que se encuentren en ese grupo de privacidad cuando publique. Usted puede anular esto en cualquier momento (antes de enviar el correo). +Nuestra implementaciΓ³n de grupos de privacidad es similar a la de Google "CΓrculos" y "Aspectos" de Diaspora. Esto le permite filtrar su flujo entrante por grupos seleccionados y establecer automΓ‘ticamente la Lista de control de acceso saliente sΓ³lo para aquellos que se encuentren en ese grupo de privacidad cuando publique. Usted puede anular esto en cualquier momento (antes de enviar el correo). [h4]Servicios de directorio[/h4] @@ -158,19 +158,25 @@ Las opciones son: [h4]Foros PΓΊblicos y Privados[/h4] -Los foros son tΓpicamente canales que pueden estar abiertos a la participaciΓ³n de mΓΊltiples autores. Actualmente existen dos mecanismos para enviar mensajes a los foros: 1) mensajes de "muro a muro" y 2) a travΓ©s de las etiquetas @menciΓ³n del foro. Los foros pueden ser creados por cualquier persona y utilizados para cualquier propΓ³sito. El directorio contiene una opciΓ³n para buscar foros pΓΊblicos. Los foros privados sΓ³lo pueden ser publicados y, a menudo, sΓ³lo pueden ser vistos por los miembros. +Los foros son tΓpicamente canales que pueden estar abiertos a la participaciΓ³n de mΓΊltiples autores. Actualmente existen dos mecanismos para enviar mensajes a los foros: + +1) mensajes de "muro a muro" y + +2) a travΓ©s de las etiquetas @menciΓ³n del foro. + +Los foros pueden ser creados por cualquier persona y utilizados para cualquier propΓ³sito. El directorio contiene una opciΓ³n para buscar foros pΓΊblicos. Los foros privados sΓ³lo pueden ser publicados y, a menudo, sΓ³lo pueden ser vistos por los miembros. [h4]ClonaciΓ³n de cuentas[/h4] -Las cuentas en $Projectname se denominan [i]identidades nΓ³madas[/i], porque la identidad de un miembro no estΓ‘ vinculada al hub donde se creΓ³ la identidad originalmente. Por ejemplo, cuando creas una cuenta de Facebook o Gmail, estΓ‘ vinculada a esos servicios. No pueden funcionar sin Facebook.com o Gmail.com. +Las cuentas en $Projectname se denominan [i]identidades nΓ³madas[/i], porque la identidad de un miembro no estΓ‘ vinculada al hub donde se creΓ³ la identidad originalmente. Por ejemplo, cuando cree una cuenta de Facebook o Gmail, estΓ‘ vinculada a esos servicios. No pueden funcionar sin Facebook.com o Gmail.com. -Por el contrario, digamos que ha creado una identidad $Projectname llamada[b]tina@$Projectnamehub.com[/b]. Puede clonarlo a otro hub $Projectname eligiendo el mismo o un nombre diferente:[b]vivoParasiempre@algΓΊn$ProjectnameHub.info[/b] +Por el contrario, digamos que ha creado una identidad $Projectname llamada [b]tina@$Projectnamehub.com[/b]. Puede clonarlo a otro hub $Projectname eligiendo el mismo o un nombre diferente:[b]vivoParasiempre@algΓΊn$ProjectnameHub.info[/b] -Ahora ambos canales estΓ‘n sincronizados, lo que significa que todos sus contactos y preferencias se duplicarΓ‘n en su clon. No importa si envΓas un mensaje desde su hub original o desde el nuevo hub. Los mensajes se reflejarΓ‘n en ambas cuentas. +Ahora ambos canales estΓ‘n sincronizados, lo que significa que todos sus contactos y preferencias se duplicarΓ‘n en su clon. No importa si envΓa un mensaje desde su hub original o desde el nuevo hub. Los mensajes se reflejarΓ‘n en ambas cuentas. Esta es una caracterΓstica bastante revolucionaria, si consideramos algunos escenarios: - ΒΏQuΓ© ocurre si el hub en el que se basa una identidad se desconecta de repente? Sin clonaciΓ³n, un miembro no podrΓ‘ comunicarse hasta que el hub vuelva a estar en lΓnea (sin duda muchos de ustedes han visto y maldecido el Twitter "Fail Whale"). Con la clonaciΓ³n, sΓ³lo tienesque iniciar sesiΓ³n en su cuenta clonada y la vida continΓΊa feliz para siempre. + ΒΏQuΓ© ocurre si el hub en el que se basa una identidad se desconecta de repente? Sin clonaciΓ³n, un miembro no podrΓ‘ comunicarse hasta que el hub vuelva a estar en lΓnea (sin duda muchos de ustedes han visto y maldecido el Twitter "Fail Whale"). Con la clonaciΓ³n, sΓ³lo tiene que iniciar sesiΓ³n en su cuenta clonada y la vida continΓΊa feliz para siempre. El administrador de su hub ya no puede permitirse el lujo de pagar por su hub gratuito y pΓΊblico $Projectname. Anuncia que el centro cerrarΓ‘ en dos semanas. Esto le da tiempo suficiente para clonar su(s) identidad(es) y preservar las relaciones, amigos y contenido de su $Projectname. @@ -193,9 +199,10 @@ $Projectname ofrece una sencilla copia de seguridad de la cuenta con un solo cli [h4]Borrado de cuenta[/h4] -Las cuentas se pueden eliminar inmediatamente haciendo clic en un enlace. Eso es todo. Todo el contenido asociado se elimina de la rejilla (esto incluye los mensajes y cualquier otro contenido producido por el perfil eliminado). Dependiendo del nΓΊmero de conexiones que tenga, el proceso de eliminaciΓ³n de contenido remoto podrΓa llevar algΓΊn tiempo, pero estΓ‘ previsto que ocurra tan rΓ‘pido como sea posible. +Las cuentas se pueden eliminar inmediatamente haciendo clic en un enlace. Eso es todo. Todo el contenido asociado se elimina de la red (esto incluye los mensajes y cualquier otro contenido producido por el perfil eliminado). Dependiendo del nΓΊmero de conexiones que tenga, el proceso de eliminaciΓ³n de contenido remoto podrΓa llevar algΓΊn tiempo, pero estΓ‘ previsto que ocurra tan rΓ‘pido como sea posible. [h4]SupresiΓ³n de contenido[/h4] + Cualquier contenido creado en $Projectname permanece bajo el control del miembro (o canal) que lo creΓ³ originalmente. En cualquier momento, un miembro puede borrar un mensaje o un rango de mensajes. El proceso de eliminaciΓ³n garantiza que el contenido se elimine, independientemente de si se publicΓ³ en el hub principal de un canal o en otro hub, donde el canal se autenticΓ³ de forma remota a travΓ©s de Zot (protocolo de autenticaciΓ³n y comunicaciΓ³n de $Projectname). @@ -221,4 +228,4 @@ $Projectname se puede ampliar de varias maneras, a travΓ©s de la personalizaciΓ³ [h4]API[/h4] -Una API estΓ‘ disponible para su uso por parte de servicios de terceros. Un plugin tambiΓ©n proporciona una implementaciΓ³n bΓ‘sica de Twitter (para los que existen cientos de herramientas de terceros). El acceso puede ser proporcionado por login/contraseΓ±a o OAuth, y el registro del cliente de las aplicaciones de OAuth es proporcionado.
\ No newline at end of file +Una API estΓ‘ disponible para su uso por parte de servicios de terceros. Un plugin tambiΓ©n proporciona una implementaciΓ³n bΓ‘sica de Twitter (para los que existen cientos de herramientas de terceros). El acceso puede ser proporcionado por login/contraseΓ±a o OAuth, y el registro del cliente de las aplicaciones de OAuth estΓ‘ disponible.
\ No newline at end of file diff --git a/include/items.php b/include/items.php index 8eaeb61b7..b2c288b75 100755 --- a/include/items.php +++ b/include/items.php @@ -618,8 +618,6 @@ function get_item_elements($x,$allow_code = false) { $arr['created'] = datetime_convert('UTC','UTC',$x['created']); $arr['edited'] = datetime_convert('UTC','UTC',$x['edited']); - if($arr['created'] > datetime_convert()) - $arr['created'] = datetime_convert(); if($arr['edited'] > datetime_convert()) $arr['edited'] = datetime_convert(); diff --git a/include/oembed.php b/include/oembed.php index e5557dc11..426197c5f 100755 --- a/include/oembed.php +++ b/include/oembed.php @@ -221,7 +221,11 @@ function oembed_fetch_url($embedurl){ if(strpos(strtolower($embedurl),'.pdf') !== false) { $action = 'allow'; - $j = [ 'html' => '<object data="' . $embedurl . '" type="application/pdf" width="500" height="720">' . '<a href="' . $embedurl . '">' . t('View PDF') . '</a></object>', 'width' => 500, 'height' => 720, 'type' => 'pdf' ]; + $j = [ + 'html' => '<object data="' . $embedurl . '" type="application/pdf" style="width: 100%; height: 300px;"></object>', + 'title' => t('View PDF'), + 'type' => 'pdf' + ]; } diff --git a/include/photo/photo_driver.php b/include/photo/photo_driver.php index 4173d727e..9aeb2ef17 100644 --- a/include/photo/photo_driver.php +++ b/include/photo/photo_driver.php @@ -112,7 +112,7 @@ abstract class photo_driver { public function saveImage($path) { if(!$this->is_valid()) return FALSE; - file_put_contents($path, $this->imageString()); + return (file_put_contents($path, $this->imageString()) ? true : false); } @@ -330,9 +330,9 @@ abstract class photo_driver { } - public function save($arr) { + public function save($arr, $skipcheck = false) { - if(! $this->is_valid()) { + if(! ($skipcheck || $this->is_valid())) { logger('attempt to store invalid photo.'); return false; } @@ -344,6 +344,7 @@ abstract class photo_driver { $p['xchan'] = (($arr['xchan']) ? $arr['xchan'] : ''); $p['resource_id'] = (($arr['resource_id']) ? $arr['resource_id'] : ''); $p['filename'] = (($arr['filename']) ? $arr['filename'] : ''); + $p['mimetype'] = (($arr['mimetype']) ? $arr['mimetype'] : $this->getType()); $p['album'] = (($arr['album']) ? $arr['album'] : ''); $p['imgscale'] = ((intval($arr['imgscale'])) ? intval($arr['imgscale']) : 0); $p['allow_cid'] = (($arr['allow_cid']) ? $arr['allow_cid'] : ''); @@ -360,6 +361,7 @@ abstract class photo_driver { $p['display_path'] = (($arr['display_path']) ? $arr['display_path'] : ''); $p['width'] = (($arr['width']) ? $arr['width'] : $this->getWidth()); $p['height'] = (($arr['height']) ? $arr['height'] : $this->getHeight()); + $p['expires'] = (($arr['expires']) ? $arr['expires'] : gmdate('Y-m-d H:i:s', time() + get_config('system','photo_cache_time', 86400))); if(! intval($p['imgscale'])) logger('save: ' . print_r($arr,true), LOGGER_DATA); @@ -397,23 +399,24 @@ abstract class photo_driver { allow_cid = '%s', allow_gid = '%s', deny_cid = '%s', - deny_gid = '%s' + deny_gid = '%s', + expires = '%s' where id = %d", intval($p['aid']), intval($p['uid']), dbesc($p['xchan']), dbesc($p['resource_id']), - dbesc($p['created']), - dbesc($p['edited']), + dbescdate($p['created']), + dbescdate($p['edited']), dbesc(basename($p['filename'])), - dbesc($this->getType()), + dbesc($p['mimetype']), dbesc($p['album']), intval($p['height']), intval($p['width']), (intval($p['os_storage']) ? dbescbin($p['os_syspath']) : dbescbin($this->imageString())), intval($p['os_storage']), - intval(strlen($this->imageString())), + (intval($p['os_storage']) ? @filesize($p['os_syspath']) : strlen($this->imageString())), intval($p['imgscale']), intval($p['photo_usage']), dbesc($p['title']), @@ -424,28 +427,29 @@ abstract class photo_driver { dbesc($p['allow_gid']), dbesc($p['deny_cid']), dbesc($p['deny_gid']), + dbescdate($p['expires']), intval($x[0]['id']) ); } else { $p['created'] = (($arr['created']) ? $arr['created'] : $p['edited']); $r = q("INSERT INTO photo - ( aid, uid, xchan, resource_id, created, edited, filename, mimetype, album, height, width, content, os_storage, filesize, imgscale, photo_usage, title, description, os_path, display_path, allow_cid, allow_gid, deny_cid, deny_gid ) - VALUES ( %d, %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d, %d, '%s', %d, %d, %d, %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s' )", + ( aid, uid, xchan, resource_id, created, edited, filename, mimetype, album, height, width, content, os_storage, filesize, imgscale, photo_usage, title, description, os_path, display_path, allow_cid, allow_gid, deny_cid, deny_gid, expires ) + VALUES ( %d, %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d, %d, '%s', %d, %d, %d, %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s' )", intval($p['aid']), intval($p['uid']), dbesc($p['xchan']), dbesc($p['resource_id']), - dbesc($p['created']), - dbesc($p['edited']), + dbescdate($p['created']), + dbescdate($p['edited']), dbesc(basename($p['filename'])), - dbesc($this->getType()), + dbesc($p['mimetype']), dbesc($p['album']), intval($p['height']), intval($p['width']), (intval($p['os_storage']) ? dbescbin($p['os_syspath']) : dbescbin($this->imageString())), intval($p['os_storage']), - intval(strlen($this->imageString())), + (intval($p['os_storage']) ? @filesize($p['os_syspath']) : strlen($this->imageString())), intval($p['imgscale']), intval($p['photo_usage']), dbesc($p['title']), @@ -455,7 +459,8 @@ abstract class photo_driver { dbesc($p['allow_cid']), dbesc($p['allow_gid']), dbesc($p['deny_cid']), - dbesc($p['deny_gid']) + dbesc($p['deny_gid']), + dbescdate($p['expires']) ); } logger('photo save ' . $p['imgscale'] . ' returned ' . intval($r)); diff --git a/include/photo/photo_imagick.php b/include/photo/photo_imagick.php index 89577e71e..f04c00245 100644 --- a/include/photo/photo_imagick.php +++ b/include/photo/photo_imagick.php @@ -31,8 +31,12 @@ class photo_imagick extends photo_driver { if(! $data) return; - $this->image->readImageBlob($data); - + try { + $this->image->readImageBlob($data); + } + catch (Exception $e) { + logger('imagick readImageBlob() exception:' . print_r($e,true)); + } /** * Setup the image to the format it will be saved to @@ -205,4 +209,4 @@ class photo_imagick extends photo_driver { -}
\ No newline at end of file +} diff --git a/include/text.php b/include/text.php index edd0f7a5a..bd0d8048d 100644 --- a/include/text.php +++ b/include/text.php @@ -1105,23 +1105,33 @@ function linkify($s, $me = false) { * to a local redirector which uses https and which redirects to the selected content * * @param string $s + * @param int $uid * @returns string */ function sslify($s) { + + // Local photo cache + $str = array( + 'body' => $s, + 'uid' => local_channel() + ); + call_hooks('cache_body_hook', $str); + + $s = $str['body']; + if (strpos(z_root(),'https:') === false) return $s; - + // By default we'll only sslify img tags because media files will probably choke. // You can set sslify_everything if you want - but it will likely white-screen if it hits your php memory limit. // The downside is that http: media files will likely be blocked by your browser // Complain to your browser maker $allow = get_config('system','sslify_everything'); - - $pattern = (($allow) ? "/\<(.*?)src=\"(http\:.*?)\"(.*?)\>/" : "/\<img(.*?)src=\"(http\:.*?)\"(.*?)\>/" ); + $pattern = (($allow) ? "/\<(.*?)src=[\"|'](http\:.*?)[\"|'](.*?)\>/" : "/\<img(.*?)src=[\"|'](http\:.*?)[\"|'](.*?)\>/" ); $matches = null; - $cnt = preg_match_all($pattern,$s,$matches,PREG_SET_ORDER); + $cnt = preg_match_all($pattern, $s, $matches, PREG_SET_ORDER); if ($cnt) { foreach ($matches as $match) { $filename = basename( parse_url($match[2], PHP_URL_PATH) ); @@ -3295,7 +3305,7 @@ function cleanup_bbcode($body) { $body = preg_replace('/\[\/code\]\s*\[code\]/ism',"\n",$body); - $body = scale_external_images($body,false); + $body = scale_external_images($body, false); return $body; } @@ -3411,7 +3421,7 @@ function get_forum_channels($uid) { $sql_extra = (($xf) ? " and ( xchan_hash in (" . $xf . ") or xchan_pubforum = 1 ) " : " and xchan_pubforum = 1 "); - $r = q("select abook_id, xchan_hash, xchan_name, xchan_url, xchan_photo_s from abook left join xchan on abook_xchan = xchan_hash where xchan_deleted = 0 and abook_channel = %d and abook_pending = 0 and abook_ignored = 0 and abook_blocked = 0 and abook_archived = 0 $sql_extra order by xchan_name", + $r = q("select abook_id, xchan_hash, xchan_name, xchan_url, xchan_addr, xchan_photo_s from abook left join xchan on abook_xchan = xchan_hash where xchan_deleted = 0 and abook_channel = %d and abook_pending = 0 and abook_ignored = 0 and abook_blocked = 0 and abook_archived = 0 $sql_extra order by xchan_name", intval($uid) ); diff --git a/install/schema_mysql.sql b/install/schema_mysql.sql index c820fca25..49a2c476a 100644 --- a/install/schema_mysql.sql +++ b/install/schema_mysql.sql @@ -916,7 +916,6 @@ CREATE TABLE IF NOT EXISTS `outq` ( KEY `outq_priority` (`outq_priority`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; - CREATE TABLE IF NOT EXISTS pchan ( `pchan_id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT, `pchan_guid` char(191) NOT NULL DEFAULT '', @@ -928,15 +927,16 @@ CREATE TABLE IF NOT EXISTS pchan ( KEY `pchan_hash` (`pchan_hash`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; - CREATE TABLE IF NOT EXISTS `pconfig` ( `id` int(11) NOT NULL AUTO_INCREMENT, `uid` int(11) NOT NULL DEFAULT 0 , `cat` char(191) NOT NULL DEFAULT '', `k` char(191) NOT NULL DEFAULT '', `v` mediumtext NOT NULL, + `updated` datetime NOT NULL DEFAULT '0001-01-01 00:00:00', PRIMARY KEY (`id`), - UNIQUE KEY `access` (`uid`,`cat`,`k`) + UNIQUE KEY `access` (`uid`,`cat`,`k`), + KEY `pconfig_updated` (`updated`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; CREATE TABLE IF NOT EXISTS `photo` ( @@ -947,6 +947,7 @@ CREATE TABLE IF NOT EXISTS `photo` ( `resource_id` char(191) NOT NULL DEFAULT '', `created` datetime NOT NULL DEFAULT '0001-01-01 00:00:00', `edited` datetime NOT NULL DEFAULT '0001-01-01 00:00:00', + `expires` datetime NOT NULL DEFAULT '0001-01-01 00:00:00', `title` char(191) NOT NULL DEFAULT '', `description` text NOT NULL, `album` char(191) NOT NULL DEFAULT '', @@ -979,6 +980,7 @@ CREATE TABLE IF NOT EXISTS `photo` ( KEY `xchan` (`xchan`), KEY `filesize` (`filesize`), KEY `resource_id` (`resource_id`), + KEY `expires` (`expires`), KEY `is_nsfw` (`is_nsfw`), KEY `os_storage` (`os_storage`), KEY `photo_usage` (`photo_usage`) diff --git a/install/schema_postgres.sql b/install/schema_postgres.sql index 3bc256377..1b6cab51b 100644 --- a/install/schema_postgres.sql +++ b/install/schema_postgres.sql @@ -897,7 +897,6 @@ create index "outq_async" on outq ("outq_async"); create index "outq_delivered" on outq ("outq_delivered"); create index "outq_priority" on outq ("outq_priority"); - CREATE TABLE "pchan" ( "pchan_id" serial NOT NULL, "pchan_guid" text NOT NULL, @@ -906,7 +905,6 @@ CREATE TABLE "pchan" ( "pchan_prvkey" text NOT NULL, PRIMARY KEY ("pchan_id") ); - create index "pchan_guid" on pchan ("pchan_guid"); create index "pchan_hash" on pchan ("pchan_hash"); @@ -916,9 +914,11 @@ CREATE TABLE "pconfig" ( "cat" text NOT NULL, "k" text NOT NULL, "v" text NOT NULL, + "updated" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00', PRIMARY KEY ("id"), UNIQUE ("uid","cat","k") ); +create index "pconfig_updated_idx" on pconfig ("updated"); CREATE TABLE "photo" ( "id" serial NOT NULL, @@ -928,6 +928,7 @@ CREATE TABLE "photo" ( "resource_id" text NOT NULL, "created" timestamp NOT NULL, "edited" timestamp NOT NULL, + "expires" timestamp NOT NULL, "title" text NOT NULL, "description" text NOT NULL, "album" text NOT NULL, @@ -961,6 +962,7 @@ create index "photo_aid" on photo ("aid"); create index "photo_xchan" on photo ("xchan"); create index "photo_filesize" on photo ("filesize"); create index "photo_resource_id" on photo ("resource_id"); +create index "photo_expires_idx" on photo ("expires"); create index "photo_usage" on photo ("photo_usage"); create index "photo_is_nsfw" on photo ("is_nsfw"); create index "photo_os_storage" on photo ("os_storage"); diff --git a/library/imagesloaded/imagesloaded.pkgd.min.js b/library/imagesloaded/imagesloaded.pkgd.min.js deleted file mode 100644 index c3e71fadc..000000000 --- a/library/imagesloaded/imagesloaded.pkgd.min.js +++ /dev/null @@ -1,7 +0,0 @@ -/*! - * imagesLoaded PACKAGED v4.1.0 - * JavaScript is all like "You images are done yet or what?" - * MIT License - */ - -!function(t,e){"function"==typeof define&&define.amd?define("ev-emitter/ev-emitter",e):"object"==typeof module&&module.exports?module.exports=e():t.EvEmitter=e()}(this,function(){function t(){}var e=t.prototype;return e.on=function(t,e){if(t&&e){var i=this._events=this._events||{},n=i[t]=i[t]||[];return-1==n.indexOf(e)&&n.push(e),this}},e.once=function(t,e){if(t&&e){this.on(t,e);var i=this._onceEvents=this._onceEvents||{},n=i[t]=i[t]||[];return n[e]=!0,this}},e.off=function(t,e){var i=this._events&&this._events[t];if(i&&i.length){var n=i.indexOf(e);return-1!=n&&i.splice(n,1),this}},e.emitEvent=function(t,e){var i=this._events&&this._events[t];if(i&&i.length){var n=0,o=i[n];e=e||[];for(var r=this._onceEvents&&this._onceEvents[t];o;){var s=r&&r[o];s&&(this.off(t,o),delete r[o]),o.apply(this,e),n+=s?0:1,o=i[n]}return this}},t}),function(t,e){"use strict";"function"==typeof define&&define.amd?define(["ev-emitter/ev-emitter"],function(i){return e(t,i)}):"object"==typeof module&&module.exports?module.exports=e(t,require("ev-emitter")):t.imagesLoaded=e(t,t.EvEmitter)}(window,function(t,e){function i(t,e){for(var i in e)t[i]=e[i];return t}function n(t){var e=[];if(Array.isArray(t))e=t;else if("number"==typeof t.length)for(var i=0;i<t.length;i++)e.push(t[i]);else e.push(t);return e}function o(t,e,r){return this instanceof o?("string"==typeof t&&(t=document.querySelectorAll(t)),this.elements=n(t),this.options=i({},this.options),"function"==typeof e?r=e:i(this.options,e),r&&this.on("always",r),this.getImages(),h&&(this.jqDeferred=new h.Deferred),void setTimeout(function(){this.check()}.bind(this))):new o(t,e,r)}function r(t){this.img=t}function s(t,e){this.url=t,this.element=e,this.img=new Image}var h=t.jQuery,a=t.console;o.prototype=Object.create(e.prototype),o.prototype.options={},o.prototype.getImages=function(){this.images=[],this.elements.forEach(this.addElementImages,this)},o.prototype.addElementImages=function(t){"IMG"==t.nodeName&&this.addImage(t),this.options.background===!0&&this.addElementBackgroundImages(t);var e=t.nodeType;if(e&&d[e]){for(var i=t.querySelectorAll("img"),n=0;n<i.length;n++){var o=i[n];this.addImage(o)}if("string"==typeof this.options.background){var r=t.querySelectorAll(this.options.background);for(n=0;n<r.length;n++){var s=r[n];this.addElementBackgroundImages(s)}}}};var d={1:!0,9:!0,11:!0};return o.prototype.addElementBackgroundImages=function(t){var e=getComputedStyle(t);if(e)for(var i=/url\((['"])?(.*?)\1\)/gi,n=i.exec(e.backgroundImage);null!==n;){var o=n&&n[2];o&&this.addBackground(o,t),n=i.exec(e.backgroundImage)}},o.prototype.addImage=function(t){var e=new r(t);this.images.push(e)},o.prototype.addBackground=function(t,e){var i=new s(t,e);this.images.push(i)},o.prototype.check=function(){function t(t,i,n){setTimeout(function(){e.progress(t,i,n)})}var e=this;return this.progressedCount=0,this.hasAnyBroken=!1,this.images.length?void this.images.forEach(function(e){e.once("progress",t),e.check()}):void this.complete()},o.prototype.progress=function(t,e,i){this.progressedCount++,this.hasAnyBroken=this.hasAnyBroken||!t.isLoaded,this.emitEvent("progress",[this,t,e]),this.jqDeferred&&this.jqDeferred.notify&&this.jqDeferred.notify(this,t),this.progressedCount==this.images.length&&this.complete(),this.options.debug&&a&&a.log("progress: "+i,t,e)},o.prototype.complete=function(){var t=this.hasAnyBroken?"fail":"done";if(this.isComplete=!0,this.emitEvent(t,[this]),this.emitEvent("always",[this]),this.jqDeferred){var e=this.hasAnyBroken?"reject":"resolve";this.jqDeferred[e](this)}},r.prototype=Object.create(e.prototype),r.prototype.check=function(){var t=this.getIsImageComplete();return t?void this.confirm(0!==this.img.naturalWidth,"naturalWidth"):(this.proxyImage=new Image,this.proxyImage.addEventListener("load",this),this.proxyImage.addEventListener("error",this),this.img.addEventListener("load",this),this.img.addEventListener("error",this),void(this.proxyImage.src=this.img.src))},r.prototype.getIsImageComplete=function(){return this.img.complete&&void 0!==this.img.naturalWidth},r.prototype.confirm=function(t,e){this.isLoaded=t,this.emitEvent("progress",[this,this.img,e])},r.prototype.handleEvent=function(t){var e="on"+t.type;this[e]&&this[e](t)},r.prototype.onload=function(){this.confirm(!0,"onload"),this.unbindEvents()},r.prototype.onerror=function(){this.confirm(!1,"onerror"),this.unbindEvents()},r.prototype.unbindEvents=function(){this.proxyImage.removeEventListener("load",this),this.proxyImage.removeEventListener("error",this),this.img.removeEventListener("load",this),this.img.removeEventListener("error",this)},s.prototype=Object.create(r.prototype),s.prototype.check=function(){this.img.addEventListener("load",this),this.img.addEventListener("error",this),this.img.src=this.url;var t=this.getIsImageComplete();t&&(this.confirm(0!==this.img.naturalWidth,"naturalWidth"),this.unbindEvents())},s.prototype.unbindEvents=function(){this.img.removeEventListener("load",this),this.img.removeEventListener("error",this)},s.prototype.confirm=function(t,e){this.isLoaded=t,this.emitEvent("progress",[this,this.element,e])},o.makeJQueryPlugin=function(e){e=e||t.jQuery,e&&(h=e,h.fn.imagesLoaded=function(t,e){var i=new o(this,t,e);return i.jqDeferred.promise(h(this))})},o.makeJQueryPlugin(),o});
\ No newline at end of file diff --git a/vendor/blueimp/jquery-file-upload/README.md b/vendor/blueimp/jquery-file-upload/README.md index d2f104d5c..d9e16ed18 100644 --- a/vendor/blueimp/jquery-file-upload/README.md +++ b/vendor/blueimp/jquery-file-upload/README.md @@ -10,7 +10,7 @@ Supports cross-domain, chunked and resumable file uploads and client-side image ## β οΈ Security Notice Security related releases: -* [v9.25.1](https://github.com/blueimp/jQuery-File-Upload/releases/tag/v9.25.1) Mitigates some [Potential vulnerabilities with PHP+ImageMagick](VULNERABILITIES.md#potential-vulnerabilities-with-php+imagemagick). +* [v9.25.1](https://github.com/blueimp/jQuery-File-Upload/releases/tag/v9.25.1) Mitigates some [Potential vulnerabilities with PHP+ImageMagick](VULNERABILITIES.md#potential-vulnerabilities-with-php-imagemagick). * [v9.24.1](https://github.com/blueimp/jQuery-File-Upload/releases/tag/v9.24.1) Fixes a [Remote code execution vulnerability in the PHP component](VULNERABILITIES.md#remote-code-execution-vulnerability-in-the-php-component). * v[9.10.1](https://github.com/blueimp/jQuery-File-Upload/releases/tag/9.10.1) Fixes an [Open redirect vulnerability in the GAE components](VULNERABILITIES.md#open-redirect-vulnerability-in-the-gae-components). * Commit [4175032](https://github.com/blueimp/jQuery-File-Upload/commit/41750323a464e848856dc4c5c940663498beb74a) (*fixed in all tagged releases*) Fixes a [Cross-site scripting vulnerability in the Iframe Transport](VULNERABILITIES.md#cross-site-scripting-vulnerability-in-the-iframe-transport). diff --git a/vendor/blueimp/jquery-file-upload/SECURITY.md b/vendor/blueimp/jquery-file-upload/SECURITY.md index db58f7dd7..86ffc163b 100644 --- a/vendor/blueimp/jquery-file-upload/SECURITY.md +++ b/vendor/blueimp/jquery-file-upload/SECURITY.md @@ -113,7 +113,7 @@ location ^~ /path/to/project/server/php/files { ``` ## Secure image processing configurations -The following configuration mitigates [potential image processing vulnerabilities with ImageMagick](VULNERABILITIES.md#potential-vulnerabilities-with-php+imagemagick) by limiting the attack vectors to a small subset of image types (`GIF/JPEG/PNG`). +The following configuration mitigates [potential image processing vulnerabilities with ImageMagick](VULNERABILITIES.md#potential-vulnerabilities-with-php-imagemagick) by limiting the attack vectors to a small subset of image types (`GIF/JPEG/PNG`). Please also consider using alternative, safer image processing libraries like [libvips](https://github.com/libvips/libvips) or [imageflow](https://github.com/imazen/imageflow). diff --git a/vendor/blueimp/jquery-file-upload/angularjs.html b/vendor/blueimp/jquery-file-upload/angularjs.html index 2051bbf79..e8b05e77f 100644 --- a/vendor/blueimp/jquery-file-upload/angularjs.html +++ b/vendor/blueimp/jquery-file-upload/angularjs.html @@ -22,7 +22,7 @@ <meta name="description" content="File Upload widget with multiple file selection, drag&drop support, progress bars, validation and preview images, audio and video for AngularJS. Supports cross-domain, chunked and resumable file uploads and client-side image resizing. Works with any server-side platform (PHP, Python, Ruby on Rails, Java, Node.js, Go etc.) that supports standard HTML form file uploads."> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <!-- Bootstrap styles --> -<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"> +<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous"> <!-- Generic page styles --> <link rel="stylesheet" href="css/style.css"> <!-- blueimp Gallery styles --> @@ -177,8 +177,8 @@ <a class="play-pause"></a> <ol class="indicator"></ol> </div> -<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> -<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.min.js"></script> +<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js" integrity="sha384-xBuQ/xzmlsLoJpyjoggmTEz8OWUFM0/RC5BsqQBDX2v5cMvDHcMakNTNrHIW2I5f" crossorigin="anonymous"></script> +<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.min.js" integrity="sha384-r6jjWwxAypHaESwS5an5J9dkfzwQuKVNV9FZM9B6fnt8PFuY0cVwLhV7BltCZhLy" crossorigin="anonymous"></script> <!-- The jQuery UI widget factory, can be omitted if jQuery UI is already included --> <script src="js/vendor/jquery.ui.widget.js"></script> <!-- The Load Image plugin is included for the preview images and image resizing functionality --> @@ -186,7 +186,7 @@ <!-- The Canvas to Blob plugin is included for image resizing functionality --> <script src="https://blueimp.github.io/JavaScript-Canvas-to-Blob/js/canvas-to-blob.min.js"></script> <!-- Bootstrap JS is not required, but included for the responsive demo navigation --> -<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> +<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script> <!-- blueimp Gallery script --> <script src="https://blueimp.github.io/Gallery/js/jquery.blueimp-gallery.min.js"></script> <!-- The Iframe Transport is required for browsers without support for XHR file uploads --> diff --git a/vendor/blueimp/jquery-file-upload/basic-plus.html b/vendor/blueimp/jquery-file-upload/basic-plus.html index acee24843..6d53acdc1 100644 --- a/vendor/blueimp/jquery-file-upload/basic-plus.html +++ b/vendor/blueimp/jquery-file-upload/basic-plus.html @@ -20,7 +20,7 @@ <meta name="description" content="File Upload widget with multiple file selection, drag&drop support, progress bar, validation and preview images, audio and video for jQuery. Supports cross-domain, chunked and resumable file uploads. Works with any server-side platform (Google App Engine, PHP, Python, Ruby on Rails, Java, etc.) that supports standard HTML form file uploads."> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <!-- Bootstrap styles --> -<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"> +<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous"> <!-- Generic page styles --> <link rel="stylesheet" href="css/style.css"> <!-- CSS to style the file input field as button and adjust the Bootstrap progress bars --> @@ -96,15 +96,15 @@ </div> </div> </div> -<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> +<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js" integrity="sha384-xBuQ/xzmlsLoJpyjoggmTEz8OWUFM0/RC5BsqQBDX2v5cMvDHcMakNTNrHIW2I5f" crossorigin="anonymous"></script> <!-- The jQuery UI widget factory, can be omitted if jQuery UI is already included --> <script src="js/vendor/jquery.ui.widget.js"></script> <!-- The Load Image plugin is included for the preview images and image resizing functionality --> -<script src="https://blueimp.github.io/JavaScript-Load-Image/js/load-image.all.min.js"></script> +<script src="https://blueimp.github.io/JavaScript-Load-Image/js/load-image.all.min.js"></script> <!-- The Canvas to Blob plugin is included for image resizing functionality --> <script src="https://blueimp.github.io/JavaScript-Canvas-to-Blob/js/canvas-to-blob.min.js"></script> <!-- Bootstrap JS is not required, but included for the responsive demo navigation --> -<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> +<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script> <!-- The Iframe Transport is required for browsers without support for XHR file uploads --> <script src="js/jquery.iframe-transport.js"></script> <!-- The basic File Upload plugin --> diff --git a/vendor/blueimp/jquery-file-upload/basic.html b/vendor/blueimp/jquery-file-upload/basic.html index 232a24624..a9ef6273e 100644 --- a/vendor/blueimp/jquery-file-upload/basic.html +++ b/vendor/blueimp/jquery-file-upload/basic.html @@ -20,7 +20,7 @@ <meta name="description" content="File Upload widget with multiple file selection, drag&drop support and progress bar for jQuery. Supports cross-domain, chunked and resumable file uploads. Works with any server-side platform (PHP, Python, Ruby on Rails, Java, Node.js, Go etc.) that supports standard HTML form file uploads."> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <!-- Bootstrap styles --> -<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"> +<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous"> <!-- Generic page styles --> <link rel="stylesheet" href="css/style.css"> <!-- CSS to style the file input field as button and adjust the Bootstrap progress bars --> @@ -96,7 +96,7 @@ </div> </div> </div> -<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> +<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js" integrity="sha384-xBuQ/xzmlsLoJpyjoggmTEz8OWUFM0/RC5BsqQBDX2v5cMvDHcMakNTNrHIW2I5f" crossorigin="anonymous"></script> <!-- The jQuery UI widget factory, can be omitted if jQuery UI is already included --> <script src="js/vendor/jquery.ui.widget.js"></script> <!-- The Iframe Transport is required for browsers without support for XHR file uploads --> @@ -104,7 +104,7 @@ <!-- The basic File Upload plugin --> <script src="js/jquery.fileupload.js"></script> <!-- Bootstrap JS is not required, but included for the responsive demo navigation --> -<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> +<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script> <script> /*jslint unparam: true */ /*global window, $ */ diff --git a/vendor/blueimp/jquery-file-upload/bower-version-update.js b/vendor/blueimp/jquery-file-upload/bower-version-update.js index 09ce3927e..09ce3927e 100755..100644 --- a/vendor/blueimp/jquery-file-upload/bower-version-update.js +++ b/vendor/blueimp/jquery-file-upload/bower-version-update.js diff --git a/vendor/blueimp/jquery-file-upload/bower.json b/vendor/blueimp/jquery-file-upload/bower.json index 34594a32f..2a56262a1 100644 --- a/vendor/blueimp/jquery-file-upload/bower.json +++ b/vendor/blueimp/jquery-file-upload/bower.json @@ -1,6 +1,6 @@ { "name": "blueimp-file-upload", - "version": "9.25.1", + "version": "9.28.0", "title": "jQuery File Upload", "description": "File Upload widget with multiple file selection, drag&drop support, progress bar, validation and preview images.", "keywords": [ diff --git a/vendor/blueimp/jquery-file-upload/cors/postmessage.html b/vendor/blueimp/jquery-file-upload/cors/postmessage.html index 6a56cf0b6..381a8e0cd 100644 --- a/vendor/blueimp/jquery-file-upload/cors/postmessage.html +++ b/vendor/blueimp/jquery-file-upload/cors/postmessage.html @@ -15,7 +15,7 @@ <head> <meta charset="utf-8"> <title>jQuery File Upload Plugin postMessage API</title> -<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> +<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js" integrity="sha384-xBuQ/xzmlsLoJpyjoggmTEz8OWUFM0/RC5BsqQBDX2v5cMvDHcMakNTNrHIW2I5f" crossorigin="anonymous"></script> </head> <body> <script> diff --git a/vendor/blueimp/jquery-file-upload/index.html b/vendor/blueimp/jquery-file-upload/index.html index c8c66ad8b..37e08a7cb 100644 --- a/vendor/blueimp/jquery-file-upload/index.html +++ b/vendor/blueimp/jquery-file-upload/index.html @@ -22,7 +22,7 @@ <meta name="description" content="File Upload widget with multiple file selection, drag&drop support, progress bars, validation and preview images, audio and video for jQuery. Supports cross-domain, chunked and resumable file uploads and client-side image resizing. Works with any server-side platform (PHP, Python, Ruby on Rails, Java, Node.js, Go etc.) that supports standard HTML form file uploads."> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <!-- Bootstrap styles --> -<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"> +<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous"> <!-- Generic page styles --> <link rel="stylesheet" href="css/style.css"> <!-- blueimp Gallery styles --> @@ -216,7 +216,7 @@ </tr> {% } %} </script> -<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> +<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js" integrity="sha384-xBuQ/xzmlsLoJpyjoggmTEz8OWUFM0/RC5BsqQBDX2v5cMvDHcMakNTNrHIW2I5f" crossorigin="anonymous"></script> <!-- The jQuery UI widget factory, can be omitted if jQuery UI is already included --> <script src="js/vendor/jquery.ui.widget.js"></script> <!-- The Templates plugin is included to render the upload/download listings --> @@ -226,7 +226,7 @@ <!-- The Canvas to Blob plugin is included for image resizing functionality --> <script src="https://blueimp.github.io/JavaScript-Canvas-to-Blob/js/canvas-to-blob.min.js"></script> <!-- Bootstrap JS is not required, but included for the responsive demo navigation --> -<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> +<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script> <!-- blueimp Gallery script --> <script src="https://blueimp.github.io/Gallery/js/jquery.blueimp-gallery.min.js"></script> <!-- The Iframe Transport is required for browsers without support for XHR file uploads --> diff --git a/vendor/blueimp/jquery-file-upload/jquery-ui.html b/vendor/blueimp/jquery-file-upload/jquery-ui.html index 842dd4ca7..e44d41e89 100644 --- a/vendor/blueimp/jquery-file-upload/jquery-ui.html +++ b/vendor/blueimp/jquery-file-upload/jquery-ui.html @@ -22,7 +22,7 @@ <meta name="description" content="File Upload widget with multiple file selection, drag&drop support, progress bars, validation and preview images, audio and video for jQuery. Supports cross-domain, chunked and resumable file uploads and client-side image resizing. Works with any server-side platform (PHP, Python, Ruby on Rails, Java, Node.js, Go etc.) that supports standard HTML form file uploads."> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <!-- jQuery UI styles --> -<link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/themes/dark-hive/jquery-ui.css" id="theme"> +<link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/themes/dark-hive/jquery-ui.css" integrity="sha384-ufZtQaOYGuy/CibAC5jmelOpBu3H78Js7HrXSLo4LGccHUrGGHXt+uaTcDbio3kI" crossorigin="anonymous"> <!-- Generic page styles --> <link rel="stylesheet" href="css/style.css"> <!-- Demo styles --> @@ -201,8 +201,8 @@ </tr> {% } %} </script> -<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> -<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script> +<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js" integrity="sha384-xBuQ/xzmlsLoJpyjoggmTEz8OWUFM0/RC5BsqQBDX2v5cMvDHcMakNTNrHIW2I5f" crossorigin="anonymous"></script> +<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js" integrity="sha384-Dziy8F2VlJQLMShA6FHWNul/veM9bCkRUaLqr199K94ntO5QUrLJBEbYegdSkkqX" crossorigin="anonymous"></script> <!-- The Templates plugin is included to render the upload/download listings --> <script src="https://blueimp.github.io/JavaScript-Templates/js/tmpl.min.js"></script> <!-- The Load Image plugin is included for the preview images and image resizing functionality --> diff --git a/vendor/blueimp/jquery-file-upload/package.json b/vendor/blueimp/jquery-file-upload/package.json index 4b33a0362..0a635397c 100644 --- a/vendor/blueimp/jquery-file-upload/package.json +++ b/vendor/blueimp/jquery-file-upload/package.json @@ -1,6 +1,6 @@ { "name": "blueimp-file-upload", - "version": "9.25.1", + "version": "9.28.0", "title": "jQuery File Upload", "description": "File Upload widget with multiple file selection, drag&drop support, progress bar, validation and preview images, audio and video for jQuery. Supports cross-domain, chunked and resumable file uploads. Works with any server-side platform (Google App Engine, PHP, Python, Ruby on Rails, Java, etc.) that supports standard HTML form file uploads.", "keywords": [ diff --git a/vendor/blueimp/jquery-file-upload/server/php/UploadHandler.php b/vendor/blueimp/jquery-file-upload/server/php/UploadHandler.php index e44004395..5215e4c0f 100755..100644 --- a/vendor/blueimp/jquery-file-upload/server/php/UploadHandler.php +++ b/vendor/blueimp/jquery-file-upload/server/php/UploadHandler.php @@ -38,9 +38,9 @@ class UploadHandler 'image_resize' => 'Failed to resize image' ); - protected const IMAGETYPE_GIF = 1; - protected const IMAGETYPE_JPEG = 2; - protected const IMAGETYPE_PNG = 3; + const IMAGETYPE_GIF = 1; + const IMAGETYPE_JPEG = 2; + const IMAGETYPE_PNG = 3; protected $image_objects = array(); @@ -1047,13 +1047,18 @@ class UploadHandler } protected function create_scaled_image($file_name, $version, $options) { - if ($this->options['image_library'] === 2) { - return $this->imagemagick_create_scaled_image($file_name, $version, $options); - } - if ($this->options['image_library'] && extension_loaded('imagick')) { - return $this->imagick_create_scaled_image($file_name, $version, $options); + try { + if ($this->options['image_library'] === 2) { + return $this->imagemagick_create_scaled_image($file_name, $version, $options); + } + if ($this->options['image_library'] && extension_loaded('imagick')) { + return $this->imagick_create_scaled_image($file_name, $version, $options); + } + return $this->gd_create_scaled_image($file_name, $version, $options); + } catch (\Exception $e) { + error_log($e->getMessage()); + return false; } - return $this->gd_create_scaled_image($file_name, $version, $options); } protected function destroy_image_object($file_path) { @@ -1066,12 +1071,12 @@ class UploadHandler $fp = fopen($file_path, 'r'); $data = fread($fp, 4); fclose($fp); - // GIF: 47 49 46 - if (substr($data, 0, 3) === 'GIF') { + // GIF: 47 49 46 38 + if ($data === 'GIF8') { return self::IMAGETYPE_GIF; } - // JPG: FF D8 - if (bin2hex(substr($data, 0, 2)) === 'ffd8') { + // JPG: FF D8 FF + if (bin2hex(substr($data, 0, 3)) === 'ffd8ff') { return self::IMAGETYPE_JPEG; } // PNG: 89 50 4E 47 @@ -1082,6 +1087,9 @@ class UploadHandler } protected function is_valid_image_file($file_path) { + if (!preg_match('/\.(gif|jpe?g|png)$/i', $file_path)) { + return false; + } return !!$this->imagetype($file_path); } diff --git a/vendor/blueimp/jquery-file-upload/server/php/index.php b/vendor/blueimp/jquery-file-upload/server/php/index.php index 9c2cfb8eb..6caabb710 100644 --- a/vendor/blueimp/jquery-file-upload/server/php/index.php +++ b/vendor/blueimp/jquery-file-upload/server/php/index.php @@ -9,7 +9,7 @@ * Licensed under the MIT license: * https://opensource.org/licenses/MIT */ -exit; + error_reporting(E_ALL | E_STRICT); require('UploadHandler.php'); $upload_handler = new UploadHandler(); diff --git a/vendor/blueimp/jquery-file-upload/test/index.html b/vendor/blueimp/jquery-file-upload/test/index.html index 0b5cf57b7..b8c585df5 100644 --- a/vendor/blueimp/jquery-file-upload/test/index.html +++ b/vendor/blueimp/jquery-file-upload/test/index.html @@ -20,7 +20,7 @@ <meta charset="utf-8"> <title>jQuery File Upload Plugin Test</title> <meta name="viewport" content="width=device-width, initial-scale=1.0"> -<link rel="stylesheet" href="https://code.jquery.com/qunit/qunit-1.23.1.css"> +<link rel="stylesheet" href="https://code.jquery.com/qunit/qunit-1.23.1.css" integrity="sha384-RW07PgMHO3eNYL7ddFK/okEi1rjvSeJ3Ck/TxGUHkmzSlGmw4R9/KGJYUD3OicMd" crossorigin="anonymous"> </head> <body> <h1 id="qunit-header">jQuery File Upload Plugin Test</h1> @@ -145,7 +145,7 @@ </tr> {% } %} </script> -<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> +<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js" integrity="sha384-nvAa0+6Qg9clwYCGGPpDQLVpLNn0fRaROjHqs13t4Ggj3Ez50XnGQqc/r8MhnRDZ" crossorigin="anonymous"></script> <script src="../js/vendor/jquery.ui.widget.js"></script> <script src="https://blueimp.github.io/JavaScript-Templates/js/tmpl.min.js"></script> <script src="https://blueimp.github.io/JavaScript-Load-Image/js/load-image.all.min.js"></script> @@ -166,7 +166,7 @@ window.testBasicWidget = $.blueimp.fileupload; /* global window, $ */ window.testUIWidget = $.blueimp.fileupload; </script> -<script src="https://code.jquery.com/qunit/qunit-1.23.1.js"></script> +<script src="https://code.jquery.com/qunit/qunit-1.23.1.js" integrity="sha384-FJbPWND3tHbuhP8PhCp3Kn0bEtCxaIq+sfkmiJ+Su0jchKFnVbPQTTyPiuwqbkXa" crossorigin="anonymous"></script> <script src="test.js"></script> </body> </html> diff --git a/vendor/composer/ClassLoader.php b/vendor/composer/ClassLoader.php index 95f7e0978..fce8549f0 100644 --- a/vendor/composer/ClassLoader.php +++ b/vendor/composer/ClassLoader.php @@ -279,7 +279,7 @@ class ClassLoader */ public function setApcuPrefix($apcuPrefix) { - $this->apcuPrefix = function_exists('apcu_fetch') && ini_get('apc.enabled') ? $apcuPrefix : null; + $this->apcuPrefix = function_exists('apcu_fetch') && filter_var(ini_get('apc.enabled'), FILTER_VALIDATE_BOOLEAN) ? $apcuPrefix : null; } /** diff --git a/vendor/composer/LICENSE b/vendor/composer/LICENSE index f0157a6ed..f27399a04 100644 --- a/vendor/composer/LICENSE +++ b/vendor/composer/LICENSE @@ -1,56 +1,21 @@ -Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ -Upstream-Name: Composer -Upstream-Contact: Jordi Boggiano <j.boggiano@seld.be> -Source: https://github.com/composer/composer -Files: * -Copyright: 2016, Nils Adermann <naderman@naderman.de> - 2016, Jordi Boggiano <j.boggiano@seld.be> -License: Expat +Copyright (c) Nils Adermann, Jordi Boggiano -Files: src/Composer/Util/TlsHelper.php -Copyright: 2016, Nils Adermann <naderman@naderman.de> - 2016, Jordi Boggiano <j.boggiano@seld.be> - 2013, Evan Coury <me@evancoury.com> -License: Expat and BSD-2-Clause +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is furnished +to do so, subject to the following conditions: -License: BSD-2-Clause - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - . - * Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - . - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - . - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR - ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. -License: Expat - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is furnished - to do so, subject to the following conditions: - . - The above copyright notice and this permission notice shall be included in all - copies or substantial portions of the Software. - . - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - THE SOFTWARE. diff --git a/vendor/composer/autoload_classmap.php b/vendor/composer/autoload_classmap.php index f3c814e02..86acbb152 100644 --- a/vendor/composer/autoload_classmap.php +++ b/vendor/composer/autoload_classmap.php @@ -380,6 +380,9 @@ return array( 'Psr\\Log\\LoggerInterface' => $vendorDir . '/psr/log/Psr/Log/LoggerInterface.php', 'Psr\\Log\\LoggerTrait' => $vendorDir . '/psr/log/Psr/Log/LoggerTrait.php', 'Psr\\Log\\NullLogger' => $vendorDir . '/psr/log/Psr/Log/NullLogger.php', + 'Psr\\Log\\Test\\DummyTest' => $vendorDir . '/psr/log/Psr/Log/Test/LoggerInterfaceTest.php', + 'Psr\\Log\\Test\\LoggerInterfaceTest' => $vendorDir . '/psr/log/Psr/Log/Test/LoggerInterfaceTest.php', + 'Psr\\Log\\Test\\TestLogger' => $vendorDir . '/psr/log/Psr/Log/Test/TestLogger.php', 'Ramsey\\Uuid\\BinaryUtils' => $vendorDir . '/ramsey/uuid/src/BinaryUtils.php', 'Ramsey\\Uuid\\Builder\\DefaultUuidBuilder' => $vendorDir . '/ramsey/uuid/src/Builder/DefaultUuidBuilder.php', 'Ramsey\\Uuid\\Builder\\DegradedUuidBuilder' => $vendorDir . '/ramsey/uuid/src/Builder/DegradedUuidBuilder.php', @@ -981,7 +984,6 @@ return array( 'Zotlabs\\Module\\Mood' => $baseDir . '/Zotlabs/Module/Mood.php', 'Zotlabs\\Module\\Network' => $baseDir . '/Zotlabs/Module/Network.php', 'Zotlabs\\Module\\New_channel' => $baseDir . '/Zotlabs/Module/New_channel.php', - 'Zotlabs\\Module\\Nojs' => $baseDir . '/Zotlabs/Module/Nojs.php', 'Zotlabs\\Module\\Notes' => $baseDir . '/Zotlabs/Module/Notes.php', 'Zotlabs\\Module\\Notifications' => $baseDir . '/Zotlabs/Module/Notifications.php', 'Zotlabs\\Module\\Notify' => $baseDir . '/Zotlabs/Module/Notify.php', @@ -1337,7 +1339,10 @@ return array( 'Zotlabs\\Update\\_1222' => $baseDir . '/Zotlabs/Update/_1222.php', 'Zotlabs\\Update\\_1223' => $baseDir . '/Zotlabs/Update/_1223.php', 'Zotlabs\\Update\\_1224' => $baseDir . '/Zotlabs/Update/_1224.php', - 'Zotlabs\\Web\\CheckJS' => $baseDir . '/Zotlabs/Web/CheckJS.php', + 'Zotlabs\\Update\\_1225' => $baseDir . '/Zotlabs/Update/_1225.php', + 'Zotlabs\\Update\\_1226' => $baseDir . '/Zotlabs/Update/_1226.php', + 'Zotlabs\\Update\\_1227' => $baseDir . '/Zotlabs/Update/_1227.php', + 'Zotlabs\\Update\\_1228' => $baseDir . '/Zotlabs/Update/_1228.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_static.php b/vendor/composer/autoload_static.php index ce0232306..ea23de753 100644 --- a/vendor/composer/autoload_static.php +++ b/vendor/composer/autoload_static.php @@ -548,6 +548,9 @@ class ComposerStaticInit7b34d7e50a62201ec5d5e526a5b8b35d 'Psr\\Log\\LoggerInterface' => __DIR__ . '/..' . '/psr/log/Psr/Log/LoggerInterface.php', 'Psr\\Log\\LoggerTrait' => __DIR__ . '/..' . '/psr/log/Psr/Log/LoggerTrait.php', 'Psr\\Log\\NullLogger' => __DIR__ . '/..' . '/psr/log/Psr/Log/NullLogger.php', + 'Psr\\Log\\Test\\DummyTest' => __DIR__ . '/..' . '/psr/log/Psr/Log/Test/LoggerInterfaceTest.php', + 'Psr\\Log\\Test\\LoggerInterfaceTest' => __DIR__ . '/..' . '/psr/log/Psr/Log/Test/LoggerInterfaceTest.php', + 'Psr\\Log\\Test\\TestLogger' => __DIR__ . '/..' . '/psr/log/Psr/Log/Test/TestLogger.php', 'Ramsey\\Uuid\\BinaryUtils' => __DIR__ . '/..' . '/ramsey/uuid/src/BinaryUtils.php', 'Ramsey\\Uuid\\Builder\\DefaultUuidBuilder' => __DIR__ . '/..' . '/ramsey/uuid/src/Builder/DefaultUuidBuilder.php', 'Ramsey\\Uuid\\Builder\\DegradedUuidBuilder' => __DIR__ . '/..' . '/ramsey/uuid/src/Builder/DegradedUuidBuilder.php', @@ -1149,7 +1152,6 @@ class ComposerStaticInit7b34d7e50a62201ec5d5e526a5b8b35d 'Zotlabs\\Module\\Mood' => __DIR__ . '/../..' . '/Zotlabs/Module/Mood.php', 'Zotlabs\\Module\\Network' => __DIR__ . '/../..' . '/Zotlabs/Module/Network.php', 'Zotlabs\\Module\\New_channel' => __DIR__ . '/../..' . '/Zotlabs/Module/New_channel.php', - 'Zotlabs\\Module\\Nojs' => __DIR__ . '/../..' . '/Zotlabs/Module/Nojs.php', 'Zotlabs\\Module\\Notes' => __DIR__ . '/../..' . '/Zotlabs/Module/Notes.php', 'Zotlabs\\Module\\Notifications' => __DIR__ . '/../..' . '/Zotlabs/Module/Notifications.php', 'Zotlabs\\Module\\Notify' => __DIR__ . '/../..' . '/Zotlabs/Module/Notify.php', @@ -1506,7 +1508,9 @@ class ComposerStaticInit7b34d7e50a62201ec5d5e526a5b8b35d 'Zotlabs\\Update\\_1223' => __DIR__ . '/../..' . '/Zotlabs/Update/_1223.php', 'Zotlabs\\Update\\_1224' => __DIR__ . '/../..' . '/Zotlabs/Update/_1224.php', 'Zotlabs\\Update\\_1225' => __DIR__ . '/../..' . '/Zotlabs/Update/_1225.php', - 'Zotlabs\\Web\\CheckJS' => __DIR__ . '/../..' . '/Zotlabs/Web/CheckJS.php', + 'Zotlabs\\Update\\_1226' => __DIR__ . '/../..' . '/Zotlabs/Update/_1226.php', + 'Zotlabs\\Update\\_1227' => __DIR__ . '/../..' . '/Zotlabs/Update/_1227.php', + 'Zotlabs\\Update\\_1228' => __DIR__ . '/../..' . '/Zotlabs/Update/_1228.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/composer/installed.json b/vendor/composer/installed.json index af845828e..d2f86ea99 100644 --- a/vendor/composer/installed.json +++ b/vendor/composer/installed.json @@ -1,20 +1,20 @@ [ { "name": "blueimp/jquery-file-upload", - "version": "v9.25.1", - "version_normalized": "9.25.1.0", + "version": "v9.28.0", + "version_normalized": "9.28.0.0", "source": { "type": "git", "url": "https://github.com/vkhramtsov/jQuery-File-Upload.git", - "reference": "28891f9b2bc339bcc1ca8d548e5401e8563bf04b" + "reference": "ff5accfe2e5c4a522777faa980a90cf86a636d1d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/vkhramtsov/jQuery-File-Upload/zipball/28891f9b2bc339bcc1ca8d548e5401e8563bf04b", - "reference": "28891f9b2bc339bcc1ca8d548e5401e8563bf04b", + "url": "https://api.github.com/repos/vkhramtsov/jQuery-File-Upload/zipball/ff5accfe2e5c4a522777faa980a90cf86a636d1d", + "reference": "ff5accfe2e5c4a522777faa980a90cf86a636d1d", "shasum": "" }, - "time": "2018-10-26T07:21:48+00:00", + "time": "2018-11-13T05:41:39+00:00", "type": "library", "installation-source": "dist", "autoload": { @@ -163,6 +163,47 @@ "description": "Internationalization library powered by CLDR data." }, { + "name": "desandro/imagesloaded", + "version": "v4.1.4", + "version_normalized": "4.1.4.0", + "source": { + "type": "git", + "url": "https://github.com/desandro/imagesloaded.git", + "reference": "67c4e57453120935180c45c6820e7d3fbd2ea1f9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/desandro/imagesloaded/zipball/67c4e57453120935180c45c6820e7d3fbd2ea1f9", + "reference": "67c4e57453120935180c45c6820e7d3fbd2ea1f9", + "shasum": "" + }, + "time": "2018-01-02T16:53:35+00:00", + "type": "component", + "installation-source": "dist", + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "David DeSandro", + "homepage": "http://desandro.com/", + "role": "developer" + } + ], + "description": "JavaScript is all like _You images done yet or what?_", + "homepage": "http://imagesloaded.desandro.com", + "keywords": [ + "dom", + "images", + "javascript", + "jquery-plugin", + "library", + "loaded", + "ui" + ] + }, + { "name": "ezyang/htmlpurifier", "version": "v4.10.0", "version_normalized": "4.10.0.0", @@ -457,23 +498,23 @@ }, { "name": "psr/log", - "version": "1.0.2", - "version_normalized": "1.0.2.0", + "version": "1.1.0", + "version_normalized": "1.1.0.0", "source": { "type": "git", "url": "https://github.com/php-fig/log.git", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d" + "reference": "6c001f1daafa3a3ac1d8ff69ee4db8e799a654dd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", + "url": "https://api.github.com/repos/php-fig/log/zipball/6c001f1daafa3a3ac1d8ff69ee4db8e799a654dd", + "reference": "6c001f1daafa3a3ac1d8ff69ee4db8e799a654dd", "shasum": "" }, "require": { "php": ">=5.3.0" }, - "time": "2016-10-10T12:19:37+00:00", + "time": "2018-11-20T15:27:04+00:00", "type": "library", "extra": { "branch-alias": { @@ -1141,8 +1182,8 @@ }, { "name": "symfony/polyfill-ctype", - "version": "v1.9.0", - "version_normalized": "1.9.0.0", + "version": "v1.10.0", + "version_normalized": "1.10.0.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-ctype.git", diff --git a/vendor/desandro/imagesloaded/.gitignore b/vendor/desandro/imagesloaded/.gitignore new file mode 100644 index 000000000..2486eb53d --- /dev/null +++ b/vendor/desandro/imagesloaded/.gitignore @@ -0,0 +1,5 @@ +bower_components/ +node_modules/ +_site/ +build/ +package-lock.json diff --git a/vendor/desandro/imagesloaded/.jshintrc b/vendor/desandro/imagesloaded/.jshintrc new file mode 100644 index 000000000..78aa4af7b --- /dev/null +++ b/vendor/desandro/imagesloaded/.jshintrc @@ -0,0 +1,12 @@ +{ + "browser": true, + "curly": true, + "newcap": false, + "strict": true, + "undef": true, + "unused": true, + "globals": { + "imagesLoaded": false, + "QUnit": false + } +} diff --git a/vendor/desandro/imagesloaded/README.md b/vendor/desandro/imagesloaded/README.md new file mode 100644 index 000000000..67b799dfd --- /dev/null +++ b/vendor/desandro/imagesloaded/README.md @@ -0,0 +1,362 @@ +# imagesLoaded + +<p class="tagline">JavaScript is all like "You images done yet or what?"</p> + +[imagesloaded.desandro.com](http://imagesloaded.desandro.com) + +Detect when images have been loaded. + +## Install + +### Download + ++ [imagesloaded.pkgd.min.js](https://unpkg.com/imagesloaded@4/imagesloaded.pkgd.min.js) minified ++ [imagesloaded.pkgd.js](https://unpkg.com/imagesloaded@4/imagesloaded.pkgd.js) un-minified + +### CDN + +``` html +<script src="https://unpkg.com/imagesloaded@4/imagesloaded.pkgd.min.js"></script> +<!-- or --> +<script src="https://unpkg.com/imagesloaded@4/imagesloaded.pkgd.js"></script> +``` + +### Package managers + +Install via [npm](https://www.npmjs.com/package/imagesloaded): `npm install imagesloaded` + +Install via [Bower](http://bower.io): `bower install imagesloaded --save` + +## jQuery + +You can use imagesLoaded as a jQuery Plugin. + +``` js +$('#container').imagesLoaded( function() { + // images have loaded +}); + +// options +$('#container').imagesLoaded( { + // options... + }, + function() { + // images have loaded + } +); +``` + +`.imagesLoaded()` returns a [jQuery Deferred object](http://api.jquery.com/category/deferred-object/). This allows you to use `.always()`, `.done()`, `.fail()` and `.progress()`. + +``` js +$('#container').imagesLoaded() + .always( function( instance ) { + console.log('all images loaded'); + }) + .done( function( instance ) { + console.log('all images successfully loaded'); + }) + .fail( function() { + console.log('all images loaded, at least one is broken'); + }) + .progress( function( instance, image ) { + var result = image.isLoaded ? 'loaded' : 'broken'; + console.log( 'image is ' + result + ' for ' + image.img.src ); + }); +``` + +## Vanilla JavaScript + +You can use imagesLoaded with vanilla JS. + +``` js +imagesLoaded( elem, callback ) +// options +imagesLoaded( elem, options, callback ) +// you can use `new` if you like +new imagesLoaded( elem, callback ) +``` + ++ `elem` _Element, NodeList, Array, or Selector String_ ++ `options` _Object_ ++ `callback` _Function_ - function triggered after all images have been loaded + +Using a callback function is the same as binding it to the `always` event (see below). + +``` js +// element +imagesLoaded( document.querySelector('#container'), function( instance ) { + console.log('all images are loaded'); +}); +// selector string +imagesLoaded( '#container', function() {...}); +// multiple elements +var posts = document.querySelectorAll('.post'); +imagesLoaded( posts, function() {...}); +``` + +Bind events with vanilla JS with .on(), .off(), and .once() methods. + +``` js +var imgLoad = imagesLoaded( elem ); +function onAlways( instance ) { + console.log('all images are loaded'); +} +// bind with .on() +imgLoad.on( 'always', onAlways ); +// unbind with .off() +imgLoad.off( 'always', onAlways ); +``` + +## Background + +Detect when background images have loaded, in addition to `<img>`s. + +Set `{ background: true }` to detect when the element's background image has loaded. + +``` js +// jQuery +$('#container').imagesLoaded( { background: true }, function() { + console.log('#container background image loaded'); +}); + +// vanilla JS +imagesLoaded( '#container', { background: true }, function() { + console.log('#container background image loaded'); +}); +``` + +[See jQuery demo](http://codepen.io/desandro/pen/pjVMPB) or [vanilla JS demo](http://codepen.io/desandro/pen/avKooW) on CodePen. + +Set to a selector string like `{ background: '.item' }` to detect when the background images of child elements have loaded. + +``` js +// jQuery +$('#container').imagesLoaded( { background: '.item' }, function() { + console.log('all .item background images loaded'); +}); + +// vanilla JS +imagesLoaded( '#container', { background: '.item' }, function() { + console.log('all .item background images loaded'); +}); +``` + +[See jQuery demo](http://codepen.io/desandro/pen/avKoZL) or [vanilla JS demo](http://codepen.io/desandro/pen/vNrBGz) on CodePen. + +## Events + +### always + +``` js +// jQuery +$('#container').imagesLoaded().always( function( instance ) { + console.log('ALWAYS - all images have been loaded'); +}); + +// vanilla JS +imgLoad.on( 'always', function( instance ) { + console.log('ALWAYS - all images have been loaded'); +}); +``` + +Triggered after all images have been either loaded or confirmed broken. + ++ `instance` _imagesLoaded_ - the imagesLoaded instance + +### done + +``` js +// jQuery +$('#container').imagesLoaded().done( function( instance ) { + console.log('DONE - all images have been successfully loaded'); +}); + +// vanilla JS +imgLoad.on( 'done', function( instance ) { + console.log('DONE - all images have been successfully loaded'); +}); +``` + +Triggered after all images have successfully loaded without any broken images. + +### fail + +``` js +$('#container').imagesLoaded().fail( function( instance ) { + console.log('FAIL - all images loaded, at least one is broken'); +}); + +// vanilla JS +imgLoad.on( 'fail', function( instance ) { + console.log('FAIL - all images loaded, at least one is broken'); +}); +``` + +Triggered after all images have been loaded with at least one broken image. + +### progress + +``` js +imgLoad.on( 'progress', function( instance, image ) { + var result = image.isLoaded ? 'loaded' : 'broken'; + console.log( 'image is ' + result + ' for ' + image.img.src ); +}); +``` + +Triggered after each image has been loaded. + ++ `instance` _imagesLoaded_ - the imagesLoaded instance ++ `image` _LoadingImage_ - the LoadingImage instance of the loaded image + +<!-- sponsored --> + +## Properties + +### LoadingImage.img + +_Image_ - The `img` element + +### LoadingImage.isLoaded + +_Boolean_ - `true` when the image has successfully loaded + +### imagesLoaded.images + +Array of _LoadingImage_ instances for each image detected + +``` js +var imgLoad = imagesLoaded('#container'); +imgLoad.on( 'always', function() { + console.log( imgLoad.images.length + ' images loaded' ); + // detect which image is broken + for ( var i = 0, len = imgLoad.images.length; i < len; i++ ) { + var image = imgLoad.images[i]; + var result = image.isLoaded ? 'loaded' : 'broken'; + console.log( 'image is ' + result + ' for ' + image.img.src ); + } +}); +``` + +## Browserify + +imagesLoaded works with [Browserify](http://browserify.org/). + +``` bash +npm install imagesloaded --save +``` + +``` js +var imagesLoaded = require('imagesloaded'); + +imagesLoaded( elem, function() {...} ); +``` + +Use `.makeJQueryPlugin` to make to use `.imagesLoaded()` jQuery plugin. + +``` js +var $ = require('jquery'); +var imagesLoaded = require('imagesloaded'); + +// provide jQuery argument +imagesLoaded.makeJQueryPlugin( $ ); +// now use .imagesLoaded() jQuery plugin +$('#container').imagesLoaded( function() {...}); +``` + +## Webpack + +Install imagesLoaded with npm. + +``` bash +npm install imagesloaded +``` + +You can then `require('imagesloaded')`. + +``` js +// main.js +var imagesLoaded = require('imagesloaded'); + +imagesLoaded( '#container', function() { + // images have loaded +}); +``` + +Use `.makeJQueryPlugin` to make `.imagesLoaded()` jQuery plugin. + +``` js +// main.js +var imagesLoaded = require('imagesloaded'); +var $ = require('jquery'); + +// provide jQuery argument +imagesLoaded.makeJQueryPlugin( $ ); +// now use .imagesLoaded() jQuery plugin +$('#container').imagesLoaded( function() {...}); +``` + +Run webpack. + +``` bash +webpack main.js bundle.js +``` + +## RequireJS + +imagesLoaded works with [RequireJS](http://requirejs.org). + +You can require [imagesloaded.pkgd.js](http://imagesloaded.desandro.com/imagesloaded.pkgd.js). + +``` js +requirejs( [ + 'path/to/imagesloaded.pkgd.js', +], function( imagesLoaded ) { + imagesLoaded( '#container', function() { ... }); +}); +``` + +Use `.makeJQueryPlugin` to make `.imagesLoaded()` jQuery plugin. + +``` js +requirejs( [ + 'jquery', + 'path/to/imagesloaded.pkgd.js', +], function( $, imagesLoaded ) { + // provide jQuery argument + imagesLoaded.makeJQueryPlugin( $ ); + // now use .imagesLoaded() jQuery plugin + $('#container').imagesLoaded( function() {...}); +}); +``` + +You can manage dependencies with [Bower](http://bower.io). Set `baseUrl` to `bower_components` and set a path config for all your application code. + +``` js +requirejs.config({ + baseUrl: 'bower_components/', + paths: { // path to your app + app: '../' + } +}); + +requirejs( [ + 'imagesloaded/imagesloaded', + 'app/my-component.js' +], function( imagesLoaded, myComp ) { + imagesLoaded( '#container', function() { ... }); +}); +``` + +## Browser support + ++ IE9+ ++ Android 2.3+ ++ iOS Safari 4+ ++ All other modern browsers + +Use [imagesLoaded v3](http://imagesloaded.desandro.com/v3/) for IE8 support. + +## MIT License + +imagesLoaded is released under the [MIT License](http://desandro.mit-license.org/). Have at it. diff --git a/vendor/desandro/imagesloaded/bower.json b/vendor/desandro/imagesloaded/bower.json new file mode 100644 index 000000000..795c69f07 --- /dev/null +++ b/vendor/desandro/imagesloaded/bower.json @@ -0,0 +1,37 @@ +{ + "name": "imagesloaded", + "description": "JavaScript is all like _You images done yet or what?_", + "main": "imagesloaded.js", + "dependencies": { + "ev-emitter": "^1.0.0" + }, + "devDependencies": { + "jquery": ">=1.9 <4.0", + "qunit": "^2.0.0" + }, + "ignore": [ + "**/.*", + "test", + "package.json", + "composer.json", + "node_modules", + "bower_components", + "tests", + "sandbox/", + "gulpfile.js", + "contributing.md" + ], + "homepage": "http://imagesloaded.desandro.com", + "authors": [ + "David DeSandro" + ], + "moduleType": [ + "amd", + "globals", + "node" + ], + "keywords": [ + "images" + ], + "license": "MIT" +} diff --git a/vendor/desandro/imagesloaded/composer.json b/vendor/desandro/imagesloaded/composer.json new file mode 100644 index 000000000..95ba64c4a --- /dev/null +++ b/vendor/desandro/imagesloaded/composer.json @@ -0,0 +1,15 @@ +{ + "name": "desandro/imagesloaded", + "description": "JavaScript is all like _You images done yet or what?_", + "type": "component", + "keywords": ["javascript", "library", "images", "loaded", "dom", "ui", "jquery-plugin"], + "homepage": "http://imagesloaded.desandro.com", + "license": "MIT", + "authors": [ + { + "name": "David DeSandro", + "homepage": "http://desandro.com/", + "role": "developer" + } + ] +} diff --git a/vendor/desandro/imagesloaded/contributing.md b/vendor/desandro/imagesloaded/contributing.md new file mode 100644 index 000000000..acac280cc --- /dev/null +++ b/vendor/desandro/imagesloaded/contributing.md @@ -0,0 +1,20 @@ +## Submitting issues + +### Reduced test case required + +All bug reports and problem issues require a [**reduced test case**](http://css-tricks.com/reduced-test-cases/). + ++ A reduced test case clearly demonstrates the bug or issue. ++ It contains the bare minimum HTML, CSS, and JavaScript required to demonstrate the bug. ++ A link to your production site is **not** a reduced test case. + +Create a test case by forking a [CodePen demos](http://codepen.io/desandro/pens/tags/?selected_tag=imagesloaded-docs). + ++ [progress with jQuery](http://codepen.io/desandro/pen/bIFyl) ++ [progress with vanilla JS](http://codepen.io/desandro/pen/hlzaw) ++ [`{ background: true }` with jQuery](http://codepen.io/desandro/pen/pjVMPB) ++ [`{ background: true }` with vanilla JS](http://codepen.io/desandro/pen/avKooW) ++ [`{ background: '.selector' }` with jQuery](http://codepen.io/desandro/pen/avKoZL) ++ [`{ background: '.selector' }` with vanilla JS](http://codepen.io/desandro/pen/vNrBGz) + +Providing a reduced test case is the best way to get your issue addressed. They help you point out the problem. They help me verify and debug the problem. They help others understand the problem. Without a reduced test case, your issue may be closed. diff --git a/vendor/desandro/imagesloaded/gulpfile.js b/vendor/desandro/imagesloaded/gulpfile.js new file mode 100644 index 000000000..66f775f3d --- /dev/null +++ b/vendor/desandro/imagesloaded/gulpfile.js @@ -0,0 +1,128 @@ +/*jshint node: true, strict: false */ + +var fs = require('fs'); +var gulp = require('gulp'); +var rename = require('gulp-rename'); +var replace = require('gulp-replace'); + +// ----- hint ----- // + +var jshint = require('gulp-jshint'); + +gulp.task( 'hint-js', function() { + return gulp.src('imagesloaded.js') + .pipe( jshint() ) + .pipe( jshint.reporter('default') ); +}); + +gulp.task( 'hint-test', function() { + return gulp.src('test/unit/*.js') + .pipe( jshint() ) + .pipe( jshint.reporter('default') ); +}); + +gulp.task( 'hint-task', function() { + return gulp.src('gulpfile.js') + .pipe( jshint() ) + .pipe( jshint.reporter('default') ); +}); + +var jsonlint = require('gulp-json-lint'); + +gulp.task( 'jsonlint', function() { + return gulp.src( '*.json' ) + .pipe( jsonlint() ) + .pipe( jsonlint.report('verbose') ); +}); + +gulp.task( 'hint', [ 'hint-js', 'hint-test', 'hint-task', 'jsonlint' ]); + +// -------------------------- RequireJS makes pkgd -------------------------- // + +// refactored from gulp-requirejs-optimize +// https://www.npmjs.com/package/gulp-requirejs-optimize/ + +var gutil = require('gulp-util'); +var chalk = require('chalk'); +var rjsOptimize = require('gulp-requirejs-optimize'); + +// regex for banner comment +var reBannerComment = new RegExp('^\\s*(?:\\/\\*[\\s\\S]*?\\*\\/)\\s*'); + +function getBanner() { + var src = fs.readFileSync( 'imagesloaded.js', 'utf8' ); + var matches = src.match( reBannerComment ); + var banner = matches[0].replace( 'imagesLoaded', 'imagesLoaded PACKAGED' ); + return banner; +} + +function addBanner( str ) { + return replace( /^/, str ); +} + +gulp.task( 'requirejs', function() { + var banner = getBanner(); + // HACK src is not needed + // should refactor rjsOptimize to produce src + return gulp.src('imagesloaded.js') + .pipe( rjsOptimize({ + baseUrl: 'bower_components', + optimize: 'none', + include: [ + '../imagesloaded' + ] + }) ) + // remove named module + .pipe( replace( "'../imagesloaded',", '' ) ) + // add banner + .pipe( addBanner( banner ) ) + .pipe( rename('imagesloaded.pkgd.js') ) + .pipe( gulp.dest('.') ); +}); + + +// ----- uglify ----- // + +var uglify = require('gulp-uglify'); + +gulp.task( 'uglify', [ 'requirejs' ], function() { + var banner = getBanner(); + gulp.src('imagesloaded.pkgd.js') + .pipe( uglify() ) + // add banner + .pipe( addBanner( banner ) ) + .pipe( rename('imagesloaded.pkgd.min.js') ) + .pipe( gulp.dest('.') ); +}); + +// ----- version ----- // + +// set version in source files + +var minimist = require('minimist'); + +// use gulp version -t 1.2.3 +gulp.task( 'version', function() { + var args = minimist( process.argv.slice(3) ); + var version = args.t; + if ( !version || !/\d+\.\d+\.\d+/.test( version ) ) { + gutil.log( 'invalid version: ' + chalk.red( version ) ); + return; + } + gutil.log( 'ticking version to ' + chalk.green( version ) ); + + gulp.src('imagesloaded.js') + .pipe( replace( /imagesLoaded v\d+\.\d+\.\d+/, 'imagesLoaded v' + version ) ) + .pipe( gulp.dest('.') ); + + gulp.src( [ 'bower.json', 'package.json' ] ) + .pipe( replace( /"version": "\d+\.\d+\.\d+"/, '"version": "' + version + '"' ) ) + .pipe( gulp.dest('.') ); +}); + +// ----- default ----- // + +gulp.task( 'default', [ + 'hint', + 'uglify' +]); diff --git a/vendor/desandro/imagesloaded/imagesloaded.js b/vendor/desandro/imagesloaded/imagesloaded.js new file mode 100644 index 000000000..f527a71e9 --- /dev/null +++ b/vendor/desandro/imagesloaded/imagesloaded.js @@ -0,0 +1,377 @@ +/*! + * imagesLoaded v4.1.4 + * JavaScript is all like "You images are done yet or what?" + * MIT License + */ + +( function( window, factory ) { 'use strict'; + // universal module definition + + /*global define: false, module: false, require: false */ + + if ( typeof define == 'function' && define.amd ) { + // AMD + define( [ + 'ev-emitter/ev-emitter' + ], function( EvEmitter ) { + return factory( window, EvEmitter ); + }); + } else if ( typeof module == 'object' && module.exports ) { + // CommonJS + module.exports = factory( + window, + require('ev-emitter') + ); + } else { + // browser global + window.imagesLoaded = factory( + window, + window.EvEmitter + ); + } + +})( typeof window !== 'undefined' ? window : this, + +// -------------------------- factory -------------------------- // + +function factory( window, EvEmitter ) { + +'use strict'; + +var $ = window.jQuery; +var console = window.console; + +// -------------------------- helpers -------------------------- // + +// extend objects +function extend( a, b ) { + for ( var prop in b ) { + a[ prop ] = b[ prop ]; + } + return a; +} + +var arraySlice = Array.prototype.slice; + +// turn element or nodeList into an array +function makeArray( obj ) { + if ( Array.isArray( obj ) ) { + // use object if already an array + return obj; + } + + var isArrayLike = typeof obj == 'object' && typeof obj.length == 'number'; + if ( isArrayLike ) { + // convert nodeList to array + return arraySlice.call( obj ); + } + + // array of single index + return [ obj ]; +} + +// -------------------------- imagesLoaded -------------------------- // + +/** + * @param {Array, Element, NodeList, String} elem + * @param {Object or Function} options - if function, use as callback + * @param {Function} onAlways - callback function + */ +function ImagesLoaded( elem, options, onAlways ) { + // coerce ImagesLoaded() without new, to be new ImagesLoaded() + if ( !( this instanceof ImagesLoaded ) ) { + return new ImagesLoaded( elem, options, onAlways ); + } + // use elem as selector string + var queryElem = elem; + if ( typeof elem == 'string' ) { + queryElem = document.querySelectorAll( elem ); + } + // bail if bad element + if ( !queryElem ) { + console.error( 'Bad element for imagesLoaded ' + ( queryElem || elem ) ); + return; + } + + this.elements = makeArray( queryElem ); + this.options = extend( {}, this.options ); + // shift arguments if no options set + if ( typeof options == 'function' ) { + onAlways = options; + } else { + extend( this.options, options ); + } + + if ( onAlways ) { + this.on( 'always', onAlways ); + } + + this.getImages(); + + if ( $ ) { + // add jQuery Deferred object + this.jqDeferred = new $.Deferred(); + } + + // HACK check async to allow time to bind listeners + setTimeout( this.check.bind( this ) ); +} + +ImagesLoaded.prototype = Object.create( EvEmitter.prototype ); + +ImagesLoaded.prototype.options = {}; + +ImagesLoaded.prototype.getImages = function() { + this.images = []; + + // filter & find items if we have an item selector + this.elements.forEach( this.addElementImages, this ); +}; + +/** + * @param {Node} element + */ +ImagesLoaded.prototype.addElementImages = function( elem ) { + // filter siblings + if ( elem.nodeName == 'IMG' ) { + this.addImage( elem ); + } + // get background image on element + if ( this.options.background === true ) { + this.addElementBackgroundImages( elem ); + } + + // find children + // no non-element nodes, #143 + var nodeType = elem.nodeType; + if ( !nodeType || !elementNodeTypes[ nodeType ] ) { + return; + } + var childImgs = elem.querySelectorAll('img'); + // concat childElems to filterFound array + for ( var i=0; i < childImgs.length; i++ ) { + var img = childImgs[i]; + this.addImage( img ); + } + + // get child background images + if ( typeof this.options.background == 'string' ) { + var children = elem.querySelectorAll( this.options.background ); + for ( i=0; i < children.length; i++ ) { + var child = children[i]; + this.addElementBackgroundImages( child ); + } + } +}; + +var elementNodeTypes = { + 1: true, + 9: true, + 11: true +}; + +ImagesLoaded.prototype.addElementBackgroundImages = function( elem ) { + var style = getComputedStyle( elem ); + if ( !style ) { + // Firefox returns null if in a hidden iframe https://bugzil.la/548397 + return; + } + // get url inside url("...") + var reURL = /url\((['"])?(.*?)\1\)/gi; + var matches = reURL.exec( style.backgroundImage ); + while ( matches !== null ) { + var url = matches && matches[2]; + if ( url ) { + this.addBackground( url, elem ); + } + matches = reURL.exec( style.backgroundImage ); + } +}; + +/** + * @param {Image} img + */ +ImagesLoaded.prototype.addImage = function( img ) { + var loadingImage = new LoadingImage( img ); + this.images.push( loadingImage ); +}; + +ImagesLoaded.prototype.addBackground = function( url, elem ) { + var background = new Background( url, elem ); + this.images.push( background ); +}; + +ImagesLoaded.prototype.check = function() { + var _this = this; + this.progressedCount = 0; + this.hasAnyBroken = false; + // complete if no images + if ( !this.images.length ) { + this.complete(); + return; + } + + function onProgress( image, elem, message ) { + // HACK - Chrome triggers event before object properties have changed. #83 + setTimeout( function() { + _this.progress( image, elem, message ); + }); + } + + this.images.forEach( function( loadingImage ) { + loadingImage.once( 'progress', onProgress ); + loadingImage.check(); + }); +}; + +ImagesLoaded.prototype.progress = function( image, elem, message ) { + this.progressedCount++; + this.hasAnyBroken = this.hasAnyBroken || !image.isLoaded; + // progress event + this.emitEvent( 'progress', [ this, image, elem ] ); + if ( this.jqDeferred && this.jqDeferred.notify ) { + this.jqDeferred.notify( this, image ); + } + // check if completed + if ( this.progressedCount == this.images.length ) { + this.complete(); + } + + if ( this.options.debug && console ) { + console.log( 'progress: ' + message, image, elem ); + } +}; + +ImagesLoaded.prototype.complete = function() { + var eventName = this.hasAnyBroken ? 'fail' : 'done'; + this.isComplete = true; + this.emitEvent( eventName, [ this ] ); + this.emitEvent( 'always', [ this ] ); + if ( this.jqDeferred ) { + var jqMethod = this.hasAnyBroken ? 'reject' : 'resolve'; + this.jqDeferred[ jqMethod ]( this ); + } +}; + +// -------------------------- -------------------------- // + +function LoadingImage( img ) { + this.img = img; +} + +LoadingImage.prototype = Object.create( EvEmitter.prototype ); + +LoadingImage.prototype.check = function() { + // If complete is true and browser supports natural sizes, + // try to check for image status manually. + var isComplete = this.getIsImageComplete(); + if ( isComplete ) { + // report based on naturalWidth + this.confirm( this.img.naturalWidth !== 0, 'naturalWidth' ); + return; + } + + // If none of the checks above matched, simulate loading on detached element. + this.proxyImage = new Image(); + this.proxyImage.addEventListener( 'load', this ); + this.proxyImage.addEventListener( 'error', this ); + // bind to image as well for Firefox. #191 + this.img.addEventListener( 'load', this ); + this.img.addEventListener( 'error', this ); + this.proxyImage.src = this.img.src; +}; + +LoadingImage.prototype.getIsImageComplete = function() { + // check for non-zero, non-undefined naturalWidth + // fixes Safari+InfiniteScroll+Masonry bug infinite-scroll#671 + return this.img.complete && this.img.naturalWidth; +}; + +LoadingImage.prototype.confirm = function( isLoaded, message ) { + this.isLoaded = isLoaded; + this.emitEvent( 'progress', [ this, this.img, message ] ); +}; + +// ----- events ----- // + +// trigger specified handler for event type +LoadingImage.prototype.handleEvent = function( event ) { + var method = 'on' + event.type; + if ( this[ method ] ) { + this[ method ]( event ); + } +}; + +LoadingImage.prototype.onload = function() { + this.confirm( true, 'onload' ); + this.unbindEvents(); +}; + +LoadingImage.prototype.onerror = function() { + this.confirm( false, 'onerror' ); + this.unbindEvents(); +}; + +LoadingImage.prototype.unbindEvents = function() { + this.proxyImage.removeEventListener( 'load', this ); + this.proxyImage.removeEventListener( 'error', this ); + this.img.removeEventListener( 'load', this ); + this.img.removeEventListener( 'error', this ); +}; + +// -------------------------- Background -------------------------- // + +function Background( url, element ) { + this.url = url; + this.element = element; + this.img = new Image(); +} + +// inherit LoadingImage prototype +Background.prototype = Object.create( LoadingImage.prototype ); + +Background.prototype.check = function() { + this.img.addEventListener( 'load', this ); + this.img.addEventListener( 'error', this ); + this.img.src = this.url; + // check if image is already complete + var isComplete = this.getIsImageComplete(); + if ( isComplete ) { + this.confirm( this.img.naturalWidth !== 0, 'naturalWidth' ); + this.unbindEvents(); + } +}; + +Background.prototype.unbindEvents = function() { + this.img.removeEventListener( 'load', this ); + this.img.removeEventListener( 'error', this ); +}; + +Background.prototype.confirm = function( isLoaded, message ) { + this.isLoaded = isLoaded; + this.emitEvent( 'progress', [ this, this.element, message ] ); +}; + +// -------------------------- jQuery -------------------------- // + +ImagesLoaded.makeJQueryPlugin = function( jQuery ) { + jQuery = jQuery || window.jQuery; + if ( !jQuery ) { + return; + } + // set local variable + $ = jQuery; + // $().imagesLoaded() + $.fn.imagesLoaded = function( options, callback ) { + var instance = new ImagesLoaded( this, options, callback ); + return instance.jqDeferred.promise( $(this) ); + }; +}; +// try making plugin +ImagesLoaded.makeJQueryPlugin(); + +// -------------------------- -------------------------- // + +return ImagesLoaded; + +}); diff --git a/library/imagesloaded/imagesloaded.pkgd.js b/vendor/desandro/imagesloaded/imagesloaded.pkgd.js index ef23971be..a230750b3 100644 --- a/library/imagesloaded/imagesloaded.pkgd.js +++ b/vendor/desandro/imagesloaded/imagesloaded.pkgd.js @@ -1,11 +1,11 @@ /*! - * imagesLoaded PACKAGED v4.1.0 + * imagesLoaded PACKAGED v4.1.4 * JavaScript is all like "You images are done yet or what?" * MIT License */ /** - * EvEmitter v1.0.1 + * EvEmitter v1.1.0 * Lil' event emitter * MIT License */ @@ -14,7 +14,7 @@ ( function( global, factory ) { // universal module definition - /* jshint strict: false */ /* globals define, module */ + /* jshint strict: false */ /* globals define, module, window */ if ( typeof define == 'function' && define.amd ) { // AMD - RequireJS define( 'ev-emitter/ev-emitter',factory ); @@ -26,7 +26,7 @@ global.EvEmitter = factory(); } -}( this, function() { +}( typeof window != 'undefined' ? window : this, function() { @@ -59,8 +59,8 @@ proto.once = function( eventName, listener ) { // set once flag // set onceEvents hash var onceEvents = this._onceEvents = this._onceEvents || {}; - // set onceListeners array - var onceListeners = onceEvents[ eventName ] = onceEvents[ eventName ] || []; + // set onceListeners object + var onceListeners = onceEvents[ eventName ] = onceEvents[ eventName ] || {}; // set flag onceListeners[ listener ] = true; @@ -85,13 +85,14 @@ proto.emitEvent = function( eventName, args ) { if ( !listeners || !listeners.length ) { return; } - var i = 0; - var listener = listeners[i]; + // copy over to avoid interference if .off() in listener + listeners = listeners.slice(0); args = args || []; // once stuff var onceListeners = this._onceEvents && this._onceEvents[ eventName ]; - while ( listener ) { + for ( var i=0; i < listeners.length; i++ ) { + var listener = listeners[i] var isOnce = onceListeners && onceListeners[ listener ]; if ( isOnce ) { // remove listener @@ -102,20 +103,22 @@ proto.emitEvent = function( eventName, args ) { } // trigger listener listener.apply( this, args ); - // get next listener - i += isOnce ? 0 : 1; - listener = listeners[i]; } return this; }; +proto.allOff = function() { + delete this._events; + delete this._onceEvents; +}; + return EvEmitter; })); /*! - * imagesLoaded v4.1.0 + * imagesLoaded v4.1.4 * JavaScript is all like "You images are done yet or what?" * MIT License */ @@ -146,7 +149,7 @@ return EvEmitter; ); } -})( window, +})( typeof window !== 'undefined' ? window : this, // -------------------------- factory -------------------------- // @@ -167,22 +170,23 @@ function extend( a, b ) { return a; } +var arraySlice = Array.prototype.slice; + // turn element or nodeList into an array function makeArray( obj ) { - var ary = []; if ( Array.isArray( obj ) ) { // use object if already an array - ary = obj; - } else if ( typeof obj.length == 'number' ) { + return obj; + } + + var isArrayLike = typeof obj == 'object' && typeof obj.length == 'number'; + if ( isArrayLike ) { // convert nodeList to array - for ( var i=0; i < obj.length; i++ ) { - ary.push( obj[i] ); - } - } else { - // array of single index - ary.push( obj ); + return arraySlice.call( obj ); } - return ary; + + // array of single index + return [ obj ]; } // -------------------------- imagesLoaded -------------------------- // @@ -198,13 +202,19 @@ function ImagesLoaded( elem, options, onAlways ) { return new ImagesLoaded( elem, options, onAlways ); } // use elem as selector string + var queryElem = elem; if ( typeof elem == 'string' ) { - elem = document.querySelectorAll( elem ); + queryElem = document.querySelectorAll( elem ); + } + // bail if bad element + if ( !queryElem ) { + console.error( 'Bad element for imagesLoaded ' + ( queryElem || elem ) ); + return; } - this.elements = makeArray( elem ); + this.elements = makeArray( queryElem ); this.options = extend( {}, this.options ); - + // shift arguments if no options set if ( typeof options == 'function' ) { onAlways = options; } else { @@ -223,9 +233,7 @@ function ImagesLoaded( elem, options, onAlways ) { } // HACK check async to allow time to bind listeners - setTimeout( function() { - this.check(); - }.bind( this )); + setTimeout( this.check.bind( this ) ); } ImagesLoaded.prototype = Object.create( EvEmitter.prototype ); @@ -393,7 +401,9 @@ LoadingImage.prototype.check = function() { }; LoadingImage.prototype.getIsImageComplete = function() { - return this.img.complete && this.img.naturalWidth !== undefined; + // check for non-zero, non-undefined naturalWidth + // fixes Safari+InfiniteScroll+Masonry bug infinite-scroll#671 + return this.img.complete && this.img.naturalWidth; }; LoadingImage.prototype.confirm = function( isLoaded, message ) { diff --git a/vendor/desandro/imagesloaded/imagesloaded.pkgd.min.js b/vendor/desandro/imagesloaded/imagesloaded.pkgd.min.js new file mode 100644 index 000000000..e443a77d6 --- /dev/null +++ b/vendor/desandro/imagesloaded/imagesloaded.pkgd.min.js @@ -0,0 +1,7 @@ +/*! + * imagesLoaded PACKAGED v4.1.4 + * JavaScript is all like "You images are done yet or what?" + * MIT License + */ + +!function(e,t){"function"==typeof define&&define.amd?define("ev-emitter/ev-emitter",t):"object"==typeof module&&module.exports?module.exports=t():e.EvEmitter=t()}("undefined"!=typeof window?window:this,function(){function e(){}var t=e.prototype;return t.on=function(e,t){if(e&&t){var i=this._events=this._events||{},n=i[e]=i[e]||[];return n.indexOf(t)==-1&&n.push(t),this}},t.once=function(e,t){if(e&&t){this.on(e,t);var i=this._onceEvents=this._onceEvents||{},n=i[e]=i[e]||{};return n[t]=!0,this}},t.off=function(e,t){var i=this._events&&this._events[e];if(i&&i.length){var n=i.indexOf(t);return n!=-1&&i.splice(n,1),this}},t.emitEvent=function(e,t){var i=this._events&&this._events[e];if(i&&i.length){i=i.slice(0),t=t||[];for(var n=this._onceEvents&&this._onceEvents[e],o=0;o<i.length;o++){var r=i[o],s=n&&n[r];s&&(this.off(e,r),delete n[r]),r.apply(this,t)}return this}},t.allOff=function(){delete this._events,delete this._onceEvents},e}),function(e,t){"use strict";"function"==typeof define&&define.amd?define(["ev-emitter/ev-emitter"],function(i){return t(e,i)}):"object"==typeof module&&module.exports?module.exports=t(e,require("ev-emitter")):e.imagesLoaded=t(e,e.EvEmitter)}("undefined"!=typeof window?window:this,function(e,t){function i(e,t){for(var i in t)e[i]=t[i];return e}function n(e){if(Array.isArray(e))return e;var t="object"==typeof e&&"number"==typeof e.length;return t?d.call(e):[e]}function o(e,t,r){if(!(this instanceof o))return new o(e,t,r);var s=e;return"string"==typeof e&&(s=document.querySelectorAll(e)),s?(this.elements=n(s),this.options=i({},this.options),"function"==typeof t?r=t:i(this.options,t),r&&this.on("always",r),this.getImages(),h&&(this.jqDeferred=new h.Deferred),void setTimeout(this.check.bind(this))):void a.error("Bad element for imagesLoaded "+(s||e))}function r(e){this.img=e}function s(e,t){this.url=e,this.element=t,this.img=new Image}var h=e.jQuery,a=e.console,d=Array.prototype.slice;o.prototype=Object.create(t.prototype),o.prototype.options={},o.prototype.getImages=function(){this.images=[],this.elements.forEach(this.addElementImages,this)},o.prototype.addElementImages=function(e){"IMG"==e.nodeName&&this.addImage(e),this.options.background===!0&&this.addElementBackgroundImages(e);var t=e.nodeType;if(t&&u[t]){for(var i=e.querySelectorAll("img"),n=0;n<i.length;n++){var o=i[n];this.addImage(o)}if("string"==typeof this.options.background){var r=e.querySelectorAll(this.options.background);for(n=0;n<r.length;n++){var s=r[n];this.addElementBackgroundImages(s)}}}};var u={1:!0,9:!0,11:!0};return o.prototype.addElementBackgroundImages=function(e){var t=getComputedStyle(e);if(t)for(var i=/url\((['"])?(.*?)\1\)/gi,n=i.exec(t.backgroundImage);null!==n;){var o=n&&n[2];o&&this.addBackground(o,e),n=i.exec(t.backgroundImage)}},o.prototype.addImage=function(e){var t=new r(e);this.images.push(t)},o.prototype.addBackground=function(e,t){var i=new s(e,t);this.images.push(i)},o.prototype.check=function(){function e(e,i,n){setTimeout(function(){t.progress(e,i,n)})}var t=this;return this.progressedCount=0,this.hasAnyBroken=!1,this.images.length?void this.images.forEach(function(t){t.once("progress",e),t.check()}):void this.complete()},o.prototype.progress=function(e,t,i){this.progressedCount++,this.hasAnyBroken=this.hasAnyBroken||!e.isLoaded,this.emitEvent("progress",[this,e,t]),this.jqDeferred&&this.jqDeferred.notify&&this.jqDeferred.notify(this,e),this.progressedCount==this.images.length&&this.complete(),this.options.debug&&a&&a.log("progress: "+i,e,t)},o.prototype.complete=function(){var e=this.hasAnyBroken?"fail":"done";if(this.isComplete=!0,this.emitEvent(e,[this]),this.emitEvent("always",[this]),this.jqDeferred){var t=this.hasAnyBroken?"reject":"resolve";this.jqDeferred[t](this)}},r.prototype=Object.create(t.prototype),r.prototype.check=function(){var e=this.getIsImageComplete();return e?void this.confirm(0!==this.img.naturalWidth,"naturalWidth"):(this.proxyImage=new Image,this.proxyImage.addEventListener("load",this),this.proxyImage.addEventListener("error",this),this.img.addEventListener("load",this),this.img.addEventListener("error",this),void(this.proxyImage.src=this.img.src))},r.prototype.getIsImageComplete=function(){return this.img.complete&&this.img.naturalWidth},r.prototype.confirm=function(e,t){this.isLoaded=e,this.emitEvent("progress",[this,this.img,t])},r.prototype.handleEvent=function(e){var t="on"+e.type;this[t]&&this[t](e)},r.prototype.onload=function(){this.confirm(!0,"onload"),this.unbindEvents()},r.prototype.onerror=function(){this.confirm(!1,"onerror"),this.unbindEvents()},r.prototype.unbindEvents=function(){this.proxyImage.removeEventListener("load",this),this.proxyImage.removeEventListener("error",this),this.img.removeEventListener("load",this),this.img.removeEventListener("error",this)},s.prototype=Object.create(r.prototype),s.prototype.check=function(){this.img.addEventListener("load",this),this.img.addEventListener("error",this),this.img.src=this.url;var e=this.getIsImageComplete();e&&(this.confirm(0!==this.img.naturalWidth,"naturalWidth"),this.unbindEvents())},s.prototype.unbindEvents=function(){this.img.removeEventListener("load",this),this.img.removeEventListener("error",this)},s.prototype.confirm=function(e,t){this.isLoaded=e,this.emitEvent("progress",[this,this.element,t])},o.makeJQueryPlugin=function(t){t=t||e.jQuery,t&&(h=t,h.fn.imagesLoaded=function(e,t){var i=new o(this,e,t);return i.jqDeferred.promise(h(this))})},o.makeJQueryPlugin(),o});
\ No newline at end of file diff --git a/vendor/desandro/imagesloaded/package.json b/vendor/desandro/imagesloaded/package.json new file mode 100644 index 000000000..ced516d8e --- /dev/null +++ b/vendor/desandro/imagesloaded/package.json @@ -0,0 +1,48 @@ +{ + "name": "imagesloaded", + "version": "4.1.4", + "description": "JavaScript is all like _You images done yet or what?_", + "main": "imagesloaded.js", + "dependencies": { + "ev-emitter": "^1.0.0" + }, + "devDependencies": { + "chalk": "^1.1.1", + "cheerio": "^0.19.0", + "gulp": "^3.9.0", + "gulp-jshint": "^1.11.2", + "gulp-json-lint": "^0.1.0", + "gulp-rename": "^1.2.2", + "gulp-replace": "^0.5.4", + "gulp-requirejs-optimize": "github:metafizzy/gulp-requirejs-optimize", + "gulp-uglify": "^1.4.2", + "gulp-util": "^3.0.7", + "highlight.js": "^8.9.1", + "marked": "^0.3.5", + "minimist": "^1.2.0", + "transfob": "^1.0.0" + }, + "repository": { + "type": "git", + "url": "git://github.com/desandro/imagesloaded.git" + }, + "keywords": [ + "images", + "loaded", + "ui", + "dom", + "jquery-plugin" + ], + "license": "MIT", + "bugs": { + "url": "https://github.com/desandro/imagesloaded/issues" + }, + "homepage": "https://github.com/desandro/imagesloaded", + "directories": { + "test": "test" + }, + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "author": "David DeSandro" +} diff --git a/vendor/desandro/imagesloaded/sandbox/background/css/background.css b/vendor/desandro/imagesloaded/sandbox/background/css/background.css new file mode 100644 index 000000000..509966a7d --- /dev/null +++ b/vendor/desandro/imagesloaded/sandbox/background/css/background.css @@ -0,0 +1,29 @@ +.box { + width: 300px; + height: 300px; + margin: 0 20px 20px 0; + border: 1px solid; + display: inline-block; +} + +.orange-tree { + background: url('http://i.imgur.com/bwy74ok.jpg'); + background-size: cover; +} + +.thunder-cloud { + background: url('../../../test/img/thunder-cloud.jpg'); + background-size: contain; +} + +.multi1 { + background: + url("http://i.imgur.com/ZAVN3.png"), + url('http://i.imgur.com/6UdOxeB.png') bottom right, + url(http://i.imgur.com/LkmcILl.jpg); + background-size: cover; +} + +.blue { + background: #09F; +}
\ No newline at end of file diff --git a/vendor/desandro/imagesloaded/sandbox/background/index.html b/vendor/desandro/imagesloaded/sandbox/background/index.html new file mode 100644 index 000000000..853f8ff35 --- /dev/null +++ b/vendor/desandro/imagesloaded/sandbox/background/index.html @@ -0,0 +1,51 @@ +<!doctype html> +<html> +<head> + <meta charset="utf-8" /> + <meta name="viewport" content="width=device-width" /> + + <title>background</title> + + <!-- put in separate folder so JS path is different from CSS path --> + <link rel="stylesheet" href="css/background.css" > + +</head> +<body> + + <h1>background</h1> + +<div class="box orange-tree"></div> + +<div class="box thunder-cloud"></div> + +<div class="box multi1"></div> + +<div class="box blue"></div> + +<script src="../../bower_components/ev-emitter/ev-emitter.js"></script> +<script src="../../imagesloaded.js"></script> +<script> + +var imgLoad0 = imagesLoaded( '.orange-tree', { background: true }, function() { + console.log('orange tree bg images loaded', imgLoad0.images.length ); +}); + +var imgLoad1 = imagesLoaded( '.thunder-cloud', { background: true }, function() { + console.log('thunder cloud bg images loaded', imgLoad1.images.length); +}); + +var imgLoad2 = imagesLoaded( '.multi1', { background: true }, function() { + console.log('multi1 bg images loaded', imgLoad2.images.length); +}); + +var imgLoad3 = imagesLoaded( '.box', { background: true }, function() { + console.log('.box bg images loaded', imgLoad3.images.length); +}); +imgLoad3.on('progress', function( instance, image, element ) { + console.log( 'progress on .box', image.img.src, element.className ); +}); + +</script> + +</body> +</html> diff --git a/vendor/desandro/imagesloaded/sandbox/progress/index.html b/vendor/desandro/imagesloaded/sandbox/progress/index.html new file mode 100644 index 000000000..b01ce28c5 --- /dev/null +++ b/vendor/desandro/imagesloaded/sandbox/progress/index.html @@ -0,0 +1,89 @@ +<!doctype html> +<html> +<head> + <meta charset="utf-8" /> + <meta name="viewport" content="width=device-width" /> + + <title>progress</title> + + <style> + #image-container img { + max-height: 140px; + } + + li { + height: 140px; + min-width: 100px; + display: block; + float: left; + list-style: none; + margin: 0 5px 5px 0; + background-color: black; + background-position: center center; + background-repeat: no-repeat; + } + + li img, + #status { + -webkit-transition: opacity 0.4s; + -moz-transition: opacity 0.4s; + -ms-transition: opacity 0.4s; + transition: opacity 0.4s; + } + + li.is-loading { + background-color: black; + background-image: url('http://desandro.github.io/imagesloaded/assets/loading.gif'); + } + + li.is-broken { + background-image: url('http://desandro.github.io/imagesloaded/assets/broken.png'); + background-color: #be3730; + width: 120px; + } + + li.is-loading img, + li.is-broken img { + opacity: 0; + } + + .buttons { margin-bottom: 1.0em; } + + button { + font-size: 18px; + padding: 0.4em 0.8em; + font-family: sans-serif; + } + + #status { + opacity: 0; + position: fixed; + right: 20px; + top: 20px; + background: hsla( 0, 0%, 0%, 0.8); + padding: 20px; + border-radius: 10px; + z-index: 2; /* over other stuff */ + } + </style> + +</head> +<body> + + <h1>progress</h1> + + <div class="buttons"> + <button id="add">Add images</button> + <button id="reset">Reset</button> + </div> + <div id="status"> + <progress max="7" value="0"></progress> + </div> + <div id="image-container"></div> + +<script src="../../bower_components/ev-emitter/ev-emitter.js"></script> +<script src="../../imagesloaded.js"></script> +<script src="progress.js"></script> + +</body> +</html> diff --git a/vendor/desandro/imagesloaded/sandbox/progress/progress.js b/vendor/desandro/imagesloaded/sandbox/progress/progress.js new file mode 100644 index 000000000..7c00003f5 --- /dev/null +++ b/vendor/desandro/imagesloaded/sandbox/progress/progress.js @@ -0,0 +1,111 @@ +/* jshint strict: false */ + +var progressElem, statusElem; +var supportsProgress; +var loadedImageCount, imageCount; + +var container = document.querySelector('#image-container'); +statusElem = document.querySelector('#status'); +progressElem = document.querySelector('progress'); + +supportsProgress = progressElem && + // IE does not support progress + progressElem.toString().indexOf('Unknown') === -1; + +document.querySelector('#add').onclick = function() { + // add new images + var fragment = getItemsFragment(); + container.insertBefore( fragment, container.firstChild ); + // use ImagesLoaded + var imgLoad = imagesLoaded( container ); + imgLoad.on( 'progress', onProgress ); + imgLoad.on( 'always', onAlways ); + // reset progress counter + imageCount = imgLoad.images.length; + resetProgress(); + updateProgress( 0 ); +}; + +// reset container +document.querySelector('#reset').onclick = function() { + empty( container ); +}; + +// ----- set text helper ----- // + +var docElem = document.documentElement; +var textSetter = docElem.textContent !== undefined ? 'textContent' : 'innerText'; + +function setText( elem, value ) { + elem[ textSetter ] = value; +} + +function empty( elem ) { + while ( elem.firstChild ) { + elem.removeChild( elem.firstChild ); + } +} + +// ----- ----- // + +// return doc fragment with +function getItemsFragment() { + var fragment = document.createDocumentFragment(); + for ( var i = 0; i < 7; i++ ) { + var item = getImageItem(); + fragment.appendChild( item ); + } + return fragment; +} + +// return an <li> with a <img> in it +function getImageItem() { + var item = document.createElement('li'); + item.className = 'is-loading'; + var img = document.createElement('img'); + var size = Math.random() * 3 + 1; + var width = Math.random() * 110 + 100; + width = Math.round( width * size ); + var height = Math.round( 140 * size ); + var rando = Math.ceil( Math.random() * 1000 ); + // 10% chance of broken image src + // random parameter to prevent cached images + img.src = rando < 100 ? '//foo/broken-' + rando + '.jpg' : + // use picsum for great random images + 'https://picsum.photos/' + width + '/' + height + '/' + '?random'; + item.appendChild( img ); + return item; +} + +// ----- ----- // + +function resetProgress() { + statusElem.style.opacity = 1; + loadedImageCount = 0; + if ( supportsProgress ) { + progressElem.setAttribute( 'max', imageCount ); + } +} + +function updateProgress( value ) { + if ( supportsProgress ) { + progressElem.setAttribute( 'value', value ); + } else { + // if you don't support progress elem + setText( statusElem, value + ' / ' + imageCount ); + } +} + +// triggered after each item is loaded +function onProgress( imgLoad, image ) { + // change class if the image is loaded or broken + image.img.parentNode.className = image.isLoaded ? '' : 'is-broken'; + // update progress element + loadedImageCount++; + updateProgress( loadedImageCount ); +} + +// hide status when done +function onAlways() { + statusElem.style.opacity = 0; +} diff --git a/vendor/desandro/imagesloaded/test/css/tests.css b/vendor/desandro/imagesloaded/test/css/tests.css new file mode 100644 index 000000000..af8a7e885 --- /dev/null +++ b/vendor/desandro/imagesloaded/test/css/tests.css @@ -0,0 +1,41 @@ +img { + display: inline-block; + max-width: 240px; +} + +/* ---- backgrounds ---- */ + +.bg-box { + width: 240px; + height: 240px; + margin: 0 20px 20px 0; + border: 1px solid; + display: inline-block; +} + +.bg-box.tulip { + background: url('http://i.imgur.com/9xYjgCk.jpg'); + background-size: cover; +} + +.bg-box.thunder-cloud { + background: url('../img/thunder-cloud.jpg'); + background-size: contain; +} + +.bg-box.multi { + background: + url("http://i.imgur.com/ZAVN3.png"), + url('http://i.imgur.com/6UdOxeB.png') bottom right, + url(https://picsum.photos/601/401/?random); + background-size: cover; +} + +.bg-box.blue { + background: #09F; +} + +.bg-box.gulls { + background-image: url('http://i.imgur.com/qKhkOKC.jpg'); + background-size: cover; +} diff --git a/vendor/desandro/imagesloaded/test/img/blue-shell.jpg b/vendor/desandro/imagesloaded/test/img/blue-shell.jpg Binary files differnew file mode 100644 index 000000000..b47f1e927 --- /dev/null +++ b/vendor/desandro/imagesloaded/test/img/blue-shell.jpg diff --git a/vendor/desandro/imagesloaded/test/img/bowser-jr.jpg b/vendor/desandro/imagesloaded/test/img/bowser-jr.jpg Binary files differnew file mode 100644 index 000000000..b1de2a76f --- /dev/null +++ b/vendor/desandro/imagesloaded/test/img/bowser-jr.jpg diff --git a/vendor/desandro/imagesloaded/test/img/thunder-cloud.jpg b/vendor/desandro/imagesloaded/test/img/thunder-cloud.jpg Binary files differnew file mode 100644 index 000000000..54fc9a1b7 --- /dev/null +++ b/vendor/desandro/imagesloaded/test/img/thunder-cloud.jpg diff --git a/vendor/desandro/imagesloaded/test/index.html b/vendor/desandro/imagesloaded/test/index.html new file mode 100644 index 000000000..02b04f4a6 --- /dev/null +++ b/vendor/desandro/imagesloaded/test/index.html @@ -0,0 +1,104 @@ +<!doctype html> +<html> +<head> + <meta charset="utf-8"> + + <title>imagesLoaded tests</title> + + <link rel="stylesheet" href="../bower_components/qunit/qunit/qunit.css" /> + <link rel="stylesheet" href="css/tests.css" /> + + <script src="../bower_components/ev-emitter/ev-emitter.js"></script> + <script src="../bower_components/qunit/qunit/qunit.js"></script> + <script src="../bower_components/jquery/dist/jquery.js"></script> + + <script src="../imagesloaded.js"></script> + + <script src="unit/basics.js"></script> + <script src="unit/selector-string.js"></script> + <script src="unit/single-element.js"></script> + <script src="unit/local-files.js"></script> + <script src="unit/data-uri.js"></script> + <script src="unit/append.js"></script> + <script src="unit/no-images.js"></script> + <script src="unit/jquery-success.js"></script> + <script src="unit/jquery-fail.js"></script> + <script src="unit/non-element.js"></script> + <script src="unit/background.js"></script> + +</head> +<body> + + <h1>imagesLoaded tests</h1> + + <div id="qunit"></div> + + <h2>Basics</h2> + + <div id="basics"> + <img src="http://i.imgur.com/xrQHn.jpg" /> + <img src="http://i.imgur.com/b3fBJ.jpg" /> + <img src="http://i.imgur.com/xmSh2.jpg" /> + <img src="http://i.imgur.com/iIpJm.jpg" /> + <img src="http://i.imgur.com/cvZZl10.gif" /> + </div> + + <img id="mario-with-shell" src="http://i.imgur.com/ZAVN3.png" > + + <h2>Locals</h2> + + <div id="locals"> + <img src="img/blue-shell.jpg" /> + <img src="img/bowser-jr.jpg" /> + <!-- thunder cloud has bad permissions, should 403 --> + <img src="img/not-there.jpg" /> + </div> + + <h2>Data URI</h2> + + <div id="data-uri"> + <img src="data:image/jpeg;base64,/9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAEAAAARgAA/+4ADkFkb2JlAGTAAAAAAf/bAIQABAMDAwMDBAMDBAYEAwQGBwUEBAUHCAYGBwYGCAoICQkJCQgKCgwMDAwMCgwMDQ0MDBERERERFBQUFBQUFBQUFAEEBQUIBwgPCgoPFA4ODhQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU/8AAEQgAMAAwAwERAAIRAQMRAf/EAJMAAAEFAQEBAAAAAAAAAAAAAAYAAwQHCAUBAgEAAgIDAQEAAAAAAAAAAAAAAAUEBgECAwcIEAABAwMDAgQFAwUAAAAAAAACAQMEEQUGACESMQdBUSIyYUJiExRSIwihgiQVFhEAAQMCBQEFBgcAAAAAAAAAAQARAgMEITFBEgVRYYGRIgZxocHRchPw4TJCIxQH/9oADAMBAAIRAxEAPwDf2hCWhC42R5JBxuF+RJq7JcqMWIC/uOmngnkKfMXh/TSTmOZt+MoGrVP0x1kez4nTwCl21rOvPbHvPRRMHuFzutmcuF2NClPyn1ERSjYNiXEQD4DTx389RvTl/VvrKNxUzqGRA6B2AHgt72lGlVMI/tbxRJqyKCloQloQm31eRlxY4iT6CqtCaqIqVNkVURaJXWk9207W3Ng+T9qyGfFUtPutrbyFIuazTtWRyy+1FbuIKyw9v6QiO7tODVdhEuXmldfM/qbi+arXMql2A2hDmAHQM7D29+Kt9tc04w20Rh7+9FkKZIx1VFhf8bkv3I5biqqu6p5Kvw0u9N+sL3iav9eX8tJ22dPoOnsy7FwrW8bnzZS6/NHkZ4pEdt42yZIxQlaP3DXwXX1LQqmrTjMxMNwfbLMdh7VWJBiQ7p3Xdapt99mMy5JkOC1HZEnHXTVBEQBKkSqvRERN9CFSFx7q5PkqOz8TfZs2ON8lizJDIvyZLadHlFxeLYF1BOKlTdadNWy34emIg1XMjoNElr35EmgEORO4uaXWUNnya2QMpxZ50FemSWBhuxXBJFB9tKGDn219ftAtvStdJvUnEQHHXEqQJIpTaP6jI7SwGrk5KVZ3z1IieDkfgqDkOf8AcEsmQ7FGbs+LspRm7SowzJkh2u7iNGvFhpE9iqJGXVeOvPfQX+Yw4+Iu+Q89zIOIPhSfqdanXSOQxxU6+5oSBhROA9/5Isgd08vxltq5ZQ+zfccNUKZIYZFiUwz4ugjXocEfcQ8UKnRa7a9cuOHpyiftOJDQ6pPR5AmTTCvONJYmR2ZcVwXosgBdYeBeQG2aIQkKp1RUWqaqZDJ0qL7p5U9nz1w7cY887FtMSQLGR3JteKyVb9TkJrxQK0F4/HcE8V1ZONsAwrVMtB8Uru7v7flGaGZlqdt8AGnXUOMwQqTYogjTolUTy1Z4yEkid1DwPIrzLzLKbNdba7GsFo+wlruDraCxL/IqQ/jkgopIAJ+9Ui9dKcemlUjWlUkCPKGbwXWpCAhEjMu697gZHfYmW4pabRbnZVjuzjwXa4NAJsRRZ4kX5JKKqCE2pfaUVH1pvXprANaE4iIwLv4IpxgYSJzGSnwLQ7cbe4DLyNx3iJRbVEIadFoi+emkpiJXEll2O1uXu9u5cLt1fnXZVinS1ZsFwMuSwjfWoRHK7q0p1RkvkqgL6aKlc5Pj3BrQ7x8fmn1pd7/Kc1W9zukjtr3AvuMX0VjPSpsm5WqQ5sEyFMeJ4XGyXYlFSVtxE3Eh36ppnYV4VKMRqAyj3luTJwuxIvzV6bKG2+ipJFRJQXdBXqqeVNMwAEs2mKYKZc7MItPG3NbH2PI4jLnH6gL01+IrocrIAllgkk26XgSaYJuG2XueJxHnOPjxAdq+XJaaHKCBHPFSYeQt2JoYDj9Ejigipruop4rrBiDmsGBlih+DOkdzc8s2K2BFkPtTI1wukltOTcOFDeB43XFTZFLigNoq1Ii26Lpdf3EKdEjUhgmdpbyEnK1plWF4pm8BLZltoi3eEKqTYSm0MmyXqTZ7EBbdQVF1R4VJQLxLJ2Q6zdlX8asvxO5O3TtPLbulofLktiukhWpbH0syTRRcBPAXaEn6i0+teV24T8VFq24mEMOdve/F3f8Awf8AjljPJRClS5sQIqeFeYOGS0+kFXTGXLUgMCosbJl9tdu+/FoeWEuHpKc3QZUSdFKMXxQnHGyT+4E0R5aiRiidk6IsX/jVmOW3Jq5d15bdqsrBcksdrfV2Y/T5XZIIgttr8yNciX9Q6X3XK7g0PFSqVuILSmLYbiuE2/8A1eJ2iLaIKrycbitoCuElfU4XuMt+pqq6QTqSmXkXUoBl/9k=" /> + <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACsAAAAwCAMAAAC/knOqAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAMBQTFRFkF0QF27/Bgsp/fQF+fr6jqvpDEG2zp4CCx9Ys4IFo5JU8MqQXJH2Ulxj89QDC0bIsrKxIHn//fxztcv2iYqG5ebmCjCHzNjxAzTYRmih2drcCzijMof+OB8U/Pg59PHXE2D9xMK9eUMDAVf8kXNP/fvr2eP0p6WgOUtnAkX7Eljwa3WB5er2UXjVC0jZAh9/EFHa8PHyl5mZJVKt6NM34dzNz87NASGpsbzZDlDytq4tLWfs4bQFyLNp////+/v7DjziEwAAAEB0Uk5T////////////////////////////////////////////////////////////////////////////////////AMJ7sUQAAAPaSURBVHjadNWLdqo6EAZgQKGRA0YUYzRQY1ELqFykiojV93+rM0FQbLt/VlcvfpmVhGQq3V6TjgyjLOWyNIzR9sdn0stvE0MuQrmOZxmjf9pRybln+sJZspWZiSU7o7+twTmXtcU3BmhZ4f6/zLJk2ej+ttsyDIXVN4klsGzqmQP1ZXn9044TQbmcuS5Yx3Ic380cy2rj2qZJktzrui7MFqiDKlutcv1ip0mNseuGFbaedeVd235qGOMkAo4VJYB4AVcUbHG5erjxtN1ME8kwpgHybV0/63vbRF5QrUFk+7ADwpgGD82nva9+p4m+CQKYWFjwUH3YKYNkjPrnCr6/D4fz93f46WsKuIDqu8amPmGE5bnZr2u+fw2Hwwr3N4FYRZKsazshBLCggPv9S79K56saV+NRbU8McO6+ifSavL1dLtVQk2LYT7VtY/hcgnw8HgkGAL9Q2E78tDGJfWBV3CbiFwnqmzlsfmPXUDd2pTtUFAVVj6IIDtVNqmGtmW+aEYJQDZ9puM/gPTX7cNtBYeS7r+z+hVyfAp0+3gUsDsXKP5IXGLPne7uVUJf8TRFPEi1Ln1YVq/sbazzBbN8+v2LGjCguzNBtllVRwovoPtvnvcgYihlpLaueQeFRjY1f79vWhxfCGKpz54gVRYTZ7Nedn8JeiPNG7lhBGS2KIKdZ99edT6cKQjEiBGMf+UhhZRFQSnG02/60J9i0qmCMcsbimPGABkXIRYdQX+2EaaEcinOc57GWlWXpeR7cYqsUPWj0YksKN73QNEpLdZJer9d0rToeVC2LEG5+2rIqLjjXKKPJ6PrMxPJkK6DcsdSn3dIo5DnK8113de22tOHJWhyUDp88rBFFPEJxvruu0jYVOEE0tCyjsSMchQVBOZ3Px+MfeOehmHJLbs76LioKpuT5QND0hV4nnqZoGPrb3Z6iKNIUJc6Os5nA3ZfKTgCvGtq3Kuw2BIpMP5/O/8JGQEzC4N/BGuyuwAyZKYvtw/GOYc7A4RHf1ICNbUIi2blJqocJWt5Skm8OiyPo8aGufX/UQJvd9sSPZFUqKfGPcHRYPF0MBovT8VhXh3TT1cqgFM7kzESslEbqUezdyszJ4HvwKfhi8eCra0incwFm+1N9Hub9ztnffOqf+0/IY8BhpWbnTmfePjurs2iJZ922dXsPqQcMFouqWfbnLfst+ii05t7Stjd2lb0Y1Lt0hkA73y3bexNddzjs93S7yd5e9i4XaPFQ5tLqD5LohxfouG+S5G/u8T8+7l34Al25+7SHpVRlKS312fo4OA0Ws7Fe/1FaLg+V+l+AAQAurhhy+upm/wAAAABJRU5ErkJggg==" /> + </div> + + <h2>append</h2> + + <div id="append"></div> + + <h2>no images</h2> + + <div id="no-images"></div> + + <h2>jQuery success</h2> + + <div id="jquery-success"> + <img src="http://i.imgur.com/YbYCPFF.png" /> + <img src="http://i.imgur.com/6UdOxeB.png" /> + <img src="http://i.imgur.com/qd8G15D.png" /> + </div> + + <h2>jQuery fail</h2> + + <div id="jquery-fail"> + <img src="http://i.imgur.com/xmSh2.jpg" /> + <img src="img/bowser-jr.jpg" /> + <img src="http://i.imgur.com/ZAVN3.png"> + <img src="img/not-there.jpg" /> + <img src="foobar.jpg" /> + </div> + + <h2>background</h2> + + <div id="background"> + <div class="bg-box tulip"></div> + <div class="bg-box thunder-cloud"></div> + <div class="bg-box multi"></div> + <div class="bg-box blue"></div> + <div class="bg-box gulls"> + <img src="https://picsum.photos/400/300/?random" /> + <img src="https://picsum.photos/800/600/?random" /> + </div> + </div> + +</body> +</html> diff --git a/vendor/desandro/imagesloaded/test/unit/append.js b/vendor/desandro/imagesloaded/test/unit/append.js new file mode 100644 index 000000000..7a6b3c827 --- /dev/null +++ b/vendor/desandro/imagesloaded/test/unit/append.js @@ -0,0 +1,30 @@ +QUnit.test( 'append', function( assert ) { + 'use strict'; + + var imgUrls = [ + 'http://i.imgur.com/bwy74ok.jpg', + 'http://i.imgur.com/bAZWoqx.jpg', + 'http://i.imgur.com/PgmEBSB.jpg', + 'http://i.imgur.com/aboaFoB.jpg', + 'http://i.imgur.com/LkmcILl.jpg', + 'http://i.imgur.com/q9zO6tw.jpg' + ]; + + // create images + var fragment = document.createDocumentFragment(); + for ( var i=0, len = imgUrls.length; i < len; i++ ) { + var img = document.createElement('img'); + img.src = imgUrls[i]; + fragment.appendChild( img ); + } + + var elem = document.querySelector('#append'); + elem.appendChild( fragment ); + var done = assert.async(); + + imagesLoaded( elem, { debug: false } ).on( 'always', function() { + assert.ok( 'appended images loaded' ); + done(); + }); + +}); diff --git a/vendor/desandro/imagesloaded/test/unit/background.js b/vendor/desandro/imagesloaded/test/unit/background.js new file mode 100644 index 000000000..ca76fad6f --- /dev/null +++ b/vendor/desandro/imagesloaded/test/unit/background.js @@ -0,0 +1,70 @@ +QUnit.test( 'background', function( assert ) { + 'use strict'; + + // from Modernizr + var supportsMultiBGs = ( function() { + var style = document.createElement('a').style; + style.cssText = 'background:url(https://),url(https://),red url(https://)'; + return (/(url\s*\(.*?){3}/).test(style.background); + })(); + + var multiBGCount = supportsMultiBGs ? 3 : 0; + var done = assert.async( 14 + multiBGCount ); + + var imgLoad0 = imagesLoaded( '#background .tulip', { background: true }, function() { + assert.ok( true, 'callback triggered on .orange-tree'); + done(); + }); + assert.equal( imgLoad0.images.length, 1, '1 image on .images' ); + + imgLoad0.on( 'progress', function( instance, image, element ) { + assert.ok( element.nodeName == 'DIV', 'progress; element is div'); + assert.ok( image.isLoaded, 'progress; image.isLoaded'); + done(); + }); + + var imgLoad1 = imagesLoaded( '#background .thunder-cloud', { background: true }, function() { + assert.ok( true, 'callback triggered on .thunder-cloud'); + done(); + }); + assert.equal( imgLoad1.images.length, 1, '1 image on .images' ); + + // multiple backgrounds + var imgLoad2 = imagesLoaded( '#background .multi', { background: true }, function() { + assert.ok( true, 'callback triggered on .multi'); + done(); + }); + assert.equal( imgLoad2.images.length, multiBGCount, 'correct multiple BG count on .images' ); + + // multiple elements + var imgLoad3 = imagesLoaded( '#background .bg-box', { background: true }, function() { + assert.ok( true, 'callback triggered on .bg-box'); + var count = 5 + multiBGCount; + assert.equal( imgLoad3.images.length, count, count + ' images on .bg-box' ); + done(); + }); + + imgLoad3.on('progress', function( instance, image/*, element */) { + assert.ok( true, 'progress on .bg-box; ' + image.img.src ); + assert.equal( image.isLoaded, true, 'image.isLoaded == true' ); + done(); + }); + + // background and <img> children + var imgLoad4 = imagesLoaded( '#background .gulls', { background: true } ); + assert.equal( imgLoad4.images.length, 3, '3 images: 1 background and 2 <img>' ); + + imgLoad4.on( 'progress', function( instance, image ) { + assert.equal( image.isLoaded, true, 'image is loaded' ); + done(); + }); + + // child background selector + var imgLoad5 = imagesLoaded( '#background', { background: '.bg-box' }, function() { + var count = 5 + multiBGCount; + assert.equal( imgLoad5.images.length, count, + count + ' images on .bg-box, with {background: .bg-box}' ); + done(); + }); + +}); diff --git a/vendor/desandro/imagesloaded/test/unit/basics.js b/vendor/desandro/imagesloaded/test/unit/basics.js new file mode 100644 index 000000000..6c502a793 --- /dev/null +++ b/vendor/desandro/imagesloaded/test/unit/basics.js @@ -0,0 +1,28 @@ +QUnit.test( 'basics', function( assert ) { + + 'use strict'; + + var elem = document.querySelector('#basics'); + var images = elem.querySelectorAll('img'); + var done = assert.async( 3 + images.length ); + + var imgLoader = new imagesLoaded( elem, function( obj ) { + assert.ok( true, 'callback function triggered' ); + assert.equal( imgLoader, obj, 'callback argument and instance match' ); + done(); + }); + imgLoader.on( 'done', function() { + assert.ok( true, 'done event triggered' ); + done(); + }); + imgLoader.on( 'always', function() { + assert.ok( true, 'always event triggered' ); + done(); + }); + + imgLoader.on( 'progress', function( loader, image ) { + assert.ok( image.isLoaded, 'image is loaded'); + done(); + }); + +}); diff --git a/vendor/desandro/imagesloaded/test/unit/data-uri.js b/vendor/desandro/imagesloaded/test/unit/data-uri.js new file mode 100644 index 000000000..635f69859 --- /dev/null +++ b/vendor/desandro/imagesloaded/test/unit/data-uri.js @@ -0,0 +1,10 @@ +QUnit.test( 'data-uri', function( assert ) { + 'use strict'; + + var done = assert.async(); + imagesLoaded('#data-uri', { debug: false }).on( 'done', function( obj ) { + assert.ok( true, 'data-uri images loaded' ); + assert.equal( obj.images.length, 2, 'instance has 2 images' ); + done(); + }); +}); diff --git a/vendor/desandro/imagesloaded/test/unit/jquery-fail.js b/vendor/desandro/imagesloaded/test/unit/jquery-fail.js new file mode 100644 index 000000000..b2180f6f2 --- /dev/null +++ b/vendor/desandro/imagesloaded/test/unit/jquery-fail.js @@ -0,0 +1,29 @@ +QUnit.test( 'jquery fail', function( assert ) { + + 'use strict'; + + var $ = window.jQuery; + var $images = $('#jquery-fail img'); + var done = assert.async( 3 + $images.length ); + + $('#jquery-fail').imagesLoaded( function( instance ) { + assert.ok( true, 'callback triggered' ); + assert.ok( instance instanceof imagesLoaded, 'instance instanceof imagesLoaded' ); + done(); + }) + .fail( function( instance ) { + assert.ok( true, 'fail triggered' ); + assert.ok( instance instanceof imagesLoaded, 'instance instanceof imagesLoaded' ); + done(); + }) + .always( function( instance ) { + assert.ok( true, 'always triggered' ); + assert.ok( instance instanceof imagesLoaded, 'instance instanceof imagesLoaded' ); + done(); + }) + .progress( function(/* instance, image */) { + assert.ok( true, 'progress trigged'); + done(); + }); + + }); diff --git a/vendor/desandro/imagesloaded/test/unit/jquery-success.js b/vendor/desandro/imagesloaded/test/unit/jquery-success.js new file mode 100644 index 000000000..f16621088 --- /dev/null +++ b/vendor/desandro/imagesloaded/test/unit/jquery-success.js @@ -0,0 +1,28 @@ +QUnit.test( 'jquery success', function( assert ) { + + 'use strict'; + + var $ = window.jQuery; + var done = assert.async( 6 ); + + $('#jquery-success').imagesLoaded( function( instance ) { + assert.ok( true, 'callback triggered' ); + assert.ok( instance instanceof imagesLoaded, 'instance instanceof imagesLoaded' ); + done(); + }) + .done( function( instance ) { + assert.ok( true, 'done triggered' ); + assert.ok( instance instanceof imagesLoaded, 'instance instanceof imagesLoaded' ); + done(); + }) + .always( function( instance ) { + assert.ok( true, 'always triggered' ); + assert.ok( instance instanceof imagesLoaded, 'instance instanceof imagesLoaded' ); + done(); + }) + .progress( function( instance, image ) { + assert.ok( image.isLoaded, 'progress trigged, image is loaded'); + done(); + }); + +}); diff --git a/vendor/desandro/imagesloaded/test/unit/local-files.js b/vendor/desandro/imagesloaded/test/unit/local-files.js new file mode 100644 index 000000000..61da6ae92 --- /dev/null +++ b/vendor/desandro/imagesloaded/test/unit/local-files.js @@ -0,0 +1,31 @@ +QUnit.test( 'local files', function( assert ) { + 'use strict'; + + var elem = document.querySelector('#locals'); + var done = assert.async( 6 ); + + var imgLoader = new imagesLoaded( elem, function( obj ) { + assert.ok( true, 'callback function triggered' ); + assert.equal( imgLoader, obj, 'callback argument and instance match' ); + done(); + }); + imgLoader.on( 'fail', function() { + assert.ok( true, 'fail event triggered' ); + done(); + }); + imgLoader.on( 'always', function() { + assert.ok( true, 'always event triggered' ); + done(); + }); + + imgLoader.on( 'progress', function( loader, image ) { + assert.ok( true, 'image progressed'); + if ( image.img.src.indexOf('img/not-there.jpg') !== -1 ) { + assert.ok( !image.isLoaded, 'thunder cloud is not loaded' ); + } else { + assert.ok( image.isLoaded, 'image is loaded' ); + } + done(); + }); + +}); diff --git a/vendor/desandro/imagesloaded/test/unit/no-images.js b/vendor/desandro/imagesloaded/test/unit/no-images.js new file mode 100644 index 000000000..841216381 --- /dev/null +++ b/vendor/desandro/imagesloaded/test/unit/no-images.js @@ -0,0 +1,11 @@ +QUnit.test( 'no images', function( assert ) { + 'use strict'; + + var elem = document.querySelector('#no-images'); + var done = assert.async(); + imagesLoaded( elem, function() { + assert.ok( true, 'triggered with no images' ); + done(); + }); + +}); diff --git a/vendor/desandro/imagesloaded/test/unit/non-element.js b/vendor/desandro/imagesloaded/test/unit/non-element.js new file mode 100644 index 000000000..4c9986fa6 --- /dev/null +++ b/vendor/desandro/imagesloaded/test/unit/non-element.js @@ -0,0 +1,24 @@ +QUnit.test( 'dismiss non-element nodes', function( assert ) { + 'use strict'; + + var $ = window.jQuery; + var done = assert.async( 2 ); + + $(' <img src="https://picsum.photos/401/301/?random" /> <img src="https://picsum.photos/402/302/?random" /> ') + .imagesLoaded(function() { + assert.ok( true, 'elements from jQuery string ok' ); + done(); + }); + + // test fragment + var frag = document.createDocumentFragment(); + var img = new Image(); + img.src = 'https://picsum.photos/403/303/?random'; + frag.appendChild( img ); + var imgLoad = imagesLoaded( frag, function() { + assert.ok( true, 'document fragment ok' ); + assert.equal( imgLoad.images.length, 1, '1 image found' ); + done(); + }); + +}); diff --git a/vendor/desandro/imagesloaded/test/unit/selector-string.js b/vendor/desandro/imagesloaded/test/unit/selector-string.js new file mode 100644 index 000000000..8c43c4bef --- /dev/null +++ b/vendor/desandro/imagesloaded/test/unit/selector-string.js @@ -0,0 +1,12 @@ +QUnit.test( 'selector string', function( assert ) { + 'use strict'; + var images = document.querySelectorAll('#basics img'); + var done = assert.async(); + var imgLoad = imagesLoaded('#basics', { debug: true }).on( 'done', function( obj ) { + assert.ok( true, 'selector string worked' ); + assert.ok( obj.images, 'argument has images' ); + assert.equal( obj.images.length, images.length, 'images.length matches' ); + done(); + }); + assert.ok( imgLoad.options.debug, 'debug option set' ); +}); diff --git a/vendor/desandro/imagesloaded/test/unit/single-element.js b/vendor/desandro/imagesloaded/test/unit/single-element.js new file mode 100644 index 000000000..42d7e48ee --- /dev/null +++ b/vendor/desandro/imagesloaded/test/unit/single-element.js @@ -0,0 +1,11 @@ +QUnit.test( 'single element', function( assert ) { + 'use strict'; + var elem = document.querySelector('#mario-with-shell'); + var done = assert.async(); + imagesLoaded( elem ).on( 'done', function( obj ) { + assert.ok( true, 'single element worked' ); + assert.ok( obj.images, 'argument has images' ); + assert.equal( obj.images.length, 1, 'images.length = 1' ); + done(); + }); +}); diff --git a/vendor/psr/log/README.md b/vendor/psr/log/README.md index 574bc1cb2..5571a25e8 100644 --- a/vendor/psr/log/README.md +++ b/vendor/psr/log/README.md @@ -7,6 +7,13 @@ This repository holds all interfaces/classes/traits related to Note that this is not a logger of its own. It is merely an interface that describes a logger. See the specification for more details. +Installation +------------ + +```bash +composer require psr/log +``` + Usage ----- diff --git a/view/css/default.css b/view/css/default.css index 765a197d9..bd0f14ba2 100644 --- a/view/css/default.css +++ b/view/css/default.css @@ -1,22 +1,37 @@ main { - display: table; - table-layout: fixed; position: relative; - width: 100%; - height: 100vh; + min-height: 100vh; + display: flex; + flex-direction: column; } -aside { +.content { + display: flex; + flex: 1; +} + +.columns { + display: flex; + flex:1; + min-width: 0; +} + +#region_1 { position: relative; - display: table-cell; - vertical-align: top; + order: 1; padding: 4.5rem 7px 0px 7px; } -section { +#region_2 { position: relative; - width: 100%; - display: table-cell; - vertical-align: top; + flex: 1; + order: 2; padding: 4.5rem 7px 200px 7px; + min-width: 0; +} + +#region_3 { + position: relative; + order: 3; + padding: 4.5rem 7px 0px 7px; } diff --git a/view/css/mod_connedit.css b/view/css/mod_connedit.css index 67a182c5c..b02f928f0 100644 --- a/view/css/mod_connedit.css +++ b/view/css/mod_connedit.css @@ -71,7 +71,6 @@ width: 32px; height: 32px; border-radius: 4px; - border: 1px solid #ccc; text-align: center; } diff --git a/view/es-es/hmessages.po b/view/es-es/hmessages.po index 3b42394b1..67cb21672 100644 --- a/view/es-es/hmessages.po +++ b/view/es-es/hmessages.po @@ -15,7 +15,7 @@ msgstr "" "Project-Id-Version: hubzilla\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2018-10-19 11:04+0200\n" -"PO-Revision-Date: 2018-10-24 11:35+0000\n" +"PO-Revision-Date: 2018-11-21 11:04+0000\n" "Last-Translator: Manuel JimΓ©nez Friaza <mjfriaza@disroot.org>\n" "Language-Team: Spanish (Spain) (http://www.transifex.com/Friendica/hubzilla/language/es_ES/)\n" "MIME-Version: 1.0\n" @@ -1729,7 +1729,7 @@ msgstr "Importar elementos" #: ../../Zotlabs/Module/Import_items.php:126 msgid "" "Use this form to import existing posts and content from an export file." -msgstr "Utilice este formulario para importar entradas existentes y contenido desde un archivo de exportaciΓ³n." +msgstr "Utilice este formulario para importar entradas y contenido desde un archivo de exportaciΓ³n." #: ../../Zotlabs/Module/Import_items.php:127 #: ../../Zotlabs/Module/Import.php:548 @@ -1807,7 +1807,7 @@ msgstr "Un canal es una identidad ΓΊnica en la red. Puede representar a una pers #: ../../Zotlabs/Module/New_channel.php:183 msgid "" "or <a href=\"import\">import an existing channel</a> from another location." -msgstr "O <a href=\"import\">importar un canal existente</a> desde otro lugar." +msgstr "O <a href=\"import\">importar un canal </a> desde otro lugar." #: ../../Zotlabs/Module/New_channel.php:188 msgid "Validate" @@ -4496,7 +4496,7 @@ 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 "Dejar en blanco para mantener su alias de canal existente. Se le asignarΓ‘ aleatoriamente uno similar si cualquiera de los dos nombres ya estΓ‘ asignado en este sitio." +msgstr "Dejar en blanco para mantener su alias de canal . Se le asignarΓ‘ aleatoriamente uno similar si cualquiera de los dos nombres ya estΓ‘ asignado en este sitio." #: ../../Zotlabs/Module/Import.php:562 msgid "" @@ -4942,7 +4942,7 @@ msgstr "Introducir un nombre de Γ‘lbum" #: ../../Zotlabs/Module/Photos.php:698 msgid "or select an existing album (doubleclick)" -msgstr "o seleccionar uno existente (doble click)" +msgstr "o seleccionar un Γ‘lbum (con un doble click)" #: ../../Zotlabs/Module/Photos.php:699 msgid "Create a status post for this upload" @@ -5010,7 +5010,7 @@ msgstr "Introducir un nuevo nombre de Γ‘lbum" #: ../../Zotlabs/Module/Photos.php:1067 msgid "or select an existing one (doubleclick)" -msgstr "o seleccionar uno (doble click) existente" +msgstr "o seleccionar un Γ‘lbum (con un doble click)" #: ../../Zotlabs/Module/Photos.php:1072 msgid "Add a Tag" @@ -5557,7 +5557,7 @@ msgstr "Usar una foto de sus Γ‘lbumes" #: ../../Zotlabs/Module/Profile_photo.php:474 #: ../../Zotlabs/Module/Cover_photo.php:409 msgid "Select existing photo" -msgstr "Seleccionar una foto existente" +msgstr "Seleccionar una foto" #: ../../Zotlabs/Module/Profile_photo.php:493 #: ../../Zotlabs/Module/Cover_photo.php:426 @@ -8443,7 +8443,7 @@ 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 "Un grupo suprimido con este nombre ha sido restablecido. <strong>Es posible</strong> que los permisos existentes sean aplicados a este grupo y sus futuros miembros. Si no quiere esto, por favor cree otro grupo con un nombre diferente." +msgstr "Un grupo suprimido con este nombre ha sido restablecido. <strong>Es posible</strong> que los permisos que ya existen sean aplicados a este grupo y sus futuros miembros. Si no quiere esto, por favor cree otro grupo con un nombre diferente." #: ../../Zotlabs/Lib/Group.php:270 ../../include/group.php:264 msgid "Add new connections to this privacy group" @@ -11149,11 +11149,11 @@ msgstr "Por favor visite el sitio web de $Projectname" #: ../../addon/upgrade_info/upgrade_info.php:46 msgid "app store" -msgstr "depΓ³sito de apps" +msgstr "aplicaciones disponibles" #: ../../addon/upgrade_info/upgrade_info.php:47 msgid "and install possibly missing apps." -msgstr "e instalar aplicaciones que posiblemente falten." +msgstr "e instale las aplicaciones que posiblemente falten." #: ../../addon/upgrade_info/upgrade_info.php:52 msgid "Upgrade Info" @@ -11364,7 +11364,7 @@ msgstr "Eliminar los datos de localizaciΓ³n geogrΓ‘fica del navegador" #: ../../addon/hsse/hsse.php:99 ../../include/conversation.php:1302 msgid "Embed (existing) photo from your photo albums" -msgstr "Insertar (existente) foto de sus Γ‘lbumes de fotos" +msgstr "Insertar una foto de sus Γ‘lbumes" #: ../../addon/hsse/hsse.php:135 ../../include/conversation.php:1338 msgid "Tag term:" @@ -12247,7 +12247,7 @@ msgstr "Crear nuevos eventos aquΓ." msgid "" "You can accept new connections and change permissions for existing ones " "here. You can also e.g. create groups of contacts." -msgstr "Puede aceptar nuevas conexiones y cambiar permisos para las existentes aquΓ. TambiΓ©n puede, por ejemplo, crear grupos de contactos." +msgstr "Puede aceptar nuevas conexiones y cambiar permisos para las que ya existen aquΓ. TambiΓ©n puede, por ejemplo, crear grupos de contactos." #: ../../addon/tour/tour.php:82 msgid "System notifications will arrive here" @@ -14455,7 +14455,7 @@ msgstr "Etiquetas de la comunidad" #: ../../include/features.php:143 msgid "Ability to tag existing posts" -msgstr "Capacidad de etiquetar entradas existentes" +msgstr "Capacidad de etiquetar entradas" #: ../../include/features.php:150 msgid "Emoji Reactions" diff --git a/view/es-es/hstrings.php b/view/es-es/hstrings.php index a459e10dd..1dd38b930 100644 --- a/view/es-es/hstrings.php +++ b/view/es-es/hstrings.php @@ -300,7 +300,7 @@ App::$strings["Imported file is empty."] = "El fichero importado estΓ‘ vacΓo."; App::$strings["Warning: Database versions differ by %1\$d updates."] = "AtenciΓ³n: Las versiones de la base de datos difieren en %1\$d actualizaciones."; App::$strings["Import completed"] = "ImportaciΓ³n completada"; App::$strings["Import Items"] = "Importar elementos"; -App::$strings["Use this form to import existing posts and content from an export file."] = "Utilice este formulario para importar entradas existentes y contenido desde un archivo de exportaciΓ³n."; +App::$strings["Use this form to import existing posts and content from an export file."] = "Utilice este formulario para importar entradas y contenido desde un archivo de exportaciΓ³n."; App::$strings["File to Upload"] = "Fichero para subir"; App::$strings["You have created %1$.0f of %2$.0f allowed channels."] = "Ha creado %1$.0f de %2$.0f canales permitidos."; App::$strings["Loading"] = "Cargando"; @@ -315,7 +315,7 @@ App::$strings["Select a channel permission role compatible with your usage needs App::$strings["Read more about channel permission roles"] = "Leer mΓ‘s sobre los roles y permisos"; App::$strings["Create a Channel"] = "Crear un canal"; 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."] = "Un canal es una identidad ΓΊnica en la red. Puede representar a una persona (un perfil de una red social), un foro o grupo, un negocio o una pΓ‘gina de una celebridad, un \"feed\" de noticias, y muchas otras cosas."; -App::$strings["or <a href=\"import\">import an existing channel</a> from another location."] = "O <a href=\"import\">importar un canal existente</a> desde otro lugar."; +App::$strings["or <a href=\"import\">import an existing channel</a> from another location."] = "O <a href=\"import\">importar un canal </a> desde otro lugar."; App::$strings["Validate"] = "Validar"; App::$strings["Channel removals are not allowed within 48 hours of changing the account password."] = "La eliminaciΓ³n de canales no estΓ‘ permitida hasta pasadas 48 horas desde el ΓΊltimo cambio de contraseΓ±a."; App::$strings["Remove This Channel"] = "Eliminar este canal"; @@ -914,7 +914,7 @@ App::$strings["For either option, please choose whether to make this hub your ne App::$strings["Make this hub my primary location"] = "Convertir este servidor en mi ubicaciΓ³n primaria"; App::$strings["Move this channel (disable all previous locations)"] = "Mover este canal (desactivar todas las ubicaciones anteriores)"; App::$strings["Use this channel nickname instead of the one provided"] = "Usa este alias de canal en lugar del que se proporciona"; -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."] = "Dejar en blanco para mantener su alias de canal existente. Se le asignarΓ‘ aleatoriamente uno similar si cualquiera de los dos nombres ya estΓ‘ asignado en este sitio."; +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."] = "Dejar en blanco para mantener su alias de canal . Se le asignarΓ‘ aleatoriamente uno similar si cualquiera de los dos nombres ya estΓ‘ asignado en este sitio."; App::$strings["This process may take several minutes to complete. Please submit the form only once and leave this page open until finished."] = "Este proceso puede tardar varios minutos en completarse. Por favor envΓe el formulario una sola vez y mantenga esta pΓ‘gina abierta hasta que termine."; App::$strings["Authentication failed."] = "FallΓ³ la autenticaciΓ³n."; App::$strings["Remote Authentication"] = "Acceso desde su servidor"; @@ -1014,7 +1014,7 @@ App::$strings["%1$.2f MB of %2$.2f MB photo storage used."] = "%1$.2f MB de %2$. App::$strings["%1$.2f MB photo storage used."] = "%1$.2f MB de almacenamiento de fotos utilizado."; App::$strings["Upload Photos"] = "Subir fotos"; App::$strings["Enter an album name"] = "Introducir un nombre de Γ‘lbum"; -App::$strings["or select an existing album (doubleclick)"] = "o seleccionar uno existente (doble click)"; +App::$strings["or select an existing album (doubleclick)"] = "o seleccionar un Γ‘lbum (con un doble click)"; App::$strings["Create a status post for this upload"] = "Crear un mensaje de estado para esta subida"; App::$strings["Description (optional)"] = "DescripciΓ³n (opcional)"; App::$strings["Show Newest First"] = "Mostrar lo mΓ‘s reciente primero"; @@ -1031,7 +1031,7 @@ App::$strings["Rotate CW (right)"] = "Girar CW (a la derecha)"; App::$strings["Rotate CCW (left)"] = "Girar CCW (a la izquierda)"; App::$strings["Move photo to album"] = "Mover la foto a un Γ‘lbum"; App::$strings["Enter a new album name"] = "Introducir un nuevo nombre de Γ‘lbum"; -App::$strings["or select an existing one (doubleclick)"] = "o seleccionar uno (doble click) existente"; +App::$strings["or select an existing one (doubleclick)"] = "o seleccionar un Γ‘lbum (con un doble click)"; App::$strings["Add a Tag"] = "AΓ±adir una etiqueta"; App::$strings["Example: @bob, @Barbara_Jensen, @jim@example.com"] = "Ejemplos: @eva, @Carmen_Osuna, @jaime@ejemplo.com"; App::$strings["Flag as adult in album view"] = "Marcar como \"solo para adultos\" en el Γ‘lbum"; @@ -1153,7 +1153,7 @@ App::$strings["Use Photo for Profile"] = "Usar la fotografΓa para el perfil"; App::$strings["Change Profile Photo"] = "Cambiar la foto del perfil"; App::$strings["Use"] = "Usar"; App::$strings["Use a photo from your albums"] = "Usar una foto de sus Γ‘lbumes"; -App::$strings["Select existing photo"] = "Seleccionar una foto existente"; +App::$strings["Select existing photo"] = "Seleccionar una foto"; App::$strings["Crop Image"] = "Recortar imagen"; App::$strings["Please adjust the image cropping for optimum viewing."] = "Por favor ajuste el recorte de la imagen para una visiΓ³n Γ³ptima."; App::$strings["Done Editing"] = "EdiciΓ³n completada"; @@ -1829,7 +1829,7 @@ App::$strings["Directory Options"] = "Opciones del directorio"; App::$strings["Safe Mode"] = "Modo seguro"; App::$strings["Public Forums Only"] = "Solo foros pΓΊblicos"; App::$strings["This Website Only"] = "Solo este sitio web"; -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."] = "Un grupo suprimido con este nombre ha sido restablecido. <strong>Es posible</strong> que los permisos existentes sean aplicados a este grupo y sus futuros miembros. Si no quiere esto, por favor cree otro grupo con un nombre diferente."; +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."] = "Un grupo suprimido con este nombre ha sido restablecido. <strong>Es posible</strong> que los permisos que ya existen sean aplicados a este grupo y sus futuros miembros. Si no quiere esto, por favor cree otro grupo con un nombre diferente."; App::$strings["Add new connections to this privacy group"] = "AΓ±adir conexiones nuevas a este grupo de canales"; App::$strings["edit"] = "editar"; App::$strings["Edit group"] = "Editar grupo"; @@ -2458,8 +2458,8 @@ App::$strings["Jappix Mini Settings"] = "Ajustes de Jappix Mini"; App::$strings["Your channel has been upgraded to the latest \$Projectname version."] = "Su canal ha sido actualizado a la ΓΊltima versiΓ³n de \$Projectname."; App::$strings["To improve usability, we have converted some features into installable stand-alone apps."] = "Para mejorar la usabilidad, hemos convertido algunas caracterΓsticas en aplicaciones independientes instalables."; App::$strings["Please visit the \$Projectname"] = "Por favor visite el sitio web de \$Projectname"; -App::$strings["app store"] = "depΓ³sito de apps"; -App::$strings["and install possibly missing apps."] = "e instalar aplicaciones que posiblemente falten."; +App::$strings["app store"] = "aplicaciones disponibles"; +App::$strings["and install possibly missing apps."] = "e instale las aplicaciones que posiblemente falten."; App::$strings["Upgrade Info"] = "InformaciΓ³n de actualizaciΓ³n"; App::$strings["Do not show this again"] = "No mostrar esto de nuevo"; App::$strings["Access Denied"] = "Acceso denegado"; @@ -2509,7 +2509,7 @@ App::$strings["WYSIWYG status editor"] = "Editor de estado de WYSIWYG"; App::$strings["WYSIWYG Status"] = "Estado de WYSIWYG"; App::$strings["Set your location"] = "Establecer su ubicaciΓ³n"; App::$strings["Clear browser location"] = "Eliminar los datos de localizaciΓ³n geogrΓ‘fica del navegador"; -App::$strings["Embed (existing) photo from your photo albums"] = "Insertar (existente) foto de sus Γ‘lbumes de fotos"; +App::$strings["Embed (existing) photo from your photo albums"] = "Insertar una foto de sus Γ‘lbumes"; App::$strings["Tag term:"] = "TΓ©rmino de la etiqueta:"; App::$strings["Where are you right now?"] = "ΒΏDonde estΓ‘ ahora?"; App::$strings["Choose a different album..."] = "Elegir un Γ‘lbum diferente..."; @@ -2706,7 +2706,7 @@ App::$strings["Click here to see activity from your connections."] = "Pulsar aqu App::$strings["Click here to see your channel home."] = "Pulsar aquΓ para ver la pΓ‘gina de inicio de su canal."; App::$strings["You can access your private messages from here."] = "Puede acceder a sus mensajes privados desde aquΓ."; App::$strings["Create new events here."] = "Crear nuevos eventos aquΓ."; -App::$strings["You can accept new connections and change permissions for existing ones here. You can also e.g. create groups of contacts."] = "Puede aceptar nuevas conexiones y cambiar permisos para las existentes aquΓ. TambiΓ©n puede, por ejemplo, crear grupos de contactos."; +App::$strings["You can accept new connections and change permissions for existing ones here. You can also e.g. create groups of contacts."] = "Puede aceptar nuevas conexiones y cambiar permisos para las que ya existen aquΓ. TambiΓ©n puede, por ejemplo, crear grupos de contactos."; App::$strings["System notifications will arrive here"] = "Las notificaciones del sistema llegarΓ‘n aquΓ"; App::$strings["Search for content and users"] = "Buscar contenido y usuarios"; App::$strings["Browse for new contacts"] = "Buscar nuevos contactos"; @@ -3270,7 +3270,7 @@ App::$strings["Connection Filtering"] = "Filtrado de conexiones"; App::$strings["Filter incoming posts from connections based on keywords/content"] = "Filtrar publicaciones entrantes de conexiones por palabras clave o contenido"; App::$strings["Conversation"] = "ConversaciΓ³n"; App::$strings["Community Tagging"] = "Etiquetas de la comunidad"; -App::$strings["Ability to tag existing posts"] = "Capacidad de etiquetar entradas existentes"; +App::$strings["Ability to tag existing posts"] = "Capacidad de etiquetar entradas"; App::$strings["Emoji Reactions"] = "Emoticonos \"emoji\""; App::$strings["Add emoji reaction ability to posts"] = "Activar la capacidad de aΓ±adir un emoticono \"emoji\" a las entradas"; App::$strings["Dislike Posts"] = "Desagrado de publicaciones"; diff --git a/view/js/main.js b/view/js/main.js index f4bfd413b..a69bcfa64 100644 --- a/view/js/main.js +++ b/view/js/main.js @@ -558,7 +558,8 @@ function handleNotificationsItems(notifyType, data) { if(filter) { $('#nav-' + notifyType + '-menu .notification').each(function(i, el){ var cn = $(el).data('contact_name').toString().toLowerCase(); - if(cn.indexOf(filter) === -1) + var ca = $(el).data('contact_addr').toString().toLowerCase(); + if(cn.indexOf(filter) === -1 && ca.indexOf(filter) === -1) $(el).addClass('d-none'); else $(el).removeClass('d-none'); diff --git a/view/php/default.php b/view/php/default.php index 60f3f6a6f..388c94382 100644 --- a/view/php/default.php +++ b/view/php/default.php @@ -10,12 +10,16 @@ <header><?php if(x($page,'header')) echo $page['header']; ?></header> <nav class="navbar fixed-top navbar-expand-lg navbar-dark bg-dark"><?php if(x($page,'nav')) echo $page['nav']; ?></nav> <main> - <aside id="region_1"><div class="aside_spacer"><div id="left_aside_wrapper"><?php if(x($page,'aside')) echo $page['aside']; ?></div></div></aside> - <section id="region_2"><?php if(x($page,'content')) echo $page['content']; ?> + <div class="content"> + <div class="columns"> + <aside id="region_1"><div class="aside_spacer"><div id="left_aside_wrapper"><?php if(x($page,'aside')) echo $page['aside']; ?></div></div></aside> + <section id="region_2"><?php if(x($page,'content')) echo $page['content']; ?> <div id="page-footer"></div> - <div id="pause"></div> - </section> - <aside id="region_3" class="d-none d-xl-table-cell"><div class="aside_spacer"><div id="right_aside_wrapper"><?php if(x($page,'right_aside')) echo $page['right_aside']; ?></div></div></aside> + <div id="pause"></div> + </section> + <aside id="region_3" class="d-none d-xl-table-cell"><div class="aside_spacer"><div id="right_aside_wrapper"><?php if(x($page,'right_aside')) echo $page['right_aside']; ?></div></div></aside> + </div> + </div> </main> <footer><?php if(x($page,'footer')) echo $page['footer']; ?></footer> </body> diff --git a/view/php/theme_init.php b/view/php/theme_init.php index dd8dcb5ee..73e559c45 100644 --- a/view/php/theme_init.php +++ b/view/php/theme_init.php @@ -36,7 +36,7 @@ head_add_js('/library/colorbox/jquery.colorbox-min.js'); head_add_js('/library/jquery.AreYouSure/jquery.are-you-sure.js'); head_add_js('/library/tableofcontents/jquery.toc.js'); -head_add_js('/library/imagesloaded/imagesloaded.pkgd.min.js'); +head_add_js('/vendor/desandro/imagesloaded/imagesloaded.pkgd.min.js'); /** * Those who require this feature will know what to do with it. * Those who don't, won't. diff --git a/view/ru/hmessages.po b/view/ru/hmessages.po index d21f707d1..6a8c8805c 100644 --- a/view/ru/hmessages.po +++ b/view/ru/hmessages.po @@ -12,7 +12,7 @@ msgstr "" "Project-Id-Version: hubzilla\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2018-10-18 11:03+0200\n" -"PO-Revision-Date: 2018-10-18 11:06+0200\n" +"PO-Revision-Date: 2018-11-19 14:12+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" @@ -25,7 +25,7 @@ msgstr "" msgid "Source channel not found." msgstr "ΠΠ°Π½Π°Π»-ΠΈΡΡΠΎΡΠ½ΠΈΠΊ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½." -#: ../../view/theme/redbasic/php/config.php:15 ../../include/text.php:3087 +#: ../../view/theme/redbasic/php/config.php:15 ../../include/text.php:3086 #: ../../Zotlabs/Module/Admin/Site.php:187 msgid "Default" msgstr "ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ" @@ -41,8 +41,8 @@ msgstr "Π€ΠΎΠΊΡΡ (ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Hubzilla)" #: ../../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:723 ../../Zotlabs/Module/Photos.php:1084 -#: ../../Zotlabs/Module/Photos.php:1124 ../../Zotlabs/Module/Photos.php:1242 +#: ../../Zotlabs/Module/Profiles.php:723 ../../Zotlabs/Module/Photos.php:1097 +#: ../../Zotlabs/Module/Photos.php:1137 ../../Zotlabs/Module/Photos.php:1255 #: ../../Zotlabs/Module/Oauth.php:111 ../../Zotlabs/Module/Events.php:495 #: ../../Zotlabs/Module/Rate.php:166 ../../Zotlabs/Module/Locs.php:121 #: ../../Zotlabs/Module/Sources.php:125 ../../Zotlabs/Module/Sources.php:162 @@ -79,15 +79,15 @@ msgstr "Π€ΠΎΠΊΡΡ (ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Hubzilla)" #: ../../Zotlabs/Module/Admin/Account_edit.php:73 #: ../../Zotlabs/Module/Tokens.php:188 ../../Zotlabs/Module/Thing.php:326 #: ../../Zotlabs/Module/Thing.php:379 ../../Zotlabs/Module/Editpost.php:85 -#: ../../Zotlabs/Module/Connedit.php:888 ../../Zotlabs/Module/Group.php:140 -#: ../../Zotlabs/Module/Group.php:156 ../../Zotlabs/Module/Mood.php:156 +#: ../../Zotlabs/Module/Connedit.php:893 ../../Zotlabs/Module/Group.php:140 +#: ../../Zotlabs/Module/Group.php:156 ../../Zotlabs/Module/Mood.php:158 #: ../../Zotlabs/Module/Invite.php:168 ../../Zotlabs/Module/Connect.php:124 #: ../../Zotlabs/Module/Pdledit.php:107 ../../Zotlabs/Module/Wiki.php:215 #: ../../Zotlabs/Module/Import.php:565 #: ../../Zotlabs/Module/Import_items.php:129 #: ../../Zotlabs/Widget/Wiki_pages.php:42 #: ../../Zotlabs/Widget/Wiki_pages.php:99 -#: ../../Zotlabs/Widget/Eventstools.php:16 ../../Zotlabs/Lib/ThreadItem.php:767 +#: ../../Zotlabs/Widget/Eventstools.php:16 ../../Zotlabs/Lib/ThreadItem.php:770 #: ../../extend/addon/hzaddons/dwpost/dwpost.php:89 #: ../../extend/addon/hzaddons/fuzzloc/fuzzloc.php:191 #: ../../extend/addon/hzaddons/redphotos/redphotos.php:136 @@ -106,7 +106,7 @@ msgstr "Π€ΠΎΠΊΡΡ (ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Hubzilla)" #: ../../extend/addon/hzaddons/mailtest/mailtest.php:100 #: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:53 #: ../../extend/addon/hzaddons/hzfiles/hzfiles.php:84 -#: ../../extend/addon/hzaddons/ljpost/ljpost.php:86 +#: ../../extend/addon/hzaddons/ljpost/ljpost.php:89 #: ../../extend/addon/hzaddons/statusnet/statusnet.php:322 #: ../../extend/addon/hzaddons/statusnet/statusnet.php:380 #: ../../extend/addon/hzaddons/statusnet/statusnet.php:432 @@ -150,9 +150,9 @@ msgstr "Π£Π·ΠΊΠ°Ρ ΠΏΠ°Π½Π΅Π»Ρ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΈ" #: ../../view/theme/redbasic/php/config.php:99 #: ../../view/theme/redbasic/php/config.php:116 ../../include/dir_fns.php:143 #: ../../include/dir_fns.php:144 ../../include/dir_fns.php:145 -#: ../../boot.php:1630 ../../Zotlabs/Storage/Browser.php:405 +#: ../../boot.php:1629 ../../Zotlabs/Storage/Browser.php:405 #: ../../Zotlabs/Module/Defperms.php:197 ../../Zotlabs/Module/Profiles.php:681 -#: ../../Zotlabs/Module/Photos.php:699 ../../Zotlabs/Module/Api.php:99 +#: ../../Zotlabs/Module/Photos.php:712 ../../Zotlabs/Module/Api.php:99 #: ../../Zotlabs/Module/Events.php:472 ../../Zotlabs/Module/Events.php:473 #: ../../Zotlabs/Module/Sources.php:124 ../../Zotlabs/Module/Sources.php:159 #: ../../Zotlabs/Module/Settings/Display.php:89 @@ -163,7 +163,7 @@ msgstr "Π£Π·ΠΊΠ°Ρ ΠΏΠ°Π½Π΅Π»Ρ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΈ" #: ../../Zotlabs/Module/Menu.php:221 ../../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:255 -#: ../../Zotlabs/Module/Connedit.php:397 ../../Zotlabs/Module/Connedit.php:780 +#: ../../Zotlabs/Module/Connedit.php:398 ../../Zotlabs/Module/Connedit.php:785 #: ../../Zotlabs/Module/Wiki.php:227 ../../Zotlabs/Module/Wiki.php:228 #: ../../Zotlabs/Module/Import.php:554 ../../Zotlabs/Module/Import.php:558 #: ../../Zotlabs/Module/Import.php:559 ../../Zotlabs/Lib/Libzotdir.php:162 @@ -189,8 +189,8 @@ msgstr "Π£Π·ΠΊΠ°Ρ ΠΏΠ°Π½Π΅Π»Ρ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΈ" #: ../../extend/addon/hzaddons/pumpio/pumpio.php:227 #: ../../extend/addon/hzaddons/pumpio/pumpio.php:231 #: ../../extend/addon/hzaddons/nsabait/nsabait.php:157 -#: ../../extend/addon/hzaddons/ljpost/ljpost.php:70 -#: ../../extend/addon/hzaddons/ljpost/ljpost.php:82 +#: ../../extend/addon/hzaddons/ljpost/ljpost.php:73 +#: ../../extend/addon/hzaddons/ljpost/ljpost.php:85 #: ../../extend/addon/hzaddons/statusnet/statusnet.php:389 #: ../../extend/addon/hzaddons/statusnet/statusnet.php:411 #: ../../extend/addon/hzaddons/statusnet/statusnet.php:415 @@ -229,9 +229,9 @@ msgstr "ΠΠ΅Ρ" #: ../../view/theme/redbasic/php/config.php:99 #: ../../view/theme/redbasic/php/config.php:116 ../../include/dir_fns.php:143 #: ../../include/dir_fns.php:144 ../../include/dir_fns.php:145 -#: ../../boot.php:1630 ../../Zotlabs/Storage/Browser.php:405 +#: ../../boot.php:1629 ../../Zotlabs/Storage/Browser.php:405 #: ../../Zotlabs/Module/Defperms.php:197 ../../Zotlabs/Module/Profiles.php:681 -#: ../../Zotlabs/Module/Photos.php:699 ../../Zotlabs/Module/Api.php:98 +#: ../../Zotlabs/Module/Photos.php:712 ../../Zotlabs/Module/Api.php:98 #: ../../Zotlabs/Module/Events.php:472 ../../Zotlabs/Module/Events.php:473 #: ../../Zotlabs/Module/Sources.php:124 ../../Zotlabs/Module/Sources.php:159 #: ../../Zotlabs/Module/Settings/Display.php:89 @@ -242,7 +242,7 @@ msgstr "ΠΠ΅Ρ" #: ../../Zotlabs/Module/Menu.php:221 ../../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:257 -#: ../../Zotlabs/Module/Connedit.php:397 ../../Zotlabs/Module/Wiki.php:227 +#: ../../Zotlabs/Module/Connedit.php:398 ../../Zotlabs/Module/Wiki.php:227 #: ../../Zotlabs/Module/Wiki.php:228 ../../Zotlabs/Module/Import.php:554 #: ../../Zotlabs/Module/Import.php:558 ../../Zotlabs/Module/Import.php:559 #: ../../Zotlabs/Lib/Libzotdir.php:162 ../../Zotlabs/Lib/Libzotdir.php:163 @@ -268,8 +268,8 @@ msgstr "ΠΠ΅Ρ" #: ../../extend/addon/hzaddons/pumpio/pumpio.php:227 #: ../../extend/addon/hzaddons/pumpio/pumpio.php:231 #: ../../extend/addon/hzaddons/nsabait/nsabait.php:157 -#: ../../extend/addon/hzaddons/ljpost/ljpost.php:70 -#: ../../extend/addon/hzaddons/ljpost/ljpost.php:82 +#: ../../extend/addon/hzaddons/ljpost/ljpost.php:73 +#: ../../extend/addon/hzaddons/ljpost/ljpost.php:85 #: ../../extend/addon/hzaddons/statusnet/statusnet.php:389 #: ../../extend/addon/hzaddons/statusnet/statusnet.php:411 #: ../../extend/addon/hzaddons/statusnet/statusnet.php:415 @@ -414,13 +414,13 @@ msgid "Monthly" msgstr "ΠΠΆΠ΅ΠΌΠ΅ΡΡΡΠ½ΠΎ" #: ../../include/selectors.php:60 ../../include/selectors.php:77 -#: ../../include/channel.php:1487 +#: ../../include/channel.php:1536 #: ../../extend/addon/hzaddons/openid/Mod_Id.php:85 msgid "Male" msgstr "ΠΡΠΆΡΠΈΠ½Π°" #: ../../include/selectors.php:60 ../../include/selectors.php:77 -#: ../../include/channel.php:1485 +#: ../../include/channel.php:1534 #: ../../extend/addon/hzaddons/openid/Mod_Id.php:87 msgid "Female" msgstr "ΠΠ΅Π½ΡΠΈΠ½Π°" @@ -457,20 +457,20 @@ msgstr "Π’ΡΠ°Π½ΡΡΠ΅ΠΊΡΡΠ°Π»" msgid "Hermaphrodite" msgstr "ΠΠ΅ΡΠΌΠ°ΡΡΠΎΠ΄ΠΈΡ" -#: ../../include/selectors.php:60 ../../include/channel.php:1491 +#: ../../include/selectors.php:60 ../../include/channel.php:1540 msgid "Neuter" msgstr "Π‘ΡΠ΅Π΄Π½Π΅Π³ΠΎ ΡΠΎΠ΄Π°" -#: ../../include/selectors.php:60 ../../include/channel.php:1493 +#: ../../include/selectors.php:60 ../../include/channel.php:1542 msgid "Non-specific" msgstr "ΠΠ΅ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠΉ" #: ../../include/selectors.php:60 ../../include/selectors.php:77 #: ../../include/selectors.php:115 ../../include/selectors.php:151 #: ../../include/connections.php:703 ../../include/connections.php:710 -#: ../../include/event.php:1315 ../../include/event.php:1322 +#: ../../include/event.php:1318 ../../include/event.php:1325 #: ../../Zotlabs/Module/Cdav.php:1227 ../../Zotlabs/Module/Profiles.php:795 -#: ../../Zotlabs/Module/Connedit.php:919 +#: ../../Zotlabs/Module/Connedit.php:924 #: ../../Zotlabs/Access/PermissionRoles.php:306 msgid "Other" msgstr "ΠΡΡΠ³ΠΎΠΉ" @@ -567,14 +567,14 @@ msgstr "ΠΠ΅Π²Π΅ΡΠ½ΡΠΉ" msgid "Sex Addict" msgstr "ΠΡΠΎΡΠΎΠΌΠ°Π½" -#: ../../include/selectors.php:134 ../../include/channel.php:444 -#: ../../include/channel.php:445 ../../include/channel.php:452 +#: ../../include/selectors.php:134 ../../include/channel.php:493 +#: ../../include/channel.php:494 ../../include/channel.php:501 #: ../../Zotlabs/Module/Settings/Channel.php:70 #: ../../Zotlabs/Module/Settings/Channel.php:74 #: ../../Zotlabs/Module/Settings/Channel.php:75 #: ../../Zotlabs/Module/Settings/Channel.php:78 #: ../../Zotlabs/Module/Settings/Channel.php:89 -#: ../../Zotlabs/Module/Connedit.php:712 ../../Zotlabs/Widget/Affinity.php:24 +#: ../../Zotlabs/Module/Connedit.php:717 ../../Zotlabs/Widget/Affinity.php:24 msgid "Friends" msgstr "ΠΡΡΠ·ΡΡ" @@ -662,7 +662,7 @@ msgstr "ΠΡΡ ΡΠ°Π²Π½ΠΎ" msgid "Ask me" msgstr "Π‘ΠΏΡΠΎΡΠΈ ΠΌΠ΅Π½Ρ" -#: ../../include/photos.php:27 ../../include/items.php:3675 +#: ../../include/photos.php:27 ../../include/items.php:3701 #: ../../include/attach.php:150 ../../include/attach.php:197 #: ../../include/attach.php:270 ../../include/attach.php:379 #: ../../include/attach.php:393 ../../include/attach.php:400 @@ -670,8 +670,8 @@ msgstr "Π‘ΠΏΡΠΎΡΠΈ ΠΌΠ΅Π½Ρ" #: ../../include/attach.php:1116 ../../include/attach.php:1281 #: ../../Zotlabs/Module/Mail.php:146 ../../Zotlabs/Module/Defperms.php:181 #: ../../Zotlabs/Module/Network.php:17 ../../Zotlabs/Module/Common.php:38 -#: ../../Zotlabs/Module/Item.php:229 ../../Zotlabs/Module/Item.php:248 -#: ../../Zotlabs/Module/Item.php:258 ../../Zotlabs/Module/Item.php:1110 +#: ../../Zotlabs/Module/Item.php:231 ../../Zotlabs/Module/Item.php:250 +#: ../../Zotlabs/Module/Item.php:260 ../../Zotlabs/Module/Item.php:1136 #: ../../Zotlabs/Module/Achievements.php:34 #: ../../Zotlabs/Module/Display.php:448 ../../Zotlabs/Module/Poke.php:157 #: ../../Zotlabs/Module/Profile.php:85 ../../Zotlabs/Module/Profile.php:101 @@ -698,8 +698,8 @@ msgstr "Π‘ΠΏΡΠΎΡΠΈ ΠΌΠ΅Π½Ρ" #: ../../Zotlabs/Module/Filestorage.php:140 #: ../../Zotlabs/Module/Editblock.php:67 #: ../../Zotlabs/Module/Service_limits.php:11 -#: ../../Zotlabs/Module/Message.php:18 ../../Zotlabs/Module/Channel.php:119 -#: ../../Zotlabs/Module/Channel.php:286 ../../Zotlabs/Module/Channel.php:325 +#: ../../Zotlabs/Module/Message.php:18 ../../Zotlabs/Module/Channel.php:163 +#: ../../Zotlabs/Module/Channel.php:330 ../../Zotlabs/Module/Channel.php:369 #: ../../Zotlabs/Module/Like.php:185 ../../Zotlabs/Module/Bookmarks.php:70 #: ../../Zotlabs/Module/Viewsrc.php:19 ../../Zotlabs/Module/Menu.php:129 #: ../../Zotlabs/Module/Menu.php:140 ../../Zotlabs/Module/Setup.php:209 @@ -713,9 +713,9 @@ msgstr "Π‘ΠΏΡΠΎΡΠΈ ΠΌΠ΅Π½Ρ" #: ../../Zotlabs/Module/Moderate.php:13 ../../Zotlabs/Module/Webpages.php:133 #: ../../Zotlabs/Module/Profile_photo.php:302 #: ../../Zotlabs/Module/Profile_photo.php:315 -#: ../../Zotlabs/Module/Editpost.php:17 ../../Zotlabs/Module/Connedit.php:390 +#: ../../Zotlabs/Module/Editpost.php:17 ../../Zotlabs/Module/Connedit.php:391 #: ../../Zotlabs/Module/Group.php:14 ../../Zotlabs/Module/Group.php:30 -#: ../../Zotlabs/Module/Connections.php:32 ../../Zotlabs/Module/Mood.php:124 +#: ../../Zotlabs/Module/Connections.php:32 ../../Zotlabs/Module/Mood.php:126 #: ../../Zotlabs/Module/Card_edit.php:51 #: ../../Zotlabs/Module/Article_edit.php:51 ../../Zotlabs/Module/Blocks.php:73 #: ../../Zotlabs/Module/Blocks.php:80 ../../Zotlabs/Module/Invite.php:21 @@ -727,6 +727,7 @@ msgstr "Π‘ΠΏΡΠΎΡΠΈ ΠΌΠ΅Π½Ρ" #: ../../Zotlabs/Module/Layouts.php:71 ../../Zotlabs/Module/Layouts.php:78 #: ../../Zotlabs/Module/Layouts.php:89 ../../Zotlabs/Web/WebServer.php:123 #: ../../Zotlabs/Lib/Chatroom.php:133 +#: ../../extend/addon/hzaddons/flashcards/Mod_Flashcards.php:167 #: ../../extend/addon/hzaddons/pumpio/pumpio.php:40 #: ../../extend/addon/hzaddons/openid/Mod_Id.php:53 #: ../../extend/addon/hzaddons/keepout/keepout.php:36 @@ -761,16 +762,16 @@ msgctxt "photo_upload" msgid "%1$s posted %2$s to %3$s" msgstr "%1$s ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π» %2$s Π² %3$s" -#: ../../include/photos.php:667 ../../include/nav.php:417 +#: ../../include/photos.php:669 ../../include/nav.php:417 msgid "Photo Albums" msgstr "Π€ΠΎΡΠΎΠ°Π»ΡΠ±ΠΎΠΌΡ" -#: ../../include/photos.php:668 ../../Zotlabs/Module/Photos.php:1367 -#: ../../Zotlabs/Module/Photos.php:1380 ../../Zotlabs/Module/Photos.php:1381 +#: ../../include/photos.php:670 ../../Zotlabs/Module/Photos.php:1380 +#: ../../Zotlabs/Module/Photos.php:1393 ../../Zotlabs/Module/Photos.php:1394 msgid "Recent Photos" msgstr "ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ ΡΠΎΡΠΎΠ³ΡΠ°ΡΠΈΠΈ" -#: ../../include/photos.php:672 +#: ../../include/photos.php:674 msgid "Upload New Photos" msgstr "ΠΠ°Π³ΡΡΠ·ΠΈΡΡ Π½ΠΎΠ²ΡΠ΅ ΡΠΎΡΠΎΠ³ΡΠ°ΡΠΈΠΈ" @@ -778,19 +779,19 @@ msgstr "ΠΠ°Π³ΡΡΠ·ΠΈΡΡ Π½ΠΎΠ²ΡΠ΅ ΡΠΎΡΠΎΠ³ΡΠ°ΡΠΈΠΈ" msgid "View PDF" msgstr "ΠΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ PDF" -#: ../../include/oembed.php:347 +#: ../../include/oembed.php:352 msgid " by " msgstr " ΠΏΠΎ " -#: ../../include/oembed.php:348 +#: ../../include/oembed.php:353 msgid " on " msgstr " Π½Π° " -#: ../../include/oembed.php:377 +#: ../../include/oembed.php:382 msgid "Embedded content" msgstr "ΠΡΡΡΠΎΠ΅Π½Π½ΠΎΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅" -#: ../../include/oembed.php:386 +#: ../../include/oembed.php:391 msgid "Embedding disabled" msgstr "ΠΡΡΡΠ°ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΎ" @@ -853,7 +854,7 @@ msgstr "Π Π°ΡΡΠΈΡΠ΅Π½Π½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ: name=ivan and country=russia" #: ../../include/contact_widgets.php:53 ../../include/features.php:325 #: ../../Zotlabs/Widget/Filer.php:28 -#: ../../Zotlabs/Widget/Activity_filter.php:136 +#: ../../Zotlabs/Widget/Activity_filter.php:137 msgid "Saved Folders" msgstr "Π‘ΠΎΡ
ΡΠ°Π½ΡΠ½Π½ΡΠ΅ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΈ" @@ -879,8 +880,8 @@ msgstr "ΠΠ±ΡΠΈΠ΅ ΠΊΠΎΠ½ΡΠ°ΠΊΡΡ" msgid "View all %d common connections" msgstr "ΠΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π²ΡΠ΅ %d ΠΎΠ±ΡΠΈΡ
ΠΊΠΎΠ½ΡΠ°ΠΊΡΠΎΠ²" -#: ../../include/menu.php:118 ../../include/channel.php:1303 -#: ../../include/channel.php:1307 ../../Zotlabs/Storage/Browser.php:290 +#: ../../include/menu.php:118 ../../include/channel.php:1352 +#: ../../include/channel.php:1356 ../../Zotlabs/Storage/Browser.php:290 #: ../../Zotlabs/Module/Oauth.php:173 ../../Zotlabs/Module/Oauth2.php:194 #: ../../Zotlabs/Module/Editlayout.php:114 #: ../../Zotlabs/Module/Editblock.php:114 ../../Zotlabs/Module/Menu.php:175 @@ -899,55 +900,55 @@ msgstr "ΠΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π²ΡΠ΅ %d ΠΎΠ±ΡΠΈΡ
ΠΊΠΎΠ½ΡΠ°ΠΊΡΠΎΠ²" msgid "Edit" msgstr "ΠΠ·ΠΌΠ΅Π½ΠΈΡΡ" -#: ../../include/channel.php:42 +#: ../../include/channel.php:43 msgid "Unable to obtain identity information from database" msgstr "ΠΠ΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΈΠ· Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
" -#: ../../include/channel.php:75 +#: ../../include/channel.php:76 msgid "Empty name" msgstr "ΠΡΡΡΠΎΠ΅ ΠΈΠΌΡ" -#: ../../include/channel.php:78 +#: ../../include/channel.php:79 msgid "Name too long" msgstr "Π‘Π»ΠΈΡΠΊΠΎΠΌ Π΄Π»ΠΈΠ½Π½ΠΎΠ΅ ΠΈΠΌΡ" -#: ../../include/channel.php:195 +#: ../../include/channel.php:196 msgid "No account identifier" msgstr "ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π°ΠΊΠΊΠ°ΡΠ½ΡΠ° ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ" -#: ../../include/channel.php:207 +#: ../../include/channel.php:208 msgid "Nickname is required." msgstr "Π’ΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌ." -#: ../../include/channel.php:221 ../../include/channel.php:606 +#: ../../include/channel.php:222 ../../include/channel.php:655 #: ../../Zotlabs/Module/Changeaddr.php:46 msgid "Reserved nickname. Please choose another." msgstr "ΠΠ°ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠΎΠ²Π°Π½ΡΠΉ ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌ. ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, Π²ΡΠ±Π΅ΡΠΈΡΠ΅ Π΄ΡΡΠ³ΠΎΠΉ." -#: ../../include/channel.php:226 ../../include/channel.php:611 +#: ../../include/channel.php:227 ../../include/channel.php:660 #: ../../Zotlabs/Module/Changeaddr.php:51 msgid "" "Nickname has unsupported characters or is already being used on this site." msgstr "ΠΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌ ΠΈΠΌΠ΅Π΅Ρ Π½Π΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ ΠΈΠ»ΠΈ ΡΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π½Π° ΡΡΠΎΠΌ ΡΠ°ΠΉΡΠ΅." -#: ../../include/channel.php:284 +#: ../../include/channel.php:287 msgid "Unable to retrieve created identity" msgstr "ΠΠ΅ ΡΠ΄Π°Π΅ΡΡΡ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ" -#: ../../include/channel.php:380 +#: ../../include/channel.php:429 msgid "Default Profile" msgstr "ΠΡΠΎΡΠΈΠ»Ρ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ" -#: ../../include/channel.php:539 ../../include/channel.php:628 +#: ../../include/channel.php:588 ../../include/channel.php:677 msgid "Unable to retrieve modified identity" msgstr "ΠΠ΅ ΡΠ΄Π°Π΅ΡΡΡ Π½Π°ΠΉΡΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΠ½Π½ΡΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ" -#: ../../include/channel.php:1158 +#: ../../include/channel.php:1207 #: ../../extend/addon/hzaddons/chess/chess.php:486 msgid "Requested channel is not available." msgstr "ΠΠ°ΠΏΡΠΎΡΠ΅Π½Π½ΡΠΉ ΠΊΠ°Π½Π°Π» Π½Π΅ Π΄ΠΎΡΡΡΠΏΠ΅Π½." -#: ../../include/channel.php:1204 ../../Zotlabs/Module/Achievements.php:15 +#: ../../include/channel.php:1253 ../../Zotlabs/Module/Achievements.php:15 #: ../../Zotlabs/Module/Profile.php:20 ../../Zotlabs/Module/Editlayout.php:31 #: ../../Zotlabs/Module/Filestorage.php:51 #: ../../Zotlabs/Module/Editblock.php:31 ../../Zotlabs/Module/Menu.php:91 @@ -959,84 +960,84 @@ msgstr "ΠΠ°ΠΏΡΠΎΡΠ΅Π½Π½ΡΠΉ ΠΊΠ°Π½Π°Π» Π½Π΅ Π΄ΠΎΡΡΡΠΏΠ΅Π½." msgid "Requested profile is not available." msgstr "ΠΠ°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅ΠΌΡΠΉ ΠΏΡΠΎΡΠΈΠ»Ρ Π½Π΅ Π΄ΠΎΡΡΡΠΏΠ΅Π½." -#: ../../include/channel.php:1296 ../../Zotlabs/Module/Profiles.php:728 +#: ../../include/channel.php:1345 ../../Zotlabs/Module/Profiles.php:728 msgid "Change profile photo" msgstr "ΠΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠΎΡΠΎΠ³ΡΠ°ΡΠΈΡ ΠΏΡΠΎΡΠΈΠ»Ρ" -#: ../../include/channel.php:1303 ../../include/nav.php:109 +#: ../../include/channel.php:1352 ../../include/nav.php:109 #: ../../Zotlabs/Module/Profiles.php:830 msgid "Edit Profiles" msgstr "Π Π΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΡΠΈΠ»Π΅ΠΉ" -#: ../../include/channel.php:1304 +#: ../../include/channel.php:1353 msgid "Create New Profile" msgstr "Π‘ΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΠΉ ΠΏΡΠΎΡΠΈΠ»Ρ" -#: ../../include/channel.php:1307 ../../include/nav.php:111 +#: ../../include/channel.php:1356 ../../include/nav.php:111 #: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:58 msgid "Edit Profile" msgstr "Π Π΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΡΠΈΠ»Ρ" -#: ../../include/channel.php:1322 ../../Zotlabs/Module/Profiles.php:820 +#: ../../include/channel.php:1371 ../../Zotlabs/Module/Profiles.php:820 msgid "Profile Image" msgstr "ΠΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΡΠΈΠ»Ρ" -#: ../../include/channel.php:1325 +#: ../../include/channel.php:1374 msgid "Visible to everybody" msgstr "ΠΠΈΠ΄Π½ΠΎ Π²ΡΠ΅ΠΌ" -#: ../../include/channel.php:1326 ../../Zotlabs/Module/Profiles.php:725 +#: ../../include/channel.php:1375 ../../Zotlabs/Module/Profiles.php:725 #: ../../Zotlabs/Module/Profiles.php:824 msgid "Edit visibility" msgstr "Π Π΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΡ" -#: ../../include/channel.php:1383 ../../include/conversation.php:1058 +#: ../../include/channel.php:1432 ../../include/conversation.php:1058 #: ../../include/connections.php:110 ../../Zotlabs/Module/Directory.php:342 #: ../../Zotlabs/Module/Suggest.php:71 ../../Zotlabs/Widget/Suggestions.php:44 #: ../../Zotlabs/Widget/Follow.php:32 msgid "Connect" msgstr "ΠΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ" -#: ../../include/channel.php:1398 ../../include/event.php:54 +#: ../../include/channel.php:1447 ../../include/event.php:54 #: ../../include/event.php:86 ../../Zotlabs/Module/Directory.php:328 msgid "Location:" msgstr "ΠΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅:" -#: ../../include/channel.php:1402 ../../include/channel.php:1530 +#: ../../include/channel.php:1451 ../../include/channel.php:1579 msgid "Gender:" msgstr "ΠΠΎΠ»:" -#: ../../include/channel.php:1403 ../../include/channel.php:1574 +#: ../../include/channel.php:1452 ../../include/channel.php:1623 #: ../../extend/addon/hzaddons/jappixmini/jappixmini.php:305 msgid "Status:" msgstr "Π‘ΡΠ°ΡΡΡ:" -#: ../../include/channel.php:1404 ../../include/channel.php:1598 +#: ../../include/channel.php:1453 ../../include/channel.php:1647 msgid "Homepage:" msgstr "ΠΠΎΠΌΠ°ΡΠ½ΡΡ ΡΡΡΠ°Π½ΠΈΡΠ°:" -#: ../../include/channel.php:1405 +#: ../../include/channel.php:1454 msgid "Online Now" msgstr "Π‘Π΅ΠΉΡΠ°Ρ Π² ΡΠ΅ΡΠΈ" -#: ../../include/channel.php:1458 +#: ../../include/channel.php:1507 msgid "Change your profile photo" msgstr "ΠΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠΎΡΠΎΠ³ΡΠ°ΡΠΈΡ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΎΡΠΈΠ»Ρ" -#: ../../include/channel.php:1489 +#: ../../include/channel.php:1538 msgid "Trans" msgstr "Π’ΡΠ°Π½ΡΠ΅ΠΊΡΡΠ°Π»" -#: ../../include/channel.php:1528 ../../Zotlabs/Module/Settings/Channel.php:499 +#: ../../include/channel.php:1577 ../../Zotlabs/Module/Settings/Channel.php:499 msgid "Full Name:" msgstr "ΠΠΎΠ»Π½ΠΎΠ΅ ΠΈΠΌΡ:" -#: ../../include/channel.php:1535 +#: ../../include/channel.php:1584 msgid "Like this channel" msgstr "Π½ΡΠ°Π²ΠΈΡΡΡ ΡΡΠΎΡ ΠΊΠ°Π½Π°Π»" -#: ../../include/channel.php:1546 ../../include/conversation.php:1693 -#: ../../include/taxonomy.php:661 ../../Zotlabs/Module/Photos.php:1162 +#: ../../include/channel.php:1595 ../../include/conversation.php:1693 +#: ../../include/taxonomy.php:661 ../../Zotlabs/Module/Photos.php:1175 #: ../../Zotlabs/Lib/ThreadItem.php:218 msgctxt "noun" msgid "Like" @@ -1045,136 +1046,136 @@ msgstr[0] "ΠΡΠ°Π²ΠΈΡΡΡ" msgstr[1] "ΠΡΠ°Π²ΠΈΡΡΡ" msgstr[2] "ΠΡΠ°Π²ΠΈΡΡΡ" -#: ../../include/channel.php:1559 +#: ../../include/channel.php:1608 msgid "j F, Y" msgstr "" -#: ../../include/channel.php:1560 +#: ../../include/channel.php:1609 msgid "j F" msgstr "" -#: ../../include/channel.php:1567 +#: ../../include/channel.php:1616 msgid "Birthday:" msgstr "ΠΠ΅Π½Ρ ΡΠΎΠΆΠ΄Π΅Π½ΠΈΡ:" -#: ../../include/channel.php:1571 ../../Zotlabs/Module/Directory.php:323 +#: ../../include/channel.php:1620 ../../Zotlabs/Module/Directory.php:323 msgid "Age:" msgstr "ΠΠΎΠ·ΡΠ°ΡΡ:" -#: ../../include/channel.php:1580 +#: ../../include/channel.php:1629 #, php-format msgid "for %1$d %2$s" msgstr "Π΄Π»Ρ %1$d %2$s" -#: ../../include/channel.php:1592 +#: ../../include/channel.php:1641 msgid "Tags:" msgstr "Π’Π΅Π³ΠΈ:" -#: ../../include/channel.php:1596 +#: ../../include/channel.php:1645 msgid "Sexual Preference:" msgstr "Π‘Π΅ΠΊΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠ΅Π½ΠΈΡ:" -#: ../../include/channel.php:1600 ../../Zotlabs/Module/Directory.php:339 +#: ../../include/channel.php:1649 ../../Zotlabs/Module/Directory.php:339 msgid "Hometown:" msgstr "Π ΠΎΠ΄Π½ΠΎΠΉ Π³ΠΎΡΠΎΠ΄:" -#: ../../include/channel.php:1602 +#: ../../include/channel.php:1651 msgid "Political Views:" msgstr "ΠΠΎΠ»ΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π²Π·Π³Π»ΡΠ΄Ρ:" -#: ../../include/channel.php:1604 +#: ../../include/channel.php:1653 msgid "Religion:" msgstr "Π Π΅Π»ΠΈΠ³ΠΈΡ:" -#: ../../include/channel.php:1606 ../../Zotlabs/Module/Directory.php:341 +#: ../../include/channel.php:1655 ../../Zotlabs/Module/Directory.php:341 msgid "About:" msgstr "Π ΡΠ΅Π±Π΅:" -#: ../../include/channel.php:1608 +#: ../../include/channel.php:1657 msgid "Hobbies/Interests:" msgstr "Π₯ΠΎΠ±Π±ΠΈ / ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡ:" -#: ../../include/channel.php:1610 +#: ../../include/channel.php:1659 msgid "Likes:" msgstr "Π§ΡΠΎ Π²Π°ΠΌ Π½ΡΠ°Π²ΠΈΡΡΡ:" -#: ../../include/channel.php:1612 +#: ../../include/channel.php:1661 msgid "Dislikes:" msgstr "Π§ΡΠΎ Π²Π°ΠΌ Π½Π΅ Π½ΡΠ°Π²ΠΈΡΡΡ:" -#: ../../include/channel.php:1614 +#: ../../include/channel.php:1663 msgid "Contact information and Social Networks:" msgstr "ΠΠΎΠ½ΡΠ°ΠΊΡΠ½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΈ ΡΠΎΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΡΠ΅ΡΠΈ:" -#: ../../include/channel.php:1616 +#: ../../include/channel.php:1665 msgid "My other channels:" msgstr "ΠΠΎΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΊΠ°Π½Π°Π»Ρ:" -#: ../../include/channel.php:1618 +#: ../../include/channel.php:1667 msgid "Musical interests:" msgstr "ΠΡΠ·ΡΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡ:" -#: ../../include/channel.php:1620 +#: ../../include/channel.php:1669 msgid "Books, literature:" msgstr "ΠΠ½ΠΈΠ³ΠΈ, Π»ΠΈΡΠ΅ΡΠ°ΡΡΡΠ°:" -#: ../../include/channel.php:1622 +#: ../../include/channel.php:1671 msgid "Television:" msgstr "Π’Π΅Π»Π΅Π²ΠΈΠ΄Π΅Π½ΠΈΠ΅:" -#: ../../include/channel.php:1624 +#: ../../include/channel.php:1673 msgid "Film/dance/culture/entertainment:" msgstr "ΠΠΈΠ½ΠΎ / ΡΠ°Π½ΡΡ / ΠΊΡΠ»ΡΡΡΡΠ° / ΡΠ°Π·Π²Π»Π΅ΡΠ΅Π½ΠΈΡ:" -#: ../../include/channel.php:1626 +#: ../../include/channel.php:1675 msgid "Love/Romance:" msgstr "ΠΡΠ±ΠΎΠ²Ρ / ΡΠΎΠΌΠ°Π½ΡΠΈΠΊΠ°:" -#: ../../include/channel.php:1628 +#: ../../include/channel.php:1677 msgid "Work/employment:" msgstr "Π Π°Π±ΠΎΡΠ° / Π·Π°Π½ΡΡΠΎΡΡΡ:" -#: ../../include/channel.php:1630 +#: ../../include/channel.php:1679 msgid "School/education:" msgstr "Π¨ΠΊΠΎΠ»Π° / ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅:" -#: ../../include/channel.php:1651 ../../Zotlabs/Module/Profperm.php:113 +#: ../../include/channel.php:1700 ../../Zotlabs/Module/Profperm.php:113 #: ../../Zotlabs/Lib/Apps.php:337 msgid "Profile" msgstr "ΠΡΠΎΡΠΈΠ»Ρ" -#: ../../include/channel.php:1653 +#: ../../include/channel.php:1702 msgid "Like this thing" msgstr "Π½ΡΠ°Π²ΠΈΡΡΡ ΡΡo" -#: ../../include/channel.php:1654 ../../Zotlabs/Module/Events.php:692 +#: ../../include/channel.php:1703 ../../Zotlabs/Module/Events.php:692 #: ../../Zotlabs/Module/Cal.php:340 msgid "Export" msgstr "ΠΠΊΡΠΏΠΎΡΡ" -#: ../../include/channel.php:2088 ../../Zotlabs/Module/Cover_photo.php:276 +#: ../../include/channel.php:2137 ../../Zotlabs/Module/Cover_photo.php:276 msgid "cover photo" msgstr "ΡΠΎΡΠΎΠ³ΡΠ°ΡΠΈΡ ΠΎΠ±Π»ΠΎΠΆΠΊΠΈ" -#: ../../include/channel.php:2341 ../../boot.php:1626 +#: ../../include/channel.php:2390 ../../boot.php:1625 #: ../../Zotlabs/Module/Rmagic.php:75 msgid "Remote Authentication" msgstr "Π£Π΄Π°Π»Π΅Π½Π½Π°Ρ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ" -#: ../../include/channel.php:2342 ../../Zotlabs/Module/Rmagic.php:76 +#: ../../include/channel.php:2391 ../../Zotlabs/Module/Rmagic.php:76 msgid "Enter your channel address (e.g. channel@example.com)" msgstr "ΠΠ²Π΅Π΄ΠΈΡΠ΅ Π°Π΄ΡΠ΅Ρ Π²Π°ΡΠ΅Π³ΠΎ ΠΊΠ°Π½Π°Π»Π° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ: channel@example.com)" -#: ../../include/channel.php:2343 ../../Zotlabs/Module/Rmagic.php:77 +#: ../../include/channel.php:2392 ../../Zotlabs/Module/Rmagic.php:77 msgid "Authenticate" msgstr "ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΠΏΠΎΠ΄Π»ΠΈΠ½Π½ΠΎΡΡΠΈ" -#: ../../include/channel.php:2497 ../../Zotlabs/Module/Admin/Accounts.php:91 +#: ../../include/channel.php:2547 ../../Zotlabs/Module/Admin/Accounts.php:91 #, php-format msgid "Account '%s' deleted" msgstr "ΠΠΊΠΊΠ°ΡΠ½Ρ '%s' ΡΠ΄Π°Π»Π΅Π½" -#: ../../include/message.php:13 ../../include/text.php:1709 +#: ../../include/message.php:13 ../../include/text.php:1708 msgid "Download binary/encrypted content" msgstr "ΠΠ°Π³ΡΡΠ·ΠΈΡΡ Π΄Π²ΠΎΠΈΡΠ½ΠΎΠ΅ / Π·Π°ΡΠΈΡΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅" @@ -1205,7 +1206,7 @@ msgid "post" msgstr "ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΡ" #: ../../include/items.php:384 ../../Zotlabs/Module/Dreport.php:10 -#: ../../Zotlabs/Module/Dreport.php:68 ../../Zotlabs/Module/Profperm.php:28 +#: ../../Zotlabs/Module/Dreport.php:79 ../../Zotlabs/Module/Profperm.php:28 #: ../../Zotlabs/Module/Like.php:296 ../../Zotlabs/Module/Subthread.php:86 #: ../../Zotlabs/Module/Group.php:93 ../../Zotlabs/Module/Cloud.php:126 #: ../../Zotlabs/Module/Import_items.php:120 @@ -1217,44 +1218,44 @@ msgstr "ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΡ" msgid "Permission denied" msgstr "ΠΠΎΡΡΡΠΏ Π·Π°ΠΏΡΠ΅ΡΠ΅Π½" -#: ../../include/items.php:911 ../../include/items.php:971 +#: ../../include/items.php:921 ../../include/items.php:981 msgid "(Unknown)" msgstr "(ΠΠ΅ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΉ)" -#: ../../include/items.php:1157 +#: ../../include/items.php:1169 msgid "Visible to anybody on the internet." msgstr "ΠΠΈΠ΄Π΅Π½ Π²ΡΠ΅ΠΌ Π² ΠΈΠ½ΡΠ΅ΡΠ½Π΅ΡΠ΅." -#: ../../include/items.php:1159 +#: ../../include/items.php:1171 msgid "Visible to you only." msgstr "ΠΠΈΠ΄Π½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π²Π°ΠΌ." -#: ../../include/items.php:1161 +#: ../../include/items.php:1173 msgid "Visible to anybody in this network." msgstr "ΠΠΈΠ΄Π½ΠΎ Π²ΡΠ΅ΠΌ Π² ΡΡΠΎΠΉ ΡΠ΅ΡΠΈ." -#: ../../include/items.php:1163 +#: ../../include/items.php:1175 msgid "Visible to anybody authenticated." msgstr "ΠΠΈΠ΄Π½ΠΎ Π²ΡΠ΅ΠΌ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ." -#: ../../include/items.php:1165 +#: ../../include/items.php:1177 #, php-format msgid "Visible to anybody on %s." msgstr "ΠΠΈΠ΄Π½ΠΎ Π²ΡΠ΅ΠΌ Π² %s." -#: ../../include/items.php:1167 +#: ../../include/items.php:1179 msgid "Visible to all connections." msgstr "ΠΠΈΠ΄Π½ΠΎ Π²ΡΠ΅ΠΌ ΠΊΠΎΠ½ΡΠ°ΠΊΡΠ°ΠΌ." -#: ../../include/items.php:1169 +#: ../../include/items.php:1181 msgid "Visible to approved connections." msgstr "ΠΠΈΠ΄Π½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π½ΡΠΌ ΠΊΠΎΠ½ΡΠ°ΠΊΡΠ°ΠΌ." -#: ../../include/items.php:1171 +#: ../../include/items.php:1183 msgid "Visible to specific connections." msgstr "ΠΠΈΠ΄Π½ΠΎ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΌ ΠΊΠΎΠ½ΡΠ°ΠΊΡΠ°ΠΌ." -#: ../../include/items.php:3587 ../../Zotlabs/Module/Display.php:45 +#: ../../include/items.php:3613 ../../Zotlabs/Module/Display.php:45 #: ../../Zotlabs/Module/Display.php:452 ../../Zotlabs/Module/Admin.php:62 #: ../../Zotlabs/Module/Filestorage.php:24 ../../Zotlabs/Module/Viewsrc.php:25 #: ../../Zotlabs/Module/Admin/Addons.php:259 @@ -1262,90 +1263,90 @@ msgstr "ΠΠΈΠ΄Π½ΠΎ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΌ ΠΊΠΎΠ½ΡΠ°ΠΊΡΠ°ΠΌ." msgid "Item not found." msgstr "ΠΠ»Π΅ΠΌΠ΅Π½Ρ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½." -#: ../../include/items.php:4167 ../../Zotlabs/Module/Group.php:61 +#: ../../include/items.php:4193 ../../Zotlabs/Module/Group.php:61 #: ../../Zotlabs/Module/Group.php:200 msgid "Privacy group not found." msgstr "ΠΡΡΠΏΠΏΠ° Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½Π°." -#: ../../include/items.php:4183 +#: ../../include/items.php:4209 msgid "Privacy group is empty." msgstr "ΠΡΡΠΏΠΏΠ° Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΠΏΡΡΡΠ°" -#: ../../include/items.php:4190 +#: ../../include/items.php:4216 #, php-format msgid "Privacy group: %s" msgstr "ΠΡΡΠΏΠΏΠ° Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ: %s" -#: ../../include/items.php:4200 ../../Zotlabs/Module/Connedit.php:851 +#: ../../include/items.php:4226 ../../Zotlabs/Module/Connedit.php:856 #, php-format msgid "Connection: %s" msgstr "ΠΠΎΠ½ΡΠ°ΠΊΡ: %s" -#: ../../include/items.php:4202 +#: ../../include/items.php:4228 msgid "Connection not found." msgstr "ΠΠΎΠ½ΡΠ°ΠΊΡ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½." -#: ../../include/items.php:4544 ../../Zotlabs/Module/Cover_photo.php:269 +#: ../../include/items.php:4570 ../../Zotlabs/Module/Cover_photo.php:269 msgid "female" msgstr "ΠΆΠ΅Π½ΡΠΈΠ½Π°" -#: ../../include/items.php:4545 ../../Zotlabs/Module/Cover_photo.php:270 +#: ../../include/items.php:4571 ../../Zotlabs/Module/Cover_photo.php:270 #, php-format msgid "%1$s updated her %2$s" msgstr "%1$s ΠΎΠ±Π½ΠΎΠ²ΠΈΠ»Π° Π΅Ρ %2$s" -#: ../../include/items.php:4546 ../../Zotlabs/Module/Cover_photo.php:271 +#: ../../include/items.php:4572 ../../Zotlabs/Module/Cover_photo.php:271 msgid "male" msgstr "ΠΌΡΠΆΡΠΈΠ½Π°" -#: ../../include/items.php:4547 ../../Zotlabs/Module/Cover_photo.php:272 +#: ../../include/items.php:4573 ../../Zotlabs/Module/Cover_photo.php:272 #, php-format msgid "%1$s updated his %2$s" msgstr "%1$s ΠΎΠ±Π½ΠΎΠ²ΠΈΠ» Π΅Π³ΠΎ %2$s" -#: ../../include/items.php:4549 ../../Zotlabs/Module/Cover_photo.php:274 +#: ../../include/items.php:4575 ../../Zotlabs/Module/Cover_photo.php:274 #, php-format msgid "%1$s updated their %2$s" msgstr "%1$s ΠΎΠ±Π½ΠΎΠ²ΠΈΠ»ΠΈ ΠΈΡ
%2$s" -#: ../../include/items.php:4551 +#: ../../include/items.php:4577 msgid "profile photo" msgstr "Π€ΠΎΡΠΎΠ³ΡΠ°ΡΠΈΡ ΠΏΡΠΎΡΠΈΠ»Ρ" -#: ../../include/items.php:4742 +#: ../../include/items.php:4769 #, php-format msgid "[Edited %s]" msgstr "[ΠΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΎ %s]" -#: ../../include/items.php:4742 +#: ../../include/items.php:4769 msgctxt "edit_activity" msgid "Post" msgstr "ΠΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΡ" -#: ../../include/items.php:4742 +#: ../../include/items.php:4769 msgctxt "edit_activity" msgid "Comment" msgstr "ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ" -#: ../../include/activities.php:41 +#: ../../include/activities.php:42 msgid " and " msgstr " ΠΈ " -#: ../../include/activities.php:49 +#: ../../include/activities.php:50 msgid "public profile" msgstr "ΠΎΠ±ΡΠ΅Π΄ΠΎΡΡΡΠΏΠ½ΡΠΉ ΠΏΡΠΎΡΠΈΠ»Ρ" -#: ../../include/activities.php:58 +#: ../../include/activities.php:59 #, php-format msgid "%1$s changed %2$s to “%3$s”" msgstr "%1$s ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ» %2$s Π½Π° “%3$s”" -#: ../../include/activities.php:59 +#: ../../include/activities.php:60 #, php-format msgid "Visit %1$s's %2$s" msgstr "ΠΠΎΡΠ΅ΡΠΈΡΡ %1$s %2$s" -#: ../../include/activities.php:62 +#: ../../include/activities.php:63 #, php-format msgid "%1$s has an updated %2$s, changing %3$s." msgstr "%1$s ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΎ %2$s, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ %3$s." @@ -1402,7 +1403,7 @@ msgstr "ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ΅ΠΆΠΈΠΌ Π±Π»ΠΎΠ³Π° / ΡΠΏΠΈΡΠΊΠ°" msgid "Comments will be displayed separately" msgstr "ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Π±ΡΠ΄ΡΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ" -#: ../../include/features.php:125 ../../include/text.php:981 +#: ../../include/features.php:125 ../../include/text.php:980 #: ../../Zotlabs/Module/Connections.php:334 ../../Zotlabs/Lib/Apps.php:308 msgid "Connections" msgstr "ΠΠΎΠ½ΡΠ°ΠΊΡΡ" @@ -1687,53 +1688,53 @@ msgstr "ΠΠ΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΡΠΈΠ»Π΅ΠΉ" msgid "Ability to create multiple profiles" msgstr "ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ
ΠΏΡΠΎΡΠΈΠ»Π΅ΠΉ" -#: ../../include/text.php:498 +#: ../../include/text.php:501 msgid "prev" msgstr "ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΉ" -#: ../../include/text.php:500 +#: ../../include/text.php:503 msgid "first" msgstr "ΠΏΠ΅ΡΠ²ΡΠΉ" -#: ../../include/text.php:529 +#: ../../include/text.php:532 msgid "last" msgstr "ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ" -#: ../../include/text.php:532 +#: ../../include/text.php:535 msgid "next" msgstr "ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ" -#: ../../include/text.php:543 +#: ../../include/text.php:546 msgid "older" msgstr "ΡΡΠ°ΡΡΠ΅" -#: ../../include/text.php:545 +#: ../../include/text.php:548 msgid "newer" msgstr "Π½ΠΎΠ²Π΅Π΅" -#: ../../include/text.php:969 +#: ../../include/text.php:968 msgid "No connections" msgstr "ΠΠ΅Ρ ΠΊΠΎΠ½ΡΠ°ΠΊΡΠΎΠ²" -#: ../../include/text.php:1001 +#: ../../include/text.php:1000 #, php-format msgid "View all %s connections" msgstr "ΠΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π²ΡΠ΅ %s ΠΊΠΎΠ½ΡΠ°ΠΊΡΠΎΠ²" -#: ../../include/text.php:1057 +#: ../../include/text.php:1056 #, php-format msgid "Network: %s" msgstr "Π‘Π΅ΡΡ: %s" -#: ../../include/text.php:1068 ../../include/text.php:1080 +#: ../../include/text.php:1067 ../../include/text.php:1079 #: ../../include/acl_selectors.php:118 ../../include/nav.php:183 #: ../../Zotlabs/Module/Search.php:44 ../../Zotlabs/Module/Connections.php:338 #: ../../Zotlabs/Widget/Sitesearch.php:31 -#: ../../Zotlabs/Widget/Activity_filter.php:150 ../../Zotlabs/Lib/Apps.php:328 +#: ../../Zotlabs/Widget/Activity_filter.php:151 ../../Zotlabs/Lib/Apps.php:328 msgid "Search" msgstr "ΠΠΎΠΈΡΠΊ" -#: ../../include/text.php:1069 ../../include/text.php:1081 +#: ../../include/text.php:1068 ../../include/text.php:1080 #: ../../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 @@ -1741,409 +1742,409 @@ msgstr "ΠΠΎΠΈΡΠΊ" msgid "Save" msgstr "ΠΠ°ΠΏΠΎΠΌΠ½ΠΈΡΡ" -#: ../../include/text.php:1146 ../../include/text.php:1150 +#: ../../include/text.php:1145 ../../include/text.php:1149 msgid "poke" msgstr "Π’ΠΊΠ½ΡΡΡ" -#: ../../include/text.php:1146 ../../include/text.php:1150 +#: ../../include/text.php:1145 ../../include/text.php:1149 #: ../../include/conversation.php:251 msgid "poked" msgstr "ΡΠΊΠ½ΡΡ" -#: ../../include/text.php:1151 +#: ../../include/text.php:1150 msgid "ping" msgstr "ΠΠΈΠ½Π³Π°Π½ΡΡΡ" -#: ../../include/text.php:1151 +#: ../../include/text.php:1150 msgid "pinged" msgstr "ΠΡΠΏΠΈΠ½Π³ΠΎΠ²Π°Π½" -#: ../../include/text.php:1152 +#: ../../include/text.php:1151 msgid "prod" msgstr "ΠΠΎΠ΄ΡΠΎΠ»ΠΊΠ½ΡΡΡ" -#: ../../include/text.php:1152 +#: ../../include/text.php:1151 msgid "prodded" msgstr "ΠΠΎΠ΄ΡΠΎΠ»ΠΊΠ½ΡΡ" -#: ../../include/text.php:1153 +#: ../../include/text.php:1152 msgid "slap" msgstr "Π¨Π»ΡΠΏΠ½ΡΡΡ" -#: ../../include/text.php:1153 +#: ../../include/text.php:1152 msgid "slapped" msgstr "Π¨Π»ΡΠΏΠ½ΡΡ" -#: ../../include/text.php:1154 +#: ../../include/text.php:1153 msgid "finger" msgstr "Π£ΠΊΠ°Π·Π°ΡΡ" -#: ../../include/text.php:1154 +#: ../../include/text.php:1153 msgid "fingered" msgstr "Π£ΠΊΠ°Π·Π°Π½" -#: ../../include/text.php:1155 +#: ../../include/text.php:1154 msgid "rebuff" msgstr "ΠΠ°ΡΡ ΠΎΡΠΏΠΎΡ" -#: ../../include/text.php:1155 +#: ../../include/text.php:1154 msgid "rebuffed" msgstr "ΠΠ°Π½ ΠΎΡΠΏΠΎΡ" -#: ../../include/text.php:1178 +#: ../../include/text.php:1177 msgid "happy" msgstr "ΡΡΠ°ΡΡΠ»ΠΈΠ²ΡΠΉ" -#: ../../include/text.php:1179 +#: ../../include/text.php:1178 msgid "sad" msgstr "Π³ΡΡΡΡΠ½ΡΠΉ" -#: ../../include/text.php:1180 +#: ../../include/text.php:1179 msgid "mellow" msgstr "ΡΠΏΠΎΠΊΠΎΠΉΠ½ΡΠΉ" -#: ../../include/text.php:1181 +#: ../../include/text.php:1180 msgid "tired" msgstr "ΡΡΡΠ°Π»ΡΠΉ" -#: ../../include/text.php:1182 +#: ../../include/text.php:1181 msgid "perky" msgstr "Π²Π΅ΡΡΠ»ΡΠΉ" -#: ../../include/text.php:1183 +#: ../../include/text.php:1182 msgid "angry" msgstr "ΡΠ΅ΡΠ΄ΠΈΡΡΠΉ" -#: ../../include/text.php:1184 +#: ../../include/text.php:1183 msgid "stupefied" msgstr "ΠΎΡΡΠΏΠ΅Π²ΡΠΈΠΉ" -#: ../../include/text.php:1185 +#: ../../include/text.php:1184 msgid "puzzled" msgstr "Π½Π΅Π΄ΠΎΡΠΌΠ΅Π²Π°ΡΡΠΈΠΉ" -#: ../../include/text.php:1186 +#: ../../include/text.php:1185 msgid "interested" msgstr "Π·Π°ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΎΠ²Π°Π½Π½ΡΠΉ" -#: ../../include/text.php:1187 +#: ../../include/text.php:1186 msgid "bitter" msgstr "Π΅Π΄ΠΊΠΈΠΉ" -#: ../../include/text.php:1188 +#: ../../include/text.php:1187 msgid "cheerful" msgstr "Π±ΠΎΠ΄ΡΡΠΉ" -#: ../../include/text.php:1189 +#: ../../include/text.php:1188 msgid "alive" msgstr "ΡΠ½Π΅ΡΠ³ΠΈΡΠ½ΡΠΉ" -#: ../../include/text.php:1190 +#: ../../include/text.php:1189 msgid "annoyed" msgstr "ΡΠ°Π·Π΄ΡΠ°ΠΆΡΠ½Π½ΡΠΉ" -#: ../../include/text.php:1191 +#: ../../include/text.php:1190 msgid "anxious" msgstr "ΠΎΠ±Π΅ΡΠΏΠΎΠΊΠΎΠ΅Π½Π½ΡΠΉ" -#: ../../include/text.php:1192 +#: ../../include/text.php:1191 msgid "cranky" msgstr "ΠΊΠ°ΠΏΡΠΈΠ·Π½ΡΠΉ" -#: ../../include/text.php:1193 +#: ../../include/text.php:1192 msgid "disturbed" msgstr "Π²ΡΡΡΠ΅Π²ΠΎΠΆΠ΅Π½Π½ΡΠΉ" -#: ../../include/text.php:1194 +#: ../../include/text.php:1193 msgid "frustrated" msgstr "ΡΠ°Π·ΠΎΡΠ°ΡΠΎΠ²Π°Π½Π½ΡΠΉ" -#: ../../include/text.php:1195 +#: ../../include/text.php:1194 msgid "depressed" msgstr "ΠΏΠΎΠ΄Π°Π²Π»Π΅Π½Π½ΡΠΉ" -#: ../../include/text.php:1196 +#: ../../include/text.php:1195 msgid "motivated" msgstr "ΠΌΠΎΡΠΈΠ²ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ" -#: ../../include/text.php:1197 +#: ../../include/text.php:1196 msgid "relaxed" msgstr "ΡΠ°ΡΡΠ»Π°Π±Π»Π΅Π½Π½ΡΠΉ" -#: ../../include/text.php:1198 +#: ../../include/text.php:1197 msgid "surprised" msgstr "ΡΠ΄ΠΈΠ²Π»Π΅Π½Π½ΡΠΉ" -#: ../../include/text.php:1377 ../../include/js_strings.php:95 +#: ../../include/text.php:1376 ../../include/js_strings.php:95 msgid "Monday" msgstr "ΠΠΎΠ½Π΅Π΄Π΅Π»ΡΠ½ΠΈΠΊ" -#: ../../include/text.php:1377 ../../include/js_strings.php:96 +#: ../../include/text.php:1376 ../../include/js_strings.php:96 msgid "Tuesday" msgstr "ΠΡΠΎΡΠ½ΠΈΠΊ" -#: ../../include/text.php:1377 ../../include/js_strings.php:97 +#: ../../include/text.php:1376 ../../include/js_strings.php:97 msgid "Wednesday" msgstr "Π‘ΡΠ΅Π΄Π°" -#: ../../include/text.php:1377 ../../include/js_strings.php:98 +#: ../../include/text.php:1376 ../../include/js_strings.php:98 msgid "Thursday" msgstr "Π§Π΅ΡΠ²Π΅ΡΠ³" -#: ../../include/text.php:1377 ../../include/js_strings.php:99 +#: ../../include/text.php:1376 ../../include/js_strings.php:99 msgid "Friday" msgstr "ΠΡΡΠ½ΠΈΡΠ°" -#: ../../include/text.php:1377 ../../include/js_strings.php:100 +#: ../../include/text.php:1376 ../../include/js_strings.php:100 msgid "Saturday" msgstr "Π‘ΡΠ±Π±ΠΎΡΠ°" -#: ../../include/text.php:1377 ../../include/js_strings.php:94 +#: ../../include/text.php:1376 ../../include/js_strings.php:94 msgid "Sunday" msgstr "ΠΠΎΡΠΊΡΠ΅ΡΠ΅Π½ΡΠ΅" -#: ../../include/text.php:1381 ../../include/js_strings.php:70 +#: ../../include/text.php:1380 ../../include/js_strings.php:70 msgid "January" msgstr "Π―Π½Π²Π°ΡΡ" -#: ../../include/text.php:1381 ../../include/js_strings.php:71 +#: ../../include/text.php:1380 ../../include/js_strings.php:71 msgid "February" msgstr "Π€Π΅Π²ΡΠ°Π»Ρ" -#: ../../include/text.php:1381 ../../include/js_strings.php:72 +#: ../../include/text.php:1380 ../../include/js_strings.php:72 msgid "March" msgstr "ΠΠ°ΡΡ" -#: ../../include/text.php:1381 ../../include/js_strings.php:73 +#: ../../include/text.php:1380 ../../include/js_strings.php:73 msgid "April" msgstr "ΠΠΏΡΠ΅Π»Ρ" -#: ../../include/text.php:1381 +#: ../../include/text.php:1380 msgid "May" msgstr "ΠΠ°ΠΉ" -#: ../../include/text.php:1381 ../../include/js_strings.php:75 +#: ../../include/text.php:1380 ../../include/js_strings.php:75 msgid "June" msgstr "ΠΡΠ½Ρ" -#: ../../include/text.php:1381 ../../include/js_strings.php:76 +#: ../../include/text.php:1380 ../../include/js_strings.php:76 msgid "July" msgstr "ΠΡΠ»Ρ" -#: ../../include/text.php:1381 ../../include/js_strings.php:77 +#: ../../include/text.php:1380 ../../include/js_strings.php:77 msgid "August" msgstr "ΠΠ²Π³ΡΡΡ" -#: ../../include/text.php:1381 ../../include/js_strings.php:78 +#: ../../include/text.php:1380 ../../include/js_strings.php:78 msgid "September" msgstr "Π‘Π΅Π½ΡΡΠ±ΡΡ" -#: ../../include/text.php:1381 ../../include/js_strings.php:79 +#: ../../include/text.php:1380 ../../include/js_strings.php:79 msgid "October" msgstr "ΠΠΊΡΡΠ±ΡΡ" -#: ../../include/text.php:1381 ../../include/js_strings.php:80 +#: ../../include/text.php:1380 ../../include/js_strings.php:80 msgid "November" msgstr "ΠΠΎΡΠ±ΡΡ" -#: ../../include/text.php:1381 ../../include/js_strings.php:81 +#: ../../include/text.php:1380 ../../include/js_strings.php:81 msgid "December" msgstr "ΠΠ΅ΠΊΠ°Π±ΡΡ" -#: ../../include/text.php:1455 +#: ../../include/text.php:1454 msgid "Unknown Attachment" msgstr "ΠΠ΅ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎΠ΅ Π²Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅" -#: ../../include/text.php:1457 ../../Zotlabs/Storage/Browser.php:287 +#: ../../include/text.php:1456 ../../Zotlabs/Storage/Browser.php:287 #: ../../Zotlabs/Module/Sharedwithme.php:106 msgid "Size" msgstr "Π Π°Π·ΠΌΠ΅Ρ" -#: ../../include/text.php:1457 ../../include/feedutils.php:860 +#: ../../include/text.php:1456 ../../include/feedutils.php:860 msgid "unknown" msgstr "Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΉ" -#: ../../include/text.php:1493 +#: ../../include/text.php:1492 msgid "remove category" msgstr "ΡΠ΄Π°Π»ΠΈΡΡ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΡ" -#: ../../include/text.php:1567 +#: ../../include/text.php:1566 msgid "remove from file" msgstr "ΡΠ΄Π°Π»ΠΈΡΡ ΠΈΠ· ΡΠ°ΠΉΠ»Π°" -#: ../../include/text.php:1850 ../../Zotlabs/Module/Events.php:663 +#: ../../include/text.php:1849 ../../Zotlabs/Module/Events.php:663 #: ../../Zotlabs/Module/Cal.php:314 msgid "Link to Source" msgstr "Π‘ΡΡΠ»ΠΊΠ° Π½Π° ΠΈΡΡΠΎΡΠ½ΠΈΠΊ" -#: ../../include/text.php:1872 ../../include/language.php:423 +#: ../../include/text.php:1871 ../../include/language.php:423 msgid "default" msgstr "ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ" -#: ../../include/text.php:1880 +#: ../../include/text.php:1879 msgid "Page layout" msgstr "Π¨Π°Π±Π»ΠΎΠ½ ΡΡΡΠ°Π½ΠΈΡΡ" -#: ../../include/text.php:1880 +#: ../../include/text.php:1879 msgid "You can create your own with the layouts tool" msgstr "ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ²ΠΎΠΉ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ²" -#: ../../include/text.php:1890 ../../Zotlabs/Module/Wiki.php:217 +#: ../../include/text.php:1889 ../../Zotlabs/Module/Wiki.php:217 #: ../../Zotlabs/Module/Wiki.php:371 ../../Zotlabs/Widget/Wiki_pages.php:38 #: ../../Zotlabs/Widget/Wiki_pages.php:95 msgid "BBcode" msgstr "" -#: ../../include/text.php:1891 +#: ../../include/text.php:1890 msgid "HTML" msgstr "" -#: ../../include/text.php:1892 ../../Zotlabs/Module/Wiki.php:217 +#: ../../include/text.php:1891 ../../Zotlabs/Module/Wiki.php:217 #: ../../Zotlabs/Module/Wiki.php:371 ../../Zotlabs/Widget/Wiki_pages.php:38 #: ../../Zotlabs/Widget/Wiki_pages.php:95 #: ../../extend/addon/hzaddons/mdpost/mdpost.php:41 msgid "Markdown" msgstr "Π Π°Π·ΠΌΠ΅ΡΠΊΠ° Markdown" -#: ../../include/text.php:1893 ../../Zotlabs/Module/Wiki.php:217 +#: ../../include/text.php:1892 ../../Zotlabs/Module/Wiki.php:217 #: ../../Zotlabs/Widget/Wiki_pages.php:38 #: ../../Zotlabs/Widget/Wiki_pages.php:95 msgid "Text" msgstr "Π’Π΅ΠΊΡΡ" -#: ../../include/text.php:1894 +#: ../../include/text.php:1893 msgid "Comanche Layout" msgstr "Π¨Π°Π±Π»ΠΎΠ½ Comanche" -#: ../../include/text.php:1899 +#: ../../include/text.php:1898 msgid "PHP" msgstr "" -#: ../../include/text.php:1908 +#: ../../include/text.php:1907 msgid "Page content type" msgstr "Π’ΠΈΠΏ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ ΡΡΡΠ°Π½ΠΈΡΡ" -#: ../../include/text.php:2028 ../../include/conversation.php:116 -#: ../../Zotlabs/Module/Tagger.php:69 ../../Zotlabs/Module/Like.php:384 -#: ../../Zotlabs/Module/Subthread.php:111 ../../Zotlabs/Lib/Activity.php:1570 +#: ../../include/text.php:2027 ../../include/conversation.php:116 +#: ../../Zotlabs/Module/Tagger.php:69 ../../Zotlabs/Module/Like.php:387 +#: ../../Zotlabs/Module/Subthread.php:112 ../../Zotlabs/Lib/Activity.php:1570 #: ../../extend/addon/hzaddons/redphotos/redphotohelper.php:71 -#: ../../extend/addon/hzaddons/pubcrawl/as.php:1512 -#: ../../extend/addon/hzaddons/diaspora/Receiver.php:1539 +#: ../../extend/addon/hzaddons/pubcrawl/as.php:1494 +#: ../../extend/addon/hzaddons/diaspora/Receiver.php:1541 msgid "photo" msgstr "ΡΠΎΡΠΎ" -#: ../../include/text.php:2031 ../../include/conversation.php:119 -#: ../../include/event.php:1153 ../../Zotlabs/Module/Tagger.php:73 -#: ../../Zotlabs/Module/Events.php:260 ../../Zotlabs/Module/Like.php:386 +#: ../../include/text.php:2030 ../../include/conversation.php:119 +#: ../../include/event.php:1156 ../../Zotlabs/Module/Tagger.php:73 +#: ../../Zotlabs/Module/Events.php:260 ../../Zotlabs/Module/Like.php:389 msgid "event" msgstr "ΡΠΎΠ±ΡΡΠΈΠ΅" -#: ../../include/text.php:2034 ../../include/conversation.php:144 -#: ../../Zotlabs/Module/Like.php:384 ../../Zotlabs/Module/Subthread.php:111 +#: ../../include/text.php:2033 ../../include/conversation.php:144 +#: ../../Zotlabs/Module/Like.php:387 ../../Zotlabs/Module/Subthread.php:112 #: ../../Zotlabs/Lib/Activity.php:1570 -#: ../../extend/addon/hzaddons/pubcrawl/as.php:1512 -#: ../../extend/addon/hzaddons/diaspora/Receiver.php:1539 +#: ../../extend/addon/hzaddons/pubcrawl/as.php:1494 +#: ../../extend/addon/hzaddons/diaspora/Receiver.php:1541 msgid "status" msgstr "ΡΡΠ°ΡΡΡ" -#: ../../include/text.php:2036 ../../include/conversation.php:146 +#: ../../include/text.php:2035 ../../include/conversation.php:146 #: ../../Zotlabs/Module/Tagger.php:79 msgid "comment" msgstr "ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ" -#: ../../include/text.php:2041 +#: ../../include/text.php:2040 msgid "activity" msgstr "Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ" -#: ../../include/text.php:2142 +#: ../../include/text.php:2141 msgid "a-z, 0-9, -, and _ only" msgstr "Π’ΠΎΠ»ΡΠΊΠΎ a-z, 0-9, -, ΠΈ _" -#: ../../include/text.php:2462 +#: ../../include/text.php:2461 msgid "Design Tools" msgstr "ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π΄ΠΈΠ·Π°ΠΉΠ½Π°" -#: ../../include/text.php:2465 ../../Zotlabs/Module/Blocks.php:154 +#: ../../include/text.php:2464 ../../Zotlabs/Module/Blocks.php:154 msgid "Blocks" msgstr "ΠΠ»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ" -#: ../../include/text.php:2466 ../../Zotlabs/Module/Menu.php:170 +#: ../../include/text.php:2465 ../../Zotlabs/Module/Menu.php:170 msgid "Menus" msgstr "ΠΠ΅Π½Ρ" -#: ../../include/text.php:2467 ../../Zotlabs/Module/Layouts.php:184 +#: ../../include/text.php:2466 ../../Zotlabs/Module/Layouts.php:184 msgid "Layouts" msgstr "Π¨Π°Π±Π»ΠΎΠ½Ρ" -#: ../../include/text.php:2468 +#: ../../include/text.php:2467 msgid "Pages" msgstr "Π‘ΡΡΠ°Π½ΠΈΡΡ" -#: ../../include/text.php:2489 ../../Zotlabs/Module/Cal.php:343 +#: ../../include/text.php:2488 ../../Zotlabs/Module/Cal.php:343 msgid "Import" msgstr "ΠΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ" -#: ../../include/text.php:2490 +#: ../../include/text.php:2489 msgid "Import website..." msgstr "ΠΠΌΠΏΠΎΡΡ Π²Π΅Π±-ΡΠ°ΠΉΡΠ°..." -#: ../../include/text.php:2491 +#: ../../include/text.php:2490 msgid "Select folder to import" msgstr "ΠΡΠ±ΡΠ°ΡΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Π΄Π»Ρ ΠΈΠΌΠΏΠΎΡΡΠ°" -#: ../../include/text.php:2492 +#: ../../include/text.php:2491 msgid "Import from a zipped folder:" msgstr "ΠΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠ· ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° Π² zip-Π°ΡΡ
ΠΈΠ²Π΅:" -#: ../../include/text.php:2493 +#: ../../include/text.php:2492 msgid "Import from cloud files:" msgstr "ΠΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠ· ΡΠ΅ΡΠ΅Π²ΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ²:" -#: ../../include/text.php:2494 +#: ../../include/text.php:2493 msgid "/cloud/channel/path/to/folder" msgstr "" -#: ../../include/text.php:2495 +#: ../../include/text.php:2494 msgid "Enter path to website files" msgstr "ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΠΏΡΡΡ ΠΊ ΡΠ°ΠΉΠ»Π°ΠΌ Π²Π΅Π±-ΡΠ°ΠΉΡΠ°" -#: ../../include/text.php:2496 +#: ../../include/text.php:2495 msgid "Select folder" msgstr "ΠΡΠ±ΡΠ°ΡΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³" -#: ../../include/text.php:2497 +#: ../../include/text.php:2496 msgid "Export website..." msgstr "ΠΠΊΡΠΏΠΎΡΡ Π²Π΅Π±-ΡΠ°ΠΉΡΠ°..." -#: ../../include/text.php:2498 +#: ../../include/text.php:2497 msgid "Export to a zip file" msgstr "ΠΠΊΡΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ Π² ZIP ΡΠ°ΠΉΠ»." -#: ../../include/text.php:2499 +#: ../../include/text.php:2498 msgid "website.zip" msgstr "" -#: ../../include/text.php:2500 +#: ../../include/text.php:2499 msgid "Enter a name for the zip file." msgstr "ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΠΈΠΌΡ Π΄Π»Ρ ZIP ΡΠ°ΠΉΠ»Π°." -#: ../../include/text.php:2501 +#: ../../include/text.php:2500 msgid "Export to cloud files" msgstr "ΠΡΠΊΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ Π² ΡΠ΅ΡΠ΅Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ:" -#: ../../include/text.php:2502 +#: ../../include/text.php:2501 msgid "/path/to/export/folder" msgstr "" -#: ../../include/text.php:2503 +#: ../../include/text.php:2502 msgid "Enter a path to a cloud files destination." msgstr "ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΠΏΡΡΡ ΠΊ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ΅ΡΠ΅Π²ΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ²." -#: ../../include/text.php:2504 +#: ../../include/text.php:2503 msgid "Specify folder" msgstr "Π£ΠΊΠ°Π·Π°ΡΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³" -#: ../../include/text.php:2824 ../../Zotlabs/Storage/Browser.php:131 +#: ../../include/text.php:2823 ../../Zotlabs/Storage/Browser.php:131 msgid "Collection" msgstr "ΠΠΎΠ»Π»Π΅ΠΊΡΠΈΡ" @@ -2161,7 +2162,7 @@ msgstr "ΠΠ΅ ΡΠ΄Π°Π»ΠΎΡΡ ΡΠΎΠ·Π΄Π°ΡΡ Π΄ΡΠ±Π»ΠΈΡΡΡΡΠΈΠΉΡΡ ΠΈΠ΄Π΅Π½Ρ msgid "Unable to create a unique channel address. Import failed." msgstr "ΠΠ΅ ΡΠ΄Π°Π»ΠΎΡΡ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ Π°Π΄ΡΠ΅Ρ ΠΊΠ°Π½Π°Π»Π°. ΠΠΌΠΏΠΎΡΡ Π½Π΅ Π·Π°Π²Π΅ΡΡΠ΅Π½." -#: ../../include/import.php:117 +#: ../../include/import.php:116 msgid "Cloned channel not found. Import failed." msgstr "ΠΠ»ΠΎΠ½ ΠΊΠ°Π½Π°Π»Π° Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½. ΠΠΌΠΏΠΎΡΡ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½." @@ -2182,7 +2183,7 @@ msgstr "ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ" #: ../../include/group.php:320 ../../include/nav.php:95 #: ../../Zotlabs/Module/Group.php:132 ../../Zotlabs/Module/Group.php:143 -#: ../../Zotlabs/Widget/Activity_filter.php:70 ../../Zotlabs/Lib/Group.php:324 +#: ../../Zotlabs/Widget/Activity_filter.php:41 ../../Zotlabs/Lib/Group.php:324 #: ../../Zotlabs/Lib/Apps.php:339 msgid "Privacy Groups" msgstr "ΠΡΡΠΏΠΏΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ" @@ -2272,20 +2273,20 @@ msgstr "ΠΡΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΏΡΠ΅Π²ΡΡΠ°Π΅Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ, ΡΡΡ msgid "This action is not available under your subscription plan." msgstr "ΠΡΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·-Π·Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ Π² Π²Π°ΡΠ΅ΠΌ ΠΏΠ»Π°Π½Π΅." -#: ../../include/zot.php:773 +#: ../../include/zot.php:775 msgid "Invalid data packet" msgstr "ΠΠ΅Π²Π΅ΡΠ½ΡΠΉ ΠΏΠ°ΠΊΠ΅Ρ Π΄Π°Π½Π½ΡΡ
" -#: ../../include/zot.php:800 ../../Zotlabs/Lib/Libzot.php:663 +#: ../../include/zot.php:802 ../../Zotlabs/Lib/Libzot.php:667 msgid "Unable to verify channel signature" msgstr "ΠΠ΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΠΏΠΎΠ΄ΠΏΠΈΡΡ ΠΊΠ°Π½Π°Π»Π°" -#: ../../include/zot.php:2571 ../../Zotlabs/Lib/Libsync.php:733 +#: ../../include/zot.php:2575 ../../Zotlabs/Lib/Libsync.php:733 #, php-format msgid "Unable to verify site signature for %s" msgstr "ΠΠ΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΠΏΠΎΠ΄ΠΏΠΈΡΡ ΡΠ°ΠΉΡΠ° %s" -#: ../../include/zot.php:4235 +#: ../../include/zot.php:4272 msgid "invalid target signature" msgstr "Π½Π΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΠ°Ρ ΡΠ΅Π»Π΅Π²Π°Ρ ΠΏΠΎΠ΄ΠΏΠΈΡΡ" @@ -2346,11 +2347,6 @@ msgstr "ΠΠ΅ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ" msgid "Page not found." msgstr "Π‘ΡΡΠ°Π½ΠΈΡΠ° Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½Π°." -#: ../../include/dba/dba_driver.php:178 -#, php-format -msgid "Cannot locate DNS info for database server '%s'" -msgstr "ΠΠ΅ ΡΠ΄Π°Π΅ΡΡΡ Π½Π°ΠΉΡΠΈ DNS ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π΄Π»Ρ ΡΠ΅ΡΠ²Π΅ΡΠ° Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
'%s'" - #: ../../include/bbcode.php:200 ../../include/bbcode.php:1201 #: ../../include/bbcode.php:1204 ../../include/bbcode.php:1209 #: ../../include/bbcode.php:1212 ../../include/bbcode.php:1215 @@ -2430,17 +2426,17 @@ msgstr "$1 ΠΏΠΈΡΠ°Π»:" msgid "channel" msgstr "ΠΊΠ°Π½Π°Π»" -#: ../../include/conversation.php:160 ../../Zotlabs/Module/Like.php:438 +#: ../../include/conversation.php:160 ../../Zotlabs/Module/Like.php:441 #: ../../Zotlabs/Lib/Activity.php:1605 -#: ../../extend/addon/hzaddons/pubcrawl/as.php:1547 -#: ../../extend/addon/hzaddons/diaspora/Receiver.php:1568 +#: ../../extend/addon/hzaddons/pubcrawl/as.php:1529 +#: ../../extend/addon/hzaddons/diaspora/Receiver.php:1570 #, php-format msgid "%1$s likes %2$s's %3$s" msgstr "%1$s Π½ΡΠ°Π²ΠΈΡΡΡ %3$s %2$s" -#: ../../include/conversation.php:163 ../../Zotlabs/Module/Like.php:440 +#: ../../include/conversation.php:163 ../../Zotlabs/Module/Like.php:443 #: ../../Zotlabs/Lib/Activity.php:1607 -#: ../../extend/addon/hzaddons/pubcrawl/as.php:1549 +#: ../../extend/addon/hzaddons/pubcrawl/as.php:1531 #, php-format msgid "%1$s doesn't like %2$s's %3$s" msgstr "%1$s Π½Π΅ Π½ΡΠ°Π²ΠΈΡΡΡ %2$s %3$s" @@ -2465,52 +2461,52 @@ msgstr "%1$s ΡΠ΅ΠΏΠ΅ΡΡ Π² ΠΊΠΎΠ½ΡΠ°ΠΊΡΠ΅ Ρ %2$s" msgid "%1$s poked %2$s" msgstr "%1$s ΡΠΊΠ½ΡΠ» %2$s" -#: ../../include/conversation.php:268 ../../Zotlabs/Module/Mood.php:75 +#: ../../include/conversation.php:268 ../../Zotlabs/Module/Mood.php:76 #, php-format msgctxt "mood" msgid "%1$s is %2$s" msgstr "%1$s Π² %2$s" -#: ../../include/conversation.php:483 ../../Zotlabs/Lib/ThreadItem.php:440 +#: ../../include/conversation.php:483 ../../Zotlabs/Lib/ThreadItem.php:443 msgid "This is an unsaved preview" msgstr "ΠΡΠΎ Π½Π΅ΡΠΎΡ
ΡΠ°Π½ΡΠ½Π½ΡΠΉ ΠΏΡΠΎΡΠΌΠΎΡΡ" -#: ../../include/conversation.php:619 ../../Zotlabs/Module/Photos.php:1139 +#: ../../include/conversation.php:619 ../../Zotlabs/Module/Photos.php:1152 msgctxt "title" msgid "Likes" msgstr "ΠΡΠ°Π²ΠΈΡΡΡ" -#: ../../include/conversation.php:619 ../../Zotlabs/Module/Photos.php:1139 +#: ../../include/conversation.php:619 ../../Zotlabs/Module/Photos.php:1152 msgctxt "title" msgid "Dislikes" msgstr "ΠΠ΅ Π½ΡΠ°Π²ΠΈΡΡΡ" -#: ../../include/conversation.php:620 ../../Zotlabs/Module/Photos.php:1140 +#: ../../include/conversation.php:620 ../../Zotlabs/Module/Photos.php:1153 msgctxt "title" msgid "Agree" msgstr "Π‘ΠΎΠ³Π»Π°ΡΠ΅Π½" -#: ../../include/conversation.php:620 ../../Zotlabs/Module/Photos.php:1140 +#: ../../include/conversation.php:620 ../../Zotlabs/Module/Photos.php:1153 msgctxt "title" msgid "Disagree" msgstr "ΠΠ΅ ΡΠΎΠ³Π»Π°ΡΠ΅Π½" -#: ../../include/conversation.php:620 ../../Zotlabs/Module/Photos.php:1140 +#: ../../include/conversation.php:620 ../../Zotlabs/Module/Photos.php:1153 msgctxt "title" msgid "Abstain" msgstr "ΠΠΎΠ·Π΄Π΅ΡΠΆΠ°Π»ΡΡ" -#: ../../include/conversation.php:621 ../../Zotlabs/Module/Photos.php:1141 +#: ../../include/conversation.php:621 ../../Zotlabs/Module/Photos.php:1154 msgctxt "title" msgid "Attending" msgstr "ΠΠΎΡΠ΅ΡΠ°Ρ" -#: ../../include/conversation.php:621 ../../Zotlabs/Module/Photos.php:1141 +#: ../../include/conversation.php:621 ../../Zotlabs/Module/Photos.php:1154 msgctxt "title" msgid "Not attending" msgstr "ΠΠ΅ ΠΏΠΎΡΠ΅ΡΠ°Ρ" -#: ../../include/conversation.php:621 ../../Zotlabs/Module/Photos.php:1141 +#: ../../include/conversation.php:621 ../../Zotlabs/Module/Photos.php:1154 msgctxt "title" msgid "Might attend" msgstr "ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠ΅ΡΡ" @@ -2522,15 +2518,15 @@ msgstr "ΠΡΠ±ΡΠ°ΡΡ" #: ../../include/conversation.php:691 ../../include/conversation.php:736 #: ../../Zotlabs/Storage/Browser.php:291 ../../Zotlabs/Module/Cdav.php:942 #: ../../Zotlabs/Module/Cdav.php:1232 ../../Zotlabs/Module/Profiles.php:800 -#: ../../Zotlabs/Module/Photos.php:1205 ../../Zotlabs/Module/Oauth.php:174 +#: ../../Zotlabs/Module/Photos.php:1218 ../../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 #: ../../Zotlabs/Module/Admin/Profs.php:176 #: ../../Zotlabs/Module/Admin/Accounts.php:175 #: ../../Zotlabs/Module/Editwebpage.php:167 ../../Zotlabs/Module/Thing.php:267 -#: ../../Zotlabs/Module/Webpages.php:257 ../../Zotlabs/Module/Connedit.php:655 -#: ../../Zotlabs/Module/Connedit.php:924 +#: ../../Zotlabs/Module/Webpages.php:257 ../../Zotlabs/Module/Connedit.php:660 +#: ../../Zotlabs/Module/Connedit.php:929 #: ../../Zotlabs/Module/Connections.php:292 #: ../../Zotlabs/Module/Card_edit.php:129 #: ../../Zotlabs/Module/Article_edit.php:129 @@ -2574,17 +2570,17 @@ msgstr "ΠΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ:" msgid "Filed under:" msgstr "Π₯ΡΠ°Π½ΠΈΡΡ ΠΏΠΎΠ΄:" -#: ../../include/conversation.php:766 ../../Zotlabs/Lib/ThreadItem.php:375 +#: ../../include/conversation.php:766 ../../Zotlabs/Lib/ThreadItem.php:378 #, php-format msgid "from %s" msgstr "ΠΎΡ %s" -#: ../../include/conversation.php:769 ../../Zotlabs/Lib/ThreadItem.php:378 +#: ../../include/conversation.php:769 ../../Zotlabs/Lib/ThreadItem.php:381 #, php-format msgid "last edited: %s" msgstr "ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅: %s" -#: ../../include/conversation.php:770 ../../Zotlabs/Lib/ThreadItem.php:379 +#: ../../include/conversation.php:770 ../../Zotlabs/Lib/ThreadItem.php:382 #, php-format msgid "Expires: %s" msgstr "Π‘ΡΠΎΠΊ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ: %s" @@ -2593,8 +2589,8 @@ msgstr "Π‘ΡΠΎΠΊ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ: %s" msgid "View in context" msgstr "ΠΠΎΠΊΠ°Π·Π°ΡΡ Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅" -#: ../../include/conversation.php:787 ../../Zotlabs/Module/Photos.php:1105 -#: ../../Zotlabs/Lib/ThreadItem.php:441 +#: ../../include/conversation.php:787 ../../Zotlabs/Module/Photos.php:1118 +#: ../../Zotlabs/Lib/ThreadItem.php:444 msgid "Please wait" msgstr "ΠΠΎΠ΄ΠΎΠΆΠ΄ΠΈΡΠ΅ ΠΏΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°" @@ -2627,12 +2623,12 @@ msgid "Unfollow Thread" msgstr "ΠΡΠ΅ΠΊΡΠ°ΡΠΈΡΡ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ ΡΠ΅ΠΌΡ" #: ../../include/conversation.php:1038 ../../include/nav.php:106 -#: ../../Zotlabs/Module/Connedit.php:595 ../../Zotlabs/Lib/Apps.php:319 +#: ../../Zotlabs/Module/Connedit.php:600 ../../Zotlabs/Lib/Apps.php:319 #: ../../extend/addon/hzaddons/openclipatar/openclipatar.php:57 msgid "View Profile" msgstr "ΠΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΏΡΠΎΡΠΈΠ»Ρ" -#: ../../include/conversation.php:1048 ../../Zotlabs/Module/Connedit.php:616 +#: ../../include/conversation.php:1048 ../../Zotlabs/Module/Connedit.php:621 msgid "Recent Activity" msgstr "ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ" @@ -2656,13 +2652,13 @@ msgstr "Π’ΠΊΠ½ΡΡΡ" #: ../../include/conversation.php:1166 ../../Zotlabs/Storage/Browser.php:164 #: ../../Zotlabs/Module/Cdav.php:811 ../../Zotlabs/Module/Cdav.php:812 -#: ../../Zotlabs/Module/Cdav.php:819 ../../Zotlabs/Module/Photos.php:819 -#: ../../Zotlabs/Module/Photos.php:1275 +#: ../../Zotlabs/Module/Cdav.php:819 ../../Zotlabs/Module/Photos.php:832 +#: ../../Zotlabs/Module/Photos.php:1288 #: ../../Zotlabs/Module/Embedphotos.php:146 #: ../../Zotlabs/Widget/Portfolio.php:95 ../../Zotlabs/Widget/Album.php:84 #: ../../Zotlabs/Lib/Apps.php:994 ../../Zotlabs/Lib/Apps.php:1078 #: ../../Zotlabs/Lib/Activity.php:858 -#: ../../extend/addon/hzaddons/pubcrawl/as.php:964 +#: ../../extend/addon/hzaddons/pubcrawl/as.php:949 msgid "Unknown" msgstr "ΠΠ΅ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΉ" @@ -2800,14 +2796,14 @@ msgstr "ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Π²ΠΊΠ»ΡΡΠ΅Π½Ρ" msgid "Comments disabled" msgstr "ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΎΡΠΊΠ»ΡΡΠ΅Π½Ρ" -#: ../../include/conversation.php:1356 ../../Zotlabs/Module/Photos.php:1125 +#: ../../include/conversation.php:1356 ../../Zotlabs/Module/Photos.php:1138 #: ../../Zotlabs/Module/Events.php:480 ../../Zotlabs/Module/Webpages.php:262 -#: ../../Zotlabs/Lib/ThreadItem.php:777 +#: ../../Zotlabs/Lib/ThreadItem.php:780 #: ../../extend/addon/hzaddons/hsse/hsse.php:153 msgid "Preview" msgstr "ΠΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΡΠΎΡΠΌΠΎΡΡ" -#: ../../include/conversation.php:1389 ../../Zotlabs/Module/Photos.php:1104 +#: ../../include/conversation.php:1389 ../../Zotlabs/Module/Photos.php:1117 #: ../../Zotlabs/Module/Webpages.php:256 ../../Zotlabs/Module/Blocks.php:161 #: ../../Zotlabs/Module/Wiki.php:301 ../../Zotlabs/Module/Layouts.php:194 #: ../../Zotlabs/Widget/Cdav.php:124 @@ -2825,32 +2821,32 @@ msgstr "ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ ΡΡΡΠ»ΠΊΠΈ Π½Π° ΡΡΡΠ°Π½ΠΈΡΡ " msgid "Post as" msgstr "ΠΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°ΡΡ ΠΊΠ°ΠΊ" -#: ../../include/conversation.php:1403 ../../Zotlabs/Lib/ThreadItem.php:768 +#: ../../include/conversation.php:1403 ../../Zotlabs/Lib/ThreadItem.php:771 #: ../../extend/addon/hzaddons/hsse/hsse.php:200 msgid "Bold" msgstr "ΠΠΈΡΠ½ΡΠΉ" -#: ../../include/conversation.php:1404 ../../Zotlabs/Lib/ThreadItem.php:769 +#: ../../include/conversation.php:1404 ../../Zotlabs/Lib/ThreadItem.php:772 #: ../../extend/addon/hzaddons/hsse/hsse.php:201 msgid "Italic" msgstr "ΠΡΡΡΠΈΠ²" -#: ../../include/conversation.php:1405 ../../Zotlabs/Lib/ThreadItem.php:770 +#: ../../include/conversation.php:1405 ../../Zotlabs/Lib/ThreadItem.php:773 #: ../../extend/addon/hzaddons/hsse/hsse.php:202 msgid "Underline" msgstr "ΠΠΎΠ΄ΡΠ΅ΡΠΊΠ½ΡΡΡΠΉ" -#: ../../include/conversation.php:1406 ../../Zotlabs/Lib/ThreadItem.php:771 +#: ../../include/conversation.php:1406 ../../Zotlabs/Lib/ThreadItem.php:774 #: ../../extend/addon/hzaddons/hsse/hsse.php:203 msgid "Quote" msgstr "Π¦ΠΈΡΠ°ΡΠ°" -#: ../../include/conversation.php:1407 ../../Zotlabs/Lib/ThreadItem.php:772 +#: ../../include/conversation.php:1407 ../../Zotlabs/Lib/ThreadItem.php:775 #: ../../extend/addon/hzaddons/hsse/hsse.php:204 msgid "Code" msgstr "ΠΠΎΠ΄" -#: ../../include/conversation.php:1408 ../../Zotlabs/Lib/ThreadItem.php:774 +#: ../../include/conversation.php:1408 ../../Zotlabs/Lib/ThreadItem.php:777 #: ../../extend/addon/hzaddons/hsse/hsse.php:205 msgid "Attach/Upload file" msgstr "ΠΡΠΈΠΊΡΠ΅ΠΏΠΈΡΡ/Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΡΠ°ΠΉΠ»" @@ -2872,7 +2868,7 @@ msgstr "ΠΡΡΡΠΎΠΈΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ· Π²Π°ΡΠΈΡ
Π°Π»ΡΠ±ΠΎΠΌΠΎΠ² #: ../../Zotlabs/Module/Admin/Addons.php:423 #: ../../Zotlabs/Module/Editwebpage.php:169 #: ../../Zotlabs/Module/Profile_photo.php:465 -#: ../../Zotlabs/Module/Editpost.php:109 ../../Zotlabs/Module/Connedit.php:925 +#: ../../Zotlabs/Module/Editpost.php:109 ../../Zotlabs/Module/Connedit.php:930 #: ../../Zotlabs/Module/Card_edit.php:131 #: ../../Zotlabs/Module/Article_edit.php:131 ../../Zotlabs/Module/Wiki.php:368 #: ../../Zotlabs/Module/Wiki.php:401 ../../Zotlabs/Module/Filer.php:55 @@ -2904,8 +2900,8 @@ msgstr "ΠΡΠΊΠ»ΡΡΠΈΡΡ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ" msgid "Toggle comments" msgstr "ΠΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΡ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ" -#: ../../include/conversation.php:1424 ../../Zotlabs/Module/Photos.php:700 -#: ../../Zotlabs/Module/Photos.php:1070 ../../Zotlabs/Module/Editblock.php:129 +#: ../../include/conversation.php:1424 ../../Zotlabs/Module/Photos.php:713 +#: ../../Zotlabs/Module/Photos.php:1083 ../../Zotlabs/Module/Editblock.php:129 #: ../../Zotlabs/Module/Card_edit.php:117 #: ../../Zotlabs/Module/Article_edit.php:117 #: ../../extend/addon/hzaddons/hsse/hsse.php:221 @@ -2940,12 +2936,12 @@ msgstr "Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π΄Π°ΡΡ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ" #: ../../include/conversation.php:1458 ../../Zotlabs/Module/Mail.php:294 #: ../../Zotlabs/Module/Mail.php:436 ../../Zotlabs/Module/Chat.php:221 -#: ../../Zotlabs/Lib/ThreadItem.php:781 +#: ../../Zotlabs/Lib/ThreadItem.php:784 #: ../../extend/addon/hzaddons/hsse/hsse.php:255 msgid "Encrypt text" msgstr "ΠΠ°ΡΠΈΡΡΠΎΠ²Π°ΡΡ ΡΠ΅ΠΊΡΡ" -#: ../../include/conversation.php:1696 ../../Zotlabs/Module/Photos.php:1167 +#: ../../include/conversation.php:1696 ../../Zotlabs/Module/Photos.php:1180 #: ../../Zotlabs/Lib/ThreadItem.php:223 msgctxt "noun" msgid "Dislike" @@ -3053,12 +3049,12 @@ msgstr "ΠΡΠ±ΠΎΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ°" msgid "Delete this item?" msgstr "Π£Π΄Π°Π»ΠΈΡΡ ΡΡΠΎΡ ΡΠ»Π΅ΠΌΠ΅Π½Ρ?" -#: ../../include/js_strings.php:6 ../../Zotlabs/Module/Photos.php:1123 -#: ../../Zotlabs/Module/Photos.php:1241 ../../Zotlabs/Lib/ThreadItem.php:766 +#: ../../include/js_strings.php:6 ../../Zotlabs/Module/Photos.php:1136 +#: ../../Zotlabs/Module/Photos.php:1254 ../../Zotlabs/Lib/ThreadItem.php:769 msgid "Comment" msgstr "ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ" -#: ../../include/js_strings.php:7 ../../Zotlabs/Lib/ThreadItem.php:473 +#: ../../include/js_strings.php:7 ../../Zotlabs/Lib/ThreadItem.php:476 #, php-format msgid "%s show all" msgstr "%s ΠΏΠΎΠΊΠ°Π·Π°ΡΡ Π²ΡΡ" @@ -3115,7 +3111,7 @@ msgid "Rate This Channel (this is public)" msgstr "ΠΡΠ΅Π½ΠΊa ΡΡoΠ³ΠΎ ΠΊΠ°Π½Π°Π»Π° (ΠΎΠ±ΡΠ΅Π΄ΠΎΡΡΡΠΏΠ½ΠΎ)" #: ../../include/js_strings.php:20 ../../Zotlabs/Module/Rate.php:155 -#: ../../Zotlabs/Module/Connedit.php:871 +#: ../../Zotlabs/Module/Connedit.php:876 msgid "Rating" msgstr "ΠΡΠ΅Π½ΠΊΠ°" @@ -3413,9 +3409,9 @@ msgstr "" #: ../../include/network.php:1778 ../../Zotlabs/Lib/Activity.php:1417 #: ../../Zotlabs/Lib/Activity.php:1614 -#: ../../extend/addon/hzaddons/pubcrawl/as.php:1222 -#: ../../extend/addon/hzaddons/pubcrawl/as.php:1377 -#: ../../extend/addon/hzaddons/pubcrawl/as.php:1556 +#: ../../extend/addon/hzaddons/pubcrawl/as.php:1204 +#: ../../extend/addon/hzaddons/pubcrawl/as.php:1359 +#: ../../extend/addon/hzaddons/pubcrawl/as.php:1538 msgid "ActivityPub" msgstr "" @@ -3423,7 +3419,7 @@ msgstr "" #: ../../Zotlabs/Module/Profiles.php:787 #: ../../Zotlabs/Module/Admin/Accounts.php:171 #: ../../Zotlabs/Module/Admin/Accounts.php:183 -#: ../../Zotlabs/Module/Connedit.php:911 +#: ../../Zotlabs/Module/Connedit.php:916 #: ../../extend/addon/hzaddons/rtof/rtof.php:93 #: ../../extend/addon/hzaddons/openid/MysqlProvider.php:56 #: ../../extend/addon/hzaddons/openid/MysqlProvider.php:57 @@ -3479,7 +3475,7 @@ msgstr "YYYY-MM-DD ΠΈΠ»ΠΈ MM-DD" msgid "Required" msgstr "Π’ΡΠ΅Π±ΡΠ΅ΡΡΡ" -#: ../../include/datetime.php:238 ../../boot.php:2558 +#: ../../include/datetime.php:238 ../../boot.php:2557 msgid "never" msgstr "Π½ΠΈΠΊΠΎΠ³Π΄Π°" @@ -3564,7 +3560,7 @@ msgstr "Π‘ ΠΠ½Π΅ΠΌ ΡΠΎΠΆΠ΄Π΅Π½ΠΈΡ %1$s !" msgid "Visible to your default audience" msgstr "ΠΠΈΠ΄Π½ΠΎ Π²Π°ΡΠ΅ΠΉ Π°ΡΠ΄ΠΈΡΠΎΡΠΈΠΈ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ." -#: ../../include/acl_selectors.php:88 ../../Zotlabs/Module/Acl.php:120 +#: ../../include/acl_selectors.php:88 ../../Zotlabs/Module/Acl.php:121 #: ../../Zotlabs/Module/Lockview.php:117 ../../Zotlabs/Module/Lockview.php:153 msgctxt "acl" msgid "Profile" @@ -3597,15 +3593,15 @@ msgstr "ΠΠΎΠΊΠ°Π·Π°ΡΡ" msgid "Don't show" msgstr "ΠΠ΅ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ" -#: ../../include/acl_selectors.php:123 ../../Zotlabs/Module/Photos.php:704 -#: ../../Zotlabs/Module/Photos.php:1073 ../../Zotlabs/Module/Chat.php:243 +#: ../../include/acl_selectors.php:123 ../../Zotlabs/Module/Photos.php:717 +#: ../../Zotlabs/Module/Photos.php:1086 ../../Zotlabs/Module/Chat.php:243 #: ../../Zotlabs/Module/Filestorage.php:170 ../../Zotlabs/Module/Thing.php:319 -#: ../../Zotlabs/Module/Thing.php:372 ../../Zotlabs/Module/Connedit.php:677 +#: ../../Zotlabs/Module/Thing.php:372 ../../Zotlabs/Module/Connedit.php:682 msgid "Permissions" msgstr "Π Π°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ" -#: ../../include/acl_selectors.php:125 ../../Zotlabs/Module/Photos.php:1295 -#: ../../Zotlabs/Lib/ThreadItem.php:435 +#: ../../include/acl_selectors.php:125 ../../Zotlabs/Module/Photos.php:1308 +#: ../../Zotlabs/Lib/ThreadItem.php:438 msgid "Close" msgstr "ΠΠ°ΠΊΡΡΡΡ" @@ -3629,37 +3625,37 @@ msgstr "ΠΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ" msgid "Open the selected location in a different window or browser tab" msgstr "ΠΡΠΊΡΡΡΡ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠ΅ ΠΌΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² Π΄ΡΡΠ³ΠΎΠΌ ΠΎΠΊΠ½Π΅ ΠΈΠ»ΠΈ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Π±ΡΠ°ΡΠ·Π΅ΡΠ°" -#: ../../include/connections.php:696 ../../include/event.php:1308 +#: ../../include/connections.php:696 ../../include/event.php:1311 #: ../../Zotlabs/Module/Cdav.php:1224 ../../Zotlabs/Module/Profiles.php:792 -#: ../../Zotlabs/Module/Connedit.php:916 +#: ../../Zotlabs/Module/Connedit.php:921 msgid "Mobile" msgstr "ΠΠΎΠ±ΠΈΠ»ΡΠ½ΡΠΉ" -#: ../../include/connections.php:697 ../../include/event.php:1309 +#: ../../include/connections.php:697 ../../include/event.php:1312 #: ../../Zotlabs/Module/Cdav.php:1225 ../../Zotlabs/Module/Profiles.php:793 -#: ../../Zotlabs/Module/Connedit.php:917 +#: ../../Zotlabs/Module/Connedit.php:922 msgid "Home" msgstr "ΠΠΎΠΌΠ°ΡΠ½ΠΈΠΉ" -#: ../../include/connections.php:698 ../../include/event.php:1310 +#: ../../include/connections.php:698 ../../include/event.php:1313 msgid "Home, Voice" msgstr "ΠΠΎΠΌ, Π³ΠΎΠ»ΠΎΡ" -#: ../../include/connections.php:699 ../../include/event.php:1311 +#: ../../include/connections.php:699 ../../include/event.php:1314 msgid "Home, Fax" msgstr "ΠΠΎΠΌ, ΡΠ°ΠΊΡ" -#: ../../include/connections.php:700 ../../include/event.php:1312 +#: ../../include/connections.php:700 ../../include/event.php:1315 #: ../../Zotlabs/Module/Cdav.php:1226 ../../Zotlabs/Module/Profiles.php:794 -#: ../../Zotlabs/Module/Connedit.php:918 +#: ../../Zotlabs/Module/Connedit.php:923 msgid "Work" msgstr "Π Π°Π±ΠΎΡΠΈΠΉ" -#: ../../include/connections.php:701 ../../include/event.php:1313 +#: ../../include/connections.php:701 ../../include/event.php:1316 msgid "Work, Voice" msgstr "Π Π°Π±ΠΎΡΠ°, Π³ΠΎΠ»ΠΎΡ" -#: ../../include/connections.php:702 ../../include/event.php:1314 +#: ../../include/connections.php:702 ../../include/event.php:1317 msgid "Work, Fax" msgstr "Π Π°Π±ΠΎΡΠ°, ΡΠ°ΠΊΡ" @@ -3679,23 +3675,23 @@ msgstr "ΠΠΊΠΎΠ½ΡΠ°Π½ΠΈΠ΅:" msgid "This event has been added to your calendar." msgstr "ΠΡΠΎ ΡΠΎΠ±ΡΡΠΈΠ΅ Π±ΡΠ»ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ Π² Π²Π°Ρ ΠΊΠ°Π»Π΅Π½Π΄Π°ΡΡ." -#: ../../include/event.php:1227 +#: ../../include/event.php:1230 msgid "Not specified" msgstr "ΠΠ΅ ΡΠΊΠ°Π·Π°Π½ΠΎ" -#: ../../include/event.php:1228 +#: ../../include/event.php:1231 msgid "Needs Action" msgstr "Π’ΡΠ΅Π±ΡΠ΅Ρ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ" -#: ../../include/event.php:1229 +#: ../../include/event.php:1232 msgid "Completed" msgstr "ΠΠ°Π²Π΅ΡΡΠ΅Π½ΠΎ" -#: ../../include/event.php:1230 +#: ../../include/event.php:1233 msgid "In Process" msgstr "Π ΠΏΡΠΎΡΠ΅ΡΡΠ΅" -#: ../../include/event.php:1231 +#: ../../include/event.php:1234 msgid "Cancelled" msgstr "ΠΡΠΌΠ΅Π½Π΅Π½ΠΎ" @@ -3753,7 +3749,7 @@ msgid "Account/Channel Settings" msgstr "ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ Π°ΠΊΠΊΠ°ΡΠ½ΡΠ° / ΠΊΠ°Π½Π°Π»Π°" #: ../../include/nav.php:103 ../../include/nav.php:132 -#: ../../include/nav.php:151 ../../boot.php:1624 +#: ../../include/nav.php:151 ../../boot.php:1623 msgid "Logout" msgstr "ΠΡΡ
ΠΎΠ΄" @@ -3773,7 +3769,7 @@ msgstr "Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ / ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΡΠΈΠ»Π΅ΠΉ" msgid "Edit your profile" msgstr "Π Π΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΡΠΈΠ»Ρ" -#: ../../include/nav.php:118 ../../include/nav.php:122 ../../boot.php:1625 +#: ../../include/nav.php:118 ../../include/nav.php:122 ../../boot.php:1624 #: ../../Zotlabs/Lib/Apps.php:311 msgid "Login" msgstr "ΠΠΎΠΉΡΠΈ" @@ -3790,7 +3786,7 @@ msgstr "ΠΠΎΠΌΠΎΠΉ" msgid "Log me out of this site" msgstr "ΠΡΠΉΡΠΈ Ρ ΡΡΠΎΠ³ΠΎ ΡΠ°ΠΉΡΠ°" -#: ../../include/nav.php:156 ../../boot.php:1605 +#: ../../include/nav.php:156 ../../boot.php:1604 #: ../../Zotlabs/Module/Register.php:289 msgid "Register" msgstr "Π Π΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ" @@ -3818,7 +3814,7 @@ msgstr "Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΡΠ°ΠΉΡΠ°" #: ../../include/nav.php:293 ../../Zotlabs/Module/Defperms.php:256 #: ../../Zotlabs/Module/New_channel.php:157 #: ../../Zotlabs/Module/New_channel.php:164 -#: ../../Zotlabs/Module/Connedit.php:853 +#: ../../Zotlabs/Module/Connedit.php:858 #: ../../Zotlabs/Widget/Notifications.php:162 msgid "Loading" msgstr "ΠΠ°Π³ΡΡΠ·ΠΊΠ°" @@ -3914,7 +3910,7 @@ msgid "View Webpages" msgstr "ΠΡΠΎΡΠΌΠΎΡΡ Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡ" #: ../../include/nav.php:506 ../../Zotlabs/Module/Wiki.php:206 -#: ../../Zotlabs/Widget/Wiki_list.php:19 +#: ../../Zotlabs/Widget/Wiki_list.php:15 msgid "Wikis" msgstr "" @@ -3993,51 +3989,51 @@ msgstr "ΠΎΡΠΈΠ±ΠΊΠ° ΠΏΡΠΈ Π·Π°ΠΏΠΈΡΠΈ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
." msgid "Empty path" msgstr "ΠΡΡΡΠΎΠ΅ ΠΈΠΌΡ ΠΏΡΡΠΈ" -#: ../../include/photo/photo_driver.php:741 +#: ../../include/photo/photo_driver.php:774 #: ../../Zotlabs/Module/Profile_photo.php:120 #: ../../Zotlabs/Module/Profile_photo.php:248 msgid "Profile Photos" msgstr "Π€ΠΎΡΠΎΠ³ΡΠ°ΡΠΈΠΈ ΠΏΡΠΎΡΠΈΠ»Ρ" -#: ../../boot.php:1604 +#: ../../boot.php:1603 msgid "Create an account to access services and applications" msgstr "Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π°ΠΊΠΊΠ°ΡΠ½Ρ Π΄Π»Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΠ»ΡΠΆΠ±Π°ΠΌ ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌ" -#: ../../boot.php:1628 +#: ../../boot.php:1627 msgid "Login/Email" msgstr "ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ / email" -#: ../../boot.php:1629 +#: ../../boot.php:1628 msgid "Password" msgstr "ΠΠ°ΡΠΎΠ»Ρ" -#: ../../boot.php:1630 +#: ../../boot.php:1629 msgid "Remember me" msgstr "ΠΠ°ΠΏΠΎΠΌΠ½ΠΈΡΡ ΠΌΠ΅Π½Ρ" -#: ../../boot.php:1633 +#: ../../boot.php:1632 msgid "Forgot your password?" msgstr "ΠΠ°Π±ΡΠ»ΠΈ ΠΏΠ°ΡΠΎΠ»Ρ ΠΈΠ»ΠΈ Π»ΠΎΠ³ΠΈΠ½?" -#: ../../boot.php:1634 ../../Zotlabs/Module/Lostpass.php:91 +#: ../../boot.php:1633 ../../Zotlabs/Module/Lostpass.php:91 msgid "Password Reset" msgstr "Π‘Π±ΡΠΎΡΠΈΡΡ ΠΏΠ°ΡΠΎΠ»Ρ" -#: ../../boot.php:2431 +#: ../../boot.php:2430 #, php-format msgid "[$Projectname] Website SSL error for %s" msgstr "[$Projectname] ΠΡΠΈΠ±ΠΊΠ° SSL/TLS Π²Π΅Π±-ΡΠ°ΠΉΡΠ° Π΄Π»Ρ %s" -#: ../../boot.php:2436 +#: ../../boot.php:2435 msgid "Website SSL certificate is not valid. Please correct." msgstr "SSL/TLS ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ Π²Π΅Π±-ΡΠ°ΠΉΡ Π½Π΅Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»Π΅Π½. ΠΡΠΏΡΠ°Π²ΡΡΠ΅ ΡΡΠΎ." -#: ../../boot.php:2552 +#: ../../boot.php:2551 #, php-format msgid "[$Projectname] Cron tasks not running on %s" msgstr "[$Projectname] ΠΠ°Π΄Π°Π½ΠΈΡ Cron Π½Π΅ Π·Π°ΠΏΡΡΠ΅Π½Ρ Π½Π° %s" -#: ../../boot.php:2557 +#: ../../boot.php:2556 msgid "Cron/Scheduled tasks not running." msgstr "ΠΠ°Π΄Π°Π½ΠΈΡ Cron / ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊΠ° Π½Π΅ Π·Π°ΠΏΡΡΠ΅Π½Ρ." @@ -4072,7 +4068,7 @@ msgstr "ΠΠ±ΡΠΈΠ΅" #: ../../Zotlabs/Storage/Browser.php:276 ../../Zotlabs/Storage/Browser.php:390 #: ../../Zotlabs/Module/Cdav.php:1230 ../../Zotlabs/Module/Profiles.php:798 #: ../../Zotlabs/Module/New_channel.php:189 ../../Zotlabs/Module/Menu.php:181 -#: ../../Zotlabs/Module/Webpages.php:254 ../../Zotlabs/Module/Connedit.php:922 +#: ../../Zotlabs/Module/Webpages.php:254 ../../Zotlabs/Module/Connedit.php:927 #: ../../Zotlabs/Module/Blocks.php:159 ../../Zotlabs/Module/Articles.php:108 #: ../../Zotlabs/Module/Cards.php:109 ../../Zotlabs/Module/Layouts.php:185 #: ../../Zotlabs/Widget/Cdav.php:128 ../../Zotlabs/Widget/Cdav.php:165 @@ -4092,7 +4088,7 @@ msgstr "Π£Π΄Π°Π»Π΅Π½ΠΎ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΎΠΌ" #: ../../Zotlabs/Module/Sharedwithme.php:104 ../../Zotlabs/Module/Chat.php:259 #: ../../Zotlabs/Module/Oauth2.php:118 ../../Zotlabs/Module/Oauth2.php:146 #: ../../Zotlabs/Module/Admin/Channels.php:159 -#: ../../Zotlabs/Module/Connedit.php:907 ../../Zotlabs/Module/Group.php:144 +#: ../../Zotlabs/Module/Connedit.php:912 ../../Zotlabs/Module/Group.php:144 #: ../../Zotlabs/Module/Wiki.php:218 #: ../../Zotlabs/Widget/Wiki_page_history.php:22 #: ../../Zotlabs/Lib/NativeWikiPage.php:561 @@ -4131,7 +4127,7 @@ msgstr "Π‘ΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΡ ΠΏΠ°ΠΏΠΊΡ" msgid "Upload file" msgstr "ΠΠ°Π³ΡΡΠ·ΠΈΡΡ ΡΠ°ΠΉΠ»" -#: ../../Zotlabs/Storage/Browser.php:392 ../../Zotlabs/Module/Photos.php:714 +#: ../../Zotlabs/Storage/Browser.php:392 ../../Zotlabs/Module/Photos.php:727 #: ../../Zotlabs/Module/Cover_photo.php:395 #: ../../Zotlabs/Module/Embedphotos.php:158 #: ../../Zotlabs/Module/Profile_photo.php:459 @@ -4280,7 +4276,7 @@ msgid "" "to correctly use this feature." msgstr "ΠΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅. ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ
Π½Π°ΡΡΡΠΎΠ΅ΠΊ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ Π½Π΅ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠΈ Π²Π°ΡΠ΅Π³ΠΎ ΠΊΠ°Π½Π°Π»Π°. ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, ΠΏΠΎΠΊΠΈΠ½ΡΡΠ΅ ΡΡΡ ΡΡΡΠ°Π½ΠΈΡΡ, Π΅ΡΠ»ΠΈ Π²Ρ ΡΠΎΡΠ½ΠΎ Π½Π΅ Π·Π½Π°ΡΠ΅ΡΠ΅, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ." -#: ../../Zotlabs/Module/Defperms.php:67 ../../Zotlabs/Module/Connedit.php:80 +#: ../../Zotlabs/Module/Defperms.php:67 ../../Zotlabs/Module/Connedit.php:81 msgid "Could not access contact record." msgstr "ΠΠ΅ ΡΠ΄Π°Π»ΠΎΡΡ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ Π·Π°ΠΏΠΈΡΠΈ ΠΊΠΎΠ½ΡΠ°ΠΊΡΠ°." @@ -4308,7 +4304,7 @@ msgstr "ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ \"Π Π°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ\"" #: ../../Zotlabs/Module/Uexport.php:61 ../../Zotlabs/Module/Bookmarks.php:78 #: ../../Zotlabs/Module/Probe.php:18 ../../Zotlabs/Module/Tokens.php:99 #: ../../Zotlabs/Module/Notes.php:55 ../../Zotlabs/Module/Webpages.php:48 -#: ../../Zotlabs/Module/Group.php:101 ../../Zotlabs/Module/Mood.php:132 +#: ../../Zotlabs/Module/Group.php:101 ../../Zotlabs/Module/Mood.php:134 #: ../../Zotlabs/Module/Lang.php:17 ../../Zotlabs/Module/Randprof.php:29 #: ../../Zotlabs/Module/Invite.php:110 ../../Zotlabs/Module/Articles.php:43 #: ../../Zotlabs/Module/Connect.php:104 ../../Zotlabs/Module/Pdledit.php:42 @@ -4321,11 +4317,11 @@ msgstr "Π½Π΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ" msgid "Set custom default permissions for new connections" msgstr "ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ
ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠΉ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π΄Π»Ρ Π½ΠΎΠ²ΡΡ
ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ " -#: ../../Zotlabs/Module/Defperms.php:254 ../../Zotlabs/Module/Connedit.php:851 +#: ../../Zotlabs/Module/Defperms.php:254 ../../Zotlabs/Module/Connedit.php:856 msgid "Connection Default Permissions" msgstr "Π Π°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π΄Π»Ρ ΠΊΠΎΠ½ΡΠ°ΠΊΡΠ°" -#: ../../Zotlabs/Module/Defperms.php:255 ../../Zotlabs/Module/Connedit.php:852 +#: ../../Zotlabs/Module/Defperms.php:255 ../../Zotlabs/Module/Connedit.php:857 msgid "Apply these permissions automatically" msgstr "ΠΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΡΡΠΈ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ" @@ -4335,15 +4331,15 @@ msgid "" "If enabled, connection requests will be approved without your interaction" msgstr "ΠΡΠ»ΠΈ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΎ, Π·Π°ΠΏΡΠΎΡΡ ΠΊΠΎΠ½ΡΠ°ΠΊΡΠΎΠ² Π±ΡΠ΄ΡΡ ΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Ρ Π±Π΅Π· Π²Π°ΡΠ΅Π³ΠΎ ΡΡΠ°ΡΡΠΈΡ" -#: ../../Zotlabs/Module/Defperms.php:256 ../../Zotlabs/Module/Connedit.php:853 +#: ../../Zotlabs/Module/Defperms.php:256 ../../Zotlabs/Module/Connedit.php:858 msgid "Permission role" msgstr "Π ΠΎΠ»Ρ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ" -#: ../../Zotlabs/Module/Defperms.php:257 ../../Zotlabs/Module/Connedit.php:854 +#: ../../Zotlabs/Module/Defperms.php:257 ../../Zotlabs/Module/Connedit.php:859 msgid "Add permission role" msgstr "ΠΠΎΠ±Π°Π²ΠΈΡΡ ΡΠΎΠ»Ρ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ" -#: ../../Zotlabs/Module/Defperms.php:261 ../../Zotlabs/Module/Connedit.php:867 +#: ../../Zotlabs/Module/Defperms.php:261 ../../Zotlabs/Module/Connedit.php:872 msgid "" "The permissions indicated on this page will be applied to all new " "connections." @@ -4354,17 +4350,17 @@ msgid "Automatic approval settings" msgstr "ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈΡ" #: ../../Zotlabs/Module/Defperms.php:264 ../../Zotlabs/Module/Permcats.php:123 -#: ../../Zotlabs/Module/Tokens.php:183 ../../Zotlabs/Module/Connedit.php:887 +#: ../../Zotlabs/Module/Tokens.php:183 ../../Zotlabs/Module/Connedit.php:892 msgid "inherited" msgstr "Π½Π°ΡΠ»Π΅Π΄ΡΠ΅ΡΡΡ" #: ../../Zotlabs/Module/Defperms.php:266 ../../Zotlabs/Module/Permcats.php:121 -#: ../../Zotlabs/Module/Tokens.php:181 ../../Zotlabs/Module/Connedit.php:892 +#: ../../Zotlabs/Module/Tokens.php:181 ../../Zotlabs/Module/Connedit.php:897 msgid "My Settings" msgstr "ΠΠΎΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ" #: ../../Zotlabs/Module/Defperms.php:269 ../../Zotlabs/Module/Permcats.php:126 -#: ../../Zotlabs/Module/Tokens.php:186 ../../Zotlabs/Module/Connedit.php:894 +#: ../../Zotlabs/Module/Tokens.php:186 ../../Zotlabs/Module/Connedit.php:899 msgid "Individual Permissions" msgstr "ΠΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡΠ°Π»ΡΠ½ΡΠ΅ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ" @@ -4405,7 +4401,7 @@ msgid "Permission category name" msgstr "ΠΠ°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠΉ" #: ../../Zotlabs/Module/Permcats.php:127 ../../Zotlabs/Module/Tokens.php:187 -#: ../../Zotlabs/Module/Connedit.php:895 +#: ../../Zotlabs/Module/Connedit.php:900 msgid "" "Some permissions may be inherited from your channel's <a href=\"settings" "\"><strong>privacy settings</strong></a>, which have higher priority than " @@ -4425,69 +4421,69 @@ msgstr "ΠΠ°ΠΏΡΠΎΡ Xchan Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Ρ (ΠΈΠ»ΠΈ webbie):" msgid "Not found." msgstr "ΠΠ΅ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ." -#: ../../Zotlabs/Module/Dreport.php:45 +#: ../../Zotlabs/Module/Dreport.php:56 msgid "Invalid message" msgstr "ΠΠ΅Π²Π΅ΡΠ½ΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅" -#: ../../Zotlabs/Module/Dreport.php:78 +#: ../../Zotlabs/Module/Dreport.php:89 msgid "no results" msgstr "ΠΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ." -#: ../../Zotlabs/Module/Dreport.php:93 +#: ../../Zotlabs/Module/Dreport.php:103 msgid "channel sync processed" msgstr "ΡΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ ΠΊΠ°Π½Π°Π»Π° Π·Π°Π²Π΅ΡΡΠ΅Π½Π°" -#: ../../Zotlabs/Module/Dreport.php:97 +#: ../../Zotlabs/Module/Dreport.php:107 msgid "queued" msgstr "Π² ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ" -#: ../../Zotlabs/Module/Dreport.php:101 +#: ../../Zotlabs/Module/Dreport.php:111 msgid "posted" msgstr "ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ΠΎ" -#: ../../Zotlabs/Module/Dreport.php:105 +#: ../../Zotlabs/Module/Dreport.php:115 msgid "accepted for delivery" msgstr "ΠΏΡΠΈΠ½ΡΡΠΎ ΠΊ Π΄ΠΎΡΡΠ°Π²ΠΊΠ΅" -#: ../../Zotlabs/Module/Dreport.php:109 +#: ../../Zotlabs/Module/Dreport.php:119 msgid "updated" msgstr "ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΎ" -#: ../../Zotlabs/Module/Dreport.php:112 +#: ../../Zotlabs/Module/Dreport.php:122 msgid "update ignored" msgstr "ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ³Π½ΠΎΡΠΈΡΡΠ΅ΡΡΡ" -#: ../../Zotlabs/Module/Dreport.php:115 +#: ../../Zotlabs/Module/Dreport.php:125 msgid "permission denied" msgstr "Π΄ΠΎΡΡΡΠΏ Π·Π°ΠΏΡΠ΅ΡΠ΅Π½" -#: ../../Zotlabs/Module/Dreport.php:119 +#: ../../Zotlabs/Module/Dreport.php:129 msgid "recipient not found" msgstr "ΠΏΠΎΠ»ΡΡΠ°ΡΠ΅Π»Ρ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½" -#: ../../Zotlabs/Module/Dreport.php:122 +#: ../../Zotlabs/Module/Dreport.php:132 msgid "mail recalled" msgstr "ΠΏΠΎΡΡΠ° ΠΎΡΠΎΠ·Π²Π°Π½Π°" -#: ../../Zotlabs/Module/Dreport.php:125 +#: ../../Zotlabs/Module/Dreport.php:135 msgid "duplicate mail received" msgstr "ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΎ Π΄ΡΠ±Π»ΠΈΡΡΡΡΠ΅Π΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅" -#: ../../Zotlabs/Module/Dreport.php:128 +#: ../../Zotlabs/Module/Dreport.php:138 msgid "mail delivered" msgstr "ΠΏΠΎΡΡΠ° Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½" -#: ../../Zotlabs/Module/Dreport.php:148 +#: ../../Zotlabs/Module/Dreport.php:158 #, php-format msgid "Delivery report for %1$s" msgstr "ΠΡΡΡΡ ΠΎ Π΄ΠΎΡΡΠ°Π²ΠΊΠ΅ Π΄Π»Ρ %1$s" -#: ../../Zotlabs/Module/Dreport.php:151 ../../Zotlabs/Widget/Wiki_pages.php:41 +#: ../../Zotlabs/Module/Dreport.php:161 ../../Zotlabs/Widget/Wiki_pages.php:41 #: ../../Zotlabs/Widget/Wiki_pages.php:98 msgid "Options" msgstr "ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ" -#: ../../Zotlabs/Module/Dreport.php:152 +#: ../../Zotlabs/Module/Dreport.php:162 msgid "Redeliver" msgstr "ΠΠΎΡΡΠ°Π²ΠΈΡΡ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ" @@ -4495,29 +4491,29 @@ msgstr "ΠΠΎΡΡΠ°Π²ΠΈΡΡ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ" msgid "No such group" msgstr "ΠΠ΅Ρ ΡΠ°ΠΊΠΎΠΉ Π³ΡΡΠΏΠΏΡ" -#: ../../Zotlabs/Module/Network.php:148 +#: ../../Zotlabs/Module/Network.php:149 msgid "No such channel" msgstr "ΠΠ΅Ρ ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΊΠ°Π½Π°Π»Π°" -#: ../../Zotlabs/Module/Network.php:163 ../../Zotlabs/Module/Channel.php:133 +#: ../../Zotlabs/Module/Network.php:164 ../../Zotlabs/Module/Channel.php:177 msgid "Search Results For:" msgstr "Π Π΅Π·ΡΠ»ΡΡΠ°ΡΡ ΠΏΠΎΠΈΡΠΊΠ° Π΄Π»Ρ:" -#: ../../Zotlabs/Module/Network.php:193 ../../Zotlabs/Module/Display.php:80 -#: ../../Zotlabs/Module/Pubstream.php:94 ../../Zotlabs/Module/Channel.php:168 +#: ../../Zotlabs/Module/Network.php:194 ../../Zotlabs/Module/Display.php:80 +#: ../../Zotlabs/Module/Pubstream.php:94 ../../Zotlabs/Module/Channel.php:212 #: ../../Zotlabs/Module/Hq.php:134 msgid "Reset form" msgstr "ΠΡΠΈΡΡΠΈΡΡ ΡΠΎΡΠΌΡ" -#: ../../Zotlabs/Module/Network.php:231 +#: ../../Zotlabs/Module/Network.php:233 msgid "Privacy group is empty" msgstr "ΠΡΡΠΏΠΏΠ° Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΠΏΡΡΡΠ°" -#: ../../Zotlabs/Module/Network.php:242 +#: ../../Zotlabs/Module/Network.php:243 msgid "Privacy group: " msgstr "ΠΡΡΠΏΠΏΠ° Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ: " -#: ../../Zotlabs/Module/Network.php:291 +#: ../../Zotlabs/Module/Network.php:316 #: ../../extend/addon/hzaddons/redred/redred.php:65 msgid "Invalid channel." msgstr "ΠΠ΅Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΊΠ°Π½Π°Π»." @@ -4559,40 +4555,40 @@ msgstr "ΠΠ±ΡΠΈΡ
ΠΊΠΎΠ½ΡΠ°ΠΊΡΠΎΠ² Π½Π΅Ρ." msgid "View Common Connections" msgstr "ΠΡΠΎΡΠΌΠΎΡΡ ΠΎΠ±ΡΠΈΠΉ ΠΊΠΎΠ½ΡΠ°ΠΊΡΠΎΠ²" -#: ../../Zotlabs/Module/Acl.php:359 +#: ../../Zotlabs/Module/Acl.php:360 msgid "network" msgstr "ΡΠ΅ΡΡ" -#: ../../Zotlabs/Module/Item.php:194 +#: ../../Zotlabs/Module/Item.php:196 msgid "Unable to locate original post." msgstr "ΠΠ΅ ΡΠ΄Π°Π»ΠΎΡΡ Π½Π°ΠΉΡΠΈ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΡΡ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΡ." -#: ../../Zotlabs/Module/Item.php:479 +#: ../../Zotlabs/Module/Item.php:483 msgid "Empty post discarded." msgstr "ΠΡΡΡΠ°Ρ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΡ ΠΎΡΠΊΠ»ΠΎΠ½Π΅Π½Π°." -#: ../../Zotlabs/Module/Item.php:866 +#: ../../Zotlabs/Module/Item.php:892 msgid "Duplicate post suppressed." msgstr "ΠΠΎΠ΄Π°Π²Π»Π΅Π½Π° Π΄ΡΠ±Π»ΠΈΡΡΡΡΠ°ΡΡΡ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΡ." -#: ../../Zotlabs/Module/Item.php:1011 +#: ../../Zotlabs/Module/Item.php:1037 msgid "System error. Post not saved." msgstr "Π‘ΠΈΡΡΠ΅ΠΌΠ½Π°Ρ ΠΎΡΠΈΠ±ΠΊΠ°. ΠΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΡ Π½Π΅ ΡΠΎΡ
ΡΠ°Π½Π΅Π½Π°." -#: ../../Zotlabs/Module/Item.php:1047 +#: ../../Zotlabs/Module/Item.php:1073 msgid "Your comment is awaiting approval." msgstr "ΠΠ°Ρ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ ΠΎΠΆΠΈΠ΄Π°Π΅Ρ ΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈΡ." -#: ../../Zotlabs/Module/Item.php:1164 +#: ../../Zotlabs/Module/Item.php:1190 msgid "Unable to obtain post information from database." msgstr "ΠΠ΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ ΠΈΠ· Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
" -#: ../../Zotlabs/Module/Item.php:1171 +#: ../../Zotlabs/Module/Item.php:1197 #, php-format msgid "You have reached your limit of %1$.0f top level posts." msgstr "ΠΡ Π΄ΠΎΡΡΠΈΠ³Π»ΠΈ Π²Π°ΡΠ΅Π³ΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π² %1$.0f ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΉ Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ." -#: ../../Zotlabs/Module/Item.php:1178 +#: ../../Zotlabs/Module/Item.php:1204 #, php-format msgid "You have reached your limit of %1$.0f webpages." msgstr "ΠΡ Π΄ΠΎΡΡΠΈΠ³Π»ΠΈ Π²Π°ΡΠ΅Π³ΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π² %1$.0f ΡΡΡΠ°Π½ΠΈΡ." @@ -4602,13 +4598,13 @@ msgid "Some blurb about what to do when you're new here" msgstr "ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ Π΄Π΅Π»Π°ΡΡ, Π΅ΡΠ»ΠΈ Π²Ρ Π·Π΄Π΅ΡΡ Π½ΠΎΠ²ΠΈΡΠΎΠΊ " #: ../../Zotlabs/Module/Display.php:29 ../../Zotlabs/Module/Directory.php:67 -#: ../../Zotlabs/Module/Directory.php:72 ../../Zotlabs/Module/Photos.php:545 +#: ../../Zotlabs/Module/Directory.php:72 ../../Zotlabs/Module/Photos.php:558 #: ../../Zotlabs/Module/Viewconnections.php:23 #: ../../Zotlabs/Module/Ratings.php:83 ../../Zotlabs/Module/Search.php:17 msgid "Public access denied." msgstr "ΠΡΠ±Π»ΠΈΡΠ½ΡΠΉ Π΄ΠΎΡΡΡΠΏ Π·Π°ΠΏΡΠ΅ΡΠ΅Π½." -#: ../../Zotlabs/Module/Display.php:374 ../../Zotlabs/Module/Channel.php:424 +#: ../../Zotlabs/Module/Display.php:374 ../../Zotlabs/Module/Channel.php:468 msgid "" "You must enable javascript for your browser to be able to view this content." msgstr "ΠΠ»Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΡΡΠΎΠ³ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ Π² Π²Π°ΡΠ΅ΠΌ Π±ΡΠ°ΡΠ·Π΅ΡΠ΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π²ΠΊΠ»ΡΡΡΠ½ JavaScript" @@ -4649,11 +4645,11 @@ msgstr "ΡΠΎΠ±ΡΡΠΈΠ΅ ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ΠΎ" msgid "shared a file with you" msgstr "Ρ Π²Π°ΠΌΠΈ ΠΏΠΎΠ΄Π΅Π»ΠΈΠ»ΠΈΡΡ ΡΠ°ΠΉΠ»ΠΎΠΌ" -#: ../../Zotlabs/Module/Ping.php:659 +#: ../../Zotlabs/Module/Ping.php:665 msgid "Private forum" msgstr "Π§Π°ΡΡΠ½ΡΠΉ ΡΠΎΡΡΠΌ" -#: ../../Zotlabs/Module/Ping.php:659 +#: ../../Zotlabs/Module/Ping.php:665 msgid "Public forum" msgstr "ΠΡΠ±Π»ΠΈΡΠ½ΡΠΉ ΡΠΎΡΡΠΌ" @@ -4858,13 +4854,13 @@ msgstr "ΠΠ°ΡΠ° ΠΈ Π²ΡΠ΅ΠΌΡ ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΡ" msgid "Description" msgstr "ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅" -#: ../../Zotlabs/Module/Cdav.php:924 ../../Zotlabs/Module/Photos.php:973 +#: ../../Zotlabs/Module/Cdav.php:924 ../../Zotlabs/Module/Photos.php:986 #: ../../Zotlabs/Module/Events.php:690 ../../Zotlabs/Module/Events.php:699 #: ../../Zotlabs/Module/Cal.php:338 ../../Zotlabs/Module/Cal.php:345 msgid "Previous" msgstr "ΠΡΠ΅Π΄ΡΠ΄ΡΡΠ°Ρ" -#: ../../Zotlabs/Module/Cdav.php:925 ../../Zotlabs/Module/Photos.php:982 +#: ../../Zotlabs/Module/Cdav.php:925 ../../Zotlabs/Module/Photos.php:995 #: ../../Zotlabs/Module/Events.php:691 ../../Zotlabs/Module/Events.php:700 #: ../../Zotlabs/Module/Cal.php:339 ../../Zotlabs/Module/Cal.php:346 #: ../../Zotlabs/Module/Setup.php:263 @@ -4920,49 +4916,49 @@ msgstr "Π£Π΄Π°Π»ΠΈΡΡ Π²ΡΡ" msgid "Sorry! Editing of recurrent events is not yet implemented." msgstr "ΠΡΠΎΡΡΠΈΡΠ΅, Π½ΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΠ²ΡΠΎΡΡΡΡΠΈΡ
ΡΡ ΡΠΎΠ±ΡΡΠΈΠΉ ΠΏΠΎΠΊΠ° Π½Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ." -#: ../../Zotlabs/Module/Cdav.php:1216 ../../Zotlabs/Module/Connedit.php:908 +#: ../../Zotlabs/Module/Cdav.php:1216 ../../Zotlabs/Module/Connedit.php:913 msgid "Organisation" msgstr "ΠΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡ" -#: ../../Zotlabs/Module/Cdav.php:1217 ../../Zotlabs/Module/Connedit.php:909 +#: ../../Zotlabs/Module/Cdav.php:1217 ../../Zotlabs/Module/Connedit.php:914 msgid "Title" msgstr "ΠΠ°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅" #: ../../Zotlabs/Module/Cdav.php:1218 ../../Zotlabs/Module/Profiles.php:786 -#: ../../Zotlabs/Module/Connedit.php:910 +#: ../../Zotlabs/Module/Connedit.php:915 msgid "Phone" msgstr "Π’Π΅Π»Π΅ΡΠΎΠ½" #: ../../Zotlabs/Module/Cdav.php:1220 ../../Zotlabs/Module/Profiles.php:788 -#: ../../Zotlabs/Module/Connedit.php:912 +#: ../../Zotlabs/Module/Connedit.php:917 msgid "Instant messenger" msgstr "ΠΠ΅ΡΡΠ΅Π½Π΄ΠΆΠ΅Ρ" #: ../../Zotlabs/Module/Cdav.php:1221 ../../Zotlabs/Module/Profiles.php:789 -#: ../../Zotlabs/Module/Connedit.php:913 +#: ../../Zotlabs/Module/Connedit.php:918 msgid "Website" msgstr "ΠΠ΅Π±-ΡΠ°ΠΉΡ" #: ../../Zotlabs/Module/Cdav.php:1222 ../../Zotlabs/Module/Profiles.php:502 #: ../../Zotlabs/Module/Profiles.php:790 ../../Zotlabs/Module/Locs.php:118 #: ../../Zotlabs/Module/Admin/Channels.php:160 -#: ../../Zotlabs/Module/Connedit.php:914 +#: ../../Zotlabs/Module/Connedit.php:919 msgid "Address" msgstr "ΠΠ΄ΡΠ΅Ρ" #: ../../Zotlabs/Module/Cdav.php:1223 ../../Zotlabs/Module/Profiles.php:791 -#: ../../Zotlabs/Module/Connedit.php:915 +#: ../../Zotlabs/Module/Connedit.php:920 msgid "Note" msgstr "ΠΠ°ΠΌΠ΅ΡΠΊΠ°" #: ../../Zotlabs/Module/Cdav.php:1228 ../../Zotlabs/Module/Profiles.php:796 -#: ../../Zotlabs/Module/Connedit.php:920 +#: ../../Zotlabs/Module/Connedit.php:925 #: ../../extend/addon/hzaddons/jappixmini/jappixmini.php:368 msgid "Add Contact" msgstr "ΠΠΎΠ±Π°Π²ΠΈΡΡ ΠΊΠΎΠ½ΡΠ°ΠΊΡ" #: ../../Zotlabs/Module/Cdav.php:1229 ../../Zotlabs/Module/Profiles.php:797 -#: ../../Zotlabs/Module/Connedit.php:921 +#: ../../Zotlabs/Module/Connedit.php:926 msgid "Add Field" msgstr "ΠΠΎΠ±Π°Π²ΠΈΡΡ ΠΏΠΎΠ»Π΅" @@ -4970,36 +4966,36 @@ msgstr "ΠΠΎΠ±Π°Π²ΠΈΡΡ ΠΏΠΎΠ»Π΅" #: ../../Zotlabs/Module/Oauth.php:53 ../../Zotlabs/Module/Oauth.php:137 #: ../../Zotlabs/Module/Oauth2.php:58 ../../Zotlabs/Module/Oauth2.php:144 #: ../../Zotlabs/Module/Admin/Addons.php:453 -#: ../../Zotlabs/Module/Connedit.php:923 ../../Zotlabs/Lib/Apps.php:513 +#: ../../Zotlabs/Module/Connedit.php:928 ../../Zotlabs/Lib/Apps.php:513 msgid "Update" msgstr "ΠΠ±Π½ΠΎΠ²ΠΈΡΡ" -#: ../../Zotlabs/Module/Cdav.php:1234 ../../Zotlabs/Module/Connedit.php:926 +#: ../../Zotlabs/Module/Cdav.php:1234 ../../Zotlabs/Module/Connedit.php:931 msgid "P.O. Box" msgstr "Π°Π±ΠΎΠ½Π΅Π½ΡΡΠΊΠΈΠΉ ΡΡΠΈΠΊ" -#: ../../Zotlabs/Module/Cdav.php:1235 ../../Zotlabs/Module/Connedit.php:927 +#: ../../Zotlabs/Module/Cdav.php:1235 ../../Zotlabs/Module/Connedit.php:932 msgid "Additional" msgstr "ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ" -#: ../../Zotlabs/Module/Cdav.php:1236 ../../Zotlabs/Module/Connedit.php:928 +#: ../../Zotlabs/Module/Cdav.php:1236 ../../Zotlabs/Module/Connedit.php:933 msgid "Street" msgstr "Π£Π»ΠΈΡΠ°" -#: ../../Zotlabs/Module/Cdav.php:1237 ../../Zotlabs/Module/Connedit.php:929 +#: ../../Zotlabs/Module/Cdav.php:1237 ../../Zotlabs/Module/Connedit.php:934 msgid "Locality" msgstr "ΠΠ°ΡΠ΅Π»ΡΠ½Π½ΡΠΉ ΠΏΡΠ½ΠΊΡ" -#: ../../Zotlabs/Module/Cdav.php:1238 ../../Zotlabs/Module/Connedit.php:930 +#: ../../Zotlabs/Module/Cdav.php:1238 ../../Zotlabs/Module/Connedit.php:935 msgid "Region" msgstr "Π Π΅Π³ΠΈΠΎΠ½" -#: ../../Zotlabs/Module/Cdav.php:1239 ../../Zotlabs/Module/Connedit.php:931 +#: ../../Zotlabs/Module/Cdav.php:1239 ../../Zotlabs/Module/Connedit.php:936 msgid "ZIP Code" msgstr "ΠΠ½Π΄Π΅ΠΊΡ" #: ../../Zotlabs/Module/Cdav.php:1240 ../../Zotlabs/Module/Profiles.php:757 -#: ../../Zotlabs/Module/Connedit.php:932 +#: ../../Zotlabs/Module/Connedit.php:937 msgid "Country" msgstr "Π‘ΡΡΠ°Π½Π°" @@ -5011,12 +5007,12 @@ msgstr "ΠΠ°Π»Π΅Π½Π΄Π°ΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ" msgid "Default Addressbook" msgstr "ΠΠ΄ΡΠ΅ΡΠ½Π°Ρ ΠΊΠ½ΠΈΠ³Π° ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ" -#: ../../Zotlabs/Module/Profile.php:45 ../../Zotlabs/Module/Channel.php:54 +#: ../../Zotlabs/Module/Profile.php:45 ../../Zotlabs/Module/Channel.php:98 #: ../../Zotlabs/Module/Hcard.php:37 msgid "Posts and comments" msgstr "ΠΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ ΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ" -#: ../../Zotlabs/Module/Profile.php:52 ../../Zotlabs/Module/Channel.php:61 +#: ../../Zotlabs/Module/Profile.php:52 ../../Zotlabs/Module/Channel.php:105 #: ../../Zotlabs/Module/Hcard.php:44 msgid "Only posts" msgstr "Π’ΠΎΠ»ΡΠΊΠΎ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ" @@ -5026,7 +5022,7 @@ msgid "vcard" msgstr "vCard" #: ../../Zotlabs/Module/Ochannel.php:32 ../../Zotlabs/Module/Chat.php:31 -#: ../../Zotlabs/Module/Channel.php:39 +#: ../../Zotlabs/Module/Channel.php:41 #: ../../extend/addon/hzaddons/chess/chess.php:508 msgid "You must be logged in to see this page." msgstr "ΠΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π°Π²ΡΠΎΡΠΈΠ·ΠΎΠ²Π°ΡΡΡΡ, ΡΡΠΎΠ±Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΡΡΡ ΡΡΡΠ°Π½ΠΈΡΡ." @@ -5039,12 +5035,12 @@ msgstr "ΠΠ΅Ρ Π½ΠΎΠ²ΡΡ
ΠΎΠΏΠΎΠ²Π΅ΡΠ΅Π½ΠΈΠΉ ΡΠΈΡΡΠ΅ΠΌΡ." msgid "System Notifications" msgstr "Π‘ΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ ΠΎΠΏΠΎΠ²Π΅ΡΠ΅Π½ΠΈΡ " -#: ../../Zotlabs/Module/Impel.php:183 +#: ../../Zotlabs/Module/Impel.php:185 #, php-format msgid "%s element installed" msgstr "%s ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½" -#: ../../Zotlabs/Module/Impel.php:186 +#: ../../Zotlabs/Module/Impel.php:188 #, php-format msgid "%s element installation failed" msgstr "%sΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π½Π΅ΡΠ΄Π°ΡΠ½Π°." @@ -5179,23 +5175,15 @@ msgstr "ΠΠ»ΠΈΠ·ΠΊΠΈΠ΅ ΠΊ ΠΏΡΠΎΡΡΠΎΡΠΊΠ΅ Π°ΠΊΠΊΠ°ΡΠ½ΡΡ" msgid "Channels" msgstr "ΠΠ°Π½Π°Π»Ρ" -#: ../../Zotlabs/Module/Admin.php:115 ../../Zotlabs/Module/Locs.php:119 -msgid "Primary" -msgstr "ΠΡΠ½ΠΎΠ²Π½ΠΎΠΉ" - -#: ../../Zotlabs/Module/Admin.php:116 -msgid "Clones" -msgstr "ΠΠ»ΠΎΠ½Ρ" - -#: ../../Zotlabs/Module/Admin.php:122 +#: ../../Zotlabs/Module/Admin.php:120 msgid "Message queues" msgstr "ΠΡΠ΅ΡΠ΅Π΄Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ" -#: ../../Zotlabs/Module/Admin.php:136 +#: ../../Zotlabs/Module/Admin.php:134 msgid "Your software should be updated" msgstr "ΠΠ°ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΎ" -#: ../../Zotlabs/Module/Admin.php:140 ../../Zotlabs/Module/Admin/Logs.php:82 +#: ../../Zotlabs/Module/Admin.php:138 ../../Zotlabs/Module/Admin/Logs.php:82 #: ../../Zotlabs/Module/Admin/Channels.php:145 #: ../../Zotlabs/Module/Admin/Security.php:92 #: ../../Zotlabs/Module/Admin/Addons.php:341 @@ -5207,35 +5195,35 @@ msgstr "ΠΠ°ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ msgid "Administration" msgstr "ΠΠ΄ΠΌΠΈΠ½ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅" -#: ../../Zotlabs/Module/Admin.php:141 +#: ../../Zotlabs/Module/Admin.php:139 msgid "Summary" msgstr "Π Π΅Π·ΡΠΌΠ΅" -#: ../../Zotlabs/Module/Admin.php:144 +#: ../../Zotlabs/Module/Admin.php:142 msgid "Registered accounts" msgstr "ΠΠ°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π°ΠΊΠΊΠ°ΡΠ½ΡΡ" -#: ../../Zotlabs/Module/Admin.php:145 +#: ../../Zotlabs/Module/Admin.php:143 msgid "Pending registrations" msgstr "ΠΠ΄ΡΡ ΡΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΡ" -#: ../../Zotlabs/Module/Admin.php:146 +#: ../../Zotlabs/Module/Admin.php:144 msgid "Registered channels" msgstr "ΠΠ°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΊΠ°Π½Π°Π»Ρ" -#: ../../Zotlabs/Module/Admin.php:147 +#: ../../Zotlabs/Module/Admin.php:145 msgid "Active addons" msgstr "ΠΠΊΡΠΈΠ²Π½ΡΠ΅ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ" -#: ../../Zotlabs/Module/Admin.php:148 +#: ../../Zotlabs/Module/Admin.php:146 msgid "Version" msgstr "ΠΠ΅ΡΡΠΈΡ ΡΠΈΡΡΠ΅ΠΌΡ" -#: ../../Zotlabs/Module/Admin.php:149 +#: ../../Zotlabs/Module/Admin.php:147 msgid "Repository version (master)" msgstr "ΠΠ΅ΡΡΠΈΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ (master)" -#: ../../Zotlabs/Module/Admin.php:150 +#: ../../Zotlabs/Module/Admin.php:148 msgid "Repository version (dev)" msgstr "ΠΠ΅ΡΡΠΈΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ (dev)" @@ -5511,173 +5499,173 @@ msgstr "ΠΠ»ΡΠ±ΠΎΠΌ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½." msgid "Delete Album" msgstr "Π£Π΄Π°Π»ΠΈΡΡ Π°Π»ΡΠ±ΠΎΠΌ" -#: ../../Zotlabs/Module/Photos.php:174 ../../Zotlabs/Module/Photos.php:1085 +#: ../../Zotlabs/Module/Photos.php:174 ../../Zotlabs/Module/Photos.php:1098 msgid "Delete Photo" msgstr "Π£Π΄Π°Π»ΠΈΡΡ ΡΠΎΡΠΎΠ³ΡΠ°ΡΠΈΡ" -#: ../../Zotlabs/Module/Photos.php:556 +#: ../../Zotlabs/Module/Photos.php:569 msgid "No photos selected" msgstr "ΠΠΈΠΊΠ°ΠΊΠΈΠ΅ ΡΠΎΡΠΎΠ³ΡΠ°ΡΠΈΠΈ Π½Π΅ Π²ΡΠ±ΡΠ°Π½Ρ" -#: ../../Zotlabs/Module/Photos.php:605 +#: ../../Zotlabs/Module/Photos.php:618 msgid "Access to this item is restricted." msgstr "ΠΠΎΡΡΡΠΏ ΠΊ ΡΡΠΎΠΌΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½." -#: ../../Zotlabs/Module/Photos.php:648 +#: ../../Zotlabs/Module/Photos.php:661 #, php-format msgid "%1$.2f MB of %2$.2f MB photo storage used." msgstr "ΠΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ %1$.2f ΠΌΠ΅Π³Π°Π±Π°ΠΉΡ ΠΈΠ· %2$.2f Π΄Π»Ρ Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ ΡΠΎΡΠΎ." -#: ../../Zotlabs/Module/Photos.php:651 +#: ../../Zotlabs/Module/Photos.php:664 #, php-format msgid "%1$.2f MB photo storage used." msgstr "ΠΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ %1$.2f ΠΌΠ΅Π³Π°Π±Π°ΠΉΡ Π΄Π»Ρ Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ ΡΠΎΡΠΎ." -#: ../../Zotlabs/Module/Photos.php:693 +#: ../../Zotlabs/Module/Photos.php:706 msgid "Upload Photos" msgstr "ΠΠ°Π³ΡΡΠ·ΠΈΡΡ ΡΠΎΡΠΎΠ³ΡΠ°ΡΠΈΠΈ" -#: ../../Zotlabs/Module/Photos.php:697 +#: ../../Zotlabs/Module/Photos.php:710 msgid "Enter an album name" msgstr "ΠΠ²Π΅Π΄ΠΈΡΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π°Π»ΡΠ±ΠΎΠΌΠ°" -#: ../../Zotlabs/Module/Photos.php:698 +#: ../../Zotlabs/Module/Photos.php:711 msgid "or select an existing album (doubleclick)" msgstr "ΠΈΠ»ΠΈ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΉ Π°Π»ΡΠ±ΠΎΠΌ (Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ ΡΠ΅Π»ΡΠΎΠΊ)" -#: ../../Zotlabs/Module/Photos.php:699 +#: ../../Zotlabs/Module/Photos.php:712 msgid "Create a status post for this upload" msgstr "Π‘Π΄Π΅Π»Π°ΡΡ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΡ ΠΎ ΡΡΠ°ΡΡΡΠ΅ Π΄Π»Ρ ΡΡΠΎΠΉ Π·Π°Π³ΡΡΠ·ΠΊΠΈ" -#: ../../Zotlabs/Module/Photos.php:701 +#: ../../Zotlabs/Module/Photos.php:714 msgid "Description (optional)" msgstr "ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ (Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ)" -#: ../../Zotlabs/Module/Photos.php:787 +#: ../../Zotlabs/Module/Photos.php:800 msgid "Show Newest First" msgstr "ΠΠΎΠΊΠ°Π·Π°ΡΡ Π½ΠΎΠ²ΡΠ΅ ΠΏΠ΅ΡΠ²ΡΠΌΠΈ" -#: ../../Zotlabs/Module/Photos.php:789 +#: ../../Zotlabs/Module/Photos.php:802 msgid "Show Oldest First" msgstr "ΠΠΎΠΊΠ°Π·Π°ΡΡ ΡΡΠ°ΡΡΠ΅ ΠΏΠ΅ΡΠ²ΡΠΌΠΈ" -#: ../../Zotlabs/Module/Photos.php:813 ../../Zotlabs/Module/Photos.php:1352 +#: ../../Zotlabs/Module/Photos.php:826 ../../Zotlabs/Module/Photos.php:1365 #: ../../Zotlabs/Module/Embedphotos.php:140 #: ../../Zotlabs/Widget/Portfolio.php:87 ../../Zotlabs/Widget/Album.php:78 msgid "View Photo" msgstr "ΠΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠΎΡΠΎΠ³ΡΠ°ΡΠΈΡ" -#: ../../Zotlabs/Module/Photos.php:844 ../../Zotlabs/Module/Embedphotos.php:156 +#: ../../Zotlabs/Module/Photos.php:857 ../../Zotlabs/Module/Embedphotos.php:156 #: ../../Zotlabs/Widget/Portfolio.php:108 ../../Zotlabs/Widget/Album.php:95 msgid "Edit Album" msgstr "Π Π΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π€ΠΎΡΠΎΠ°Π»ΡΠ±ΠΎΠΌ" -#: ../../Zotlabs/Module/Photos.php:846 ../../Zotlabs/Module/Photos.php:1383 +#: ../../Zotlabs/Module/Photos.php:859 ../../Zotlabs/Module/Photos.php:1396 msgid "Add Photos" msgstr "ΠΠΎΠ±Π°Π²ΠΈΡΡ ΡΠΎΡΠΎΠ³ΡΠ°ΡΠΈΠΈ" -#: ../../Zotlabs/Module/Photos.php:894 +#: ../../Zotlabs/Module/Photos.php:907 msgid "Permission denied. Access to this item may be restricted." msgstr "ΠΠΎΡΡΡΠΏ Π·Π°ΠΏΡΠ΅ΡΠ΅Π½. ΠΠΎΡΡΡΠΏ ΠΊ ΡΡΠΎΠΌΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½." -#: ../../Zotlabs/Module/Photos.php:896 +#: ../../Zotlabs/Module/Photos.php:909 msgid "Photo not available" msgstr "Π€ΠΎΡΠΎΠ³ΡΠ°ΡΠΈΡ Π½Π΅ Π΄ΠΎΡΡΡΠΏΠ½Π°" -#: ../../Zotlabs/Module/Photos.php:954 +#: ../../Zotlabs/Module/Photos.php:967 msgid "Use as profile photo" msgstr "ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠΎΡΠΎΠ³ΡΠ°ΡΠΈΠΈ ΠΏΡΠΎΡΠΈΠ»Ρ" -#: ../../Zotlabs/Module/Photos.php:955 +#: ../../Zotlabs/Module/Photos.php:968 msgid "Use as cover photo" msgstr "ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠΎΡΠΎΠ³ΡΠ°ΡΠΈΠΈ ΠΎΠ±Π»ΠΎΠΆΠΊΠΈ" -#: ../../Zotlabs/Module/Photos.php:962 +#: ../../Zotlabs/Module/Photos.php:975 msgid "Private Photo" msgstr "ΠΠΈΡΠ½Π°Ρ ΡΠΎΡΠΎΠ³ΡΠ°ΡΠΈΡ" -#: ../../Zotlabs/Module/Photos.php:977 +#: ../../Zotlabs/Module/Photos.php:990 msgid "View Full Size" msgstr "ΠΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π² ΠΏΠΎΠ»Π½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ" -#: ../../Zotlabs/Module/Photos.php:1022 ../../Zotlabs/Module/Tagrm.php:137 +#: ../../Zotlabs/Module/Photos.php:1035 ../../Zotlabs/Module/Tagrm.php:137 #: ../../Zotlabs/Module/Admin/Addons.php:455 #: ../../extend/addon/hzaddons/superblock/Mod_Superblock.php:91 msgid "Remove" msgstr "Π£Π΄Π°Π»ΠΈΡΡ" -#: ../../Zotlabs/Module/Photos.php:1059 +#: ../../Zotlabs/Module/Photos.php:1072 msgid "Edit photo" msgstr "Π Π΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΡΠΎΠ³ΡΠ°ΡΠΈΡ" -#: ../../Zotlabs/Module/Photos.php:1061 +#: ../../Zotlabs/Module/Photos.php:1074 msgid "Rotate CW (right)" msgstr "ΠΠΎΠ²Π΅ΡΠ½ΡΡΡ CW (Π½Π°ΠΏΡΠ°Π²ΠΎ)" -#: ../../Zotlabs/Module/Photos.php:1062 +#: ../../Zotlabs/Module/Photos.php:1075 msgid "Rotate CCW (left)" msgstr "ΠΠΎΠ²Π΅ΡΠ½ΡΡΡ CCW (Π½Π°Π»Π΅Π²ΠΎ)" -#: ../../Zotlabs/Module/Photos.php:1065 +#: ../../Zotlabs/Module/Photos.php:1078 msgid "Move photo to album" msgstr "ΠΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΡΡ ΡΠΎΡΠΎΠ³ΡΠ°ΡΠΈΡ Π² Π°Π»ΡΠ±ΠΎΠΌ" -#: ../../Zotlabs/Module/Photos.php:1066 +#: ../../Zotlabs/Module/Photos.php:1079 msgid "Enter a new album name" msgstr "ΠΠ²Π΅Π΄ΠΈΡΠ΅ Π½ΠΎΠ²ΠΎΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π°Π»ΡΠ±ΠΎΠΌΠ°" -#: ../../Zotlabs/Module/Photos.php:1067 +#: ../../Zotlabs/Module/Photos.php:1080 msgid "or select an existing one (doubleclick)" msgstr "ΠΈΠ»ΠΈ Π²ΡΠ±ΡΠ°ΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΡΡ (Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ ΡΠ΅Π»ΡΠΎΠΊ)" -#: ../../Zotlabs/Module/Photos.php:1072 +#: ../../Zotlabs/Module/Photos.php:1085 msgid "Add a Tag" msgstr "ΠΠΎΠ±Π°Π²ΠΈΡΡ ΡΠ΅Π³" -#: ../../Zotlabs/Module/Photos.php:1080 +#: ../../Zotlabs/Module/Photos.php:1093 msgid "Example: @bob, @Barbara_Jensen, @jim@example.com" msgstr "ΠΡΠΈΠΌΠ΅Ρ: @bob, @Barbara_Jensen, @jim@example.com" -#: ../../Zotlabs/Module/Photos.php:1083 +#: ../../Zotlabs/Module/Photos.php:1096 msgid "Flag as adult in album view" msgstr "ΠΠΎΠΌΠ΅ΡΠΈΡΡ ΠΊΠ°ΠΊ Π°Π»ΡΠ±ΠΎΠΌ \"Π΄Π»Ρ Π²Π·ΡΠΎΡΠ»ΡΡ
\"" -#: ../../Zotlabs/Module/Photos.php:1102 ../../Zotlabs/Lib/ThreadItem.php:289 +#: ../../Zotlabs/Module/Photos.php:1115 ../../Zotlabs/Lib/ThreadItem.php:289 msgid "I like this (toggle)" msgstr "ΠΌΠ½Π΅ ΡΡΠΎ Π½ΡΠ°Π²ΠΈΡΡΡ (ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅)" -#: ../../Zotlabs/Module/Photos.php:1103 ../../Zotlabs/Lib/ThreadItem.php:290 +#: ../../Zotlabs/Module/Photos.php:1116 ../../Zotlabs/Lib/ThreadItem.php:290 msgid "I don't like this (toggle)" msgstr "ΠΌΠ½Π΅ ΡΡΠΎ Π½Π΅ Π½ΡΠ°Π²ΠΈΡΡΡ (ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅)" -#: ../../Zotlabs/Module/Photos.php:1121 ../../Zotlabs/Module/Photos.php:1239 -#: ../../Zotlabs/Lib/ThreadItem.php:764 +#: ../../Zotlabs/Module/Photos.php:1134 ../../Zotlabs/Module/Photos.php:1252 +#: ../../Zotlabs/Lib/ThreadItem.php:767 msgid "This is you" msgstr "ΠΡΠΎ Π²Ρ" -#: ../../Zotlabs/Module/Photos.php:1158 ../../Zotlabs/Module/Photos.php:1170 +#: ../../Zotlabs/Module/Photos.php:1171 ../../Zotlabs/Module/Photos.php:1183 #: ../../Zotlabs/Lib/ThreadItem.php:214 ../../Zotlabs/Lib/ThreadItem.php:226 msgid "View all" msgstr "ΠΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π²ΡΠ΅" -#: ../../Zotlabs/Module/Photos.php:1267 +#: ../../Zotlabs/Module/Photos.php:1280 msgid "Photo Tools" msgstr "Π€ΠΎΡΠΎ-ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ" -#: ../../Zotlabs/Module/Photos.php:1276 +#: ../../Zotlabs/Module/Photos.php:1289 msgid "In This Photo:" msgstr "ΠΠ° ΡΡΠΎΠΉ ΡΠΎΡΠΎΠ³ΡΠ°ΡΠΈΠΈ:" -#: ../../Zotlabs/Module/Photos.php:1281 +#: ../../Zotlabs/Module/Photos.php:1294 msgid "Map" msgstr "ΠΠ°ΡΡΠ°" -#: ../../Zotlabs/Module/Photos.php:1289 ../../Zotlabs/Lib/ThreadItem.php:429 +#: ../../Zotlabs/Module/Photos.php:1302 ../../Zotlabs/Lib/ThreadItem.php:432 msgctxt "noun" msgid "Likes" msgstr "ΠΡΠ°Π²ΠΈΡΡΡ" -#: ../../Zotlabs/Module/Photos.php:1290 ../../Zotlabs/Lib/ThreadItem.php:430 +#: ../../Zotlabs/Module/Photos.php:1303 ../../Zotlabs/Lib/ThreadItem.php:433 msgctxt "noun" msgid "Dislikes" msgstr "ΠΠ΅ Π½ΡΠ°Π²ΠΈΡΡΡ" @@ -6444,6 +6432,10 @@ msgstr "ΠΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ" msgid "Manage Channel Locations" msgstr "Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΊΠ°Π½Π°Π»Π°" +#: ../../Zotlabs/Module/Locs.php:119 +msgid "Primary" +msgstr "ΠΡΠ½ΠΎΠ²Π½ΠΎΠΉ" + #: ../../Zotlabs/Module/Locs.php:120 ../../Zotlabs/Module/Menu.php:176 msgid "Drop" msgstr "Π£Π΄Π°Π»ΠΈΡΡ" @@ -7410,7 +7402,7 @@ msgstr "Π Π΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π±Π»ΠΎΠΊ" msgid "No service class restrictions found." msgstr "ΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ ΠΊΠ»Π°ΡΡΠ° ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΠ΅ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ." -#: ../../Zotlabs/Module/Channel.php:116 +#: ../../Zotlabs/Module/Channel.php:160 msgid "Insufficient permissions. Request redirected to profile page." msgstr "ΠΠ΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠ°Π². ΠΠ°ΠΏΡΠΎΡ ΠΏΠ΅ΡΠ΅Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ Π½Π° ΡΡΡΠ°Π½ΠΈΡΡ ΠΏΡΠΎΡΠΈΠ»Ρ." @@ -7519,44 +7511,44 @@ msgstr "ΠΠ°Π½Π°Π» Π½Π΅Π΄ΠΎΡΡΡΠΏΠ΅Π½." msgid "Previous action reversed." msgstr "ΠΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΎΡΠΌΠ΅Π½Π΅Π½ΠΎ." -#: ../../Zotlabs/Module/Like.php:442 +#: ../../Zotlabs/Module/Like.php:445 #, php-format msgid "%1$s agrees with %2$s's %3$s" msgstr "%1$s ΡΠΎΠ³Π»Π°ΡΠ΅Π½ Ρ %2$s %3$s" -#: ../../Zotlabs/Module/Like.php:444 +#: ../../Zotlabs/Module/Like.php:447 #, 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:446 +#: ../../Zotlabs/Module/Like.php:449 #, 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:448 -#: ../../extend/addon/hzaddons/diaspora/Receiver.php:2111 +#: ../../Zotlabs/Module/Like.php:451 +#: ../../extend/addon/hzaddons/diaspora/Receiver.php:2120 #, php-format msgid "%1$s is attending %2$s's %3$s" msgstr "%1$s ΠΏΠΎΡΠ΅ΡΠ°Π΅Ρ %2$s%3$s" -#: ../../Zotlabs/Module/Like.php:450 -#: ../../extend/addon/hzaddons/diaspora/Receiver.php:2113 +#: ../../Zotlabs/Module/Like.php:453 +#: ../../extend/addon/hzaddons/diaspora/Receiver.php:2122 #, php-format msgid "%1$s is not attending %2$s's %3$s" msgstr "%1$s Π½Π΅ ΠΏΠΎΡΠ΅ΡΠ°Π΅Ρ %2$s%3$s" -#: ../../Zotlabs/Module/Like.php:452 -#: ../../extend/addon/hzaddons/diaspora/Receiver.php:2115 +#: ../../Zotlabs/Module/Like.php:455 +#: ../../extend/addon/hzaddons/diaspora/Receiver.php:2124 #, php-format msgid "%1$s may attend %2$s's %3$s" msgstr "%1$s ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΠ΅ΡΠΈΡΡ %2$s%3$s" -#: ../../Zotlabs/Module/Like.php:564 +#: ../../Zotlabs/Module/Like.php:566 msgid "Action completed." msgstr "ΠΠ΅ΠΉΡΡΠ²ΠΈΠ΅ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΎ." -#: ../../Zotlabs/Module/Like.php:565 +#: ../../Zotlabs/Module/Like.php:567 msgid "Thank you." msgstr "Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ." @@ -8148,14 +8140,14 @@ msgstr "Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ Π΄ΠΎΡΡΡΠΏΠ½ΠΎ Π΄Π»Ρ Π·Π°ΠΏΠΈΡΠΈ" msgid "" "SSL certificate cannot be validated. Fix certificate or disable https access " "to this site." -msgstr "" +msgstr "SSL certificate cannot be validated. ΠΠ°ΠΌΠ΅Π½ΠΈΡΠ΅ Π΅Π³ΠΎ ΠΈΠ»ΠΈ ΠΎΡΠΊΠ»ΡΡΠΈΡΠ΅ https Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΡΠΎΠΌΡ ΡΠ°ΠΉΡΡ." #: ../../Zotlabs/Module/Setup.php:659 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 "" +msgstr "ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅ΡΡΡ https-Π΄ΠΎΡΡΡΠΏ ΠΊ Π²Π°ΡΠ΅ΠΌΡ ΡΠ°ΠΉΡΡ ΠΈΠ»ΠΈ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊ TCP-ΠΏΠΎΡΡΡ 443 (ΠΏΠΎΡΡ https), Π²Ρ ΠΠΠΠΠΠ« ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ, Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ Π΄Π»Ρ Π±ΡΠ°ΡΠ·Π΅ΡΠ°. ΠΡ ΠΠ ΠΠΠΠΠΠ« ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ°ΠΌΠΎΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½Π½ΡΠ΅ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΡ!" #: ../../Zotlabs/Module/Setup.php:660 msgid "" @@ -8168,18 +8160,18 @@ 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 "" +msgstr "ΠΡΠ»ΠΈ Π²Π°Ρ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ Π½Π΅ ΠΏΡΠΈΠ·Π½Π°Π½, ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ Π΄ΡΡΠ³ΠΈΡ
ΡΠ°ΠΉΡΠΎΠ² (ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΡΠ°ΠΌΠΈ ΠΈΠΌΠ΅ΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΡ) ΠΏΠΎΠ»ΡΡΠ°Ρ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π°ΡΡΠ΅Π΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°Ρ
Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡΡ." #: ../../Zotlabs/Module/Setup.php:662 msgid "" "This can cause usability issues elsewhere (not just on your own site) so we " "must insist on this requirement." -msgstr "" +msgstr "ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΠΌ ΡΠ΄ΠΎΠ±ΡΡΠ²Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ· Π΄ΡΡΠ³ΠΈΡ
ΠΌΠ΅ΡΡ (Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° Π²Π°ΡΠ΅ΠΌ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠΌ ΡΠ°ΠΉΡΠ΅), ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΡ Π½Π°ΡΡΠ°ΠΈΠ²Π°Π΅ΠΌ Π½Π° ΡΡΠΎΠΌ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠΈ." #: ../../Zotlabs/Module/Setup.php:663 msgid "" "Providers are available that issue free certificates which are browser-valid." -msgstr "" +msgstr "ΠΠΎΡΡΡΠΏΠ½Ρ ΠΏΠΎΡΡΠ°Π²ΡΠΈΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΠ΄Π°ΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π΄Π»Ρ Π±ΡΠ°ΡΠ·Π΅ΡΠ° Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΠ΅ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΡ." #: ../../Zotlabs/Module/Setup.php:665 msgid "" @@ -8187,17 +8179,17 @@ msgid "" "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 "" +msgstr "ΠΡΠ»ΠΈ Π²Ρ ΡΠ²Π΅ΡΠ΅Π½Ρ, ΡΡΠΎ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»Π΅Π½ ΠΈ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½ Π΄ΠΎΠ²Π΅ΡΠ΅Π½Π½ΡΠΌ ΠΎΡΠ³Π°Π½ΠΎΠΌ, ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅, ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Π»ΠΈ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΡΠ΅ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΡ. ΠΠ±ΡΡΠ½ΠΎ ΠΎΠ½ΠΈ Π½Π΅ ΡΡΠ΅Π±ΡΡΡΡΡ Π±ΡΠ°ΡΠ·Π΅ΡΠ°ΠΌΠΈ, Π½ΠΎ Π±ΡΠ²Π°ΡΡ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡ Π΄Π»Ρ ΡΠ²ΡΠ·ΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅ΡΠ²Π΅ΡΠ°ΠΌΠΈ." #: ../../Zotlabs/Module/Setup.php:667 msgid "SSL certificate validation" -msgstr "" +msgstr "ΠΡΠΎΠ²Π΅ΡΠΊΠ° SSL ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠ°" #: ../../Zotlabs/Module/Setup.php:673 msgid "" "Url rewrite in .htaccess is not working. Check your server configuration." "Test: " -msgstr "" +msgstr "ΠΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΡ URL Π² .htaccess Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ. ΠΡΠΎΠ²Π΅ΡΡΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π²Π°ΡΠ΅Π³ΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ°." #: ../../Zotlabs/Module/Setup.php:676 msgid "Url rewrite is working" @@ -8208,7 +8200,7 @@ 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 "" +msgstr "Π€Π°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
\".htconfig.php\" Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π·Π°ΠΏΠΈΡΠ°Π½. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΏΡΠΈΠ»Π°Π³Π°Π΅ΠΌΡΠΉ ΡΠ΅ΠΊΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ°ΠΉΠ»Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π² ΠΊΠΎΡΠ½Π΅Π²ΠΎΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅ΡΠ°." #: ../../Zotlabs/Module/Setup.php:714 #: ../../extend/addon/hzaddons/rendezvous/rendezvous.php:401 @@ -8953,7 +8945,7 @@ msgstr "ΠΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠ±Π»ΠΈΡΠ½ΡΠ΅ ΠΏΠΎΡΠΎΠΊΠΈ #: ../../Zotlabs/Module/Admin/Site.php:323 #: ../../Zotlabs/Module/Admin/Site.php:324 -#: ../../Zotlabs/Module/Connedit.php:876 ../../Zotlabs/Module/Connedit.php:877 +#: ../../Zotlabs/Module/Connedit.php:881 ../../Zotlabs/Module/Connedit.php:882 msgid "" "words one per line or #tags or /patterns/ or lang=xx, leave blank to import " "all posts" @@ -9298,12 +9290,12 @@ msgid "No registrations." msgstr "ΠΠ΅Ρ Π½ΠΎΠ²ΡΡ
ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΉ." #: ../../Zotlabs/Module/Admin/Accounts.php:176 -#: ../../Zotlabs/Module/Connedit.php:623 +#: ../../Zotlabs/Module/Connedit.php:628 msgid "Block" msgstr "ΠΠ»ΠΎΠΊΠΈΡΠΎΠ²Π°ΡΡ" #: ../../Zotlabs/Module/Admin/Accounts.php:177 -#: ../../Zotlabs/Module/Connedit.php:623 +#: ../../Zotlabs/Module/Connedit.php:628 msgid "Unblock" msgstr "Π Π°Π·Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°ΡΡ" @@ -9467,21 +9459,21 @@ msgstr "ΠΠ°ΡΠΎΠ»Ρ" msgid "Expires (yyyy-mm-dd)" msgstr "Π‘ΡΠΎΠΊ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ (yyyy-mm-dd)" -#: ../../Zotlabs/Module/Tokens.php:180 ../../Zotlabs/Module/Connedit.php:891 +#: ../../Zotlabs/Module/Tokens.php:180 ../../Zotlabs/Module/Connedit.php:896 msgid "Their Settings" msgstr "ΠΡ
Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ" #: ../../Zotlabs/Module/Notifications.php:60 -#: ../../Zotlabs/Lib/ThreadItem.php:422 +#: ../../Zotlabs/Lib/ThreadItem.php:425 msgid "Mark all seen" msgstr "ΠΡΠΌΠ΅ΡΠΈΡΡ ΠΊΠ°ΠΊ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅Π½Π½ΠΎΠ΅" -#: ../../Zotlabs/Module/Subthread.php:142 +#: ../../Zotlabs/Module/Subthread.php:143 #, php-format msgid "%1$s is following %2$s's %3$s" msgstr "%1$s ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅Ρ %2$s's %3$s" -#: ../../Zotlabs/Module/Subthread.php:144 +#: ../../Zotlabs/Module/Subthread.php:145 #, php-format msgid "%1$s stopped following %2$s's %3$s" msgstr "%1$s ΠΏΡΠ΅ΠΊΡΠ°ΡΠΈΠ» ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ %2$s's %3$s" @@ -9711,268 +9703,268 @@ msgstr "ΠΠΎΠ½ΡΠ°ΠΊΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½." msgid "Item is not editable" msgstr "ΠΠ»Π΅ΠΌΠ΅Π½Ρ Π½Π΅Π»ΡΠ·Ρ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ" -#: ../../Zotlabs/Module/Connedit.php:110 +#: ../../Zotlabs/Module/Connedit.php:111 msgid "Could not locate selected profile." msgstr "ΠΠ΅ ΡΠ΄Π°Π»ΠΎΡΡ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΡ Π²ΡΠ±ΡΠ°Π½Π½ΡΠΉ ΠΏΡΠΎΡΠΈΠ»Ρ." -#: ../../Zotlabs/Module/Connedit.php:247 +#: ../../Zotlabs/Module/Connedit.php:248 msgid "Connection updated." msgstr "ΠΠΎΠ½ΡΠ°ΠΊΡΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Ρ." -#: ../../Zotlabs/Module/Connedit.php:249 +#: ../../Zotlabs/Module/Connedit.php:250 msgid "Failed to update connection record." msgstr "ΠΠ΅ ΡΠ΄Π°Π»ΠΎΡΡ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ Π·Π°ΠΏΠΈΡΡ ΠΊΠΎΠ½ΡΠ°ΠΊΡΠ°." -#: ../../Zotlabs/Module/Connedit.php:303 +#: ../../Zotlabs/Module/Connedit.php:304 msgid "is now connected to" msgstr "ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΡΠ½ ΠΊ" -#: ../../Zotlabs/Module/Connedit.php:428 +#: ../../Zotlabs/Module/Connedit.php:429 msgid "Could not access address book record." msgstr "ΠΠ΅ ΡΠ΄Π°Π»ΠΎΡΡ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ Π·Π°ΠΏΠΈΡΠΈ Π°Π΄ΡΠ΅ΡΠ½ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ." -#: ../../Zotlabs/Module/Connedit.php:476 +#: ../../Zotlabs/Module/Connedit.php:477 ../../Zotlabs/Module/Connedit.php:481 msgid "Refresh failed - channel is currently unavailable." msgstr "ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ - Π² Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΠΊΠ°Π½Π°Π» Π½Π΅Π΄ΠΎΡΡΡΠΏΠ΅Π½." -#: ../../Zotlabs/Module/Connedit.php:491 ../../Zotlabs/Module/Connedit.php:500 -#: ../../Zotlabs/Module/Connedit.php:509 ../../Zotlabs/Module/Connedit.php:518 -#: ../../Zotlabs/Module/Connedit.php:531 +#: ../../Zotlabs/Module/Connedit.php:496 ../../Zotlabs/Module/Connedit.php:505 +#: ../../Zotlabs/Module/Connedit.php:514 ../../Zotlabs/Module/Connedit.php:523 +#: ../../Zotlabs/Module/Connedit.php:536 msgid "Unable to set address book parameters." msgstr "ΠΠ΅ ΡΠ΄Π°Π»ΠΎΡΡ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌ Π°Π΄ΡΠ΅ΡΠ½ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ." -#: ../../Zotlabs/Module/Connedit.php:555 +#: ../../Zotlabs/Module/Connedit.php:560 msgid "Connection has been removed." msgstr "ΠΠΎΠ½ΡΠ°ΠΊΡ Π±ΡΠ» ΡΠ΄Π°Π»ΡΠ½." -#: ../../Zotlabs/Module/Connedit.php:598 +#: ../../Zotlabs/Module/Connedit.php:603 #, php-format msgid "View %s's profile" msgstr "ΠΡΠΎΡΠΌΠΎΡΡ %s ΠΏΡΠΎΡΠΈΠ»Ρ" -#: ../../Zotlabs/Module/Connedit.php:602 +#: ../../Zotlabs/Module/Connedit.php:607 msgid "Refresh Permissions" msgstr "ΠΠ±Π½ΠΎΠ²ΠΈΡΡ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ" -#: ../../Zotlabs/Module/Connedit.php:605 +#: ../../Zotlabs/Module/Connedit.php:610 msgid "Fetch updated permissions" msgstr "ΠΠΎΠ»ΡΡΠΈΡΡ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ½Π½ΡΠ΅ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ" -#: ../../Zotlabs/Module/Connedit.php:609 +#: ../../Zotlabs/Module/Connedit.php:614 msgid "Refresh Photo" msgstr "ΠΠ±Π½ΠΎΠ²ΠΈΡΡ ΡΠΎΡΠΎΠ³ΡΠ°ΡΠΈΡ" -#: ../../Zotlabs/Module/Connedit.php:612 +#: ../../Zotlabs/Module/Connedit.php:617 msgid "Fetch updated photo" msgstr "ΠΠΎΠ»ΡΡΠΈΡΡ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ½Π½ΡΡ ΡΠΎΡΠΎΠ³ΡΠ°ΡΠΈΡ" -#: ../../Zotlabs/Module/Connedit.php:619 +#: ../../Zotlabs/Module/Connedit.php:624 msgid "View recent posts and comments" msgstr "ΠΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ ΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ" -#: ../../Zotlabs/Module/Connedit.php:626 +#: ../../Zotlabs/Module/Connedit.php:631 msgid "Block (or Unblock) all communications with this connection" msgstr "ΠΠ»ΠΎΠΊΠΈΡΠΎΠ²Π°ΡΡ (ΠΈΠ»ΠΈ ΡΠ°Π·Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°ΡΡ) ΡΠ²ΡΠ·ΠΈ Ρ ΡΡΠΈΠΌ ΠΊΠΎΠ½ΡΠ°ΠΊΡΠΎΠΌ" -#: ../../Zotlabs/Module/Connedit.php:627 +#: ../../Zotlabs/Module/Connedit.php:632 msgid "This connection is blocked!" msgstr "ΠΡΠΎΡ ΠΊΠΎΠ½ΡΠ°ΠΊΡ Π·Π°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½!" -#: ../../Zotlabs/Module/Connedit.php:631 +#: ../../Zotlabs/Module/Connedit.php:636 msgid "Unignore" msgstr "ΠΠ΅ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°ΡΡ" -#: ../../Zotlabs/Module/Connedit.php:631 +#: ../../Zotlabs/Module/Connedit.php:636 #: ../../Zotlabs/Module/Connections.php:308 msgid "Ignore" msgstr "ΠΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°ΡΡ" -#: ../../Zotlabs/Module/Connedit.php:634 +#: ../../Zotlabs/Module/Connedit.php:639 msgid "Ignore (or Unignore) all inbound communications from this connection" msgstr "ΠΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°ΡΡ (ΠΈΠ»ΠΈ Π½Π΅ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°ΡΡ) Π²ΡΠ΅ ΡΠ²ΡΠ·ΠΈ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠ°ΠΊΡΠ°" -#: ../../Zotlabs/Module/Connedit.php:635 +#: ../../Zotlabs/Module/Connedit.php:640 msgid "This connection is ignored!" msgstr "ΠΡΠΎΡ ΠΊΠΎΠ½ΡΠ°ΠΊΡ ΠΈΠ³Π½ΠΎΡΠΈΡΡΠ΅ΡΡΡ!" -#: ../../Zotlabs/Module/Connedit.php:639 +#: ../../Zotlabs/Module/Connedit.php:644 msgid "Unarchive" msgstr "Π Π°Π·Π°ΡΡ
ΠΈΠ²ΠΈΡΠΎΠ²Π°ΡΡ" -#: ../../Zotlabs/Module/Connedit.php:639 +#: ../../Zotlabs/Module/Connedit.php:644 msgid "Archive" msgstr "ΠΠ°Π°ΡΡ
ΠΈΠ²ΠΈΡΠΎΠ²Π°ΡΡ" -#: ../../Zotlabs/Module/Connedit.php:642 +#: ../../Zotlabs/Module/Connedit.php:647 msgid "" "Archive (or Unarchive) this connection - mark channel dead but keep content" msgstr "ΠΠ°Π°ΡΡ
ΠΈΠ²ΠΈΡΠΎΠ²Π°ΡΡ (ΠΈΠ»ΠΈ ΡΠ°Π·Π°ΡΡ
ΠΈΠ²ΠΈΡΠΎΠ²Π°ΡΡ) ΡΡΠΎΡ ΠΊΠΎΠ½ΡΠ°ΠΊΡ - ΠΏΠΎΠΌΠ΅ΡΠΈΡΡ ΠΊΠ°Π½Π°Π» ΠΎΡΠΊΠ»ΡΡΡΠ½Π½ΡΠΌ Π½ΠΎ ΡΠΎΡ
ΡΠ°Π½ΠΈΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅" -#: ../../Zotlabs/Module/Connedit.php:643 +#: ../../Zotlabs/Module/Connedit.php:648 msgid "This connection is archived!" msgstr "ΠΡΠΎΡ ΠΊΠΎΠ½ΡΠ°ΠΊΡ Π·Π°Π°ΡΡ
ΠΈΠ²ΠΈΡΠΎΠ²Π°Π½!" -#: ../../Zotlabs/Module/Connedit.php:647 +#: ../../Zotlabs/Module/Connedit.php:652 msgid "Unhide" msgstr "ΠΠΎΠΊΠ°Π·Π°ΡΡ" -#: ../../Zotlabs/Module/Connedit.php:647 +#: ../../Zotlabs/Module/Connedit.php:652 msgid "Hide" msgstr "Π‘ΠΊΡΡΡΡ" -#: ../../Zotlabs/Module/Connedit.php:650 +#: ../../Zotlabs/Module/Connedit.php:655 msgid "Hide or Unhide this connection from your other connections" msgstr "Π‘ΠΊΡΡΡΡ ΠΈΠ»ΠΈ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ΡΡΠΎΡ ΠΊΠΎΠ½ΡΠ°ΠΊΡ ΠΎΡ / Π΄Π»Ρ ΠΎΡΡΠ°Π»ΡΠ½ΡΡ
" -#: ../../Zotlabs/Module/Connedit.php:651 +#: ../../Zotlabs/Module/Connedit.php:656 msgid "This connection is hidden!" msgstr "ΠΡΠΎΡ ΠΊΠΎΠ½ΡΠ°ΠΊΡ ΡΠΊΡΡΡ!" -#: ../../Zotlabs/Module/Connedit.php:658 +#: ../../Zotlabs/Module/Connedit.php:663 msgid "Delete this connection" msgstr "Π£Π΄Π°Π»ΠΈΡΡ ΡΡΠΎΡ ΠΊΠΎΠ½ΡΠ°ΠΊΡ" -#: ../../Zotlabs/Module/Connedit.php:666 +#: ../../Zotlabs/Module/Connedit.php:671 msgid "Fetch Vcard" msgstr "ΠΠΎΠ»ΡΡΠΈΡΡ vCard" -#: ../../Zotlabs/Module/Connedit.php:669 +#: ../../Zotlabs/Module/Connedit.php:674 msgid "Fetch electronic calling card for this connection" msgstr "ΠΠΎΠ»ΡΡΠΈΡΡ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΡΡ ΡΠ΅Π»Π΅ΡΠΎΠ½Π½ΡΡ ΠΊΠ°ΡΡΠΎΡΠΊΡ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠ°ΠΊΡΠ°" -#: ../../Zotlabs/Module/Connedit.php:680 +#: ../../Zotlabs/Module/Connedit.php:685 msgid "Open Individual Permissions section by default" msgstr "ΠΡΠΊΡΡΠ²Π°ΡΡ ΡΠ°Π·Π΄Π΅Π» \"ΠΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡΠ°Π»ΡΠ½ΡΠ΅ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ\" ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ" -#: ../../Zotlabs/Module/Connedit.php:703 +#: ../../Zotlabs/Module/Connedit.php:708 msgid "Affinity" msgstr "Π‘Ρ
ΠΎΠ΄ΡΡΠ²ΠΎ" -#: ../../Zotlabs/Module/Connedit.php:706 +#: ../../Zotlabs/Module/Connedit.php:711 msgid "Open Set Affinity section by default" msgstr "ΠΡΠΊΡΡΡΡ ΡΠ΅ΠΊΡΠΈΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΡΡ
ΠΎΠ΄ΡΡΠ²Π° ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ" -#: ../../Zotlabs/Module/Connedit.php:710 ../../Zotlabs/Widget/Affinity.php:22 +#: ../../Zotlabs/Module/Connedit.php:715 ../../Zotlabs/Widget/Affinity.php:22 msgid "Me" msgstr "Π―" -#: ../../Zotlabs/Module/Connedit.php:711 ../../Zotlabs/Widget/Affinity.php:23 +#: ../../Zotlabs/Module/Connedit.php:716 ../../Zotlabs/Widget/Affinity.php:23 msgid "Family" msgstr "Π‘Π΅ΠΌΡΡ" -#: ../../Zotlabs/Module/Connedit.php:713 ../../Zotlabs/Widget/Affinity.php:25 +#: ../../Zotlabs/Module/Connedit.php:718 ../../Zotlabs/Widget/Affinity.php:25 msgid "Acquaintances" msgstr "ΠΠ½Π°ΠΊΠΎΠΌΡΠ΅" -#: ../../Zotlabs/Module/Connedit.php:714 +#: ../../Zotlabs/Module/Connedit.php:719 #: ../../Zotlabs/Module/Connections.php:97 #: ../../Zotlabs/Module/Connections.php:111 #: ../../Zotlabs/Widget/Affinity.php:26 msgid "All" msgstr "ΠΡΠ΅" -#: ../../Zotlabs/Module/Connedit.php:740 +#: ../../Zotlabs/Module/Connedit.php:745 msgid "Filter" msgstr "Π€ΠΈΠ»ΡΡΡ" -#: ../../Zotlabs/Module/Connedit.php:743 +#: ../../Zotlabs/Module/Connedit.php:748 msgid "Open Custom Filter section by default" msgstr "ΠΡΠΊΡΡΠ²Π°ΡΡ ΡΠ΅ΠΊΡΠΈΡ \"ΠΠ°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΠΉ ΡΠΈΠ»ΡΡΡ\" ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ" -#: ../../Zotlabs/Module/Connedit.php:780 +#: ../../Zotlabs/Module/Connedit.php:785 msgid "Approve this connection" msgstr "Π£ΡΠ²Π΅ΡΠ΄ΠΈΡΡ ΡΡΠΎΡ ΠΊΠΎΠ½ΡΠ°ΠΊΡ" -#: ../../Zotlabs/Module/Connedit.php:780 +#: ../../Zotlabs/Module/Connedit.php:785 msgid "Accept connection to allow communication" msgstr "ΠΡΠΈΠ½ΡΡΡ ΠΊΠΎΠ½ΡΠ°ΠΊΡ ΡΡΠΎΠ±Ρ ΡΠ°Π·ΡΠ΅ΡΠΈΡΡ ΡΠ²ΡΠ·Ρ" -#: ../../Zotlabs/Module/Connedit.php:785 +#: ../../Zotlabs/Module/Connedit.php:790 msgid "Set Affinity" msgstr "Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΡ
ΠΎΠ΄ΡΡΠ²ΠΎ" -#: ../../Zotlabs/Module/Connedit.php:788 +#: ../../Zotlabs/Module/Connedit.php:793 msgid "Set Profile" msgstr "Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΏΡΠΎΡΠΈΠ»Ρ" -#: ../../Zotlabs/Module/Connedit.php:791 +#: ../../Zotlabs/Module/Connedit.php:796 msgid "Set Affinity & Profile" msgstr "Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΡ
ΠΎΠ΄ΡΡΠ²ΠΎ ΠΈ ΠΏΡΠΎΡΠΈΠ»Ρ" -#: ../../Zotlabs/Module/Connedit.php:839 +#: ../../Zotlabs/Module/Connedit.php:844 msgid "This connection is unreachable from this location." msgstr "ΠΡΠΎΡ ΠΊΠΎΠ½ΡΠ°ΠΊΡ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π΄Π»Ρ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΌΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ" -#: ../../Zotlabs/Module/Connedit.php:840 +#: ../../Zotlabs/Module/Connedit.php:845 msgid "This connection may be unreachable from other channel locations." msgstr "ΠΡΠΎΡ ΠΊΠΎΠ½ΡΠ°ΠΊΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΠΈΠ· Π΄ΡΡΠ³ΠΈΡ
ΠΌΠ΅ΡΡ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΊΠ°Π½Π°Π»Π°" -#: ../../Zotlabs/Module/Connedit.php:842 +#: ../../Zotlabs/Module/Connedit.php:847 msgid "Location independence is not supported by their network." msgstr "ΠΠ΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎΠ΅ ΠΌΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΠΈΡ
ΡΠ΅ΡΡΡ." -#: ../../Zotlabs/Module/Connedit.php:848 +#: ../../Zotlabs/Module/Connedit.php:853 msgid "" "This connection is unreachable from this location. Location independence is " "not supported by their network." msgstr "ΠΡΠΎΡ ΠΊΠΎΠ½ΡΠ°ΠΊΡ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΠΈΠ· Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΌΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠ΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎΠ΅ ΠΌΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΠΈΡ
ΡΠ΅ΡΡΡ." -#: ../../Zotlabs/Module/Connedit.php:852 +#: ../../Zotlabs/Module/Connedit.php:857 msgid "Connection requests will be approved without your interaction" msgstr "ΠΠ°ΠΏΡΠΎΡΡ ΠΊΠΎΠ½ΡΠ°ΠΊΡΠΎΠ² Π±ΡΠ΄ΡΡ ΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Ρ Π±Π΅Π· Π²Π°ΡΠ΅Π³ΠΎ ΡΡΠ°ΡΡΠΈΡ" -#: ../../Zotlabs/Module/Connedit.php:861 +#: ../../Zotlabs/Module/Connedit.php:866 msgid "This connection's primary address is" msgstr "ΠΠ»Π°Π²Π½ΡΠΉ Π°Π΄ΡΠ΅Ρ ΡΡΠΎ ΠΊΠΎΠ½ΡΠ°ΠΊΡΠ°" -#: ../../Zotlabs/Module/Connedit.php:862 +#: ../../Zotlabs/Module/Connedit.php:867 msgid "Available locations:" msgstr "ΠΠΎΡΡΡΠΏΠ½ΡΠ΅ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ:" -#: ../../Zotlabs/Module/Connedit.php:868 +#: ../../Zotlabs/Module/Connedit.php:873 msgid "Connection Tools" msgstr "ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΠΊΠΎΠ½ΡΠ°ΠΊΡΠΎΠ²" -#: ../../Zotlabs/Module/Connedit.php:870 +#: ../../Zotlabs/Module/Connedit.php:875 msgid "Slide to adjust your degree of friendship" msgstr "ΠΡΠΎΠΊΡΡΡΠΈΡΡ Π΄Π»Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΡΠ΅ΠΏΠ΅Π½ΠΈ Π΄ΡΡΠΆΠ±Ρ" -#: ../../Zotlabs/Module/Connedit.php:872 +#: ../../Zotlabs/Module/Connedit.php:877 msgid "Slide to adjust your rating" msgstr "ΠΡΠΎΠΊΡΡΡΠΈΡΡ Π΄Π»Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΎΡΠ΅Π½ΠΊΠΈ" -#: ../../Zotlabs/Module/Connedit.php:873 ../../Zotlabs/Module/Connedit.php:878 +#: ../../Zotlabs/Module/Connedit.php:878 ../../Zotlabs/Module/Connedit.php:883 msgid "Optionally explain your rating" msgstr "ΠΠ±ΡΡΡΠ½ΠΈΡΠ΅ ΡΠ²ΠΎΡ ΠΎΡΠ΅Π½ΠΊΡ (Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ)" -#: ../../Zotlabs/Module/Connedit.php:875 +#: ../../Zotlabs/Module/Connedit.php:880 msgid "Custom Filter" msgstr "ΠΠ°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΠΉ ΡΠΈΠ»ΡΡΡ" -#: ../../Zotlabs/Module/Connedit.php:876 +#: ../../Zotlabs/Module/Connedit.php:881 msgid "Only import posts with this text" msgstr "ΠΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ ΡΠΎΠ»ΡΠΊΠΎ Ρ ΡΡΠΈΠΌ ΡΠ΅ΠΊΡΡΠΎΠΌ" -#: ../../Zotlabs/Module/Connedit.php:877 +#: ../../Zotlabs/Module/Connedit.php:882 msgid "Do not import posts with this text" msgstr "ΠΠ΅ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ Ρ ΡΡΠΈΠΌ ΡΠ΅ΠΊΡΡΠΎΠΌ" -#: ../../Zotlabs/Module/Connedit.php:879 +#: ../../Zotlabs/Module/Connedit.php:884 msgid "This information is public!" msgstr "ΠΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ±ΡΠ΅Π΄ΠΎΡΡΡΠΏΠ½Π°!" -#: ../../Zotlabs/Module/Connedit.php:884 +#: ../../Zotlabs/Module/Connedit.php:889 msgid "Connection Pending Approval" msgstr "ΠΠΆΠΈΠ΄Π°ΡΡΠΈΠ΅ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ°ΠΊΡΠΎΠ²" -#: ../../Zotlabs/Module/Connedit.php:889 +#: ../../Zotlabs/Module/Connedit.php:894 #, php-format msgid "" "Please choose the profile you would like to display to %s when viewing your " "profile securely." msgstr "ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΠΏΡΠΎΡΠΈΠ»Ρ ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ Ρ
ΠΎΡΠΈΡ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ Π² %s ΠΏΡΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΠΌ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅." -#: ../../Zotlabs/Module/Connedit.php:896 +#: ../../Zotlabs/Module/Connedit.php:901 msgid "" "Some permissions may be inherited from your channel's <a href=\"settings" "\"><strong>privacy settings</strong></a>, which have higher priority than " @@ -9980,11 +9972,11 @@ msgid "" "any impact unless the inherited setting changes." msgstr "ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠ½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½Ρ ΠΈΠ· <a href=\"settings\"><strong>Π½Π°ΡΡΡΠΎΠ΅ΠΊ ΠΏΡΠΈΠ²Π°ΡΠ½ΠΎΡΡΠΈ</strong></a> Π²Π°ΡΠ΅Π³ΠΎ ΠΊΠ°Π½Π°Π»Π°, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΈΠΌΠ΅ΡΡ Π±ΠΎΠ»Π΅Π΅ Π²ΡΡΠΎΠΊΠΈΠΉ ΠΏΡΠΈΠΎΡΠΈΡΠ΅Ρ ΡΠ΅ΠΌ ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡΠ°Π»ΡΠ½ΡΠ΅. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΡΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΎΠ½ΠΈ Π½Π΅ Π±ΡΠ΄ΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½Ρ Π΄ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΡΡ
ΠΏΠΎ Π½Π°ΡΠ»Π΅Π΄ΡΡΠ²Ρ Π½Π°ΡΡΡΠΎΠ΅ΠΊ." -#: ../../Zotlabs/Module/Connedit.php:897 +#: ../../Zotlabs/Module/Connedit.php:902 msgid "Last update:" msgstr "ΠΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅:" -#: ../../Zotlabs/Module/Connedit.php:905 +#: ../../Zotlabs/Module/Connedit.php:910 msgid "Details" msgstr "Π‘Π²Π΅Π΄Π΅Π½ΠΈΡ" @@ -10180,15 +10172,15 @@ msgstr "ΠΠΎΠΈΡΠΊ Π²Π°ΡΠΈΡ
ΠΊΠΎΠ½ΡΠ°ΠΊΡΠΎΠ²" msgid "Connections search" msgstr "ΠΠΎΠΈΡΠΊ ΠΊΠΎΠ½ΡΠ°ΠΊΠΎΠ²" -#: ../../Zotlabs/Module/Mood.php:132 +#: ../../Zotlabs/Module/Mood.php:134 msgid "Mood App" msgstr "ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ \"ΠΠ°ΡΡΡΠΎΠ΅Π½ΠΈΠ΅\"" -#: ../../Zotlabs/Module/Mood.php:133 ../../Zotlabs/Module/Mood.php:153 +#: ../../Zotlabs/Module/Mood.php:135 ../../Zotlabs/Module/Mood.php:155 msgid "Set your current mood and tell your friends" msgstr "Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠ΅ΠΊΡΡΠ΅Π΅ Π½Π°ΡΡΡΠΎΠ΅Π½ΠΈΠ΅ ΠΈ ΡΠ°ΡΡΠΊΠ°Π·Π°ΡΡ Π΄ΡΡΠ·ΡΡΠΌ" -#: ../../Zotlabs/Module/Mood.php:152 ../../Zotlabs/Lib/Apps.php:325 +#: ../../Zotlabs/Module/Mood.php:154 ../../Zotlabs/Lib/Apps.php:325 msgid "Mood" msgstr "ΠΠ°ΡΡΡΠΎΠ΅Π½ΠΈΠ΅" @@ -10413,6 +10405,7 @@ msgid "System layout" msgstr "Π‘ΠΈΡΡΠ΅ΠΌΠ½ΡΠΉ ΡΠ°Π±Π»ΠΎΠ½" #: ../../Zotlabs/Module/Wiki.php:35 +#: ../../extend/addon/hzaddons/flashcards/Mod_Flashcards.php:34 #: ../../extend/addon/hzaddons/cart/cart.php:1297 msgid "Profile Unavailable." msgstr "ΠΡΠΎΡΠΈΠ»Ρ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ΅Π½." @@ -10429,7 +10422,7 @@ msgstr "ΠΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΡΠ΅ Wiki Π΄Π»Ρ Π²Π°ΡΠ΅Π³ΠΎ ΠΊΠ°Π½Π°Π»Π°" #: ../../extend/addon/hzaddons/cart/submodules/paypalbutton.php:456 #: ../../extend/addon/hzaddons/cart/myshop.php:37 #: ../../extend/addon/hzaddons/cart/manual_payments.php:93 -#: ../../extend/addon/hzaddons/cart/cart.php:1440 +#: ../../extend/addon/hzaddons/cart/cart.php:1443 msgid "Invalid channel" msgstr "ΠΠ΅Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΊΠ°Π½Π°Π»" @@ -10937,7 +10930,7 @@ msgstr "ΠΡΠΎΡΠΌΠΎΡΡ ΠΏΡΠ±Π»ΠΈΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡΠΎΠΊΠ°. ΠΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄ #: ../../Zotlabs/Widget/Forums.php:100 #: ../../Zotlabs/Widget/Notifications.php:119 #: ../../Zotlabs/Widget/Notifications.php:120 -#: ../../Zotlabs/Widget/Activity_filter.php:102 +#: ../../Zotlabs/Widget/Activity_filter.php:73 msgid "Forums" msgstr "Π€ΠΎΡΡΠΌΡ" @@ -10979,7 +10972,7 @@ msgstr "ΠΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π½ΠΎΠ²ΡΠ΅ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ" #: ../../Zotlabs/Widget/Notifications.php:46 #: ../../Zotlabs/Widget/Notifications.php:122 #: ../../Zotlabs/Widget/Notifications.php:153 -#: ../../Zotlabs/Widget/Activity_filter.php:164 +#: ../../Zotlabs/Widget/Activity_filter.php:165 msgid "Filter by name" msgstr "ΠΡΡΠΈΠ»ΡΡΡΠΎΠ²Π°ΡΡ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ" @@ -11372,57 +11365,57 @@ msgstr "Π£ΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ" msgid "Remove term" msgstr "Π£Π΄Π°Π»ΠΈΡΡ ΡΠ΅ΡΠΌΠΈΠ½" -#: ../../Zotlabs/Widget/Activity_filter.php:26 -msgid "Personal Posts" -msgstr "ΠΠΈΡΠ½ΡΠ΅ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ" - -#: ../../Zotlabs/Widget/Activity_filter.php:30 -msgid "Show posts that mention or involve me" -msgstr "ΠΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ Π³Π΄Π΅ Π²Ρ Π±ΡΠ»ΠΈ ΡΠΏΠΎΠΌΡΠ½ΡΡΡ ΠΈΠ»ΠΈ ΠΏΡΠΈΠ²Π»Π΅ΡΠ΅Π½Ρ" - -#: ../../Zotlabs/Widget/Activity_filter.php:41 -msgid "Starred Posts" -msgstr "ΠΡΠΌΠ΅ΡΠ΅Π½Π½ΡΠ΅ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ" - -#: ../../Zotlabs/Widget/Activity_filter.php:45 -msgid "Show posts that I have starred" -msgstr "ΠΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ ΠΊΠΎΡΠΎΡΡΠ΅ Ρ ΠΎΡΠΌΠ΅ΡΠΈΠ»" - -#: ../../Zotlabs/Widget/Activity_filter.php:65 +#: ../../Zotlabs/Widget/Activity_filter.php:36 #, php-format msgid "Show posts related to the %s privacy group" msgstr "ΠΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ ΠΎΡΠ½ΠΎΡΡΡΠΈΠ΅ΡΡ ΠΊ Π³ΡΡΠΏΠΏΠ΅ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ %s" -#: ../../Zotlabs/Widget/Activity_filter.php:74 +#: ../../Zotlabs/Widget/Activity_filter.php:45 msgid "Show my privacy groups" msgstr "ΠΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΌΠΎΠΈ Π³ΡΡΠΏΠΏΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ" -#: ../../Zotlabs/Widget/Activity_filter.php:95 +#: ../../Zotlabs/Widget/Activity_filter.php:66 msgid "Show posts to this forum" msgstr "ΠΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ ΡΡΠΎΠ³ΠΎ ΡΠΎΡΡΠΌΠ°" -#: ../../Zotlabs/Widget/Activity_filter.php:106 +#: ../../Zotlabs/Widget/Activity_filter.php:77 msgid "Show forums" msgstr "ΠΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ ΡΠΎΡΡΠΌΡ" -#: ../../Zotlabs/Widget/Activity_filter.php:130 +#: ../../Zotlabs/Widget/Activity_filter.php:91 +msgid "Starred Posts" +msgstr "ΠΡΠΌΠ΅ΡΠ΅Π½Π½ΡΠ΅ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ" + +#: ../../Zotlabs/Widget/Activity_filter.php:95 +msgid "Show posts that I have starred" +msgstr "ΠΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ ΠΊΠΎΡΠΎΡΡΠ΅ Ρ ΠΎΡΠΌΠ΅ΡΠΈΠ»" + +#: ../../Zotlabs/Widget/Activity_filter.php:106 +msgid "Personal Posts" +msgstr "ΠΠΈΡΠ½ΡΠ΅ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ" + +#: ../../Zotlabs/Widget/Activity_filter.php:110 +msgid "Show posts that mention or involve me" +msgstr "ΠΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ Π³Π΄Π΅ Π²Ρ Π±ΡΠ»ΠΈ ΡΠΏΠΎΠΌΡΠ½ΡΡΡ ΠΈΠ»ΠΈ ΠΏΡΠΈΠ²Π»Π΅ΡΠ΅Π½Ρ" + +#: ../../Zotlabs/Widget/Activity_filter.php:131 #, php-format msgid "Show posts that I have filed to %s" msgstr "ΠΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ ΠΊΠΎΡΠΎΡΡΠ΅ Ρ Π΄ΠΎΠ±Π°Π²ΠΈΠ» Π² %s" -#: ../../Zotlabs/Widget/Activity_filter.php:140 +#: ../../Zotlabs/Widget/Activity_filter.php:141 msgid "Show filed post categories" msgstr "ΠΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΡΡ
ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΉ" -#: ../../Zotlabs/Widget/Activity_filter.php:154 +#: ../../Zotlabs/Widget/Activity_filter.php:155 msgid "Panel search" msgstr "ΠΠ°Π½Π΅Π»Ρ ΠΏΠΎΠΈΡΠΊΠ°" -#: ../../Zotlabs/Widget/Activity_filter.php:179 +#: ../../Zotlabs/Widget/Activity_filter.php:180 msgid "Remove active filter" msgstr "Π£Π΄Π°Π»ΠΈΡΡ Π°ΠΊΡΠΈΠ²Π½ΡΠΉ ΡΠΈΠ»ΡΡΡ" -#: ../../Zotlabs/Widget/Activity_filter.php:195 +#: ../../Zotlabs/Widget/Activity_filter.php:196 msgid "Stream Filters" msgstr "Π€ΠΈΠ»ΡΡΡΡ ΠΏΠΎΡΠΎΠΊΠ°" @@ -12164,7 +12157,7 @@ msgstr "ΠΏΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ" msgid "Delivery Report" msgstr "ΠΡΡΡΡ ΠΎ Π΄ΠΎΡΡΠ°Π²ΠΊΠ΅" -#: ../../Zotlabs/Lib/ThreadItem.php:321 +#: ../../Zotlabs/Lib/ThreadItem.php:323 #, php-format msgid "%d comment" msgid_plural "%d comments" @@ -12172,73 +12165,73 @@ msgstr[0] "%d ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ" msgstr[1] "%d ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡ" msgstr[2] "%d ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π²" -#: ../../Zotlabs/Lib/ThreadItem.php:355 ../../Zotlabs/Lib/ThreadItem.php:356 +#: ../../Zotlabs/Lib/ThreadItem.php:357 ../../Zotlabs/Lib/ThreadItem.php:358 #, php-format msgid "View %s's profile - %s" msgstr "ΠΡΠΎΡΠΌΠΎΡΡ %s ΠΏΡΠΎΡΠΈΠ»Ρ - %s" -#: ../../Zotlabs/Lib/ThreadItem.php:359 +#: ../../Zotlabs/Lib/ThreadItem.php:361 msgid "to" msgstr "ΠΊ" -#: ../../Zotlabs/Lib/ThreadItem.php:360 +#: ../../Zotlabs/Lib/ThreadItem.php:362 msgid "via" msgstr "ΡΠ΅ΡΠ΅Π·" -#: ../../Zotlabs/Lib/ThreadItem.php:361 +#: ../../Zotlabs/Lib/ThreadItem.php:363 msgid "Wall-to-Wall" msgstr "Π‘ΡΠ΅Π½Π°-ΠΊ-Π‘ΡΠ΅Π½Π΅" -#: ../../Zotlabs/Lib/ThreadItem.php:362 +#: ../../Zotlabs/Lib/ThreadItem.php:364 msgid "via Wall-To-Wall:" msgstr "ΡΠ΅ΡΠ΅Π· Π‘ΡΠ΅Π½Π°-ΠΊ-Π‘ΡΠ΅Π½Π΅:" -#: ../../Zotlabs/Lib/ThreadItem.php:387 +#: ../../Zotlabs/Lib/ThreadItem.php:390 msgid "Attend" msgstr "ΠΠΎΡΠ΅ΡΠΈΡΡ" -#: ../../Zotlabs/Lib/ThreadItem.php:388 +#: ../../Zotlabs/Lib/ThreadItem.php:391 msgid "Attendance Options" msgstr "ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΏΠΎΡΠ΅ΡΠ°Π΅ΠΌΠΎΡΡΠΈ" -#: ../../Zotlabs/Lib/ThreadItem.php:389 +#: ../../Zotlabs/Lib/ThreadItem.php:392 msgid "Vote" msgstr "ΠΠΎΠ»ΠΎΡΠΎΠ²Π°ΡΡ" -#: ../../Zotlabs/Lib/ThreadItem.php:390 +#: ../../Zotlabs/Lib/ThreadItem.php:393 msgid "Voting Options" msgstr "ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π³ΠΎΠ»ΠΎΡΠΎΠ²Π°Π½ΠΈΡ" -#: ../../Zotlabs/Lib/ThreadItem.php:411 +#: ../../Zotlabs/Lib/ThreadItem.php:414 #: ../../extend/addon/hzaddons/bookmarker/bookmarker.php:38 msgid "Save Bookmarks" msgstr "Π‘ΠΎΡ
ΡΠ°Π½ΠΈΡΡ Π·Π°ΠΊΠ»Π°Π΄ΠΊΠΈ" -#: ../../Zotlabs/Lib/ThreadItem.php:412 +#: ../../Zotlabs/Lib/ThreadItem.php:415 msgid "Add to Calendar" msgstr "ΠΠΎΠ±Π°Π²ΠΈΡΡ Π² ΠΊΠ°Π»Π΅Π½Π΄Π°ΡΡ" -#: ../../Zotlabs/Lib/ThreadItem.php:773 +#: ../../Zotlabs/Lib/ThreadItem.php:776 msgid "Image" msgstr "ΠΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅" -#: ../../Zotlabs/Lib/ThreadItem.php:775 +#: ../../Zotlabs/Lib/ThreadItem.php:778 msgid "Insert Link" msgstr "ΠΡΡΠ°Π²ΠΈΡΡ ΡΡΡΠ»ΠΊΡ" -#: ../../Zotlabs/Lib/ThreadItem.php:776 +#: ../../Zotlabs/Lib/ThreadItem.php:779 msgid "Video" msgstr "ΠΠΈΠ΄Π΅ΠΎ" -#: ../../Zotlabs/Lib/ThreadItem.php:786 +#: ../../Zotlabs/Lib/ThreadItem.php:789 msgid "Your full name (required)" msgstr "ΠΠ°ΡΠ΅ ΠΏΠΎΠ»Π½ΠΎΠ΅ ΠΈΠΌΡ (ΡΡΠ΅Π±ΡΠ΅ΡΡΡ)" -#: ../../Zotlabs/Lib/ThreadItem.php:787 +#: ../../Zotlabs/Lib/ThreadItem.php:790 msgid "Your email address (required)" msgstr "ΠΠ°Ρ Π°Π΄ΡΠ΅Ρ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠΉ ΠΏΠΎΡΡΡ (ΡΡΠ΅Π±ΡΠ΅ΡΡΡ)" -#: ../../Zotlabs/Lib/ThreadItem.php:788 +#: ../../Zotlabs/Lib/ThreadItem.php:791 msgid "Your website URL (optional)" msgstr "URL Π²Π°ΡΠ΅Π³ΠΎ Π²Π΅Π±ΡΠ°ΠΉΡΠ° (Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ)" @@ -12339,11 +12332,11 @@ msgstr "4. ΠΠΊΡΠΏΠ΅ΡΡ - Ρ ΡΠΌΠ΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°ΡΡ" msgid "5. Wizard - I probably know more than you do" msgstr "5. ΠΠΎΠ»ΡΠ΅Π±Π½ΠΈΠΊ - Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Ρ Π·Π½Π°Ρ Π±ΠΎΠ»ΡΡΠ΅ ΡΠ΅ΠΌ ΡΡ" -#: ../../Zotlabs/Lib/NativeWiki.php:152 +#: ../../Zotlabs/Lib/NativeWiki.php:143 msgid "Wiki updated successfully" msgstr "Wiki ΡΡΠΏΠ΅ΡΠ½ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π°" -#: ../../Zotlabs/Lib/NativeWiki.php:206 +#: ../../Zotlabs/Lib/NativeWiki.php:197 msgid "Wiki files deleted successfully" msgstr "Wiki ΡΡΠΏΠ΅ΡΠ½ΠΎ ΡΠ΄Π°Π»Π΅Π½Π°" @@ -12383,72 +12376,68 @@ msgstr "Π‘Π΅ΡΠ²Π΅ΡΡ ΠΈ ΡΠ΅ΡΡΡΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°" msgid "Project Creator and Tech Lead" msgstr "Π‘ΠΎΠ·Π΄Π°ΡΠ΅Π»Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΈ ΡΠ΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ" -#: ../../extend/addon/hzaddons/donate/donate.php:23 -msgid "Admin, developer, directorymin, support bloke" -msgstr "ΠΠ΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ, Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ°" - -#: ../../extend/addon/hzaddons/donate/donate.php:50 +#: ../../extend/addon/hzaddons/donate/donate.php:49 msgid "" "And the hundreds of other people and organisations who helped make the " "Hubzilla possible." msgstr "Π ΡΠΎΡΠ½ΠΈ Π΄ΡΡΠ³ΠΈΡ
Π»ΡΠ΄Π΅ΠΉ ΠΈ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΉ ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠΌΠΎΠ³Π°Π»ΠΈ Π² ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Hubzilla." -#: ../../extend/addon/hzaddons/donate/donate.php:53 +#: ../../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 "ΠΡΠΎΠ΅ΠΊΡΡ Redmatrix / Hubzilla ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΡΡ, Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ, Π΄ΠΎΠ±ΡΠΎΠ²ΠΎΠ»ΡΡΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ ΡΠ²ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΠΈ ΠΎΠΏΡΡ ΠΈ, ΡΠ°ΡΡΠΎ, ΠΎΠΏΠ»Π°ΡΠΈΠ²Π°ΡΡ ΠΈΠ· ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΊΠ°ΡΠΌΠ°Π½Π° ΡΡΠ»ΡΠ³ΠΈ, ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΎΠ½ΠΈ Π΄Π΅Π»ΡΡΡΡ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ." -#: ../../extend/addon/hzaddons/donate/donate.php:54 +#: ../../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 "ΠΠ΄Π΅ΡΡ Π½Π΅Ρ ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΡΠΈΠ½Π°Π½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΡΠ΅ΠΊΠ»Π°ΠΌΡ, ΠΌΡ Π½Π΅ ΡΠΎΠ±ΠΈΡΠ°Π΅ΠΌ ΠΈ Π½Π΅ ΠΏΡΠΎΠ΄Π°Π΅ΠΌ Π²Π°ΡΡ Π»ΠΈΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ. (ΠΡ Π½Π΅ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΡΠ΅ΠΌ Π²Π°ΡΡ Π»ΠΈΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ - <strong>ΡΡΠΎ Π΄Π΅Π»Π°Π΅ΡΠ΅ Π²Ρ</strong>.)" -#: ../../extend/addon/hzaddons/donate/donate.php:55 +#: ../../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:57 +#: ../../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:60 +#: ../../extend/addon/hzaddons/donate/donate.php:59 msgid "Donate" msgstr "ΠΠΎΠΆΠ΅ΡΡΠ²ΠΎΠ²Π°ΡΡ" -#: ../../extend/addon/hzaddons/donate/donate.php:62 +#: ../../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:63 +#: ../../extend/addon/hzaddons/donate/donate.php:62 msgid "Donate Now" msgstr "ΠΠΎΠΆΠ΅ΡΡΠ²ΠΎΠ²Π°ΡΡ ΡΠ΅ΠΉΡΠ°Ρ" -#: ../../extend/addon/hzaddons/donate/donate.php:64 +#: ../../extend/addon/hzaddons/donate/donate.php:63 msgid "" "<strong><em>Or</em></strong> become a project sponsor (Hubzilla Project only)" msgstr "<strong><em>ΠΈΠ»ΠΈ</em></strong> ΡΡΠ°Π½ΡΡΠ΅ ΡΠΏΠΎΠ½ΡΠΎΡΠΎΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ° (ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ Hubzilla)" -#: ../../extend/addon/hzaddons/donate/donate.php:65 +#: ../../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:66 +#: ../../extend/addon/hzaddons/donate/donate.php:65 msgid "Sponsor" msgstr "Π‘ΠΏΠΎΠ½ΡΠΎΡ" -#: ../../extend/addon/hzaddons/donate/donate.php:69 +#: ../../extend/addon/hzaddons/donate/donate.php:68 msgid "Special thanks to: " msgstr "ΠΡΠΎΠ±ΡΠ΅ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΠ½ΠΎΡΡΠΈ:" @@ -12535,11 +12524,11 @@ msgid "A simple gallery for your photo albums" msgstr "ΠΡΠΎΡΡΠ°Ρ Π³Π°Π»Π»Π΅ΡΠ΅Ρ Π΄Π»Ρ Π²Π°ΡΠΈΡ
ΡΠΎΡΠΎΠ°Π»ΡΠ±ΠΎΠΌΠΎΠ²" #: ../../extend/addon/hzaddons/gallery/Mod_Gallery.php:115 -#: ../../extend/addon/hzaddons/gallery/gallery.php:47 +#: ../../extend/addon/hzaddons/gallery/gallery.php:28 msgid "Gallery" msgstr "ΠΠ°Π»Π΅ΡΠ΅Ρ" -#: ../../extend/addon/hzaddons/gallery/gallery.php:50 +#: ../../extend/addon/hzaddons/gallery/gallery.php:31 msgid "Photo Gallery" msgstr "Π€ΠΎΡΠΎΠ³Π°Π»Π΅ΡΠ΅Ρ" @@ -12881,7 +12870,7 @@ msgid "" "return key" msgstr "ΠΠΎΠ±ΡΠΎ ΠΏΠΎΠΆΠ°Π»ΠΎΠ²Π°ΡΡ Π² Hubzilla! ΠΠ΅Π»Π°Π΅ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΎΠ±Π·ΠΎΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°?</p> <p>ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΅Π³ΠΎ ΠΏΡΠΈΠΎΡΡΠ°Π½ΠΎΠ²Π°ΠΈΡΡ ΠΈ Π² Π»ΡΠ±ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΈΠ² ΡΡΡΠ°Π½ΠΈΡΡ ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΉΠ΄Ρ Π½Π° Π΄ΡΡΠ³ΡΡ.</p><p>Π’Π°ΠΊΠΆΠ΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΆΠ°ΡΡ ΠΊΠ»Π°Π²ΠΈΡΡ \"ΠΠ°Π·Π°Π΄\"" -#: ../../extend/addon/hzaddons/superblock/superblock.php:318 +#: ../../extend/addon/hzaddons/superblock/superblock.php:337 msgid "Block Completely" msgstr "ΠΠ°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ" @@ -13599,32 +13588,28 @@ msgid "Until modified date yyyy-mm-dd" msgstr "ΠΠ°ΠΊΠ°Π½ΡΠΈΠ²Π°Ρ Π΄Π°ΡΠΎΠΉ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ yyyy-mm-dd" #: ../../extend/addon/hzaddons/ljpost/ljpost.php:42 -msgid "Post to LiveJournal" -msgstr "ΠΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°ΡΡ Π² LiveJournal" - -#: ../../extend/addon/hzaddons/ljpost/ljpost.php:70 -msgid "Enable LiveJournal Post Plugin" -msgstr "ΠΠΊΠ»ΡΡΠΈΡΡ ΠΏΠ»Π°Π³ΠΈΠ½ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΉ LiveJournal" +msgid "Post to Livejournal" +msgstr "ΠΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°ΡΡ Π² Livejournal" -#: ../../extend/addon/hzaddons/ljpost/ljpost.php:74 -msgid "LiveJournal username" -msgstr "ΠΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ LiveJournal" +#: ../../extend/addon/hzaddons/ljpost/ljpost.php:73 +msgid "Enable Livejournal Post Plugin" +msgstr "ΠΠΊΠ»ΡΡΠΈΡΡ ΡΠ°ΡΠΈΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΉ Π² Livejournal" -#: ../../extend/addon/hzaddons/ljpost/ljpost.php:78 -msgid "LiveJournal password" -msgstr "ΠΠ°ΡΠΎΠ»Ρ LiveJournal" +#: ../../extend/addon/hzaddons/ljpost/ljpost.php:77 +msgid "Livejournal username" +msgstr "ΠΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Livejournal" -#: ../../extend/addon/hzaddons/ljpost/ljpost.php:82 -msgid "Post to LiveJournal by default" -msgstr "ΠΡΠ±Π»ΠΈΠΊΠΎΠ²Π°ΡΡ Π² LiveJournal ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ" +#: ../../extend/addon/hzaddons/ljpost/ljpost.php:81 +msgid "Livejournal password" +msgstr "ΠΠ°ΡΠΎΠ»Ρ Livejournal" -#: ../../extend/addon/hzaddons/ljpost/ljpost.php:86 -msgid "LiveJournal Post Settings" -msgstr "ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΉ Π² LiveJournal" +#: ../../extend/addon/hzaddons/ljpost/ljpost.php:85 +msgid "Post to Livejournal by default" +msgstr "ΠΡΠ±Π»ΠΈΠΊΠΎΠ²Π°ΡΡ Π² Livejournal ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ" -#: ../../extend/addon/hzaddons/ljpost/ljpost.php:101 -msgid "LiveJournal Settings saved." -msgstr "ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ LiveJournal ΡΠΎΡ
ΡΠ°Π½Π΅Π½Ρ." +#: ../../extend/addon/hzaddons/ljpost/ljpost.php:89 +msgid "Livejournal Post Settings" +msgstr "ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ Π² Livejournal" #: ../../extend/addon/hzaddons/statusnet/statusnet.php:143 msgid "Post to GNU social" @@ -13825,8 +13810,8 @@ msgstr "ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ ΠΌΠΎΠ΄Π΅ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Π°" msgid "Can moderate reputation on my channel." msgstr "ΠΠΎΠΆΠ΅Ρ ΠΌΠΎΠ΄Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅ΠΏΡΡΠ°ΡΠΈΡ Π½Π° ΠΌΠΎΡΠΌ ΠΊΠ°Π½Π°Π»Π΅" -#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:544 -#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:547 +#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:542 +#: ../../extend/addon/hzaddons/channelreputation/channelreputation.php:545 msgid "Channel Reputation" msgstr "Π Π΅ΠΏΡΡΠ°ΡΠΈΡ ΠΊΠ°Π½Π°Π»Π°" @@ -14160,7 +14145,7 @@ msgstr "ΠΠ½ΠΎΠΏΠΊΠ° Paypal Π΄Π»Ρ ΠΏΠ»Π°ΡΠ΅ΠΆΠ΅ΠΉ Π½Π°ΡΡΡΠΎΠ΅Π½Π° Π½Π΅ΠΏΡΠ #: ../../extend/addon/hzaddons/cart/submodules/paypalbutton.php:392 #: ../../extend/addon/hzaddons/cart/manual_payments.php:68 -#: ../../extend/addon/hzaddons/cart/cart.php:1462 +#: ../../extend/addon/hzaddons/cart/cart.php:1465 msgid "Order not found." msgstr "ΠΠ°ΠΊΠ°Π· Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½." @@ -14173,7 +14158,7 @@ msgid "Access Denied." msgstr "ΠΠΎΡΡΡΠΏ Π·Π°ΠΏΡΠ΅ΡΡΠ½." #: ../../extend/addon/hzaddons/cart/myshop.php:111 -#: ../../extend/addon/hzaddons/cart/cart.php:1330 +#: ../../extend/addon/hzaddons/cart/cart.php:1333 msgid "Order Not Found" msgstr "ΠΠ°ΠΊΠ°Π· Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½" @@ -14217,32 +14202,32 @@ msgstr "Π‘Π±ΡΠΎΡΠΈΡΡ ΡΠ°Π±Π»ΠΈΡΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
ΠΏΡΠΈ Π΄Π΅ΠΈΠ½ΡΡ msgid "Shop" msgstr "ΠΠ°Π³Π°Π·ΠΈΠ½" -#: ../../extend/addon/hzaddons/cart/cart.php:1391 +#: ../../extend/addon/hzaddons/cart/cart.php:1394 msgid "Cart utilities for orders and payments" msgstr "Π£ΡΠΈΠ»ΠΈΡΡ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ Π΄Π»Ρ Π·Π°ΠΊΠ°Π·ΠΎΠ² ΠΈ ΠΏΠ»Π°ΡΠ΅ΠΆΠ΅ΠΉ" -#: ../../extend/addon/hzaddons/cart/cart.php:1429 +#: ../../extend/addon/hzaddons/cart/cart.php:1432 msgid "You must be logged into the Grid to shop." msgstr "ΠΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π² ΡΠ΅ΡΠΈ Π΄Π»Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΠΌΠ°Π³Π°Π·ΠΈΠ½Ρ" -#: ../../extend/addon/hzaddons/cart/cart.php:1470 +#: ../../extend/addon/hzaddons/cart/cart.php:1473 msgid "Access denied." msgstr "ΠΠΎΡΡΡΠΏ Π·Π°ΠΏΡΠ΅ΡΡΠ½." -#: ../../extend/addon/hzaddons/cart/cart.php:1522 -#: ../../extend/addon/hzaddons/cart/cart.php:1665 +#: ../../extend/addon/hzaddons/cart/cart.php:1525 +#: ../../extend/addon/hzaddons/cart/cart.php:1668 msgid "No Order Found" msgstr "ΠΠ΅Ρ Π½Π°ΠΉΠ΄Π΅Π½Π½ΡΡ
Π·Π°ΠΊΠ°Π·ΠΎΠ²" -#: ../../extend/addon/hzaddons/cart/cart.php:1531 +#: ../../extend/addon/hzaddons/cart/cart.php:1534 msgid "An unknown error has occurred Please start again." msgstr "ΠΡΠΎΠΈΠ·ΠΎΡΠ»Π° Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½Π°Ρ ΠΎΡΠΈΠ±ΠΊΠ°. ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, Π½Π°ΡΠ½ΠΈΡΠ΅ ΡΠ½ΠΎΠ²Π°." -#: ../../extend/addon/hzaddons/cart/cart.php:1698 +#: ../../extend/addon/hzaddons/cart/cart.php:1701 msgid "Invalid Payment Type. Please start again." msgstr "ΠΠ΅Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΡΠΈΠΏ ΠΏΠ»Π°ΡΠ΅ΠΆΠ°. ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, Π½Π°ΡΠ½ΠΈΡΠ΅ ΡΠ½ΠΎΠ²Π°." -#: ../../extend/addon/hzaddons/cart/cart.php:1705 +#: ../../extend/addon/hzaddons/cart/cart.php:1708 msgid "Order not found" msgstr "ΠΠ°ΠΊΠ°Π· Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½" @@ -14415,7 +14400,7 @@ msgstr "ΠΡΠΈΠ±ΠΊΠ° ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠΉ ΠΈΠ³ΡΡ." msgid "You must select a local channel /chess/channelname" msgstr "ΠΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π²ΡΠ±ΡΠ°ΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΊΠ°Π½Π°Π» /chess/channelname" -#: ../../extend/addon/hzaddons/chess/chess.php:1066 +#: ../../extend/addon/hzaddons/chess/chess.php:1071 msgid "Enable notifications" msgstr "ΠΠΊΠ»ΡΡΠΈΡΡ ΠΎΠΏΠΎΠ²Π΅ΡΠ΅Π½ΠΈΡ" diff --git a/view/ru/hstrings.php b/view/ru/hstrings.php index 598d02718..02c88dde3 100644 --- a/view/ru/hstrings.php +++ b/view/ru/hstrings.php @@ -470,7 +470,6 @@ App::$strings["Help:"] = "ΠΠΎΠΌΠΎΡΡ:"; App::$strings["Help"] = "ΠΠΎΠΌΠΎΡΡ"; App::$strings["Not Found"] = "ΠΠ΅ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ"; App::$strings["Page not found."] = "Π‘ΡΡΠ°Π½ΠΈΡΠ° Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½Π°."; -App::$strings["Cannot locate DNS info for database server '%s'"] = "ΠΠ΅ ΡΠ΄Π°Π΅ΡΡΡ Π½Π°ΠΉΡΠΈ DNS ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π΄Π»Ρ ΡΠ΅ΡΠ²Π΅ΡΠ° Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
'%s'"; App::$strings["Image/photo"] = "ΠΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ / ΡΠΎΡΠΎΠ³ΡΠ°ΡΠΈΡ"; App::$strings["Encrypted content"] = "ΠΠ°ΡΠΈΡΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅"; App::$strings["Install %1\$s element %2\$s"] = "Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ %1\$s ΡΠ»Π΅ΠΌΠ΅Π½Ρ %2\$s"; @@ -1152,8 +1151,6 @@ App::$strings["Blocked accounts"] = "ΠΠ°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π°ΠΊΠΊΠ°ΡΠ½ App::$strings["Expired accounts"] = "ΠΡΠΎΡΡΠΎΡΠ΅Π½Π½ΡΠ΅ Π°ΠΊΠΊΠ°ΡΠ½ΡΡ"; App::$strings["Expiring accounts"] = "ΠΠ»ΠΈΠ·ΠΊΠΈΠ΅ ΠΊ ΠΏΡΠΎΡΡΠΎΡΠΊΠ΅ Π°ΠΊΠΊΠ°ΡΠ½ΡΡ"; App::$strings["Channels"] = "ΠΠ°Π½Π°Π»Ρ"; -App::$strings["Primary"] = "ΠΡΠ½ΠΎΠ²Π½ΠΎΠΉ"; -App::$strings["Clones"] = "ΠΠ»ΠΎΠ½Ρ"; App::$strings["Message queues"] = "ΠΡΠ΅ΡΠ΅Π΄Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ"; App::$strings["Your software should be updated"] = "ΠΠ°ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΎ"; App::$strings["Administration"] = "ΠΠ΄ΠΌΠΈΠ½ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅"; @@ -1439,6 +1436,7 @@ App::$strings["Please select another location to become primary before removing App::$strings["Syncing locations"] = "Π‘ΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΌΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅"; App::$strings["No locations found."] = "ΠΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ"; App::$strings["Manage Channel Locations"] = "Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΊΠ°Π½Π°Π»Π°"; +App::$strings["Primary"] = "ΠΡΠ½ΠΎΠ²Π½ΠΎΠΉ"; App::$strings["Drop"] = "Π£Π΄Π°Π»ΠΈΡΡ"; App::$strings["Sync Now"] = "Π‘ΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ"; App::$strings["Please wait several minutes between consecutive operations."] = "ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, ΠΏΠΎΠ΄ΠΎΠΆΠ΄ΠΈΡΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΠΈΠ½ΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΠΌΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠΌΠΈ."; @@ -1828,17 +1826,17 @@ App::$strings["Note: as a security measure, you should give the web server write App::$strings["%s is writable"] = "%s Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π΄Π»Ρ Π·Π°ΠΏΠΈΡΠΈ"; 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"] = "ΠΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ Π΄Π»Ρ Π·Π°Π³ΡΡΠΆΠ΅Π½Π½ΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ². ΠΠ»Ρ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅ΡΠ° ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π΄ΠΎΡΡΡΠΏ Π½Π° Π·Π°ΠΏΠΈΡΡ Π½Π°ΡΠΈΠ½Π°Ρ Ρ Π²Π΅ΡΡ
Π½Π΅Π³ΠΎ ΡΡΠΎΠ²Π½Ρ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ."; App::$strings["store is writable"] = "Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ Π΄ΠΎΡΡΡΠΏΠ½ΠΎ Π΄Π»Ρ Π·Π°ΠΏΠΈΡΠΈ"; -App::$strings["SSL certificate cannot be validated. Fix certificate or disable https access to this site."] = ""; -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!"] = ""; +App::$strings["SSL certificate cannot be validated. Fix certificate or disable https access to this site."] = "SSL certificate cannot be validated. ΠΠ°ΠΌΠ΅Π½ΠΈΡΠ΅ Π΅Π³ΠΎ ΠΈΠ»ΠΈ ΠΎΡΠΊΠ»ΡΡΠΈΡΠ΅ https Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΡΠΎΠΌΡ ΡΠ°ΠΉΡΡ."; +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!"] = "ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅ΡΡΡ https-Π΄ΠΎΡΡΡΠΏ ΠΊ Π²Π°ΡΠ΅ΠΌΡ ΡΠ°ΠΉΡΡ ΠΈΠ»ΠΈ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊ TCP-ΠΏΠΎΡΡΡ 443 (ΠΏΠΎΡΡ https), Π²Ρ ΠΠΠΠΠΠ« ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ, Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ Π΄Π»Ρ Π±ΡΠ°ΡΠ·Π΅ΡΠ°. ΠΡ ΠΠ ΠΠΠΠΠΠ« ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ°ΠΌΠΎΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½Π½ΡΠ΅ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΡ!"; App::$strings["This restriction is incorporated because public posts from you may for example contain references to images on your own hub."] = "ΠΡΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΠΏΡΠΈΠ½ΡΡΡ ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π²Π°ΡΠΈ ΠΎΠ±ΡΠ΅Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ ΠΌΠΎΠ³ΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΡΡΡΠ»ΠΊΠΈ Π½Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π½Π° Π²Π°ΡΠ΅ΠΌ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠΌ Ρ
Π°Π±Π΅."; -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."] = ""; -App::$strings["This can cause usability issues elsewhere (not just on your own site) so we must insist on this requirement."] = ""; -App::$strings["Providers are available that issue free certificates which are browser-valid."] = ""; -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."] = ""; -App::$strings["SSL certificate validation"] = ""; -App::$strings["Url rewrite in .htaccess is not working. Check your server configuration.Test: "] = ""; +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."] = "ΠΡΠ»ΠΈ Π²Π°Ρ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ Π½Π΅ ΠΏΡΠΈΠ·Π½Π°Π½, ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ Π΄ΡΡΠ³ΠΈΡ
ΡΠ°ΠΉΡΠΎΠ² (ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΡΠ°ΠΌΠΈ ΠΈΠΌΠ΅ΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΡ) ΠΏΠΎΠ»ΡΡΠ°Ρ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π°ΡΡΠ΅Π΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°Ρ
Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡΡ."; +App::$strings["This can cause usability issues elsewhere (not just on your own site) so we must insist on this requirement."] = "ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΠΌ ΡΠ΄ΠΎΠ±ΡΡΠ²Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ· Π΄ΡΡΠ³ΠΈΡ
ΠΌΠ΅ΡΡ (Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° Π²Π°ΡΠ΅ΠΌ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠΌ ΡΠ°ΠΉΡΠ΅), ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΡ Π½Π°ΡΡΠ°ΠΈΠ²Π°Π΅ΠΌ Π½Π° ΡΡΠΎΠΌ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠΈ."; +App::$strings["Providers are available that issue free certificates which are browser-valid."] = "ΠΠΎΡΡΡΠΏΠ½Ρ ΠΏΠΎΡΡΠ°Π²ΡΠΈΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΠ΄Π°ΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π΄Π»Ρ Π±ΡΠ°ΡΠ·Π΅ΡΠ° Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΠ΅ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΡ."; +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."] = "ΠΡΠ»ΠΈ Π²Ρ ΡΠ²Π΅ΡΠ΅Π½Ρ, ΡΡΠΎ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»Π΅Π½ ΠΈ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½ Π΄ΠΎΠ²Π΅ΡΠ΅Π½Π½ΡΠΌ ΠΎΡΠ³Π°Π½ΠΎΠΌ, ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅, ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Π»ΠΈ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΡΠ΅ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΡ. ΠΠ±ΡΡΠ½ΠΎ ΠΎΠ½ΠΈ Π½Π΅ ΡΡΠ΅Π±ΡΡΡΡΡ Π±ΡΠ°ΡΠ·Π΅ΡΠ°ΠΌΠΈ, Π½ΠΎ Π±ΡΠ²Π°ΡΡ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡ Π΄Π»Ρ ΡΠ²ΡΠ·ΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅ΡΠ²Π΅ΡΠ°ΠΌΠΈ."; +App::$strings["SSL certificate validation"] = "ΠΡΠΎΠ²Π΅ΡΠΊΠ° SSL ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠ°"; +App::$strings["Url rewrite in .htaccess is not working. Check your server configuration.Test: "] = "ΠΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΡ URL Π² .htaccess Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ. ΠΡΠΎΠ²Π΅ΡΡΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π²Π°ΡΠ΅Π³ΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ°."; App::$strings["Url rewrite is working"] = "ΠΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΡ URL ΡΠ°Π±ΠΎΡΠ°Π΅Ρ"; -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."] = ""; +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."] = "Π€Π°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
\".htconfig.php\" Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π·Π°ΠΏΠΈΡΠ°Π½. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΏΡΠΈΠ»Π°Π³Π°Π΅ΠΌΡΠΉ ΡΠ΅ΠΊΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ°ΠΉΠ»Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π² ΠΊΠΎΡΠ½Π΅Π²ΠΎΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅ΡΠ°."; App::$strings["Errors encountered creating database tables."] = "ΠΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΈ ΠΎΡΠΈΠ±ΠΊΠΈ."; App::$strings["<h1>What next?</h1>"] = "<h1>Π§ΡΠΎ Π΄Π°Π»ΡΡΠ΅? </h1>"; App::$strings["IMPORTANT: You will need to [manually] setup a scheduled task for the poller."] = "ΠΠ°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ [Π²ΡΡΡΠ½ΡΡ] Π½Π°ΡΡΡΠΎΠΈΡΡ Π·Π°ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π·Π°Π΄Π°ΡΡ Π΄Π»Ρ ΠΎΠΏΡΠ°ΡΠΈΠ²Π°ΡΠ΅Π»Ρ."; @@ -2588,14 +2586,14 @@ App::$strings["Addon Features"] = "ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΉ"; App::$strings["App Collections"] = "ΠΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ"; App::$strings["Installed apps"] = "Π£ΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ"; App::$strings["Remove term"] = "Π£Π΄Π°Π»ΠΈΡΡ ΡΠ΅ΡΠΌΠΈΠ½"; -App::$strings["Personal Posts"] = "ΠΠΈΡΠ½ΡΠ΅ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ"; -App::$strings["Show posts that mention or involve me"] = "ΠΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ Π³Π΄Π΅ Π²Ρ Π±ΡΠ»ΠΈ ΡΠΏΠΎΠΌΡΠ½ΡΡΡ ΠΈΠ»ΠΈ ΠΏΡΠΈΠ²Π»Π΅ΡΠ΅Π½Ρ"; -App::$strings["Starred Posts"] = "ΠΡΠΌΠ΅ΡΠ΅Π½Π½ΡΠ΅ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ"; -App::$strings["Show posts that I have starred"] = "ΠΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ ΠΊΠΎΡΠΎΡΡΠ΅ Ρ ΠΎΡΠΌΠ΅ΡΠΈΠ»"; App::$strings["Show posts related to the %s privacy group"] = "ΠΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ ΠΎΡΠ½ΠΎΡΡΡΠΈΠ΅ΡΡ ΠΊ Π³ΡΡΠΏΠΏΠ΅ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ %s"; App::$strings["Show my privacy groups"] = "ΠΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΌΠΎΠΈ Π³ΡΡΠΏΠΏΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ"; App::$strings["Show posts to this forum"] = "ΠΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ ΡΡΠΎΠ³ΠΎ ΡΠΎΡΡΠΌΠ°"; App::$strings["Show forums"] = "ΠΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ ΡΠΎΡΡΠΌΡ"; +App::$strings["Starred Posts"] = "ΠΡΠΌΠ΅ΡΠ΅Π½Π½ΡΠ΅ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ"; +App::$strings["Show posts that I have starred"] = "ΠΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ ΠΊΠΎΡΠΎΡΡΠ΅ Ρ ΠΎΡΠΌΠ΅ΡΠΈΠ»"; +App::$strings["Personal Posts"] = "ΠΠΈΡΠ½ΡΠ΅ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ"; +App::$strings["Show posts that mention or involve me"] = "ΠΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ Π³Π΄Π΅ Π²Ρ Π±ΡΠ»ΠΈ ΡΠΏΠΎΠΌΡΠ½ΡΡΡ ΠΈΠ»ΠΈ ΠΏΡΠΈΠ²Π»Π΅ΡΠ΅Π½Ρ"; App::$strings["Show posts that I have filed to %s"] = "ΠΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ ΠΊΠΎΡΠΎΡΡΠ΅ Ρ Π΄ΠΎΠ±Π°Π²ΠΈΠ» Π² %s"; App::$strings["Show filed post categories"] = "ΠΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΡΡ
ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΉ"; App::$strings["Panel search"] = "ΠΠ°Π½Π΅Π»Ρ ΠΏΠΎΠΈΡΠΊΠ°"; @@ -2824,7 +2822,6 @@ App::$strings["Post to Dreamwidth by default"] = "ΠΡΠ±Π»ΠΈΠΊΠΎΠ²Π°ΡΡ Π² Drea App::$strings["Dreamwidth Post Settings"] = "ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΉ Π² Dreamwidth"; App::$strings["Project Servers and Resources"] = "Π‘Π΅ΡΠ²Π΅ΡΡ ΠΈ ΡΠ΅ΡΡΡΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°"; App::$strings["Project Creator and Tech Lead"] = "Π‘ΠΎΠ·Π΄Π°ΡΠ΅Π»Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΈ ΡΠ΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ"; -App::$strings["Admin, developer, directorymin, support bloke"] = "ΠΠ΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ, Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ°"; App::$strings["And the hundreds of other people and organisations who helped make the Hubzilla possible."] = "Π ΡΠΎΡΠ½ΠΈ Π΄ΡΡΠ³ΠΈΡ
Π»ΡΠ΄Π΅ΠΉ ΠΈ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΉ ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠΌΠΎΠ³Π°Π»ΠΈ Π² ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Hubzilla."; 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."] = "ΠΡΠΎΠ΅ΠΊΡΡ Redmatrix / Hubzilla ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΡΡ, Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ, Π΄ΠΎΠ±ΡΠΎΠ²ΠΎΠ»ΡΡΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ ΡΠ²ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΠΈ ΠΎΠΏΡΡ ΠΈ, ΡΠ°ΡΡΠΎ, ΠΎΠΏΠ»Π°ΡΠΈΠ²Π°ΡΡ ΠΈΠ· ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΊΠ°ΡΠΌΠ°Π½Π° ΡΡΠ»ΡΠ³ΠΈ, ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΎΠ½ΠΈ Π΄Π΅Π»ΡΡΡΡ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ."; 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>.)"] = "ΠΠ΄Π΅ΡΡ Π½Π΅Ρ ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΡΠΈΠ½Π°Π½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΡΠ΅ΠΊΠ»Π°ΠΌΡ, ΠΌΡ Π½Π΅ ΡΠΎΠ±ΠΈΡΠ°Π΅ΠΌ ΠΈ Π½Π΅ ΠΏΡΠΎΠ΄Π°Π΅ΠΌ Π²Π°ΡΡ Π»ΠΈΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ. (ΠΡ Π½Π΅ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΡΠ΅ΠΌ Π²Π°ΡΡ Π»ΠΈΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ - <strong>ΡΡΠΎ Π΄Π΅Π»Π°Π΅ΡΠ΅ Π²Ρ</strong>.)"; @@ -3102,13 +3099,12 @@ App::$strings["This will import all your cloud files from another server."] = "Π App::$strings["Hubzilla Server base URL"] = "ΠΠ°Π·ΠΎΠ²ΡΠΉ URL ΡΠ΅ΡΠ²Π΅ΡΠ° Hubzilla"; App::$strings["Since modified date yyyy-mm-dd"] = "ΠΠ°ΡΠΈΠ½Π°Ρ Ρ Π΄Π°ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ yyyy-mm-dd"; App::$strings["Until modified date yyyy-mm-dd"] = "ΠΠ°ΠΊΠ°Π½ΡΠΈΠ²Π°Ρ Π΄Π°ΡΠΎΠΉ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ yyyy-mm-dd"; -App::$strings["Post to LiveJournal"] = "ΠΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°ΡΡ Π² LiveJournal"; -App::$strings["Enable LiveJournal Post Plugin"] = "ΠΠΊΠ»ΡΡΠΈΡΡ ΠΏΠ»Π°Π³ΠΈΠ½ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΉ LiveJournal"; -App::$strings["LiveJournal username"] = "ΠΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ LiveJournal"; -App::$strings["LiveJournal password"] = "ΠΠ°ΡΠΎΠ»Ρ LiveJournal"; -App::$strings["Post to LiveJournal by default"] = "ΠΡΠ±Π»ΠΈΠΊΠΎΠ²Π°ΡΡ Π² LiveJournal ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ"; -App::$strings["LiveJournal Post Settings"] = "ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΉ Π² LiveJournal"; -App::$strings["LiveJournal Settings saved."] = "ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ LiveJournal ΡΠΎΡ
ΡΠ°Π½Π΅Π½Ρ."; +App::$strings["Post to Livejournal"] = "ΠΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°ΡΡ Π² Livejournal"; +App::$strings["Enable Livejournal Post Plugin"] = "ΠΠΊΠ»ΡΡΠΈΡΡ ΡΠ°ΡΠΈΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΉ Π² Livejournal"; +App::$strings["Livejournal username"] = "ΠΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Livejournal"; +App::$strings["Livejournal password"] = "ΠΠ°ΡΠΎΠ»Ρ Livejournal"; +App::$strings["Post to Livejournal by default"] = "ΠΡΠ±Π»ΠΈΠΊΠΎΠ²Π°ΡΡ Π² Livejournal ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ"; +App::$strings["Livejournal Post Settings"] = "ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ Π² Livejournal"; App::$strings["Post to GNU social"] = "ΠΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°ΡΡ Π² GNU Social"; App::$strings["Please contact your site administrator.<br />The provided API URL is not valid."] = "ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ° ΡΠ²ΡΠΆΠΈΡΠ΅ΡΡ Ρ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΎΠΌ ΡΠ°ΠΉΡΠ°. <br />ΠΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΡΠΉ URL API Π½Π΅Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»Π΅Π½."; App::$strings["We could not contact the GNU social API with the Path you entered."] = "ΠΠ°ΠΌ Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΊΠΎΠ½ΡΠ°ΠΊΡ Ρ GNU Social API ΠΏΠΎ Π²Π²Π΅Π΄ΡΠ½Π½ΠΎΠΌΡ Π²Π°ΠΌΠΈ ΠΏΡΡΠΈ"; diff --git a/view/theme/redbasic/js/redbasic.js b/view/theme/redbasic/js/redbasic.js index 688e92148..8d3b795cc 100644 --- a/view/theme/redbasic/js/redbasic.js +++ b/view/theme/redbasic/js/redbasic.js @@ -121,9 +121,9 @@ function toggleAside() { $('main').addClass('region_1-on') $('<div id="overlay"></div>').appendTo('section'); $('#left_aside_wrapper').stick_in_parent({ - offset_top: $('nav').outerHeight(true) + 10, - parent: '#region_1', - spacer: '#left_aside_spacer' + offset_top: parseInt($('aside').css('padding-top')), + parent: 'main', + spacer: '.aside_spacer' }); } } diff --git a/view/tpl/notifications_widget.tpl b/view/tpl/notifications_widget.tpl index e38356597..98047f1d9 100644 --- a/view/tpl/notifications_widget.tpl +++ b/view/tpl/notifications_widget.tpl @@ -135,14 +135,14 @@ {{$no_notifications}}<span class="jumping-dots"><span class="dot-1">.</span><span class="dot-2">.</span><span class="dot-3">.</span></span> </div> <div id="nav-notifications-template" rel="template"> - <a class="list-group-item clearfix notification {6}" href="{0}" title="{2}" data-b64mid="{7}" data-notify_id="{8}" data-thread_top="{9}" data-contact_name="{2}" data-contact_addr="{3}"> + <a class="list-group-item clearfix notification {6}" href="{0}" title="{3}" data-b64mid="{7}" data-notify_id="{8}" data-thread_top="{9}" data-contact_name="{2}" data-contact_addr="{3}"> <img class="menu-img-3" data-src="{1}"> <span class="contactname">{2}</span> <span class="dropdown-sub-text">{4}<br>{5}</span> </a> </div> <div id="nav-notifications-forums-template" rel="template"> - <a class="list-group-item clearfix notification notification-forum" href="{0}" title="{4}" data-b64mid="{7}" data-notify_id="{8}" data-thread_top="{9}" data-contact_name="{2}" data-contact_addr="{3}"> + <a class="list-group-item clearfix notification notification-forum" href="{0}" title="{4} - {3}" data-b64mid="{7}" data-notify_id="{8}" data-thread_top="{9}" data-contact_name="{2}" data-contact_addr="{3}"> <span class="float-right badge badge-{{$notification.severity}}">{10}</span> <img class="menu-img-1" data-src="{1}"> <span class="">{2}</span> |